diff --git a/src/openrct2/scripting/ScNetwork.hpp b/src/openrct2/scripting/ScNetwork.hpp index fda8e32f96..4fd8e19b81 100644 --- a/src/openrct2/scripting/ScNetwork.hpp +++ b/src/openrct2/scripting/ScNetwork.hpp @@ -449,31 +449,37 @@ namespace OpenRCT2::Scripting # endif } +# ifndef DISABLE_NETWORK std::shared_ptr createServer() { -# ifndef DISABLE_NETWORK auto& scriptEngine = GetContext()->GetScriptEngine(); auto plugin = scriptEngine.GetExecInfo().GetCurrentPlugin(); auto socket = std::make_shared(plugin); scriptEngine.AddSocket(socket); return socket; -# else - duk_error(_context, DUK_ERR_ERROR, "Networking has been disabled."); -# endif } +# else + void createServer() + { + duk_error(_context, DUK_ERR_ERROR, "Networking has been disabled."); + } +# endif +# ifndef DISABLE_NETWORK std::shared_ptr createSocket() { -# ifndef DISABLE_NETWORK auto& scriptEngine = GetContext()->GetScriptEngine(); auto plugin = scriptEngine.GetExecInfo().GetCurrentPlugin(); auto socket = std::make_shared(plugin); scriptEngine.AddSocket(socket); return socket; -# else - duk_error(_context, DUK_ERR_ERROR, "Networking has been disabled."); -# endif } +# else + void createSocket() + { + duk_error(_context, DUK_ERR_ERROR, "Networking has been disabled."); + } +# endif static void Register(duk_context* ctx) { diff --git a/src/openrct2/scripting/ScSocketServer.hpp b/src/openrct2/scripting/ScSocketServer.hpp index 12c23775e2..98691b601a 100644 --- a/src/openrct2/scripting/ScSocketServer.hpp +++ b/src/openrct2/scripting/ScSocketServer.hpp @@ -10,14 +10,15 @@ #pragma once #ifdef ENABLE_SCRIPTING +# ifndef DISABLE_NETWORK -# include "../Context.h" -# include "../network/Socket.h" -# include "Duktape.hpp" -# include "ScriptEngine.h" +# include "../Context.h" +# include "../network/Socket.h" +# include "Duktape.hpp" +# include "ScriptEngine.h" -# include -# include +# include +# include namespace OpenRCT2::Scripting { @@ -500,4 +501,5 @@ namespace OpenRCT2::Scripting }; } // namespace OpenRCT2::Scripting +# endif #endif diff --git a/src/openrct2/scripting/ScriptEngine.cpp b/src/openrct2/scripting/ScriptEngine.cpp index fe59b3a431..3ba2bdcabc 100644 --- a/src/openrct2/scripting/ScriptEngine.cpp +++ b/src/openrct2/scripting/ScriptEngine.cpp @@ -394,8 +394,10 @@ void ScriptEngine::Initialise() ScVehicle::Register(ctx); ScPeep::Register(ctx); ScGuest::Register(ctx); +# ifndef DISABLE_NETWORK ScSocket::Register(ctx); ScSocketServer::Register(ctx); +# endif ScStaff::Register(ctx); dukglue_register_global(ctx, std::make_shared(), "cheats"); @@ -1132,13 +1134,16 @@ void ScriptEngine::SaveSharedStorage() } } +# ifndef DISABLE_NETWORK void ScriptEngine::AddSocket(const std::shared_ptr& socket) { _sockets.push_back(socket); } +# endif void ScriptEngine::UpdateSockets() { +# ifndef DISABLE_NETWORK // Use simple for i loop as Update calls can modify the list for (size_t i = 0; i < _sockets.size(); i++) { @@ -1149,10 +1154,12 @@ void ScriptEngine::UpdateSockets() i--; } } +# endif } void ScriptEngine::RemoveSockets(const std::shared_ptr& plugin) { +# ifndef DISABLE_NETWORK for (auto it = _sockets.begin(); it != _sockets.end();) { if ((*it)->GetPlugin() == plugin) @@ -1165,6 +1172,7 @@ void ScriptEngine::RemoveSockets(const std::shared_ptr& plugin) it++; } } +# endif } std::string OpenRCT2::Scripting::Stringify(const DukValue& val) diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index 9947473551..6f08d2b4a0 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -42,7 +42,9 @@ namespace OpenRCT2 namespace OpenRCT2::Scripting { +# ifndef DISABLE_NETWORK class ScSocketBase; +# endif class ScriptExecutionInfo { @@ -191,7 +193,9 @@ namespace OpenRCT2::Scripting void SaveSharedStorage(); +# ifndef DISABLE_NETWORK void AddSocket(const std::shared_ptr& socket); +# endif private: void Initialise();