Added keyboard alternatives for some mouse controls.

This commit is contained in:
Steve 2015-12-14 08:32:36 +00:00
parent 25f2204d06
commit 1054fc1aa8
1 changed files with 39 additions and 9 deletions

View File

@ -32,6 +32,7 @@ static void activateECM(void);
static void handleKeyboard(void); static void handleKeyboard(void);
static void faceMouse(void); static void faceMouse(void);
static void handleMouse(void); static void handleMouse(void);
static void preFireMissile(void);
static int selectedPlayerIndex; static int selectedPlayerIndex;
static int availableGuns[BT_MAX]; static int availableGuns[BT_MAX];
@ -152,6 +153,27 @@ static void handleKeyboard(void)
{ {
applyFighterBrakes(); 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) preFireMissile();
{
fireMissile(player);
}
else
{
addHudMessage(colors.white, "Target not in range");
}
app.mouse.button[SDL_BUTTON_MIDDLE] = 0; 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) void initPlayerSelect(void)
{ {
Entity *e; Entity *e;