     DooM LEGACY
     Release v1.41, October 2003.

     Last Updated: October 2003

     Original game & sources by: Id Software.
     Additions: (c)1998 by: Fabrice Denis & Boris Pereira
                (c)1999 by: Fabrice Denis, Boris Pereira & Thierry Van Elsuwe
                (c)2000 by: Boris Pereira & Thierry Van Elsuwe
                (c)2001-2003 by: Doom Legacy Team

     Special thanks to Steven McGranahan, Robert Bäuml and Bell Kin for
     their large contribution and to others Legacy Team members.

     Web site: http://legacy.newdoom.com
       e-mail: doomlegacy@newdoom.com

     -----------------------------------------------------------------------
     CONSOLE DOCUMENTATION
     -----------------------------------------------------------------------

     Make sure you read this! You will discover a lot of goodies available
     in Legacy! Be a doom 'power-user' ! Skip to section 2, and browse
     through the list of commands if you're in a hurry!

     --------
     CONTENTS
     --------

     [0] What's new?

     [1] Console basics
         [1-1] Console usage
         [1-2] Console input
         [1-3] Commands and variables
         [1-4] Config.cfg file
         [1-5] Autoexec.cfg file
         [1-6] Script files
    |    [1-7] Menu note

     [2] Commands and Variables
         [2-1] Basic script commands
         [2-2] Console setup
         [2-3] Player setup
         [2-4] Game controls
         [2-5] Game options
         [2-6] Video
         [2-7] Multiplayer
         [2-8] Demos
         [2-9] Miscellaneous
         [2-10] Sound
         [2-11] Unfinished
         [2-12] OpenGL

     IMPORTANT NETWORK NOTE:

         Unless specified otherwise, all commands are working in multiplayer.
         If a command does not seem to work in multiplayer, it is a *bug*, not
         an unfinished feature :), so please mail us!

     ---------------
     [0] What's new?
     ---------------

     Changes from 1.30 to 1.40
     =========================
        - section [2-4] : updated overlay, added joystickfreelook
        - section [2-6] : added scalestatusbar
        - section [2-12]: added gr_coronasize,
                          defauilt value of gr_fogcolor set to 0
        - added section [1-7]: Menu note

     Changes from 1.29 to 1.30
     =========================
        - section [2-4] : added mousemove
        - section [2-5] : added restartlevel
        - section [2-6] : added scr_depth, scr_height, scr_width
        - section [2-7] : added allowmlook, allowrocketjump
        - section [2-11] : added connect, fullscreen

     Changes from 1.28 to 1.29
     =========================
        - section [2-7] : updated map, added allowturbo, allowexitlevel
                          sv_maxplayers, sv_allownewplayer
        - section [2-2] : changed con_size to con_height (like it was in the code)
        - section [2-6] : added translucency, splats, screenlink
        - section [2-4] : added controlperkey, use_mouse2, alwaysmlook2,
                          mousesens2, mlooksens2, mouse2port
        - section [2-5] : added splitscreen
        - section [2-9] : update help, added netstat
        - section [2-11]: update bloodtime
        - section [2-12]: added OpenGL/Glide commands

     Changes from 1.27 to 1.28
     =========================
        - section [2-4] : updated 'use_joystick'
        - section [2-4] : updated 'overlay'
        - section [2-5] : 'fastmonsters','cam_height','cam_dist', 'cam_speed'
        - section [2-7] : updated 'map'
        - section [2-7] : 'timelimit'
        - section [2-8] : 'playdemospeed'
        - section [2-9] : 'addfile'

     Changes from 1.25 to 1.27
     =========================

        - section [2-7] : 'sayteam','sayto','fraglimit'
        - section [2-4] : 'bind'
        - section [2-9] : 'screenshot','vid_ticrate',
                          'saveconfig','loadconfig','changeconfig'
        - section [2-5] : 'save','load','exitlevel'
        - section [2-11]: updated 'map'
        - section [2-8] : 'timedemo'
        - section [2-9] : 'addfile'

     Changes from 1.24 to 1.25
     =========================

        - section [2-5] : 'viewheight'
        - section [2-7] : 'skin','teamplay','teamdamage','frags','teamfrags'
        - section [2-9] : 'memfree','help'

     Changes from 1.22 to 1.24
     =========================

        - section [2-10] : 'cd', 'cd_update', 'cd_volume'.
        - section [2-11] : 'map' command now works in multiplayer, only the
                           server can change it (note: make sure everybody
                           use the same maps).
        - section [2-7]  : 'gravity' command.

     ------------------
     [1] Console basics
     ------------------

     [1-1]: Console usage
     ====================

     With Doom Legacy's console, you will be able to change a lot of
     parameters from the game, and customise the game to your preferences.

     The console is simply a command prompt, where you can enter commands
     and change the value of game variables.

     Since the first console we know of was from IdSoftware's game 'Quake',
     we have been inspired by this console, and have tried to use the same
     functionality for the Quake-Doom fans.

     To bring the console, press the '`' tilde key. You can set the console
     key at the Setup Controls menu. To exit the console, either press again
     the console key, or press ESC. ESC will bring the menu, and shut the
     console.

     The console displays all messages from the game. You can go back in
     the messages with key 'PAGE UP', and go down with the key 'PAGE DOWN'.
     Press the key 'HOME' to jump to the oldest message in the console text
     buffer, and key 'END' to jump to the last output message (the most
     recent).

     The last lines of the console text buffer are displayed at the top
     of the screen, when the console is off. That is, you can see 5 lines
     of messages instead of only 1 in the original Doom. You can change
     the duration of display of the messages with the console variable
     'con_hudtime', see the commands section for more.

     [1-2]: Console input
     ====================

     While the console is on, you can type any key to enter a command.

     Press 'BACKSPACE' to delete the last character. Press 'ENTER' to
     execute the command.

     For convenience, you have an history of the last 32 commands entered.
     Press 'UP ARROW' to go back in the commands history, 'DOWN ARROW' to
     go forward.

     Another very useful key is the 'TAB' key : it completes the command
     or variable name that has not been fully entered.

     This is a very good way to check for the existing commands : just
     enter any letter, then press 'TAB' several times to see what commands
     are available.

     Example: the variables to customize the console itself usually start
     with 'con_', thus typing 'con' and pressing the 'TAB' key several times
     will display the following console variables : 'con_height', 'con_speed',
     'con_hudtime', 'con_backpic'...

     You can also press 'SHIFT-TAB', which will complete the command line,
     but in reverse order.

     [1-3]: Commands and Variables
     =============================

     Basically, a command does not have a value, and is not saved to the
     configuration file. A variable always have an associated value, for
     example the variable 'name' holds your name as a player.

     Entering a command without any parameters, will usually tell you
     the command syntax.

     Example: entering 'map' will show:

     map <mapname[.wad]> : warp to map, load external map

     Entering a variable without any parameter, will tell you the current
     value of the variable.

     Example: entering 'name' will show:

     "name" is "gi joe"

     When a parameter has blanks in it, use "" around it.

     Example: to enter your name as 'dj fab' type:

     name "dj fab"

     Most variables that are either true or false use '0' as false, and
     any other value which is not zero is true.

     [1-4]: Configuration file
     =========================

     Most variables are automatically saved to the default configuration
     file 'config.cfg'.

     Like in the original Doom, the -config parameter will set explicitly
     the configuration file to use. Example:

     legacy -config fab.cfg

     Thus, you can have default settings for different persons, using
     different configuration files.

     While the configuration file supports any command, and is executed
     like a script, you should not edit it, because it is always overwritten
     when the game exits.

     [1-5]: Autoexec.cfg file
     ========================

     The autoexec.cfg file is a text 'script' file which is automatically
     executed at the game startup, if it is found.

     You can edit the autoexec.cfg file to set the values of those variables
     that are not automatically saved to 'config.cfg'. You can also add
     commands that will be executed one after another, just like a script.

     Comments starts with '//'.

     Each line of the autoexec.cfg file is like a line that you would have
     typed at the console.

     Here's some examples:

     This sample 'autoexec.cfg' will warp you to map 01 as soon as the
     game is loaded:

     ----------autoexec.cfg example 1-----------------
     // start always with map1, without waiting at the menu
     map map01
     echo "welcome to map 01"   //useless comment
     -------------------------------------------------

     Another example, here we set the variables that are not saved to the
     config.cfg, because they are not considered like 'standard' parameters:

     ----------autoexec.cfg example 2-----------------
     // set my preferred weird game mode
     bloodtime 5   // blood lasts 5 seconds
     solidcorpse 1
     turbo 150
     map map07
     echo "bigjim's weird mode active"
     -------------------------------------------------

     In the last example, each time you start the game, it will set the
     variables like 'bloodtime' that are not normally saved to config.cfg.
     Just look at config.cfg to know which variables are saved.

     [1-6]: Script files
     ===================

     The config.cfg, and autoexec.cfg are script files. It means they
     contain commands and variables that are executed in sequence.

     You can create any number of script files, and execute them
     with the 'EXEC' command.

     For example, to start a script named 'blood.cfg' just enter

     exec blood.cfg

    |[1-7]: Menu note
    |================
    |
    |Most of variable are now changable in the menu directely. So you are
    |not forced to retain varaible name and value. If a varaiable isn't in the
    |menu it is probabnly because this is verry technical varaible and is not
    |for common use so make attention when you modify it.

     --------------------------
     [2] Commands and variables
     --------------------------

     Please note that the most common options are changeable at the menus,
     and will set the corresponding variables. You will need to use the
     console only if you want to customise the game more to your needs.

     [2-1] Basic script commands
     ===========================

     Here are the basic commands for script execution, they have the same
     usage and functionality as in the game 'Quake'.

     You can use ; to separate several commands in the same line.

     alias <aliasname> <command>
          When you will type 'aliasname', it will do like if you had
          entered 'command'. Let's better have an example: :)

          alias silence "soundvolume 0;music volume 0"

          Further, when you will type 'silence', it will execute the
          corresponding command. In this example, we have given two
          commands as one, inside " ", and using the ; as a separator
          for commands.

     echo <"text to output">
          Just echoes text to the console. Like 'print' in Basic :)

     exec <script file name>
          Execute a script file. A script file is just a text file
          containing a sequence of commands or variables. Script files
          usually have an '.cfg' extension.

          Example:

          exec autoexec.cfg

          will execute all the commands in autoexec.cfg

     cls
          Just clear the console text buffer.

     wait [<frames>]
          Wait a given amount of time. The unit is per 35th of second.

          Example: this will wait 5 seconds, then display 'ok!'

          wait 175;echo "ok!"

          WARNING: when the wait command is executed, all the following
          commands are delayed until wait has finished. Eg: if you enter
          'wait 126000' (35 * 60seconds * 60 minutes), you will have
          to wait one hour before other commands can be excuted!!!

     toggle <varibale_name> [<value>]
          Without value parameter this toggle a varaible. Technicaly it
          put variable to the next possible value.

          With value parmeter this add value to the varible.

          This command is very usefull for use with bind. ex:
            bind ">" "toggle gr_fogdensity"
            bind "<" "toggle gr_fogdensity -1"
            so you can modify fogdensity without going in the console or menu !

     [2-2] Console setup
     ===================

     con_backpic <0|1>
          1 : use a console background picture, like in Quake. The background
              is opaque, thus it doesn't slowdown the display because the
              part of the view under the console is not drawn.
          0 : use translucency for the console background : this one looks
              much better, somewhat like a LCD translucent screen. The
              drawback is that it is slower than the first method.

     con_height <0-100>
          Set how many %percent% of the total screen height the console
          will use. eg: con_height 50 (the default), will use half the
          screen height for displaying the console.

     con_speed <1-???>
          Set the speed at which the console comes down or moves out of
          the screen, when you press the console toggle key. The number
          is given as screen lines.

     con_hudtime <0-???>
          Set the number of seconds that the messages stay on the top
          of the screen. They are 5 message lines that scroll as soon
          as new messages arrive. eg: con_hudtime 5, which is the
          default, will make the messages stay for 5 seconds before
          disappearing. Set this to 0, and you will never see any
          messages out of the console (hud means heads-up messages).

     showmessages <0-2>
          This is like in the Options Menu, with one more setting:

          '0' means never show any messages on the screen, '1' means
          always show the messages, which is the default.

          There is one more setting, '2' that can only be entered at
          the console, it will show all messages except most of the
          'picked up ...' style messages. Useful if you are tired of
          the 'picked up ammo', 'picked up health bonus', ect. messages.

     [2-3] Player setup
     ==================

     name2
          Same as name but for splitscreen player.

     name <your name>
          Enter your name as a player, for network games. Your name will
          be seen when you send a message (chat key), and is displayed
          in the deathmatch rankings. Use "" if the name contains spaces,
          eg: name "dj fabbe"

          The name can be entered in the Multiplayer menu.

     color2
          Same as color but for splitscreen player.

     color <0-10>
          Choose your color, for multiplayer games.

          The color can be entered in the Multiplayer menu.

     chatmacro <0-9> <"your chat message">
          This very useful command allows to change the chat messages at
          any time during the game. They are saved to the config too!

          You can now quickly setup some circumstance messages at the
          start of a game.

          Press the chat key, then ALT plus a number key from 0 to 9 to
          send one of the chat messages. Well, just like it has always
          been for Doom.

     [2-4] Game controls
     ===================

     use_mouse2 <0|1>
          Enable/Desable use of the secondary mouse. You must read the
          legacy.txt before use this.

     use_mouse <0|1>
          Setting 'use_mouse' to '0' will disable the mouse. The next time
          you start the game, the mouse won't be detected.

          Set 'use_mouse' to '1' to search for a mouse, and activate it.

     use_joystick <0-xx>
          Enable joystick support with any value other than '0'.
          '0' will disable the joystick.

          Go to the Setup Controls menu, to set the joystick buttons to
          game controls (just press enter on a control, then push any
          joystick button).

          DOS VERSION:

          Type "help use_joystick" at the console for the list
          of supported joystick types (gamepad, analogic, Wingman
          Extreme, etc..)

          WIN32 VERSION:

          Type "use_joystick" alone to see the list of connected
          joysticks, type a number to choose one of them.
          Doom Legacy Launcher passes the full name of the joystick
          device instead of a number.

    |joystickfreelook <0|1>
    |     Enable or desable freelook with the joystick.

     invertmouse2 <0|1>
          Same as  invertmouse but for splitscreen player.

     invertmouse <0|1>
          Just like in the Options menu

          Set invertmouse to 1 to inverse the mouse y (up and down) axis.
          This is for freelook only, you will look up, when moving the mouse
          down (backward), and look down when moving mouse forward.

     autorun <0|1>
          Just like in the Options menu

          Set this to 1, to lock the 'run' key. You will always be running,
          without the need of pushing a key.

     alwaysmlook2 <0|1>
          like  alwaysmlook but for splitscreenplayer

     alwaysmlook <0|1>
          Just like in the Options menu

          You can use the 'freelook' (ability to look up and down) in two
          modes : permanent or temporary.

          Setting 'alwaysmlook' to '1' will set the freelook permanent.

          When 'alwaysmlook' is '0', you will need to keep the 'freelook'
          key while moving the mouse up and down. When releasing the key,
          the view will always re-center. This is useful if you keep
          firing rockets at your feets.

     mousesens2 <0-???>
          Same as mousesens but for splitscreen player.

     mousesens <0-???>
          The Options menu allows a range of 0-39 values.

          If you are one of those people that used to change the mouse
          sensitivity in the game config because you felt it was not enough,
          you can now set it at the console to any value you like!

     mlooksens2 <0-???>
          Same as  mlooksens2 but for splitscreen player.

     mlooksens <0-???>
          The Options menu allows a range of 0-39 values.

          Same note as the mousesens value.

      mousemove <0|1>
          Enable/Disable mouse Y-axis for forward/backward.

     crosshair <0-3>
          Just like in the Options menu.

          Choose whether to use a crosshair (1-3), or not (0). The values
          are 1,2,3 for white cross, green angle, and red point.

     originalweaponswitch <0|1>
          Choose whether to use the original weapon change method (1), or
          the new Preferred Weapons Order (0), see 'weaponpref' for more.

          With the original weapon switch, whenever you walk on a weapon,
          it will switch to that weapon, even if it is not as powerful
          as the one you are carrying. That can be sometimes very
          annoying, especially in fast deathmatches.

     weaponpref <"014576328">
          The Preferred Weapons Order (tm) :)

          This works only if you have set 'originalweaponswitch' to '0'.

          You give a priority to each of the weapons, with a number digit
          from '0' to '9'. Several weapons can have the same priority.
          When you pickup a weapon that you don't already have, you
          will switch to that weapon ONLY AND ONLY IF that weapon's priority
          is greater that the one you are carrying. If you already had the
          weapon, you will pickup the ammo as usual, without changing
          weapon.
          The numbers are priority values, for each of the weapons, in
          the following order:

          Fist, Gun, Shotgun, Chaingun, Rocket launcher, Plasma, BFG,
           Chainsaw, Super Shotgun.

          Thus 'weaponpref "014576328"' means that the super shotgun has
          the highest priority (8), while the fist is lowest priority (0).
          After the double shotgun, in decreasing priority you have the
          rocket launcher (7), plasma gun (6), chaingun (5), shotgun (4),
          BFG (3), chainsaw (2), gun  (1).

          Let's have another interesting example :

          'weaponpref 333333333'

          Since all weapons have the same priority in this last example,
          you will in fact NEVER change weapon automatically, because
          no weapon has a priority higher than any other one. You might
          consider this as the 'manual' weapon change.

     autoaim <0|1>
          Just like in the Options menu.

          The original Doom used autoaiming for up and down, and a very
          little aim adjustment on left and right.

          Now that you can shoot up and down with the freelook, you can
          play like a 'pro' and set autoaim off (0).

          Note that the autoaim has been enhanced : if you are not
          aiming at something right in front of you, you will be able
          to shoot at any angle with the freelook. If something is to
          be aimed just in front of you, then the autoaim will adjust
          your shots like in the original Doom.

          This means that you can to some extent, predict a target's
          path, and shoot ahead, while in autoaim mode.

          NETWORK NOTE: in a multiplayer game, the SERVER can force
          the autoaim off for all players with the command 'allowautoaim',
          use with caution (don't get your friends angry :) And remember:
          you can have more control now with the enhanced Autoaim so it
          might not be necessary to force everybody to autoaim off.

     setcontrol2 <controlname> <keyname> [<2nd keyname>]
          same as setcontrol but for player 2 (splitscreen player).

     setcontrol <controlname> <keyname> [<2nd keyname>]
          Using the Setup Controls menu will be much simpler!

          This command associates a key/joystick/mouse button, to a
          game control (forward, fire, use ...).

          The second keyname is optional. You can set it, and have
          two keys attached to one game control. eg: have 'ARROW UP'
          and 'MOUSE2' for 'forward'.

          When a key does not have a name, it uses a name of the
          form 'KEYxxx' where xxx is the key code.

          To know the name of the keys/joystick/mouse buttons, look
          for them at the Setup Controls menu.

          The control names are "forward","backward","strafe",
          "straferight","strafeleft","speed","turnleft","turnright",
          "fire","use","lookup","lookdown","centerview","mouseaiming",
          "weapon1","weapon2", ... "weapon8","talkkey","scores",
          "jump","console".

          Note: some key names have spaces in it, use the "" around.

          Example:

          setcontrol forward "keypad 7" "up arrow"

          The following will use the windows95 'menu' key to toggle the
          console:

          setcontrol console menu

     controlperkey <1|2>
          When set to 2 (several) you can put more than one control per key
          else seting a key to a control will remove the key from other
          assignation. This option was introduise since from the begining
          we support several control per key, but everyone don't want it.

     overlay <"fhmak"> : status bar overlay
          Choose which information to show when in full screen mode.
          Each letter represent a type of information that will be shown.

          'f' : show frags (only in deathmatch)
          'h' : show health
          'm' : show armor
          'a' : show current weapon ammo
          'k' : show keys
    |     'e' : show monsters kill
    |     's' : show secret found count

    |     The default is 'fhmakes' which shows all kind of information
    |     on the status bar overlay.

          Note that the ammo icon displays a graphics of the current
          weapon's type of ammo, so that if you play with 'playersprites'
          off, you know what weapon you have ready.

          We're still not happy with the statusbar overlay : there should
          (and will) be more arrangements of the overlay icons, to suit
          different people's likes (eg: not everyone might want the frags
          displayed on the top right..) Plus we will add other useful
    |     information like owned weapons..

     bind <keyname> <"command">
          Bind commands to a key.

          Each time you push the key, the commands will be executed.

          Example :
          > bind s screenshot
                    (each time you push the 's' key it will make a screenshot)

     mouse2port <1|2|3|4>
          Choose the port nomber of the secondary mouse for the
          splitscreenplayer between COM1 to COM4.

     [2-5] Game options
     ==================

     viewheight <16-56>
          Set the height of the view (the height of the eyes above the floor).
          The normal value for the Doom marine is 41.
          We have limited the range into acceptable values, to
          prevent cheating.

     turbo <10-255> : set turbo speed
          This is like the original -turbo game parameter, you can now set
          it anytime you want during the game.

     respawnitem <0|1>
          Choose whether items respawn or not.
          'respawnitem 0' is like old deathmatch, it is set 'true'
          automatically when in Deathmatch 2

          NOTE: it is considered cheating to allow respawning of items
                when in single player mode ! :)

     respawnitemtime <0-???>
          Set the respawn item time in secondes. The time between th moment
          you pickup the item, and the moment it reappears.

          The default is 30 seconds, from the original Doom.

     respawnmonsters <0|1>
          Choose if monsters can respawn.
          'respawnmonsters 1' is like the -respawn command-line option of
          the original Doom.

     fastmonsters <0|1>
          Choose if monster are "fast" like original -fastparm

     respawnmonsterstime <0-???>
          Choose the time of respawn for the monsters, in seconds.

          The default is 12, from the original Doom.

     save <slot_number> <"description">
          Save the game in the given slot, with chosen description.

     load <slot_number>
          Loads a previously saved game.

     exitlevel
          Exits current level and go to the intermision screen.

     restartlevel
          Restart the current level.

     chasecam <0|1>
          Enable/disable chasecam.

          Sorry but the chasecam still be in devleppement so it
          can be stuck.

     cam_height <float value>
          Sets the chasecam height.

     cam_dist   <float value>
          Sets the distance between the chasecam and player.

     cam_speed  <float value>
          Sets the speed of the chasecam, the default value is 0.25

     splitscreen <0|1>
          Enable/Desable the split screen, If needed this spaw the secondary
          player. If you want to join a network game with two players you can
          use -splitscreen or +splitscren 1 parametters. Or, join the game and
          set this varaible to 1.
          Also when viewing demo with more than one player you can turn this one.
          And see the seconde player view.

      [2-6] Video
     ===========

     vid_nummodes
          Tells how many different video modes are available.

     vid_modelist
          List all available video modes, like they are shown in the
          Video Options menu. Each video mode has an associated number,
          so you can set it with the following command...

     vid_mode <mode number>
          Set the given video mode. Give one of the numbers displayed
          by the 'vid_modelist' command.

     vid_modeinfo [<mode number>]
          Shows information about the current video mode (no parameters),
          or the given video mode number.

     vid_ticrate <0|1>

          Show a graph of the framerate per time base.
          It is very usefull to know what part of a level is more slow in
          framerate value.

     playersprites <0|1>
          Choose whether to show the player weapon sprites (1), which is
          the default, or not to draw it (0).

          When 'playersprites' is '0', you can aim simply because your
          shots always go to the center of the screen, and the current
          weapon type is shown in the status bar, or by the ammo icon
          of the status bar overlay.

          Don't laugh! Sometimes I like to play with playersprites off.

     usegamma <0-4>
          Choose the gamma level (brightness). Just like in the Options
          menu.

     viewsize <3-11>
          Choose the size of the view window.
          '3' is the smallest view window.
          '10' is the normal full view window, with the status bar.
          '11' is the full screen mode, without status bar.

     scr_depth <8|16|24|32>
     scr_height <0-???>
     scr_width  <0-???>
          This varaible are only used to save the starting video mode.
          So you are not uspposed to change it.
          scr_depth is only used in OpneGl

     splats <0|1>
          Enable/Disable bloodsplat and bullet hole on walls.

          Is recommended to desable it on slow computer like 486.

     translucency <0|1>
          Enable/Disable transparent sprite.

          Is recommended to desable it on slow computer like 486.

     sceenlink <0|1|2>
          Allow to change the screen link between :
            0 - none
            1 - the normal wipe melt
            2 - the new color melt (it was in the original code, we just
                                    enabled it)
    |scalestatusbar <0|1>
    |     Set to 1, this draw status bar in large mode. Else it draw
    |     status bar as this original size so in big resolution it is smaller

     [2-7] Multiplayer
     =================

     skin2 <skinname>
          Same as skin but for player 2 (split screen player).

     skin <skinname>
          Change your skin, provided skins are loaded (adding skins wads
          after the -file on the command line). The skin name is the one
          shown on the multiplayer->setup menu. The default marine skin
          name is 'marine'. Of course, it's easier to use the multiplayer
          setup menu.

     teamplay <0|1|2>
          You can change the deathmatch mode while in a multiplayer game.

          0 : no teams, usual deathmatch

          1 : teamplay, using color to identify teams, players of the
              same color will be in the same team, the team name will
              be like 'red team' or 'yellow team'

          2 : teamskin, using skins to identify teams, players who use
              the same skin will be in the same team, the team name will
              show as 'leprechaun team' or 'terminator team', according
              to the name of the skin

     teamdamage <0|1>
          Decide whether people of the same team can hurt themselves or
          not. Note that the armor is always damaged.

          NOTE! teamdamage works for cooperative! So you can now have
          a cooperative mode where your partners don't get damage.

          0 : damage is off, players of the same team can't kill each
              other, you'll know of this because blood won't show, and
              the player who is hit won't see his screen go red

          1 : damage is on, like in original Doom cooperative, players
              of the same team can hurt, and kill each other. If they
              kill members of the same team, they fill score a negative
              frag.

     frags
          Shows the frags table, like in the original Doom intermission.
          It shows the frags count for each player, against each other
          player.

     teamfrags
          Just like 'frags', but for teams, so it shows the frags count
          for each team, against each other team.

     gravity <0.0 ... ???>
          Changes the gravity, only the server changes it, for all the players.

          Note : this value is a 'float' type, for example 0.5 is half the normal
                 gravity.
          Note2: you can't walk/move while in mid air.

          The default gravity is '1'.

     getplayernum
          This command tells the number, node and name of the present
          players. You can then use the number for the 'kick' command,
          instead of the player name, if a player has a complicated
          name or long one to type! :)

     kick <"playername"|playernum>
          One of the rare pleasure of being a server : kick out somebody
          from your game!! The 'kicked' person will be brought back to the
          title screen.

          You can give either the name (using "" if it contains spaces),
          or a player number from the 'getplayernum' command.

          NOTE: this will work only for the server of the game, see legacy
          documentation for more about who is the server.

     allowjump <0|1>
          Choose whether jump is allowed or not. For those of you who
          comes from planet 'NoJump' or have a limited sensory system
          and couldn't survive a jump in the 3rd axis of our world,
          you can disable the jump in single player too.

          Only the server can set this variable.

          NOTE: not saved automatically, put it in autoexec.cfg

     allowautoaim <0|1>
          Disable autoaiming for all players... make sure everyone is ok
          before getting your friends angry.

          Only the server can set this variable.

          NOTE: not saved automatically, put it in autoexec.cfg

     allowturbo <0|1>
          Enable/Disable turbo for all players.

          Only the server can set this variable.

     allowexitlevel <0|1>
          Enable/Disable the exit level way. This is only usefull in multiplayer
          So the only whay to exit the level is to reach the timelimit or fraglimit
          or the exitlevel command typed by the server.

          Only the server can set this variable.

     allowmlook <0|1>
          Enable/Disable usage of look up/look down for all players in the game.

     allowrocketjump <0|1>
          Enable/Disable emulation of QuakeI bug of rocket Jump.

     sv_allownewplayers <0|1>
          In a netgame allow everyone to join the current game using the partial
          Join-in-game (I remind you that the joined player will wait the next
          map chnage). Default is true so don't worry about it.

     sv_maxplayers <1|32>
          Set a limit of new players for a net game. Default is 32 so don't
          worry about it.

     fraglimit <0 - 1000>
          When the limit is reached, exits the level and goes to intermission.
          0 to disable

     timelimit <0 - ???>
          Exit level and goes to intermission after xx minutes, 0 to disable.

     say <message>
          Sends a message to all players. It is recorded with demos.

     sayto <"playername"|playernum> <message>
          Sends a message to specified player.

     sayteam <message>
          Sends a message to your own team.

     map <mapname | wadfile.WAD> [-skill <1..5>] [-monsters <0/1>] [-noresetplayer]
          To play an original map of Doom1, enter a mapname of the
          form ExMy where x is the episode and y the map number
          eg: 'map E2M3'.

          For Doom2, enter a map name of the form MAPxx where xx is
          the map number from 01 to 32.

          The command can also run external maps, it will load
          new flat textures, sprites, sounds, AND wall textures.

          Example: 'map waterlab.wad'

          It can also change the skill value from 1 to 5. From baby to
          Nightmare. The -monsters parameter allow you change if there
          monster on the map or not. Note : the engine remembers this
          parameter use it only if you want to change it.

          The parameter -noresetplayer is to keep your equipment. Else
          you loos all weapon and ammunition.

    |servername <name>
    |     This is your server name. this is displayed on other cumputers
    |     screen when there are searching for a server.
    |
    |masterserver <master_server_address>
    |     This cvar is used by legacy when it search server to connect to,
    |     on internet we are running a master server at address
    |     "doomlegacy.dhs.org:28910" (the default value) it collect all server
    |     running and send list of server runnig to legacy when you are
    |     searching for a server. It is not recommended to change it unless
    |     you ave recompiled the masterserver and run it somewhere else.
    |
    |internetserver <0|1>
    |     This cvar is used only when you make a server, when set to "yes" or 1
    |     it connect to the master server to tell that your server is public
    |     and everone can join it. When set to "no" or "0" it do not coonect to
    |     master server and only player that are on local network can join it.
    |
    |     When you are not connected to internet it is recommended to set it to
    |     false, else legacy will try to connect to master server and it can take
    |     some time to detect that this one is unreachable.

     [2-8] Demos
     ===========

     NOTE: 'playdemo' command doesn't seem to work very well, sometimes
           the demos don't playback properly. In such case, until we
           fix it, use the -playdemo command line parm. It usually seem
           to work better.

           When we will have found that damn bug, we will add the
           'record' command.

     playdemo <demoname[.lmp]>
          You can now play a demo at any time during the game:

          playdemo demo3

          This will start the internal game demo 'demo3'.

          If an internal resource by the same name is not found, it
          will add '.lmp' and search for an external demo of the
          same name.

          You may add '.lmp' to ask explicitly for an external demo,
          example:

          playdemo cave001.lmp

          Will start an external demo, of file name 'cave001.lmp',
          that you would have started with the -playdemo parameter
          in the original Doom.

     stopdemo
          Stops right away the current playing demo. Very useful.

     timedemo <demoname[.lmp]>
          Play a demo like playdemo but run at fast as he can, rendering all
          frames. It is used to measure the speed of the engine.
          At the and of the demo it will show :
            gametics : the numbers of frame rendered.
            realtics : number of tics (1/35 second) taken to render all the
                       frames
            seconde : the time take to render all frames.
            avg fps : average frame per seconde. (gametic/seconde)

     playdemospeed <0 - ???>
        Allow you to change the speed of the playback of a demo.

     [2-9] Miscellaneous
     ===================

     memfree
          Show the amount of heap, virtual and physical types of memory
          available. The heap is the memory allocated for the game, and
          you can change it using the '-mb' command line parameter
          (see legacy.txt)

     help
          Show a list of all the console commands and variables.

    |help <variable>
    |     Show all possible value for the variable.
    |      ex: help teamdamage
    |           0 : Off
    |           1 : On

     version
          Show the game version and last date of compilation.

     quit
          Just quits the game, without confirmation.

          Beavis: "- hey Butthead, why does Legacy always exits as soon as
                   it has finished loading ??"
          Butthead: "- because I have put 'quit' in your autoexec.cfg..
                     uh.. uh ehehehe.. uh !!"

     screenshot
          Take a screenshot like the F1 key in devparm mode.

     saveconfig <filename[.cfg]>

          Save the current config in the specified file. This is always done when
          you exit Legacy.

     loadconfig <filename[.cfg]>

          Load a config file like at the begining of legacy.
          For the pro : this is a simple exec command with ".cfg" default.

     changeconfig <filename[.cfg]>

          Do a 'savegame currentconfigfilename' then a 'loadconfig filename'.

     The following commands might be helpful when you are playing a
     'dehacked' game, and the cheat codes have been changed, damn! :)

     noclip
          Like the cheat code 'idclip'.

     god
          God mode. Just like 'iddad'.

     gimme [health] [ammo] [weapons] [armor] [keys]
           [chainsaw] [shotgun] [chaingun] [supershotgun] [rocket] [plasma]
           [bfg]
           [berserk]
    |      [map] [fullmap]

          Each of the paramater is optional, just add anything you want to
          be added. This is a cheat 'a-la-carte' : for those like me that
          likes to cheat 'half'. You can ask only for one weapon, or
          just 100% health, or just an item..

          NOTE: this was added as a last minute, the other items need to
          be added (goggles, invuln., invisibility...)

     addfile <wadfile.WAD>
          This command loads wads at run time.

          The difference with the 'map' command is that:
          - it won't automatically start a map
          - it doesn't work in multiplayer (clients won't load
            the file)

          It will give some info about sprites/musics/sounds that
          were replaced.

          Note to wad authors: it will be possible to put any number of
          maps in a wad file, using any resource name instead of the
          'MAPxx' and simply typing 'map START' for example. Actually
          it will need to edit the wad file, and rename the 'MAPxx'
          markers.

    |netstat <0|1>
    |     Show netstat at the screen, this include :
    |       upstream byte per seconde
    |       downstream byte per seconde
    |       system packet lost ratio
    |       game packet lost ratio
    |
    |     This is mainly for devloppers and curious

     [2-10] Sound
     ============

     soundvolume <0-31>
          Just like in the Sounds menu.

     musicvolume <0-31>
          Just like in the Sounds menu.

     cd_volume <0-31>
          Just like in the Sounds menu.

     snd_channels <0-???>
          Choose how many sound channels will be used. Usually you will
          set a value from 8 to 16, which is plenty enough.

     precachesound <0|1>
          Set it to 1 (true), so that all the sounds are loaded at the
          game startup. If 0, it will load the sounds while in the game,
          only when they are needed.

     stereoreverse <0|1>
          Set 'stereoreverse' to '1' to swap the stereo, if you hear the
          the sound of fireballs coming from the left, output from the
          speaker to the right...

     cd <on|off|remap|reset|play <track>|loop <track>|info|stop|resume|open>
          The CD Audio music is available only when the MSCDEX driver
          version 2.0 or later is found.

          NOTE! Always do a 'cd reset' when you have changed the cd in the
                drive, else it will say 'cd not ready'.

          Here's a description of the cd commands:

          cd on : enable cd music, game will use cd music.

          cd off : disable cd music, if you don't want to hear the cd music.

          cd open : open cd door.

          cd reset : reset the cd driver, check for a new cd. Do this if you
                     have changed the cd, to make the new cd's tracks available.

          cd info : display the list of tracks, with time per track, and total
                    time. The track being played is printed in white.

          cd play <track> : play a cd track, at the end, go to next track.

          cd loop <track> : loop a cd track, at the end, restart it.

          cd stop : stop/pause cd audio, use 'cd resume' to continue.
                    If you really want the cd drive to stop 'turning', use
                    'cd off'.

          cd resume : continue playing after a 'cd stop'

          cd remap : remap cd tracks. Normally, the game uses the map number
                     as the track number, for Doom1, it takes (episode*9)+
                     map number as track number.

                     This command is useful to adapt your favorite cd music
                     to Doom's levels, let's have an example:

                     cd remap 5 3 1 4 2

                     This remaps cd tracks as follows:

                     1 becomes 5,
                     2 becomes 3,
                     3 becomes 1,
                     4 becomes 4 (does not change),
                     5 becomes 2.

                     So, at map 1, it will play track 5, because track 1 was
                     remapped to track 5.

                     If you have a great music which is track 8 and you want
                     it at map 3 and 6 :

                     cd remap 1 2 8 4 5 8 ...

                                  ^     ^ tracks 3 and 6 become 8

                     TIP A: this is very useful, if you have a cd with 'data'
                            tracks, a pc cd-rom game with some audio tracks,
                            usually the first track is a data track, that won't
                            play. Use remap to skip the first track like this:

                            cd remap 2 3 4 5 6 7 8 9 2 3 4 5 6 7 ..

                            So track 1 is never used.

                     TIP B: you can do some aliases for your favorites CD's,
                            and save it to autoexec.cfg, example :

                            alias fsol cd remap 4 5 2 9 3

                            so you can just type 'fsol' to get your favorite
                            track list.

     cd_update <0|1>
          By default, cd Update is enabled. If you feel some serious
          slowdown while the cd is playing, set cd_update to 0. The cd
          will no more move to the next track, neither loop the current
          track automatically. Another solution is to get the latest
          version of your cd driver (a better one).

     [2-11] Unfinished
     =================

     solidcorpse <0|1>

          The sneak preview option of Legacy v1.12 became a console
          command, but is still not finished.

          Note that this option works for solo play too.

          Setting solidcorpse other than 0, makes the dead corpses
          (monsters/marines) solid. The corpses thus stack one on top
          of another, and you walk over them. Sometimes you can even
          reach ledges where you couldn't go by climbing on corpses!

          This option is there for fun in deathmatch, and so that
          you can test easily the new improved height collision method!

     bloodtime <0-???>
          Choose how many seconds blood will stay on the floor.
          In the original Doom the blood stayed no more than 1 second.
          This can be fun for deathmatches, setting 'bloodtime' to '60',
          for example, will make the blood drops stay 1 minute on the
          floor before disappearing. Useful for tracking down your preys :)
          default falue is now 20

     connect <server_ip | server_address | ANY | SELF >
          This command connect to a server to play a netgame.
          Unfortunately, it can't be used if legacy was not started in network
          (-connect or -server). So you may use it only when reconnecting to
          a server.

     fullscreen <0|1>
          switch between fullscreen or windowed, work only under Linux and
          win32 opengl

     [2-12] OpenGL/Glide
     ===================

     note: Those variables are only available in the Linux and Win32 version.
           All those variable's names start with the gr_ prefix.
           Not all those variables are effective in Glide mode.

     gr_coronas <On|Off>
        Enable or disable coronas around lights and rocket.

     gr_coronasize <positive float value>
        Adjust light coronas size on the screen, coronas is in the reality
        caused by despertion of light in the eye the size of a coronas depand
        on your screen size and your distance of your eye to screen. So you
        can adjust it the get the more realistic effect or just to see more
        bigger coronas :).

     gr_dynamiclighting <On|Off>
        Dynamic lighting is way to render (on walls and planes) lights emit by
        missiles or BFG balls. Be aware it can be slow on low end PC.
        See also gr_mblighting.

     gr_fog <On|Off>
          Enable or disable the fog, default is On.

     gr_fogcolor <rrggbb>
          Change the RGB (in hexadecimal format) value of the fog. The
    |     default is set to 000000 (black, looks like the original
          doom fog). For a grey fog, set the value to 707070 (for example).

     gr_fogdensity <1-?>
          Change the fog density. The default value is 500. I suggest you to
          try different values to see the changes.

     gr_fov <1-179>
          FOV means Field Of View. If you set a value above 90 and gr_mlook
          (see below) is "Off", then DooM Legacy set automatically gr_mlook
          to "On". This is because FOV, with a value higher than 90 degrees,
          needs this mode to work properly. You can use it for zooming:

          Mandeep/FlynnT tips for zooming (see other commands/variables)
            alias psprites_on "playersprites 1"
            alias psprites_off "playersprites 0"
            alias zoom_in "set_zoom_out; psprites_off; gr_fov 80; wait 1;
                           gr_fov 71; wait 1; gr_fov 62; wait 1; gr_fov 54;
                           wait 1; gr_fov 46; wait 1; gr_fov 39; wait 1;
                           gr_fov 32; wait 1; gr_fov 26; wait 1; gr_fov 20;
                           wait 1; gr_fov 15; wait 1; gr_fov 10"
            alias set_zoom_out "bind n zoom_out"
            alias zoom_out "set_zoom_in; gr_fov 15; wait 1; gr_fov 20; wait 1;
                            gr_fov 26; wait 1; gr_fov 32; wait 1; gr_fov 39;
                            wait 1; gr_fov 46; wait 1; gr_fov 54; wait 1;
                            gr_fov 62;  wait 1; gr_fov 71;  wait 1; gr_fov 80;
                            psprites_on; wait 1; gr_fov 90"
            alias set_zoom_in "bind n zoom_in"
            bind n zoom_in

          I suggest you to put this in the autoexec.cfg file. It allows you
          to use the 'n' key for zooming in and out.

     gr_gammaxxx (where xxx = red|green|blue) <0-255>
          Those variables are used for changing the intensity of red, green or
          blue. You can use them to make DooM Legacy brighter or darker if you
          change all those variables with the same smaller or higher value.

     gr_mblighting <On|Off>
          It's the same as dynamic lighting, except it shows the lights emit
          by balls throw by monsters.

     gr_mlook <Off|On|Full>
          gr_mlook command is there for fixing the "mlook" bug (when you look
          up and down). The default value is On.

          - The "Off" (or 0) should only use if you don't use full mlook.
          - The "On" (or 1) is fast and fix most of the mlook bug, but walls
            behind you can be hidden if you look at nearly 90° (up or down).
            It shouldn't be a big issue for most of you and it's the
            recommended mode for low end pc.
          - The "Full" (or 2) is exactly the same as "On" but it fix all the
            bugs and is a little slower for angle > 45 degree.

          The gr_mlook command has been "optimized" recently. That's why, when
          you're aiming at an angle of 0, it acts like if gr_mlook was Off,
          even if gr_mlook is set to On or Full, and thus it's faster. There
          is something similar with angle less than 45: if you use gr_mlook
          Full, it act like gr_mlook On.

     gr_staticlighting <On|Off>
          This is an experimental variable for now since it's not yet
          optimized. I don't recommend you to use it, except if you have
          the cream of the cream PC. It's ok for some maps, though.