             Quake 2 Base Configuration And Scripts
                 by Russell "Essobie" O'Henly
                    essobie@planetquake.com

WARNING!: Backup any configuration files you may have in both
your baseq2 and any other mod directory before using any of these
files! Essobie is not liable for any damage to your configuration
that these files may invoke.  YOU HAVE BEEN WARNED!

These configuration files are meant as a template for advanced
users and players so that they can learn a quick, easy to manage
configuration file structure that reduces strain on the end user
when changing, rearranging, or adding to their current configur-
ation.

It is NOT meant as an entire replacement to your own configuration,
unless of course you have absolutely no configuration to begin with.

The Installation:
        Again, make sure you absolutely have a backup of every single
configuration file you have ANYWHERE in your Quake 2 directory structure.
If you do the raw WinZip installation of this .zip file, a series of
files will be placed in your baseq2 directory, and a single file called
"mod.cfg" will be placed in a number of mod directories of which I have
specific bindings and aliases prepared for you.  If you have any files
of the same name present in these directories, they WILL be overwritten
if WinZip is given the chance.
        Now... to install everything, simply open up the zip file you
have now, and extract all files to your /quake2/ directory, whereever
that may be on your computer WITH USE FOLDER NAMES TOGGLED TO ON.  This
is important because files need to go in certain folders... if you have
an reservations about doing it this way, unzip each file one at a time
and place it where it should go on your system.

The Structure:
	The files are set up in such a way that at all times the
end user will know exactly where to find any setting, binding, or
alias that they want to alter or delete, and also to give direction
on where to place additions, specifically bindings and aliases needed
for Quake 2 Modifications released after the original Quake 2 release.

The Files:

AUTOEXEC.CFG: This file has no other purpose but to list the needed
files for the entire configuration to function.  It has but a single
alias (the w10 alias).  The rest of the lines are "exec" commands which
go through and execute each and every configuration file.

SETTINGS.CFG: This is the first file that AUTOEXEC.CFG makes reference
to, and contains exactly what its name implies: settings.  Game settings
such as "field of vision" or "fov", and sensitivity are found in this
file, as well as video modes, framerate caps, sound and input device
settings, and anything else that would normally be changed with a "set"
command.  It also includes settings for the "allow_download" commands.

ALIASES.CFG: This file contains a long list of visibly separated sections
that contain alias commands that perform functions such as changing
settings on the fly, cycling through communication bindings, and any
other external or custom commands.  Under each "alias," or group of alias
commands, is a "remark" statement that begins with "//" which mentions
the proper bindings needed for the alias to be bound to a button or key.
There are NO ACTUAL BIND COMMANDS IN THIS FILE.  This is to keep key
bindings from ever conflicting between two configuration files.  The
commands listed in these "remarks" are then bound using bind commands
in the BINDS.CFG file, mentioned below.

BINDS.CFG: This file is also separated into groupings in a very visable
manor so as to simplify finding certain keystrokes for any configuration
changes in the future.  When making a change to a command binding, always
do a "Find" in your text editor to make sure that you don't already have
a command bound to the key in question.

Example: say you want to have another key on your keyboard for the "+moveup"
command, and you would like to place it on the "Q" key.  Use your text
editor (Notepad, Wordpad, or the like) and do a find for "bind q".  If it
does not turn up a match, place a new bind command in the appropriate place
in the BINDS.CFG file.  If it DOES turn up a match, either change the current
binding to something other than "Q" (again, doing another search) or change
the "+moveup" command to another key.

At the bottom of the BINDS.CFG file is the "ALIASES.CFG" section which has,
in order, all listed bindings for all aliases in the ALIASES.CFG file.
This makes adding aliases in the future very easy to do.  In fact, all
additional files (scripts) in your configuration should keep actual bind
commands to a minimum, and have a section added to the BINDS.CFG file
specifically for that new script (see "CHATMAC.RC" in the BINDS.CFG file).

SCRIPTS.CFG: This file functions in the same manor as the AUTOEXEC.CFG
file, except it executes only "extra" script files.  These type of files
tend to have bind commands that will override binds found in the BINDS.CFG
file.

CHATMAC.RC: This is the first file that the SCRIPTS.CFG executes.  This file
sets up the keyboard's numberpad up for a communication binds system that
allows you to preview what you plan on "saying" by using echo commands.

The nice thing about this script is that you can have a different one in 
each mod directory, allowing you to have different communication binds for
different mods.  Just copy the file to the different directories, and make
any changes you need to.  You can use the script for regular commands as well, 
instead of just communication!

C_SCRIPT1-5.RC: These files are all set to use the same 4 Function Keys, and
are cycled with the "Script Cycle Alias" found in the ALIASES.CFG file.  Each
of these files are documented below.

C_SCRIPT1.RC:

The default name of the demos is XX_demo.  To change this to something
else, simply bring down the console, and type in "set dn [name here]"
where [name here] is what you want to replace the "demo" with in the file
names.  I made the variable dn to stand for demo name, but you can replace
it with whatever.

Press F5 to begin a demo.
Press F6 to stop the demo recording in progress, and increase the name incriment.
Press F7 to increase the demo's name increment by one.
Press F6 to decrease the demo's name increment by one.

If you try to record your 21st demo under the same dn variable, it won't
let you. To reset the demo queue, simply bring down the console and type
"demo_reset".  At this point you can either record over what you already
have under your previous demo name, or you can set another pn so you can
save your other queue. This basically let you record INFINATE amounts of
demos without ever having to leave the game.

WARNING!!!
It is possible to overwrite any demos made simply by Pressing F5 while
you are still queued to that demo name.  BE SURE TO CYCLE THE DEMO NAME
WITH F7 BEFORE YOU HIT F5 AGAIN OR YOU WILL DELETE ANY RECORDING ON THAT
DEMO NAME.

If you use F6 to stop the demo recording, then the queue will automatically
be brought to the next demo number.

C_SCRIPT2.RC:

Press F5 to Toggle sound on and off.
Press F6 to Toggle the "timedemo" setting on and off.
Press F7 to start a "demo1.dm2" demo.
Press F8 to start a "crusher.dm2" demo.

C_SCRIPT3.RC:

Press F5 to Cycle to the previous MALE skin.
Press F6 to Cycle to the next MALE skin.
Press F7 to Cycle to the previous FEMALE skin.
Press F8 to Cycle to the next FEMALE skin.

C_SCRIPT4.RC:

Press F5 to Cycle to the next model.
Press F6 to Cycle to the previous player sound effect, and play it.
Press F7 to Cycle to the next player sound effect, and play it.
Press F8 to Cycle to the play the currently queued sound effect.

C_SCRIPT5.RC:

Press F5 to Increase gl_modulate by .5
Press F6 to Increase intensity by .5
Press F7 to Increase gl_picmip by .5
Press F8 to run a "vid_restart"


Bindings:

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Screen Environment Settings
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BACKSPACE          messagemode
\                  messagemode2
=                  sizeup
-                  sizedown
`                  toggleconsole
~                  toggleconsole
PAUSE              pause


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Movement Assignments
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
d                  +back
e                  +forward
f                  +moveright
s                  +moveleft
a                  +movedown
MOUSE1             +attack
MOUSE3             +moveup
SPACE              +speed


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Crosshair Weapon Selection
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1                  "use blaster"
2                  "use shotgun"
3                  "use super shotgun"
4                  "use machinegun"
5                  "use chaingun"
6                  "use grenade launcher"
7                  "use rocket launcher"
8                  "use hyperblaster"
9                  "use railgun"
0                  "use bfg10k"

g                  "use grenades"
z                  "use hyperblaster"
x                  "use railgun"
c                  "use grenade launcher"
v                  "use rocket launcher"
b                  "use bfg10k"


// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Function Keys
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
F1                 "cmd help"
F9                 "exec mod.cfg"
F10                "name Essobie; skin male/redeath; echo $name"
F11                "exec autoexec.cfg"
F12                "screenshot"

For each modification that you play, make a "mod.cfg" file with any
configuration changes from your original configuration (like different
weapon selection keys, etc.) and place this new file in the modification's
directory.  Once on a server playing this mod, hit F9 to execute the "mod.cfg"
currently in your file path.  This allows you to quickly organize different
configurations for different games without having to redo an entire config
for each game.

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Other Keys
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
TAB                inven
UPARROW            invprev
DOWNARROW          invnext
RIGHTARROW         invuse
LEFTARROW          invdrop

Note: These are easy to use keys for most Mod Menu systems.

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Chatmac.rc
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PAUSE              echo_pause
KP_SLASH           echo_slash
*                  echo_*
KP_MINUS           echo_minus
KP_HOME            echo_home
KP_UPARROW         echo_uparrow
KP_PGUP            echo_pgup
KP_LEFTARROW       echo_leftarrow
KP_5               echo_5
KP_RIGHTARROW      echo_rightarrow
KP_END             echo_end
KP_DOWNARROW       echo_downarrow
KP_PGDN            echo_pgdn
KP_INS             say_ins
KP_DEL             say_del
KP_ENTER           say_enter

Note: Hit any key on the number pad to "echo" what you are going to say, 
then hit KP_ENTER to actually say it.

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Aliases.cfg
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
p                  Say and Cycle a "Blatant Plug"
END                Hold down to lower your rate to 1, and release to reset it.
F2                 Cycle between LAN settings and Internet settings (rate and cl_maxfps)
q                  Ready your next attack to "use Quad Damage" first.
y                  Cycle your readied "wave" command.
h                  Execute the wave animation selected.
SHIFT              Cycle through the major weapon models, ending with the Rocket Launcher.
MOUSE2             Toggle between high and low sensitivities, and change crosshairs.
CTRL               Toggle between wide and zoomed in Field of Visions, and change crosshairs.
F4                 Cycle to the next script found in the "Script Cycle Alias" in ALIASES.CFG
F5                 See C_SCRIPT?.RC Documentation above.
F6                 See C_SCRIPT?.RC Documentation above.
F7                 See C_SCRIPT?.RC Documentation above.
F8                 See C_SCRIPT?.RC Documentation above.



Any Questions?  Comments?  Feel free to drop me a line.
               essobie@planetquake.com
