mirror of
https://github.com/Ultra-NX/UltraNX.git
synced 2024-12-26 02:21:55 +00:00
Ultra 2.2|R3
This commit is contained in:
parent
fc203edb0f
commit
093c181ec1
@ -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
|
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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]
|
@ -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
|
@ -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
|
@ -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]
|
@ -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]
|
@ -1,5 +1,5 @@
|
||||
# CRYMACHINA 1.0.8
|
||||
# BID: 4CBD150A248DA39C
|
||||
# CRYMACHINA 1.2.0
|
||||
# BID: E196E389FD9E0364
|
||||
|
||||
unsafeCheck: true
|
||||
|
@ -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"]
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
||||
|
@ -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]
|
@ -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]
|
@ -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]
|
@ -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
|
@ -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
|
@ -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"
|
@ -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
|
@ -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
|
@ -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]
|
||||
-
|
@ -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
|
@ -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"
|
@ -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"
|
@ -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]
|
||||
|
@ -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
|
@ -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"]
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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]
|
||||
-
|
@ -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
|
@ -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
|
@ -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
|
@ -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"]
|
@ -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
|
@ -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.
@ -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.
Binary file not shown.
@ -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
|
Binary file not shown.
@ -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'
|
||||
|
Loading…
Reference in New Issue
Block a user