SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Loading...
Searching...
No Matches
mdlpp::MDL::MDL Struct Reference

#include <MDL.h>

Collaboration diagram for mdlpp::MDL::MDL:

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< Bonebones
std::vector< BoneControllerboneControllers
std::vector< HitboxSethitboxSets
std::vector< AnimDescanimations
std::vector< SequenceDescsequences
int32_t activityListVersion
int32_t eventsIndexed
std::vector< Materialmaterials
std::vector< std::string > materialDirectories
std::vector< std::vector< int16_t > > skins
std::vector< BodyPartbodyParts
std::vector< Attachmentattachments
std::vector< std::string > localNodeNames
std::vector< uint8_t > localNodeTransitions
std::vector< std::string > flexDescs
std::vector< FlexControllerflexControllers
std::vector< FlexRuleflexRules
std::vector< IKChainikChains
std::vector< Mouthmouths
std::vector< PoseParameterposeParameters
std::string surfaceProperty
std::string keyValues
std::vector< IKLockikAutoplayLocks
float mass
int32_t contentsFlags
std::vector< IncludeModelincludeModels
std::string animationBlocksName
std::vector< AnimBlockanimationBlocks
std::vector< uint8_t > boneTableByName
uint8_t directionalDotProduct
uint8_t rootLOD
uint8_t numAllowedRootLODs
std::vector< FlexControllerUIflexControllerUIs
float vertAnimFixedPointScale
int32_t studioHdr2Index
Header2 header2 {}
bool hasHeader2 = false
std::vector< SrcBoneTransformsrcBoneTransforms
std::optional< LinearBonelinearBone
std::vector< BoneFlexDriverboneFlexDrivers

Detailed Description

Definition at line 681 of file MDL.h.

Member Enumeration Documentation

◆ Flags

enum mdlpp::MDL::MDL::Flags : int32_t
Enumerator
FLAG_NONE 
FLAG_AUTOGENERATED_HITBOX 
FLAG_FORCE_OPAQUE 
FLAG_TRANSLUCENT_TWO_PASS 
FLAG_STATIC_PROP 
FLAG_HAS_SHADOW_LOD 
FLAG_USE_SHADOW_LOD_MATERIALS 
FLAG_OBSOLETE 
FLAG_NO_FORCED_FADE 
FLAG_FORCE_PHONEME_CROSSFADE 
FLAG_CONSTANT_DIRECTIONAL_LIGHT_DOT 
FLAG_FLEXES_CONVERTED 
FLAG_BUILT_IN_PREVIEW_MODE 
FLAG_DO_NOT_CAST_SHADOWS 
FLAG_CAST_TEXTURE_SHADOWS 
FLAG_SUBDIVISION_SURFACE 
FLAG_VERT_ANIM_FIXED_POINT_SCALE 
FLAG_EXTRA_VERTEX_DATA 

Definition at line 684 of file MDL.h.

Member Function Documentation

◆ open()

bool MDL::open ( const std::byte * data,
std::size_t size )
nodiscard

Definition at line 51 of file MDL.cpp.

Member Data Documentation

◆ activityListVersion

int32_t mdlpp::MDL::MDL::activityListVersion

Definition at line 742 of file MDL.h.

◆ animationBlocks

std::vector<AnimBlock> mdlpp::MDL::MDL::animationBlocks

Definition at line 820 of file MDL.h.

◆ animationBlocksName

std::string mdlpp::MDL::MDL::animationBlocksName

Definition at line 819 of file MDL.h.

◆ animations

std::vector<AnimDesc> mdlpp::MDL::MDL::animations

Definition at line 736 of file MDL.h.

◆ attachments

std::vector<Attachment> mdlpp::MDL::MDL::attachments

Definition at line 764 of file MDL.h.

◆ bodyParts

std::vector<BodyPart> mdlpp::MDL::MDL::bodyParts

Definition at line 760 of file MDL.h.

◆ boneControllers

std::vector<BoneController> mdlpp::MDL::MDL::boneControllers

Definition at line 728 of file MDL.h.

◆ boneFlexDrivers

std::vector<BoneFlexDriver> mdlpp::MDL::MDL::boneFlexDrivers

Definition at line 864 of file MDL.h.

◆ bones

std::vector<Bone> mdlpp::MDL::MDL::bones

Definition at line 724 of file MDL.h.

◆ boneTableByName

std::vector<uint8_t> mdlpp::MDL::MDL::boneTableByName

Definition at line 825 of file MDL.h.

◆ checksum

int32_t mdlpp::MDL::MDL::checksum

Definition at line 707 of file MDL.h.

◆ contentsFlags

int32_t mdlpp::MDL::MDL::contentsFlags

Definition at line 808 of file MDL.h.

◆ directionalDotProduct

uint8_t mdlpp::MDL::MDL::directionalDotProduct

Definition at line 830 of file MDL.h.

◆ eventsIndexed

int32_t mdlpp::MDL::MDL::eventsIndexed

Definition at line 743 of file MDL.h.

◆ eyePosition

sourcepp::math::Vec3f mdlpp::MDL::MDL::eyePosition

Definition at line 713 of file MDL.h.

◆ flags

Flags mdlpp::MDL::MDL::flags

Definition at line 720 of file MDL.h.

◆ flexControllers

std::vector<FlexController> mdlpp::MDL::MDL::flexControllers

Definition at line 778 of file MDL.h.

◆ flexControllerUIs

std::vector<FlexControllerUI> mdlpp::MDL::MDL::flexControllerUIs

Definition at line 839 of file MDL.h.

◆ flexDescs

std::vector<std::string> mdlpp::MDL::MDL::flexDescs

Definition at line 774 of file MDL.h.

◆ flexRules

std::vector<FlexRule> mdlpp::MDL::MDL::flexRules

Definition at line 782 of file MDL.h.

◆ hasHeader2

bool mdlpp::MDL::MDL::hasHeader2 = false

Definition at line 860 of file MDL.h.

◆ header2

Header2 mdlpp::MDL::MDL::header2 {}

Definition at line 859 of file MDL.h.

◆ hitboxSets

std::vector<HitboxSet> mdlpp::MDL::MDL::hitboxSets

Definition at line 732 of file MDL.h.

◆ hullMax

sourcepp::math::Vec3f mdlpp::MDL::MDL::hullMax

Definition at line 716 of file MDL.h.

◆ hullMin

sourcepp::math::Vec3f mdlpp::MDL::MDL::hullMin

Definition at line 715 of file MDL.h.

◆ ikAutoplayLocks

std::vector<IKLock> mdlpp::MDL::MDL::ikAutoplayLocks

Definition at line 805 of file MDL.h.

◆ ikChains

std::vector<IKChain> mdlpp::MDL::MDL::ikChains

Definition at line 786 of file MDL.h.

◆ illuminationPosition

sourcepp::math::Vec3f mdlpp::MDL::MDL::illuminationPosition

Definition at line 714 of file MDL.h.

◆ includeModels

std::vector<IncludeModel> mdlpp::MDL::MDL::includeModels

Definition at line 812 of file MDL.h.

◆ keyValues

std::string mdlpp::MDL::MDL::keyValues

Definition at line 801 of file MDL.h.

◆ linearBone

std::optional<LinearBone> mdlpp::MDL::MDL::linearBone

Definition at line 863 of file MDL.h.

◆ localNodeNames

std::vector<std::string> mdlpp::MDL::MDL::localNodeNames

Definition at line 769 of file MDL.h.

◆ localNodeTransitions

std::vector<uint8_t> mdlpp::MDL::MDL::localNodeTransitions

Definition at line 770 of file MDL.h.

◆ mass

float mdlpp::MDL::MDL::mass

Definition at line 807 of file MDL.h.

◆ materialDirectories

std::vector<std::string> mdlpp::MDL::MDL::materialDirectories

Definition at line 751 of file MDL.h.

◆ materials

std::vector<Material> mdlpp::MDL::MDL::materials

Definition at line 747 of file MDL.h.

◆ mouths

std::vector<Mouth> mdlpp::MDL::MDL::mouths

Definition at line 790 of file MDL.h.

◆ name

std::string mdlpp::MDL::MDL::name

Definition at line 710 of file MDL.h.

◆ numAllowedRootLODs

uint8_t mdlpp::MDL::MDL::numAllowedRootLODs

Definition at line 832 of file MDL.h.

◆ poseParameters

std::vector<PoseParameter> mdlpp::MDL::MDL::poseParameters

Definition at line 794 of file MDL.h.

◆ rootLOD

uint8_t mdlpp::MDL::MDL::rootLOD

Definition at line 831 of file MDL.h.

◆ sequences

std::vector<SequenceDesc> mdlpp::MDL::MDL::sequences

Definition at line 740 of file MDL.h.

◆ skins

std::vector<std::vector<int16_t> > mdlpp::MDL::MDL::skins

Definition at line 756 of file MDL.h.

◆ srcBoneTransforms

std::vector<SrcBoneTransform> mdlpp::MDL::MDL::srcBoneTransforms

Definition at line 862 of file MDL.h.

◆ studioHdr2Index

int32_t mdlpp::MDL::MDL::studioHdr2Index

Definition at line 844 of file MDL.h.

◆ surfaceProperty

std::string mdlpp::MDL::MDL::surfaceProperty

Definition at line 797 of file MDL.h.

◆ version

int32_t mdlpp::MDL::MDL::version

Definition at line 706 of file MDL.h.

◆ vertAnimFixedPointScale

float mdlpp::MDL::MDL::vertAnimFixedPointScale

Definition at line 841 of file MDL.h.

◆ viewBBoxMax

sourcepp::math::Vec3f mdlpp::MDL::MDL::viewBBoxMax

Definition at line 718 of file MDL.h.

◆ viewBBoxMin

sourcepp::math::Vec3f mdlpp::MDL::MDL::viewBBoxMin

Definition at line 717 of file MDL.h.


The documentation for this struct was generated from the following files: