keymap.right = SDLK_RIGHT;
keymap.power = SDLK_LCTRL;
- keymap.jump = SDLK_LALT;
+ keymap.jump = SDLK_SPACE;
}
void player_input_init(player_input_type* pplayer_input)
else
tux_body = big_tux;
- int layer = LAYER_OBJECTS - 1;
+ int layer = LAYER_OBJECTS + 10;
/* Set Tux sprite action */
if (duck && size == BIG)
get_pos(), layer);
}
}
- else if (safe_timer.started() && global_frame_counter%2)
+ else if (safe_timer.started() && size_t(global_time*40)%2)
; // don't draw Tux
else
tux_body->draw(context, get_pos(), layer);
// Draw blinking star overlay
if (invincible_timer.started() &&
(invincible_timer.get_timeleft() > TUX_INVINCIBLE_TIME_WARNING
- || global_frame_counter % 3)
+ || size_t(global_time*20)%2)
&& !dying)
{
if (size == SMALL || duck)
- smalltux_star->draw(context, get_pos(), LAYER_OBJECTS + 2);
+ smalltux_star->draw(context, get_pos(), layer + 5);
else
- bigtux_star->draw(context, get_pos(), LAYER_OBJECTS + 2);
+ bigtux_star->draw(context, get_pos(), layer + 5);
}
if (debug_mode)
context.draw_filled_rect(get_pos(),
Vector(bbox.get_width(), bbox.get_height()),
- Color(75,75,75, 150), LAYER_OBJECTS+1);
+ Color(75,75,75, 150), LAYER_OBJECTS+20);
}
HitResponse
physic.set_velocity_y(0);
on_ground_flag = true;
} else if(hit.normal.y > 0) { // bumped against the roof
- physic.set_velocity_y(0);
+ physic.set_velocity_y(.1);
}
- if(hit.normal.x != 0) { // hit on the side?
- if(hit.normal.y > 0.6) // limits the slopes we can move up...
- physic.set_velocity_x(0);
+ if(fabsf(hit.normal.x) > .5) { // hit on the side?
+ printf("s"); fflush(stdout);
+ physic.set_velocity_x(0);
}
return CONTINUE;
}
void
-Player::bounce(BadGuy& badguy)
+Player::bounce(BadGuy& )
{
//Make sure we stopped flapping
flapping = false;