diff options
author | Maya <malte.hoermeyer@web.de> | 2022-07-09 00:17:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-09 00:17:05 +0200 |
commit | 9f8190486e04c66483dc8cd0ca9fd92fc732789a (patch) | |
tree | cd65b6d8a74e02ce35cce30e9be706428ac246a6 /NorthstarDedicatedTest/scriptutility.cpp | |
parent | 5995a7462da970ee2102a0dd0047ebbcef519dd0 (diff) | |
download | NorthstarLauncher-9f8190486e04c66483dc8cd0ca9fd92fc732789a.tar.gz NorthstarLauncher-9f8190486e04c66483dc8cd0ca9fd92fc732789a.zip |
Add StringToAsset function to squirrel (#216)
* Add StringToAsset function to squirrel
also added better values for return type enum because otherwise asset can't be returned without casting
* Formatting
* Switched to a template for the stringToAsset function
also renamed files but have to do it in 2 commits because git ignores file case
* Rename step 2
* change to lowercase in include
* changed to lowercase in include inside dllmain
Diffstat (limited to 'NorthstarDedicatedTest/scriptutility.cpp')
-rw-r--r-- | NorthstarDedicatedTest/scriptutility.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/scriptutility.cpp b/NorthstarDedicatedTest/scriptutility.cpp new file mode 100644 index 00000000..98c6f3a3 --- /dev/null +++ b/NorthstarDedicatedTest/scriptutility.cpp @@ -0,0 +1,29 @@ +#include "pch.h" +#include "scriptutility.h" +#include "squirrel.h" + +template <ScriptContext context> SQRESULT SQ_StringToAsset(void* sqvm) +{ + if (context == ScriptContext::SERVER) + { + const char* asset = ServerSq_getstring(sqvm, 1); + ServerSq_pushAsset(sqvm, asset, -1); + } + else + { + const char* asset = ClientSq_getstring(sqvm, 1); + ClientSq_pushAsset(sqvm, asset, -1); + } + return SQRESULT_NOTNULL; +} + +void InitialiseClientSquirrelUtilityFunctions(HMODULE baseAddress) +{ + g_ClientSquirrelManager->AddFuncRegistration("asset", "StringToAsset", "string assetName", "", SQ_StringToAsset<ScriptContext::CLIENT>); + g_UISquirrelManager->AddFuncRegistration("asset", "StringToAsset", "string assetName", "", SQ_StringToAsset<ScriptContext::UI>); +} + +void InitialiseServerSquirrelUtilityFunctions(HMODULE baseAddress) +{ + g_ServerSquirrelManager->AddFuncRegistration("asset", "StringToAsset", "string assetName", "", SQ_StringToAsset<ScriptContext::SERVER>); +}
\ No newline at end of file |