GameINI: Add patches to limit FPS for some uncapped games

This commit is contained in:
Martino Fontana 2025-06-23 00:57:15 +02:00
parent 2542c79d6b
commit fe63d95e02
23 changed files with 216 additions and 10 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,17 @@
# GAHEGG - Alien Hominid
[Core]
# The game has an uncapped frame rate, which is equivalent to SyncOnSkipIdle already being False.
# Setting it is meant to avoid any performance regression when using the frame rate limit patch.
SyncOnSkipIdle = False
[OnFrame]
$Limit internal frame rate (speed hack)
0x80031130:dword:0x60000000
0x8003113C:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)

View File

@ -1,7 +1,8 @@
# GHKD7D, GHKE7D, GHKF7D, GHKP7D, GHKS7D - The Hulk
# GHKD7D, GHKE7D, GHKF7D, GHKP7D, GHKS7D - Hulk
[Core]
# Values set here will override the main Dolphin settings.
# The game has an uncapped frame rate, which is equivalent to SyncOnSkipIdle already being False.
# Setting it is meant to avoid any performance regression when using the frame rate limit patch.
SyncOnSkipIdle = False
[OnFrame]

View File

@ -0,0 +1,11 @@
# GHKD7D - Hulk
[OnFrame]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
0x801E8C94:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)

View File

@ -0,0 +1,11 @@
# GHKE7D - Hulk
[OnFrame]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
0x801E7B80:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)

View File

@ -0,0 +1,11 @@
# GHKF7D - Hulk
[OnFrame]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
0x801E8B14:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)

View File

@ -0,0 +1,11 @@
# GHKP7D - Hulk
[OnFrame]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
0x801E8C94:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)

View File

@ -0,0 +1,11 @@
# GHKS7D - Hulk
[OnFrame]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
0x801E8B14:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack, also fixes audio and gameplay bugs)

View File

@ -1,4 +1,4 @@
# GHQE7D, GHQP7D - The Simpsons Hit & Run
# GHQE7D, GHQP7D - The Simpsons: Hit & Run
[Core]
# Values set here will override the main Dolphin settings.
@ -13,4 +13,3 @@
[Video_Hacks]
ImmediateXFBEnable = False

View File

@ -1,5 +1,13 @@
# GHQE7D - The Simpsons: Hit & Run
[OnFrame]
$Limit internal frame rate during startup (speed hack)
0x80276E14:dword:0x60000000
0x80276E20:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate during startup (speed hack)
[Gecko]
$16:9 Widescreen
04004600 C002A604
@ -15,5 +23,8 @@ $16:9 Widescreen
044786B0 3FAAAAAB
04479F28 3FA33333
[Patches_RetroAchievements_Verified]
$Limit internal frame rate during startup (speed hack)
[Gecko_RetroAchievements_Verified]
$16:9 Widescreen

View File

@ -1,5 +1,10 @@
# GHQP7D - The Simpsons: Hit & Run
[OnFrame]
$Limit internal frame rate during startup (speed hack)
0x80277034:dword:0x60000000
0x80277040:dword:0x60000000
[Gecko]
$16:9 Widescreen
04004600 C002A604
@ -21,6 +26,9 @@ $60Hz
04276CD0 38000014
04276F64 48000008
[Patches_RetroAchievements_Verified]
$Limit internal frame rate during startup (speed hack)
[Gecko_RetroAchievements_Verified]
$16:9 Widescreen
$60Hz

View File

@ -1,7 +1,9 @@
# GMNE78, GMNP78 - Monsters, Inc. Scream Arena
[Core]
# Values set here will override the main Dolphin settings.
# The game has an uncapped frame rate, which is equivalent to SyncOnSkipIdle already being False.
# Setting it is meant to avoid any performance regression when using the frame rate limit patch.
SyncOnSkipIdle = False
[OnFrame]
# Add memory patches to be applied every frame here.

View File

@ -0,0 +1,12 @@
# GMNE78 - Monsters, Inc. Scream Arena
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x80149C38:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -0,0 +1,12 @@
# GMNP78 - Monsters, Inc. Scream Arena
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x8014CF88:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -1,7 +1,9 @@
# GTRE78, GTRJ8N, GTRP78 - Tetris Worlds
[Core]
# Values set here will override the main Dolphin settings.
# The game has an uncapped frame rate, which is equivalent to SyncOnSkipIdle already being False.
# Setting it is meant to avoid any performance regression when using the frame rate limit patch.
SyncOnSkipIdle = False
[OnFrame]
# Add memory patches to be applied every frame here.

View File

@ -0,0 +1,12 @@
# GTRE78 - Tetris Worlds
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x80101A80:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -0,0 +1,12 @@
# GTRE78 - Tetris Worlds
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x80101B08:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -0,0 +1,12 @@
# GTRJ8N - Tetris Worlds
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x8010F210:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -0,0 +1,12 @@
# GTRP78 - Tetris Worlds
[OnFrame]
# After `GXDrawDone`, `nop` a branch that skips a call to `VIWaitForRetrace`.
$Limit internal FPS to VPS (improves performance)
0x80101390:dword:0x60000000
[OnFrame_Enabled]
$Limit internal FPS to VPS (improves performance)
[Patches_RetroAchievements_Verified]
$Limit internal FPS to VPS (improves performance)

View File

@ -0,0 +1,11 @@
# RB7E54 - Bully: Scholarship Edition
[OnFrame]
$Limit internal frame rate in loading screens (fix hangs)
0x8039C7B8:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate in loading screens (fix hangs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate in loading screens (fix hangs)

View File

@ -0,0 +1,11 @@
# RB7P54 - Bully: Scholarship Edition
[OnFrame]
$Limit internal frame rate in loading screens (fix hangs)
0x8039C7f8:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate in loading screens (fix hangs)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate in loading screens (fix hangs)

View File

@ -0,0 +1,17 @@
# SC2E8P, SC2P8P - Conduit 2
[Core]
# The game has an uncapped frame rate, which is equivalent to SyncOnSkipIdle already being False.
# Setting it is meant to avoid any performance regression when using the frame rate limit patch.
SyncOnSkipIdle = False
[OnFrame]
$Limit internal frame rate (speed hack)
0x8003A910:dword:0x60000000
0x8003A904:dword:0x60000000
[OnFrame_Enabled]
$Limit internal frame rate (speed hack)
[Patches_RetroAchievements_Verified]
$Limit internal frame rate (speed hack)

View File

@ -90,8 +90,8 @@ public:
static constexpr std::string_view BLUE = "#0B71C1";
static constexpr std::string_view APPROVED_LIST_FILENAME = "ApprovedInis.json";
static const inline Common::SHA1::Digest APPROVED_LIST_HASH = {
0x5A, 0x62, 0x01, 0x37, 0xEA, 0xB6, 0x3F, 0xA8, 0x19, 0x54,
0xB7, 0x8D, 0x25, 0x37, 0xCA, 0x39, 0xFA, 0xB8, 0xED, 0x85};
0xDF, 0x11, 0xD6, 0xA7, 0x2E, 0x8D, 0x3B, 0x3C, 0x41, 0x22,
0x29, 0x3F, 0x67, 0x40, 0xD9, 0x92, 0xBF, 0xC0, 0x1C, 0x43};
struct LeaderboardEntry
{