1.2 update, w/ GZDoom 4.9 stuff:
- Customizable player skins here too.
- Integrated re-skin add-ons ("Old Sounds" is still separate).
- The usual fixes and optimizations.
- All weapons are now left-handed, where possible.
This commit is contained in:
parent
5346b420e3
commit
a21aa43f35
1485 changed files with 1157 additions and 380 deletions
|
|
@ -34,6 +34,9 @@ Class UnrealHUD : BaseStatusBar
|
|||
String MidPrintStr;
|
||||
int MidPrintTic;
|
||||
bool MidPrintLarge;
|
||||
Weapon lastwep;
|
||||
String ntagstr;
|
||||
int ntagtic;
|
||||
|
||||
// 0.83 HUD stuff
|
||||
Array<String> OldAmmo;
|
||||
|
|
@ -139,10 +142,9 @@ Class UnrealHUD : BaseStatusBar
|
|||
{
|
||||
Super.Draw(state,TicFrac);
|
||||
FracTic = TicFrac;
|
||||
HudMode = CVar.GetCVar('sting_hudmode',players[consoleplayer]).GetInt();
|
||||
scalev.x = scalev.y = CVar.GetCVar('hud_scale',players[consoleplayer]).GetInt();
|
||||
if ( scalev.x < 0 ) scalev.x = scalev.y = max(1,min(Screen.GetWidth()/640.,Screen.GetHeight()/480.)); // the typical behavior is scaling to 640x400 but we're expecting 4:3 here
|
||||
else if ( scalev.x == 0 )
|
||||
HudMode = sting_hudmode;
|
||||
scalev.x = scalev.y = hud_scale;
|
||||
if ( scalev.x <= 0 )
|
||||
{
|
||||
scalev.x = CleanXFac_1;
|
||||
scalev.y = CleanYFac_1;
|
||||
|
|
@ -825,8 +827,25 @@ Class UnrealHUD : BaseStatusBar
|
|||
Console.Printf(StringTable.Localize("$M_ISELECT"),CPlayer.mo.InvSel.GetTag());
|
||||
CPlayer.inventorytics = 0;
|
||||
}
|
||||
// part of gross hackery to override nametag display
|
||||
if ( CPlayer.PendingWeapon && (CPlayer.PendingWeapon != WP_NOCHANGE) && (CPlayer.PendingWeapon != lastwep) )
|
||||
{
|
||||
// make sure to avoid instantly overriding the current pickup message
|
||||
if ( (displaynametags&2) && (CPlayer == players[consoleplayer]) && (PickupMsgTic != gametic+50) )
|
||||
{
|
||||
ntagstr = CPlayer.PendingWeapon.GetTag();
|
||||
ntagtic = gametic+50;
|
||||
}
|
||||
}
|
||||
lastwep = CPlayer.PendingWeapon;
|
||||
// make sure vanilla nametags don't display
|
||||
DetachMessageID(0x5745504e); // WEPN
|
||||
DetachMessageID(0x53494e56); // SINV
|
||||
// also try with different endianness, just in case
|
||||
DetachMessageID(0x4e504557); // WEPN
|
||||
DetachMessageID(0x564e4953); // SINV
|
||||
vtracer.ignore = CPlayer.mo;
|
||||
vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,(cos(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),sin(CPlayer.mo.angle)*cos(CPlayer.mo.pitch),-sin(CPlayer.mo.pitch)),1000,0);
|
||||
vtracer.trace(CPlayer.mo.Vec2OffsetZ(0,0,CPlayer.viewz),CPlayer.mo.CurSector,dt_Utility.Vec3FromAngle(CPlayer.mo.angle,CPlayer.mo.pitch),1000,0);
|
||||
if ( vtracer.Results.HitType != TRACE_HitActor ) return;
|
||||
lastseen = vtracer.Results.HitActor;
|
||||
lastseentic = gametic;
|
||||
|
|
@ -918,10 +937,17 @@ Class UnrealHUD : BaseStatusBar
|
|||
if ( PickupMsgTic > gametic )
|
||||
{
|
||||
xpos = (Screen.GetWidth()-WhiteFont.StringWidth(PickupMsg)*CleanXFac_1)/2;
|
||||
if ( state == HUD_Statusbar ) ypos = GetTopOfStatusBar()-21*CleanYFac_1;
|
||||
if ( state == HUD_Statusbar ) ypos = GetTopOfStatusBar()-31*CleanYFac_1;
|
||||
else ypos = Screen.GetHeight()-41*CleanYFac_1;
|
||||
Screen.DrawText(WhiteFont,Font.CR_WHITE,xpos,ypos,PickupMsg,DTA_CleanNoMove_1,true,DTA_Alpha,clamp((PickupMsgTic-gametic+fractic)*0.05,0,1),DTA_LegacyRenderStyle,STYLE_Add);
|
||||
}
|
||||
if ( ntagtic > gametic )
|
||||
{
|
||||
xpos = (Screen.GetWidth()-WhiteFont.StringWidth(ntagstr)*CleanXFac_1)/2;
|
||||
if ( state == HUD_Statusbar ) ypos = GetTopOfStatusBar()-15*CleanYFac_1;
|
||||
else ypos = Screen.GetHeight()-25*CleanYFac_1;
|
||||
Screen.DrawText(WhiteFont,Font.CR_WHITE,xpos,ypos,ntagstr,DTA_CleanNoMove_1,true,DTA_Alpha,clamp((ntagtic-gametic+fractic)*0.05,0,1),DTA_LegacyRenderStyle,STYLE_Add);
|
||||
}
|
||||
// draw messages
|
||||
xpos = 4*CleanXFac_1;
|
||||
ypos = 4*CleanYFac_1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue