Update of /cvsroot/super-tux/supertux/lib/special
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5157/lib/special
Modified Files:
sprite.cpp sprite.h
Log Message:
Improvements.
Index: sprite.cpp
===================================================================
RCS file: /cvsroot/super-tux/supertux/lib/special/sprite.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- sprite.cpp 17 Aug 2004 23:22:47 -0000 1.14
+++ sprite.cpp 18 Aug 2004 10:32:26 -0000 1.15
@@ -130,9 +130,9 @@
}
void
-Sprite::reverse_animation()
+Sprite::reverse_animation(bool reverse)
{
-animation_reversed = !animation_reversed;
+animation_reversed = reverse;
if(animation_reversed)
frame = get_frames()-1;
@@ -147,14 +147,13 @@
return;
float frame_inc = (action->fps/1000.0) * (SDL_GetTicks() - last_tick);
+last_tick = SDL_GetTicks();
if(animation_reversed)
frame -= frame_inc;
else
frame += frame_inc;
-last_tick = SDL_GetTicks();
-
if(animation_reversed)
{
float excedent = frame - 0;
@@ -164,7 +163,7 @@
if(animation_loops > 0)
{
animation_loops--;
- if(animation_loops == 0)
+ if(animation_loops == 0 && !next_action.empty())
{
set_action(next_action);
start_animation(-1);
@@ -184,7 +183,7 @@
if(animation_loops > 0)
{
animation_loops--;
- if(animation_loops == 0)
+ if(animation_loops == 0 && !next_action.empty())
{
set_action(next_action);
start_animation(-1);
Index: sprite.h
===================================================================
RCS file: /cvsroot/super-tux/supertux/lib/special/sprite.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sprite.h 17 Aug 2004 23:22:47 -0000 1.11
+++ sprite.h 18 Aug 2004 10:32:26 -0000 1.12
@@ -66,10 +66,13 @@
0 - stopped
1,2,3 - one, two, three times... */
void start_animation(int loops);
+ /* Stop animation */
+ void stop_animation()
+ { start_animation(0); }
/** Check if animation is stopped or not */
bool check_animation();
/** Reverse the animation */
- void reverse_animation();
+ void reverse_animation(bool reverse);
float get_fps()
{ return action->fps; }
|