{
switch(state) {
case JUMP_DOWN:
- physic.set_velocity_x((dir==RIGHT)?+JUMP_DOWN_VX:-JUMP_DOWN_VX);
+ physic.vx = (dir==RIGHT?JUMP_DOWN_VX:-JUMP_DOWN_VX);
break;
case RUN:
- physic.set_velocity_x((dir==RIGHT)?+RUN_VX:-RUN_VX);
+ physic.vx = (dir==RIGHT?RUN_VX:-RUN_VX);
if (((dir == RIGHT) && (get_pos().x >= RIGHT_JUMP_X)) || ((dir == LEFT) && (get_pos().x <= LEFT_JUMP_X))) jump_up();
break;
case JUMP_UP:
- physic.set_velocity_x((dir==RIGHT)?+JUMP_UP_VX:-JUMP_UP_VX);
+ physic.vx = (dir==RIGHT?JUMP_UP_VX:-JUMP_UP_VX);
if (((dir == RIGHT) && (get_pos().x >= RIGHT_STAND_X)) || ((dir == LEFT) && (get_pos().x <= LEFT_STAND_X))) be_angry();
break;
case BE_ANGRY:
if(state_timer.check()) {
sound_manager->play("sounds/yeti_gna.wav");
- physic.set_velocity_y(STOMP_VY);
+ physic.vy = STOMP_VY;
sprite->set_action((dir==RIGHT)?"stomp-right":"stomp-left");
}
break;
Yeti::jump_down()
{
sprite->set_action((dir==RIGHT)?"jump-right":"jump-left");
- physic.set_velocity_x((dir==RIGHT)?(+JUMP_DOWN_VX):(-JUMP_DOWN_VX));
- physic.set_velocity_y(JUMP_DOWN_VY);
+ physic.vx = (dir==RIGHT?JUMP_DOWN_VX:-JUMP_DOWN_VX);
+ physic.vy = JUMP_DOWN_VY;
state = JUMP_DOWN;
}
Yeti::run()
{
sprite->set_action((dir==RIGHT)?"run-right":"run-left");
- physic.set_velocity_x((dir==RIGHT)?(+RUN_VX):(-RUN_VX));
- physic.set_velocity_y(0);
+ physic.vx = (dir==RIGHT?RUN_VX:-RUN_VX);
+ physic.vy = 0;
state = RUN;
}
Yeti::jump_up()
{
sprite->set_action((dir==RIGHT)?"jump-right":"jump-left");
- physic.set_velocity_x((dir==RIGHT)?(+JUMP_UP_VX):(-JUMP_UP_VX));
- physic.set_velocity_y(JUMP_UP_VY);
+ physic.vx = (dir==RIGHT?JUMP_UP_VX:-JUMP_UP_VX);
+ physic.vy = JUMP_UP_VY;
state = JUMP_UP;
}
dir = (dir==RIGHT)?LEFT:RIGHT;
sprite->set_action((dir==RIGHT)?"stand-right":"stand-left");
- physic.set_velocity_x(0);
- physic.set_velocity_y(0);
+ physic.vx = 0;
+ physic.vy = 0;
if (hit_points < INITIAL_HITPOINTS) summon_snowball();
stomp_count = 0;
state = BE_ANGRY;
if(hit_points <= 0) {
// We're dead
- physic.enable_gravity(true);
- physic.set_velocity_x(0);
- physic.set_velocity_y(0);
+ physic.gravity_enabled = true;
+ physic.vx = 0;
+ physic.vy = 0;
state = SQUISHED;
state_timer.start(SQUISH_TIME);
{
if(hit.top || hit.bottom) {
// hit floor or roof
- physic.set_velocity_y(0);
+ physic.vy = 0;
switch (state) {
case JUMP_DOWN:
run();