From ce2162805cafedc34e8f644ef30c3fcfe21c3972 Mon Sep 17 00:00:00 2001
From: z411 <z411@omaera.org>
Date: Thu, 3 Sep 2020 21:16:49 -0400
Subject: [PATCH] Implemented end jingles

---
 qcsrc/client/hud/panel/infomessages.qc |  4 ++--
 qcsrc/server/autocvars.qh              |  5 +++++
 qcsrc/server/world.qc                  | 23 +++++++++++++++++++++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/qcsrc/client/hud/panel/infomessages.qc b/qcsrc/client/hud/panel/infomessages.qc
index a5322f93bd..3cafc9f280 100644
--- a/qcsrc/client/hud/panel/infomessages.qc
+++ b/qcsrc/client/hud/panel/infomessages.qc
@@ -123,8 +123,8 @@ void HUD_InfoMessages()
 			}
 
 			//bool mutator_returnvalue = MUTATOR_CALLHOOK(DrawInfoMessages, pos, mySize, img_curr_group);
-			pos = M_ARGV(0, vector);
-			img_curr_group = M_ARGV(2, int);
+			//pos = M_ARGV(0, vector);
+			//img_curr_group = M_ARGV(2, int);
 
 			//if(!mutator_returnvalue)
 			//{
diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh
index e153fdd5fb..e96c67b47b 100644
--- a/qcsrc/server/autocvars.qh
+++ b/qcsrc/server/autocvars.qh
@@ -124,9 +124,14 @@ bool autocvar_g_chat_teamcolors;
 bool autocvar_g_chat_tellprivacy;
 bool autocvar_g_forced_respawn;
 string autocvar_g_forced_team_otherwise; // TODO: Move to teamplay.qc
+
 bool autocvar_g_chat_sounds; // z411
 string autocvar_g_chat_sounds_list; // z411
 float autocvar_g_chat_sounds_flood; // z411
+bool autocvar_g_jingle_end; // z411
+string autocvar_g_jingle_end_list; // z411
+float autocvar_g_jingle_end_volume; // z411
+
 #define autocvar_g_friendlyfire cvar("g_friendlyfire")
 #define autocvar_g_friendlyfire_virtual cvar("g_friendlyfire_virtual")
 #define autocvar_g_friendlyfire_virtual_force cvar("g_friendlyfire_virtual_force")
diff --git a/qcsrc/server/world.qc b/qcsrc/server/world.qc
index 82ec1f3acb..25163269bf 100644
--- a/qcsrc/server/world.qc
+++ b/qcsrc/server/world.qc
@@ -1621,6 +1621,29 @@ void NextLevel()
 	});
 
 	target_music_kill();
+	
+	// z411
+	if(autocvar_g_jingle_end) {
+		int jingles_len = 0;
+		string jingles[32];
+		jingles[0] = "";
+		
+		FOREACH_WORD(autocvar_g_jingle_end_list, it,
+		{
+			jingles[jingles_len] = it;
+			jingles_len++;
+		});
+		
+		if(jingles_len) {
+			int song_to_play = rint(random() * (jingles_len - 1));
+		
+			FOREACH_CLIENT(IS_REAL_CLIENT(it),
+			{
+				stuffcmd(it, "cd stop\n");
+				_sound(it, CH_INFO, strcat("jingle/", jingles[song_to_play], ".ogg"), VOL_BASE * autocvar_g_jingle_end_volume, ATTEN_NORM);
+			});
+		}
+	}
 
 	if(autocvar_g_campaign)
 		CampaignPreIntermission();
-- 
2.39.5