file_sys: apply case-insensitive search to mods_path on GNU/Linux and macOS (#4312)

The case-insensitive fallback search() in GetHostPath is only
invoked for patch_path and host_path, so mods whose file or folder
capitalization does not exactly match the guest path are silently
bypassed even when the files are present. Mirror the existing
search(patch_path) pass for mods_path, placed first to preserve
mod > patch > base precedence.
This commit is contained in:
Matías Buzzo 2026-04-27 09:00:31 +01:00 committed by GitHub
parent 5d506c98aa
commit f98f1aac5a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -159,6 +159,13 @@ std::filesystem::path MntPoints::GetHostPath(std::string_view path, bool* is_rea
return std::optional<std::filesystem::path>(current_path);
};
if ((corrected_path.starts_with("/app0") || corrected_path.starts_with("/hostapp")) &&
path_type != HostPathType::Base) {
if (const auto path = search(mods_path)) {
return *path;
}
}
if (path_type != HostPathType::Base && !ignore_game_patches) {
if (const auto path = search(patch_path)) {
return *path;