Skip to content

Commit 1495a2d

Browse files
committed
[XCX] Apply cutscene fix to prerendered cutscenes
1 parent 20ab154 commit 1495a2d

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

src/XenobladeChroniclesX/Mods/60FPS/patch_Cutscene.asm

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,29 @@ forceCutsceneLimit:
77
.int 0
88

99
_useCutsceneLimit:
10-
li r10, 1
10+
li r10, 5
1111
lis r9, forceCutsceneLimit@ha
1212
stw r10, forceCutsceneLimit@l(r9)
1313

1414
lfs f11, -0x303C(r8)
1515
blr
1616

17+
_usePrerenderedCutsceneLimit:
18+
li r4, 5
19+
lis r3, forceCutsceneLimit@ha
20+
stw r4, forceCutsceneLimit@l(r3)
21+
22+
lwz r3, 0x0(r30)
23+
blr
24+
1725
_resetCutsceneLimit:
18-
li r10, 0
26+
lis r9, forceCutsceneLimit@ha
27+
lwz r10, forceCutsceneLimit@l(r9)
28+
cmpwi r10, 0
29+
ble _restoreRegisters
30+
31+
li r9, -1
32+
add r10, r10, r9
1933
lis r9, forceCutsceneLimit@ha
2034
stw r10, forceCutsceneLimit@l(r9)
2135
b _restoreRegisters
@@ -34,8 +48,8 @@ cmpwi r10, 1
3448
bne _calculateFPS
3549
lis r10, forceCutsceneLimit@ha
3650
lwz r10, forceCutsceneLimit@l(r10)
37-
cmpwi r10, 1
38-
bne _calculateFPS
51+
cmpwi r10, 0
52+
ble _calculateFPS
3953

4054
; If a cutscene FPS limit is set, lower FPS
4155
_lowerCutsceneFPS:

src/XenobladeChroniclesX/Mods/60FPS/patch_GameSpeed.asm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ moduleMatches = 0xF882D5CF
282282

283283
0x02FD5AB4 = bla _calculateGamespeed
284284
0x027685B0 = bla _useCutsceneLimit
285+
0x03AC2810 = bla _usePrerenderedCutsceneLimit
285286

286287
# These patches are replaced by lowering the framerate to prevent side-effects
287288
# 0x027398B4 = lis r11, averageFPS1@ha ; Double updateEventParam cutscenes
@@ -324,6 +325,7 @@ moduleMatches = 0x7672271D
324325

325326
0x02FD0F7C = bla _calculateGamespeed
326327
0x02766D28 = bla _useCutsceneLimit
328+
0x03ABDBA8 = bla _usePrerenderedCutsceneLimit
327329

328330
# These patches are replaced by lowering the framerate to prevent side-effects
329331
# 0x0273802C = lis r11, averageFPS1@ha ; Double updateEventParam cutscenes
@@ -366,6 +368,7 @@ moduleMatches = 0x30B6E091
366368

367369
0x02FD5A54 = bla _calculateGamespeed
368370
0x027685B0 = bla _useCutsceneLimit
371+
0x03AC2790 = bla _usePrerenderedCutsceneLimit
369372

370373
# These patches are replaced by lowering the framerate to prevent side-effects
371374
# 0x027398B4 = lis r11, averageFPS1@ha ; Double updateEventParam cutscenes

0 commit comments

Comments
 (0)