#ifndef M3D_M_ANMTEXSRT_H #define M3D_M_ANMTEXSRT_H #include "m/m3d/m_bmdl.h" #include "m/m3d/m_fanm.h" #include "nw4r/g3d/g3d_anmtexsrt.h" namespace m3d { class anmTexSrt_c : public banm_c { class child_c : public fanm_c { public: child_c() {} virtual ~child_c(); virtual int getType() const override; static u32 heapCost(nw4r::g3d::ResMdl, nw4r::g3d::ResAnmTexSrt, bool); bool create(nw4r::g3d::ResMdl, nw4r::g3d::ResAnmTexSrt, mAllocator_c *, u32 *); void setAnm(m3d::bmdl_c &, nw4r::g3d::ResAnmTexSrt, m3d::playMode_e); void releaseAnm(); void setFrmCtrlDefault(nw4r::g3d::ResAnmTexSrt &, playMode_e); }; public: anmTexSrt_c() : mpChildren(nullptr) {} virtual ~anmTexSrt_c(); virtual int getType() const override; virtual void remove() override; virtual void play() override; bool create(nw4r::g3d::ResMdl, nw4r::g3d::ResAnmTexSrt, mAllocator_c *, u32 *, s32); static u32 heapCost(nw4r::g3d::ResMdl, nw4r::g3d::ResAnmTexSrt, s32, bool); void setAnm(bmdl_c &, nw4r::g3d::ResAnmTexSrt, s32, playMode_e); void play(s32); f32 getFrame(s32) const; void setFrame(f32, s32); void setRate(f32, s32); bool isStop(s32) const; bool checkFrame(f32, s32) const; void setPlayMode(playMode_e, s32); f32 getFrameMax(s32) const; void setFrameStart(f32, s32); f32 getFrameStart(s32) const; private: child_c *mpChildren; }; } // namespace m3d #endif