diff --git a/runtime/include/runtime_config.h b/runtime/include/runtime_config.h index 2501192..d52a849 100644 --- a/runtime/include/runtime_config.h +++ b/runtime/include/runtime_config.h @@ -776,7 +776,8 @@ inline std::string DvdRoot(std::string fallback = "") { // never to the process working directory (docs/WHEELWIZARD_CONTRACT.md). inline std::filesystem::path ResolveRelativeTo(const std::filesystem::path& base, const std::string& value) { - std::filesystem::path path(value); + // Config strings are UTF-8; the char overload would decode via the ANSI codepage. + std::filesystem::path path(reinterpret_cast(value.c_str())); if (path.is_relative()) { path = base / path; } diff --git a/runtime/src/hle/storage/riivolution.cpp b/runtime/src/hle/storage/riivolution.cpp index 8eb2348..69ed033 100644 --- a/runtime/src/hle/storage/riivolution.cpp +++ b/runtime/src/hle/storage/riivolution.cpp @@ -86,6 +86,8 @@ void RiivoAddRoot(std::vector& overlays, fs::path r const char* source) { std::error_code ec; if (!fs::is_directory(root, ec)) { + RT_LOG(RT_TAG_RIIVOLUTION) << "rejected overlay root (" << (source ? source : "unknown") + << "): " << root.string() << " is not a reachable directory" << std::endl; return; }