
Challenge ProMode Arena: Client Settings
----------------------------------------
Date: 22 Apr 05


This document 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.


Network Settings
----------------

cg_optimiseBW <bitmask> (default = 0)
  1 - Significantly reduces the amount of non-critical data sent to you.
    Regrettably, this also makes you unable to see players through portals,
    thanks to a bug in the Q3 engine. Small price to pay though for the
    HUGE difference it makes to team games.
    Servers can, and by default do, force this on for all clients. It's
    probably worth setting it to 1 anyway though, just in case you end up
    on a server that's changed it to 0.
  2 - Use this if your conn is UTTERLY starved for upstream bandwidth
    (i.e. from you TO the server). Essentially, if you're on dialup or one
    of those Belgian Warp connections.
    Understand that if you're warpy and you choose to NOT set this because
    you like the advantage you get from warping, you're screwing YOURSELF.
    Your shots will end up with potentially huge random delays on them, so
    even if you're LPB the server may not see that you fired until up to
    100ms after the fact, effectively making your weapons act like you have
    an unstable and much laggier conn, and without cg_nudge's ability to
    smooth it out.

cg_nudge <value> (default = 0)
    A replacement for id's crippled cl_timenudge.
    Allows you to use nudges beyond -25, and automatically adjusts them
    to your ping: if you use -50 with a 20 ping, you get -20. If you spike
    to 40ms for a few seconds, you get -40 during the spike.
    This give you a "consistent worldview" that cl_timenudge can't, and
    generally helps regardless of your connection.

cg_xerpClients <value> (default = 0)
    A replacement for id's cg_smoothclients that does something useful.  :)
 -1 - Hacked extrapolation: intended for HPBs
    This smooths players out when you use high timenudges, at the cost of some
    accuracy. It's typically easier to hit a smooth target that's a few pixels
    misplaced than it is to hit one that looks like it's teleporting all over
    the map, so this combined with cg_nudge is the best option for HPBs.
  0 - No extrapolation. Fine you're LPB.
  1 - id's smoothclients: fine if you have TN 0, worthless otherwise.

cg_lagHax <value> (default = -1)
    A combination of adaptive prediction and an updated version of the famous
    "50ms hack" we introduced way back in 99v6 that also does small amounts of
    lag compensation.
    Capped at 100ms no matter what: this is intended solely to make European /
    EastUS v WestUS / etc games a bit less of a hassle, not to hack dialup
    players into aimgods at the expense of everyone else.
    0 disables it, -1 means "as much as I'm allowed": it's naturally adaptive.
    You'll lose some of your "feel" for lag, which messes up your RL aim, etc.
    This doesn't suffer from the CS/etc problems of "total BS" shots that piss
    everyone off; it's not trying to be some panacea for modemers; and I'm
    honest enough to call it the hack that it is instead of pretending that it
    magically makes lag suddenly not exist, but all in all it's a pretty nice
    end result.
    If you use this, any form of nudging will generally make you LESS accurate
    if your ping's under 100ms, because it'll screw up the adaptive calcs.


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!"

#E - Enemy presence
Detailed information on all enemies in your FOV:
"2 enemies", "EFC", "Enemy QUAD plus 1", etc

#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"

#N - nearest teammate's Nickname

#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|2> (default = 0)
    Switch between various LG shaft visuals

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 - save stats to a local text file at the end of a match
		logs are stored in: <cpma_root>/stats/<date>/<logname>.txt
	 2 - take an end-of-game screenshot
	 4 - record a demo of the game (requires warmup to be on)
	 8 - multiview the game (spectators only)
	16 - only do these things if you're actually playing in the game

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 players 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_itemFX <mask> (default = 7)
    Control the cutesy gimmicks on items
	  1 - bob up and down
	  2 - rotate
	  4 - scale up on respawn

cg_lagometer <mask> (default = 1)
    Show and customise the network graph.
 	  0 - netgraph off
	* 1 - netgraph on
	  2 - colour the background if there's rate delay or PL
	  4 - show your ping at the top of the netgraph
	  8 - don't draw the frame interpolate/extrapolate graph

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
    GTV 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
	  512 - Rockets (the projectile, not the same as 4)

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|2> (default = 2)
	  0 - TA sounds, with voiceovers on captures, flag pickups, etc.
	  1 - Near-worthless Q3 1.17 sounds, same for both teams
	* 2 - Team-specific sounds, no voiceovers
    Also controls non-leadchange FTDM end-of-round announcements.

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 id style
	 6 - spiral with dotted core
	 7 - everything

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_teamChatsOnly <0|1> (default = 0)
    Don't display chat from players on the enemy team

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.

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.
