1 #ifndef GRAPHICS_COMPLEXANIMATION_H_
2 #define GRAPHICS_COMPLEXANIMATION_H_
5 #include "../loader/noinit.h"
13 static const int TYPE_ID = 402;
17 ComplexAnimation(const Sprite *sprite, int frameTime, bool repeat = false);
19 ComplexAnimation(loader::noinit_t);
23 static const int TYPE_ID = 403;
24 FrameProp() : col(0), row(0) { }
25 FrameProp(int col, int row, const math::Vector<int> &disposition)
26 : col(col), row(row), disposition(disposition) {}
29 math::Vector<int> disposition;
31 void SetFrames(const FrameProp *f, int num) { frames = f; numFrames = num; }
33 static void CreateTypeDescription();
34 static void Construct(void *);
35 static void Initialize(void *);
38 virtual int NumFrames() const;
39 virtual int Col(int frame) const;
40 virtual int Row(int frame) const;
41 virtual math::Vector<int> Offset(int frame) const;
44 const FrameProp *frames;