From 4997c4c0ed2ac9ae5be455c3df53c0d7c8bfa129 Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Fri, 10 Nov 2023 17:28:54 -0700 Subject: [PATCH] Add K_IsPlayingDisplayPlayer for HUD sounds --- src/k_kart.c | 6 ++++++ src/k_kart.h | 2 ++ src/k_roulette.c | 6 +++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 99483e230..bf6f731d7 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -12630,4 +12630,10 @@ void K_SetTireGrease(player_t *player, tic_t tics) player->tiregrease = tics; } +// somewhat sensible check for HUD sounds in a post-bot-takeover world +boolean K_IsPlayingDisplayPlayer(player_t *player) +{ + return P_IsDisplayPlayer(player) && (!player->exiting); +} + //} diff --git a/src/k_kart.h b/src/k_kart.h index 7a4424f08..4ddd8b1c3 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -243,6 +243,8 @@ boolean K_isPlayerInSpecialState(player_t *p); void K_SetTireGrease(player_t *player, tic_t tics); +boolean K_IsPlayingDisplayPlayer(player_t *player); + #ifdef __cplusplus } // extern "C" #endif diff --git a/src/k_roulette.c b/src/k_roulette.c index 1b378aeae..d01678d9c 100644 --- a/src/k_roulette.c +++ b/src/k_roulette.c @@ -1633,7 +1633,7 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd) //player->karthud[khud_itemblinkmode] = 1; //player->karthud[khud_rouletteoffset] = K_GetRouletteOffset(roulette, FRACUNIT); - if (P_IsDisplayPlayer(player)) + if (K_IsPlayingDisplayPlayer(player)) { S_StartSound(NULL, sfx_itrole); } @@ -1680,7 +1680,7 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd) player->karthud[khud_itemblinkmode] = 0; player->karthud[khud_rouletteoffset] = K_GetRouletteOffset(roulette, FRACUNIT); - if (P_IsDisplayPlayer(player)) + if (K_IsPlayingDisplayPlayer(player)) { if (roulette->ringbox) { @@ -1714,7 +1714,7 @@ void K_KartItemRoulette(player_t *const player, ticcmd_t *const cmd) // This makes the roulette produce the random noises. roulette->sound = (roulette->sound + 1) % 8; - if (P_IsDisplayPlayer(player)) + if (K_IsPlayingDisplayPlayer(player)) { if (roulette->ringbox) S_StartSound(NULL, sfx_s240);