summaryrefslogtreecommitdiff
path: root/src/cs2/sdk.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cs2/sdk.h')
-rw-r--r--src/cs2/sdk.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/cs2/sdk.h b/src/cs2/sdk.h
new file mode 100644
index 0000000..0751f94
--- /dev/null
+++ b/src/cs2/sdk.h
@@ -0,0 +1,88 @@
+#pragma once
+#include "../typedef.h"
+
+struct CS2_SCHEMA_FIELD {
+ U64 name;
+ U64 type;
+ U32 offset;
+ U32 size;
+ U64 metadata;
+};
+
+struct CS2_SCHEMA_CLASS {
+ U64 vft;
+ // const char*
+ U64 name;
+ // const char*
+ U64 module_name;
+ U32 size;
+ U16 num_fields;
+
+private:
+ U8 unk_01[2];
+
+public:
+ U16 static_size;
+ U16 metadata_size;
+
+private:
+ U8 unk_02[4];
+
+public:
+ // CS2_SCHEMA_FIELD
+ U64 fields;
+};
+
+struct CS2_SCHEMA_DECLARED_CLASS {
+ U64 vft;
+ // const char*
+ U64 name;
+ // const char*
+ U64 module_name;
+ // void*
+ U64 unk_ptr;
+ // CS2_SCHEMA_CLASS
+ U64 class_ptr;
+};
+
+struct CS2_SCHEMA_ENTRY {
+ U64 hash[2];
+ // CS2_SCHEMA_DECLARED_CLASS
+ U64 declared_class;
+};
+
+struct CS2_SCHEMA_SCOPE {
+ U64 vft;
+ char name[256];
+
+private:
+ U8 unk_01[0x338];
+
+public:
+ // CS2_SCHEMA_ENTRY*
+ U64 declared_classes;
+
+private:
+ U8 unk_02[0xe];
+
+public:
+ U16 num_classes;
+};
+
+struct CS2_SCHEMA {
+private:
+ U8 unk_01[0x188];
+public:
+ U64 scope_size;
+ // CS2_SCHEMA_SCOPE[]
+ U64 scopes;
+};
+
+// fuck you, they will forever be netvars to me.
+struct NETVAR_ENTRY {
+ STR<256> scope;
+ STR<256> clientclass;
+ STR<256> prop;
+
+ I32 offset;
+}; \ No newline at end of file