From c655f7c5acb33e04719962cad703c455677dc029 Mon Sep 17 00:00:00 2001 From: Walter Julius Hennecke Date: Sun, 11 Nov 2012 16:54:49 +0100 Subject: [PATCH] See description ... * Combined several cvars into single cvars * removed some unsused cvars --- code/game/g_cmds.c | 4 ++-- code/game/g_local.h | 17 +++++------------ code/game/g_main.c | 31 ++++++++----------------------- code/game/g_weapon.c | 6 +++--- code/game/lua_cvar.c | 4 ++-- 5 files changed, 20 insertions(+), 42 deletions(-) diff --git a/code/game/g_cmds.c b/code/game/g_cmds.c index e2d9dd6..6a3d617 100644 --- a/code/game/g_cmds.c +++ b/code/game/g_cmds.c @@ -8069,9 +8069,9 @@ void ClientCommand( int clientNum ) else if (Q_stricmp (cmd, "flashlight") == 0) //Laser_Gen( ent, 2 ); Cmd_FlashLight_f( ent ); - else if (Q_stricmp (cmd, "cloak") == 0 && rpg_nocloak.integer == 0 ) + else if (Q_stricmp (cmd, "cloak") == 0 && !(rpg_restrictions.integer & 1) ) Cmd_Cloak_f( ent ); - else if (Q_stricmp (cmd, "flight") == 0 && rpg_noflight.integer == 0 ) + else if (Q_stricmp (cmd, "flight") == 0 && !(rpg_restrictions.integer & 2) ) Cmd_Flight_f( ent ); else if (Q_stricmp (cmd, "evasuit") == 0) Cmd_EvoSuit_f( ent ); diff --git a/code/game/g_local.h b/code/game/g_local.h index 31cc6f0..e5723db 100644 --- a/code/game/g_local.h +++ b/code/game/g_local.h @@ -1362,20 +1362,13 @@ extern vmCvar_t rpg_rangetricorder; extern vmCvar_t rpg_rangehypo; extern vmCvar_t rpg_norpgclasses; extern vmCvar_t rpg_forceclasscolor; + /* - * TODO: move all those rpg_no... cvars into a single var with flags? Similar to how spawnflags work. + * Ristrictions: nocloak = 1, noflight = 2 + * Default value: 0 */ -extern vmCvar_t rpg_nosecurity; -extern vmCvar_t rpg_nomarine; -extern vmCvar_t rpg_nomedical; -extern vmCvar_t rpg_noscience; -extern vmCvar_t rpg_nocommand; -extern vmCvar_t rpg_noengineer; -extern vmCvar_t rpg_noalien; -extern vmCvar_t rpg_nomaker; -extern vmCvar_t rpg_non00b; -extern vmCvar_t rpg_nocloak; -extern vmCvar_t rpg_noflight; +extern vmCvar_t rpg_restrictions; + /* * Which weapons do damage? * Phaser = 1 diff --git a/code/game/g_main.c b/code/game/g_main.c index e037d0a..69add54 100644 --- a/code/game/g_main.c +++ b/code/game/g_main.c @@ -94,17 +94,12 @@ vmCvar_t rpg_rangetricorder; //!< Maximum range the Tricorder can scan. vmCvar_t rpg_rangehypo; //!< Maximum range of the Hypospray. vmCvar_t rpg_norpgclasses; vmCvar_t rpg_forceclasscolor; //!< Specifies whether class colors specified in the *.class file are enforced. -vmCvar_t rpg_nosecurity; -vmCvar_t rpg_nomarine; -vmCvar_t rpg_nomedical; -vmCvar_t rpg_noscience; -vmCvar_t rpg_nocommand; -vmCvar_t rpg_noengineer; -vmCvar_t rpg_noalien; -vmCvar_t rpg_nomaker; -vmCvar_t rpg_non00b; -vmCvar_t rpg_nocloak; //!< Can be used to disable the admin cloaking device. -vmCvar_t rpg_noflight; //!< Can be used to disable the admin flight mode. + +/* + * Ristrictions: nocloak = 1, noflight = 2 + * Default value: 0 + */ +vmCvar_t rpg_restrictions; /* * Which weapons do damage? @@ -117,7 +112,7 @@ vmCvar_t rpg_noflight; //!< Can be used to disable the admin flight mode. * Default value: 63 */ vmCvar_t rpg_dmgFlags; -vmCvar_t rpg_noweapons; //!< Can be used to disable all weapons. +vmCvar_t rpg_noweapons; //!< Can be used to disable all weapons. vmCvar_t rpg_welcomemessage; //!< Welcome message displayed when a player joins the server. vmCvar_t rpg_timedmessagetime; //!< Delay between timed mesagges vmCvar_t rpg_forcekillradius; //!< Specifies whether the forcekillradius command is avaible. @@ -402,17 +397,7 @@ static cvarTable_t gameCvarTable[] = { { &rpg_rangehypo, "rpg_rangeHypo", "32", CVAR_ARCHIVE, 0, qfalse}, { &rpg_norpgclasses, "rpg_noRPGClasses", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, { &rpg_forceclasscolor, "rpg_forceClassColor", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nosecurity, "rpg_noSecurity", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nomarine, "rpg_noMarine", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nomedical, "rpg_noMedical", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_noscience, "rpg_noScience", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nocommand, "rpg_noCommand", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_noengineer, "rpg_noEngineer", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_noalien, "rpg_noAlien", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_non00b, "rpg_non00b", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nomaker, "rpg_noMaker", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_nocloak, "rpg_noCloak", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, - { &rpg_noflight, "rpg_noFlight", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, + { &rpg_restrictions, "rpg_restrictions", "0", CVAR_ARCHIVE, 0, qfalse}, { &rpg_dmgFlags, "rpg_dmgFlags", "63", CVAR_ARCHIVE, 0, qfalse}, { &rpg_noweapons, "rpg_noWeapons", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse}, { &rpg_welcomemessage, "rpg_welcomeMessage", "Welcome to the RPG-X Mod", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse }, diff --git a/code/game/g_weapon.c b/code/game/g_weapon.c index 95b2e57..fa95e7a 100644 --- a/code/game/g_weapon.c +++ b/code/game/g_weapon.c @@ -321,7 +321,7 @@ static void FirePrifleBullet( gentity_t *ent, vec3_t start, vec3_t dir ) bolt->count = 0; } - if( rpg_rifledmg.integer != 0 ) + if( rpg_dmgFlags.integer & 2) bolt->damage = CRIFLE_DAMAGE*DMG_VAR; else bolt->damage = 0; @@ -464,7 +464,7 @@ static void FireDisruptorMissile( gentity_t *ent, vec3_t origin, vec3_t dir, int bolt->s.weapon = WP_10; bolt->r.ownerNum = ent->s.number; bolt->parent = ent; - if ( rpg_stasisdmg.integer != 0 ) + if ( rpg_dmgFlags.integer & 32 ) { bolt->damage = STASIS_DAMAGE*DMG_VAR; } @@ -749,7 +749,7 @@ static void WP_FireGrenade( gentity_t *ent, qboolean alt_fire ) grenade->s.eFlags |= EF_MISSILE_STICK; VectorScale( dir, 1000, grenade->s.pos.trDelta ); - (rpg_dmgFlags.integer & 8) ? grenade->damage = GRENADE_ALT_DAMAGE*DMG_VAR : grenade->damage = 0; + grenade->damage = (rpg_dmgFlags.integer & 8) ? (GRENADE_ALT_DAMAGE*DMG_VAR) : (grenade->damage = 0); grenade->methodOfDeath = MOD_GRENADE_ALT; grenade->splashMethodOfDeath = MOD_GRENADE_ALT_SPLASH; grenade->s.eType = ET_ALT_MISSILE; diff --git a/code/game/lua_cvar.c b/code/game/lua_cvar.c index acdcf83..ae97224 100644 --- a/code/game/lua_cvar.c +++ b/code/game/lua_cvar.c @@ -70,7 +70,7 @@ static int Cvar_String(lua_State *L) { } static int Cvar_rpg_phaserdmg(lua_State *L) { - lua_pushnumber(L, rpg_phaserdmg.integer); + lua_pushnumber(L, (rpg_dmgFlags.integer & 1)); return 1; } @@ -79,7 +79,7 @@ static const luaL_Reg lib_cvar[] = { {"Integer", Cvar_Integer}, {"Value", Cvar_Value}, {"String", Cvar_String}, - {"rpg_phaserdmg", Cvar_rpg_phaserdmg}, + {"rpg_phaserdmg", Cvar_rpg_phaserdmg}, // cvar does not exist anymore ... modified function to return the correct information for convinience {NULL, NULL} };