mirror of
https://github.com/hedge-dev/UnleashedRecomp.git
synced 2025-10-30 07:11:05 +00:00
Use global instead of function provided delta time in cmaera HFR patches.
This commit is contained in:
parent
e403f961aa
commit
cffefcdbf3
2 changed files with 20 additions and 17 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#include <api/SWA.h>
|
||||
#include <ui/window.h>
|
||||
#include <cfg/config.h>
|
||||
#include <app.h>
|
||||
|
||||
float m_lastLoadingFrameDelta = 0.0f;
|
||||
std::chrono::steady_clock::time_point m_lastLoadingFrameTime;
|
||||
|
|
@ -36,14 +37,16 @@ static double ComputeLerpFactor(double t, double deltaTime)
|
|||
return 1.0 - pow(1.0 - t, (30.0 + bias) / (fps + bias));
|
||||
}
|
||||
|
||||
void CameraLerpFixMidAsmHook(PPCRegister& t, PPCRegister& deltaTime)
|
||||
// It's important to use global delta time here instead of function provided
|
||||
// delta time, as it might be time scaled and not match with 30 FPS behavior.
|
||||
void CameraLerpFixMidAsmHook(PPCRegister& t)
|
||||
{
|
||||
t.f64 = ComputeLerpFactor(t.f64, deltaTime.f64);
|
||||
t.f64 = ComputeLerpFactor(t.f64, g_deltaTime);
|
||||
}
|
||||
|
||||
void CameraTargetSideOffsetLerpFixMidAsmHook(PPCVRegister& v13, PPCVRegister& v62, PPCRegister& deltaTime)
|
||||
void CameraTargetSideOffsetLerpFixMidAsmHook(PPCVRegister& v13, PPCVRegister& v62)
|
||||
{
|
||||
float factor = float(ComputeLerpFactor(double(v13.f32[0] * v62.f32[0]), deltaTime.f64));
|
||||
float factor = float(ComputeLerpFactor(double(v13.f32[0] * v62.f32[0]), g_deltaTime));
|
||||
|
||||
for (size_t i = 0; i < 4; i++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -213,52 +213,52 @@ jump_address = 0x8247DD3C
|
|||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247DD48 # Slope
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247DDFC # Dash path binormal
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E280 # Target front offset
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E300 # Target
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E3C8 # Target
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E4A0 # Target up positive
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E4E8 # Target up negative
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247E9FC # Position
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247EA84 # Position up negative
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247EA50 # Position up positive
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraDeltaTimeFixMidAsmHook"
|
||||
|
|
@ -269,7 +269,7 @@ jump_address = 0x8247ED34
|
|||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247ED40 # Distance offset 1
|
||||
registers = ["f0", "f21"]
|
||||
registers = ["f0"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraDeltaTimeFixMidAsmHook"
|
||||
|
|
@ -280,12 +280,12 @@ jump_address = 0x8247ED58
|
|||
[[midasm_hook]]
|
||||
name = "CameraLerpFixMidAsmHook"
|
||||
address = 0x8247ED64 # Distance offset 2
|
||||
registers = ["f13", "f21"]
|
||||
registers = ["f13"]
|
||||
|
||||
[[midasm_hook]]
|
||||
name = "CameraTargetSideOffsetLerpFixMidAsmHook"
|
||||
address = 0x8247F12C # Target side offset
|
||||
registers = ["v13", "v62", "f21"]
|
||||
registers = ["v13", "v62"]
|
||||
|
||||
# 2D camera HFR fixes
|
||||
[[midasm_hook]]
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue