Challenge ProMode Arena for Quake3
==================================
Date:    10 Jun 02
Site:    http://www.ProMode.org
Contact: arQon@ProMode.org, Rhea@OrangeSmoothie.org
Version: 0.99x1

This readme explains some of the clientside support for CPMA. 
It will never be as current as the changelog, so you should always
check that with each new release.


Objective
=========
- Facilitate admin intervention during matches.
- Provide authentication using the server side CPMA mod, to ensure that
  nobody is using some hacked client version like aimbots or other
  weird stuff.
- Fix id's bugs :)

ID fixes
========
- Too many to list
  Some notables: dropped sounds; loads of pmove bugs; vote exploits


Functionality specifically for use with a CPMA server
=====================================================
- Added bunch of commands to be recognized by tab-completion
- Added some authentication


Chat Tokens
-----------
#A - Armor

#C - Corpse
The location where you last died
/say_team "Overrun at #C"

#D - Damaged by
The last player to score a hit on you
/say_team "#D is here and he's heavily armed!"

#F - nearest Friendly player, i.e. teammate

#H - Health
/say_team "Hurting bad - #H/#A"

#I - nearest Item
Shows the nearest "significant" (weapon, armor, powerup, or MH)
available item, and that includes dropped items  :)
so if you kill an enemy you can just
/say_team "backpack with #I available"

#L - Location
Many maps have terrible target_location entities
e.g. PG on PRO-DM6 shows as YA
"(pF.arQon) (YA): Weapon available" is a bit crap, neh?
This shows the nearest "significant" item spawn
(weapon, armor, powerup, or MH), whether the item is there or not

#M - aMMo wanted
Lists all types of ammo for weapons you have that are empty or nearly so
/say_team "Need #M"

#P - last Pickup

#T - Target
The last player you hit
/say_team "#T is weak - finish him!"

#U - powerUps 

#W - Weapon
Lists the current weapon and ammo you have. #W is red if you have less 
than one box of ammo, else white. #w message doesn't change any colours


cvars
-----
cg_altLightning <0|1> (default = 0)
    Toggle CPMA style shaft and id style shaft.    

cg_ammoWarning <0|1> (default = 1)
	 0 - none
	*1 - "click" only
	 2 - "click" and message
	
cg_autoAction <bitmask> (default = 0)
    Perform game actions such as demo recording and screenshots.
	1 - Automatically save stats to a local text file at the end of a match
		Logs are stored in: <cpma_root>/stats/<date>/<logname>.txt
	2 - Automatically take an end-level screenshot
	4 - Automatically record the game (requires warmup to be on)

cg_damageDraw <0|1> (default = 1 - enabled)
    Obscure player's vision with blood effect when they are hit

cg_drawGun <0|1|2> (default = 1)
    Toggles the gun being drawn.
	 0 - gun off
	*1 - gun on
	 2 - gun on, no sway

cg_deadBodyDarken <0|1> (default = 0)
    Darkens bodies as soon as they become corpses.

cg_enemyColors <string> (default = "" (No forced enemy colors))
    formatted as RHBL, same as \color
    
cg_enemyModel <modelname> (default = "" - disabled)
    Setting this will force all players on the enemy team to
    appear to have this model.  Your teammates will retain their
    models unless you specify g_forcemodel 1, which will force
    all of your teammates to your current model.    

cg_fallKick <0|1> (default = 1)
    Toggles the screen bouncing when player falls.

cg_lagometer <0|1|2> (default = 1)
    Toggles the network graph.
 	 0 - netgraph off
 	*1 - netgraph on
	 2 - netgraph on; colours the netgraph background as well

cg_lightningImpact <0|1> (default = 1)
    Draw the "glowing ball" at the end of the shaft.

cg_muzzleFlash <0|1> (default = 1)
    Specifies if there is a muzzle flash when gun is fired.

cg_noAmmoChange <0|1> (default = 1 - enabled)
    Disables the ability to switch to a weapon that doesn't
    have any ammo.  Useful for multiple-weapon binds.
    
cg_nochatbeep <0|1> (default = 0 - normal chat beeps enabled)
    Allows client to supress "beeps" heard during normal chat
    messages.  Especially convenient when connected to spam-riddled
    QTV servers.    

cg_nomip <bitmask> (default = 0 - all gfx follow r_picmip)
    Allows changing graphics to picmip 0 setting, regardless of
    current r_picmip setting.  The parameter for this setting
    is a bitmask:
           1 - Lightning
           2 - Plasma
           4 - Rocket explosions
           8 - Grenade explosions
          16 - Bullets (machinegun and shotgun)
          32 - Railgun
          64 - BFG
          128 - Blood
          256 - Smoke

cg_noProjectileTrail <0|1> (default = 0)
    Removes underwater bubble trails from weapon fire.

cg_noteamchatbeep <0|1> (default = 0)
    Allows client to supress "beeps" heard during team chat
    messages.

cg_oldCTFSounds <0|1> (default = 0)
    No voiceovers on captures, flag pickups, etc.
    Also controls non-leadchange FTDM end-of-round announcements.

cg_oversampleMouse <0|1> (default = 0)
    An alternative approach to smoothing the mouse
    
cg_railstyle <0 to 7> (default = 5)
    Changes the style of the rail trail.
    	 0 - no trail
    	 1 - straight core (line) only
    	 2 - spiral only, no core
    	 3 - spiral with straight core
	 4 - dotted core only
    	*5 - original old id style
	 6 - spiral with dotted core
	 7 - everything

cg_pmove_fixed <0|1> (default = 1 - enabled)
    Use enhanced client sampling, if the server allows it

cg_showPlayerLean <0|1> (default = 1 - Show model leaning)
    Allows the disabling of viewed model leaning that was introduced
    in the 1.27x patches.

cg_smoke_SG <0|1> (default = 1)
    Controls the smoke on the shotgun blast.

cg_smokeGrowth_GL <0|1> (default = 1)
    Controls the growth of the smoke trail for grenades.
    
cg_smokeGrowth_RL <0|1> (default = 1)
    Controls the growth of the smoke trail for rockets.
	
cg_smokeRadius_GL <value> (default = 32)
    Controls the size of the smoke trail for grenades.
    
cg_smokeRadius_RL <value> (default = 64)
    Controls the size of the smoke trail for rockets.

cg_statscrolltime <value> (default = 0.15)
    Sets, in seconds, the time it takes for the stats window
    to scroll out and scroll back in.  Setting to 0 disables
    the window.

cg_swapSkins <0|1> (default = 0 - normal team colors)
    Allows you to reverse skin colors as displayed on-screen.
    Note: announcements, overlays, and the scoreboard will still
    maintain your "real" server-controlled team color. 
    Only the red/blue basic skin colours are swapped, 
    promode skin colours aren't affected.

cg_teamChatsOnly <0|1> (default = 0)
    if enabled, only draws teamchat on the bottom side of the HUD instead of
        also on top.
        
cg_truelightning <0.0 to 1.0> (default = 0)
    0 - Default shaft feedback as seen in baseq3.
    1 - Pure client side rendering of shaft graphic.
    fractional values - Mix between server and client rendering of shaft


color <string> (default = 9779 (t-shirt and faded jeans))
    First # is your rail color.
    Second # is your Helmet/Visor color.
    Third # is your Shirt Color.
    Fourth # is your Legs Color.
	 
say_teamnl 
    Doesn't add your location to the message.	
    
s_ambient <0|1> (default = 1)
    Disable ambient sounds like the gongs on q3wcp2 and the 
    void/wind/water background noise on a ton of maps.
    
    
Client HUD Settings
-------------------
ch_3waveFont <0|1> (default = 1)
    Toggle using Threewave style font.

ch_consoleTime <ms> (default = 2500)
    How long "console" messages stay on screen during playback.

ch_consoleTeamChat <0|1> (default = 1)
    Add team chat to console.
    Note that setting this to 0 removes teamchat COMPLETELY
    from the console, not just from showing up at top left
    so if you miss it in the teamchat window, it's lost.
    
ch_crosshairAlpha <0.0 to 1.0> (default = 1.0)
    Controls the transparency of the crosshair.

ch_crosshairColor <color> (0 - 9, a-x, default = 7 (White))
    Important note: cg_crosshairHealth overrides this function,
    turn it off to use colored crosshairs.

ch_crosshairPulse <0|1> (default = 1)
    Controls crosshair size changes when picking up items.

ch_crosshairTeamInfo <0|1> (default = 1)
    Draws teammate health/armour in crosshairname.

ch_drawFollow <value> (default = 1)
    Sets the y-position of the "Following..." message when spectating.

ch_drawPickup <0|1> (default = 1)
    if enabled it draws the icon and string of the item you just picked up    

ch_drawSpeed <0|1> (default = 0)
    Toggle drawing player speed (ups).

ch_drawWarmup <0|1> (default = 1 - enabled)
    Control display of arena settings before a game starts.

ch_drawWeaponSelect <0|1> (default = 1)
    Toggle id. standard weapon selection.

ch_graphs <0|1> (default = 1)
    Toggle health/armour/ammo graphs for certain HUDs.
    	
ch_recordMessage <0|1> (default = 1)
    0 gets rid of the sodding "recording blahblah" message.
    
ch_selfOnTeamOverlay <0|1> (default = 1)
    Toggle self name in Team Overlay.
  
ch_skinScores <0|1> (default = 0)
    Colors the scoreboxes with the body+legs of your/enemy colors.
    Also for the "players remaining" boxes in CA.

ch_statusbarStyle <0 to 5>
    Controls various styles for health/armour/ammo layout.

ch_TeamBackground <0|1> (default = 0)
    Disables teambackground color in statusbar, teamchat.

ch_weaponList <0|1|2|3> 
    Toggles drawing of weaponlist.
	 0 - weaponlist off
	*1 - weaponlist on, left side
	 2 - weaponlist on, right side
	 3 - weaponlist on, center

ch_weaponListDrawAll <0|1> (default = 0)
    Draw all weapon icons in the weaponlist, including grapple.

ch_weaponListDrawBackground <0|1> (default = 1)
    Toggle background on selected weapon in weaponlist.
    
ch_weaponListDrawFlash <0|1> (default = 1)
    Toggle weaponlist flash when switching weapons.
	
ch_weaponListSeparator <length> (default = 74)
    Controls the lines that separate sections on the vertical weaponlist.


Client Font Settings
--------------------
cf_Console <XxY> (default = 7x12) 
    Font size of console text in upper left.
    Only affects demo playback.

cf_CrosshairNames <XxY> (default = 12x12)
    Crosshairnames font size.

cf_Following <XxY> (default = 24x24)
    "Following" message font size.

cf_Fragmsg <XxY> (default = 16x16)
    Font size of the "you fragged" messages on top of your HUD.

cf_Teamchat <XxY> (default = 8x12)
    Font size for teamchat.

cf_Teamoverlay <XxY> (default = 6x11)
    Font size for the team overlay.

cf_Vote (default = 10x14)
    Vote message font size.


HUDs
----
CPMA adds 7 new "stock" HUDs: use "\hudnext" to cycle through them.
In addition, the ch_* cvars allow for extensive customisation of most
HUD options. Experimentation is the best way to understand how the
combinations interact.


Feedback
========
For comments, suggestions, feature requests, bug reports:
   rhea@OrangeSmoothie.org
   arQon@ProMode.org
