Various UI changes:

* Add optional numeric values to healthbars, like in the standalone mod.
 * Remove minimap themes, keep only the Demolitionist color set.
 * Draw keys in the minimap using their respective colors.
 * Don't send AutoAutosave tokens to the minimap.
 * Tweak the minimap color of shootable actors so they look less like usable lines.
 * Use smaller font for cumulative damage on boss healthbars.
This commit is contained in:
Mari the Deer 2023-08-17 20:13:16 +02:00
commit 964dcf84f9
14 changed files with 69 additions and 193 deletions

View file

@ -96,7 +96,7 @@ extend Class SWWMHandler
ui int thealth, hmax;
ui int oldhealth[30];
ui int cummdamage, lastcummtic; // please do not misread
ui Font mSmallFont;
ui Font mSmallFont, mTinyFont;
enum EVanillaMap
{
@ -560,6 +560,7 @@ extend Class SWWMHandler
{
if ( !ui_initialized || (bossalpha <= 0.) ) return;
if ( !mSmallFont ) mSmallFont = Font.GetFont('TewiFontOutline');
if ( !mTinyFont ) mTinyFont = Font.GetFont('MiniwiFontOutline');
if ( !bbar_f ) bbar_f = TexMan.CheckForTexture("graphics/HUD/BossHealthBarBox.png");
if ( !bbar_r ) bbar_r = TexMan.CheckForTexture("graphics/HUD/BossHealthBar.png");
if ( !bbar_d ) bbar_d = TexMan.CheckForTexture("graphics/HUD/BossHealthBarDecay.png");
@ -576,7 +577,7 @@ extend Class SWWMHandler
{
double calph = clamp(((lastcummtic+150)-gametic)/50.,0.,1.);
string dnum = String.Format("%d",cummdamage);
Screen.DrawText(mSmallFont,Font.CR_RED,vpos.x+300-mSmallFont.StringWidth(dnum),vpos.y-(mSmallFont.GetHeight()+2),dnum,DTA_VirtualWidthF,bar.ss.x,DTA_VirtualHeightF,bar.ss.y,DTA_KeepRatio,true,DTA_Alpha,bossalpha*calph);
Screen.DrawText(mTinyFont,Font.CR_RED,vpos.x+300-mTinyFont.StringWidth(dnum),vpos.y-(mTinyFont.GetHeight()+2),dnum,DTA_VirtualWidthF,bar.ss.x,DTA_VirtualHeightF,bar.ss.y,DTA_KeepRatio,true,DTA_Alpha,bossalpha*calph);
}
String bname = bosstag;
if ( (bname.Left(1) == "$") && swwm_funtags )

View file

@ -308,7 +308,7 @@ extend Class SWWMHandler
continue;
if ( a.bKILLED || (a.Health <= 0) || a.bUnmorphed )
continue;
if ( (a is 'Inventory') && (!a.bSPECIAL || Inventory(a).Owner) )
if ( (a is 'Inventory') && (!a.bSPECIAL || Inventory(a).Owner || (a.GetClassName() == 'aas_token')) ) // autoautosave hotfix
continue;
if ( (a is 'Chancebox') && (a.CurState != a.SpawnState) )
continue;