Fix demo desynchronization caused by analogue camera patch.

This commit is contained in:
Dario
2025-12-31 15:53:37 -03:00
parent c92129eeec
commit e6aebeb65c
2 changed files with 9 additions and 3 deletions
+8 -3
View File
@@ -444,12 +444,17 @@ RECOMP_PATCH void func_80290F14(void) {
break;
}
batimer_set(0x7, 0.4f);
// @recomp Update the analog zoom level to match.
analog_zoom = (f32)D_8037C061;
}
}
// @recomp Patched to update the analog zoom level every time the original one is modified.
RECOMP_PATCH void func_80290B60(s32 arg0) {
D_8037C061 = arg0;
// @recomp Update the analog zoom level.
analog_zoom = (f32)arg0;
}
// @recomp Patched to allow the flying camera to switch to analog look.
RECOMP_PATCH void func_80291108(void) {
if (!func_80290D48() && ncDynamicCamera_getState() == 0x10) {
+1
View File
@@ -5,6 +5,7 @@ extern s32 getGameMode(void);
// @recomp Check whether the game is currently on a mode that uses demo playback instead of the player's inputs.
bool recomp_in_demo_playback_game_mode() {
switch (getGameMode()) {
case GAME_MODE_2_UNKNOWN:
case GAME_MODE_6_FILE_PLAYBACK:
case GAME_MODE_7_ATTRACT_DEMO:
case GAME_MODE_8_BOTTLES_BONUS: