From 234f8fe73c918eced7bbf4485e785f1baf0796ec Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 24 Feb 2018 16:00:30 +0000 Subject: [PATCH] Show boss health bar on HUD. --- src/world/hud.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/world/hud.c b/src/world/hud.c index 19e3a11..490e4b1 100644 --- a/src/world/hud.c +++ b/src/world/hud.c @@ -24,6 +24,7 @@ static void drawHealth(void); static void drawPower(void); static void drawOxygen(void); static void drawInventory(void); +static void drawBossHealth(void); static int messageTime; static int infoMessageTime; @@ -80,7 +81,11 @@ void drawHud(void) drawInventory(); } - if (messageTime > 0) + if (world.isBossActive) + { + drawBossHealth(); + } + else if (messageTime > 0) { drawRect(0, SCREEN_HEIGHT - 32, SCREEN_WIDTH, 32, 0, 0, 0, 200); @@ -222,6 +227,24 @@ static void drawInventory(void) } } +static void drawBossHealth(void) +{ + float percent; + int w; + + percent = world.boss->health; + percent /= world.boss->healthMax; + + w = MAX(500 * percent, 0); + + drawRect(0, SCREEN_HEIGHT - 32, SCREEN_WIDTH, 32, 0, 0, 0, 200); + + drawText(440, SCREEN_HEIGHT - 28, 16, TA_RIGHT, colors.white, world.boss->name); + + drawRect(450, SCREEN_HEIGHT - 24, w, 16, 255, 0, 0, 255); + drawOutlineRect(450, SCREEN_HEIGHT - 24, 500, 16, 192, 192, 192, 255); +} + void drawMissionStatus(void) { Objective *o;