forked from neverlosecc/source2gen
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsource2gen.hpp
More file actions
157 lines (151 loc) · 5.1 KB
/
source2gen.hpp
File metadata and controls
157 lines (151 loc) · 5.1 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
// Autogenerated! Do not edit.
#pragma once
#include <string_view>
template <typename>
using CAnimGraphParamOptionalRef = char[0x20];
template <typename>
using CAnimGraphParamRef = char[0x20];
using CAnimGraphTagOptionalRef = char[0x18];
using CAnimGraphTagRef = char[0x18];
template <typename>
// size is a guess
using CAnimScriptParam = char[0x08];
template <typename>
using CAnimValue = char[0x08];
using CAnimVariant = char[0x11];
using CAttachmentNameSymbolWithStorage = char[0x20];
template <int N>
using CBitVec = char[(N + 7) / 8];
using CBufferString = char[0x10];
using CColorGradient = char[0x18];
template <typename>
// size doesn't matter. only used as a pointer
using CCompressor = char[0x01];
using CEntityHandle = char[0x04];
using CEntityIndex = char[0x04];
template <typename>
using CEntityOutputTemplate = char[0x28];
using CGlobalSymbol = char[0x08];
using CGlobalSymbolCaseSensitive = char[0x08];
template <typename>
using CHandle = char[0x04];
using CKV3MemberNameSet = char[0x10];
using CKV3MemberNameWithStorage = char[0x38];
template <typename>
using CNetworkUtlVectorBase = char[0x18];
using CNetworkedQuantizedFloat = char[0x08];
using CPanoramaImageName = char[0x10];
using CParticleNamedValueRef = char[0x40];
using CPiecewiseCurve = char[0x40];
using CPlayerSlot = char[0x04];
// size is 8 bytes bigger in Deadlock
using CPulseValueFullType = char[0x10];
template <typename>
using CResourceArray = char[0x08];
using CResourceName = char[0xe0];
template <typename>
using CResourceNameTyped = char[0xe0];
template <typename>
using CResourcePointer = char[0x08];
// size unknown
using CResourceString = char[0x08];
using CSmartPropAttributeAngles = char[0x40];
using CSmartPropAttributeBool = char[0x40];
using CSmartPropAttributeColor = char[0x40];
using CSmartPropAttributeFloat = char[0x40];
using CSmartPropAttributeInt = char[0x40];
using CSmartPropAttributeMaterialGroup = char[0x40];
using CSmartPropAttributeMaterialName = char[0x40];
using CSmartPropAttributeModelName = char[0x40];
using CSmartPropAttributeStateName = char[0x40];
using CSmartPropAttributeVariableValue = char[0x40];
using CSmartPropAttributeVector = char[0x40];
using CSmartPropAttributeVector2D = char[0x40];
using CSmartPropVariableComparison = char[0x20];
template <typename>
using CSmartPtr = char[0x08];
using CSoundEventName = char[0x10];
using CSplitScreenSlot = char[0x04];
template <typename>
using CStrongHandle = char[0x08];
template <typename>
using CStrongHandleCopyable = char[0x08];
// size doesn't matter. only used as a pointer
using CStrongHandleVoid = char[0x08];
using CTransform = char[0x20];
using CUtlBinaryBlock = char[0x18];
template <typename, typename>
using CUtlHashtable = char[0x20];
template <typename>
using CUtlLeanVector = char[0x10];
template <typename Ty>
using CUtlLeanVectorFixedGrowable = char[0x10 + ((sizeof(Ty) < 4) ? 4 : sizeof(Ty))];
template <typename, typename>
using CUtlOrderedMap = char[0x28];
template <typename, typename>
// size doesn't matter. only used as a pointer
using CUtlPair = char[0x01];
using CUtlString = char[0x08];
using CUtlStringToken = char[0x04];
using CUtlStringTokenWithStorage = char[0x18];
using CUtlSymbol = char[0x02];
using CUtlSymbolLarge = char[0x08];
template <typename>
using CUtlVector = char[0x18];
template <typename>
using CUtlVectorEmbeddedNetworkVar = char[0x50];
template <typename Ty>
// size is a guess that fits both occurrences of this type in CS2
using CUtlVectorFixedGrowable = char[0x18 + ((sizeof(Ty) < 4) ? 4 : sizeof(Ty))];
using CUtlVectorSIMDPaddedVector = char[0x18];
template <typename>
using CVariantBase = char[0x10];
template <typename>
using CWeakHandle = char[0x18];
template <typename>
using C_NetworkUtlVectorBase = char[0x18];
template <typename>
using C_UtlVectorEmbeddedNetworkVar = char[0x50];
using Color = char[0x04];
using DegreeEuler = char[0x0c];
using FourVectors = char[0x30];
using HSCRIPT = char[0x08];
// size doesn't matter. only used as a pointer
using KeyValues = char[0x01];
using KeyValues3 = char[0x10];
using PulseSymbol_t = char[0x10];
using QAngle = char[0x0c];
using Quaternion = char[0x10];
using QuaternionStorage = char[0x10];
using RadianEuler = char[0x0c];
using Range_t = char[0x08];
using RotationVector = char[0x0c];
template <typename>
using SphereBase_t = char[0x10];
using V_uuid_t = char[0x10];
using Vector = char[0x0c];
using Vector2D = char[0x08];
using Vector4D = char[0x10];
using VectorAligned = char[0x10];
using WorldGroupId_t = char[0x04];
using float32 = char[0x04];
using fltx4 = char[0x10];
using matrix3x4_t = char[0x30];
using matrix3x4a_t = char[0x30];
using panorama_CPanelPtr = char[0x08];
// intentionally left undefined. if you want to access static fields, add your own sdk.
namespace interfaces {
struct SchemaStaticFieldData_t {
void* m_pInstance{};
};
struct CSchemaClassInfo {
auto GetStaticFields() -> SchemaStaticFieldData_t**;
};
struct CSchemaSystemTypeScope {
auto FindDeclaredClass(std::string_view) -> CSchemaClassInfo*;
};
struct schema_t {
auto FindTypeScopeForModule(std::string_view) -> CSchemaSystemTypeScope*;
};
extern schema_t* g_schema;
} // namespace interfaces