diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index ac33af6b..87147982 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -37,7 +37,6 @@ #include "viewmanager/viewmanager.h" #include -#include #include #include #include @@ -1297,10 +1296,12 @@ inline bool IsleApp::Tick() return true; } - if (Extension::Call(CheckRejected).value_or(FALSE)) { +#ifdef EXTENSIONS + if (Extensions::IsMultiplayerRejected()) { g_closed = TRUE; return true; } +#endif if (!TickleManager()) { return true; diff --git a/extensions/include/extensions/multiplayer.h b/extensions/include/extensions/multiplayer.h index 21cd94d0..840f8359 100644 --- a/extensions/include/extensions/multiplayer.h +++ b/extensions/include/extensions/multiplayer.h @@ -45,6 +45,8 @@ class MultiplayerExt { }; #ifdef EXTENSIONS +LEGO1_EXPORT bool IsMultiplayerRejected(); + constexpr auto HandleWorldEnable = &MultiplayerExt::HandleWorldEnable; constexpr auto HandleEntityNotify = &MultiplayerExt::HandleEntityNotify; constexpr auto CheckRejected = &MultiplayerExt::CheckRejected; diff --git a/extensions/src/multiplayer.cpp b/extensions/src/multiplayer.cpp index 285ce04b..05cf9a79 100644 --- a/extensions/src/multiplayer.cpp +++ b/extensions/src/multiplayer.cpp @@ -1,5 +1,6 @@ #include "extensions/multiplayer.h" +#include "extensions/extensions.h" #include "extensions/multiplayer/networkmanager.h" #include "extensions/multiplayer/networktransport.h" #include "extensions/multiplayer/protocol.h" @@ -118,3 +119,8 @@ Multiplayer::NetworkManager* MultiplayerExt::GetNetworkManager() { return s_networkManager; } + +bool Extensions::IsMultiplayerRejected() +{ + return Extension::Call(CheckRejected).value_or(FALSE); +}