44
55#include < sstream>
66
7+ struct SoundEvent_t
8+ {
9+ uint64 m_unk001;
10+ CUtlString m_SoundName;
11+ };
12+
713struct SchemaMetadataEntryData_t ;
814
9- #if SOURCE_ENGINE == SE_CS2
15+ #if SOURCE_ENGINE != SE_DEADLOCK
1016enum PulseValueType_t : int32
1117{
1218 PVAL_INVALID = -1 ,
19+ PVAL_VOID = -1 ,
1320 PVAL_BOOL = 0 ,
1421 PVAL_INT = 1 ,
1522 PVAL_FLOAT = 2 ,
1623 PVAL_STRING = 3 ,
17- PVAL_VEC3 = 4 ,
18- PVAL_TRANSFORM = 5 ,
19- PVAL_COLOR_RGB = 6 ,
20- PVAL_EHANDLE = 7 ,
21- PVAL_RESOURCE = 8 ,
22- PVAL_SNDEVT_GUID = 9 ,
23- PVAL_SNDEVT_NAME = 10 ,
24- PVAL_ENTITY_NAME = 11 ,
25- PVAL_OPAQUE_HANDLE = 12 ,
26- PVAL_TYPESAFE_INT = 13 ,
27- PVAL_CURSOR_FLOW = 14 ,
28- PVAL_ANY = 15 ,
29- PVAL_SCHEMA_ENUM = 16 ,
30- PVAL_PANORAMA_PANEL_HANDLE = 17 ,
31- PVAL_TEST_HANDLE = 18 ,
32- PVAL_COUNT = 19 ,
24+ PVAL_VEC2 = 4 ,
25+ PVAL_VEC3 = 5 ,
26+ PVAL_QANGLE = 6 ,
27+ PVAL_VEC3_WORLDSPACE = 7 ,
28+ PVAL_VEC4 = 8 ,
29+ PVAL_TRANSFORM = 9 ,
30+ PVAL_TRANSFORM_WORLDSPACE = 10 ,
31+ PVAL_COLOR_RGB = 11 ,
32+ PVAL_GAMETIME = 12 ,
33+ PVAL_EHANDLE = 13 ,
34+ PVAL_RESOURCE = 14 ,
35+ PVAL_RESOURCE_NAME = 15 ,
36+ PVAL_SNDEVT_GUID = 16 ,
37+ PVAL_SNDEVT_NAME = 17 ,
38+ PVAL_ENTITY_NAME = 18 ,
39+ PVAL_OPAQUE_HANDLE = 19 ,
40+ PVAL_TYPESAFE_INT = 20 ,
41+ PVAL_MODEL_MATERIAL_GROUP = 21 ,
42+ PVAL_CURSOR_FLOW = 22 ,
43+ PVAL_VARIANT = 23 ,
44+ PVAL_UNKNOWN = 24 ,
45+ PVAL_SCHEMA_ENUM = 25 ,
46+ PVAL_PANORAMA_PANEL_HANDLE = 26 ,
47+ PVAL_TEST_HANDLE = 27 ,
48+ PVAL_ARRAY = 28 ,
49+ PVAL_TYPESAFE_INT64 = 29 ,
50+ PVAL_COUNT = 30 ,
3351};
34- #elif SOURCE_ENGINE != SE_CS2
52+ #elif SOURCE_ENGINE == SE_DEADLOCK
3553enum PulseValueType_t : int32
3654{
3755 PVAL_INVALID = -1 ,
@@ -73,7 +91,6 @@ struct PulseParamType
7391
7492 switch (m_Type)
7593 {
76- #if SOURCE_ENGINE != SE_CS2
7794 case PVAL_ARRAY:
7895 {
7996 if (m_SubType && m_SubType->IsValid ())
@@ -92,16 +109,19 @@ struct PulseParamType
92109 case PVAL_VEC3_WORLDSPACE: ss << " vec3_world" ; break ;
93110 case PVAL_TRANSFORM_WORLDSPACE: ss << " transform_world" ; break ;
94111 case PVAL_GAMETIME: ss << " game_time" ; break ;
95- #endif
96112
97113 case PVAL_BOOL: ss << " bool" ; break ;
98114 case PVAL_INT: ss << " int" ; break ;
99115 case PVAL_FLOAT: ss << " float" ; break ;
100116 case PVAL_STRING: ss << " string" ; break ;
117+
118+ #if SOURCE_ENGINE == SE_CS2 || SOURCE_ENGINE == SE_DOTA
119+ case PVAL_VEC2: ss << " vec2" ; break ;
120+ case PVAL_VEC4: ss << " vec4" ; break ;
121+ #endif
122+
101123 case PVAL_VEC3: ss << " vec3" ; break ;
102- #if SOURCE_ENGINE != SE_CS2
103124 case PVAL_QANGLE: ss << " qangle" ; break ;
104- #endif
105125 case PVAL_TRANSFORM: ss << " transform" ; break ;
106126 case PVAL_COLOR_RGB: ss << " color" ; break ;
107127 case PVAL_EHANDLE: ss << " ehandle<" << (m_LibraryClass ? m_LibraryClass : " " ) << " >" ; break ;
@@ -112,7 +132,12 @@ struct PulseParamType
112132 case PVAL_OPAQUE_HANDLE:ss << (m_LibraryClass ? m_LibraryClass : " schema" ) << " *" ; break ;
113133 case PVAL_TYPESAFE_INT: ss << (m_LibraryClass ? m_LibraryClass : " !int" ); break ;
114134 case PVAL_CURSOR_FLOW: ss << " cursor" ; break ;
135+ #if SOURCE_ENGINE == SE_CS2 || SOURCE_ENGINE == SE_DOTA
136+ case PVAL_VARIANT: ss << " variant" ; break ;
137+ case PVAL_UNKNOWN: ss << " unknown" ; break ;
138+ #else
115139 case PVAL_ANY: ss << " any" ; break ;
140+ #endif
116141 case PVAL_SCHEMA_ENUM: ss << " enum {" << m_LibraryClass << " }" ; break ;
117142 case PVAL_PANORAMA_PANEL_HANDLE: ss << " panorama_panel_handle" ; break ;
118143 case PVAL_TEST_HANDLE: ss << " testhandle<" << (m_LibraryClass ? m_LibraryClass : " " ) << " >" ; break ;
@@ -143,26 +168,13 @@ struct PulseParamType
143168 META_CONPRINTF ( " Found valid library class (%s) field for type (%d).\n " , m_LibraryClass, m_Type );
144169 }
145170 }
146-
147- #if SOURCE_ENGINE == SE_CS2
148- if (m_IsArray)
149- {
150- ss << " []" ;
151- }
152- #endif
153171
154172 return ss.str ();
155173 }
156174
157- #if SOURCE_ENGINE == SE_CS2
158- bool m_IsArray;
159- PulseValueType_t m_Type;
160- const char *m_LibraryClass;
161- #else
162175 PulseValueType_t m_Type;
163176 PulseParamType *m_SubType;
164177 const char *m_LibraryClass;
165- #endif
166178};
167179
168180class CPulseFunctionParam
@@ -186,7 +198,13 @@ class CPulseFunctionParam
186198 case PVAL_FLOAT: return std::to_string ( DefaultValue<float >() );
187199 case PVAL_STRING: return DefaultValue<CUtlString>().Get ();
188200 case PVAL_SCHEMA_ENUM: return std::to_string ( DefaultValue<int64>() );
201+ #if SOURCE_ENGINE == SE_CS2 || SOURCE_ENGINE == SE_DOTA
202+ case PVAL_VARIANT: return std::to_string ( *DefaultValue<int64 *>() );
203+ case PVAL_EHANDLE: return std::to_string ( DefaultValue<int32>() );
204+ case PVAL_SNDEVT_NAME: return std::string ( " \" " ) + DefaultValue<SoundEvent_t *>()->m_SoundName .Get () + " \" " ;
205+ #else
189206 case PVAL_ANY: return std::to_string ( *DefaultValue<int64 *>() );
207+ #endif
190208
191209 case PVAL_VEC3:
192210 {
@@ -214,23 +232,6 @@ class CPulseFunctionParam
214232 }
215233 }
216234
217- #if SOURCE_ENGINE == SE_CS2
218- public:
219- CKV3MemberName m_Name;
220-
221- PulseParamType m_TypeDesc;
222-
223- void *m_DefaultValue;
224- PulseParamType m_DefaultValueTypeDesc;
225-
226- private:
227- void *m_unk003;
228-
229- public:
230- uint16 m_StaticMetadataCount;
231- SchemaMetadataEntryData_t *m_StaticMetadata;
232-
233- #else
234235public:
235236 CKV3MemberName m_Name;
236237
@@ -250,7 +251,6 @@ class CPulseFunctionParam
250251
251252private:
252253 void *m_unk005;
253- #endif
254254};
255255
256256class CPulseDomainFunction
@@ -290,28 +290,26 @@ class CPulseLibraryEventFunction : public CPulseDomainFunction
290290class CPulseLibraryBinding
291291{
292292public:
293+ #if SOURCE_ENGINE == SE_DOTA
294+ void *m_unk001;
295+ #endif
293296 CUtlString m_Name;
294297
295- #if SOURCE_ENGINE == SE_DOTA || SOURCE_ENGINE == SE_DEADLOCK
296298 int m_Flags;
297299
298300 int m_FunctionCount;
299301 CPulseLibraryFunction *m_Functions;
300302
301303 int m_EventFunctionCount;
302304 CPulseLibraryEventFunction *m_EventFunctions;
303- #else
304-
305- CUtlString m_Description;
306-
307- int m_FunctionCount;
308- CPulseLibraryFunction *m_Functions;
309- #endif
310305};
311306
312307class CPulseDomainInfo
313308{
314309public:
310+ #if SOURCE_ENGINE == SE_DOTA
311+ void *m_unk001;
312+ #endif
315313 CUtlString m_Name;
316314 CUtlString m_FriendlyName;
317315 CUtlString m_Description;
@@ -366,6 +364,8 @@ METADATA_TAG( MPulseCellMethodBindings, CPulseLibraryBinding * );
366364METADATA_TAG ( MPulseInstanceDomainInfo, CPulseDomainInfo * );
367365METADATA_TAG ( MPulseDomainHookInfo, CPulseHookInfo * );
368366METADATA_TAG ( MPulseCellOutflowHookInfo, CPulseHookInfo * );
367+ METADATA_TAG ( MPulseTypeQueriesForScopeSingleton, void * );
368+ METADATA_TAG ( MPulseCell_WithNoDefaultOutflow, empty_t );
369369
370370METADATA_TAG ( MSourceTSDomain, empty_t );
371371METADATA_TAG ( MCellForDomain, const char * );
@@ -377,13 +377,9 @@ METADATA_TAG( MPulseRequirementCommit, empty_t );
377377METADATA_TAG ( MPulseRequirementCheck, empty_t );
378378METADATA_TAG ( MPulseDomainOptInValueType, int );
379379
380- #if SOURCE_ENGINE == SE_CS2
381- METADATA_TAG ( MPulseProvideFeatureTag, const char * );
382- METADATA_TAG ( MPulseDomainOptInFeatureTag, const char * );
383- #else
384380METADATA_TAG ( MPulseProvideFeatureTag, int );
385381METADATA_TAG ( MPulseDomainOptInFeatureTag, int );
386- # endif
382+ METADATA_TAG ( MPulseDomainOptInVariableKeysSource, int64 * );
387383
388384METADATA_TAG ( MPulseEditorIsControlFlowNode, empty_t );
389385METADATA_TAG ( MPulseEditorHeaderIcon, const char * );
@@ -392,6 +388,8 @@ METADATA_TAG( MPulseEditorHeaderExpr, const char * );
392388METADATA_TAG ( MPulseEditorSubHeaderText, const char * );
393389METADATA_TAG ( MPulseEditorCanvasItemPreset, const char * );
394390METADATA_TAG ( MPulseEditorCanvasItemSpecKV3, const char * );
391+ METADATA_TAG ( MPulseSelectorAllowRequirementCriteria, const char * );
392+ METADATA_TAG ( MPulseSelectorHasSpecificity, empty_t );
395393METADATA_TAG ( MPulseExpressionAlias, const char * );
396394METADATA_TAG ( MPulseCellWithCustomDocNode, empty_t );
397395METADATA_TAG ( MPulseCellOutflow_IsDefault, empty_t );
@@ -406,7 +404,9 @@ METADATA_TAG( MPulseInstanceFunction, const char * );
406404METADATA_TAG ( MPulseInstanceStep, const char * );
407405METADATA_TAG ( MPulseLibraryFunction, const char * );
408406METADATA_TAG ( MPulseLibraryStep, const char * );
407+ METADATA_TAG ( MPulseDomainScopeInfo, int * );
409408METADATA_TAG ( MPulseDomainHiddenInTool, empty_t );
409+ METADATA_TAG ( MPulseDomainDebuggerCanCreateInstance, empty_t );
410410METADATA_TAG ( MPulseDomainOptInGameBlackboard, const char * );
411411METADATA_TAG ( MPulseDomainIsGameBlackboard, empty_t );
412412METADATA_TAG ( MPulseFunctionHiddenInTool, empty_t );
0 commit comments