source2sdk/sdk/client.hpp
Arsenii es3n1n 962d70f9d6 update sdk
2023-03-23 16:10:10 +01:00

8311 lines
238 KiB
C++

#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
// /////////////////////////////////////////////////////////////
// Binary: client.dll
// Classes count: 325
// Enums count: 2
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
// Alignment: 4
// Size: 0x5
enum class C_BaseCombatCharacter__WaterWakeMode_t : uint32_t
{
WATER_WAKE_NONE = 0x0,
WATER_WAKE_IDLE = 0x1,
WATER_WAKE_WALKING = 0x2,
WATER_WAKE_RUNNING = 0x3,
WATER_WAKE_WATER_OVERHEAD = 0x4,
};
// Alignment: 4
// Size: 0x3
enum class CSteamPal_Intro_Toilet__TestState_t : uint32_t
{
TEST_UNTESTED = 0x0,
TEST_PASS = 0x1,
TEST_FAIL = 0x2,
};
struct C_fogplayerparams_t;
struct audioparams_t;
struct fogparams_t;
struct TimedEvent;
struct CNetworkedSequenceOperation;
struct CBaseAnimatingEasingFloat_t;
struct ModelConfigHandle_t;
struct CEntityInstance;
struct CGameSceneNode;
struct CGameSceneNodeHandle;
struct CNetworkOriginCellCoordQuantizedVector;
struct HSequence;
struct CModelState;
struct CNetworkedIKContext;
struct C_RopeKeyframe;
struct VPhysicsCollisionAttribute_t;
struct CDecalInfo;
struct AttachmentHandle_t;
struct C_BaseAnimatingController;
struct C_BaseAnimating;
struct ViewLockData_t;
struct CFootstepTableHandle;
struct CSkillFloat;
struct CSkillInt;
struct ChangeAccessorFieldPathIndex_t;
struct CRangeFloat;
struct AWS_AbilityUsageData_t;
struct CSkillDamage;
struct AmmoIndex_t;
struct CRangeInt;
struct CModifierLevelFloat;
struct ModifierSerialNumber_t;
struct CModifierHandleBase;
struct ModifierRuntimeHandle_t;
struct CNetworkVarChainer;
struct ModifierPropRuntimeHandle_t;
struct CSteamPal_Turret_Wing_t;
struct CSteamPal_Ultra_Toilet_Gun_VData_t;
struct CEntityIdentity;
struct CScriptComponent;
struct CSkeletonInstance;
struct CAnimGraphNetworkedVariables;
struct C_CSequenceTransitioner2;
struct C_BaseAnimatingOverlayController;
struct CBodyComponent;
struct CNetworkTransmitComponent;
struct CRenderComponent;
struct CCollisionProperty;
struct CModifierProperty;
struct CNetworkVelocityVector;
struct CParticleProperty;
struct C_EnvWindShared;
struct CFireOverlay;
struct C_FireSmoke;
struct sky3dparams_t;
struct C_SkyCamera;
struct CInterpolatedValue;
struct NPCAbilityTarget_t;
struct ParticleIndex_t;
struct C_SteamPalGameRules;
struct CEntityIOOutput;
struct C_PointCamera;
struct CGlowProperty;
struct CNetworkViewOffsetVector;
struct CClientAlphaProperty;
struct C_LightGlowOverlay;
struct C_RopeKeyframe::CPhysicsDelegate;
struct CBuoyancyHelper;
struct CPointOffScreenIndicatorUi;
struct C_PointClientUIWorldPanel;
struct CLightComponent;
struct CHitboxComponent;
struct PhysicsRagdollPose_t;
struct CBaseAnimatingEasings_t;
struct CountdownTimer;
struct C_ViewSmoothingData_t;
struct shard_model_desc_t;
struct CAI_StanceServices;
struct CAI_AbilityServices;
struct C_CommandContext;
struct CPlayer_WeaponServices;
struct CPlayer_ItemServices;
struct CPlayer_VehicleServices;
struct CPlayer_AutoaimServices;
struct CPlayer_ObserverServices;
struct CPlayer_WaterServices;
struct CPlayer_UseServices;
struct CPlayer_FlashlightServices;
struct CPlayer_CameraServices;
struct CPlayer_MovementServices;
// Alignment: 1
// Size: 0x20
class CBuoyancyHelper
{
public:
float m_flFluidDensity; // 0x18
};
// Alignment: 2
// Size: 0x58
class C_CommandContext
{
public:
bool needsprocessing; // 0x0
int32_t command_number; // 0x50
};
// Alignment: 9
// Size: 0xc0
struct PlayerResourceData_t
{
public:
// MNetworkEnable
// MNetworkEncoder
uint64_t m_iPlayerSteamID; // 0x20
// MNetworkEnable
// MNetworkChangeCallback "OnPlayerNameChanged"
char m_iszPlayerName[128]; // 0x28
// MNetworkEnable
CHandle< CBasePlayerController > m_hPlayerController; // 0xa8
// MNetworkEnable
CHandle< C_BasePlayer > m_hPawn; // 0xac
// MNetworkEnable
bool m_bIsValid; // 0xb0
// MNetworkEnable
bool m_bFakeClient; // 0xb1
// MNetworkEnable
bool m_bIsBot; // 0xb2
private:
[[maybe_unused]] uint8_t __pad00b3[0x1]; // 0xb3
public:
// MNetworkEnable
int32_t m_nConnectionState; // 0xb4
// MNetworkEnable
int32_t m_iTeam; // 0xb8
};
// Alignment: 0
// Size: 0x30
class CPlayer_AutoaimServices : public CPlayerComponent
{
public:
// no members available
};
// Alignment: 4
// Size: 0x78
struct audioparams_t
{
public:
// MNetworkEnable
// MNetworkEncoder
Vector localSound[8]; // 0x8
// MNetworkEnable
int32_t soundscapeIndex; // 0x68
// MNetworkEnable
uint8_t localBits; // 0x6c
private:
[[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d
public:
// MNetworkEnable
int32_t soundscapeEntityListIndex; // 0x70
};
// Alignment: 25
// Size: 0x238
class CPlayer_CameraServices : public CPlayerComponent
{
public:
// MNetworkEnable
uint32_t m_iFOV; // 0x30
// MNetworkEnable
uint32_t m_iFOVStart; // 0x34
// MNetworkEnable
float m_flFOVTime; // 0x38
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
float m_flFOVRate; // 0x3c
// MNetworkEnable
uint32_t m_iDefaultFOV; // 0x40
private:
[[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44
public:
// MNetworkUserGroup "LocalPlayerExclusive"
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkBitCount "32"
// MNetworkChangeCallback "OnPunchChanged"
QAngle m_vecPunchAngle; // 0x48
private:
[[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54
public:
// MNetworkUserGroup "LocalPlayerExclusive"
// MNetworkEnable
// MNetworkBitCount "32"
QAngle m_vecPunchAngleVel; // 0x60
private:
[[maybe_unused]] uint8_t __pad006c[0xc]; // 0x6c
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hZoomOwner; // 0x78
private:
[[maybe_unused]] uint8_t __pad007c[0x4]; // 0x7c
public:
// MNetworkEnable
C_fogplayerparams_t m_PlayerFog; // 0x80
// MNetworkEnable
CHandle< C_ColorCorrection > m_hColorCorrectionCtrl; // 0xc0
// MNetworkEnable
CHandle< C_BaseEntity > m_hViewEntity; // 0xc4
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
CHandle< C_TonemapController2 > m_hTonemapController; // 0xc8
private:
[[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc
public:
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
audioparams_t m_audio; // 0xd0
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
C_NetworkUtlVectorBase< CHandle< C_PostProcessingVolume > > m_PostProcessingVolumes; // 0x148
float m_flOldPlayerZ; // 0x160
float m_flOldPlayerViewOffsetZ; // 0x164
fogparams_t m_CurrentFog; // 0x168
CHandle< C_FogController > m_hOldFogController; // 0x1d0
bool m_bOverrideFogColor[5]; // 0x1d4
Color m_OverrideFogColor[5]; // 0x1d9
bool m_bOverrideFogStartEnd[5]; // 0x1ed
private:
[[maybe_unused]] uint8_t __pad01f2[0x2]; // 0x1f2
public:
float m_fOverrideFogStart[5]; // 0x1f4
float m_fOverrideFogEnd[5]; // 0x208
CHandle< C_PostProcessingVolume > m_hActivePostProcessingVolume; // 0x21c
QAngle m_angDemoViewAngles; // 0x220
};
// Alignment: 0
// Size: 0x30
class CPlayer_FlashlightServices : public CPlayerComponent
{
public:
// no members available
};
// Alignment: 0
// Size: 0x30
class CPlayer_ItemServices : public CPlayerComponent
{
public:
// no members available
};
// Alignment: 14
// Size: 0x80
class CPlayer_MovementServices : public CPlayerComponent
{
public:
float m_flStepSoundTime; // 0x30
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
// MNetworkBitCount "17"
// MNetworkMinValue "-4096"
// MNetworkMaxValue "4096"
float m_flFallVelocity; // 0x34
// MNetworkEnable
// MNetworkBitCount "12"
// MNetworkMinValue "0"
// MNetworkMaxValue "2048"
// MNetworkEncodeFlags
float m_flMaxspeed; // 0x38
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
bool m_bDucked; // 0x3c
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
bool m_bDucking; // 0x3d
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
bool m_bInDuckJump; // 0x3e
private:
[[maybe_unused]] uint8_t __pad003f[0x1]; // 0x3f
public:
Vector m_groundNormal; // 0x40
float m_flSurfaceFriction; // 0x4c
CUtlStringToken m_surfaceProps; // 0x50
private:
[[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54
public:
int32_t m_nStepside; // 0x60
Vector m_vecPreviouslyPredictedOrigin; // 0x64
float m_flForwardMove; // 0x70
float m_flSideMove; // 0x74
float m_flUpMove; // 0x78
};
// Alignment: 10
// Size: 0x58
class CPlayer_ObserverServices : public CPlayerComponent
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnObserverModeChanged"
uint8_t m_iObserverMode; // 0x30
private:
[[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31
public:
// MNetworkEnable
// MNetworkChangeCallback "OnObserverTargetChanged"
CHandle< C_BaseEntity > m_hObserverTarget; // 0x34
float m_flObserverChaseDistance; // 0x38
Vector m_vecFreezeFrameStart; // 0x3c
float m_flFreezeFrameStartTime; // 0x48
float m_flFreezeFrameDistance; // 0x4c
bool m_bStartedFreezeFraming; // 0x50
bool m_bFinishedFreezeFraming; // 0x51
bool m_bSentFreezeFrame; // 0x52
private:
[[maybe_unused]] uint8_t __pad0053[0x1]; // 0x53
public:
float m_flFreezeZOffset; // 0x54
};
// Alignment: 1
// Size: 0x38
class CPlayer_UseServices : public CPlayerComponent
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hUseEntity; // 0x30
};
// Alignment: 6
// Size: 0x58
class CPlayer_VehicleServices : public CPlayerComponent
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hVehicle; // 0x30
int32_t m_iVehicleAnalogBias; // 0x34
Vector m_vecVehicleViewOrigin; // 0x38
QAngle m_vecVehicleViewAngles; // 0x44
int32_t m_nVehicleViewSavedFrame; // 0x50
float m_flVehicleViewFOV; // 0x54
};
// Alignment: 8
// Size: 0x60
class CPlayer_WaterServices : public CPlayerComponent
{
public:
// MNetworkEnable
float m_AirFinishedTime; // 0x30
float m_flWaterJumpTime; // 0x34
Vector m_vecWaterJumpVel; // 0x38
float m_flSwimSoundTime; // 0x44
bool m_bPlayerUnderwater; // 0x48
private:
[[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49
public:
float m_flWaterSurfaceZ; // 0x4c
bool m_bResampleWaterSurface; // 0x50
private:
[[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51
public:
TimedEvent m_tWaterParticleTimer; // 0x54
};
// Alignment: 4
// Size: 0x90
class CPlayer_WeaponServices : public CPlayerComponent
{
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BasePlayerWeapon > > m_hMyWeapons; // 0x30
// MNetworkEnable
CHandle< C_BasePlayerWeapon > m_hActiveWeapon; // 0x48
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
CHandle< C_BasePlayerWeapon > m_hLastWeapon; // 0x4c
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
uint16_t m_iAmmo[32]; // 0x50
};
// Alignment: 15
// Size: 0xb8
class CAnimationLayer
{
public:
// MNetworkEnable
// MNetworkChangeCallback "animationLayerOpChanged"
CNetworkedSequenceOperation m_op; // 0x20
// MNetworkEnable
// MNetworkChangeCallback "animationLayerOrderChanged"
int32_t m_nOrder; // 0x60
private:
[[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64
public:
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "-4"
// MNetworkMaxValue "12"
// MNetworkEncodeFlags
// MNetworkSendProxyRecipientsFilter
CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68
// MNetworkEnable
// MNetworkSendProxyRecipientsFilter
bool m_bLooping; // 0x80
private:
[[maybe_unused]] uint8_t __pad0081[0x3]; // 0x81
public:
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkChangeCallback "animationLayerCycleReset"
// MNetworkSendProxyRecipientsFilter
int32_t m_nNewSequenceParity; // 0x84
// MNetworkDisable
int32_t m_nFlags; // 0x88
// MNetworkDisable
bool m_bSequenceFinished; // 0x8c
private:
[[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d
public:
// MNetworkDisable
float m_flKillRate; // 0x90
// MNetworkDisable
float m_flKillDelay; // 0x94
// MNetworkDisable
float m_flLayerAnimtime; // 0x98
// MNetworkDisable
float m_flLayerFadeOuttime; // 0x9c
// MNetworkDisable
int32_t m_nActivity; // 0xa0
// MNetworkDisable
int32_t m_nPriority; // 0xa4
// MNetworkDisable
float m_flLastEventCycle; // 0xa8
// MNetworkDisable
float m_flLastAccess; // 0xac
};
// Alignment: 2
// Size: 0x30
struct CBaseAnimatingEasingFloat_t
{
public:
// MNetworkEnable
CUtlString m_GraphParameterName; // 0x8
private:
[[maybe_unused]] uint8_t __pad0010[0x18]; // 0x10
public:
// MNetworkEnable
float m_flGoal; // 0x28
};
// Alignment: 1
// Size: 0x38
struct CBaseAnimatingEasings_t
{
public:
// MNetworkEnable
CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8
};
// Alignment: 2
// Size: 0x28
struct PhysicsRagdollPose_t
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnTransformChanged"
C_NetworkUtlVectorBase< CTransform > m_Transforms; // 0x8
bool m_bDirty; // 0x20
};
// Alignment: 4
// Size: 0x58
struct ActiveModelConfig_t
{
public:
// MNetworkEnable
ModelConfigHandle_t m_Handle; // 0x18
private:
[[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c
public:
// MNetworkEnable
CUtlSymbolLarge m_Name; // 0x20
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_AssociatedEntities; // 0x28
// MNetworkEnable
C_NetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40
};
// Alignment: 2
// Size: 0x10
class CGameSceneNodeHandle
{
public:
// MNetworkEnable
CEntityHandle m_hOwner; // 0x8
// MNetworkEnable
CUtlStringToken m_name; // 0xc
};
// Alignment: 33
// Size: 0x160
class CGameSceneNode
{
public:
// MNetworkDisable
CTransform m_nodeToWorld; // 0x10
// MNetworkDisable
CEntityInstance* m_pOwner; // 0x30
// MNetworkDisable
CGameSceneNode* m_pParent; // 0x38
// MNetworkDisable
CGameSceneNode* m_pChild; // 0x40
// MNetworkDisable
CGameSceneNode* m_pNextSibling; // 0x48
private:
[[maybe_unused]] uint8_t __pad0050[0x20]; // 0x50
public:
// MNetworkEnable
// MNetworkSerializer "gameSceneNode"
// MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged"
// MNetworkPriority "32"
// MNetworkVarEmbeddedFieldOffsetDelta "8"
CGameSceneNodeHandle m_hParent; // 0x70
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkUserGroup "Origin"
// MNetworkChangeCallback "gameSceneNodeLocalOriginChanged"
CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80
private:
[[maybe_unused]] uint8_t __pad00e8[0x8]; // 0xe8
public:
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer"
// MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged"
QAngle m_angRotation; // 0xf0
// MNetworkEnable
// MNetworkChangeCallback "gameSceneNodeLocalScaleChanged"
// MNetworkPriority "32"
float m_flScale; // 0xfc
// MNetworkDisable
Vector m_vecAbsOrigin; // 0x100
// MNetworkDisable
QAngle m_angAbsRotation; // 0x10c
// MNetworkDisable
float m_flAbsScale; // 0x118
// MNetworkDisable
int16_t m_nParentAttachmentOrBone; // 0x11c
// MNetworkDisable
bool m_bDebugAbsOriginChanges; // 0x11e
// MNetworkDisable
bool m_bDormant; // 0x11f
// MNetworkDisable
bool m_bForceParentToBeNetworked; // 0x120
struct
{
// MNetworkDisable
uint8_t m_bDirtyHierarchy: 1;
// MNetworkDisable
uint8_t m_bDirtyBoneMergeInfo: 1;
// MNetworkDisable
uint8_t m_bNetworkedPositionChanged: 1;
// MNetworkDisable
uint8_t m_bNetworkedAnglesChanged: 1;
// MNetworkDisable
uint8_t m_bNetworkedScaleChanged: 1;
// MNetworkDisable
uint8_t m_bWillBeCallingPostDataUpdate: 1;
// MNetworkDisable
uint8_t m_bNotifyBoneTransformsChanged: 1;
// MNetworkDisable
uint8_t m_bBoneMergeFlex: 1;
// MNetworkDisable
uint8_t m_nLatchAbsOrigin: 2;
// MNetworkDisable
uint8_t m_bDirtyBoneMergeBoneToRoot: 1;
uint16_t __pad0: 13;
}; // 24 bits
// MNetworkDisable
uint8_t m_nHierarchicalDepth; // 0x123
// MNetworkDisable
uint8_t m_nHierarchyType; // 0x124
// MNetworkDisable
uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125
private:
[[maybe_unused]] uint8_t __pad0126[0x2]; // 0x126
public:
// MNetworkEnable
CUtlStringToken m_name; // 0x128
private:
[[maybe_unused]] uint8_t __pad012c[0x14]; // 0x12c
public:
// MNetworkEnable
// MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged"
CUtlStringToken m_hierarchyAttachName; // 0x140
// MNetworkDisable
float m_flZOffset; // 0x144
// MNetworkDisable
Vector m_vRenderOrigin; // 0x148
};
// Alignment: 8
// Size: 0x40
class CNetworkedSequenceOperation
{
public:
// MNetworkEnable
// MNetworkSerializer "minusone"
// MNetworkChangeCallback "sequenceOpSequenceChanged"
// MNetworkPriority "32"
HSequence m_hSequence; // 0x8
// MNetworkEnable
// MNetworkBitCount "15"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkEncodeFlags
// MNetworkPriority "32"
// MNetworkSendProxyRecipientsFilter
// MNetworkUserGroup "m_flCycle"
float m_flPrevCycle; // 0xc
// MNetworkEnable
// MNetworkBitCount "15"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkEncodeFlags
// MNetworkPriority "32"
// MNetworkSendProxyRecipientsFilter
// MNetworkUserGroup "m_flCycle"
// MNetworkChangeCallback "sequenceOpCycleChanged"
float m_flCycle; // 0x10
private:
[[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14
public:
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkEncodeFlags
CNetworkedQuantizedFloat m_flWeight; // 0x18
// MNetworkDisable
bool m_bSequenceChangeNetworked; // 0x30
// MNetworkDisable
bool m_bDiscontinuity; // 0x31
private:
[[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32
public:
// MNetworkDisable
float m_flPrevCycleFromDiscontinuity; // 0x34
// MNetworkDisable
float m_flPrevCycleForAnimEventDetection; // 0x38
};
// Alignment: 6
// Size: 0x50
class CNetworkedIKProceduralTargetContext
{
public:
// MNetworkEnable
int32_t m_nChainIndex; // 0x20
// MNetworkEnable
int32_t m_nRuleIndex; // 0x24
// MNetworkEnable
Vector m_vTargetPosition; // 0x28
// MNetworkEnable
Quaternion m_qTargetOrientation; // 0x34
// MNetworkEnable
// MNetworkPriority "48"
float m_flWeight; // 0x44
// MNetworkEnable
bool m_bIsValid; // 0x48
};
// Alignment: 1
// Size: 0x50
class CNetworkedIKContext
{
public:
// MNetworkEnable
C_UtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8
};
// Alignment: 8
// Size: 0x240
class CModelState
{
public:
// MNetworkEnable
// MNetworkChangeCallback "skeletonModelChanged"
CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0
// MNetworkDisable
CUtlSymbolLarge m_ModelName; // 0xa8
private:
[[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0
public:
// MNetworkEnable
bool m_bClientClothCreationSuppressed; // 0xe8
private:
[[maybe_unused]] uint8_t __pad00e9[0x9f]; // 0xe9
public:
// MNetworkEnable
// MNetworkChangeCallback "skeletonMeshGroupMaskChanged"
uint64_t m_MeshGroupMask; // 0x188
private:
[[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190
public:
// MNetworkEnable
// MNetworkChangeCallback "skeletonMotionTypeChanged"
int8_t m_nIdealMotionType; // 0x22a
// MNetworkDisable
int8_t m_nForceLOD; // 0x22b
// MNetworkDisable
bool m_bIsJiggleBonesEnabled; // 0x22c
// MNetworkDisable
int8_t m_nClothUpdateFlags; // 0x22d
};
// Alignment: 12
// Size: 0x4c0
class CSkeletonInstance : public CGameSceneNode
{
public:
// MNetworkEnable
CModelState m_modelState; // 0x170
// MNetworkEnable
// MNetworkChangeCallback "skeletonRenderingEnableChanged"
bool m_bIsRenderingEnabled; // 0x3b0
// MNetworkEnable
bool m_bIsAnimationEnabled; // 0x3b1
// MNetworkEnable
bool m_bUseParentRenderBounds; // 0x3b2
// MNetworkDisable
bool m_bEnableIK; // 0x3b3
// MNetworkDisable
bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4
struct
{
// MNetworkDisable
uint8_t m_bDirtyMotionType: 1;
// MNetworkDisable
uint8_t m_bIsGeneratingLatchedParentSpaceState: 1;
uint32_t __pad1: 30;
}; // 32 bits
// MNetworkEnable
// MNetworkChangeCallback "skeletonMaterialGroupChanged"
CUtlStringToken m_materialGroup; // 0x3b8
// MNetworkEnable
uint8_t m_nHitboxSet; // 0x3bc
private:
[[maybe_unused]] uint8_t __pad03bd[0x4b]; // 0x3bd
public:
// MNetworkEnable
float m_flIkMasterBlendValueCache; // 0x408
private:
[[maybe_unused]] uint8_t __pad040c[0x4]; // 0x40c
public:
// MNetworkEnable
CNetworkedIKContext m_NetworkedIKContext; // 0x410
};
// Alignment: 1
// Size: 0x10
class IntervalTimer
{
public:
// MNetworkEnable
float m_timestamp; // 0x8
};
// Alignment: 2
// Size: 0x10
class CountdownTimer
{
public:
// MNetworkEnable
float m_duration; // 0x8
// MNetworkEnable
float m_timestamp; // 0xc
};
// Alignment: 7
// Size: 0x268
class CTimeline : public IntervalTimer
{
public:
// MNetworkEnable
float m_flValues[64]; // 0x10
// MNetworkEnable
int32_t m_nValueCounts[64]; // 0x110
// MNetworkEnable
int32_t m_nBucketCount; // 0x210
// MNetworkEnable
float m_flInterval; // 0x214
// MNetworkEnable
float m_flFinalValue; // 0x218
// MNetworkEnable
TimelineCompression_t m_nCompressionType; // 0x21c
// MNetworkEnable
bool m_bStopped; // 0x220
};
// Alignment: 25
// Size: 0x16b0
class CAnimGraphNetworkedVariables
{
public:
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_BoolVariables"
C_NetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_ByteVariables"
C_NetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_UInt16Variables"
C_NetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_IntVariables"
C_NetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_UInt32Variables"
C_NetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_FloatVariables"
C_NetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_VectorVariables"
C_NetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_QuaternionVariables"
C_NetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredBoolVariables"
C_NetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredByteVariables"
C_NetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredUInt16Variables"
C_NetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredIntVariables"
C_NetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredUInt32Variables"
C_NetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredFloatVariables"
C_NetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredVectorVariables"
C_NetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_PredQuaternionVariables"
C_NetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetBoolVariables"
C_NetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetByteVariables"
C_NetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetUInt16Variables"
C_NetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetIntVariables"
C_NetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetUInt32Variables"
C_NetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetFloatVariables"
C_NetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetVectorVariables"
C_NetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
// MNetworkSendProxyRecipientsFilter
// MNetworkChangeCallback "OnNetVarChanged"
// MNetworkAlias "m_LocalPredNetQuaternionVariables"
C_NetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230
private:
[[maybe_unused]] uint8_t __pad0248[0x1454]; // 0x248
public:
// MNetworkEnable
// MNetworkUserGroup "animationgraph"
float m_flLastTeleportTime; // 0x169c
};
// Alignment: 5
// Size: 0x20
class C_BaseFlex::Emphasized_Phoneme
{
public:
CUtlString m_sClassName; // 0x0
float m_flAmount; // 0x18
bool m_bRequired; // 0x1c
bool m_bBasechecked; // 0x1d
bool m_bValid; // 0x1e
};
// Alignment: 30
// Size: 0x2e0
class CProjectedTextureBase
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hTargetEntity; // 0xc
// MNetworkEnable
bool m_bState; // 0x10
// MNetworkEnable
bool m_bAlwaysUpdate; // 0x11
private:
[[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12
public:
// MNetworkEnable
float m_flLightFOV; // 0x14
// MNetworkEnable
bool m_bEnableShadows; // 0x18
// MNetworkEnable
bool m_bSimpleProjection; // 0x19
// MNetworkEnable
bool m_bLightOnlyTarget; // 0x1a
// MNetworkEnable
bool m_bLightWorld; // 0x1b
// MNetworkEnable
bool m_bCameraSpace; // 0x1c
private:
[[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d
public:
// MNetworkEnable
float m_flBrightnessScale; // 0x20
// MNetworkEnable
Color m_LightColor; // 0x24
// MNetworkEnable
float m_flIntensity; // 0x28
// MNetworkEnable
float m_flLinearAttenuation; // 0x2c
// MNetworkEnable
float m_flQuadraticAttenuation; // 0x30
// MNetworkEnable
bool m_bVolumetric; // 0x34
private:
[[maybe_unused]] uint8_t __pad0035[0x3]; // 0x35
public:
// MNetworkEnable
float m_flVolumetricIntensity; // 0x38
// MNetworkEnable
float m_flNoiseStrength; // 0x3c
// MNetworkEnable
float m_flFlashlightTime; // 0x40
// MNetworkEnable
uint32_t m_nNumPlanes; // 0x44
// MNetworkEnable
float m_flPlaneOffset; // 0x48
// MNetworkEnable
float m_flColorTransitionTime; // 0x4c
// MNetworkEnable
float m_flAmbient; // 0x50
// MNetworkEnable
char m_SpotlightTextureName[512]; // 0x54
// MNetworkEnable
int32_t m_nSpotlightTextureFrame; // 0x254
// MNetworkEnable
uint32_t m_nShadowQuality; // 0x258
// MNetworkEnable
// MNetworkBitCount "16"
// MNetworkMinValue "0"
// MNetworkMaxValue "500"
// MNetworkEncodeFlags
float m_flNearZ; // 0x25c
// MNetworkEnable
// MNetworkBitCount "18"
// MNetworkMinValue "0"
// MNetworkMaxValue "1500"
// MNetworkEncodeFlags
float m_flFarZ; // 0x260
// MNetworkEnable
float m_flProjectionSize; // 0x264
// MNetworkEnable
float m_flRotation; // 0x268
// MNetworkEnable
bool m_bFlipHorizontal; // 0x26c
static float &Get_m_flVisibleBBoxMinHeight(){return *reinterpret_cast<float*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CProjectedTextureBase")->m_static_fields[0]->m_instance);};
};
// Alignment: 1
// Size: 0x10
class C_RopeKeyframe::CPhysicsDelegate
{
public:
C_RopeKeyframe* m_pKeyframe; // 0x8
};
// Alignment: 1
// Size: 0x18
struct C_SceneEntity__QueuedEvents_t
{
public:
float starttime; // 0x0
};
// Alignment: 14
// Size: 0x2d0
class CFlashlightEffect
{
public:
bool m_bIsOn; // 0x8
private:
[[maybe_unused]] uint8_t __pad0009[0xf]; // 0x9
public:
bool m_bMuzzleFlashEnabled; // 0x18
private:
[[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19
public:
float m_flMuzzleFlashBrightness; // 0x1c
Quaternion m_quatMuzzleFlashOrientation; // 0x20
Vector m_vecMuzzleFlashOrigin; // 0x30
float m_flFov; // 0x3c
float m_flFarZ; // 0x40
float m_flLinearAtten; // 0x44
bool m_bCastsShadows; // 0x48
private:
[[maybe_unused]] uint8_t __pad0049[0x3]; // 0x49
public:
float m_flCurrentPullBackDist; // 0x4c
CStrongHandle< InfoForResourceTypeCTextureBase > m_FlashlightTexture; // 0x50
CStrongHandle< InfoForResourceTypeCTextureBase > m_MuzzleFlashTexture; // 0x58
CWeakHandle< InfoForResourceTypeCTextureBase > m_hCurrentFlashlightTexture; // 0x60
char m_textureName[64]; // 0x68
};
// Alignment: 5
// Size: 0x14
class CInterpolatedValue
{
public:
float m_flStartTime; // 0x0
float m_flEndTime; // 0x4
float m_flStartValue; // 0x8
float m_flEndValue; // 0xc
int32_t m_nInterpType; // 0x10
};
// Alignment: 4
// Size: 0x20
class CGlowSprite
{
public:
Vector m_vColor; // 0x0
float m_flHorzSize; // 0xc
float m_flVertSize; // 0x10
private:
[[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14
public:
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x18
};
// Alignment: 15
// Size: 0xd0
class CGlowOverlay
{
public:
Vector m_vPos; // 0x8
bool m_bDirectional; // 0x14
private:
[[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15
public:
Vector m_vDirection; // 0x18
bool m_bInSky; // 0x24
private:
[[maybe_unused]] uint8_t __pad0025[0x3]; // 0x25
public:
float m_skyObstructionScale; // 0x28
private:
[[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c
public:
CGlowSprite m_Sprites[4]; // 0x30
int32_t m_nSprites; // 0xb0
float m_flProxyRadius; // 0xb4
float m_flHDRColorScale; // 0xb8
float m_flGlowObstructionScale; // 0xbc
bool m_bCacheGlowObstruction; // 0xc0
bool m_bCacheSkyObstruction; // 0xc1
int16_t m_bActivated; // 0xc2
uint16_t m_ListIndex; // 0xc4
private:
[[maybe_unused]] uint8_t __pad00c6[0x2]; // 0xc6
public:
int32_t m_queryHandle; // 0xc8
};
// Alignment: 0
// Size: 0x8
class IClientAlphaProperty
{
public:
// no members available
};
// Alignment: 2
// Size: 0x8
class TimedEvent
{
public:
float m_TimeBetweenEvents; // 0x0
float m_fNextEvent; // 0x4
};
// Alignment: 8
// Size: 0x30
struct VPhysicsCollisionAttribute_t
{
public:
// MNetworkEnable
uint64_t m_nInteractsAs; // 0x8
// MNetworkEnable
uint64_t m_nInteractsWith; // 0x10
// MNetworkEnable
uint64_t m_nInteractsExclude; // 0x18
// MNetworkEnable
uint32_t m_nEntityId; // 0x20
// MNetworkEnable
uint32_t m_nOwnerId; // 0x24
// MNetworkEnable
uint16_t m_nHierarchyId; // 0x28
// MNetworkEnable
uint8_t m_nCollisionGroup; // 0x2a
// MNetworkEnable
uint8_t m_nCollisionFunctionMask; // 0x2b
};
// Alignment: 17
// Size: 0xb0
class CCollisionProperty
{
public:
// MNetworkEnable
// MNetworkChangeCallback "CollisionAttributeChanged"
VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10
// MNetworkEnable
// MNetworkChangeCallback "OnUpdateOBB"
Vector m_vecMins; // 0x40
// MNetworkEnable
// MNetworkChangeCallback "OnUpdateOBB"
Vector m_vecMaxs; // 0x4c
private:
[[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58
public:
// MNetworkEnable
// MNetworkChangeCallback "OnUpdateSolidFlags"
uint8_t m_usSolidFlags; // 0x5a
// MNetworkEnable
// MNetworkChangeCallback "OnUpdateSolidType"
SolidType_t m_nSolidType; // 0x5b
// MNetworkEnable
// MNetworkChangeCallback "MarkSurroundingBoundsDirty"
uint8_t m_triggerBloat; // 0x5c
// MNetworkEnable
// MNetworkChangeCallback "MarkSurroundingBoundsDirty"
SurroundingBoundsType_t m_nSurroundType; // 0x5d
// MNetworkEnable
uint8_t m_CollisionGroup; // 0x5e
// MNetworkEnable
bool m_bHitboxEnabled; // 0x5f
float m_flBoundingRadius; // 0x60
// MNetworkEnable
// MNetworkChangeCallback "MarkSurroundingBoundsDirty"
Vector m_vecSpecifiedSurroundingMins; // 0x64
// MNetworkEnable
// MNetworkChangeCallback "MarkSurroundingBoundsDirty"
Vector m_vecSpecifiedSurroundingMaxs; // 0x70
Vector m_vecSurroundingMaxs; // 0x7c
Vector m_vecSurroundingMins; // 0x88
// MNetworkEnable
Vector m_vCapsuleCenter1; // 0x94
// MNetworkEnable
Vector m_vCapsuleCenter2; // 0xa0
// MNetworkEnable
float m_flCapsuleRadius; // 0xac
};
// Alignment: 10
// Size: 0x98
class CDecalInfo
{
public:
float m_flAnimationScale; // 0x0
float m_flAnimationLifeSpan; // 0x4
float m_flPlaceTime; // 0x8
float m_flFadeStartTime; // 0xc
float m_flFadeDuration; // 0x10
int32_t m_nVBSlot; // 0x14
int32_t m_nBoneIndex; // 0x18
private:
[[maybe_unused]] uint8_t __pad001c[0xc]; // 0x1c
public:
CDecalInfo* m_pNext; // 0x28
CDecalInfo* m_pPrev; // 0x30
private:
[[maybe_unused]] uint8_t __pad0038[0x58]; // 0x38
public:
int32_t m_nDecalMaterialIndex; // 0x90
};
// Alignment: 21
// Size: 0x70
class CEffectData
{
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_vOrigin; // 0x8
// MNetworkEnable
// MNetworkEncoder
Vector m_vStart; // 0x14
// MNetworkEnable
// MNetworkEncoder
Vector m_vNormal; // 0x20
// MNetworkEnable
// MNetworkEncoder
QAngle m_vAngles; // 0x2c
// MNetworkEnable
CEntityHandle m_hEntity; // 0x38
// MNetworkEnable
CEntityHandle m_hOtherEntity; // 0x3c
// MNetworkEnable
float m_flScale; // 0x40
// MNetworkEnable
// MNetworkBitCount "12"
// MNetworkMinValue "0"
// MNetworkMaxValue "1023"
// MNetworkEncodeFlags
float m_flMagnitude; // 0x44
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0"
// MNetworkMaxValue "1023"
// MNetworkEncodeFlags
float m_flRadius; // 0x48
// MNetworkEnable
CUtlStringToken m_nSurfaceProp; // 0x4c
// MNetworkEnable
CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50
// MNetworkEnable
uint32_t m_nDamageType; // 0x58
// MNetworkEnable
uint8_t m_nPenetrate; // 0x5c
private:
[[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d
public:
// MNetworkEnable
uint16_t m_nMaterial; // 0x5e
// MNetworkEnable
uint16_t m_nHitBox; // 0x60
// MNetworkEnable
uint8_t m_nColor; // 0x62
// MNetworkEnable
uint8_t m_fFlags; // 0x63
// MNetworkEnable
AttachmentHandle_t m_nAttachmentIndex; // 0x64
private:
[[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65
public:
// MNetworkEnable
CUtlStringToken m_nAttachmentName; // 0x68
// MNetworkEnable
uint16_t m_iEffectName; // 0x6c
// MNetworkEnable
uint8_t m_nExplosionType; // 0x6e
};
// Alignment: 29
// Size: 0x230
class C_EnvWindShared
{
public:
// MNetworkEnable
float m_flStartTime; // 0x8
// MNetworkEnable
uint32_t m_iWindSeed; // 0xc
// MNetworkEnable
uint16_t m_iMinWind; // 0x10
// MNetworkEnable
uint16_t m_iMaxWind; // 0x12
// MNetworkEnable
int32_t m_windRadius; // 0x14
// MNetworkEnable
uint16_t m_iMinGust; // 0x18
// MNetworkEnable
uint16_t m_iMaxGust; // 0x1a
// MNetworkEnable
float m_flMinGustDelay; // 0x1c
// MNetworkEnable
float m_flMaxGustDelay; // 0x20
// MNetworkEnable
float m_flGustDuration; // 0x24
// MNetworkEnable
uint16_t m_iGustDirChange; // 0x28
private:
[[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_location; // 0x2c
int32_t m_iszGustSound; // 0x38
int32_t m_iWindDir; // 0x3c
float m_flWindSpeed; // 0x40
Vector m_currentWindVector; // 0x44
Vector m_CurrentSwayVector; // 0x50
Vector m_PrevSwayVector; // 0x5c
// MNetworkEnable
uint16_t m_iInitialWindDir; // 0x68
private:
[[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a
public:
// MNetworkEnable
float m_flInitialWindSpeed; // 0x6c
float m_flVariationTime; // 0x70
float m_flSwayTime; // 0x74
float m_flSimTime; // 0x78
float m_flSwitchTime; // 0x7c
float m_flAveWindSpeed; // 0x80
bool m_bGusting; // 0x84
private:
[[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85
public:
float m_flWindAngleVariation; // 0x88
float m_flWindSpeedVariation; // 0x8c
CEntityIndex m_iEntIndex; // 0x90
};
// Alignment: 2
// Size: 0x8
struct C_EnvWindShared__WindAveEvent_t
{
public:
float m_flStartWindSpeed; // 0x0
float m_flAveWindSpeed; // 0x4
};
// Alignment: 2
// Size: 0x8
struct C_EnvWindShared__WindVariationEvent_t
{
public:
float m_flWindAngleVariation; // 0x0
float m_flWindSpeedVariation; // 0x4
};
// Alignment: 13
// Size: 0x60
struct shard_model_desc_t
{
public:
// MNetworkEnable
int32_t m_nModelID; // 0x8
private:
[[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10
// MNetworkEnable
ShardSolid_t m_solid; // 0x18
// MNetworkEnable
ShatterPanelMode m_ShatterPanelMode; // 0x19
private:
[[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a
public:
// MNetworkEnable
Vector2D m_vecPanelSize; // 0x1c
// MNetworkEnable
Vector2D m_vecStressPositionA; // 0x24
// MNetworkEnable
Vector2D m_vecStressPositionB; // 0x2c
private:
[[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34
public:
// MNetworkEnable
C_NetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38
// MNetworkEnable
float m_flGlassHalfThickness; // 0x50
// MNetworkEnable
bool m_bHasParent; // 0x54
// MNetworkEnable
bool m_bParentFrozen; // 0x55
private:
[[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56
public:
// MNetworkEnable
CUtlStringToken m_SurfacePropStringToken; // 0x58
// MNetworkEnable
CUtlStringToken m_LightGroup; // 0x5c
};
// Alignment: 0
// Size: 0x8
class C_GameRules
{
public:
// no members available
};
// Alignment: 10
// Size: 0x50
class CGlowProperty
{
public:
Vector m_fGlowColor; // 0x8
int32_t m_iGlowTeam; // 0x14
private:
[[maybe_unused]] uint8_t __pad0018[0x18]; // 0x18
public:
// MNetworkEnable
// MNetworkChangeCallback "OnGlowTypeChanged"
int32_t m_iGlowType; // 0x30
// MNetworkEnable
int32_t m_nGlowRange; // 0x34
// MNetworkEnable
int32_t m_nGlowRangeMin; // 0x38
// MNetworkEnable
// MNetworkChangeCallback "OnGlowColorChanged"
Color m_glowColorOverride; // 0x3c
// MNetworkEnable
bool m_bFlashing; // 0x40
private:
[[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41
public:
// MNetworkEnable
float m_flGlowTime; // 0x44
// MNetworkEnable
float m_flGlowStartTime; // 0x48
bool m_bGlowing; // 0x4c
};
// Alignment: 0
// Size: 0x8
class C_MultiplayRules : public C_GameRules
{
public:
// no members available
};
// Alignment: 24
// Size: 0x68
struct fogparams_t
{
public:
// MNetworkEnable
// MNetworkEncoder
Vector dirPrimary; // 0x8
// MNetworkEnable
Color colorPrimary; // 0x14
// MNetworkEnable
Color colorSecondary; // 0x18
// MNetworkEnable
// MNetworkUserGroup "FogController"
Color colorPrimaryLerpTo; // 0x1c
// MNetworkEnable
// MNetworkUserGroup "FogController"
Color colorSecondaryLerpTo; // 0x20
// MNetworkEnable
float start; // 0x24
// MNetworkEnable
float end; // 0x28
// MNetworkEnable
// MNetworkUserGroup "FogController"
float farz; // 0x2c
// MNetworkEnable
float maxdensity; // 0x30
// MNetworkEnable
float exponent; // 0x34
// MNetworkEnable
float HDRColorScale; // 0x38
// MNetworkEnable
// MNetworkUserGroup "FogController"
float skyboxFogFactor; // 0x3c
// MNetworkEnable
// MNetworkUserGroup "FogController"
float skyboxFogFactorLerpTo; // 0x40
// MNetworkEnable
// MNetworkUserGroup "FogController"
float startLerpTo; // 0x44
// MNetworkEnable
// MNetworkUserGroup "FogController"
float endLerpTo; // 0x48
// MNetworkEnable
// MNetworkUserGroup "FogController"
float maxdensityLerpTo; // 0x4c
// MNetworkEnable
// MNetworkUserGroup "FogController"
float lerptime; // 0x50
// MNetworkEnable
// MNetworkUserGroup "FogController"
float duration; // 0x54
// MNetworkEnable
// MNetworkUserGroup "FogController"
float blendtobackground; // 0x58
// MNetworkEnable
// MNetworkUserGroup "FogController"
float scattering; // 0x5c
// MNetworkEnable
bool enable; // 0x60
// MNetworkEnable
bool blend; // 0x61
// MNetworkEnable
bool m_bNoReflectionFog; // 0x62
bool m_bPadding; // 0x63
};
// Alignment: 14
// Size: 0x40
struct C_fogplayerparams_t
{
public:
// MNetworkEnable
// MNetworkUserGroup "PlayerFogController"
CHandle< C_FogController > m_hCtrl; // 0x8
float m_flTransitionTime; // 0xc
Color m_OldColor; // 0x10
float m_flOldStart; // 0x14
float m_flOldEnd; // 0x18
float m_flOldMaxDensity; // 0x1c
float m_flOldHDRColorScale; // 0x20
float m_flOldFarZ; // 0x24
Color m_NewColor; // 0x28
float m_flNewStart; // 0x2c
float m_flNewEnd; // 0x30
float m_flNewMaxDensity; // 0x34
float m_flNewHDRColorScale; // 0x38
float m_flNewFarZ; // 0x3c
};
// Alignment: 6
// Size: 0x90
struct sky3dparams_t
{
public:
// MNetworkEnable
int16_t scale; // 0x8
private:
[[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa
public:
// MNetworkEnable
// MNetworkEncoder
Vector origin; // 0xc
// MNetworkEnable
bool bClip3DSkyBoxNearToWorldFar; // 0x18
private:
[[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19
public:
// MNetworkEnable
float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c
// MNetworkEnable
fogparams_t fog; // 0x20
// MNetworkEnable
CUtlStringToken m_nWorldGroupID; // 0x88
};
// Alignment: 4
// Size: 0x28
class C_CSequenceTransitioner
{
public:
CUtlVector< CAnimationLayer > m_animationQueue; // 0x0
bool m_bIsInSimulation; // 0x18
private:
[[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19
public:
float m_flSimOrRenderTime; // 0x1c
float m_flInterpolatedTime; // 0x20
};
// Alignment: 7
// Size: 0x60
struct TransitioningLayer_t
{
public:
CNetworkedSequenceOperation m_op; // 0x8
float m_flStartAnimTime; // 0x48
float m_flStartWeight; // 0x4c
float m_flAnimTime; // 0x50
int32_t m_nOrder; // 0x54
float m_flPlaybackRate; // 0x58
float m_flFadeOutDuration; // 0x5c
};
// Alignment: 5
// Size: 0x238
class C_CSequenceTransitioner2
{
public:
CNetworkedSequenceOperation m_currentOp; // 0x8
float m_flCurrentPlaybackRate; // 0x48
float m_flCurrentAnimTime; // 0x4c
TransitioningLayer_t m_transitioningLayers[4]; // 0x50
C_BaseAnimatingController* m_pOwner; // 0x1d0
};
// Alignment: 0
// Size: 0x8
class C_SingleplayRules : public C_GameRules
{
public:
// no members available
};
// Alignment: 0
// Size: 0x8
class C_TeamplayRules : public C_MultiplayRules
{
public:
// no members available
};
// Alignment: 18
// Size: 0x80
struct C_ViewSmoothingData_t
{
public:
C_BaseAnimating* pVehicle; // 0x0
bool bClampEyeAngles; // 0x8
private:
[[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9
public:
float flPitchCurveZero; // 0xc
float flPitchCurveLinear; // 0x10
float flRollCurveZero; // 0x14
float flRollCurveLinear; // 0x18
float flFOV; // 0x1c
ViewLockData_t pitchLockData; // 0x20
ViewLockData_t rollLockData; // 0x30
bool bDampenEyePosition; // 0x40
bool bRunningEnterExit; // 0x41
bool bWasRunningAnim; // 0x42
private:
[[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43
public:
float flEnterExitStartTime; // 0x44
float flEnterExitDuration; // 0x48
QAngle vecAnglesSaved; // 0x4c
Vector vecOriginSaved; // 0x58
QAngle vecAngleDiffSaved; // 0x64
QAngle vecAngleDiffMin; // 0x70
};
// Alignment: 11
// Size: 0x1a8
class CAI_BaseNPCVData : public CEntitySubclassVDataBase
{
public:
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
// MPropertyGroupName "Sounds"
CFootstepTableHandle m_hFootstepSounds; // 0x108
int32_t m_nMaxHealth; // 0x110
private:
[[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114
public:
CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118
CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130
// MPropertyGroupName "Damage"
CSkillFloat m_flHeadDamageMultiplier; // 0x148
// MPropertyGroupName "Damage"
CSkillFloat m_flChestDamageMultiplier; // 0x158
// MPropertyGroupName "Damage"
CSkillFloat m_flStomachDamageMultiplier; // 0x168
// MPropertyGroupName "Damage"
CSkillFloat m_flArmDamageMultiplier; // 0x178
// MPropertyGroupName "Damage"
CSkillFloat m_flLegDamageMultiplier; // 0x188
// MPropertyGroupName "Damage"
CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198
};
// Alignment: 6
// Size: 0x28
struct NPCAbilityTarget_t
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8
private:
[[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hTargetEntity; // 0xc
// MNetworkEnable
BodyLocations_t m_locTargetEntityBodyLocation; // 0x10
// MNetworkEnable
TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14
// MNetworkEnable
TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18
// MNetworkEnable
Vector m_vecWorldPosition; // 0x1c
};
// Alignment: 19
// Size: 0x268
class CAI_DefaultNPCVData : public CAI_BaseNPCVData
{
public:
Class_T m_nClassifyAs; // 0x1a8
// MPropertyGroupName "Flinching"
CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac
// MPropertyGroupName "Flinching"
CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4
// MPropertyGroupName "Flinching"
// MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a large flinch."
float m_flFlinchClearDistanceForLarge; // 0x1bc
// MPropertyGroupName "Flinching"
// MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a small flinch. If this distance isn't clear, we'll choose a stationary flinch."
float m_flFlinchClearDistanceForSmall; // 0x1c0
// MPropertyGroupName "Flinching"
// MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the minimum amount of time this npc will stay in tmp ragdoll (scaled by damage)"
CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4
// MPropertyGroupName "Flinching"
// MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the maximum amount of time this npc will stay in tmp ragdoll (scaled by damage)"
CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4
private:
[[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4
public:
// MPropertyGroupName "Sounds"
CSoundEventName m_sDeathSound; // 0x1e8
// MPropertyGroupName "Sounds"
CSoundEventName m_sPainSound; // 0x1f8
// MPropertyDescription "If the distance between the nearest point on a hitscan bullet's trajectory and this NPC's eyes is less than this react amount, this NPC will be notified of the incoming fire via the WarnOfIncomingFire() virtual."
CRangeFloat m_flIncomingFireDistance; // 0x208
// MPropertyDescription "Abilities are things like alt-fire or even weapon upgrades"
CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210
// MPropertyFriendlyName "Auto Unholster Held Ability"
// MPropertyDescription "If set, the NPC will automatically unholster the first held ability it's granted."
bool m_bAutoUnholsterHeldAbility; // 0x228
// MPropertyGroupName "Throw & Catch"
bool m_bCatchThrownProps; // 0x229
// MPropertyGroupName "Throw & Catch"
// MPropertyDescription "If already holding an item, drop it when another item is thrown at us."
// MPropertySuppressExpr "m_bCatchThrownProps == 0"
bool m_bDropHeldItemOnThrownCollision; // 0x22a
private:
[[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b
public:
// MPropertyGroupName "Throw & Catch"
// MPropertyDescription "Graph param that will be set when the entity knows something has been thrown to them (the prop is still in the air)"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
// MPropertySuppressExpr "m_bCatchThrownProps == 0"
CUtlString m_sReadyCatchAnimgraphParam; // 0x230
// MPropertyGroupName "Throw & Catch"
// MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them."
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
// MPropertySuppressExpr "m_bCatchThrownProps == 0"
CUtlString m_sCatchAnimgraphParam; // 0x238
// MPropertyGroupName "Throw & Catch"
// MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them."
// MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )"
// MPropertySuppressExpr "m_bCatchThrownProps == 0"
CUtlString m_sCatchAttachmentName; // 0x240
// MPropertyGroupName "Throw & Catch"
// MPropertyDescription "If this NPC supports catching and throwing, show interest in props with any of these string attributes."
// MPropertySuppressExpr "m_bCatchThrownProps == 0"
CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248
// MPropertyDescription "If non-empty, this refers to a squad mode entry in npc_squad_modes.txt. The first NPC to be added to a squad will use this mode as the squad mode."
CUtlString m_sDefaultSquadMode; // 0x260
};
// Alignment: 3
// Size: 0x358
class CAI_BaseActorVData : public CAI_DefaultNPCVData
{
public:
// MPropertyFriendlyName "Mood File"
// MPropertyGroupName "Acting"
// MPropertyAttributeEditor "AssetBrowse( vdata )"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x268
// MPropertyFriendlyName "Actor Name"
// MPropertyGroupName "Acting"
CUtlString m_sActorName; // 0x348
// MPropertyGroupName "Acting"
ActorClasses_t m_nActorClass; // 0x350
};
// Alignment: 3
// Size: 0x18
struct AWS_AbilityUsageData_t
{
public:
// MNetworkEnable
CUtlStringToken m_nAbilityID; // 0x8
AbilityPathType_t m_PathTypeToBeUsed; // 0xc
bool m_bRestrictToDuringResolution; // 0x10
};
// Alignment: 4
// Size: 0x68
class CAI_AbilityServices : public CAI_Component
{
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x18
// MNetworkEnable
AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x30
// MNetworkEnable
AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0x48
// MNetworkEnable
bool m_bInAbilityUseSchedule; // 0x60
};
// Alignment: 1
// Size: 0x20
class CAI_StanceServices : public CAI_Component
{
public:
// MNetworkEnable
StanceType_t m_nCurrentStance; // 0x18
};
// Alignment: 62
// Size: 0x3b8
class CBaseNPCAbilityVData : public CEntitySubclassVDataBase
{
public:
// MPropertyDescription "Priority relative to other abilities on this NPC. All abilities will be evaluated, and the highest priority one that passes its evaluation step will be used."
int32_t m_nPriority; // 0x28
// MPropertyDescription "Does this ability operate on the current enemy?"
// MPropertyGroupName "Evaluating"
bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c
// MPropertyDescription "Must this ability be held (only 1 can be held at a time) to be active?"
bool m_bMustBeHeld; // 0x2d
private:
[[maybe_unused]] uint8_t __pad002e[0x2]; // 0x2e
public:
// MPropertyDescription "Only used for held abilities. Should be the desired value of the 'e_weapon' animgraph variable on this NPC, when it is holding this Ability."
CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30
// MPropertyDescription "Model to be bonemerged to the parent NPC"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38
// MPropertyDescription "Entity to be bonemerged to the parent NPC"
// MPropertyGroupName "Visuals"
CEmbeddedSubclass< C_BaseEntity > m_hModelEntity; // 0x118
// MPropertyDescription "Allows the ability to override body locations specified in the owner NPC"
// MPropertyGroupName "Visuals"
CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128
// MPropertyDescription "Model used by the tools only to populate comboboxes for things like animgraph parameter pickers"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148
CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228
CSkillDamage m_damageInfo; // 0x248
DamageTypes_t m_nDamageType; // 0x25c
CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260
// MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )"
// MPropertyGroupName "Ammo"
// MPropertyCustomFGDType
AmmoIndex_t m_iAmmoType; // 0x278
private:
[[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279
public:
// MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)"
// MPropertyAttributeRange "0 100"
// MPropertyGroupName "Ammo"
int32_t m_nMaxAmmo; // 0x27c
// MPropertyDescription "If set, and this is a Secondary ability attached to a Primary one, this Ability will require/consume the ammunition of the Primary ability, not its own."
// MPropertyGroupName "Ammo"
bool m_bUsePrimaryAbilityAmmo; // 0x280
private:
[[maybe_unused]] uint8_t __pad0281[0x3]; // 0x281
public:
// MPropertyGroupName "Range"
// MPropertyDescription "Min Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically."
float m_fMinRange; // 0x284
// MPropertyGroupName "Range"
// MPropertyDescription "Max Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically."
float m_fMaxRange; // 0x288
// MPropertyGroupName "Range"
float m_fMinAdvanceToRange; // 0x28c
// MPropertyGroupName "Range"
// MPropertyDescription "Min Range to move to before using the ability ( <0 on both min + max disables move to )"
float m_flMinMoveToRange; // 0x290
// MPropertyGroupName "Range"
// MPropertyDescription "Max Range to move to before using the ability ( <0 on both min + max disables move to )"
float m_flMaxMoveToRange; // 0x294
// MPropertyDescription "When cooling down yourself, or squadmates, if this name is specified, it will cool down all abilities with the same scope name. Useful to put all grenade throws on a shared cooldown for example."
// MPropertyGroupName "Cooldown"
CUtlString m_sSharedCooldownName; // 0x298
// MPropertyDescription "The amount of time after using this ability before it can be used again."
// MPropertyGroupName "Cooldown"
CRangeFloat m_flCooldownDuration; // 0x2a0
// MPropertyDescription "If set, use of this ability will also cause squad mates to delay their usage of this same ability."
// MPropertyGroupName "Cooldown"
CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8
// MPropertyDescription "Should this ability start on cooldown?"
// MPropertyGroupName "Cooldown"
bool m_bStartOnCooldown; // 0x2b0
private:
[[maybe_unused]] uint8_t __pad02b1[0x3]; // 0x2b1
public:
// MPropertyDescription "The amount of time after using this ability before the NPC is allowed to use *any* of its abilities."
// MPropertyGroupName "Cooldown"
CRangeFloat m_flAttackDelay; // 0x2b4
// MPropertyDescription "Can this ability interrupt other schedules?"
// MPropertyGroupName "Evaluating"
bool m_bCanInterruptSchedules; // 0x2bc
// MPropertyDescription "Should this ability attempt to suggest a schedule how to get into position in order to use it? An NPC can only seek to get one ability usable at a time."
// MPropertyGroupName "Evaluating"
bool m_bShouldSeekToBeUsable; // 0x2bd
private:
[[maybe_unused]] uint8_t __pad02be[0x2]; // 0x2be
public:
// MPropertyDescription "If the ability usage evaluation indicates it cannot be used, this is the delay before the ability can check again."
// MPropertyGroupName "Evaluating"
CRangeFloat m_flEvaluationDelay; // 0x2c0
// MPropertyDescription "Body location on the owning NPC to use for gathering LOS conditions from"
// MPropertyGroupName "Evaluating"
BodyLocations_t m_nLOSTestLocation; // 0x2c8
// MPropertyDescription "Sets whether or not the owner of this ability is required to have LOS to a target to be able to use the ability. If it does, the ability won't attempt to gather conditions if the owner doesn't have LOS to the target."
// MPropertyGroupName "Evaluating"
bool m_bRequiresOwnerHasLOS; // 0x2cc
private:
[[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd
public:
// MPropertyDescription "The enemy location that this ability will use when gathering conditions to determine whether or not it can be performed. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight."
// MPropertyGroupName "Evaluating"
TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0
// MPropertyDescription "What angle relative to the eyes direction does the target have to be in to use the ability?"
// MPropertyGroupName "Evaluating"
// MPropertyAttributeRange "0 360"
float m_flFacingAngle; // 0x2d4
// MPropertyDescription "The name of the first squad slot in a range of squad slots, one of which must be claimable to use this ability."
// MPropertyGroupName "Evaluating"
SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8
// MPropertyDescription "The name of the last squad slot in a range of squad slots, one of which must be claimable to use this ability. If this is left blank, it'll be considered as matching the 'Squad Slot Range Min', meaning the ability will use a single squad slot."
// MPropertyGroupName "Evaluating"
SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc
// MPropertyDescription "Only usable if there aren't any squad mates within this range of our enemy target. Useful for preventing explosive attacks from damaging squad mates."
// MPropertyGroupName "Evaluating"
float m_flMinDistToSquadMates; // 0x2e0
private:
[[maybe_unused]] uint8_t __pad02e4[0x4]; // 0x2e4
public:
// MPropertyFriendlyName "Pre-Attack Animgraph Parameter"
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph before it performs this attack, if it's not set already. If it's not set, it will be set, and the NPC will wait for the 'Pre-Attack Animgraph Finish Tag' to be fired by the animgraph before continuing."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphParamPre; // 0x2e8
// MPropertyFriendlyName "Pre-Attack Animgraph Finish Tag"
// MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Pre-Attack Animgraph Parameter' step."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlString m_sAnimgraphFinishTagPre; // 0x2f0
// MPropertyDescription "Optional amount of time the NPC waits after performing the pre-attack phase, before continuing its AI."
// MPropertyGroupName "Animation"
CRangeFloat m_flPreAbilityUseWait; // 0x2f8
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs this attack."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphParam; // 0x300
// MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlString m_sAnimgraphFinishTag; // 0x308
// MPropertyFriendlyName "Post-Attack Animgraph Parameter"
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph after it performs this attack."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphParamPost; // 0x310
// MPropertyFriendlyName "Post-Attack Animgraph Finish Tag"
// MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the Post Attack animation step."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlString m_sAnimgraphFinishTagPost; // 0x318
// MPropertyDescription "Is the anim graph capable of auto-repeating the attack if the ability still thinks it's valid to attack? Note auto-repeating will not trigger cooldowns."
// MPropertyGroupName "Animation"
bool m_bCanAutoRepeat; // 0x320
private:
[[maybe_unused]] uint8_t __pad0321[0x3]; // 0x321
public:
// MPropertyDescription "Optional amount of time the NPC waits after attacking before continuing its AI."
// MPropertyGroupName "Animation"
CRangeFloat m_flPostAbilityUseWait; // 0x324
// MPropertyDescription "When triggered, it causes the ability to run ability-specific pre-triggering code. Used for two-stage hits (like a leap or spot where the attack commits to a direction before it's actually performed)."
// MPropertyGroupName "Animation"
GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c
// MPropertyDescription "When triggered, the ability is used"
// MPropertyGroupName "Animation"
GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330
// MPropertyFriendlyName "Enemy Location To Target When Performing"
// MPropertyDescription "The enemy location that this ability will target when performing the ability. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight."
// MPropertyGroupName "Using"
TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334
// MPropertyDescription "When firing at the player, is this weapon allowed to miss and hit interesting targets nearby, for visual flair?"
// MPropertyGroupName "Using"
bool m_bAllowedToMiss; // 0x338
// MPropertyDescription "If an NPC uses this ability while moving, should the usage be aborted if the NPC finishes the movement?"
// MPropertyGroupName "Using"
bool m_bAbortUsageOnMoveFinish; // 0x339
// MPropertyGroupName "Using"
// MPropertyDescription "Is the NPC allowed to do displacement during non-interrupt staggers while performing this ability? Generally only true for attacking abilities."
bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a
private:
[[maybe_unused]] uint8_t __pad033b[0x5]; // 0x33b
public:
// MPropertyGroupName "Using"
// MPropertyDescription "A modifier that will be added to our NPC when it starts using this ability, and removed once it finishes."
CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340
// MPropertyGroupName "Using"
// MPropertyDescription "A modifier that will be added to our NPC when it finishes using this ability."
CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350
// MPropertyGroupName "Using"
// MPropertyDescription "A modifier that will be added to our NPC whenever the ability trigger occurs."
CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360
// MPropertyDescription "Only used for held abilities. Never drop this ability, always immediately remove it instead."
// MPropertyGroupName "Drop"
bool m_bDestroyInsteadOfDrop; // 0x370
// MPropertyDescription "Always Drop this ability."
// MPropertyGroupName "Drop"
bool m_bAlwaysDrop; // 0x371
// MPropertyGroupName "Drop"
bool m_bAddRandomDropVelocity; // 0x372
private:
[[maybe_unused]] uint8_t __pad0373[0x5]; // 0x373
public:
// MPropertyGroupName "Drop"
CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378
// MPropertyGroupName "Drop"
CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390
// MPropertyDescription "When pathing to the target, range tolerance"
// MPropertyGroupName "Evaluating"
float m_flRangeTolerance; // 0x3a8
// MPropertyDescription "When building a path to the target, avoid our enemy by this distance"
float m_flEnemyPathAvoidance; // 0x3ac
// MPropertyDescription "Time to hold unreachable targets before reevaluating"
float m_flTargetEntityUnreachableTimeout; // 0x3b0
// MPropertyDescription "Should this ability be visible when other NPCs ask this ability's NPC what it's capable of?"
bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4
};
// Alignment: 2
// Size: 0x120
class CNPCAbilityModelVData : public CEntitySubclassVDataBase
{
public:
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108
};
// Alignment: 1
// Size: 0x3c8
class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData
{
public:
// MPropertyFriendlyName "Modifier VData: Modifier to Apply to Caster"
CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8
};
// Alignment: 1
// Size: 0x3c0
class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData
{
public:
// MPropertyFriendlyName "Modifier to Remove"
CUtlString m_sRemoveModifier; // 0x3b8
};
// Alignment: 7
// Size: 0x418
class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData
{
public:
// MPropertyFriendlyName "Hit Triggers"
// MPropertyGroupName "Animation"
CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8
// MPropertyGroupName "Evaluating"
ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0
// MPropertyGroupName "Evaluating"
Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4
// MPropertyGroupName "Evaluating"
Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0
// MPropertyGroupName "Using"
Vector m_vecUsingMeleeAttackMins; // 0x3ec
// MPropertyGroupName "Using"
Vector m_vecUsingMeleeAttackMaxs; // 0x3f8
private:
[[maybe_unused]] uint8_t __pad0404[0x4]; // 0x404
public:
// MPropertyGroupName "Using"
CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408
};
// Alignment: 4
// Size: 0x3d8
class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData
{
public:
// MPropertyAttributeEditor "VDataChoice( scripts/npc_units.vdata )"
// MPropertyGroupName "Using"
CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8
// MPropertyGroupName "Using"
CRangeInt m_nNumToSpawn; // 0x3c8
// MPropertyGroupName "Using"
bool m_bSpawnInRagdoll; // 0x3d0
private:
[[maybe_unused]] uint8_t __pad03d1[0x3]; // 0x3d1
public:
// MPropertyGroupName "Using"
float m_flRagdollSpawnForceMultiplier; // 0x3d4
};
// Alignment: 8
// Size: 0x5a0
class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData
{
public:
// MPropertyDescription "Effect when firing this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8
// MPropertyDescription "Effect to actually fire into the world from this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498
// MPropertyGroupName "Using"
CRangeInt m_nBurstSize; // 0x578
// MPropertyGroupName "Using"
Vector m_vecBulletSpreadCone; // 0x580
// MPropertyGroupName "Using"
float m_flSpreadBias; // 0x58c
// MPropertyGroupName "Using"
int32_t m_nPellets; // 0x590
// MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?"
// MPropertyGroupName "Using"
bool m_bApplyAimRefinement; // 0x594
private:
[[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595
public:
// MPropertyGroupName "Using"
int32_t m_nPowerCostPerShot; // 0x598
};
// Alignment: 19
// Size: 0x390
class CModifierVData : public CEntitySubclassVDataBase
{
public:
CModifierLevelFloat m_flDuration; // 0x28
// MPropertyGroupName "Visuals"
// MPropertyDescription "Particle system to attach to the parent of the modifier"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38
// MPropertyGroupName "Visuals"
// MPropertyDescription "Status Effect to apply to the parent of the modifier"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118
// MPropertyGroupName "Visuals"
// MPropertyDescription "Screen-space particle system to create if the parent of the modifier is the local player"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8
// MPropertyGroupName "Visuals"
// MPropertyDescription "Priority of this status effect relative to others"
int32_t m_nStatusEffectPriority; // 0x2d8
private:
[[maybe_unused]] uint8_t __pad02dc[0x4]; // 0x2dc
public:
// MPropertyGroupName "Visuals"
CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0
// MPropertyGroupName "Sounds"
CSoundEventName m_sStartSound; // 0x2f8
// MPropertyGroupName "Sounds"
CSoundEventName m_sAmbientLoopingSound; // 0x308
// MPropertyGroupName "Sounds"
ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318
private:
[[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c
public:
// MPropertyGroupName "Sounds"
CSoundEventName m_sEndSound; // 0x320
// MPropertyGroupName "Scripted Settings"
CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330
// MPropertyGroupName "Scripted Settings"
CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334
// MPropertyGroupName "Scripted Settings"
ModifierAttribute_t m_nAttributes; // 0x338
private:
[[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c
public:
// MPropertyGroupName "Scripted Settings"
// MPropertyDescription "Scripted Modifier Values"
CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340
// MPropertyGroupName "Scripted Settings"
// MPropertyDescription "Scripted Event Handlers"
CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358
ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370
// MPropertyDescription "When set, the modifier only provides data to requests made directly to the attached entity and not to other modifier properties that the owner provides to."
bool m_bPrivateAccess; // 0x374
// MPropertyDescription "When set, the modifier will not be visible to UI or visible modifier list."
bool m_bIsHidden; // 0x375
private:
[[maybe_unused]] uint8_t __pad0376[0x2]; // 0x376
public:
// MPropertyDescription "When to consider the modifier a debuff."
ModifierDebuffType_t m_eDebuffType; // 0x378
};
// Alignment: 18
// Size: 0x78
class CBaseModifier
{
public:
ModifierSerialNumber_t m_nSerialNumber; // 0x24
float m_flLastAppliedTime; // 0x28
float m_flDuration; // 0x2c
CHandle< C_BaseEntity > m_hCaster; // 0x30
CHandle< C_BaseEntity > m_hAbility; // 0x34
CModifierHandleBase m_hAuraProvider; // 0x38
uint8_t m_iAttributes; // 0x50
uint8_t m_iTeam; // 0x51
int16_t m_iStackCount; // 0x52
int16_t m_iMaxStackCount; // 0x54
uint8_t m_eDestroyReason; // 0x56
bool m_bDisabled; // 0x57
float m_flPreviousTick; // 0x58
float m_flThinkInterval; // 0x5c
float m_flThinkIntervalStartTime; // 0x60
float m_flTimeScale; // 0x64
CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x68
ModifierRuntimeHandle_t m_hModifierListHandle; // 0x70
};
// Alignment: 3
// Size: 0x3b8
class CModifierVData_BaseAura : public CModifierVData
{
public:
CModifierLevelFloat m_flAuraRadius; // 0x390
int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0
private:
[[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4
public:
// MPropertyDescription "Aura - Modifier to Apply"
// MPropertyFriendlyName "Modifier Provided By Aura"
CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8
};
// Alignment: 10
// Size: 0xf0
class CModifierProperty
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x8
CHandle< C_BaseEntity > m_hOwner; // 0x20
private:
[[maybe_unused]] uint8_t __pad0024[0x6a]; // 0x24
public:
uint8_t m_nProviderVisitedFlags; // 0x8e
bool m_bModifierStatesDirty; // 0x8f
int8_t m_iLockRefCount; // 0x90
private:
[[maybe_unused]] uint8_t __pad0091[0x1]; // 0x91
public:
ModifierPropRuntimeHandle_t m_hHandle; // 0x92
uint16_t m_nBroadcastEventListenerMask; // 0x94
private:
[[maybe_unused]] uint8_t __pad0096[0xa]; // 0x96
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_vecProviders; // 0xa0
// MNetworkEnable
uint32_t m_nDisabledGroups; // 0xb8
// MNetworkEnable
// MNetworkChangeCallback "modifierStatesChanged"
uint32_t m_bvEnabledStateMask[1]; // 0xbc
};
// Alignment: 1
// Size: 0x18
class CModifierHandleBase
{
public:
// MNetworkEnable
// MNetworkSerializer "modifier_handle"
uint64_t m_hStableHandle; // 0x8
};
// Alignment: 5
// Size: 0x260
class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices
{
public:
// MNetworkEnable
bool m_bViewFrozen; // 0x238
private:
[[maybe_unused]] uint8_t __pad0239[0x3]; // 0x239
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hCameraTarget; // 0x23c
// MNetworkEnable
Vector m_vMoveOffset; // 0x240
// MNetworkEnable
QAngle m_vLookOffset; // 0x24c
float m_flFOVOffset; // 0x258
};
// Alignment: 0
// Size: 0x80
class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices
{
public:
// no members available
};
// Alignment: 1
// Size: 0x38
class C_SteamPalGameRules : public C_SingleplayRules
{
public:
bool m_bIsInAscentSection; // 0x10
};
// Alignment: 0
// Size: 0x78
class CSteamPalModifier : public CBaseModifier
{
public:
// no members available
};
// Alignment: 0
// Size: 0x78
class CSteamPalModifier_Base : public CSteamPalModifier
{
public:
// no members available
};
// Alignment: 0
// Size: 0x3b8
class CSteamPalModifierAuraVData : public CModifierVData_BaseAura
{
public:
// no members available
};
// Alignment: 7
// Size: 0x98
class CSteampal_Turret_ManagerVData : public CEntitySubclassVDataBase
{
public:
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sIntroTurretType; // 0x28
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sUltraTurretType; // 0x48
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sBadTurretType; // 0x58
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sGoodTurretType; // 0x68
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sAscentTurretType; // 0x78
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88
};
// Alignment: 11
// Size: 0x80
class CSteamPal_SequencerVData : public CEntitySubclassVDataBase
{
public:
float m_flBPM; // 0x28
bool m_bStartPaused; // 0x2c
private:
[[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d
public:
int32_t m_nGridWidth; // 0x30
int32_t m_nGridHeight; // 0x34
int32_t m_nTestDisplayTrackNum; // 0x38
float m_flDebugGridSize; // 0x3c
float m_flDebugGridElementGap; // 0x40
private:
[[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44
public:
CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48
CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60
bool m_bAutoPlayIntro; // 0x78
bool m_bLoopIntroTracks; // 0x79
};
// Alignment: 8
// Size: 0x138
class CSteamPal_BaseSingingEntity_VData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
CSoundEventName m_sTestToneSound; // 0x108
CSoundEventName m_sGreetingSound; // 0x118
bool m_bAutoSingTracks; // 0x128
bool m_bPlayAnimGraphOnly; // 0x129
private:
[[maybe_unused]] uint8_t __pad012a[0x2]; // 0x12a
public:
float m_flBaseMidiNote; // 0x12c
float m_flWingAnimateInTime; // 0x130
float m_flVolume; // 0x134
};
// Alignment: 10
// Size: 0xb0
class CSteamPal_NameFormVData : public CEntitySubclassVDataBase
{
public:
CSkillFloat m_flMaxTimeSayingName; // 0x28
CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38
int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48
CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c
int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c
CSkillFloat m_flMaxTimeSigningName; // 0x60
CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70
// MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )"
CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80
QAngle m_qWritingSurfaceAttachAngles; // 0x90
private:
[[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c
public:
CSoundEventName m_sDingToneSound; // 0xa0
};
// Alignment: 4
// Size: 0x118
class CSteamPal_WritingSurfaceVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
Color m_BackgroundColor; // 0x108
Color m_WritingColor; // 0x10c
float m_flWritingTipSize; // 0x110
};
// Alignment: 36
// Size: 0x5a0
class CSteamPal_TurretVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8
CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488
CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0
Steampal_TurretType_t m_TurretType; // 0x4b8
private:
[[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc
public:
CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0
CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8
bool m_bTakeOverCamera; // 0x4f0
bool m_bSynchedWings; // 0x4f1
bool m_bRawAiming; // 0x4f2
bool m_bUseInterpolationHack; // 0x4f3
float m_flTraceLength; // 0x4f4
float m_flXInputExponent; // 0x4f8
float m_flYInputExponent; // 0x4fc
float m_flAxialDeadZoneX; // 0x500
float m_flAxialDeadZoneY; // 0x504
float m_flCircularDeadzoneMin; // 0x508
float m_flCircularDeadzoneMax; // 0x50c
float m_flCircularExponent; // 0x510
float m_flWingDeployExplodeThreshold; // 0x514
int32_t m_nMaxAmmo; // 0x518
float m_flCameraOverShoulderOffset; // 0x51c
float m_flCameraOverShoulderFOV; // 0x520
bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524
private:
[[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525
public:
int32_t m_nHealth; // 0x528
private:
[[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c
public:
CSoundEventName m_sWingOpenSound; // 0x530
CSoundEventName m_sWingCloseSound; // 0x540
CSoundEventName m_sWingMoveCompleteSound; // 0x550
CSoundEventName m_sWingMoveSound; // 0x560
Vector m_vDeployingVibration; // 0x570
Vector m_vShootingVibration; // 0x57c
Vector m_vTakingDamageVibration; // 0x588
Vector m_vExplodingVibration; // 0x594
};
// Alignment: 10
// Size: 0x938
class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840
float m_flTestSpringStrength; // 0x920
float m_flTestRequiredDuration; // 0x924
float m_flFlushWaitTime; // 0x928
float m_flCisternFillDuration; // 0x92c
float m_flFlushDuration; // 0x930
bool m_bSmoking; // 0x934
};
// Alignment: 1
// Size: 0x108
class CSteamPal_ToiletTestPanelVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
};
// Alignment: 12
// Size: 0x1558
class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0
CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680
CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878
CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70
CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68
CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60
CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058
CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250
CSoundEventName m_sMinigunWindUpSound; // 0x1448
CSoundEventName m_sMinigunWindDownSound; // 0x1458
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468
CSoundEventName m_sRadarSparksSound; // 0x1548
};
// Alignment: 4
// Size: 0x200
class CSteamPal_Ultra_Toilet_RocketVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108
CSoundEventName m_sRocketExplodeSound; // 0x1e8
int32_t m_nNumRocketPaths; // 0x1f8
};
// Alignment: 1
// Size: 0x108
class CSteamPal_TrackballVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
};
// Alignment: 1
// Size: 0x108
class CSteamPal_TouchScreenVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
};
// Alignment: 10
// Size: 0x230
class CSteamPal_DeskVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
// MPropertyDescription "Trackball Class"
CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108
CUtlString m_szLeftTrackballAttachmentName; // 0x118
CUtlString m_szRightTrackballAttachmentName; // 0x120
float m_flButtonAnimationDuration; // 0x128
float m_flButtonBlinkFrequency; // 0x12c
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130
CUtlString m_strRecordedWavPath; // 0x210
CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218
CUtlString m_szTouchScreenAttachment; // 0x228
};
// Alignment: 18
// Size: 0x5e0
class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData
{
public:
// MPropertyDescription "Effect when firing this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8
// MPropertyDescription "Effect to actually fire into the world from this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498
// MPropertyDescription "Muzzle attachements"
CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578
// MPropertyGroupName "Sounds"
CSoundEventName m_sFiringLoopingSound; // 0x590
// MPropertyGroupName "Using"
CRangeInt m_nBurstSize; // 0x5a0
// MPropertyGroupName "Using"
Vector m_vecBulletSpreadCone; // 0x5a8
// MPropertyGroupName "Using"
float m_flSpreadBias; // 0x5b4
// MPropertyGroupName "Using"
int32_t m_nPellets; // 0x5b8
// MPropertyGroupName "Using"
bool m_bTargetingBullets; // 0x5bc
// MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?"
// MPropertyGroupName "Using"
bool m_bApplyAimRefinement; // 0x5bd
private:
[[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be
public:
float m_flAttackVerticalFOV; // 0x5c0
float m_flAttackHorizontalFOV; // 0x5c4
float m_flAttackMaxHeightDelta; // 0x5c8
float m_flAttackMinHeightDelta; // 0x5cc
float m_flMinAngleX; // 0x5d0
float m_flMaxAngleX; // 0x5d4
float m_flMinAngleY; // 0x5d8
float m_flMaxAngleY; // 0x5dc
};
// Alignment: 13
// Size: 0x330
class CNPCApplianceProjectileVData : public CEntitySubclassVDataBase
{
public:
// MPropertyAttributeEditor "AssetBrowse( vmdl )"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
float m_flShootVelocity; // 0x108
bool m_bExplode; // 0x10c
private:
[[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d
public:
float m_flExplodeRadius; // 0x110
float m_flExplodeDamage; // 0x114
// MPropertyDescription "Damage to apply on projectile touch"
float m_flTouchDamage; // 0x118
private:
[[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c
public:
// MPropertyGroupName "Particles"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120
// MPropertyGroupName "Particles"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200
// MPropertyGroupName "Sounds"
CSoundEventName m_sHitWorldSound; // 0x2e0
// MPropertyGroupName "Sounds"
CSoundEventName m_sHitBodySound; // 0x2f0
// MPropertyGroupName "Sounds"
CSoundEventName m_sNearMissSound; // 0x300
// MPropertyGroupName "Sounds"
CSoundEventName m_sPreExplodeSound; // 0x310
// MPropertyGroupName "Sounds"
CSoundEventName m_sExplodeSound; // 0x320
};
// Alignment: 10
// Size: 0x410
class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData
{
public:
CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8
float m_flOpenConeAngle; // 0x3d0
float m_flAttackConeAngle; // 0x3d4
bool m_bPickRandomProjectile; // 0x3d8
private:
[[maybe_unused]] uint8_t __pad03d9[0x7]; // 0x3d9
public:
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the open animation."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphOpenParam; // 0x3e0
// MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the open animation."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8
private:
[[maybe_unused]] uint8_t __pad03ec[0x4]; // 0x3ec
public:
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the attack."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphAttackParam; // 0x3f0
// MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8
private:
[[maybe_unused]] uint8_t __pad03fc[0x4]; // 0x3fc
public:
// MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the close animation."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )"
CUtlString m_sAnimgraphCloseParam; // 0x400
// MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the close animation."
// MPropertyGroupName "Animation"
// MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )"
CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408
};
// Alignment: 11
// Size: 0x78
class CEntityIdentity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "entityIdentityNameChanged"
int32_t m_nameStringableIndex; // 0x14
CUtlSymbolLarge m_name; // 0x18
CUtlSymbolLarge m_designerName; // 0x20
private:
[[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28
public:
uint32_t m_flags; // 0x30
private:
[[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34
public:
uint32_t m_fDataObjectTypes; // 0x38
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c
private:
[[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e
public:
CEntityIdentity* m_pPrev; // 0x50
CEntityIdentity* m_pNext; // 0x58
CEntityIdentity* m_pPrevByClass; // 0x60
CEntityIdentity* m_pNextByClass; // 0x68
V_uuid_t* m_pId; // 0x70
};
// Alignment: 4
// Size: 0x38
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
// MNetworkEnable
// MNetworkPriority "56"
CEntityIdentity* m_pEntity; // 0x10
private:
[[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18
public:
// MNetworkDisable
CUtlStringToken m_worldGroupId; // 0x20
private:
[[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24
public:
// MNetworkEnable
// MNetworkDisable
CScriptComponent* m_CScriptComponent; // 0x30
};
// Alignment: 1
// Size: 0x38
class CScriptComponent : public CEntityComponent
{
public:
CUtlSymbolLarge m_scriptClassName; // 0x30
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[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("client.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);};
};
// Alignment: 2
// Size: 0x40
class CBodyComponent : public CEntityComponent
{
public:
// MNetworkDisable
CGameSceneNode* m_pSceneNode; // 0x8
private:
[[maybe_unused]] uint8_t __pad0010[0x10]; // 0x10
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x20
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[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("client.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);};
};
// Alignment: 2
// Size: 0x1c0
class CBodyComponentPoint : public CBodyComponent
{
public:
// MNetworkEnable
CGameSceneNode m_sceneNode; // 0x40
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x1a0
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[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("client.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);};
};
// Alignment: 2
// Size: 0x520
class CBodyComponentSkeletonInstance : public CBodyComponent
{
public:
// MNetworkEnable
CSkeletonInstance m_skeletonInstance; // 0x40
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x500
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[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("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);};
};
// Alignment: 1
// Size: 0x20
class CHitboxComponent : public CEntityComponent
{
public:
uint32_t m_unDisabledHitGroupMask; // 0x1c
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);};
static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);};
};
// Alignment: 65
// Size: 0x1b8
class CLightComponent : public CEntityComponent
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x48
private:
[[maybe_unused]] uint8_t __pad0060[0x15]; // 0x60
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
Color m_Color; // 0x75
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
Color m_SecondaryColor; // 0x79
private:
[[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flBrightness; // 0x80
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flBrightnessMult; // 0x84
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flRange; // 0x88
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flFalloff; // 0x8c
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flAttenuation0; // 0x90
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flAttenuation1; // 0x94
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flAttenuation2; // 0x98
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flTheta; // 0x9c
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flPhi; // 0xa0
private:
[[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nCascades; // 0xb0
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nCastShadows; // 0xb4
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowWidth; // 0xb8
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowHeight; // 0xbc
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bRenderDiffuse; // 0xc0
private:
[[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nRenderSpecular; // 0xc4
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bRenderTransmissive; // 0xc8
private:
[[maybe_unused]] uint8_t __pad00c9[0x3]; // 0xc9
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flOrthoLightWidth; // 0xcc
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flOrthoLightHeight; // 0xd0
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nStyle; // 0xd4
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
CUtlString m_Pattern; // 0xd8
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nCascadeRenderStaticObjects; // 0xe0
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeCrossFade; // 0xe4
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeDistanceFade; // 0xe8
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeDistance0; // 0xec
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeDistance1; // 0xf0
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeDistance2; // 0xf4
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowCascadeDistance3; // 0xf8
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowCascadeResolution0; // 0xfc
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowCascadeResolution1; // 0x100
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowCascadeResolution2; // 0x104
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowCascadeResolution3; // 0x108
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bUsesBakedShadowing; // 0x10c
private:
[[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nShadowPriority; // 0x110
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
int32_t m_nBakedShadowIndex; // 0x114
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bRenderToCubemaps; // 0x118
private:
[[maybe_unused]] uint8_t __pad0119[0x7]; // 0x119
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
CUtlSymbolLarge m_LightGroups; // 0x120
// MNetworkEnable
int32_t m_nDirectLight; // 0x128
// MNetworkEnable
int32_t m_nIndirectLight; // 0x12c
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flFadeMinDist; // 0x130
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flFadeMaxDist; // 0x134
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowFadeMinDist; // 0x138
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flShadowFadeMaxDist; // 0x13c
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bEnabled; // 0x140
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
bool m_bFlicker; // 0x141
// MNetworkEnable
bool m_bPrecomputedFieldsValid; // 0x142
private:
[[maybe_unused]] uint8_t __pad0143[0x1]; // 0x143
public:
// MNetworkEnable
Vector m_vPrecomputedBoundsMins; // 0x144
// MNetworkEnable
Vector m_vPrecomputedBoundsMaxs; // 0x150
// MNetworkEnable
Vector m_vPrecomputedOBBOrigin; // 0x15c
// MNetworkEnable
QAngle m_vPrecomputedOBBAngles; // 0x168
// MNetworkEnable
Vector m_vPrecomputedOBBExtent; // 0x174
// MNetworkEnable
float m_flPrecomputedMaxRange; // 0x180
// MNetworkEnable
int32_t m_nFogLightingMode; // 0x184
// MNetworkEnable
float m_flFogContributionStength; // 0x188
// MNetworkEnable
float m_flNearClipPlane; // 0x18c
// MNetworkEnable
Color m_SkyColor; // 0x190
// MNetworkEnable
float m_flSkyIntensity; // 0x194
// MNetworkEnable
Color m_SkyAmbientBounce; // 0x198
// MNetworkEnable
bool m_bUseSecondaryColor; // 0x19c
// MNetworkEnable
// MNetworkChangeCallback "MixedShadowsChanged"
bool m_bMixedShadows; // 0x19d
private:
[[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e
public:
// MNetworkEnable
// MNetworkChangeCallback "LightRenderingChanged"
float m_flLightStyleStartTime; // 0x1a0
// MNetworkEnable
float m_flCapsuleLength; // 0x1a4
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[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("client.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);};
};
// Alignment: 5
// Size: 0xc8
class CRenderComponent : public CEntityComponent
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x10
private:
[[maybe_unused]] uint8_t __pad0028[0x18]; // 0x28
public:
bool m_bIsRenderingWithViewModels; // 0x40
private:
[[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41
public:
uint32_t m_nSplitscreenFlags; // 0x44
private:
[[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48
public:
bool m_bEnableRendering; // 0x50
private:
[[maybe_unused]] uint8_t __pad0051[0x4f]; // 0x51
public:
bool m_bInterpolationReadyToDraw; // 0xa0
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[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("client.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);};
};
// Alignment: 21
// Size: 0x338
class CBasePlayerWeaponVData : public CEntitySubclassVDataBase
{
public:
// MPropertyDescription "Model used on the ground or held by an entity"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28
// MPropertyDescription "Was the weapon was built right-handed?"
// MPropertyGroupName "Visuals"
bool m_bBuiltRightHanded; // 0x108
// MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed"
// MPropertyGroupName "Visuals"
bool m_bAllowFlipping; // 0x109
private:
[[maybe_unused]] uint8_t __pad010a[0x6]; // 0x10a
public:
// MPropertyGroupName "Visuals"
// MPropertyDescription "Attachment to fire bullets from"
// MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )"
CUtlString m_sMuzzleAttachment; // 0x110
// MPropertyDescription "Effect when firing this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118
// MPropertyDescription "Effect to actually fire into the world from this weapon"
// MPropertyGroupName "Visuals"
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8
CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8
ItemFlagTypes_t m_iFlags; // 0x2f0
// MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )"
// MPropertyGroupName "Ammo"
// MPropertyCustomFGDType
AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1
// MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )"
// MPropertyGroupName "Ammo"
// MPropertyCustomFGDType
AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2
private:
[[maybe_unused]] uint8_t __pad02f3[0x1]; // 0x2f3
public:
// MPropertyFriendlyName "Primary Clip Size"
// MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)"
// MPropertyAttributeRange "0 255"
// MPropertyGroupName "Ammo"
int32_t m_iMaxClip1; // 0x2f4
// MPropertyFriendlyName "Secondary Clip Size"
// MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)"
// MPropertyGroupName "Ammo"
// MPropertyAttributeRange "0 255"
int32_t m_iMaxClip2; // 0x2f8
// MPropertyDescription "Primary Initial Clip (-1 means use clip size)"
// MPropertyGroupName "Ammo"
// MPropertyAttributeRange "-1 255"
int32_t m_iDefaultClip1; // 0x2fc
// MPropertyDescription "Secondary Initial Clip (-1 means use clip size)"
// MPropertyGroupName "Ammo"
// MPropertyAttributeRange "-1 255"
int32_t m_iDefaultClip2; // 0x300
// MPropertyFriendlyName "HUD Bucket"
// MPropertyDescription "Which 'column' to display this weapon in the HUD"
// MPropertyGroupName "UI"
int32_t m_iSlot; // 0x304
// MPropertyFriendlyName "HUD Bucket Position"
// MPropertyDescription "Which 'row' to display this weapon in the HUD"
// MPropertyGroupName "UI"
int32_t m_iPosition; // 0x308
// MPropertyDescription "This value used to determine this weapon's importance in autoselection"
// MPropertyGroupName "UI"
int32_t m_iWeight; // 0x30c
// MPropertyFriendlyName "Safe To Auto-Switch To"
// MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)"
// MPropertyGroupName "UI"
bool m_bAutoSwitchTo; // 0x310
// MPropertyFriendlyName "Safe To Auto-Switch Away From"
// MPropertyGroupName "UI"
bool m_bAutoSwitchFrom; // 0x311
private:
[[maybe_unused]] uint8_t __pad0312[0x2]; // 0x312
public:
// MPropertyGroupName "UI"
RumbleEffect_t m_iRumbleEffect; // 0x314
CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318
};
// Alignment: 22
// Size: 0x1b08
class C_BaseAnimatingController : public CSkeletonAnimationController
{
public:
// MNetworkEnable
// MNetworkChangeCallback "baseAnimBaseLayerChanged"
CNetworkedSequenceOperation m_baseLayer; // 0x18
// MNetworkEnable
CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58
private:
[[maybe_unused]] uint8_t __pad1708[0x8]; // 0x1708
public:
// MNetworkDisable
bool m_bSequenceFinished; // 0x1710
private:
[[maybe_unused]] uint8_t __pad1711[0x3]; // 0x1711
public:
// MNetworkDisable
float m_flGroundSpeed; // 0x1714
// MNetworkDisable
float m_flLastEventCycle; // 0x1718
// MNetworkDisable
float m_flLastEventAnimTime; // 0x171c
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "-4"
// MNetworkMaxValue "12"
// MNetworkEncodeFlags
// MNetworkPriority "32"
// MNetworkChangeCallback "playbackRateChanged"
CNetworkedQuantizedFloat m_flPlaybackRate; // 0x1720
// MNetworkDisable
float m_flPrevAnimTime; // 0x1738
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkUserGroup "m_flPoseParameter"
// MNetworkChangeCallback "poseParametersChanged"
float m_flPoseParameter[24]; // 0x173c
// MNetworkEnable
// MNetworkChangeCallback "clientSideAnimationChanged"
bool m_bClientSideAnimation; // 0x179c
// MNetworkDisable
bool m_bNetworkedAnimationInputsChanged; // 0x179d
// MNetworkDisable
uint8_t m_nPrevNewSequenceParity; // 0x179e
// MNetworkDisable
uint8_t m_nPrevResetEventsParity; // 0x179f
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkChangeCallback "clientSideAnimCycleReset"
int32_t m_nNewSequenceParity; // 0x17a0
// MNetworkEnable
// MNetworkPriority "32"
int32_t m_nResetEventsParity; // 0x17a4
// MNetworkDisable
float m_flIKGroundContactTime; // 0x17a8
// MNetworkDisable
float m_flIKGroundMinHeight; // 0x17ac
// MNetworkDisable
float m_flIKGroundMaxHeight; // 0x17b0
// MNetworkDisable
float m_flIkZAdjustAmount; // 0x17b4
private:
[[maybe_unused]] uint8_t __pad17b8[0x28]; // 0x17b8
public:
// MNetworkDisable
C_CSequenceTransitioner2 m_SequenceTransitioner; // 0x17e0
private:
[[maybe_unused]] uint8_t __pad1a18[0x40]; // 0x1a18
public:
// MNetworkDisable
HSequence m_hLastAnimEventSequence; // 0x1a58
// MNetworkDisable
uint32_t m_ClientSideAnimationListHandle; // 0x1a5c
};
// Alignment: 2
// Size: 0x2040
class C_BodyComponentBaseAnimating : public CBodyComponentSkeletonInstance
{
public:
// MNetworkEnable
C_BaseAnimatingController m_animationController; // 0x520
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x2028
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->m_static_fields[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("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimating")->m_static_fields[1]->m_instance);};
};
// Alignment: 1
// Size: 0x1b70
class C_BaseAnimatingOverlayController : public C_BaseAnimatingController
{
public:
// MNetworkEnable
// MNetworkUserGroup "overlay_vars"
// MNetworkChangeCallback "OnOverlaysChanged2"
C_UtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x1b08
};
// Alignment: 2
// Size: 0x20b0
class C_BodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance
{
public:
// MNetworkEnable
C_BaseAnimatingOverlayController m_animationController; // 0x520
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x2090
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[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("client.dll")->FindDeclaredClass("C_BodyComponentBaseAnimatingOverlay")->m_static_fields[1]->m_instance);};
};
// Alignment: 1
// Size: 0x540
class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
CNetworkVarChainer __m_pChainEntity; // 0x520
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[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("client.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);};
};
// Alignment: 7
// Size: 0xf8
class C_LightGlowOverlay : public CGlowOverlay
{
public:
Vector m_vecOrigin; // 0xd0
Vector m_vecDirection; // 0xdc
int32_t m_nMinDist; // 0xe8
int32_t m_nMaxDist; // 0xec
int32_t m_nOuterMaxDist; // 0xf0
bool m_bOneSided; // 0xf4
bool m_bModulateByDot; // 0xf5
};
// Alignment: 85
// Size: 0x578
class C_BaseEntity : public CEntityInstance
{
public:
// MNetworkEnable
// MNetworkUserGroup "CBodyComponent"
// MNetworkAlias "CBodyComponent"
// MNetworkTypeAlias "CBodyComponent"
// MNetworkPriority "48"
CBodyComponent* m_CBodyComponent; // 0x38
CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40
private:
[[maybe_unused]] uint8_t __pad01e0[0x120]; // 0x1e0
public:
int32_t m_nLastThinkTick; // 0x300
private:
[[maybe_unused]] uint8_t __pad0304[0x4]; // 0x304
public:
CGameSceneNode* m_pGameSceneNode; // 0x308
CRenderComponent* m_pRenderComponent; // 0x310
CCollisionProperty* m_pCollision; // 0x318
// MNetworkEnable
// MNetworkChangePointerCallback
CModifierProperty* m_pModifierProp; // 0x320
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
int32_t m_iMaxHealth; // 0x328
// MNetworkEnable
// MNetworkSerializer "ClampHealth"
// MNetworkUserGroup "Player"
// MNetworkPriority "32"
int32_t m_iHealth; // 0x32c
// MNetworkEnable
// MNetworkUserGroup "Player"
// MNetworkPriority "32"
uint8_t m_lifeState; // 0x330
// MNetworkEnable
bool m_bTakesDamage; // 0x331
// MNetworkEnable
TakeDamageFlags_t m_nTakeDamageFlags; // 0x332
// MNetworkEnable
// MNetworkChangeCallback "OnInterpolationFrameChanged"
uint8_t m_ubInterpolationFrame; // 0x334
private:
[[maybe_unused]] uint8_t __pad0335[0x3]; // 0x335
public:
CHandle< C_BaseEntity > m_hSceneObjectController; // 0x338
int32_t m_nNoInterpolationTick; // 0x33c
float m_flProxyRandomValue; // 0x340
int32_t m_iEFlags; // 0x344
uint8_t m_nWaterType; // 0x348
bool m_bInterpolateEvenWithNoModel; // 0x349
bool m_bPredictionEligible; // 0x34a
private:
[[maybe_unused]] uint8_t __pad034b[0x1]; // 0x34b
public:
bool m_bApplyLayerMatchIDToModel; // 0x34c
private:
[[maybe_unused]] uint8_t __pad034d[0x3]; // 0x34d
public:
CUtlStringToken m_tokLayerMatchID; // 0x350
// MNetworkEnable
// MNetworkChangeCallback "OnSubclassIDChanged"
CUtlStringToken m_nSubclassID; // 0x354
private:
[[maybe_unused]] uint8_t __pad0358[0x8]; // 0x358
public:
int32_t m_nSimulationTick; // 0x360
int32_t m_iCurrentThinkContext; // 0x364
CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x368
// MNetworkEnable
// MNetworkPriority "0"
// MNetworkSerializer "animTimeSerializer"
// MNetworkChangeCallback "OnAnimTimeChanged"
float m_flAnimTime; // 0x380
// MNetworkEnable
// MNetworkPriority "1"
// MNetworkSerializer "simulationTimeSerializer"
// MNetworkChangeCallback "OnSimulationTimeChanged"
float m_flSimulationTime; // 0x384
uint8_t m_nSceneObjectOverrideFlags; // 0x388
bool m_bHasSuccessfullyInterpolated; // 0x389
bool m_bHasAddedVarsToInterpolation; // 0x38a
bool m_bRenderEvenWhenNotSuccessfullyInterpolated; // 0x38b
int32_t m_nInterpolationLatchDirtyFlags[2]; // 0x38c
uint16_t m_ListEntry[11]; // 0x394
private:
[[maybe_unused]] uint8_t __pad03aa[0x2]; // 0x3aa
public:
// MNetworkEnable
float m_flCreateTime; // 0x3ac
float m_flSpeed; // 0x3b0
uint16_t m_EntClientFlags; // 0x3b4
// MNetworkEnable
bool m_bClientSideRagdoll; // 0x3b6
// MNetworkEnable
// MNetworkChangeCallback "OnNetVarTeamNumChanged"
uint8_t m_iTeamNum; // 0x3b7
// MNetworkEnable
uint32_t m_spawnflags; // 0x3b8
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
int32_t m_nNextThinkTick; // 0x3bc
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkUserGroup "Player"
uint32_t m_fFlags; // 0x3c0
Vector m_vecAbsVelocity; // 0x3c4
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
// MNetworkChangeCallback "OnLocalVelocityChanged"
// MNetworkPriority "32"
CNetworkVelocityVector m_vecVelocity; // 0x3d0
private:
[[maybe_unused]] uint8_t __pad0430[0x8]; // 0x430
public:
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
Vector m_vecBaseVelocity; // 0x438
// MNetworkEnable
CHandle< C_BaseEntity > m_hEffectEntity; // 0x444
// MNetworkEnable
// MNetworkPriority "32"
CHandle< C_BaseEntity > m_hOwnerEntity; // 0x448
// MNetworkEnable
MoveCollide_t m_MoveCollide; // 0x44c
// MNetworkEnable
// MNetworkChangeCallback "OnMoveTypeChanged"
MoveType_t m_MoveType; // 0x44d
// MNetworkEnable
// MNetworkUserGroup "Player"
uint8_t m_nWaterLevel; // 0x44e
private:
[[maybe_unused]] uint8_t __pad044f[0x1]; // 0x44f
public:
// MNetworkEnable
// MNetworkChangeCallback "OnEffectsChanged"
uint32_t m_fEffects; // 0x450
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkUserGroup "Player"
CHandle< C_BaseEntity > m_hGroundEntity; // 0x454
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "4"
// MNetworkEncodeFlags
// MNetworkUserGroup "LocalPlayerExclusive"
float m_flFriction; // 0x458
// MNetworkEnable
// MNetworkEncoder
float m_flElasticity; // 0x45c
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
float m_flGravityScale; // 0x460
// MNetworkEnable
// MNetworkChangeCallback "OnInterpolationAmountChanged"
bool m_bSimulatedEveryTick; // 0x464
// MNetworkEnable
// MNetworkChangeCallback "OnInterpolationAmountChanged"
bool m_bAnimatedEveryTick; // 0x465
// MNetworkEnable
// MNetworkUserGroup "ScalabilityOptions"
uint8_t m_nMinCPULevel; // 0x466
// MNetworkEnable
// MNetworkUserGroup "ScalabilityOptions"
uint8_t m_nMaxCPULevel; // 0x467
// MNetworkEnable
// MNetworkUserGroup "ScalabilityOptions"
uint8_t m_nMinGPULevel; // 0x468
// MNetworkEnable
// MNetworkUserGroup "ScalabilityOptions"
uint8_t m_nMaxGPULevel; // 0x469
private:
[[maybe_unused]] uint8_t __pad046a[0x2]; // 0x46a
public:
// MNetworkEnable
// MNetworkChangeCallback "OnNavIgnoreChanged"
float m_flNavIgnoreUntilTime; // 0x46c
CBitVec< 1 > m_ShadowBits; // 0x470
float m_flFirstReceivedTime; // 0x474
float m_flLastMessageTime; // 0x478
uint16_t m_hThink; // 0x47c
private:
[[maybe_unused]] uint8_t __pad047e[0xa]; // 0x47e
public:
uint8_t m_fBBoxVisFlags; // 0x488
bool m_bIsValidIKAttachment; // 0x489
bool m_bPredictable; // 0x48a
bool m_bRenderWithViewModels; // 0x48b
CSplitScreenSlot m_nSplitUserPlayerPredictionSlot; // 0x48c
CHandle< C_BaseEntity > m_hOldMoveParent; // 0x490
private:
[[maybe_unused]] uint8_t __pad0494[0x4]; // 0x494
public:
CParticleProperty m_Particles; // 0x498
CUtlVector< float32 > m_vecPredictedScriptFloats; // 0x4c0
CUtlVector< int32 > m_vecPredictedScriptFloatIDs; // 0x4d8
private:
[[maybe_unused]] uint8_t __pad04f0[0x18]; // 0x4f0
public:
int32_t m_nNextScriptVarRecordID; // 0x508
private:
[[maybe_unused]] uint8_t __pad050c[0xc]; // 0x50c
public:
int32_t m_nAnimGraphNetVarCreationCommandNumber; // 0x518
QAngle m_vecAngVelocity; // 0x51c
float m_flGroundChangeTime; // 0x528
int32_t m_DataChangeEventRef; // 0x52c
CUtlVector< CEntityHandle > m_dependencies; // 0x530
int32_t m_nCreationTick; // 0x548
private:
[[maybe_unused]] uint8_t __pad054c[0x15]; // 0x54c
public:
bool m_bAnimTimeChanged; // 0x561
bool m_bSimulationTimeChanged; // 0x562
private:
[[maybe_unused]] uint8_t __pad0563[0xd]; // 0x563
public:
CUtlString m_sUniqueHammerID; // 0x570
static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[0]->m_instance);};
static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[1]->m_instance);};
static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[2]->m_instance);};
static bool &Get_m_bAllowPrecache(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[3]->m_instance);};
static LatchDirtyPermission_t &Get_s_nLatchPermissions(){return *reinterpret_cast<LatchDirtyPermission_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[4]->m_instance);};
static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast<int32_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[5]->m_instance);};
static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast<CBasePlayerController**>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[6]->m_instance);};
static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[7]->m_instance);};
static bool &Get_s_bAbsRecomputationEnabled(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[8]->m_instance);};
static bool &Get_s_bComputingInterpolatedValues(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[9]->m_instance);};
static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[10]->m_instance);};
static CUtlVector< C_BaseEntity* > &Get_gm_UsableObjects(){return *reinterpret_cast<CUtlVector< C_BaseEntity* >*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_BaseEntity")->m_static_fields[11]->m_instance);};
};
// Alignment: 0
// Size: 0x578
class CLogicalEntity : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 18
// Size: 0x7c0
class C_ColorCorrection : public C_BaseEntity
{
public:
Vector m_vecOrigin; // 0x578
// MNetworkEnable
float m_MinFalloff; // 0x584
// MNetworkEnable
float m_MaxFalloff; // 0x588
// MNetworkEnable
float m_flFadeInDuration; // 0x58c
// MNetworkEnable
float m_flFadeOutDuration; // 0x590
// MNetworkEnable
float m_flMaxWeight; // 0x594
// MNetworkEnable
float m_flCurWeight; // 0x598
// MNetworkEnable
char m_netlookupFilename[512]; // 0x59c
// MNetworkEnable
bool m_bEnabled; // 0x79c
// MNetworkEnable
bool m_bMaster; // 0x79d
// MNetworkEnable
bool m_bClientSide; // 0x79e
// MNetworkEnable
bool m_bExclusive; // 0x79f
bool m_bEnabledOnClient[1]; // 0x7a0
private:
[[maybe_unused]] uint8_t __pad07a1[0x3]; // 0x7a1
public:
float m_flCurWeightOnClient[1]; // 0x7a4
bool m_bFadingIn[1]; // 0x7a8
private:
[[maybe_unused]] uint8_t __pad07a9[0x3]; // 0x7a9
public:
float m_flFadeStartWeight[1]; // 0x7ac
float m_flFadeStartTime[1]; // 0x7b0
float m_flFadeDuration[1]; // 0x7b4
};
// Alignment: 1
// Size: 0x7a8
class C_EnvWindClientside : public C_BaseEntity
{
public:
// MNetworkEnable
// MNetworkDisable
C_EnvWindShared m_EnvWindShared; // 0x578
};
// Alignment: 3
// Size: 0x5a8
class C_EntityFlame : public C_BaseEntity
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hEntAttached; // 0x578
private:
[[maybe_unused]] uint8_t __pad057c[0x24]; // 0x57c
public:
CHandle< C_BaseEntity > m_hOldAttached; // 0x5a0
// MNetworkEnable
bool m_bCheapEffect; // 0x5a4
};
// Alignment: 4
// Size: 0x588
class C_BaseFire : public C_BaseEntity
{
public:
// MNetworkEnable
float m_flScale; // 0x578
// MNetworkEnable
float m_flStartScale; // 0x57c
// MNetworkEnable
float m_flScaleTime; // 0x580
// MNetworkEnable
uint32_t m_nFlags; // 0x584
};
// Alignment: 13
// Size: 0x5f0
class C_FireSmoke : public C_BaseFire
{
public:
// MNetworkEnable
int32_t m_nFlameModelIndex; // 0x588
// MNetworkEnable
int32_t m_nFlameFromAboveModelIndex; // 0x58c
float m_flScaleRegister; // 0x590
float m_flScaleStart; // 0x594
float m_flScaleEnd; // 0x598
float m_flScaleTimeStart; // 0x59c
float m_flScaleTimeEnd; // 0x5a0
float m_flChildFlameSpread; // 0x5a4
private:
[[maybe_unused]] uint8_t __pad05a8[0x10]; // 0x5a8
public:
float m_flClipPerc; // 0x5b8
bool m_bClipTested; // 0x5bc
bool m_bFadingOut; // 0x5bd
private:
[[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be
public:
TimedEvent m_tParticleSpawn; // 0x5c0
CFireOverlay* m_pFireOverlay; // 0x5c8
};
// Alignment: 4
// Size: 0x110
class CFireOverlay : public CGlowOverlay
{
public:
C_FireSmoke* m_pOwner; // 0xd0
Vector m_vBaseColors[4]; // 0xd8
float m_flScale; // 0x108
int32_t m_nGUID; // 0x10c
};
// Alignment: 1
// Size: 0xd8
class C_SunGlowOverlay : public CGlowOverlay
{
public:
bool m_bModulateByDot; // 0xd0
};
// Alignment: 0
// Size: 0x590
class C_TintController : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class C_TriggerCamera : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 13
// Size: 0x30
class CClientAlphaProperty : public IClientAlphaProperty
{
public:
uint8_t m_nRenderFX; // 0x10
uint8_t m_nRenderMode; // 0x11
struct
{
uint8_t m_bAlphaOverride: 1;
uint8_t m_bShadowAlphaOverride: 1;
uint8_t m_nReserved: 6;
uint8_t __pad2: 8;
}; // 16 bits
uint8_t m_nAlpha; // 0x13
uint16_t m_nDesyncOffset; // 0x14
uint16_t m_nReserved2; // 0x16
uint16_t m_nDistFadeStart; // 0x18
uint16_t m_nDistFadeEnd; // 0x1a
float m_flFadeScale; // 0x1c
float m_flRenderFxStartTime; // 0x20
float m_flRenderFxDuration; // 0x24
};
// Alignment: 4
// Size: 0x618
class C_SkyCamera : public C_BaseEntity
{
public:
// MNetworkEnable
sky3dparams_t m_skyboxData; // 0x578
// MNetworkEnable
CUtlStringToken m_skyboxSlotToken; // 0x608
bool m_bUseAngles; // 0x60c
private:
[[maybe_unused]] uint8_t __pad060d[0x3]; // 0x60d
public:
C_SkyCamera* m_pNext; // 0x610
};
// Alignment: 14
// Size: 0x190
class CBasePlayerVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28
CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108
CSkillFloat m_flHeadDamageMultiplier; // 0x120
CSkillFloat m_flChestDamageMultiplier; // 0x130
CSkillFloat m_flStomachDamageMultiplier; // 0x140
CSkillFloat m_flArmDamageMultiplier; // 0x150
CSkillFloat m_flLegDamageMultiplier; // 0x160
// MPropertyGroupName "Water"
float m_flHoldBreathTime; // 0x170
// MPropertyGroupName "Water"
// MPropertyDescription "Seconds between drowning ticks"
float m_flDrowningDamageInterval; // 0x174
// MPropertyGroupName "Water"
// MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)"
int32_t m_nDrowningDamageInitial; // 0x178
// MPropertyGroupName "Water"
// MPropertyDescription "Max damage done by a drowning tick"
int32_t m_nDrowningDamageMax; // 0x17c
// MPropertyGroupName "Water"
int32_t m_nWaterSpeed; // 0x180
// MPropertyGroupName "Use"
float m_flUseRange; // 0x184
// MPropertyGroupName "Use"
float m_flUseAngleTolerance; // 0x188
};
// Alignment: 2
// Size: 0x580
class C_EnvDetailController : public C_BaseEntity
{
public:
// MNetworkEnable
float m_flFadeStartDist; // 0x578
// MNetworkEnable
float m_flFadeEndDist; // 0x57c
};
// Alignment: 0
// Size: 0x578
class C_InfoLadderDismount : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class C_GameRulesProxy : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 15
// Size: 0x5d0
class C_PoseController : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bPoseValueParity; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
float m_fPoseValue; // 0x57c
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "0"
// MNetworkMaxValue "10"
float m_fInterpolationDuration; // 0x580
// MNetworkEnable
bool m_bInterpolationWrap; // 0x584
private:
[[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585
public:
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "-10"
// MNetworkMaxValue "10"
float m_fCycleFrequency; // 0x588
// MNetworkEnable
PoseController_FModType_t m_nFModType; // 0x58c
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "-1"
// MNetworkMaxValue "1"
float m_fFModTimeOffset; // 0x590
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "-10"
// MNetworkMaxValue "10"
float m_fFModRate; // 0x594
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "0"
// MNetworkMaxValue "10"
float m_fFModAmplitude; // 0x598
// MNetworkEnable
CHandle< C_BaseEntity > m_hProps[4]; // 0x59c
// MNetworkEnable
uint8_t m_chPoseIndex[4]; // 0x5ac
bool m_bOldPoseValueParity; // 0x5b0
private:
[[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1
public:
float m_fCurrentPoseValue; // 0x5b4
float m_fCurrentFMod; // 0x5b8
CInterpolatedValue m_PoseTransitionValue; // 0x5bc
};
// Alignment: 7
// Size: 0x128
class CPrecipitationVData : public CEntitySubclassVDataBase
{
public:
CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28
float m_flInnerDistance; // 0x108
ParticleAttachment_t m_nAttachType; // 0x10c
bool m_bBatchSameVolumeType; // 0x110
private:
[[maybe_unused]] uint8_t __pad0111[0x3]; // 0x111
public:
int32_t m_nRTEnvCP; // 0x114
int32_t m_nRTEnvCPComponent; // 0x118
private:
[[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c
public:
CUtlString m_szModifier; // 0x120
};
// Alignment: 5
// Size: 0x598
class C_SoundOpvarSetPointBase : public C_BaseEntity
{
public:
// MNetworkEnable
CUtlSymbolLarge m_iszStackName; // 0x578
// MNetworkEnable
CUtlSymbolLarge m_iszOperatorName; // 0x580
// MNetworkEnable
CUtlSymbolLarge m_iszOpvarName; // 0x588
// MNetworkEnable
int32_t m_iOpvarIndex; // 0x590
// MNetworkEnable
bool m_bUseAutoCompare; // 0x594
};
// Alignment: 0
// Size: 0x598
class C_SoundOpvarSetPointEntity : public C_SoundOpvarSetPointBase
{
public:
// no members available
};
// Alignment: 0
// Size: 0x598
class C_SoundOpvarSetAABBEntity : public C_SoundOpvarSetPointEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x598
class C_SoundOpvarSetOBBEntity : public C_SoundOpvarSetAABBEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x598
class C_SoundOpvarSetPathCornerEntity : public C_SoundOpvarSetPointEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x598
class C_SoundOpvarSetOBBWindEntity : public C_SoundOpvarSetPointBase
{
public:
// no members available
};
// Alignment: 30
// Size: 0x5c0
class C_TeamRoundTimer : public C_BaseEntity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnTimerPaused"
bool m_bTimerPaused; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
float m_flTimeRemaining; // 0x57c
// MNetworkEnable
float m_flTimerEndTime; // 0x580
// MNetworkEnable
bool m_bIsDisabled; // 0x584
// MNetworkEnable
bool m_bShowInHUD; // 0x585
private:
[[maybe_unused]] uint8_t __pad0586[0x2]; // 0x586
public:
// MNetworkEnable
int32_t m_nTimerLength; // 0x588
// MNetworkEnable
int32_t m_nTimerInitialLength; // 0x58c
// MNetworkEnable
int32_t m_nTimerMaxLength; // 0x590
// MNetworkEnable
bool m_bAutoCountdown; // 0x594
private:
[[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595
public:
// MNetworkEnable
int32_t m_nSetupTimeLength; // 0x598
// MNetworkEnable
int32_t m_nState; // 0x59c
// MNetworkEnable
bool m_bStartPaused; // 0x5a0
// MNetworkEnable
bool m_bInCaptureWatchState; // 0x5a1
private:
[[maybe_unused]] uint8_t __pad05a2[0x2]; // 0x5a2
public:
// MNetworkEnable
float m_flTotalTime; // 0x5a4
// MNetworkEnable
bool m_bStopWatchTimer; // 0x5a8
bool m_bFireFinished; // 0x5a9
bool m_bFire5MinRemain; // 0x5aa
bool m_bFire4MinRemain; // 0x5ab
bool m_bFire3MinRemain; // 0x5ac
bool m_bFire2MinRemain; // 0x5ad
bool m_bFire1MinRemain; // 0x5ae
bool m_bFire30SecRemain; // 0x5af
bool m_bFire10SecRemain; // 0x5b0
bool m_bFire5SecRemain; // 0x5b1
bool m_bFire4SecRemain; // 0x5b2
bool m_bFire3SecRemain; // 0x5b3
bool m_bFire2SecRemain; // 0x5b4
bool m_bFire1SecRemain; // 0x5b5
private:
[[maybe_unused]] uint8_t __pad05b6[0x2]; // 0x5b6
public:
int32_t m_nOldTimerLength; // 0x5b8
int32_t m_nOldTimerState; // 0x5bc
};
// Alignment: 6
// Size: 0x5b8
class CBaseNPCAbility : public C_BaseEntity
{
public:
// MNetworkEnable
CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x578
// MNetworkEnable
CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x57c
// MNetworkEnable
bool m_bHeld; // 0x580
// MNetworkEnable
bool m_bEnabled; // 0x581
// MNetworkEnable
bool m_bPrimaryAbility; // 0x582
private:
[[maybe_unused]] uint8_t __pad0583[0xd]; // 0x583
public:
// MNetworkEnable
// MNetworkVarEmbeddedNotFlattened
// MNetworkSendProxyRecipientsFilter
NPCAbilityTarget_t m_UsageTarget; // 0x590
};
// Alignment: 0
// Size: 0x5b8
class CNPCAbilityAddModifier : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 0
// Size: 0x5b8
class CNPCAbilityRemoveModifier : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 0
// Size: 0x5b8
class CNPCAbilityBaseRanged : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 0
// Size: 0x5b8
class CNPCAbilityMeleeAttack : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 0
// Size: 0x5b8
class CNPCAbilitySpawn : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 1
// Size: 0x5c0
class CNPCWeaponHitscan : public CBaseNPCAbility
{
public:
AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8
};
// Alignment: 2
// Size: 0x98
class CBaseModifierAura : public CSteamPalModifier
{
public:
CUtlVector< CHandle< C_BaseEntity > > m_hAuraUnits; // 0x78
ParticleIndex_t m_hAmbientEffect; // 0x90
};
// Alignment: 2
// Size: 0x598
class CPointModifierThinker : public C_BaseEntity
{
public:
CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x578
bool m_bSendToClients; // 0x590
};
// Alignment: 1
// Size: 0x580
class CSteamPalGameRulesProxy : public C_GameRulesProxy
{
public:
// MNetworkEnable
C_SteamPalGameRules* m_pSteamPalGameRules; // 0x578
};
// Alignment: 0
// Size: 0x98
class CSteamPalModifierAura : public CBaseModifierAura
{
public:
// no members available
};
// Alignment: 0
// Size: 0x98
class CSteamPalModifierAura_Default : public CSteamPalModifierAura
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class CSteampal_Turret_Manager : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class CSteamPal_Sequencer : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 16
// Size: 0x5c8
class CSteamPal_NameForm : public C_BaseEntity
{
public:
bool m_bPrevShowingWritingSurface; // 0x588
private:
[[maybe_unused]] uint8_t __pad0589[0x3]; // 0x589
public:
// MNetworkEnable
float m_flTimeUserLastDidUsefulActivity; // 0x58c
// MNetworkEnable
float m_flDurationCurrentTask; // 0x590
// MNetworkEnable
float m_flTimeStartedCurrentTask; // 0x594
// MNetworkEnable
// MNetworkChangeCallback "TypedNameChanged"
CUtlString m_strTypedName; // 0x598
// MNetworkEnable
bool m_bIsTaskSuccess; // 0x5a0
private:
[[maybe_unused]] uint8_t __pad05a1[0x3]; // 0x5a1
public:
// MNetworkEnable
float m_flLastMicLevel; // 0x5a4
// MNetworkEnable
bool m_bIsRecording; // 0x5a8
// MNetworkEnable
bool m_bIsWarmingUpMicrophone; // 0x5a9
private:
[[maybe_unused]] uint8_t __pad05aa[0x2]; // 0x5aa
public:
// MNetworkEnable
int32_t m_nNumFramesOfAudioDBsRecorded; // 0x5ac
// MNetworkEnable
bool m_bUserTypedWithKeyboard; // 0x5b0
// MNetworkEnable
bool m_bIsShowingWritingSurface; // 0x5b1
private:
[[maybe_unused]] uint8_t __pad05b2[0x2]; // 0x5b2
public:
// MNetworkEnable
float m_flFrameRateLimitBeforeDrawing; // 0x5b4
// MNetworkEnable
CHandle< CSteamPal_Desk > m_hDesk; // 0x5b8
// MNetworkEnable
CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x5bc
// MNetworkEnable
CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x5c0
};
// Alignment: 4
// Size: 0x5a8
class CSteamPal_Turret_Laser : public C_BaseEntity
{
public:
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hTurret; // 0x578
// MNetworkEnable
bool m_bIsLaserOn; // 0x57c
bool m_bPrevIsLaserOn; // 0x57d
private:
[[maybe_unused]] uint8_t __pad057e[0x22]; // 0x57e
public:
AttachmentHandle_t m_nLaserAttachment; // 0x5a0
};
// Alignment: 5
// Size: 0x588
class CSteamPal_Turret_Wing : public C_BaseEntity
{
public:
// MNetworkEnable
CHandle< CSteamPal_Turret > m_hTurret; // 0x578
// MNetworkEnable
bool m_bIsLeftWing; // 0x57c
// MNetworkEnable
bool m_bBeingControlled; // 0x57d
AttachmentHandle_t m_nMuzzleAttachments[2]; // 0x57e
// MNetworkEnable
int32_t m_nCurrentMuzzle; // 0x580
};
// Alignment: 7
// Size: 0x5c0
class CSteamPalConveyor : public C_BaseEntity
{
public:
float m_flCurrentConveyorOffset; // 0x578
float m_flLastClientThinkTime; // 0x57c
// MNetworkEnable
bool m_bMoving; // 0x580
private:
[[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581
public:
// MNetworkEnable
float m_flCurrentSpeed; // 0x584
// MNetworkEnable
float m_flAnimationDirection; // 0x588
private:
[[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseAnimating > > m_hConveyorModels; // 0x590
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x5a8
};
// Alignment: 2
// Size: 0x590
class CSteamPal_PaintStreamPathNode : public C_BaseEntity
{
public:
// MNetworkEnable
Vector m_vInTangentWorld; // 0x578
// MNetworkEnable
Vector m_vOutTangentWorld; // 0x584
};
// Alignment: 8
// Size: 0x618
class CSteamPal_PaintStream : public C_BaseEntity
{
public:
float m_flPrevClientThinkTime; // 0x578
bool m_bPrevIsOn; // 0x57c
private:
[[maybe_unused]] uint8_t __pad057d[0x1b]; // 0x57d
public:
// MNetworkEnable
bool m_bIsOn; // 0x598
private:
[[maybe_unused]] uint8_t __pad0599[0x3]; // 0x599
public:
// MNetworkEnable
float m_flSpeed; // 0x59c
// MNetworkEnable
float m_flPathLength; // 0x5a0
// MNetworkEnable
int32_t m_nNumPaintBlobs; // 0x5a4
// MNetworkEnable
SteamPalPaintType m_PaintType; // 0x5a8
private:
[[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x5b0
};
// Alignment: 0
// Size: 0x578
class CSteamPal_Projectile_Tag_Marker : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 3
// Size: 0x598
class CSteamPalCameraPath : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bRelativeFOV; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
Vector m_flFOVData; // 0x57c
// MNetworkEnable
Vector m_vVelocity; // 0x588
};
// Alignment: 3
// Size: 0x588
class CSteamPalPointCamera : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bRelativeFOV; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
float m_flFOV; // 0x57c
// MNetworkEnable
bool m_bActive; // 0x580
};
// Alignment: 1
// Size: 0x5c0
class CNPCApplianceWeaponBullets : public CBaseNPCAbility
{
public:
AttachmentHandle_t m_nTracerAttachmentIndex; // 0x5b8
};
// Alignment: 0
// Size: 0x5b8
class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class C_SteampalKillVolume : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 3
// Size: 0x5d0
class C_BaseCurveOverTime : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bLooping; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x7]; // 0x579
public:
// MNetworkEnable
CUtlSymbolLarge m_CurveString; // 0x580
private:
[[maybe_unused]] uint8_t __pad0588[0x40]; // 0x588
public:
// MNetworkEnable
float m_flStartTime; // 0x5c8
};
// Alignment: 2
// Size: 0x5e8
class C_PointRenderAttrCurve : public C_BaseCurveOverTime
{
public:
// MNetworkEnable
CUtlSymbolLarge m_AttrName; // 0x5d0
// MNetworkEnable
CUtlSymbolLarge m_ActiveComboName; // 0x5d8
};
// Alignment: 0
// Size: 0x578
class C_PointEntity : public C_BaseEntity
{
public:
// no members available
};
// Alignment: 20
// Size: 0x16d0
class C_EnvCombinedLightProbeVolume : public C_BaseEntity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "StateChanged"
Color m_Color; // 0x1638
// MNetworkEnable
// MNetworkChangeCallback "StateChanged"
float m_flBrightness; // 0x163c
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x1640
// MNetworkEnable
bool m_bCustomCubemapTexture; // 0x1648
private:
[[maybe_unused]] uint8_t __pad1649[0x7]; // 0x1649
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1650
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1658
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1660
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1668
// MNetworkEnable
Vector m_vBoxMins; // 0x1670
// MNetworkEnable
Vector m_vBoxMaxs; // 0x167c
// MNetworkEnable
CUtlSymbolLarge m_LightGroups; // 0x1688
// MNetworkEnable
bool m_bMoveable; // 0x1690
private:
[[maybe_unused]] uint8_t __pad1691[0x3]; // 0x1691
public:
// MNetworkEnable
int32_t m_nHandshake; // 0x1694
// MNetworkEnable
int32_t m_nEnvCubeMapArrayIndex; // 0x1698
// MNetworkEnable
int32_t m_nPriority; // 0x169c
// MNetworkEnable
int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x16a0
// MNetworkEnable
bool m_bStartDisabled; // 0x16a4
private:
[[maybe_unused]] uint8_t __pad16a5[0x3]; // 0x16a5
public:
// MNetworkEnable
float m_flEdgeFadeDist; // 0x16a8
// MNetworkEnable
Vector m_vEdgeFadeDists; // 0x16ac
private:
[[maybe_unused]] uint8_t __pad16b8[0x11]; // 0x16b8
public:
// MNetworkEnable
bool m_bEnabled; // 0x16c9
};
// Alignment: 21
// Size: 0x6e8
class C_EnvCubemap : public C_BaseEntity
{
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x670
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x678
// MNetworkEnable
bool m_bCustomCubemapTexture; // 0x680
private:
[[maybe_unused]] uint8_t __pad0681[0x3]; // 0x681
public:
// MNetworkEnable
float m_flInfluenceRadius; // 0x684
// MNetworkEnable
Vector m_vBoxProjectMins; // 0x688
// MNetworkEnable
Vector m_vBoxProjectMaxs; // 0x694
// MNetworkEnable
CUtlSymbolLarge m_LightGroups; // 0x6a0
// MNetworkEnable
bool m_bMoveable; // 0x6a8
private:
[[maybe_unused]] uint8_t __pad06a9[0x3]; // 0x6a9
public:
// MNetworkEnable
int32_t m_nHandshake; // 0x6ac
// MNetworkEnable
int32_t m_nEnvCubeMapArrayIndex; // 0x6b0
// MNetworkEnable
int32_t m_nPriority; // 0x6b4
// MNetworkEnable
int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x6b8
// MNetworkEnable
float m_flEdgeFadeDist; // 0x6bc
// MNetworkEnable
Vector m_vEdgeFadeDists; // 0x6c0
// MNetworkEnable
float m_flDiffuseScale; // 0x6cc
// MNetworkEnable
bool m_bStartDisabled; // 0x6d0
// MNetworkEnable
bool m_bDefaultEnvMap; // 0x6d1
// MNetworkEnable
bool m_bDefaultSpecEnvMap; // 0x6d2
// MNetworkEnable
bool m_bRenderDepthMap; // 0x6d3
// MNetworkEnable
bool m_bCopyDiffuseFromDefaultCubemap; // 0x6d4
private:
[[maybe_unused]] uint8_t __pad06d5[0xb]; // 0x6d5
public:
// MNetworkEnable
bool m_bEnabled; // 0x6e0
};
// Alignment: 0
// Size: 0x6e8
class C_EnvCubemapBox : public C_EnvCubemap
{
public:
// no members available
};
// Alignment: 18
// Size: 0x5c8
class C_EnvCubemapFog : public C_BaseEntity
{
public:
// MNetworkEnable
float m_flEndDistance; // 0x578
// MNetworkEnable
float m_flStartDistance; // 0x57c
// MNetworkEnable
float m_flFogFalloffExponent; // 0x580
// MNetworkEnable
bool m_bHeightFogEnabled; // 0x584
private:
[[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585
public:
// MNetworkEnable
float m_flFogHeightWidth; // 0x588
// MNetworkEnable
float m_flFogHeightEnd; // 0x58c
// MNetworkEnable
float m_flFogHeightStart; // 0x590
// MNetworkEnable
float m_flFogHeightExponent; // 0x594
// MNetworkEnable
float m_flLODBias; // 0x598
// MNetworkEnable
bool m_bActive; // 0x59c
// MNetworkEnable
bool m_bStartDisabled; // 0x59d
private:
[[maybe_unused]] uint8_t __pad059e[0x2]; // 0x59e
public:
// MNetworkEnable
float m_flFogMaxOpacity; // 0x5a0
// MNetworkEnable
int32_t m_nCubemapSourceType; // 0x5a4
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x5a8
// MNetworkEnable
CUtlSymbolLarge m_iszSkyEntity; // 0x5b0
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x5b8
// MNetworkEnable
bool m_bHasHeightFogEnd; // 0x5c0
bool m_bFirstTime; // 0x5c1
};
// Alignment: 12
// Size: 0x15a0
class C_EnvLightProbeVolume : public C_BaseEntity
{
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x1540
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x1548
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x1550
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x1558
// MNetworkEnable
Vector m_vBoxMins; // 0x1560
// MNetworkEnable
Vector m_vBoxMaxs; // 0x156c
// MNetworkEnable
CUtlSymbolLarge m_LightGroups; // 0x1578
// MNetworkEnable
bool m_bMoveable; // 0x1580
private:
[[maybe_unused]] uint8_t __pad1581[0x3]; // 0x1581
public:
// MNetworkEnable
int32_t m_nHandshake; // 0x1584
// MNetworkEnable
int32_t m_nPriority; // 0x1588
// MNetworkEnable
bool m_bStartDisabled; // 0x158c
private:
[[maybe_unused]] uint8_t __pad158d[0xc]; // 0x158d
public:
// MNetworkEnable
bool m_bEnabled; // 0x1599
};
// Alignment: 8
// Size: 0x5a0
class C_TonemapController2 : public C_BaseEntity
{
public:
// MNetworkEnable
float m_flAutoExposureMin; // 0x578
// MNetworkEnable
float m_flAutoExposureMax; // 0x57c
// MNetworkEnable
float m_flTonemapPercentTarget; // 0x580
// MNetworkEnable
float m_flTonemapPercentBrightPixels; // 0x584
// MNetworkEnable
float m_flTonemapMinAvgLum; // 0x588
// MNetworkEnable
float m_flExposureAdaptationSpeedUp; // 0x58c
// MNetworkEnable
float m_flExposureAdaptationSpeedDown; // 0x590
// MNetworkEnable
float m_flTonemapEVSmoothingRange; // 0x594
};
// Alignment: 28
// Size: 0x5f8
class C_EnvVolumetricFogController : public C_BaseEntity
{
public:
// MNetworkEnable
float m_flScattering; // 0x578
// MNetworkEnable
float m_flAnisotropy; // 0x57c
// MNetworkEnable
float m_flFadeSpeed; // 0x580
// MNetworkEnable
float m_flDrawDistance; // 0x584
// MNetworkEnable
float m_flFadeInStart; // 0x588
// MNetworkEnable
float m_flFadeInEnd; // 0x58c
// MNetworkEnable
float m_flIndirectStrength; // 0x590
// MNetworkEnable
int32_t m_nIndirectTextureDimX; // 0x594
// MNetworkEnable
int32_t m_nIndirectTextureDimY; // 0x598
// MNetworkEnable
int32_t m_nIndirectTextureDimZ; // 0x59c
// MNetworkEnable
Vector m_vBoxMins; // 0x5a0
// MNetworkEnable
Vector m_vBoxMaxs; // 0x5ac
// MNetworkEnable
bool m_bActive; // 0x5b8
private:
[[maybe_unused]] uint8_t __pad05b9[0x3]; // 0x5b9
public:
// MNetworkEnable
float m_flStartAnisoTime; // 0x5bc
// MNetworkEnable
float m_flStartScatterTime; // 0x5c0
// MNetworkEnable
float m_flStartDrawDistanceTime; // 0x5c4
// MNetworkEnable
float m_flStartAnisotropy; // 0x5c8
// MNetworkEnable
float m_flStartScattering; // 0x5cc
// MNetworkEnable
float m_flStartDrawDistance; // 0x5d0
// MNetworkEnable
float m_flDefaultAnisotropy; // 0x5d4
// MNetworkEnable
float m_flDefaultScattering; // 0x5d8
// MNetworkEnable
float m_flDefaultDrawDistance; // 0x5dc
// MNetworkEnable
bool m_bStartDisabled; // 0x5e0
// MNetworkEnable
bool m_bEnableIndirect; // 0x5e1
// MNetworkEnable
bool m_bIsMaster; // 0x5e2
private:
[[maybe_unused]] uint8_t __pad05e3[0x5]; // 0x5e3
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x5e8
// MNetworkEnable
int32_t m_nForceRefreshCount; // 0x5f0
bool m_bFirstTime; // 0x5f4
};
// Alignment: 7
// Size: 0x5a8
class C_EnvVolumetricFogVolume : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bActive; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
Vector m_vBoxMins; // 0x57c
// MNetworkEnable
Vector m_vBoxMaxs; // 0x588
// MNetworkEnable
bool m_bStartDisabled; // 0x594
private:
[[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595
public:
// MNetworkEnable
float m_flStrength; // 0x598
// MNetworkEnable
int32_t m_nFalloffShape; // 0x59c
// MNetworkEnable
float m_flFalloffExponent; // 0x5a0
};
// Alignment: 3
// Size: 0x5e8
class C_FogController : public C_BaseEntity
{
public:
// MNetworkEnable
fogparams_t m_fog; // 0x578
bool m_bUseAngles; // 0x5e0
private:
[[maybe_unused]] uint8_t __pad05e1[0x3]; // 0x5e1
public:
int32_t m_iChangedVariables; // 0x5e4
};
// Alignment: 0
// Size: 0x578
class CInfoTarget : public C_PointEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x578
class CInfoParticleTarget : public C_PointEntity
{
public:
// no members available
};
// Alignment: 3
// Size: 0x590
class C_InfoVisibilityBox : public C_BaseEntity
{
public:
// MNetworkEnable
int32_t m_nMode; // 0x57c
// MNetworkEnable
Vector m_vBoxSize; // 0x580
// MNetworkEnable
bool m_bEnabled; // 0x58c
};
// Alignment: 8
// Size: 0x5c0
class CInfoWorldLayer : public C_BaseEntity
{
public:
CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x578
// MNetworkEnable
CUtlSymbolLarge m_worldName; // 0x5a0
// MNetworkEnable
CUtlSymbolLarge m_layerName; // 0x5a8
// MNetworkEnable
bool m_bWorldLayerVisible; // 0x5b0
// MNetworkEnable
bool m_bEntitiesSpawned; // 0x5b1
bool m_bCreateAsChildSpawnGroup; // 0x5b2
private:
[[maybe_unused]] uint8_t __pad05b3[0x1]; // 0x5b3
public:
uint32_t m_hLayerSpawnGroup; // 0x5b4
bool m_bWorldLayerActuallyVisible; // 0x5b8
};
// Alignment: 24
// Size: 0x5d8
class C_PointCamera : public C_BaseEntity
{
public:
// MNetworkEnable
float m_FOV; // 0x578
// MNetworkEnable
float m_Resolution; // 0x57c
// MNetworkEnable
bool m_bFogEnable; // 0x580
// MNetworkEnable
Color m_FogColor; // 0x581
private:
[[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585
public:
// MNetworkEnable
float m_flFogStart; // 0x588
// MNetworkEnable
float m_flFogEnd; // 0x58c
// MNetworkEnable
float m_flFogMaxDensity; // 0x590
// MNetworkEnable
bool m_bActive; // 0x594
// MNetworkEnable
bool m_bUseScreenAspectRatio; // 0x595
private:
[[maybe_unused]] uint8_t __pad0596[0x2]; // 0x596
public:
// MNetworkEnable
float m_flAspectRatio; // 0x598
// MNetworkEnable
bool m_bNoSky; // 0x59c
private:
[[maybe_unused]] uint8_t __pad059d[0x3]; // 0x59d
public:
// MNetworkEnable
float m_fBrightness; // 0x5a0
// MNetworkEnable
float m_flZFar; // 0x5a4
// MNetworkEnable
float m_flZNear; // 0x5a8
// MNetworkEnable
bool m_bDofEnabled; // 0x5ac
private:
[[maybe_unused]] uint8_t __pad05ad[0x3]; // 0x5ad
public:
// MNetworkEnable
float m_flDofNearBlurry; // 0x5b0
// MNetworkEnable
float m_flDofNearCrisp; // 0x5b4
// MNetworkEnable
float m_flDofFarCrisp; // 0x5b8
// MNetworkEnable
float m_flDofFarBlurry; // 0x5bc
// MNetworkEnable
float m_flDofTiltToGround; // 0x5c0
float m_TargetFOV; // 0x5c4
float m_DegreesPerSecond; // 0x5c8
bool m_bIsOn; // 0x5cc
private:
[[maybe_unused]] uint8_t __pad05cd[0x3]; // 0x5cd
public:
C_PointCamera* m_pNext; // 0x5d0
};
// Alignment: 9
// Size: 0x5a0
class C_PointCameraVFOV : public C_BaseEntity
{
public:
float m_flVerticalFOV; // 0x578
float m_flZFar; // 0x57c
float m_flZNear; // 0x580
bool m_bDofEnabled; // 0x584
private:
[[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585
public:
float m_flDofNearBlurry; // 0x588
float m_flDofNearCrisp; // 0x58c
float m_flDofFarCrisp; // 0x590
float m_flDofFarBlurry; // 0x594
float m_flDofTiltToGround; // 0x598
};
// Alignment: 12
// Size: 0x608
class CPointTemplate : public CLogicalEntity
{
public:
CUtlSymbolLarge m_iszWorldName; // 0x578
CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x580
CUtlSymbolLarge m_iszEntityFilterName; // 0x588
float m_flTimeoutInterval; // 0x590
bool m_bAsynchronouslySpawnEntities; // 0x594
private:
[[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595
public:
CEntityIOOutput m_pOutputOnSpawned; // 0x598
PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x5c0
PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x5c4
CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x5c8
CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x5e0
HSCRIPT m_ScriptSpawnCallback; // 0x5f8
HSCRIPT m_ScriptCallbackScope; // 0x600
};
// Alignment: 4
// Size: 0x5a0
class C_SoundAreaEntityBase : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bDisabled; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x7]; // 0x579
public:
bool m_bWasEnabled; // 0x580
private:
[[maybe_unused]] uint8_t __pad0581[0x7]; // 0x581
public:
// MNetworkEnable
CUtlSymbolLarge m_iszSoundAreaType; // 0x588
// MNetworkEnable
Vector m_vPos; // 0x590
};
// Alignment: 1
// Size: 0x5a8
class C_SoundAreaEntitySphere : public C_SoundAreaEntityBase
{
public:
// MNetworkEnable
float m_flRadius; // 0x5a0
};
// Alignment: 2
// Size: 0x5b8
class C_SoundAreaEntityOrientedBox : public C_SoundAreaEntityBase
{
public:
// MNetworkEnable
Vector m_vMin; // 0x5a0
// MNetworkEnable
Vector m_vMax; // 0x5ac
};
// Alignment: 3
// Size: 0x618
class C_Team : public C_BaseEntity
{
public:
// MNetworkEnable
// MNetworkAlias "m_aPlayers"
C_NetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x578
// MNetworkEnable
int32_t m_iScore; // 0x590
// MNetworkEnable
char m_szTeamname[129]; // 0x594
};
// Alignment: 1
// Size: 0x5c8
class CPlayerResource : public C_BaseEntity
{
public:
// MNetworkEnable
C_UtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x580
};
// Alignment: 32
// Size: 0x860
class C_BaseModelEntity : public C_BaseEntity
{
public:
// MNetworkEnable
// MNetworkUserGroup "CRenderComponent"
// MNetworkAlias "CRenderComponent"
// MNetworkTypeAlias "CRenderComponent"
CRenderComponent* m_CRenderComponent; // 0x578
int32_t m_nLastAddDecal; // 0x580
int32_t m_nDecalsAdded; // 0x584
// MNetworkEnable
// MNetworkChangeCallback "OnRenderModeChanged"
RenderMode_t m_nRenderMode; // 0x588
// MNetworkEnable
RenderFx_t m_nRenderFX; // 0x589
bool m_bAllowFadeInView; // 0x58a
// MNetworkEnable
// MNetworkChangeCallback "OnColorChanged"
Color m_clrRender; // 0x58b
private:
[[maybe_unused]] uint8_t __pad058f[0x1]; // 0x58f
public:
// MNetworkEnable
// MNetworkChangeCallback "OnRenderAttributesChanged"
CUtlStringToken m_RenderAttributeIDs[4]; // 0x590
// MNetworkEnable
// MNetworkChangeCallback "OnRenderAttributesChanged"
Vector4D m_RenderAttributeValues[4]; // 0x5a0
private:
[[maybe_unused]] uint8_t __pad05e0[0x18]; // 0x5e0
public:
// MNetworkEnable
// MNetworkChangeCallback "OnLightGroupChanged"
CUtlStringToken m_LightGroup; // 0x5f8
// MNetworkEnable
bool m_bRenderToCubemaps; // 0x5fc
private:
[[maybe_unused]] uint8_t __pad05fd[0x3]; // 0x5fd
public:
// MNetworkEnable
CCollisionProperty m_Collision; // 0x600
// MNetworkEnable
CGlowProperty m_Glow; // 0x6b0
// MNetworkEnable
float m_flGlowBackfaceMult; // 0x700
// MNetworkEnable
float m_fadeMinDist; // 0x704
// MNetworkEnable
float m_fadeMaxDist; // 0x708
// MNetworkEnable
float m_flFadeScale; // 0x70c
// MNetworkEnable
float m_flShadowStrength; // 0x710
// MNetworkEnable
uint8_t m_nObjectCulling; // 0x714
private:
[[maybe_unused]] uint8_t __pad0715[0x3]; // 0x715
public:
// MNetworkEnable
int32_t m_nAddDecal; // 0x718
// MNetworkEnable
Vector m_vDecalPosition; // 0x71c
// MNetworkEnable
Vector m_vDecalForwardAxis; // 0x728
// MNetworkEnable
float m_flDecalHealBloodRate; // 0x734
// MNetworkEnable
float m_flDecalHealHeightRate; // 0x738
private:
[[maybe_unused]] uint8_t __pad073c[0x4]; // 0x73c
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x740
// MNetworkEnable
// MNetworkPriority "32"
// MNetworkUserGroup "Player"
// MNetworkChangeCallback "OnViewOffsetChanged"
CNetworkViewOffsetVector m_vecViewOffset; // 0x758
private:
[[maybe_unused]] uint8_t __pad07b8[0x8]; // 0x7b8
public:
CClientAlphaProperty* m_pClientAlphaProperty; // 0x7c0
Color m_ClientOverrideTint; // 0x7c8
bool m_bUseClientOverrideTint; // 0x7cc
private:
[[maybe_unused]] uint8_t __pad07cd[0x3b]; // 0x7cd
public:
// MNetworkEnable
// MNetworkChangeCallback "OnLightingOriginChanged"
Vector m_vLightingOrigin; // 0x808
// MNetworkEnable
// MNetworkChangeCallback "OnLightingOriginChanged"
bool m_bFixupLightingOriginToPlayerSide; // 0x814
private:
[[maybe_unused]] uint8_t __pad0815[0x3]; // 0x815
public:
// MNetworkEnable
C_UtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x818
};
// Alignment: 0
// Size: 0x860
class CServerOnlyModelEntity : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x860
class C_ModelPointEntity : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 7
// Size: 0x5d0
class CLogicRelay : public CLogicalEntity
{
public:
CEntityIOOutput m_OnTrigger; // 0x578
CEntityIOOutput m_OnSpawn; // 0x5a0
bool m_bDisabled; // 0x5c8
bool m_bWaitForRefire; // 0x5c9
bool m_bTriggerOnce; // 0x5ca
bool m_bFastRetrigger; // 0x5cb
bool m_bPassthoughCaller; // 0x5cc
};
// Alignment: 17
// Size: 0xdf8
class C_ParticleSystem : public C_BaseModelEntity
{
public:
// MNetworkEnable
char m_szSnapshotFileName[512]; // 0x860
// MNetworkEnable
bool m_bActive; // 0xa60
// MNetworkEnable
bool m_bFrozen; // 0xa61
private:
[[maybe_unused]] uint8_t __pad0a62[0x2]; // 0xa62
public:
// MNetworkEnable
int32_t m_nStopType; // 0xa64
// MNetworkEnable
bool m_bAnimateDuringGameplayPause; // 0xa68
private:
[[maybe_unused]] uint8_t __pad0a69[0x7]; // 0xa69
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0xa70
// MNetworkEnable
float m_flStartTime; // 0xa78
// MNetworkEnable
float m_flPreSimTime; // 0xa7c
// MNetworkEnable
Vector m_vServerControlPoints[4]; // 0xa80
// MNetworkEnable
uint8_t m_iServerControlPointAssignments[4]; // 0xab0
// MNetworkEnable
CHandle< C_BaseEntity > m_hControlPointEnts[64]; // 0xab4
bool m_bNoSave; // 0xbb4
bool m_bStartActive; // 0xbb5
private:
[[maybe_unused]] uint8_t __pad0bb6[0x2]; // 0xbb6
public:
CUtlSymbolLarge m_iszEffectName; // 0xbb8
CUtlSymbolLarge m_iszControlPointNames[64]; // 0xbc0
private:
[[maybe_unused]] uint8_t __pad0dc0[0x20]; // 0xdc0
public:
bool m_bOldActive; // 0xde0
bool m_bOldFrozen; // 0xde1
};
// Alignment: 16
// Size: 0x680
class C_PathParticleRope : public C_BaseEntity
{
public:
bool m_bStartActive; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
float m_flMaxSimulationTime; // 0x57c
CUtlSymbolLarge m_iszEffectName; // 0x580
CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x588
// MNetworkEnable
float m_flParticleSpacing; // 0x5a0
// MNetworkEnable
// MNetworkChangeCallback "parametersChanged"
float m_flSlack; // 0x5a4
// MNetworkEnable
// MNetworkChangeCallback "parametersChanged"
float m_flRadius; // 0x5a8
// MNetworkEnable
// MNetworkChangeCallback "parametersChanged"
Color m_ColorTint; // 0x5ac
// MNetworkEnable
// MNetworkChangeCallback "effectStateChanged"
int32_t m_nEffectState; // 0x5b0
private:
[[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x5b8
// MNetworkEnable
C_NetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x5c0
// MNetworkEnable
C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x5d8
// MNetworkEnable
C_NetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x5f0
// MNetworkEnable
C_NetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x608
// MNetworkEnable
// MNetworkChangeCallback "pinStateChanged"
C_NetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x620
// MNetworkEnable
C_NetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x638
};
// Alignment: 7
// Size: 0x888
class C_DynamicLight : public C_BaseModelEntity
{
public:
// MNetworkEnable
uint8_t m_Flags; // 0x860
// MNetworkEnable
uint8_t m_LightStyle; // 0x861
private:
[[maybe_unused]] uint8_t __pad0862[0x2]; // 0x862
public:
// MNetworkEnable
float m_Radius; // 0x864
// MNetworkEnable
int32_t m_Exponent; // 0x868
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "360"
float m_InnerAngle; // 0x86c
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "360"
float m_OuterAngle; // 0x870
// MNetworkEnable
float m_SpotRadius; // 0x874
};
// Alignment: 9
// Size: 0x608
class C_EnvScreenOverlay : public C_PointEntity
{
public:
// MNetworkEnable
CUtlSymbolLarge m_iszOverlayNames[10]; // 0x578
// MNetworkEnable
// MNetworkBitCount "11"
// MNetworkMinValue "-1"
// MNetworkMaxValue "63"
float m_flOverlayTimes[10]; // 0x5c8
// MNetworkEnable
float m_flStartTime; // 0x5f0
// MNetworkEnable
int32_t m_iDesiredOverlay; // 0x5f4
// MNetworkEnable
bool m_bIsActive; // 0x5f8
bool m_bWasActive; // 0x5f9
private:
[[maybe_unused]] uint8_t __pad05fa[0x2]; // 0x5fa
public:
int32_t m_iCachedDesiredOverlay; // 0x5fc
int32_t m_iCurrentOverlay; // 0x600
float m_flCurrentOverlayTime; // 0x604
};
// Alignment: 3
// Size: 0x870
class C_FuncTrackTrain : public C_BaseModelEntity
{
public:
int32_t m_nLongAxis; // 0x860
float m_flRadius; // 0x864
float m_flLineLength; // 0x868
};
// Alignment: 8
// Size: 0x978
class C_LightGlow : public C_BaseModelEntity
{
public:
// MNetworkEnable
uint32_t m_nHorizontalSize; // 0x860
// MNetworkEnable
uint32_t m_nVerticalSize; // 0x864
// MNetworkEnable
uint32_t m_nMinDist; // 0x868
// MNetworkEnable
uint32_t m_nMaxDist; // 0x86c
// MNetworkEnable
uint32_t m_nOuterMaxDist; // 0x870
// MNetworkEnable
// MNetworkBitCount "6"
// MNetworkMinValue "0"
// MNetworkMaxValue "64"
// MNetworkEncodeFlags
float m_flGlowProxySize; // 0x874
// MNetworkEnable
// MNetworkMinValue "0"
// MNetworkMaxValue "100"
// MNetworkChangeCallback "OnHDRColorScaleChanged"
float m_flHDRColorScale; // 0x878
private:
[[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c
public:
C_LightGlowOverlay m_Glow; // 0x880
};
// Alignment: 1
// Size: 0x580
class C_RagdollManager : public C_BaseEntity
{
public:
// MNetworkEnable
int8_t m_iCurrentMaxRagdollCount; // 0x578
};
// Alignment: 2
// Size: 0x870
class C_SpotlightEnd : public C_BaseModelEntity
{
public:
// MNetworkEnable
float m_flLightScale; // 0x860
// MNetworkEnable
float m_Radius; // 0x864
};
// Alignment: 4
// Size: 0x588
class C_PointHMDAnchor : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bDisabled; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
float m_flEnableTime; // 0x57c
// MNetworkEnable
int32_t m_nPlayerIndex; // 0x580
int32_t m_nLastSimulateFrame; // 0x584
};
// Alignment: 0
// Size: 0x588
class C_PointHMDAnchorOverride : public C_PointHMDAnchor
{
public:
// no members available
};
// Alignment: 25
// Size: 0x5f0
class C_PointValueRemapper : public C_BaseEntity
{
public:
// MNetworkEnable
bool m_bDisabled; // 0x578
bool m_bDisabledOld; // 0x579
// MNetworkEnable
bool m_bUpdateOnClient; // 0x57a
private:
[[maybe_unused]] uint8_t __pad057b[0x1]; // 0x57b
public:
// MNetworkEnable
ValueRemapperInputType_t m_nInputType; // 0x57c
// MNetworkEnable
CHandle< C_BaseEntity > m_hRemapLineStart; // 0x580
// MNetworkEnable
CHandle< C_BaseEntity > m_hRemapLineEnd; // 0x584
// MNetworkEnable
float m_flMaximumChangePerSecond; // 0x588
// MNetworkEnable
float m_flDisengageDistance; // 0x58c
// MNetworkEnable
float m_flEngageDistance; // 0x590
// MNetworkEnable
bool m_bRequiresUseKey; // 0x594
private:
[[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595
public:
// MNetworkEnable
ValueRemapperOutputType_t m_nOutputType; // 0x598
private:
[[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseEntity > > m_hOutputEntities; // 0x5a0
// MNetworkEnable
ValueRemapperHapticsType_t m_nHapticsType; // 0x5b8
// MNetworkEnable
ValueRemapperMomentumType_t m_nMomentumType; // 0x5bc
// MNetworkEnable
float m_flMomentumModifier; // 0x5c0
// MNetworkEnable
float m_flSnapValue; // 0x5c4
float m_flCurrentMomentum; // 0x5c8
// MNetworkEnable
ValueRemapperRatchetType_t m_nRatchetType; // 0x5cc
float m_flRatchetOffset; // 0x5d0
// MNetworkEnable
float m_flInputOffset; // 0x5d4
bool m_bEngaged; // 0x5d8
bool m_bFirstUpdate; // 0x5d9
private:
[[maybe_unused]] uint8_t __pad05da[0x2]; // 0x5da
public:
float m_flPreviousValue; // 0x5dc
float m_flPreviousUpdateTickTime; // 0x5e0
Vector m_vecPreviousTestPoint; // 0x5e4
};
// Alignment: 12
// Size: 0xad8
class C_PointWorldText : public C_ModelPointEntity
{
public:
bool m_bForceRecreateNextUpdate; // 0x868
private:
[[maybe_unused]] uint8_t __pad0869[0xf]; // 0x869
public:
// MNetworkEnable
char m_messageText[512]; // 0x878
// MNetworkEnable
char m_FontName[64]; // 0xa78
// MNetworkEnable
bool m_bEnabled; // 0xab8
// MNetworkEnable
bool m_bFullbright; // 0xab9
private:
[[maybe_unused]] uint8_t __pad0aba[0x2]; // 0xaba
public:
// MNetworkEnable
float m_flWorldUnitsPerPx; // 0xabc
// MNetworkEnable
float m_flFontSize; // 0xac0
// MNetworkEnable
float m_flDepthOffset; // 0xac4
// MNetworkEnable
Color m_Color; // 0xac8
// MNetworkEnable
PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0xacc
// MNetworkEnable
PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0xad0
// MNetworkEnable
PointWorldTextReorientMode_t m_nReorientMode; // 0xad4
};
// Alignment: 2
// Size: 0x580
class C_HandleTest : public C_BaseEntity
{
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_Handle; // 0x578
// MNetworkEnable
bool m_bSendHandle; // 0x57c
};
// Alignment: 1
// Size: 0x7a8
class C_EnvWind : public C_BaseEntity
{
public:
// MNetworkEnable
C_EnvWindShared m_EnvWindShared; // 0x578
};
// Alignment: 0
// Size: 0x860
class C_BaseToggle : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 3
// Size: 0x870
class C_BaseButton : public C_BaseToggle
{
public:
// MNetworkEnable
CHandle< C_BaseModelEntity > m_glowEntity; // 0x860
// MNetworkEnable
bool m_usable; // 0x864
private:
[[maybe_unused]] uint8_t __pad0865[0x3]; // 0x865
public:
// MNetworkEnable
CUtlSymbolLarge m_szDisplayText; // 0x868
};
// Alignment: 0
// Size: 0x860
class C_PrecipitationBlocker : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 13
// Size: 0x8a8
class C_EntityDissolve : public C_BaseModelEntity
{
public:
// MNetworkEnable
float m_flStartTime; // 0x868
// MNetworkEnable
float m_flFadeInStart; // 0x86c
// MNetworkEnable
float m_flFadeInLength; // 0x870
// MNetworkEnable
float m_flFadeOutModelStart; // 0x874
// MNetworkEnable
float m_flFadeOutModelLength; // 0x878
// MNetworkEnable
float m_flFadeOutStart; // 0x87c
// MNetworkEnable
float m_flFadeOutLength; // 0x880
float m_flNextSparkTime; // 0x884
// MNetworkEnable
EntityDisolveType_t m_nDissolveType; // 0x888
// MNetworkEnable
Vector m_vDissolverOrigin; // 0x88c
// MNetworkEnable
uint32_t m_nMagnitude; // 0x898
bool m_bCoreExplode; // 0x89c
bool m_bLinkedToServerEnt; // 0x89d
};
// Alignment: 0
// Size: 0xb48
class C_EnvProjectedTexture : public C_ModelPointEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x860
class C_FuncBrush : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 3
// Size: 0x878
class C_FuncElectrifiedVolume : public C_FuncBrush
{
public:
ParticleIndex_t m_nAmbientEffect; // 0x860
private:
[[maybe_unused]] uint8_t __pad0864[0x4]; // 0x864
public:
// MNetworkEnable
CUtlSymbolLarge m_EffectName; // 0x868
// MNetworkEnable
bool m_bState; // 0x870
};
// Alignment: 0
// Size: 0x860
class C_FuncRotating : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x860
class C_Breakable : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x860
class C_PhysBox : public C_Breakable
{
public:
// no members available
};
// Alignment: 41
// Size: 0xc48
class C_RopeKeyframe : public C_BaseModelEntity
{
public:
CBitVec< 10 > m_LinksTouchingSomething; // 0x868
int32_t m_nLinksTouchingSomething; // 0x86c
bool m_bApplyWind; // 0x870
private:
[[maybe_unused]] uint8_t __pad0871[0x3]; // 0x871
public:
int32_t m_fPrevLockedPoints; // 0x874
int32_t m_iForcePointMoveCounter; // 0x878
bool m_bPrevEndPointPos[2]; // 0x87c
private:
[[maybe_unused]] uint8_t __pad087e[0x2]; // 0x87e
public:
Vector m_vPrevEndPointPos[2]; // 0x880
float m_flCurScroll; // 0x898
// MNetworkEnable
float m_flScrollSpeed; // 0x89c
// MNetworkEnable
uint16_t m_RopeFlags; // 0x8a0
private:
[[maybe_unused]] uint8_t __pad08a2[0x6]; // 0x8a2
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x8a8
private:
[[maybe_unused]] uint8_t __pad08b0[0x270]; // 0x8b0
public:
Vector m_LightValues[10]; // 0xb20
// MNetworkEnable
uint8_t m_nSegments; // 0xb98
private:
[[maybe_unused]] uint8_t __pad0b99[0x3]; // 0xb99
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hStartPoint; // 0xb9c
// MNetworkEnable
CHandle< C_BaseEntity > m_hEndPoint; // 0xba0
// MNetworkEnable
AttachmentHandle_t m_iStartAttachment; // 0xba4
// MNetworkEnable
AttachmentHandle_t m_iEndAttachment; // 0xba5
// MNetworkEnable
uint8_t m_Subdiv; // 0xba6
private:
[[maybe_unused]] uint8_t __pad0ba7[0x1]; // 0xba7
public:
// MNetworkEnable
// MNetworkChangeCallback "RecomputeSprings"
int16_t m_RopeLength; // 0xba8
// MNetworkEnable
// MNetworkChangeCallback "RecomputeSprings"
int16_t m_Slack; // 0xbaa
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0.1"
// MNetworkMaxValue "10"
float m_TextureScale; // 0xbac
// MNetworkEnable
uint8_t m_fLockedPoints; // 0xbb0
// MNetworkEnable
uint8_t m_nChangeCount; // 0xbb1
private:
[[maybe_unused]] uint8_t __pad0bb2[0x2]; // 0xbb2
public:
// MNetworkEnable
float m_Width; // 0xbb4
C_RopeKeyframe::CPhysicsDelegate m_PhysicsDelegate; // 0xbb8
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0xbc8
int32_t m_TextureHeight; // 0xbd0
Vector m_vecImpulse; // 0xbd4
Vector m_vecPreviousImpulse; // 0xbe0
float m_flCurrentGustTimer; // 0xbec
float m_flCurrentGustLifetime; // 0xbf0
float m_flTimeToNextGust; // 0xbf4
Vector m_vWindDir; // 0xbf8
Vector m_vColorMod; // 0xc04
Vector m_vCachedEndPointAttachmentPos[2]; // 0xc10
QAngle m_vCachedEndPointAttachmentAngle[2]; // 0xc28
// MNetworkEnable
bool m_bConstrainBetweenEndpoints; // 0xc40
struct
{
uint8_t m_bEndPointAttachmentPositionsDirty: 1;
uint8_t m_bEndPointAttachmentAnglesDirty: 1;
uint8_t m_bNewDataThisFrame: 1;
uint8_t m_bPhysicsInitted: 1;
uint8_t __pad3: 4; // @note: autoaligned
}; // 8 bits
};
// Alignment: 12
// Size: 0x5d8
class C_SceneEntity : public C_PointEntity
{
public:
// MNetworkEnable
bool m_bIsPlayingBack; // 0x580
// MNetworkEnable
bool m_bPaused; // 0x581
// MNetworkEnable
bool m_bMultiplayer; // 0x582
// MNetworkEnable
bool m_bAutogenerated; // 0x583
// MNetworkEnable
// MNetworkChangeCallback "OnResetClientTime"
float m_flForceClientTime; // 0x584
// MNetworkEnable
// MNetworkPriority "32"
uint16_t m_nSceneStringIndex; // 0x588
bool m_bClientOnly; // 0x58a
private:
[[maybe_unused]] uint8_t __pad058b[0x1]; // 0x58b
public:
CHandle< C_BaseFlex > m_hOwner; // 0x58c
// MNetworkEnable
// MNetworkPriority "32"
C_NetworkUtlVectorBase< CHandle< C_BaseFlex > > m_hActorList; // 0x590
bool m_bWasPlaying; // 0x5a8
private:
[[maybe_unused]] uint8_t __pad05a9[0xf]; // 0x5a9
public:
CUtlVector< C_SceneEntity::QueuedEvents_t > m_QueuedEvents; // 0x5b8
float m_flCurrentTime; // 0x5d0
};
// Alignment: 18
// Size: 0x8c0
class C_Sun : public C_BaseModelEntity
{
public:
ParticleIndex_t m_fxSSSunFlareEffectIndex; // 0x860
ParticleIndex_t m_fxSunFlareEffectIndex; // 0x864
float m_fdistNormalize; // 0x868
Vector m_vSunPos; // 0x86c
// MNetworkEnable
Vector m_vDirection; // 0x878
private:
[[maybe_unused]] uint8_t __pad0884[0x4]; // 0x884
public:
// MNetworkEnable
CUtlSymbolLarge m_iszEffectName; // 0x888
// MNetworkEnable
CUtlSymbolLarge m_iszSSEffectName; // 0x890
// MNetworkEnable
Color m_clrOverlay; // 0x898
// MNetworkEnable
bool m_bOn; // 0x89c
// MNetworkEnable
bool m_bmaxColor; // 0x89d
private:
[[maybe_unused]] uint8_t __pad089e[0x2]; // 0x89e
public:
// MNetworkEnable
// MNetworkBitCount "10"
float m_flSize; // 0x8a0
// MNetworkEnable
// MNetworkBitCount "10"
float m_flHazeScale; // 0x8a4
// MNetworkEnable
// MNetworkMinValue "-360"
// MNetworkMaxValue "360"
float m_flRotation; // 0x8a8
// MNetworkEnable
// MNetworkChangeCallback "OnHDRScaleChanged"
float m_flHDRColorScale; // 0x8ac
// MNetworkEnable
// MNetworkMinValue "0"
// MNetworkMaxValue "2"
float m_flAlphaHaze; // 0x8b0
// MNetworkEnable
// MNetworkMinValue "0"
// MNetworkMaxValue "2"
float m_flAlphaScale; // 0x8b4
// MNetworkEnable
// MNetworkMinValue "0"
// MNetworkMaxValue "2"
float m_flAlphaHdr; // 0x8b8
// MNetworkEnable
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
float m_flFarZScale; // 0x8bc
};
// Alignment: 2
// Size: 0x868
class C_BaseTrigger : public C_BaseToggle
{
public:
// MNetworkEnable
bool m_bDisabled; // 0x860
// MNetworkEnable
bool m_bClientSidePredicted; // 0x861
};
// Alignment: 0
// Size: 0x860
class C_TriggerVolume : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x868
class C_TriggerLerpObject : public C_BaseTrigger
{
public:
// no members available
};
// Alignment: 2
// Size: 0x890
class C_TriggerBuoyancy : public C_BaseTrigger
{
public:
CBuoyancyHelper m_BuoyancyHelper; // 0x868
// MNetworkEnable
float m_flFluidDensity; // 0x888
};
// Alignment: 24
// Size: 0x920
class C_Beam : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "-25"
// MNetworkMaxValue "25"
// MNetworkEncodeFlags
float m_flFrameRate; // 0x860
// MNetworkEnable
float m_flHDRColorScale; // 0x864
float m_flFireTime; // 0x868
float m_flDamage; // 0x86c
// MNetworkEnable
uint8_t m_nNumBeamEnts; // 0x870
private:
[[maybe_unused]] uint8_t __pad0871[0x3]; // 0x871
public:
int32_t m_queryHandleHalo; // 0x874
private:
[[maybe_unused]] uint8_t __pad0878[0x20]; // 0x878
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x898
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x8a0
// MNetworkEnable
BeamType_t m_nBeamType; // 0x8a8
// MNetworkEnable
uint32_t m_nBeamFlags; // 0x8ac
// MNetworkEnable
CHandle< C_BaseEntity > m_hAttachEntity[10]; // 0x8b0
// MNetworkEnable
AttachmentHandle_t m_nAttachIndex[10]; // 0x8d8
private:
[[maybe_unused]] uint8_t __pad08e2[0x2]; // 0x8e2
public:
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0"
// MNetworkMaxValue "102.3"
// MNetworkEncodeFlags
float m_fWidth; // 0x8e4
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0"
// MNetworkMaxValue "102.3"
// MNetworkEncodeFlags
float m_fEndWidth; // 0x8e8
// MNetworkEnable
float m_fFadeLength; // 0x8ec
// MNetworkEnable
float m_fHaloScale; // 0x8f0
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "64"
// MNetworkEncodeFlags
float m_fAmplitude; // 0x8f4
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "256"
// MNetworkEncodeFlags
float m_fStartFrame; // 0x8f8
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "100"
float m_fSpeed; // 0x8fc
// MNetworkEnable
// MNetworkBitCount "20"
// MNetworkMinValue "0"
// MNetworkMaxValue "256"
// MNetworkEncodeFlags
// MNetworkPriority "32"
float m_flFrame; // 0x900
// MNetworkEnable
BeamClipStyle_t m_nClipStyle; // 0x904
// MNetworkEnable
bool m_bTurnedOff; // 0x908
private:
[[maybe_unused]] uint8_t __pad0909[0x3]; // 0x909
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_vecEndPos; // 0x90c
CHandle< C_BaseEntity > m_hEndEntity; // 0x918
};
// Alignment: 9
// Size: 0x8b8
class C_FuncLadder : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_vecLadderDir; // 0x860
private:
[[maybe_unused]] uint8_t __pad086c[0x4]; // 0x86c
public:
CUtlVector< CHandle< C_InfoLadderDismount > > m_Dismounts; // 0x870
Vector m_vecLocalTop; // 0x888
// MNetworkEnable
// MNetworkEncoder
Vector m_vecPlayerMountPositionTop; // 0x894
// MNetworkEnable
// MNetworkEncoder
Vector m_vecPlayerMountPositionBottom; // 0x8a0
// MNetworkEnable
float m_flAutoRideSpeed; // 0x8ac
bool m_bDisabled; // 0x8b0
// MNetworkEnable
bool m_bFakeLadder; // 0x8b1
bool m_bHasSlack; // 0x8b2
static CUtlVector< C_FuncLadder* > &Get_s_Ladders(){return *reinterpret_cast<CUtlVector< C_FuncLadder* >*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("C_FuncLadder")->m_static_fields[0]->m_instance);};
};
// Alignment: 24
// Size: 0x990
class C_Sprite : public C_BaseModelEntity
{
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x878
// MNetworkEnable
CHandle< C_BaseEntity > m_hAttachedToEntity; // 0x880
// MNetworkEnable
AttachmentHandle_t m_nAttachment; // 0x884
private:
[[maybe_unused]] uint8_t __pad0885[0x3]; // 0x885
public:
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "60"
// MNetworkEncodeFlags
float m_flSpriteFramerate; // 0x888
// MNetworkEnable
// MNetworkBitCount "20"
// MNetworkMinValue "0"
// MNetworkMaxValue "256"
// MNetworkEncodeFlags
float m_flFrame; // 0x88c
float m_flDieTime; // 0x890
private:
[[maybe_unused]] uint8_t __pad0894[0xc]; // 0x894
public:
// MNetworkEnable
uint32_t m_nBrightness; // 0x8a0
// MNetworkEnable
float m_flBrightnessDuration; // 0x8a4
// MNetworkEnable
// MNetworkChangeCallback "OnSpriteScaleChanged"
float m_flSpriteScale; // 0x8a8
// MNetworkEnable
float m_flScaleDuration; // 0x8ac
// MNetworkEnable
bool m_bWorldSpaceScale; // 0x8b0
private:
[[maybe_unused]] uint8_t __pad08b1[0x3]; // 0x8b1
public:
// MNetworkEnable
// MNetworkBitCount "6"
// MNetworkMinValue "0"
// MNetworkMaxValue "64"
// MNetworkEncodeFlags
float m_flGlowProxySize; // 0x8b4
// MNetworkEnable
float m_flHDRColorScale; // 0x8b8
float m_flLastTime; // 0x8bc
float m_flMaxFrame; // 0x8c0
float m_flStartScale; // 0x8c4
float m_flDestScale; // 0x8c8
float m_flScaleTimeStart; // 0x8cc
int32_t m_nStartBrightness; // 0x8d0
int32_t m_nDestBrightness; // 0x8d4
float m_flBrightnessTimeStart; // 0x8d8
private:
[[maybe_unused]] uint8_t __pad08dc[0x4]; // 0x8dc
public:
CWeakHandle< InfoForResourceTypeIMaterial2 > m_hOldSpriteMaterial; // 0x8e0
private:
[[maybe_unused]] uint8_t __pad08e8[0xa0]; // 0x8e8
public:
int32_t m_nSpriteWidth; // 0x988
int32_t m_nSpriteHeight; // 0x98c
};
// Alignment: 0
// Size: 0x990
class C_SpriteOriented : public C_Sprite
{
public:
// no members available
};
// Alignment: 4
// Size: 0x898
class C_BaseClientUIEntity : public C_BaseModelEntity
{
public:
// MNetworkEnable
bool m_bEnabled; // 0x868
private:
[[maybe_unused]] uint8_t __pad0869[0x7]; // 0x869
public:
// MNetworkEnable
CUtlSymbolLarge m_DialogXMLName; // 0x870
// MNetworkEnable
CUtlSymbolLarge m_PanelClassName; // 0x878
// MNetworkEnable
CUtlSymbolLarge m_PanelID; // 0x880
};
// Alignment: 2
// Size: 0x8a0
class C_PointClientUIDialog : public C_BaseClientUIEntity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "OnDialogActivatorChanged"
CHandle< C_BaseEntity > m_hActivator; // 0x898
bool m_bStartEnabled; // 0x89c
};
// Alignment: 13
// Size: 0xa68
class C_PointClientUIHUD : public C_BaseClientUIEntity
{
public:
bool m_bCheckCSSClasses; // 0x8a0
private:
[[maybe_unused]] uint8_t __pad08a1[0x17f]; // 0x8a1
public:
// MNetworkEnable
bool m_bIgnoreInput; // 0xa20
private:
[[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21
public:
// MNetworkEnable
float m_flWidth; // 0xa24
// MNetworkEnable
float m_flHeight; // 0xa28
// MNetworkEnable
float m_flDPI; // 0xa2c
// MNetworkEnable
float m_flInteractDistance; // 0xa30
// MNetworkEnable
float m_flDepthOffset; // 0xa34
// MNetworkEnable
uint32_t m_unOwnerContext; // 0xa38
// MNetworkEnable
uint32_t m_unHorizontalAlign; // 0xa3c
// MNetworkEnable
uint32_t m_unVerticalAlign; // 0xa40
// MNetworkEnable
uint32_t m_unOrientation; // 0xa44
// MNetworkEnable
bool m_bAllowInteractionFromAllSceneWorlds; // 0xa48
private:
[[maybe_unused]] uint8_t __pad0a49[0x7]; // 0xa49
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xa50
};
// Alignment: 28
// Size: 0xad0
class C_PointClientUIWorldPanel : public C_BaseClientUIEntity
{
public:
bool m_bForceRecreateNextUpdate; // 0x8a0
bool m_bMoveViewToPlayerNextThink; // 0x8a1
bool m_bCheckCSSClasses; // 0x8a2
private:
[[maybe_unused]] uint8_t __pad08a3[0xd]; // 0x8a3
public:
CTransform m_anchorDeltaTransform; // 0x8b0
private:
[[maybe_unused]] uint8_t __pad08d0[0x178]; // 0x8d0
public:
CPointOffScreenIndicatorUi* m_pOffScreenIndicator; // 0xa48
private:
[[maybe_unused]] uint8_t __pad0a50[0x20]; // 0xa50
public:
// MNetworkEnable
bool m_bIgnoreInput; // 0xa70
// MNetworkEnable
bool m_bLit; // 0xa71
// MNetworkEnable
bool m_bFollowPlayerAcrossTeleport; // 0xa72
private:
[[maybe_unused]] uint8_t __pad0a73[0x1]; // 0xa73
public:
// MNetworkEnable
float m_flWidth; // 0xa74
// MNetworkEnable
float m_flHeight; // 0xa78
// MNetworkEnable
float m_flDPI; // 0xa7c
// MNetworkEnable
float m_flInteractDistance; // 0xa80
// MNetworkEnable
float m_flDepthOffset; // 0xa84
// MNetworkEnable
uint32_t m_unOwnerContext; // 0xa88
// MNetworkEnable
uint32_t m_unHorizontalAlign; // 0xa8c
// MNetworkEnable
uint32_t m_unVerticalAlign; // 0xa90
// MNetworkEnable
uint32_t m_unOrientation; // 0xa94
// MNetworkEnable
bool m_bAllowInteractionFromAllSceneWorlds; // 0xa98
private:
[[maybe_unused]] uint8_t __pad0a99[0x7]; // 0xa99
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0xaa0
// MNetworkEnable
bool m_bOpaque; // 0xab8
// MNetworkEnable
bool m_bNoDepth; // 0xab9
// MNetworkEnable
bool m_bRenderBackface; // 0xaba
// MNetworkEnable
bool m_bUseOffScreenIndicator; // 0xabb
// MNetworkEnable
bool m_bExcludeFromSaveGames; // 0xabc
// MNetworkEnable
bool m_bGrabbable; // 0xabd
// MNetworkEnable
bool m_bOnlyRenderToTexture; // 0xabe
// MNetworkEnable
bool m_bDisableMipGen; // 0xabf
// MNetworkEnable
int32_t m_nExplicitImageLayout; // 0xac0
};
// Alignment: 4
// Size: 0xae0
class CPointOffScreenIndicatorUi : public C_PointClientUIWorldPanel
{
public:
bool m_bBeenEnabled; // 0xad0
bool m_bHide; // 0xad1
private:
[[maybe_unused]] uint8_t __pad0ad2[0x2]; // 0xad2
public:
float m_flSeenTargetTime; // 0xad4
C_PointClientUIWorldPanel* m_pTargetPanel; // 0xad8
};
// Alignment: 1
// Size: 0xcd0
class C_PointClientUIWorldTextPanel : public C_PointClientUIWorldPanel
{
public:
// MNetworkEnable
char m_messageText[512]; // 0xad0
};
// Alignment: 14
// Size: 0xb70
class C_PointHintUi : public C_PointClientUIWorldPanel
{
public:
CUtlSymbolLarge m_pszLessonName; // 0xb00
CUtlSymbolLarge m_pszCaption; // 0xb08
Vector m_vOffset; // 0xb10
WorldTextAttachmentType_t m_attachType; // 0xb1c
CHandle< C_BaseEntity > m_hIconTarget; // 0xb20
private:
[[maybe_unused]] uint8_t __pad0b24[0x4]; // 0xb24
public:
CUtlSymbolLarge m_szTargetAttachmentName; // 0xb28
CUtlSymbolLarge m_pszCustomLayoutFile; // 0xb30
int32_t m_nTrackedDeviceIndex; // 0xb38
CHandle< C_PropVRHand > m_hHighlightHand; // 0xb3c
CUtlSymbolLarge m_pszHighlightControllerComponent; // 0xb40
CUtlSymbolLarge m_pszHighlightControllerAction; // 0xb48
Vector m_vecLocalHighlightPoint; // 0xb50
private:
[[maybe_unused]] uint8_t __pad0b5c[0x4]; // 0xb5c
public:
CUtlSymbolLarge m_pszHighlightOtherEntityName; // 0xb60
bool m_bUseOffScreenIndicator; // 0xb68
};
// Alignment: 9
// Size: 0x758
class CInfoOffscreenPanoramaTexture : public C_PointEntity
{
public:
// MNetworkEnable
bool m_bDisabled; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
// MNetworkEnable
int32_t m_nResolutionX; // 0x57c
// MNetworkEnable
int32_t m_nResolutionY; // 0x580
private:
[[maybe_unused]] uint8_t __pad0584[0x4]; // 0x584
public:
// MNetworkEnable
CUtlSymbolLarge m_szLayoutFileName; // 0x588
// MNetworkEnable
CUtlSymbolLarge m_RenderAttrName; // 0x590
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_TargetEntities; // 0x598
// MNetworkEnable
int32_t m_nTargetChangeCount; // 0x5b0
private:
[[maybe_unused]] uint8_t __pad05b4[0x4]; // 0x5b4
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x5b8
private:
[[maybe_unused]] uint8_t __pad05d0[0x158]; // 0x5d0
public:
bool m_bCheckCSSClasses; // 0x728
};
// Alignment: 31
// Size: 0x638
class COffscreenParticleTexture : public C_PointEntity
{
public:
// MNetworkEnable
bool m_bEnabled; // 0x580
private:
[[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581
public:
// MNetworkEnable
float m_flRawInputA; // 0x584
// MNetworkEnable
float m_flRawInputB; // 0x588
// MNetworkEnable
float m_flRawInputC; // 0x58c
// MNetworkEnable
float m_flRawInputD; // 0x590
// MNetworkEnable
float m_flCPValueA; // 0x594
// MNetworkEnable
float m_flCPValueB; // 0x598
// MNetworkEnable
float m_flCPValueC; // 0x59c
// MNetworkEnable
float m_flCPValueD; // 0x5a0
// MNetworkEnable
int32_t m_nRemapFuncA; // 0x5a4
// MNetworkEnable
float m_flRemapAParamS; // 0x5a8
// MNetworkEnable
float m_flRemapAParamT; // 0x5ac
// MNetworkEnable
int32_t m_nRemapFuncB; // 0x5b0
// MNetworkEnable
float m_flRemapBParamS; // 0x5b4
// MNetworkEnable
float m_flRemapBParamT; // 0x5b8
// MNetworkEnable
int32_t m_nRemapFuncC; // 0x5bc
// MNetworkEnable
float m_flRemapCParamS; // 0x5c0
// MNetworkEnable
float m_flRemapCParamT; // 0x5c4
// MNetworkEnable
int32_t m_nRemapFuncD; // 0x5c8
// MNetworkEnable
float m_flRemapDParamS; // 0x5cc
// MNetworkEnable
float m_flRemapDParamT; // 0x5d0
// MNetworkEnable
int32_t m_nControlPointA; // 0x5d4
// MNetworkEnable
int32_t m_nControlPointB; // 0x5d8
// MNetworkEnable
int32_t m_nControlPointC; // 0x5dc
// MNetworkEnable
int32_t m_nControlPointD; // 0x5e0
// MNetworkEnable
int32_t m_nResolution; // 0x5e4
// MNetworkEnable
Color m_clearColor; // 0x5e8
// MNetworkEnable
CHandle< C_BaseEntity > m_hTargetEntity; // 0x5ec
// MNetworkEnable
CUtlSymbolLarge m_szEffectName; // 0x5f0
// MNetworkEnable
CUtlSymbolLarge m_szMaterialParameterName; // 0x5f8
private:
[[maybe_unused]] uint8_t __pad0600[0x30]; // 0x600
public:
// MNetworkEnable
bool m_bPlayerInRange; // 0x630
};
// Alignment: 46
// Size: 0xa78
class C_BarnLight : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
bool m_bEnabled; // 0x860
private:
[[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861
public:
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nColorMode; // 0x864
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
Color m_Color; // 0x868
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flColorTemperature; // 0x86c
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flBrightness; // 0x870
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flBrightnessScale; // 0x874
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nDirectLight; // 0x878
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nBakedShadowIndex; // 0x87c
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nLuminaireShape; // 0x880
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flLuminaireSize; // 0x884
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flLuminaireAnisotropy; // 0x888
private:
[[maybe_unused]] uint8_t __pad088c[0x4]; // 0x88c
public:
// MNetworkEnable
// MNetworkChangeCallback "StyleChanged"
CUtlString m_LightStyleString; // 0x890
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flLightStyleStartTime; // 0x898
private:
[[maybe_unused]] uint8_t __pad089c[0x4]; // 0x89c
public:
// MNetworkEnable
C_NetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x8a0
// MNetworkEnable
C_NetworkUtlVectorBase< CHandle< C_BaseModelEntity > > m_LightStyleTargets; // 0x8b8
CEntityIOOutput m_StyleEvent[4]; // 0x8d0
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x970
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flShape; // 0x978
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flSoftX; // 0x97c
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flSoftY; // 0x980
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flSkirt; // 0x984
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flSkirtNear; // 0x988
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
// MNetworkBitCount "32"
Vector m_vSizeParams; // 0x98c
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
// MNetworkBitCount "32"
float m_flRange; // 0x998
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
// MNetworkBitCount "32"
Vector m_vShear; // 0x99c
// MNetworkEnable
int32_t m_nBakeSpecularToCubemaps; // 0x9a8
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
// MNetworkBitCount "32"
Vector m_vBakeSpecularToCubemapsSize; // 0x9ac
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nCastShadows; // 0x9b8
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nShadowMapSize; // 0x9bc
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nShadowPriority; // 0x9c0
// MNetworkEnable
int32_t m_nBounceLight; // 0x9c4
// MNetworkEnable
float m_flBounceScale; // 0x9c8
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nFog; // 0x9cc
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flFogStrength; // 0x9d0
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
int32_t m_nFogShadows; // 0x9d4
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flFogScale; // 0x9d8
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flFadeSizeStart; // 0x9dc
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flFadeSizeEnd; // 0x9e0
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flShadowFadeSizeStart; // 0x9e4
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flShadowFadeSizeEnd; // 0x9e8
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
bool m_bPrecomputedFieldsValid; // 0x9ec
private:
[[maybe_unused]] uint8_t __pad09ed[0x3]; // 0x9ed
public:
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
Vector m_vPrecomputedBoundsMins; // 0x9f0
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
Vector m_vPrecomputedBoundsMaxs; // 0x9fc
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
Vector m_vPrecomputedOBBOrigin; // 0xa08
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
QAngle m_vPrecomputedOBBAngles; // 0xa14
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
Vector m_vPrecomputedOBBExtent; // 0xa20
};
// Alignment: 1
// Size: 0xa80
class C_RectLight : public C_BarnLight
{
public:
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
bool m_bShowLight; // 0xa78
};
// Alignment: 3
// Size: 0xa88
class C_OmniLight : public C_BarnLight
{
public:
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flInnerAngle; // 0xa78
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
float m_flOuterAngle; // 0xa7c
// MNetworkEnable
// MNetworkChangeCallback "RenderingChanged"
bool m_bShowLight; // 0xa80
};
// Alignment: 0
// Size: 0x578
class CSteamPalConveyorPathNode : public C_PointEntity
{
public:
// no members available
};
// Alignment: 2
// Size: 0x868
class CSteamPal_PictureCard : public C_BaseModelEntity
{
public:
// MNetworkEnable
bool m_bShouldSetPicture; // 0x860
bool m_bHasSetPicture; // 0x861
};
// Alignment: 7
// Size: 0xb80
class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture
{
public:
// MNetworkEnable
char m_MovieName[512]; // 0x760
// MNetworkEnable
char m_OverrideSoundEvent[512]; // 0x960
// MNetworkEnable
bool m_bRepeat; // 0xb60
// MNetworkEnable
bool m_bPlaying; // 0xb61
private:
[[maybe_unused]] uint8_t __pad0b62[0x2]; // 0xb62
public:
// MNetworkEnable
float m_flVisibleRangeCheck; // 0xb64
private:
[[maybe_unused]] uint8_t __pad0b68[0x8]; // 0xb68
public:
float m_flPlayStartAtGameTime; // 0xb70
private:
[[maybe_unused]] uint8_t __pad0b74[0x1]; // 0xb74
public:
bool m_bClientPlaying; // 0xb75
};
// Alignment: 5
// Size: 0x590
class CInfoDynamicShadowHint : public C_PointEntity
{
public:
bool m_bDisabled; // 0x578
private:
[[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579
public:
float m_flRange; // 0x57c
int32_t m_nImportance; // 0x580
int32_t m_nLightChoice; // 0x584
CHandle< C_BaseEntity > m_hLight; // 0x588
static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast<CUtlVector< CInfoDynamicShadowHint* >*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);};
};
// Alignment: 2
// Size: 0x5a8
class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint
{
public:
Vector m_vBoxMins; // 0x590
Vector m_vBoxMaxs; // 0x59c
};
// Alignment: 9
// Size: 0x8a8
class C_EnvSky : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x860
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
bool m_bStartDisabled; // 0x868
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
Color m_vTintColor; // 0x869
private:
[[maybe_unused]] uint8_t __pad086d[0x3]; // 0x86d
public:
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
int32_t m_nFogType; // 0x870
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
float m_flFogMinStart; // 0x874
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
float m_flFogMinEnd; // 0x878
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
float m_flFogMaxStart; // 0x87c
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
float m_flFogMaxEnd; // 0x880
// MNetworkEnable
// MNetworkChangeCallback "SkyStateChanged"
bool m_bEnabled; // 0x884
};
// Alignment: 0
// Size: 0x5a0
class C_TonemapController2Alias_env_tonemap_controller2 : public C_TonemapController2
{
public:
// no members available
};
// Alignment: 1
// Size: 0x868
class C_LightEntity : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkUserGroup "CLightComponent"
// MNetworkAlias "CLightComponent"
// MNetworkTypeAlias "CLightComponent"
CLightComponent* m_CLightComponent; // 0x860
};
// Alignment: 0
// Size: 0x868
class C_LightSpotEntity : public C_LightEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x868
class C_LightOrthoEntity : public C_LightEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x868
class C_LightDirectionalEntity : public C_LightEntity
{
public:
// no members available
};
// Alignment: 0
// Size: 0x868
class C_LightEnvironmentEntity : public C_LightDirectionalEntity
{
public:
// no members available
};
// Alignment: 12
// Size: 0x8a8
class C_PostProcessingVolume : public C_BaseTrigger
{
public:
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x878
// MNetworkEnable
float m_flFadeDuration; // 0x880
// MNetworkEnable
float m_flMinLogExposure; // 0x884
// MNetworkEnable
float m_flMaxLogExposure; // 0x888
// MNetworkEnable
float m_flMinExposure; // 0x88c
// MNetworkEnable
float m_flMaxExposure; // 0x890
// MNetworkEnable
float m_flExposureCompensation; // 0x894
// MNetworkEnable
float m_flExposureFadeSpeedUp; // 0x898
// MNetworkEnable
float m_flExposureFadeSpeedDown; // 0x89c
// MNetworkEnable
float m_flTonemapEVSmoothingRange; // 0x8a0
// MNetworkEnable
bool m_bMaster; // 0x8a4
// MNetworkEnable
bool m_bExposureControl; // 0x8a5
};
// Alignment: 5
// Size: 0xe10
class C_EnvParticleGlow : public C_ParticleSystem
{
public:
// MNetworkEnable
float m_flAlphaScale; // 0xdf8
// MNetworkEnable
float m_flRadiusScale; // 0xdfc
// MNetworkEnable
float m_flSelfIllumScale; // 0xe00
// MNetworkEnable
Color m_ColorTint; // 0xe04
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xe08
};
// Alignment: 8
// Size: 0x898
class C_TextureBasedAnimatable : public C_BaseModelEntity
{
public:
// MNetworkEnable
bool m_bLoop; // 0x860
private:
[[maybe_unused]] uint8_t __pad0861[0x3]; // 0x861
public:
// MNetworkEnable
float m_flFPS; // 0x864
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x868
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x870
// MNetworkEnable
Vector m_vAnimationBoundsMin; // 0x878
// MNetworkEnable
Vector m_vAnimationBoundsMax; // 0x884
// MNetworkEnable
float m_flStartTime; // 0x890
// MNetworkEnable
float m_flStartFrame; // 0x894
};
// Alignment: 0
// Size: 0x860
class C_World : public C_BaseModelEntity
{
public:
// no members available
};
// Alignment: 16
// Size: 0xa38
class C_BaseAnimating : public C_BaseModelEntity
{
public:
// MNetworkEnable
// MNetworkUserGroup "CHitboxComponent"
// MNetworkAlias "CHitboxComponent"
// MNetworkTypeAlias "CHitboxComponent"
CHitboxComponent m_CHitboxComponent; // 0x860
// MNetworkEnable
// MNetworkChangeCallback "OnRagdollPoseChanged"
PhysicsRagdollPose_t* m_pRagdollPose; // 0x880
// MNetworkEnable
Vector m_vecForce; // 0x888
// MNetworkEnable
int32_t m_nForceBone; // 0x894
// MNetworkEnable
bool m_bShouldAnimateDuringGameplayPause; // 0x898
// MNetworkEnable
bool m_bAnimGraphUpdateEnabled; // 0x899
private:
[[maybe_unused]] uint8_t __pad089a[0x2]; // 0x89a
public:
float m_flMaxSlopeDistance; // 0x89c
Vector m_vLastSlopeCheckPos; // 0x8a0
private:
[[maybe_unused]] uint8_t __pad08ac[0x4]; // 0x8ac
public:
CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x8b0
bool m_bHasAnimatedMaterialAttributes; // 0x8b8
private:
[[maybe_unused]] uint8_t __pad08b9[0x7]; // 0x8b9
public:
C_BaseAnimating* m_pClientsideRagdoll; // 0x8c0
bool m_bInitModelEffects; // 0x8c8
bool m_builtRagdoll; // 0x8c9
bool m_bIsStaticProp; // 0x8ca
private:
[[maybe_unused]] uint8_t __pad08cb[0x35]; // 0x8cb
public:
bool m_bSuppressAnimEventSounds; // 0x900
private:
[[maybe_unused]] uint8_t __pad0901[0xff]; // 0x901
public:
// MNetworkEnable
CBaseAnimatingEasings_t m_Easings; // 0xa00
};
// Alignment: 0
// Size: 0xa38
class C_BaseAnimatingOverlay : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 4
// Size: 0xa78
class CBaseProp : public C_BaseAnimating
{
public:
bool m_bModelOverrodeBlockLOS; // 0xa38
private:
[[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39
public:
int32_t m_iShapeType; // 0xa3c
bool m_bConformToCollisionBounds; // 0xa40
private:
[[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41
public:
matrix3x4_t m_mPreferredCatchTransform; // 0xa44
};
// Alignment: 30
// Size: 0xb88
class C_BreakableProp : public CBaseProp
{
public:
CEntityIOOutput m_OnBreak; // 0xa80
CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0xaa8
CEntityIOOutput m_OnTakeDamage; // 0xad0
float m_impactEnergyScale; // 0xaf8
int32_t m_iMinHealthDmg; // 0xafc
float m_flPressureDelay; // 0xb00
CHandle< C_BaseEntity > m_hBreaker; // 0xb04
PerformanceMode_t m_PerformanceMode; // 0xb08
float m_flDmgModBullet; // 0xb0c
float m_flDmgModClub; // 0xb10
float m_flDmgModExplosive; // 0xb14
float m_flDmgModFire; // 0xb18
private:
[[maybe_unused]] uint8_t __pad0b1c[0x4]; // 0xb1c
public:
CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xb20
CUtlSymbolLarge m_iszBasePropData; // 0xb28
int32_t m_iInteractions; // 0xb30
float m_flPreventDamageBeforeTime; // 0xb34
bool m_bHasBreakPiecesOrCommands; // 0xb38
private:
[[maybe_unused]] uint8_t __pad0b39[0x3]; // 0xb39
public:
float m_explodeDamage; // 0xb3c
float m_explodeRadius; // 0xb40
private:
[[maybe_unused]] uint8_t __pad0b44[0x4]; // 0xb44
public:
float m_explosionDelay; // 0xb48
private:
[[maybe_unused]] uint8_t __pad0b4c[0x4]; // 0xb4c
public:
CUtlSymbolLarge m_explosionBuildupSound; // 0xb50
CUtlSymbolLarge m_explosionCustomEffect; // 0xb58
CUtlSymbolLarge m_explosionCustomSound; // 0xb60
CHandle< C_BasePlayer > m_hPhysicsAttacker; // 0xb68
float m_flLastPhysicsInfluenceTime; // 0xb6c
float m_flDefaultFadeScale; // 0xb70
CHandle< C_BaseEntity > m_hLastAttacker; // 0xb74
CHandle< C_BaseEntity > m_hFlareEnt; // 0xb78
// MNetworkEnable
bool m_noGhostCollision; // 0xb7c
private:
[[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d
public:
// MNetworkEnable
float m_flClothScale; // 0xb80
};
// Alignment: 33
// Size: 0xcb8
class C_DynamicProp : public C_BreakableProp
{
public:
CEntityIOOutput m_pOutputAnimBegun; // 0xb88
CEntityIOOutput m_pOutputAnimOver; // 0xbb0
CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbd8
CEntityIOOutput m_OnAnimReachedStart; // 0xc00
CEntityIOOutput m_OnAnimReachedEnd; // 0xc28
CUtlSymbolLarge m_iszDefaultAnim; // 0xc50
CUtlSymbolLarge m_iszInitialAnim; // 0xc58
HSequence m_hGoalSequence; // 0xc60
int32_t m_iTransitionDirection; // 0xc64
bool m_bAnimateOnServer; // 0xc68
bool m_bRandomizeCycle; // 0xc69
bool m_bHoldAnimation; // 0xc6a
bool m_bIsHoldingAnimation; // 0xc6b
bool m_bRandomAnimator; // 0xc6c
private:
[[maybe_unused]] uint8_t __pad0c6d[0x3]; // 0xc6d
public:
float m_flNextRandAnim; // 0xc70
float m_flMinRandAnimDuration; // 0xc74
float m_flMaxRandAnimDuration; // 0xc78
HSequence m_hPendingSequence; // 0xc7c
bool m_bStartDisabled; // 0xc80
bool m_bUpdateAttachedChildren; // 0xc81
bool m_bScriptedMovement; // 0xc82
bool m_bFiredStartEndOutput; // 0xc83
// MNetworkEnable
bool m_bUseHitboxesForRenderBox; // 0xc84
// MNetworkEnable
bool m_bUseAnimGraph; // 0xc85
bool m_bCreateNonSolid; // 0xc86
bool m_bIsOverrideProp; // 0xc87
int32_t m_iInitialGlowState; // 0xc88
int32_t m_nGlowRange; // 0xc8c
int32_t m_nGlowRangeMin; // 0xc90
Color m_glowColor; // 0xc94
int32_t m_iCachedFrameCount; // 0xc98
Vector m_vecCachedRenderMins; // 0xc9c
Vector m_vecCachedRenderMaxs; // 0xca8
};
// Alignment: 0
// Size: 0xcb8
class C_DynamicPropAlias_dynamic_prop : public C_DynamicProp
{
public:
// no members available
};
// Alignment: 0
// Size: 0xcb8
class C_DynamicPropAlias_prop_dynamic_override : public C_DynamicProp
{
public:
// no members available
};
// Alignment: 0
// Size: 0xcb8
class C_DynamicPropAlias_cable_dynamic : public C_DynamicProp
{
public:
// no members available
};
// Alignment: 9
// Size: 0xa90
class C_ColorCorrectionVolume : public C_BaseTrigger
{
public:
float m_LastEnterWeight; // 0x868
float m_LastEnterTime; // 0x86c
float m_LastExitWeight; // 0x870
float m_LastExitTime; // 0x874
// MNetworkEnable
bool m_bEnabled; // 0x878
private:
[[maybe_unused]] uint8_t __pad0879[0x3]; // 0x879
public:
// MNetworkEnable
float m_MaxWeight; // 0x87c
// MNetworkEnable
float m_FadeDuration; // 0x880
// MNetworkEnable
float m_Weight; // 0x884
// MNetworkEnable
char m_lookupFilename[512]; // 0x888
};
// Alignment: 8
// Size: 0xd30
class C_FuncMonitor : public C_FuncBrush
{
public:
// MNetworkEnable
CUtlString m_targetCamera; // 0x860
// MNetworkEnable
int32_t m_nResolutionEnum; // 0x868
// MNetworkEnable
bool m_bRenderShadows; // 0x86c
// MNetworkEnable
bool m_bUseUniqueColorTarget; // 0x86d
private:
[[maybe_unused]] uint8_t __pad086e[0x2]; // 0x86e
public:
// MNetworkEnable
CUtlString m_brushModelName; // 0x870
// MNetworkEnable
CHandle< C_BaseEntity > m_hTargetCamera; // 0x878
// MNetworkEnable
bool m_bEnabled; // 0x87c
// MNetworkEnable
bool m_bDraw3DSkybox; // 0x87d
};
// Alignment: 0
// Size: 0x860
class C_FuncMoveLinear : public C_BaseToggle
{
public:
// no members available
};
// Alignment: 2
// Size: 0xa68
class C_PhysMagnet : public C_BaseAnimating
{
public:
CUtlVector< int32 > m_aAttachedObjectsFromServer; // 0xa38
CUtlVector< CHandle< C_BaseEntity > > m_aAttachedObjects; // 0xa50
};
// Alignment: 13
// Size: 0xa88
class C_PointCommentaryNode : public C_BaseAnimating
{
public:
// MNetworkEnable
bool m_bActive; // 0xa40
bool m_bWasActive; // 0xa41
private:
[[maybe_unused]] uint8_t __pad0a42[0x2]; // 0xa42
public:
float m_flEndTime; // 0xa44
// MNetworkEnable
float m_flStartTime; // 0xa48
// MNetworkEnable
float m_flStartTimeInCommentary; // 0xa4c
// MNetworkEnable
CUtlSymbolLarge m_iszCommentaryFile; // 0xa50
// MNetworkEnable
CUtlSymbolLarge m_iszTitle; // 0xa58
// MNetworkEnable
CUtlSymbolLarge m_iszSpeakers; // 0xa60
// MNetworkEnable
int32_t m_iNodeNumber; // 0xa68
// MNetworkEnable
int32_t m_iNodeNumberMax; // 0xa6c
// MNetworkEnable
bool m_bListenedTo; // 0xa70
private:
[[maybe_unused]] uint8_t __pad0a71[0xf]; // 0xa71
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hViewPosition; // 0xa80
bool m_bRestartAfterRestore; // 0xa84
};
// Alignment: 0
// Size: 0xa38
class C_WaterBullet : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 1
// Size: 0x868
class C_BaseDoor : public C_BaseToggle
{
public:
// MNetworkEnable
bool m_bIsUsable; // 0x860
};
// Alignment: 26
// Size: 0xbf0
class C_BaseFlex : public C_BaseAnimatingOverlay
{
public:
// MNetworkEnable
// MNetworkBitCount "12"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkEncodeFlags
C_NetworkUtlVectorBase< float32 > m_flexWeight; // 0xa40
// MNetworkEnable
bool m_blinktoggle; // 0xa58
private:
[[maybe_unused]] uint8_t __pad0a59[0x7]; // 0xa59
public:
// MNetworkEnable
// MNetworkEncoder
// MNetworkChangeCallback "OnViewTargetChanged"
Vector m_vLookTargetPosition; // 0xa60
private:
[[maybe_unused]] uint8_t __pad0a6c[0x64]; // 0xa6c
public:
int32_t m_nLastFlexUpdateFrameCount; // 0xad0
Vector m_CachedViewTarget; // 0xad4
private:
[[maybe_unused]] uint8_t __pad0ae0[0x8]; // 0xae0
public:
uint32_t m_nNextSceneEventId; // 0xae8
int32_t m_iBlink; // 0xaec
float m_blinktime; // 0xaf0
bool m_prevblinktoggle; // 0xaf4
private:
[[maybe_unused]] uint8_t __pad0af5[0x3]; // 0xaf5
public:
int32_t m_iBlinkSlider; // 0xaf8
int32_t m_iJawOpen; // 0xafc
float m_flJawOpenAmount; // 0xb00
float m_flBlinkAmount; // 0xb04
AttachmentHandle_t m_iMouthAttachment; // 0xb08
AttachmentHandle_t m_iEyeAttachment; // 0xb09
bool m_bResetFlexWeightsOnModelChange; // 0xb0a
private:
[[maybe_unused]] uint8_t __pad0b0b[0x1d]; // 0xb0b
public:
int32_t m_iEyeLidUpDownPP; // 0xb28
int32_t m_iEyeLidLeftRightPP; // 0xb2c
float m_flMinEyeUpDown; // 0xb30
float m_flMaxEyeUpDown; // 0xb34
float m_flMinEyeLeftRight; // 0xb38
float m_flMaxEyeLeftRight; // 0xb3c
int32_t m_nEyeOcclusionRendererBone; // 0xb40
matrix3x4_t m_mEyeOcclusionRendererCameraToBoneTransform; // 0xb44
Vector m_vEyeOcclusionRendererHalfExtent; // 0xb74
private:
[[maybe_unused]] uint8_t __pad0b80[0x10]; // 0xb80
public:
C_BaseFlex::Emphasized_Phoneme m_PhonemeClasses[3]; // 0xb90
};
// Alignment: 14
// Size: 0xad0
class C_ClientRagdoll : public C_BaseAnimating
{
public:
bool m_bFadeOut; // 0xa38
bool m_bImportant; // 0xa39
private:
[[maybe_unused]] uint8_t __pad0a3a[0x2]; // 0xa3a
public:
float m_flEffectTime; // 0xa3c
float m_gibDespawnTime; // 0xa40
int32_t m_iCurrentFriction; // 0xa44
int32_t m_iMinFriction; // 0xa48
int32_t m_iMaxFriction; // 0xa4c
int32_t m_iFrictionAnimState; // 0xa50
bool m_bReleaseRagdoll; // 0xa54
AttachmentHandle_t m_iEyeAttachment; // 0xa55
bool m_bFadingOut; // 0xa56
private:
[[maybe_unused]] uint8_t __pad0a57[0x1]; // 0xa57
public:
float m_flScaleEnd[10]; // 0xa58
float m_flScaleTimeStart[10]; // 0xa80
float m_flScaleTimeEnd[10]; // 0xaa8
};
// Alignment: 8
// Size: 0x8b8
class C_Precipitation : public C_BaseTrigger
{
public:
float m_flDensity; // 0x868
private:
[[maybe_unused]] uint8_t __pad086c[0xc]; // 0x86c
public:
float m_flParticleInnerDist; // 0x878
private:
[[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c
public:
char* m_pParticleDef; // 0x880
private:
[[maybe_unused]] uint8_t __pad0888[0x20]; // 0x888
public:
TimedEvent m_tParticlePrecipTraceTimer[1]; // 0x8a8
bool m_bActiveParticlePrecipEmitter[1]; // 0x8b0
bool m_bParticlePrecipInitialized; // 0x8b1
bool m_bHasSimulatedSinceLastSceneObjectUpdate; // 0x8b2
private:
[[maybe_unused]] uint8_t __pad08b3[0x1]; // 0x8b3
public:
int32_t m_nAvailableSheetSequencesMaxIndex; // 0x8b4
};
// Alignment: 2
// Size: 0x9a0
class C_FireSprite : public C_Sprite
{
public:
Vector m_vecMoveDir; // 0x990
bool m_bFadeFromAbove; // 0x99c
};
// Alignment: 0
// Size: 0x990
class C_FireFromAboveSprite : public C_Sprite
{
public:
// no members available
};
// Alignment: 23
// Size: 0xb20
class C_Fish : public C_BaseAnimating
{
public:
Vector m_pos; // 0xa38
Vector m_vel; // 0xa44
QAngle m_angles; // 0xa50
int32_t m_localLifeState; // 0xa5c
float m_deathDepth; // 0xa60
float m_deathAngle; // 0xa64
float m_buoyancy; // 0xa68
private:
[[maybe_unused]] uint8_t __pad0a6c[0x4]; // 0xa6c
public:
CountdownTimer m_wiggleTimer; // 0xa70
float m_wigglePhase; // 0xa80
float m_wiggleRate; // 0xa84
Vector m_actualPos; // 0xa88
QAngle m_actualAngles; // 0xa94
// MNetworkEnable
// MNetworkEncoder
Vector m_poolOrigin; // 0xaa0
// MNetworkEnable
float m_waterLevel; // 0xaac
bool m_gotUpdate; // 0xab0
private:
[[maybe_unused]] uint8_t __pad0ab1[0x3]; // 0xab1
public:
// MNetworkEnable
// MNetworkSerializer "fish_pos_x"
// MNetworkChangeCallback "OnPosChanged"
float m_x; // 0xab4
// MNetworkEnable
// MNetworkSerializer "fish_pos_y"
// MNetworkChangeCallback "OnPosChanged"
float m_y; // 0xab8
// MNetworkEnable
// MNetworkSerializer "fish_pos_z"
// MNetworkChangeCallback "OnPosChanged"
float m_z; // 0xabc
// MNetworkEnable
// MNetworkSerializer "angle_normalize_positive"
// MNetworkBitCount "7"
// MNetworkMinValue "0"
// MNetworkMaxValue "360"
// MNetworkEncodeFlags
// MNetworkChangeCallback "OnAngChanged"
float m_angle; // 0xac0
float m_errorHistory[20]; // 0xac4
int32_t m_errorHistoryIndex; // 0xb14
int32_t m_errorHistoryCount; // 0xb18
float m_averageError; // 0xb1c
};
// Alignment: 1
// Size: 0xb90
class C_PhysicsProp : public C_BreakableProp
{
public:
// MNetworkEnable
bool m_bAwake; // 0xb88
};
// Alignment: 27
// Size: 0xb30
class C_PropVehicleDriveable : public C_BaseAnimating
{
public:
// MNetworkEnable
CHandle< C_BasePlayer > m_hPlayer; // 0xa40
// MNetworkEnable
int32_t m_nSpeed; // 0xa44
// MNetworkEnable
int16_t m_nRPM; // 0xa48
private:
[[maybe_unused]] uint8_t __pad0a4a[0x2]; // 0xa4a
public:
// MNetworkEnable
float m_flThrottle; // 0xa4c
// MNetworkEnable
int32_t m_nBoostTimeLeft; // 0xa50
// MNetworkEnable
bool m_bHasBoost; // 0xa54
// MNetworkEnable
bool m_nScannerDisabledWeapons; // 0xa55
// MNetworkEnable
bool m_nScannerDisabledVehicle; // 0xa56
private:
[[maybe_unused]] uint8_t __pad0a57[0x1]; // 0xa57
public:
int32_t m_iFlashTimer; // 0xa58
bool m_bLockedDim; // 0xa5c
bool m_bLockedIcon; // 0xa5d
private:
[[maybe_unused]] uint8_t __pad0a5e[0x2]; // 0xa5e
public:
int32_t m_iScannerWepFlashTimer; // 0xa60
bool m_bScannerWepDim; // 0xa64
bool m_bScannerWepIcon; // 0xa65
private:
[[maybe_unused]] uint8_t __pad0a66[0x2]; // 0xa66
public:
int32_t m_iScannerVehicleFlashTimer; // 0xa68
bool m_bScannerVehicleDim; // 0xa6c
bool m_bScannerVehicleIcon; // 0xa6d
private:
[[maybe_unused]] uint8_t __pad0a6e[0x2]; // 0xa6e
public:
float m_flSequenceChangeTime; // 0xa70
// MNetworkEnable
bool m_bEnterAnimOn; // 0xa74
// MNetworkEnable
bool m_bExitAnimOn; // 0xa75
private:
[[maybe_unused]] uint8_t __pad0a76[0x2]; // 0xa76
public:
float m_flFOV; // 0xa78
private:
[[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_vecGunCrosshair; // 0xa80
private:
[[maybe_unused]] uint8_t __pad0a8c[0xc]; // 0xa8c
public:
// MNetworkEnable
// MNetworkEncoder
Vector m_vecEyeExitEndpoint; // 0xa98
// MNetworkEnable
bool m_bHasGun; // 0xaa4
// MNetworkEnable
bool m_bUnableToFire; // 0xaa5
private:
[[maybe_unused]] uint8_t __pad0aa6[0x2]; // 0xaa6
public:
CHandle< C_BasePlayer > m_hPrevPlayer; // 0xaa8
private:
[[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac
public:
C_ViewSmoothingData_t m_ViewSmoothingData; // 0xab0
};
// Alignment: 1
// Size: 0xcc0
class C_DynamicPropClientside : public C_DynamicProp
{
public:
bool m_bNoInterpolate; // 0xcb8
};
// Alignment: 7
// Size: 0xcf8
class C_BasePropDoor : public C_DynamicProp
{
public:
// MNetworkEnable
DoorState_t m_eDoorState; // 0xcc8
bool m_modelChanged; // 0xccc
// MNetworkEnable
bool m_bLocked; // 0xccd
private:
[[maybe_unused]] uint8_t __pad0cce[0x2]; // 0xcce
public:
// MNetworkEnable
Vector m_closedPosition; // 0xcd0
// MNetworkEnable
QAngle m_closedAngles; // 0xcdc
// MNetworkEnable
CHandle< C_BasePropDoor > m_hMaster; // 0xce8
Vector m_vWhereToSetLightingOrigin; // 0xcec
};
// Alignment: 9
// Size: 0x2c20
class C_FlexCycler : public C_BaseFlex
{
public:
float m_flextime; // 0xbf0
private:
[[maybe_unused]] uint8_t __pad0bf4[0x4]; // 0xbf4
public:
float m_flextarget[2048]; // 0xbf8
float m_blinktime; // 0x2bf8
float m_looktime; // 0x2bfc
Vector m_lookTarget; // 0x2c00
float m_speaktime; // 0x2c0c
int32_t m_istalking; // 0x2c10
int32_t m_phoneme; // 0x2c14
HSequence m_hCurrLayerSequence; // 0x2c18
};
// Alignment: 9
// Size: 0x2c60
class C_GenericFlexCycler : public C_FlexCycler
{
public:
// MNetworkEnable
int32_t m_nTestMode; // 0x2c20
int32_t m_nTestIndex; // 0x2c24
CUtlSymbolLarge m_poseParameterName; // 0x2c28
bool m_bDoClientSideAnimation; // 0x2c30
private:
[[maybe_unused]] uint8_t __pad2c31[0x7]; // 0x2c31
public:
CUtlSymbolLarge m_layerSequence[2]; // 0x2c38
int32_t m_nLayerIndex[2]; // 0x2c48
HSequence m_hBaseSequence[2]; // 0x2c50
int32_t m_nBoneOverrideIndex; // 0x2c58
float m_flLastSimTime; // 0x2c5c
};
// Alignment: 12
// Size: 0xbc0
class C_PhysPropClientside : public C_BreakableProp
{
public:
float m_flTouchDelta; // 0xb88
float m_fDeathTime; // 0xb8c
float m_impactEnergyScale; // 0xb90
float m_inertiaScale; // 0xb94
float m_flDmgModBullet; // 0xb98
float m_flDmgModClub; // 0xb9c
float m_flDmgModExplosive; // 0xba0
float m_flDmgModFire; // 0xba4
CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xba8
CUtlSymbolLarge m_iszBasePropData; // 0xbb0
int32_t m_iInteractions; // 0xbb8
bool m_bHasBreakPiecesOrCommands; // 0xbbc
};
// Alignment: 8
// Size: 0xab0
class C_RagdollProp : public C_BaseAnimating
{
public:
// MNetworkEnable
// MNetworkEncoder
// MNetworkChangeCallback "ragAnglesChanged"
C_NetworkUtlVectorBase< Vector > m_ragPos; // 0xa40
// MNetworkEnable
// MNetworkEncoder
// MNetworkBitCount "13"
// MNetworkChangeCallback "ragAnglesChanged"
C_NetworkUtlVectorBase< QAngle > m_ragAngles; // 0xa58
// MNetworkEnable
// MNetworkBitCount "8"
// MNetworkMinValue "0"
// MNetworkMaxValue "1"
// MNetworkEncodeFlags
float m_flBlendWeight; // 0xa70
// MNetworkEnable
CHandle< C_BaseEntity > m_hRagdollSource; // 0xa74
AttachmentHandle_t m_iEyeAttachment; // 0xa78
private:
[[maybe_unused]] uint8_t __pad0a79[0x3]; // 0xa79
public:
float m_flBlendWeightCurrent; // 0xa7c
CUtlVector< int32 > m_parentPhysicsBoneIndices; // 0xa80
CUtlVector< int32 > m_worldSpaceBoneComputationOrder; // 0xa98
};
// Alignment: 25
// Size: 0xaf8
class C_LocalTempEntity : public C_BaseAnimating
{
public:
int32_t flags; // 0xa50
float die; // 0xa54
float m_flFrameMax; // 0xa58
float x; // 0xa5c
float y; // 0xa60
float fadeSpeed; // 0xa64
float bounceFactor; // 0xa68
int32_t hitSound; // 0xa6c
int32_t priority; // 0xa70
Vector tentOffset; // 0xa74
QAngle m_vecTempEntAngVelocity; // 0xa80
int32_t tempent_renderamt; // 0xa8c
Vector m_vecNormal; // 0xa90
float m_flSpriteScale; // 0xa9c
int32_t m_nFlickerFrame; // 0xaa0
float m_flFrameRate; // 0xaa4
float m_flFrame; // 0xaa8
private:
[[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac
public:
char* m_pszImpactEffect; // 0xab0
char* m_pszParticleEffect; // 0xab8
bool m_bParticleCollision; // 0xac0
private:
[[maybe_unused]] uint8_t __pad0ac1[0x3]; // 0xac1
public:
int32_t m_iLastCollisionFrame; // 0xac4
Vector m_vLastCollisionOrigin; // 0xac8
Vector m_vecTempEntVelocity; // 0xad4
Vector m_vecPrevAbsOrigin; // 0xae0
Vector m_vecTempEntAcceleration; // 0xaec
};
// Alignment: 12
// Size: 0xc40
class C_BaseGrenade : public C_BaseFlex
{
public:
bool m_bHasWarnedAI; // 0xbf0
bool m_bIsSmokeGrenade; // 0xbf1
// MNetworkEnable
bool m_bIsLive; // 0xbf2
private:
[[maybe_unused]] uint8_t __pad0bf3[0x1]; // 0xbf3
public:
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0"
// MNetworkMaxValue "1024"
// MNetworkEncodeFlags
float m_DmgRadius; // 0xbf4
// MNetworkEnable
float m_flDetonateTime; // 0xbf8
float m_flWarnAITime; // 0xbfc
// MNetworkEnable
// MNetworkBitCount "10"
// MNetworkMinValue "0"
// MNetworkMaxValue "256"
// MNetworkEncodeFlags
float m_flDamage; // 0xc00
private:
[[maybe_unused]] uint8_t __pad0c04[0x4]; // 0xc04
public:
CUtlSymbolLarge m_iszBounceSound; // 0xc08
CUtlString m_ExplosionSound; // 0xc10
private:
[[maybe_unused]] uint8_t __pad0c18[0x4]; // 0xc18
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hThrower; // 0xc1c
private:
[[maybe_unused]] uint8_t __pad0c20[0x18]; // 0xc20
public:
float m_flNextAttack; // 0xc38
CHandle< C_BaseEntity > m_hOriginalThrower; // 0xc3c
};
// Alignment: 1
// Size: 0xbf8
class C_ShatterGlassShardPhysics : public C_PhysicsProp
{
public:
// MNetworkEnable
shard_model_desc_t m_ShardDesc; // 0xb98
};
// Alignment: 1
// Size: 0xa68
class C_PointHintUIButtonHighlightModel : public C_BaseAnimating
{
public:
matrix3x4_t m_mComponentTransform; // 0xa38
};
// Alignment: 1
// Size: 0xa68
class C_PointHintUIArrowHighlightModel : public C_BaseAnimating
{
public:
matrix3x4_t m_mArrowLocalTransform; // 0xa38
};
// Alignment: 4
// Size: 0xad0
class C_PointHintUIHighlightModel : public C_BaseAnimating
{
public:
CUtlVector< matrix3x4a_t > m_vecRenderModelComponentTransforms; // 0xa68
int32_t m_nTrackedDeviceIndex; // 0xa80
private:
[[maybe_unused]] uint8_t __pad0a84[0x14]; // 0xa84
public:
matrix3x4_t m_matLocalHighlight; // 0xa98
bool m_bVisible; // 0xac8
};
// Alignment: 0
// Size: 0xa38
class CNPCAbilityModel : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 4
// Size: 0xab8
class C_PropAnimatingBreakable : public C_BaseAnimating
{
public:
int32_t m_nCurrentBreakStage; // 0xa38
private:
[[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c
public:
CEntityIOOutput m_OnTakeDamage; // 0xa40
CEntityIOOutput m_OnFinalBreak; // 0xa68
CEntityIOOutput m_OnStageAdvanced; // 0xa90
};
// Alignment: 5
// Size: 0xa58
class CSteamPal_BaseSingingEntity : public C_BaseAnimating
{
public:
char m_cCurNote; // 0xa40
private:
[[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41
public:
float m_flTimeNotePlayed; // 0xa44
int32_t m_nSequenceTrack; // 0xa48
bool m_bIsRegistered; // 0xa4c
private:
[[maybe_unused]] uint8_t __pad0a4d[0x3]; // 0xa4d
public:
float m_flWingLastNotePct; // 0xa50
};
// Alignment: 9
// Size: 0xaf0
class CSteamPal_WritingSurface : public C_BaseAnimating
{
public:
Vector m_vPointOnBoardPos; // 0xa60
Vector m_vPrevPointOnBoardPos1; // 0xa6c
Vector m_vPrevPointOnBoardPos2; // 0xa78
private:
[[maybe_unused]] uint8_t __pad0a84[0xc]; // 0xa84
public:
Vector m_vTopLeftPoint; // 0xa90
Vector m_vBoardNormal; // 0xa9c
matrix3x4_t m_matWorldToOffscreenParticleBuffer; // 0xaa8
float m_flTimeCreated; // 0xad8
float m_flLastTimeDrawn; // 0xadc
private:
[[maybe_unused]] uint8_t __pad0ae0[0x8]; // 0xae0
public:
// MNetworkEnable
bool m_bCanWrite; // 0xae8
};
// Alignment: 26
// Size: 0xbf0
class CSteamPal_Turret : public C_BaseAnimating
{
public:
AttachmentHandle_t m_hTurretLaserAttachment; // 0xa38
private:
[[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39
public:
// MNetworkEnable
CHandle< CSteamPal_Turret_Wing > m_hWings[2]; // 0xa3c
// MNetworkEnable
CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0xa44
// MNetworkEnable
CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0xa48
// MNetworkEnable
bool m_bBeingControlled; // 0xa4c
// MNetworkEnable
bool m_bGyroHintEnabled; // 0xa4d
private:
[[maybe_unused]] uint8_t __pad0a4e[0x2]; // 0xa4e
public:
// MNetworkEnable
float m_flTotalGyroActiveTime; // 0xa50
// MNetworkEnable
float m_flTotalGyroInactiveTime; // 0xa54
// MNetworkEnable
float m_flLastGyroActiveTime; // 0xa58
ParticleIndex_t m_nLaserSightFX; // 0xa5c
CEntityIOOutput m_OnLeftWingButton; // 0xa60
CEntityIOOutput m_OnRightWingButton; // 0xa88
CEntityIOOutput m_OnAnyWingButton; // 0xab0
CEntityIOOutput m_OnLeftFireButton; // 0xad8
CEntityIOOutput m_OnRightFireButton; // 0xb00
CEntityIOOutput m_OnAnyFireButton; // 0xb28
CEntityIOOutput m_OnTurretExploded; // 0xb50
CEntityIOOutput m_OnToiletControlsUsed; // 0xb78
CEntityIOOutput m_OnPresentingRotationFinished; // 0xba0
Vector m_vLaserSightEnd; // 0xbc8
private:
[[maybe_unused]] uint8_t __pad0bd4[0x4]; // 0xbd4
public:
// MNetworkEnable
float m_flCurrentAimX; // 0xbd8
// MNetworkEnable
float m_flCurrentAimY; // 0xbdc
// MNetworkEnable
CHandle< C_BaseAnimating > m_hAmmoModel; // 0xbe0
// MNetworkEnable
bool m_bRevertFOV; // 0xbe4
private:
[[maybe_unused]] uint8_t __pad0be5[0x3]; // 0xbe5
public:
// MNetworkEnable
float m_flWingDeployAmount; // 0xbe8
// MNetworkEnable
CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xbec
};
// Alignment: 37
// Size: 0xec0
class CSteamPal_Intro_Toilet : public CSteamPal_Turret
{
public:
// MNetworkEnable
float m_flLidSpeed; // 0xbf0
// MNetworkEnable
float m_flLidPos; // 0xbf4
// MNetworkEnable
float m_flHandleSpeed; // 0xbf8
// MNetworkEnable
float m_flHandlePos; // 0xbfc
// MNetworkEnable
float m_flBidetPlaybackSpeed; // 0xc00
// MNetworkEnable
float m_flBidetPlaybackPos; // 0xc04
// MNetworkEnable
float m_flCisternSpeed; // 0xc08
// MNetworkEnable
float m_flCisternPos; // 0xc0c
// MNetworkEnable
int32_t m_nWaterLevel; // 0xc10
// MNetworkEnable
bool m_bLoadedWithBullets; // 0xc14
// MNetworkEnable
bool m_bExclusiveToilet; // 0xc15
private:
[[maybe_unused]] uint8_t __pad0c16[0x2]; // 0xc16
public:
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xc18
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xc1c
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xc20
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xc24
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xc28
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xc2c
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xc30
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xc34
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xc38
// MNetworkEnable
CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xc3c
// MNetworkEnable
CHandle< C_DynamicProp > m_hWaterSpout; // 0xc40
// MNetworkEnable
CHandle< C_DynamicProp > m_hPressureTester; // 0xc44
// MNetworkEnable
CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xc48
private:
[[maybe_unused]] uint8_t __pad0c4c[0x4]; // 0xc4c
public:
CEntityIOOutput m_OnTestFailed; // 0xc50
CEntityIOOutput m_OnTestsPassed; // 0xc78
CEntityIOOutput m_OnFlushButton; // 0xca0
CEntityIOOutput m_OnBidetButton; // 0xcc8
CEntityIOOutput m_OnPressureButtonPressed; // 0xcf0
CEntityIOOutput m_OnPressureButtonReleased; // 0xd18
CEntityIOOutput m_OnPressureTesterDown; // 0xd40
CEntityIOOutput m_OnLidButton; // 0xd68
CEntityIOOutput m_OnCisternButton; // 0xd90
CEntityIOOutput m_OnSpoutStartWater; // 0xdb8
CEntityIOOutput m_OnOtherButton; // 0xde0
CEntityIOOutput m_OnHighBidetPressure; // 0xe08
CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0xe30
};
// Alignment: 34
// Size: 0xe78
class CSteamPal_ToiletTestPanel : public C_PhysicsProp
{
public:
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hCisternDiagramLight; // 0xb90
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hFlushDiagramLight; // 0xb94
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hSeatPressureDiagramLight; // 0xb98
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hBidetDiagramLight; // 0xb9c
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hCisternTestLight; // 0xba0
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hFlushTestLight; // 0xba4
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hSeatPressureTestLight; // 0xba8
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hBidetTestLight; // 0xbac
// MNetworkEnable
CHandle< C_BaseAnimating > m_hCisternGauge; // 0xbb0
// MNetworkEnable
CHandle< C_BaseAnimating > m_hFlushGauge; // 0xbb4
// MNetworkEnable
CHandle< C_BaseAnimating > m_hSeatPressureGauge; // 0xbb8
// MNetworkEnable
CHandle< C_BaseAnimating > m_hBidetGauge; // 0xbbc
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hCisternFunctionLight; // 0xbc0
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hBidetFunctionLight; // 0xbc4
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hFlushFunctionLight; // 0xbc8
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hSeatPressureFunctionLight; // 0xbcc
// MNetworkEnable
CHandle< C_BaseModelEntity > m_hPassFailLight; // 0xbd0
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit0; // 0xbd4
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit1; // 0xbd8
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit2; // 0xbdc
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit3; // 0xbe0
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit4; // 0xbe4
// MNetworkEnable
CHandle< C_BaseAnimating > m_hDigit5; // 0xbe8
// MNetworkEnable
int32_t m_nCounterValue; // 0xbec
private:
[[maybe_unused]] uint8_t __pad0bf0[0x60]; // 0xbf0
public:
CEntityIOOutput m_OnTestLidPassed; // 0xc50
CEntityIOOutput m_OnTestCisternPassed; // 0xc78
CEntityIOOutput m_OnTestLeftArmPassed; // 0xca0
CEntityIOOutput m_OnTestRightArmPassed; // 0xcc8
CEntityIOOutput m_OnTestBidetPassed; // 0xcf0
CEntityIOOutput m_OnTestPressurePassed; // 0xd18
CEntityIOOutput m_OnTestFlushPassed; // 0xd40
CEntityIOOutput m_OnAllTestsPassed; // 0xd68
CEntityIOOutput m_OnTestFailed; // 0xd90
CEntityIOOutput m_OnResetPanel; // 0xdb8
};
// Alignment: 4
// Size: 0xa48
class CSteamPal_Toilet : public C_BaseAnimating
{
public:
AttachmentHandle_t m_hToiletBidetAttachment; // 0xa38
private:
[[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39
public:
CEntityHandle m_hSeatHinge; // 0xa3c
CEntityHandle m_hSeatCoverHinge; // 0xa40
CEntityHandle m_hCisternLidConstraint; // 0xa44
};
// Alignment: 0
// Size: 0xa38
class CSteamPal_Ultra_Toilet_Rocket : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 0
// Size: 0xa38
class CSteamPal_Ultra_Toilet_Attachment : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 0
// Size: 0xbf0
class CSteamPal_Ultra_Toilet : public CSteamPal_Turret
{
public:
// no members available
};
// Alignment: 0
// Size: 0xa38
class CSteamPal_Trackball : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 0
// Size: 0xa38
class CSteamPal_TouchScreen : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 20
// Size: 0xf88
class CSteamPal_Desk : public C_BaseAnimating
{
public:
// MNetworkEnable
bool m_bInputEnabled; // 0xa38
private:
[[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39
public:
float m_flStickDeployAmount; // 0xa3c
float m_flStickDeployVelocity; // 0xa40
int32_t m_nDeskState; // 0xa44
bool m_bDiscoveryModeComplete; // 0xa48
bool m_bDeskHidden; // 0xa49
private:
[[maybe_unused]] uint8_t __pad0a4a[0x2ce]; // 0xa4a
public:
CEntityIOOutput m_OnAButton; // 0xd18
CEntityIOOutput m_OnBButton; // 0xd40
CEntityIOOutput m_OnXButton; // 0xd68
CEntityIOOutput m_OnYButton; // 0xd90
CEntityIOOutput m_OnL4Button; // 0xdb8
CEntityIOOutput m_OnL5Button; // 0xde0
CEntityIOOutput m_OnR4Button; // 0xe08
CEntityIOOutput m_OnR5Button; // 0xe30
CEntityIOOutput m_OnL4ButtonReleased; // 0xe58
CEntityIOOutput m_OnL5ButtonReleased; // 0xe80
CEntityIOOutput m_OnR4ButtonReleased; // 0xea8
CEntityIOOutput m_OnR5ButtonReleased; // 0xed0
CEntityIOOutput m_OnHamburgerButton; // 0xef8
CEntityIOOutput m_OnShowPaddles; // 0xf20
};
// Alignment: 2
// Size: 0xb98
class CSteamPal_PaintableProp : public C_PhysicsProp
{
public:
// MNetworkEnable
bool m_bShouldSetPicture; // 0xb90
bool m_bHasSetPicture; // 0xb91
};
// Alignment: 0
// Size: 0xb90
class CNPCApplianceProjectile : public C_PhysicsProp
{
public:
// no members available
};
// Alignment: 19
// Size: 0xd20
class C_DevtestHierarchy : public C_DynamicProp
{
public:
Vector m_vRotationAxis; // 0xcb8
float m_flRotationSpeed; // 0xcc4
// MNetworkEnable
int32_t m_nTestMode; // 0xcc8
CHandle< C_BaseEntity > m_hChild; // 0xccc
// MNetworkEnable
CUtlStringToken m_attachName; // 0xcd0
// MNetworkEnable
Vector m_vDynamicAttachOffset; // 0xcd4
// MNetworkEnable
int32_t m_nDynamicResetCount; // 0xce0
int32_t m_nDynamicDetachCount; // 0xce4
// MNetworkEnable
bool m_bChildIsDynamic; // 0xce8
// MNetworkEnable
bool m_bCreateChildSideChild; // 0xce9
private:
[[maybe_unused]] uint8_t __pad0cea[0x2]; // 0xcea
public:
// MNetworkEnable
CUtlStringToken m_alternateAttachName; // 0xcec
CHandle< C_BaseEntity > m_hAlternateParent; // 0xcf0
private:
[[maybe_unused]] uint8_t __pad0cf4[0x4]; // 0xcf4
public:
CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf8
CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xd00
// MNetworkEnable
CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd08
// MNetworkEnable
float m_flEntityStartTime; // 0xd10
int32_t m_nTestIndex; // 0xd14
HierarchyType_t m_nCurrType; // 0xd18
int32_t m_nCurrentModel; // 0xd1c
};
// Alignment: 0
// Size: 0xcb8
class C_DevtestHierarchyChild : public C_DynamicProp
{
public:
// no members available
};
// Alignment: 0
// Size: 0xa38
class C_DevtestHierarchy2 : public C_BaseAnimating
{
public:
// no members available
};
// Alignment: 8
// Size: 0xa60
class C_BasePlayerWeapon : public C_BaseAnimating
{
public:
// MNetworkEnable
WeaponState_t m_iState; // 0xa38
WeaponState_t m_iOldState; // 0xa3c
bool m_bRemoveable; // 0xa40
private:
[[maybe_unused]] uint8_t __pad0a41[0x3]; // 0xa41
public:
// MNetworkEnable
// MNetworkUserGroup "LocalWeaponExclusive"
float m_flNextPrimaryAttack; // 0xa44
// MNetworkEnable
// MNetworkUserGroup "LocalWeaponExclusive"
float m_flNextSecondaryAttack; // 0xa48
// MNetworkEnable
// MNetworkSerializer "minusone"
// MNetworkPriority "32"
int32_t m_iClip1; // 0xa4c
// MNetworkEnable
// MNetworkSerializer "minusone"
// MNetworkUserGroup "LocalWeaponExclusive"
int32_t m_iClip2; // 0xa50
// MNetworkEnable
// MNetworkUserGroup "LocalWeaponExclusive"
int32_t m_pReserveAmmo[2]; // 0xa54
};
// Alignment: 0
// Size: 0x2c60
class C_GenericFlexCyclerAlias_cycler : public C_GenericFlexCycler
{
public:
// no members available
};
// Alignment: 7
// Size: 0xae8
class C_RagdollPropAttached : public C_RagdollProp
{
public:
// MNetworkEnable
uint32_t m_boneIndexAttached; // 0xab0
// MNetworkEnable
uint32_t m_ragdollAttachedObjectIndex; // 0xab4
// MNetworkEnable
// MNetworkEncoder
Vector m_attachmentPointBoneSpace; // 0xab8
// MNetworkEnable
// MNetworkEncoder
Vector m_attachmentPointRagdollSpace; // 0xac4
Vector m_vecOffset; // 0xad0
float m_parentTime; // 0xadc
bool m_bHasParent; // 0xae0
};
// Alignment: 7
// Size: 0xc68
class C_BaseCombatCharacter : public C_BaseFlex
{
public:
int32_t m_bloodColor; // 0xbf0
AttachmentHandle_t m_leftFootAttachment; // 0xbf4
AttachmentHandle_t m_rightFootAttachment; // 0xbf5
private:
[[maybe_unused]] uint8_t __pad0bf6[0x2]; // 0xbf6
public:
C_BaseCombatCharacter::WaterWakeMode_t m_nWaterWakeMode; // 0xbf8
float m_flWaterWorldZ; // 0xbfc
float m_flWaterNextTraceTime; // 0xc00
// MNetworkEnable
float m_flFieldOfView; // 0xc04
};
// Alignment: 14
// Size: 0xcc8
class C_AI_BaseNPC : public C_BaseCombatCharacter
{
public:
float m_flTempRagdollTransitionTime; // 0xc68
private:
[[maybe_unused]] uint8_t __pad0c6c[0x4]; // 0xc6c
public:
CUtlVector< CTransform > m_RagdollTransform; // 0xc70
CUtlVector< CTransform > m_TransitionTransform; // 0xc88
float m_flPoweredRagdoll_BlendWeight; // 0xca0
// MNetworkEnable
NPC_STATE m_NPCState; // 0xca4
// MNetworkEnable
HSequence m_iDeathPose; // 0xca8
// MNetworkEnable
int32_t m_iDeathFrame; // 0xcac
// MNetworkEnable
bool m_bIsMoving; // 0xcb0
// MNetworkEnable
bool m_bFadeCorpse; // 0xcb1
// MNetworkEnable
bool m_bImportantRagdoll; // 0xcb2
private:
[[maybe_unused]] uint8_t __pad0cb3[0x1]; // 0xcb3
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hServerRagdoll; // 0xcb4
// MNetworkEnable
bool m_bPoweredRagdoll; // 0xcb8
private:
[[maybe_unused]] uint8_t __pad0cb9[0x3]; // 0xcb9
public:
// MNetworkEnable
RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0xcbc
// MNetworkEnable
float m_flPoweredRagdoll_TransitionStartTime; // 0xcc0
};
// Alignment: 2
// Size: 0xce0
class C_AI_DefaultNPC : public C_AI_BaseNPC
{
public:
// MNetworkEnable
CAI_StanceServices* m_pStanceServices; // 0xcc8
// MNetworkEnable
// MNetworkTypeAlias "CAI_AbilityServices"
// MNetworkChangeCallback "AbilityServicesChanged"
CAI_AbilityServices* m_pAbilityServices; // 0xcd0
};
// Alignment: 0
// Size: 0xce0
class C_AI_BaseActor : public C_AI_DefaultNPC
{
public:
// no members available
};
// Alignment: 10
// Size: 0xd10
class CBasePlayerController : public C_BaseCombatCharacter
{
public:
int32_t m_nFinalPredictedTick; // 0xc70
private:
[[maybe_unused]] uint8_t __pad0c74[0x4]; // 0xc74
public:
C_CommandContext m_CommandContext; // 0xc78
// MNetworkEnable
// MNetworkPriority "1"
// MNetworkUserGroup "LocalPlayerExclusive"
uint32_t m_nTickBase; // 0xcd0
// MNetworkEnable
// MNetworkChangeCallback "OnPawnChanged"
CHandle< C_BasePlayer > m_hPawn; // 0xcd4
CSplitScreenSlot m_nSplitScreenSlot; // 0xcd8
CHandle< CBasePlayerController > m_hSplitOwner; // 0xcdc
CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xce0
bool m_bIsHLTV; // 0xcf8
private:
[[maybe_unused]] uint8_t __pad0cf9[0x7]; // 0xcf9
public:
uint64_t m_steamID; // 0xd00
bool m_bIsLocalPlayerController; // 0xd08
};
// Alignment: 0
// Size: 0xc68
class C_NetTestBaseCombatCharacter : public C_BaseCombatCharacter
{
public:
// no members available
};
// Alignment: 31
// Size: 0xe98
class C_BasePlayer : public CBasePlayerController
{
public:
// MNetworkEnable
CPlayer_WeaponServices* m_pWeaponServices; // 0xd10
// MNetworkEnable
CPlayer_ItemServices* m_pItemServices; // 0xd18
// MNetworkEnable
CPlayer_VehicleServices* m_pVehicleServices; // 0xd20
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
CPlayer_AutoaimServices* m_pAutoaimServices; // 0xd28
// MNetworkEnable
CPlayer_ObserverServices* m_pObserverServices; // 0xd30
// MNetworkEnable
CPlayer_WaterServices* m_pWaterServices; // 0xd38
// MNetworkEnable
CPlayer_UseServices* m_pUseServices; // 0xd40
// MNetworkEnable
CPlayer_FlashlightServices* m_pFlashlightServices; // 0xd48
// MNetworkEnable
CPlayer_CameraServices* m_pCameraServices; // 0xd50
// MNetworkEnable
CPlayer_MovementServices* m_pMovementServices; // 0xd58
private:
[[maybe_unused]] uint8_t __pad0d60[0x8]; // 0xd60
public:
QAngle m_vecOldViewAngles; // 0xd68
private:
[[maybe_unused]] uint8_t __pad0d74[0x4]; // 0xd74
public:
uint64_t m_nButtons; // 0xd78
uint64_t m_afButtonPressed; // 0xd80
uint64_t m_afButtonReleased; // 0xd88
uint64_t m_afButtonLast; // 0xd90
uint64_t m_afButtonDisabled; // 0xd98
uint64_t m_afButtonForced; // 0xda0
private:
[[maybe_unused]] uint8_t __pad0da8[0x8]; // 0xda8
public:
uint64_t m_nOldButtons; // 0xdb0
int32_t m_nImpulse; // 0xdb8
QAngle v_angle; // 0xdbc
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
uint32_t m_iHideHUD; // 0xdc8
private:
[[maybe_unused]] uint8_t __pad0dcc[0x4]; // 0xdcc
public:
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
sky3dparams_t m_skybox3d; // 0xdd0
// MNetworkEnable
// MNetworkUserGroup "LocalPlayerExclusive"
float m_flDeathTime; // 0xe60
bool m_bWasFrozen; // 0xe64
private:
[[maybe_unused]] uint8_t __pad0e65[0x3]; // 0xe65
public:
Vector m_vecPredictionError; // 0xe68
float m_flPredictionErrorTime; // 0xe74
float m_flFOVSensitivityAdjust; // 0xe78
float m_flMouseSensitivity; // 0xe7c
Vector m_vOldOrigin; // 0xe80
float m_flOldSimulationTime; // 0xe8c
bool deadflag; // 0xe90
};
// Alignment: 19
// Size: 0xf58
class C_SteamPal_Player : public C_BasePlayer
{
public:
// MNetworkEnable
CUtlString m_strPlayerName; // 0xef0
// MNetworkEnable
bool m_bViewFrozen; // 0xef8
private:
[[maybe_unused]] uint8_t __pad0ef9[0x3]; // 0xef9
public:
// MNetworkEnable
CHandle< C_BaseEntity > m_hCameraTarget; // 0xefc
// MNetworkEnable
CHandle< C_BaseEntity > m_hCursorHoverEntity; // 0xf00
private:
[[maybe_unused]] uint8_t __pad0f04[0x4]; // 0xf04
public:
// MNetworkEnable
// MNetworkChangeCallback "DamageCausedChanged"
uint64_t m_uDamageCaused; // 0xf08
// MNetworkEnable
bool m_bMotionBlur; // 0xf10
private:
[[maybe_unused]] uint8_t __pad0f11[0x7]; // 0xf11
public:
int64_t m_hCameraFlashPostProcessingInst; // 0xf18
CStrongHandle< InfoForResourceTypeCTextureBase > m_hScreenshotTexture; // 0xf20
CHandle< C_BaseEntity > m_hCurrentScreenTouchEntity; // 0xf28
Vector m_vCurrentScreenTouchEntityHitPoint; // 0xf2c
Vector m_vCursorScreenPos; // 0xf38
Vector m_vCursorWorldPos; // 0xf44
bool m_bIsUserTouchActive; // 0xf50
bool m_bIsMainMenuShowing; // 0xf51
bool m_bSteamScreenshotsWasHooked; // 0xf52
bool m_bInPhotoSection; // 0xf53
bool m_bScreenshotQueued; // 0xf54
bool m_bCameraFlashPending; // 0xf55
bool m_bCameraFlashFadeOut; // 0xf56
};