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.
A call to GXCopyDisp(), made once before the title screen for no
apparent purpose, is causing heap corruption, but it isn't observed on
real hardware thanks to the data cache. Skipping the call works too,
preventing a crash on the main menu.
This will make some game INIs cover more regions.
For INIs with AR codes or patches, I manually created a region-free
file without region-specific data while keeping the original.
This is a cleanup of the gameini database. Specifically:
It removes the "Issues=..." lines and their respective comments since
they don't show up in the gui, are very old and wrong in most cases.
They contain probably more than 4 year old comments (i don't have a clue
who or when wrote them).
Also remove the "EFBCopyCacheEnable = True" lines from the database.
These were put at a time that efb to Ram had resolution issues without
cache being enabled, safe texture cache could be disabled and speed was
detrimental. Now that efb to ram doesn't have the same res issues as
back then, safe texture cache can't be disabled with speed gains being
non existent (you get even a speed hit if texture cache is put to safe)
i think it should be removed from the database.