From: TimePath Date: Sun, 25 Oct 2015 10:52:31 +0000 (+1100) Subject: StartFrame: minor cleanup X-Git-Tag: xonotic-v0.8.2~1796 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=f5e50daacc34f2e27f6058abab635aba3e36e43d;p=xonotic%2Fxonotic-data.pk3dir.git StartFrame: minor cleanup --- diff --git a/qcsrc/common/weapons/weapon/porto.qc b/qcsrc/common/weapons/weapon/porto.qc index b17476632..790ab53ca 100644 --- a/qcsrc/common/weapons/weapon/porto.qc +++ b/qcsrc/common/weapons/weapon/porto.qc @@ -37,6 +37,7 @@ PORTO_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) .vector porto_v_angle; // holds "held" view angles .float porto_v_angle_held; .vector right_vector; +.float porto_forbidden; #endif #endif #ifdef IMPLEMENTATION @@ -45,6 +46,13 @@ PORTO_SETTINGS(WEP_ADD_CVAR, WEP_ADD_PROP) spawnfunc(weapon_porto) { weapon_defaultspawnfunc(WEP_PORTO.m_id); } +REGISTER_MUTATOR(porto_ticker, true); +MUTATOR_HOOKFUNCTION(porto_ticker, SV_StartFrame) { + entity e; + FOR_EACH_PLAYER(e) + e.porto_forbidden = max(0, e.porto_forbidden - 1); +} + void W_Porto_Success(void) {SELFPARAM(); if(self.realowner == world) diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index 4a7edc2b9..5e86dea0f 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -388,8 +388,6 @@ string clientstuff; .float phase; .int pressedkeys; -.float porto_forbidden; - .string fog; string cvar_changes; diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index 5fc3f771a..1ffcb60c5 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -184,8 +184,9 @@ float game_delay; float game_delay_last; float RedirectionThink(); -void StartFrame (void) -{SELFPARAM(); +void StartFrame() +{ + SELFPARAM(); execute_next_frame(); remove = remove_unsafely; // not during spawning! @@ -196,12 +197,11 @@ void StartFrame (void) #ifdef PROFILING if(time > client_cefc_accumulatortime + 1) { - float t, pp, c_seeing, c_seen; - entity cl; - t = client_cefc_accumulator / (time - client_cefc_accumulatortime); + float t = client_cefc_accumulator / (time - client_cefc_accumulatortime); LOG_INFO("CEFC time: ", ftos(t * 1000), "ms; "); - c_seeing = 0; - c_seen = 0; + int c_seeing = 0; + int c_seen = 0; + entity cl; FOR_EACH_CLIENT(cl) { if(IS_REAL_CLIENT(cl)) @@ -238,17 +238,15 @@ void StartFrame (void) skill = autocvar_skill; // detect when the pre-game countdown (if any) has ended and the game has started - game_delay = (time < game_starttime) ? true : false; + game_delay = (time < game_starttime); - if(game_delay_last == true) - if(game_delay == false) - if(autocvar_sv_eventlog) + if(autocvar_sv_eventlog && game_delay_last && !game_delay) GameLogEcho(":startdelay_ended"); game_delay_last = game_delay; - CreatureFrame (); - CheckRules_World (); + CreatureFrame(); + CheckRules_World(); // if in warmup stage and limit for warmup is hit start match if(warmup_stage) @@ -261,13 +259,7 @@ void StartFrame (void) } bot_serverframe(); - - entity e; - FOR_EACH_PLAYER(e) - e.porto_forbidden = max(0, e.porto_forbidden - 1); - anticheat_startframe(); - MUTATOR_CALLHOOK(SV_StartFrame); }