SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Toggle main menu visibility
Loading...
Searching...
No Matches
Generic.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <string>
4
5
#include <
sourcepp/Macros.h
>
6
#include <
sourcepp/Math.h
>
7
8
namespace
mdlpp
{
9
10
constexpr
int
ROOT_LOD
= 0;
11
constexpr
int
MAX_LOD_COUNT
= 8;
12
constexpr
int
MAX_BONES_PER_VERTEX
= 3;
13
14
struct
BBox
{
15
int32_t
bone
;
16
int32_t
group
;
17
sourcepp::math::Vec3f
bboxMin
;
18
sourcepp::math::Vec3f
bboxMax
;
19
20
//int32_t hitboxNameOffset;
21
std::string
name
;
22
23
//int32_t _unused0[8];
24
};
25
26
struct
Movement
{
27
enum
Flags
: int32_t {
28
FLAG_NONE
= 0,
29
FLAG_X
= 1 << 0,
30
FLAG_Y
= 1 << 1,
31
FLAG_Z
= 1 << 2,
32
FLAG_XR
= 1 << 3,
33
FLAG_YR
= 1 << 4,
34
FLAG_ZR
= 1 << 5,
35
FLAG_LX
= 1 << 6,
36
FLAG_LY
= 1 << 7,
37
FLAG_LZ
= 1 << 8,
38
FLAG_LXR
= 1 << 9,
39
FLAG_LYR
= 1 << 10,
40
FLAG_LZR
= 1 << 11,
41
FLAG_LINEAR
= 1 << 12,
42
FLAG_MASK_TYPES
= (1 << 18) - 1,
43
FLAG_RLOOP
= 1 << 18,
44
};
45
46
int32_t
endFrame
;
47
Flags
flags
;
48
float
velocityStart
;
49
float
velocityEnd
;
50
float
yawEnd
;
51
sourcepp::math::Vec3f
movement
;
52
sourcepp::math::Vec3f
relativePosition
;
53
};
54
SOURCEPP_BITFLAGS_ENUM
(
Movement::Flags
)
55
56
struct
IKLock
{
57
int32_t
chain
;
58
float
posWeight
;
59
float
localQWeight
;
60
int32_t
flags
;
61
62
//int32_t unused[4];
63
};
64
65
union
AnimValue
{
66
struct
{
67
uint8_t
valid
;
68
uint8_t
total
;
69
}
num
;
70
int16_t
value
;
71
};
72
static_assert
(
sizeof
(
AnimValue
) == 2);
73
74
// x/y/z or pitch/yaw/roll
75
using
AnimValuePtr
= sourcepp::math::Vec3i16;
76
77
}
// namespace mdlpp
Macros.h
SOURCEPP_BITFLAGS_ENUM
#define SOURCEPP_BITFLAGS_ENUM(Enum)
Defines bitwise operators for an enum or enum class.
Definition
Macros.h:29
Math.h
mdlpp
Definition
mdlpp.h:9
mdlpp::ROOT_LOD
constexpr int ROOT_LOD
Definition
Generic.h:10
mdlpp::AnimValuePtr
sourcepp::math::Vec3i16 AnimValuePtr
Definition
Generic.h:75
mdlpp::MAX_LOD_COUNT
constexpr int MAX_LOD_COUNT
Definition
Generic.h:11
mdlpp::MAX_BONES_PER_VERTEX
constexpr int MAX_BONES_PER_VERTEX
Definition
Generic.h:12
mdlpp::BBox
Definition
Generic.h:14
mdlpp::BBox::bboxMin
sourcepp::math::Vec3f bboxMin
Definition
Generic.h:17
mdlpp::BBox::group
int32_t group
Definition
Generic.h:16
mdlpp::BBox::bboxMax
sourcepp::math::Vec3f bboxMax
Definition
Generic.h:18
mdlpp::BBox::name
std::string name
Definition
Generic.h:21
mdlpp::BBox::bone
int32_t bone
Definition
Generic.h:15
mdlpp::IKLock
Definition
Generic.h:56
mdlpp::IKLock::flags
int32_t flags
Definition
Generic.h:60
mdlpp::IKLock::posWeight
float posWeight
Definition
Generic.h:58
mdlpp::IKLock::chain
int32_t chain
Definition
Generic.h:57
mdlpp::IKLock::localQWeight
float localQWeight
Definition
Generic.h:59
mdlpp::Movement
Definition
Generic.h:26
mdlpp::Movement::velocityStart
float velocityStart
Definition
Generic.h:48
mdlpp::Movement::endFrame
int32_t endFrame
Definition
Generic.h:46
mdlpp::Movement::yawEnd
float yawEnd
Definition
Generic.h:50
mdlpp::Movement::relativePosition
sourcepp::math::Vec3f relativePosition
Definition
Generic.h:52
mdlpp::Movement::Flags
Flags
Definition
Generic.h:27
mdlpp::Movement::FLAG_YR
@ FLAG_YR
Definition
Generic.h:33
mdlpp::Movement::FLAG_LZR
@ FLAG_LZR
Definition
Generic.h:40
mdlpp::Movement::FLAG_LX
@ FLAG_LX
Definition
Generic.h:35
mdlpp::Movement::FLAG_Y
@ FLAG_Y
Definition
Generic.h:30
mdlpp::Movement::FLAG_RLOOP
@ FLAG_RLOOP
Definition
Generic.h:43
mdlpp::Movement::FLAG_XR
@ FLAG_XR
Definition
Generic.h:32
mdlpp::Movement::FLAG_LXR
@ FLAG_LXR
Definition
Generic.h:38
mdlpp::Movement::FLAG_NONE
@ FLAG_NONE
Definition
Generic.h:28
mdlpp::Movement::FLAG_LY
@ FLAG_LY
Definition
Generic.h:36
mdlpp::Movement::FLAG_LZ
@ FLAG_LZ
Definition
Generic.h:37
mdlpp::Movement::FLAG_LYR
@ FLAG_LYR
Definition
Generic.h:39
mdlpp::Movement::FLAG_MASK_TYPES
@ FLAG_MASK_TYPES
Definition
Generic.h:42
mdlpp::Movement::FLAG_LINEAR
@ FLAG_LINEAR
Definition
Generic.h:41
mdlpp::Movement::FLAG_X
@ FLAG_X
Definition
Generic.h:29
mdlpp::Movement::FLAG_Z
@ FLAG_Z
Definition
Generic.h:31
mdlpp::Movement::FLAG_ZR
@ FLAG_ZR
Definition
Generic.h:34
mdlpp::Movement::movement
sourcepp::math::Vec3f movement
Definition
Generic.h:51
mdlpp::Movement::flags
Flags flags
Definition
Generic.h:47
mdlpp::Movement::velocityEnd
float velocityEnd
Definition
Generic.h:49
mdlpp::AnimValue
Definition
Generic.h:65
mdlpp::AnimValue::value
int16_t value
Definition
Generic.h:70
mdlpp::AnimValue::valid
uint8_t valid
Definition
Generic.h:67
mdlpp::AnimValue::total
uint8_t total
Definition
Generic.h:68
mdlpp::AnimValue::num
struct mdlpp::AnimValue::@260325364302223141001101027371236243335257207016 num
include
mdlpp
structs
Generic.h
Generated on
for SourcePP by
1.17.0