Irrlicht 3D Engine
IAnimatedMeshMD2.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
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_MD2_H_INCLUDED__
00006 #define __I_ANIMATED_MESH_MD2_H_INCLUDED__
00007 
00008 #include "IAnimatedMesh.h"
00009 
00010 namespace irr
00011 {
00012 namespace scene
00013 {
00014 
00016     enum EMD2_ANIMATION_TYPE
00017     {
00018         EMAT_STAND = 0,
00019         EMAT_RUN,
00020         EMAT_ATTACK,
00021         EMAT_PAIN_A,
00022         EMAT_PAIN_B,
00023         EMAT_PAIN_C,
00024         EMAT_JUMP,
00025         EMAT_FLIP,
00026         EMAT_SALUTE,
00027         EMAT_FALLBACK,
00028         EMAT_WAVE,
00029         EMAT_POINT,
00030         EMAT_CROUCH_STAND,
00031         EMAT_CROUCH_WALK,
00032         EMAT_CROUCH_ATTACK,
00033         EMAT_CROUCH_PAIN,
00034         EMAT_CROUCH_DEATH,
00035         EMAT_DEATH_FALLBACK,
00036         EMAT_DEATH_FALLFORWARD,
00037         EMAT_DEATH_FALLBACKSLOW,
00038         EMAT_BOOM,
00039 
00041         EMAT_COUNT
00042     };
00043 
00045     class IAnimatedMeshMD2 : public IAnimatedMesh
00046     {
00047     public:
00048 
00050 
00055         virtual void getFrameLoop(EMD2_ANIMATION_TYPE l, s32& outBegin,
00056             s32& outEnd, s32& outFPS) const = 0;
00057 
00059 
00064         virtual bool getFrameLoop(const c8* name,
00065             s32& outBegin, s32& outEnd, s32& outFPS) const = 0;
00066 
00068         virtual s32 getAnimationCount() const = 0;
00069 
00071 
00072         virtual const c8* getAnimationName(s32 nr) const = 0;
00073     };
00074 
00075 } // end namespace scene
00076 } // end namespace irr
00077 
00078 #endif
00079