From 23fda0b842560d2f3cf64ecf9a57d5ad2861e488 Mon Sep 17 00:00:00 2001 From: Maya Date: Sun, 13 Nov 2022 04:01:14 +0100 Subject: Squirrel functions auto bind (#299) * Add defines to auto add squirrel funcs it brokey * Make it Work changed all squirrel function definitions to this system * Add defines to auto add squirrel funcs it brokey Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com> * Make it Work changed all squirrel function definitions to this system Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com> * Formatting * Good old Formatting commit * HelloGecko * Formatting Finalv2ForRealThisTime * idk anymore * i hate formatting * Rename some * Rename macro * Change function names to more human-readable * Revert to using old ScriptContext definition * Formatting Co-authored-by: RoyalBlue1 Co-authored-by: Emma-Miler <27428383+emma-miler@users.noreply.github.com> Co-authored-by: Emma Miler Co-authored-by: BobTheBob <32057864+BobTheBob9@users.noreply.github.com> --- NorthstarDLL/scriptjson.cpp | 41 ++++++++++++----------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) (limited to 'NorthstarDLL/scriptjson.cpp') diff --git a/NorthstarDLL/scriptjson.cpp b/NorthstarDLL/scriptjson.cpp index a9767615..8efad7b4 100644 --- a/NorthstarDLL/scriptjson.cpp +++ b/NorthstarDLL/scriptjson.cpp @@ -208,8 +208,12 @@ template void EncodeJSONArray( } } -// table function DecodeJSON( string json, bool fatalParseErrors = false ) -template SQRESULT SQ_DecodeJSON(HSquirrelVM* sqvm) +ADD_SQFUNC( + "table", + DecodeJSON, + "string json, bool fatalParseErrors = false", + "converts a json string to a squirrel table", + ScriptContext::UI | ScriptContext::CLIENT | ScriptContext::SERVER) { const char* pJson = g_pSquirrel->getstring(sqvm, 1); const bool bFatalParseErrors = g_pSquirrel->getbool(sqvm, 2); @@ -236,8 +240,12 @@ template SQRESULT SQ_DecodeJSON(HSquirrelVM* sqvm) DecodeJsonTable(sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&doc); } -// string function EncodeJSON( table data ) -template SQRESULT SQ_EncodeJSON(HSquirrelVM* sqvm) +ADD_SQFUNC( + "string", + EncodeJSON, + "table data", + "converts a squirrel table to a json string", + ScriptContext::UI | ScriptContext::CLIENT | ScriptContext::SERVER) { rapidjson_document doc; doc.SetObject(); @@ -255,28 +263,3 @@ template SQRESULT SQ_EncodeJSON(HSquirrelVM* sqvm) g_pSquirrel->pushstring(sqvm, pJsonString, -1); return SQRESULT_NOTNULL; } - -ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ClientScriptJSON, ClientSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "table", - "DecodeJSON", - "string json, bool fatalParseErrors = false", - "converts a json string to a squirrel table", - SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); - - g_pSquirrel->AddFuncRegistration( - "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); -} - -ON_DLL_LOAD_RELIESON("server.dll", ServerScriptJSON, ServerSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); -} -- cgit v1.2.3