From 8ce9fde91b3b81663a33574a6bbed5920ccc8674 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Thu, 22 Aug 2019 15:37:08 +0200 Subject: [PATCH] Enable the user to specify a custom temporary folder to keep the OS's temp folder clean Change the configuration file to point the temp folder into the OpenSpace folder Update Ghoul to not overwrite default font files (closes #944) --- ext/ghoul | 2 +- openspace.cfg | 3 ++- src/engine/openspaceengine.cpp | 14 ++++++-------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ext/ghoul b/ext/ghoul index e91413398b..d73b914734 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit e91413398bf7a1e2e0f61dfd7edb1656e354945c +Subproject commit d73b9147347140932bf0691788183db92ccfaf14 diff --git a/openspace.cfg b/openspace.cfg index d34aae67c9..51b091a9a4 100644 --- a/openspace.cfg +++ b/openspace.cfg @@ -78,7 +78,8 @@ Paths = { LOGS = "${BASE}/logs", MODULES = "${BASE}/modules", SCRIPTS = "${BASE}/scripts", - SHADERS = "${BASE}/shaders" + SHADERS = "${BASE}/shaders", + TEMPORARY = "${BASE}/temp" } ModuleConfigurations = { diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 6c2042961e..a204b7e44c 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -104,10 +104,7 @@ namespace openspace { class Scene; -OpenSpaceEngine::OpenSpaceEngine() - : _scene(nullptr) - , _loadingScreen(nullptr) -{ +OpenSpaceEngine::OpenSpaceEngine() { FactoryManager::initialize(); FactoryManager::ref().addFactory( std::make_unique>(), @@ -164,19 +161,20 @@ void OpenSpaceEngine::registerPathTokens() { ghoul::filesystem::FileSystem::TokenClosingBraces; LDEBUG(fmt::format("Registering path {}: {}", fullKey, path.second)); - const bool override = (fullKey == "${BASE}"); - if (override) { + const bool overrideBase = (fullKey == "${BASE}"); + if (overrideBase) { LINFO(fmt::format("Overriding base path with '{}'", path.second)); } + const bool overrideTemporary = (fullKey == "${TEMPORARY}"); + using Override = ghoul::filesystem::FileSystem::Override; FileSys.registerPathToken( std::move(fullKey), std::move(path.second), - Override(override) + Override(overrideBase || overrideTemporary) ); } - LTRACE("OpenSpaceEngine::initialize(end)"); }