# Crysis Remastered 1.8.0
# BID: 45CE2B6625A35771

unsafeCheck: true

MASTER_WRITE:
  # Redirect Dynamic Resolution Timings to read always not from .text
  -
    type: bytes
    main_offset: 0x27CE4B4
    value_type: uint32
    value: 0x1E204020
# Redirect Dynamic Resolution Timings readings to MAIN+0x3DFAE00
  -
    type: bytes
    main_offset: 0x27CE450
    value_type: uint32
    value:
      - 0x9000B16D
      - 0xBD4E01A1
  -
    type: bytes
    main_offset: 0x27CE484
    value_type: uint32
    value:
      - 0x9000B169
      - 0x91381129
  -
    type: bytes
    main_offset: 0x27CE490
    value_type: uint32
    value:
      - 0x9000B16A
      - 0x9138314A
  -
    type: bytes
    main_offset: 0x27CE468
    value_type: uint32
    value:
      - 0x9000B168
      - 0x91385108
# Write default values
  # MAIN + 0x2C11728
  -
    type: bytes
    main_offset: 0x3DFAE00
    value_type: float
    value: 28.5
  # MAIN + 0x2C12B98
  -
    type: bytes
    main_offset: 0x3DFAE04
    value_type: float
    value: [32, 33]
  # MAIN + 0x2C13130
  -
    type: bytes
    main_offset: 0x3DFAE0C
    value_type: float
    value: [29.5, 32]
  # MAIN + 0x2C12EF8
  -
    type: bytes
    main_offset: 0x3DFAE14
    value_type: float
    value: [33.5, 36]
ALL_FPS:
  # sys_MaxFPS
  -
    type: evaluate_write
    address: [MAIN, 0x3CB4204]
    value_type: int32
    value: FPS_LOCK_TARGET
  # Renderer thread delay
  -
    type: write
    address: [MAIN, 0x3CCF6A0]
    value_type: float
    value: 0.01
  # MAIN + 0x2C11728
  -
    type: evaluate_write
    address: [MAIN,  0x3DFAE00]
    value_type: float
    value: "0.855 * FRAMETIME_TARGET"
  # MAIN + 0x2C12B98
  -
    type: evaluate_write
    address: [MAIN,  0x3DFAE04]
    value_type: float
    value: ["0.96 * FRAMETIME_TARGET", "0.96 * FRAMETIME_TARGET"]
  # MAIN + 0x2C13130
  -
    type: evaluate_write
    address: [MAIN,  0x3DFAE0C]
    value_type: float
    value: ["0.885 * FRAMETIME_TARGET", "0.885 * FRAMETIME_TARGET"]
  # MAIN + 0x2C12EF8
  -
    type: evaluate_write
    address: [MAIN,  0x3DFAE14]
    value_type: float
    value: ["1.005 * FRAMETIME_TARGET", "1.005 * FRAMETIME_TARGET"]
  -
    type: block
    what: timing
