Changeset View
Changeset View
Standalone View
Standalone View
source/gui/scripting/ScriptFunctions.cpp
Show First 20 Lines • Show All 336 Lines • ▼ Show 20 Lines | void SetNetworkGameAttributes(ScriptInterface::CxPrivate* pCxPrivate, JS::HandleValue attribs1) | ||||
// (with no obvious reason). | // (with no obvious reason). | ||||
JSContext* cx = pCxPrivate->pScriptInterface->GetContext(); | JSContext* cx = pCxPrivate->pScriptInterface->GetContext(); | ||||
JSAutoRequest rq(cx); | JSAutoRequest rq(cx); | ||||
JS::RootedValue attribs(cx, attribs1); | JS::RootedValue attribs(cx, attribs1); | ||||
g_NetClient->SendGameSetupMessage(&attribs, *(pCxPrivate->pScriptInterface)); | g_NetClient->SendGameSetupMessage(&attribs, *(pCxPrivate->pScriptInterface)); | ||||
} | } | ||||
void StartNetworkHost(ScriptInterface::CxPrivate* pCxPrivate, const CStrW& playerName, const u16 serverPort) | void StartNetworkHost(ScriptInterface::CxPrivate* pCxPrivate, const CStrW& playerName, const u16 serverPort, const CStrW& serverName) | ||||
{ | { | ||||
ENSURE(!g_NetClient); | ENSURE(!g_NetClient); | ||||
ENSURE(!g_NetServer); | ENSURE(!g_NetServer); | ||||
ENSURE(!g_Game); | ENSURE(!g_Game); | ||||
g_NetServer = new CNetServer(); | g_NetServer = new CNetServer(serverName); | ||||
if (!g_NetServer->SetupConnection(serverPort)) | if (!g_NetServer->SetupConnection(serverPort)) | ||||
{ | { | ||||
pCxPrivate->pScriptInterface->ReportError("Failed to start server"); | pCxPrivate->pScriptInterface->ReportError("Failed to start server"); | ||||
SAFE_DELETE(g_NetServer); | SAFE_DELETE(g_NetServer); | ||||
return; | return; | ||||
} | } | ||||
g_Game = new CGame(); | g_Game = new CGame(); | ||||
▲ Show 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | |||||
std::string GetPlayerGUID(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) | std::string GetPlayerGUID(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) | ||||
{ | { | ||||
if (!g_NetClient) | if (!g_NetClient) | ||||
return "local"; | return "local"; | ||||
return g_NetClient->GetGUID(); | return g_NetClient->GetGUID(); | ||||
} | } | ||||
CStrW GetServerName(ScriptInterface::CxPrivate* UNUSED(pCxPrivate)) | |||||
{ | |||||
ENSURE(g_NetClient); | |||||
return g_NetClient->GetServerName(); | |||||
} | |||||
void KickPlayer(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), const CStrW& playerName, bool ban) | void KickPlayer(ScriptInterface::CxPrivate* UNUSED(pCxPrivate), const CStrW& playerName, bool ban) | ||||
{ | { | ||||
ENSURE(g_NetClient); | ENSURE(g_NetClient); | ||||
g_NetClient->SendKickPlayerMessage(playerName, ban); | g_NetClient->SendKickPlayerMessage(playerName, ban); | ||||
} | } | ||||
JS::Value PollNetworkClient(ScriptInterface::CxPrivate* pCxPrivate) | JS::Value PollNetworkClient(ScriptInterface::CxPrivate* pCxPrivate) | ||||
▲ Show 20 Lines • Show All 612 Lines • ▼ Show 20 Lines | void GuiScriptingInit(ScriptInterface& scriptInterface) | ||||
scriptInterface.RegisterFunction<std::vector<entity_id_t>, &PickNonGaiaEntitiesOnScreen>("PickNonGaiaEntitiesOnScreen"); | scriptInterface.RegisterFunction<std::vector<entity_id_t>, &PickNonGaiaEntitiesOnScreen>("PickNonGaiaEntitiesOnScreen"); | ||||
scriptInterface.RegisterFunction<std::vector<entity_id_t>, std::string, bool, bool, bool, &PickSimilarPlayerEntities>("PickSimilarPlayerEntities"); | scriptInterface.RegisterFunction<std::vector<entity_id_t>, std::string, bool, bool, bool, &PickSimilarPlayerEntities>("PickSimilarPlayerEntities"); | ||||
scriptInterface.RegisterFunction<CFixedVector3D, int, int, &GetTerrainAtScreenPoint>("GetTerrainAtScreenPoint"); | scriptInterface.RegisterFunction<CFixedVector3D, int, int, &GetTerrainAtScreenPoint>("GetTerrainAtScreenPoint"); | ||||
// Network / game setup functions | // Network / game setup functions | ||||
scriptInterface.RegisterFunction<void, &StartNetworkGame>("StartNetworkGame"); | scriptInterface.RegisterFunction<void, &StartNetworkGame>("StartNetworkGame"); | ||||
scriptInterface.RegisterFunction<void, JS::HandleValue, int, &StartGame>("StartGame"); | scriptInterface.RegisterFunction<void, JS::HandleValue, int, &StartGame>("StartGame"); | ||||
scriptInterface.RegisterFunction<void, &Script_EndGame>("EndGame"); | scriptInterface.RegisterFunction<void, &Script_EndGame>("EndGame"); | ||||
scriptInterface.RegisterFunction<void, CStrW, u16, &StartNetworkHost>("StartNetworkHost"); | scriptInterface.RegisterFunction<void, CStrW, u16, CStrW, &StartNetworkHost>("StartNetworkHost"); | ||||
scriptInterface.RegisterFunction<void, CStrW, CStr, u16, bool, std::string, &StartNetworkJoin>("StartNetworkJoin"); | scriptInterface.RegisterFunction<void, CStrW, CStr, u16, bool, std::string, &StartNetworkJoin>("StartNetworkJoin"); | ||||
scriptInterface.RegisterFunction<u16, &GetDefaultPort>("GetDefaultPort"); | scriptInterface.RegisterFunction<u16, &GetDefaultPort>("GetDefaultPort"); | ||||
scriptInterface.RegisterFunction<void, &DisconnectNetworkGame>("DisconnectNetworkGame"); | scriptInterface.RegisterFunction<void, &DisconnectNetworkGame>("DisconnectNetworkGame"); | ||||
scriptInterface.RegisterFunction<std::string, &GetPlayerGUID>("GetPlayerGUID"); | scriptInterface.RegisterFunction<std::string, &GetPlayerGUID>("GetPlayerGUID"); | ||||
scriptInterface.RegisterFunction<CStrW, &GetServerName>("GetServerName"); | |||||
elexis: `JSInterface_Network.cpp` | |||||
scriptInterface.RegisterFunction<void, CStrW, bool, &KickPlayer>("KickPlayer"); | scriptInterface.RegisterFunction<void, CStrW, bool, &KickPlayer>("KickPlayer"); | ||||
scriptInterface.RegisterFunction<JS::Value, &PollNetworkClient>("PollNetworkClient"); | scriptInterface.RegisterFunction<JS::Value, &PollNetworkClient>("PollNetworkClient"); | ||||
scriptInterface.RegisterFunction<void, JS::HandleValue, &SetNetworkGameAttributes>("SetNetworkGameAttributes"); | scriptInterface.RegisterFunction<void, JS::HandleValue, &SetNetworkGameAttributes>("SetNetworkGameAttributes"); | ||||
scriptInterface.RegisterFunction<void, int, std::string, &AssignNetworkPlayer>("AssignNetworkPlayer"); | scriptInterface.RegisterFunction<void, int, std::string, &AssignNetworkPlayer>("AssignNetworkPlayer"); | ||||
scriptInterface.RegisterFunction<void, &ClearAllPlayerReady>("ClearAllPlayerReady"); | scriptInterface.RegisterFunction<void, &ClearAllPlayerReady>("ClearAllPlayerReady"); | ||||
scriptInterface.RegisterFunction<void, std::wstring, &SendNetworkChat>("SendNetworkChat"); | scriptInterface.RegisterFunction<void, std::wstring, &SendNetworkChat>("SendNetworkChat"); | ||||
scriptInterface.RegisterFunction<void, int, &SendNetworkReady>("SendNetworkReady"); | scriptInterface.RegisterFunction<void, int, &SendNetworkReady>("SendNetworkReady"); | ||||
scriptInterface.RegisterFunction<JS::Value, &GetAIs>("GetAIs"); | scriptInterface.RegisterFunction<JS::Value, &GetAIs>("GetAIs"); | ||||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator
JSInterface_Network.cpp