From 2cabc4b14d8cd08afbde61fb7aebe8ee500d4b43 Mon Sep 17 00:00:00 2001 From: Mitchell Richters Date: Fri, 21 Aug 2020 16:28:50 +1000 Subject: [PATCH] - Duke: Don't flash the weapon's ammo icon when flashing text for low ammo in Duke FullscreenHUD1. --- source/games/duke/src/sbar_d.cpp | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/source/games/duke/src/sbar_d.cpp b/source/games/duke/src/sbar_d.cpp index 8920922b1..ec36c4a26 100644 --- a/source/games/duke/src/sbar_d.cpp +++ b/source/games/duke/src/sbar_d.cpp @@ -153,24 +153,26 @@ public: int weapon = p->curr_weapon; if (weapon == HANDREMOTE_WEAPON) weapon = HANDBOMB_WEAPON; - if (p->curr_weapon != KNEE_WEAPON && (!althud_flashing || (int)totalclock & 32 || p->ammo_amount[weapon] > (max_ammo_amount[weapon] / 10))) + int wicon = ammo_sprites[p->curr_weapon]; + if (wicon > 0) { format.Format("%d", p->ammo_amount[weapon]); - SBar_DrawString(this, &numberFont, format, -3, -numberFont.mFont->GetHeight() + 4.5, DI_TEXT_ALIGN_RIGHT, CR_UNTRANSLATED, 1, 0, 0, 1, 1); + auto imgWeap = tileGetTexture(wicon); + auto weapScale = imgScale / imgWeap->GetDisplayHeight(); + auto imgX = 20.; + auto strlen = format.Len(); - int wicon = ammo_sprites[p->curr_weapon]; - if (wicon > 0) + if (strlen > 1) { - auto imgWeap = tileGetTexture(wicon); - auto weapScale = imgScale / imgWeap->GetDisplayHeight(); - auto imgX = 20.; - auto strlen = format.Len(); - if (strlen > 1) - { - imgX += (imgX * 0.6) * (strlen - 1); - } - DrawGraphic(imgWeap, -imgX, -1.5, DI_ITEM_RIGHT_BOTTOM, 1, -1, -1, weapScale, weapScale); + imgX += (imgX * 0.6) * (strlen - 1); } + + if (p->curr_weapon != KNEE_WEAPON && (!althud_flashing || (int)totalclock & 32 || p->ammo_amount[weapon] > (max_ammo_amount[weapon] / 10))) + { + SBar_DrawString(this, &numberFont, format, -3, -numberFont.mFont->GetHeight() + 4.5, DI_TEXT_ALIGN_RIGHT, CR_UNTRANSLATED, 1, 0, 0, 1, 1); + } + + DrawGraphic(imgWeap, -imgX, -1.5, DI_ITEM_RIGHT_BOTTOM, 1, -1, -1, weapScale, weapScale); } //