aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/scriptutility.cpp
blob: 98c6f3a31c65ef4d47fa57a8a10371cfc1c94dc4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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>);
}