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