From 5e671b3483dd82217332680b5dc5e096b51806eb Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 11 Mar 2020 19:39:06 -0700 Subject: [PATCH] Don't reset special music in P_RestoreMusic Because that resets Grow music when you stack Grow over Invincibility, and Invincibility ends. (Also Megamix Themes.) Thanks Snu, for calling P_RestoreMusic every tic! --- src/k_kart.c | 12 ++++++++---- src/p_user.c | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/k_kart.c b/src/k_kart.c index 29579ad50..674060f49 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -7101,9 +7101,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground) P_SetScale(overlay, player->mo->scale); } player->kartstuff[k_invincibilitytimer] = itemtime+(2*TICRATE); // 10 seconds + if (P_IsDisplayPlayer(player)) + S_ChangeMusicSpecial("kinvnc"); + else + S_StartSound(player->mo, (cv_kartinvinsfx.value ? sfx_alarmg : sfx_kinvnc)); P_RestoreMusic(player); - if (!P_IsDisplayPlayer(player)) - S_StartSound(player->mo, (cv_kartinvinsfx.value ? sfx_alarmi : sfx_kinvnc)); K_PlayPowerGloatSound(player->mo); player->kartstuff[k_itemamount]--; } @@ -7304,9 +7306,11 @@ void K_MoveKartPlayer(player_t *player, boolean onground) if (cv_kartdebugshrink.value && !modeattacking && !player->bot) player->mo->destscale = (6*player->mo->destscale)/8; player->kartstuff[k_growshrinktimer] = itemtime+(4*TICRATE); // 12 seconds - P_RestoreMusic(player); - if (!P_IsDisplayPlayer(player)) + if (P_IsDisplayPlayer(player)) + S_ChangeMusicSpecial("kgrow"); + else S_StartSound(player->mo, (cv_kartinvinsfx.value ? sfx_alarmg : sfx_kgrow)); + P_RestoreMusic(player); S_StartSound(player->mo, sfx_kc5a); } player->kartstuff[k_itemamount]--; diff --git a/src/p_user.c b/src/p_user.c index 8d32827f9..5fee0ac9b 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -1247,13 +1247,13 @@ void P_RestoreMusic(player_t *player) // Item - Grow if (wantedmus == 2) { - S_ChangeMusicSpecial("kgrow"); + S_ChangeMusicInternal("kgrow", true); S_SetRestoreMusicFadeInCvar(&cv_growmusicfade); } // Item - Invincibility else if (wantedmus == 1) { - S_ChangeMusicSpecial("kinvnc"); + S_ChangeMusicInternal("kinvnc", true); S_SetRestoreMusicFadeInCvar(&cv_invincmusicfade); } else