2026-04-05 07:45:00 +03:00

75 lines
1.6 KiB
YAML

# 無双アビス 1.8.0
# BID: 7FB0CED6B8B51B80
DECLARATIONS:
-
type: variable
name: dr_target1
value_type: float
default_value: 50
evaluate: "1.5 * FRAMETIME_TARGET"
-
type: variable
name: dr_target2
value_type: float
default_value: 40
evaluate: "1.2 * FRAMETIME_TARGET"
MASTER_WRITE:
# REF: 09 49 A8 52 21 01 27 1E 00 20 21 1E
# Use FPS Target instead of vsync value for Dynamic Resolution max delta
-
type: asm_a64
main_offset: 0x8EEAC0
instructions: [
[adrp, x1, 0x1272000],
[ldr, s1, [x1, 0xE30]]
]
# Redirect DR Targets
-
type: asm_a64
main_offset: 0x8EEB64
instructions: [
[adrp, x9, $dr_target1],
[ldr, s1, [x9, $dr_target1]]
]
-
type: asm_a64
main_offset: 0x8EEB74
instructions: [
[adrp, x9, $dr_target2],
[ldr, s1, [x9, $dr_target2]]
]
ALL_FPS:
# REF: 00 00 F0 42 78 00 00 00 00 00 F0 42 04 00 00 00
# FPS Lock
-
type: evaluate_write
address: [MAIN, 0x1272E3C]
value_type: uint32
value: "120 / FPS_LOCK_TARGET"
# Prevent from setting it as 0, otherwise game crashes
-
type: evaluate_compare
compare_address: [MAIN, 0x1272E3C]
compare_type: "=="
compare_value_type: uint32
compare_value: 0
address: [MAIN, 0x1272E3C]
value_type: uint32
value: 1
# Others
-
type: evaluate_write
address: [MAIN, 0x1272E30]
value_type: float
value: "FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0x1272E34]
value_type: uint32
value: "FPS_TARGET"
-
type: evaluate_write
address: [MAIN, 0x1272E38]
value_type: float
value: "FPS_TARGET"