mirror of
https://github.com/neverlosecc/source2sdk.git
synced 2025-01-22 21:36:01 +00:00
08.11.2024 (Kesha)
This commit is contained in:
parent
cef5650f51
commit
ebd82a6a66
@ -17,7 +17,7 @@ namespace source2sdk::animationsystem
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x130
|
||||
// Size: 0x148
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -47,7 +47,10 @@ namespace source2sdk::animationsystem
|
||||
// m_szScripts has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CBufferString> m_szScripts;
|
||||
char m_szScripts[0x18]; // 0x110
|
||||
[[maybe_unused]] std::uint8_t pad_0x128[0x8];
|
||||
// m_AdditionalExtRefs has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CStrongHandleVoid> m_AdditionalExtRefs;
|
||||
char m_AdditionalExtRefs[0x18]; // 0x128
|
||||
[[maybe_unused]] std::uint8_t pad_0x140[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@ -58,6 +61,7 @@ namespace source2sdk::animationsystem
|
||||
static_assert(offsetof(CAnimationGroup, m_directHSeqGroup_Handle) == 0x90);
|
||||
static_assert(offsetof(CAnimationGroup, m_decodeKey) == 0x98);
|
||||
static_assert(offsetof(CAnimationGroup, m_szScripts) == 0x110);
|
||||
static_assert(offsetof(CAnimationGroup, m_AdditionalExtRefs) == 0x128);
|
||||
|
||||
static_assert(sizeof(CAnimationGroup) == 0x130);
|
||||
static_assert(sizeof(CAnimationGroup) == 0x148);
|
||||
};
|
||||
|
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "source2sdk/modellib/AttachmentHandle_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animationsystem
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animationsystem
|
||||
{
|
||||
// Registered alignment: 0x4
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Has Trivial Destructor
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
class FollowAttachmentData
|
||||
{
|
||||
public:
|
||||
int32_t m_boneIndex; // 0x0
|
||||
modellib::AttachmentHandle_t m_attachmentHandle; // 0x4
|
||||
[[maybe_unused]] std::uint8_t pad_0x05[0x3];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(FollowAttachmentData, m_boneIndex) == 0x0);
|
||||
static_assert(offsetof(FollowAttachmentData, m_attachmentHandle) == 0x4);
|
||||
|
||||
static_assert(sizeof(FollowAttachmentData) == 0x8);
|
||||
};
|
@ -8,7 +8,7 @@
|
||||
|
||||
namespace source2sdk::animgraphlib
|
||||
{
|
||||
// Enumerator count: 36
|
||||
// Enumerator count: 37
|
||||
// Alignment: 4
|
||||
// Size: 0x4
|
||||
enum class AnimValueSource : std::uint32_t
|
||||
@ -25,65 +25,67 @@ namespace source2sdk::animgraphlib
|
||||
FacingHeading = 0x4,
|
||||
// MPropertyFriendlyName "Look Heading"
|
||||
LookHeading = 0x5,
|
||||
// MPropertyFriendlyName "Look Heading Normalized"
|
||||
LookHeadingNormalized = 0x6,
|
||||
// MPropertyFriendlyName "Look Pitch"
|
||||
LookPitch = 0x6,
|
||||
LookPitch = 0x7,
|
||||
// MPropertyFriendlyName "Look Distance"
|
||||
LookDistance = 0x7,
|
||||
LookDistance = 0x8,
|
||||
// MPropertyFriendlyName "Parameter"
|
||||
Parameter = 0x8,
|
||||
Parameter = 0x9,
|
||||
// MPropertyFriendlyName "Waypoint Heading"
|
||||
WayPointHeading = 0x9,
|
||||
WayPointHeading = 0xa,
|
||||
// MPropertyFriendlyName "Waypoint Distance"
|
||||
WayPointDistance = 0xa,
|
||||
WayPointDistance = 0xb,
|
||||
// MPropertyFriendlyName "Boundary Radius"
|
||||
BoundaryRadius = 0xb,
|
||||
BoundaryRadius = 0xc,
|
||||
// MPropertyFriendlyName "Target Move Heading"
|
||||
TargetMoveHeading = 0xc,
|
||||
TargetMoveHeading = 0xd,
|
||||
// MPropertyFriendlyName "Target Move Speed"
|
||||
TargetMoveSpeed = 0xd,
|
||||
TargetMoveSpeed = 0xe,
|
||||
// MPropertyFriendlyName "Acceleration Heading"
|
||||
AccelerationHeading = 0xe,
|
||||
AccelerationHeading = 0xf,
|
||||
// MPropertyFriendlyName "Acceleration Speed"
|
||||
AccelerationSpeed = 0xf,
|
||||
AccelerationSpeed = 0x10,
|
||||
// MPropertyFriendlyName "Slope Heading"
|
||||
SlopeHeading = 0x10,
|
||||
SlopeHeading = 0x11,
|
||||
// MPropertyFriendlyName "Slope Angle"
|
||||
SlopeAngle = 0x11,
|
||||
SlopeAngle = 0x12,
|
||||
// MPropertyFriendlyName "Slope Pitch"
|
||||
SlopePitch = 0x12,
|
||||
SlopePitch = 0x13,
|
||||
// MPropertyFriendlyName "Slope Yaw"
|
||||
SlopeYaw = 0x13,
|
||||
SlopeYaw = 0x14,
|
||||
// MPropertyFriendlyName "Goal Distance"
|
||||
GoalDistance = 0x14,
|
||||
GoalDistance = 0x15,
|
||||
// MPropertyFriendlyName "Acceleration Left-Right"
|
||||
AccelerationLeftRight = 0x15,
|
||||
AccelerationLeftRight = 0x16,
|
||||
// MPropertyFriendlyName "Acceleration Forward-Back"
|
||||
AccelerationFrontBack = 0x16,
|
||||
AccelerationFrontBack = 0x17,
|
||||
// MPropertyFriendlyName "Root Motion Speed"
|
||||
RootMotionSpeed = 0x17,
|
||||
RootMotionSpeed = 0x18,
|
||||
// MPropertyFriendlyName "Root Motion Turn Speed"
|
||||
RootMotionTurnSpeed = 0x18,
|
||||
RootMotionTurnSpeed = 0x19,
|
||||
// MPropertyFriendlyName "Move Heading Relative to Look Heading"
|
||||
MoveHeadingRelativeToLookHeading = 0x19,
|
||||
MoveHeadingRelativeToLookHeading = 0x1a,
|
||||
// MPropertyFriendlyName "Max Move Speed"
|
||||
MaxMoveSpeed = 0x1a,
|
||||
MaxMoveSpeed = 0x1b,
|
||||
// MPropertyFriendlyName "Finger Curl - Thumb"
|
||||
FingerCurl_Thumb = 0x1b,
|
||||
FingerCurl_Thumb = 0x1c,
|
||||
// MPropertyFriendlyName "Finger Curl - Index"
|
||||
FingerCurl_Index = 0x1c,
|
||||
FingerCurl_Index = 0x1d,
|
||||
// MPropertyFriendlyName "Finger Curl - Middle"
|
||||
FingerCurl_Middle = 0x1d,
|
||||
FingerCurl_Middle = 0x1e,
|
||||
// MPropertyFriendlyName "Finger Curl - Ring"
|
||||
FingerCurl_Ring = 0x1e,
|
||||
FingerCurl_Ring = 0x1f,
|
||||
// MPropertyFriendlyName "Finger Curl - Pinky"
|
||||
FingerCurl_Pinky = 0x1f,
|
||||
FingerCurl_Pinky = 0x20,
|
||||
// MPropertyFriendlyName "Finger Splay - Thumb:Index"
|
||||
FingerSplay_Thumb_Index = 0x20,
|
||||
FingerSplay_Thumb_Index = 0x21,
|
||||
// MPropertyFriendlyName "Finger Splay - Index:Middle"
|
||||
FingerSplay_Index_Middle = 0x21,
|
||||
FingerSplay_Index_Middle = 0x22,
|
||||
// MPropertyFriendlyName "Finger Splay - Middle:Ring"
|
||||
FingerSplay_Middle_Ring = 0x22,
|
||||
FingerSplay_Middle_Ring = 0x23,
|
||||
// MPropertyFriendlyName "Finger Splay - Ring:Pinky"
|
||||
FingerSplay_Ring_Pinky = 0x23,
|
||||
FingerSplay_Ring_Pinky = 0x24,
|
||||
};
|
||||
};
|
||||
|
@ -43,7 +43,8 @@ namespace source2sdk::animgraphlib
|
||||
[[maybe_unused]] std::uint8_t pad_0x9e[0x2]; // 0x9e
|
||||
float m_flTurnToFaceOffset; // 0xa0
|
||||
bool m_bTurnToFace; // 0xa4
|
||||
[[maybe_unused]] std::uint8_t pad_0xa5[0x3];
|
||||
bool m_bAlignRootMotionWithMoveDirection; // 0xa5
|
||||
[[maybe_unused]] std::uint8_t pad_0xa6[0x2];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
@ -17,7 +17,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xc8
|
||||
// Size: 0xd0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -26,18 +26,18 @@ namespace source2sdk::animgraphlib
|
||||
class CFootPinningUpdateNode : public animgraphlib::CUnaryUpdateNode
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x68[0x8]; // 0x68
|
||||
animgraphlib::FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x70
|
||||
animgraphlib::FootPinningTimingSource m_eTimingSource; // 0xa0
|
||||
[[maybe_unused]] std::uint8_t pad_0xa4[0x4]; // 0xa4
|
||||
[[maybe_unused]] std::uint8_t pad_0x68[0x10]; // 0x68
|
||||
animgraphlib::FootPinningPoseOpFixedData_t m_poseOpFixedData; // 0x78
|
||||
animgraphlib::FootPinningTimingSource m_eTimingSource; // 0xa8
|
||||
[[maybe_unused]] std::uint8_t pad_0xac[0x4]; // 0xac
|
||||
// m_params has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::CAnimParamHandle> m_params;
|
||||
char m_params[0x18]; // 0xa8
|
||||
bool m_bResetChild; // 0xc0
|
||||
[[maybe_unused]] std::uint8_t pad_0xc1[0x7];
|
||||
char m_params[0x18]; // 0xb0
|
||||
bool m_bResetChild; // 0xc8
|
||||
[[maybe_unused]] std::uint8_t pad_0xc9[0x7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CFootPinningUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CFootPinningUpdateNode) == 0xc8);
|
||||
static_assert(sizeof(CFootPinningUpdateNode) == 0xd0);
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xd0
|
||||
// Size: 0xd8
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -25,19 +25,19 @@ namespace source2sdk::animgraphlib
|
||||
class CJumpHelperUpdateNode : public animgraphlib::CSequenceUpdateNode
|
||||
{
|
||||
public:
|
||||
animgraphlib::CAnimParamHandle m_hTargetParam; // 0xa8
|
||||
[[maybe_unused]] std::uint8_t pad_0xaa[0x2]; // 0xaa
|
||||
Vector m_flOriginalJumpMovement; // 0xac
|
||||
float m_flOriginalJumpDuration; // 0xb8
|
||||
float m_flJumpStartCycle; // 0xbc
|
||||
float m_flJumpEndCycle; // 0xc0
|
||||
animgraphlib::JumpCorrectionMethod m_eCorrectionMethod; // 0xc4
|
||||
bool m_bTranslationAxis[3]; // 0xc8
|
||||
bool m_bScaleSpeed; // 0xcb
|
||||
[[maybe_unused]] std::uint8_t pad_0xcc[0x4];
|
||||
animgraphlib::CAnimParamHandle m_hTargetParam; // 0xb0
|
||||
[[maybe_unused]] std::uint8_t pad_0xb2[0x2]; // 0xb2
|
||||
Vector m_flOriginalJumpMovement; // 0xb4
|
||||
float m_flOriginalJumpDuration; // 0xc0
|
||||
float m_flJumpStartCycle; // 0xc4
|
||||
float m_flJumpEndCycle; // 0xc8
|
||||
animgraphlib::JumpCorrectionMethod m_eCorrectionMethod; // 0xcc
|
||||
bool m_bTranslationAxis[3]; // 0xd0
|
||||
bool m_bScaleSpeed; // 0xd3
|
||||
[[maybe_unused]] std::uint8_t pad_0xd4[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CJumpHelperUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CJumpHelperUpdateNode) == 0xd0);
|
||||
static_assert(sizeof(CJumpHelperUpdateNode) == 0xd8);
|
||||
};
|
||||
|
@ -26,14 +26,15 @@ namespace source2sdk::animgraphlib
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x30[0x4]; // 0x30
|
||||
animgraphlib::CAnimParamHandle m_hLookHeading; // 0x34
|
||||
animgraphlib::CAnimParamHandle m_hLookHeadingVelocity; // 0x36
|
||||
animgraphlib::CAnimParamHandle m_hLookPitch; // 0x38
|
||||
animgraphlib::CAnimParamHandle m_hLookDistance; // 0x3a
|
||||
animgraphlib::CAnimParamHandle m_hLookDirection; // 0x3c
|
||||
animgraphlib::CAnimParamHandle m_hLookTarget; // 0x3e
|
||||
animgraphlib::CAnimParamHandle m_hLookTargetWorldSpace; // 0x40
|
||||
bool m_bNetworkLookTarget; // 0x42
|
||||
[[maybe_unused]] std::uint8_t pad_0x43[0x5];
|
||||
animgraphlib::CAnimParamHandle m_hLookHeadingNormalized; // 0x36
|
||||
animgraphlib::CAnimParamHandle m_hLookHeadingVelocity; // 0x38
|
||||
animgraphlib::CAnimParamHandle m_hLookPitch; // 0x3a
|
||||
animgraphlib::CAnimParamHandle m_hLookDistance; // 0x3c
|
||||
animgraphlib::CAnimParamHandle m_hLookDirection; // 0x3e
|
||||
animgraphlib::CAnimParamHandle m_hLookTarget; // 0x40
|
||||
animgraphlib::CAnimParamHandle m_hLookTargetWorldSpace; // 0x42
|
||||
bool m_bNetworkLookTarget; // 0x44
|
||||
[[maybe_unused]] std::uint8_t pad_0x45[0x3];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
@ -0,0 +1,48 @@
|
||||
#pragma once
|
||||
#include "source2sdk/animgraphlib/AnimValueSource.hpp"
|
||||
#include "source2sdk/animgraphlib/CAnimInputDamping.hpp"
|
||||
#include "source2sdk/animgraphlib/CAnimParamHandle.hpp"
|
||||
#include "source2sdk/animgraphlib/CUnaryUpdateNode.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animgraphlib
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animgraphlib
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xa0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
class COrientationWarpUpdateNode : public animgraphlib::CUnaryUpdateNode
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x68[0x4]; // 0x68
|
||||
animgraphlib::AnimValueSource m_eTarget; // 0x6c
|
||||
animgraphlib::CAnimParamHandle m_hTargetParam; // 0x70
|
||||
animgraphlib::CAnimParamHandle m_hTargetPositionParam; // 0x72
|
||||
float m_flTargetOffset; // 0x74
|
||||
animgraphlib::CAnimInputDamping m_damping; // 0x78
|
||||
float m_flSmoothDampingDuration; // 0x88
|
||||
bool m_bAddRootMotionIfNeeded; // 0x8c
|
||||
[[maybe_unused]] std::uint8_t pad_0x8d[0x3]; // 0x8d
|
||||
float m_flMaxRootMotionScale; // 0x90
|
||||
bool m_bEnablePreferredRotationDirection; // 0x94
|
||||
[[maybe_unused]] std::uint8_t pad_0x95[0x3]; // 0x95
|
||||
animgraphlib::AnimValueSource m_ePreferredRotationDirection; // 0x98
|
||||
float m_flPreferredRotationThreshold; // 0x9c
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in COrientationWarpUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(COrientationWarpUpdateNode) == 0xa0);
|
||||
};
|
@ -14,7 +14,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x80
|
||||
// Size: 0x88
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -23,11 +23,11 @@ namespace source2sdk::animgraphlib
|
||||
class CPairedSequenceUpdateNode : public animgraphlib::CSequenceUpdateNodeBase
|
||||
{
|
||||
public:
|
||||
CGlobalSymbol m_sPairedSequenceRole; // 0x70
|
||||
[[maybe_unused]] std::uint8_t pad_0x78[0x8];
|
||||
CGlobalSymbol m_sPairedSequenceRole; // 0x78
|
||||
[[maybe_unused]] std::uint8_t pad_0x80[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CPairedSequenceUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CPairedSequenceUpdateNode) == 0x80);
|
||||
static_assert(sizeof(CPairedSequenceUpdateNode) == 0x88);
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xa8
|
||||
// Size: 0xc0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -28,23 +28,26 @@ namespace source2sdk::animgraphlib
|
||||
// m_ragdollNodePaths has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::CAnimNodePath> m_ragdollNodePaths;
|
||||
char m_ragdollNodePaths[0x18]; // 0x30
|
||||
// m_followAttachmentNodePaths has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::CAnimNodePath> m_followAttachmentNodePaths;
|
||||
char m_followAttachmentNodePaths[0x18]; // 0x48
|
||||
// m_boneIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<int32_t> m_boneIndices;
|
||||
char m_boneIndices[0x18]; // 0x48
|
||||
char m_boneIndices[0x18]; // 0x60
|
||||
// m_boneNames has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CUtlString> m_boneNames;
|
||||
char m_boneNames[0x18]; // 0x60
|
||||
char m_boneNames[0x18]; // 0x78
|
||||
// m_weightLists has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::WeightList> m_weightLists;
|
||||
char m_weightLists[0x18]; // 0x78
|
||||
float m_flSpringFrequencyMin; // 0x90
|
||||
float m_flSpringFrequencyMax; // 0x94
|
||||
float m_flMaxStretch; // 0x98
|
||||
bool m_bSolidCollisionAtZeroWeight; // 0x9c
|
||||
[[maybe_unused]] std::uint8_t pad_0x9d[0xb];
|
||||
char m_weightLists[0x18]; // 0x90
|
||||
float m_flSpringFrequencyMin; // 0xa8
|
||||
float m_flSpringFrequencyMax; // 0xac
|
||||
float m_flMaxStretch; // 0xb0
|
||||
bool m_bSolidCollisionAtZeroWeight; // 0xb4
|
||||
[[maybe_unused]] std::uint8_t pad_0xb5[0xb];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CRagdollComponentUpdater because it is not a standard-layout class
|
||||
static_assert(sizeof(CRagdollComponentUpdater) == 0xa8);
|
||||
static_assert(sizeof(CRagdollComponentUpdater) == 0xc0);
|
||||
};
|
||||
|
@ -17,7 +17,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xa8
|
||||
// Size: 0xb0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -26,15 +26,15 @@ namespace source2sdk::animgraphlib
|
||||
class CSequenceUpdateNode : public animgraphlib::CSequenceUpdateNodeBase
|
||||
{
|
||||
public:
|
||||
animationsystem::HSequence m_hSequence; // 0x70
|
||||
float m_duration; // 0x74
|
||||
animgraphlib::CParamSpanUpdater m_paramSpans; // 0x78
|
||||
animationsystem::HSequence m_hSequence; // 0x78
|
||||
float m_duration; // 0x7c
|
||||
animgraphlib::CParamSpanUpdater m_paramSpans; // 0x80
|
||||
// m_tags has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::TagSpan_t> m_tags;
|
||||
char m_tags[0x18]; // 0x90
|
||||
char m_tags[0x18]; // 0x98
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CSequenceUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CSequenceUpdateNode) == 0xa8);
|
||||
static_assert(sizeof(CSequenceUpdateNode) == 0xb0);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x70
|
||||
// Size: 0x78
|
||||
// Has VTable
|
||||
// Is Abstract
|
||||
// Construct allowed
|
||||
@ -24,13 +24,13 @@ namespace source2sdk::animgraphlib
|
||||
class CSequenceUpdateNodeBase : public animgraphlib::CLeafUpdateNode
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x58[0xc]; // 0x58
|
||||
float m_playbackSpeed; // 0x64
|
||||
bool m_bLoop; // 0x68
|
||||
[[maybe_unused]] std::uint8_t pad_0x69[0x7];
|
||||
[[maybe_unused]] std::uint8_t pad_0x58[0x14]; // 0x58
|
||||
float m_playbackSpeed; // 0x6c
|
||||
bool m_bLoop; // 0x70
|
||||
[[maybe_unused]] std::uint8_t pad_0x71[0x7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CSequenceUpdateNodeBase because it is not a standard-layout class
|
||||
static_assert(sizeof(CSequenceUpdateNodeBase) == 0x70);
|
||||
static_assert(sizeof(CSequenceUpdateNodeBase) == 0x78);
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xa8
|
||||
// Size: 0xa0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -29,10 +29,10 @@ namespace source2sdk::animgraphlib
|
||||
// CUtlVector<animgraphlib::CSolveIKTargetHandle_t> m_targetHandles;
|
||||
char m_targetHandles[0x18]; // 0x68
|
||||
animgraphlib::SolveIKChainPoseOpFixedSettings_t m_opFixedData; // 0x80
|
||||
[[maybe_unused]] std::uint8_t pad_0xa0[0x8];
|
||||
[[maybe_unused]] std::uint8_t pad_0x98[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CSolveIKChainUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CSolveIKChainUpdateNode) == 0xa8);
|
||||
static_assert(sizeof(CSolveIKChainUpdateNode) == 0xa0);
|
||||
};
|
||||
|
@ -37,7 +37,8 @@ namespace source2sdk::animgraphlib
|
||||
[[maybe_unused]] std::uint8_t pad_0xf0[0x4]; // 0xf0
|
||||
bool m_bBlockWaningTags; // 0xf4
|
||||
bool m_bLockStateWhenWaning; // 0xf5
|
||||
[[maybe_unused]] std::uint8_t pad_0xf6[0x2];
|
||||
bool m_bResetWhenActivated; // 0xf6
|
||||
[[maybe_unused]] std::uint8_t pad_0xf7[0x1];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
@ -38,7 +38,9 @@ namespace source2sdk::animgraphlib
|
||||
uint8_t m_bIsStartState: 1;
|
||||
uint8_t m_bIsEndState: 1;
|
||||
uint8_t m_bIsPassthrough: 1;
|
||||
// end of bitfield block // 3 bits
|
||||
uint8_t m_bIsPassthroughRootMotion: 1;
|
||||
uint8_t m_bPreEvaluatePassthroughTransitionPath: 1;
|
||||
// end of bitfield block // 5 bits
|
||||
[[maybe_unused]] std::uint8_t pad_0x45[0x3];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
@ -51,6 +53,8 @@ namespace source2sdk::animgraphlib
|
||||
// Cannot assert offset of bitfield CStateUpdateData::m_bIsStartState
|
||||
// Cannot assert offset of bitfield CStateUpdateData::m_bIsEndState
|
||||
// Cannot assert offset of bitfield CStateUpdateData::m_bIsPassthrough
|
||||
// Cannot assert offset of bitfield CStateUpdateData::m_bIsPassthroughRootMotion
|
||||
// Cannot assert offset of bitfield CStateUpdateData::m_bPreEvaluatePassthroughTransitionPath
|
||||
|
||||
static_assert(sizeof(CStateUpdateData) == 0x48);
|
||||
};
|
||||
|
@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
#include "source2sdk/animgraphlib/CAnimParamHandle.hpp"
|
||||
#include "source2sdk/animgraphlib/CAnimUpdateNodeBase.hpp"
|
||||
#include "source2sdk/animgraphlib/CAnimUpdateNodeRef.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animgraphlib
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animgraphlib
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x88
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
class CTargetSelectorUpdateNode : public animgraphlib::CAnimUpdateNodeBase
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x58[0x8]; // 0x58
|
||||
// m_children has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::CAnimUpdateNodeRef> m_children;
|
||||
char m_children[0x18]; // 0x60
|
||||
[[maybe_unused]] std::uint8_t pad_0x78[0x4]; // 0x78
|
||||
animgraphlib::CAnimParamHandle m_hTargetPosition; // 0x7c
|
||||
animgraphlib::CAnimParamHandle m_hTargetFacePositionParameter; // 0x7e
|
||||
animgraphlib::CAnimParamHandle m_hForwardDirectionOverrideParameter; // 0x80
|
||||
bool m_bTargetPositionIsWorldSpace; // 0x82
|
||||
bool m_bTargetFacePositionIsWorldSpace; // 0x83
|
||||
[[maybe_unused]] std::uint8_t pad_0x84[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CTargetSelectorUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CTargetSelectorUpdateNode) == 0x88);
|
||||
};
|
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
#include "source2sdk/animgraphlib/CAnimParamHandle.hpp"
|
||||
#include "source2sdk/animgraphlib/CUnaryUpdateNode.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animgraphlib
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animgraphlib
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x78
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
class CTargetWarpUpdateNode : public animgraphlib::CUnaryUpdateNode
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x68[0x4]; // 0x68
|
||||
animgraphlib::CAnimParamHandle m_hTargetPositionParameter; // 0x6c
|
||||
animgraphlib::CAnimParamHandle m_hTargetUpVectorParameter; // 0x6e
|
||||
animgraphlib::CAnimParamHandle m_hTargetFacePositionParameter; // 0x70
|
||||
bool m_bTargetFacePositionIsWorldSpace; // 0x72
|
||||
bool m_bTargetPositionIsWorldSpace; // 0x73
|
||||
[[maybe_unused]] std::uint8_t pad_0x74[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CTargetWarpUpdateNode because it is not a standard-layout class
|
||||
static_assert(sizeof(CTargetWarpUpdateNode) == 0x78);
|
||||
};
|
@ -26,7 +26,6 @@ namespace source2sdk::animgraphlib
|
||||
public:
|
||||
int32_t m_nChainIndex; // 0x0
|
||||
animgraphlib::IKSolverSettings_t m_SolverSettings; // 0x4
|
||||
[[maybe_unused]] std::uint8_t pad_0x0c[0x4]; // 0xc
|
||||
animgraphlib::IKTargetSettings_t m_TargetSettings; // 0x10
|
||||
animgraphlib::SolveIKChainAnimNodeDebugSetting m_DebugSetting; // 0x38
|
||||
float m_flDebugNormalizedValue; // 0x3c
|
||||
|
@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animgraphlib
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animgraphlib
|
||||
{
|
||||
// Enumerator count: 5
|
||||
// Alignment: 4
|
||||
// Size: 0x4
|
||||
enum class EIKEndEffectorRotationFixUpMode : std::uint32_t
|
||||
{
|
||||
// MPropertyFriendlyName "None"
|
||||
// MPropertyDescription "However the end effector ends up after the solve, it's rotation will remain unchanged."
|
||||
None = 0x0,
|
||||
// MPropertyFriendlyName "Match Target Orientation"
|
||||
// MPropertyDescription "The targets orientation will be stamped onto the end effector."
|
||||
MatchTargetOrientation = 0x1,
|
||||
// MPropertyFriendlyName "Look At Target Forward"
|
||||
// MPropertyDescription "The targets forward vector will be used to build a look orientation while preserving the rotation of the end effector after the solve as much as possible."
|
||||
LookAtTargetForward = 0x2,
|
||||
// MPropertyFriendlyName "Maintain Parent Orientation"
|
||||
// MPropertyDescription "Use the parent bone's orientation as the end effector's orientation."
|
||||
MaintainParentOrientation = 0x3,
|
||||
// MPropertySuppressEnumerator
|
||||
Count = 0x4,
|
||||
};
|
||||
};
|
@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include "source2sdk/modellib/AttachmentHandle_t.hpp"
|
||||
#include "source2sdk/modellib/CAnimAttachment.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
@ -25,16 +26,18 @@ namespace source2sdk::animgraphlib
|
||||
public:
|
||||
modellib::CAnimAttachment m_attachment; // 0x0
|
||||
int32_t m_boneIndex; // 0x80
|
||||
bool m_bMatchTranslation; // 0x84
|
||||
bool m_bMatchRotation; // 0x85
|
||||
[[maybe_unused]] std::uint8_t pad_0x86[0xa];
|
||||
modellib::AttachmentHandle_t m_attachmentHandle; // 0x84
|
||||
bool m_bMatchTranslation; // 0x85
|
||||
bool m_bMatchRotation; // 0x86
|
||||
[[maybe_unused]] std::uint8_t pad_0x87[0x9];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_attachment) == 0x0);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_boneIndex) == 0x80);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_bMatchTranslation) == 0x84);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_bMatchRotation) == 0x85);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_attachmentHandle) == 0x84);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_bMatchTranslation) == 0x85);
|
||||
static_assert(offsetof(FollowAttachmentSettings_t, m_bMatchRotation) == 0x86);
|
||||
|
||||
static_assert(sizeof(FollowAttachmentSettings_t) == 0x90);
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include "source2sdk/animgraphlib/EIKEndEffectorRotationFixUpMode.hpp"
|
||||
#include "source2sdk/animgraphlib/IKSolverType.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
@ -14,7 +15,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Size: 0xc
|
||||
// Has Trivial Destructor
|
||||
#pragma pack(push, 1)
|
||||
struct IKSolverSettings_t
|
||||
@ -26,11 +27,14 @@ namespace source2sdk::animgraphlib
|
||||
// metadata: MPropertyFriendlyName "Num Iterations "
|
||||
// metadata: MPropertyAttrStateCallback
|
||||
int32_t m_nNumIterations; // 0x4
|
||||
// metadata: MPropertyFriendlyName "End Effector Rotation Behaviour"
|
||||
animgraphlib::EIKEndEffectorRotationFixUpMode m_EndEffectorRotationFixUpMode; // 0x8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(IKSolverSettings_t, m_SolverType) == 0x0);
|
||||
static_assert(offsetof(IKSolverSettings_t, m_nNumIterations) == 0x4);
|
||||
static_assert(offsetof(IKSolverSettings_t, m_EndEffectorRotationFixUpMode) == 0x8);
|
||||
|
||||
static_assert(sizeof(IKSolverSettings_t) == 0x8);
|
||||
static_assert(sizeof(IKSolverSettings_t) == 0xc);
|
||||
};
|
||||
|
@ -14,14 +14,19 @@ namespace source2sdk::animgraphlib
|
||||
enum class IKSolverType : std::uint32_t
|
||||
{
|
||||
// MPropertyFriendlyName "Perlin"
|
||||
// MPropertyDescription "Classic perlin 2-bone solver"
|
||||
IKSOLVER_Perlin = 0x0,
|
||||
// MPropertyFriendlyName "Two Bone"
|
||||
// MPropertyDescription "2-bone solver that does not have singularities that Perlin does, and should be used as a default starting point for 2 bone solves."
|
||||
IKSOLVER_TwoBone = 0x1,
|
||||
// MPropertyFriendlyName "FABRIK"
|
||||
// MPropertyDescription ""Forward And Backward Reaching Inverse Kinematics" solver - A solver that can handle any number of bones and works by iteratively solving for the position of each bone in the chain."
|
||||
IKSOLVER_Fabrik = 0x2,
|
||||
// MPropertyFriendlyName "Dog Leg (3 Bone)"
|
||||
// MPropertyFriendlyName "Dog Leg (3-Bone)"
|
||||
// MPropertyDescription "A 3-bone solver that uses two 2-bone solves under the hood to emulate a dog leg."
|
||||
IKSOLVER_DogLeg3Bone = 0x3,
|
||||
// MPropertyFriendlyName "CCD"
|
||||
// MPropertyDescription "Cyclic Coordinate Descent solver - A solver that can handle any number of bones and works by iteratively solving for the rotation of each bone in the chain."
|
||||
IKSOLVER_CCD = 0x4,
|
||||
// MPropertySuppressEnumerator
|
||||
IKSOLVER_COUNT = 0x5,
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animgraphlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x20
|
||||
// Size: 0x18
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -25,13 +25,10 @@ namespace source2sdk::animgraphlib
|
||||
// m_ChainsToSolveData has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<animgraphlib::ChainToSolveData_t> m_ChainsToSolveData;
|
||||
char m_ChainsToSolveData[0x18]; // 0x0
|
||||
bool m_bMatchTargetOrientation; // 0x18
|
||||
[[maybe_unused]] std::uint8_t pad_0x19[0x7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(SolveIKChainPoseOpFixedSettings_t, m_ChainsToSolveData) == 0x0);
|
||||
static_assert(offsetof(SolveIKChainPoseOpFixedSettings_t, m_bMatchTargetOrientation) == 0x18);
|
||||
|
||||
static_assert(sizeof(SolveIKChainPoseOpFixedSettings_t) == 0x20);
|
||||
static_assert(sizeof(SolveIKChainPoseOpFixedSettings_t) == 0x18);
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x88
|
||||
// Size: 0x90
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -29,5 +29,5 @@ namespace source2sdk::animlib
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmBlend1DNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmBlend1DNode__CDefinition) == 0x88);
|
||||
static_assert(sizeof(CNmBlend1DNode__CDefinition) == 0x90);
|
||||
};
|
||||
|
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: animlib
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::animlib
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x20
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct CNmBoneMask__SerializedData_t
|
||||
{
|
||||
public:
|
||||
CGlobalSymbol m_ID; // 0x0
|
||||
// m_weights has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<float> m_weights;
|
||||
char m_weights[0x18]; // 0x8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CNmBoneMask__SerializedData_t, m_ID) == 0x0);
|
||||
static_assert(offsetof(CNmBoneMask__SerializedData_t, m_weights) == 0x8);
|
||||
|
||||
static_assert(sizeof(CNmBoneMask__SerializedData_t) == 0x20);
|
||||
};
|
@ -37,7 +37,10 @@ namespace source2sdk::animlib
|
||||
// m_compressedPoseOffsets has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<uint32_t> m_compressedPoseOffsets;
|
||||
char m_compressedPoseOffsets[0x18]; // 0x40
|
||||
[[maybe_unused]] std::uint8_t pad_0x58[0x48]; // 0x58
|
||||
[[maybe_unused]] std::uint8_t pad_0x58[0x28]; // 0x58
|
||||
// m_secondaryAnimations has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVectorFixedGrowable<animlib::CNmClip*,1> m_secondaryAnimations;
|
||||
char m_secondaryAnimations[0x20]; // 0x80
|
||||
animlib::CNmSyncTrack m_syncTrack; // 0xa0
|
||||
animlib::CNmRootMotionData m_rootMotion; // 0x150
|
||||
bool m_bIsAdditive; // 0x1a0
|
||||
@ -51,6 +54,7 @@ namespace source2sdk::animlib
|
||||
static_assert(offsetof(CNmClip, m_compressedPoseData) == 0x10);
|
||||
static_assert(offsetof(CNmClip, m_trackCompressionSettings) == 0x28);
|
||||
static_assert(offsetof(CNmClip, m_compressedPoseOffsets) == 0x40);
|
||||
static_assert(offsetof(CNmClip, m_secondaryAnimations) == 0x80);
|
||||
static_assert(offsetof(CNmClip, m_syncTrack) == 0xa0);
|
||||
static_assert(offsetof(CNmClip, m_rootMotion) == 0x150);
|
||||
static_assert(offsetof(CNmClip, m_bIsAdditive) == 0x1a0);
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x30
|
||||
// Size: 0x40
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -25,13 +25,13 @@ namespace source2sdk::animlib
|
||||
public:
|
||||
// m_optionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_optionNodeIndices;
|
||||
char m_optionNodeIndices[0x10]; // 0x10
|
||||
char m_optionNodeIndices[0x18]; // 0x10
|
||||
// m_conditionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_conditionNodeIndices;
|
||||
char m_conditionNodeIndices[0x10]; // 0x20
|
||||
char m_conditionNodeIndices[0x18]; // 0x28
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmClipSelectorNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmClipSelectorNode__CDefinition) == 0x30);
|
||||
static_assert(sizeof(CNmClipSelectorNode__CDefinition) == 0x40);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x48
|
||||
// Size: 0x60
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -29,7 +29,7 @@ namespace source2sdk::animlib
|
||||
// m_resources has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CStrongHandleVoid> m_resources;
|
||||
char m_resources[0x18]; // 0x10
|
||||
[[maybe_unused]] std::uint8_t pad_0x28[0x20];
|
||||
[[maybe_unused]] std::uint8_t pad_0x28[0x38];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@ -37,5 +37,5 @@ namespace source2sdk::animlib
|
||||
static_assert(offsetof(CNmGraphDataSet, m_skeleton) == 0x8);
|
||||
static_assert(offsetof(CNmGraphDataSet, m_resources) == 0x10);
|
||||
|
||||
static_assert(sizeof(CNmGraphDataSet) == 0x48);
|
||||
static_assert(sizeof(CNmGraphDataSet) == 0x60);
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x50
|
||||
// Size: 0x68
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -33,5 +33,5 @@ namespace source2sdk::animlib
|
||||
static_assert(offsetof(CNmGraphVariation, m_graphDefinition) == 0x0);
|
||||
static_assert(offsetof(CNmGraphVariation, m_dataSet) == 0x8);
|
||||
|
||||
static_assert(sizeof(CNmGraphVariation) == 0x50);
|
||||
static_assert(sizeof(CNmGraphVariation) == 0x68);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x60
|
||||
// Size: 0x68
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -31,10 +31,10 @@ namespace source2sdk::animlib
|
||||
char m_IDs[0x30]; // 0x18
|
||||
// m_values has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<float,5> m_values;
|
||||
char m_values[0x18]; // 0x48
|
||||
char m_values[0x20]; // 0x48
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmIDToFloatNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmIDToFloatNode__CDefinition) == 0x60);
|
||||
static_assert(sizeof(CNmIDToFloatNode__CDefinition) == 0x68);
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x40
|
||||
// Size: 0x48
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -29,10 +29,10 @@ namespace source2sdk::animlib
|
||||
[[maybe_unused]] std::uint8_t pad_0x13[0x5]; // 0x13
|
||||
// m_layerDefinition has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<animlib::CNmLayerBlendNode__LayerDefinition_t,3> m_layerDefinition;
|
||||
char m_layerDefinition[0x28]; // 0x18
|
||||
char m_layerDefinition[0x30]; // 0x18
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmLayerBlendNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmLayerBlendNode__CDefinition) == 0x40);
|
||||
static_assert(sizeof(CNmLayerBlendNode__CDefinition) == 0x48);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x40
|
||||
// Size: 0x38
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -23,9 +23,12 @@ namespace source2sdk::animlib
|
||||
class CNmLegacyEvent : public animlib::CNmEvent
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x18[0x28];
|
||||
CUtlString m_animEventClassName; // 0x18
|
||||
KeyValues3 m_KV; // 0x20
|
||||
[[maybe_unused]] std::uint8_t pad_0x30[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CNmLegacyEvent) == 0x40);
|
||||
// Cannot assert offsets of fields in CNmLegacyEvent because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmLegacyEvent) == 0x38);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x48
|
||||
// Size: 0x50
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -24,13 +24,13 @@ namespace source2sdk::animlib
|
||||
public:
|
||||
// m_blendRanges has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<animlib::CNmParameterizedBlendNode__BlendRange_t,5> m_blendRanges;
|
||||
char m_blendRanges[0x40]; // 0x0
|
||||
Range_t m_parameterRange; // 0x40
|
||||
char m_blendRanges[0x48]; // 0x0
|
||||
Range_t m_parameterRange; // 0x48
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CNmParameterizedBlendNode__Parameterization_t, m_blendRanges) == 0x0);
|
||||
static_assert(offsetof(CNmParameterizedBlendNode__Parameterization_t, m_parameterRange) == 0x40);
|
||||
static_assert(offsetof(CNmParameterizedBlendNode__Parameterization_t, m_parameterRange) == 0x48);
|
||||
|
||||
static_assert(sizeof(CNmParameterizedBlendNode__Parameterization_t) == 0x48);
|
||||
static_assert(sizeof(CNmParameterizedBlendNode__Parameterization_t) == 0x50);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x28
|
||||
// Size: 0x30
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -25,12 +25,12 @@ namespace source2sdk::animlib
|
||||
public:
|
||||
// m_optionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_optionNodeIndices;
|
||||
char m_optionNodeIndices[0x10]; // 0x10
|
||||
int16_t m_parameterNodeIdx; // 0x20
|
||||
[[maybe_unused]] std::uint8_t pad_0x22[0x6];
|
||||
char m_optionNodeIndices[0x18]; // 0x10
|
||||
int16_t m_parameterNodeIdx; // 0x28
|
||||
[[maybe_unused]] std::uint8_t pad_0x2a[0x6];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmParameterizedClipSelectorNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmParameterizedClipSelectorNode__CDefinition) == 0x28);
|
||||
static_assert(sizeof(CNmParameterizedClipSelectorNode__CDefinition) == 0x30);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x28
|
||||
// Size: 0x30
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -25,12 +25,12 @@ namespace source2sdk::animlib
|
||||
public:
|
||||
// m_optionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_optionNodeIndices;
|
||||
char m_optionNodeIndices[0x10]; // 0x10
|
||||
int16_t m_parameterNodeIdx; // 0x20
|
||||
[[maybe_unused]] std::uint8_t pad_0x22[0x6];
|
||||
char m_optionNodeIndices[0x18]; // 0x10
|
||||
int16_t m_parameterNodeIdx; // 0x28
|
||||
[[maybe_unused]] std::uint8_t pad_0x2a[0x6];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmParameterizedSelectorNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmParameterizedSelectorNode__CDefinition) == 0x28);
|
||||
static_assert(sizeof(CNmParameterizedSelectorNode__CDefinition) == 0x30);
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x30
|
||||
// Size: 0x40
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -25,13 +25,13 @@ namespace source2sdk::animlib
|
||||
public:
|
||||
// m_optionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_optionNodeIndices;
|
||||
char m_optionNodeIndices[0x10]; // 0x10
|
||||
char m_optionNodeIndices[0x18]; // 0x10
|
||||
// m_conditionNodeIndices has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVectorFixedGrowable<int16_t,5> m_conditionNodeIndices;
|
||||
char m_conditionNodeIndices[0x10]; // 0x20
|
||||
char m_conditionNodeIndices[0x18]; // 0x28
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CNmSelectorNode::CDefinition because it is not a standard-layout class
|
||||
static_assert(sizeof(CNmSelectorNode__CDefinition) == 0x30);
|
||||
static_assert(sizeof(CNmSelectorNode__CDefinition) == 0x40);
|
||||
};
|
||||
|
@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
#include "source2sdk/animlib/CNmBoneMask.hpp"
|
||||
#include "source2sdk/animlib/CNmBoneMask__SerializedData_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
@ -14,7 +14,7 @@ namespace source2sdk::animlib
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x78
|
||||
// Size: 0x88
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -37,9 +37,10 @@ namespace source2sdk::animlib
|
||||
char m_modelSpaceReferencePose[0x18]; // 0x48
|
||||
int32_t m_numBonesToSampleAtLowLOD; // 0x60
|
||||
[[maybe_unused]] std::uint8_t pad_0x64[0x4]; // 0x64
|
||||
// m_boneMasks has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVector<animlib::CNmBoneMask> m_boneMasks;
|
||||
char m_boneMasks[0x10]; // 0x68
|
||||
// m_serializedMasks has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlLeanVector<animlib::CNmBoneMask__SerializedData_t> m_serializedMasks;
|
||||
char m_serializedMasks[0x10]; // 0x68
|
||||
[[maybe_unused]] std::uint8_t pad_0x78[0x10];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@ -49,7 +50,7 @@ namespace source2sdk::animlib
|
||||
static_assert(offsetof(CNmSkeleton, m_parentSpaceReferencePose) == 0x30);
|
||||
static_assert(offsetof(CNmSkeleton, m_modelSpaceReferencePose) == 0x48);
|
||||
static_assert(offsetof(CNmSkeleton, m_numBonesToSampleAtLowLOD) == 0x60);
|
||||
static_assert(offsetof(CNmSkeleton, m_boneMasks) == 0x68);
|
||||
static_assert(offsetof(CNmSkeleton, m_serializedMasks) == 0x68);
|
||||
|
||||
static_assert(sizeof(CNmSkeleton) == 0x78);
|
||||
static_assert(sizeof(CNmSkeleton) == 0x88);
|
||||
};
|
||||
|
@ -15,6 +15,6 @@ namespace source2sdk::animlib
|
||||
{
|
||||
Overlay = 0,
|
||||
Additive = 1,
|
||||
GlobalSpace = 2,
|
||||
ModelSpace = 2,
|
||||
};
|
||||
};
|
||||
|
38
sdk/include/source2sdk/client/ArtyCannonDef_t.hpp
Normal file
38
sdk/include/source2sdk/client/ArtyCannonDef_t.hpp
Normal file
@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameObjectDef_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xf0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyCannonDef_t : public client::ArtyGameObjectDef_t
|
||||
{
|
||||
public:
|
||||
bool m_bDirectAimAtTarget; // 0xb0
|
||||
[[maybe_unused]] std::uint8_t pad_0xb1[0x7]; // 0xb1
|
||||
// m_vecWeapons has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CUtlString> m_vecWeapons;
|
||||
char m_vecWeapons[0x18]; // 0xb8
|
||||
[[maybe_unused]] std::uint8_t pad_0xd0[0x18]; // 0xd0
|
||||
Vector2D m_vShotOffset; // 0xe8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtyCannonDef_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtyCannonDef_t) == 0xf0);
|
||||
};
|
64
sdk/include/source2sdk/client/ArtyConstants_t.hpp
Normal file
64
sdk/include/source2sdk/client/ArtyConstants_t.hpp
Normal file
@ -0,0 +1,64 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x4
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x34
|
||||
// Has Trivial Destructor
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyConstants_t
|
||||
{
|
||||
public:
|
||||
float m_flWindAccel; // 0x0
|
||||
float m_flG0; // 0x4
|
||||
float m_flDragCoeff; // 0x8
|
||||
bool m_bPuzzle; // 0xc
|
||||
[[maybe_unused]] std::uint8_t pad_0x0d[0x3]; // 0xd
|
||||
float m_flMinVelocityForFallDamage; // 0x10
|
||||
float m_flFallDamageMult; // 0x14
|
||||
float m_flMinAirTimeForDamage; // 0x18
|
||||
bool m_bRefillAmmoEachLevel; // 0x1c
|
||||
[[maybe_unused]] std::uint8_t pad_0x1d[0x3]; // 0x1d
|
||||
float m_flMaxClimbHeight; // 0x20
|
||||
bool m_bShowPathProjection; // 0x24
|
||||
bool m_bShowTrails; // 0x25
|
||||
bool m_bClearOldTrailsOnFire; // 0x26
|
||||
[[maybe_unused]] std::uint8_t pad_0x27[0x1]; // 0x27
|
||||
float m_flTrailLingerSeconds; // 0x28
|
||||
float m_flVelocityPerChargeSecond; // 0x2c
|
||||
float m_flMinimumGameObjectY; // 0x30
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyConstants_t, m_flWindAccel) == 0x0);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flG0) == 0x4);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flDragCoeff) == 0x8);
|
||||
static_assert(offsetof(ArtyConstants_t, m_bPuzzle) == 0xc);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flMinVelocityForFallDamage) == 0x10);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flFallDamageMult) == 0x14);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flMinAirTimeForDamage) == 0x18);
|
||||
static_assert(offsetof(ArtyConstants_t, m_bRefillAmmoEachLevel) == 0x1c);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flMaxClimbHeight) == 0x20);
|
||||
static_assert(offsetof(ArtyConstants_t, m_bShowPathProjection) == 0x24);
|
||||
static_assert(offsetof(ArtyConstants_t, m_bShowTrails) == 0x25);
|
||||
static_assert(offsetof(ArtyConstants_t, m_bClearOldTrailsOnFire) == 0x26);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flTrailLingerSeconds) == 0x28);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flVelocityPerChargeSecond) == 0x2c);
|
||||
static_assert(offsetof(ArtyConstants_t, m_flMinimumGameObjectY) == 0x30);
|
||||
|
||||
static_assert(sizeof(ArtyConstants_t) == 0x34);
|
||||
};
|
30
sdk/include/source2sdk/client/ArtyEnemyDef_t.hpp
Normal file
30
sdk/include/source2sdk/client/ArtyEnemyDef_t.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyUnitDef_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xc0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyEnemyDef_t : public client::ArtyUnitDef_t
|
||||
{
|
||||
public:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(ArtyEnemyDef_t) == 0xc0);
|
||||
};
|
35
sdk/include/source2sdk/client/ArtyEnemyOrder_t.hpp
Normal file
35
sdk/include/source2sdk/client/ArtyEnemyOrder_t.hpp
Normal file
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/EArtyOrderFlag.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x4
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Has Trivial Destructor
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyEnemyOrder_t
|
||||
{
|
||||
public:
|
||||
float m_flDuration; // 0x0
|
||||
client::EArtyOrderFlag m_unOrders; // 0x4
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyEnemyOrder_t, m_flDuration) == 0x0);
|
||||
static_assert(offsetof(ArtyEnemyOrder_t, m_unOrders) == 0x4);
|
||||
|
||||
static_assert(sizeof(ArtyEnemyOrder_t) == 0x8);
|
||||
};
|
36
sdk/include/source2sdk/client/ArtyGameModeInfo_t.hpp
Normal file
36
sdk/include/source2sdk/client/ArtyGameModeInfo_t.hpp
Normal file
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameModeLevelInfo_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x20
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGameModeInfo_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x8]; // 0x0
|
||||
// m_vecLevels has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::ArtyGameModeLevelInfo_t> m_vecLevels;
|
||||
char m_vecLevels[0x18]; // 0x8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGameModeInfo_t, m_vecLevels) == 0x8);
|
||||
|
||||
static_assert(sizeof(ArtyGameModeInfo_t) == 0x20);
|
||||
};
|
32
sdk/include/source2sdk/client/ArtyGameModeLevelInfo_t.hpp
Normal file
32
sdk/include/source2sdk/client/ArtyGameModeLevelInfo_t.hpp
Normal file
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGameModeLevelInfo_t
|
||||
{
|
||||
public:
|
||||
CUtlString m_szLevelName; // 0x0
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGameModeLevelInfo_t, m_szLevelName) == 0x0);
|
||||
|
||||
static_assert(sizeof(ArtyGameModeLevelInfo_t) == 0x8);
|
||||
};
|
115
sdk/include/source2sdk/client/ArtyGameObjectDef_t.hpp
Normal file
115
sdk/include/source2sdk/client/ArtyGameObjectDef_t.hpp
Normal file
@ -0,0 +1,115 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameObjectID_t.hpp"
|
||||
#include "source2sdk/client/ArtyGameObjectInstance_t.hpp"
|
||||
#include "source2sdk/client/EArtyGameObjectType.hpp"
|
||||
#include "source2sdk/client/EArtyHitboxType.hpp"
|
||||
#include "source2sdk/client/EArtyLayer.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0xb0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
// static metadata: MVDataNodeType "1"
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGameObjectDef_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x10]; // 0x0
|
||||
client::ArtyGameObjectID_t m_unID; // 0x10
|
||||
[[maybe_unused]] std::uint8_t pad_0x14[0x4]; // 0x14
|
||||
// metadata: MPropertyCustomFGDType "vdata_choice:scripts/events/crownfall/artillery_graphics.vdata"
|
||||
CUtlString m_szGraphicsDef; // 0x18
|
||||
[[maybe_unused]] std::uint8_t pad_0x20[0x8]; // 0x20
|
||||
CUtlString m_szDeathSound; // 0x28
|
||||
client::EArtyHitboxType m_eHitboxType; // 0x30
|
||||
[[maybe_unused]] std::uint8_t pad_0x31[0x3]; // 0x31
|
||||
Vector2D m_vHitboxMin; // 0x34
|
||||
Vector2D m_vHitboxMax; // 0x3c
|
||||
float m_flHitboxRadius; // 0x44
|
||||
float m_flHitboxExtents; // 0x48
|
||||
bool m_bInheritTransform; // 0x4c
|
||||
bool m_bInheritRotation; // 0x4d
|
||||
bool m_bInheritVisibility; // 0x4e
|
||||
bool m_bInheritState; // 0x4f
|
||||
bool m_bDestroyOnFallThrough; // 0x50
|
||||
[[maybe_unused]] std::uint8_t pad_0x51[0x3]; // 0x51
|
||||
float m_flFallDamagePerVelocity; // 0x54
|
||||
bool m_bDeathCausesExplosion; // 0x58
|
||||
[[maybe_unused]] std::uint8_t pad_0x59[0x3]; // 0x59
|
||||
float m_flExplosionDamage; // 0x5c
|
||||
float m_flExplosionRadius; // 0x60
|
||||
float m_flExplosionTerrainRadius; // 0x64
|
||||
float m_flGravityMult; // 0x68
|
||||
float m_flDragMult; // 0x6c
|
||||
float m_flWindMult; // 0x70
|
||||
float m_flDeathMaxScaleFactor; // 0x74
|
||||
bool m_bAllowPhysicsInDying; // 0x78
|
||||
client::EArtyGameObjectType m_eType; // 0x79
|
||||
[[maybe_unused]] std::uint8_t pad_0x7a[0x2]; // 0x7a
|
||||
client::EArtyLayer m_eLayer; // 0x7c
|
||||
float m_flMaxHealth; // 0x80
|
||||
float m_flHealth; // 0x84
|
||||
bool m_bVisible; // 0x88
|
||||
bool m_bCanCollide; // 0x89
|
||||
bool m_bDoPhysics; // 0x8a
|
||||
[[maybe_unused]] std::uint8_t pad_0x8b[0x1]; // 0x8b
|
||||
float m_flLifetime; // 0x8c
|
||||
float m_flDieTime; // 0x90
|
||||
[[maybe_unused]] std::uint8_t pad_0x94[0x4]; // 0x94
|
||||
// m_vecChildren has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::ArtyGameObjectInstance_t> m_vecChildren;
|
||||
char m_vecChildren[0x18]; // 0x98
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_unID) == 0x10);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_szGraphicsDef) == 0x18);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_szDeathSound) == 0x28);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_eHitboxType) == 0x30);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_vHitboxMin) == 0x34);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_vHitboxMax) == 0x3c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flHitboxRadius) == 0x44);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flHitboxExtents) == 0x48);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bInheritTransform) == 0x4c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bInheritRotation) == 0x4d);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bInheritVisibility) == 0x4e);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bInheritState) == 0x4f);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bDestroyOnFallThrough) == 0x50);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flFallDamagePerVelocity) == 0x54);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bDeathCausesExplosion) == 0x58);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flExplosionDamage) == 0x5c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flExplosionRadius) == 0x60);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flExplosionTerrainRadius) == 0x64);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flGravityMult) == 0x68);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flDragMult) == 0x6c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flWindMult) == 0x70);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flDeathMaxScaleFactor) == 0x74);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bAllowPhysicsInDying) == 0x78);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_eType) == 0x79);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_eLayer) == 0x7c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flMaxHealth) == 0x80);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flHealth) == 0x84);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bVisible) == 0x88);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bCanCollide) == 0x89);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_bDoPhysics) == 0x8a);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flLifetime) == 0x8c);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_flDieTime) == 0x90);
|
||||
static_assert(offsetof(ArtyGameObjectDef_t, m_vecChildren) == 0x98);
|
||||
|
||||
static_assert(sizeof(ArtyGameObjectDef_t) == 0xb0);
|
||||
};
|
34
sdk/include/source2sdk/client/ArtyGameObjectID_t.hpp
Normal file
34
sdk/include/source2sdk/client/ArtyGameObjectID_t.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x4
|
||||
// Has Trivial Destructor
|
||||
//
|
||||
// static metadata: MIsBoxedIntegerType
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGameObjectID_t
|
||||
{
|
||||
public:
|
||||
uint32_t m_Value; // 0x0
|
||||
|
||||
// Static fields:
|
||||
static bool &Get_IS_TYPESAFE_INTEGER() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ArtyGameObjectID_t")->GetStaticFields()[0]->m_pInstance);};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGameObjectID_t, m_Value) == 0x0);
|
||||
|
||||
static_assert(sizeof(ArtyGameObjectID_t) == 0x4);
|
||||
};
|
48
sdk/include/source2sdk/client/ArtyGameObjectInstance_t.hpp
Normal file
48
sdk/include/source2sdk/client/ArtyGameObjectInstance_t.hpp
Normal file
@ -0,0 +1,48 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x38
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGameObjectInstance_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x8]; // 0x0
|
||||
CUtlString m_szName; // 0x8
|
||||
CUtlString m_szGameObject; // 0x10
|
||||
[[maybe_unused]] std::uint8_t pad_0x18[0x4]; // 0x18
|
||||
Vector2D m_vPosition; // 0x1c
|
||||
float m_flRotation; // 0x24
|
||||
Vector2D m_vScale; // 0x28
|
||||
bool m_bFacingLeft; // 0x30
|
||||
[[maybe_unused]] std::uint8_t pad_0x31[0x3]; // 0x31
|
||||
float m_flYawOffset; // 0x34
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_szName) == 0x8);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_szGameObject) == 0x10);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_vPosition) == 0x1c);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_flRotation) == 0x24);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_vScale) == 0x28);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_bFacingLeft) == 0x30);
|
||||
static_assert(offsetof(ArtyGameObjectInstance_t, m_flYawOffset) == 0x34);
|
||||
|
||||
static_assert(sizeof(ArtyGameObjectInstance_t) == 0x38);
|
||||
};
|
34
sdk/include/source2sdk/client/ArtyGraphicID_t.hpp
Normal file
34
sdk/include/source2sdk/client/ArtyGraphicID_t.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x4
|
||||
// Has Trivial Destructor
|
||||
//
|
||||
// static metadata: MIsBoxedIntegerType
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGraphicID_t
|
||||
{
|
||||
public:
|
||||
uint32_t m_Value; // 0x0
|
||||
|
||||
// Static fields:
|
||||
static bool &Get_IS_TYPESAFE_INTEGER() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ArtyGraphicID_t")->GetStaticFields()[0]->m_pInstance);};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGraphicID_t, m_Value) == 0x0);
|
||||
|
||||
static_assert(sizeof(ArtyGraphicID_t) == 0x4);
|
||||
};
|
68
sdk/include/source2sdk/client/ArtyGraphicInfo_t.hpp
Normal file
68
sdk/include/source2sdk/client/ArtyGraphicInfo_t.hpp
Normal file
@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGraphicID_t.hpp"
|
||||
#include "source2sdk/client/EArtyGraphicsType.hpp"
|
||||
#include "source2sdk/resourcesystem/InfoForResourceTypeCModel.hpp"
|
||||
#include "source2sdk/resourcesystem/InfoForResourceTypeIParticleSystemDefinition.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x218
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyGraphicInfo_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x8]; // 0x0
|
||||
client::ArtyGraphicID_t m_unID; // 0x8
|
||||
[[maybe_unused]] std::uint8_t pad_0x0c[0x4]; // 0xc
|
||||
CUtlString m_szSnippet; // 0x10
|
||||
CUtlString m_szUnit; // 0x18
|
||||
// m_szModel has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeCModel>> m_szModel;
|
||||
char m_szModel[0xe0]; // 0x20
|
||||
// m_szParticle has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_szParticle;
|
||||
char m_szParticle[0xe0]; // 0x100
|
||||
client::EArtyGraphicsType m_eType; // 0x1e0
|
||||
[[maybe_unused]] std::uint8_t pad_0x1e1[0x3]; // 0x1e1
|
||||
QAngle m_vAngles; // 0x1e4
|
||||
Vector m_vPosition; // 0x1f0
|
||||
Vector m_vCameraOffset; // 0x1fc
|
||||
int32_t m_nWidth; // 0x208
|
||||
int32_t m_nHeight; // 0x20c
|
||||
bool m_bPlayEndcap; // 0x210
|
||||
[[maybe_unused]] std::uint8_t pad_0x211[0x3]; // 0x211
|
||||
float m_flDefaultScale; // 0x214
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_unID) == 0x8);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_szSnippet) == 0x10);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_szUnit) == 0x18);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_szModel) == 0x20);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_szParticle) == 0x100);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_eType) == 0x1e0);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_vAngles) == 0x1e4);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_vPosition) == 0x1f0);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_vCameraOffset) == 0x1fc);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_nWidth) == 0x208);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_nHeight) == 0x20c);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_bPlayEndcap) == 0x210);
|
||||
static_assert(offsetof(ArtyGraphicInfo_t, m_flDefaultScale) == 0x214);
|
||||
|
||||
static_assert(sizeof(ArtyGraphicInfo_t) == 0x218);
|
||||
};
|
34
sdk/include/source2sdk/client/ArtyLevelID_t.hpp
Normal file
34
sdk/include/source2sdk/client/ArtyLevelID_t.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x4
|
||||
// Has Trivial Destructor
|
||||
//
|
||||
// static metadata: MIsBoxedIntegerType
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyLevelID_t
|
||||
{
|
||||
public:
|
||||
uint32_t m_Value; // 0x0
|
||||
|
||||
// Static fields:
|
||||
static bool &Get_IS_TYPESAFE_INTEGER() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ArtyLevelID_t")->GetStaticFields()[0]->m_pInstance);};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyLevelID_t, m_Value) == 0x0);
|
||||
|
||||
static_assert(sizeof(ArtyLevelID_t) == 0x4);
|
||||
};
|
56
sdk/include/source2sdk/client/ArtyLevelInfo_t.hpp
Normal file
56
sdk/include/source2sdk/client/ArtyLevelInfo_t.hpp
Normal file
@ -0,0 +1,56 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyLevelID_t.hpp"
|
||||
#include "source2sdk/client/ArtyLevelObjectInstance_t.hpp"
|
||||
#include "source2sdk/client/ArtyLevelWeaponInstance_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x138
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyLevelInfo_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x8]; // 0x0
|
||||
client::ArtyLevelID_t m_unID; // 0x8
|
||||
[[maybe_unused]] std::uint8_t pad_0x0c[0x4]; // 0xc
|
||||
CUtlString m_sLocLevelName; // 0x10
|
||||
client::ArtyLevelObjectInstance_t m_playerInfo; // 0x18
|
||||
// m_vecGameObjects has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::ArtyLevelObjectInstance_t> m_vecGameObjects;
|
||||
char m_vecGameObjects[0x18]; // 0xa0
|
||||
// m_vecWeapons has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::ArtyLevelWeaponInstance_t> m_vecWeapons;
|
||||
char m_vecWeapons[0x18]; // 0xb8
|
||||
int32_t m_nLevelCompletePoints; // 0xd0
|
||||
int32_t m_nTimeBonusBasePoints; // 0xd4
|
||||
int32_t m_nTimeBonusMaxPoints; // 0xd8
|
||||
int32_t m_nTimeBonusFastTime; // 0xdc
|
||||
int32_t m_nTimeBonusMaxTime; // 0xe0
|
||||
float m_flBackgroundOffsetX; // 0xe4
|
||||
int32_t m_aryStarPointThresholds[3]; // 0xe8
|
||||
[[maybe_unused]] std::uint8_t pad_0xf4[0x4]; // 0xf4
|
||||
CPanoramaImageName m_sBackgroundImage; // 0xf8
|
||||
CPanoramaImageName m_sTerrainBackgroundImage; // 0x108
|
||||
CPanoramaImageName m_sTerrainImage; // 0x118
|
||||
CPanoramaImageName m_sTerrainForegroundImage; // 0x128
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtyLevelInfo_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtyLevelInfo_t) == 0x138);
|
||||
};
|
51
sdk/include/source2sdk/client/ArtyLevelObjectInstance_t.hpp
Normal file
51
sdk/include/source2sdk/client/ArtyLevelObjectInstance_t.hpp
Normal file
@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyEnemyOrder_t.hpp"
|
||||
#include "source2sdk/client/ArtyGameObjectInstance_t.hpp"
|
||||
#include "source2sdk/client/EArtyTeam.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x88
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyLevelObjectInstance_t : public client::ArtyGameObjectInstance_t
|
||||
{
|
||||
public:
|
||||
CUtlString m_szLeftBorderObject; // 0x38
|
||||
float m_flLeftObjectOffset; // 0x40
|
||||
[[maybe_unused]] std::uint8_t pad_0x44[0x4]; // 0x44
|
||||
CUtlString m_szRightBorderObject; // 0x48
|
||||
float m_flRightObjectOffset; // 0x50
|
||||
bool m_bRandomPosition; // 0x54
|
||||
bool m_bRepositionToTerrain; // 0x55
|
||||
[[maybe_unused]] std::uint8_t pad_0x56[0x2]; // 0x56
|
||||
float m_flLeftBorderWidthMult; // 0x58
|
||||
float m_flRightBorderWidthMult; // 0x5c
|
||||
float m_flAppearanceChance; // 0x60
|
||||
client::EArtyTeam m_eTeam; // 0x64
|
||||
[[maybe_unused]] std::uint8_t pad_0x65[0x3]; // 0x65
|
||||
float m_flTimeOffset; // 0x68
|
||||
[[maybe_unused]] std::uint8_t pad_0x6c[0x4]; // 0x6c
|
||||
// m_vecCustomOrders has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::ArtyEnemyOrder_t> m_vecCustomOrders;
|
||||
char m_vecCustomOrders[0x18]; // 0x70
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtyLevelObjectInstance_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtyLevelObjectInstance_t) == 0x88);
|
||||
};
|
39
sdk/include/source2sdk/client/ArtyLevelWeaponInstance_t.hpp
Normal file
39
sdk/include/source2sdk/client/ArtyLevelWeaponInstance_t.hpp
Normal file
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x18
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyLevelWeaponInstance_t
|
||||
{
|
||||
public:
|
||||
// metadata: MPropertyCustomFGDType "vdata_choice:scripts/events/crownfall/artillery_weapons.vdata"
|
||||
CUtlString m_szName; // 0x0
|
||||
[[maybe_unused]] std::uint8_t pad_0x08[0x4]; // 0x8
|
||||
int32_t m_nReloads; // 0xc
|
||||
int32_t m_nPointsPerShot; // 0x10
|
||||
[[maybe_unused]] std::uint8_t pad_0x14[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyLevelWeaponInstance_t, m_szName) == 0x0);
|
||||
static_assert(offsetof(ArtyLevelWeaponInstance_t, m_nReloads) == 0xc);
|
||||
static_assert(offsetof(ArtyLevelWeaponInstance_t, m_nPointsPerShot) == 0x10);
|
||||
|
||||
static_assert(sizeof(ArtyLevelWeaponInstance_t) == 0x18);
|
||||
};
|
30
sdk/include/source2sdk/client/ArtyPlayerDef_t.hpp
Normal file
30
sdk/include/source2sdk/client/ArtyPlayerDef_t.hpp
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyUnitDef_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xc0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyPlayerDef_t : public client::ArtyUnitDef_t
|
||||
{
|
||||
public:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(ArtyPlayerDef_t) == 0xc0);
|
||||
};
|
33
sdk/include/source2sdk/client/ArtyProgressBarDef_t.hpp
Normal file
33
sdk/include/source2sdk/client/ArtyProgressBarDef_t.hpp
Normal file
@ -0,0 +1,33 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameObjectDef_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xb8
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyProgressBarDef_t : public client::ArtyGameObjectDef_t
|
||||
{
|
||||
public:
|
||||
float m_flNotchSize; // 0xb0
|
||||
[[maybe_unused]] std::uint8_t pad_0xb4[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtyProgressBarDef_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtyProgressBarDef_t) == 0xb8);
|
||||
};
|
39
sdk/include/source2sdk/client/ArtySpawnerDef_t.hpp
Normal file
39
sdk/include/source2sdk/client/ArtySpawnerDef_t.hpp
Normal file
@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameObjectDef_t.hpp"
|
||||
#include "source2sdk/client/EArtyTeam.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xd0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtySpawnerDef_t : public client::ArtyGameObjectDef_t
|
||||
{
|
||||
public:
|
||||
float m_flInitialDelay; // 0xb0
|
||||
float m_flDelayBetween; // 0xb4
|
||||
int32_t m_nNumToSpawn; // 0xb8
|
||||
client::EArtyTeam m_eSpawnedUnitTeam; // 0xbc
|
||||
[[maybe_unused]] std::uint8_t pad_0xbd[0x3]; // 0xbd
|
||||
CUtlString m_szGameObject; // 0xc0
|
||||
[[maybe_unused]] std::uint8_t pad_0xc8[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtySpawnerDef_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtySpawnerDef_t) == 0xd0);
|
||||
};
|
36
sdk/include/source2sdk/client/ArtyUnitDef_t.hpp
Normal file
36
sdk/include/source2sdk/client/ArtyUnitDef_t.hpp
Normal file
@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyGameObjectDef_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xc0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyUnitDef_t : public client::ArtyGameObjectDef_t
|
||||
{
|
||||
public:
|
||||
bool m_bRotateReloadBar; // 0xb0
|
||||
[[maybe_unused]] std::uint8_t pad_0xb1[0x3]; // 0xb1
|
||||
float m_flMaxMana; // 0xb4
|
||||
float m_flMovementSpeed; // 0xb8
|
||||
[[maybe_unused]] std::uint8_t pad_0xbc[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in ArtyUnitDef_t because it is not a standard-layout class
|
||||
static_assert(sizeof(ArtyUnitDef_t) == 0xc0);
|
||||
};
|
34
sdk/include/source2sdk/client/ArtyWeaponID_t.hpp
Normal file
34
sdk/include/source2sdk/client/ArtyWeaponID_t.hpp
Normal file
@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x4
|
||||
// Has Trivial Destructor
|
||||
//
|
||||
// static metadata: MIsBoxedIntegerType
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyWeaponID_t
|
||||
{
|
||||
public:
|
||||
uint32_t m_Value; // 0x0
|
||||
|
||||
// Static fields:
|
||||
static bool &Get_IS_TYPESAFE_INTEGER() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("ArtyWeaponID_t")->GetStaticFields()[0]->m_pInstance);};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyWeaponID_t, m_Value) == 0x0);
|
||||
|
||||
static_assert(sizeof(ArtyWeaponID_t) == 0x4);
|
||||
};
|
154
sdk/include/source2sdk/client/ArtyWeaponInfo_t.hpp
Normal file
154
sdk/include/source2sdk/client/ArtyWeaponInfo_t.hpp
Normal file
@ -0,0 +1,154 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/ArtyWeaponID_t.hpp"
|
||||
#include "source2sdk/client/GameActivity_t.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x110
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
struct ArtyWeaponInfo_t
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x8]; // 0x0
|
||||
client::ArtyWeaponID_t m_unID; // 0x8
|
||||
[[maybe_unused]] std::uint8_t pad_0x0c[0x4]; // 0xc
|
||||
CUtlString m_sWeaponLocName; // 0x10
|
||||
CUtlString m_sWeaponLocDesc; // 0x18
|
||||
CUtlString m_sWeaponSwapSound; // 0x20
|
||||
CUtlString m_sWeaponFireSound; // 0x28
|
||||
CPanoramaImageName m_sWeaponImage; // 0x30
|
||||
bool m_bIsPlayerWeapon; // 0x40
|
||||
[[maybe_unused]] std::uint8_t pad_0x41[0x7]; // 0x41
|
||||
// metadata: MPropertyCustomFGDType "vdata_choice:scripts/events/crownfall/artillery_graphics.vdata"
|
||||
CUtlString m_strGraphicInfoName; // 0x48
|
||||
[[maybe_unused]] std::uint8_t pad_0x50[0x4]; // 0x50
|
||||
client::GameActivity_t m_weaponAttackActivity; // 0x54
|
||||
float m_flShotCreationTime; // 0x58
|
||||
float m_flDamage; // 0x5c
|
||||
float m_flHitRadius; // 0x60
|
||||
float m_flTerrainCarveRadius; // 0x64
|
||||
float m_flDamageRadius; // 0x68
|
||||
float m_flLockedAngle; // 0x6c
|
||||
float m_flLockedPower; // 0x70
|
||||
float m_flReloadTime; // 0x74
|
||||
int32_t m_nSplitCount; // 0x78
|
||||
float m_flSplitTime; // 0x7c
|
||||
float m_flSplitRepeatTime; // 0x80
|
||||
float m_flSplitDispersion; // 0x84
|
||||
bool m_bSplitAtTop; // 0x88
|
||||
bool m_bZeroXOnSplit; // 0x89
|
||||
bool m_bSplitRepeats; // 0x8a
|
||||
[[maybe_unused]] std::uint8_t pad_0x8b[0x5]; // 0x8b
|
||||
CUtlString m_szSplitWeapon; // 0x90
|
||||
[[maybe_unused]] std::uint8_t pad_0x98[0x4]; // 0x98
|
||||
float m_flMaxSpeed; // 0x9c
|
||||
float m_flDragMult; // 0xa0
|
||||
float m_flWindMult; // 0xa4
|
||||
bool m_bIsRay; // 0xa8
|
||||
[[maybe_unused]] std::uint8_t pad_0xa9[0x3]; // 0xa9
|
||||
float m_flRangeMult; // 0xac
|
||||
int32_t m_nInitialShotCount; // 0xb0
|
||||
float m_nInitialShotAngleDispersionPer; // 0xb4
|
||||
float m_flManaCost; // 0xb8
|
||||
bool m_bDisabled; // 0xbc
|
||||
bool m_bBounces; // 0xbd
|
||||
bool m_bBounceOffTarget; // 0xbe
|
||||
[[maybe_unused]] std::uint8_t pad_0xbf[0x1]; // 0xbf
|
||||
float m_flFuseTime; // 0xc0
|
||||
float m_flBounceDrag; // 0xc4
|
||||
int32_t m_nMaxReloads; // 0xc8
|
||||
float m_flGravityMult; // 0xcc
|
||||
bool m_bProximityFuse; // 0xd0
|
||||
bool m_bUseHighArc; // 0xd1
|
||||
bool m_bCollides; // 0xd2
|
||||
bool m_bDirectAimAtTarget; // 0xd3
|
||||
int32_t m_nWeaponPoints; // 0xd4
|
||||
int32_t m_nRayDigTimes; // 0xd8
|
||||
bool m_bNoShootingWhileInAir; // 0xdc
|
||||
bool m_bListenForKeypress; // 0xdd
|
||||
[[maybe_unused]] std::uint8_t pad_0xde[0x2]; // 0xde
|
||||
Vector2D m_vVelocityMultOnKeypress; // 0xe0
|
||||
Vector2D m_vVelocityOffsetOnKeypress; // 0xe8
|
||||
bool m_bShowTrajectory; // 0xf0
|
||||
[[maybe_unused]] std::uint8_t pad_0xf1[0x3]; // 0xf1
|
||||
Vector2D m_vVelocityMultOnExplode; // 0xf4
|
||||
Vector2D m_vVelocityOffsetOnExplode; // 0xfc
|
||||
int32_t m_nExplodeTimes; // 0x104
|
||||
float m_flRadiusChangePerExplode; // 0x108
|
||||
[[maybe_unused]] std::uint8_t pad_0x10c[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_unID) == 0x8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_sWeaponLocName) == 0x10);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_sWeaponLocDesc) == 0x18);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_sWeaponSwapSound) == 0x20);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_sWeaponFireSound) == 0x28);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_sWeaponImage) == 0x30);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bIsPlayerWeapon) == 0x40);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_strGraphicInfoName) == 0x48);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_weaponAttackActivity) == 0x54);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flShotCreationTime) == 0x58);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flDamage) == 0x5c);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flHitRadius) == 0x60);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flTerrainCarveRadius) == 0x64);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flDamageRadius) == 0x68);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flLockedAngle) == 0x6c);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flLockedPower) == 0x70);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flReloadTime) == 0x74);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nSplitCount) == 0x78);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flSplitTime) == 0x7c);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flSplitRepeatTime) == 0x80);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flSplitDispersion) == 0x84);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bSplitAtTop) == 0x88);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bZeroXOnSplit) == 0x89);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bSplitRepeats) == 0x8a);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_szSplitWeapon) == 0x90);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flMaxSpeed) == 0x9c);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flDragMult) == 0xa0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flWindMult) == 0xa4);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bIsRay) == 0xa8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flRangeMult) == 0xac);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nInitialShotCount) == 0xb0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nInitialShotAngleDispersionPer) == 0xb4);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flManaCost) == 0xb8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bDisabled) == 0xbc);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bBounces) == 0xbd);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bBounceOffTarget) == 0xbe);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flFuseTime) == 0xc0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flBounceDrag) == 0xc4);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nMaxReloads) == 0xc8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flGravityMult) == 0xcc);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bProximityFuse) == 0xd0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bUseHighArc) == 0xd1);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bCollides) == 0xd2);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bDirectAimAtTarget) == 0xd3);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nWeaponPoints) == 0xd4);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nRayDigTimes) == 0xd8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bNoShootingWhileInAir) == 0xdc);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bListenForKeypress) == 0xdd);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_vVelocityMultOnKeypress) == 0xe0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_vVelocityOffsetOnKeypress) == 0xe8);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_bShowTrajectory) == 0xf0);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_vVelocityMultOnExplode) == 0xf4);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_vVelocityOffsetOnExplode) == 0xfc);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_nExplodeTimes) == 0x104);
|
||||
static_assert(offsetof(ArtyWeaponInfo_t, m_flRadiusChangePerExplode) == 0x108);
|
||||
|
||||
static_assert(sizeof(ArtyWeaponInfo_t) == 0x110);
|
||||
};
|
@ -14,10 +14,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xab0
|
||||
// Size: 0xaf8
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CAdditionalWearable : public client::C_DynamicProp
|
||||
{
|
||||
@ -26,5 +25,5 @@ namespace source2sdk::client
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CAdditionalWearable) == 0xab0);
|
||||
static_assert(sizeof(CAdditionalWearable) == 0xaf8);
|
||||
};
|
||||
|
@ -14,18 +14,17 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x828
|
||||
// Size: 0x870
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CAmbientCreatures : public client::C_DOTAWorldParticleSystem
|
||||
{
|
||||
public:
|
||||
CUtlString m_szAnimationName; // 0x820
|
||||
CUtlString m_szAnimationName; // 0x868
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CAmbientCreatures because it is not a standard-layout class
|
||||
static_assert(sizeof(CAmbientCreatures) == 0x828);
|
||||
static_assert(sizeof(CAmbientCreatures) == 0x870);
|
||||
};
|
||||
|
@ -11,19 +11,23 @@
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x1
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x18
|
||||
// Size: 0x78
|
||||
// Has VTable
|
||||
// Is Abstract
|
||||
#pragma pack(push, 1)
|
||||
class CAnimGraphControllerBase
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x18];
|
||||
// No schema binary for binding
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x20]; // 0x0
|
||||
// m_vecParamsToResetInPostGraphUpdate has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVectorFixedGrowable<CGlobalSymbol,8> m_vecParamsToResetInPostGraphUpdate;
|
||||
char m_vecParamsToResetInPostGraphUpdate[0x58]; // 0x20
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CAnimGraphControllerBase) == 0x18);
|
||||
static_assert(offsetof(CAnimGraphControllerBase, m_vecParamsToResetInPostGraphUpdate) == 0x20);
|
||||
|
||||
static_assert(sizeof(CAnimGraphControllerBase) == 0x78);
|
||||
};
|
||||
|
@ -47,32 +47,19 @@ namespace source2sdk::client
|
||||
// metadata: MNetworkPriority "32"
|
||||
// metadata: MNetworkChangeCallback "animationLayerCycleReset"
|
||||
int32_t m_nNewSequenceParity; // 0x68
|
||||
// metadata: MNetworkDisable
|
||||
entity2::GameTime_t m_flSeqStartTime; // 0x6c
|
||||
// metadata: MNetworkDisable
|
||||
float m_flCachedSequenceCycleRate; // 0x70
|
||||
// metadata: MNetworkDisable
|
||||
int32_t m_nFlags; // 0x74
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bSequenceFinished; // 0x78
|
||||
[[maybe_unused]] std::uint8_t pad_0x79[0x3]; // 0x79
|
||||
// metadata: MNetworkDisable
|
||||
entity2::GameTime_t m_flKillStartTime; // 0x7c
|
||||
// metadata: MNetworkDisable
|
||||
float m_flKillRate; // 0x80
|
||||
// metadata: MNetworkDisable
|
||||
entity2::GameTime_t m_flLayerSuppressChangeTime; // 0x84
|
||||
// metadata: MNetworkDisable
|
||||
int32_t m_nActivity; // 0x88
|
||||
// metadata: MNetworkDisable
|
||||
int32_t m_nPriority; // 0x8c
|
||||
// metadata: MNetworkDisable
|
||||
float m_flLastEventCycle; // 0x90
|
||||
// metadata: MNetworkDisable
|
||||
float m_flFadeInFraction; // 0x94
|
||||
// metadata: MNetworkDisable
|
||||
float m_flFadeOutFraction; // 0x98
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bHasFadedIn; // 0x9c
|
||||
[[maybe_unused]] std::uint8_t pad_0x9d[0xb];
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x128
|
||||
// Size: 0x140
|
||||
// Has VTable
|
||||
// MNetworkNoBase
|
||||
//
|
||||
@ -34,5 +34,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CAttributeContainer because it is not a standard-layout class
|
||||
static_assert(sizeof(CAttributeContainer) == 0x128);
|
||||
static_assert(sizeof(CAttributeContainer) == 0x140);
|
||||
};
|
||||
|
@ -19,9 +19,8 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x60
|
||||
// Size: 0x78
|
||||
// Has VTable
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "C_EconItemAttribute m_Attributes"
|
||||
#pragma pack(push, 1)
|
||||
@ -33,13 +32,13 @@ namespace source2sdk::client
|
||||
// metadata: MNetworkTypeAlias "CUtlVector< CEconItemAttribute >"
|
||||
// m_Attributes has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// C_UtlVectorEmbeddedNetworkVar<client::C_EconItemAttribute> m_Attributes;
|
||||
char m_Attributes[0x50]; // 0x8
|
||||
client::CAttributeManager* m_pManager; // 0x58
|
||||
char m_Attributes[0x68]; // 0x8
|
||||
client::CAttributeManager* m_pManager; // 0x70
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CAttributeList, m_Attributes) == 0x8);
|
||||
static_assert(offsetof(CAttributeList, m_pManager) == 0x58);
|
||||
static_assert(offsetof(CAttributeList, m_pManager) == 0x70);
|
||||
|
||||
static_assert(sizeof(CAttributeList) == 0x60);
|
||||
static_assert(sizeof(CAttributeList) == 0x78);
|
||||
};
|
||||
|
@ -22,7 +22,6 @@ namespace source2sdk::client
|
||||
// Standard-layout class: true
|
||||
// Size: 0x68
|
||||
// Has VTable
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "int m_iReapplyProvisionParity"
|
||||
// static metadata: MNetworkVarNames "EHANDLE m_hOuter"
|
||||
|
@ -15,10 +15,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xa38
|
||||
// Size: 0xa80
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkIncludeByName "m_bClientSideRagdoll"
|
||||
// static metadata: MNetworkVarNames "bool m_bInitiallyPopulateInterpHistory"
|
||||
@ -31,37 +30,37 @@ namespace source2sdk::client
|
||||
class CBaseAnimGraph : public client::C_BaseModelEntity
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x7d8[0x78]; // 0x7d8
|
||||
[[maybe_unused]] std::uint8_t pad_0x820[0x78]; // 0x820
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bInitiallyPopulateInterpHistory; // 0x850
|
||||
[[maybe_unused]] std::uint8_t pad_0x851[0x1]; // 0x851
|
||||
bool m_bSuppressAnimEventSounds; // 0x852
|
||||
[[maybe_unused]] std::uint8_t pad_0x853[0xd]; // 0x853
|
||||
bool m_bInitiallyPopulateInterpHistory; // 0x898
|
||||
[[maybe_unused]] std::uint8_t pad_0x899[0x1]; // 0x899
|
||||
bool m_bSuppressAnimEventSounds; // 0x89a
|
||||
[[maybe_unused]] std::uint8_t pad_0x89b[0xd]; // 0x89b
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bAnimGraphUpdateEnabled; // 0x860
|
||||
[[maybe_unused]] std::uint8_t pad_0x861[0x3]; // 0x861
|
||||
float m_flMaxSlopeDistance; // 0x864
|
||||
Vector m_vLastSlopeCheckPos; // 0x868
|
||||
bool m_bAnimationUpdateScheduled; // 0x874
|
||||
[[maybe_unused]] std::uint8_t pad_0x875[0x3]; // 0x875
|
||||
bool m_bAnimGraphUpdateEnabled; // 0x8a8
|
||||
[[maybe_unused]] std::uint8_t pad_0x8a9[0x3]; // 0x8a9
|
||||
float m_flMaxSlopeDistance; // 0x8ac
|
||||
Vector m_vLastSlopeCheckPos; // 0x8b0
|
||||
bool m_bAnimationUpdateScheduled; // 0x8bc
|
||||
[[maybe_unused]] std::uint8_t pad_0x8bd[0x3]; // 0x8bd
|
||||
// metadata: MNetworkEnable
|
||||
Vector m_vecForce; // 0x878
|
||||
Vector m_vecForce; // 0x8c0
|
||||
// metadata: MNetworkEnable
|
||||
int32_t m_nForceBone; // 0x884
|
||||
client::CBaseAnimGraph* m_pClientsideRagdoll; // 0x888
|
||||
bool m_bBuiltRagdoll; // 0x890
|
||||
[[maybe_unused]] std::uint8_t pad_0x891[0x17]; // 0x891
|
||||
int32_t m_nForceBone; // 0x8cc
|
||||
client::CBaseAnimGraph* m_pClientsideRagdoll; // 0x8d0
|
||||
bool m_bBuiltRagdoll; // 0x8d8
|
||||
[[maybe_unused]] std::uint8_t pad_0x8d9[0x17]; // 0x8d9
|
||||
// metadata: MNetworkEnable
|
||||
client::PhysicsRagdollPose_t m_RagdollPose; // 0x8a8
|
||||
client::PhysicsRagdollPose_t m_RagdollPose; // 0x8f0
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkChangeCallback "OnClientRagdollChanged"
|
||||
bool m_bRagdollClientSide; // 0x8f0
|
||||
[[maybe_unused]] std::uint8_t pad_0x8f1[0xf]; // 0x8f1
|
||||
bool m_bHasAnimatedMaterialAttributes; // 0x900
|
||||
[[maybe_unused]] std::uint8_t pad_0x901[0x137];
|
||||
bool m_bRagdollClientSide; // 0x938
|
||||
[[maybe_unused]] std::uint8_t pad_0x939[0xf]; // 0x939
|
||||
bool m_bHasAnimatedMaterialAttributes; // 0x948
|
||||
[[maybe_unused]] std::uint8_t pad_0x949[0x137];
|
||||
|
||||
// Datamap fields:
|
||||
// void m_pMainGraphController; // 0x848
|
||||
// void m_pMainGraphController; // 0x890
|
||||
// float InputSetPlaybackRate; // 0x0
|
||||
// CUtlSymbolLarge InputSetBodyGroup; // 0x0
|
||||
// bool InputDisableAnimEventSounds; // 0x0
|
||||
@ -69,5 +68,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseAnimGraph because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseAnimGraph) == 0xa38);
|
||||
static_assert(sizeof(CBaseAnimGraph) == 0xa80);
|
||||
};
|
||||
|
@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/CAnimGraphControllerBase.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xb0
|
||||
// Has VTable
|
||||
#pragma pack(push, 1)
|
||||
class CBaseAnimGraphAnimGraphController : public client::CAnimGraphControllerBase
|
||||
{
|
||||
public:
|
||||
// m_sDestructiblePartDestroyedHitGroup has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CAnimGraph1ParamOptionalRef<char*> m_sDestructiblePartDestroyedHitGroup;
|
||||
char m_sDestructiblePartDestroyedHitGroup[0x20]; // 0x78
|
||||
// m_nDestructiblePartDestroyedPartIndex has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CAnimGraph1ParamOptionalRef<int32_t> m_nDestructiblePartDestroyedPartIndex;
|
||||
char m_nDestructiblePartDestroyedPartIndex[0x18]; // 0x98
|
||||
|
||||
// Static fields:
|
||||
static uint32_t &Get_s_nControllerTypeID() {return *reinterpret_cast<uint32_t*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CBaseAnimGraphAnimGraphController")->GetStaticFields()[0]->m_pInstance);};
|
||||
static bool &Get_s_bSchemaTest() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("!GlobalTypes")->FindDeclaredClass("CBaseAnimGraphAnimGraphController")->GetStaticFields()[1]->m_pInstance);};
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseAnimGraphAnimGraphController because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseAnimGraphAnimGraphController) == 0xb0);
|
||||
};
|
@ -18,7 +18,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x3c8
|
||||
// Size: 0x3d0
|
||||
// Has VTable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "HSequence m_hSequence"
|
||||
@ -30,12 +30,9 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x10[0x8]; // 0x10
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bSequenceFinished; // 0x18
|
||||
[[maybe_unused]] std::uint8_t pad_0x19[0x3]; // 0x19
|
||||
// metadata: MNetworkDisable
|
||||
float m_flSoundSyncTime; // 0x1c
|
||||
// metadata: MNetworkDisable
|
||||
uint32_t m_nActiveIKChainMask; // 0x20
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkSerializer "minusone"
|
||||
@ -63,27 +60,22 @@ namespace source2sdk::client
|
||||
// metadata: MNetworkChangeCallback "OnNetworkedAnimationChanged"
|
||||
CNetworkedQuantizedFloat m_flPlaybackRate; // 0x34
|
||||
[[maybe_unused]] std::uint8_t pad_0x3c[0x4]; // 0x3c
|
||||
// metadata: MNetworkDisable
|
||||
client::SequenceFinishNotifyState_t m_nNotifyState; // 0x40
|
||||
[[maybe_unused]] std::uint8_t pad_0x41[0x1]; // 0x41
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bNetworkedAnimationInputsChanged; // 0x42
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bNetworkedSequenceChanged; // 0x43
|
||||
// metadata: MNetworkDisable
|
||||
bool m_bLastUpdateSkipped; // 0x44
|
||||
[[maybe_unused]] std::uint8_t pad_0x45[0x3]; // 0x45
|
||||
// metadata: MNetworkDisable
|
||||
entity2::GameTime_t m_flPrevAnimUpdateTime; // 0x48
|
||||
[[maybe_unused]] std::uint8_t pad_0x4c[0x37c];
|
||||
[[maybe_unused]] std::uint8_t pad_0x4c[0x384];
|
||||
|
||||
// Datamap fields:
|
||||
// void m_pAnimGraphInstance; // 0x2e8
|
||||
// float m_flCachedSequenceCycleRate; // 0x3c
|
||||
// void m_iv_AnimOpHistory; // 0x378
|
||||
// void m_iv_AnimOpHistory; // 0x380
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseAnimGraphController because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseAnimGraphController) == 0x3c8);
|
||||
static_assert(sizeof(CBaseAnimGraphController) == 0x3d0);
|
||||
};
|
||||
|
@ -14,10 +14,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x800
|
||||
// Size: 0x848
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "bool m_bShouldAnimateDuringGameplayPause"
|
||||
// static metadata: MNetworkVarNames "bool m_bInitiallyPopulateInterpHistory"
|
||||
@ -26,18 +25,18 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bShouldAnimateDuringGameplayPause; // 0x7d8
|
||||
bool m_bShouldAnimateDuringGameplayPause; // 0x820
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bInitiallyPopulateInterpHistory; // 0x7d9
|
||||
bool m_bAnimationUpdateScheduled; // 0x7da
|
||||
[[maybe_unused]] std::uint8_t pad_0x7db[0x5]; // 0x7db
|
||||
bool m_bInitiallyPopulateInterpHistory; // 0x821
|
||||
bool m_bAnimationUpdateScheduled; // 0x822
|
||||
[[maybe_unused]] std::uint8_t pad_0x823[0x5]; // 0x823
|
||||
// m_pSuppressedAnimEventTags has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CUtlString>* m_pSuppressedAnimEventTags;
|
||||
char m_pSuppressedAnimEventTags[0x8]; // 0x7e0
|
||||
bool m_bHasAnimatedMaterialAttributes; // 0x7e8
|
||||
[[maybe_unused]] std::uint8_t pad_0x7e9[0xf]; // 0x7e9
|
||||
bool m_bSuppressAnimEventSounds; // 0x7f8
|
||||
[[maybe_unused]] std::uint8_t pad_0x7f9[0x7];
|
||||
char m_pSuppressedAnimEventTags[0x8]; // 0x828
|
||||
bool m_bHasAnimatedMaterialAttributes; // 0x830
|
||||
[[maybe_unused]] std::uint8_t pad_0x831[0xf]; // 0x831
|
||||
bool m_bSuppressAnimEventSounds; // 0x840
|
||||
[[maybe_unused]] std::uint8_t pad_0x841[0x7];
|
||||
|
||||
// Datamap fields:
|
||||
// float InputSetPlaybackRate; // 0x0
|
||||
@ -46,5 +45,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseAnimatingActivity because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseAnimatingActivity) == 0x800);
|
||||
static_assert(sizeof(CBaseAnimatingActivity) == 0x848);
|
||||
};
|
||||
|
@ -21,11 +21,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x6d8
|
||||
// Size: 0x700
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkNoBase
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkIncludeByName "m_pEntity"
|
||||
// static metadata: MNetworkIncludeByName "m_flSimulationTime"
|
||||
@ -48,51 +47,51 @@ namespace source2sdk::client
|
||||
class CBasePlayerController : public client::C_BaseEntity
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x538[0x8]; // 0x538
|
||||
int32_t m_nFinalPredictedTick; // 0x540
|
||||
[[maybe_unused]] std::uint8_t pad_0x544[0x4]; // 0x544
|
||||
client::C_CommandContext m_CommandContext; // 0x548
|
||||
uint64_t m_nInButtonsWhichAreToggles; // 0x5e8
|
||||
[[maybe_unused]] std::uint8_t pad_0x560[0x8]; // 0x560
|
||||
int32_t m_nFinalPredictedTick; // 0x568
|
||||
[[maybe_unused]] std::uint8_t pad_0x56c[0x4]; // 0x56c
|
||||
client::C_CommandContext m_CommandContext; // 0x570
|
||||
uint64_t m_nInButtonsWhichAreToggles; // 0x610
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkPriority "1"
|
||||
// metadata: MNetworkUserGroup "LocalPlayerExclusive"
|
||||
uint32_t m_nTickBase; // 0x5f0
|
||||
uint32_t m_nTickBase; // 0x618
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkChangeCallback "OnPawnChanged"
|
||||
// m_hPawn has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CHandle<client::C_BasePlayerPawn> m_hPawn;
|
||||
char m_hPawn[0x4]; // 0x5f4
|
||||
char m_hPawn[0x4]; // 0x61c
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bKnownTeamMismatch; // 0x5f8
|
||||
[[maybe_unused]] std::uint8_t pad_0x5f9[0x3]; // 0x5f9
|
||||
bool m_bKnownTeamMismatch; // 0x620
|
||||
[[maybe_unused]] std::uint8_t pad_0x621[0x3]; // 0x621
|
||||
// m_hPredictedPawn has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CHandle<client::C_BasePlayerPawn> m_hPredictedPawn;
|
||||
char m_hPredictedPawn[0x4]; // 0x5fc
|
||||
CSplitScreenSlot m_nSplitScreenSlot; // 0x600
|
||||
char m_hPredictedPawn[0x4]; // 0x624
|
||||
CSplitScreenSlot m_nSplitScreenSlot; // 0x628
|
||||
// m_hSplitOwner has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CHandle<client::CBasePlayerController> m_hSplitOwner;
|
||||
char m_hSplitOwner[0x4]; // 0x604
|
||||
char m_hSplitOwner[0x4]; // 0x62c
|
||||
// m_hSplitScreenPlayers has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CHandle<client::CBasePlayerController>> m_hSplitScreenPlayers;
|
||||
char m_hSplitScreenPlayers[0x18]; // 0x608
|
||||
bool m_bIsHLTV; // 0x620
|
||||
[[maybe_unused]] std::uint8_t pad_0x621[0x3]; // 0x621
|
||||
char m_hSplitScreenPlayers[0x18]; // 0x630
|
||||
bool m_bIsHLTV; // 0x648
|
||||
[[maybe_unused]] std::uint8_t pad_0x649[0x3]; // 0x649
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkChangeCallback "OnConnectionStateChanged"
|
||||
client::PlayerConnectedState m_iConnected; // 0x624
|
||||
client::PlayerConnectedState m_iConnected; // 0x64c
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkChangeCallback "OnPlayerControllerNameChanged"
|
||||
char m_iszPlayerName[128]; // 0x628
|
||||
[[maybe_unused]] std::uint8_t pad_0x6a8[0x8]; // 0x6a8
|
||||
char m_iszPlayerName[128]; // 0x650
|
||||
[[maybe_unused]] std::uint8_t pad_0x6d0[0x8]; // 0x6d0
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkEncoder "fixed64"
|
||||
// metadata: MNetworkChangeCallback "OnSteamIDChanged"
|
||||
uint64_t m_steamID; // 0x6b0
|
||||
bool m_bIsLocalPlayerController; // 0x6b8
|
||||
[[maybe_unused]] std::uint8_t pad_0x6b9[0x3]; // 0x6b9
|
||||
uint64_t m_steamID; // 0x6d8
|
||||
bool m_bIsLocalPlayerController; // 0x6e0
|
||||
[[maybe_unused]] std::uint8_t pad_0x6e1[0x3]; // 0x6e1
|
||||
// metadata: MNetworkEnable
|
||||
uint32_t m_iDesiredFOV; // 0x6bc
|
||||
[[maybe_unused]] std::uint8_t pad_0x6c0[0x18];
|
||||
uint32_t m_iDesiredFOV; // 0x6e4
|
||||
[[maybe_unused]] std::uint8_t pad_0x6e8[0x18];
|
||||
|
||||
// Static fields:
|
||||
static bool &Get_sm_bRunningPredictedClientStringCommands() {return *reinterpret_cast<bool*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBasePlayerController")->GetStaticFields()[0]->m_pInstance);};
|
||||
@ -102,10 +101,10 @@ namespace source2sdk::client
|
||||
// bool is_hltv; // 0x7fffffff
|
||||
// const char * playername; // 0x7fffffff
|
||||
// bool reserving; // 0x7fffffff
|
||||
// void m_pCurrentCommand; // 0x6a8
|
||||
// void m_pCurrentCommand; // 0x6d0
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBasePlayerController because it is not a standard-layout class
|
||||
static_assert(sizeof(CBasePlayerController) == 0x6d8);
|
||||
static_assert(sizeof(CBasePlayerController) == 0x700);
|
||||
};
|
||||
|
@ -17,7 +17,7 @@ namespace source2sdk::client
|
||||
// Has Trivial Constructor
|
||||
// Has Trivial Destructor
|
||||
//
|
||||
// static metadata: MPulseProvideFeatureTag "PulseEntities"
|
||||
// static metadata: MPulseProvideFeatureTag "1"
|
||||
// static metadata: MPulseLibraryBindings
|
||||
#pragma pack(push, 1)
|
||||
class CBasePlayerControllerAPI
|
||||
|
@ -19,7 +19,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x240
|
||||
// Size: 0x338
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
//
|
||||
@ -31,110 +31,102 @@ namespace source2sdk::client
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x10]; // 0x0
|
||||
// metadata: MPropertyDescription "The name of the weapon entity to spawn for this NPC weapon."
|
||||
CUtlString m_szClassName; // 0x10
|
||||
// metadata: MPropertyStartGroup "Visuals"
|
||||
// metadata: MPropertyDescription "Model used on the ground or held by an entity"
|
||||
// metadata: MPropertyGroupName "Visuals"
|
||||
// m_szWorldModel has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeCModel>> m_szWorldModel;
|
||||
char m_szWorldModel[0xe0]; // 0x18
|
||||
// metadata: MPropertyDescription "Model used by the tools only to populate comboboxes for things like animgraph parameter pickers"
|
||||
// m_sToolsOnlyOwnerModelName has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeCModel>> m_sToolsOnlyOwnerModelName;
|
||||
char m_sToolsOnlyOwnerModelName[0xe0]; // 0xf8
|
||||
// metadata: MPropertyDescription "Was the weapon was built right-handed?"
|
||||
// metadata: MPropertyGroupName "Visuals"
|
||||
bool m_bBuiltRightHanded; // 0xf8
|
||||
bool m_bBuiltRightHanded; // 0x1d8
|
||||
// metadata: MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed"
|
||||
// metadata: MPropertyGroupName "Visuals"
|
||||
bool m_bAllowFlipping; // 0xf9
|
||||
[[maybe_unused]] std::uint8_t pad_0xfa[0x6]; // 0xfa
|
||||
// metadata: MPropertyGroupName "Visuals"
|
||||
bool m_bAllowFlipping; // 0x1d9
|
||||
[[maybe_unused]] std::uint8_t pad_0x1da[0x6]; // 0x1da
|
||||
// metadata: MPropertyDescription "Attachment to fire bullets from"
|
||||
// metadata: MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )"
|
||||
CUtlString m_sMuzzleAttachment; // 0x100
|
||||
CAttachmentNameSymbolWithStorage m_sMuzzleAttachment; // 0x1e0
|
||||
// metadata: MPropertyDescription "Effect when firing this weapon"
|
||||
// metadata: MPropertyGroupName "Visuals"
|
||||
// m_szMuzzleFlashParticle has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_szMuzzleFlashParticle;
|
||||
char m_szMuzzleFlashParticle[0xe0]; // 0x108
|
||||
client::ItemFlagTypes_t m_iFlags; // 0x1e8
|
||||
char m_szMuzzleFlashParticle[0xe0]; // 0x200
|
||||
// metadata: MPropertyStartGroup "Behavior"
|
||||
// metadata: MPropertyDescription "Should both primary and secondary attacks be cooled down together (so cooling down primary attack would cooldown both primary + secondary attacks)?"
|
||||
bool m_bLinkedCooldowns; // 0x2e0
|
||||
client::ItemFlagTypes_t m_iFlags; // 0x2e1
|
||||
// metadata: MPropertyStartGroup "Ammo"
|
||||
// metadata: MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyCustomFGDType "string"
|
||||
client::AmmoIndex_t m_nPrimaryAmmoType; // 0x1e9
|
||||
client::AmmoIndex_t m_nPrimaryAmmoType; // 0x2e2
|
||||
// metadata: MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyCustomFGDType "string"
|
||||
client::AmmoIndex_t m_nSecondaryAmmoType; // 0x1ea
|
||||
[[maybe_unused]] std::uint8_t pad_0x1eb[0x1]; // 0x1eb
|
||||
client::AmmoIndex_t m_nSecondaryAmmoType; // 0x2e3
|
||||
// metadata: MPropertyFriendlyName "Primary Clip Size"
|
||||
// metadata: MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)"
|
||||
// metadata: MPropertyAttributeRange "0 255"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
int32_t m_iMaxClip1; // 0x1ec
|
||||
int32_t m_iMaxClip1; // 0x2e4
|
||||
// metadata: MPropertyFriendlyName "Secondary Clip Size"
|
||||
// metadata: MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyAttributeRange "0 255"
|
||||
int32_t m_iMaxClip2; // 0x1f0
|
||||
int32_t m_iMaxClip2; // 0x2e8
|
||||
// metadata: MPropertyDescription "Primary Initial Clip (-1 means use clip size)"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyAttributeRange "-1 255"
|
||||
int32_t m_iDefaultClip1; // 0x1f4
|
||||
int32_t m_iDefaultClip1; // 0x2ec
|
||||
// metadata: MPropertyDescription "Secondary Initial Clip (-1 means use clip size)"
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyAttributeRange "-1 255"
|
||||
int32_t m_iDefaultClip2; // 0x1f8
|
||||
int32_t m_iDefaultClip2; // 0x2f0
|
||||
// metadata: MPropertyDescription "Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets"
|
||||
bool m_bReserveAmmoAsClips; // 0x2f4
|
||||
[[maybe_unused]] std::uint8_t pad_0x2f5[0x3]; // 0x2f5
|
||||
// metadata: MPropertyStartGroup "UI"
|
||||
// metadata: MPropertyDescription "This value used to determine this weapon's importance in autoselection"
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
int32_t m_iWeight; // 0x1fc
|
||||
int32_t m_iWeight; // 0x2f8
|
||||
// metadata: MPropertyFriendlyName "Safe To Auto-Switch To"
|
||||
// metadata: 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)"
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
bool m_bAutoSwitchTo; // 0x200
|
||||
bool m_bAutoSwitchTo; // 0x2fc
|
||||
// metadata: MPropertyFriendlyName "Safe To Auto-Switch Away From"
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
bool m_bAutoSwitchFrom; // 0x201
|
||||
[[maybe_unused]] std::uint8_t pad_0x202[0x2]; // 0x202
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
client::RumbleEffect_t m_iRumbleEffect; // 0x204
|
||||
// metadata: MPropertyDescription "Should both primary and secondary attacks be cooled down together (so cooling down primary attack would cooldown both primary + secondary attacks)?"
|
||||
bool m_bLinkedCooldowns; // 0x208
|
||||
// metadata: MPropertyGroupName "Ammo"
|
||||
// metadata: MPropertyDescription "Indicates whether to treat reserve ammo as clips (reloads) instead of raw bullets"
|
||||
bool m_bReserveAmmoAsClips; // 0x209
|
||||
[[maybe_unused]] std::uint8_t pad_0x20a[0x6]; // 0x20a
|
||||
// m_aShootSounds has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlOrderedMap<client::WeaponSound_t,CSoundEventName> m_aShootSounds;
|
||||
char m_aShootSounds[0x28]; // 0x210
|
||||
bool m_bAutoSwitchFrom; // 0x2fd
|
||||
[[maybe_unused]] std::uint8_t pad_0x2fe[0x2]; // 0x2fe
|
||||
client::RumbleEffect_t m_iRumbleEffect; // 0x300
|
||||
// metadata: MPropertyFriendlyName "HUD Bucket"
|
||||
// metadata: MPropertyDescription "Which 'column' to display this weapon in the HUD"
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
int32_t m_iSlot; // 0x238
|
||||
int32_t m_iSlot; // 0x304
|
||||
// metadata: MPropertyFriendlyName "HUD Bucket Position"
|
||||
// metadata: MPropertyDescription "Which 'row' to display this weapon in the HUD"
|
||||
// metadata: MPropertyGroupName "UI"
|
||||
int32_t m_iPosition; // 0x23c
|
||||
int32_t m_iPosition; // 0x308
|
||||
[[maybe_unused]] std::uint8_t pad_0x30c[0x4]; // 0x30c
|
||||
// metadata: MPropertyStartGroup "Sounds"
|
||||
// m_aShootSounds has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlOrderedMap<client::WeaponSound_t,CSoundEventName> m_aShootSounds;
|
||||
char m_aShootSounds[0x28]; // 0x310
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_szClassName) == 0x10);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_szWorldModel) == 0x18);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bBuiltRightHanded) == 0xf8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAllowFlipping) == 0xf9);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_sMuzzleAttachment) == 0x100);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_szMuzzleFlashParticle) == 0x108);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iFlags) == 0x1e8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_nPrimaryAmmoType) == 0x1e9);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_nSecondaryAmmoType) == 0x1ea);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iMaxClip1) == 0x1ec);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iMaxClip2) == 0x1f0);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iDefaultClip1) == 0x1f4);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iDefaultClip2) == 0x1f8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iWeight) == 0x1fc);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAutoSwitchTo) == 0x200);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAutoSwitchFrom) == 0x201);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iRumbleEffect) == 0x204);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bLinkedCooldowns) == 0x208);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bReserveAmmoAsClips) == 0x209);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_aShootSounds) == 0x210);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iSlot) == 0x238);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iPosition) == 0x23c);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_sToolsOnlyOwnerModelName) == 0xf8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bBuiltRightHanded) == 0x1d8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAllowFlipping) == 0x1d9);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_sMuzzleAttachment) == 0x1e0);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_szMuzzleFlashParticle) == 0x200);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bLinkedCooldowns) == 0x2e0);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iFlags) == 0x2e1);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_nPrimaryAmmoType) == 0x2e2);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_nSecondaryAmmoType) == 0x2e3);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iMaxClip1) == 0x2e4);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iMaxClip2) == 0x2e8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iDefaultClip1) == 0x2ec);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iDefaultClip2) == 0x2f0);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bReserveAmmoAsClips) == 0x2f4);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iWeight) == 0x2f8);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAutoSwitchTo) == 0x2fc);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_bAutoSwitchFrom) == 0x2fd);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iRumbleEffect) == 0x300);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iSlot) == 0x304);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_iPosition) == 0x308);
|
||||
static_assert(offsetof(CBasePlayerWeaponVData, m_aShootSounds) == 0x310);
|
||||
|
||||
static_assert(sizeof(CBasePlayerWeaponVData) == 0x240);
|
||||
static_assert(sizeof(CBasePlayerWeaponVData) == 0x338);
|
||||
};
|
||||
|
@ -14,21 +14,20 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x840
|
||||
// Size: 0x888
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CBaseProp : public client::CBaseAnimatingActivity
|
||||
{
|
||||
public:
|
||||
bool m_bModelOverrodeBlockLOS; // 0x800
|
||||
[[maybe_unused]] std::uint8_t pad_0x801[0x3]; // 0x801
|
||||
int32_t m_iShapeType; // 0x804
|
||||
bool m_bConformToCollisionBounds; // 0x808
|
||||
[[maybe_unused]] std::uint8_t pad_0x809[0x3]; // 0x809
|
||||
matrix3x4_t m_mPreferredCatchTransform; // 0x80c
|
||||
[[maybe_unused]] std::uint8_t pad_0x83c[0x4];
|
||||
bool m_bModelOverrodeBlockLOS; // 0x848
|
||||
[[maybe_unused]] std::uint8_t pad_0x849[0x3]; // 0x849
|
||||
int32_t m_iShapeType; // 0x84c
|
||||
bool m_bConformToCollisionBounds; // 0x850
|
||||
[[maybe_unused]] std::uint8_t pad_0x851[0x3]; // 0x851
|
||||
matrix3x4_t m_mPreferredCatchTransform; // 0x854
|
||||
[[maybe_unused]] std::uint8_t pad_0x884[0x4];
|
||||
|
||||
// Datamap fields:
|
||||
// void health; // 0x7fffffff
|
||||
@ -37,5 +36,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseProp because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseProp) == 0x840);
|
||||
static_assert(sizeof(CBaseProp) == 0x888);
|
||||
};
|
||||
|
@ -15,11 +15,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x590
|
||||
// Size: 0x5d0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "TrackedStatNetworkData_t m_vecTrackedStats"
|
||||
#pragma pack(push, 1)
|
||||
@ -30,11 +29,11 @@ namespace source2sdk::client
|
||||
// metadata: MNetworkChangeCallback "OnTrackedStatsChanged"
|
||||
// m_vecTrackedStats has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// C_UtlVectorEmbeddedNetworkVar<client::TrackedStatNetworkData_t> m_vecTrackedStats;
|
||||
char m_vecTrackedStats[0x50]; // 0x538
|
||||
[[maybe_unused]] std::uint8_t pad_0x588[0x8];
|
||||
char m_vecTrackedStats[0x68]; // 0x560
|
||||
[[maybe_unused]] std::uint8_t pad_0x5c8[0x8];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBaseTrackedStatsEntity because it is not a standard-layout class
|
||||
static_assert(sizeof(CBaseTrackedStatsEntity) == 0x590);
|
||||
static_assert(sizeof(CBaseTrackedStatsEntity) == 0x5d0);
|
||||
};
|
||||
|
@ -21,21 +21,18 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x50
|
||||
// Size: 0x78
|
||||
// Has VTable
|
||||
// Construct disallowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CBodyComponent : public entity2::CEntityComponent
|
||||
{
|
||||
public:
|
||||
// metadata: MNetworkDisable
|
||||
client::CGameSceneNode* m_pSceneNode; // 0x8
|
||||
[[maybe_unused]] std::uint8_t pad_0x10[0x10]; // 0x10
|
||||
// metadata: MNetworkDisable
|
||||
[[maybe_unused]] std::uint8_t pad_0x10[0x38]; // 0x10
|
||||
// metadata: MNetworkChangeAccessorFieldPathIndex
|
||||
entity2::CNetworkVarChainer __m_pChainEntity; // 0x20
|
||||
[[maybe_unused]] std::uint8_t pad_0x48[0x8];
|
||||
entity2::CNetworkVarChainer __m_pChainEntity; // 0x48
|
||||
[[maybe_unused]] std::uint8_t pad_0x70[0x8];
|
||||
|
||||
// Static fields:
|
||||
static entity2::EntComponentInfo_t &Get_s_EntComponentInfo() {return *reinterpret_cast<entity2::EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponent")->GetStaticFields()[0]->m_pInstance);};
|
||||
@ -44,5 +41,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBodyComponent because it is not a standard-layout class
|
||||
static_assert(sizeof(CBodyComponent) == 0x50);
|
||||
static_assert(sizeof(CBodyComponent) == 0x78);
|
||||
};
|
||||
|
@ -16,10 +16,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: unknown
|
||||
// Standard-layout class: false
|
||||
// Size: 0x840
|
||||
// Size: 0x8a0
|
||||
// Has VTable
|
||||
// Construct disallowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "CBaseAnimGraphController m_animationController"
|
||||
#pragma pack(push, 1)
|
||||
@ -27,8 +26,7 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
// metadata: MNetworkEnable
|
||||
client::CBaseAnimGraphController m_animationController; // 0x470
|
||||
[[maybe_unused]] std::uint8_t pad_0x838[0x8];
|
||||
client::CBaseAnimGraphController m_animationController; // 0x4d0
|
||||
|
||||
// Static fields:
|
||||
static entity2::EntComponentInfo_t &Get_s_EntComponentInfo() {return *reinterpret_cast<entity2::EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentBaseAnimGraph")->GetStaticFields()[0]->m_pInstance);};
|
||||
@ -37,5 +35,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBodyComponentBaseAnimGraph because it is not a standard-layout class
|
||||
static_assert(sizeof(CBodyComponentBaseAnimGraph) == 0x840);
|
||||
static_assert(sizeof(CBodyComponentBaseAnimGraph) == 0x8a0);
|
||||
};
|
||||
|
@ -15,10 +15,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: unknown
|
||||
// Standard-layout class: false
|
||||
// Size: 0x470
|
||||
// Size: 0x4d0
|
||||
// Has VTable
|
||||
// Construct disallowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CBodyComponentBaseModelEntity : public client::CBodyComponentSkeletonInstance
|
||||
{
|
||||
@ -30,5 +29,5 @@ namespace source2sdk::client
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CBodyComponentBaseModelEntity) == 0x470);
|
||||
static_assert(sizeof(CBodyComponentBaseModelEntity) == 0x4d0);
|
||||
};
|
||||
|
@ -16,18 +16,18 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: unknown
|
||||
// Standard-layout class: false
|
||||
// Size: 0x1b0
|
||||
// Size: 0x1e0
|
||||
// Has VTable
|
||||
// Construct disallowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "CGameSceneNode m_sceneNode"
|
||||
#pragma pack(push, 1)
|
||||
class CBodyComponentPoint : public client::CBodyComponent
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x78[0x8]; // 0x78
|
||||
// metadata: MNetworkEnable
|
||||
client::CGameSceneNode m_sceneNode; // 0x50
|
||||
client::CGameSceneNode m_sceneNode; // 0x80
|
||||
|
||||
// Static fields:
|
||||
static entity2::EntComponentInfo_t &Get_s_EntComponentInfo() {return *reinterpret_cast<entity2::EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentPoint")->GetStaticFields()[0]->m_pInstance);};
|
||||
@ -36,5 +36,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBodyComponentPoint because it is not a standard-layout class
|
||||
static_assert(sizeof(CBodyComponentPoint) == 0x1b0);
|
||||
static_assert(sizeof(CBodyComponentPoint) == 0x1e0);
|
||||
};
|
||||
|
@ -16,18 +16,18 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: unknown
|
||||
// Standard-layout class: false
|
||||
// Size: 0x470
|
||||
// Size: 0x4d0
|
||||
// Has VTable
|
||||
// Construct disallowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "CSkeletonInstance m_skeletonInstance"
|
||||
#pragma pack(push, 1)
|
||||
class CBodyComponentSkeletonInstance : public client::CBodyComponent
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x78[0x8]; // 0x78
|
||||
// metadata: MNetworkEnable
|
||||
client::CSkeletonInstance m_skeletonInstance; // 0x50
|
||||
client::CSkeletonInstance m_skeletonInstance; // 0x80
|
||||
|
||||
// Static fields:
|
||||
static entity2::EntComponentInfo_t &Get_s_EntComponentInfo() {return *reinterpret_cast<entity2::EntComponentInfo_t*>(interfaces::g_schema->FindTypeScopeForModule("client.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->GetStaticFields()[0]->m_pInstance);};
|
||||
@ -36,5 +36,5 @@ namespace source2sdk::client
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CBodyComponentSkeletonInstance because it is not a standard-layout class
|
||||
static_assert(sizeof(CBodyComponentSkeletonInstance) == 0x470);
|
||||
static_assert(sizeof(CBodyComponentSkeletonInstance) == 0x4d0);
|
||||
};
|
||||
|
@ -11,25 +11,42 @@
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x4
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x20
|
||||
// Size: 0x100
|
||||
// Has VTable
|
||||
// Has Trivial Destructor
|
||||
#pragma pack(push, 1)
|
||||
class CBuoyancyHelper
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x00[0x18]; // 0x0
|
||||
float m_flFluidDensity; // 0x18
|
||||
[[maybe_unused]] std::uint8_t pad_0x1c[0x4];
|
||||
CUtlStringToken m_nFluidType; // 0x18
|
||||
float m_flFluidDensity; // 0x1c
|
||||
// m_vecFractionOfWheelSubmergedForWheelFriction has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<float> m_vecFractionOfWheelSubmergedForWheelFriction;
|
||||
char m_vecFractionOfWheelSubmergedForWheelFriction[0x18]; // 0x20
|
||||
// m_vecWheelFrictionScales has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<float> m_vecWheelFrictionScales;
|
||||
char m_vecWheelFrictionScales[0x18]; // 0x38
|
||||
// m_vecFractionOfWheelSubmergedForWheelDrag has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<float> m_vecFractionOfWheelSubmergedForWheelDrag;
|
||||
char m_vecFractionOfWheelSubmergedForWheelDrag[0x18]; // 0x50
|
||||
// m_vecWheelDrag has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<float> m_vecWheelDrag;
|
||||
char m_vecWheelDrag[0x18]; // 0x68
|
||||
[[maybe_unused]] std::uint8_t pad_0x80[0x80];
|
||||
|
||||
// Datamap fields:
|
||||
// void m_pController; // 0x8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CBuoyancyHelper, m_flFluidDensity) == 0x18);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_nFluidType) == 0x18);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_flFluidDensity) == 0x1c);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_vecFractionOfWheelSubmergedForWheelFriction) == 0x20);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_vecWheelFrictionScales) == 0x38);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_vecFractionOfWheelSubmergedForWheelDrag) == 0x50);
|
||||
static_assert(offsetof(CBuoyancyHelper, m_vecWheelDrag) == 0x68);
|
||||
|
||||
static_assert(sizeof(CBuoyancyHelper) == 0x20);
|
||||
static_assert(sizeof(CBuoyancyHelper) == 0x100);
|
||||
};
|
||||
|
@ -14,10 +14,9 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x5a0
|
||||
// Size: 0x5c8
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "string_t m_iszStackName"
|
||||
// static metadata: MNetworkVarNames "string_t m_iszOperatorName"
|
||||
@ -31,27 +30,27 @@ namespace source2sdk::client
|
||||
class CCitadelSoundOpvarSetOBB : public client::C_BaseEntity
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0x538[0x18]; // 0x538
|
||||
[[maybe_unused]] std::uint8_t pad_0x560[0x18]; // 0x560
|
||||
// metadata: MNetworkEnable
|
||||
CUtlSymbolLarge m_iszStackName; // 0x550
|
||||
CUtlSymbolLarge m_iszStackName; // 0x578
|
||||
// metadata: MNetworkEnable
|
||||
CUtlSymbolLarge m_iszOperatorName; // 0x558
|
||||
CUtlSymbolLarge m_iszOperatorName; // 0x580
|
||||
// metadata: MNetworkEnable
|
||||
CUtlSymbolLarge m_iszOpvarName; // 0x560
|
||||
CUtlSymbolLarge m_iszOpvarName; // 0x588
|
||||
// metadata: MNetworkEnable
|
||||
Vector m_vDistanceInnerMins; // 0x568
|
||||
Vector m_vDistanceInnerMins; // 0x590
|
||||
// metadata: MNetworkEnable
|
||||
Vector m_vDistanceInnerMaxs; // 0x574
|
||||
Vector m_vDistanceInnerMaxs; // 0x59c
|
||||
// metadata: MNetworkEnable
|
||||
Vector m_vDistanceOuterMins; // 0x580
|
||||
Vector m_vDistanceOuterMins; // 0x5a8
|
||||
// metadata: MNetworkEnable
|
||||
Vector m_vDistanceOuterMaxs; // 0x58c
|
||||
Vector m_vDistanceOuterMaxs; // 0x5b4
|
||||
// metadata: MNetworkEnable
|
||||
int32_t m_nAABBDirection; // 0x598
|
||||
[[maybe_unused]] std::uint8_t pad_0x59c[0x4];
|
||||
int32_t m_nAABBDirection; // 0x5c0
|
||||
[[maybe_unused]] std::uint8_t pad_0x5c4[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CCitadelSoundOpvarSetOBB because it is not a standard-layout class
|
||||
static_assert(sizeof(CCitadelSoundOpvarSetOBB) == 0x5a0);
|
||||
static_assert(sizeof(CCitadelSoundOpvarSetOBB) == 0x5c8);
|
||||
};
|
||||
|
@ -18,7 +18,6 @@ namespace source2sdk::client
|
||||
// Standard-layout class: true
|
||||
// Size: 0xb0
|
||||
// Has VTable
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "VPhysicsCollisionAttribute_t m_collisionAttribute"
|
||||
// static metadata: MNetworkVarNames "Vector m_vecMins"
|
||||
|
@ -14,7 +14,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: unknown
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x180
|
||||
// Size: 0x198
|
||||
// Has VTable
|
||||
// MNetworkNoBase
|
||||
//
|
||||
@ -30,12 +30,12 @@ namespace source2sdk::client
|
||||
// metadata: MNetworkEnable
|
||||
// m_CustomShopItems has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// C_UtlVectorEmbeddedNetworkVar<client::CDOTACustomShopItemInfo> m_CustomShopItems;
|
||||
char m_CustomShopItems[0x50]; // 0x130
|
||||
char m_CustomShopItems[0x68]; // 0x130
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTACustomShopInfo, m_CustomShopName) == 0x30);
|
||||
static_assert(offsetof(CDOTACustomShopInfo, m_CustomShopItems) == 0x130);
|
||||
|
||||
static_assert(sizeof(CDOTACustomShopInfo) == 0x180);
|
||||
static_assert(sizeof(CDOTACustomShopInfo) == 0x198);
|
||||
};
|
||||
|
@ -14,11 +14,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x5d8
|
||||
// Size: 0x600
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAEmptyAbility : public client::C_DOTABaseAbility
|
||||
{
|
||||
@ -27,5 +26,5 @@ namespace source2sdk::client
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CDOTAEmptyAbility) == 0x5d8);
|
||||
static_assert(sizeof(CDOTAEmptyAbility) == 0x600);
|
||||
};
|
||||
|
@ -16,11 +16,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x5b0
|
||||
// Size: 0x5f0
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "bool m_bVotingClosed"
|
||||
// static metadata: MNetworkVarNames "bool m_bAllPredictionsFinished"
|
||||
@ -31,24 +30,24 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bVotingClosed; // 0x538
|
||||
bool m_bVotingClosed; // 0x560
|
||||
// metadata: MNetworkEnable
|
||||
// metadata: MNetworkChangeCallback "OnAllPredictionsFinished"
|
||||
bool m_bAllPredictionsFinished; // 0x539
|
||||
[[maybe_unused]] std::uint8_t pad_0x53a[0x6]; // 0x53a
|
||||
bool m_bAllPredictionsFinished; // 0x561
|
||||
[[maybe_unused]] std::uint8_t pad_0x562[0x6]; // 0x562
|
||||
// metadata: MNetworkEnable
|
||||
// m_vecPredictions has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// C_UtlVectorEmbeddedNetworkVar<client::InGamePredictionData_t> m_vecPredictions;
|
||||
char m_vecPredictions[0x50]; // 0x540
|
||||
char m_vecPredictions[0x68]; // 0x568
|
||||
// metadata: MNetworkEnable
|
||||
client::LeagueID_t m_nLeagueID; // 0x590
|
||||
[[maybe_unused]] std::uint8_t pad_0x594[0x4]; // 0x594
|
||||
client::LeagueID_t m_nLeagueID; // 0x5d0
|
||||
[[maybe_unused]] std::uint8_t pad_0x5d4[0x4]; // 0x5d4
|
||||
// m_vecPrevPredictions has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::InGamePredictionData_t> m_vecPrevPredictions;
|
||||
char m_vecPrevPredictions[0x18]; // 0x598
|
||||
char m_vecPrevPredictions[0x18]; // 0x5d8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CDOTAInGamePredictionState because it is not a standard-layout class
|
||||
static_assert(sizeof(CDOTAInGamePredictionState) == 0x5b0);
|
||||
static_assert(sizeof(CDOTAInGamePredictionState) == 0x5f0);
|
||||
};
|
||||
|
105
sdk/include/source2sdk/client/CDOTAMinesweeperGameDefinition.hpp
Normal file
105
sdk/include/source2sdk/client/CDOTAMinesweeperGameDefinition.hpp
Normal file
@ -0,0 +1,105 @@
|
||||
#pragma once
|
||||
#include "source2sdk/client/CDOTAMinesweeperPlayerDefinition.hpp"
|
||||
#include "source2sdk/client/CDOTAMinesweeperStageDefinition.hpp"
|
||||
#include "source2sdk/resourcesystem/InfoForResourceTypeIParticleSystemDefinition.hpp"
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x768
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAMinesweeperGameDefinition
|
||||
{
|
||||
public:
|
||||
client::CDOTAMinesweeperPlayerDefinition m_player; // 0x0
|
||||
// m_vecStages has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAMinesweeperStageDefinition> m_vecStages;
|
||||
char m_vecStages[0x18]; // 0x8
|
||||
float m_flTimeLimit; // 0x20
|
||||
int32_t m_nIllusionManaCost; // 0x24
|
||||
int32_t m_nStageProgressionTimerIncrease; // 0x28
|
||||
[[maybe_unused]] std::uint8_t pad_0x2c[0x4]; // 0x2c
|
||||
// m_dustEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_dustEffect;
|
||||
char m_dustEffect[0xe0]; // 0x30
|
||||
// m_grassEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_grassEffect;
|
||||
char m_grassEffect[0xe0]; // 0x110
|
||||
// m_explosionEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_explosionEffect;
|
||||
char m_explosionEffect[0xe0]; // 0x1f0
|
||||
// m_manaPotEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_manaPotEffect;
|
||||
char m_manaPotEffect[0xe0]; // 0x2d0
|
||||
// m_timerIncreaseEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_timerIncreaseEffect;
|
||||
char m_timerIncreaseEffect[0xe0]; // 0x3b0
|
||||
// m_illusionEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_illusionEffect;
|
||||
char m_illusionEffect[0xe0]; // 0x490
|
||||
// m_lostManaPotEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_lostManaPotEffect;
|
||||
char m_lostManaPotEffect[0xe0]; // 0x570
|
||||
// m_lostTimerIncreaseEffect has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CResourceNameTyped<CWeakHandle<resourcesystem::InfoForResourceTypeIParticleSystemDefinition>> m_lostTimerIncreaseEffect;
|
||||
char m_lostTimerIncreaseEffect[0xe0]; // 0x650
|
||||
int32_t m_nManaPotRestoration; // 0x730
|
||||
int32_t m_nMaxConcurrentManaPots; // 0x734
|
||||
int32_t m_nManaPotExpireClicks; // 0x738
|
||||
int32_t m_nManaPotChance; // 0x73c
|
||||
float m_flTimeExtension; // 0x740
|
||||
int32_t m_nMaxConcurrentTimerIncreases; // 0x744
|
||||
int32_t m_nTimerIncreaseExpireClicks; // 0x748
|
||||
int32_t m_nTimerIncreaseChance; // 0x74c
|
||||
int32_t m_nScorePerCellRevealed; // 0x750
|
||||
int32_t m_nScorePerStageCleared; // 0x754
|
||||
int32_t m_nScorePerSecondsRemaining; // 0x758
|
||||
int32_t m_nFailedChordClickTimes; // 0x75c
|
||||
int32_t m_flFailedChordClickCooldown; // 0x760
|
||||
[[maybe_unused]] std::uint8_t pad_0x764[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_player) == 0x0);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_vecStages) == 0x8);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_flTimeLimit) == 0x20);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nIllusionManaCost) == 0x24);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nStageProgressionTimerIncrease) == 0x28);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_dustEffect) == 0x30);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_grassEffect) == 0x110);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_explosionEffect) == 0x1f0);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_manaPotEffect) == 0x2d0);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_timerIncreaseEffect) == 0x3b0);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_illusionEffect) == 0x490);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_lostManaPotEffect) == 0x570);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_lostTimerIncreaseEffect) == 0x650);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nManaPotRestoration) == 0x730);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nMaxConcurrentManaPots) == 0x734);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nManaPotExpireClicks) == 0x738);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nManaPotChance) == 0x73c);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_flTimeExtension) == 0x740);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nMaxConcurrentTimerIncreases) == 0x744);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nTimerIncreaseExpireClicks) == 0x748);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nTimerIncreaseChance) == 0x74c);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nScorePerCellRevealed) == 0x750);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nScorePerStageCleared) == 0x754);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nScorePerSecondsRemaining) == 0x758);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_nFailedChordClickTimes) == 0x75c);
|
||||
static_assert(offsetof(CDOTAMinesweeperGameDefinition, m_flFailedChordClickCooldown) == 0x760);
|
||||
|
||||
static_assert(sizeof(CDOTAMinesweeperGameDefinition) == 0x768);
|
||||
};
|
@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x4
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Has Trivial Destructor
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAMinesweeperPlayerDefinition
|
||||
{
|
||||
public:
|
||||
int32_t m_nInitialHealth; // 0x0
|
||||
int32_t m_nInitialMana; // 0x4
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTAMinesweeperPlayerDefinition, m_nInitialHealth) == 0x0);
|
||||
static_assert(offsetof(CDOTAMinesweeperPlayerDefinition, m_nInitialMana) == 0x4);
|
||||
|
||||
static_assert(sizeof(CDOTAMinesweeperPlayerDefinition) == 0x8);
|
||||
};
|
@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x4
|
||||
// Alignment: 0x4
|
||||
// Standard-layout class: true
|
||||
// Size: 0xc
|
||||
// Has Trivial Constructor
|
||||
// Has Trivial Destructor
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAMinesweeperStageDefinition
|
||||
{
|
||||
public:
|
||||
int32_t m_nBoardRows; // 0x0
|
||||
int32_t m_nBoardCols; // 0x4
|
||||
int32_t m_nMines; // 0x8
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTAMinesweeperStageDefinition, m_nBoardRows) == 0x0);
|
||||
static_assert(offsetof(CDOTAMinesweeperStageDefinition, m_nBoardCols) == 0x4);
|
||||
static_assert(offsetof(CDOTAMinesweeperStageDefinition, m_nMines) == 0x8);
|
||||
|
||||
static_assert(sizeof(CDOTAMinesweeperStageDefinition) == 0xc);
|
||||
};
|
@ -0,0 +1,32 @@
|
||||
#pragma once
|
||||
#include "source2sdk/source2gen.hpp"
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
|
||||
// /////////////////////////////////////////////////////////////
|
||||
// Module: client
|
||||
// Created using source2gen - github.com/neverlosecc/source2gen
|
||||
// /////////////////////////////////////////////////////////////
|
||||
|
||||
namespace source2sdk::client
|
||||
{
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x8
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
// static metadata: MVDataRoot
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAMinesweeperStageProgressionChoice
|
||||
{
|
||||
public:
|
||||
CUtlString m_strLocText; // 0x0
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTAMinesweeperStageProgressionChoice, m_strLocText) == 0x0);
|
||||
|
||||
static_assert(sizeof(CDOTAMinesweeperStageProgressionChoice) == 0x8);
|
||||
};
|
@ -61,7 +61,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x358
|
||||
// Size: 0x370
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -89,61 +89,63 @@ namespace source2sdk::client
|
||||
[[maybe_unused]] std::uint8_t pad_0x3c[0x4]; // 0x3c
|
||||
CUtlString m_sMapVisualsXmlPath; // 0x40
|
||||
// metadata: MPropertyDescription
|
||||
client::OverworldNodeID_t m_unStartNodeID; // 0x48
|
||||
// m_vecStartNodeIds has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::OverworldNodeID_t> m_vecStartNodeIds;
|
||||
char m_vecStartNodeIds[0x18]; // 0x48
|
||||
// metadata: MPropertyDescription
|
||||
client::OverworldNodeID_t m_unEndNodeID; // 0x4a
|
||||
[[maybe_unused]] std::uint8_t pad_0x4c[0x4]; // 0x4c
|
||||
client::OverworldNodeID_t m_unEndNodeID; // 0x60
|
||||
[[maybe_unused]] std::uint8_t pad_0x62[0x6]; // 0x62
|
||||
// metadata: MPropertyDescription "Name/key of the Visual Novel associated with this map."
|
||||
CUtlString m_sVisualNovelName; // 0x50
|
||||
CUtlString m_sVisualNovelName; // 0x68
|
||||
// metadata: MPropertyDescription "Prefix to combine with tokent names to give their loc strings."
|
||||
CUtlString m_sTokenLocStringPrefix; // 0x58
|
||||
CUtlString m_sTokenLocStringPrefix; // 0x70
|
||||
// metadata: MPropertyDescription "Act number loc string, e.g. Act I."
|
||||
CUtlString m_sActNumberLocString; // 0x60
|
||||
CUtlString m_sActNumberLocString; // 0x78
|
||||
// metadata: MPropertyDescription "Act title loc string, e.g. The Eyrie."
|
||||
CUtlString m_sActTitleLocString; // 0x68
|
||||
CUtlString m_sActTitleLocString; // 0x80
|
||||
// metadata: MPropertyDescription
|
||||
client::item_definition_index_t m_unPremiumItemDef; // 0x70
|
||||
client::item_definition_index_t m_unPremiumItemDef; // 0x88
|
||||
// metadata: MPropertyDescription
|
||||
client::item_definition_index_t m_unFullCompletionItemDef; // 0x74
|
||||
client::item_definition_index_t m_unFullCompletionItemDef; // 0x8c
|
||||
// metadata: MPropertyDescription "ID of the scrap token rewarded for playing matches."
|
||||
client::OverworldTokenID_t m_unScrapTokenID; // 0x78
|
||||
[[maybe_unused]] std::uint8_t pad_0x79[0x7]; // 0x79
|
||||
client::OverworldTokenID_t m_unScrapTokenID; // 0x90
|
||||
[[maybe_unused]] std::uint8_t pad_0x91[0x7]; // 0x91
|
||||
// m_vecEventActionTriggers has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAEventActionTrigger> m_vecEventActionTriggers;
|
||||
char m_vecEventActionTriggers[0x18]; // 0x80
|
||||
char m_vecEventActionTriggers[0x18]; // 0x98
|
||||
// m_vecEventActionGrantAndClaimPairTriggers has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAEventActionGrantAndClaimPairTrigger> m_vecEventActionGrantAndClaimPairTriggers;
|
||||
char m_vecEventActionGrantAndClaimPairTriggers[0x18]; // 0x98
|
||||
char m_vecEventActionGrantAndClaimPairTriggers[0x18]; // 0xb0
|
||||
// m_vecPathColorRules has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldPathColorRule> m_vecPathColorRules;
|
||||
char m_vecPathColorRules[0x18]; // 0xb0
|
||||
[[maybe_unused]] std::uint8_t pad_0xc8[0x140]; // 0xc8
|
||||
char m_vecPathColorRules[0x18]; // 0xc8
|
||||
[[maybe_unused]] std::uint8_t pad_0xe0[0x140]; // 0xe0
|
||||
// m_vecTokenTypes has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldToken*> m_vecTokenTypes;
|
||||
char m_vecTokenTypes[0x18]; // 0x208
|
||||
[[maybe_unused]] std::uint8_t pad_0x220[0x18]; // 0x220
|
||||
char m_vecTokenTypes[0x18]; // 0x220
|
||||
[[maybe_unused]] std::uint8_t pad_0x238[0x18]; // 0x238
|
||||
// m_vecHeroRewards has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldHeroReward*> m_vecHeroRewards;
|
||||
char m_vecHeroRewards[0x18]; // 0x238
|
||||
char m_vecHeroRewards[0x18]; // 0x250
|
||||
// m_vecNodes has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldNode*> m_vecNodes;
|
||||
char m_vecNodes[0x18]; // 0x250
|
||||
char m_vecNodes[0x18]; // 0x268
|
||||
// m_vecPaths has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldPath*> m_vecPaths;
|
||||
char m_vecPaths[0x18]; // 0x268
|
||||
char m_vecPaths[0x18]; // 0x280
|
||||
// m_vecEncounters has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldEncounter*> m_vecEncounters;
|
||||
char m_vecEncounters[0x18]; // 0x280
|
||||
char m_vecEncounters[0x18]; // 0x298
|
||||
// m_vecHeroes has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldHero*> m_vecHeroes;
|
||||
char m_vecHeroes[0x18]; // 0x298
|
||||
char m_vecHeroes[0x18]; // 0x2b0
|
||||
// m_vecCharacters has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldCharacter*> m_vecCharacters;
|
||||
char m_vecCharacters[0x18]; // 0x2b0
|
||||
char m_vecCharacters[0x18]; // 0x2c8
|
||||
// m_vecClickables has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<client::CDOTAOverworldClickable*> m_vecClickables;
|
||||
char m_vecClickables[0x18]; // 0x2c8
|
||||
[[maybe_unused]] std::uint8_t pad_0x2e0[0x78];
|
||||
char m_vecClickables[0x18]; // 0x2e0
|
||||
[[maybe_unused]] std::uint8_t pad_0x2f8[0x78];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@ -157,26 +159,26 @@ namespace source2sdk::client
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unMapWidth) == 0x34);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unMapHeight) == 0x38);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sMapVisualsXmlPath) == 0x40);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unStartNodeID) == 0x48);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unEndNodeID) == 0x4a);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sVisualNovelName) == 0x50);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sTokenLocStringPrefix) == 0x58);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sActNumberLocString) == 0x60);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sActTitleLocString) == 0x68);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unPremiumItemDef) == 0x70);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unFullCompletionItemDef) == 0x74);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unScrapTokenID) == 0x78);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEventActionTriggers) == 0x80);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEventActionGrantAndClaimPairTriggers) == 0x98);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecPathColorRules) == 0xb0);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecTokenTypes) == 0x208);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecHeroRewards) == 0x238);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecNodes) == 0x250);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecPaths) == 0x268);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEncounters) == 0x280);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecHeroes) == 0x298);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecCharacters) == 0x2b0);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecClickables) == 0x2c8);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecStartNodeIds) == 0x48);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unEndNodeID) == 0x60);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sVisualNovelName) == 0x68);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sTokenLocStringPrefix) == 0x70);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sActNumberLocString) == 0x78);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_sActTitleLocString) == 0x80);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unPremiumItemDef) == 0x88);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unFullCompletionItemDef) == 0x8c);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_unScrapTokenID) == 0x90);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEventActionTriggers) == 0x98);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEventActionGrantAndClaimPairTriggers) == 0xb0);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecPathColorRules) == 0xc8);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecTokenTypes) == 0x220);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecHeroRewards) == 0x250);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecNodes) == 0x268);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecPaths) == 0x280);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecEncounters) == 0x298);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecHeroes) == 0x2b0);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecCharacters) == 0x2c8);
|
||||
static_assert(offsetof(CDOTAOverworldDefinition, m_vecClickables) == 0x2e0);
|
||||
|
||||
static_assert(sizeof(CDOTAOverworldDefinition) == 0x358);
|
||||
static_assert(sizeof(CDOTAOverworldDefinition) == 0x370);
|
||||
};
|
||||
|
@ -15,7 +15,7 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: true
|
||||
// Size: 0x40
|
||||
// Size: 0x50
|
||||
// Construct allowed
|
||||
//
|
||||
// static metadata: MGetKV3ClassDefaults
|
||||
@ -31,26 +31,30 @@ namespace source2sdk::client
|
||||
client::OverworldNodeID_t m_unNodeStart; // 0x2
|
||||
// metadata: MPropertyDescription
|
||||
client::OverworldNodeID_t m_unNodeEnd; // 0x4
|
||||
[[maybe_unused]] std::uint8_t pad_0x06[0x2]; // 0x6
|
||||
// metadata: MPropertyDescription "An event action used to determine."
|
||||
CUtlString m_strPathHiddenUntilEventAction; // 0x8
|
||||
// metadata: MPropertyDescription
|
||||
uint8_t m_unCost; // 0x6
|
||||
[[maybe_unused]] std::uint8_t pad_0x07[0x19]; // 0x7
|
||||
uint8_t m_unCost; // 0x10
|
||||
[[maybe_unused]] std::uint8_t pad_0x11[0x1f]; // 0x11
|
||||
// metadata: MPropertyAttributeRange "-1 1"
|
||||
// metadata: MPropertyDescription "0: line, +: curve to the 'right' from node 1 to node 2, -: curve left"
|
||||
float m_flCircleInvRadius; // 0x20
|
||||
[[maybe_unused]] std::uint8_t pad_0x24[0x4]; // 0x24
|
||||
float m_flCircleInvRadius; // 0x30
|
||||
[[maybe_unused]] std::uint8_t pad_0x34[0x4]; // 0x34
|
||||
// metadata: MPropertyDescription
|
||||
// m_vecRequiredTokenNames has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CUtlVector<CUtlString> m_vecRequiredTokenNames;
|
||||
char m_vecRequiredTokenNames[0x18]; // 0x28
|
||||
char m_vecRequiredTokenNames[0x18]; // 0x38
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_unID) == 0x0);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_unNodeStart) == 0x2);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_unNodeEnd) == 0x4);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_unCost) == 0x6);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_flCircleInvRadius) == 0x20);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_vecRequiredTokenNames) == 0x28);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_strPathHiddenUntilEventAction) == 0x8);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_unCost) == 0x10);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_flCircleInvRadius) == 0x30);
|
||||
static_assert(offsetof(CDOTAOverworldPath, m_vecRequiredTokenNames) == 0x38);
|
||||
|
||||
static_assert(sizeof(CDOTAOverworldPath) == 0x40);
|
||||
static_assert(sizeof(CDOTAOverworldPath) == 0x50);
|
||||
};
|
||||
|
@ -14,11 +14,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xb60
|
||||
// Size: 0xba8
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkUserGroupProxy "CDOTAPlayerPawn"
|
||||
// static metadata: MNetworkExcludeByName "m_angRotation"
|
||||
@ -41,10 +40,10 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
// Datamap fields:
|
||||
// CDOTAPlayer_CameraServices m_pCameraServices; // 0xa48
|
||||
// CDOTAPlayer_MovementServices m_pMovementServices; // 0xa50
|
||||
// CDOTAPlayer_CameraServices m_pCameraServices; // 0xa90
|
||||
// CDOTAPlayer_MovementServices m_pMovementServices; // 0xa98
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CDOTAPlayerPawn) == 0xb60);
|
||||
static_assert(sizeof(CDOTAPlayerPawn) == 0xba8);
|
||||
};
|
||||
|
@ -16,7 +16,6 @@ namespace source2sdk::client
|
||||
// Standard-layout class: false
|
||||
// Size: 0x1f8
|
||||
// Has VTable
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAPlayer_CameraServices : public client::CPlayer_CameraServices
|
||||
{
|
||||
|
@ -16,7 +16,6 @@ namespace source2sdk::client
|
||||
// Standard-layout class: false
|
||||
// Size: 0x1d8
|
||||
// Has VTable
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAPlayer_MovementServices : public client::CPlayer_MovementServices
|
||||
{
|
||||
|
@ -14,20 +14,19 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xab8
|
||||
// Size: 0xb00
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAPropArenaOfBloodWarrior : public client::C_DynamicProp
|
||||
{
|
||||
public:
|
||||
bool m_bDying; // 0xab0
|
||||
[[maybe_unused]] std::uint8_t pad_0xab1[0x7];
|
||||
bool m_bDying; // 0xaf8
|
||||
[[maybe_unused]] std::uint8_t pad_0xaf9[0x7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CDOTAPropArenaOfBloodWarrior because it is not a standard-layout class
|
||||
static_assert(sizeof(CDOTAPropArenaOfBloodWarrior) == 0xab8);
|
||||
static_assert(sizeof(CDOTAPropArenaOfBloodWarrior) == 0xb00);
|
||||
};
|
||||
|
@ -16,29 +16,28 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xb10
|
||||
// Size: 0xb58
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "bool m_bUseAvatar"
|
||||
#pragma pack(push, 1)
|
||||
class CDOTAPropConsumableBanner : public client::C_DynamicProp
|
||||
{
|
||||
public:
|
||||
[[maybe_unused]] std::uint8_t pad_0xab0[0x48]; // 0xab0
|
||||
client::PlayerID_t m_nPlayerID; // 0xaf8
|
||||
[[maybe_unused]] std::uint8_t pad_0xafc[0x4]; // 0xafc
|
||||
[[maybe_unused]] std::uint8_t pad_0xaf8[0x48]; // 0xaf8
|
||||
client::PlayerID_t m_nPlayerID; // 0xb40
|
||||
[[maybe_unused]] std::uint8_t pad_0xb44[0x4]; // 0xb44
|
||||
// m_hAvatarTexture has a template type with potentially unknown template parameters. You can try uncommenting the field below.
|
||||
// CStrongHandle<resourcesystem::InfoForResourceTypeCTextureBase> m_hAvatarTexture;
|
||||
char m_hAvatarTexture[0x8]; // 0xb00
|
||||
char m_hAvatarTexture[0x8]; // 0xb48
|
||||
// metadata: MNetworkEnable
|
||||
bool m_bUseAvatar; // 0xb08
|
||||
[[maybe_unused]] std::uint8_t pad_0xb09[0x7];
|
||||
bool m_bUseAvatar; // 0xb50
|
||||
[[maybe_unused]] std::uint8_t pad_0xb51[0x7];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CDOTAPropConsumableBanner because it is not a standard-layout class
|
||||
static_assert(sizeof(CDOTAPropConsumableBanner) == 0xb10);
|
||||
static_assert(sizeof(CDOTAPropConsumableBanner) == 0xb58);
|
||||
};
|
||||
|
@ -14,11 +14,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0xb10
|
||||
// Size: 0xb58
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
//
|
||||
// static metadata: MNetworkVarNames "int m_nPlayerID"
|
||||
#pragma pack(push, 1)
|
||||
@ -26,11 +25,11 @@ namespace source2sdk::client
|
||||
{
|
||||
public:
|
||||
// metadata: MNetworkEnable
|
||||
int32_t m_nPlayerID; // 0xb08
|
||||
[[maybe_unused]] std::uint8_t pad_0xb0c[0x4];
|
||||
int32_t m_nPlayerID; // 0xb50
|
||||
[[maybe_unused]] std::uint8_t pad_0xb54[0x4];
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// Cannot assert offsets of fields in CDOTAPropPlusPlayerGuildBanner because it is not a standard-layout class
|
||||
static_assert(sizeof(CDOTAPropPlusPlayerGuildBanner) == 0xb10);
|
||||
static_assert(sizeof(CDOTAPropPlusPlayerGuildBanner) == 0xb58);
|
||||
};
|
||||
|
@ -14,11 +14,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x5d8
|
||||
// Size: 0x600
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTA_Ability_Abaddon_AphoticShield : public client::C_DOTABaseAbility
|
||||
{
|
||||
@ -27,5 +26,5 @@ namespace source2sdk::client
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CDOTA_Ability_Abaddon_AphoticShield) == 0x5d8);
|
||||
static_assert(sizeof(CDOTA_Ability_Abaddon_AphoticShield) == 0x600);
|
||||
};
|
||||
|
@ -14,11 +14,10 @@ namespace source2sdk::client
|
||||
// Registered alignment: 0x8
|
||||
// Alignment: 0x8
|
||||
// Standard-layout class: false
|
||||
// Size: 0x5d8
|
||||
// Size: 0x600
|
||||
// Has VTable
|
||||
// Construct allowed
|
||||
// MClassHasEntityLimitedDataDesc
|
||||
// MNetworkAssumeNotNetworkable
|
||||
#pragma pack(push, 1)
|
||||
class CDOTA_Ability_Abaddon_BorrowedTime : public client::C_DOTABaseAbility
|
||||
{
|
||||
@ -27,5 +26,5 @@ namespace source2sdk::client
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
static_assert(sizeof(CDOTA_Ability_Abaddon_BorrowedTime) == 0x5d8);
|
||||
static_assert(sizeof(CDOTA_Ability_Abaddon_BorrowedTime) == 0x600);
|
||||
};
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user