source2sdk/sdk/vphysics2.hpp
2023-03-15 20:25:55 +03:00

218 lines
3.4 KiB
C++

#pragma once
#include <cstdint>
#include "!GlobalTypes.hpp"
///////////////////////////////////////////
// Binary: vphysics2.dll
// Class Count: 21
// Enum Count: 0
///////////////////////////////////////////
// Aligment: 1
// Size: 104
struct Dop26_t
{
public:
float32[26] m_flSupport; // 0x0
};
// Aligment: 2
// Size: 16
struct RnSphere_t
{
public:
Vector m_vCenter; // 0x0
float m_flRadius; // 0xc
};
// Aligment: 2
// Size: 28
struct RnCapsule_t
{
public:
Vector[2] m_vCenter; // 0x0
float m_flRadius; // 0x18
};
// Aligment: 2
// Size: 16
struct RnPlane_t
{
public:
Vector m_vNormal; // 0x0
float m_flOffset; // 0xc
};
// Aligment: 4
// Size: 4
struct RnHalfEdge_t
{
public:
uint8_t m_nNext; // 0x0
uint8_t m_nTwin; // 0x1
uint8_t m_nOrigin; // 0x2
uint8_t m_nFace; // 0x3
};
// Aligment: 1
// Size: 1
struct RnFace_t
{
public:
uint8_t m_nEdge; // 0x0
};
// Aligment: 13
// Size: 148
struct RnHull_t
{
public:
Vector m_vCentroid; // 0x0
float m_flMaxAngularRadius; // 0xc
CResourceArray< Vector > m_Vertices; // 0x10
CResourceArray< RnPlane_t > m_Planes; // 0x18
CResourceArray< RnHalfEdge_t > m_Edges; // 0x20
CResourceArray< RnFace_t > m_Faces; // 0x28
Vector m_vOrthographicAreas; // 0x30
matrix3x4_t m_MassProperties; // 0x3c
float m_flVolume; // 0x6c
float m_flMaxMotionRadius; // 0x70
float m_flMinMotionThickness; // 0x74
AABB_t m_Bounds; // 0x78
uint32_t m_nFlags; // 0x90
};
// Aligment: 1
// Size: 12
struct RnTriangle_t
{
public:
int32[3] m_nIndex; // 0x0
};
// Aligment: 4
// Size: 32
struct RnNode_t
{
public:
Vector m_vMin; // 0x0
uint32_t m_nChildren; // 0xc
Vector m_vMax; // 0x10
uint32_t m_nTriangleOffset; // 0x1c
};
// Aligment: 7
// Size: 68
struct RnMesh_t
{
public:
Vector m_vMin; // 0x0
Vector m_vMax; // 0xc
CResourceArray< RnNode_t > m_Nodes; // 0x18
CResourceArray< Vector > m_Vertices; // 0x20
CResourceArray< RnTriangle_t > m_Triangles; // 0x28
CResourceArray< uint8 > m_Materials; // 0x30
Vector m_vOrthographicAreas; // 0x38
};
// Aligment: 2
// Size: 8
struct RnShapeDesc_t
{
public:
uint32_t m_nCollisionAttributeIndex; // 0x0
uint32_t m_nSurfacePropertyIndex; // 0x4
};
// Aligment: 1
// Size: 24
struct RnSphereDesc_t : public RnShapeDesc_t
{
public:
RnSphere_t m_Sphere; // 0x8
};
// Aligment: 1
// Size: 36
struct RnCapsuleDesc_t : public RnShapeDesc_t
{
public:
RnCapsule_t m_Capsule; // 0x8
};
// Aligment: 1
// Size: 156
struct RnHullDesc_t : public RnShapeDesc_t
{
public:
RnHull_t m_Hull; // 0x8
};
// Aligment: 1
// Size: 76
struct RnMeshDesc_t : public RnShapeDesc_t
{
public:
RnMesh_t m_Mesh; // 0x8
};
// Aligment: 1
// Size: 4
struct RnSoftbodyParticle_t
{
public:
float m_flMassInv; // 0x0
};
// Aligment: 2
// Size: 8
struct RnSoftbodySpring_t
{
public:
uint16[2] m_nParticle; // 0x0
float m_flLength; // 0x4
};
// Aligment: 3
// Size: 32
struct RnSoftbodyCapsule_t
{
public:
Vector[2] m_vCenter; // 0x0
float m_flRadius; // 0x18
uint16[2] m_nParticle; // 0x1c
};
// Aligment: 8
// Size: 16
struct RnBlendVertex_t
{
public:
uint16_t m_nWeight0; // 0x0
uint16_t m_nIndex0; // 0x2
uint16_t m_nWeight1; // 0x4
uint16_t m_nIndex1; // 0x6
uint16_t m_nWeight2; // 0x8
uint16_t m_nIndex2; // 0xa
uint16_t m_nFlags; // 0xc
uint16_t m_nTargetIndex; // 0xe
};
// Aligment: 2
// Size: 24
struct VertexPositionNormal_t
{
public:
Vector m_vPosition; // 0x0
Vector m_vNormal; // 0xc
};
// Aligment: 1
// Size: 16
struct VertexPositionColor_t
{
public:
Vector m_vPosition; // 0x0
};