if(countdown <= 0) // countdown has finished, starttime is now
{
Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
- Local_Notification(MSG_MULTI, MULTI_COUNTDOWN_BEGIN);
+ Local_Notification(MSG_MULTI, COUNTDOWN_BEGIN);
delete(this);
announcer_countdown = NULL;
Announcer_ClearTitle();
{
float startTime = STAT(GAMESTARTTIME);
float roundstarttime = STAT(ROUNDSTARTTIME);
- if(roundstarttime > startTime)
+ if(time > startTime && roundstarttime > startTime)
startTime = roundstarttime;
- if(intermission)
+ if(intermission || warmup_stage)
{
- Announcer_ClearTitle();
if(announcer_countdown)
{
+ Announcer_ClearTitle();
centerprint_Kill(ORDINAL(CPID_ROUND));
- if(announcer_countdown)
- {
- delete(announcer_countdown);
- announcer_countdown = NULL;
- }
+ delete(announcer_countdown);
+ announcer_countdown = NULL;
}
return;
}
{
if (!announcer_countdown)
{
- announcer_countdown = new(announcer_countdown);
+ announcer_countdown = new_pure(announcer_countdown);
setthink(announcer_countdown, Announcer_Countdown);
}
{
float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
if(warmup_timelimit > 0)
- timeleft = max(0, warmup_timelimit - time);
+ timeleft = max(0, warmup_timelimit + starttime - time);
else
timeleft = 0;
}