]> git.lizzy.rs Git - nothing.git/commitdiff
Simplify switching between platforms and back_platforms
authorrexim <reximkut@gmail.com>
Sun, 2 Feb 2020 19:00:21 +0000 (02:00 +0700)
committerrexim <reximkut@gmail.com>
Sat, 8 Feb 2020 16:51:01 +0000 (23:51 +0700)
src/game/level.c

index 61c8333b929a2400b28cf98b9754dc944335ded5..add6bf553a8f02e9dcc671cb6ec3c34e5d6443ea 100644 (file)
@@ -307,29 +307,22 @@ int level_event_idle(Level *level, const SDL_Event *event,
             camera_toggle_debug_mode(camera);
         } break;
 
-        case SDLK_1: {
-            if (level->current_platforms > 0
-                && !platforms_overlap_with_rect(
-                    level->platform_layers[level->current_platforms - 1],
-                    player_hitbox(level->player))) {
-                level->a = 0.0f;
-                level->da = PLATFORM_LAYERS_SPEED;
-                level->prev_platform = level->current_platforms;
-                level->current_platforms -= 1;
-            }
-        } break;
+        case SDLK_k: {
+            size_t next_platforms =
+                (level->current_platforms + 1) % PLATFORM_LAYERS_COUNT;
 
-        case SDLK_2: {
-            if (level->current_platforms + 1 < PLATFORM_LAYERS_COUNT
-                && !platforms_overlap_with_rect(
-                    level->platform_layers[level->current_platforms + 1],
+            if (!platforms_overlap_with_rect(
+                    level->platform_layers[next_platforms],
                     player_hitbox(level->player))) {
                 level->a = 0.0f;
-                level->da = -PLATFORM_LAYERS_SPEED;
+                level->da = level->current_platforms < next_platforms
+                    ? -PLATFORM_LAYERS_SPEED
+                    : PLATFORM_LAYERS_SPEED;
                 level->prev_platform = level->current_platforms;
-                level->current_platforms += 1;
+                level->current_platforms = next_platforms;
             }
         } break;
+
         }
         break;