diff --git a/switcher.c b/switcher.c index 40a2fba..6bd66df 100644 --- a/switcher.c +++ b/switcher.c @@ -387,14 +387,14 @@ static void draw_tiles(void) { static void draw_stage(struct timespec now) { memset(playfield, 0, sizeof(playfield)); draw_tiles(); - if (player_dx > 0 && now.tv_nsec % 500000000L < 250000000L) - draw_tile(player_walk1_tile, player_x, player_y); - else if (player_dx > 0) + if (right_held && now.tv_nsec % 500000000L < 250000000L && on_ground) draw_tile(player_walk2_tile, player_x, player_y); - else if (player_dx < 0 && now.tv_nsec % 500000000L < 250000000L) - draw_tile(player_walk1_tile_reversed, player_x, player_y); - else if (player_dx < 0) + else if (right_held) + draw_tile(player_walk1_tile, player_x, player_y); + else if (left_held && now.tv_nsec % 500000000L < 250000000L && on_ground) draw_tile(player_walk2_tile_reversed, player_x, player_y); + else if (left_held) + draw_tile(player_walk1_tile_reversed, player_x, player_y); else draw_tile(player_stand_tile, player_x, player_y); }