15.03.2023

This commit is contained in:
Konstantin 'cpz' L 2023-03-15 22:20:35 +07:00
commit a066eb0f1d
19 changed files with 215802 additions and 0 deletions

27
README.md Normal file
View File

@ -0,0 +1,27 @@
# Source2SDK
This repository contains the generated Source 2 SDKs for various games. Each game has its own branch, with the SDK dump specific to that game.
---
## Available Branches
- `csgo` - Counter-Strike: Global Offensive
- `dota` - Dota 2
- `hlvr` - Half-Life: Alyx
To access the SDK for a specific game, switch to the corresponding branch:
```bash
git checkout <branch_name>
```
Replace <branch_name> with the desired game branch (e.g., csgo, dota, etc.).
## Generation & Contributions
The SDK dumps in this repository were generated using the - **[NEVERLOSE Source2Gen](https://github.com/neverlosecc/source2gen)** tool.
If you want to contribute or make changes to the generated SDKs, please submit a pull request on the Source2Gen repository. Any changes made to the SDKs in this repository should originate from the Source2Gen project.
---
### License
Please refer to the original projects and libraries used in the Source2Gen repository for license information.

33175
sdk/!GlobalTypes.hpp Normal file

File diff suppressed because it is too large Load Diff

7517
sdk/animationsystem.hpp Normal file

File diff suppressed because it is too large Load Diff

73944
sdk/client.hpp Normal file

File diff suppressed because it is too large Load Diff

526
sdk/engine2.hpp Normal file
View File

@ -0,0 +1,526 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: engine2.dll
// Class Count: 50
// Enum Count: 4
///////////////////////////////////////////
// Aligment: 4
// Size: 3
enum class SpawnDebugOverrideState_t : uint32_t
{
SPAWN_DEBUG_OVERRIDE_NONE = 0x0,
SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1,
SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2,
};
// Aligment: 4
// Size: 5
enum class SpawnDebugRestrictionOverrideState_t : uint32_t
{
SPAWN_DEBUG_RESTRICT_NONE = 0x0,
SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1,
SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2,
SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS = 0x4,
SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8,
};
// Aligment: 4
// Size: 3
enum class EntityDormancyType_t : uint32_t
{
ENTITY_NOT_DORMANT = 0x0,
ENTITY_DORMANT = 0x1,
ENTITY_SUSPENDED = 0x2,
};
// Aligment: 4
// Size: 4
enum class EntityIOTargetType_t : uint32_t
{
ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff,
ENTITY_IO_TARGET_ENTITYNAME = 0x2,
ENTITY_IO_TARGET_EHANDLE = 0x6,
ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7,
};
// Aligment: 4
// Size: 40
struct EngineLoopState_t
{
public:
int32_t m_nPlatWindowWidth; // 0x18
int32_t m_nPlatWindowHeight; // 0x1c
int32_t m_nRenderWidth; // 0x20
int32_t m_nRenderHeight; // 0x24
};
// Aligment: 0
// Size: 1
struct EventModInitialized_t
{
public:
// <no members described>
};
// Aligment: 1
// Size: 4
struct EventFrameBoundary_t
{
public:
float m_flFrameTime; // 0x0
};
// Aligment: 1
// Size: 4
struct EventProfileStorageAvailable_t
{
public:
CSplitScreenSlot m_nSplitScreenSlot; // 0x0
};
// Aligment: 0
// Size: 1
struct EventSplitScreenStateChanged_t
{
public:
// <no members described>
};
// Aligment: 8
// Size: 96
struct EventSetTime_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
int32_t m_nClientOutputFrames; // 0x28
double m_flRealTime; // 0x30
double m_flRenderTime; // 0x38
double m_flRenderFrameTime; // 0x40
double m_flRenderFrameTimeUnbounded; // 0x48
double m_flRenderFrameTimeUnscaled; // 0x50
double m_flTickRemainder; // 0x58
};
// Aligment: 2
// Size: 48
struct EventClientPollInput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
};
// Aligment: 2
// Size: 48
struct EventClientProcessInput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
};
// Aligment: 3
// Size: 48
struct EventClientProcessGameInput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
};
// Aligment: 6
// Size: 72
struct EventClientPreOutput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
double m_flRenderTime; // 0x28
double m_flRenderFrameTime; // 0x30
double m_flRenderFrameTimeUnbounded; // 0x38
float m_flRealTime; // 0x40
bool m_bRenderOnly; // 0x44
};
// Aligment: 1
// Size: 1
struct EventClientSceneSystemThreadStateChange_t
{
public:
bool m_bThreadsActive; // 0x0
};
// Aligment: 5
// Size: 56
struct EventClientOutput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRenderTime; // 0x28
float m_flRealTime; // 0x2c
float m_flRenderFrameTimeUnbounded; // 0x30
bool m_bRenderOnly; // 0x34
};
// Aligment: 5
// Size: 64
struct EventClientPostOutput_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
double m_flRenderTime; // 0x28
float m_flRenderFrameTime; // 0x30
float m_flRenderFrameTimeUnbounded; // 0x34
bool m_bRenderOnly; // 0x38
};
// Aligment: 3
// Size: 48
struct EventClientFrameSimulate_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
};
// Aligment: 3
// Size: 48
struct EventSimpleLoopFrameUpdate_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
};
// Aligment: 3
// Size: 48
struct EventSimulate_t
{
public:
EngineLoopState_t m_LoopState; // 0x0
bool m_bFirstTick; // 0x28
bool m_bLastTick; // 0x29
};
// Aligment: 4
// 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
};
// Aligment: 4
// 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
};
// Aligment: 0
// Size: 64
struct EventServerAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 64
struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 64
struct EventClientAdvanceTick_t : public EventAdvanceTick_t, EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 64
struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t, EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 2
// Size: 8
struct EventClientSendInput_t
{
public:
bool m_bFinalClientCommandTick; // 0x0
int32_t m_nAdditionalClientCommandsToCreate; // 0x4
};
// Aligment: 0
// Size: 1
struct EventClientPredictionPostNetupdate_t
{
public:
// <no members described>
};
// Aligment: 1
// Size: 4
struct EventClientPollNetworking_t
{
public:
int32_t m_nTickCount; // 0x0
};
// Aligment: 0
// Size: 1
struct EventClientProcessNetworking_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventClientPreSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventClientSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventServerPollNetworking_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventServerProcessNetworking_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventServerSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventServerPostSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventClientPostSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EventClientPauseSimulate_t : public EventSimulate_t
{
public:
// <no members described>
};
// Aligment: 1
// Size: 16
struct EventPostDataUpdate_t
{
public:
int32_t m_nCount; // 0x0
};
// Aligment: 1
// Size: 16
struct EventPreDataUpdate_t
{
public:
int32_t m_nCount; // 0x0
};
// Aligment: 1
// Size: 4
struct EventAppShutdown_t
{
public:
int32_t m_nDummy0; // 0x0
};
// Aligment: 0
// Size: 8
class IHandleEntity
{
public:
// <no members described>
};
// Aligment: 1
// Size: 40
class CNetworkVarChainer
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20
};
// Aligment: 0
// Size: 1
class CVariantDefaultAllocator
{
public:
// <no members described>
};
// Aligment: 0
// Size: 16
struct EntOutput_t
{
public:
// <no members described>
};
// Aligment: 8
// Size: 120
struct EntComponentInfo_t
{
public:
V_uuid_t m_id; // 0x0
char* m_pName; // 0x10
char* m_pCPPClassname; // 0x18
char* m_pNetworkDataReferencedDescription; // 0x20
char* m_pNetworkDataReferencedPtrPropDescription; // 0x28
int32_t m_nRuntimeIndex; // 0x30
uint32_t m_nFlags; // 0x34
CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70
};
// Aligment: 0
// Size: 8
class CEntityComponent
{
public:
// <no members described>
};
// Aligment: 0
// Size: 48
struct EntInput_t
{
public:
// <no members described>
};
// Aligment: 4
// Size: 40
class CEntityComponentHelper
{
public:
uint32_t m_flags; // 0x8
EntComponentInfo_t* m_pInfo; // 0x10
int32_t m_nPriority; // 0x18
CEntityComponentHelper* m_pNext; // 0x20
};
// Aligment: 11
// Size: 120
class CEntityIdentity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "entityIdentityNameChanged"
int32_t m_nameStringableIndex; // 0x14
CUtlSymbolLarge m_name; // 0x18
CUtlSymbolLarge m_designerName; // 0x20
uint32_t m_flags; // 0x30
// MNetworkDisable
WorldGroupId_t m_worldGroupId; // 0x38
uint32_t m_fDataObjectTypes; // 0x3c
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40
CEntityIdentity* m_pPrev; // 0x58
CEntityIdentity* m_pNext; // 0x60
CEntityIdentity* m_pPrevByClass; // 0x68
CEntityIdentity* m_pNextByClass; // 0x70
};
// Aligment: 0
// Size: 8
class CEmptyEntityInstance
{
public:
// <no members described>
};
// Aligment: 3
// Size: 48
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
// MNetworkEnable
// MNetworkPriority "56"
CEntityIdentity* m_pEntity; // 0x10
// MNetworkEnable
// MNetworkDisable
CScriptComponent* m_CScriptComponent; // 0x28
};
// Aligment: 1
// Size: 40
class CEntityIOOutput
{
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); }
};

216
sdk/materialsystem2.hpp Normal file
View File

@ -0,0 +1,216 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: materialsystem2.dll
// Class Count: 13
// Enum Count: 5
///////////////////////////////////////////
// Aligment: 4
// Size: 4
enum class HorizJustification_e : uint32_t
{
HORIZ_JUSTIFICATION_LEFT = 0x0,
HORIZ_JUSTIFICATION_CENTER = 0x1,
HORIZ_JUSTIFICATION_RIGHT = 0x2,
HORIZ_JUSTIFICATION_NONE = 0x3,
};
// Aligment: 4
// Size: 4
enum class VertJustification_e : uint32_t
{
VERT_JUSTIFICATION_TOP = 0x0,
VERT_JUSTIFICATION_CENTER = 0x1,
VERT_JUSTIFICATION_BOTTOM = 0x2,
VERT_JUSTIFICATION_NONE = 0x3,
};
// Aligment: 4
// Size: 3
enum class LayoutPositionType_e : uint32_t
{
LAYOUTPOSITIONTYPE_VIEWPORT_RELATIVE = 0x0,
LAYOUTPOSITIONTYPE_FRACTIONAL = 0x1,
LAYOUTPOSITIONTYPE_NONE = 0x2,
};
// Aligment: 4
// Size: 3
enum class BloomBlendMode_t : uint32_t
{
BLOOM_BLEND_ADD = 0x0,
BLOOM_BLEND_SCREEN = 0x1,
BLOOM_BLEND_BLUR = 0x2,
};
// Aligment: 4
// Size: 3
enum class ViewFadeMode_t : uint32_t
{
VIEW_FADE_CONSTANT_COLOR = 0x0,
VIEW_FADE_MODULATE = 0x1,
VIEW_FADE_MOD2X = 0x2,
};
// Aligment: 1
// Size: 8
struct MaterialParam_t
{
public:
CUtlString m_name; // 0x0
};
// Aligment: 1
// Size: 16
struct MaterialParamInt_t : public MaterialParam_t
{
public:
int32_t m_nValue; // 0x8
};
// Aligment: 1
// Size: 16
struct MaterialParamFloat_t : public MaterialParam_t
{
public:
float m_flValue; // 0x8
};
// Aligment: 1
// Size: 24
struct MaterialParamVector_t : public MaterialParam_t
{
public:
Vector4D m_value; // 0x8
};
// Aligment: 1
// Size: 16
struct MaterialParamTexture_t : public MaterialParam_t
{
public:
CStrongHandle< InfoForResourceTypeCTextureBase > m_pValue; // 0x8
};
// Aligment: 1
// Size: 16
struct MaterialParamString_t : public MaterialParam_t
{
public:
CUtlString m_value; // 0x8
};
// Aligment: 1
// Size: 32
struct MaterialParamBuffer_t : public MaterialParam_t
{
public:
CUtlBinaryBlock m_value; // 0x8
};
// Aligment: 14
// Size: 304
struct MaterialResourceData_t
{
public:
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: 15
// Size: 60
struct PostProcessingTonemapParameters_t
{
public:
float m_flExposureBias; // 0x0
float m_flShoulderStrength; // 0x4
float m_flLinearStrength; // 0x8
float m_flLinearAngle; // 0xc
float m_flToeStrength; // 0x10
float m_flToeNum; // 0x14
float m_flToeDenom; // 0x18
float m_flWhitePoint; // 0x1c
float m_flLuminanceSource; // 0x20
float m_flExposureBiasShadows; // 0x24
float m_flExposureBiasHighlights; // 0x28
float m_flMinShadowLum; // 0x2c
float m_flMaxShadowLum; // 0x30
float m_flMinHighlightLum; // 0x34
float m_flMaxHighlightLum; // 0x38
};
// Aligment: 10
// Size: 112
struct PostProcessingBloomParameters_t
{
public:
BloomBlendMode_t m_blendMode; // 0x0
float m_flBloomStrength; // 0x4
float m_flScreenBloomStrength; // 0x8
float m_flBlurBloomStrength; // 0xc
float m_flBloomThreshold; // 0x10
float m_flBloomThresholdWidth; // 0x14
float m_flSkyboxBloomStrength; // 0x18
float m_flBloomStartValue; // 0x1c
float32[5] m_flBlurWeight; // 0x20
Vector[5] m_vBlurTint; // 0x34
};
// Aligment: 6
// Size: 36
struct PostProcessingVignetteParameters_t
{
public:
float m_flVignetteStrength; // 0x0
Vector2D m_vCenter; // 0x4
float m_flRadius; // 0xc
float m_flRoundness; // 0x10
float m_flFeather; // 0x14
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: 11
// Size: 280
struct PostProcessingResource_t
{
public:
bool m_bHasTonemapParams; // 0x0
PostProcessingTonemapParameters_t m_toneMapParams; // 0x4
bool m_bHasBloomParams; // 0x40
PostProcessingBloomParameters_t m_bloomParams; // 0x44
bool m_bHasVignetteParams; // 0xb4
PostProcessingVignetteParameters_t m_vignetteParams; // 0xb8
bool m_bHasLocalContrastParams; // 0xdc
PostProcessingLocalContrastParameters_t m_localConstrastParams; // 0xe0
int32_t m_nColorCorrectionVolumeDim; // 0xf4
CUtlBinaryBlock m_colorCorrectionVolumeData; // 0xf8
bool m_bHasColorCorrection; // 0x110
};

10
sdk/meshsystem.hpp Normal file
View File

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

18
sdk/networksystem.hpp Normal file
View File

@ -0,0 +1,18 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: networksystem.dll
// Class Count: 1
// Enum Count: 0
///////////////////////////////////////////
// Aligment: 1
// Size: 2
struct ChangeAccessorFieldPathIndex_t
{
public:
int16_t m_Value; // 0x0
};

50
sdk/panorama.hpp Normal file
View File

@ -0,0 +1,50 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: panorama.dll
// Class Count: 0
// Enum Count: 2
///////////////////////////////////////////
// Aligment: 4
// Size: 13
enum class ELayoutNodeType : uint32_t
{
ROOT = 0x0,
STYLES = 0x1,
SCRIPT_BODY = 0x2,
SCRIPTS = 0x3,
SNIPPETS = 0x4,
INCLUDE = 0x5,
SNIPPET = 0x6,
PANEL = 0x7,
PANEL_ATTRIBUTE = 0x8,
PANEL_ATTRIBUTE_VALUE = 0x9,
REFERENCE_CONTENT = 0xa,
REFERENCE_COMPILED = 0xb,
REFERENCE_PASSTHROUGH = 0xc,
};
// Aligment: 4
// Size: 15
enum class EStyleNodeType : uint32_t
{
ROOT = 0x0,
EXPRESSION = 0x1,
PROPERTY = 0x2,
DEFINE = 0x3,
IMPORT = 0x4,
KEYFRAMES = 0x5,
KEYFRAME_SELECTOR = 0x6,
STYLE_SELECTOR = 0x7,
WHITESPACE = 0x8,
EXPRESSION_TEXT = 0x9,
EXPRESSION_URL = 0xa,
EXPRESSION_CONCAT = 0xb,
REFERENCE_CONTENT = 0xc,
REFERENCE_COMPILED = 0xd,
REFERENCE_PASSTHROUGH = 0xe,
};

9516
sdk/particles.hpp Normal file

File diff suppressed because it is too large Load Diff

142
sdk/rendersystemdx11.hpp Normal file
View File

@ -0,0 +1,142 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: rendersystemdx11.dll
// Class Count: 3
// Enum Count: 5
///////////////////////////////////////////
// Aligment: 4
// Size: 3
enum class RenderSlotType_t : uint32_t
{
RENDER_SLOT_INVALID = 0xffffffffffffffff,
RENDER_SLOT_PER_VERTEX = 0x0,
RENDER_SLOT_PER_INSTANCE = 0x1,
};
// Aligment: 4
// Size: 9
enum class RenderBufferFlags_t : uint32_t
{
RENDER_BUFFER_USAGE_VERTEX_BUFFER = 0x1,
RENDER_BUFFER_USAGE_INDEX_BUFFER = 0x2,
RENDER_BUFFER_USAGE_SHADER_RESOURCE = 0x4,
RENDER_BUFFER_USAGE_UNORDERED_ACCESS = 0x8,
RENDER_BUFFER_BYTEADDRESS_BUFFER = 0x10,
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
// Size: 45
enum class RenderPrimitiveType_t : uint32_t
{
RENDER_PRIM_POINTS = 0x0,
RENDER_PRIM_LINES = 0x1,
RENDER_PRIM_LINES_WITH_ADJACENCY = 0x2,
RENDER_PRIM_LINE_STRIP = 0x3,
RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY = 0x4,
RENDER_PRIM_TRIANGLES = 0x5,
RENDER_PRIM_TRIANGLES_WITH_ADJACENCY = 0x6,
RENDER_PRIM_TRIANGLE_STRIP = 0x7,
RENDER_PRIM_TRIANGLE_STRIP_WITH_ADJACENCY = 0x8,
RENDER_PRIM_INSTANCED_QUADS = 0x9,
RENDER_PRIM_HETEROGENOUS = 0xa,
RENDER_PRIM_1_CONTROL_POINT_PATCHLIST = 0xb,
RENDER_PRIM_2_CONTROL_POINT_PATCHLIST = 0xc,
RENDER_PRIM_3_CONTROL_POINT_PATCHLIST = 0xd,
RENDER_PRIM_4_CONTROL_POINT_PATCHLIST = 0xe,
RENDER_PRIM_5_CONTROL_POINT_PATCHLIST = 0xf,
RENDER_PRIM_6_CONTROL_POINT_PATCHLIST = 0x10,
RENDER_PRIM_7_CONTROL_POINT_PATCHLIST = 0x11,
RENDER_PRIM_8_CONTROL_POINT_PATCHLIST = 0x12,
RENDER_PRIM_9_CONTROL_POINT_PATCHLIST = 0x13,
RENDER_PRIM_10_CONTROL_POINT_PATCHLIST = 0x14,
RENDER_PRIM_11_CONTROL_POINT_PATCHLIST = 0x15,
RENDER_PRIM_12_CONTROL_POINT_PATCHLIST = 0x16,
RENDER_PRIM_13_CONTROL_POINT_PATCHLIST = 0x17,
RENDER_PRIM_14_CONTROL_POINT_PATCHLIST = 0x18,
RENDER_PRIM_15_CONTROL_POINT_PATCHLIST = 0x19,
RENDER_PRIM_16_CONTROL_POINT_PATCHLIST = 0x1a,
RENDER_PRIM_17_CONTROL_POINT_PATCHLIST = 0x1b,
RENDER_PRIM_18_CONTROL_POINT_PATCHLIST = 0x1c,
RENDER_PRIM_19_CONTROL_POINT_PATCHLIST = 0x1d,
RENDER_PRIM_20_CONTROL_POINT_PATCHLIST = 0x1e,
RENDER_PRIM_21_CONTROL_POINT_PATCHLIST = 0x1f,
RENDER_PRIM_22_CONTROL_POINT_PATCHLIST = 0x20,
RENDER_PRIM_23_CONTROL_POINT_PATCHLIST = 0x21,
RENDER_PRIM_24_CONTROL_POINT_PATCHLIST = 0x22,
RENDER_PRIM_25_CONTROL_POINT_PATCHLIST = 0x23,
RENDER_PRIM_26_CONTROL_POINT_PATCHLIST = 0x24,
RENDER_PRIM_27_CONTROL_POINT_PATCHLIST = 0x25,
RENDER_PRIM_28_CONTROL_POINT_PATCHLIST = 0x26,
RENDER_PRIM_29_CONTROL_POINT_PATCHLIST = 0x27,
RENDER_PRIM_30_CONTROL_POINT_PATCHLIST = 0x28,
RENDER_PRIM_31_CONTROL_POINT_PATCHLIST = 0x29,
RENDER_PRIM_32_CONTROL_POINT_PATCHLIST = 0x2a,
RENDER_PRIM_COMPUTE_SHADER = 0x2b,
RENDER_PRIM_TYPE_COUNT = 0x2c,
};
// Aligment: 4
// Size: 4
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_MAX = 0x3,
};
// Aligment: 4
// Size: 8
enum class RenderMultisampleType_t : uint32_t
{
RENDER_MULTISAMPLE_INVALID = 0xffffffffffffffff,
RENDER_MULTISAMPLE_NONE = 0x0,
RENDER_MULTISAMPLE_2X = 0x1,
RENDER_MULTISAMPLE_4X = 0x2,
RENDER_MULTISAMPLE_6X = 0x3,
RENDER_MULTISAMPLE_8X = 0x4,
RENDER_MULTISAMPLE_16X = 0x5,
RENDER_MULTISAMPLE_TYPE_COUNT = 0x6,
};
// Aligment: 7
// Size: 56
struct RenderInputLayoutField_t
{
public:
uint8[32] m_pSemanticName; // 0x0
int32_t m_nSemanticIndex; // 0x20
uint32_t m_Format; // 0x24
int32_t m_nOffset; // 0x28
int32_t m_nSlot; // 0x2c
RenderSlotType_t m_nSlotType; // 0x30
int32_t m_nInstanceStepRate; // 0x34
};
// Aligment: 4
// Size: 196
struct VsInputSignatureElement_t
{
public:
char[64] m_pName; // 0x0
char[64] m_pSemantic; // 0x40
char[64] m_pD3DSemanticName; // 0x80
int32_t m_nD3DSemanticIndex; // 0xc0
};
// Aligment: 1
// Size: 24
struct VsInputSignature_t
{
public:
CUtlVector< VsInputSignatureElement_t > m_elems; // 0x0
};

474
sdk/resourcesystem.hpp Normal file
View File

@ -0,0 +1,474 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: resourcesystem.dll
// Class Count: 52
// Enum Count: 2
///////////////////////////////////////////
// Aligment: 1
// Size: 2
enum class FuseVariableAccess_t : uint8_t
{
WRITABLE = 0,
READ_ONLY = 1,
};
// Aligment: 1
// Size: 9
enum class FuseVariableType_t : uint8_t
{
INVALID = 0,
BOOL = 1,
INT8 = 2,
INT16 = 3,
INT32 = 4,
UINT8 = 5,
UINT16 = 6,
UINT32 = 7,
FLOAT32 = 8,
};
// Aligment: 1
// Size: 8
struct TestResource_t
{
public:
// MKV3TransferName "name"
CUtlString m_name; // 0x0
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeTestResource_t
{
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
// Size: 1
class InfoForResourceTypeIParticleSystemDefinition
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIParticleSnapshot
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCAnimData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCAnimationGroup
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCSequenceGroupData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIMaterial2
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCMorphSetData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCRenderMesh
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCModel
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCTextureBase
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIVectorGraphic
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVSoundEventScriptList
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVSoundStackScriptList
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeVSound_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVMixListResource
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPhysAggregateData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVPhysXSurfacePropertiesList
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCEntityLump
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCWorldNode
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeWorld_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCVoxelVisibility
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPostProcessingResource
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCPanoramaStyle
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
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 InfoForResourceTypeCPanoramaTypeScript
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDOTAPatchNotesList
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeIAnimGraphModelBinding
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCChoreoSceneFileData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCDACGameDefsData
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCCompositeMaterialKit
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCSmartProp
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCCSGOItem
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCResponseRulesList
{
public:
// <no members described>
};
// Aligment: 1
// Size: 2
struct FuseVariableIndex_t
{
public:
uint16_t m_Value; // 0x0
};
// Aligment: 1
// Size: 2
struct FuseFunctionIndex_t
{
public:
uint16_t m_Value; // 0x0
};
// Aligment: 3
// Size: 16
struct ConstantInfo_t
{
public:
CUtlString m_name; // 0x0
CUtlStringToken m_nameToken; // 0x8
float m_flValue; // 0xc
};
// Aligment: 6
// Size: 24
struct VariableInfo_t
{
public:
CUtlString m_name; // 0x0
CUtlStringToken m_nameToken; // 0x8
FuseVariableIndex_t m_nIndex; // 0xc
uint8_t m_nNumComponents; // 0xe
FuseVariableType_t m_eVarType; // 0xf
FuseVariableAccess_t m_eAccess; // 0x10
};
// Aligment: 5
// Size: 32
struct FunctionInfo_t
{
public:
CUtlString m_name; // 0x8
CUtlStringToken m_nameToken; // 0x10
int32_t m_nParamCount; // 0x14
FuseFunctionIndex_t m_nIndex; // 0x18
bool m_bIsPure; // 0x1a
};
// Aligment: 4
// Size: 80
class CFuseProgram
{
public:
CUtlVector< uint8 > m_programBuffer; // 0x0
CUtlVector< FuseVariableIndex_t > m_variablesRead; // 0x18
CUtlVector< FuseVariableIndex_t > m_variablesWritten; // 0x30
int32_t m_nMaxTempVarsUsed; // 0x48
};
// Aligment: 3
// Size: 104
class CFuseSymbolTable
{
public:
CUtlHashtable< CUtlStringToken, ConstantInfo_t > m_constants; // 0x8
CUtlHashtable< CUtlStringToken, VariableInfo_t > m_variables; // 0x28
CUtlHashtable< CUtlStringToken, FunctionInfo_t > m_functions; // 0x48
};
// Aligment: 2
// Size: 24
struct AABB_t
{
public:
Vector m_vMinBounds; // 0x0
Vector m_vMaxBounds; // 0xc
};
// Aligment: 2
// Size: 8
struct PackedAABB_t
{
public:
uint32_t m_nPackedMin; // 0x0
uint32_t m_nPackedMax; // 0x4
};
// Aligment: 4
// Size: 64
class FourQuaternions
{
public:
fltx4 x; // 0x0
fltx4 y; // 0x10
fltx4 z; // 0x20
fltx4 w; // 0x30
};

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
///////////////////////////////////////////

111
sdk/scenesystem.hpp Normal file
View File

@ -0,0 +1,111 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: scenesystem.dll
// Class Count: 9
// Enum Count: 1
///////////////////////////////////////////
// Aligment: 1
// Size: 4
enum class DisableShadows_t : uint8_t
{
kDisableShadows_None = 0,
kDisableShadows_All = 1,
kDisableShadows_Baked = 2,
kDisableShadows_Realtime = 3,
};
// 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>
};

183
sdk/schemasystem.hpp Normal file
View File

@ -0,0 +1,183 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: schemasystem.dll
// Class Count: 7
// Enum Count: 2
///////////////////////////////////////////
// Aligment: 4
// Size: 3
enum class ThreeState_t : uint32_t
{
TRS_FALSE = 0x0,
TRS_TRUE = 0x1,
TRS_NONE = 0x2,
};
// Aligment: 1
// Size: 80
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_CONDITION_ID = 68,
FIELD_AI_SCHEDULE_BITS = 69,
FIELD_MODIFIER_HANDLE = 70,
FIELD_ROTATION_VECTOR = 71,
FIELD_ROTATION_VECTOR_WORLDSPACE = 72,
FIELD_HVDATA = 73,
FIELD_SCALE32 = 74,
FIELD_STRING_AND_TOKEN = 75,
FIELD_ENGINE_TIME = 76,
FIELD_ENGINE_TICK = 77,
FIELD_WORLD_GROUP_ID = 78,
FIELD_TYPECOUNT = 79,
};
// Aligment: 22
// Size: 384
class CSchemaSystemInternalRegistration
{
public:
Vector2D m_Vector2D; // 0x0
Vector m_Vector; // 0x8
VectorAligned m_VectorAligned; // 0x20
Quaternion m_Quaternion; // 0x30
QAngle m_QAngle; // 0x40
RotationVector m_RotationVector; // 0x4c
RadianEuler m_RadianEuler; // 0x58
DegreeEuler m_DegreeEuler; // 0x64
QuaternionStorage m_QuaternionStorage; // 0x70
matrix3x4_t m_matrix3x4_t; // 0x80
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
CUtlStringTokenWithStorage m_stringTokenWithStorage; // 0x150
CResourceArray< CResourcePointer< CResourceString > > m_ResourceTypes; // 0x168
KeyValues3 m_KV3; // 0x170
};
// Aligment: 0
// Size: 1
class InfoForResourceTypeCResourceManifestInternal
{
public:
// <no members described>
};
// Aligment: 1
// Size: 8
struct ResourceId_t
{
public:
uint64_t m_Value; // 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
};

87715
sdk/server.hpp Normal file

File diff suppressed because it is too large Load Diff

739
sdk/soundsystem.hpp Normal file
View File

@ -0,0 +1,739 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: soundsystem.dll
// Class Count: 36
// Enum Count: 13
///////////////////////////////////////////
// Aligment: 4
// Size: 30
enum class soundlevel_t : uint32_t
{
SNDLVL_NONE = 0x0,
SNDLVL_20dB = 0x14,
SNDLVL_25dB = 0x19,
SNDLVL_30dB = 0x1e,
SNDLVL_35dB = 0x23,
SNDLVL_40dB = 0x28,
SNDLVL_45dB = 0x2d,
SNDLVL_50dB = 0x32,
SNDLVL_55dB = 0x37,
SNDLVL_IDLE = 0x3c,
SNDLVL_60dB = 0x3c,
SNDLVL_65dB = 0x41,
SNDLVL_STATIC = 0x42,
SNDLVL_70dB = 0x46,
SNDLVL_NORM = 0x4b,
SNDLVL_75dB = 0x4b,
SNDLVL_80dB = 0x50,
SNDLVL_TALKING = 0x50,
SNDLVL_85dB = 0x55,
SNDLVL_90dB = 0x5a,
SNDLVL_95dB = 0x5f,
SNDLVL_100dB = 0x64,
SNDLVL_105dB = 0x69,
SNDLVL_110dB = 0x6e,
SNDLVL_120dB = 0x78,
SNDLVL_130dB = 0x82,
SNDLVL_GUNFIRE = 0x8c,
SNDLVL_140dB = 0x8c,
SNDLVL_150dB = 0x96,
SNDLVL_180dB = 0xb4,
};
// Aligment: 4
// Size: 3
enum class ActionType_t : uint32_t
{
SOS_ACTION_NONE = 0x0,
SOS_ACTION_LIMITER = 0x1,
SOS_ACTION_TIME_LIMIT = 0x2,
};
// Aligment: 4
// Size: 3
enum class SosActionStopType_t : uint32_t
{
SOS_STOPTYPE_NONE = 0x0,
SOS_STOPTYPE_TIME = 0x1,
SOS_STOPTYPE_OPVAR = 0x2,
};
// Aligment: 4
// Size: 2
enum class SosActionSortType_t : uint32_t
{
SOS_SORTTYPE_HIGHEST = 0x0,
SOS_SORTTYPE_LOWEST = 0x1,
};
// Aligment: 4
// Size: 2
enum class SosGroupType_t : uint32_t
{
SOS_GROUPTYPE_DYNAMIC = 0x0,
SOS_GROUPTYPE_STATIC = 0x1,
};
// Aligment: 4
// Size: 6
enum class SosEditItemType_t : uint32_t
{
SOS_EDIT_ITEM_TYPE_SOUNDEVENTS = 0x0,
SOS_EDIT_ITEM_TYPE_SOUNDEVENT = 0x1,
SOS_EDIT_ITEM_TYPE_LIBRARYSTACKS = 0x2,
SOS_EDIT_ITEM_TYPE_STACK = 0x3,
SOS_EDIT_ITEM_TYPE_OPERATOR = 0x4,
SOS_EDIT_ITEM_TYPE_FIELD = 0x5,
};
// Aligment: 2
// Size: 10
enum class VMixFilterType_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,
FILTER_ALLPASS = 7,
FILTER_PASSTHROUGH = 8,
};
// Aligment: 1
// Size: 9
enum class VMixFilterSlope_t : uint8_t
{
FILTER_SLOPE_1POLE_6dB = 0,
FILTER_SLOPE_1POLE_12dB = 1,
FILTER_SLOPE_1POLE_18dB = 2,
FILTER_SLOPE_1POLE_24dB = 3,
FILTER_SLOPE_12dB = 4,
FILTER_SLOPE_24dB = 5,
FILTER_SLOPE_36dB = 6,
FILTER_SLOPE_48dB = 7,
FILTER_SLOPE_MAX = 7,
};
// Aligment: 2
// Size: 30
enum class VMixProcessorType_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_MOD_DELAY = 7,
VPROCESSOR_DIFFUSOR = 8,
VPROCESSOR_BOXVERB = 9,
VPROCESSOR_FREEVERB = 10,
VPROCESSOR_PLATEVERB = 11,
VPROCESSOR_FULLWAVE_INTEGRATOR = 12,
VPROCESSOR_FILTER = 13,
VPROCESSOR_STEAMAUDIO_PATHING = 14,
VPROCESSOR_EQ8 = 15,
VPROCESSOR_ENVELOPE = 16,
VPROCESSOR_VOCODER = 17,
VPROCESSOR_CONVOLUTION = 18,
VPROCESSOR_DYNAMICS_3BAND = 19,
VPROCESSOR_DYNAMICS_COMPRESSOR = 20,
VPROCESSOR_SHAPER = 21,
VPROCESSOR_PANNER = 22,
VPROCESSOR_UTILITY = 23,
VPROCESSOR_AUTOFILTER = 24,
VPROCESSOR_OSC = 25,
VPROCESSOR_STEREODELAY = 26,
VPROCESSOR_EFFECT_CHAIN = 27,
VPROCESSOR_SUBGRAPH_SWITCH = 28,
VPROCESSOR_STEAMAUDIO_DIRECT = 29,
};
// Aligment: 4
// Size: 5
enum class VMixLFOShape_t : uint32_t
{
LFO_SHAPE_SINE = 0x0,
LFO_SHAPE_SQUARE = 0x1,
LFO_SHAPE_TRI = 0x2,
LFO_SHAPE_SAW = 0x3,
LFO_SHAPE_NOISE = 0x4,
};
// Aligment: 4
// Size: 2
enum class VMixPannerType_t : uint32_t
{
PANNER_TYPE_LINEAR = 0x0,
PANNER_TYPE_EQUAL_POWER = 0x1,
};
// Aligment: 4
// Size: 3
enum class VMixSubgraphSwitchInterpolationType_t : uint32_t
{
SUBGRAPH_INTERPOLATION_TEMPORAL_CROSSFADE = 0x0,
SUBGRAPH_INTERPOLATION_TEMPORAL_FADE_OUT = 0x1,
SUBGRAPH_INTERPOLATION_KEEP_LAST_SUBGRAPH_RUNNING = 0x2,
};
// Aligment: 4
// Size: 6
enum class VMixChannelOperation_t : uint32_t
{
VMIX_CHAN_STEREO = 0x0,
VMIX_CHAN_LEFT = 0x1,
VMIX_CHAN_RIGHT = 0x2,
VMIX_CHAN_SWAP = 0x3,
VMIX_CHAN_MONO = 0x4,
VMIX_CHAN_MID_SIDE = 0x5,
};
// Aligment: 3
// Size: 24
class CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Name"
CUtlString m_name; // 0x8
// MPropertyFriendlyName "Action Type"
ActionType_t m_actionType; // 0x10
// MPropertySuppressField
ActionType_t m_actionInstanceType; // 0x14
};
// Aligment: 3
// Size: 40
class CSosGroupActionLimitSchema : public CSosGroupActionSchema
{
public:
// MPropertyFriendlyName "Max Count"
int32_t m_nMaxCount; // 0x18
// MPropertyAttributeChoiceEnumName
// MPropertyFriendlyName "Stop Type"
SosActionStopType_t m_nStopType; // 0x1c
// MPropertyAttributeChoiceEnumName
// MPropertyFriendlyName "Sort Type"
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
{
public:
// MPropertyFriendlyName "Event Name"
bool m_bMatchEventName; // 0x8
// MPropertyFriendlyName "Sub-String"
bool m_bMatchEventSubString; // 0x9
// MPropertyFriendlyName "Source Entity Index"
bool m_bMatchEntIndex; // 0xa
// MPropertyFriendlyName "Operator Variable"
bool m_bMatchOpvar; // 0xb
};
// Aligment: 4
// Size: 40
class CSosGroupMatchPattern : public CSosGroupBranchPattern
{
public:
// MPropertyFriendlyName "Event Name"
CUtlString m_matchSoundEventName; // 0x10
// MPropertyFriendlyName "Sub-String"
CUtlString m_matchSoundEventSubString; // 0x18
// MPropertyFriendlyName "Entity Index"
float m_flEntIndex; // 0x20
// MPropertyFriendlyName "Operator Variable Value"
float m_flOpvar; // 0x24
};
// Aligment: 8
// Size: 208
class CSosSoundEventGroupSchema
{
public:
// MPropertyFriendlyName "Group Name"
CUtlString m_name; // 0x0
// MPropertyAttributeChoiceEnumName
// MPropertyFriendlyName "Group Type"
SosGroupType_t m_nType; // 0x8
// MPropertyFriendlyName "Blocks Events"
bool m_bIsBlocking; // 0xc
// MPropertyFriendlyName "Block Max Count"
int32_t m_nBlockMaxCount; // 0x10
// MPropertyFriendlyName "Invert Match"
bool m_bInvertMatch; // 0x14
// MPropertyFriendlyName "Match Rules"
CSosGroupMatchPattern m_matchPattern; // 0x18
// MPropertyFriendlyName "Branch Rules"
CSosGroupBranchPattern m_branchPattern; // 0x40
// MPropertyFriendlyName "Actions"
CSosGroupActionSchema*[4] m_vActions; // 0xb0
};
// Aligment: 1
// Size: 24
class CSosSoundEventGroupListSchema
{
public:
// MPropertyAutoExpandSelf
// MPropertyFriendlyName "Groups"
CUtlVector< CSosSoundEventGroupSchema > m_groupList; // 0x0
};
// Aligment: 5
// Size: 48
struct SosEditItemInfo_t
{
public:
SosEditItemType_t itemType; // 0x0
CUtlString itemName; // 0x8
CUtlString itemTypeName; // 0x10
CUtlString itemKVString; // 0x20
Vector2D itemPos; // 0x28
};
// Aligment: 1
// Size: 24
struct SelectedEditItemInfo_t
{
public:
CUtlVector< SosEditItemInfo_t > m_EditItems; // 0x0
};
// Aligment: 1
// Size: 8
class CSoundEventMetaData
{
public:
CStrongHandle< InfoForResourceTypeCVMixListResource > m_soundEventVMix; // 0x0
};
// Aligment: 6
// Size: 32
class CDSPMixgroupModifier
{
public:
// MPropertyDescription "Name of the mixgroup. TODO: needs to be autopopulated with mixgroups."
// MPropertyFriendlyName "Mixgroup Name"
CUtlString m_mixgroup; // 0x0
// MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the max reverb blend distance. 1.0 leaves the volume unchanged."
// MPropertyFriendlyName "Max reverb gain amount for listener DSP."
float m_flModifier; // 0x8
// MPropertyDescription "The amount to multiply the volume of the non-spatialized reverb/dsp by when at the min reverb blend distance. 1.0 leaves the volume unchanged."
// MPropertyFriendlyName "Min reverb gain amount amount for listener DSP."
float m_flModifierMin; // 0xc
// MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value."
// MPropertyFriendlyName "Max reverb gain amount for source-specific DSP."
float m_flSourceModifier; // 0x10
// MPropertyDescription "If set to >= 0, we will use this mix modifier for source-specific DSP effects. Otherwise we will use the listener DSP value."
// MPropertyFriendlyName "Min reverb gain amount for source-specific DSP."
float m_flSourceModifierMin; // 0x14
// MPropertyDescription "When a source has source-specific DSP, this can be used as an additional mix stage for the listener reverb amount."
// MPropertyFriendlyName "Modification amount for listener DSP when source DSP is used."
float m_flListenerReverbModifierWhenSourceReverbIsActive; // 0x18
};
// Aligment: 2
// Size: 32
class CDspPresetModifierList
{
public:
// MPropertyDescription "Name of the DSP effect / subgraph used."
// MPropertyFriendlyName "DSP Effect Name"
CUtlString m_dspName; // 0x0
// MPropertyDescription "Set of modifiers for individual mix groups"
// MPropertyFriendlyName "Mixgroup Modifiers"
CUtlVector< CDSPMixgroupModifier > m_modifiers; // 0x8
};
// Aligment: 1
// Size: 24
class CDSPPresetMixgroupModifierTable
{
public:
// MPropertyDescription "Table of mixgroup modifiers for effect names."
// MPropertyFriendlyName "Modifier Table"
CUtlVector< CDspPresetModifierList > m_table; // 0x0
};
// Aligment: 6
// Size: 16
struct VMixFilterDesc_t
{
public:
VMixFilterType_t m_nFilterType; // 0x0
VMixFilterSlope_t m_nFilterSlope; // 0x2
bool m_bEnabled; // 0x3
float m_fldbGain; // 0x4
float m_flCutoffFreq; // 0x8
float m_flQ; // 0xc
};
// Aligment: 1
// Size: 128
struct VMixEQ8Desc_t
{
public:
VMixFilterDesc_t[8] m_stages; // 0x0
};
// Aligment: 7
// Size: 40
struct VMixDelayDesc_t
{
public:
VMixFilterDesc_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: 2
// Size: 8
struct VMixPannerDesc_t
{
public:
VMixPannerType_t m_type; // 0x0
float m_flStrength; // 0x4
};
// Aligment: 9
// Size: 48
struct VMixModDelayDesc_t
{
public:
VMixFilterDesc_t m_feedbackFilter; // 0x0
bool m_bPhaseInvert; // 0x10
float m_flGlideTime; // 0x14
float m_flDelay; // 0x18
float m_flOutputGain; // 0x1c
float m_flFeedbackGain; // 0x20
float m_flModRate; // 0x24
float m_flModDepth; // 0x28
bool m_bApplyAntialiasing; // 0x2c
};
// Aligment: 4
// Size: 16
struct VMixDiffusorDesc_t
{
public:
float m_flSize; // 0x0
float m_flComplexity; // 0x4
float m_flFeedback; // 0x8
float m_flOutputGain; // 0xc
};
// Aligment: 17
// Size: 80
struct VMixBoxverbDesc_t
{
public:
float m_flSizeMax; // 0x0
float m_flSizeMin; // 0x4
float m_flComplexity; // 0x8
float m_flDiffusion; // 0xc
float m_flModDepth; // 0x10
float m_flModRate; // 0x14
bool m_bParallel; // 0x18
VMixFilterDesc_t m_filterType; // 0x1c
float m_flWidth; // 0x2c
float m_flHeight; // 0x30
float m_flDepth; // 0x34
float m_flFeedbackScale; // 0x38
float m_flFeedbackWidth; // 0x3c
float m_flFeedbackHeight; // 0x40
float m_flFeedbackDepth; // 0x44
float m_flOutputGain; // 0x48
float m_flTaps; // 0x4c
};
// Aligment: 4
// Size: 16
struct VMixFreeverbDesc_t
{
public:
float m_flRoomSize; // 0x0
float m_flDamp; // 0x4
float m_flWidth; // 0x8
float m_flLateReflections; // 0xc
};
// Aligment: 7
// Size: 28
struct VMixPlateverbDesc_t
{
public:
float m_flPrefilter; // 0x0
float m_flInputDiffusion1; // 0x4
float m_flInputDiffusion2; // 0x8
float m_flDecay; // 0xc
float m_flDamp; // 0x10
float m_flFeedbackDiffusion1; // 0x14
float m_flFeedbackDiffusion2; // 0x18
};
// Aligment: 12
// Size: 48
struct VMixDynamicsDesc_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 VMixDynamicsCompressorDesc_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 VMixDynamicsBand_t
{
public:
// MPropertyFriendlyName "Input Gain (dB)"
float m_fldbGainInput; // 0x0
// MPropertyFriendlyName "Output Gain (dB)"
float m_fldbGainOutput; // 0x4
// MPropertyFriendlyName "Below Threshold(dB)"
float m_fldbThresholdBelow; // 0x8
// MPropertyFriendlyName "Above 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: 10
// Size: 144
struct VMixDynamics3BandDesc_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
VMixDynamicsBand_t[3] m_bandDesc; // 0x24
};
// Aligment: 3
// Size: 12
struct VMixEnvelopeDesc_t
{
public:
float m_flAttackTimeMS; // 0x0
float m_flHoldTimeMS; // 0x4
float m_flReleaseTimeMS; // 0x8
};
// Aligment: 4
// Size: 16
struct VMixPitchShiftDesc_t
{
public:
int32_t m_nGrainSampleCount; // 0x0
float m_flPitchShift; // 0x4
int32_t m_nQuality; // 0x8
int32_t m_nProcType; // 0xc
};
// Aligment: 8
// Size: 32
struct VMixConvolutionDesc_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 VMixVocoderDesc_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
};
// Aligment: 5
// Size: 20
struct VMixShaperDesc_t
{
public:
// MPropertyFriendlyName "Shape"
// MPropertyAttributeRange "0 14"
int32_t m_nShape; // 0x0
// MPropertyFriendlyName "Drive (dB)"
// MPropertyAttributeRange "0 36"
float m_fldbDrive; // 0x4
// MPropertyFriendlyName "Output Gain (dB)"
// MPropertyAttributeRange "-36 0"
float m_fldbOutputGain; // 0x8
// MPropertyFriendlyName "Dry/Wet"
float m_flWetMix; // 0xc
// MPropertyFriendlyName "Oversampling"
int32_t m_nOversampleFactor; // 0x10
};
// Aligment: 6
// Size: 24
struct VMixUtilityDesc_t
{
public:
// MPropertyFriendlyName "Channels"
VMixChannelOperation_t m_nOp; // 0x0
// MPropertyFriendlyName "Input Pan"
// MPropertyAttributeRange "-1 1"
float m_flInputPan; // 0x4
// MPropertyFriendlyName "Output Balance"
// MPropertyAttributeRange "-1 1"
float m_flOutputBalance; // 0x8
// MPropertyFriendlyName "Output Gain (dB)"
// MPropertyAttributeRange "-36 0"
float m_fldbOutputGain; // 0xc
bool m_bBassMono; // 0x10
float m_flBassFreq; // 0x14
};
// Aligment: 8
// Size: 44
struct VMixAutoFilterDesc_t
{
public:
float m_flEnvelopeAmount; // 0x0
float m_flAttackTimeMS; // 0x4
float m_flReleaseTimeMS; // 0x8
VMixFilterDesc_t m_filter; // 0xc
float m_flLFOAmount; // 0x1c
float m_flLFORate; // 0x20
float m_flPhase; // 0x24
VMixLFOShape_t m_nLFOShape; // 0x28
};
// Aligment: 3
// Size: 12
struct VMixOscDesc_t
{
public:
// MPropertyFriendlyName "Type"
VMixLFOShape_t oscType; // 0x0
// MPropertyFriendlyName "Frequency (Hz)"
// MPropertyAttributeRange "0.1 16000"
float m_freq; // 0x4
// MPropertyFriendlyName "Phase (degrees)"
// MPropertyAttributeRange "0 360"
float m_flPhase; // 0x8
};
// Aligment: 1
// Size: 4
struct VMixEffectChainDesc_t
{
public:
// MPropertyFriendlyName "Crossfade Time (s)"
// MPropertyAttributeRange "0.1 10"
float m_flCrossfadeTime; // 0x0
};
// Aligment: 3
// Size: 12
struct VMixSubgraphSwitchDesc_t
{
public:
VMixSubgraphSwitchInterpolationType_t m_interpolationMode; // 0x0
bool m_bOnlyTailsOnFadeOut; // 0x4
float m_flInterpolationTime; // 0x8
};

1090
sdk/vphysics2.hpp Normal file

File diff suppressed because it is too large Load Diff

339
sdk/worldrenderer.hpp Normal file
View File

@ -0,0 +1,339 @@
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: worldrenderer.dll
// Class Count: 23
// Enum Count: 1
///////////////////////////////////////////
// Aligment: 4
// 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,
OBJECT_TYPE_MODEL = 0x8,
OBJECT_TYPE_BLOCK_LIGHT = 0x10,
OBJECT_TYPE_NO_SHADOWS = 0x20,
OBJECT_TYPE_WORLDSPACE_TEXURE_BLEND = 0x40,
OBJECT_TYPE_DISABLED_IN_LOW_QUALITY = 0x80,
OBJECT_TYPE_NO_SUN_SHADOWS = 0x100,
OBJECT_TYPE_RENDER_WITH_DYNAMIC = 0x200,
OBJECT_TYPE_RENDER_TO_CUBEMAPS = 0x400,
OBJECT_TYPE_MODEL_HAS_LODS = 0x800,
OBJECT_TYPE_PRECOMPUTED_VISMEMBERS = 0x4000,
OBJECT_TYPE_STATIC_CUBE_MAP = 0x8000,
};
// Aligment: 7
// Size: 48
struct EntityIOConnectionData_t
{
public:
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: 48
struct EntityKeyValueData_t
{
public:
CUtlBinaryBlock m_keyValuesData; // 0x0
CUtlVector< EntityIOConnectionData_t > m_connections; // 0x18
};
// Aligment: 4
// Size: 64
struct PermEntityLumpData_t
{
public:
CUtlString m_name; // 0x0
CUtlString m_hammerUniqueId; // 0x8
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_childLumps; // 0x10
CUtlVector< EntityKeyValueData_t > m_entityKeyValues; // 0x28
};
// Aligment: 15
// Size: 144
struct SceneObject_t
{
public:
uint32_t m_nObjectID; // 0x0
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
CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x80
CStrongHandle< InfoForResourceTypeCRenderMesh > m_renderable; // 0x88
};
// Aligment: 1
// Size: 4
struct BaseSceneObjectOverride_t
{
public:
uint32_t m_nSceneObjectIndex; // 0x0
};
// Aligment: 4
// Size: 40
struct ExtraVertexStreamOverride_t : public BaseSceneObjectOverride_t
{
public:
uint32_t m_nSubSceneObject; // 0x4
uint32_t m_nDrawCallIndex; // 0x8
MeshDrawPrimitiveFlags_t m_nAdditionalMeshDrawPrimitiveFlags; // 0xc
CRenderBufferBinding m_extraBufferBinding; // 0x10
};
// Aligment: 3
// Size: 24
struct MaterialOverride_t : public BaseSceneObjectOverride_t
{
public:
uint32_t m_nSubSceneObject; // 0x4
uint32_t m_nDrawCallIndex; // 0x8
CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x10
};
// Aligment: 10
// Size: 112
struct InfoOverlayData_t
{
public:
matrix3x4_t m_transform; // 0x0
float m_flWidth; // 0x30
float m_flHeight; // 0x34
float m_flDepth; // 0x38
Vector2D m_vUVStart; // 0x3c
Vector2D m_vUVEnd; // 0x44
CStrongHandle< InfoForResourceTypeIMaterial2 > m_pMaterial; // 0x50
int32_t m_nRenderOrder; // 0x58
Vector4D m_vTintColor; // 0x5c
int32_t m_nSequenceOverride; // 0x6c
};
// Aligment: 5
// Size: 48
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
};
// 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: 12
// Size: 48
struct AggregateMeshInfo_t
{
public:
uint32_t m_nVisClusterMemberOffset; // 0x0
uint8_t m_nVisClusterMemberCount; // 0x4
bool m_bHasTransform; // 0x5
int16_t m_nDrawCallIndex; // 0x6
Color m_vTintColor; // 0x8
uint8_t m_nLODGroupMask; // 0xc
ObjectTypeFlags_t m_objectFlags; // 0x10
Vector m_vLODOrigin; // 0x14
float m_fLODStartDrawDistance; // 0x20
float m_fLODEndDrawDistance; // 0x24
float m_fMaxObjectScale; // 0x28
int32_t m_nLightProbeVolumePrecomputedHandshake; // 0x2c
};
// Aligment: 7
// Size: 96
struct AggregateSceneObject_t
{
public:
ObjectTypeFlags_t m_allFlags; // 0x0
ObjectTypeFlags_t m_anyFlags; // 0x4
int16_t m_nLayer; // 0x8
CUtlVector< AggregateMeshInfo_t > m_aggregateMeshes; // 0x10
CUtlVector< uint16 > m_visClusterMembership; // 0x28
CUtlVector< matrix3x4_t > m_fragmentTransforms; // 0x40
CStrongHandle< InfoForResourceTypeCModel > m_renderableModel; // 0x58
};
// Aligment: 12
// Size: 296
struct WorldNode_t
{
public:
CUtlVector< SceneObject_t > m_sceneObjects; // 0x0
CUtlVector< InfoOverlayData_t > m_infoOverlays; // 0x18
CUtlVector< uint16 > m_visClusterMembership; // 0x30
CUtlVector< AggregateSceneObject_t > m_aggregateSceneObjects; // 0x48
CUtlVector< ExtraVertexStreamOverride_t > m_extraVertexStreamOverrides; // 0x60
CUtlVector< MaterialOverride_t > m_materialOverrides; // 0x78
CUtlVector< WorldNodeOnDiskBufferData_t > m_extraVertexStreams; // 0x90
CUtlVector< CUtlString > m_layerNames; // 0xa8
CUtlVector< uint8 > m_sceneObjectLayerIndices; // 0xc0
CUtlVector< uint8 > m_overlayLayerIndices; // 0xd8
CUtlString m_grassFileName; // 0xf0
BakedLightingInfo_t m_nodeLightingInfo; // 0xf8
};
// Aligment: 5
// Size: 32
struct WorldBuilderParams_t
{
public:
float m_flMinDrawVolumeSize; // 0x0
bool m_bBuildBakedLighting; // 0x4
Vector2D m_vLightmapUvScale; // 0x8
uint64_t m_nCompileTimestamp; // 0x10
uint64_t m_nCompileFingerprint; // 0x18
};
// Aligment: 7
// Size: 80
struct NodeData_t
{
public:
int32_t m_nParent; // 0x0
Vector m_vOrigin; // 0x4
Vector m_vMinBounds; // 0x10
Vector m_vMaxBounds; // 0x1c
float m_flMinimumDistance; // 0x28
CUtlVector< int32 > m_ChildNodeIndices; // 0x30
CUtlString m_worldNodePrefix; // 0x48
};
// Aligment: 4
// Size: 128
struct World_t
{
public:
WorldBuilderParams_t m_builderParams; // 0x0
CUtlVector< NodeData_t > m_worldNodes; // 0x20
BakedLightingInfo_t m_worldLightingInfo; // 0x38
CUtlVector< CStrongHandleCopyable< InfoForResourceTypeCEntityLump > > m_entityLumps; // 0x68
};
// Aligment: 2
// Size: 8
struct VoxelVisBlockOffset_t
{
public:
uint32_t m_nOffset; // 0x0
uint32_t m_nElementCount; // 0x4
};
// Aligment: 13
// Size: 160
class CVoxelVisibility
{
public:
uint32_t m_nBaseClusterCount; // 0x40
uint32_t m_nPVSBytesPerCluster; // 0x44
Vector m_vMinBounds; // 0x48
Vector m_vMaxBounds; // 0x54
float m_flGridSize; // 0x60
uint32_t m_nSkyVisibilityCluster; // 0x64
uint32_t m_nSunVisibilityCluster; // 0x68
VoxelVisBlockOffset_t m_NodeBlock; // 0x6c
VoxelVisBlockOffset_t m_RegionBlock; // 0x74
VoxelVisBlockOffset_t m_EnclosedClusterListBlock; // 0x7c
VoxelVisBlockOffset_t m_EnclosedClustersBlock; // 0x84
VoxelVisBlockOffset_t m_MasksBlock; // 0x8c
VoxelVisBlockOffset_t m_nVisBlocks; // 0x94
};
// Aligment: 0
// Size: 1
struct VMapResourceData_t
{
public:
// <no members described>
};
// Aligment: 0
// Size: 1
struct InfoForResourceTypeVMapResourceData_t
{
public:
// <no members described>
};
// Aligment: 11
// Size: 120
class CEntityIdentity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "entityIdentityNameChanged"
int32_t m_nameStringableIndex; // 0x14
CUtlSymbolLarge m_name; // 0x18
CUtlSymbolLarge m_designerName; // 0x20
uint32_t m_flags; // 0x30
// MNetworkDisable
WorldGroupId_t m_worldGroupId; // 0x38
uint32_t m_fDataObjectTypes; // 0x3c
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40
CEntityIdentity* m_pPrev; // 0x58
CEntityIdentity* m_pNext; // 0x60
CEntityIdentity* m_pPrevByClass; // 0x68
CEntityIdentity* m_pNextByClass; // 0x70
};
// Aligment: 3
// Size: 48
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
// MNetworkEnable
// MNetworkPriority "56"
CEntityIdentity* m_pEntity; // 0x10
// MNetworkEnable
// MNetworkDisable
CScriptComponent* m_CScriptComponent; // 0x28
};
// 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); }
};