home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 March / Gamestar_82_2006-03_dvd.iso / DVDStar / Editace / quake4_sdkv10.exe / source / game / gamesys / SysCvar.cpp < prev    next >
C/C++ Source or Header  |  2005-11-14  |  53KB  |  604 lines

  1. #include "../../idlib/precompiled.h"
  2. #pragma hdrstop
  3.  
  4. #include "../Game_local.h"
  5.  
  6. #if defined( _DEBUG )
  7.     #define    BUILD_DEBUG    "-debug"
  8. #else
  9.     #define    BUILD_DEBUG "-release"
  10. #endif
  11.  
  12. /*
  13.  
  14. All game cvars should be defined here.
  15.  
  16. */
  17.  
  18. // RAVEN BEGIN
  19. // ddynerman: our gameplay modes
  20. const char *si_gameTypeArgs[]        = { "singleplayer", "DM", "Tourney", "Team DM", "CTF", "Arena CTF", NULL };
  21. // RAVEN END
  22. const char *si_readyArgs[]            = { "Not Ready", "Ready", NULL }; 
  23. const char *si_spectateArgs[]        = { "Play", "Spectate", NULL };
  24.  
  25. // RAVEN BEGIN
  26. // ddynerman: our teams
  27. const char *ui_teamArgs[]            = { "Marine", "Strogg", NULL }; 
  28. // RAVEN END
  29.  
  30. struct gameVersion_s {
  31.     gameVersion_s( void ) { sprintf( string, "%s %s 1.0.%d%s%s %s %s %s", GAME_NAME, GAME_BUILD_TYPE, BUILD_NUMBER, BUILD_DEBUG, ID_VERSIONTAG, BUILD_STRING, __DATE__, __TIME__ ); }
  32.     char    string[256];
  33. } gameVersion;
  34.  
  35. idCVar g_version(                    "g_version",                gameVersion.string,    CVAR_GAME | CVAR_ROM, "game version" );
  36.  
  37. // noset vars
  38. idCVar gamename(                    "gamename",                    GAME_VERSION,    CVAR_GAME | CVAR_SERVERINFO | CVAR_ROM, "" );
  39. idCVar gamedate(                    "gamedate",                    __DATE__,        CVAR_GAME | CVAR_ROM, "" );
  40.  
  41. // server info
  42. idCVar si_name(                        "si_name",                    "Quake 4 Server",    CVAR_GAME | CVAR_SERVERINFO | PC_CVAR_ARCHIVE, "name of the server" );
  43. // RAVEN BEGIN
  44. // ddynerman: new gametype strings
  45. idCVar si_gameType(                    "si_gameType",                si_gameTypeArgs[ 0 ],    CVAR_GAME | CVAR_SERVERINFO | PC_CVAR_ARCHIVE, "game type - singleplayer, DM, Team DM, CTF, Arena CTF, or Tourney", si_gameTypeArgs, idCmdSystem::ArgCompletion_String<si_gameTypeArgs> );
  46. idCVar si_map(                        "si_map",                    "mp/q4dm1",                CVAR_GAME | CVAR_SERVERINFO | PC_CVAR_ARCHIVE, "map to be played next on server", idCmdSystem::ArgCompletion_MapName );
  47. idCVar si_mapCycle(                    "si_mapCycle",                "",                        CVAR_GAME | CVAR_SERVERINFO | PC_CVAR_ARCHIVE, "map cycle list semicolon delimited" );
  48. // bdube: raise player limit
  49. idCVar si_maxPlayers(                "si_maxPlayers",            "12",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "max number of players allowed on the server", 1, 16 );
  50. // ddynerman: min players to start
  51. idCVar si_minPlayers(                "si_minPlayers",            "2",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "min number of players to start a game (only when warmup is enabled)", 1, 16 );
  52. // ddynerman: CTF
  53. idCVar si_captureLimit(                "si_captureLimit",            "5",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "score limit for CTF", 1, MP_PLAYER_MAXFRAGS );
  54. // shouchard:  for tourney
  55. idCVar si_tourneyLimit(                "si_tourneyLimit",            "3",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "number of times a tourney will be run before cycling maps", 1, MP_PLAYER_MAXFRAGS );
  56. idCVar si_useReady(                    "si_useReady",                "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "require players to ready before starting a match" );
  57. idCVar si_allowVoting(                "si_allowVoting",            "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "enable or disable server option voting" );
  58. // ddynerman: disable hitscan tint
  59. idCVar si_allowHitscanTint(            "si_allowHitscanTint",        "2",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "use hitscan tint (e.g. rail color) 0 - no tinting allowed, 1 - player hitscan tinting allowed in DM and NO hitscan tinting in team games, 2 - player hitscan tinting allowed in DM and use team-color hitscan tints in team games" );
  60. // RAVEN END
  61. idCVar si_fragLimit(                "si_fragLimit",                "10",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "frag limit", 0, MP_PLAYER_MAXFRAGS );
  62. idCVar si_timeLimit(                "si_timeLimit",                "10",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_INTEGER, "time limit in minutes", 0, 60 );
  63. idCVar si_teamDamage(                "si_teamDamage",            "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "enable team damage" );
  64. idCVar si_warmup(                    "si_warmup",                "1",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "do pre-game warmup" );
  65. idCVar si_usePass(                    "si_usePass",                "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "enable client password checking" );
  66. #ifdef _MPBETA
  67.     idCVar si_pure(                    "si_pure",                    "1",            CVAR_GAME | CVAR_SERVERINFO | CVAR_BOOL | CVAR_ROM, "server is pure and does not allow modified data" );
  68. #else
  69.     idCVar si_pure(                    "si_pure",                    "1",            CVAR_GAME | CVAR_SERVERINFO | CVAR_BOOL, "server is pure and does not allow modified data" );
  70. #endif // _MPBETA
  71. idCVar si_spectators(                "si_spectators",            "1",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "allow spectators or require all clients to play" );
  72. idCVar si_shuffle(                    "si_shuffle",                "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_BOOL, "shuffle teams after each round" );
  73. // shouchard:  g_balanceTDM->si_autobalance so we can also use it for CTF
  74. // asalmon: Changed to archive only on PC
  75. idCVar si_autobalance(                "si_autobalance",            "1",            CVAR_GAME | CVAR_SERVERINFO | CVAR_BOOL | PC_CVAR_ARCHIVE, "maintain even teams" );
  76.  
  77. // RAVEN BEGIN
  78. // jscott: added entity filtering
  79. idCVar si_entityFilter(                "si_entityFilter",            "",                CVAR_GAME | CVAR_SERVERINFO, "filter to use when spawning entities" );
  80. idCVar si_countDown(                "si_countDown",                "10",            CVAR_GAME | CVAR_SERVERINFO | CVAR_INTEGER, "pregame countdown in seconds", 4, 3600 );
  81. // MCG: added "weapon stay" option
  82. idCVar si_weaponStay(                "si_weaponStay",            "0",            CVAR_GAME | CVAR_SERVERINFO | CVAR_BOOL, "cannot pick up weapons you already have (get no ammo from them)" );
  83. // RAVEN END
  84.  
  85. // user info
  86. idCVar ui_name(                        "ui_name",                    "Player",        CVAR_GAME | CVAR_USERINFO | PC_CVAR_ARCHIVE, "player name" );
  87. idCVar ui_team(                        "ui_team",                ui_teamArgs[ 0 ],    CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE, "player team", ui_teamArgs, idCmdSystem::ArgCompletion_String<ui_teamArgs> ); 
  88. // RAVEN BEGIN
  89. // ddynerman: new UI cvars
  90. idCVar ui_model(                    "ui_model",                    "",    CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE, "player model, blank uses default model" );
  91. idCVar ui_model_backup(                "ui_model_backup",            "",    CVAR_GAME | CVAR_USERINFO, "player model backup" );
  92. idCVar ui_model_marine(                "ui_model_marine",            "",    CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE, "player model used on marine team in team games, blank uses default model" );
  93. idCVar ui_model_strogg(                "ui_model_strogg",            "",    CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE, "player model used on strogg team in team games, blank uses default model" );
  94. idCVar ui_clan(                        "ui_clan",                    "",    CVAR_GAME | CVAR_USERINFO | PC_CVAR_ARCHIVE, "player clan" );
  95. idCVar ui_hitscanTint(                "ui_hitscanTint",            "120.0 0.6 1.0",    CVAR_GAME | CVAR_USERINFO | PC_CVAR_ARCHIVE, "a tint applied to select hitscan effects.  Specified as a value in HSV color space. Hue [0.0-360.0] Saturation [0.0-1.0] Value [0.75-1.0]" );
  96. // RAVEN END
  97. idCVar ui_autoSwitch(                "ui_autoSwitch",            "1",            CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE | CVAR_BOOL, "auto switch weapon" );
  98. idCVar ui_autoReload(                "ui_autoReload",            "1",            CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE | CVAR_BOOL, "auto reload weapon" );
  99. idCVar ui_showGun(                    "ui_showGun",                "1",            CVAR_GAME | CVAR_USERINFO | CVAR_ARCHIVE | CVAR_BOOL, "show gun" );
  100. idCVar ui_ready(                    "ui_ready",                si_readyArgs[ 0 ],    CVAR_GAME | CVAR_USERINFO, "player is ready to start playing", idCmdSystem::ArgCompletion_String<si_readyArgs> );
  101. idCVar ui_spectate(                    "ui_spectate",        si_spectateArgs[ 0 ],    CVAR_GAME | CVAR_USERINFO, "play or spectate", idCmdSystem::ArgCompletion_String<si_spectateArgs> );
  102. idCVar ui_chat(                        "ui_chat",                    "0",            CVAR_GAME | CVAR_USERINFO | CVAR_BOOL | CVAR_ROM | CVAR_CHEAT, "player is chatting" );
  103.  
  104. // change anytime vars
  105. idCVar developer(                    "developer",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  106.  
  107. // RAVEN BEGIN
  108. // jnewquist: vertical stretch for letterboxed cinematics authored for 4:3 aspect
  109. idCVar g_fixedHorizFOV(                "r_fixedHorizFOV",            "0",            CVAR_RENDERER | CVAR_BOOL, "vertical stretch for letterboxed cinematics authored for 4:3 aspect" );
  110. idCVar g_cinematic(                    "g_cinematic",                "1",            CVAR_GAME | CVAR_BOOL, "skips updating entities that aren't marked 'cinematic' '1' during cinematics" );
  111. idCVar g_cinematicMaxSkipTime(        "g_cinematicMaxSkipTime",    "600",            CVAR_GAME | CVAR_FLOAT, "# of seconds to allow game to run when skipping cinematic.  prevents lock-up when cinematic doesn't end.", 0, 3600 );
  112.  
  113. idCVar g_muzzleFlash(                "g_muzzleFlash",            "1",            CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL, "show muzzle flashes" );
  114. idCVar g_projectileLights(            "g_projectileLights",        "1",            CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL, "show dynamic lights on projectiles" );
  115. idCVar g_doubleVision(                "g_doubleVision",            "1",            CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL, "show double vision when taking damage" );
  116. idCVar g_monsters(                    "g_monsters",                "1",            CVAR_GAME | CVAR_BOOL, "" );
  117. idCVar g_decals(                    "g_decals",                    "1",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "show decals such as bullet holes" );
  118. idCVar g_knockback(                    "g_knockback",                "1000",            CVAR_GAME | CVAR_INTEGER, "" );
  119. idCVar g_skill(                        "g_skill",                    "1",            CVAR_GAME | CVAR_INTEGER, "difficulty level", 0, MAX_SKILL_LEVELS - 1 );
  120. idCVar g_nightmare(                    "g_nightmare",                "0",            CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL, "if nightmare mode is allowed" );
  121. idCVar g_gravity(                    "g_gravity",        DEFAULT_GRAVITY_STRING, CVAR_GAME | CVAR_FLOAT, "singleplayer gravity" );
  122. idCVar g_mp_gravity(                "g_mp_gravity",        DEFAULT_MP_GRAVITY_STRING, CVAR_GAME | CVAR_FLOAT, "multiplayer gravity" );
  123. idCVar g_skipFX(                    "g_skipFX",                    "0",            CVAR_GAME | CVAR_BOOL, "" );
  124. idCVar g_skipParticles(                "g_skipParticles",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  125.  
  126. idCVar g_disasm(                    "g_disasm",                    "0",            CVAR_GAME | CVAR_BOOL, "disassemble script into base/script/disasm.txt on the local drive when script is compiled" );
  127. idCVar g_debugBounds(                "g_debugBounds",            "0",            CVAR_GAME | CVAR_BOOL, "checks for models with bounds > 2048" );
  128. idCVar g_debugAnim(                    "g_debugAnim",                "-1",            CVAR_GAME | CVAR_INTEGER, "displays information on which animations are playing on the specified entity number.  set to -1 to disable." );
  129. idCVar g_debugMove(                    "g_debugMove",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  130. idCVar g_debugDamage(                "g_debugDamage",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  131. idCVar g_debugWeapon(                "g_debugWeapon",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  132. idCVar g_debugScript(                "g_debugScript",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  133. idCVar g_debugMover(                "g_debugMover",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  134. idCVar g_debugTriggers(                "g_debugTriggers",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  135. idCVar g_debugCinematic(            "g_debugCinematic",            "0",            CVAR_GAME, "set to the name of the state you want to debug or * for all" );
  136. // RAVEN BEGIN
  137. // bdube: added
  138. idCVar g_debugState(                "g_debugState",                "0",            CVAR_GAME, "" );
  139. idCVar g_stopTime(                    "g_stopTime",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  140. //idCVar g_damageScale(                "g_damageScale",            "1",            CVAR_GAME | CVAR_FLOAT | CVAR_ARCHIVE, "scale final damage on player by this factor" );
  141. // RAVEN END                                       
  142. idCVar g_armorProtection(            "g_armorProtection",        "0.66667",            CVAR_GAME | CVAR_FLOAT | PC_CVAR_ARCHIVE, "armor takes this percentage of damage" );
  143. idCVar g_armorProtectionMP(            "g_armorProtectionMP",        "0.66667",        CVAR_GAME | CVAR_FLOAT | PC_CVAR_ARCHIVE, "armor takes this percentage of damage in mp" );
  144. idCVar g_useDynamicProtection(        "g_useDynamicProtection",    "1",            CVAR_GAME | CVAR_BOOL | PC_CVAR_ARCHIVE, "scale damage and armor dynamically to keep the player alive more often" );
  145. idCVar g_healthTakeTime(            "g_healthTakeTime",            "5",            CVAR_GAME | CVAR_INTEGER | PC_CVAR_ARCHIVE, "how often to take health in nightmare mode" );
  146. idCVar g_healthTakeAmt(                "g_healthTakeAmt",            "5",            CVAR_GAME | CVAR_INTEGER | PC_CVAR_ARCHIVE, "how much health to take in nightmare mode" );
  147. idCVar g_healthTakeLimit(            "g_healthTakeLimit",        "25",            CVAR_GAME | CVAR_INTEGER | PC_CVAR_ARCHIVE, "how low can health get taken in nightmare mode" );
  148.  
  149.  
  150.  
  151. idCVar g_showPVS(                    "g_showPVS",                "0",            CVAR_GAME | CVAR_INTEGER, "", 0, 2 );
  152. idCVar g_showTargets(                "g_showTargets",            "0",            CVAR_GAME | CVAR_BOOL, "draws entities and thier targets.  hidden entities are drawn grey." );
  153. idCVar g_showTriggers(                "g_showTriggers",            "0",            CVAR_GAME | CVAR_BOOL, "draws trigger entities (orange) and thier targets (green).  disabled triggers are drawn grey." );
  154. idCVar g_showCollisionWorld(        "g_showCollisionWorld",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  155. idCVar g_showCollisionModels(        "g_showCollisionModels",    "0",            CVAR_GAME | CVAR_INTEGER, "0 = off, 1 = draw collision models, 2 = only draw player collision models.  g_maxShowDistance controls distance." );
  156. // RAVEN BEGIN
  157. // rjohnson: added debug line drawing for traces
  158. idCVar g_showCollisionTraces(        "g_showCollisionTraces",    "0",            CVAR_GAME | CVAR_INTEGER, "", 0, 2 );
  159. // ddynerman: SD's clip sector code
  160. idCVar g_showClipSectors(            "g_showClipSectors",        "0",            CVAR_GAME | CVAR_BOOL,    "" );
  161. idCVar g_showClipSectorFilter(        "g_showClipSectorFilter",    "0",            CVAR_GAME,                "" );
  162. idCVar g_showAreaClipSectors(        "g_showAreaClipSectors",    "0",            CVAR_GAME | CVAR_FLOAT, "" );
  163. // RAVEN END
  164. idCVar g_maxShowDistance(            "g_maxShowDistance",        "128",            CVAR_GAME | CVAR_FLOAT, "" );
  165. idCVar g_showEntityInfo(            "g_showEntityInfo",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  166. idCVar g_showviewpos(                "g_showviewpos",            "0",            CVAR_GAME | CVAR_BOOL, "" );
  167. idCVar g_showcamerainfo(            "g_showcamerainfo",            "0",            CVAR_GAME | PC_CVAR_ARCHIVE, "displays the current frame # for the camera when playing cinematics" );
  168. idCVar g_showTestModelFrame(        "g_showTestModelFrame",        "0",            CVAR_GAME | CVAR_BOOL, "displays the current animation and frame # for testmodels" );
  169. idCVar g_showActiveEntities(        "g_showActiveEntities",        "0",            CVAR_GAME | CVAR_BOOL, "draws boxes around thinking entities.  dormant entities (outside of pvs) are drawn yellow.  non-dormant are green." );
  170. idCVar g_showEnemies(                "g_showEnemies",            "0",            CVAR_GAME | CVAR_BOOL, "draws boxes around monsters that have targeted the the player" );
  171.  
  172. idCVar g_frametime(                    "g_frametime",                "0",            CVAR_GAME | CVAR_BOOL, "displays timing information for each game frame" );
  173. idCVar g_timeentities(                "g_timeEntities",            "0",            CVAR_GAME | CVAR_FLOAT, "when non-zero, shows entities whose think functions exceeded the # of milliseconds specified" );
  174.  
  175. // RAVEN BEGIN
  176. // bdube: frame command debugging
  177. idCVar g_showFrameCmds(                "g_showFrameCmds",            "0",            CVAR_GAME | CVAR_BOOL, "displays frame commands as they are executed" );
  178. idCVar g_showGodDamage(                "g_showGodDamage",            "0",            CVAR_GAME | CVAR_BOOL, "displays the amount of damage taken while in god mode on the hud" );
  179. idCVar g_debugVehicle(                "g_debugVehicle",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  180. // RAVEN END
  181.  
  182. // RAVEN BEGIN
  183. // twhitaker: for rvVehicleDriver
  184. idCVar g_debugVehicleDriver(        "g_debugVehicleDriver",        "0",            CVAR_GAME | CVAR_INTEGER, "enables debug features for the func_vehicle_driver" );
  185. idCVar g_debugVehicleAI(            "g_debugVehicleAI",            "0",            CVAR_GAME | CVAR_INTEGER, "enables debug features for the vehicle ai system" );
  186. idCVar g_vehicleMode(                "g_vehicleMode",            "1",            CVAR_GAME | CVAR_INTEGER, "enables the new vehicle control system for the GEV." );
  187. // RAVEN END
  188. idCVar g_allowVehicleGunOverheat(    "g_allowVehicleGunOverheat","1",            CVAR_GAME | CVAR_BOOL, "allows disabling the gun overheating mechanism for vehicles that use it." );
  189.  
  190. idCVar ai_debugScript(                "ai_debugScript",            "-1",            CVAR_GAME | CVAR_INTEGER, "displays script calls for the specified monster entity number" );
  191. idCVar ai_debugMove(                "ai_debugMove",                "0",            CVAR_GAME | CVAR_BOOL, "draws movement information for monsters" );
  192. idCVar ai_debugTrajectory(            "ai_debugTrajectory",        "0",            CVAR_GAME | CVAR_BOOL, "draws trajectory tests for monsters" );
  193. idCVar ai_debugTactical(            "ai_debugTactical",            "0",            CVAR_GAME, "draws tactical information for monsters" );
  194. idCVar ai_debugHelpers(                "ai_debugHelpers",            "0",            CVAR_GAME, "draws ai helpers" );
  195. idCVar ai_debugFilterString(        "ai_debugFilterString",        "",                CVAR_GAME, "see ai_debugFilter" );
  196. idCVar ai_testPredictPath(            "ai_testPredictPath",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  197. idCVar ai_showCombatNodes(            "ai_showCombatNodes",        "0",            CVAR_GAME | CVAR_BOOL, "draws attack cones for monsters" );
  198. idCVar ai_showPaths(                "ai_showPaths",                "0",            CVAR_GAME | CVAR_BOOL, "draws path_* entities" );
  199. idCVar ai_showObstacleAvoidance(    "ai_showObstacleAvoidance",    "0",            CVAR_GAME | CVAR_INTEGER, "draws obstacle avoidance information for monsters.  if 2, draws obstacles for player, as well", 0, 2, idCmdSystem::ArgCompletion_Integer<0,2> );
  200. idCVar ai_blockedFailSafe(            "ai_blockedFailSafe",        "1",            CVAR_GAME | CVAR_BOOL, "enable blocked fail safe handling" );
  201. idCVar ai_debugSquad(                "ai_debugSquad",            "0",            CVAR_GAME | CVAR_BOOL, "draws squad info for allies" );
  202. idCVar ai_debugStealth(                "ai_debugStealth",            "0",            CVAR_GAME | CVAR_INTEGER, "draws suspicion info for enemies" );
  203. idCVar ai_allowTacticalRush(        "ai_allowTacticalRush",        "1",            CVAR_GAME | CVAR_BOOL, "allows tactical ai to rush an enemy when hurt" );
  204.  
  205.  
  206. // RAVEN BEGIN
  207. // nmckenzie: added speeds and freeze
  208. idCVar ai_speeds(                    "ai_speeds",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  209. idCVar ai_freeze(                    "ai_freeze",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  210. idCVar ai_animShow(                    "ai_animShow",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  211. idCVar ai_showCover(                "ai_showCover",                "0",            CVAR_GAME | CVAR_INTEGER, "" );
  212. idCVar ai_showTacticalFeatures(        "ai_showTacticalFeatures",    "0",            CVAR_GAME | CVAR_INTEGER, "" );
  213. idCVar ai_disableEntTactical(        "ai_disableEntTactical",    "0",            CVAR_GAME | CVAR_BOOL, "disables tactical points around entities" );
  214. idCVar ai_disableAttacks(            "ai_disableAttacks",        "0",            CVAR_GAME | CVAR_BOOL, "disables attack decisions" );
  215. idCVar ai_disableSimpleThink(        "ai_disableSimpleThink",    "0",            CVAR_GAME | CVAR_BOOL, "disables simple thinking in AI entities" );
  216. idCVar ai_disableCover(                "ai_disableCover",            "0",            CVAR_GAME | CVAR_BOOL, "disables AI using cover points" );
  217. //cdr: use new master move functions
  218. idCVar ai_useRVMasterMove(            "ai_useRVMasterMove",        "0",            CVAR_GAME | CVAR_BOOL, "changes AI to use new master move function" );
  219. //jshepard: allow out of date AAS files to be used, for testing
  220. idCVar ai_allowOldAAS(                "ai_allowOldAAS",            "0",            CVAR_GAME | CVAR_BOOL, "allows AI to use most recent AAS file, even if it is not up-to-date. Enable only for testing.");
  221. // twhitaker: debugging support for eye focus
  222. idCVar ai_debugEyeFocus(            "ai_debugEyeFocus",            "0",            CVAR_GAME | CVAR_BOOL, "draws eye focus info" );
  223. //mcg: always allow player to push buddies, unless scripted
  224. idCVar ai_playerPushAlways(            "ai_playerPushAlways",        "1",            CVAR_GAME | CVAR_BOOL, "always allow player to push buddies, unless scripted" );
  225. // RAVEN END
  226.     
  227. idCVar g_dvTime(                    "g_dvTime",                    "1",            CVAR_GAME | CVAR_FLOAT, "" );
  228. idCVar g_dvAmplitude(                "g_dvAmplitude",            "0.001",        CVAR_GAME | CVAR_FLOAT, "" );
  229. idCVar g_dvFrequency(                "g_dvFrequency",            "0.5",            CVAR_GAME | CVAR_FLOAT, "" );
  230.  
  231. idCVar g_kickTime(                    "g_kickTime",                "1",            CVAR_GAME | CVAR_FLOAT, "" );
  232. idCVar g_kickAmplitude(                "g_kickAmplitude",            "0.0001",        CVAR_GAME | CVAR_FLOAT, "" );
  233. idCVar g_blobTime(                    "g_blobTime",                "1",            CVAR_GAME | CVAR_FLOAT, "" );
  234. idCVar g_blobSize(                    "g_blobSize",                "1",            CVAR_GAME | CVAR_FLOAT, "" );
  235.  
  236. idCVar g_testHealthVision(            "g_testHealthVision",        "0",            CVAR_GAME | CVAR_FLOAT, "" );
  237. idCVar g_editEntityMode(            "g_editEntityMode",            "0",            CVAR_GAME | CVAR_INTEGER,    "0 = off\n"
  238.                                                                                                             "1 = lights\n"
  239.                                                                                                             "2 = sounds\n"
  240.                                                                                                             "3 = articulated figures\n"
  241.                                                                                                             "4 = particle systems\n"
  242.                                                                                                             "5 = monsters\n"
  243.                                                                                                             "6 = entity names\n"
  244. // RAVEN BEGIN
  245. // bdube: extended
  246.                                                                                                             "7 = entity models\n"
  247.                                                                                                             "8 = effects", 0, 8, idCmdSystem::ArgCompletion_Integer<0,8> );
  248. // rhummer: Added archive flag.
  249. idCVar g_editEntityDistance(        "g_editEntityDistance",        "512",            CVAR_GAME | CVAR_ARCHIVE,    "range to display entities to edit" );
  250. // rhummer: Allow to customize the distance the text is drawn for edit entities, Zack request. Also added archive flag.
  251. idCVar g_editEntityTextDistance(    "g_editEntityTextDistance",    "256",            CVAR_GAME | CVAR_ARCHIVE,    "range to display entities to edit text information");
  252. idCVar g_testCTF(                    "g_testCTF",                "0",            CVAR_GAME | CVAR_CHEAT | CVAR_BOOL, "" );
  253. // rjohnson: entity usage stats
  254. idCVar g_keepEntityStats(            "g_keepEntityStats",        "0",            CVAR_GAME | CVAR_CHEAT |CVAR_BOOL, "keep track of entity usage stats" );
  255. // RAVEN END
  256. idCVar g_dragEntity(                "g_dragEntity",                "0",            CVAR_GAME | CVAR_BOOL, "allows dragging physics objects around by placing the crosshair over them and holding the fire button" );
  257. idCVar g_dragDamping(                "g_dragDamping",            "0.5",            CVAR_GAME | CVAR_FLOAT, "" );
  258. idCVar g_dragShowSelection(            "g_dragShowSelection",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  259. idCVar g_dropItemRotation(            "g_dropItemRotation",        "",                CVAR_GAME, "" );
  260.  
  261. idCVar g_vehicleVelocity(            "g_vehicleVelocity",        "1000",            CVAR_GAME | CVAR_FLOAT, "" );
  262. idCVar g_vehicleForce(                "g_vehicleForce",            "50000",        CVAR_GAME | CVAR_FLOAT, "" );
  263.  
  264. idCVar ik_enable(                    "ik_enable",                "1",            CVAR_GAME | CVAR_BOOL, "enable IK" );
  265. idCVar ik_debug(                    "ik_debug",                    "0",            CVAR_GAME | CVAR_BOOL, "show IK debug lines" );
  266.  
  267. idCVar af_useLinearTime(            "af_useLinearTime",            "1",            CVAR_GAME | CVAR_BOOL, "use linear time algorithm for tree-like structures" );
  268. idCVar af_useImpulseFriction(        "af_useImpulseFriction",    "0",            CVAR_GAME | CVAR_BOOL, "use impulse based contact friction" );
  269. idCVar af_useJointImpulseFriction(    "af_useJointImpulseFriction","0",            CVAR_GAME | CVAR_BOOL, "use impulse based joint friction" );
  270. idCVar af_useSymmetry(                "af_useSymmetry",            "1",            CVAR_GAME | CVAR_BOOL, "use constraint matrix symmetry" );
  271. idCVar af_skipSelfCollision(        "af_skipSelfCollision",        "0",            CVAR_GAME | CVAR_BOOL, "skip self collision detection" );
  272. idCVar af_skipLimits(                "af_skipLimits",            "0",            CVAR_GAME | CVAR_BOOL, "skip joint limits" );
  273. idCVar af_skipFriction(                "af_skipFriction",            "0",            CVAR_GAME | CVAR_BOOL, "skip friction" );
  274. idCVar af_forceFriction(            "af_forceFriction",            "-1",            CVAR_GAME | CVAR_FLOAT, "force the given friction value" );
  275. idCVar af_maxLinearVelocity(        "af_maxLinearVelocity",        "128",            CVAR_GAME | CVAR_FLOAT, "maximum linear velocity" );
  276. idCVar af_maxAngularVelocity(        "af_maxAngularVelocity",    "1.57",            CVAR_GAME | CVAR_FLOAT, "maximum angular velocity" );
  277. idCVar af_timeScale(                "af_timeScale",                "1",            CVAR_GAME | CVAR_FLOAT, "scales the time" );
  278. idCVar af_jointFrictionScale(        "af_jointFrictionScale",    "0",            CVAR_GAME | CVAR_FLOAT, "scales the joint friction" );
  279. idCVar af_contactFrictionScale(        "af_contactFrictionScale",    "0",            CVAR_GAME | CVAR_FLOAT, "scales the contact friction" );
  280. idCVar af_highlightBody(            "af_highlightBody",            "",                CVAR_GAME, "name of the body to highlight" );
  281. idCVar af_highlightConstraint(        "af_highlightConstraint",    "",                CVAR_GAME, "name of the constraint to highlight" );
  282. idCVar af_showTimings(                "af_showTimings",            "0",            CVAR_GAME | CVAR_BOOL, "show articulated figure cpu usage" );
  283. idCVar af_showConstraints(            "af_showConstraints",        "0",            CVAR_GAME | CVAR_BOOL, "show constraints" );
  284. idCVar af_showConstraintNames(        "af_showConstraintNames",    "0",            CVAR_GAME | CVAR_BOOL, "show constraint names" );
  285. idCVar af_showConstrainedBodies(    "af_showConstrainedBodies",    "0",            CVAR_GAME | CVAR_BOOL, "show the two bodies contrained by the highlighted constraint" );
  286. idCVar af_showPrimaryOnly(            "af_showPrimaryOnly",        "0",            CVAR_GAME | CVAR_BOOL, "show primary constraints only" );
  287. idCVar af_showTrees(                "af_showTrees",                "0",            CVAR_GAME | CVAR_BOOL, "show tree-like structures" );
  288. idCVar af_showLimits(                "af_showLimits",            "0",            CVAR_GAME | CVAR_BOOL, "show joint limits" );
  289. idCVar af_showBodies(                "af_showBodies",            "0",            CVAR_GAME | CVAR_BOOL, "show bodies" );
  290. idCVar af_showBodyNames(            "af_showBodyNames",            "0",            CVAR_GAME | CVAR_BOOL, "show body names" );
  291. idCVar af_showMass(                    "af_showMass",                "0",            CVAR_GAME | CVAR_BOOL, "show the mass of each body" );
  292. idCVar af_showTotalMass(            "af_showTotalMass",            "0",            CVAR_GAME | CVAR_BOOL, "show the total mass of each articulated figure" );
  293. idCVar af_showInertia(                "af_showInertia",            "0",            CVAR_GAME | CVAR_BOOL, "show the inertia tensor of each body" );
  294. idCVar af_showVelocity(                "af_showVelocity",            "0",            CVAR_GAME | CVAR_BOOL, "show the velocity of each body" );
  295. idCVar af_showActive(                "af_showActive",            "0",            CVAR_GAME | CVAR_BOOL, "show tree-like structures of articulated figures not at rest" );
  296. idCVar af_testSolid(                "af_testSolid",                "1",            CVAR_GAME | CVAR_BOOL, "test for bodies initially stuck in solid" );
  297.  
  298. idCVar rb_showTimings(                "rb_showTimings",            "0",            CVAR_GAME | CVAR_BOOL, "show rigid body cpu usage" );
  299. idCVar rb_showBodies(                "rb_showBodies",            "0",            CVAR_GAME | CVAR_BOOL, "show rigid bodies" );
  300. idCVar rb_showMass(                    "rb_showMass",                "0",            CVAR_GAME | CVAR_BOOL, "show the mass of each rigid body" );
  301. idCVar rb_showInertia(                "rb_showInertia",            "0",            CVAR_GAME | CVAR_BOOL, "show the inertia tensor of each rigid body" );
  302. idCVar rb_showVelocity(                "rb_showVelocity",            "0",            CVAR_GAME | CVAR_BOOL, "show the velocity of each rigid body" );
  303. idCVar rb_showActive(                "rb_showActive",            "0",            CVAR_GAME | CVAR_BOOL, "show rigid bodies that are not at rest" );
  304.  
  305. // RAVEN BEGIN
  306. // bdube: more rigid body debug
  307. idCVar rb_showContacts(                "rb_showContacts",            "0",            CVAR_GAME | CVAR_BOOL, "show rigid body contacts" );
  308. // RAVEN END
  309.  
  310. // The default values for player movement cvars are set in def/player.def
  311. idCVar pm_jumpheight(                "pm_jumpheight",            "48",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "approximate hieght the player can jump" );
  312. idCVar pm_stepsize(                    "pm_stepsize",                "16",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "maximum height the player can step up without jumping" );
  313. idCVar pm_crouchspeed(                "pm_crouchspeed",            "80",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "speed the player can move while crouched" );
  314. // RAVEN BEGIN
  315. idCVar pm_speed(                    "pm_speed",                    "160",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "speed the player can move while running" );
  316. idCVar pm_walkspeed(                "pm_walkspeed",                "80",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "speed the player can move while walking" );
  317. // RAVEN END
  318. idCVar pm_noclipspeed(                "pm_noclipspeed",            "270",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "speed the player can move while in noclip" );
  319. idCVar pm_spectatespeed(            "pm_spectatespeed",            "450",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "speed the player can move while spectating" );
  320. idCVar pm_spectatebbox(                "pm_spectatebbox",            "32",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "size of the spectator bounding box" );
  321. idCVar pm_usecylinder(                "pm_usecylinder",            "0",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_BOOL, "use a cylinder approximation instead of a bounding box for player collision detection" );
  322. idCVar pm_minviewpitch(                "pm_minviewpitch",            "-89",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "amount player's view can look up (negative values are up)" );
  323. idCVar pm_maxviewpitch(                "pm_maxviewpitch",            "89",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "amount player's view can look down" );
  324. idCVar pm_stamina(                    "pm_stamina",                "24",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "length of time player can run" );
  325. idCVar pm_staminathreshold(            "pm_staminathreshold",        "45",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "when stamina drops below this value, player gradually slows to a walk" );
  326. idCVar pm_staminarate(                "pm_staminarate",            "0.75",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "rate that player regains stamina. divide pm_stamina by this value to determine how long it takes to fully recharge." );
  327. //idCVar pm_normalheight(                "pm_normalheight",            "74",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's bounding box while standing" );
  328. //idCVar pm_crouchheight(                "pm_crouchheight",            "38",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's bounding box while crouched" );
  329. // ddynerman: adjusted bboxes to actual height
  330. idCVar pm_normalheight(                "pm_normalheight",            "77",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's bounding box while standing" );
  331. idCVar pm_crouchheight(                "pm_crouchheight",            "49",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's bounding box while crouched" );
  332.  
  333. idCVar pm_crouchviewheight(            "pm_crouchviewheight",        "32",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's view while crouched" );
  334. idCVar pm_normalviewheight(            "pm_normalviewheight",        "68",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's view while standing" );
  335.  
  336. idCVar pm_deadheight(                "pm_deadheight",            "20",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's bounding box while dead" );
  337. idCVar pm_deadviewheight(            "pm_deadviewheight",        "10",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "height of player's view while dead" );
  338. idCVar pm_crouchrate(                "pm_crouchrate",            "0.87",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "time it takes for player's view to change from standing to crouching" );
  339. idCVar pm_bboxwidth(                "pm_bboxwidth",                "32",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "x/y size of player's bounding box" );
  340. idCVar pm_crouchbob(                "pm_crouchbob",                "0.5",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "bob much faster when crouched" );
  341. idCVar pm_walkbob(                    "pm_walkbob",                "0.3",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "bob slowly when walking" );
  342. idCVar pm_runbob(                    "pm_runbob",                "0.4",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "bob faster when running" );
  343. idCVar pm_runpitch(                    "pm_runpitch",                "0.002",        CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "" );
  344. idCVar pm_runroll(                    "pm_runroll",                "0.005",        CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "" );
  345. idCVar pm_bobup(                    "pm_bobup",                    "0.005",        CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "" );
  346. idCVar pm_bobpitch(                    "pm_bobpitch",                "0.002",        CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "" );
  347. idCVar pm_bobroll(                    "pm_bobroll",                "0.002",        CVAR_GAME | CVAR_NETWORKSYNC | CVAR_FLOAT, "" );
  348. idCVar pm_thirdPersonRange(            "pm_thirdPersonRange",        "80",            CVAR_GAME | CVAR_FLOAT, "camera distance from player in 3rd person" );
  349. idCVar pm_thirdPersonHeight(        "pm_thirdPersonHeight",        "0",            CVAR_GAME | CVAR_FLOAT, "height of camera from normal view height in 3rd person" );
  350. idCVar pm_thirdPersonAngle(            "pm_thirdPersonAngle",        "0",            CVAR_GAME | CVAR_FLOAT, "direction of camera from player in 3rd person in degrees (0 = behind player, 180 = in front)" );
  351. idCVar pm_thirdPersonClip(            "pm_thirdPersonClip",        "1",            CVAR_GAME | CVAR_BOOL, "clip third person view into world space" );
  352. idCVar pm_thirdPerson(                "pm_thirdPerson",            "0",            CVAR_GAME | CVAR_BOOL, "enables third person view" );
  353. idCVar pm_thirdPersonDeath(            "pm_thirdPersonDeath",        "0",            CVAR_GAME | CVAR_BOOL, "enables third person view when player dies" );
  354. idCVar pm_modelView(                "pm_modelView",                "0",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_INTEGER, "draws camera from POV of player model (1 = always, 2 = when dead)", 0, 2, idCmdSystem::ArgCompletion_Integer<0,2> );
  355. idCVar pm_airTics(                    "pm_air",                    "1800",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_INTEGER, "how long in milliseconds the player can go without air before he starts taking damage" );
  356.  
  357. // RAVEN BEGIN
  358. // asalmon: parameters for aim assistance on Xenon - or a non-final pc build so Caryn can edit the guis
  359. #if defined( _XBOX ) || !defined( _FINAL )
  360. idCVar pm_AimAssist(                "pm_AimAssist",                "2",            CVAR_GAME | CVAR_INTEGER | CVAR_ARCHIVE , "Enable Xbox aim assistance. 1 to use change player view method. 2 to use change muzzle aim method.\n");
  361. idCVar pm_AimAssistDistance(        "pm_AimAssistDistance",        "1000",            CVAR_GAME | CVAR_INTEGER, "The max aim assist distance.\n");
  362. idCVar pm_AimAssistThreshold(        "pm_AimAssistThreshold",    "1.0",            CVAR_GAME | CVAR_FLOAT, "Threshold by which the projectile is aimed at the offending target.\n");
  363. idCVar pm_AimAssistFOV(                "pm_AimAssistFOV",            "10",            CVAR_GAME | CVAR_INTEGER, "The field of view for aim assistance.\n");
  364. idCVar pm_AimAssistBump(            "pm_AimAssistBump",            "10",            CVAR_GAME | CVAR_INTEGER, "The percentage of correction applied either to the view or the muzzle aim.\n");
  365. idCVar pm_showAimAssist(            "pm_showAimAssist",            "0",            CVAR_GAME | CVAR_BOOL, "Draw aim assist frustum and bounding boxes.\n");
  366. idCVar pm_AimAssistSlow(            "pm_AimAssistSlow",            "50",            CVAR_GAME | CVAR_INTEGER, "The percentage to slow the turning motion by when targeting an enemy.\n");
  367.  
  368. //asalmon: xenon controller config cvars
  369. idCVar pm_ThumbstickConfig(            "pm_ThumbstickConfig",        "0",            CVAR_GAME | CVAR_ARCHIVE | CVAR_INTEGER | CVAR_GUI, "Change the thumbstick config on Xenon. 0 right handed, 1 left handed.\n");
  370. idCVar pm_ButtonConfig(                "pm_ButtonConfig",            "0",            CVAR_GAME | CVAR_ARCHIVE | CVAR_INTEGER | CVAR_GUI, "Change the button configuration for Xenon.\n");
  371. idCVar pm_Inversion(                "pm_Inversion",                "0",            CVAR_GAME | CVAR_ARCHIVE | CVAR_INTEGER | CVAR_GUI, "invert look up and down\n");
  372.  
  373. idCVar pm_VLookSens(                "pm_VLookSens",        "1.0",    CVAR_GAME | CVAR_ARCHIVE | CVAR_FLOAT, "Xenon sensitivity\n");
  374. idCVar pm_HLookSens(                "pm_HLookSens",        "1.0",    CVAR_GAME | CVAR_ARCHIVE | CVAR_FLOAT, "Xenon sensitivity\n");
  375. idCVar pm_VMoveSens(                "pm_VMoveSens",        "1.0",    CVAR_GAME | CVAR_ARCHIVE | CVAR_FLOAT, "Xenon sensitivity\n");
  376. idCVar pm_HMoveSens(                "pm_HMoveSens",        "1.0",    CVAR_GAME | CVAR_ARCHIVE | CVAR_FLOAT, "Xenon sensitivity\n");
  377.  
  378. idCVar pm_voiceEnabled(                "pm_voiceEnabled",    "1",    CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL | CVAR_GUI, "Enable/disable voice.\n");
  379.  
  380. //asalmon: Xenon leaderboard cvars
  381. idCVar ui_LeaderboardView(            "ui_LeaderboardView",        "17",            CVAR_INTEGER | CVAR_NOCHEAT, "Which leaderboard to show.\n");
  382. idCVar ui_LeaderboardSort(        "ui_LeaderboardSort",        "1",            CVAR_INTEGER | CVAR_NOCHEAT, "How to sort the leaderboard. 0 for rating, 1 for ranking, 2 for friends, 3 find logged in player.\n");
  383.  
  384. //nrausch
  385. idCVar pm_RocketJumpAutocenter(    "pm_RocketJumpAutocenter",        "1",    CVAR_GAME | CVAR_ARCHIVE | CVAR_BOOL, "Automatic autocentering following a rocket jump\n");
  386. idCVar pm_IAmACheater(            "pm_IAmACheater",        "0",    CVAR_GAME | CVAR_BOOL, "Whomever is playing is a dirty, rotten cheater\n");
  387.  
  388. idCVar g_systemLinkMatch(    "g_systemLinkMatch",        "0",    CVAR_INTEGER, "In a system link game\n");
  389.  
  390. //asalmon: cvars for Live teams.  Teams will now be a post launch feature but this was left here in case it is of use on future projects
  391. //idCVar ui_LiveClanName(                "ui_LiveClanName",            "My Clan",                CVAR_GAME | CVAR_USERINFO, "The name of the live clan being created\n");
  392. //idCVar ui_LiveClanDesc(                "ui_LiveClanDesc",            "A Quake 4 clan",        CVAR_GAME | CVAR_USERINFO, "The description of the live clan being created\n");
  393. //idCVar ui_LiveClanMotto(            "ui_LiveClanMotto",            "We love Quake 4",        CVAR_GAME | CVAR_USERINFO, "The motto of the live clan being created\n");
  394. //idCVar ui_LiveClanUrl(                "ui_LiveClanUrl",            "www.ravensoft.com",    CVAR_GAME | CVAR_USERINFO, "The url of the live clan being created\n");
  395. //
  396. //idCVar ui_LiveRecruitName(                "ui_LiveRecruitName",            "Recruit Name Here",    CVAR_GAME | CVAR_USERINFO, "name of the gamer you are trying recruit\n");
  397. //idCVar ui_LiveRecruitPDelete(            "ui_LiveRecruitPDelete",        "0",                    CVAR_GAME | CVAR_USERINFO, "give the recruit delete permissions\n");
  398. //idCVar ui_LiveRecruitPData(                "ui_LiveRecruitPData",            "0",                    CVAR_GAME | CVAR_USERINFO, "give the recruit modify data permissions\n");
  399. //idCVar ui_LiveRecruitPMemberPermissions("ui_LiveRecruitPMemberPermissions",        "0",                    CVAR_GAME | CVAR_USERINFO, "give the recruit member modify permissions\n");
  400. //idCVar ui_LiveRecruitPMemberDelete(        "ui_LiveRecruitPMemberDelete",    "0",                    CVAR_GAME | CVAR_USERINFO, "give the recruit member delete permissions\n");
  401. //idCVar ui_LiveRecruitPMemberRecruit(    "ui_LiveRecruitPMemberRecruit",    "0",                    CVAR_GAME | CVAR_USERINFO, "give the recruit member recruit permissions\n");
  402. #endif
  403. // nmckenzie: added ability to try alternate accelerations.
  404. idCVar pm_acceloverride(            "pm_acceloverride",            "0",            CVAR_GAME | CVAR_FLOAT, "Adjust the player acceleration." );
  405. idCVar pm_frictionoverride(            "pm_frictionoverride",        "-1",            CVAR_GAME | CVAR_FLOAT, "Adjust the player friciton." );
  406. idCVar pm_forcespectatormove(        "pm_forcespectatormove",    "0",            CVAR_GAME | CVAR_FLOAT, "Force the player to move like a spectator (fly)." );
  407. // bdube: added vehicle cvars
  408. idCVar pm_vehicleCameraSnap(        "pm_vehicleCameraSnap",            "1",        CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "" );
  409. idCVar pm_vehicleCameraMinDist(        "pm_vehicleCameraMinDist",        "300",        CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "" );
  410. idCVar pm_vehicleCameraSpeedScale(    "pm_vehicleCameraSpeedScale",    "0.5",        CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "" );
  411. idCVar pm_vehicleCameraScaleMax(    "pm_vehicleCameraScaleMax",        "300",        CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "" );
  412. idCVar pm_vehicleSoundLerpScale(    "pm_vehicleSoundLerpScale",        "10",        CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "" );
  413. // RAVEN END
  414.  
  415. idCVar g_showPlayerShadow(            "g_showPlayerShadow",        "0",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "enables shadow of player model" );
  416.  
  417. idCVar g_skipPlayerShadowsMP(        "g_skipPlayerShadowsMP",    "0",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "disables all player shadows in multiplayer" );
  418. idCVar g_skipItemShadowsMP(            "g_skipItemShadowsMP",        "0",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "disables all item shadows in multiplayer" );
  419.  
  420. idCVar g_showHud(                    "g_showHud",                "1",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "" );
  421. idCVar g_showProjectilePct(            "g_showProjectilePct",        "0",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "enables display of player hit percentage" );
  422. // RAVEN BEGIN
  423. // dluetscher: changed to g_brassTime
  424. idCVar g_brassTime(                    "g_brassTime",                "1",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_FLOAT, "amount of time brass should stay in the world before dissapearing, set to 0 to disable brass" );
  425. // RAVEN END
  426. idCVar g_gun_x(                        "g_gunX",                    "0",            CVAR_GAME | CVAR_FLOAT, "" );
  427. idCVar g_gun_y(                        "g_gunY",                    "0",            CVAR_GAME | CVAR_FLOAT, "" );
  428. idCVar g_gun_z(                        "g_gunZ",                    "0",            CVAR_GAME | CVAR_FLOAT, "" );
  429. idCVar g_viewNodalX(                "g_viewNodalX",                "0",            CVAR_GAME | CVAR_FLOAT, "" );
  430. idCVar g_viewNodalZ(                "g_viewNodalZ",                "0",            CVAR_GAME | CVAR_FLOAT, "" );
  431. // RAVEN BEGIN
  432. // jshepard: fov as a float for smoother transitions?
  433. idCVar g_fov(                        "g_fov",                    "90",            CVAR_GAME | CVAR_FLOAT | CVAR_NOCHEAT, "" );
  434. // RAVEN END
  435. idCVar g_skipViewEffects(            "g_skipViewEffects",        "0",            CVAR_GAME | CVAR_BOOL, "skip damage and other view effects" );
  436. idCVar g_mpWeaponAngleScale(        "g_mpWeaponAngleScale",        "0",            CVAR_GAME | CVAR_FLOAT, "Control the weapon sway in MP" );
  437.  
  438. // RAVEN BEGIN
  439. // bdube: crosshairs
  440. // mekberg: custom size
  441. idCVar g_crosshairSize(                "g_crosshairSize",            "32",            CVAR_GAME | CVAR_INTEGER | CVAR_ARCHIVE, "crosshair size: 16,24,32,40,48", 16, 48 );
  442. //idCVar g_crosshairColor(            "g_crosshairColor",            "0.458 0.894 0.247 .75", CVAR_GAME | CVAR_ARCHIVE, "sets the combat crosshair color" );
  443. idCVar g_crosshairColor(            "g_crosshairColor",            "1 1 1 1", CVAR_GAME | CVAR_ARCHIVE, "sets the combat crosshair color" );
  444. // cnicholson: Custom crosshair
  445. idCVar g_crosshairCustom(            "g_crosshairCustom",        "0",            CVAR_GAME | PC_CVAR_ARCHIVE, "sets the custom combat crosshair" );
  446. idCVar g_crosshairCustomFile(        "g_crosshairCustomFile",    "0",            CVAR_GAME | PC_CVAR_ARCHIVE, "stores the custom crosshair's filename" );
  447. idCVar g_crosshairCharInfoFar(        "g_crosshairCharInfoFar",    "1",            CVAR_GAME | CVAR_BOOL, "instead of a green crosshair from far away, full character info always draws" );
  448. // bdube: database entries
  449. idCVar g_showHudPopups(                "g_showHudPopups",            "1",            CVAR_GAME | PC_CVAR_ARCHIVE | CVAR_BOOL, "displays objective and database popups on the hud" );
  450. idCVar g_showRange(                    "g_showRange",                "0",            CVAR_GAME | CVAR_CHEAT | CVAR_BOOL, "shows the range from the player to the first collision under the players crosshair" );
  451. // bdube: debug hud
  452. idCVar g_showDebugHud(                "g_showDebugHud",            "0",            CVAR_GAME | CVAR_INTEGER, "displays the debug hud\n"
  453.                                                                                                           "0  = off\n"
  454.                                                                                                           "1  = player\n"
  455.                                                                                                           "2  = physics\n"
  456.                                                                                                           "3  = AI\n"
  457.                                                                                                           "4  = vehicle\n"
  458.                                                                                                           "5  = performance\n"
  459.                                                                                                           "6  = effects\n"
  460.                                                                                                           "7  = map information\n"
  461.                                                                                                           "8  = AI performance\n"
  462.                                                                                                           "9  = MP\n"
  463.                                                                                                           "10 = Sound\n"
  464.                                                                                                           "32 = scratch\n" );
  465. // bdube: cvar for messing with foreshortening and gun position
  466. idCVar g_gun_pitch(                    "g_gunPitch",                "0",            CVAR_GAME | CVAR_FLOAT,        "" );
  467. idCVar g_gun_yaw(                    "g_gunYaw",                    "0",            CVAR_GAME | CVAR_FLOAT,        "" );
  468. idCVar g_gun_roll(                    "g_gunRoll",                "0",            CVAR_GAME | CVAR_FLOAT,        "" );
  469. // abahr:
  470. idCVar g_gunViewStyle(                "g_gunViewStyle",            "0",            CVAR_GAME | CVAR_NOCHEAT | PC_CVAR_ARCHIVE | CVAR_INTEGER,    "style presets\n"
  471.                                                                                                             "0 = Q3 style\n"
  472.                                                                                                             "1 = Shouldered style\n");
  473. // jscott: cvar for debugging playbacks
  474. idCVar g_showPlayback(                "g_showPlayback",            "0",            CVAR_GAME | CVAR_INTEGER, "show g_currentPlayback" );
  475. idCVar g_currentPlayback(            "g_currentPlayback",        "",                CVAR_GAME, "name of playback shown by g_showPlayback" );
  476. // jscott: unused
  477. //idCVar g_testParticle(                "g_testParticle",            "0",            CVAR_GAME | CVAR_INTEGER, "test particle visualation, set by the particle editor" );
  478. //idCVar g_testParticleName(            "g_testParticleName",        "",                CVAR_GAME, "name of the particle being tested by the particle editor" );
  479. // RAVEN END
  480. idCVar g_testModelRotate(            "g_testModelRotate",        "0",            CVAR_GAME, "test model rotation speed" );
  481. idCVar g_testPostProcess(            "g_testPostProcess",        "",                CVAR_GAME, "name of material to draw over screen" );
  482. idCVar g_testModelAnimate(            "g_testModelAnimate",        "0",            CVAR_GAME | CVAR_INTEGER, "test model animation,\n"
  483.                                                                                             "0 = cycle anim with origin reset\n"
  484.                                                                                             "1 = cycle anim with fixed origin\n"
  485.                                                                                             "2 = cycle anim with continuous origin\n"
  486.                                                                                             "3 = frame by frame with continuous origin\n"
  487.                                                                                             "4 = play anim once\n"
  488.                                                                                             "5 = frame by frame with fixed origin", 0, 5, idCmdSystem::ArgCompletion_Integer<0,5> );
  489. idCVar g_testModelBlend(            "g_testModelBlend",            "0",            CVAR_GAME | CVAR_INTEGER, "number of frames to blend" );
  490. idCVar g_testDeath(                    "g_testDeath",                "0",            CVAR_GAME | CVAR_BOOL, "" );
  491. // RAVEN BEGIN
  492. // bdube: added scoreboard testing
  493. idCVar g_testScoreboard(            "g_testScoreboard",            "0",            CVAR_GAME | CVAR_INTEGER, "number of clients to test in the scoreboard gui" );
  494. idCVar g_testPlayer(                "g_testPlayer",                "",                CVAR_GAME, "test player classname" );
  495. // RAVEN END
  496. idCVar g_exportMask(                "g_exportMask",                "",                CVAR_GAME, "" );
  497. idCVar g_flushSave(                    "g_flushSave",                "0",            CVAR_GAME | CVAR_BOOL, "1 = don't buffer file writing for save games." );
  498.  
  499. idCVar aas_test(                    "aas_test",                    "0",            CVAR_GAME | CVAR_INTEGER, "" );
  500. idCVar aas_showAreas(                "aas_showAreas",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  501. idCVar aas_showAreaBounds(            "aas_showAreaBounds",        "0",            CVAR_GAME | CVAR_INTEGER, "When show areas is on, this draws the bounds of the areas, too..." );
  502. idCVar aas_showPath(                "aas_showPath",                "0",            CVAR_GAME | CVAR_INTEGER, "" );
  503. idCVar aas_showFlyPath(                "aas_showFlyPath",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  504. idCVar aas_showWallEdges(            "aas_showWallEdges",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  505. idCVar aas_showHideArea(            "aas_showHideArea",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  506. idCVar aas_pullPlayer(                "aas_pullPlayer",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  507. idCVar aas_randomPullPlayer(        "aas_randomPullPlayer",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  508. idCVar aas_goalArea(                "aas_goalArea",                "0",            CVAR_GAME | CVAR_INTEGER, "" );
  509. idCVar aas_showPushIntoArea(        "aas_showPushIntoArea",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  510. // RAVEN BEGIN
  511. // rjohnson: added aas help
  512. idCVar aas_showProblemAreas(        "aas_showProblemAreas",        "0",            CVAR_GAME | CVAR_INTEGER, "" );
  513. // cdr: added rev reach
  514. idCVar aas_showRevReach(            "aas_showRevReach",            "0",            CVAR_GAME | CVAR_INTEGER, "" );
  515. // RAVEN END
  516.  
  517. idCVar g_password(                    "g_password",                "",                CVAR_GAME | PC_CVAR_ARCHIVE, "game password" );
  518. idCVar password(                    "password",                    "",                CVAR_GAME | CVAR_NOCHEAT, "client password used when connecting" );
  519.  
  520. // RAVEN BEGIN
  521. // ddynerman: TODO extended pause default, temp for stats testing, should be replaced by stats tabs
  522. idCVar g_gameReviewPause(            "g_gameReviewPause",        "15",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_INTEGER | PC_CVAR_ARCHIVE, "scores review time in seconds (at end game)", 2, 3600 );
  523. // RAVEN END
  524. idCVar net_clientPredictGUI(        "net_clientPredictGUI",        "1",            CVAR_GAME | CVAR_BOOL, "test guis in networking without prediction" );
  525.  
  526. idCVar g_voteFlags(                    "g_voteFlags",                "0",            CVAR_GAME | CVAR_NETWORKSYNC | CVAR_INTEGER | PC_CVAR_ARCHIVE, "vote flags. bit mask of votes not allowed on this server\n"
  527.                                                                                     "bit 0 (+1)   restart now\n"
  528.                                                                                     "bit 1 (+2)   time limit\n"
  529.                                                                                     "bit 2 (+4)   frag limit\n"
  530.                                                                                     "bit 3 (+8)   game type\n"
  531.                                                                                     "bit 4 (+16)  kick player\n"
  532.                                                                                     "bit 5 (+32)  change map\n"
  533.                                                                                     "bit 6 (+64)  spectators\n"
  534.                                                                                     "bit 7 (+128) next map" );
  535. idCVar g_mapCycle(                    "g_mapCycle",                "mapcycle",        CVAR_GAME | CVAR_ARCHIVE, "map cycling script for multiplayer games - see mapcycle.scriptcfg" );
  536.  
  537. // RAVEN BEGIN
  538. // bdube: client entitiy cvars
  539. idCVar g_gamelog(                        "g_gamelog",                    "0",            CVAR_GAME | CVAR_BOOL, "enables game logging" );
  540. idCVar cl_showEntityInfo(            "cl_showEntityInfo",        "0",            CVAR_GAME | CVAR_BOOL, "" );
  541. // ddynerman: announcer delay time
  542. idCVar g_announcerDelay( "g_announcerDelay", "1000", CVAR_SOUND | PC_CVAR_ARCHIVE, "no more than one announcer sound will be played in this many ms" );
  543. // jnewquist: Option to force undying state
  544. idCVar g_forceUndying(                "g_forceUndying",            "0",            CVAR_GAME | CVAR_BOOL, "forces undying state" );
  545. // mcg: combat performance testing cvars
  546. idCVar g_perfTest_weaponNoFX(                "g_perfTest_weaponNoFX",            "0",            CVAR_GAME | CVAR_BOOL, "no muzzle flash, brass eject, muzzle fx, tracers, impact fx, blood decals or blood splats (whew!)" );
  547. idCVar g_perfTest_hitscanShort(                "g_perfTest_hitscanShort",            "0",            CVAR_GAME | CVAR_BOOL, "all hitscans capped at 2048" );
  548. idCVar g_perfTest_hitscanBBox(                "g_perfTest_hitscanBBox",            "0",            CVAR_GAME | CVAR_BOOL, "all hitscans vs bbox, not rendermodel" );
  549. idCVar g_perfTest_aiStationary(                "g_perfTest_aiStationary",            "0",            CVAR_GAME | CVAR_BOOL, "ai attempts no combat movement" );
  550. idCVar g_perfTest_aiNoDodge(                "g_perfTest_aiNoDodge",                "0",            CVAR_GAME | CVAR_BOOL, "ai attempts no dodging" );
  551. idCVar g_perfTest_aiNoRagdoll(                "g_perfTest_aiNoRagdoll",            "0",            CVAR_GAME | CVAR_BOOL, "ai does not ragdoll" );
  552. idCVar g_perfTest_aiNoObstacleAvoid(        "g_perfTest_aiNoObstacleAvoid",        "0",            CVAR_GAME | CVAR_BOOL, "ai does not attempt obstacle avoidance" );
  553. idCVar g_perfTest_aiUndying(                "g_perfTest_aiUndying",                "0",            CVAR_GAME | CVAR_BOOL, "makes all AI undying" );
  554. idCVar g_perfTest_aiNoVisTrace(                "g_perfTest_aiNoVisTrace",            "0",            CVAR_GAME | CVAR_BOOL, "ai does no vis traces" );
  555. idCVar g_perfTest_noJointTransform(            "g_perfTest_noJointTransform",        "0",            CVAR_GAME | CVAR_BOOL, "all joint transforms return origin" );
  556. idCVar g_perfTest_noPlayerFocus(            "g_perfTest_noPlayerFocus",            "0",            CVAR_GAME | CVAR_BOOL, "doesn't do player focus traces/logic" );
  557. idCVar g_perfTest_noProjectiles(            "g_perfTest_noProjectiles",            "0",            CVAR_GAME | CVAR_BOOL, "all projectiles are removed instantly" );
  558.  
  559. // jnewquist: Not using DLLs on Xenon
  560. // TTimo: bad f*g aliasing for no good reason
  561. #ifdef GAME_DLL
  562. idCVar r_shadows( "r_shadows", "1", CVAR_RENDERER | CVAR_BOOL  | CVAR_ARCHIVE, "enable shadows" );
  563. #endif
  564. // RAVEN END
  565.  
  566.  
  567. // RAVEN BEGIN
  568. // bdube: cvar helps
  569. static    idCVarHelp    help_g_showHud ( "g_showHud", "Show Player HUD", "Off;On", "0;1", CVARHELP_GAME );
  570. static    idCVarHelp    help_g_showGun ( "g_showGun", "Show Player Weapon", "Off;On", "0;1", CVARHELP_GAME );
  571. static    idCVarHelp    help_g_showTargets ( "g_showTargets", "Show Targets", "Off;On", "0;1", CVARHELP_GAME );
  572. static    idCVarHelp    help_g_showTriggers ( "g_showTriggers", "Show Triggers", "Off;On", "0;1", CVARHELP_GAME );
  573. static    idCVarHelp    help_g_showEntityInfo ( "g_showEntityInfo", "Show Entity Information", "Off;On", "0;1", CVARHELP_GAME );
  574. static    idCVarHelp    help_g_timeentities ( "g_timeentities", "Show Entity Times", "Off;0.5s;1.0s", "0;0.5;1.0", CVARHELP_GAME );
  575. static    idCVarHelp    help_g_showActiveEntities ( "g_showActiveEntities", "Show Active Entities", "Off;On", "0;1", CVARHELP_GAME );
  576. static    idCVarHelp    help_g_frametime ( "g_frametime", "Show Game Frame Times", "Off;On", "0;1", CVARHELP_GAME );
  577.  
  578. static    idCVarHelp    help_g_showCollisionWorld ( "g_showCollisionWorld", "Show Collision World", "Off;On", "0;1", CVARHELP_PHYSICS );
  579. static    idCVarHelp    help_g_showCollisionModels ( "g_showCollisionModels", "Show Collision Models", "Off;On", "0;1", CVARHELP_PHYSICS );
  580. static    idCVarHelp    help_g_showCollisionTraces ( "g_showCollisionTraces", "Show Collision Traces", "Off;Info;Lines", "0;1;2", CVARHELP_PHYSICS );
  581. static    idCVarHelp    help_rb_showActive ( "rb_showActive", "Show Active Rigid Bodies", "Off;On", "0;1", CVARHELP_PHYSICS );
  582. static    idCVarHelp    help_rb_showTimings ( "rb_showTimings", "Show Rigid Body Timings", "Off;On", "0;1", CVARHELP_PHYSICS );
  583. static    idCVarHelp    help_af_showTimings ( "af_showTimings", "Show AF Timings", "Off;On", "0;1", CVARHELP_PHYSICS );
  584.  
  585. // nmckenzie: ai cvar helps
  586. static    idCVarHelp    help_g_aas_showAreas( "aas_showAreas", "Show AAS areas", "Off;Single Current;Single All;Complete", "0;1;2;3", CVARHELP_AI );
  587. static    idCVarHelp    help_g_aas_showProblemAreas( "aas_showProblemAreas", "Show AAS areas with Problems", "Off;Single Current;Single All;Complete", "0;1;2;3", CVARHELP_AI );
  588. static    idCVarHelp    help_g_aas_showPath( "aas_showPath", "Show AAS Paths", "Off;On", "0;1", CVARHELP_AI );
  589. static    idCVarHelp    help_g_aas_showFlyPath( "aas_showFlyPath", "Show AAS Flying Paths", "Off;On", "0;1", CVARHELP_AI );
  590. static    idCVarHelp    help_g_aas_showWallEdges( "aas_showWallEdges", "Show AAS Wall Edges", "Off;On", "0;1", CVARHELP_AI );
  591. static    idCVarHelp    help_g_aas_showHideArea( "aas_showHideArea", "Show AAS Hide Areas", "Off;On", "0;1", CVARHELP_AI );
  592. static    idCVarHelp    help_g_aas_goalArea( "aas_goalArea", "Show AAS Goal Areas", "Off;On", "0;1", CVARHELP_AI );
  593.  
  594. static    idCVarHelp    help_g_ai_debugMove( "ai_debugMove", "Show Movement for monsters", "Off;On", "0;1", CVARHELP_AI );
  595. static    idCVarHelp    help_g_ai_debugTrajectory( "ai_debugTrajectory", "Show Grenade tests for monsters", "Off;On", "0;1", CVARHELP_AI );
  596. static    idCVarHelp    help_g_ai_showCombatNodes( "ai_showCombatNodes", "Show attack cones for monsters", "Off;On", "0;1", CVARHELP_AI );
  597. static    idCVarHelp    help_g_ai_showPaths( "ai_showPaths", "Show all path_* entities", "Off;On", "0;1", CVARHELP_AI );
  598. static    idCVarHelp    help_g_ai_showObstacleAvoidance( "ai_showObstacleAvoidance", "Show obstacle avoidance", "Off;On", "0;1", CVARHELP_AI );
  599. static    idCVarHelp    help_g_ai_speeds( "ai_speeds", "Show performance load of AI", "Off;On", "0;1", CVARHELP_AI );
  600. static    idCVarHelp    help_g_ai_animShow( "ai_animShow", "List animations when used.", "Off;On", "0;1", CVARHELP_AI );
  601. static    idCVarHelp    help_g_ai_showTacticalFeatures( "ai_showTacticalFeatures", "Show player view tactical features.", "Off;On", "0;1", CVARHELP_AI );
  602. static    idCVarHelp    help_g_ai_useRVMasterMove( "ai_useRVMasterMove", "Use new master move functions.", "Off;On", "0;1", CVARHELP_AI );
  603. // RAVEN END
  604.