# Warhammer 40,000: Boltgun 1.0.0.3 # BID: 7C992B6A003C599F unsafeCheck: false 15FPS: # Disable bUseFixedFrameRate to unlock framerate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 # Default is 0x47, bUseFixedFrameRate |= 0x40 # By writing 7 we are making sure that other flags are maintained: # bAllowMultiThreadedAnimationUpdate |= 4 # bOptimizeAnimBlueprintMemberVariableAccess |= 2 # bCanBlueprintsTickByDefault |= 1 value: 7 # r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [66.66, 66.66] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [15, 15] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 20FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [50, 50] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [20, 20] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 25FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [40, 40] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [25, 25] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 30FPS: # Disable bUseFixedFrameRate (default is 0x47) - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget (default value) - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [33.33, 33.33] # r.VSync (default value is 1) - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] # t.MaxFPS (default value) - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [0, 0] 35FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [28.51, 28.51] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [35, 35] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 40FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [25, 25] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [40, 40] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 45FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [22.22, 22.22] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [45, 45] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 50FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [20, 20] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [50, 50] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 55FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [18.18, 18.18] # t.MaxFPS - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [55, 55] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0] - type: block what: timing 60FPS: # Disable bUseFixedFrameRate - type: write address: [MAIN, 0x710C9C8, 0x7A4] value_type: uint32 value: 7 # r.DynamicRes.FrameTimeBudget - type: write address: [MAIN, 0x70DF628, 0] value_type: float value: [16.66, 16.66] # t.MaxFPS (default value) - type: write address: [MAIN, 0x710D2E8, 0] value_type: float value: [0, 0] # r.VSync - type: write address: [MAIN, 0x6910358, 0] value_type: uint32 value: [0, 0]