
                      Ketmar Dark, JL and others

                               presents

   ##  ##  #####  ##   ##    ##    ##   ##   ####     ####   ###     ###
   ## ##  ##   ## ##   ##  ##  ##  ##   ##  ##  ##   ##  ##  ####   ####
   ####    #####   ## ##  ##    ##  ## ##  ##    ## ##    ## ## ## ## ##
   ## ##  ##   ##  ## ##  ########  ## ##  ##    ## ##    ## ##  ###  ##
   ##  ## ##   ##   ###   ##    ##   ###    ##  ##   ##  ##  ##       ##
   ##  ##  #####     #    ##    ##    #      ####     ####   ##       ##

Contents:
    0. Disclaimer
    1. Introduction
    2. Requirements
    3. Installation
    4. Starting a net game
    5. Command line parameters
    6. Differences from original game
    7. Version history
    8. Special Thanks
    9. Links


*****************************************************************************
0. Disclaimer
*****************************************************************************

#include <std_disclaimer.h>

   "I do not accept responsibility for any effects, adverse or otherwise,
    that this code may have on you, your computer, your sanity, your dog,
    and anything else that you can think of. Use it at your own risk."


*****************************************************************************
1. Introduction
*****************************************************************************

    k8vavoom is a source port based on the sources of Doom, Heretic, Hexen,
  "a little bit" from Quake, (G)ZDoom, and others. Primary supported platforms
  are GNU/Linux and Windows. A dedicated server also can be compiled on OpenBSD
  and possibly on other UNIX systems, but this may require some changes.
    If you find any bugs, feel free to report them.


*****************************************************************************
2. Requirements
*****************************************************************************

k8vavoom System Requirements:
     - Pentium IV processor or better
     - 512 MB RAM
     - GPU with support for OpenGL 2.1 and GLSL 1.20

  To play k8vavoom you need the main wad file from one of the following games:
     - Doom shareware
     - Registered Doom
     - Ultimate Doom
     - Doom 2: Hell on Earth
     - Doom 2: TNT Evilution
     - Doom 2: The Plutonia experiment
     - Heretic shareware
     - Heretic registered
     - Hexen
     - Strife shareware
     - Strife
     - Freedoom
  If you have multiple IWADs, you can use command line params -doom, -doom2,
-tnt, -plutonia, -heretic, -hexen or -strife to look for IWADs only for that
game. Hexen requires a wad file from version 1.1.


*****************************************************************************
3. Installation
*****************************************************************************

==============================================================================
3.1 GNU/Linux / UNIX installation
==============================================================================

In order to compile and run k8vavoom under GNU/Linux, you need the following:

Compiler and tools:
    * GNU C++ Compiler, (every GNU/Linux user must have it)
    * CMake (http://cmake.org)
Libraries:
    * SDL 2 (http://www.libsdl.org)
    * OpenAL-Soft (https://kcat.strangesoft.net/openal.html)
    * OpenGL: OpenGL implementation from your video card's manufacturer
      or MESA (http://www.mesa3d.org) and X-Windows development libraries.
Optional:
    * libvorbis (https://xiph.org/vorbis/)
    * libopus (https://opus-codec.org)
    * libmad (http://www.underbit.com/products/mad/)
    * FLAC (http://flac.sourceforge.net/)

  And of course the k8vavoom sources.

Step by step:
-------------

  1. Get the k8vavoom sources (via git, or in some other way). Main repository
     is at https://repo.or.cz/k8vavoom.git

  2. Enter into directory with sources (the one that contains "CMakeLists.txt",
     and "base/", "progs/" directories).

  3. Create build directory, and enter into it:

    mkdir build
    cd build

  4. Run the CMake:

    cmake ..

  Here are some CMake parameters you may want to use:

    -DCMAKE_INSTALL_PREFIX=PATH  - specify prefix of installation. Default is
                                   /usr/local

  5. Run make in the main directory.

    make

  This will compile the k8vavoom executable, utilities, progs and will build the
additional wad files.

  6. Then you install it:

    su -c "make install"

  This will install k8vavoom into {prefix}.

  7. Change to k8vavoom data directory and copy the main .wad file here or create
a symbolic link to it:

        cd {prefix}/share/k8vavoom
        cp <where-your-wad-file-is> .
   or:
        cd {prefix}/share/k8vavoom
        ln -s <where-your-wad-file-is> .


*****************************************************************************
4. Starting a net game
*****************************************************************************

  WARNING! Network code is not finished. It should be fairly stable, but in
           its current form it doesn't support some features, may crash, and
           better played over LAN.

  The default socket port is 26000. It can be changed in the console with
the command "port <port>".

  Now network game can be launched from the main menu. It's Quake-like, so you
should not have problems with it.

  Here is a list of the most important server console variables and commands
for dedicated server operators.

Server console variables:
-------------------------

    DeathMatch          -   0 - cooperative, other - deathmatch, in Doom
                            1 - like -deathmatch param was
                            2 - -altdeath param was like - items and weapons are
                                respawning
                            3 - like 2, but monsters are respawning very fast
                                and they are attacking each other - total nightmare
    NoMonsters          -   0 - enable, 1 - disable monsters;
    TimeLimit           -   Replaces command line param -time, sets time (in
                            minutes), after which the level will automatically end,
                            0 for no limit, works only in deathmatch.
    HostName            -   Name, listed in server list and that can be used to
                            connect to this server.
    Skill               -   Game skill, 0 - very easy / 4 - nightmare

Server console commands:
------------------------

    MaxPlayers [<players>]

  Changes maximum number of players. It can only be executed when the server is
not running, for dedicated servers it's only executed on command line.

    Map <mapname>

  Shuts down the current server and spawns a new one in the specified map. As
you understand all the clients are dropped.


*****************************************************************************
5. Command line parameters
*****************************************************************************

  All the console commands can be specified at the command line by prefixing
them with the + symbol, they will be executed after executing basev/startup.vs.
  Some examples:
    +SetResolution 640 480 16
    +Exec myconfig.cfg
    +Map MAP03

  You can use "--help" to get brief list of some avaliable CLI args.

Graphics
--------

-PARTICLES specifies the number of particles to use, default is 2048, but you
can't have less than 512 (i.e. you can't disable them)
-particles <count>

Sound
-----

-NOSOUND disables all sound, music and CD-Audio
-nosound

-NOSFX disables sound
-nosfx

-NOMUSIC disables music
-nomusic

Input
-----

-NOMOUSE disables mouse
-nomouse

-NOJOY disables joystick
-nojoy

Network
-------

-NOLAN disables all LAN drivers
-nolan

-NOUDP disables TCP/IP driver
-noudp

-IP specifies IP address, Windows version only
-ip <address>

-PORT sets default LAN port
-port <port>

Game selection
--------------

-DOOM look only for Doom IWAD files
-doom

-DOOM2 look only for Doom 2:Hell On Earth IWAD files
-doom2

-TNT look only for tnt.wad
-tnt

-PLUTONIA look only for plutonia.wad
-plutonia

-HERETIC look only for Heretic IWAD files
-heretic

-HEXEN look only for Hexen IWAD files
-hexen

-STRIFE look only for Strife IWAD files
-strife

Custom games and development
----------------------------

-GAME specifies custom game
-game <directory>

-FILE specifies additional files
-file <file1> [<file2> ...]

-IWADDIR specifies additional directories where to look for IWAD files.
-iwaddir <dir1> [<dir2> ...]

Debugging
---------

-LOGFILE writes console log to the specified file.
-logfile <filename>


*****************************************************************************
6. Differences from the original game
*****************************************************************************

    - Support higher (and lower ;-) resolutions.
    - OpenGL rendering.
    - Lightmapped lighting.
    - Optional shadow volumes (like Doom 3).
    - Static light sources with sight checking (i.e. true shadows).
    - Dynamic lighting.
    - Colored lighting.
    - Specular highlights.
    - Particles.
    - Mipmapping.
    - Skyboxes.
    - Freelook.
    - Zooming.
    - Jumping.
    - Models.
    - Progs - now you can forget about DeHackEd.
    - Translucency.
    - Console. Call it with the '`' key (also known as tilde). Special keys are:
        - Tab to complete a command, press it again for the next matching command;
        - PageUp/PageDown to scroll lines up/down;
        - Separate multiple commands by separating them with semi-colon ';';
        - Up/Down for the last 16 commands history.
    - Several crosshairs.
    - Fullscreen stats also in Doom.
    - Controls can be redefined in-game.
    - Pure client/server architecture with in-game joining.
    - Sloped floors and ceilings.
    - 3D floors.
    - Possibility to use wall textures on floors/ceilings and flats on walls.
    - Support for tall patches and scaled textures.
    - Support for Skyboxes
    - WAV and FLAC sounds, MP3, Opus, Vorbis, mod-style music.
    - Possibility of using Timidity/FluidSynth for MIDI and MUS playback.
    - Definition of new in-game controls using KEYCONF script.
    - Custom object and weapon definitions using DECORATE script.
    - A lots more.


*****************************************************************************
7. Licensing
*****************************************************************************

    k8vavoom is distributed under the terms of GNU General Public Licence.


*****************************************************************************
8. Special Thanks
*****************************************************************************

id Software /    These are the people who developed Doom and Quake, they later
John             released source code for both.
Carmack

Raven            Developers of Heretic and Hexen. They also realeased source
Software         code for both.

Rogue            Developers of Strife.
Entertainment

Janis Legzdinsh  Main developer of the original Vavoom engine.

Francisco        Second developer of the Vavoom engine, provides mainly bugfixing
Ortega           and enhancements to the current code.
(Firebrand)

Jim Flynn
Stan Gula
Ty Halderman     Main authors of the BOOM sourceport, which Vavoom utilizes some
Lee Killough     features from.
Rand Phares
Team TNT

James Haley
(Quasar)
Christoph
Oelckers
(Graf Zahl)      Main developers of the UDMF map format.
Pascal
vd Heiden
(CodeImp)

Randy Heit       Developers of the (G)ZDoom sourceport, which Vavoom uses
Graf Zahl        features from.

Rachael
Alexanderson
(Eruanna)        Webmaster and administrator of the DRD Team SVN Builds, which
Nigel Rowand     once hosted Vavoom SVN builds.
(Enjay)


*****************************************************************************
9. Links
*****************************************************************************

  k8vavoom source code repositiory:
    https://repo.or.cz/k8vavoom.git

  k8vavoom official DoomWorld thread:
    https://www.doomworld.com/forum/topic/102766/

  The original Vavoom homepage:
    http://vavoom-engine.com/

  The GZDoom homepage:
    http://zdoom.org/

  The home of ID-Software:
    http://www.idsoftware.com/

  The home of Raven Software:
    http://www.ravensoft.com/

  The home of Rogue Entertainment:
    http://www.rogue-ent.com/

  Doom related pages:
    http://www.doomworld.com/
    http://doomwiki.org/

  Korax' Heritage:
    http://www.korax-heritage.com/


Have a lots of fun!

Janis Legzdinsh
Ketmar Dark
