aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/config
diff options
context:
space:
mode:
Diffstat (limited to 'NorthstarDLL/config')
-rw-r--r--NorthstarDLL/config/profile.cpp44
-rw-r--r--NorthstarDLL/config/profile.h7
2 files changed, 51 insertions, 0 deletions
diff --git a/NorthstarDLL/config/profile.cpp b/NorthstarDLL/config/profile.cpp
new file mode 100644
index 00000000..7518a2b3
--- /dev/null
+++ b/NorthstarDLL/config/profile.cpp
@@ -0,0 +1,44 @@
+#include "pch.h"
+#include "config/profile.h"
+#include "dedicated/dedicated.h"
+#include <string>
+
+std::string GetNorthstarPrefix()
+{
+ return NORTHSTAR_FOLDER_PREFIX;
+}
+
+void InitialiseNorthstarPrefix()
+{
+ char* clachar = strstr(GetCommandLineA(), "-profile=");
+ if (clachar)
+ {
+ std::string cla = std::string(clachar);
+ if (strncmp(cla.substr(9, 1).c_str(), "\"", 1))
+ {
+ int space = cla.find(" ");
+ std::string dirname = cla.substr(9, space - 9);
+ spdlog::info("Found profile in command line arguments: " + dirname);
+ NORTHSTAR_FOLDER_PREFIX = dirname;
+ }
+ else
+ {
+ std::string quote = "\"";
+ int quote1 = cla.find(quote);
+ int quote2 = (cla.substr(quote1 + 1)).find(quote);
+ std::string dirname = cla.substr(quote1 + 1, quote2);
+ spdlog::info("Found profile in command line arguments: " + dirname);
+ NORTHSTAR_FOLDER_PREFIX = dirname;
+ }
+ }
+ else
+ {
+ spdlog::info("Profile was not found in command line arguments. Using default: R2Northstar");
+ NORTHSTAR_FOLDER_PREFIX = "R2Northstar";
+ }
+
+ // set the console title to show the current profile
+ // dont do this on dedi as title contains useful information on dedi and setting title breaks it as well
+ if (!IsDedicatedServer())
+ SetConsoleTitleA((std::string("NorthstarLauncher | ") + NORTHSTAR_FOLDER_PREFIX).c_str());
+}
diff --git a/NorthstarDLL/config/profile.h b/NorthstarDLL/config/profile.h
new file mode 100644
index 00000000..9f3087fb
--- /dev/null
+++ b/NorthstarDLL/config/profile.h
@@ -0,0 +1,7 @@
+#pragma once
+#include <string>
+
+static std::string NORTHSTAR_FOLDER_PREFIX;
+
+void InitialiseNorthstarPrefix();
+std::string GetNorthstarPrefix();