52.03 uses SDL functions for figuring out the Dwarf Fortress base directory for storing saves. Make sure it uses one outside the store.
26 lines
1.0 KiB
Diff
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") };
|
|
}
|
|
|