CL update (HUD changes).

This commit is contained in:
Marisa the Magician 2023-11-25 23:44:51 +01:00
parent 67dca12554
commit db2ace446b
6 changed files with 41 additions and 41 deletions

View File

@ -1,3 +1,3 @@
[default]
KIRIN_MODVER="\cxRED STAR OF INNOCENCE\c- \cw0.1a r113 \cu(Fri 10 Nov 20:38:02 CET 2023)\c-";
KIRIN_SHORTVER="\cw0.1a r113 \cu(2023-11-10 20:38:02)\c-";
KIRIN_MODVER="\cxRED STAR OF INNOCENCE\c- \cw0.1a r114 \cu(Sat 25 Nov 23:44:51 CET 2023)\c-";
KIRIN_SHORTVER="\cw0.1a r114 \cu(2023-11-25 23:44:51)\c-";

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -49,79 +49,79 @@ extend Class KirinStatusBar
override int DrawStatus()
{
Screen.DrawTexture(StatusTex,false,margin,ss.y-(margin+22),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawTexture(StatusTex,false,xmargin,ss.y-(ymargin+22),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
double ht = clamp(HealthInter.GetValue(fractic),0,999);
String str = String.Format("%3d",round(ht));
double hw = min(ht,100);
Screen.DrawTexture(BarTex[0],false,margin+15,ss.y-(margin+17),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[0],false,xmargin+15,ss.y-(ymargin+17),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_ColorOverlay,Color(255,0,0,0));
bool invul = isInvulnerable();
Screen.DrawTexture(BarTex[invul?2:0],false,margin+14,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw);
Screen.DrawText(MiniHUDFont,mhudfontcol[invul?MCR_WHITE:MCR_RED],margin+119,ss.y-(margin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
if ( invul ) Screen.DrawTexture(IconTex[0],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawTexture(BarTex[invul?2:0],false,xmargin+14,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw);
Screen.DrawText(MiniHUDFont,mhudfontcol[invul?MCR_WHITE:MCR_RED],xmargin+119,ss.y-(ymargin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
if ( invul ) Screen.DrawTexture(IconTex[0],false,xmargin+2,ss.y-(ymargin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
else
{
if ( ht > 100 )
{
double alph = max((ht-100)/100.,0.)**.5;
Screen.DrawTexture(IconTex[3],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
Screen.DrawTexture(BarTex[4],false,margin+14,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_BRASS],margin+119,ss.y-(margin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
Screen.DrawTexture(IconTex[3],false,xmargin+2,ss.y-(ymargin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
Screen.DrawTexture(BarTex[4],false,xmargin+14,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_BRASS],xmargin+119,ss.y-(ymargin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph);
}
if ( (CPlayer.Health > 0) && (CPlayer.Health <= 25) && (PulsePhase <= 15) )
{
double alph = clamp(sin((PulsePhase-FracTic)*12.),0.,1.);
Screen.DrawTexture(IconTex[4],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
Screen.DrawTexture(BarTex[5],false,margin+14,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],margin+119,ss.y-(margin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
Screen.DrawTexture(IconTex[4],false,xmargin+2,ss.y-(ymargin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
Screen.DrawTexture(BarTex[5],false,xmargin+14,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_REDFLASH],xmargin+119,ss.y-(ymargin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_Alpha,alph,DTA_LegacyRenderStyle,STYLE_Add);
}
}
int f = HealthFlash;
if ( f && (gametic < f) )
{
double alph = max((f-(gametic+FracTic))/25.,0.)**1.5;
Screen.DrawTexture(BarTex[3],false,margin+14,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],margin+119,ss.y-(margin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(IconTex[1],false,margin+2,ss.y-(margin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(BarTex[3],false,xmargin+14,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,hw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],xmargin+119,ss.y-(ymargin+18),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(IconTex[1],false,xmargin+2,ss.y-(ymargin+20),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
}
ht = clamp(LagHealthInter.GetValue(fractic),0,999);
double lhw = min(ht,100);
if ( lhw > hw ) Screen.DrawTexture(BarTex[7],false,margin+14,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,hw,DTA_WindowRightF,lhw);
if ( lhw > hw ) Screen.DrawTexture(BarTex[7],false,xmargin+14,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,hw,DTA_WindowRightF,lhw);
double tht = clamp(ThinHealthInter.GetValue(fractic),0,100);
if ( tht < 100 )
{
Screen.DrawTexture(BarTex[0],false,margin+15+tht,ss.y-(margin+17),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,100.-tht,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[6],false,margin+14+tht,ss.y-(margin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,100.-tht);
Screen.DrawTexture(BarTex[0],false,xmargin+15+tht,ss.y-(ymargin+17),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,100.-tht,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[6],false,xmargin+14+tht,ss.y-(ymargin+18),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,100.-tht);
}
double mt = clamp(ManaInter.GetValue(fractic),0,999);
str = String.Format("%3d",round(mt));
double mw = min(mt,100);
Screen.DrawTexture(BarTex[1],false,margin+15,ss.y-(margin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[1],false,margin+14,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_MANA],margin+119,ss.y-(margin+8),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawTexture(BarTex[1],false,xmargin+15,ss.y-(ymargin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[1],false,xmargin+14,ss.y-(ymargin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_MANA],xmargin+119,ss.y-(ymargin+8),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
f = ManaFlash;
if ( f && (gametic < f) )
{
double alph = max((f-(gametic+FracTic))/25.,0.)**1.5;
Screen.DrawTexture(BarTex[3],false,margin+14,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],margin+119,ss.y-(margin+8),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(IconTex[2],false,margin+2,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(BarTex[3],false,xmargin+14,ss.y-(ymargin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowRightF,mw,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawText(MiniHUDFont,mhudfontcol[MCR_FLASH],xmargin+119,ss.y-(ymargin+8),str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
Screen.DrawTexture(IconTex[2],false,xmargin+2,ss.y-(ymargin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_LegacyRenderStyle,STYLE_Add,DTA_Alpha,alph);
}
mt = clamp(LagManaInter.GetValue(fractic),0,999);
double lmw = min(mt,100);
if ( lmw > mw )
{
Screen.DrawTexture(BarTex[7],false,margin+15,ss.y-(margin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,mw,DTA_WindowRightF,lmw,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[7],false,margin+14,ss.y-(margin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,mw,DTA_WindowRightF,lmw);
Screen.DrawTexture(BarTex[7],false,xmargin+15,ss.y-(ymargin+7),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,mw,DTA_WindowRightF,lmw,DTA_ColorOverlay,Color(255,0,0,0));
Screen.DrawTexture(BarTex[7],false,xmargin+14,ss.y-(ymargin+8),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_WindowLeftF,mw,DTA_WindowRightF,lmw);
}
// extra, draw additional stuff next to inventory box
bAlwaysAboveInv = false;
double xx = margin+28;
double xx = xmargin+28;
let gren = CPlayer.mo.FindInventory("KirinBombAmmo");
if ( gren && gren.Amount )
{
bAlwaysAboveInv = true;
bool sel = (CPlayer.ReadyWeapon is 'KirinBomb');
double yy = ss.y-(margin+46);
double yy = ss.y-(ymargin+46);
Screen.DrawTexture(InvExtraTex,false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawTexture(gren.Icon,false,xx+2,yy+2,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
str = String.Format("%2d",clamp(gren.Amount,0,99));
@ -132,7 +132,7 @@ extend Class KirinStatusBar
if ( bean && bean.Amount )
{
bAlwaysAboveInv = true;
double yy = ss.y-(margin+46);
double yy = ss.y-(ymargin+46);
Screen.DrawTexture(InvExtraTex,false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
Screen.DrawTexture(bean.Icon,false,xx+2,yy+2,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
str = String.Format("%2d",clamp(bean.Amount,0,99));

View File

@ -24,11 +24,11 @@ extend Class KirinStatusBar
override void DrawWeapons()
{
if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeapon(FracTic,ss.x-(margin+56),ss.y-(margin+14),hs,ss);
if ( CPlayer.ReadyWeapon is 'SWWMWeapon' ) SWWMWeapon(CPlayer.ReadyWeapon).DrawWeapon(FracTic,ss.x-(xmargin+56),ss.y-(ymargin+14),hs,ss);
else if ( CPlayer.ReadyWeapon )
{
// generic display
double xx = ss.x-(margin+58), yy = ss.y-(margin+24);
double xx = ss.x-(xmargin+58), yy = ss.y-(ymargin+24);
String str;
int len;
if ( CPlayer.ReadyWeapon.Ammo2 && (CPlayer.ReadyWeapon.Ammo2 != CPlayer.ReadyWeapon.Ammo1) )
@ -46,7 +46,7 @@ extend Class KirinStatusBar
Screen.DrawText(MiniHUDFont,mhudfontcol[(CPlayer.ReadyWeapon.Ammo2.Amount<=0)?MCR_RED:MCR_BRASS],xx,yy+2,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
yy += 10;
}
xx = ss.x-(margin+58);
xx = ss.x-(xmargin+58);
if ( CPlayer.ReadyWeapon.Ammo1 )
{
str = String.Format("%d",CPlayer.ReadyWeapon.Ammo1.Amount);
@ -61,8 +61,8 @@ extend Class KirinStatusBar
Screen.DrawText(MiniHUDFont,mhudfontcol[(CPlayer.ReadyWeapon.Ammo1.Amount<=0)?MCR_RED:MCR_BRASS],xx,yy+2,str,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
}
}
Screen.DrawTexture(WeaponTex,false,ss.x-(margin+68),ss.y-(margin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
double xx = ss.x-(margin+66), yy = ss.y-(margin+8);
Screen.DrawTexture(WeaponTex,false,ss.x-(xmargin+68),ss.y-(ymargin+10),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
double xx = ss.x-(xmargin+66), yy = ss.y-(ymargin+8);
for ( int i=1; i<=5; i++,xx+=8 )
{
if ( (i>1) && !CPlayer.HasWeaponsInSlot(i%10) ) continue;
@ -114,7 +114,7 @@ extend Class KirinStatusBar
int ncolor = mhudfontcol[(i==(selslot+6))?MCR_CYANBLU:MCR_SILVER];
Screen.DrawText(MiniHUDFont,ncolor,xx,yy,String.Format("%d",(i%10)),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
}
yy = ss.y-(margin+14);
yy = ss.y-(ymargin+14);
let omga = KirinSniperAmmo(CPlayer.mo.FindInventory("KirinSniperAmmo"));
if ( omga && (gameinfo.gametype&GAME_Doom) ) yy -= 30;
let ball = KirinBallistaAmmo(CPlayer.mo.FindInventory("KirinBallistaAmmo"));
@ -130,7 +130,7 @@ extend Class KirinStatusBar
if ( psta )
{
sel = (CPlayer.ReadyWeapon is 'KirinPistol');
xx = ss.x-(margin+40);
xx = ss.x-(xmargin+40);
if ( psta.Amount > 0 )
{
xx -= 12;
@ -159,7 +159,7 @@ extend Class KirinStatusBar
if ( smga )
{
sel = (CPlayer.ReadyWeapon is 'KirinSMG');
xx = ss.x-(margin+40);
xx = ss.x-(xmargin+40);
if ( smga.Amount > 0 )
{
xx -= 12;
@ -190,7 +190,7 @@ extend Class KirinStatusBar
if ( shel )
{
sel = (CPlayer.ReadyWeapon is 'KirinShotgun');
xx = ss.x-(margin+40);
xx = ss.x-(xmargin+40);
Screen.DrawTexture(AmmoTex[2],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
for ( int i=0; i<shel.Amount; i++ )
Screen.DrawTexture(AmmoTex[sel?10:6],false,xx+2+4*(i%9),yy+2+7*(i/9),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
@ -199,7 +199,7 @@ extend Class KirinStatusBar
if ( ball && (gameinfo.gametype&GAME_Raven) )
{
sel = (CPlayer.ReadyWeapon is 'KirinBallista');
xx = ss.x-(margin+40);
xx = ss.x-(xmargin+40);
Screen.DrawTexture(AmmoTex[3],false,xx,yy,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
for ( int i=0; i<ball.Amount; i++ )
Screen.DrawTexture(AmmoTex[sel?11:7],false,xx+2+6*i,yy+2,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true);
@ -208,7 +208,7 @@ extend Class KirinStatusBar
if ( omga && (gameinfo.gametype&GAME_Doom) )
{
sel = (CPlayer.ReadyWeapon is 'KirinSniperRifle');
xx = ss.x-(margin+40);
xx = ss.x-(xmargin+40);
if ( omga.Amount > 0 )
{
xx -= 8;