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
	
	 Skyth
						Skyth