diff --git a/code/game/g_cmds.c b/code/game/g_cmds.c index 7f7dcd7..e2d9dd6 100644 --- a/code/game/g_cmds.c +++ b/code/game/g_cmds.c @@ -1172,18 +1172,6 @@ static void Cmd_Class_f( gentity_t *ent ) { clientInitialStatus[ent->s.number].initialized = qfalse; if ( SetClass( ent, s, NULL, qtrue ) ) { - //if still in warmup, don't debounce class changes - if ( g_doWarmup.integer ) - { - if ( level.warmupTime != 0 ) - { - if ( level.warmupTime < 0 || level.time - level.startTime <= level.warmupTime ) - { - return; - } - } - } - //if warmuptime is over, don't change classes again for a bit ent->client->classChangeDebounceTime = level.time + (g_classChangeDebounceTime.integer*1000); trap_SendServerCommand( ent-g_entities, va ( "pc %s", s ) ); @@ -2293,24 +2281,7 @@ void Cmd_ForceClass_f( gentity_t *ent ) { //if this is a manual change, not an assimilation, uninitialize the clInitStatus data clientInitialStatus[target->s.number].initialized = qfalse; - if ( SetClass( target, s, NULL, qfalse ) ) - { - //if still in warmup, don't debounce class changes - if ( g_doWarmup.integer ) - { - if ( level.warmupTime != 0 ) - { - if ( level.warmupTime < 0 || level.time - level.startTime <= level.warmupTime ) - { - return; - } - } - } - //if warmuptime is over, don't change classes again for a bit - //RPG-X: RedTechie - Can change class anytime we wish - //target->client->classChangeDebounceTime = level.time + (g_classChangeDebounceTime.integer*1000); - } - else { + if ( !SetClass( target, s, NULL, qfalse ) ) { trap_SendServerCommand( ent-g_entities, "print \"ERROR: Was unable to change class\n\" " ); return; } diff --git a/code/game/g_local.h b/code/game/g_local.h index a10ecf5..a47cd8d 100644 --- a/code/game/g_local.h +++ b/code/game/g_local.h @@ -649,8 +649,6 @@ typedef struct { int snd_fry; //!< sound index for standing in lava - int warmupModificationCount; //!< for detecting if g_warmup is changed - qboolean firstStrike; // voting state @@ -1321,10 +1319,6 @@ extern vmCvar_t g_restarted; extern vmCvar_t g_language; extern vmCvar_t g_dmflags; -extern vmCvar_t g_fraglimit; -extern vmCvar_t g_timelimit; -extern vmCvar_t g_timelimitWinningTeam; -extern vmCvar_t g_capturelimit; extern vmCvar_t g_friendlyFire; extern vmCvar_t g_password; extern vmCvar_t g_needpass; @@ -1341,8 +1335,6 @@ extern vmCvar_t g_weaponRespawn; extern vmCvar_t g_adaptRespawn; extern vmCvar_t g_synchronousClients; extern vmCvar_t g_motd; -extern vmCvar_t g_warmup; -extern vmCvar_t g_doWarmup; extern vmCvar_t g_allowVote; extern vmCvar_t g_teamAutoJoin; extern vmCvar_t g_teamForceBalance; @@ -1353,7 +1345,6 @@ extern vmCvar_t g_debugForward; extern vmCvar_t g_debugRight; extern vmCvar_t g_debugUp; extern vmCvar_t g_holoIntro; -//extern vmCvar_t g_ghostRespawn; extern vmCvar_t g_team_group_red; extern vmCvar_t g_team_group_blue; extern vmCvar_t g_random_skin_limit; @@ -1372,6 +1363,9 @@ 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. + */ extern vmCvar_t rpg_nosecurity; extern vmCvar_t rpg_nomarine; extern vmCvar_t rpg_nomedical; @@ -1383,6 +1377,10 @@ extern vmCvar_t rpg_nomaker; extern vmCvar_t rpg_non00b; extern vmCvar_t rpg_nocloak; extern vmCvar_t rpg_noflight; +/* + * TODO: move damage switching into a singe var with flags just similar to how spawnflags work? + * 1 = phaser, 2 = rifle, ... + */ extern vmCvar_t rpg_phaserdmg; extern vmCvar_t rpg_rifledmg; extern vmCvar_t rpg_stasisdmg; @@ -1390,6 +1388,9 @@ extern vmCvar_t rpg_imoddmg; extern vmCvar_t rpg_noweapons; extern vmCvar_t rpg_welcomemessage; extern vmCvar_t rpg_timedmessagetime; +/* + * TODO: save cvars by storing timed messages in a list? + */ extern vmCvar_t rpg_message1; extern vmCvar_t rpg_message2; extern vmCvar_t rpg_message3; @@ -1422,6 +1423,11 @@ extern vmCvar_t rpg_classSet; extern vmCvar_t rpg_scannablePanels; +/* + * TODO put maxs and mins into a single cvar to save cvars? + * e.g. rpg_heightLimits + * value would be a range. for example: "0.9-1.15" + */ extern vmCvar_t rpg_maxHeight; extern vmCvar_t rpg_minHeight; extern vmCvar_t rpg_maxWeight; @@ -1434,7 +1440,6 @@ extern vmCvar_t rpg_mapGiveFlags; extern vmCvar_t rpg_allowWeaponDrop; extern vmCvar_t rpg_weaponsStay; extern vmCvar_t rpg_dropOnDeath; -//extern vmCvar_t rpg_flushDroppedOnDisconnect; //RPG-X | GSIO01 | 08/05/2009 // Weapon speeds extern vmCvar_t rpg_rifleSpeed; //RPG-X | Marcin | 04/12/2008 @@ -1479,7 +1484,7 @@ extern vmCvar_t rpg_minToolkits; //RPG-X | Marcin | 30/12/2008 extern vmCvar_t rpg_minHyperSpanners;//RPG-X | Marcin | 30/12/2008 // respawn delay -extern vmCvar_t rpg_fraggerSpawnDelay; //RPG-X | Marcin | 03/01/2009 +extern vmCvar_t rpg_fraggerSpawnDelay; //RPG-X | Marcin | 03/01/2009 // borg adaption extern vmCvar_t rpg_borgAdapt; //RPG-X | GSIO01 | 08/05/2009 @@ -1515,6 +1520,10 @@ extern vmCvar_t rpg_adminVoteOverride; // server change entity extern vmCvar_t rpg_serverchange; +/* + * TODO: move serverchange configuration to external + * config nad store info in a list rather than cvars + */ extern vmCvar_t rpg_server1; extern vmCvar_t rpg_server2; extern vmCvar_t rpg_server3; diff --git a/code/game/g_main.c b/code/game/g_main.c index 0fe75c5..33404cf 100644 --- a/code/game/g_main.c +++ b/code/game/g_main.c @@ -39,10 +39,6 @@ g_classData_t g_classData[MAX_CLASSES]; vmCvar_t g_gametype; vmCvar_t g_dmflags; -vmCvar_t g_fraglimit; -vmCvar_t g_timelimit; -vmCvar_t g_timelimitWinningTeam; -vmCvar_t g_capturelimit; vmCvar_t g_friendlyFire; vmCvar_t g_password; vmCvar_t g_needpass; @@ -63,8 +59,6 @@ vmCvar_t g_weaponRespawn; vmCvar_t g_adaptRespawn; vmCvar_t g_motd; vmCvar_t g_synchronousClients; -vmCvar_t g_warmup; -vmCvar_t g_doWarmup; vmCvar_t g_restarted; vmCvar_t g_log; vmCvar_t g_logSync; @@ -348,10 +342,6 @@ static cvarTable_t gameCvarTable[] = { // change anytime vars { &g_dmflags, "dmflags", "0", CVAR_SERVERINFO | CVAR_ARCHIVE, 0, qtrue }, - { &g_fraglimit, "fraglimit", "20", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_NORESTART, 0, qtrue }, - { &g_timelimit, "timelimit", "0", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_NORESTART, 0, qtrue }, - { &g_timelimitWinningTeam, "timelimitWinningTeam", "", CVAR_NORESTART, 0, qtrue }, - { &g_capturelimit, "capturelimit", "8", CVAR_SERVERINFO | CVAR_ARCHIVE | CVAR_NORESTART, 0, qtrue }, { &g_synchronousClients, "g_synchronousClients", "0", CVAR_SYSTEMINFO, 0, qfalse }, @@ -361,8 +351,6 @@ static cvarTable_t gameCvarTable[] = { { &g_teamForceBalance, "g_teamForceBalance", "1", CVAR_ARCHIVE, 0, qfalse }, { &g_intermissionTime, "g_intermissionTime", "20", CVAR_ARCHIVE, 0, qtrue }, - { &g_warmup, "g_warmup", "20", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse }, - { &g_doWarmup, "g_doWarmup", "0", CVAR_LATCH | CVAR_ARCHIVE, 0, qfalse }, { &g_log, "g_log", "", CVAR_ARCHIVE, 0, qfalse }, { &g_logSync, "g_logSync", "0", CVAR_ARCHIVE, 0, qfalse }, @@ -1660,8 +1648,6 @@ void G_RegisterCvars( void ) { G_Printf( "g_gametype %i is out of range, defaulting to 0\n", g_gametype.integer ); trap_Cvar_Set( "g_gametype", "0" ); } - - level.warmupModificationCount = g_warmup.modificationCount; } /* @@ -2760,7 +2746,7 @@ void CheckTournement( void ) { if ( level.warmupTime == 0 || level.warmupTime != 0) {//RPG-X: RedTechie - No warmup Fail safe return; } - } else if ( g_gametype.integer != GT_SINGLE_PLAYER /*&& g_doWarmup.integer*/ ) { //RPG-X: RedTechie - No warmup! + } else if ( g_gametype.integer != GT_SINGLE_PLAYER ) { if ( level.warmupTime == 0) { return; } diff --git a/code/game/g_spawn.c b/code/game/g_spawn.c index 3cde48d..a6307d6 100644 --- a/code/game/g_spawn.c +++ b/code/game/g_spawn.c @@ -854,12 +854,6 @@ void SP_worldspawn( void ) { if ( g_restarted.integer ) { // trap_Cvar_Set( "g_restarted", "0" ); level.warmupTime = 0; - } else if ( g_doWarmup.integer && (g_gametype.integer != GT_SINGLE_PLAYER)) { // Turn it on - //RPG-X: RedTechie - No warm up! - level.warmupTime = 0; - /*level.warmupTime = -1; - trap_SetConfigstring( CS_WARMUP, va("%i", level.warmupTime) ); - G_LogPrintf( "Warmup:\n" );*/ } } diff --git a/code/game/g_team.c b/code/game/g_team.c index 56255f0..f129504 100644 --- a/code/game/g_team.c +++ b/code/game/g_team.c @@ -452,105 +452,9 @@ void Team_AddScore( int team, int points ) level.teamScores[team] += points; } +/* TODO: unused! remove me? */ int Team_TouchOurFlag( gentity_t *ent, gentity_t *other, int team ) { - int i; - gentity_t *player; - gclient_t *cl = other->client; - //int our_flag; - //int enemy_flag; - gentity_t *te; - - /*if (cl->sess.sessionTeam == TEAM_RED) { - our_flag = PW_REDFLAG; - enemy_flag = PW_REDFLAG; - } else { - our_flag = PW_REDFLAG; - enemy_flag = PW_REDFLAG; - }*/ - - if ( ent->flags & FL_DROPPED_ITEM ) { - // hey, its not home. return it by teleporting it back - PrintMsg( NULL, "%s" S_COLOR_WHITE " returned the %s flag!\n", - cl->pers.netname, TeamName(team)); - AddScore(other, CTF_RECOVERY_BONUS); - other->client->pers.teamState.flagrecovery++; - other->client->pers.teamState.lastreturnedflag = level.time; - //ResetFlag will remove this entity! We must return zero - Team_ReturnFlagSound(Team_ResetFlag(team), team); - return 0; - } - - // the flag is at home base. if the player has the enemy - // flag, he's just won! - //if (!cl->ps.powerups[enemy_flag]) - // return 0; // We don't have the flag - - PrintMsg( NULL, "%s" S_COLOR_WHITE " captured the %s flag!\n", - cl->pers.netname, TeamName(OtherTeam(team))); - - //cl->ps.powerups[enemy_flag] = 0; - - Team_AddScore( team, 1 ); - - other->client->pers.teamState.captures++; - - // other gets another 10 frag bonus - AddScore(other, CTF_CAPTURE_BONUS); - - // If this is the last capture of the match, don't play the capture sound. - if (level.teamScores[other->client->sess.sessionTeam ] == g_capturelimit.integer) - { - te = G_TempEntity( ent->s.pos.trBase, EV_TEAM_SOUND ); - te->s.eventParm = SCORED_FLAG_NO_VOICE_SOUND; - te->s.otherEntityNum = cl->sess.sessionTeam; - te->r.svFlags |= SVF_BROADCAST; - } - else - { - te = G_TempEntity( ent->s.pos.trBase, EV_TEAM_SOUND ); - te->s.eventParm = SCORED_FLAG_SOUND; - te->s.otherEntityNum = cl->sess.sessionTeam; - te->r.svFlags |= SVF_BROADCAST; - } - - // Ok, let's do the player loop, hand out the bonuses - for (i = 0; i < g_maxclients.integer; i++) { - player = &g_entities[i]; - if (!player->inuse) - continue; - - if (player->client->sess.sessionTeam != - cl->sess.sessionTeam) { - player->client->pers.teamState.lasthurtcarrier = -5; - } else if (player->client->sess.sessionTeam == - cl->sess.sessionTeam) { - if (player != other) - AddScore(player, CTF_TEAM_BONUS); - // award extra points for capture assists - if (player->client->pers.teamState.lastreturnedflag + - CTF_RETURN_FLAG_ASSIST_TIMEOUT > level.time) { - PrintMsg( NULL, - "%s" S_COLOR_WHITE " gets an assist for returning the %s flag!\n", - player->client->pers.netname, - TeamName(team)); - AddScore (player, CTF_RETURN_FLAG_ASSIST_BONUS); - other->client->pers.teamState.assists++; - } - if (player->client->pers.teamState.lastfraggedcarrier + - CTF_FRAG_CARRIER_ASSIST_TIMEOUT > level.time) { - PrintMsg( NULL, "%s" S_COLOR_WHITE " gets an assist for eliminating the %s flag carrier!\n", - player->client->pers.netname, - TeamName(OtherTeam(team))); - AddScore(player, CTF_FRAG_CARRIER_ASSIST_BONUS); - other->client->pers.teamState.assists++; - } - } - } - Team_ResetFlags(); - - CalculateRanks( qfalse ); - - return 0; // Do not respawn this automatically + return 0; } int Team_TouchEnemyFlag( gentity_t *ent, gentity_t *other, int team ) {