5#ifndef DCPP_I_ANIMATED_MESH_MD3_HPP_INCLUDED
6#define DCPP_I_ANIMATED_MESH_MD3_HPP_INCLUDED
8#include <duckcpp/core/engine/IAnimatedMesh.hpp>
9#include <duckcpp/core/engine/IQ3Shader.hpp>
10#include <duckcpp/core/engine/quaternion.hpp>
30 EMD3_BOTH_DEATH_1 = 0,
47 EMD3_LEGS_WALK_CROUCH,
57 EMD3_LEGS_IDLE_CROUCH,
79#include <duckcpp/core/engine/irrpack.hpp>
143#include <duckcpp/core/engine/irrunpack.hpp>
178 return Name == other.Name;
192 Container.setAllocStrategy(dcpp::nub::ALLOC_STRATEGY_SAFE);
200 return &Container[index];
206 return Container.size();
216 Container.push_back(e);
222 return Container[index];
227 return Container[index];
232 Container.push_back(other);
246 MD3Header.numFrames = 0;
Base class of most objects of the Duckcpp Engine.
Definition IReferenceCounted.hpp:46
bool drop() const
Drops the object. Decrements the reference counter by one.
Definition IReferenceCounted.hpp:126
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Definition matrix4.hpp:49
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
Quaternion class for representing rotations.
Definition quaternion.hpp:32
matrix4 getMatrix() const
Creates a matrix from this quaternion.
Definition quaternion.hpp:348
3d vector template class with lots of operators and methods.
Definition vector3d.hpp:32
Interface for using some special functions of MD3 meshes.
Definition IAnimatedMeshMD3.hpp:264
virtual SMD3QuaternionTagList * getTagList(dcpp::int32_kt frame, dcpp::int32_kt detailLevel, dcpp::int32_kt startFrameLoop, dcpp::int32_kt endFrameLoop)=0
get the tag list of the mesh.
virtual SMD3Mesh * getOriginalMesh()=0
get the original md3 mesh.
virtual void setInterpolationShift(dcpp::uint32_kt shift, dcpp::uint32_kt loopMode)=0
tune how many frames you want to render in between.
Interface for an animated mesh.
Definition IAnimatedMesh.hpp:21
Definition IAnimatedMeshMD3.hpp:65
dcpp::int32_kt looping
Looping frames.
Definition IAnimatedMeshMD3.hpp:72
dcpp::int32_kt fps
Frames per second.
Definition IAnimatedMeshMD3.hpp:74
dcpp::int32_kt num
Last frame.
Definition IAnimatedMeshMD3.hpp:70
dcpp::int32_kt first
First frame.
Definition IAnimatedMeshMD3.hpp:68
Triangle Index.
Definition IAnimatedMeshMD3.hpp:136
Holding Frame Data for a Mesh.
Definition IAnimatedMeshMD3.hpp:147
Holding Frames Buffers and Tag Infos.
Definition IAnimatedMeshMD3.hpp:242
holds a associative list of named quaternions
Definition IAnimatedMeshMD3.hpp:188
hold a tag info for connecting meshes
Definition IAnimatedMeshMD3.hpp:160
Texture Coordinate.
Definition IAnimatedMeshMD3.hpp:128
Compressed Vertex Data.
Definition IAnimatedMeshMD3.hpp:120
const dcpp::float32_kt DEGTORAD
32bit Constant for converting from degrees to radians
Definition irrMath.hpp:72
EMD3_ANIMATION_TYPE
Animation list.
Definition IAnimatedMeshMD3.hpp:28
@ EMD3_ANIMATION_COUNT
Not an animation, but amount of animation types.
Definition IAnimatedMeshMD3.hpp:61
As of Duckcpp 1.6, position2d is a synonym for vector2d.
Definition shared_device.hpp:34
signed char int8_kt
8 bit signed variable.
Definition irrTypes.hpp:32
char char_kt
8 bit character variable.
Definition irrTypes.hpp:37
unsigned char uint8_kt
8 bit unsigned variable.
Definition irrTypes.hpp:24
unsigned int uint32_kt
32 bit unsigned variable.
Definition irrTypes.hpp:64
float float32_kt
32 bit floating point variable.
Definition irrTypes.hpp:108
signed int int32_kt
32 bit signed variable.
Definition irrTypes.hpp:72
signed short int16_kt
16 bit signed variable.
Definition irrTypes.hpp:54