From f001f07f77c1ad1a541d339bf610fd41a6c13129 Mon Sep 17 00:00:00 2001 From: Eidolon Date: Tue, 10 Jun 2025 16:48:22 -0500 Subject: [PATCH] Disable spectator voice in-level --- src/d_clisrv.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 767a63503..fac79bcab 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -5239,6 +5239,12 @@ static void PT_HandleVoiceClient(SINT8 node, boolean isserver) return; } + if (G_GamestateUsesLevel() && players[playernum].spectator) + { + // ignore spectators in levels + return; + } + boolean terminal = (pl->flags & VOICE_PAK_FLAGS_TERMINAL_BIT) > 0; UINT32 framesize = doomcom->datalength - BASEPACKETSIZE - sizeof(voice_pak); UINT8 *frame = (UINT8*)(pl) + sizeof(voice_pak); @@ -5334,6 +5340,12 @@ static void PT_HandleVoiceServer(SINT8 node) continue; } + if (G_GamestateUsesLevel() && player->spectator) + { + // ignore spectators in levels + continue; + } + // Is this node P1 on that node? boolean isp1onnode = nodetoplayer[pnode] >= 0 && nodetoplayer[pnode] < MAXPLAYERS;