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();
initBullets();
initBackground();
initEffects();

View File

@ -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;

View File

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

View File

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