source2sdk/sdk/scenesystem.hpp

233 lines
5.6 KiB
C++
Raw Normal View History

2023-03-15 15:20:35 +00:00
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Binary: scenesystem.dll
// Classes count: 14
// Enums count: 0
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
struct CSceneObject;
struct CPVSData;
struct CSceneObjectReference_t;
struct SceneViewId_t;
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 16
// Size: 0x30
// Has Trivial Destructor
2023-03-15 19:24:28 +00:00
struct CSceneObjectReference_t
{
public:
VectorAligned m_vecAABBMins; // 0x0
VectorAligned m_vecAABBMaxes; // 0x10
uint64_t m_nRenderableFlags; // 0x20
CSceneObject* m_pObject; // 0x28
2023-03-15 19:24:28 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 4
// Size: 0x8
// Has Trivial Constructor
// Has Trivial Destructor
struct CPVSData__pvsmask_t
2023-03-15 19:24:28 +00:00
{
public:
uint32_t m_nOffset; // 0x0
uint32_t m_nMask; // 0x4
2023-03-15 19:24:28 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x48
// Has Trivial Constructor
// Has Trivial Destructor
2023-03-15 19:24:28 +00:00
class CPVSData
{
public:
CPVSData* m_pNext; // 0x0
uint16_t m_nPVSMasks; // 0x8
uint16_t m_nPVSFlags; // 0xa
// -> m_nOffset - 0xc
// -> m_nMask - 0x10
CPVSData::pvsmask_t m_masks[7]; // 0xc
2023-03-15 19:24:28 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 16
// Size: 0x470
2023-03-15 19:24:28 +00:00
struct CSceneObjectExtraData_t
{
private:
[[maybe_unused]] uint8_t __pad0000[0x440]; // 0x0
public:
uint64_t m_nCurrentMeshGroupMask; // 0x440
private:
[[maybe_unused]] uint8_t __pad0448[0x8]; // 0x448
2023-03-15 19:24:28 +00:00
public:
CUtlStringToken m_nLayerForceID; // 0x450
Vector m_vLightingOrigin; // 0x454
float m_flDepthSortBias; // 0x460
uint8_t m_nVisibleToPlayer[4]; // 0x464
uint16_t m_nAlphaFade; // 0x468
int16_t m_nViewProducerIndex; // 0x46a
bool m_bLightingOriginIsInWorldSpace; // 0x46c
int8_t m_nCurrentLOD; // 0x46d
2023-03-15 19:24:28 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 16
// Size: 0xb0
// Has VTable
2023-03-15 19:24:28 +00:00
class CSceneObject
{
private:
[[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0
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
private:
[[maybe_unused]] uint8_t __pad002c[0x3]; // 0x2c
public:
uint8_t m_nMeshGroupMaskSmall; // 0x2f
struct
{
uint8_t m_nDebugLevel: 2;
uint8_t m_nSizeCullBloat: 2;
uint8_t m_nBoundsType: 1;
uint16_t __pad0: 11;
}; // 16 bits
uint8_t m_nID; // 0x31
int8_t m_nBoundsGroupIndex; // 0x32
uint8_t m_nObjectClass; // 0x33
private:
[[maybe_unused]] uint8_t __pad0034[0xc]; // 0x34
2023-03-15 19:24:28 +00:00
public:
matrix3x4a_t m_transform; // 0x40
CPVSData* m_pPVSData; // 0x70
private:
[[maybe_unused]] uint8_t __pad0078[0x10]; // 0x78
public:
uint64_t m_nOriginalRenderableFlags; // 0x88
uint64_t m_nRenderableFlags; // 0x90
private:
[[maybe_unused]] uint8_t __pad0098[0xc]; // 0x98
public:
CUtlStringToken m_nLayerMatchID; // 0xa4
// Static fields:
static float &Get_s_flSizeCullBloatScale(){return *reinterpret_cast<float*>(interfaces::g_schema->FindTypeScopeForModule("scenesystem.dll")->FindDeclaredClass("CSceneObject")->m_static_fields[0]->m_instance);};
2023-03-15 19:24:28 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x10
2023-03-15 15:20:35 +00:00
class CSSDSEndFrameViewInfo
{
public:
uint64_t m_nViewId; // 0x0
CUtlString m_ViewName; // 0x8
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x18
2023-03-15 15:20:35 +00:00
class CSSDSMsg_EndFrame
{
public:
CUtlVector< CSSDSEndFrameViewInfo > m_Views; // 0x0
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x10
// Has Trivial Constructor
// Has Trivial Destructor
2023-03-15 15:20:35 +00:00
struct SceneViewId_t
{
public:
uint64_t m_nViewId; // 0x0
uint64_t m_nFrameCount; // 0x8
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x18
2023-03-15 15:20:35 +00:00
class CSSDSMsg_ViewRender
{
public:
SceneViewId_t m_viewId; // 0x0
CUtlString m_ViewName; // 0x10
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x38
2023-03-15 15:20:35 +00:00
class CSSDSMsg_LayerBase
{
public:
SceneViewId_t m_viewId; // 0x0
CUtlString m_ViewName; // 0x10
int32_t m_nLayerIndex; // 0x18
private:
[[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c
public:
uint64_t m_nLayerId; // 0x20
CUtlString m_LayerName; // 0x28
CUtlString m_displayText; // 0x30
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x30
2023-03-15 15:20:35 +00:00
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
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x30
2023-03-15 15:20:35 +00:00
class CSSDSMsg_ViewTargetList
{
public:
SceneViewId_t m_viewId; // 0x0
CUtlString m_ViewName; // 0x10
CUtlVector< CSSDSMsg_ViewTarget > m_Targets; // 0x18
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x38
2023-03-15 15:20:35 +00:00
class CSSDSMsg_PreLayer : public CSSDSMsg_LayerBase
{
public:
// No schema binary for binding
2023-03-15 15:20:35 +00:00
};
// Registered binary: scenesystem.dll (project 'scenesystem')
// Alignment: 8
// Size: 0x38
2023-03-15 15:20:35 +00:00
class CSSDSMsg_PostLayer : public CSSDSMsg_LayerBase
{
public:
// No schema binary for binding
2023-03-15 15:20:35 +00:00
};