From f9158592e1478b2013afc7041d9ed041cf2d2f4a Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 13 Jan 2014 19:47:58 +1000 Subject: Update Irrlicht to 1.8.1. Include actual change markers this time. lol --- .../doc/html/_i_animated_mesh_m_d3_8h_source.html | 405 --------------------- 1 file changed, 405 deletions(-) delete mode 100644 libraries/irrlicht-1.8/doc/html/_i_animated_mesh_m_d3_8h_source.html (limited to 'libraries/irrlicht-1.8/doc/html/_i_animated_mesh_m_d3_8h_source.html') diff --git a/libraries/irrlicht-1.8/doc/html/_i_animated_mesh_m_d3_8h_source.html b/libraries/irrlicht-1.8/doc/html/_i_animated_mesh_m_d3_8h_source.html deleted file mode 100644 index 31b720d..0000000 --- a/libraries/irrlicht-1.8/doc/html/_i_animated_mesh_m_d3_8h_source.html +++ /dev/null @@ -1,405 +0,0 @@ - - -
- -00001 // Copyright (C) 2007-2012 Nikolaus Gebhardt / Thomas Alten -00002 // This file is part of the "Irrlicht Engine". -00003 // For conditions of distribution and use, see copyright notice in irrlicht.h -00004 -00005 #ifndef __I_ANIMATED_MESH_MD3_H_INCLUDED__ -00006 #define __I_ANIMATED_MESH_MD3_H_INCLUDED__ -00007 -00008 #include "IAnimatedMesh.h" -00009 #include "IQ3Shader.h" -00010 #include "quaternion.h" -00011 -00012 namespace irr -00013 { -00014 namespace scene -00015 { -00016 -00017 enum eMD3Models -00018 { -00019 EMD3_HEAD = 0, -00020 EMD3_UPPER, -00021 EMD3_LOWER, -00022 EMD3_WEAPON, -00023 EMD3_NUMMODELS -00024 }; -00025 -00027 enum EMD3_ANIMATION_TYPE -00028 { -00029 // Animations for both lower and upper parts of the player -00030 EMD3_BOTH_DEATH_1 = 0, -00031 EMD3_BOTH_DEAD_1, -00032 EMD3_BOTH_DEATH_2, -00033 EMD3_BOTH_DEAD_2, -00034 EMD3_BOTH_DEATH_3, -00035 EMD3_BOTH_DEAD_3, -00036 -00037 // Animations for the upper part -00038 EMD3_TORSO_GESTURE, -00039 EMD3_TORSO_ATTACK_1, -00040 EMD3_TORSO_ATTACK_2, -00041 EMD3_TORSO_DROP, -00042 EMD3_TORSO_RAISE, -00043 EMD3_TORSO_STAND_1, -00044 EMD3_TORSO_STAND_2, -00045 -00046 // Animations for the lower part -00047 EMD3_LEGS_WALK_CROUCH, -00048 EMD3_LEGS_WALK, -00049 EMD3_LEGS_RUN, -00050 EMD3_LEGS_BACK, -00051 EMD3_LEGS_SWIM, -00052 EMD3_LEGS_JUMP_1, -00053 EMD3_LEGS_LAND_1, -00054 EMD3_LEGS_JUMP_2, -00055 EMD3_LEGS_LAND_2, -00056 EMD3_LEGS_IDLE, -00057 EMD3_LEGS_IDLE_CROUCH, -00058 EMD3_LEGS_TURN, -00059 -00061 EMD3_ANIMATION_COUNT -00062 }; -00063 -00064 struct SMD3AnimationInfo -00065 { -00067 s32 first; -00069 s32 num; -00071 s32 looping; -00073 s32 fps; -00074 }; -00075 -00076 -00077 // byte-align structures -00078 #include "irrpack.h" -00079 -00081 struct SMD3Header -00082 { -00083 c8 headerID[4]; //id of file, always "IDP3" -00084 s32 Version; //this is a version number, always 15 -00085 s8 fileName[68]; //sometimes left Blank... 65 chars, 32bit aligned == 68 chars -00086 s32 numFrames; //number of KeyFrames -00087 s32 numTags; //number of 'tags' per frame -00088 s32 numMeshes; //number of meshes/skins -00089 s32 numMaxSkins; //maximum number of unique skins used in md3 file. artefact md2 -00090 s32 frameStart; //starting position of frame-structur -00091 s32 tagStart; //starting position of tag-structures -00092 s32 tagEnd; //ending position of tag-structures/starting position of mesh-structures -00093 s32 fileSize; -00094 } PACK_STRUCT; -00095 -00097 struct SMD3MeshHeader -00098 { -00099 c8 meshID[4]; //id, must be IDP3 -00100 c8 meshName[68]; //name of mesh 65 chars, 32 bit aligned == 68 chars -00101 -00102 s32 numFrames; //number of meshframes in mesh -00103 s32 numShader; //number of skins in mesh -00104 s32 numVertices; //number of vertices -00105 s32 numTriangles; //number of Triangles -00106 -00107 s32 offset_triangles; //starting position of Triangle data, relative to start of Mesh_Header -00108 s32 offset_shaders; //size of header -00109 s32 offset_st; //starting position of texvector data, relative to start of Mesh_Header -00110 s32 vertexStart; //starting position of vertex data,relative to start of Mesh_Header -00111 s32 offset_end; -00112 } PACK_STRUCT; -00113 -00114 -00116 struct SMD3Vertex -00117 { -00118 s16 position[3]; -00119 u8 normal[2]; -00120 } PACK_STRUCT; -00121 -00123 struct SMD3TexCoord -00124 { -00125 f32 u; -00126 f32 v; -00127 } PACK_STRUCT; -00128 -00130 struct SMD3Face -00131 { -00132 s32 Index[3]; -00133 } PACK_STRUCT; -00134 -00135 -00136 // Default alignment -00137 #include "irrunpack.h" -00138 -00140 struct SMD3MeshBuffer : public IReferenceCounted -00141 { -00142 SMD3MeshHeader MeshHeader; -00143 -00144 core::stringc Shader; -00145 core::array < s32 > Indices; -00146 core::array < SMD3Vertex > Vertices; -00147 core::array < SMD3TexCoord > Tex; -00148 }; -00149 -00151 -00152 struct SMD3QuaternionTag -00153 { -00154 virtual ~SMD3QuaternionTag() -00155 { -00156 position.X = 0.f; -00157 } -00158 -00159 // construct copy constructor -00160 SMD3QuaternionTag( const SMD3QuaternionTag & copyMe ) -00161 { -00162 *this = copyMe; -00163 } -00164 -00165 // construct for searching -00166 SMD3QuaternionTag( const core::stringc& name ) -00167 : Name ( name ) {} -00168 -00169 // construct from a position and euler angles in degrees -00170 SMD3QuaternionTag ( const core::vector3df &pos, const core::vector3df &angle ) -00171 : position(pos), rotation(angle * core::DEGTORAD) {} -00172 -00173 // set to matrix -00174 void setto ( core::matrix4 &m ) -00175 { -00176 rotation.getMatrix ( m, position ); -00177 } -00178 -00179 bool operator == ( const SMD3QuaternionTag &other ) const -00180 { -00181 return Name == other.Name; -00182 } -00183 -00184 SMD3QuaternionTag & operator=( const SMD3QuaternionTag & copyMe ) -00185 { -00186 Name = copyMe.Name; -00187 position = copyMe.position; -00188 rotation = copyMe.rotation; -00189 return *this; -00190 } -00191 -00192 core::stringc Name; -00193 core::vector3df position; -00194 core::quaternion rotation; -00195 }; -00196 -00198 struct SMD3QuaternionTagList -00199 { -00200 SMD3QuaternionTagList() -00201 { -00202 Container.setAllocStrategy(core::ALLOC_STRATEGY_SAFE); -00203 } -00204 -00205 // construct copy constructor -00206 SMD3QuaternionTagList(const SMD3QuaternionTagList& copyMe) -00207 { -00208 *this = copyMe; -00209 } -00210 -00211 virtual ~SMD3QuaternionTagList() {} -00212 -00213 SMD3QuaternionTag* get(const core::stringc& name) -00214 { -00215 SMD3QuaternionTag search ( name ); -00216 s32 index = Container.linear_search ( search ); -00217 if ( index >= 0 ) -00218 return &Container[index]; -00219 return 0; -00220 } -00221 -00222 u32 size () const -00223 { -00224 return Container.size(); -00225 } -00226 -00227 void set_used(u32 new_size) -00228 { -00229 s32 diff = (s32) new_size - (s32) Container.allocated_size(); -00230 if ( diff > 0 ) -00231 { -00232 SMD3QuaternionTag e(""); -00233 for ( s32 i = 0; i < diff; ++i ) -00234 Container.push_back(e); -00235 } -00236 } -00237 -00238 const SMD3QuaternionTag& operator[](u32 index) const -00239 { -00240 return Container[index]; -00241 } -00242 -00243 SMD3QuaternionTag& operator[](u32 index) -00244 { -00245 return Container[index]; -00246 } -00247 -00248 void push_back(const SMD3QuaternionTag& other) -00249 { -00250 Container.push_back(other); -00251 } -00252 -00253 SMD3QuaternionTagList& operator = (const SMD3QuaternionTagList & copyMe) -00254 { -00255 Container = copyMe.Container; -00256 return *this; -00257 } -00258 -00259 private: -00260 core::array < SMD3QuaternionTag > Container; -00261 }; -00262 -00263 -00265 struct SMD3Mesh: public IReferenceCounted -00266 { -00267 SMD3Mesh () -00268 { -00269 MD3Header.numFrames = 0; -00270 } -00271 -00272 virtual ~SMD3Mesh() -00273 { -00274 for (u32 i=0; i<Buffer.size(); ++i) -00275 Buffer[i]->drop(); -00276 } -00277 -00278 core::stringc Name; -00279 core::array<SMD3MeshBuffer*> Buffer; -00280 SMD3QuaternionTagList TagList; -00281 SMD3Header MD3Header; -00282 }; -00283 -00284 -00286 class IAnimatedMeshMD3 : public IAnimatedMesh -00287 { -00288 public: -00289 -00291 virtual void setInterpolationShift(u32 shift, u32 loopMode) =0; -00292 -00294 virtual SMD3QuaternionTagList* getTagList(s32 frame, s32 detailLevel, s32 startFrameLoop, s32 endFrameLoop) =0; -00295 -00297 virtual SMD3Mesh* getOriginalMesh() =0; -00298 }; -00299 -00300 } // end namespace scene -00301 } // end namespace irr -00302 -00303 #endif -00304 -