]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/announcer.qc
Merge remote-tracking branch 'origin/master' into samual/notification_rewrite
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / announcer.qc
index 49e2b2cbe2bace83fca4584239f1d283fde78f8f..ec4cc78f6a06da63fa26b78cc92a2d414d1575b2 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,14 +75,13 @@ 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);
        float timeleft = max(0, timelimit * 60 + getstatf(STAT_GAMESTARTTIME) - time);
-       float warmup_timeleft;
+       float warmup_timeleft = 0;
        
        if(warmup_stage) 
                if(autocvar_g_warmup_limit > 0)
@@ -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,62 +134,14 @@ void Announcer_Time()
        }
 }
 
-/**
- * Announce carried items (e.g. flags in CTF).
- */
-float redflag_prev;
-float blueflag_prev;
-void carrierAnnouncer() {
-       float stat_items, redflag, blueflag;
-       float pickup;
-       string item;
-
-       if not(autocvar_cl_notify_carried_items)
-               return;
-
-       stat_items = getstati(STAT_ITEMS);
-
-       redflag = (stat_items/IT_RED_FLAG_TAKEN) & 3;
-       blueflag = (stat_items/IT_BLUE_FLAG_TAKEN) & 3;
-
-       if (redflag == 3 && redflag != redflag_prev) {
-               item = _("^1RED^7 flag");
-               pickup = (redflag_prev == 2);
-       }
-
-       if (blueflag == 3 && blueflag != blueflag_prev) {
-               item = _("^4BLUE^7 flag");
-               pickup = (blueflag_prev == 2);
-       }
-
-       if (item)
-       {
-               if (pickup) {
-                       if (autocvar_cl_notify_carried_items & 2)
-                               centerprint(sprintf(_("You picked up the %s!"), item));
-               }
-               else {
-                       if (autocvar_cl_notify_carried_items & 1)
-                               centerprint(sprintf(_("You got the %s!"), item));
-               }
-       }
-
-       blueflag_prev = blueflag;
-       redflag_prev = redflag;
-}
-
 void Announcer()
 {
        Announcer_Gamestart();
        Announcer_Time();
-       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 +186,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
+}