From 90b60ebc8d66e07953e4fb8ce70987b4093bd918 Mon Sep 17 00:00:00 2001 From: Hyper <34012267+hyperbx@users.noreply.github.com> Date: Tue, 5 Nov 2024 03:57:34 +0000 Subject: [PATCH] Implemented Werehog battle music toggle --- UnleashedRecomp/game.cpp | 11 +++++++++++ UnleashedRecompLib/config/SWA.toml | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/UnleashedRecomp/game.cpp b/UnleashedRecomp/game.cpp index dfc032f..e285eff 100644 --- a/UnleashedRecomp/game.cpp +++ b/UnleashedRecomp/game.cpp @@ -212,9 +212,20 @@ bool DisableEvilControlTutorialMidAsmHook(PPCRegister& r4, PPCRegister& r5) if (Config::ControlTutorial) return true; + // Only allow enemy QTE prompts to get through. return r4.u32 == 1 && r5.u32 == 1; } +void WerehogBattleMusicMidAsmHook(PPCRegister& r3, PPCRegister& r11) +{ + if (Config::WerehogBattleMusic) + return; + + // Swap CStateBattle for CStateNormal. + if (r11.u8 == 4) + r11.u8 = 3; +} + void SetXButtonHomingMidAsmHook(PPCRegister& r30) { r30.u32 = Config::XButtonHoming; diff --git a/UnleashedRecompLib/config/SWA.toml b/UnleashedRecompLib/config/SWA.toml index 204555b..452bbd5 100644 --- a/UnleashedRecompLib/config/SWA.toml +++ b/UnleashedRecompLib/config/SWA.toml @@ -217,3 +217,13 @@ registers = ["r30"] name = "MovieRendererMidAsmHook" address = 0x82AE3200 registers = ["r3"] + +[[midasm_hook]] +name = "WerehogBattleMusicMidAsmHook" +address = 0x82B47278 +registers = ["r3", "r11"] + +[[midasm_hook]] +name = "WerehogBattleMusicMidAsmHook" +address = 0x82B47728 +registers = ["r3", "r11"] \ No newline at end of file