announcer_countdown = NULL;
return;
}
- //if(roundstarttime >= starttime)
- // starttime = roundstarttime;
+
if(starttime <= time && roundstarttime != starttime) // game start time has passed
announcer_5min = announcer_1min = false; // reset maptime announcers now as well
- if(roundstarttime && time >= starttime) {
- rounds = true;
- countdown = (roundstarttime - time);
- } else {
- rounds = false;
- countdown = (starttime - time);
- }
-
+ bool inround = (roundstarttime && time >= starttime);
+ float countdown = (inround ? roundstarttime - time : starttime - time);
float countdown_rounded = floor(0.5 + countdown);
+ if(time >= starttime) centerprint_ClearTitle();
+
if(countdown <= 0) // countdown has finished, starttime is now
{
Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
void accuracy_free(entity e)
{
delete(CS(e).accuracy);
+ delete(e.roundaccuracy);
}
+ void accuracy_reset(entity e)
+ {
+ entity a = CS(e).accuracy;
+ if (!a) return;
+
+ for (int i = 0; i < REGISTRY_MAX(Weapons); i++)
+ {
+ a.accuracy_frags[i] = 0;
+ a.accuracy_hit[i] = 0;
+ a.accuracy_fired[i] = 0;
+ a.accuracy_cnt_hit[i] = 0;
+ a.accuracy_cnt_fired[i] = 0;
+ }
+ }
+
// force a resend of a player's accuracy stats
void accuracy_resend(entity e)
{