From a9e280e11625476d1c9e735d4b345261b2718b4e Mon Sep 17 00:00:00 2001 From: Hyper <34012267+hyperbx@users.noreply.github.com> Date: Fri, 7 Mar 2025 01:54:17 +0000 Subject: [PATCH] Fix Homing Attack on Jump not affecting Cool Edge Act 3 (Day) (#904) --- UnleashedRecomp/patches/input_patches.cpp | 12 ++++++++++++ UnleashedRecomp/patches/player_patches.cpp | 7 ------- UnleashedRecompLib/config/SWA.toml | 7 +++++++ 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/UnleashedRecomp/patches/input_patches.cpp b/UnleashedRecomp/patches/input_patches.cpp index 9db182c..afc5096 100644 --- a/UnleashedRecomp/patches/input_patches.cpp +++ b/UnleashedRecomp/patches/input_patches.cpp @@ -318,6 +318,18 @@ void PostureSpaceHurrierDPadSupportYMidAsmHook(PPCRegister& pPadState, PPCVRegis vector.f32[3] = -1.0f; } +void SetXButtonHomingMidAsmHook(PPCRegister& r1) +{ + auto pXButtonHoming = (bool*)(g_memory.base + r1.u32 + 0x63); + + *pXButtonHoming = !Config::HomingAttackOnJump; +} + +bool IsHomingAttackOnJump() +{ + return Config::HomingAttackOnJump; +} + // ------------- WORLD MAP ------------- // bool WorldMapDeadzoneMidAsmHook(PPCRegister& pPadState) diff --git a/UnleashedRecomp/patches/player_patches.cpp b/UnleashedRecomp/patches/player_patches.cpp index e951199..cce0a58 100644 --- a/UnleashedRecomp/patches/player_patches.cpp +++ b/UnleashedRecomp/patches/player_patches.cpp @@ -95,13 +95,6 @@ void PostUnleashMidAsmHook(PPCRegister& r30) g_isUnleashCancelled = false; } -void SetXButtonHomingMidAsmHook(PPCRegister& r1) -{ - auto pXButtonHoming = (bool*)(g_memory.base + r1.u32 + 0x63); - - *pXButtonHoming = !Config::HomingAttackOnJump; -} - // SWA::Player::CEvilSonicContext PPC_FUNC_IMPL(__imp__sub_823B49D8); PPC_FUNC(sub_823B49D8) diff --git a/UnleashedRecompLib/config/SWA.toml b/UnleashedRecompLib/config/SWA.toml index 2c070e9..2c0177e 100644 --- a/UnleashedRecompLib/config/SWA.toml +++ b/UnleashedRecompLib/config/SWA.toml @@ -197,11 +197,18 @@ address = 0x823A4FF0 registers = ["r4", "r5"] return_on_false = true +# Set default value for XButtonHoming. [[midasm_hook]] name = "SetXButtonHomingMidAsmHook" address = 0x8237AC90 registers = ["r1"] +# Disable XML reading for XButtonHoming. +[[midasm_hook]] +name = "IsHomingAttackOnJump" +address = 0x8237ACE4 +jump_address_on_true = 0x8237ACE8 + # Down force HFR fix [[midasm_hook]] name = "DownForceDeltaTimeFixMidAsmHook"