From 7ed24b44da4213e24267ec7362ec7ad63ee0570f Mon Sep 17 00:00:00 2001 From: Samual Date: Tue, 18 Oct 2011 02:37:30 -0400 Subject: [PATCH] Proper precaching, plus make the net_announce system ACTUALLY work instead of some stupid hack :P --- qcsrc/client/Defs.qc | 3 --- qcsrc/client/Main.qc | 11 ++--------- qcsrc/client/View.qc | 4 +++- qcsrc/client/announcer.qc | 11 ++--------- 4 files changed, 7 insertions(+), 22 deletions(-) diff --git a/qcsrc/client/Defs.qc b/qcsrc/client/Defs.qc index 4ef1d04d6..b074aa3b2 100644 --- a/qcsrc/client/Defs.qc +++ b/qcsrc/client/Defs.qc @@ -177,9 +177,6 @@ float dmg_take; float vid_conwidth, vid_conheight; float binddb; -// Announcer -string announce_snd; - // QUALIFYING float race_checkpoint; float race_time; diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 21617d1a7..81a04caf0 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -42,7 +42,6 @@ float __engine_check; #endif string forcefog; -string cl_announcer_prev; void WaypointSprite_Load(); void CSQC_Init(void) { @@ -141,13 +140,7 @@ void CSQC_Init(void) DamageInfo_Precache(); Vehicles_Precache(); turrets_precache(); - - if(autocvar_cl_announcer != cl_announcer_prev) { - Announcer_Precache(); - if(cl_announcer_prev) - strunzone(cl_announcer_prev); - cl_announcer_prev = strzone(autocvar_cl_announcer); - } + Announcer_Precache(); Tuba_Precache(); if(autocvar_cl_reticle_item_normal) precache_pic("gfx/reticle_normal"); @@ -1384,7 +1377,7 @@ float CSQC_Parse_TempEntity() bHandled = true; break; case TE_CSQC_ANNOUNCE: - announce_snd = strzone(ReadString()); + Net_Announcer(ReadString()); bHandled = true; break; case TE_CSQC_KILLNOTIFY: diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index aa70b736d..9b9b37fb6 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -490,12 +490,14 @@ void CSQC_UpdateView(float w, float h) PostInit(); if(intermission && !isdemo() && !(calledhooks & HOOK_END)) + { if(calledhooks & HOOK_START) { localcmd("\ncl_hook_gameend\n"); calledhooks |= HOOK_END; } - + } + Announcer(); fov = autocvar_fov; diff --git a/qcsrc/client/announcer.qc b/qcsrc/client/announcer.qc index 65d7500ca..0b404edab 100644 --- a/qcsrc/client/announcer.qc +++ b/qcsrc/client/announcer.qc @@ -1,12 +1,6 @@ -void serverAnnouncer() +void Net_Announcer(string announce_snd) { - // check for pending announcement, play it and remove it - if(announce_snd != "") - { - sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE); - strunzone(announce_snd); - announce_snd = ""; - } + sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE); } /** @@ -157,7 +151,6 @@ void carrierAnnouncer() { void Announcer() { CheckForGamestartChange(); - serverAnnouncer(); maptimeAnnouncer(); carrierAnnouncer(); } -- 2.39.2