JL presents ## ## ## ## ## #### #### ### ### ## ## ## ## ## ## ## ## ## ## #### #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ######## ## ## ## ## ## ## ## ### ## ### ## ## ### ## ## ## ## ## ## # ## ## # #### #### ## ## Version 1.25 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. Licensing 9. Links ***************************************************************************** 0. Disclaimer ***************************************************************************** #include "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 ***************************************************************************** Vavoom is a source port based on the sources of Doom, Heretic, Hexen and "a little bit" from Quake. Supported platforms are DOS, Windows and LINUX. 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 ***************************************************************************** Vavoom System Requirements: - Pentium processor or better - 32 MB RAM - Optional: Sound card - Optional: CD-ROM - Windows version: DirectX 7 (http://www.microsoft.com/directx) *** IMPORTANT! Vavoom requires a floating point processor. Systems that do not have an FPU installed will not run Vavoom -- at all. To play Vavoom 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 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 Installing DOS/Windows binaries ============================================================================== First choose a directory, where you will place Vavoom - an existing Doom, Heretic and/or Hexen directory or new directory. If you decide to create a new directory, you must copy here the main game wad file. Then unarchive here the binaries. ============================================================================== 3.2 Linux/UNIX installation ============================================================================== In order to compile and run Vavoom under Linux, you need the following: Compiler and tools: * GNU C++ Compiler, GNU make (every LINUX user must have them) Libraries: * zlib (http://www.zlib.net) * libpng (http://www.libpng.org) * libjpeg (http://www.ijg.org) * Allegro 4.0 (http://alleg.sourceforge.net) or * SDL 1.2 (http://www.libsdl.org) and SDL_mixer 1.2 (http://www.libsdl.org/projects/SDL_mixer/). * OpenGL: OpenGL implementation from your video card's manufacturer or MESA (http://www.mesa3d.org) and X-Windows development libraries. * AllegroGL (http://allegrogl.sourceforge.net) if you want to use OpenGL with Allegro driver. Optional: * OpenAL (http://www.openal.org), the source must be checked out from the CVS repository. You will find info on this on OpenAL website or at Creative developer centre (http://developer.creative.com). * libvorbis (http://www.vorbis.com) * libmad (http://www.underbit.com/products/mad/) * mikmod (http://mikmod.raphnet.net/) * FLAC (http://flac.sourceforge.net/) And of course the Vavoom sources. Step by step: ------------- 1. Unpack the Vavoom source package: tar xvjf vavoom-1.22.tar.bz2 If you got the zip file instead of tarball then you must run fixunix.sh to convert text files to UNIX format: ./fixunix.sh 2. Run the configure script: ./configure Here are some configure parameters you may want to use: --prefix=PATH - specify prefix of installation. Default is /usr/local --with-allegro - use Allegro for hardware API. This is the default. --with-sdl - use SDL for hardware API. --without-opengl - compile without OpenGL support. --without-openal - compile without OpenAL support. 3. Run make in the main directory. make This will compile the Vavoom executable, utilities, progs and will build the additional wad files. 4. Then you install it: su -c "make install" This will install Vavoom into {prefix}/games/Vavoom. 5. Change to this directory and copy the main .wad file here or create a symbolic link to it: cd {prefix}/games/Vavoom cp . or: cd {prefix}/games/Vavoom ln -s . Also make sure that the file/symbolic link name is in lower case. 6. If using allegro, run the Allegro setup utility, setup your sound and music card, save the changes and then copy allegro.cfg into Vavoom directory. ============================================================================== 3.3 Other source code compiling information for developers ============================================================================== For DOS you need Compiler and tools: * DJGPP (http://www.delorie.com/djgpp) with gcc, make and bash Libraries: * zlib (http://www.zlib.net) * libpng (http://www.libpng.org) * libjpeg (http://www.ijg.org) * Allegro 4.0 (http://alleg.sourceforge.net) and later. * OpenGL version: MESA (http://www.mesa3d.org) and Allegro driver for MESA (http://www.geocities.com/SiliconValley/7259/) For Windows you need: Compiler and tools: * MinGW and MSYS (http://www.mingw.org). or: * Microsoft Visual C++ 2005. * DJGPP (http://www.delorie.com/djgpp) - used to compile asm files. Libraries: * zlib (http://www.zlib.net) * libpng (http://www.libpng.org) * libjpeg (http://www.ijg.org) * DirectX 7 SDK (http://www.microsoft.com/directx), already included in Builder but some headers needed by DirectMusic are missing. In Allegro website (http://alleg.sourceforge.net) you will find a minimal version of DirectX 7 SDK. * EAX 2.0 SDK (http://developer.creative.com/). * OpenAL SDK (http://developer.creative.com), you must create directory AL in your compilers include directory and copy OpenAL include files here. * libvorbis (http://www.vorbis.com) * libmad (http://www.underbit.com/products/mad/) * mikmod (http://mikmod.raphnet.net/) * FLAC (http://flac.sourceforge.net/) You can also compile with MSVC, you will find the workspace and project files in the 'msvc' subdirectory. ***************************************************************************** 4. Starting a net game ***************************************************************************** First about drivers. The DOS version supports IPX, Beame & Whiteside TCP/IP and MPATH TCP/IP drivers. MPATH driver needs a launcher, the one from Quake works fine (because the drivers are taken from Quake sources). Serial driver is not fixed (if you need this, please let me know or otherwise I will not fix it). The Windows version supports Winsock TCP/IP and Winsock IPX driers. The Linux version only has the TCP/IP driver. The default socket port is 26000. It can be changed in the console with the command "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 was param -deathmatch 2 - like was -altdeath - 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 [] 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 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 Graphics -------- -OPENGL selects OpenGL driver -opengl -D3D selects Direct3D driver -d3d -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 -SURFCACHESIZE specifies the size of surface cache memory, in kilobytes -surfcachesize Sound ----- -NOSOUND disables all sound, music and CD-Audio -nosound -NOSFX disables sound -nosfx -NO3DSOUND disables 3D sound, use original mode, Windows version only -no3dsound -NOMUSIC disables music -nomusic -NOCDAUDIO disables CD music -nocdaudio -CDDEV specifies CD device file, default /dev/cdrom, LINUX version only -cddev -OPENAL enabled OpenAL driver. -openal 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
-NOIPX disables IPX driver -noipx -MPATH enables MPATH TCP/IP driver, DOS version only -mpath -PORT sets default LAN 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 -DEVGAME like -game, but also sets Vavoom in development mode -devgame -FILE specifies additional files -file [ ...] -IWADDIR specifies additional directories where to look for IWAD files. -iwaddir [ ...] Debugging --------- -DEBUG creates a debug file basev/debug.txt on DOS and Windows, ~/.vavoom/debug.txt on Unix-like systems with all the console messages. -debug -STARTTIME sets start time, it doesn't works in the LINUX version or dedicated servers -starttime