2025-09-05 17:12:01 +03:00

92 lines
2.0 KiB
YAML

# The Legend of Heroes: Trails into Reverie 1.0.4
# BID: 7735C8DD89D145F2
# "Beyond the Reverie" dream has broken text fade effects above 30 FPS.
unsafeCheck: true
MASTER_WRITE:
# Force FPS lock to 60
-
type: asm_a64
main_offset: 0x81AB0
instructions: [
[movk, w8, 0x3c88, 16]
]
# Force refreshing camera to 60 Hz
-
type: asm_a64
main_offset: 0x81AE4
instructions: [
[movk, w9, 0x3c88, 16]
]
# Properly scale frametime for FPS drops
-
type: asm_a64
main_offset: 0x81AEC
instructions: [
[movk, w10, 0xbc88, 16]
]
# Read actual frametime instead of hardcoded 1/30
# Store actual frametime as float in seconds to MAIN+0x7A52478
# It sets minimum delta to 1/60 and maximum delta to 1/15
-
type: asm_a64
main_offset: 0x8192C
instructions: [
[b, 0xd68334]
]
-
type: asm_a64
main_offset: 0xD682D0
instructions: [
[adrp, x9, 0xf06000],
[ldr, s1, [x9, 0xf00]],
[ldr, s2, [x9, 0xe08]],
[bl, 0xd667e0],
[adrp, x9, 0x7a52000],
[ldr, x10, [x9, 0x470]],
[str, x0, [x9, 0x470]],
[sub, x10, x0, x10],
[ucvtf, s3, x10],
[mov, w9, 0x7c00],
[movk, w9, 0x4b92, 16],
[fmov, s4, w9],
[fdiv, s4, s3, s4],
[adrp, x9, 0x7a52000],
[fcmp, s4, s1],
[b.hi, +12],
[fmov, s4, s1],
[b, +16],
[fcmp, s4, s2],
[b.lt, +8],
[fmov, s4, s2],
[str, s4, [x9, 0x478]],
[mov, w8, 0x1af0],
[mov, x0, x20],
[b, 0x81930],
[mov, x20, x0],
[b, -104]
]
# Read actual frametime as float in seconds from MAIN+0x7A52478
-
type: asm_a64
main_offset: 0x81B50
instructions: [
[adrp, x11, 0x7a52000],
[ldr, w11, [x11, 0x478]]
]
# Default value
-
type: bytes
main_offset: 0x7A52478
value_type: float
value: 0.033333333333
ALL_FPS:
# DUMMY
-
type: write
address: [MAIN, 0x7A52500]
value_type: uint8
value: 0