# WARRIORS: Abyss 1.4.0 # BID: 36B692C0FA9F6F46 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: 0x6E3AF0 instructions: [ [adrp, x1, 0x1021000], [ldr, s1, [x1, 0xe10]] ] # Redirect DR Targets - type: asm_a64 main_offset: 0x6E3B94 instructions: [ [adrp, x9, $dr_target1], [ldr, s1, [x9, $dr_target1]] ] - type: asm_a64 main_offset: 0x6E3BA4 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, 0x1021E1C] value_type: uint32 value: "120 / FPS_LOCK_TARGET" # Prevent from setting it as 0, otherwise game crashes - type: evaluate_compare compare_address: [MAIN, 0x1021E1C] compare_type: "==" compare_value_type: uint32 compare_value: 0 address: [MAIN, 0x1021E1C] value_type: uint32 value: 1 # Others - type: evaluate_write address: [MAIN, 0x1021E10] value_type: float value: "FPS_TARGET" - type: evaluate_write address: [MAIN, 0x1021E14] value_type: uint32 value: "FPS_TARGET" - type: evaluate_write address: [MAIN, 0x1021E18] value_type: float value: "FPS_TARGET"