From: divverent Date: Mon, 14 Nov 2011 09:31:55 +0000 (+0000) Subject: CSQC: track client-side entities for sounds issued for the server-side matching entity X-Git-Tag: xonotic-v0.6.0~163^2~4 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=commitdiff_plain;h=e5c29594c758bea75f33b9a7709d0a0a2d599a18 CSQC: track client-side entities for sounds issued for the server-side matching entity git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@11555 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/snd_main.c b/snd_main.c index 23f1bca7..71f8b4d7 100644 --- a/snd_main.c +++ b/snd_main.c @@ -1324,6 +1324,13 @@ static void SND_Spatialize_WithSfx(channel_t *ch, qboolean isstatic, sfx_t *sfx) else Matrix4x4_OriginFromMatrix(&cl.entities[ch->entnum].render.matrix, ch->origin); } + else if (cl.csqc_server2csqcentitynumber[ch->entnum]) + { + //Con_Printf("-- entnum %i (client %i) origin %f %f %f neworigin %f %f %f\n", ch->entnum, cl.csqc_server2csqcentitynumber[ch->entnum], ch->origin[0], ch->origin[1], ch->origin[2], cl.entities[ch->entnum].state_current.origin[0], cl.entities[ch->entnum].state_current.origin[1], cl.entities[ch->entnum].state_current.origin[2]); + + if (!CL_VM_GetEntitySoundOrigin(cl.csqc_server2csqcentitynumber[ch->entnum] + MAX_EDICTS, ch->origin)) + ch->entnum = MAX_EDICTS; // entity was removed, disown sound + } } mastervol = ch->basevolume;