X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fsprite%2Fsprite.hpp;h=cf44de706797d18a6c1100883470d5f93252551f;hb=1eb64ffd2a23eea4b399c1bb8b9dc10293c334d7;hp=a43df0a16d7154dc1882ab569c95f0c0e3a88e70;hpb=6b50afc6cdd8d3555901b02ce12f15b5bac32aa8;p=supertux.git diff --git a/src/sprite/sprite.hpp b/src/sprite/sprite.hpp index a43df0a16..cf44de706 100644 --- a/src/sprite/sprite.hpp +++ b/src/sprite/sprite.hpp @@ -22,7 +22,6 @@ #include #include -#include #include "math/vector.hpp" #include "math/rect.hpp" @@ -32,7 +31,6 @@ class Surface; class DrawingContext; -class Color; class Blend; class Sprite @@ -49,7 +47,10 @@ public: const Vector& size, const Vector& pos, int layer); /** Set action (or state) */ - void set_action(const std::string& act, int loops = -1); + void set_action(const std::string& name, int loops = -1); + + /** Set action (or state), but keep current frame number, loop counter, etc. */ + void set_action_continued(const std::string& name); /** Set number of animation cycles until animation stops */ void set_animation_loops(int loops = -1) @@ -109,14 +110,14 @@ public: { return (int)frame; } /** Set current frame */ void set_frame(int frame) - { - this->frame = (frame % get_frames()); + { + this->frame = (float) (frame % get_frames()); } Surface* get_frame(unsigned int frame) { assert(frame < action->surfaces.size()); return action->surfaces[frame]; - } + } private: void update(); @@ -134,4 +135,3 @@ private: }; #endif -