MDLParser
Simple and modern library for parsing the Source engine model formats
Loading...
Searching...
No Matches
enums.hpp
1#pragma once
2
3#include <cstdint>
4
8namespace MdlParser::Enums {
12 namespace Mdl {
16 enum class Flags : int32_t {
17 AUTOGENERATED_HITBOX = 0x00000001,
18 USES_ENV_CUBEMAP = 0x00000002,
19 FORCE_OPAQUE = 0x00000004,
20 TRANSLUCENT_TWOPASS = 0x00000008,
21 STATIC_PROP = 0x00000010,
22 USES_FB_TEXTURE = 0x00000020,
23 HASSHADOWLOD = 0x00000040,
24 USES_BUMPMAPPING = 0x00000080,
25 USE_SHADOWLOD_MATERIALS = 0x00000100,
26 OBSOLETE = 0x00000200,
27 UNUSED = 0x00000400,
28 NO_FORCED_FADE = 0x00000800,
29 FORCE_PHONEME_CROSSFADE = 0x00001000,
30 CONSTANT_DIRECTIONAL_LIGHT_DOT = 0x00002000,
31 FLEXES_CONVERTED = 0x00004000,
32 BUILT_IN_PREVIEW_MODE = 0x00008000,
33 AMBIENT_BOOST = 0x00010000,
34 DO_NOT_CAST_SHADOWS = 0x00020000,
35 CAST_TEXTURE_SHADOWS = 0x00040000,
36 VERT_ANIM_FIXED_POINT_SCALE = 0x00200000
37 };
38
39 enum class VertAnimType : uint8_t {};
40 }
41
45 namespace Vtx {
49 enum class StripFlags : uint8_t {
53 NONE = 0,
54
58 IS_TRILIST = 0x01,
59
63 IS_TRISTRIP = 0x02
64 };
65 inline StripFlags operator&(const StripFlags& a, const StripFlags& b) {
66 return static_cast<StripFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
67 }
68 inline StripFlags operator|(const StripFlags& a, const StripFlags& b) {
69 return static_cast<StripFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
70 }
71
75 enum class StripGroupFlags : uint8_t {
79 NONE = 0,
80
81 IS_FLEXED = 0x01,
82 IS_HWSKINNED = 0x02,
83 IS_DELTA_FLEXED = 0x04,
84 SUPPRESS_HW_MORPH = 0x08
85 };
86 inline StripGroupFlags operator&(const StripGroupFlags& a, const StripGroupFlags& b) {
87 return static_cast<StripGroupFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
88 }
89 inline StripGroupFlags operator|(const StripGroupFlags& a, const StripGroupFlags& b) {
90 return static_cast<StripGroupFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
91 }
92
96 enum class MeshFlags : uint8_t {
100 NONE = 0,
101
105 IS_TEETH = 0x01,
106
110 IS_EYES = 0x02
111 };
112 inline MeshFlags operator&(const MeshFlags& a, const MeshFlags& b) {
113 return static_cast<MeshFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
114 }
115 inline MeshFlags operator|(const MeshFlags& a, const MeshFlags& b) {
116 return static_cast<MeshFlags>(static_cast<uint8_t>(a) & static_cast<uint8_t>(b));
117 }
118 }
119}
Definition: mdl.hpp:14
Definition: vtx.hpp:14
Flags
Definition: enums.hpp:16
StripGroupFlags
Definition: enums.hpp:75
StripFlags
Definition: enums.hpp:49
MeshFlags
Definition: enums.hpp:96
Definition: enums.hpp:8