Ultra 2.2|R3

This commit is contained in:
redraz 2024-08-09 20:52:50 +03:00
parent fc203edb0f
commit 093c181ec1
60 changed files with 1029 additions and 1091 deletions

View File

@ -0,0 +1,33 @@
# Jujutsu Kaisen Cursed Clash US 1.2.0
# BID: 2F33996FD9C81253
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8069A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x80ACF50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73EE7C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80AC7A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -19,7 +19,7 @@ ALL_FPS:
value: VSYNC_TARGET
# UI Speed
-
type: write
type: evaluate_write
address: [MAIN, 0x2AEF6D0, 2554]
value_type: uint8
value: FPS_TARGET

View File

@ -0,0 +1,27 @@
# Astor: Blade of the Monolith 1.0.2
# BID: 6133D5CC14F51B7A
unsafeCheck: true
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x61F0828, 0]
value_type: int32
value: [0, 0]
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x69BEAD8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x69EC478, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,4 +1,4 @@
# Astor: Blade of the Monolith 1.0.0
# Astor: Blade of the Monolith 1.0.0 / 1.0.1
# BID: C26E93197DEB4004
unsafeCheck: true

View File

@ -1,4 +1,4 @@
# Farming Simulator 23 Nintendo Switch Edition 1.5.0.0
# Farming Simulator 23 Nintendo Switch Edition 1.6.0.0
# BID: 17F37A56B17DD9CC
unsafeCheck: true

View File

@ -0,0 +1,18 @@
# Airhead 1.0.0
# BID: D1D421137AAE1A5E
unsafeCheck: true
ALL_FPS:
# maxFixedDeltaTime, ref: UnityEngine.Time::get_timeScale
-
type: write
address: [MAIN, 0x49617C0, 0x100]
value_type: float
value: 0.0666666666
# fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x49617C0, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -0,0 +1,33 @@
# Jujutsu Kaisen Cursed Clash JP 1.2.0
# BID: 2F33996FD9C81253
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8069A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x80ACF50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73EE7C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80AC7A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -0,0 +1,39 @@
# MEGATON MUSASHI W: WIRED 3.1.1
# BID: F1E096F78DFB8263
unsafeCheck: true
MASTER_WRITE:
# Redirect reading DR timing in DynamicResolution::UpdateResolution() to MAIN + 0xC8CBF00
# only for handheld (default handheld: 31.25 ms, docked: 46.875 ms - probably to block DR from working without disabling it)
-
type: bytes
main_offset: 0x78910F8
value_type: uint32
value:
- 0xD00281C8
- 0xB94F0108
# Default handheld value
-
type: bytes
main_offset: 0xC8CBF00
value_type: uint32
value: 600000
ALL_FPS:
# fixedDeltaTime = 1/FPS
-
type: evaluate_write
address: [MAIN, 0xC84AD20, 0x48]
value_type: float
value: "1 / FPS_TARGET"
- # maximumDeltaTime = 1/15 (with this setting game will slow down below 15 FPS instead of 30 FPS)
type: write
address: [MAIN, 0xC84AD20, 0x100]
value_type: float
value: 0.0666666666
# Dynamic Resolution Timing = (0.9375/FPS) * 19200000
-
type: evaluate_write
address: [MAIN, 0xC8CBF00]
value_type: uint32
value: "(0.9375 / FPS_TARGET) * 19200000"

View File

@ -0,0 +1,27 @@
# MotoGP 24 1.0.5
# BID: 1053EA8AD2A50F15
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x93E6288, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9414770, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8C137F8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,13 @@
# The Legend of Heroes: Trails through Daybreak 1.0.1
# BID: 43D0D0D68A22E370
# Thanks to Stevens for figuring out how FPS Lock is applied
unsafeCheck: true
ALL_FPS:
# REF: 68 EA 50 B9 E0 03 1F 2A 7F B2 00 F9
-
type: evaluate_write
address: [MAIN, 0x548B80, 0x34]
value_type: uint32
value: FPS_LOCK_TARGET

View File

@ -0,0 +1,36 @@
# DOOM 1.4
# BID: 2847991952B3D7AB
unsafeCheck: true
ALL_FPS:
# rs_460Threshold (default is 0.285)
-
type: write
address: [MAIN, 0x594152C]
value_type: float
value: 1
# rs_raiseMilliseconds
-
type: evaluate_write
address: [MAIN, 0x59419EC]
value_type: float
value: "0.966 * FRAMETIME_TARGET"
# rs_dropMilliseconds
-
type: evaluate_write
address: [MAIN, 0x5941954]
value_type: float
value: "0.99 * FRAMETIME_TARGET"
# com_adaptiveTickMaxHz (default is 30)
-
type: evaluate_write
address: [MAIN, 0x66BAF50]
value_type: int32
value: FPS_TARGET
# com_adaptiveTickMinHz (default is 30)
-
type: write
address: [MAIN, 0x66BAEB8]
value_type: int32
value: 15

View File

@ -1,28 +0,0 @@
# GRIP 1.0.8
# BID: ACF717E72EA920C2
unsafeCheck: true
MASTER_WRITE:
# Remove double buffer (nvn.NumBufferedFrames)
-
type: bytes
main_offset: 0x4F3245C
value_type: uint32
value: 3
ALL_FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -10,7 +10,7 @@ MASTER_WRITE:
main_offset: 0x4F3245C
value_type: uint32
value: 3
15FPS:
ALL_FPS:
# r.VSync
-
type: write
@ -19,148 +19,10 @@ MASTER_WRITE:
value: [0, 0]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [0, 0]
35FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.VSync
-
type: write
address: [MAIN, 0x5042FC8, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x58ECCE8, 0]
value_type: float
value: [0, 0]

View File

@ -0,0 +1,27 @@
# Deliver Us The Moon 1.0.0
# BID: 928AF9461536F5E3
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6F09528, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6F37248, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6739698, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# Immortals Fenyx Rising 1.3.4
# BID: 70F3F6751D73C644
unsafeCheck: true
MASTER_WRITE:
# Game switches resolution to 13/15 of normal resolution when moving camera with right stick and game cannot handle target FPS
# Redirect reading DR time target to MAIN + 0xA7E4F00
-
type: bytes
main_offset: 0x15A9F10
value_type: uint32
value:
- 0xF00491C8
- 0xBD4F0101
# Default value
-
type: bytes
main_offset: 0xA7E4F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0xA7E4F00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -0,0 +1,35 @@
# DRAGON BALL Z: KARAKOT + A NEW POWER AWAKENS SET 1.51
# BID: 389E38618E93A5E0
unsafeCheck: true
ALL_FPS:
# Disable bUseFixedFrameRate in cutscenes to unlock framerate
-
type: write
address: [MAIN, 0x9456538, 0x810]
value_type: uint32
# Default is 0x47 in cutscenes, 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
-
type: evaluate_write
address: [MAIN, 0x9421478, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x9456DE8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x88C2C08, 0]
value_type: int32
value: [0, 0]

View File

@ -3,7 +3,7 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.VSync
-
type: write
@ -12,148 +12,10 @@ unsafeCheck: true
value: [0, 0]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [0, 0]
35FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.VSync
-
type: write
address: [MAIN, 0x7538918, 0]
value_type: int32
value: [0, 0]
# t.MaxFPS
-
type: write
address: [MAIN, 0x7D33D38, 0]
value_type: float
value: [0, 0]

View File

@ -1,5 +1,5 @@
# CRYMACHINA 1.0.8
# BID: 4CBD150A248DA39C
# CRYMACHINA 1.2.0
# BID: E196E389FD9E0364
unsafeCheck: true

View File

@ -0,0 +1,47 @@
# NieR:Automata The End of YoRHa Edition US/EU 1.0.2
# BID: E43525F22282A477
unsafeCheck: true
MASTER_WRITE:
# Redirect DR timings to MAIN + 0x2BE6F00, [Bad, Optimal, Good]
-
type: bytes
main_offset: 0x9BF3E4
value_type: uint32
value:
- 0xF001112C
- 0xBD4F0183
-
type: bytes
main_offset: 0x9BF434
value_type: uint32
value:
- 0xF001112C
- 0xB94F058C
-
type: bytes
main_offset: 0x9BF484
value_type: uint32
value:
- 0x1E20CC83
- 0xF001112C
- 0xBD4F0580
- 0xD503201F
-
type: bytes
main_offset: 0x9BF4A8
value_type: uint32
value: 0xBD4F0980
# Default values
-
type: bytes
main_offset: 0x2BE6F00
value_type: float
value: [45, 32.01, 30]
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x2BE6F00]
value_type: float
value: ["1.35 * FRAMETIME_TARGET", "0.9603 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"]

View File

@ -0,0 +1,38 @@
# Warhammer 40,000: Boltgun 1.0.0.7
# BID: 3E961285846C72A5
unsafeCheck: false
ALL_FPS:
# Disable bUseFixedFrameRate to unlock framerate
-
type: write
address: [MAIN, 0x63A69F8, 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: evaluate_write
address: [MAIN, 0x6379638, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x63A7318, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x5BA9B78, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,32 @@
# Warhammer 40,000: Boltgun 1.0.0.6
# BID: B8630C6EE3A22FE8
unsafeCheck: false
ALL_FPS:
# Disable bUseFixedFrameRate to unlock framerate
-
type: write
address: [MAIN, 0x63A69F8, 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: evaluate_write
address: [MAIN, 0x6379638, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x63A7318, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,21 +0,0 @@
# Cassette Beasts 1.6.3
# BID: 58C1B2EA8257D5F1
unsafeCheck: true
ALL_FPS:
# physics/common/physics_fps
-
type: evaluate_write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: FPS_LOCK_TARGET
# debug/settings/fps/force_fps
-
type: evaluate_write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: FPS_LOCK_TARGET
-
type: block
what: timing

View File

@ -1,159 +1,21 @@
# Casette Beasts 1.6.3
# Cassette Beasts 1.6.3
# BID: 58C1B2EA8257D5F1
unsafeCheck: true
15FPS:
ALL_FPS:
# physics/common/physics_fps
-
type: write
type: evaluate_write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 15
value: FPS_LOCK_TARGET
# debug/settings/fps/force_fps
-
type: write
type: evaluate_write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 15
value: FPS_LOCK_TARGET
-
type: block
what: timing
20FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 20
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 20
-
type: block
what: timing
25FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 25
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 25
-
type: block
what: timing
30FPS:
# physics/common/physics_fps (default value)
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 30
# debug/settings/fps/force_fps (default value is 30)
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 0
35FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 35
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 35
-
type: block
what: timing
40FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 40
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 40
-
type: block
what: timing
45FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 45
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 45
-
type: block
what: timing
50FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 50
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 50
-
type: block
what: timing
55FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 55
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 55
-
type: block
what: timing
60FPS:
# physics/common/physics_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x24]
value_type: int32
value: 60
# debug/settings/fps/force_fps
-
type: write
address: [MAIN, 0x33E4B78, 0x30]
value_type: int32
value: 0

View File

@ -3,157 +3,19 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal
-
type: write
type: evaluate_write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [66.6, 66.6]
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DE73D8, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8E0D520, 0]
value_type: float
value: [0, 0]

View File

@ -1,159 +0,0 @@
# Grounded 1.02
# BID: F0AE53338D63199E
unsafeCheck: true
15FPS:
# r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [66.6, 66.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [15, 15]
-
type: block
what: timing
20FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [50, 50]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [20, 20]
-
type: block
what: timing
25FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [40, 40]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [25, 25]
-
type: block
what: timing
30FPS:
# r.DynamicRes.FrameTimeBudget (default value)
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [33.3, 33.3]
# t.MaxFPS (default value is 30)
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [0, 0]
35FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [28.5, 28.5]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [35, 35]
-
type: block
what: timing
40FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [25, 25]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [40, 40]
-
type: block
what: timing
45FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [22.2, 22.2]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [45, 45]
-
type: block
what: timing
50FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [20, 20]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [50, 50]
-
type: block
what: timing
55FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [18.1, 18.1]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [55, 55]
-
type: block
what: timing
60FPS:
# r.DynamicRes.FrameTimeBudget
-
type: write
address: [MAIN, 0x8DB73D8, 0]
value_type: float
value: [16.6, 16.6]
# t.MaxFPS
-
type: write
address: [MAIN, 0x8DDD528, 0]
value_type: float
value: [0, 0]

View File

@ -3,13 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -19,141 +19,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# t.MaxFPS (default value)
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
35FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
value_type: uint32
value: [0, 0]

View File

@ -0,0 +1,27 @@
# F1 Manager 2024 1.4
# BID: 42350FCC758887D1
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x7FA9A28, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7FE3AA0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x77E6AA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# F1 Manager 2024 1.3
# BID: 645C3BE90D4ED3D5
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x7FA8A28, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7FE2AA0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x77E5AA8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,47 @@
# DRAGON BALL XENOVERSE 2 FOR NINTENDO SWITCH 1.22.02
# BID: 56405C9D6C8C0A6A
# Double buffer is hardcoded in class, getting triple buffer is hard.
# Some graphical effects like aura have wrong speed outside of 15, 20, 30 and 60 FPS
unsafeCheck: false
ALL_FPS:
# Search those in Edizon by searching for 1/60 in title menu, then 1/30 when FPS lock is applied.
# FPS Lock
-
type: write
address: [MAIN, 0x4AD6D78, 0x698]
value_type: float
value: 0.0
# Unknown
-
type: write
address: [MAIN, 0x4AD6D78, 0x6A4]
value_type: float
value: 0.0
# Game Battle Speed Factor
-
type: evaluate_write
address: [MAIN, 0x4AD6D78, 0x6B0]
value_type: uint32
value: VSYNC_TARGET
# Cutscenes Speed Factor
-
type: evaluate_write
address: [MAIN, 0x4AD6D78, 0x6B4]
value_type: uint32
value: VSYNC_TARGET
# Target Speed
# REF: E9 03 00 32 09 01 00 39 C0 03 5F D6, first result, LDR instruction
-
type: evaluate_write
address: [MAIN, 0x2402190]
value_type: float
value: "(1 / FPS_TARGET) / VSYNC_TARGET"
# Dynamic Resolution FPS Target
# REF: 62 18 22 1E 61 2A 43 BD 41 08 21 1E 00 20 21 1E, is divided by rodata 60
-
type: evaluate_write
address: [MAIN, 0x24044B0, 0x754]
value_type: float
value: "FPS_TARGET"

View File

@ -0,0 +1,32 @@
# No Man's Sky 5.0.2
# BID: F9C32ECFD8646E3A
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x484FF00
-
type: bytes
main_offset: 0x1ED9498
value_type: uint32
value: 0xD503201F
-
type: bytes
main_offset: 0x1ED94A4
value_type: uint32
value:
- 0xD0014BB2
- 0xB9400408
- 0xBD4F0240
# default value
-
type: bytes
main_offset: 0x484FF00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x484FF00]
value_type: float
value: FRAMETIME_TARGET

View File

@ -0,0 +1,33 @@
# Jujutsu Kaisen Cursed Clash EUR 1.2.0
# BID: 2F33996FD9C81253
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8069A48, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x80ACF50, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x73EE7C8, 0]
value_type: uint32
value: [0, 0]
# Disable bUseFixedFrameRate
-
type: write
address: [MAIN, 0x80AC7A8, 0x9C4]
value_type: uint32
value: 7
-
type: block
what: timing

View File

@ -1,19 +1,19 @@
# OCTOPATH TRAVELER II 1.1.1
# BID: 0D9649011312F62E
# Bum Simulator 1.0.2
# BID: 42AD50169E847BA2
unsafeCheck: true
unsafeCheck: false
ALL_FPS:
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x76FEF68, 0]
address: [MAIN, 0x5C858B8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
address: [MAIN, 0x5489068, 0]
value_type: uint32
value: [0, 0]
-

View File

@ -0,0 +1,28 @@
# Remothered Tormented Fathers 1.3.0
# BID: EB57CF3434044523
# Game stores textures inside fixed size class, so it's hard to get triple buffer
unsafeCheck: false
ALL_FPS:
# Disable bUseFixedFrameRate and bSmoothFrameRate
-
type: write
address: [MAIN, 0x54C75F0, 0x770]
value_type: uint32
value: 7
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x54C7F70, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x4C641D0, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,12 @@
# DAVE THE DIVER 1.0.2.843
# BID: 37CBC5751D80E70E
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
-
type: evaluate_write
address: [MAIN, 0x9510480, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -0,0 +1,13 @@
# DAVE THE DIVER 1.0.2.828
# BID: AE7422A20BC9C3B0
unsafeCheck: true
ALL_FPS:
# UnityEngine.Time::fixedDeltaTime
# Required for different refresh rates to not jitter
-
type: evaluate_write
address: [MAIN, 0x9505680, 0x48]
value_type: float
value: "1 / FPS_TARGET"

View File

@ -3,13 +3,13 @@
unsafeCheck: true
15FPS:
ALL_FPS:
# t.MaxFPS
-
type: write
type: evaluate_write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [15, 15]
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
@ -19,141 +19,3 @@ unsafeCheck: true
-
type: block
what: timing
20FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [20, 20]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
25FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [25, 25]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
30FPS:
# t.MaxFPS (default is 30)
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [0, 0]
# r.VSync (default is 1)
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
35FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [35, 35]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
40FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [40, 40]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
45FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [45, 45]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
50FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [50, 50]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
55FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [55, 55]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing
60FPS:
# t.MaxFPS
-
type: write
address: [MAIN, 0x76FEF68, 0]
value_type: float
value: [0, 0]
# r.VSync
-
type: write
address: [MAIN, 0x6F017E8, 0]
value_type: uint32
value: [0, 0]

View File

@ -0,0 +1,27 @@
# Daydream: Forgotten Sorrow 1.0.1
# BID: 8AF36A929664A94D
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x6E47F38, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6E758C8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x6679D08, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,47 @@
# NieR:Automata The End of YoRHa Edition AS 1.0.2
# BID: 992787E2B5425994
unsafeCheck: true
MASTER_WRITE:
# Redirect DR timings to MAIN + 0x2BE8F00, [Bad, Optimal, Good]
-
type: bytes
main_offset: 0x9C07A4
value_type: uint32
value:
- 0x9001114C
- 0xBD4F0183
-
type: bytes
main_offset: 0x9C07F4
value_type: uint32
value:
- 0x9001114C
- 0xB94F058C
-
type: bytes
main_offset: 0x9C0844
value_type: uint32
value:
- 0x1E20CC83
- 0x9001114C
- 0xBD4F0580
- 0xD503201F
-
type: bytes
main_offset: 0x9C0868
value_type: uint32
value: 0xBD4F0980
# Default values
-
type: bytes
main_offset: 0x2BE8F00
value_type: float
value: [45, 32.01, 30]
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x2BE8F00]
value_type: float
value: ["1.35 * FRAMETIME_TARGET", "0.9603 * FRAMETIME_TARGET", "0.9 * FRAMETIME_TARGET"]

View File

@ -0,0 +1,27 @@
# AEW Fight Forever 1.10.0
# BID: 45C15AE4450708FD
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x8C307B8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8C5E608, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x8460EF8, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,12 @@
# EA SPORTS FC 24 1.5a.9115
# BID: 217A5C011269C81E
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xCDF1E20, 8]
value_type: double
value: FPS_TARGET

View File

@ -0,0 +1,12 @@
# EA SPORTS FC 24 1.5a.d31
# BID: 2600C6B1C5049FAE
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xCDF1E20, 8]
value_type: double
value: FPS_TARGET

View File

@ -0,0 +1,12 @@
# EA SPORTS FC 24 1.5a.63d1
# BID: F5BE87C9F0715C3D
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xCDF1E20, 8]
value_type: double
value: FPS_TARGET

View File

@ -0,0 +1,12 @@
# EA SPORTS FC 24 1.59.6eaf
# BID: F7EA5CACC75067D4
unsafeCheck: true
ALL_FPS:
# Internal FPS Lock
-
type: evaluate_write
address: [MAIN, 0xCDEFE20, 8]
value_type: double
value: FPS_TARGET

View File

@ -0,0 +1,27 @@
# Tchia 1.1
# BID: 76B6E5E830A43D97
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x7084348, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x70B16B8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x68EABE0, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,21 @@
# ARK: Survival Evolved 2.0.14
# BID: 44E0F3E8F4996F55
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal
-
type: evaluate_write
address: [MAIN, 0x7ABB198, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7AE93C8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -1,19 +1,19 @@
# Grounded 1.05
# BID: 6C91A8A476E70C5D
# ARK: Survival Evolved 2.0.12
# BID: DE62C644228E63CC
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget = (1000/FPS) cutted to 1 decimal
# r.DynamicRes.FrameTimeBudget (1000/FPS) rounded to one decimal
-
type: evaluate_write
address: [MAIN, 0x8DE73D8, 0]
address: [MAIN, 0x7ABA198, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x8E0D520, 0]
address: [MAIN, 0x7AE83C8, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-

View File

@ -0,0 +1,27 @@
# ONE PIECE ODYSSEY Deluxe Edition US/EU/JP 1.0.0
# BID: 28ED06F94D767478
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0x7F82CC0, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7728420, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x7FA6300, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -1,21 +1,21 @@
# Twilight Survivors 0.22.2
# BID: 8AA7D10343CB3870
# ACE COMBAT™7 SKIES UNKNOWN DELUXE EDITION 1.0.0 US/EU
# BID: FDBEE885A65A2B92
unsafeCheck: true
ALL_FPS:
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x6495898, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x5C99348, 0]
address: [MAIN, 0x70B99A0, 0]
value_type: uint32
value: [0, 0]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x7939A30, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# Hogwarts Legacy 1.0.4
# BID: 2980E59C32A0E147
unsafeCheck: true
ALL_FPS:
# r.DynamicRes.FrameTimeBudget = 1000/FPS cutted to 2 decimals
-
type: evaluate_write
address: [MAIN, 0xA42B688, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 2)", "TruncDec(FRAMETIME_TARGET, 2)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0xA45F3A0, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x9C0DEC0, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,13 @@
# DC Super Hero Girls: Teen Power 1.0.1
# BID: BC714E2D7D32AB41
# Game stores textures inside fixed size class, so it's hard to get triple buffer
unsafeCheck: false
ALL_FPS:
# Max time delta
-
type: evaluate_write
address: [MAIN, 0x1225EC8, 0x1C]
value_type: float
value: ["(1 / FPS_TARGET) - 0.0001"]

View File

@ -0,0 +1,28 @@
# Remothered: Broken Porcelain 2.0.0
# BID: 5EFAB20F5C1F0F68
# Game stores textures inside fixed size class, so it's hard to get triple buffer
unsafeCheck: false
ALL_FPS:
# r.DynamicRes.FrameTimeBudget (1000/FPS) cutted to 1 decimals
-
type: evaluate_write
address: [MAIN, 0x58210E8, 0]
value_type: float
value: ["TruncDec(FRAMETIME_TARGET, 1)", "TruncDec(FRAMETIME_TARGET, 1)"]
# t.MaxFPS
-
type: evaluate_write
address: [MAIN, 0x584D710, 0]
value_type: float
value: [FPS_LOCK_TARGET, FPS_LOCK_TARGET]
# r.VSync
-
type: write
address: [MAIN, 0x4CB8880, 0]
value_type: uint32
value: [0, 0]
-
type: block
what: timing

View File

@ -0,0 +1,27 @@
# SnowRunner 1.0.32
# BID: 1B45F85E3DE5615D
# Just search for 0x42055555
unsafeCheck: true
MASTER_WRITE:
# Redirect DR frametime target to MAIN+0x2FD1F00
-
type: bytes
main_offset: 0x18A0424
value_type: uint32
value:
- 0xB000B98A
- 0xBD4F0142
# default value
-
type: bytes
main_offset: 0x2FD1F00
value_type: float
value: 33.3333333333
ALL_FPS:
-
type: evaluate_write
address: [MAIN, 0x2FD1F00]
value_type: float
value: FRAMETIME_TARGET

Binary file not shown.

View File

@ -8,9 +8,6 @@ enable_external_bluetooth_db=u8!0x1
enable_debug_api=u8!0x1
[usb]
; Enable USB 3.0 superspeed for homebrew
; 0 = USB 3.0 support is system default (usually disabled), 1 = USB 3.0 support is enabled.
; Note: Enabling USB 3.0 support may disable access to 5GHz Wi-Fi networks.
usb30_force_enabled=u8!0x1
[tc]

Binary file not shown.

Binary file not shown.

View File

@ -18,7 +18,7 @@ handheld_font_size=15
docked_font_size=15
real_freqs=true
real_volts=true
show=CPU+GPU+RAM+TEMP+FAN+DRAW+FPS
show=CPU+GPU+RAM+TEMP+FAN+DRAW+FPS+RES
replace_MB_with_RAM_load=true
background_color=#1117
cat_color=#CDEF
@ -58,3 +58,11 @@ dashed_line_color=#8888
main_line_color=#FFFF
rounded_line_color=#0C0F
perfect_line_color=#F0FF
[game_resolutions]
refresh_rate=10
layer_width_align=left
layer_height_align=top
background_color=#1117
cat_color=#FFFF
text_color=#FFFF

View File

@ -57,7 +57,6 @@ del '/SaltySD/plugins/NX-FPS.elf'
del '/SaltySD/plugins/ReverseNX-RT.elf'
del '/switch/DBI/.DBI.nro.star'
del '/switch/kefir-updater/'
del '/switch/mhz.nro'
del '/switch/MicroMemBench.nro'