aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDedicatedTest/concommand.cpp
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-07-17 22:33:00 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-07-17 22:33:00 +0100
commitca5db71e8215a6c5660fe03088a6d7349f55f817 (patch)
tree534b79d2599475b1da3edb4f232223d9e32d3174 /NorthstarDedicatedTest/concommand.cpp
parent51d3d4a40c8579e29571bc80d35bbb62fa50661b (diff)
downloadNorthstarLauncher-ca5db71e8215a6c5660fe03088a6d7349f55f817.tar.gz
NorthstarLauncher-ca5db71e8215a6c5660fe03088a6d7349f55f817.zip
add support for custom convars and concommands
Diffstat (limited to 'NorthstarDedicatedTest/concommand.cpp')
-rw-r--r--NorthstarDedicatedTest/concommand.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/NorthstarDedicatedTest/concommand.cpp b/NorthstarDedicatedTest/concommand.cpp
new file mode 100644
index 00000000..225ae74b
--- /dev/null
+++ b/NorthstarDedicatedTest/concommand.cpp
@@ -0,0 +1,20 @@
+#include "pch.h"
+#include "concommand.h"
+#include <iostream>
+
+typedef void(*ConCommandConstructorType)(ConCommand* newCommand, const char* name, void(*callback)(const CCommand&), const char* helpString, int flags, void* parent);
+ConCommandConstructorType conCommandConstructor;
+
+void RegisterConCommand(const char* name, void(*callback)(const CCommand&), const char* helpString, int flags)
+{
+ std::cout << "Registering ConCommand " << name << std::endl;
+
+ // no need to free this ever really, it should exist as long as game does
+ ConCommand* newCommand = new ConCommand;
+ conCommandConstructor(newCommand, name, callback, helpString, flags, nullptr);
+}
+
+void InitialiseConCommands(HMODULE baseAddress)
+{
+ conCommandConstructor = (ConCommandConstructorType)((char*)baseAddress + 0x415F60);
+} \ No newline at end of file