From: Samual Date: Tue, 18 Oct 2011 06:37:30 +0000 (-0400) Subject: Proper precaching, plus make the net_announce system ACTUALLY work instead X-Git-Tag: xonotic-v0.6.0~35^2~66^2~2^2~17 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=7ed24b44da4213e24267ec7362ec7ad63ee0570f;p=xonotic%2Fxonotic-data.pk3dir.git Proper precaching, plus make the net_announce system ACTUALLY work instead of some stupid hack :P --- 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(); }