underlords init

This commit is contained in:
anarh1st47 2023-03-15 22:24:28 +03:00
parent 0df86a368d
commit 01579f127d
15 changed files with 30103 additions and 10564 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,10 +4,24 @@
///////////////////////////////////////////
// Binary: engine2.dll
// Class Count: 48
// Enum Count: 2
// Class Count: 50
// Enum Count: 3
///////////////////////////////////////////
// Aligment: 4
// Size: 8
enum class SignonState_t : uint32_t
{
SIGNONSTATE_NONE = 0x0,
SIGNONSTATE_CHALLENGE = 0x1,
SIGNONSTATE_CONNECTED = 0x2,
SIGNONSTATE_NEW = 0x3,
SIGNONSTATE_PRESPAWN = 0x4,
SIGNONSTATE_SPAWN = 0x5,
SIGNONSTATE_FULL = 0x6,
SIGNONSTATE_CHANGELEVEL = 0x7,
};
// Aligment: 4
// Size: 3
enum class EntityDormancyType_t : uint32_t
@ -59,12 +73,12 @@ public:
float m_flFrameTime; // 0x0
};
// Aligment: 0
// Size: 1
// Aligment: 1
// Size: 4
struct EventProfileStorageAvailable_t
{
public:
// <no members described>
int32_t m_nSplitScreenSlot; // 0x0
};
// Aligment: 0
@ -120,8 +134,8 @@ public:
float m_flFrameTime; // 0x2c
};
// Aligment: 5
// Size: 72
// Aligment: 4
// Size: 64
struct EventClientPreOutput_t
{
public:
@ -129,7 +143,6 @@ public:
double m_flRenderTime; // 0x28
double m_flRenderFrameTime; // 0x30
double m_flRenderFrameTimeUnbounded; // 0x38
bool m_bRenderOnly; // 0x40
};
// Aligment: 1
@ -140,7 +153,7 @@ public:
bool m_bThreadsActive; // 0x0
};
// Aligment: 5
// Aligment: 4
// Size: 56
struct EventClientOutput_t
{
@ -149,11 +162,10 @@ public:
float m_flRenderTime; // 0x28
float m_flRealTime; // 0x2c
float m_flRenderFrameTimeUnbounded; // 0x30
bool m_bRenderOnly; // 0x34
};
// Aligment: 5
// Size: 64
// Aligment: 4
// Size: 56
struct EventClientPostOutput_t
{
public:
@ -161,7 +173,6 @@ public:
double m_flRenderTime; // 0x28
float m_flRenderFrameTime; // 0x30
float m_flRenderFrameTimeUnbounded; // 0x34
bool m_bRenderOnly; // 0x38
};
// Aligment: 3
@ -194,26 +205,24 @@ public:
bool m_bLastTick; // 0x29
};
// Aligment: 4
// Aligment: 3
// Size: 64
struct EventAdvanceTick_t : public EventSimulate_t
{
public:
int32_t m_nCurrentTick; // 0x30
int32_t m_nCurrentTickThisFrame; // 0x34
int32_t m_nTotalTicksThisFrame; // 0x38
int32_t m_nTotalTicks; // 0x3c
int32_t m_nTotalTicksThisFrame; // 0x34
int32_t m_nTotalTicks; // 0x38
};
// Aligment: 4
// Aligment: 3
// Size: 64
struct EventPostAdvanceTick_t : public EventSimulate_t
{
public:
int32_t m_nCurrentTick; // 0x30
int32_t m_nCurrentTickThisFrame; // 0x34
int32_t m_nTotalTicksThisFrame; // 0x38
int32_t m_nTotalTicks; // 0x3c
int32_t m_nTotalTicksThisFrame; // 0x34
int32_t m_nTotalTicks; // 0x38
};
// Aligment: 0
@ -360,6 +369,14 @@ public:
int32_t m_nDummy0; // 0x0
};
// Aligment: 0
// Size: 8
class IRecipientFilter
{
public:
// <no members described>
};
// Aligment: 0
// Size: 8
class IHandleEntity
@ -395,7 +412,7 @@ public:
};
// Aligment: 8
// Size: 112
// Size: 120
struct EntComponentInfo_t
{
public:
@ -406,7 +423,7 @@ public:
char* m_pNetworkDataReferencedPtrPropDescription; // 0x28
int32_t m_nRuntimeIndex; // 0x30
uint32_t m_nFlags; // 0x34
CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x68
CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70
};
// Aligment: 0
@ -437,7 +454,7 @@ public:
};
// Aligment: 11
// Size: 112
// Size: 120
class CEntityIdentity
{
public:
@ -446,16 +463,16 @@ public:
int32_t m_nameStringableIndex; // 0x14
CUtlSymbolLarge m_name; // 0x18
CUtlSymbolLarge m_designerName; // 0x20
uint32_t m_flags; // 0x28
uint32_t m_fDataObjectTypes; // 0x30
uint32_t m_flags; // 0x30
uint32_t m_fDataObjectTypes; // 0x38
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x34
CEntityIdentity* m_pPrev; // 0x48
CEntityIdentity* m_pNext; // 0x50
CEntityIdentity* m_pPrevByClass; // 0x58
CEntityIdentity* m_pNextByClass; // 0x60
V_uuid_t* m_pId; // 0x68
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c
CEntityIdentity* m_pPrev; // 0x50
CEntityIdentity* m_pNext; // 0x58
CEntityIdentity* m_pPrevByClass; // 0x60
CEntityIdentity* m_pNextByClass; // 0x68
V_uuid_t* m_pId; // 0x70
};
// Aligment: 0
@ -466,16 +483,21 @@ public:
// <no members described>
};
// Aligment: 2
// Size: 40
// Aligment: 4
// Size: 56
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
// MNetworkEnable
// MNetworkPriority "112"
CEntityIdentity* m_pEntity; // 0x8
CEntityIdentity* m_pEntity; // 0x10
// MNetworkDisable
CUtlStringToken m_worldGroupId; // 0x10
CUtlStringToken m_worldGroupId; // 0x20
// MNetworkEnable
// MNetworkDisable
CScriptComponent* m_CScriptComponent; // 0x30
};
// Aligment: 1
@ -486,3 +508,14 @@ public:
CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18
};
// Aligment: 1
// Size: 56
class CScriptComponent : public CEntityComponent
{
public:
CUtlSymbolLarge m_scriptClassName; // 0x30
public:
static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[0]->m_instance); }
static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced() { return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[1]->m_instance); }
};

View File

@ -4,7 +4,7 @@
///////////////////////////////////////////
// Binary: materialsystem2.dll
// Class Count: 13
// Class Count: 12
// Enum Count: 5
///////////////////////////////////////////
@ -177,20 +177,8 @@ public:
Vector m_vColorTint; // 0x18
};
// Aligment: 5
// Size: 20
struct PostProcessingLocalContrastParameters_t
{
public:
float m_flLocalContrastStrength; // 0x0
float m_flLocalContrastEdgeStrength; // 0x4
float m_flLocalContrastVignetteStart; // 0x8
float m_flLocalContrastVignetteEnd; // 0xc
float m_flLocalContrastVignetteBlur; // 0x10
};
// Aligment: 10
// Size: 248
// Aligment: 8
// Size: 224
struct PostProcessingResource_t
{
public:
@ -200,9 +188,7 @@ public:
PostProcessingBloomParameters_t m_bloomParams; // 0x28
bool m_bHasVignetteParams; // 0x98
PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c
bool m_bHasLocalContrastParams; // 0xc0
PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4
int32_t m_nColorCorrectionVolumeDim; // 0xd8
CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0
int32_t m_nColorCorrectionVolumeDim; // 0xc0
CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xc8
};

File diff suppressed because it is too large Load Diff

View File

@ -57,7 +57,7 @@ enum class RenderSlotType_t : uint32_t
};
// Aligment: 4
// Size: 9
// Size: 8
enum class RenderBufferFlags_t : uint32_t
{
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
@ -68,7 +68,6 @@ enum class RenderBufferFlags_t : uint32_t
RENDER_BUFFER_STRUCTURED_BUFFER = 0x20,
RENDER_BUFFER_APPEND_CONSUME_BUFFER = 0x40,
RENDER_BUFFER_UAV_COUNTER = 0x80,
RENDER_BUFFER_UAV_DRAW_INDIRECT_ARGS = 0x100,
};
// Aligment: 4
@ -123,14 +122,15 @@ enum class RenderPrimitiveType_t : uint32_t
};
// Aligment: 4
// Size: 5
// Size: 6
enum class InputLayoutVariation_t : uint32_t
{
INPUT_LAYOUT_VARIATION_DEFAULT = 0x0,
INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x1,
INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x2,
INPUT_LAYOUT_VARIATION_STREAM1_DRAWINDIRECT_ID = 0x3,
INPUT_LAYOUT_VARIATION_MAX = 0x4,
INPUT_LAYOUT_VARIATION_STREAM1_MAT3X4 = 0x1,
INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID = 0x2,
INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_LIGHTMAP_PARAMS = 0x3,
INPUT_LAYOUT_VARIATION_STREAM1_INSTANCEID_MORPH_VERT_ID = 0x4,
INPUT_LAYOUT_VARIATION_MAX = 0x5,
};
// Aligment: 4

10
sdk/rendersystemdx9.hpp Normal file
View File

@ -0,0 +1,10 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: rendersystemdx9.dll
// Class Count: 0
// Enum Count: 0
///////////////////////////////////////////

View File

@ -4,12 +4,12 @@
///////////////////////////////////////////
// Binary: resourcesystem.dll
// Class Count: 28
// Class Count: 34
// Enum Count: 2
///////////////////////////////////////////
// Aligment: 4
// Size: 7
// Size: 6
enum class LightType_t : uint32_t
{
MATERIAL_LIGHT_DISABLE = 0x0,
@ -18,7 +18,6 @@ enum class LightType_t : uint32_t
MATERIAL_LIGHT_SPOT = 0x3,
MATERIAL_LIGHT_ORTHO = 0x4,
MATERIAL_LIGHT_ENVIRONMENT_PROBE = 0x5,
MATERIAL_LIGHT_AREA = 0x6,
};
// Aligment: 4
@ -28,14 +27,6 @@ enum class LightSourceShape_t : uint32_t
LIGHT_SOURCE_SHAPE_SPHERE = 0x0,
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCGenericDataResource
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIParticleSystemDefinition
@ -116,6 +107,14 @@ public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIVectorGraphic
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVSoundEventScriptList
@ -206,7 +205,7 @@ public:
// Aligment: 0
// Size: 1
class InfoForResourceTypeIAnimationGraph
class InfoForResourceTypeCPanoramaStyle
{
public:
// <no members described>
@ -214,7 +213,47 @@ public:
// Aligment: 0
// Size: 1
class InfoForResourceTypeIAnimationSubGraph
class InfoForResourceTypeCPanoramaLayout
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPanoramaDynamicImages
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDotaItemDefinitionResource
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPanoramaScript
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDOTAPatchNotesList
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIAnimationGraph
{
public:
// <no members described>
@ -228,8 +267,16 @@ public:
// <no members described>
};
// Aligment: 35
// Size: 264
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDACGameDefsData
{
public:
// <no members described>
};
// Aligment: 36
// Size: 260
struct LightDesc_t
{
public:
@ -243,31 +290,32 @@ public:
float m_Attenuation2; // 0x2c
float m_Theta; // 0x30
float m_Phi; // 0x34
int32_t m_nLightGroupCount; // 0x40
CUtlStringToken[1] m_lightGroups; // 0x44
bool m_bCastShadows; // 0x48
int32_t m_nShadowWidth; // 0x4c
int32_t m_nShadowHeight; // 0x50
int32_t m_nShadowCascadeCount; // 0x54
float32[4] m_flShadowCascadeDistance; // 0x58
int32[4] m_nShadowCascadeResolution; // 0x68
bool m_bUsesIndexedBakedLighting; // 0x78
int32_t m_nBakeLightIndex; // 0x7c
float m_flBakeLightIndexScale; // 0x80
int32_t m_nFogLightingMode; // 0x84
bool m_bRenderDiffuse; // 0x88
bool m_bRenderSpecular; // 0x89
bool m_bRenderTransmissive; // 0x8a
int32_t m_nPriority; // 0x8c
LightSourceShape_t m_Shape; // 0x90
float m_flLightSourceDim0; // 0x94
float m_flLightSourceDim1; // 0x98
float m_flLightSourceSize0; // 0x9c
float m_flLightSourceSize1; // 0xa0
float m_flPrecomputedMaxRange; // 0xa4
float m_flFogContributionStength; // 0xa8
float m_flNearClipPlane; // 0xac
Vector m_vecUp; // 0xc8
CUtlStringToken m_lightCookie; // 0x38
int32_t m_nLightGroupCount; // 0x3c
CUtlStringToken[1] m_lightGroups; // 0x40
bool m_bCastShadows; // 0x44
int32_t m_nShadowWidth; // 0x48
int32_t m_nShadowHeight; // 0x4c
int32_t m_nShadowCascadeCount; // 0x50
float32[4] m_flShadowCascadeDistance; // 0x54
int32[4] m_nShadowCascadeResolution; // 0x64
bool m_bUsesIndexedBakedLighting; // 0x74
int32_t m_nBakeLightIndex; // 0x78
float m_flBakeLightIndexScale; // 0x7c
int32_t m_nFogLightingMode; // 0x80
bool m_bRenderDiffuse; // 0x84
bool m_bRenderSpecular; // 0x85
bool m_bRenderTransmissive; // 0x86
int32_t m_nPriority; // 0x88
LightSourceShape_t m_Shape; // 0x8c
float m_flLightSourceDim0; // 0x90
float m_flLightSourceDim1; // 0x94
float m_flLightSourceSize0; // 0x98
float m_flLightSourceSize1; // 0x9c
float m_flPrecomputedMaxRange; // 0xa0
float m_flFogContributionStength; // 0xa4
float m_flNearClipPlane; // 0xa8
Vector m_vecUp; // 0xc4
};
// Aligment: 2

10
sdk/scenefilecache.hpp Normal file
View File

@ -0,0 +1,10 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: scenefilecache.dll
// Class Count: 0
// Enum Count: 0
///////////////////////////////////////////

View File

@ -4,10 +4,84 @@
///////////////////////////////////////////
// Binary: scenesystem.dll
// Class Count: 9
// Class Count: 14
// Enum Count: 0
///////////////////////////////////////////
// Aligment: 4
// Size: 48
struct CSceneObjectReference_t
{
public:
VectorAligned m_vecAABBMins; // 0x0
VectorAligned m_vecAABBMaxes; // 0x10
uint64_t m_nRenderableFlags; // 0x20
CSceneObject* m_pObject; // 0x28
};
// Aligment: 2
// Size: 8
struct CPVSData::pvsmask_t
{
public:
uint32_t m_nOffset; // 0x0
uint32_t m_nMask; // 0x4
};
// Aligment: 4
// Size: 72
class CPVSData
{
public:
CPVSData* m_pNext; // 0x0
uint16_t m_nPVSMasks; // 0x8
uint16_t m_nPVSFlags; // 0xa
CPVSData::pvsmask_t[7] m_masks; // 0xc
};
// Aligment: 9
// Size: 1136
struct CSceneObjectExtraData_t
{
public:
uint64_t m_nCurrentMeshGroupMask; // 0x440
CUtlStringToken m_nLayerForceID; // 0x450
Vector m_vLightingOrigin; // 0x454
float m_flDepthSortBias; // 0x460
uint8[4] m_nVisibleToPlayer; // 0x464
uint16_t m_nAlphaFade; // 0x468
int16_t m_nViewProducerIndex; // 0x46a
bool m_bLightingOriginIsInWorldSpace; // 0x46c
int8_t m_nCurrentLOD; // 0x46d
};
// Aligment: 18
// Size: 176
class CSceneObject
{
public:
ISceneObjectDesc* m_pDesc; // 0x10
CSceneObjectReference_t* m_pRefData; // 0x18
float m_flStartFadeDistanceSquared; // 0x20
float m_flFarCullDistanceSquared; // 0x24
uint16_t m_nObjectTypeFlags; // 0x28
uint16_t m_nGameRenderCounter; // 0x2a
uint8_t m_nMeshGroupMaskSmall; // 0x2f
bitfield:2 m_nDebugLevel; // 0x0
bitfield:2 m_nSizeCullBloat; // 0x0
bitfield:1 m_nBoundsType; // 0x0
uint8_t m_nID; // 0x31
int8_t m_nBoundsGroupIndex; // 0x32
uint8_t m_nObjectClass; // 0x33
matrix3x4a_t m_transform; // 0x40
CPVSData* m_pPVSData; // 0x70
uint64_t m_nOriginalRenderableFlags; // 0x88
uint64_t m_nRenderableFlags; // 0x90
CUtlStringToken m_nLayerMatchID; // 0xa4
public:
static float32[4] &Get_s_flSizeCullBloatScale() { return *reinterpret_cast<float32[4]*>(interfaces::g_schema->FindTypeScopeForModule("scenesystem.dll")->FindDeclaredClass("CSceneObject")->m_static_fiels[0]->m_instance); }
};
// Aligment: 2
// Size: 16
class CSSDSEndFrameViewInfo

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
///////////////////////////////////////////
// Binary: soundsystem.dll
// Class Count: 16
// Class Count: 15
// Enum Count: 7
///////////////////////////////////////////
@ -69,7 +69,7 @@ enum class vmix_filter_type_t : uint16_t
};
// Aligment: 2
// Size: 13
// Size: 12
enum class vmix_processor_type_t : uint16_t
{
VPROCESSOR_UNKNOWN = 0,
@ -84,7 +84,6 @@ enum class vmix_processor_type_t : uint16_t
VPROCESSOR_STEAMAUDIO_PATHING = 9,
VPROCESSOR_EQ8 = 10,
VPROCESSOR_ENVELOPE = 11,
VPROCESSOR_VOCODER = 12,
};
// Aligment: 3
@ -269,31 +268,12 @@ public:
float m_flReleaseTimeMS; // 0x8
};
// Aligment: 4
// Size: 16
// Aligment: 2
// Size: 8
struct vmix_pitch_shift_desc_t
{
public:
int32_t m_nGrainSampleCount; // 0x0
float m_flPitchShift; // 0x4
int32_t m_nQuality; // 0x8
int32_t m_nProcType; // 0xc
};
// Aligment: 10
// Size: 40
struct vmix_vocoder_desc_t
{
public:
int32_t m_nBandCount; // 0x0
float m_flBandwidth; // 0x4
float m_fldBModGain; // 0x8
float m_flFreqRangeStart; // 0xc
float m_flFreqRangeEnd; // 0x10
float m_fldBUnvoicedGain; // 0x14
float m_flAttackTimeMS; // 0x18
float m_flReleaseTimeMS; // 0x1c
int32_t m_nDebugBand; // 0x20
bool m_bPeakMode; // 0x24
};

View File

@ -4,8 +4,8 @@
///////////////////////////////////////////
// Binary: vphysics2.dll
// Class Count: 147
// Enum Count: 18
// Class Count: 157
// Enum Count: 20
///////////////////////////////////////////
// Aligment: 4
@ -62,7 +62,14 @@ enum class VPhysXAggregateData_t::VPhysXFlagEnum_t : uint32_t
{
VPhysXAggregateData_t::FLAG_IS_POLYSOUP_GEOMETRY = 0x1,
VPhysXAggregateData_t::FLAG_LEVEL_COLLISION = 0x10,
VPhysXAggregateData_t::FLAG_IGNORE_SCALE_OBSOLETE_DO_NOT_USE = 0x20,
VPhysXAggregateData_t::FLAG_IGNORE_SCALE = 0x20,
};
// Aligment: 4
// Size: 1
enum class VPhysXDiskShapeHeader_t::VersinEnum_t : uint32_t
{
VPhysXDiskShapeHeader_t::VERSION = 0x81,
};
// Aligment: 4
@ -75,17 +82,19 @@ enum class MeshTranslucencyType_t : uint32_t
};
// Aligment: 4
// Size: 8
// Size: 10
enum class MeshDrawPrimitiveFlags_t : uint32_t
{
MESH_DRAW_FLAGS_NONE = 0x0,
MESH_DRAW_FLAGS_USE_SHADOW_FAST_PATH = 0x1,
MESH_DRAW_FLAGS_USE_COMPRESSED_NORMAL_TANGENT = 0x2,
MESH_DRAW_FLAGS_IS_OCCLUDER = 0x4,
MESH_DRAW_INPUT_LAYOUT_IS_NOT_MATCHED_TO_MATERIAL = 0x8,
MESH_DRAW_FLAGS_USE_COMPRESSED_PER_VERTEX_LIGHTING = 0x10,
MESH_DRAW_FLAGS_USE_UNCOMPRESSED_PER_VERTEX_LIGHTING = 0x20,
MESH_DRAW_FLAGS_CAN_BATCH_WITH_DYNAMIC_SHADER_CONSTANTS = 0x40,
MESH_DRAW_FLAGS_DRAW_LAST = 0x80,
MESH_DRAW_FLAGS_HAS_LIGHTING_BASIS = 0x100,
};
// Aligment: 4
@ -148,6 +157,17 @@ enum class ModelBoneFlexComponent_t : uint32_t
MODEL_BONE_FLEX_TZ = 0x2,
};
// Aligment: 4
// Size: 5
enum class ModelConfigAttachmentType_t : uint32_t
{
MODEL_CONFIG_ATTACHMENT_INVALID = 0xffffffffffffffff,
MODEL_CONFIG_ATTACHMENT_BONE_OR_ATTACHMENT = 0x0,
MODEL_CONFIG_ATTACHMENT_ROOT_RELATIVE = 0x1,
MODEL_CONFIG_ATTACHMENT_BONEMERGE = 0x2,
MODEL_CONFIG_ATTACHMENT_COUNT = 0x3,
};
// Aligment: 4
// Size: 26
enum class FlexOpCode_t : uint32_t
@ -301,7 +321,7 @@ public:
};
// Aligment: 98
// Size: 1512
// Size: 1408
struct PhysFeModelDesc_t
{
public:
@ -322,87 +342,87 @@ public:
uint16_t m_nQuadCount2; // 0x50
uint16_t m_nCollisionSphereInclusiveCount; // 0x52
uint16_t m_nTreeDepth; // 0x54
uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x56
uint16_t m_nRopeCount; // 0x58
CUtlVector< uint16 > m_Ropes; // 0x60
CUtlVector< FeNodeBase_t > m_NodeBases; // 0x78
CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x90
CUtlVector< FeQuad_t > m_Quads; // 0xa8
CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc0
CUtlVector< FeSimdTri_t > m_SimdTris; // 0xd8
CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf0
CUtlVector< CTransform > m_InitPose; // 0x108
CUtlVector< FeRodConstraint_t > m_Rods; // 0x120
CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x138
CUtlVector< float32 > m_NodeInvMasses; // 0x150
CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x168
CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x180
CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x198
CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1b0
CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1c8
CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1e0
CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x1f8
CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x210
CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x228
CUtlVector< float32 > m_LegacyStretchForce; // 0x240
CUtlVector< float32 > m_NodeCollisionRadii; // 0x258
CUtlVector< float32 > m_DynNodeFriction; // 0x270
CUtlVector< float32 > m_LocalRotation; // 0x288
CUtlVector< float32 > m_LocalForce; // 0x2a0
CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2b8
CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2d0
CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x2e8
CUtlVector< uint16 > m_WorldCollisionNodes; // 0x300
CUtlVector< uint16 > m_TreeParents; // 0x318
CUtlVector< uint16 > m_TreeCollisionMasks; // 0x330
CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x348
CUtlVector< uint16 > m_FreeNodes; // 0x360
CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x378
CUtlVector< FeFitWeight_t > m_FitWeights; // 0x390
CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3a8
CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3c0
CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3d8
CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x3f0
CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x408
CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x420
CUtlVector< uint16 > m_SourceElems; // 0x438
CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x450
CUtlVector< FeTri_t > m_Tris; // 0x468
uint16_t m_nTriCount1; // 0x480
uint16_t m_nTriCount2; // 0x482
uint8_t m_nReservedUint8; // 0x484
uint8_t m_nExtraPressureIterations; // 0x485
uint8_t m_nExtraGoalIterations; // 0x486
uint8_t m_nExtraIterations; // 0x487
CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x488
CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4a0
CUtlVector< uint32 > m_VertexSetNames; // 0x4b8
CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4d0
CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x4e8
CUtlVector< uint8 > m_MorphSetData; // 0x500
CUtlVector< FeVertexMapDesc_t > m_VertexMaps; // 0x518
CUtlVector< uint8 > m_VertexMapValues; // 0x530
CUtlVector< FeEffectDesc_t > m_Effects; // 0x548
CUtlVector< FeCtrlOffset_t > m_LockToParent; // 0x560
CUtlVector< uint16 > m_LockToGoal; // 0x578
CUtlVector< FeNodeWindBase_t > m_DynNodeWindBases; // 0x590
float m_flInternalPressure; // 0x5a8
float m_flDefaultTimeDilation; // 0x5ac
float m_flWindage; // 0x5b0
float m_flWindDrag; // 0x5b4
float m_flDefaultSurfaceStretch; // 0x5b8
float m_flDefaultThreadStretch; // 0x5bc
float m_flDefaultGravityScale; // 0x5c0
float m_flDefaultVelAirDrag; // 0x5c4
float m_flDefaultExpAirDrag; // 0x5c8
float m_flDefaultVelQuadAirDrag; // 0x5cc
float m_flDefaultExpQuadAirDrag; // 0x5d0
float m_flRodVelocitySmoothRate; // 0x5d4
float m_flQuadVelocitySmoothRate; // 0x5d8
float m_flAddWorldCollisionRadius; // 0x5dc
float m_flDefaultVolumetricSolveAmount; // 0x5e0
uint16_t m_nRodVelocitySmoothIterations; // 0x5e4
uint16_t m_nQuadVelocitySmoothIterations; // 0x5e6
uint16_t m_nFitMatrixCount1; // 0x56
uint16_t m_nFitMatrixCount2; // 0x58
uint16_t m_nSimdFitMatrixCount1; // 0x5a
uint16_t m_nSimdFitMatrixCount2; // 0x5c
uint16_t m_nNodeBaseJiggleboneDependsCount; // 0x5e
uint16_t m_nRopeCount; // 0x60
CUtlVector< uint16 > m_Ropes; // 0x68
CUtlVector< FeNodeBase_t > m_NodeBases; // 0x80
CUtlVector< FeSimdNodeBase_t > m_SimdNodeBases; // 0x98
CUtlVector< FeQuad_t > m_Quads; // 0xb0
CUtlVector< FeSimdQuad_t > m_SimdQuads; // 0xc8
CUtlVector< FeSimdTri_t > m_SimdTris; // 0xe0
CUtlVector< FeSimdRodConstraint_t > m_SimdRods; // 0xf8
CUtlVector< CTransform > m_InitPose; // 0x110
CUtlVector< FeRodConstraint_t > m_Rods; // 0x128
CUtlVector< FeAxialEdgeBend_t > m_AxialEdges; // 0x140
CUtlVector< float32 > m_NodeInvMasses; // 0x158
CUtlVector< FeCtrlOffset_t > m_CtrlOffsets; // 0x170
CUtlVector< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0x188
CUtlVector< FeFollowNode_t > m_FollowNodes; // 0x1a0
CUtlVector< FeCollisionSphere_t > m_CollisionSpheres; // 0x1b8
CUtlVector< FeCollisionPlane_t > m_CollisionPlanes; // 0x1d0
CUtlVector< FeNodeIntegrator_t > m_NodeIntegrator; // 0x1e8
CUtlVector< FeSpringIntegrator_t > m_SpringIntegrator; // 0x200
CUtlVector< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0x218
CUtlVector< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0x230
CUtlVector< float32 > m_LegacyStretchForce; // 0x248
CUtlVector< float32 > m_NodeCollisionRadii; // 0x260
CUtlVector< float32 > m_DynNodeFriction; // 0x278
CUtlVector< float32 > m_LocalRotation; // 0x290
CUtlVector< float32 > m_LocalForce; // 0x2a8
CUtlVector< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x2c0
CUtlVector< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x2d8
CUtlVector< FeSphereRigid_t > m_SphereRigids; // 0x2f0
CUtlVector< uint16 > m_WorldCollisionNodes; // 0x308
CUtlVector< uint16 > m_TreeParents; // 0x320
CUtlVector< uint16 > m_TreeCollisionMasks; // 0x338
CUtlVector< FeTreeChildren_t > m_TreeChildren; // 0x350
CUtlVector< uint16 > m_FreeNodes; // 0x368
CUtlVector< FeFitMatrix_t > m_FitMatrices; // 0x380
CUtlVector< FeSimdFitMatrices_t > m_SimdFitMatrices; // 0x398
CUtlVector< FeFitWeight_t > m_FitWeights; // 0x3b0
CUtlVector< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x3c8
CUtlVector< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x3e0
CUtlVector< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x3f8
CUtlVector< FeKelagerBend2_t > m_KelagerBends; // 0x410
CUtlVector< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x428
CUtlVector< CFeIndexedJiggleBone > m_JiggleBones; // 0x440
CUtlVector< uint16 > m_SourceElems; // 0x458
CUtlVector< uint32 > m_GoalDampedSpringIntegrators; // 0x470
CUtlVector< FeTri_t > m_Tris; // 0x488
uint16_t m_nTriCount1; // 0x4a0
uint16_t m_nTriCount2; // 0x4a2
uint8_t m_nReservedUint8; // 0x4a4
uint8_t m_nExtraPressureIterations; // 0x4a5
uint8_t m_nExtraGoalIterations; // 0x4a6
uint8_t m_nExtraIterations; // 0x4a7
CUtlVector< FeBoxRigid_t > m_BoxRigids; // 0x4a8
CUtlVector< uint8 > m_DynNodeVertexSet; // 0x4c0
CUtlVector< uint32 > m_VertexSetNames; // 0x4d8
CUtlVector< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x4f0
CUtlVector< FeMorphLayerDepr_t > m_MorphLayers; // 0x508
CUtlVector< uint8 > m_MorphSetData; // 0x520
float m_flInternalPressure; // 0x538
float m_flWindage; // 0x53c
float m_flWindDrag; // 0x540
float m_flDefaultSurfaceStretch; // 0x544
float m_flDefaultThreadStretch; // 0x548
float m_flDefaultGravityScale; // 0x54c
float m_flDefaultVelAirDrag; // 0x550
float m_flDefaultExpAirDrag; // 0x554
float m_flDefaultVelQuadAirDrag; // 0x558
float m_flDefaultExpQuadAirDrag; // 0x55c
float m_flDefaultVelRodAirDrag; // 0x560
float m_flDefaultExpRodAirDrag; // 0x564
float m_flRodVelocitySmoothRate; // 0x568
float m_flQuadVelocitySmoothRate; // 0x56c
float m_flAddWorldCollisionRadius; // 0x570
float m_flDefaultVolumetricSolveAmount; // 0x574
uint16_t m_nRodVelocitySmoothIterations; // 0x578
uint16_t m_nQuadVelocitySmoothIterations; // 0x57a
};
// Aligment: 2
@ -463,15 +483,6 @@ public:
uint16_t nReserved; // 0x16
};
// Aligment: 2
// Size: 12
struct FeStiffHingeBuild_t
{
public:
float flMaxAngle; // 0x0
uint16[3] nNode; // 0x4
};
// Aligment: 5
// Size: 28
struct FeTri_t
@ -520,17 +531,6 @@ public:
Quaternion qAdjust; // 0x10
};
// Aligment: 4
// Size: 8
struct FeNodeWindBase_t
{
public:
uint16_t nNodeX0; // 0x0
uint16_t nNodeX1; // 0x2
uint16_t nNodeY0; // 0x4
uint16_t nNodeY1; // 0x6
};
// Aligment: 3
// Size: 16
struct FeNodeReverseOffset_t
@ -758,30 +758,28 @@ public:
uint16[2] nChild; // 0x0
};
// Aligment: 6
// Size: 48
// Aligment: 5
// Size: 40
struct FeTaperedCapsuleRigid_t
{
public:
fltx4[2] vSphere; // 0x0
float flStickiness; // 0x20
uint16_t nNode; // 0x24
uint16_t nCollisionMask; // 0x26
uint16_t nVertexMapIndex; // 0x28
uint16_t nFlags; // 0x2a
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector[2] vCenter; // 0x4
float32[2] flRadius; // 0x1c
float flStickiness; // 0x24
};
// Aligment: 6
// Size: 32
// Aligment: 5
// Size: 24
struct FeSphereRigid_t
{
public:
fltx4 vSphere; // 0x0
float flStickiness; // 0x10
uint16_t nNode; // 0x14
uint16_t nCollisionMask; // 0x16
uint16_t nVertexMapIndex; // 0x18
uint16_t nFlags; // 0x1a
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector vCenter; // 0x4
float flRadius; // 0x10
float flStickiness; // 0x14
};
// Aligment: 5
@ -797,7 +795,7 @@ public:
float flStickiness; // 0x10
};
// Aligment: 8
// Aligment: 6
// Size: 80
struct FeBoxRigid_t
{
@ -806,9 +804,7 @@ public:
uint16_t nCollisionMask; // 0x2
Vector vSize; // 0x4
float flStickiness; // 0x10
uint16_t nVertexMapIndex; // 0x14
uint16_t nFlags; // 0x16
float32[2] flReserved; // 0x18
float32[3] flReserved; // 0x14
matrix3x4a_t tmFrame; // 0x20
};
@ -854,7 +850,7 @@ public:
uint32_t nMatrixNode; // 0x8
};
// Aligment: 5
// Aligment: 6
// Size: 64
struct FeFitMatrix_t
{
@ -863,7 +859,21 @@ public:
Vector vCenter; // 0x20
uint16_t nEnd; // 0x2c
uint16_t nNode; // 0x2e
uint16_t nBeginDynamic; // 0x30
uint16_t nCtrl; // 0x30
uint16_t nBeginDynamic; // 0x32
};
// Aligment: 6
// Size: 192
struct FeSimdFitMatrices_t
{
public:
FourVectors vCenter; // 0x0
uint16[4] nEnd; // 0x30
uint16[4] nCtrl; // 0x38
FourCovMatrices3 AqqInv; // 0x40
fltx4 flStretchMin; // 0xa0
fltx4 flStretchMax; // 0xb0
};
// Aligment: 5
@ -878,31 +888,28 @@ public:
uint16_t m_nCollisionPlaneIndex; // 0xa
};
// Aligment: 2
// Size: 64
// Aligment: 1
// Size: 44
struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t
{
public:
int32_t m_nPriority; // 0x30
uint32_t m_nVertexMapHash; // 0x34
int32_t m_nPriority; // 0x28
};
// Aligment: 2
// Aligment: 1
// Size: 96
struct FeBuildBoxRigid_t : public FeBoxRigid_t
{
public:
int32_t m_nPriority; // 0x50
uint32_t m_nVertexMapHash; // 0x54
};
// Aligment: 2
// Size: 48
// Aligment: 1
// Size: 28
struct FeBuildSphereRigid_t : public FeSphereRigid_t
{
public:
int32_t m_nPriority; // 0x20
uint32_t m_nVertexMapHash; // 0x24
int32_t m_nPriority; // 0x18
};
// Aligment: 1
@ -913,51 +920,6 @@ public:
uint16[2] nNode; // 0x0
};
// Aligment: 4
// Size: 32
struct FeEffectDesc_t
{
public:
CUtlString sName; // 0x0
uint32_t nNameHash; // 0x8
int32_t nType; // 0xc
KeyValues3 m_Params; // 0x10
};
// Aligment: 3
// Size: 40
struct FeVertexMapBuild_t
{
public:
CUtlString m_VertexMapName; // 0x0
uint32_t m_nNameHash; // 0x8
CUtlVector< float32 > m_Weights; // 0x10
};
// Aligment: 2
// Size: 16
struct FeProxyVertexMap_t
{
public:
CUtlString m_Name; // 0x0
float m_flWeight; // 0x8
};
// Aligment: 8
// Size: 32
struct FeVertexMapDesc_t
{
public:
CUtlString sName; // 0x0
uint32_t nNameHash; // 0x8
uint32_t nFlags; // 0xc
uint16_t nVertexBase; // 0x10
uint16_t nVertexCount; // 0x12
uint32_t nMapOffset; // 0x14
uint32_t nNodeListOffset; // 0x18
uint16_t nNodeListCount; // 0x1c
};
// Aligment: 8
// Size: 144
struct FeMorphLayerDepr_t
@ -1207,29 +1169,37 @@ public:
CUtlVector< uint16 > m_CollisionAttributeIndices; // 0x60
};
// Aligment: 10
// Size: 160
// Aligment: 11
// Size: 184
struct VPhysXBodyPart_t
{
public:
uint32_t m_nFlags; // 0x0
float m_flMass; // 0x4
VPhysics2ShapeDef_t m_rnShape; // 0x8
uint16_t m_nCollisionAttributeIndex; // 0x80
uint16_t m_nReserved; // 0x82
float m_flInertiaScale; // 0x84
float m_flLinearDamping; // 0x88
float m_flAngularDamping; // 0x8c
bool m_bOverrideMassCenter; // 0x90
Vector m_vMassCenterOverride; // 0x94
CUtlVector< uint8 > m_nSurfacepropertyIndices; // 0x80
uint16_t m_nCollisionAttributeIndex; // 0x98
uint16_t m_nReserved; // 0x9a
float m_flInertiaScale; // 0x9c
float m_flLinearDamping; // 0xa0
float m_flAngularDamping; // 0xa4
bool m_bOverrideMassCenter; // 0xa8
Vector m_vMassCenterOverride; // 0xac
};
// Aligment: 1
// Size: 24
// Aligment: 8
// Size: 160
struct VPhysXCollisionAttributes_t
{
public:
CUtlVector< CUtlString > m_PhysicsTagStrings; // 0x0
uint32_t m_CollisionGroup; // 0x0
CUtlVector< uint32 > m_InteractAs; // 0x8
CUtlVector< uint32 > m_InteractWith; // 0x20
CUtlVector< uint32 > m_InteractExclude; // 0x38
CUtlString m_CollisionGroupString; // 0x50
CUtlVector< CUtlString > m_InteractAsStrings; // 0x58
CUtlVector< CUtlString > m_InteractWithStrings; // 0x70
CUtlVector< CUtlString > m_InteractExcludeStrings; // 0x88
};
// Aligment: 2
@ -1371,8 +1341,8 @@ public:
CUtlString m_embeddedKeyvalues; // 0x130
};
// Aligment: 6
// Size: 24
// Aligment: 5
// Size: 20
class CPhysSurfacePropertiesPhysics
{
public:
@ -1382,22 +1352,21 @@ public:
// MDefaultString
float m_thickness; // 0xc
float m_dampening; // 0x10
// MDefaultString
float m_bouncethreshold; // 0x14
};
// Aligment: 6
// Size: 24
// Aligment: 7
// Size: 28
class CPhysSurfacePropertiesAudio
{
public:
float m_hardnessFactor; // 0x0
float m_roughnessFactor; // 0x4
float m_roughThreshold; // 0x8
float m_hardThreshold; // 0xc
float m_reflectivity; // 0x0
float m_hardnessFactor; // 0x4
float m_roughnessFactor; // 0x8
float m_roughThreshold; // 0xc
float m_hardThreshold; // 0x10
// MDefaultString
float m_hardVelocityThreshold; // 0x10
float m_flStaticImpactVolume; // 0x14
float m_hardVelocityThreshold; // 0x14
float m_flStaticImpactVolume; // 0x18
};
// Aligment: 8
@ -1416,7 +1385,7 @@ public:
};
// Aligment: 8
// Size: 184
// Size: 160
class CPhysSurfaceProperties
{
public:
@ -1438,6 +1407,44 @@ public:
CUtlVector< CPhysSurfaceProperties* > m_surfacePropertiesList; // 0x0
};
// Aligment: 2
// Size: 4
struct VPhysXDiskShapeHeader_t
{
public:
uint8_t m_nType; // 0x0
uint16_t m_nCollisionAttribute; // 0x2
};
// Aligment: 4
// Size: 28
struct VPhysXDiskMesh2_t : public VPhysXDiskShapeHeader_t
{
public:
CResourceArray< uint8 > m_shape; // 0x4
float m_flSkinWidth; // 0xc
float m_flMaxVelocity; // 0x10
uint32[2] m_nReserved2; // 0x14
};
// Aligment: 2
// Size: 20
struct VPhysXShapeCompoundHeader2_t : public VPhysXDiskShapeHeader_t
{
public:
CResourceArray< CResourceArray< uint8 > > m_components; // 0x4
CResourceArray< uint8 > m_types; // 0xc
};
// Aligment: 2
// Size: 32
struct VPhysXDiskCapsule_t : public VPhysXDiskShapeHeader_t
{
public:
Vector[2] m_vEnds; // 0x4
float m_flRadius; // 0x1c
};
// Aligment: 2
// Size: 32
struct MaterialGroup_t
@ -1510,8 +1517,8 @@ public:
CUtlVector< ModelBoneFlexDriverControl_t > m_controls; // 0x10
};
// Aligment: 20
// Size: 632
// Aligment: 21
// Size: 640
struct PermModelData_t
{
public:
@ -1534,7 +1541,111 @@ public:
CUtlVector< int16 > m_remappingTable; // 0x218
CUtlVector< uint16 > m_remappingTableStarts; // 0x230
CUtlVector< ModelBoneFlexDriver_t > m_boneFlexDrivers; // 0x248
CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x260
CModelConfigList* m_pModelConfigList; // 0x260
CUtlVector< CUtlString > m_BodyGroupsHiddenInTools; // 0x268
};
// Aligment: 2
// Size: 72
class CModelConfigElement
{
public:
CUtlString m_ElementName; // 0x8
CUtlVector< CModelConfigElement* > m_NestedElements; // 0x10
};
// Aligment: 9
// Size: 208
class CModelConfigElement_AttachedModel : public CModelConfigElement
{
public:
CUtlString m_InstanceName; // 0x48
CUtlString m_EntityClass; // 0x50
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x58
Vector m_vOffset; // 0x60
QAngle m_aAngOffset; // 0x6c
CUtlString m_AttachmentName; // 0x78
ModelConfigAttachmentType_t m_AttachmentType; // 0x80
bool m_bUserSpecifiedColor; // 0x84
bool m_bUserSpecifiedMaterialGroup; // 0x85
};
// Aligment: 1
// Size: 96
class CModelConfigElement_UserPick : public CModelConfigElement
{
public:
CUtlVector< CUtlString > m_Choices; // 0x48
};
// Aligment: 1
// Size: 96
class CModelConfigElement_RandomPick : public CModelConfigElement
{
public:
CUtlVector< CUtlString > m_Choices; // 0x48
};
// Aligment: 1
// Size: 80
class CModelConfigElement_SetMaterialGroup : public CModelConfigElement
{
public:
CUtlString m_MaterialGroupName; // 0x48
};
// Aligment: 1
// Size: 80
class CModelConfigElement_SetRenderColor : public CModelConfigElement
{
public:
Color m_Color; // 0x48
};
// Aligment: 1
// Size: 96
class CModelConfigElement_RandomColor : public CModelConfigElement
{
public:
CColorGradient m_Gradient; // 0x48
};
// Aligment: 2
// Size: 88
class CModelConfigElement_SetBodygroup : public CModelConfigElement
{
public:
CUtlString m_GroupName; // 0x48
int32_t m_nChoice; // 0x50
};
// Aligment: 2
// Size: 96
class CModelConfigElement_Command : public CModelConfigElement
{
public:
CUtlString m_Command; // 0x48
KeyValues3 m_Args; // 0x50
};
// Aligment: 3
// Size: 40
class CModelConfig
{
public:
CUtlString m_ConfigName; // 0x0
CUtlVector< CModelConfigElement* > m_Elements; // 0x8
bool m_bTopLevel; // 0x20
};
// Aligment: 3
// Size: 32
class CModelConfigList
{
public:
bool m_bHideMaterialGroupInTools; // 0x0
bool m_bHideRenderColorInTools; // 0x1
CUtlVector< CModelConfig* > m_Configs; // 0x8
};
// Aligment: 2
@ -1587,8 +1698,8 @@ public:
int8_t m_ConeCutoff; // 0xf
};
// Aligment: 13
// Size: 192
// Aligment: 12
// Size: 208
class CMaterialDrawDescriptor
{
public:
@ -1602,10 +1713,9 @@ public:
float m_flUvDensity; // 0x1c
// MDefaultString
Vector m_vTintColor; // 0x24
int16_t m_CullDataIndex; // 0x32
int32_t m_nMeshID; // 0x34
CRenderBufferBinding m_indexBuffer; // 0xa0
CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xb8
int8_t m_CullDataIndex; // 0x32
CRenderBufferBinding m_indexBuffer; // 0xb0
CStrongHandle< InfoForResourceTypeIMaterial2 > m_material; // 0xc8
};
// Aligment: 5
@ -1635,25 +1745,23 @@ public:
bool m_bIgnoreRotation; // 0x84
};
// Aligment: 14
// Size: 112
// Aligment: 12
// Size: 120
class CHitBox
{
public:
Vector m_vMinBounds; // 0x20
Vector m_vMaxBounds; // 0x2c
CUtlString m_name; // 0x38
CUtlString m_sSurfaceProperty; // 0x40
CUtlString m_sBoneName; // 0x48
float m_flShapeRadius; // 0x50
uint32_t m_nBoneNameHash; // 0x54
int32_t m_nGroupId; // 0x58
Color m_cRenderColor; // 0x5c
uint16_t m_nHitBoxIndex; // 0x60
uint8_t m_nShapeType; // 0x62
bool m_bTranslationOnly; // 0x64
bool m_bVisible; // 0x65
bool m_bSelected; // 0x66
CUtlString m_name; // 0x30
CUtlString m_sSurfaceProperty; // 0x38
CUtlString m_sBoneName; // 0x40
uint32_t m_nBoneNameHash; // 0x48
int32_t m_nGroupId; // 0x4c
Color m_cRenderColor; // 0x50
uint16_t m_nHitBoxIndex; // 0x54
Vector m_vMinBounds; // 0x58
Vector m_vMaxBounds; // 0x64
bool m_bTranslationOnly; // 0x71
bool m_bVisible; // 0x72
bool m_bSelected; // 0x73
};
// Aligment: 4
@ -1676,7 +1784,7 @@ public:
};
// Aligment: 3
// Size: 448
// Size: 456
class CRenderMesh
{
public:
@ -1686,7 +1794,7 @@ public:
};
// Aligment: 6
// Size: 112
// Size: 80
class CConstraintTarget
{
public:
@ -1773,15 +1881,17 @@ public:
int32_t m_nSlaveAxis; // 0x74
};
// Aligment: 4
// Size: 144
// Aligment: 6
// Size: 176
class CMorphConstraint : public CBaseConstraint, CBoneConstraintBase
{
public:
CUtlString m_sTargetMorph; // 0x70
int32_t m_nSlaveChannel; // 0x78
float m_flMin; // 0x7c
float m_flMax; // 0x80
bool m_bCacheAttempted; // 0x70
bool m_bCacheOk; // 0x71
CUtlString m_sTargetMorph; // 0x78
int32_t m_nSlaveChannel; // 0x80
float m_flMin; // 0x84
float m_flMax; // 0x88
};
// Aligment: 0
@ -1802,7 +1912,7 @@ public:
};
// Aligment: 5
// Size: 168
// Size: 160
class CBoneConstraintPoseSpaceMorph : public CBoneConstraintBase
{
public:
@ -1932,6 +2042,70 @@ public:
float m_flTraceRadius; // 0x3c
};
// Aligment: 2
// Size: 8
class CFingerSource
{
public:
AnimVRFinger_t m_nFingerIndex; // 0x0
float m_flFingerWeight; // 0x4
};
// Aligment: 7
// Size: 56
class CFingerBone
{
public:
CUtlString m_boneName; // 0x0
Vector m_hingeAxis; // 0x8
Vector m_vCapsulePos1; // 0x14
Vector m_vCapsulePos2; // 0x20
float m_flMinAngle; // 0x2c
float m_flMaxAngle; // 0x30
float m_flRadius; // 0x34
};
// Aligment: 10
// Size: 112
class CFingerChain
{
public:
CUtlVector< CFingerSource > m_targets; // 0x0
CUtlVector< CFingerBone > m_bones; // 0x18
CUtlString m_name; // 0x30
CUtlString m_tipParentBoneName; // 0x38
Vector m_vTipOffset; // 0x40
CUtlString m_metacarpalBoneName; // 0x50
Vector m_vSplayHingeAxis; // 0x58
float m_flSplayMinAngle; // 0x64
float m_flSplayMaxAngle; // 0x68
float m_flFingerScaleRatio; // 0x6c
};
// Aligment: 4
// Size: 48
class CWristBone
{
public:
CUtlString m_name; // 0x0
Vector m_vForwardLS; // 0x8
Vector m_vUpLS; // 0x14
Vector m_vOffset; // 0x20
};
// Aligment: 6
// Size: 80
class CVrSkeletalInputSettings
{
public:
CUtlVector< CWristBone > m_wristBones; // 0x0
CUtlVector< CFingerChain > m_fingers; // 0x18
CUtlString m_name; // 0x30
CUtlString m_outerKnuckle1; // 0x38
CUtlString m_outerKnuckle2; // 0x40
AnimVRHand_t m_eHand; // 0x48
};
// Aligment: 1
// Size: 4
class CCycleBase
@ -2012,67 +2186,3 @@ public:
bool m_bAdditive; // 0x20
};
// Aligment: 2
// Size: 8
class CFingerSource
{
public:
AnimVRFinger_t m_nFingerIndex; // 0x0
float m_flFingerWeight; // 0x4
};
// Aligment: 7
// Size: 56
class CFingerBone
{
public:
CUtlString m_boneName; // 0x0
Vector m_hingeAxis; // 0x8
Vector m_vCapsulePos1; // 0x14
Vector m_vCapsulePos2; // 0x20
float m_flMinAngle; // 0x2c
float m_flMaxAngle; // 0x30
float m_flRadius; // 0x34
};
// Aligment: 10
// Size: 112
class CFingerChain
{
public:
CUtlVector< CFingerSource > m_targets; // 0x0
CUtlVector< CFingerBone > m_bones; // 0x18
CUtlString m_name; // 0x30
CUtlString m_tipParentBoneName; // 0x38
Vector m_vTipOffset; // 0x40
CUtlString m_metacarpalBoneName; // 0x50
Vector m_vSplayHingeAxis; // 0x58
float m_flSplayMinAngle; // 0x64
float m_flSplayMaxAngle; // 0x68
float m_flFingerScaleRatio; // 0x6c
};
// Aligment: 4
// Size: 48
class CWristBone
{
public:
CUtlString m_name; // 0x0
Vector m_vForwardLS; // 0x8
Vector m_vUpLS; // 0x14
Vector m_vOffset; // 0x20
};
// Aligment: 6
// Size: 80
class CVrSkeletalInputSettings
{
public:
CUtlVector< CWristBone > m_wristBones; // 0x0
CUtlVector< CFingerChain > m_fingers; // 0x18
CUtlString m_name; // 0x30
CUtlString m_outerKnuckle1; // 0x38
CUtlString m_outerKnuckle2; // 0x40
AnimVRHand_t m_eHand; // 0x48
};

View File

@ -4,7 +4,7 @@
///////////////////////////////////////////
// Binary: worldrenderer.dll
// Class Count: 22
// Class Count: 21
// Enum Count: 3
///////////////////////////////////////////
@ -16,10 +16,9 @@ enum class EntityLumpFlags_t : uint32_t
};
// Aligment: 4
// Size: 13
// Size: 12
enum class ObjectTypeFlags_t : uint32_t
{
OBJECT_TYPE_NONE = 0x0,
OBJECT_TYPE_IMAGE_LOD = 0x1,
OBJECT_TYPE_GEOMETRY_LOD = 0x2,
OBJECT_TYPE_DECAL = 0x4,
@ -65,21 +64,20 @@ public:
CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18
};
// Aligment: 6
// Size: 80
// Aligment: 5
// Size: 72
struct PermEntityLumpData_t
{
public:
CUtlString m_name; // 0x0
CUtlString m_hammerUniqueId; // 0x8
EntityLumpFlags_t m_flags; // 0x10
CUtlString m_manifestName; // 0x18
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x20
CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x38
EntityLumpFlags_t m_flags; // 0x8
CUtlString m_manifestName; // 0x10
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x18
CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x30
};
// Aligment: 16
// Size: 144
// Aligment: 17
// Size: 168
struct SceneObject_t
{
public:
@ -99,6 +97,7 @@ public:
int16_t m_nBoundsGroupIndex; // 0x78
CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80
CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCTextureBase > > m_externalTextures; // 0x90
};
// Aligment: 1
@ -109,6 +108,15 @@ public:
uint32_t m_nSceneObjectIndex; // 0x0
};
// Aligment: 2
// Size: 56
struct BoneOverride_t : public BaseSceneObjectOverride_t
{
public:
CUtlVector< uint32 > m_boneHashes; // 0x8
CUtlVector< matrix3x4_t > m_boneTransforms; // 0x20
};
// Aligment: 4
// Size: 32
struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t
@ -147,16 +155,20 @@ public:
int32_t m_nSequenceOverride; // 0x6c
};
// Aligment: 5
// Size: 48
// Aligment: 9
// Size: 80
struct BakedLightingInfo_t
{
public:
uint32_t m_nLightmapVersionNumber; // 0x0
uint32_t m_nLightmapGameVersionNumber; // 0x4
Vector2D m_vLightmapUvScale; // 0x8
bool m_bHasLightmaps; // 0x10
CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18
CUtlVector< uint8 > m_PerVertexLightingDataPlainRGBM; // 0x0
uint32_t m_nPerVertexLightingDataPlainRGBMWidth; // 0x18
uint32_t m_nPerVertexLightingDataPlainRGBMHeight; // 0x1c
uint32_t m_nPerVertexLightingDataPlainRGBMDepth; // 0x20
uint32_t m_nLightmapVersionNumber; // 0x24
uint32_t m_nLightmapGameVersionNumber; // 0x28
Vector2D m_vLightmapUvScale; // 0x2c
bool m_bHasLightmaps; // 0x34
CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x38
};
// Aligment: 4
@ -170,38 +182,8 @@ public:
CUtlVector< uint8 > m_pData; // 0x20
};
// Aligment: 8
// Size: 56
struct AggregateMeshInfo_t
{
public:
Vector4D m_vTintColor; // 0x0
Vector[2] m_vWorldBounds; // 0x10
uint16_t m_nDrawDescriptorIndex; // 0x28
uint16_t m_nVisClusterMemberOffset; // 0x2a
uint8_t m_nVisClusterMemberCount; // 0x2c
uint8_t _pad; // 0x2d
int32_t m_nCubeMapPrecomputedHandshake; // 0x30
ObjectTypeFlags_t m_objectFlags; // 0x34
};
// Aligment: 8
// Size: 96
struct AggregateSceneObject_t
{
public:
Vector[2] m_vWorldBounds; // 0x0
ObjectTypeFlags_t m_allFlags; // 0x18
ObjectTypeFlags_t m_anyFlags; // 0x1c
int16_t m_nLayer; // 0x20
int16_t m_nBoundsGroupIndex; // 0x22
CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x28
CUtlVector< uint16 > m_visClusterMembership; // 0x40
CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58
};
// Aligment: 13
// Size: 320
// Size: 352
struct WorldNode_t
{
public:
@ -209,7 +191,7 @@ public:
CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18
CUtlVector< uint16 > m_visClusterMembership; // 0x30
CUtlVector< AABB_t > m_boundsGroups; // 0x48
CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60
CUtlVector< BoneOverride_t > m_boneOverrides; // 0x60
CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78
CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90
CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8
@ -220,8 +202,8 @@ public:
BakedLightingInfo_t m_nodeLightingInfo; // 0x110
};
// Aligment: 21
// Size: 104
// Aligment: 19
// Size: 84
struct WorldBuilderParams_t
{
public:
@ -244,8 +226,6 @@ public:
bool m_bWrapInAtlas; // 0x48
bool m_bBuildBakedLighting; // 0x49
Vector2D m_vLightmapUvScale; // 0x4c
uint64_t m_nCompileTimestamp; // 0x58
uint64_t m_nCompileFingerprint; // 0x60
};
// Aligment: 8
@ -264,14 +244,14 @@ public:
};
// Aligment: 4
// Size: 200
// Size: 216
struct World_t
{
public:
WorldBuilderParams_t m_builderParams; // 0x0
CUtlVector< NodeData_t > m_worldNodes; // 0x68
BakedLightingInfo_t m_worldLightingInfo; // 0x80
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0
CUtlVector< NodeData_t > m_worldNodes; // 0x58
BakedLightingInfo_t m_worldLightingInfo; // 0x70
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xc0
};
// Aligment: 2
@ -283,33 +263,22 @@ public:
uint32_t m_nOffsetIntoBlock; // 0x4
};
// Aligment: 2
// Size: 8
struct voxel_vis_mergelist_t
{
public:
uint32_t m_nFirstCluster; // 0x0
uint32_t m_nClusterCount; // 0x4
};
// Aligment: 13
// Size: 216
// Aligment: 11
// Size: 152
class CVoxelVisibility
{
public:
CUtlVector< uint32 > m_blockOffset; // 0x40
CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x58
CUtlVector< uint16 > m_mergeClusters; // 0x70
CUtlVector< voxel_vis_mergelist_t > m_mergeLists; // 0x88
Vector m_vMinBounds; // 0xa0
Vector m_vMaxBounds; // 0xac
float m_flGridSize; // 0xb8
int32_t m_nNodeCount; // 0xbc
int32_t m_nRegionCount; // 0xc0
voxel_vis_cluster_t m_skyVisibilityCluster; // 0xc4
voxel_vis_compression_t m_nPVSCompression; // 0xcc
uint32_t m_nTreeSize; // 0xd0
uint32_t m_nPVSSizeCompressed; // 0xd4
CUtlVector< uint32 > m_blockOffset; // 0x30
CUtlVector< voxel_vis_cluster_t > m_clusters; // 0x48
Vector m_vMinBounds; // 0x60
Vector m_vMaxBounds; // 0x6c
float m_flGridSize; // 0x78
int32_t m_nNodeCount; // 0x7c
int32_t m_nRegionCount; // 0x80
voxel_vis_cluster_t m_skyVisibilityCluster; // 0x84
voxel_vis_compression_t m_nPVSCompression; // 0x8c
uint32_t m_nTreeSize; // 0x90
uint32_t m_nPVSSizeCompressed; // 0x94
};
// Aligment: 0
@ -328,15 +297,31 @@ public:
// <no members described>
};
// Aligment: 2
// Size: 40
// Aligment: 4
// Size: 56
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
// MNetworkEnable
// MNetworkPriority "112"
CEntityIdentity* m_pEntity; // 0x8
CEntityIdentity* m_pEntity; // 0x10
// MNetworkDisable
CUtlStringToken m_worldGroupId; // 0x10
CUtlStringToken m_worldGroupId; // 0x20
// MNetworkEnable
// MNetworkDisable
CScriptComponent* m_CScriptComponent; // 0x30
};
// Aligment: 1
// Size: 56
class CScriptComponent : public CEntityComponent
{
public:
CUtlSymbolLarge m_scriptClassName; // 0x30
public:
static EntComponentInfo_t &Get_s_EntComponentInfo() { return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[0]->m_instance); }
static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced() { return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("worldrenderer.dll")->FindDeclaredClass("CScriptComponent")->m_static_fiels[1]->m_instance); }
};