2023-03-15 15:20:35 +00:00
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#include "!GlobalTypes.hpp"
|
|
|
|
|
|
|
|
///////////////////////////////////////////
|
|
|
|
// Binary: scenesystem.dll
|
2023-03-15 17:25:55 +00:00
|
|
|
// Class Count: 14
|
|
|
|
// Enum Count: 0
|
2023-03-15 15:20:35 +00:00
|
|
|
///////////////////////////////////////////
|
|
|
|
|
2023-03-15 17:25:55 +00:00
|
|
|
// 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
|
2023-03-15 15:20:35 +00:00
|
|
|
{
|
2023-03-15 17:25:55 +00:00
|
|
|
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); }
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 2
|
|
|
|
// Size: 16
|
|
|
|
class CSSDSEndFrameViewInfo
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
uint64_t m_nViewId; // 0x0
|
|
|
|
CUtlString m_ViewName; // 0x8
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 1
|
|
|
|
// Size: 24
|
|
|
|
class CSSDSMsg_EndFrame
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 2
|
|
|
|
// Size: 16
|
|
|
|
struct SceneViewId_t
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
uint64_t m_nViewId; // 0x0
|
|
|
|
uint64_t m_nFrameCount; // 0x8
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 2
|
|
|
|
// Size: 24
|
|
|
|
class CSSDSMsg_ViewRender
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SceneViewId_t m_viewId; // 0x0
|
|
|
|
CUtlString m_ViewName; // 0x10
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 6
|
|
|
|
// Size: 56
|
|
|
|
class CSSDSMsg_LayerBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SceneViewId_t m_viewId; // 0x0
|
|
|
|
CUtlString m_ViewName; // 0x10
|
|
|
|
int32_t m_nLayerIndex; // 0x18
|
|
|
|
uint64_t m_nLayerId; // 0x20
|
|
|
|
CUtlString m_LayerName; // 0x28
|
|
|
|
CUtlString m_displayText; // 0x30
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 10
|
|
|
|
// Size: 48
|
|
|
|
class CSSDSMsg_ViewTarget
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CUtlString m_Name; // 0x0
|
|
|
|
uint64_t m_TextureId; // 0x8
|
|
|
|
int32_t m_nWidth; // 0x10
|
|
|
|
int32_t m_nHeight; // 0x14
|
|
|
|
int32_t m_nRequestedWidth; // 0x18
|
|
|
|
int32_t m_nRequestedHeight; // 0x1c
|
|
|
|
int32_t m_nNumMipLevels; // 0x20
|
|
|
|
int32_t m_nDepth; // 0x24
|
|
|
|
int32_t m_nMultisampleNumSamples; // 0x28
|
|
|
|
int32_t m_nFormat; // 0x2c
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 3
|
|
|
|
// Size: 48
|
|
|
|
class CSSDSMsg_ViewTargetList
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
SceneViewId_t m_viewId; // 0x0
|
|
|
|
CUtlString m_ViewName; // 0x10
|
|
|
|
CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 0
|
|
|
|
// Size: 56
|
|
|
|
class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// <no members described>
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 0
|
|
|
|
// Size: 56
|
|
|
|
class CSSDSMsg_PostLayer : public CSSDSMsg_LayerBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// <no members described>
|
|
|
|
};
|
|
|
|
|