source2sdk/sdk/engine2.hpp

558 lines
11 KiB
C++
Raw Normal View History

2023-03-15 15:20:35 +00:00
#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
2023-03-23 14:05:13 +00:00
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
// Binary: engine2.dll
2023-03-23 14:05:13 +00:00
// Classes count: 50
// Enums count: 4
// Created using source2gen - github.com/neverlosecc/source2gen
// /////////////////////////////////////////////////////////////
2023-03-15 15:20:35 +00:00
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class SpawnDebugOverrideState_t : uint32_t
{
SPAWN_DEBUG_OVERRIDE_NONE = 0x0,
SPAWN_DEBUG_OVERRIDE_FORCE_ENABLED = 0x1,
SPAWN_DEBUG_OVERRIDE_FORCE_DISABLED = 0x2,
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x5
2023-03-15 15:20:35 +00:00
enum class SpawnDebugRestrictionOverrideState_t : uint32_t
{
SPAWN_DEBUG_RESTRICT_NONE = 0x0,
SPAWN_DEBUG_RESTRICT_IGNORE_MANAGER_DISTANCE_REQS = 0x1,
SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_DISTANCE_LOS_REQS = 0x2,
SPAWN_DEBUG_RESTRICT_IGNORE_TEMPLATE_COOLDOWN_LIMITS = 0x4,
SPAWN_DEBUG_RESTRICT_IGNORE_TARGET_COOLDOWN_LIMITS = 0x8,
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x3
2023-03-15 15:20:35 +00:00
enum class EntityDormancyType_t : uint32_t
{
ENTITY_NOT_DORMANT = 0x0,
ENTITY_DORMANT = 0x1,
ENTITY_SUSPENDED = 0x2,
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x4
2023-03-15 15:20:35 +00:00
enum class EntityIOTargetType_t : uint32_t
{
ENTITY_IO_TARGET_INVALID = 0xffffffffffffffff,
ENTITY_IO_TARGET_ENTITYNAME = 0x2,
ENTITY_IO_TARGET_EHANDLE = 0x6,
ENTITY_IO_TARGET_ENTITYNAME_OR_CLASSNAME = 0x7,
};
2023-03-23 14:05:13 +00:00
struct EngineLoopState_t;
struct ChangeAccessorFieldPathIndex_t;
struct CEntityComponentHelper;
struct EntComponentInfo_t;
struct CEntityIdentity;
struct CScriptComponent;
// Alignment: 4
// Size: 0x28
2023-03-15 15:20:35 +00:00
struct EngineLoopState_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nPlatWindowWidth; // 0x18
int32_t m_nPlatWindowHeight; // 0x1c
int32_t m_nRenderWidth; // 0x20
int32_t m_nRenderHeight; // 0x24
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x1
2023-03-15 15:20:35 +00:00
struct EventModInitialized_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x1]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
struct EventFrameBoundary_t
{
public:
2023-03-23 14:05:13 +00:00
float m_flFrameTime; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
struct EventProfileStorageAvailable_t
{
public:
2023-03-23 14:05:13 +00:00
CSplitScreenSlot m_nSplitScreenSlot; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x1
2023-03-15 15:20:35 +00:00
struct EventSplitScreenStateChanged_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x1]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 8
// Size: 0x60
2023-03-15 15:20:35 +00:00
struct EventSetTime_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
int32_t m_nClientOutputFrames; // 0x28
private:
[[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c
public:
double m_flRealTime; // 0x30
double m_flRenderTime; // 0x38
double m_flRenderFrameTime; // 0x40
double m_flRenderFrameTimeUnbounded; // 0x48
double m_flRenderFrameTimeUnscaled; // 0x50
double m_flTickRemainder; // 0x58
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientPollInput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientProcessInput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientProcessGameInput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 6
// Size: 0x48
2023-03-15 15:20:35 +00:00
struct EventClientPreOutput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
double m_flRenderTime; // 0x28
double m_flRenderFrameTime; // 0x30
double m_flRenderFrameTimeUnbounded; // 0x38
float m_flRealTime; // 0x40
bool m_bRenderOnly; // 0x44
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x1
2023-03-15 15:20:35 +00:00
struct EventClientSceneSystemThreadStateChange_t
{
public:
2023-03-23 14:05:13 +00:00
bool m_bThreadsActive; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 5
// Size: 0x38
2023-03-15 15:20:35 +00:00
struct EventClientOutput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRenderTime; // 0x28
float m_flRealTime; // 0x2c
float m_flRenderFrameTimeUnbounded; // 0x30
bool m_bRenderOnly; // 0x34
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 5
// Size: 0x40
2023-03-15 15:20:35 +00:00
struct EventClientPostOutput_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
double m_flRenderTime; // 0x28
float m_flRenderFrameTime; // 0x30
float m_flRenderFrameTimeUnbounded; // 0x34
bool m_bRenderOnly; // 0x38
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientFrameSimulate_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventSimpleLoopFrameUpdate_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
float m_flRealTime; // 0x28
float m_flFrameTime; // 0x2c
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventSimulate_t
{
public:
2023-03-23 14:05:13 +00:00
EngineLoopState_t m_LoopState; // 0x0
bool m_bFirstTick; // 0x28
bool m_bLastTick; // 0x29
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x40
2023-03-15 15:20:35 +00:00
struct EventAdvanceTick_t : public EventSimulate_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nCurrentTick; // 0x30
int32_t m_nCurrentTickThisFrame; // 0x34
int32_t m_nTotalTicksThisFrame; // 0x38
int32_t m_nTotalTicks; // 0x3c
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x40
2023-03-15 15:20:35 +00:00
struct EventPostAdvanceTick_t : public EventSimulate_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nCurrentTick; // 0x30
int32_t m_nCurrentTickThisFrame; // 0x34
int32_t m_nTotalTicksThisFrame; // 0x38
int32_t m_nTotalTicks; // 0x3c
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x40
struct EventServerAdvanceTick_t : public EventAdvanceTick_t
2023-03-15 15:20:35 +00:00
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x40
struct EventServerPostAdvanceTick_t : public EventPostAdvanceTick_t
2023-03-15 15:20:35 +00:00
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x40
struct EventClientAdvanceTick_t : public EventAdvanceTick_t
2023-03-15 15:20:35 +00:00
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x40
struct EventClientPostAdvanceTick_t : public EventPostAdvanceTick_t
2023-03-15 15:20:35 +00:00
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 2
// Size: 0x8
2023-03-15 15:20:35 +00:00
struct EventClientSendInput_t
{
public:
2023-03-23 14:05:13 +00:00
bool m_bFinalClientCommandTick; // 0x0
int32_t m_nAdditionalClientCommandsToCreate; // 0x4
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x1
2023-03-15 15:20:35 +00:00
struct EventClientPredictionPostNetupdate_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x1]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
struct EventClientPollNetworking_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nTickCount; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x1
2023-03-15 15:20:35 +00:00
struct EventClientProcessNetworking_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x1]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientPreSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventServerPollNetworking_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventServerProcessNetworking_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventServerSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventServerPostSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientPostSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EventClientPauseSimulate_t : public EventSimulate_t
{
public:
2023-03-24 21:15:52 +00:00
// @note: no members available
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct EventPostDataUpdate_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nCount; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct EventPreDataUpdate_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nCount; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x4
2023-03-15 15:20:35 +00:00
struct EventAppShutdown_t
{
public:
2023-03-23 14:05:13 +00:00
int32_t m_nDummy0; // 0x0
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class IHandleEntity
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x8]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x28
2023-03-15 15:20:35 +00:00
class CNetworkVarChainer
{
public:
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
2023-03-23 14:05:13 +00:00
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x20
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x1
2023-03-15 15:20:35 +00:00
class CVariantDefaultAllocator
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x1]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x10
2023-03-15 15:20:35 +00:00
struct EntOutput_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x10]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 8
// Size: 0x78
2023-03-15 15:20:35 +00:00
struct EntComponentInfo_t
{
public:
2023-03-23 14:05:13 +00:00
V_uuid_t m_id; // 0x0
char* m_pName; // 0x10
char* m_pCPPClassname; // 0x18
char* m_pNetworkDataReferencedDescription; // 0x20
char* m_pNetworkDataReferencedPtrPropDescription; // 0x28
int32_t m_nRuntimeIndex; // 0x30
uint32_t m_nFlags; // 0x34
private:
[[maybe_unused]] uint8_t __pad0038[0x38]; // 0x38
public:
CEntityComponentHelper* m_pBaseClassComponentHelper; // 0x70
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class CEntityComponent
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x8]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x30
2023-03-15 15:20:35 +00:00
struct EntInput_t
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x30]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 4
// Size: 0x28
2023-03-15 15:20:35 +00:00
class CEntityComponentHelper
{
public:
2023-03-23 14:05:13 +00:00
uint32_t m_flags; // 0x8
private:
[[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc
public:
EntComponentInfo_t* m_pInfo; // 0x10
int32_t m_nPriority; // 0x18
private:
[[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c
public:
CEntityComponentHelper* m_pNext; // 0x20
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 11
// Size: 0x78
2023-03-15 15:20:35 +00:00
class CEntityIdentity
{
public:
// MNetworkEnable
// MNetworkChangeCallback "entityIdentityNameChanged"
2023-03-23 14:05:13 +00:00
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:
2023-03-15 15:20:35 +00:00
// MNetworkDisable
2023-03-23 14:05:13 +00:00
WorldGroupId_t m_worldGroupId; // 0x38
uint32_t m_fDataObjectTypes; // 0x3c
2023-03-15 15:20:35 +00:00
// MNetworkDisable
// MNetworkChangeAccessorFieldPathIndex
2023-03-23 14:05:13 +00:00
ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x40
private:
[[maybe_unused]] uint8_t __pad0042[0x16]; // 0x42
public:
CEntityIdentity* m_pPrev; // 0x58
CEntityIdentity* m_pNext; // 0x60
CEntityIdentity* m_pPrevByClass; // 0x68
CEntityIdentity* m_pNextByClass; // 0x70
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 0
// Size: 0x8
2023-03-15 15:20:35 +00:00
class CEmptyEntityInstance
{
public:
2023-03-24 21:15:52 +00:00
uint8_t __pad0000[0x8]; // @note: autoaligned
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 3
// Size: 0x30
2023-03-15 15:20:35 +00:00
class CEntityInstance : public IHandleEntity
{
public:
// MNetworkDisable
2023-03-23 14:05:13 +00:00
CUtlSymbolLarge m_iszPrivateVScripts; // 0x8
2023-03-15 15:20:35 +00:00
// MNetworkEnable
// MNetworkPriority "56"
2023-03-23 14:05:13 +00:00
CEntityIdentity* m_pEntity; // 0x10
private:
[[maybe_unused]] uint8_t __pad0018[0x10]; // 0x18
public:
2023-03-15 15:20:35 +00:00
// MNetworkEnable
// MNetworkDisable
2023-03-23 14:05:13 +00:00
CScriptComponent* m_CScriptComponent; // 0x28
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x28
2023-03-15 15:20:35 +00:00
class CEntityIOOutput
{
public:
2023-03-23 14:05:13 +00:00
CVariantBase< CVariantDefaultAllocator > m_Value; // 0x18
2023-03-15 15:20:35 +00:00
};
2023-03-23 14:05:13 +00:00
// Alignment: 1
// Size: 0x38
2023-03-15 15:20:35 +00:00
class CScriptComponent : public CEntityComponent
{
public:
2023-03-23 14:05:13 +00:00
CUtlSymbolLarge m_scriptClassName; // 0x30
static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast<EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("engine2.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("engine2.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);};
2023-03-15 15:20:35 +00:00
};