artifact2 init

This commit is contained in:
anarh1st47 2023-03-15 21:34:46 +03:00
parent 751b290d44
commit 2ee33fae21
16 changed files with 50588 additions and 12247 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

File diff suppressed because it is too large Load Diff

View File

@ -56,35 +56,35 @@ enum class ViewFadeMode_t : uint32_t
};
// Aligment: 1
// Size: 4
// Size: 8
struct MaterialParam_t
{
public:
CResourceString m_name; // 0x0
CUtlString m_name; // 0x0
};
// Aligment: 1
// Size: 8
// Size: 16
struct MaterialParamInt_t : public MaterialParam_t
{
public:
int32_t m_nValue; // 0x4
int32_t m_nValue; // 0x8
};
// Aligment: 1
// Size: 8
// Size: 16
struct MaterialParamFloat_t : public MaterialParam_t
{
public:
float m_flValue; // 0x4
float m_flValue; // 0x8
};
// Aligment: 1
// Size: 20
// Size: 24
struct MaterialParamVector_t : public MaterialParam_t
{
public:
Vector4D m_value; // 0x4
Vector4D m_value; // 0x8
};
// Aligment: 1
@ -92,53 +92,44 @@ public:
struct MaterialParamTexture_t : public MaterialParam_t
{
public:
CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > m_pValue; // 0x8
CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8
};
// Aligment: 1
// Size: 8
// Size: 16
struct MaterialParamString_t : public MaterialParam_t
{
public:
CResourceString m_value; // 0x4
CUtlString m_value; // 0x8
};
// Aligment: 1
// Size: 12
// Size: 32
struct MaterialParamBuffer_t : public MaterialParam_t
{
public:
CResourceArray< uint8 > m_value; // 0x4
CUtlBinaryBlock m_value; // 0x8
};
// Aligment: 14
// Size: 104
// Size: 304
struct MaterialResourceData_t
{
public:
CResourceString m_materialName; // 0x0
CResourceString m_shaderName; // 0x4
CResourceArray< MaterialParamInt_t > m_intParams; // 0x8
CResourceArray< MaterialParamFloat_t > m_floatParams; // 0x10
CResourceArray< MaterialParamVector_t > m_vectorParams; // 0x18
CResourceArray< MaterialParamTexture_t > m_textureParams; // 0x20
CResourceArray< MaterialParamBuffer_t > m_dynamicParams; // 0x28
CResourceArray< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x30
CResourceArray< MaterialParamInt_t > m_intAttributes; // 0x38
CResourceArray< MaterialParamFloat_t > m_floatAttributes; // 0x40
CResourceArray< MaterialParamVector_t > m_vectorAttributes; // 0x48
CResourceArray< MaterialParamTexture_t > m_textureAttributes; // 0x50
CResourceArray< MaterialParamString_t > m_stringAttributes; // 0x58
CResourceArray< CResourceString > m_renderAttributesUsed; // 0x60
};
// Aligment: 2
// Size: 16
struct VBitmapFontDiskData_t
{
public:
CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > m_TextureSheet; // 0x0
CResourceArray< uint8 > m_Glyphs; // 0x8
CUtlString m_materialName; // 0x0
CUtlString m_shaderName; // 0x8
CUtlVector< MaterialParamInt_t > m_intParams; // 0x10
CUtlVector< MaterialParamFloat_t > m_floatParams; // 0x28
CUtlVector< MaterialParamVector_t > m_vectorParams; // 0x40
CUtlVector< MaterialParamTexture_t > m_textureParams; // 0x58
CUtlVector< MaterialParamBuffer_t > m_dynamicParams; // 0x70
CUtlVector< MaterialParamBuffer_t > m_dynamicTextureParams; // 0x88
CUtlVector< MaterialParamInt_t > m_intAttributes; // 0xa0
CUtlVector< MaterialParamFloat_t > m_floatAttributes; // 0xb8
CUtlVector< MaterialParamVector_t > m_vectorAttributes; // 0xd0
CUtlVector< MaterialParamTexture_t > m_textureAttributes; // 0xe8
CUtlVector< MaterialParamString_t > m_stringAttributes; // 0x100
CUtlVector< CUtlString > m_renderAttributesUsed; // 0x118
};
// Aligment: 8
@ -186,8 +177,20 @@ public:
Vector m_vColorTint; // 0x18
};
// Aligment: 8
// Size: 204
// 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
struct PostProcessingResource_t
{
public:
@ -197,7 +200,9 @@ public:
PostProcessingBloomParameters_t m_bloomParams; // 0x28
bool m_bHasVignetteParams; // 0x98
PostProcessingVignetteParameters_t m_vignetteParams; // 0x9c
int32_t m_nColorCorrectionVolumeDim; // 0xc0
CResourceArray< Color > m_colorCorrectionVolumeData; // 0xc4
bool m_bHasLocalContrastParams; // 0xc0
PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xc4
int32_t m_nColorCorrectionVolumeDim; // 0xd8
CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xe0
};

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -4,48 +4,10 @@
///////////////////////////////////////////
// Binary: rendersystemdx11.dll
// Class Count: 10
// Enum Count: 7
// Class Count: 3
// Enum Count: 5
///////////////////////////////////////////
// Aligment: 4
// Size: 20
enum class TextureSpecificationFlags_t : uint32_t
{
TSPEC_FLAGS = 0x0,
TSPEC_RENDER_TARGET = 0x1,
TSPEC_VERTEX_TEXTURE = 0x2,
TSPEC_UNFILTERABLE_OK = 0x4,
TSPEC_RENDER_TARGET_SAMPLEABLE = 0x8,
TSPEC_SUGGEST_CLAMPS = 0x10,
TSPEC_SUGGEST_CLAMPT = 0x20,
TSPEC_SUGGEST_CLAMPU = 0x40,
TSPEC_NO_LOD = 0x80,
TSPEC_CUBE_TEXTURE = 0x100,
TSPEC_VOLUME_TEXTURE = 0x200,
TSPEC_TEXTURE_ARRAY = 0x400,
TSPEC_TEXTURE_GEN_MIP_MAPS = 0x800,
TSPEC_LINE_TEXTURE_360 = 0x1000,
TSPEC_LINEAR_ADDRESSING_360 = 0x2000,
TSPEC_USE_TYPED_IMAGEFORMAT = 0x4000,
TSPEC_SHARED_RESOURCE = 0x8000,
TSPEC_UAV = 0x10000,
TSPEC_INPUT_ATTACHMENT = 0x20000,
TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY = 0x40000,
};
// Aligment: 4
// Size: 6
enum class CubeMapFace_t : uint32_t
{
CUBEMAP_FACE_POSITIVE_X = 0x0,
CUBEMAP_FACE_NEGATIVE_X = 0x1,
CUBEMAP_FACE_POSITIVE_Y = 0x2,
CUBEMAP_FACE_NEGATIVE_Y = 0x3,
CUBEMAP_FACE_POSITIVE_Z = 0x4,
CUBEMAP_FACE_NEGATIVE_Z = 0x5,
};
// Aligment: 4
// Size: 3
enum class RenderSlotType_t : uint32_t
@ -56,7 +18,7 @@ enum class RenderSlotType_t : uint32_t
};
// Aligment: 4
// Size: 8
// Size: 9
enum class RenderBufferFlags_t : uint32_t
{
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
@ -67,6 +29,7 @@ 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
@ -121,15 +84,14 @@ enum class RenderPrimitiveType_t : uint32_t
};
// Aligment: 4
// Size: 6
// Size: 5
enum class InputLayoutVariation_t : uint32_t
{
INPUT_LAYOUT_VARIATION_DEFAULT = 0x0,
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,
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,
};
// Aligment: 4
@ -146,84 +108,6 @@ enum class RenderMultisampleType_t : uint32_t
RENDER_MULTISAMPLE_TYPE_COUNT = 0x6,
};
// Aligment: 6
// Size: 12
struct TextureDesc_t
{
public:
uint16_t m_nWidth; // 0x0
uint16_t m_nHeight; // 0x2
uint16_t m_nDepth; // 0x4
int8_t m_nImageFormat; // 0x6
uint8_t m_nNumMipLevels; // 0x7
int32_t m_nPicmip0Res; // 0x8
};
// Aligment: 7
// Size: 1404
struct TextureHeader_t : public TextureDesc_t
{
public:
uint16_t m_nMultisampleType; // 0xc
uint16_t m_nFlags; // 0xe
Vector4D m_Reflectivity; // 0x10
CResourcePointer< Sheet_t > m_pSheet; // 0x20
int32_t m_nSheetSize; // 0x24
uint8[1360] m_fallbackTextureBits; // 0x28
int32_t m_nPicmip0Res; // 0x578
};
// Aligment: 2
// Size: 8
struct SequenceFloatParam_t
{
public:
CResourceString m_name; // 0x0
float m_value; // 0x4
};
// Aligment: 9
// Size: 32
struct SheetSequence_t
{
public:
uint32_t m_nId; // 0x0
bool m_bClamp; // 0x4
bool m_bAlphaCrop; // 0x5
bool m_bNoColor; // 0x6
bool m_bNoAlpha; // 0x7
CResourceArray< SheetSequenceFrame_t > m_Frames; // 0x8
float m_flTotalTime; // 0x10
CResourceString m_name; // 0x14
CResourceArray< SequenceFloatParam_t > m_floatParams; // 0x18
};
// Aligment: 2
// Size: 12
struct SheetSequenceFrame_t
{
public:
float m_flDisplayTime; // 0x0
CResourceArray< SheetFrameImage_t > m_Images; // 0x4
};
// Aligment: 2
// Size: 32
struct SheetFrameImage_t
{
public:
Vector2D[2] uvCropped; // 0x0
Vector2D[2] uvUncropped; // 0x10
};
// Aligment: 1
// Size: 8
struct Sheet_t
{
public:
CResourceArray< SheetSequence_t > m_Sequences; // 0x0
};
// Aligment: 7
// Size: 56
struct RenderInputLayoutField_t

View File

@ -4,27 +4,60 @@
///////////////////////////////////////////
// Binary: resourcesystem.dll
// Class Count: 89
// Enum Count: 2
// Class Count: 39
// Enum Count: 0
///////////////////////////////////////////
// Aligment: 4
// Size: 6
enum class LightType_t : uint32_t
// Aligment: 1
// Size: 8
struct TestResource_t
{
MATERIAL_LIGHT_DISABLE = 0x0,
MATERIAL_LIGHT_POINT = 0x1,
MATERIAL_LIGHT_DIRECTIONAL = 0x2,
MATERIAL_LIGHT_SPOT = 0x3,
MATERIAL_LIGHT_ORTHO = 0x4,
MATERIAL_LIGHT_ENVIRONMENT_PROBE = 0x5,
public:
// MKV3TransferName "name"
CUtlString m_name; // 0x0
};
// Aligment: 4
// Aligment: 0
// Size: 1
enum class LightSourceShape_t : uint32_t
struct InfoForResourceTypeTestResource_t
{
LIGHT_SOURCE_SHAPE_SPHERE = 0x0,
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeProceduralTestResource_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeManifestTestResource_t
{
public:
// <no members described>
};
// Aligment: 2
// Size: 16
struct ManifestTestResource_t
{
public:
// MKV3TransferName "name"
CUtlString m_name; // 0x0
// MKV3TransferName "child"
CStrongHandle< InfoForResourceTypeManifestTestResource_t > m_child; // 0x8
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVDataResource
{
public:
// <no members described>
};
// Aligment: 0
@ -45,7 +78,7 @@ public:
// Aligment: 0
// Size: 1
struct InfoForResourceTypeAnimationResourceData_t
class InfoForResourceTypeCAnimData
{
public:
// <no members described>
@ -53,7 +86,7 @@ public:
// Aligment: 0
// Size: 1
struct InfoForResourceTypeAnimationGroupResourceData_t
class InfoForResourceTypeCAnimationGroup
{
public:
// <no members described>
@ -61,15 +94,7 @@ public:
// Aligment: 0
// Size: 1
struct InfoForResourceTypeSequenceGroupResourceData_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeVBitmapFontRuntimeData_t
class InfoForResourceTypeCSequenceGroupData
{
public:
// <no members described>
@ -85,7 +110,7 @@ public:
// Aligment: 0
// Size: 1
struct InfoForResourceTypeMorphSetData_t
class InfoForResourceTypeCMorphSetData
{
public:
// <no members described>
@ -107,22 +132,6 @@ public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeProcessingGraph_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeProcessingGraphInstance_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCTextureBase
@ -131,6 +140,14 @@ public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIVectorGraphic
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVSoundEventScriptList
@ -187,30 +204,6 @@ public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCLightTree
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypePRTMatrixData_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVirtualVolumeTexture
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCWorldNode
@ -235,22 +228,6 @@ public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeWorldLighting_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeWorldEnvironmentMaps_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPostProcessingResource
@ -309,7 +286,7 @@ public:
// Aligment: 0
// Size: 1
class InfoForResourceTypeIAnimationGraph
class InfoForResourceTypeIAnimGraphModelBinding
{
public:
// <no members described>
@ -323,208 +300,12 @@ public:
// <no members described>
};
// Aligment: 95
// Size: 536
struct PhysFeModelDesc_t
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDACGameDefsData
{
public:
CResourceArray< uint32 > m_CtrlHash; // 0x0
CResourceArray< CResourceString > m_CtrlName; // 0x8
uint32_t m_nStaticNodeFlags; // 0x10
uint32_t m_nDynamicNodeFlags; // 0x14
float m_flLocalForce; // 0x18
float m_flLocalRotation; // 0x1c
uint16_t m_nNodeCount; // 0x20
uint16_t m_nStaticNodes; // 0x22
uint16_t m_nRotLockStaticNodes; // 0x24
uint16_t m_nSimdTriCount1; // 0x26
uint16_t m_nSimdTriCount2; // 0x28
uint16_t m_nSimdQuadCount1; // 0x2a
uint16_t m_nSimdQuadCount2; // 0x2c
uint16_t m_nQuadCount1; // 0x2e
uint16_t m_nQuadCount2; // 0x30
uint16_t m_nCollisionSphereInclusiveCount; // 0x32
uint16_t m_nTreeDepth; // 0x34
uint16_t m_nFitMatrixCount1; // 0x36
uint16_t m_nFitMatrixCount2; // 0x38
uint16_t m_nSimdFitMatrixCount1; // 0x3a
uint16_t m_nSimdFitMatrixCount2; // 0x3c
uint16_t m_nRopeCount; // 0x3e
CResourceArray< uint16 > m_Ropes; // 0x40
CResourceArray< FeNodeBase_t > m_NodeBases; // 0x48
CResourceArray< FeSimdNodeBase_t > m_SimdNodeBases; // 0x50
CResourceArray< FeQuad_t > m_Quads; // 0x58
CResourceArray< FeSimdQuad_t > m_SimdQuads; // 0x60
CResourceArray< FeSimdTri_t > m_SimdTris; // 0x68
CResourceArray< FeSimdRodConstraint_t > m_SimdRods; // 0x70
CResourceArray< CTransform > m_InitPose; // 0x78
CResourceArray< FeRodConstraint_t > m_Rods; // 0x80
CResourceArray< FeAxialEdgeBend_t > m_AxialEdges; // 0x88
CResourceArray< float32 > m_NodeInvMasses; // 0x90
CResourceArray< FeCtrlOffset_t > m_CtrlOffsets; // 0x98
CResourceArray< FeCtrlOsOffset_t > m_CtrlOsOffsets; // 0xa0
CResourceArray< FeFollowNode_t > m_FollowNodes; // 0xa8
CResourceArray< FeCollisionSphere_t > m_CollisionSpheres; // 0xb0
CResourceArray< FeCollisionPlane_t > m_CollisionPlanes; // 0xb8
CResourceArray< FeNodeIntegrator_t > m_NodeIntegrator; // 0xc0
CResourceArray< FeSpringIntegrator_t > m_SpringIntegrator; // 0xc8
CResourceArray< FeSimdSpringIntegrator_t > m_SimdSpringIntegrator; // 0xd0
CResourceArray< FeWorldCollisionParams_t > m_WorldCollisionParams; // 0xd8
CResourceArray< float32 > m_LegacyStretchForce; // 0xe0
CResourceArray< float32 > m_NodeCollisionRadii; // 0xe8
CResourceArray< float32 > m_LocalRotation; // 0xf0
CResourceArray< float32 > m_LocalForce; // 0xf8
CResourceArray< FeTaperedCapsuleStretch_t > m_TaperedCapsuleStretches; // 0x100
CResourceArray< FeTaperedCapsuleRigid_t > m_TaperedCapsuleRigids; // 0x108
CResourceArray< FeSphereRigid_t > m_SphereRigids; // 0x110
CResourceArray< uint16 > m_WorldCollisionNodes; // 0x118
CResourceArray< uint16 > m_TreeParents; // 0x120
CResourceArray< uint16 > m_TreeCollisionMasks; // 0x128
CResourceArray< FeTreeChildren_t > m_TreeChildren; // 0x130
CResourceArray< uint16 > m_FreeNodes; // 0x138
CResourceArray< FeFitMatrix_t > m_FitMatrices; // 0x140
CResourceArray< FeSimdFitMatrices_t > m_SimdFitMatrices; // 0x148
CResourceArray< FeFitWeight_t > m_FitWeights; // 0x150
CResourceArray< FeNodeReverseOffset_t > m_ReverseOffsets; // 0x158
CResourceArray< FeAnimStrayRadius_t > m_AnimStrayRadii; // 0x160
CResourceArray< FeSimdAnimStrayRadius_t > m_SimdAnimStrayRadii; // 0x168
CResourceArray< FeKelagerBend2_t > m_KelagerBends; // 0x170
CResourceArray< FeCtrlSoftOffset_t > m_CtrlSoftOffsets; // 0x178
CResourceArray< CFeIndexedJiggleBone > m_JiggleBones; // 0x180
CResourceArray< uint16 > m_SourceElems; // 0x188
CResourceArray< uint32 > m_GoalDampedSpringIntegrators; // 0x190
CResourceArray< FeTri_t > m_Tris; // 0x198
uint16_t m_nTriCount1; // 0x1a0
uint16_t m_nTriCount2; // 0x1a2
uint8_t m_nReservedUint8; // 0x1a4
uint8_t m_nExtraPressureIterations; // 0x1a5
uint8_t m_nExtraGoalIterations; // 0x1a6
uint8_t m_nExtraIterations; // 0x1a7
CResourceArray< FeBoxRigid_t > m_BoxRigids; // 0x1a8
CResourceArray< uint8 > m_DynNodeVertexSet; // 0x1b0
CResourceArray< uint32 > m_VertexSetNames; // 0x1b8
CResourceArray< FeRigidColliderIndices_t > m_RigidColliderPriorities; // 0x1c0
uint32[3] m_nReserved; // 0x1c8
float m_flInternalPressure; // 0x1d4
float m_flWindage; // 0x1d8
float m_flWindDrag; // 0x1dc
float m_flDefaultSurfaceStretch; // 0x1e0
float m_flDefaultThreadStretch; // 0x1e4
float m_flDefaultGravityScale; // 0x1e8
float m_flDefaultVelAirDrag; // 0x1ec
float m_flDefaultExpAirDrag; // 0x1f0
float m_flDefaultVelQuadAirDrag; // 0x1f4
float m_flDefaultExpQuadAirDrag; // 0x1f8
float m_flDefaultVelRodAirDrag; // 0x1fc
float m_flDefaultExpRodAirDrag; // 0x200
float m_flRodVelocitySmoothRate; // 0x204
float m_flQuadVelocitySmoothRate; // 0x208
float m_flAddWorldCollisionRadius; // 0x20c
float m_flDefaultVolumetricSolveAmount; // 0x210
uint16_t m_nRodVelocitySmoothIterations; // 0x214
uint16_t m_nQuadVelocitySmoothIterations; // 0x216
};
// Aligment: 34
// Size: 152
class CFeJiggleBone
{
public:
uint32_t m_nFlags; // 0x0
float m_flLength; // 0x4
float m_flTipMass; // 0x8
float m_flYawStiffness; // 0xc
float m_flYawDamping; // 0x10
float m_flPitchStiffness; // 0x14
float m_flPitchDamping; // 0x18
float m_flAlongStiffness; // 0x1c
float m_flAlongDamping; // 0x20
float m_flAngleLimit; // 0x24
float m_flMinYaw; // 0x28
float m_flMaxYaw; // 0x2c
float m_flYawFriction; // 0x30
float m_flYawBounce; // 0x34
float m_flMinPitch; // 0x38
float m_flMaxPitch; // 0x3c
float m_flPitchFriction; // 0x40
float m_flPitchBounce; // 0x44
float m_flBaseMass; // 0x48
float m_flBaseStiffness; // 0x4c
float m_flBaseDamping; // 0x50
float m_flBaseMinLeft; // 0x54
float m_flBaseMaxLeft; // 0x58
float m_flBaseLeftFriction; // 0x5c
float m_flBaseMinUp; // 0x60
float m_flBaseMaxUp; // 0x64
float m_flBaseUpFriction; // 0x68
float m_flBaseMinForward; // 0x6c
float m_flBaseMaxForward; // 0x70
float m_flBaseForwardFriction; // 0x74
float m_flRadius0; // 0x78
float m_flRadius1; // 0x7c
Vector m_vPoint0; // 0x80
Vector m_vPoint1; // 0x8c
};
// Aligment: 4
// Size: 208
class CFeNamedJiggleBone
{
public:
CUtlString m_strParentBone; // 0x0
CTransform m_transform; // 0x10
uint32_t m_nJiggleParent; // 0x30
CFeJiggleBone m_jiggleBone; // 0x34
};
// Aligment: 3
// Size: 160
class CFeIndexedJiggleBone
{
public:
uint32_t m_nNode; // 0x0
uint32_t m_nJiggleParent; // 0x4
CFeJiggleBone m_jiggleBone; // 0x8
};
// Aligment: 33
// Size: 228
struct LightDesc_t
{
public:
LightType_t m_Type; // 0x0
Vector m_Color; // 0x4
Vector m_BounceColor; // 0x10
float m_Range; // 0x1c
float m_Falloff; // 0x20
float m_Attenuation0; // 0x24
float m_Attenuation1; // 0x28
float m_Attenuation2; // 0x2c
float m_Theta; // 0x30
float m_Phi; // 0x34
CUtlStringToken m_lightCookie; // 0x38
bool m_bCastShadows; // 0x3c
int32_t m_nShadowWidth; // 0x40
int32_t m_nShadowHeight; // 0x44
int32_t m_nShadowCascadeCount; // 0x48
float32[4] m_flShadowCascadeDistance; // 0x4c
int32[4] m_nShadowCascadeResolution; // 0x5c
int32_t m_nBakeLightIndex; // 0x6c
float m_flBakeLightIndexScale; // 0x70
bool m_bRenderDiffuse; // 0x74
bool m_bRenderSpecular; // 0x75
int32_t m_nPriority; // 0x78
LightSourceShape_t m_Shape; // 0x7c
float m_flLightSourceDim0; // 0x80
float m_flLightSourceDim1; // 0x84
float m_flLightSourceSize0; // 0x88
float m_flLightSourceSize1; // 0x8c
float m_flPrecomputedMaxRange; // 0x90
float m_flFogContributionStength; // 0x94
float m_flNearClipPlane; // 0x98
Vector m_vecUp; // 0xb4
int32_t m_nFogLightingMode; // 0xdc
bool m_bUsesIndexedBakedLighting; // 0xe0
// <no members described>
};
// Aligment: 2
@ -536,502 +317,6 @@ public:
Vector m_vMaxBounds; // 0xc
};
// Aligment: 2
// Size: 32
class FourVectors2D
{
public:
fltx4 x; // 0x0
fltx4 y; // 0x10
};
// Aligment: 3
// Size: 16
struct FeEdgeDesc_t
{
public:
uint16[2] nEdge; // 0x0
uint16[2][2] nSide; // 0x4
uint16[2] nVirtElem; // 0xc
};
// Aligment: 12
// Size: 72
struct OldFeEdge_t
{
public:
float32[3] m_flK; // 0x0
float invA; // 0xc
float t; // 0x10
float flThetaRelaxed; // 0x14
float flThetaFactor; // 0x18
float c01; // 0x1c
float c02; // 0x20
float c03; // 0x24
float c04; // 0x28
float flAxialModelDist; // 0x2c
float32[4] flAxialModelWeights; // 0x30
uint16[4] m_nNode; // 0x40
};
// Aligment: 2
// Size: 4
struct FeWeightedNode_t
{
public:
uint16_t nNode; // 0x0
uint16_t nWeight; // 0x2
};
// Aligment: 4
// Size: 24
struct FeKelagerBend2_t
{
public:
float32[3] flWeight; // 0x0
float flHeight0; // 0xc
uint16[3] nNode; // 0x10
uint16_t nReserved; // 0x16
};
// Aligment: 5
// Size: 28
struct FeTri_t
{
public:
uint16[3] nNode; // 0x0
float w1; // 0x8
float w2; // 0xc
float v1x; // 0x10
Vector2D v2; // 0x14
};
// Aligment: 5
// Size: 128
struct FeSimdTri_t
{
public:
uint32[4][3] nNode; // 0x0
fltx4 w1; // 0x30
fltx4 w2; // 0x40
fltx4 v1x; // 0x50
FourVectors2D v2; // 0x60
};
// Aligment: 3
// Size: 76
struct FeQuad_t
{
public:
uint16[4] nNode; // 0x0
float flSlack; // 0x8
Vector4D[4] vShape; // 0xc
};
// Aligment: 7
// Size: 32
struct FeNodeBase_t
{
public:
uint16_t nNode; // 0x0
uint16[3] nDummy; // 0x2
uint16_t nNodeX0; // 0x8
uint16_t nNodeX1; // 0xa
uint16_t nNodeY0; // 0xc
uint16_t nNodeY1; // 0xe
Quaternion qAdjust; // 0x10
};
// Aligment: 3
// Size: 16
struct FeNodeReverseOffset_t
{
public:
uint16_t nBoneCtrl; // 0x0
uint16_t nTargetNode; // 0x2
Vector vOffset; // 0x4
};
// Aligment: 4
// Size: 304
struct FeSimdQuad_t
{
public:
uint16[4][4] nNode; // 0x0
fltx4 f4Slack; // 0x20
FourVectors[4] vShape; // 0x30
fltx4[4] f4Weights; // 0xf0
};
// Aligment: 5
// Size: 40
struct FeAxialEdgeBend_t
{
public:
float te; // 0x0
float tv; // 0x4
float flDist; // 0x8
float32[4] flWeight; // 0xc
uint16[6] nNode; // 0x1c
};
// Aligment: 3
// Size: 20
struct FeBandBendLimit_t
{
public:
float flDistMin; // 0x0
float flDistMax; // 0x4
uint16[6] nNode; // 0x8
};
// Aligment: 5
// Size: 20
struct FeRodConstraint_t
{
public:
uint16[2] nNode; // 0x0
float flMaxDist; // 0x4
float flMinDist; // 0x8
float flWeight0; // 0xc
float flRelaxationFactor; // 0x10
};
// Aligment: 5
// Size: 80
struct FeSimdRodConstraint_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 f4MaxDist; // 0x10
fltx4 f4MinDist; // 0x20
fltx4 f4Weight0; // 0x30
fltx4 f4RelaxationFactor; // 0x40
};
// Aligment: 3
// Size: 12
struct FeAnimStrayRadius_t
{
public:
uint16[2] nNode; // 0x0
float flMaxDist; // 0x4
float flRelaxationFactor; // 0x8
};
// Aligment: 3
// Size: 48
struct FeSimdAnimStrayRadius_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 flMaxDist; // 0x10
fltx4 flRelaxationFactor; // 0x20
};
// Aligment: 7
// Size: 112
struct FeSimdNodeBase_t
{
public:
uint16[4] nNode; // 0x0
uint16[4] nNodeX0; // 0x8
uint16[4] nNodeX1; // 0x10
uint16[4] nNodeY0; // 0x18
uint16[4] nNodeY1; // 0x20
uint16[4] nDummy; // 0x28
FourQuaternions qAdjust; // 0x30
};
// Aligment: 4
// Size: 16
struct FeNodeIntegrator_t
{
public:
float flPointDamping; // 0x0
float flAnimationForceAttraction; // 0x4
float flAnimationVertexAttraction; // 0x8
float flGravity; // 0xc
};
// Aligment: 5
// Size: 20
struct FeSpringIntegrator_t
{
public:
uint16[2] nNode; // 0x0
float flSpringRestLength; // 0x4
float flSpringConstant; // 0x8
float flSpringDamping; // 0xc
float flNodeWeight0; // 0x10
};
// Aligment: 5
// Size: 80
struct FeSimdSpringIntegrator_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 flSpringRestLength; // 0x10
fltx4 flSpringConstant; // 0x20
fltx4 flSpringDamping; // 0x30
fltx4 flNodeWeight0; // 0x40
};
// Aligment: 3
// Size: 16
struct FeCtrlOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
Vector vOffset; // 0x4
};
// Aligment: 2
// Size: 8
struct FeSoftParent_t
{
public:
int32_t nParent; // 0x0
float flAlpha; // 0x4
};
// Aligment: 4
// Size: 20
struct FeCtrlSoftOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
Vector vOffset; // 0x4
float flAlpha; // 0x10
};
// Aligment: 2
// Size: 4
struct FeCtrlOsOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
};
// Aligment: 3
// Size: 8
struct FeFollowNode_t
{
public:
uint16_t nParentNode; // 0x0
uint16_t nChildNode; // 0x2
float flWeight; // 0x4
};
// Aligment: 5
// Size: 24
struct FeCollisionSphere_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nChildNode; // 0x2
float m_flRFactor; // 0x4
Vector m_vOrigin; // 0x8
float flStickiness; // 0x14
};
// Aligment: 4
// Size: 24
struct FeCollisionPlane_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nChildNode; // 0x2
RnPlane_t m_Plane; // 0x4
float flStickiness; // 0x14
};
// Aligment: 4
// Size: 12
struct FeWorldCollisionParams_t
{
public:
float flWorldFriction; // 0x0
float flGroundFriction; // 0x4
uint16_t nListBegin; // 0x8
uint16_t nListEnd; // 0xa
};
// Aligment: 1
// Size: 4
struct FeTreeChildren_t
{
public:
uint16[2] nChild; // 0x0
};
// Aligment: 5
// Size: 40
struct FeTaperedCapsuleRigid_t
{
public:
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector[2] vCenter; // 0x4
float32[2] flRadius; // 0x1c
float flStickiness; // 0x24
};
// Aligment: 5
// Size: 24
struct FeSphereRigid_t
{
public:
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector vCenter; // 0x4
float flRadius; // 0x10
float flStickiness; // 0x14
};
// Aligment: 5
// Size: 20
struct FeTaperedCapsuleStretch_t
{
public:
uint16[2] nNode; // 0x0
uint16_t nCollisionMask; // 0x4
// MPropertySuppressField
uint16_t nDummy; // 0x6
float32[2] flRadius; // 0x8
float flStickiness; // 0x10
};
// Aligment: 6
// Size: 80
struct FeBoxRigid_t
{
public:
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector vSize; // 0x4
float flStickiness; // 0x10
float32[3] flReserved; // 0x14
matrix3x4a_t tmFrame; // 0x20
};
// Aligment: 4
// Size: 24
class CovMatrix3
{
public:
Vector m_vDiag; // 0x0
float m_flXY; // 0xc
float m_flXZ; // 0x10
float m_flYZ; // 0x14
};
// Aligment: 4
// Size: 96
class FourCovMatrices3
{
public:
FourVectors m_vDiag; // 0x0
fltx4 m_flXY; // 0x30
fltx4 m_flXZ; // 0x40
fltx4 m_flYZ; // 0x50
};
// Aligment: 3
// Size: 8
struct FeFitWeight_t
{
public:
float flWeight; // 0x0
uint16_t nNode; // 0x4
uint16_t nDummy; // 0x6
};
// Aligment: 3
// Size: 12
struct FeFitInfluence_t
{
public:
uint32_t nVertexNode; // 0x0
float flWeight; // 0x4
uint32_t nMatrixNode; // 0x8
};
// Aligment: 6
// Size: 64
struct FeFitMatrix_t
{
public:
CTransform bone; // 0x0
Vector vCenter; // 0x20
uint16_t nEnd; // 0x2c
uint16_t nNode; // 0x2e
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: 6
// Size: 14
struct FeRigidColliderIndices_t
{
public:
uint16_t m_nTaperedCapsuleStretchIndex; // 0x0
uint16_t m_nTaperedCapsuleRigidIndex; // 0x2
uint16_t m_nSphereRigidIndex; // 0x4
uint16_t m_nBoxRigidIndex; // 0x6
uint16[2] m_nCollisionSphereIndex; // 0x8
uint16_t m_nCollisionPlaneIndex; // 0xc
};
// Aligment: 1
// Size: 24
struct FeBuildTaperedCapsuleStretch_t : public FeTaperedCapsuleStretch_t
{
public:
int32_t m_nPriority; // 0x14
};
// Aligment: 1
// Size: 44
struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t
{
public:
int32_t m_nPriority; // 0x28
};
// Aligment: 1
// Size: 96
struct FeBuildBoxRigid_t : public FeBoxRigid_t
{
public:
int32_t m_nPriority; // 0x50
};
// Aligment: 1
// Size: 28
struct FeBuildSphereRigid_t : public FeSphereRigid_t
{
public:
int32_t m_nPriority; // 0x18
};
// Aligment: 4
// Size: 64
class FourQuaternions

View File

@ -4,84 +4,18 @@
///////////////////////////////////////////
// Binary: scenesystem.dll
// Class Count: 14
// Enum Count: 0
// Class Count: 9
// Enum Count: 1
///////////////////////////////////////////
// Aligment: 4
// Size: 48
struct CSceneObjectReference_t
// Aligment: 1
// Size: 4
enum class DisableShadows_t : uint8_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: 11
// Size: 1088
struct CSceneObjectExtraData_t
{
public:
CUtlVector< float32 > m_flExtraShaderData; // 0x378
uint64_t m_nCurrentMeshGroupMask; // 0x408
CUtlStringToken m_nLayerForceID; // 0x418
Vector m_vLightingOrigin; // 0x41c
float m_flDepthSortBias; // 0x428
uint8[4] m_nVisibleToPlayer; // 0x42c
uint16_t m_nAlphaFade; // 0x430
int16_t m_nViewProducerIndex; // 0x432
int8_t m_nCurrentLOD; // 0x434
int32_t m_nCubeMapPrecomputedHandshake; // 0x438
int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x43c
};
// Aligment: 18
// Size: 160
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
uint8_t m_nNumTransformBlocks; // 0x32
uint8_t m_nObjectClass; // 0x33
matrix3x4a_t m_transform; // 0x40
CPVSData* m_pPVSData; // 0x70
uint64_t m_nOriginalRenderableFlags; // 0x80
uint64_t m_nRenderableFlags; // 0x88
CUtlStringToken m_nLayerMatchID; // 0x9c
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); }
kDisableShadows_None = 0,
kDisableShadows_All = 1,
kDisableShadows_Baked = 2,
kDisableShadows_Realtime = 3,
};
// Aligment: 2

View File

@ -4,23 +4,10 @@
///////////////////////////////////////////
// Binary: schemasystem.dll
// Class Count: 2
// Class Count: 7
// Enum Count: 2
///////////////////////////////////////////
// Aligment: 4
// Size: 7
enum class ResourceStructFlags_t : uint32_t
{
STRUCT_HAS_VTABLE = 0x1,
STRUCT_TREE_REQUIRES_SCATTER = 0x2,
STRUCT_TREE_REQUIRES_CONSTRUCTOR = 0x4,
STRUCT_TREE_REQUIRES_DESTRUCTOR = 0x8,
STRUCT_TREE_REQUIRES_EXT_REFERENCES = 0x10,
STRUCT_TREE_REQUIRES_UNUSED = 0x20,
STRUCT_FLAGS_MAX = 0x20,
};
// Aligment: 4
// Size: 3
enum class ThreeState_t : uint32_t
@ -30,29 +17,106 @@ enum class ThreeState_t : uint32_t
TRS_NONE = 0x2,
};
// Aligment: 18
// Size: 336
// Aligment: 1
// Size: 69
enum class fieldtype_t : uint8_t
{
FIELD_VOID = 0,
FIELD_FLOAT32 = 1,
FIELD_STRING = 2,
FIELD_VECTOR = 3,
FIELD_QUATERNION = 4,
FIELD_INT32 = 5,
FIELD_BOOLEAN = 6,
FIELD_INT16 = 7,
FIELD_CHARACTER = 8,
FIELD_COLOR32 = 9,
FIELD_EMBEDDED = 10,
FIELD_CUSTOM = 11,
FIELD_CLASSPTR = 12,
FIELD_EHANDLE = 13,
FIELD_POSITION_VECTOR = 14,
FIELD_TIME = 15,
FIELD_TICK = 16,
FIELD_SOUNDNAME = 17,
FIELD_INPUT = 18,
FIELD_FUNCTION = 19,
FIELD_VMATRIX = 20,
FIELD_VMATRIX_WORLDSPACE = 21,
FIELD_MATRIX3X4_WORLDSPACE = 22,
FIELD_INTERVAL = 23,
FIELD_UNUSED = 24,
FIELD_VECTOR2D = 25,
FIELD_INT64 = 26,
FIELD_VECTOR4D = 27,
FIELD_RESOURCE = 28,
FIELD_TYPEUNKNOWN = 29,
FIELD_CSTRING = 30,
FIELD_HSCRIPT = 31,
FIELD_VARIANT = 32,
FIELD_UINT64 = 33,
FIELD_FLOAT64 = 34,
FIELD_POSITIVEINTEGER_OR_NULL = 35,
FIELD_HSCRIPT_NEW_INSTANCE = 36,
FIELD_UINT32 = 37,
FIELD_UTLSTRINGTOKEN = 38,
FIELD_QANGLE = 39,
FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_VECTOR = 40,
FIELD_HMATERIAL = 41,
FIELD_HMODEL = 42,
FIELD_NETWORK_QUANTIZED_VECTOR = 43,
FIELD_NETWORK_QUANTIZED_FLOAT = 44,
FIELD_DIRECTION_VECTOR_WORLDSPACE = 45,
FIELD_QANGLE_WORLDSPACE = 46,
FIELD_QUATERNION_WORLDSPACE = 47,
FIELD_HSCRIPT_LIGHTBINDING = 48,
FIELD_V8_VALUE = 49,
FIELD_V8_OBJECT = 50,
FIELD_V8_ARRAY = 51,
FIELD_V8_CALLBACK_INFO = 52,
FIELD_UTLSTRING = 53,
FIELD_NETWORK_ORIGIN_CELL_QUANTIZED_POSITION_VECTOR = 54,
FIELD_HRENDERTEXTURE = 55,
FIELD_HPARTICLESYSTEMDEFINITION = 56,
FIELD_UINT8 = 57,
FIELD_UINT16 = 58,
FIELD_CTRANSFORM = 59,
FIELD_CTRANSFORM_WORLDSPACE = 60,
FIELD_HPOSTPROCESSING = 61,
FIELD_MATRIX3X4 = 62,
FIELD_SHIM = 63,
FIELD_CMOTIONTRANSFORM = 64,
FIELD_CMOTIONTRANSFORM_WORLDSPACE = 65,
FIELD_ATTACHMENT_HANDLE = 66,
FIELD_AMMO_INDEX = 67,
FIELD_TYPECOUNT = 68,
};
// Aligment: 20
// Size: 368
class CSchemaSystemInternalRegistration
{
public:
Vector2D m_Vector2D; // 0x0
Vector m_Vector; // 0x8
VectorAligned m_VectorAligned; // 0x20
QAngle m_QAngle; // 0x30
RadianEuler m_RadianEuler; // 0x3c
DegreeEuler m_DegreeEuler; // 0x48
Quaternion m_Quaternion; // 0x54
matrix3x4_t m_matrix3x4_t; // 0x64
matrix3x4a_t m_matrix3x4a_t; // 0xa0
Color m_Color; // 0xd0
Vector4D m_Vector4D; // 0xd4
CTransform m_CTransform; // 0xf0
KeyValues* m_pKeyValues; // 0x110
CUtlBinaryBlock m_CUtlBinaryBlock; // 0x118
CUtlString m_CUtlString; // 0x130
CUtlSymbol m_CUtlSymbol; // 0x138
CUtlStringToken m_stringToken; // 0x13c
CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x140
QuaternionAligned m_QuaternionAligned; // 0x30
QAngle m_QAngle; // 0x40
RadianEuler m_RadianEuler; // 0x4c
DegreeEuler m_DegreeEuler; // 0x58
Quaternion m_Quaternion; // 0x64
matrix3x4_t m_matrix3x4_t; // 0x74
matrix3x4a_t m_matrix3x4a_t; // 0xb0
Color m_Color; // 0xe0
Vector4D m_Vector4D; // 0xe4
CTransform m_CTransform; // 0x100
KeyValues* m_pKeyValues; // 0x120
CUtlBinaryBlock m_CUtlBinaryBlock; // 0x128
CUtlString m_CUtlString; // 0x140
CUtlSymbol m_CUtlSymbol; // 0x148
CUtlStringToken m_stringToken; // 0x14c
CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x150
KeyValues3 m_KV3; // 0x158
};
// Aligment: 0
@ -63,3 +127,44 @@ public:
// <no members described>
};
// Aligment: 1
// Size: 8
struct ResourceId_t
{
public:
uint64_t m_nBoxedTypeSafeInt; // 0x0
};
// Aligment: 2
// Size: 8
class CExampleSchemaVData_Monomorphic
{
public:
int32_t m_nExample1; // 0x0
int32_t m_nExample2; // 0x4
};
// Aligment: 1
// Size: 16
class CExampleSchemaVData_PolymorphicBase
{
public:
int32_t m_nBase; // 0x8
};
// Aligment: 1
// Size: 24
class CExampleSchemaVData_PolymorphicDerivedA : public CExampleSchemaVData_PolymorphicBase
{
public:
int32_t m_nDerivedA; // 0x10
};
// Aligment: 1
// Size: 24
class CExampleSchemaVData_PolymorphicDerivedB : public CExampleSchemaVData_PolymorphicBase
{
public:
int32_t m_nDerivedB; // 0x10
};

File diff suppressed because it is too large Load Diff

View File

@ -4,16 +4,17 @@
///////////////////////////////////////////
// Binary: soundsystem.dll
// Class Count: 12
// Enum Count: 5
// Class Count: 20
// Enum Count: 7
///////////////////////////////////////////
// Aligment: 4
// Size: 2
// Size: 3
enum class ActionType_t : uint32_t
{
SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2,
};
// Aligment: 4
@ -53,6 +54,42 @@ enum class SosEditItemType_t : uint32_t
SOS_EDIT_ITEM_TYPE_FIELD = 0x5,
};
// Aligment: 2
// Size: 8
enum class vmix_filter_type_t : uint16_t
{
FILTER_UNKNOWN = 18446744073709551615,
FILTER_LOWPASS = 0,
FILTER_HIGHPASS = 1,
FILTER_BANDPASS = 2,
FILTER_NOTCH = 3,
FILTER_PEAKING_EQ = 4,
FILTER_LOW_SHELF = 5,
FILTER_HIGH_SHELF = 6,
};
// Aligment: 2
// Size: 16
enum class vmix_processor_type_t : uint16_t
{
VPROCESSOR_UNKNOWN = 0,
VPROCESSOR_STEAMAUDIO_REVERB = 1,
VPROCESSOR_RT_PITCH = 2,
VPROCESSOR_STEAMAUDIO_HRTF = 3,
VPROCESSOR_DYNAMICS = 4,
VPROCESSOR_PRESETDSP = 5,
VPROCESSOR_DELAY = 6,
VPROCESSOR_FULLWAVE_INTEGRATOR = 7,
VPROCESSOR_FILTER = 8,
VPROCESSOR_STEAMAUDIO_PATHING = 9,
VPROCESSOR_EQ8 = 10,
VPROCESSOR_ENVELOPE = 11,
VPROCESSOR_VOCODER = 12,
VPROCESSOR_CONVOLUTION = 13,
VPROCESSOR_DYNAMICS_3BAND = 14,
VPROCESSOR_DYNAMICS_COMPRESSOR = 15,
};
// Aligment: 3
// Size: 24
class CSosGroupActionSchema
@ -81,6 +118,15 @@ public:
SosActionSortType_t m_nSortType; // 0x20
};
// Aligment: 1
// Size: 32
class CSosGroupActionTimeLimitSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Time"
float m_flMaxDuration; // 0x18
};
// Aligment: 4
// Size: 16
class CSosGroupBranchPattern
@ -140,7 +186,7 @@ public:
class CSosSoundEventGroupListSchema
{
public:
// MPropertyAutoExpandGroup
// MPropertyAutoExpandSelf
// MPropertyFriendlyName "Groups"
CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0
};
@ -165,38 +211,191 @@ public:
CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0
};
// Aligment: 2
// Size: 8
struct VSoundStack_t
// Aligment: 5
// Size: 16
struct vmix_filter_desc_t
{
public:
CResourceString m_StackName; // 0x0
CResourceString m_StackKV; // 0x4
vmix_filter_type_t m_nFilterType; // 0x0
bool m_bEnabled; // 0x2
float m_fldbGain; // 0x4
float m_flCutoffFreq; // 0x8
float m_flQ; // 0xc
};
// Aligment: 1
// Size: 8
struct VSoundStackScript_t
// Size: 128
struct vmix_eq8_desc_t
{
public:
CResourceArray< VSoundStack_t > m_SoundStacks; // 0x0
vmix_filter_desc_t[8] m_stages; // 0x0
};
// Aligment: 7
// Size: 40
struct vmix_delay_desc_t
{
public:
vmix_filter_desc_t m_feedbackFilter; // 0x0
bool m_bEnableFilter; // 0x10
float m_flDelay; // 0x14
float m_flDirectGain; // 0x18
float m_flDelayGain; // 0x1c
float m_flFeedbackGain; // 0x20
float m_flWidth; // 0x24
};
// Aligment: 12
// Size: 48
struct vmix_dynamics_desc_t
{
public:
float m_fldbGain; // 0x0
float m_fldbNoiseGateThreshold; // 0x4
float m_fldbCompressionThreshold; // 0x8
float m_fldbLimiterThreshold; // 0xc
float m_fldbKneeWidth; // 0x10
float m_flRatio; // 0x14
float m_flLimiterRatio; // 0x18
float m_flAttackTimeMS; // 0x1c
float m_flReleaseTimeMS; // 0x20
float m_flRMSTimeMS; // 0x24
float m_flWetMix; // 0x28
bool m_bPeakMode; // 0x2c
};
// Aligment: 9
// Size: 36
struct vmix_dynamics_compressor_desc_t
{
public:
// MPropertyFriendlyName "Output Gain (dB)"
float m_fldbOutputGain; // 0x0
// MPropertyFriendlyName "Threshold (dB)"
float m_fldbCompressionThreshold; // 0x4
// MPropertyFriendlyName "Knee Width (dB)"
float m_fldbKneeWidth; // 0x8
// MPropertyFriendlyName "Compression Ratio"
float m_flCompressionRatio; // 0xc
// MPropertyFriendlyName "Attack time (ms)"
float m_flAttackTimeMS; // 0x10
// MPropertyFriendlyName "Release time (ms)"
float m_flReleaseTimeMS; // 0x14
// MPropertyFriendlyName "Threshold detection time (ms)"
float m_flRMSTimeMS; // 0x18
// MPropertyFriendlyName "Dry/Wet"
float m_flWetMix; // 0x1c
// MPropertyFriendlyName "Peak mode"
bool m_bPeakMode; // 0x20
};
// Aligment: 10
// Size: 36
struct vmix_dynamics_band_t
{
public:
// MPropertyFriendlyName "Input Gain (dB)"
float m_fldbGainInput; // 0x0
// MPropertyFriendlyName "Output Gain (dB)"
float m_fldbGainOutput; // 0x4
// MPropertyFriendlyName "Above Threshold(dB)"
float m_fldbThresholdBelow; // 0x8
// MPropertyFriendlyName "Below Threshold(dB)"
float m_fldbThresholdAbove; // 0xc
// MPropertyFriendlyName "Upward Ratio"
float m_flRatioBelow; // 0x10
// MPropertyFriendlyName "Downward Ratio"
float m_flRatioAbove; // 0x14
// MPropertyFriendlyName "Attack time (ms)"
float m_flAttackTimeMS; // 0x18
// MPropertyFriendlyName "Release time (ms)"
float m_flReleaseTimeMS; // 0x1c
// MPropertyFriendlyName "Enabled"
bool m_bEnable; // 0x20
// MPropertyFriendlyName "Solo"
bool m_bSolo; // 0x21
};
// Aligment: 11
// Size: 148
struct vmix_dynamics_3band_desc_t
{
public:
float m_fldbGainOutput; // 0x0
float m_flRMSTimeMS; // 0x4
float m_fldbKneeWidth; // 0x8
float m_flDepth; // 0xc
float m_flWetMix; // 0x10
float m_flTimeScale; // 0x14
float m_flLowCutoffFreq; // 0x18
float m_flHighCutoffFreq; // 0x1c
bool m_bPeakMode; // 0x20
int32_t m_nSoloBand; // 0x24
vmix_dynamics_band_t[3] m_bandDesc; // 0x28
};
// Aligment: 3
// Size: 12
struct VSoundEvent_t
struct vmix_envelope_desc_t
{
public:
CResourceString m_SoundName; // 0x0
CResourceString m_GameData; // 0x4
CResourceString m_OperatorsKV; // 0x8
float m_flAttackTimeMS; // 0x0
float m_flHoldTimeMS; // 0x4
float m_flReleaseTimeMS; // 0x8
};
// Aligment: 1
// Size: 8
struct VSoundEventScript_t
// Aligment: 4
// Size: 16
struct vmix_pitch_shift_desc_t
{
public:
CResourceArray< VSoundEvent_t > m_SoundEvents; // 0x0
int32_t m_nGrainSampleCount; // 0x0
float m_flPitchShift; // 0x4
int32_t m_nQuality; // 0x8
int32_t m_nProcType; // 0xc
};
// Aligment: 8
// Size: 32
struct vmix_convolution_desc_t
{
public:
// MPropertyFriendlyName "gain of wet signal (dB)"
// MPropertyAttributeRange "-36 3"
float m_fldbGain; // 0x0
// MPropertyFriendlyName "Pre-delay (ms)"
float m_flPreDelayMS; // 0x4
// MPropertyFriendlyName "Dry/Wet"
float m_flWetMix; // 0x8
// MPropertyFriendlyName "Low EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
float m_fldbLow; // 0xc
// MPropertyFriendlyName "Mid EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
float m_fldbMid; // 0x10
// MPropertyFriendlyName "High EQ gain (dB)"
// MPropertyAttributeRange "-24 24"
float m_fldbHigh; // 0x14
// MPropertyFriendlyName "Low Cutoff Freq (Hz)"
float m_flLowCutoffFreq; // 0x18
// MPropertyFriendlyName "High Cutoff Freq (Hz)"
float m_flHighCutoffFreq; // 0x1c
};
// 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,7 +4,7 @@
///////////////////////////////////////////
// Binary: vphysics2.dll
// Class Count: 21
// Class Count: 77
// Enum Count: 2
///////////////////////////////////////////
@ -27,6 +27,756 @@ enum class JointMotion_t : uint32_t
JOINT_MOTION_COUNT = 0x2,
};
// Aligment: 35
// Size: 156
class CFeJiggleBone
{
public:
uint32_t m_nFlags; // 0x0
float m_flLength; // 0x4
float m_flTipMass; // 0x8
float m_flYawStiffness; // 0xc
float m_flYawDamping; // 0x10
float m_flPitchStiffness; // 0x14
float m_flPitchDamping; // 0x18
float m_flAlongStiffness; // 0x1c
float m_flAlongDamping; // 0x20
float m_flAngleLimit; // 0x24
float m_flMinYaw; // 0x28
float m_flMaxYaw; // 0x2c
float m_flYawFriction; // 0x30
float m_flYawBounce; // 0x34
float m_flMinPitch; // 0x38
float m_flMaxPitch; // 0x3c
float m_flPitchFriction; // 0x40
float m_flPitchBounce; // 0x44
float m_flBaseMass; // 0x48
float m_flBaseStiffness; // 0x4c
float m_flBaseDamping; // 0x50
float m_flBaseMinLeft; // 0x54
float m_flBaseMaxLeft; // 0x58
float m_flBaseLeftFriction; // 0x5c
float m_flBaseMinUp; // 0x60
float m_flBaseMaxUp; // 0x64
float m_flBaseUpFriction; // 0x68
float m_flBaseMinForward; // 0x6c
float m_flBaseMaxForward; // 0x70
float m_flBaseForwardFriction; // 0x74
float m_flRadius0; // 0x78
float m_flRadius1; // 0x7c
Vector m_vPoint0; // 0x80
Vector m_vPoint1; // 0x8c
uint16_t m_nCollisionMask; // 0x98
};
// Aligment: 4
// Size: 208
class CFeNamedJiggleBone
{
public:
CUtlString m_strParentBone; // 0x0
CTransform m_transform; // 0x10
uint32_t m_nJiggleParent; // 0x30
CFeJiggleBone m_jiggleBone; // 0x34
};
// Aligment: 3
// Size: 164
class CFeIndexedJiggleBone
{
public:
uint32_t m_nNode; // 0x0
uint32_t m_nJiggleParent; // 0x4
CFeJiggleBone m_jiggleBone; // 0x8
};
// Aligment: 98
// Size: 1512
struct PhysFeModelDesc_t
{
public:
CUtlVector< uint32 > m_CtrlHash; // 0x0
CUtlVector< CUtlString > m_CtrlName; // 0x18
uint32_t m_nStaticNodeFlags; // 0x30
uint32_t m_nDynamicNodeFlags; // 0x34
float m_flLocalForce; // 0x38
float m_flLocalRotation; // 0x3c
uint16_t m_nNodeCount; // 0x40
uint16_t m_nStaticNodes; // 0x42
uint16_t m_nRotLockStaticNodes; // 0x44
uint16_t m_nSimdTriCount1; // 0x46
uint16_t m_nSimdTriCount2; // 0x48
uint16_t m_nSimdQuadCount1; // 0x4a
uint16_t m_nSimdQuadCount2; // 0x4c
uint16_t m_nQuadCount1; // 0x4e
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
};
// Aligment: 2
// Size: 32
class FourVectors2D
{
public:
fltx4 x; // 0x0
fltx4 y; // 0x10
};
// Aligment: 3
// Size: 16
struct FeEdgeDesc_t
{
public:
uint16[2] nEdge; // 0x0
uint16[2][2] nSide; // 0x4
uint16[2] nVirtElem; // 0xc
};
// Aligment: 12
// Size: 72
struct OldFeEdge_t
{
public:
float32[3] m_flK; // 0x0
float invA; // 0xc
float t; // 0x10
float flThetaRelaxed; // 0x14
float flThetaFactor; // 0x18
float c01; // 0x1c
float c02; // 0x20
float c03; // 0x24
float c04; // 0x28
float flAxialModelDist; // 0x2c
float32[4] flAxialModelWeights; // 0x30
uint16[4] m_nNode; // 0x40
};
// Aligment: 2
// Size: 4
struct FeWeightedNode_t
{
public:
uint16_t nNode; // 0x0
uint16_t nWeight; // 0x2
};
// Aligment: 4
// Size: 24
struct FeKelagerBend2_t
{
public:
float32[3] flWeight; // 0x0
float flHeight0; // 0xc
uint16[3] nNode; // 0x10
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
{
public:
uint16[3] nNode; // 0x0
float w1; // 0x8
float w2; // 0xc
float v1x; // 0x10
Vector2D v2; // 0x14
};
// Aligment: 5
// Size: 128
struct FeSimdTri_t
{
public:
uint32[4][3] nNode; // 0x0
fltx4 w1; // 0x30
fltx4 w2; // 0x40
fltx4 v1x; // 0x50
FourVectors2D v2; // 0x60
};
// Aligment: 3
// Size: 76
struct FeQuad_t
{
public:
uint16[4] nNode; // 0x0
float flSlack; // 0x8
Vector4D[4] vShape; // 0xc
};
// Aligment: 7
// Size: 32
struct FeNodeBase_t
{
public:
uint16_t nNode; // 0x0
uint16[3] nDummy; // 0x2
uint16_t nNodeX0; // 0x8
uint16_t nNodeX1; // 0xa
uint16_t nNodeY0; // 0xc
uint16_t nNodeY1; // 0xe
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
{
public:
uint16_t nBoneCtrl; // 0x0
uint16_t nTargetNode; // 0x2
Vector vOffset; // 0x4
};
// Aligment: 4
// Size: 304
struct FeSimdQuad_t
{
public:
uint16[4][4] nNode; // 0x0
fltx4 f4Slack; // 0x20
FourVectors[4] vShape; // 0x30
fltx4[4] f4Weights; // 0xf0
};
// Aligment: 5
// Size: 40
struct FeAxialEdgeBend_t
{
public:
float te; // 0x0
float tv; // 0x4
float flDist; // 0x8
float32[4] flWeight; // 0xc
uint16[6] nNode; // 0x1c
};
// Aligment: 3
// Size: 20
struct FeBandBendLimit_t
{
public:
float flDistMin; // 0x0
float flDistMax; // 0x4
uint16[6] nNode; // 0x8
};
// Aligment: 5
// Size: 20
struct FeRodConstraint_t
{
public:
uint16[2] nNode; // 0x0
float flMaxDist; // 0x4
float flMinDist; // 0x8
float flWeight0; // 0xc
float flRelaxationFactor; // 0x10
};
// Aligment: 5
// Size: 80
struct FeSimdRodConstraint_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 f4MaxDist; // 0x10
fltx4 f4MinDist; // 0x20
fltx4 f4Weight0; // 0x30
fltx4 f4RelaxationFactor; // 0x40
};
// Aligment: 3
// Size: 12
struct FeAnimStrayRadius_t
{
public:
uint16[2] nNode; // 0x0
float flMaxDist; // 0x4
float flRelaxationFactor; // 0x8
};
// Aligment: 3
// Size: 48
struct FeSimdAnimStrayRadius_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 flMaxDist; // 0x10
fltx4 flRelaxationFactor; // 0x20
};
// Aligment: 7
// Size: 112
struct FeSimdNodeBase_t
{
public:
uint16[4] nNode; // 0x0
uint16[4] nNodeX0; // 0x8
uint16[4] nNodeX1; // 0x10
uint16[4] nNodeY0; // 0x18
uint16[4] nNodeY1; // 0x20
uint16[4] nDummy; // 0x28
FourQuaternions qAdjust; // 0x30
};
// Aligment: 4
// Size: 16
struct FeNodeIntegrator_t
{
public:
float flPointDamping; // 0x0
float flAnimationForceAttraction; // 0x4
float flAnimationVertexAttraction; // 0x8
float flGravity; // 0xc
};
// Aligment: 5
// Size: 20
struct FeSpringIntegrator_t
{
public:
uint16[2] nNode; // 0x0
float flSpringRestLength; // 0x4
float flSpringConstant; // 0x8
float flSpringDamping; // 0xc
float flNodeWeight0; // 0x10
};
// Aligment: 5
// Size: 80
struct FeSimdSpringIntegrator_t
{
public:
uint16[4][2] nNode; // 0x0
fltx4 flSpringRestLength; // 0x10
fltx4 flSpringConstant; // 0x20
fltx4 flSpringDamping; // 0x30
fltx4 flNodeWeight0; // 0x40
};
// Aligment: 3
// Size: 16
struct FeCtrlOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
Vector vOffset; // 0x4
};
// Aligment: 2
// Size: 8
struct FeSoftParent_t
{
public:
int32_t nParent; // 0x0
float flAlpha; // 0x4
};
// Aligment: 4
// Size: 20
struct FeCtrlSoftOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
Vector vOffset; // 0x4
float flAlpha; // 0x10
};
// Aligment: 2
// Size: 4
struct FeCtrlOsOffset_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nCtrlChild; // 0x2
};
// Aligment: 3
// Size: 8
struct FeFollowNode_t
{
public:
uint16_t nParentNode; // 0x0
uint16_t nChildNode; // 0x2
float flWeight; // 0x4
};
// Aligment: 5
// Size: 24
struct FeCollisionSphere_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nChildNode; // 0x2
float m_flRFactor; // 0x4
Vector m_vOrigin; // 0x8
float flStickiness; // 0x14
};
// Aligment: 4
// Size: 24
struct FeCollisionPlane_t
{
public:
uint16_t nCtrlParent; // 0x0
uint16_t nChildNode; // 0x2
RnPlane_t m_Plane; // 0x4
float flStickiness; // 0x14
};
// Aligment: 4
// Size: 12
struct FeWorldCollisionParams_t
{
public:
float flWorldFriction; // 0x0
float flGroundFriction; // 0x4
uint16_t nListBegin; // 0x8
uint16_t nListEnd; // 0xa
};
// Aligment: 1
// Size: 4
struct FeTreeChildren_t
{
public:
uint16[2] nChild; // 0x0
};
// Aligment: 6
// Size: 48
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
};
// Aligment: 6
// Size: 32
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
};
// Aligment: 5
// Size: 20
struct FeTaperedCapsuleStretch_t
{
public:
uint16[2] nNode; // 0x0
uint16_t nCollisionMask; // 0x4
// MPropertySuppressField
uint16_t nDummy; // 0x6
float32[2] flRadius; // 0x8
float flStickiness; // 0x10
};
// Aligment: 8
// Size: 80
struct FeBoxRigid_t
{
public:
uint16_t nNode; // 0x0
uint16_t nCollisionMask; // 0x2
Vector vSize; // 0x4
float flStickiness; // 0x10
uint16_t nVertexMapIndex; // 0x14
uint16_t nFlags; // 0x16
float32[2] flReserved; // 0x18
matrix3x4a_t tmFrame; // 0x20
};
// Aligment: 4
// Size: 24
class CovMatrix3
{
public:
Vector m_vDiag; // 0x0
float m_flXY; // 0xc
float m_flXZ; // 0x10
float m_flYZ; // 0x14
};
// Aligment: 4
// Size: 96
class FourCovMatrices3
{
public:
FourVectors m_vDiag; // 0x0
fltx4 m_flXY; // 0x30
fltx4 m_flXZ; // 0x40
fltx4 m_flYZ; // 0x50
};
// Aligment: 3
// Size: 8
struct FeFitWeight_t
{
public:
float flWeight; // 0x0
uint16_t nNode; // 0x4
uint16_t nDummy; // 0x6
};
// Aligment: 3
// Size: 12
struct FeFitInfluence_t
{
public:
uint32_t nVertexNode; // 0x0
float flWeight; // 0x4
uint32_t nMatrixNode; // 0x8
};
// Aligment: 5
// Size: 64
struct FeFitMatrix_t
{
public:
CTransform bone; // 0x0
Vector vCenter; // 0x20
uint16_t nEnd; // 0x2c
uint16_t nNode; // 0x2e
uint16_t nBeginDynamic; // 0x30
};
// Aligment: 5
// Size: 12
struct FeRigidColliderIndices_t
{
public:
uint16_t m_nTaperedCapsuleRigidIndex; // 0x0
uint16_t m_nSphereRigidIndex; // 0x2
uint16_t m_nBoxRigidIndex; // 0x4
uint16[2] m_nCollisionSphereIndex; // 0x6
uint16_t m_nCollisionPlaneIndex; // 0xa
};
// Aligment: 2
// Size: 64
struct FeBuildTaperedCapsuleRigid_t : public FeTaperedCapsuleRigid_t
{
public:
int32_t m_nPriority; // 0x30
uint32_t m_nVertexMapHash; // 0x34
};
// Aligment: 2
// Size: 96
struct FeBuildBoxRigid_t : public FeBoxRigid_t
{
public:
int32_t m_nPriority; // 0x50
uint32_t m_nVertexMapHash; // 0x54
};
// Aligment: 2
// Size: 48
struct FeBuildSphereRigid_t : public FeSphereRigid_t
{
public:
int32_t m_nPriority; // 0x20
uint32_t m_nVertexMapHash; // 0x24
};
// Aligment: 1
// Size: 4
struct FeSourceEdge_t
{
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
{
public:
CUtlString m_Name; // 0x0
uint32_t m_nNameHash; // 0x8
CUtlVector< uint16 > m_Nodes; // 0x10
CUtlVector< Vector > m_InitPos; // 0x28
CUtlVector< float32 > m_Gravity; // 0x40
CUtlVector< float32 > m_GoalStrength; // 0x58
CUtlVector< float32 > m_GoalDamping; // 0x70
uint32_t m_nFlags; // 0x88
};
// Aligment: 7
// Size: 136
class CFeMorphLayer
{
public:
CUtlString m_Name; // 0x0
uint32_t m_nNameHash; // 0x8
CUtlVector< uint16 > m_Nodes; // 0x10
CUtlVector< Vector > m_InitPos; // 0x28
CUtlVector< float32 > m_Gravity; // 0x40
CUtlVector< float32 > m_GoalStrength; // 0x58
CUtlVector< float32 > m_GoalDamping; // 0x70
};
// Aligment: 1
// Size: 104
struct Dop26_t
@ -82,23 +832,23 @@ public:
};
// Aligment: 13
// Size: 148
// Size: 216
struct RnHull_t
{
public:
Vector m_vCentroid; // 0x0
float m_flMaxAngularRadius; // 0xc
CResourceArray< Vector > m_Vertices; // 0x10
CResourceArray< RnPlane_t > m_Planes; // 0x18
CResourceArray< RnHalfEdge_t > m_Edges; // 0x20
CResourceArray< RnFace_t > m_Faces; // 0x28
Vector m_vOrthographicAreas; // 0x30
matrix3x4_t m_MassProperties; // 0x3c
float m_flVolume; // 0x6c
float m_flMaxMotionRadius; // 0x70
float m_flMinMotionThickness; // 0x74
AABB_t m_Bounds; // 0x78
uint32_t m_nFlags; // 0x90
CUtlVector< Vector > m_Vertices; // 0x10
CUtlVector< RnPlane_t > m_Planes; // 0x28
CUtlVector< RnHalfEdge_t > m_Edges; // 0x40
CUtlVector< RnFace_t > m_Faces; // 0x58
Vector m_vOrthographicAreas; // 0x70
matrix3x4_t m_MassProperties; // 0x7c
float m_flVolume; // 0xac
float m_flMaxMotionRadius; // 0xb0
float m_flMinMotionThickness; // 0xb4
AABB_t m_Bounds; // 0xb8
uint32_t m_nFlags; // 0xd0
};
// Aligment: 1
@ -121,58 +871,59 @@ public:
};
// Aligment: 7
// Size: 68
// Size: 136
struct RnMesh_t
{
public:
Vector m_vMin; // 0x0
Vector m_vMax; // 0xc
CResourceArray< RnNode_t > m_Nodes; // 0x18
CResourceArray< Vector > m_Vertices; // 0x20
CResourceArray< RnTriangle_t > m_Triangles; // 0x28
CResourceArray< uint8 > m_Materials; // 0x30
Vector m_vOrthographicAreas; // 0x38
CUtlVector< RnNode_t > m_Nodes; // 0x18
CUtlVectorSIMDPaddedVector m_Vertices; // 0x30
CUtlVector< RnTriangle_t > m_Triangles; // 0x48
CUtlVector< uint8 > m_Materials; // 0x60
Vector m_vOrthographicAreas; // 0x78
};
// Aligment: 2
// Size: 8
// Aligment: 3
// Size: 16
struct RnShapeDesc_t
{
public:
uint32_t m_nCollisionAttributeIndex; // 0x0
uint32_t m_nSurfacePropertyIndex; // 0x4
CUtlString m_UserFriendlyName; // 0x8
};
// Aligment: 1
// Size: 24
// Size: 32
struct RnSphereDesc_t : public RnShapeDesc_t
{
public:
RnSphere_t m_Sphere; // 0x8
RnSphere_t m_Sphere; // 0x10
};
// Aligment: 1
// Size: 36
// Size: 48
struct RnCapsuleDesc_t : public RnShapeDesc_t
{
public:
RnCapsule_t m_Capsule; // 0x8
RnCapsule_t m_Capsule; // 0x10
};
// Aligment: 1
// Size: 156
// Size: 232
struct RnHullDesc_t : public RnShapeDesc_t
{
public:
RnHull_t m_Hull; // 0x8
RnHull_t m_Hull; // 0x10
};
// Aligment: 1
// Size: 76
// Size: 152
struct RnMeshDesc_t : public RnShapeDesc_t
{
public:
RnMesh_t m_Mesh; // 0x8
RnMesh_t m_Mesh; // 0x10
};
// Aligment: 1

View File

@ -4,8 +4,8 @@
///////////////////////////////////////////
// Binary: worldrenderer.dll
// Class Count: 28
// Enum Count: 5
// Class Count: 23
// Enum Count: 3
///////////////////////////////////////////
// Aligment: 4
@ -16,9 +16,10 @@ enum class EntityLumpFlags_t : uint32_t
};
// Aligment: 4
// Size: 10
// Size: 15
enum class ObjectTypeFlags_t : uint32_t
{
OBJECT_TYPE_NONE = 0x0,
OBJECT_TYPE_IMAGE_LOD = 0x1,
OBJECT_TYPE_GEOMETRY_LOD = 0x2,
OBJECT_TYPE_DECAL = 0x4,
@ -28,7 +29,11 @@ enum class ObjectTypeFlags_t : uint32_t
OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND = 0x40,
OBJECT_TYPE_DISABLED_IN_LOW_QUALITY = 0x80,
OBJECT_TYPE_NO_SUN_SHADOWS = 0x100,
OBJECT_TYPE_EXCLUDE_FROM_IMPOSTORS = 0x200,
OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200,
OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400,
OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
OBJECT_TYPE_NO_ZPREPASS = 0x1000,
OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
};
// Aligment: 4
@ -39,148 +44,63 @@ enum class voxel_vis_compression_t : uint32_t
VOXVIS_COMPRESS_RLE = 0x1,
};
// Aligment: 4
// Size: 2
enum class IrradVolumeFlags_t : uint32_t
{
IRRADVOLUME_FLAGS_NONE = 0x0,
IRRADVOLUME_FLAG_AUTO_GENERATED = 0x1,
};
// Aligment: 4
// Size: 4
enum class GlobalIlluminationMethod_t : uint32_t
{
GLOBAL_ILLUMINATION_NONE = 0x0,
GLOBAL_ILLUMINATION_BAKE = 0x1,
GLOBAL_ILLUMINATION_AMBIENT_OCCLUSION = 0x2,
GLOBAL_ILLUMINATION_REALTIME_RADIOSITY = 0x3,
};
// Aligment: 7
// Size: 28
// Size: 48
struct EntityIOConnectionData_t
{
public:
CResourceString m_outputName; // 0x0
uint32_t m_targetType; // 0x4
CResourceString m_targetName; // 0x8
CResourceString m_inputName; // 0xc
CResourceString m_overrideParam; // 0x10
float m_flDelay; // 0x14
int32_t m_nTimesToFire; // 0x18
CUtlString m_outputName; // 0x0
uint32_t m_targetType; // 0x8
CUtlString m_targetName; // 0x10
CUtlString m_inputName; // 0x18
CUtlString m_overrideParam; // 0x20
float m_flDelay; // 0x28
int32_t m_nTimesToFire; // 0x2c
};
// Aligment: 2
// Size: 16
// Size: 48
struct EntityKeyValueData_t
{
public:
CResourceArray< uint8 > m_keyValuesData; // 0x0
CResourceArray< EntityIOConnectionData_t > m_connections; // 0x8
CUtlBinaryBlock m_keyValuesData; // 0x0
CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18
};
// Aligment: 5
// Size: 28
// Aligment: 6
// Size: 80
struct PermEntityLumpData_t
{
public:
CResourceString m_name; // 0x0
EntityLumpFlags_t m_flags; // 0x4
CResourceString m_manifestName; // 0x8
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeCEntityLump > > > m_childLumps; // 0xc
CResourceArray< EntityKeyValueData_t > m_entityKeyValues; // 0x14
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
};
// Aligment: 3
// Size: 24
struct LightTreeResourceData_t
{
public:
CResourceArray< uint8 > m_SerializedOctree; // 0x0
CResourceArray< uint16 > m_IrradValues; // 0x8
CResourceArray< uint16 > m_ImageVertices; // 0x10
};
// Aligment: 30
// Size: 224
struct PRTMatrixData_t
{
public:
int32_t m_nTransmitters; // 0x0
int32_t m_nReceivers; // 0x4
int32_t m_nTextureWidth; // 0x8
int32_t m_nTextureHeight; // 0xc
int32_t m_nTextureDepth; // 0x10
int64_t m_nPrimaryRelightDataOffset; // 0x18
int64_t m_nPrimaryRelightDataSize; // 0x20
int64_t m_nPrimaryRelightDataSizeUncompressed; // 0x28
int64_t m_nSecondaryRelightDataOffset; // 0x30
int64_t m_nSecondaryRelightDataSize; // 0x38
int64_t m_nSecondaryRelightDataSizeUncompressed; // 0x40
int64_t m_nPrimarySkyRelightDataOffset; // 0x48
int64_t m_nPrimarySkyRelightDataSize; // 0x50
int64_t m_nPrimarySkyRelightDataSizeUncompressed; // 0x58
int64_t m_nSecondarySkyRelightDataOffset; // 0x60
int64_t m_nSecondarySkyRelightDataSize; // 0x68
int64_t m_nSecondarySkyRelightDataSizeUncompressed; // 0x70
int64_t m_nTransmitterPositionsOffset; // 0x78
int64_t m_nTransmitterPositionsSize; // 0x80
int64_t m_nTransmitterPositionsSizeUncompressed; // 0x88
int64_t m_nReceiverPositionsOffset; // 0x90
int64_t m_nReceiverPositionsSize; // 0x98
int64_t m_nReceiverPositionsSizeUncompressed; // 0xa0
int64_t m_nTransmitterMaterialsOffset; // 0xa8
int64_t m_nTransmitterMaterialsSize; // 0xb0
int64_t m_nTransmitterMaterialsSizeUncompressed; // 0xb8
int64_t m_nReceiverIndicesOffset; // 0xc0
int64_t m_nReceiverIndicesSize; // 0xc8
int64_t m_nReceiverIndicesSizeUncompressed; // 0xd0
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeIMaterial2 > > > m_materials; // 0xd8
};
// Aligment: 15
// Aligment: 16
// Size: 144
struct VirtualVolumeTexData_t
{
public:
Vector m_vBoundsMin; // 0x0
Vector m_vBoundsMax; // 0xc
Vector4D m_vPlaneX; // 0x18
Vector4D m_vPlaneY; // 0x28
Vector4D m_vPlaneZ; // 0x38
Vector m_vPlaneEndDistancesXYZ; // 0x48
int32_t m_nVirtualResX; // 0x54
int32_t m_nVirtualResY; // 0x58
int32_t m_nVirtualResZ; // 0x5c
CResourceArray< int32 > m_channelPageResX; // 0x60
CResourceArray< int32 > m_channelPageResY; // 0x68
CResourceArray< int32 > m_channelPageResZ; // 0x70
CResourceArray< int32 > m_imageFormats; // 0x78
CResourceArray< int64 > m_pageOffsets; // 0x80
int64_t m_nPageDataTotalSize; // 0x88
};
// Aligment: 15
// Size: 152
struct SceneObject_t
{
public:
uint32_t m_nObjectID; // 0x0
Vector4D[4] m_vTransform; // 0x4
float m_flFadeStartDistance; // 0x44
float m_flFadeEndDistance; // 0x48
Vector4D m_vTintColor; // 0x4c
CResourceString m_skin; // 0x5c
ObjectTypeFlags_t m_nObjectTypeFlags; // 0x60
Vector m_vLightingOrigin; // 0x64
uint32_t m_nLightGroup; // 0x70
int32_t m_nOverlayRenderOrder; // 0x74
int32_t m_nCubeMapPrecomputedHandshake; // 0x78
int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x7c
CResourceExtReference< CWeakHandle< InfoForResourceTypeCModel > > m_renderableModel; // 0x80
CResourceExtReference< CWeakHandle< InfoForResourceTypeCRenderMesh > > m_renderable; // 0x88
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > > m_externalTextures; // 0x90
Vector4D[3] m_vTransform; // 0x4
float m_flFadeStartDistance; // 0x34
float m_flFadeEndDistance; // 0x38
Vector4D m_vTintColor; // 0x3c
CUtlString m_skin; // 0x50
ObjectTypeFlags_t m_nObjectTypeFlags; // 0x58
Vector m_vLightingOrigin; // 0x5c
uint32_t m_nLightGroup; // 0x68
int16_t m_nOverlayRenderOrder; // 0x6c
int16_t m_nLODOverride; // 0x6e
int32_t m_nCubeMapPrecomputedHandshake; // 0x70
int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x74
int16_t m_nBoundsGroupIndex; // 0x78
CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80
CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88
};
// Aligment: 1
@ -191,15 +111,6 @@ public:
uint32_t m_nSceneObjectIndex; // 0x0
};
// Aligment: 2
// Size: 20
struct BoneOverride_t : public BaseSceneObjectOverride_t
{
public:
CResourceArray< uint32 > m_boneHashes; // 0x4
CResourceArray< matrix3x4_t > m_boneTransforms; // 0xc
};
// Aligment: 4
// Size: 32
struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t
@ -208,7 +119,7 @@ public:
uint32_t m_nSubSceneObject; // 0x4
uint32_t m_nDrawCallIndex; // 0x8
MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc
RenderBufferBinding_t m_extraBufferBinding; // 0x10
CRenderBufferBinding m_extraBufferBinding; // 0x10
};
// Aligment: 3
@ -218,7 +129,7 @@ struct MaterialOverride_t : public BaseSceneObjectOverride_t
public:
uint32_t m_nSubSceneObject; // 0x4
uint32_t m_nDrawCallIndex; // 0x8
CResourceExtReference< CWeakHandle< InfoForResourceTypeIMaterial2 > > m_pMaterial; // 0x10
CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10
};
// Aligment: 10
@ -232,61 +143,88 @@ public:
float m_flDepth; // 0x38
Vector2D m_vUVStart; // 0x3c
Vector2D m_vUVEnd; // 0x44
CResourceExtReference< CWeakHandle< InfoForResourceTypeIMaterial2 > > m_pMaterial; // 0x50
CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50
int32_t m_nRenderOrder; // 0x58
Vector4D m_vTintColor; // 0x5c
int32_t m_nSequenceOverride; // 0x6c
};
// Aligment: 7
// Size: 20
struct PerInstanceBakedLightingParamsOverride_t : public BaseSceneObjectOverride_t
{
public:
uint32_t m_nSubSceneObject; // 0x4
uint32_t m_nDrawCallIndex; // 0x8
bool m_bHasBakedLightingFromVertexStream; // 0xc
bool m_bHasBakedLightingFromLightmap; // 0xd
bool m_bHasBakedLightingBasisInVertex; // 0xe
bool m_bHasPerInstanceBakedLightingData; // 0xf
uint32_t m_nPerVertexLightingOffsetInVertices; // 0x10
};
// Aligment: 7
// Size: 36
// Aligment: 5
// Size: 48
struct BakedLightingInfo_t
{
public:
CResourceArray< uint8 > m_PerVertexLightingDataPlainRGBM; // 0x0
uint32_t m_nPerVertexLightingDataPlainRGBMWidth; // 0x8
uint32_t m_nPerVertexLightingDataPlainRGBMHeight; // 0xc
uint32_t m_nPerVertexLightingDataPlainRGBMDepth; // 0x10
uint32_t m_nLightmapVersionNumber; // 0x14
bool m_bHasLightmaps; // 0x18
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > > m_lightMaps; // 0x1c
uint32_t m_nLightmapVersionNumber; // 0x0
uint32_t m_nLightmapGameVersionNumber; // 0x4
Vector2D m_vLightmapUvScale; // 0x8
bool m_bHasLightmaps; // 0x10
CUtlVector< CStrongHandle< InfoForResourceTypeCTextureBase > > m_lightMaps; // 0x18
};
// Aligment: 12
// Size: 120
// Aligment: 4
// Size: 56
struct WorldNodeOnDiskBufferData_t
{
public:
int32_t m_nElementCount; // 0x0
int32_t m_nElementSizeInBytes; // 0x4
CUtlVector< RenderInputLayoutField_t > m_inputLayoutFields; // 0x8
CUtlVector< uint8 > m_pData; // 0x20
};
// Aligment: 9
// Size: 60
struct AggregateMeshInfo_t
{
public:
Vector[2] m_vWorldBounds; // 0x0
uint32_t m_nVisClusterMemberOffset; // 0x18
uint8_t m_nVisClusterMemberCount; // 0x1c
uint8_t m_nLODGroupMask; // 0x1d
int32_t m_nCubeMapPrecomputedHandshake; // 0x20
ObjectTypeFlags_t m_objectFlags; // 0x24
Vector m_vLODOrigin; // 0x28
float m_fLODStartDrawDistance; // 0x34
float m_fLODEndDrawDistance; // 0x38
};
// 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
struct WorldNode_t
{
public:
CResourceArray< SceneObject_t > m_sceneObjects; // 0x0
CResourceArray< InfoOverlayData_t > m_infoOverlays; // 0x8
CResourceArray< BoneOverride_t > m_boneOverrides; // 0x10
CResourceArray< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x18
CResourceArray< MaterialOverride_t > m_materialOverrides; // 0x20
CResourceArray< PerInstanceBakedLightingParamsOverride_t > m_lightmapInstanceDataOverrides; // 0x28
CResourceArray< OnDiskBufferData_t > m_extraVertexStreams; // 0x30
CResourceArray< CResourceString > m_layerNames; // 0x38
CResourceArray< uint8 > m_sceneObjectLayerIndices; // 0x40
CResourceArray< uint8 > m_overlayLayerIndices; // 0x48
CResourceString m_grassFileName; // 0x50
BakedLightingInfo_t m_nodeLightingInfo; // 0x54
CUtlVector< SceneObject_t > m_sceneObjects; // 0x0
CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18
CUtlVector< uint16 > m_visClusterMembership; // 0x30
CUtlVector< AABB_t > m_boundsGroups; // 0x48
CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x60
CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x78
CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x90
CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0xa8
CUtlVector< CUtlString > m_layerNames; // 0xc0
CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xd8
CUtlVector< uint8 > m_overlayLayerIndices; // 0xf0
CUtlString m_grassFileName; // 0x108
BakedLightingInfo_t m_nodeLightingInfo; // 0x110
};
// Aligment: 19
// Size: 76
// Aligment: 21
// Size: 104
struct WorldBuilderParams_t
{
public:
@ -308,11 +246,13 @@ public:
int32_t m_nMaxTexScaleSlots; // 0x44
bool m_bWrapInAtlas; // 0x48
bool m_bBuildBakedLighting; // 0x49
uint8[2] m_padding; // 0x4a
Vector2D m_vLightmapUvScale; // 0x4c
uint64_t m_nCompileTimestamp; // 0x58
uint64_t m_nCompileFingerprint; // 0x60
};
// Aligment: 8
// Size: 60
// Size: 80
struct NodeData_t
{
public:
@ -322,19 +262,19 @@ public:
Vector m_vMinBounds; // 0x14
Vector m_vMaxBounds; // 0x20
float m_flMinimumDistance; // 0x2c
CResourceArray< int32 > m_ChildNodeIndices; // 0x30
CResourceString m_worldNodePrefix; // 0x38
CUtlVector< int32 > m_ChildNodeIndices; // 0x30
CUtlString m_worldNodePrefix; // 0x48
};
// Aligment: 4
// Size: 128
// Size: 200
struct World_t
{
public:
WorldBuilderParams_t m_builderParams; // 0x0
CResourceArray< NodeData_t > m_worldNodes; // 0x4c
BakedLightingInfo_t m_worldLightingInfo; // 0x54
CResourceArray< CResourceExtReference< CWeakHandle< InfoForResourceTypeCEntityLump > > > m_entityLumps; // 0x78
CUtlVector< NodeData_t > m_worldNodes; // 0x68
BakedLightingInfo_t m_worldLightingInfo; // 0x80
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0xb0
};
// Aligment: 2
@ -346,69 +286,33 @@ public:
uint32_t m_nOffsetIntoBlock; // 0x4
};
// Aligment: 10
// Size: 144
// Aligment: 2
// Size: 8
struct voxel_vis_mergelist_t
{
public:
uint32_t m_nFirstCluster; // 0x0
uint32_t m_nClusterCount; // 0x4
};
// Aligment: 13
// Size: 216
class CVoxelVisibility
{
public:
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_compression_t m_nPVSCompression; // 0x84
uint32_t m_nTreeSize; // 0x88
uint32_t m_nPVSSizeCompressed; // 0x8c
};
// Aligment: 5
// Size: 88
struct WorldEnvironmentMap_t
{
public:
matrix3x4_t m_matLocalToWorld; // 0x0
CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > m_environmentMapTexture; // 0x30
bool m_bSkyRelight; // 0x38
float m_flInfluenceRadius; // 0x3c
AABB_t m_BoxProjection; // 0x40
};
// Aligment: 1
// Size: 8
struct WorldEnvironmentMaps_t
{
public:
CResourceArray< WorldEnvironmentMap_t > m_environmentMaps; // 0x0
};
// Aligment: 12
// Size: 392
struct IrradVolume_t
{
public:
VMatrix m_transform; // 0x0
float m_flFadeMinDist; // 0x40
float m_flFadeMaxDist; // 0x44
Vector m_vMinBounds; // 0x48
Vector m_vMaxBounds; // 0x54
IrradVolumeFlags_t m_nFlags; // 0x60
uint32_t m_nSortKey; // 0x64
uint32_t m_nPlanes; // 0x68
Vector4D[16] m_planes; // 0x6c
CResourceExtReference< CWeakHandle< InfoForResourceTypeCTextureBase > > m_texture; // 0x170
CResourceExtReference< CWeakHandle< InfoForResourceTypeCLightTree > > m_lightTree; // 0x178
CResourceExtReference< CWeakHandle< InfoForResourceTypePRTMatrixData_t > > m_prtMatrix; // 0x180
};
// Aligment: 2
// Size: 12
struct WorldLighting_t
{
public:
GlobalIlluminationMethod_t m_globalIlluminationMethod; // 0x0
CResourceArray< IrradVolume_t > m_irradVolumes; // 0x4
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
};
// Aligment: 0