From 060ab045d81348bec7dabf3bcb852eebe01d6cc2 Mon Sep 17 00:00:00 2001 From: "Lucas S. Vieira" Date: Wed, 9 Apr 2025 17:22:37 -0300 Subject: [PATCH] Add limitation for top of level (prevents flight) --- src/screen_level.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/screen_level.c b/src/screen_level.c index a10e94a..28d67e0 100644 --- a/src/screen_level.c +++ b/src/screen_level.c @@ -329,6 +329,11 @@ screen_level_update(void *d) update_obj_window(&leveldata, &obj_table_common, camera.pos.vx, camera.pos.vy); object_pool_update(&obj_table_common); + // Only update these if past fade in! + if(data->level_transition > 0) { + player_update(&player); + } + // Limit player left position if((player.pos.vx - (PUSH_RADIUS << 12)) < (camera.min_x - (CENTERX << 12))) { player.pos.vx = camera.min_x - (CENTERX << 12) + (PUSH_RADIUS << 12); @@ -338,9 +343,11 @@ screen_level_update(void *d) } } - // Only update these if past fade in! - if(data->level_transition > 0) { - player_update(&player); + // Limit player top position + if((player.pos.vy - (16 << 12) < 0) && (player.vel.vy < 0)) { + player.pos.vy = (16 << 12); + player.vel.vy = 0; + if(player.action == ACTION_FLY) player.spinrev = 0; } // If speed shoes are finished, we use the player's values