Merged from v0.41.

This commit is contained in:
Steve 2015-12-14 11:41:43 +00:00
parent 7bda6d7ed3
commit 310637b4eb
4 changed files with 52 additions and 11 deletions

View File

@ -57,6 +57,8 @@ void initBattle(void)
initStars(); initStars();
initBullets();
initBackground(); initBackground();
initEffects(); initEffects();

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;

View File

@ -105,6 +105,8 @@ void initGalacticMap(void)
updateStarSystemMissions(); updateStarSystemMissions();
setMouse(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
endSectionTransition(); endSectionTransition();
playMusic("music/Pressure.ogg"); playMusic("music/Pressure.ogg");

View File

@ -56,9 +56,16 @@ void doMouseWheel(SDL_MouseWheelEvent *event)
void setMouse(int x, int y) void setMouse(int x, int y)
{ {
app.mouse.x = x; SDL_Event event;
app.mouse.y = y;
app.mouse.x = x * app.scaleX;
app.mouse.y = y * app.scaleY;
SDL_WarpMouseInWindow(app.window, x, y); SDL_WarpMouseInWindow(app.window, x, y);
while (SDL_PollEvent(&event))
{
}
} }
void drawMouse(void) void drawMouse(void)