FileSystem: Add a case-insensitive match for nvm and mec file loading. #12050
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of Changes
Adds some open file methods to the filesystem abstraction that will fallback to case-insensitive matching.
Rationale behind Changes
By default PCSX2 assumes that the nvm and mec files will be [rom0 filename].nvm and [rom0 filename].mec
On case-insensitive filesystems this is fine, but there is a difference in behaviour when you are on case-sensitive filesystems when using extensions such as NVM and MEC.
There really shouldn't be any good reason why you have these extensions capitalized, but this PR addresses the difference in behaviour.
Suggested Testing Steps
The code is the same for Windows and MacOS platforms, so that should be fine.
On Linux and MacOS platforms, rename the nvm file to something with a different case.
bios.nvm = bios.NVM
and boot the BIOS and see if the first-time setup menu shows (or look in the console to see if there is an error message regarding opening the NVM file).