5#ifndef NIRT_I_ANIMATED_MESH_MD3_HPP_INCLUDED
6#define NIRT_I_ANIMATED_MESH_MD3_HPP_INCLUDED
8#include <nirtcpp/core/engine/IAnimatedMesh.hpp>
9#include <nirtcpp/core/engine/IQ3Shader.hpp>
10#include <nirtcpp/core/engine/quaternion.hpp>
30 EMD3_BOTH_DEATH_1 = 0,
47 EMD3_LEGS_WALK_CROUCH,
57 EMD3_LEGS_IDLE_CROUCH,
79#include <nirtcpp/core/engine/irrpack.hpp>
110 s32 offset_triangles;
143#include <nirtcpp/core/engine/irrunpack.hpp>
178 return Name == other.Name;
192 Container.setAllocStrategy(core::ALLOC_STRATEGY_SAFE);
198 const s32 index = Container.linear_search ( search );
200 return &Container[index];
206 return Container.size();
209 void set_used(
u32 new_size)
211 const s32 diff = (
s32) new_size - (
s32) Container.allocated_size();
215 for (
s32 i = 0; i < diff; ++i )
216 Container.push_back(e);
222 return Container[index];
227 return Container[index];
232 Container.push_back(other);
246 MD3Header.numFrames = 0;
251 for (
u32 i=0; i<Buffer.size(); ++i)
Base class of most objects of the Nirtcpp 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
Interface for using some special functions of MD3 meshes.
Definition IAnimatedMeshMD3.hpp:264
virtual void setInterpolationShift(u32 shift, u32 loopMode)=0
tune how many frames you want to render in between.
virtual SMD3Mesh * getOriginalMesh()=0
get the original md3 mesh.
virtual SMD3QuaternionTagList * getTagList(s32 frame, s32 detailLevel, s32 startFrameLoop, s32 endFrameLoop)=0
get the tag list of the mesh.
Interface for an animated mesh.
Definition IAnimatedMesh.hpp:21
Definition IAnimatedMeshMD3.hpp:65
s32 num
Last frame.
Definition IAnimatedMeshMD3.hpp:70
s32 fps
Frames per second.
Definition IAnimatedMeshMD3.hpp:74
s32 first
First frame.
Definition IAnimatedMeshMD3.hpp:68
s32 looping
Looping frames.
Definition IAnimatedMeshMD3.hpp:72
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 f32 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 Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
signed char s8
8 bit signed variable.
Definition irrTypes.hpp:32
signed int s32
32 bit signed variable.
Definition irrTypes.hpp:72
unsigned char u8
8 bit unsigned variable.
Definition irrTypes.hpp:24
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64
char c8
8 bit character variable.
Definition irrTypes.hpp:37
float f32
32 bit floating point variable.
Definition irrTypes.hpp:110
signed short s16
16 bit signed variable.
Definition irrTypes.hpp:54