- if (climbing)
- {
- tux_body->set_action("skid-left");
- }
- else if (backflipping)
- {
- if(dir == LEFT)
- tux_body->set_action("backflip-left");
- else // dir == RIGHT
- tux_body->set_action("backflip-right");
- }
- else if (duck && is_big())
- {
- if(dir == LEFT)
- tux_body->set_action("duck-left");
- else // dir == RIGHT
- tux_body->set_action("duck-right");
- }
- else if (skidding_timer.started() && !skidding_timer.check())
- {
- if(dir == LEFT)
- tux_body->set_action("skid-left");
- else // dir == RIGHT
- tux_body->set_action("skid-right");
- }
- else if (kick_timer.started() && !kick_timer.check())
- {
- if(dir == LEFT)
- tux_body->set_action("kick-left");
- else // dir == RIGHT
- tux_body->set_action("kick-right");
- }
- else if (butt_jump && is_big())
- {
- if(dir == LEFT)
- tux_body->set_action("buttjump-left");
- else // dir == RIGHT
- tux_body->set_action("buttjump-right");
- }
- else if (!on_ground())
- {
- if(dir == LEFT)
- tux_body->set_action("jump-left");
- else // dir == RIGHT
- tux_body->set_action("jump-right");
+ if (growing) {
+ // while growing, do not change action
+ // do_duck() will take care of cancelling growing manually
+ // update() will take care of cancelling when growing completed
+ }
+ else if (climbing) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-skid-left":"-skid-right"));
+ }
+ else if (backflipping) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-backflip-left":"-backflip-right"));
+ }
+ else if (duck && is_big()) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-duck-left":"-duck-right"));
+ }
+ else if (skidding_timer.started() && !skidding_timer.check()) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-skid-left":"-skid-right"));
+ }
+ else if (kick_timer.started() && !kick_timer.check()) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-kick-left":"-kick-right"));
+ }
+ else if (butt_jump && is_big()) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-buttjump-left":"-buttjump-right"));
+ }
+ else if (!on_ground()) {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-jump-left":"-jump-right"));
+ }
+ else {
+ if (fabsf(physic.get_velocity_x()) < 1.0f) {
+// if(idle_timer.check()) {
+// sprite->set_action(sa_prefix+((dir == LEFT)?"-idle-left":"-idle-right"));
+// } else {
+ sprite->set_action(sa_prefix+((dir == LEFT)?"-stand-left":"-stand-right"));
+// }