Files
Morgan Jones 072fd25378 dfhack: support 52.03
52.03 uses SDL functions for figuring out the Dwarf Fortress base
directory for storing saves. Make sure it uses one outside the store.
2025-09-04 00:09:00 -07:00

26 lines
1.0 KiB
Diff

diff --git a/library/modules/Filesystem.cpp b/library/modules/Filesystem.cpp
index 7a6b09a50..d5827f016 100644
--- a/library/modules/Filesystem.cpp
+++ b/library/modules/Filesystem.cpp
@@ -232,17 +232,10 @@ std::filesystem::path Filesystem::canonicalize(std::filesystem::path p) noexcept
std::filesystem::path Filesystem::getInstallDir() noexcept
{
- return std::filesystem::path{ DFSDL::DFSDL_GetBasePath() };
+ return std::filesystem::path{ DFSDL::DFSDL_GetPrefPath("", "df_linux") };
}
std::filesystem::path Filesystem::getBaseDir() noexcept
{
- auto getsavebase = []() {
- // assume portable mode is _on_ if init is missing
- if (!df::global::init || df::global::init->media.flag.is_set(df::enums::init_media_flags::PORTABLE_MODE))
- return DFSDL::DFSDL_GetBasePath();
- else
- return DFSDL::DFSDL_GetPrefPath("Bay 12 Games", "Dwarf Fortress");
- };
- return std::filesystem::path{ getsavebase() };
+ return std::filesystem::path{ DFSDL::DFSDL_GetPrefPath("", "df_linux") };
}