aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/core
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2023-12-14 12:00:26 +0000
committerGitHub <noreply@github.com>2023-12-14 13:00:26 +0100
commit0976a3500e6774258322ab2bc80ebd515c175e77 (patch)
tree8573693b05b741c9a988265bc137820f908c922e /NorthstarDLL/core
parent8a4107191b782d087a94511e9fb6f85fcb7c43d9 (diff)
downloadNorthstarLauncher-0976a3500e6774258322ab2bc80ebd515c175e77.tar.gz
NorthstarLauncher-0976a3500e6774258322ab2bc80ebd515c175e77.zip
Rework `-vanilla` to be a vanilla compatibility mode (#601)
Old `-vanilla` behaviour is now handled by `-nonorthstardll`. New squirrel constant called `VANILLA`. Set to true when in vanilla compatibility mode. Differences when in vanilla compatibility mode: - Doesn't restrict server commands (same as `-norestrictservercommands`) - Doesn't block FairFight screenshot functions - Doesn't do Atlas-related stuff (except for mainmenupromos)
Diffstat (limited to 'NorthstarDLL/core')
-rw-r--r--NorthstarDLL/core/vanilla.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/NorthstarDLL/core/vanilla.h b/NorthstarDLL/core/vanilla.h
new file mode 100644
index 00000000..fb809a1a
--- /dev/null
+++ b/NorthstarDLL/core/vanilla.h
@@ -0,0 +1,29 @@
+#pragma once
+
+/// Determines if we are in vanilla-compatibility mode.
+/// In this mode we shouldn't auth with Atlas, which prevents users from joining a
+/// non-trusted server. This means that we can unrestrict client/server commands
+/// as well as various other small changes for compatibility
+class VanillaCompatibility
+{
+ public:
+ void SetVanillaCompatibility(bool isVanilla)
+ {
+ static bool bInitialised = false;
+ if (bInitialised)
+ return;
+
+ bInitialised = true;
+ m_bIsVanillaCompatible = isVanilla;
+ }
+
+ bool GetVanillaCompatibility()
+ {
+ return m_bIsVanillaCompatible;
+ }
+
+ private:
+ bool m_bIsVanillaCompatible = false;
+};
+
+inline VanillaCompatibility* g_pVanillaCompatibility;