2023-03-15 15:20:35 +00:00
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#include "!GlobalTypes.hpp"
|
|
|
|
|
|
|
|
///////////////////////////////////////////
|
|
|
|
// Binary: vphysics2.dll
|
2023-03-15 17:25:55 +00:00
|
|
|
// Class Count: 21
|
2023-03-15 17:43:32 +00:00
|
|
|
// Enum Count: 2
|
2023-03-15 15:20:35 +00:00
|
|
|
///////////////////////////////////////////
|
|
|
|
|
2023-03-15 17:43:32 +00:00
|
|
|
// Aligment: 4
|
|
|
|
// Size: 4
|
|
|
|
enum class JointAxis_t : uint32_t
|
|
|
|
{
|
|
|
|
JOINT_AXIS_X = 0x0,
|
|
|
|
JOINT_AXIS_Y = 0x1,
|
|
|
|
JOINT_AXIS_Z = 0x2,
|
|
|
|
JOINT_AXIS_COUNT = 0x3,
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 4
|
|
|
|
// Size: 3
|
|
|
|
enum class JointMotion_t : uint32_t
|
|
|
|
{
|
|
|
|
JOINT_MOTION_FREE = 0x0,
|
|
|
|
JOINT_MOTION_LOCKED = 0x1,
|
|
|
|
JOINT_MOTION_COUNT = 0x2,
|
|
|
|
};
|
|
|
|
|
2023-03-15 15:20:35 +00:00
|
|
|
// 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
|
|
|
|
};
|
|
|
|
|
2023-03-15 17:25:55 +00:00
|
|
|
// Aligment: 13
|
|
|
|
// Size: 148
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnHull_t
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Vector m_vCentroid; // 0x0
|
|
|
|
float m_flMaxAngularRadius; // 0xc
|
2023-03-15 17:25:55 +00:00
|
|
|
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
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// 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
|
|
|
|
};
|
|
|
|
|
2023-03-15 17:25:55 +00:00
|
|
|
// Aligment: 7
|
|
|
|
// Size: 68
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnMesh_t
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Vector m_vMin; // 0x0
|
|
|
|
Vector m_vMax; // 0xc
|
2023-03-15 17:25:55 +00:00
|
|
|
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
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
2023-03-15 17:25:55 +00:00
|
|
|
// Aligment: 2
|
|
|
|
// Size: 8
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnShapeDesc_t
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
uint32_t m_nCollisionAttributeIndex; // 0x0
|
|
|
|
uint32_t m_nSurfacePropertyIndex; // 0x4
|
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 1
|
2023-03-15 17:25:55 +00:00
|
|
|
// Size: 24
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnSphereDesc_t : public RnShapeDesc_t
|
|
|
|
{
|
|
|
|
public:
|
2023-03-15 17:25:55 +00:00
|
|
|
RnSphere_t m_Sphere; // 0x8
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 1
|
2023-03-15 17:25:55 +00:00
|
|
|
// Size: 36
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnCapsuleDesc_t : public RnShapeDesc_t
|
|
|
|
{
|
|
|
|
public:
|
2023-03-15 17:25:55 +00:00
|
|
|
RnCapsule_t m_Capsule; // 0x8
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 1
|
2023-03-15 17:25:55 +00:00
|
|
|
// Size: 156
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnHullDesc_t : public RnShapeDesc_t
|
|
|
|
{
|
|
|
|
public:
|
2023-03-15 17:25:55 +00:00
|
|
|
RnHull_t m_Hull; // 0x8
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// Aligment: 1
|
2023-03-15 17:25:55 +00:00
|
|
|
// Size: 76
|
2023-03-15 15:20:35 +00:00
|
|
|
struct RnMeshDesc_t : public RnShapeDesc_t
|
|
|
|
{
|
|
|
|
public:
|
2023-03-15 17:25:55 +00:00
|
|
|
RnMesh_t m_Mesh; // 0x8
|
2023-03-15 15:20:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
// 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
|
|
|
|
};
|
|
|
|
|