From 1054fc1aa83a9c7c98f177d5276e97fcfdb024a5 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 14 Dec 2015 08:32:36 +0000 Subject: [PATCH] Added keyboard alternatives for some mouse controls. --- src/battle/player.c | 48 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/src/battle/player.c b/src/battle/player.c index 6d93621..b4b53ad 100644 --- a/src/battle/player.c +++ b/src/battle/player.c @@ -32,6 +32,7 @@ static void activateECM(void); static void handleKeyboard(void); static void faceMouse(void); static void handleMouse(void); +static void preFireMissile(void); static int selectedPlayerIndex; static int availableGuns[BT_MAX]; @@ -152,6 +153,27 @@ static void handleKeyboard(void) { applyFighterBrakes(); } + + if (app.keyboard[SDL_SCANCODE_Z]) + { + switchGuns(); + + app.keyboard[SDL_SCANCODE_Z] = 0; + } + + if (app.keyboard[SDL_SCANCODE_X]) + { + cycleRadarZoom(); + + app.keyboard[SDL_SCANCODE_X] = 0; + } + + if (app.keyboard[SDL_SCANCODE_SPACE]) + { + preFireMissile(); + + app.keyboard[SDL_SCANCODE_SPACE] = 0; + } } } @@ -174,16 +196,9 @@ static void handleMouse(void) } } - if (app.mouse.button[SDL_BUTTON_MIDDLE] && player->missiles && player->target) + if (app.mouse.button[SDL_BUTTON_MIDDLE]) { - if (getDistance(player->x, player->y, player->target->x, player->target->y) <= SCREEN_WIDTH) - { - fireMissile(player); - } - else - { - addHudMessage(colors.white, "Target not in range"); - } + preFireMissile(); app.mouse.button[SDL_BUTTON_MIDDLE] = 0; } @@ -225,6 +240,21 @@ static void faceMouse(void) } } +static void preFireMissile(void) +{ + if (player->missiles && player->target) + { + if (getDistance(player->x, player->y, player->target->x, player->target->y) <= SCREEN_WIDTH) + { + fireMissile(player); + } + else + { + addHudMessage(colors.white, "Target not in range"); + } + } +} + void initPlayerSelect(void) { Entity *e;