# 無双アビス 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"