diff --git a/game/g_cmds.c b/game/g_cmds.c index 93bb4cb..e2d9dd6 100644 --- a/game/g_cmds.c +++ b/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; } @@ -7922,66 +7893,6 @@ static void Cmd_SqlUserMod_f(gentity_t *ent) { } #endif -#ifdef OLDSQL -/* -================= -Cmd_SqlSetup_f -================= -*/ -static void Cmd_SqlSetup_f(gentity_t *ent) { - int res; - int clientNum; - - if(!sql_use.integer || !ent || !ent->client) return; - - if(!IsAdmin(ent)) { - return; - } - - clientNum = ent->client->ps.clientNum; - - res = trap_SQL_CreateTables(sql_dbName.string); - - switch(res) { - case 1: - trap_SendServerCommand(clientNum, "print \"Seems to have worked, check server log.\n\""); - break; - case 0: - trap_SendServerCommand(clientNum, "print \"An SQL Error occured, see server log for more information.\n\""); - break; - } -} - -/* -================= -Cmd_SqlUserDel_f -================= -*/ -static void Cmd_SqlUserDel_f(gentity_t *ent) { - char uName[MAX_TOKEN_CHARS]; - int res; - int clientNum; - - if(!sql_use.integer || !ent || !ent->client) return; - - if(!IsAdmin(ent)) return; - - if(trap_Argc() < 1) return; - - clientNum = ent->client->ps.clientNum; - - trap_Argv(1, uName, sizeof(uName)); - - res = trap_SQL_UserDel(sql_dbName.string, uName); - - if(res) { - trap_SendServerCommand(clientNum, "print \"Seems to have worked.\n\""); - } else { - trap_SendServerCommand(clientNum, "print \"An SQL Error occured.\n\""); - } -} -#endif - /* ================= Cmd_findEntitiesInRadius diff --git a/game/g_local.h b/game/g_local.h index 35de7c5..a47cd8d 100644 --- a/game/g_local.h +++ b/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,31 +1377,20 @@ 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; extern vmCvar_t rpg_imoddmg; extern vmCvar_t rpg_noweapons; -//extern vmCvar_t rpg_marinepass; -//extern vmCvar_t rpg_securitypass; -//extern vmCvar_t rpg_adminpass; -//extern vmCvar_t rpg_medicalpass; -//extern vmCvar_t rpg_sciencepass; -//extern vmCvar_t rpg_commandpass; -//extern vmCvar_t rpg_engineerpass; -//extern vmCvar_t rpg_alienpass; -//extern vmCvar_t rpg_n00bpass; -//extern vmCvar_t rpg_alienflags; -//extern vmCvar_t rpg_marineflags; -//extern vmCvar_t rpg_securityflags; -//extern vmCvar_t rpg_adminflags; -//extern vmCvar_t rpg_medicalflags; -//extern vmCvar_t rpg_scienceflags; -//extern vmCvar_t rpg_commandflags; -//extern vmCvar_t rpg_engineerflags; extern vmCvar_t rpg_welcomemessage; -//extern vmCvar_t rpg_timedmessage; 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; @@ -1421,14 +1404,12 @@ extern vmCvar_t rpg_message10; extern vmCvar_t rpg_forcekillradius; extern vmCvar_t rpg_forcekillradiuswaittime; -//extern vmCvar_t rpg_noclipspectating; extern vmCvar_t rpg_chatarearange; extern vmCvar_t rpg_forcefielddamage; extern vmCvar_t rpg_invisibletripmines; extern vmCvar_t rpg_medicsrevive; extern vmCvar_t rpg_effectsgun; extern vmCvar_t rpg_phaserdisintegrates; -//extern vmCvar_t rpg_enabledranks; extern vmCvar_t rpg_servershakeallclients; extern vmCvar_t rpg_kickAfterXkills; //RPG-X | Phenix | 06/04/2005 extern vmCvar_t rpg_rankSet; @@ -1441,8 +1422,12 @@ extern vmCvar_t rpg_changeRanks; extern vmCvar_t rpg_classSet; extern vmCvar_t rpg_scannablePanels; -//extern vmCvar_t rpg_scannableForceField; //RPG-X | GSIO01 | 13/05/2009 +/* + * 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; @@ -1455,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 @@ -1500,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 @@ -1536,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; @@ -1546,18 +1534,14 @@ extern vmCvar_t rpg_server6; // SP level change extern vmCvar_t rpg_allowSPLevelChange; -/* TODO some might be removed */ -extern vmCvar_t sql_dbName; +// SQL Database extern vmCvar_t sql_use; -extern vmCvar_t sql_server; -extern vmCvar_t sql_user; -extern vmCvar_t sql_password; -extern vmCvar_t sql_port; -extern vmCvar_t sql_hash; // developer tools extern vmCvar_t dev_showTriggers; +extern vmCvar_t rpg_spEasterEggs; + //RPG-X - Stephen: Some global varibles for RPG-X diff --git a/game/g_main.c b/game/g_main.c index 408288f..33404cf 100644 --- a/game/g_main.c +++ b/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; @@ -312,14 +306,8 @@ vmCvar_t rpg_server6; //! Allow target_levelchange to change the current level? vmCvar_t rpg_allowSPLevelChange; -/* TODO some might be removed */ -vmCvar_t sql_dbName; //!< Name of the SQL Database +/* SQL Database */ vmCvar_t sql_use; //!< Use SQL? 1 = mysql, 2 = sqlite -vmCvar_t sql_server; //!< SQL server to connect to (only mysql) -vmCvar_t sql_user; //!< SQL user for sql_server (only mysql) -vmCvar_t sql_password; //!< SQL password for sql_server (only mysql) -vmCvar_t sql_port; //!< SQL port to use to connect to sql_server (only mysql) -vmCvar_t sql_hash; //!< Specifies whether passwords should be hashed and what hash to use (only mysql) // developer tools vmCvar_t dev_showTriggers; @@ -333,6 +321,8 @@ vmCvar_t lua_allowedModules; vmCvar_t g_developer; +vmCvar_t rpg_spEasterEggs; + static cvarTable_t gameCvarTable[] = { // don't override the cheat state set by the system @@ -352,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 }, @@ -365,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 }, @@ -552,21 +536,14 @@ static cvarTable_t gameCvarTable[] = { { &rpg_server5, "rpg_server5", "0", CVAR_ARCHIVE, 0, qfalse }, { &rpg_server6, "rpg_server6", "0", CVAR_ARCHIVE, 0, qfalse }, { &rpg_allowSPLevelChange, "rpg_allowSPLevelChange", "1", CVAR_ARCHIVE | CVAR_LATCH, 0, qfalse }, + + { &rpg_spEasterEggs, "rpg_spEasterEggs", "0", CVAR_ARCHIVE, 0, qfalse }, - { &dev_showTriggers, "dev_showTriggers", "0", CVAR_ARCHIVE, 0, qfalse } + { &dev_showTriggers, "dev_showTriggers", "0", CVAR_ARCHIVE, 0, qfalse }, - /* TODO some might be removed */ - , - { &sql_dbName, "sql_dbName", "rpgx", CVAR_ARCHIVE, 0, qfalse }, { &sql_use, "sql_use", "0", CVAR_ARCHIVE, 0, qfalse }, - { &sql_password, "sql_password", "", CVAR_ARCHIVE, 0, qfalse }, - { &sql_port, "sql_port", "3306", CVAR_ARCHIVE, 0, qfalse }, - { &sql_server, "sql_server", "", CVAR_ARCHIVE, 0, qfalse }, - { &sql_user, "sql_user", "rpgx", CVAR_ARCHIVE, 0, qfalse }, - { &sql_hash, "sql_hash", "0", CVAR_ARCHIVE, 0, qfalse } #ifdef G_LUA - , { &g_debugLua, "g_debugLua", "0", 0, 0, qfalse }, { &lua_allowedModules, "lua_allowedModules", "", 0, 0, qfalse }, { &lua_modules, "lua_modules", "", 0, 0, qfalse }, @@ -1671,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; } /* @@ -2771,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/game/g_spawn.c b/game/g_spawn.c index 3cde48d..a6307d6 100644 --- a/game/g_spawn.c +++ b/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/game/g_team.c b/game/g_team.c index 56255f0..f129504 100644 --- a/game/g_team.c +++ b/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 ) {