diff --git a/language.version b/language.version index 0e7903a50..da1ccbcc0 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r375 \cu(Fri 26 Aug 16:17:50 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r375 \cu(2022-08-26 16:17:50)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r376 \cu(Fri 26 Aug 17:50:37 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r376 \cu(2022-08-26 17:50:37)\c-"; diff --git a/zscript/hud/swwm_hud.zsc b/zscript/hud/swwm_hud.zsc index 56b94cb6a..2fd82ae9f 100644 --- a/zscript/hud/swwm_hud.zsc +++ b/zscript/hud/swwm_hud.zsc @@ -1383,6 +1383,23 @@ Class SWWMStatusBar : BaseStatusBar while ( poi = poi.next ); } + private int GetItemFontColor( SWWMitemSense s ) + { + let col = s.scoreitem?Font.CR_YELLOW:Font.CR_WHITE; + let i = (s.item is 'SWWMRespawnTimer')?s.item.tracer:s.item; + if ( i is 'Weapon' ) col = s.vipitem?Font.FindFontColor('VIPGold'):Font.CR_GOLD; + else if ( i is 'MagAmmo' ) col = s.vipitem?Font.FindFontColor('VIPTan'):Font.CR_TAN; + else if ( (i is 'BackpackItem') || (i is 'HammerspaceEmbiggener') ) col = Font.CR_DARKBROWN; + else if ( i is 'Ammo' ) col = s.vipitem?Font.FindFontColor('VIPBrown'):Font.CR_BROWN; + else if ( (i is 'PowerupGiver') || (i is 'AmmoFabricator') || Inventory(i).bBIGPOWERUP ) col = s.vipitem?Font.FindFontColor('VIPPurple'):Font.CR_PURPLE; + else if ( (i is 'Health') || (i is 'HealthPickup') || (i is 'SWWMHealth') ) col = Font.CR_RED; + else if ( (i is 'Armor') || (i is 'SWWMSpareArmor') ) col = Font.CR_GREEN; + else if ( i is 'PuzzleItem' ) col = Font.CR_LIGHTBLUE; + else if ( i is 'Key' ) col = Font.CR_UNTRANSLATED; + else if ( i is 'SWWMCollectible' ) col = Font.CR_PURPLE; + return col; + } + private void DrawItemSense( Vector3 viewvec, out bool projinit ) { let demo = Demolitionist(CPlayer.mo); @@ -1401,7 +1418,7 @@ Class SWWMStatusBar : BaseStatusBar double alph = clamp(((s.updated+mtime)-(level.maptime+fractic))/double(GameTicRate),0.,1.); alph *= clamp(1.5-1.5*(tdir.length()/(level.allmap?1200.:800.)),0.,1.); String tag = s.tag; - Screen.DrawText(mTinyFontOutline,s.vipitem?Font.CR_PURPLE:s.scoreitem?Font.CR_GOLD:Font.CR_GREEN,vpos.x-mTinyFontOutline.StringWidth(tag)/2.,vpos.y-mTinyFontOutline.GetHeight()/2.,tag,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph); + Screen.DrawText(mTinyFontOutline,GetItemFontColor(s),vpos.x-mTinyFontOutline.StringWidth(tag)/2.,vpos.y-mTinyFontOutline.GetHeight()/2.,tag,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph); tag = String.Format("\cu(%s\cu)\c-",FormatDist(tdir.length())); Screen.DrawText(mTinyFontOutline,Font.CR_WHITE,vpos.x-mTinyFontOutline.StringWidth(tag)/2.,vpos.y+mTinyFontOutline.GetHeight()/2.,tag,DTA_VirtualWidthF,ss1.x,DTA_VirtualHeightF,ss1.y,DTA_KeepRatio,true,DTA_Alpha,alph); if ( s.item is 'SWWMRespawnTimer' )