From 5f49f4648fe12db1ac1700bae21550129708a3f9 Mon Sep 17 00:00:00 2001 From: mark Date: Thu, 18 Dec 2025 08:41:13 -0800 Subject: [PATCH] Fixed bug with global dir using unicode characters --- src/Framework.cpp | 3 ++- src/Mods.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Framework.cpp b/src/Framework.cpp index 696c7bbbe..da1d50381 100644 --- a/src/Framework.cpp +++ b/src/Framework.cpp @@ -1002,7 +1002,8 @@ void Framework::save_config() { mod->on_config_save(cfg); } - if (!cfg.save(get_persistent_dir("config.txt").string())) { + auto path_u8 = get_persistent_dir("config.txt").u8string(); + if (!cfg.save(std::string(path_u8.begin(), path_u8.end()))) { spdlog::info("Failed to save config"); return; } diff --git a/src/Mods.cpp b/src/Mods.cpp index d5d546a4b..fd3c0e6e0 100644 --- a/src/Mods.cpp +++ b/src/Mods.cpp @@ -54,7 +54,8 @@ std::optional Mods::on_initialize_d3d_thread() const { } void Mods::reload_config(bool set_defaults) const { - utility::Config cfg{ Framework::get_persistent_dir("config.txt").string() }; + auto path_u8 = Framework::get_persistent_dir("config.txt").u8string(); + utility::Config cfg{ std::string(path_u8.begin(), path_u8.end()) }; for (auto& mod : m_mods) { spdlog::info("{:s}::on_config_load()", mod->get_name().data());