[Super-tux-commit] supertux/lib/special sprite.cpp,1.14,1.15 sprite.h,1.11,1.12
Brought to you by:
wkendrick
From: Ricardo C. <rm...@us...> - 2004-08-18 10:32:40
|
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; } |