diff --git a/UnleashedRecomp/game.cpp b/UnleashedRecomp/game.cpp index fc80797..3a99ca6 100644 --- a/UnleashedRecomp/game.cpp +++ b/UnleashedRecomp/game.cpp @@ -380,4 +380,9 @@ void Camera2DLerpFixMidAsmHook(PPCRegister& t, PPCRegister& deltaTime) t.f64 = ComputeLerpFactor(std::min(1.0, t.f64 * 2.0), deltaTime.f64 / 60.0); } +void Camera2DSlopeLerpFixMidAsmHook(PPCRegister& t, PPCRegister& deltaTime) +{ + t.f64 = ComputeLerpFactor(t.f64, deltaTime.f64 / 60.0); +} + #pragma endregion diff --git a/UnleashedRecompLib/config/SWA.toml b/UnleashedRecompLib/config/SWA.toml index 33deebc..cee6200 100644 --- a/UnleashedRecompLib/config/SWA.toml +++ b/UnleashedRecompLib/config/SWA.toml @@ -324,6 +324,17 @@ address = 0x824768C8 # Spherical position registers = ["f0", "f28"] jump_address = 0x824768CC +[[midasm_hook]] +name = "CameraDeltaTimeFixMidAsmHook" +address = 0x82476768 # Slope +registers = ["f1", "f30"] +jump_address = 0x8247676C + +[[midasm_hook]] +name = "Camera2DSlopeLerpFixMidAsmHook" +address = 0x82476778 # Slope +registers = ["f1", "f28"] + [[midasm_hook]] name = "GetStageIDMidAsmHook" address = 0x82528198