can_flap = false;
falling_from_flap = true;
}
- if (physic.get_velocity_x() > 0) {physic.set_velocity_x(WALK_SPEED);}
- else if (physic.get_velocity_x() < 0) {physic.set_velocity_x(WALK_SPEED * (-1));}
+ //if (physic.get_velocity_x() > 0) {physic.set_velocity_x(WALK_SPEED);}
+ //else if (physic.get_velocity_x() < 0) {physic.set_velocity_x(WALK_SPEED * (-1));}
jumping = true;
flapping = true;
- if (flapping_timer.get_gone() <= TUX_FLAPPING_TIME)
+ if (flapping && flapping_timer.get_gone() <= TUX_FLAPPING_TIME
+ && physic.get_velocity_y() < 0)
{
- physic.set_velocity_y((float)flapping_timer.get_gone()/700);
+ float gravity = Sector::current()->gravity;
+ float xr = (fabsf(physic.get_velocity_x()) / MAX_RUN_XM);
+
+ //physic.set_velocity_y((float)flapping_timer.get_gone()/700);
+
+ // XXX: magic numbers. should be a percent of gravity
+ // gravity is (by default) -0.1f
+ physic.set_acceleration_y(.05 + .06f*xr);
}
}
+ else
+ {
+ physic.set_acceleration_y(0);
+ }
// Hover
//(disabled by default, use cheat code "hover" to toggle on/off)
flapping = false;
falling_from_flap = false;
if (flapping_timer.started()) {flapping_timer.stop();}
+
+ physic.set_acceleration_y(0); //for flapping
}
input.old_up = input.up;
flapping = false;
falling_from_flap = false;
- if(player_status.score_multiplier > 1)
- { // show a message
+ if(player_status.score_multiplier >= 5)
+ { // show a message
char str[124];
- if (player_status.score_multiplier <= 4) {sprintf(str, _("Combo x%d"), player_status.score_multiplier);}
- else if (player_status.score_multiplier == 5) {sprintf(str, _("Good! x%d"), player_status.score_multiplier);}
- else if (player_status.score_multiplier == 6) {sprintf(str, _("Great! x%d"), player_status.score_multiplier);}
- else if (player_status.score_multiplier == 7) {sprintf(str, _("Awesome! x%d"), player_status.score_multiplier);}
- else if (player_status.score_multiplier == 8) {sprintf(str, _("Incredible! x%d"), player_status.score_multiplier);}
- else if (player_status.score_multiplier == 9) {sprintf(str, _("Godlike! ;-) x%d"), player_status.score_multiplier);}
- else {sprintf(str, _("Unbelievable!! x%d"), player_status.score_multiplier);}
+// if (player_status.score_multiplier <= 4) {sprintf(str, _("Combo x%d"), player_status.score_multiplier);}
+ if (player_status.score_multiplier == 5)
+ sprintf(str, _("Good! x%d"), player_status.score_multiplier);
+ else if (player_status.score_multiplier == 6)
+ sprintf(str, _("Great! x%d"), player_status.score_multiplier);
+ else if (player_status.score_multiplier == 7)
+ sprintf(str, _("Awesome! x%d"), player_status.score_multiplier);
+ else if (player_status.score_multiplier == 8)
+ sprintf(str, _("Incredible! x%d"), player_status.score_multiplier);
+ else if (player_status.score_multiplier == 9)
+ sprintf(str, _("Godlike! ;-) x%d"), player_status.score_multiplier);
+ else
+ sprintf(str, _("Unbelievable!! x%d"), player_status.score_multiplier);
Sector::current()->add_floating_text(base, str);
- }
+ }
+
if (input.up)
physic.set_velocity_y(5.2);
else