Add Approved Patch Allowlist for Achievements

Prototype of a system to whitelist known game patches that are allowed to be used while RetroAchievements Hardcore mode is active. ApprovedInis.txt contains known hashes for the ini files as they appear in the repo, and can be compared to the local versions of these files to ensure they have not been edited locally by the player. ApprovedInis.txt is hashed and verified similarly first, with its hash residing as a const string within AchievementManager.h, ensuring ApprovedInis and the hashes within cannot be modified without editing Dolphin's source code and recompiling completely.
This commit is contained in:
LillyJadeKatrin
2024-07-07 13:42:09 -04:00
parent 6ddfdc1483
commit 0c14b0c8a7
84 changed files with 662 additions and 4 deletions
+323
View File
@@ -0,0 +1,323 @@
{
"D43J01": {
"title": "ZELDA OCARINA MULTI PACK",
"CAB9CED2D904F12CCB21F5B1DE9B5433620C3E13": "loophack"
},
"G2BE5G": {
"title": "Black & Bruised",
"7FFF6BDD93713BEDFD23739C32B86153FA19AEA0": "Disable interlaced rendering"
},
"G2BP7D": {
"title": "Black & Bruised",
"56E85D7285F10348E1E5354E379918D07E79EDA9": "Disable interlaced rendering"
},
"GC6E01": {
"title": "Pokémon Colosseum",
"2F64F98686E62B60E466E931A9EBCD19A750FF4E": "Allow Memory Card saving with Savestates"
},
"GC6J01": {
"title": "ポケモンコロシアム",
"D8F327304A88FBC717BB1F775494C5F864B9E8D2": "Allow Memory Card saving with Savestates"
},
"GC6P01": {
"title": "Pokémon Colosseum",
"EDEE0E28EEA1834868F2865336290FFBDFB9C6DA": "Allow Memory Card saving with Savestates"
},
"GCCE01": {
"title": "FINAL FANTASY Crystal Chronicles",
"6C107FEC15C76201233CA2645EB5FAB4FF9751CE": "Fix buffer overrun bug (crash at Goblin Wall)",
"483BDB94615C690045C3759795AF13CE76552286": "Fix GBA connections"
},
"GCCJGC": {
"title": "FINAL FANTASY Crystal Chronicles",
"4C104D24329172F5D0F8649DE9423B931FE72CA3": "Fix GBA connections"
},
"GCCP01": {
"title": "FINAL FANTASY Crystal Chronicles",
"2EAA60A8A115AD68A795109FB59E4A726D29016D": "Fix GBA connections"
},
"GDREAF": {
"title": "Dead to Rights",
"F8EAE60FEB0CFB4477FDC4B9E136B63F68DFA63A": "Fix audio issues"
},
"GDRP69": {
"title": "Dead to Rights",
"E23D98B2CE185C3993A40F2495D37E41B971BF91": "Fix audio issues"
},
"GEME7F": {
"title": "Egg Mania: Eggstreme Madness",
"CB04E00918C9C0F161715D21D046ED6620F7ADEF": "Force Progressive Scan"
},
"GEMJ28": {
"title": "Egg Mania: Eggstreme Madness",
"CC2057185BB10DAD4A361412D024DFD586EE0130": "Force Progressive Scan"
},
"GGVD78": {
"title": "The SpongeBob SquarePants Movie",
"FE52240DF6D132C15A8324E8A477F2BF2250D208": "EFB Copy Fix"
},
"GGVE78": {
"title": "The SpongeBob SquarePants Movie",
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix"
},
"GGVP78": {
"title": "The SpongeBob SquarePants Movie",
"5E38E10829D5F77243C95E9E41518BB3ADE24139": "EFB Copy Fix"
},
"GGVX78": {
"title": "The SpongeBob SquarePants Movie",
"740F2D1C01DA39D1760D96B03974A48E6F74578D": "EFB Copy Fix"
},
"GHAE08": {
"title": "Resident Evil 2",
"9799AFF8463EC86C9230E31E2627E141F0C129D3": "Fix audio issues"
},
"GHAJ08": {
"title": "Biohazard 2",
"B45A8FC32D14567B8D6C95F303E00A72C0E1D344": "Fix audio issues"
},
"GHAP08": {
"title": "Resident Evil 2",
"BC7F3CFC97593AA2055C370C175950DC478D2709": "Fix audio issues"
},
"GICD78": {
"title": "The Incredibles",
"3A94591A149AE88C150AB3320BBC909FE54BAEA5": "EFB Copy Fix"
},
"GICE78": {
"title": "The Incredibles",
"5BF55685B8867A85EAA9C86571309B17BF7DED32": "EFB Copy Fix"
},
"GICF78": {
"title": "The Incredibles",
"85AABAEB9A59C4F96D9330A3B884F6D757DA1683": "EFB Copy Fix"
},
"GICH78": {
"title": "The Incredibles",
"3A94591A149AE88C150AB3320BBC909FE54BAEA5": "EFB Copy Fix"
},
"GICJG9": {
"title": "The Incredibles",
"969134EA21A160EBDA91C0870266E7D1707FDC43": "EFB Copy Fix"
},
"GICP78": {
"title": "The Incredibles",
"13B158CF41F5412BC637F50644193D43CC3DA49A": "EFB Copy Fix"
},
"GIQE78": {
"title": "The Incredibles: Rise of the Underminer",
"E15AA1E30D26E5735D68AAADE436E7B7E4A33A35": "EFB Copy Fix"
},
"GIQJ8P": {
"title": "The Incredibles: Rise of the Underminer",
"FFFCB76E98DDB06A7BBBC0AA73C869C87EB787D6": "EFB Copy Fix"
},
"GIQX78": {
"title": "The Incredibles: Rise of the Underminer",
"485DA99FAB35646DAA2A138B0315361495ABE778": "EFB Copy Fix"
},
"GIQY78": {
"title": "The Incredibles: Rise of the Underminer",
"485DA99FAB35646DAA2A138B0315361495ABE778": "EFB Copy Fix"
},
"GLEE08": {
"title": "Resident Evil 3: Nemesis",
"7355F358CAC6F418D37E4C23E64F7867D46E4FC9": "Fix audio issues"
},
"GLEJ08": {
"title": "BioHazard 3: Last Escape",
"12B24A6D7389A2AC5AB75FC0BF8493E7661F2A73": "Fix audio issues"
},
"GLEP08": {
"title": "Resident Evil 3: Nemesis",
"81BD39F5527552DE89E3B59BA86298900F0A3168": "Fix audio issues"
},
"GLSD64": {
"title": "Gladius",
"5E2A73717BD66EF647846DD64C33BC80AD9B5227": "Fix freeze in opening cutscene"
},
"GLSE64": {
"title": "Gladius",
"1CE78E7954415A44DF693C0BB879AA5A4FF059A3": "Fix freeze in opening cutscene"
},
"GLSF64": {
"title": "Gladius",
"009B0C4AD80A9C28C987934D254C2C4AACC9A07A": "Fix freeze in opening cutscene"
},
"GLSP64": {
"title": "Gladius",
"3D0894616C9A7FA5ED91C1D2F461BF14DF47ECEC": "Fix freeze in opening cutscene"
},
"GNHE5d": {
"title": "NHL HITZ 2002",
"89393A24E2336841AA4CD0AD3BE1C9A66B89E9EF": "Nop Hack"
},
"GQPE78": {
"title": "SpongeBob SquarePants: Battle for Bikini Bottom",
"880B114E9A308084CAB92C004A9EE067B371C310": "EFB Copy Fix"
},
"GQPP78": {
"title": "SpongeBob SquarePants: Battle for Bikini Bottom",
"5D9A14954AE8D639C9B254F3BA73A70F284BBC8D": "EFB Copy Fix"
},
"GRYE41": {
"title": "Rayman Arena",
"AF0A575EB6071EAC0D2EC3D2EA30A23EB05A4192": "Disable Culling to Fix Rise and Shrine Hang"
},
"GU2D78": {
"title": "2 Games in 1: The Incredibles / Finding Nemo",
"CFF4C3F932B08732627572EDA1A0CD2D9C71AE0C": "EFB Copy Fix"
},
"GU2F78": {
"title": "2 Games in 1: The Incredibles / Finding Nemo",
"CFF4C3F932B08732627572EDA1A0CD2D9C71AE0C": "EFB Copy Fix"
},
"GU3D78": {
"title": "2 Games in 1: The SpongeBob SquarePants Movie / Tak 2: The Staff of Dreams",
"8A0E3114862ADFE421874211BD6F5220AA425BF5": "EFB Copy Fix"
},
"GU3X78": {
"title": "2 Games in 1: The SpongeBob SquarePants Movie / Tak 2: The Staff of Dreams",
"E3303FDAE7ECA17A72EDC440C32D94648A6453A0": "EFB Copy Fix"
},
"GU4Y78": {
"title": "2 Games in 1: Nickelodeon SpongeBob Schwammkopf: Der Film + Nickelodeon SpongeBob Schwammkopf: Schlacht um Bikini Bottom",
"D54767785E139A8BC8C4B75573FBD5A0B686D8E3": "EFB Copy Fix"
},
"GV4E69": {
"title": "MVP Baseball 2005",
"8679891FCAA250FCFF670B26E0CB9875900D17FD": "Fix 2D Rendering"
},
"GVPE69": {
"title": "MVP Baseball 2004",
"3159CA79B0A890131763EA6CB163684BEE886E3F": "Fix 2D Rendering"
},
"GWLE6L": {
"title": "Project Zoo",
"C9101E4C6800FEEF18136846D771273593C21890": "Bypass FIFO reset"
},
"GWLX6L": {
"title": "Project Zoo",
"89C15ADC918F3A4399257534F326EB9F933AF040": "Bypass FIFO reset"
},
"GXXE01": {
"title": "Pokémon XD: Gale of Darkness",
"64FAA15062F0D0C319F904BBDE9C4489A25D6369": "Allow Memory Card saving with Savestates"
},
"GXXJ01": {
"title": "ポケモンXD 闇の旋風ダーク・ルギア",
"8293802260536FA2EF2EFDAB5266DE36BB88DE1B": "Allow Memory Card saving with Savestates"
},
"GXXP01": {
"title": "Pokémon XD: Gale of Darkness",
"3CAFBC4AE6FC5CE9F53377F86AB5BD8F1BC8861A": "Allow Memory Card saving with Savestates"
},
"GZ2E01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack"
},
"GZ2J01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"FCB673D46E716C7F63C618B8D8BF83AEE0B501F0": "Hyrule Field Speed Hack"
},
"GZ2P01": {
"title": "The Legend of Zelda: Twilight Princess [GC]",
"0F63623D4D984B7706F718F57C0ABDB6DBADCF8D": "Hyrule Field Speed Hack"
},
"HAF": {
"title": "Forecast Channel",
"181195871F63B89B1CF09AFA4420CF89B9883108": "BufferPatch"
},
"HAL": {
"title": "Region Select",
"AD12237401ABE9FE4A545AADB5C5AE10355E2076": "RSAPatch"
},
"RELJAB": {
"title": "SegaBoot",
"130F3594CAB57B85616F95C7126F4748AAC5867D": "DI Seed Blanker"
},
"RGQE70": {
"title": "Ghostbusters",
"5F4CF8D4DA19A0FF74FF9EB925AC0236069BFD59": "crashfix"
},
"RLEEFS": {
"title": "Ten Pin Alley 2",
"793642AC6862C2F3412035A9E3D7172CC4A1D5C7": "Fix crash on main menu"
},
"RMHP08": {
"title": "Monster Hunter Tri",
"1720C1173D4698167080DBFC4232F21757C4DA08": "Bloom OFF"
},
"RO2P7N": {
"title": "OFF ROAD",
"EEE9C8DE4671C18DD7F81DD08D39B64C57600DEA": "Hangfix"
},
"RPBE01": {
"title": "Pokemon Battle Revolution",
"775ABECA6073E02C5C68CF4D644194D966A418F5": "Fix black screen effects"
},
"RPBJ01r0": {
"title": "Pokemon Battle Revolution",
"0EAB5D8DE827894AFEF97C10ACB67378E6983323": "Fix black screen effects"
},
"RPBJ01r1": {
"title": "Pokemon Battle Revolution",
"4905E08643E9D00136F7EAF51978CF2F54D10D07": "Fix black screen effects"
},
"RPBJ01r2": {
"title": "Pokemon Battle Revolution",
"4905E08643E9D00136F7EAF51978CF2F54D10D07": "Fix black screen effects"
},
"RPBP01": {
"title": "Pokemon Battle Revolution",
"82AEB60F9A9083F93060531A970FFAABE0833A40": "Fix black screen effects"
},
"RTH": {
"title": "Tony Hawk's Downhill Jam",
"812EE46AC967BFCD239335B10A664D71A93E8175": "Disable blur"
},
"RX4E4Z": {
"title": "Casper's Scare School: Spooky Sports Day",
"9E4E0F1465A9A1E85349DBA3B1278AC215A97DBB": "Fix file reads (dcache bypass)"
},
"RX4PMT": {
"title": "Casper's Scare School: Spooky Sports Day",
"EE85907C03F0295794821383B93F8D5B91D2697A": "Fix file reads (dcache bypass)"
},
"RZDE01r0": {
"title": "The Legend of Zelda: Twilight Princess [Wii]",
"15EAD073414C9903D6CAE5229DCE582BD17A9162": "Hyrule Field Speed Hack"
},
"RZDE01r2": {
"title": "The Legend of Zelda: Twilight Princess [Wii]",
"27395CC8BC2C51201D566657D31A471A850482FB": "Hyrule Field Speed Hack"
},
"RZDJ01": {
"title": "The Legend of Zelda: Twilight Princess [Wii]",
"B3F7473F8C911A32F1D616491C9E78EBBD7A6309": "Hyrule Field Speed Hack"
},
"RZDK01": {
"title": "The Legend of Zelda: Twilight Princess [Wii]",
"A280C0114B800D7DC056ECFB5E482229DA0B1550": "Hyrule Field Speed Hack"
},
"RZDP01": {
"title": "The Legend of Zelda: Twilight Princess [Wii]",
"2A83ADFB760F9498841ED0ED68B0C0438232472C": "Hyrule Field Speed Hack"
},
"SAOE78": {
"title": "Monster High: Ghoul Spirit",
"EA11FA4908FB20B61876ACD360EC7657A6D39FB2": "Fix crash on boot"
},
"SAOEVZ": {
"title": "Monster High: Ghoul Spirit",
"AA55C214DE7545DE0E203CC39F06BF3D31451BE9": "Fix crash on boot"
},
"SGLEA4": {
"title": "Gormiti: The Lords of Nature!",
"258378187ACF475A55EFEAF8A703681252E014C3": "Fix black screen"
},
"SGLPA4": {
"title": "Gormiti: The Lords of Nature!",
"6F8CD59D897338CA90939149E1A62588620C6D88": "Fix black screen"
}
}
+3
View File
@@ -8,5 +8,8 @@
$loophack
0x806866E4:word:0x60000000
[Patches_RetroAchievements_Verified]
$loophack
[ActionReplay]
# Add action replay cheats here.
+3
View File
@@ -11,6 +11,9 @@
$Disable interlaced rendering
0x800D8520:dword:0x38600000
[Patches_RetroAchievements_Verified]
$Disable interlaced rendering
[ActionReplay]
# Add action replay cheats here.
+3
View File
@@ -11,6 +11,9 @@
$Disable interlaced rendering
0x800D9E68:dword:0x38600000
[Patches_RetroAchievements_Verified]
$Disable interlaced rendering
[ActionReplay]
# Add action replay cheats here.
+3
View File
@@ -25,3 +25,6 @@
$Allow Memory Card saving with Savestates
0x801cfc2c:dword:0x9005002c
0x801cfc7c:dword:0x60000000
[Patches_RetroAchievements_Verified]
$Allow Memory Card saving with Savestates
+3
View File
@@ -25,3 +25,6 @@
$Allow Memory Card saving with Savestates
0x801cb5b8:dword:0x9005002c
0x801cb608:dword:0x60000000
[Patches_RetroAchievements_Verified]
$Allow Memory Card saving with Savestates
+3
View File
@@ -25,3 +25,6 @@
$Allow Memory Card saving with Savestates
0x801d429c:dword:0x9005002c
0x801d42ec:dword:0x60000000
[Patches_RetroAchievements_Verified]
$Allow Memory Card saving with Savestates
+4
View File
@@ -29,6 +29,10 @@ $Fix GBA connections
[OnFrame_Enabled]
$Fix GBA connections
[Patches_RetroAchievements_Verified]
$Fix buffer overrun bug (crash at Goblin Wall)
$Fix GBA connections
[ActionReplay]
# Add action replay cheats here.
$Infinite Health: Single Player
+3
View File
@@ -23,3 +23,6 @@ $Fix GBA connections
[OnFrame_Enabled]
$Fix GBA connections
[Patches_RetroAchievements_Verified]
$Fix GBA connections
+3
View File
@@ -23,3 +23,6 @@ $Fix GBA connections
[OnFrame_Enabled]
$Fix GBA connections
[Patches_RetroAchievements_Verified]
$Fix GBA connections
+3
View File
@@ -9,3 +9,6 @@ $Fix audio issues
0x8000AF34:dword:0x60000000
[OnFrame_Enabled]
$Fix audio issues
[Patches_RetroAchievements_Verified]
$Fix audio issues
+3
View File
@@ -9,3 +9,6 @@ $Fix audio issues
0x8000B7EC:dword:0x60000000
[OnFrame_Enabled]
$Fix audio issues
[Patches_RetroAchievements_Verified]
$Fix audio issues
+3
View File
@@ -10,3 +10,6 @@ $Force Progressive Scan
0x806D0898:dword:0x801671CC
[OnFrame_Enabled]
$Force Progressive Scan
[Patches_RetroAchievements_Verified]
$Force Progressive Scan
+3
View File
@@ -10,3 +10,6 @@ $Force Progressive Scan
0x806D0660:dword:0x801640A4
[OnFrame_Enabled]
$Force Progressive Scan
[Patches_RetroAchievements_Verified]
$Force Progressive Scan
+3
View File
@@ -12,3 +12,6 @@ $EFB Copy Fix
# resolutions. In order for this patch to fully work, the
# Vertex Rounding Hack must be enabled.
$EFB Copy Fix
[Patches_RetroAchievements_Verified]
$EFB Copy Fix
+3
View File
@@ -12,3 +12,6 @@ $EFB Copy Fix
# resolutions. In order for this patch to fully work, the
# Vertex Rounding Hack must be enabled.
$EFB Copy Fix
[Patches_RetroAchievements_Verified]
$EFB Copy Fix
+3
View File
@@ -12,3 +12,6 @@ $EFB Copy Fix
# resolutions. In order for this patch to fully work, the
# Vertex Rounding Hack must be enabled.
$EFB Copy Fix
[Patches_RetroAchievements_Verified]
$EFB Copy Fix
+3
View File
@@ -12,3 +12,6 @@ $EFB Copy Fix
# resolutions. In order for this patch to fully work, the
# Vertex Rounding Hack must be enabled.
$EFB Copy Fix
[Patches_RetroAchievements_Verified]
$EFB Copy Fix
+3
View File
@@ -14,3 +14,6 @@ $Fix audio issues
0x8055AB54:dword:0x60000000:0x4BAA85AD
[OnFrame_Enabled]
$Fix audio issues
[Patches_RetroAchievements_Verified]
$Fix audio issues
+3
View File
@@ -14,3 +14,6 @@ $Fix audio issues
0x805C5BFC:dword:0x60000000:0x4BA3D505
[OnFrame_Enabled]
$Fix audio issues
[Patches_RetroAchievements_Verified]
$Fix audio issues

Some files were not shown because too many files have changed in this diff Show More