19 int checksum; // this has to be the same in the phy and vtx files to load!
24 vec3 eyeposition; // ideal eye position
26 vec3 illumposition; // illumination center
28 vec3 hull_min; // ideal movement hull size
31 vec3 view_bbmin; // clipping bounding box
36 int numbones; // bones
39 int numbonecontrollers; // bone controllers
40 int bonecontrollerindex;
45 // file local animations? and sequences
47 int numlocalanim; // animations/poses
48 int localanimindex; // animation descriptions
50 int numlocalseq; // sequences
57 // raw textures search paths
61 // replaceable textures tables
69 // queryable attachable points
71 int numlocalattachments;
72 int localattachmentindex;
74 // animation node to animation node transition graph
78 int localnodenameindex;
83 int numflexcontrollers;
84 int flexcontrollerindex;
96 int numlocalposeparameters;
97 int localposeparamindex;
105 int numlocalikautoplaylocks;
106 int localikautoplaylockindex;
108 // The collision model mass that jay wanted
112 // external animations, models, etc.
113 int numincludemodels;
114 int includemodelindex;
116 // for demand loaded animation blocks
117 int szanimblocknameindex;
121 int bonetablebynameindex;
122 char constdirectionallightdot;
124 char numAllowedRootLODs;
126 int unused4; // zero out if version < 47
127 int numflexcontrollerui;
128 int flexcontrolleruiindex;
129 float flVertAnimFixedPointScale;
138 int name_offset; // Offset for null-terminated string
144 int material; // Placeholder for IMaterial
145 int client_material; // Placeholder for void*
153 class mdl_model : public verboseControl
158 mdl_model(std::string mdl, bool verbose)
160 this->use_verbose = verbose;
161 std::ifstream reader(mdl, std::ios::in | std::ios::binary);
164 throw std::exception("MDL::LOAD FAILED"); return;
168 reader.read((char*)&this->header, sizeof(this->header));
169 this->debug("Version", this->header.version);
172 reader.seekg(this->header.cdtextureindex);
174 mdl::textureHeader test;
175 reader.read((char*)&test, sizeof(test));
177 reader.seekg(test.name_offset - sizeof(mdl::textureHeader), std::ios::cur);
179 std::string name = "";
197 virtual ~mdl_model() {}