# WARRIORS: Abyss 1.7.0 # BID: E09BC148192342B1 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: 0x8EBDC0 instructions: [ [adrp, x1, 0x126D000], [ldr, s1, [x1, 0xE30]] ] # Redirect DR Targets - type: asm_a64 main_offset: 0x8EBE64 instructions: [ [adrp, x9, $dr_target1], [ldr, s1, [x9, $dr_target1]] ] - type: asm_a64 main_offset: 0x8EBE74 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, 0x126DE3C] value_type: uint32 value: "120 / FPS_LOCK_TARGET" # Prevent from setting it as 0, otherwise game crashes - type: evaluate_compare compare_address: [MAIN, 0x126DE3C] compare_type: "==" compare_value_type: uint32 compare_value: 0 address: [MAIN, 0x126DE3C] value_type: uint32 value: 1 # Others - type: evaluate_write address: [MAIN, 0x126DE30] value_type: float value: "FPS_TARGET" - type: evaluate_write address: [MAIN, 0x126DE34] value_type: uint32 value: "FPS_TARGET" - type: evaluate_write address: [MAIN, 0x126DE38] value_type: float value: "FPS_TARGET"