diff --git a/game/input.h b/game/input.h index f696caa..8da5a00 100644 --- a/game/input.h +++ b/game/input.h @@ -27,6 +27,7 @@ typedef struct InputMapping { //MouseButton mmb; MouseButton backBtn; + MouseButton pauseBtn; MouseButton moveLeft; MouseButton moveRight; MouseButton moveUp; @@ -83,6 +84,7 @@ static InputMapping inputDefaultMapping() { .secondaryBtn = MOUSE_BUTTON_RIGHT, .backBtn = KEY_ESCAPE, + .pauseBtn = KEY_P, .moveLeft = KEY_W, .moveRight = KEY_D, .moveUp = KEY_UP, diff --git a/game/main.c b/game/main.c index 7e309b3..9b89513 100644 --- a/game/main.c +++ b/game/main.c @@ -64,8 +64,8 @@ bool bzMain(BzAppDesc *appDesc, int argc, const char **argv) { appDesc->userData = NULL; - SetConfigFlags(FLAG_WINDOW_RESIZABLE); #ifdef EMSCRIPTEN + SetConfigFlags(FLAG_WINDOW_RESIZABLE); EM_ASM( FS.mkdir('/game'); FS.mount(IDBFS, {}, '/game'); @@ -470,7 +470,7 @@ void update(float dt, void *userData) { case SCREEN_GAME_OVER: break; case SCREEN_PAUSE_MENU: - if (IsKeyReleased(input->mapping.backBtn)) { + if (IsKeyReleased(input->mapping.backBtn) || IsKeyReleased(input->mapping.pauseBtn)) { setScreen(game, SCREEN_GAME); } break; diff --git a/game/systems/s_input.c b/game/systems/s_input.c index 32bdc93..96bd5ce 100644 --- a/game/systems/s_input.c +++ b/game/systems/s_input.c @@ -255,7 +255,9 @@ void updatePlayerInput() { if (IsKeyDown(KEY_Q)) game->camera.rotation--; if (IsKeyDown(KEY_E)) game->camera.rotation++; - if (IsKeyReleased(input->mapping.backBtn)) { + if (IsKeyReleased(input->mapping.pauseBtn)) { + setScreen(game, SCREEN_PAUSE_MENU); + } else if (IsKeyReleased(input->mapping.backBtn)) { if (input->state == INPUT_NONE) { setScreen(game, SCREEN_PAUSE_MENU); } else {