Commit Graph

4 Commits

Author SHA1 Message Date
LillyJadeKatrin 0c14b0c8a7 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.
2024-07-07 13:42:09 -04:00
JosJuice 36ecfdd6b5 GameSettings: Enable compatibility patches by default
This enables patches for game-breaking problems by default.

My criterion for which patches to select was that the patch
has to make the game's behavior closer to how the game acts
on console. So workarounds for Dolphin not emulating caches
accurately are enabled by default, but not things like
Twilight Princess's minimap speedhack or patches for
disabling memory card checks in Pokémon games.
2020-12-11 10:08:24 +01:00
JosJuice 0ac642a537 Fix mistakes in RX4E4Z.ini 2019-04-30 15:20:10 +02:00
Léo Lam 289ed21140 GameINI: Add a game patch to work around dcache issue (RX4E4Z)
Work around a dcache issue by preventing the game from doing
something pointless.

The game's DVD read function writes 0x87654321 to the entire read
buffer and 0x12345678 to the last 4 bytes. It then calls DVDReadAsync()
and without waiting for the read to complete at all, it checks if the
last 4 bytes are still 0x12345678. If they are, then the game fails.

The check always passes on console because DVDReadAsync() calls
issueCommand(), which calls DCInvalidateRange(read_buffer) (dcbi).

Dolphin cannot emulate this without an extremely significant
performance hit.
2018-03-02 12:07:17 +01:00