From 0976a3500e6774258322ab2bc80ebd515c175e77 Mon Sep 17 00:00:00 2001 From: Jack <66967891+ASpoonPlaysGames@users.noreply.github.com> Date: Thu, 14 Dec 2023 12:00:26 +0000 Subject: 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) --- NorthstarDLL/core/vanilla.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 NorthstarDLL/core/vanilla.h (limited to 'NorthstarDLL/core/vanilla.h') 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; -- cgit v1.2.3