![]() |
SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
|
#include <MDL.h>

Classes | |
| struct | Header2 |
Public Types | |
| enum | Flags : int32_t { FLAG_NONE = 0 , FLAG_AUTOGENERATED_HITBOX = 1 << 0 , FLAG_FORCE_OPAQUE = 1 << 2 , FLAG_TRANSLUCENT_TWO_PASS = 1 << 3 , FLAG_STATIC_PROP = 1 << 4 , FLAG_HAS_SHADOW_LOD = 1 << 6 , FLAG_USE_SHADOW_LOD_MATERIALS = 1 << 8 , FLAG_OBSOLETE = 1 << 9 , FLAG_NO_FORCED_FADE = 1 << 11 , FLAG_FORCE_PHONEME_CROSSFADE = 1 << 12 , FLAG_CONSTANT_DIRECTIONAL_LIGHT_DOT = 1 << 13 , FLAG_FLEXES_CONVERTED = 1 << 14 , FLAG_BUILT_IN_PREVIEW_MODE = 1 << 15 , FLAG_DO_NOT_CAST_SHADOWS = 1 << 17 , FLAG_CAST_TEXTURE_SHADOWS = 1 << 18 , FLAG_SUBDIVISION_SURFACE = 1 << 19 , FLAG_VERT_ANIM_FIXED_POINT_SCALE = 1 << 21 , FLAG_EXTRA_VERTEX_DATA = 1 << 26 } |
Public Member Functions | |
| bool | open (const std::byte *data, std::size_t size) |
Public Attributes | |
| int32_t | version |
| int32_t | checksum |
| std::string | name |
| sourcepp::math::Vec3f | eyePosition |
| sourcepp::math::Vec3f | illuminationPosition |
| sourcepp::math::Vec3f | hullMin |
| sourcepp::math::Vec3f | hullMax |
| sourcepp::math::Vec3f | viewBBoxMin |
| sourcepp::math::Vec3f | viewBBoxMax |
| Flags | flags |
| std::vector< Bone > | bones |
| std::vector< BoneController > | boneControllers |
| std::vector< HitboxSet > | hitboxSets |
| std::vector< AnimDesc > | animations |
| std::vector< SequenceDesc > | sequences |
| int32_t | activityListVersion |
| int32_t | eventsIndexed |
| std::vector< Material > | materials |
| std::vector< std::string > | materialDirectories |
| std::vector< std::vector< int16_t > > | skins |
| std::vector< BodyPart > | bodyParts |
| std::vector< Attachment > | attachments |
| std::vector< std::string > | localNodeNames |
| std::vector< uint8_t > | localNodeTransitions |
| std::vector< std::string > | flexDescs |
| std::vector< FlexController > | flexControllers |
| std::vector< FlexRule > | flexRules |
| std::vector< IKChain > | ikChains |
| std::vector< Mouth > | mouths |
| std::vector< PoseParameter > | poseParameters |
| std::string | surfaceProperty |
| std::string | keyValues |
| std::vector< IKLock > | ikAutoplayLocks |
| float | mass |
| int32_t | contentsFlags |
| std::vector< IncludeModel > | includeModels |
| std::string | animationBlocksName |
| std::vector< AnimBlock > | animationBlocks |
| std::vector< uint8_t > | boneTableByName |
| uint8_t | directionalDotProduct |
| uint8_t | rootLOD |
| uint8_t | numAllowedRootLODs |
| std::vector< FlexControllerUI > | flexControllerUIs |
| float | vertAnimFixedPointScale |
| int32_t | studioHdr2Index |
| Header2 | header2 {} |
| bool | hasHeader2 = false |
| std::vector< SrcBoneTransform > | srcBoneTransforms |
| std::optional< LinearBone > | linearBone |
| std::vector< BoneFlexDriver > | boneFlexDrivers |
| enum mdlpp::MDL::MDL::Flags : int32_t |
|
nodiscard |
| std::vector<Attachment> mdlpp::MDL::MDL::attachments |
| std::vector<BoneController> mdlpp::MDL::MDL::boneControllers |
| std::vector<BoneFlexDriver> mdlpp::MDL::MDL::boneFlexDrivers |
| std::vector<FlexController> mdlpp::MDL::MDL::flexControllers |
| std::vector<FlexControllerUI> mdlpp::MDL::MDL::flexControllerUIs |
| std::vector<IncludeModel> mdlpp::MDL::MDL::includeModels |
| std::optional<LinearBone> mdlpp::MDL::MDL::linearBone |
| std::vector<PoseParameter> mdlpp::MDL::MDL::poseParameters |
| std::vector<SequenceDesc> mdlpp::MDL::MDL::sequences |
| std::vector<SrcBoneTransform> mdlpp::MDL::MDL::srcBoneTransforms |