From c224aff926dd6a5f79ba1b2c4d03f31abf2a4781 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 16 Nov 2015 18:39:49 +0000 Subject: [PATCH] Show warning message and play sound when a missile is launched, targetting the player. --- sound/242856__plasterbrain__nuclear-alarm.ogg | Bin 0 -> 25352 bytes src/battle/bullets.c | 18 ++++++++++++++++++ src/battle/bullets.h | 3 +++ src/battle/radar.c | 2 +- src/defs.h | 1 + src/system/sound.c | 1 + 6 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 sound/242856__plasterbrain__nuclear-alarm.ogg diff --git a/sound/242856__plasterbrain__nuclear-alarm.ogg b/sound/242856__plasterbrain__nuclear-alarm.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9fc5a7a6c0e2e8919bf8b41c6aff8548becad70f GIT binary patch literal 25352 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 literal 0 HcmV?d00001 diff --git a/src/battle/bullets.c b/src/battle/bullets.c index f3e63eb..832042a 100644 --- a/src/battle/bullets.c +++ b/src/battle/bullets.c @@ -25,6 +25,7 @@ static void checkCollisions(Bullet *b); static Bullet bulletDef[BT_MAX]; static Bullet *bulletsToDraw[MAX_BULLETS_TO_DRAW]; +static int incomingMissile; void initBulletDefs(void) { @@ -63,6 +64,8 @@ void doBullets(void) Bullet *b; Bullet *prev = &battle.bulletHead; + incomingMissile = 0; + memset(bulletsToDraw, 0, sizeof(Bullet*) * MAX_BULLETS_TO_DRAW); for (b = battle.bulletHead.next ; b != NULL ; b = b->next) @@ -75,6 +78,11 @@ void doBullets(void) addMissileEngineEffect(b); huntTarget(b); + + if (b->target == player && player != NULL && player->health > 0) + { + incomingMissile = 1; + } } checkCollisions(b); @@ -164,6 +172,11 @@ void drawBullets(void) { blitRotated(b->texture, b->x - battle.camera.x, b->y - battle.camera.y, b->angle); } + + if (incomingMissile && battle.stats[STAT_TIME] % FPS < 40) + { + drawText(SCREEN_WIDTH / 2, SCREEN_HEIGHT - 60, 18, TA_CENTER, colors.red, "WARNING: INCOMING MISSILE!"); + } } static void faceTarget(Bullet *b) @@ -302,6 +315,11 @@ void fireMissile(Entity *owner) } playBattleSound(b->sound, owner->x, owner->y); + + if (owner->target == player) + { + playSound(SND_INCOMING); + } } void destroyBulletDefs(void) diff --git a/src/battle/bullets.h b/src/battle/bullets.h index aae9421..d86c25e 100644 --- a/src/battle/bullets.h +++ b/src/battle/bullets.h @@ -41,6 +41,9 @@ extern void addMissileEngineEffect(Bullet *b); extern int mod(int n, int x); extern void addMissileExplosion(Bullet *b); extern Entity **getAllEntsWithin(int x, int y, int w, int h, Entity *ignore); +extern void drawText(int x, int y, int size, int align, SDL_Color c, const char *format, ...); +extern void playSound(int id); extern Battle battle; +extern Colors colors; extern Entity *player; diff --git a/src/battle/radar.c b/src/battle/radar.c index da6115f..45e3b3c 100644 --- a/src/battle/radar.c +++ b/src/battle/radar.c @@ -122,6 +122,6 @@ void drawRadarRangeWarning(void) if (leaving && battle.stats[STAT_TIME] % FPS < 40) { - drawText(SCREEN_WIDTH / 2, SCREEN_HEIGHT - 50, 14, TA_CENTER, colors.red, "WARNING: Leaving battle area - turn around!"); + drawText(SCREEN_WIDTH / 2, SCREEN_HEIGHT - 30, 14, TA_CENTER, colors.white, "Caution: Leaving battle area - turn around."); } } diff --git a/src/defs.h b/src/defs.h index a07e1dd..324deef 100644 --- a/src/defs.h +++ b/src/defs.h @@ -157,6 +157,7 @@ enum SND_EXPLOSION_4, SND_GET_ITEM, SND_MISSILE, + SND_INCOMING, SND_BOOST, SND_GUI_CLICK, SND_GUI_SELECT, diff --git a/src/system/sound.c b/src/system/sound.c index ebe10a9..aec3d32 100644 --- a/src/system/sound.c +++ b/src/system/sound.c @@ -98,6 +98,7 @@ static void loadSounds(void) sounds[SND_MISSILE] = Mix_LoadWAV("sound/65787__iwilldstroyu__laserrocket.ogg"); sounds[SND_BOOST] = Mix_LoadWAV("sound/18380__inferno__hvrl.ogg"); /*sounds[SND_ECM] = Mix_LoadWAV("sound/18380__inferno__hvrl.ogg");*/ + sounds[SND_INCOMING] = Mix_LoadWAV("sound/242856__plasterbrain__nuclear-alarm.ogg"); sounds[SND_GET_ITEM] = Mix_LoadWAV("sound/56246__q-k__latch-04.ogg"); sounds[SND_EXPLOSION_1] = Mix_LoadWAV("sound/162265__qubodup__explosive.ogg"); sounds[SND_EXPLOSION_2] = Mix_LoadWAV("sound/207322__animationisaac__short-explosion.ogg");