X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fgraphics%2FComplexAnimation.h;h=380ea2a066f831590f9e744d8215944ffdb239ef;hb=0e7b9eca67383e45e04aa419cb783c92722f7801;hp=f4a5db575d8f657809ffeaf3684b0f7fd2d6f12c;hpb=cc3d698b8c1ad09d7a3f9e3f28bc84e0ac1735ea;p=l2e.git diff --git a/src/graphics/ComplexAnimation.h b/src/graphics/ComplexAnimation.h index f4a5db5..380ea2a 100644 --- a/src/graphics/ComplexAnimation.h +++ b/src/graphics/ComplexAnimation.h @@ -2,6 +2,7 @@ #define GRAPHICS_COMPLEXANIMATION_H_ #include "Animation.h" +#include "../loader/noinit.h" namespace graphics { @@ -12,30 +13,32 @@ public: static const int TYPE_ID = 402; public: - ComplexAnimation() : frames(0), numFrames(0) { } - ComplexAnimation(const Sprite *sprite, int frameTime, bool repeat = false) - : Animation(sprite, frameTime, repeat), frames(0), numFrames(0) { } + ComplexAnimation(); + ComplexAnimation(const Sprite *sprite, int frameTime, bool repeat = false); +protected: + ComplexAnimation(loader::noinit_t); public: struct FrameProp { static const int TYPE_ID = 403; FrameProp() : col(0), row(0) { } - FrameProp(int col, int row, const geometry::Vector &disposition) + FrameProp(int col, int row, const math::Vector &disposition) : col(col), row(row), disposition(disposition) {} int col; int row; - geometry::Vector disposition; + math::Vector disposition; }; void SetFrames(const FrameProp *f, int num) { frames = f; numFrames = num; } static void CreateTypeDescription(); static void Construct(void *); + static void Initialize(void *); protected: - virtual int NumFrames() const { return numFrames; }; - virtual int Col(int frame) const { return frames[frame].col; } - virtual int Row(int frame) const { return frames[frame].row; } - virtual geometry::Vector Offset(int frame) const { return frames[frame].disposition; } + virtual int NumFrames() const; + virtual int Col(int frame) const; + virtual int Row(int frame) const; + virtual math::Vector Offset(int frame) const; private: const FrameProp *frames; @@ -45,4 +48,4 @@ private: } -#endif /* GRAPHICS_COMPLEXANIMATION_H_ */ +#endif