From bf611f7cd3b48e839798909aae439c3849aa01c2 Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Sun, 4 Sep 2022 22:32:21 +0200 Subject: [PATCH] physics: mechanical adjustments, freefall at level start --- assets-cg/fxconv-metadata.txt | 2 +- src/main.cpp | 4 ++-- src/menu.cpp | 2 +- src/settings.h | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/assets-cg/fxconv-metadata.txt b/assets-cg/fxconv-metadata.txt index 213592b..e2062b8 100644 --- a/assets-cg/fxconv-metadata.txt +++ b/assets-cg/fxconv-metadata.txt @@ -41,4 +41,4 @@ font_boson.png: erik_running.gif: anchor: 28, 88 erik_jumping.gif: - anchor: 28, 85 + anchor: 28, 75 diff --git a/src/main.cpp b/src/main.cpp index 1ed276c..733f25c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -33,10 +33,10 @@ int play_level(int level_id) player->z = 0.0; player->vz = 3.0; player->platform = 0; - player->stance = player::Running; + player->stance = player::Falling; player->jump_dir = 0; player->jump_t = 0.0; - player->height = 0.0; + player->height = 1.0; player->vheight = 0.0; player->frame = 0; diff --git a/src/menu.cpp b/src/menu.cpp index 2a3079b..e176e1d 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -202,7 +202,7 @@ int menu_title(void) while((ev = pollevent()).type != KEYEV_NONE) { if(ev.type == KEYEV_UP || ev.type == KEYEV_HOLD) continue; - if (ev.key == KEY_SHIFT) exit = 0; + if (ev.key == KEY_SHIFT && selected == 0) exit = 0; if (ev.key == KEY_LEFT && selected > 0) { selected--; menu_offset = -DWIDTH; diff --git a/src/settings.h b/src/settings.h index 73bb287..d7fdd86 100644 --- a/src/settings.h +++ b/src/settings.h @@ -9,10 +9,10 @@ #define PLATFORM_COUNT 10 /* Magnitude of the gravity field, locally (world units/s^2), when holding the jump button and when releasing it. */ -#define HOVERING_GRAVITY num(-1.0) +#define HOVERING_GRAVITY num(-1.25) #define FALLING_GRAVITY num(-6.0) /* Vertical speed granted when a jump starts (world units/s). */ -#define JUMP_THRUST num(1.0) +#define JUMP_THRUST num(1.5) /* Duration of a rotation by one platform, in seconds. */ #define TIME_ROTATION num(0.1) @@ -26,7 +26,7 @@ /* Number of sections visible in advance */ #define RENDER_DISTANCE 8 /* Distance between the player and the camera */ -#define RENDER_CAMERA_BACK_DISTANCE num(0.7) +#define RENDER_CAMERA_BACK_DISTANCE num(0.67) /* Number of level segments that are guaranteed generated ahead-of-time. */ #define LEVEL_BUFFER_LENGTH 12