]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/announcer.qc
Merge branch 'master' into divVerent/csqcmodel
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / announcer.qc
index 49e2b2cbe2bace83fca4584239f1d283fde78f8f..c1f023d6b4a239fefb2d13e85f63753f5b26344d 100644 (file)
@@ -2,7 +2,7 @@ float previous_announcement_time;
 float previous_game_starttime;
 string previous_announcement;
 
-//remaining maptime announcer sounds, true when sound was already played
+// remaining maptime announcer sounds, true when sound was already played
 float announcer_1min;
 float announcer_5min;
 
@@ -12,7 +12,9 @@ void Announcer_Play(string announcement)
        {
                sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announcement, ".wav"), VOL_BASEVOICE, ATTN_NONE);
 
-               previous_announcement = announcement;
+               if(previous_announcement) { strunzone(previous_announcement); }
+               
+               previous_announcement = strzone(announcement);
                previous_announcement_time = time;
        }
 }
@@ -73,9 +75,8 @@ void Announcer_Gamestart()
        previous_game_starttime = startTime;
 }
 
-/**
- * Plays the 1minute or 5 minutes (of maptime) remaining sound, if client wants it
- */
+
+// Plays the 1 minute or 5 minutes (of maptime) remaining sound, if client wants it
 void Announcer_Time() 
 {
        float timelimit = getstatf(STAT_TIMELIMIT);
@@ -116,12 +117,14 @@ void Announcer_Time()
        {
                if (announcer_1min)
                {
-                       if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 60) || (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft > 60))
-                               announcer_1min = FALSE;
+                       if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timeleft > 60) 
+                               || (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft > 60))
+                                       announcer_1min = FALSE;
                }
-               else if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 60) || (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft < 60))
+               else if(((!warmup_stage || autocvar_g_warmup_limit == 0) && timelimit > 0 && timeleft < 60) 
+                       || (warmup_stage && autocvar_g_warmup_limit > 0 && warmup_timeleft < 60))
                {
-                       //if we're in warmup mode, check whether there's a warmup timelimit
+                       // if we're in warmup mode, check whether there's a warmup timelimit
                        if not(autocvar_g_warmup_limit == -1 && warmup_stage) 
                        {
                                announcer_1min = TRUE;
@@ -131,9 +134,6 @@ void Announcer_Time()
        }
 }
 
-/**
- * Announce carried items (e.g. flags in CTF).
- */
 float redflag_prev;
 float blueflag_prev;
 void carrierAnnouncer() {
@@ -182,11 +182,8 @@ void Announcer()
        carrierAnnouncer();
 }
 
-/**
- * Add all future announcer sounds precaches here.
- * TODO: announcer queues
- */
-void Announcer_Precache () {
+void Announcer_Precache () 
+{
        precache_sound (strcat("announcer/", autocvar_cl_announcer, "/1minuteremains.wav"));
        precache_sound (strcat("announcer/", autocvar_cl_announcer, "/5minutesremain.wav"));
 
@@ -231,4 +228,4 @@ void Announcer_Precache () {
        precache_sound (strcat("announcer/", autocvar_cl_announcer, "/voteaccept.wav"));
        precache_sound (strcat("announcer/", autocvar_cl_announcer, "/votecall.wav"));
        precache_sound (strcat("announcer/", autocvar_cl_announcer, "/votefail.wav"));
-}
\ No newline at end of file
+}