summaryrefslogtreecommitdiff
path: root/src/resources/linux/LinuxResources.cpp
diff options
context:
space:
mode:
authorSteph Enders <smenders@gmail.com>2022-06-24 17:10:50 -0400
committerSteph Enders <smenders@gmail.com>2022-06-24 17:37:11 -0400
commitab37629c6e4798654fca1d533a611da7986b5053 (patch)
tree11b8a0b49bff176c9226b24b496588fd69f72cc3 /src/resources/linux/LinuxResources.cpp
parent20076f7271e19ecc259014681ba733047bea4d9b (diff)
Select level via command line (linux tested)
Diffstat (limited to 'src/resources/linux/LinuxResources.cpp')
-rw-r--r--src/resources/linux/LinuxResources.cpp51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/resources/linux/LinuxResources.cpp b/src/resources/linux/LinuxResources.cpp
new file mode 100644
index 0000000..a8bcca0
--- /dev/null
+++ b/src/resources/linux/LinuxResources.cpp
@@ -0,0 +1,51 @@
+//========================================================================
+// dng
+//------------------------------------------------------------------------
+// Copyright (c) 2022 Steph Enders <steph@senders.io>
+//
+// This software is provided 'as-is', without any express or implied
+// warranty. In no event will the authors be held liable for any damages
+// arising from the use of this software.
+//
+// Permission is granted to anyone to use this software for any purpose,
+// including commercial applications, and to alter it and redistribute it
+// freely, subject to the following restrictions:
+//
+// 1. The origin of this software must not be misrepresented; you must not
+// claim that you wrote the original software. If you use this software
+// in a product, an acknowledgment in the product documentation would
+// be appreciated but is not required.
+//
+// 2. Altered source versions must be plainly marked as such, and must not
+// be misrepresented as being the original software.
+//
+// 3. This notice may not be removed or altered from any source
+// distribution.
+//
+//========================================================================
+
+#include "LinuxResources.h"
+
+LinuxResources::LinuxResources() : Resources() {
+ this->workingDir = std::filesystem::current_path();
+ this->exeDir = std::filesystem::canonical("/proc/self/exe").remove_filename();
+ // set an initial value - will get hardset in load if found
+ std::filesystem::path f =
+ workingDir / "res" / DEFAULT_FONT; // default as fallback
+ this->font = std::make_shared<std::filesystem::path>(f);
+ this->defaultsLua = std::make_shared<std::filesystem::path>();
+}
+
+std::vector<std::filesystem::path> LinuxResources::levelSearchDirs() {
+ return {workingDir / "maps", exeDir / "maps"};
+}
+std::vector<std::filesystem::path> LinuxResources::defaultsSearchDirs() {
+ return {workingDir / "dnglib", exeDir / "dnglib"};
+}
+std::vector<std::filesystem::path> LinuxResources::fontSearchDirs() {
+ return {workingDir / "res", exeDir / "res"};
+}
+
+const char *LinuxResources::convert_to_str(std::filesystem::path &path) {
+ return path.c_str();
+}