# Bloodstained: Ritual of the Night 1.40 # BID: 12E0B62494B22F62 unsafeCheck: true MASTER_WRITE: # Disable double buffer - type: bytes main_offset: 0xABD8294 value_type: int8 value: 0x53 15FPS: # r.DynamicRes.FrameTimeBudget = 0.84 * (1000/FPS) - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [56, 56] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [15, 15] - type: block what: timing 20FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [42, 42] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [20, 20] - type: block what: timing 25FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [33.6, 33.6] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [25, 25] - type: block what: timing 30FPS: # r.DynamicRes.FrameTimeBudget (default value) - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [28, 28] # t.MaxFPS (default value) - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [0, 0] 35FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [24, 24] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [35, 35] - type: block what: timing 40FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [21, 21] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [40, 40] - type: block what: timing 45FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [18.66, 18.66] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [45, 45] - type: block what: timing 50FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [16.8, 16.8] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [50, 50] - type: block what: timing 55FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [15.27, 15.27] # t.MaxFPS - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [55, 55] - type: block what: timing 60FPS: # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0xCF57E90, 0] value_type: float value: [14, 14] # t.MaxFPS (default value) - type: write address: [MAIN, 0xCF7EC80, 0] value_type: float value: [0, 0]