aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/scriptservertoclientstringcommand.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'NorthstarDLL/scriptservertoclientstringcommand.cpp')
-rw-r--r--NorthstarDLL/scriptservertoclientstringcommand.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/NorthstarDLL/scriptservertoclientstringcommand.cpp b/NorthstarDLL/scriptservertoclientstringcommand.cpp
new file mode 100644
index 00000000..3bb7f60d
--- /dev/null
+++ b/NorthstarDLL/scriptservertoclientstringcommand.cpp
@@ -0,0 +1,23 @@
+#include "pch.h"
+#include "squirrel.h"
+#include "convar.h"
+#include "concommand.h"
+
+void ConCommand_ns_script_servertoclientstringcommand(const CCommand& arg)
+{
+ if (g_pClientSquirrel->sqvm &&
+ g_pClientSquirrel->setupfunc("NSClientCodeCallback_RecievedServerToClientStringCommand") != SQRESULT_ERROR)
+ {
+ g_pClientSquirrel->pushstring(g_pClientSquirrel->sqvm2, arg.ArgS());
+ g_pClientSquirrel->call(g_pClientSquirrel->sqvm2, 1); // todo: doesn't throw or log errors from within this, probably not great behaviour
+ }
+}
+
+ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ScriptServerToClientStringCommand, ClientSquirrel, [](HMODULE baseAddress)
+{
+ RegisterConCommand(
+ "ns_script_servertoclientstringcommand",
+ ConCommand_ns_script_servertoclientstringcommand,
+ "",
+ FCVAR_CLIENTDLL | FCVAR_SERVER_CAN_EXECUTE);
+}) \ No newline at end of file