From 6df25392b8bccc684702e801f5722b0a2887a8fd Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Fri, 27 Jan 2023 06:16:47 +0300 Subject: [PATCH] engine: server: redirect special sounds, detected by leading asterisk, into CHAN_STREAM In GoldSrc this magic symbol means that we should not override channel this sound is playing on. Originally handled on client but for both static and dynamic sounds so let's redirect channel on server side instead. --- engine/server/sv_game.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engine/server/sv_game.c b/engine/server/sv_game.c index b439ae29..d3d953dc 100644 --- a/engine/server/sv_game.c +++ b/engine/server/sv_game.c @@ -2087,8 +2087,11 @@ int SV_BuildSoundMsg( sizebuf_t *msg, edict_t *ent, int chan, const char *sample } else { - // TESTTEST - if( *sample == '*' ) chan = CHAN_AUTO; + // '*' is special symbol to handle stream sounds + // (CHAN_VOICE but cannot be overriden) + // originally handled on client side + if( *sample == '*' ) + chan = CHAN_STREAM; // precache_sound can be used twice: cache sounds when loading // and return sound index when server is active