mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-13 20:42:11 +00:00
- Exhumed alt hud.
This commit is contained in:
parent
7808dae81b
commit
2fbee8faf5
4 changed files with 82 additions and 1 deletions
|
@ -1,5 +1,8 @@
|
|||
x(Torch1, 338)
|
||||
x(Torch2, 350)
|
||||
x(WeaponSpriteMagnum, 488)
|
||||
x(WeaponSpriteM60, 490)
|
||||
x(WeaponSpriteFlamethrower, 491)
|
||||
x(TileRamsesGold, 590)
|
||||
x(TileRamsesWorkTile, 591)
|
||||
x(TileRamsesNormal, 592)
|
||||
|
@ -8,9 +11,15 @@ x(KeyIcon1, 675)
|
|||
x(KeyIcon2, 679)
|
||||
x(KeyIcon3, 683)
|
||||
x(KeyIcon4, 687)
|
||||
x(AmmoSpriteMagnum, 877)
|
||||
x(AmmoSpriteGrenade, 878)
|
||||
x(AmmoSpriteFuel, 879)
|
||||
x(AmmoSpriteM60_1, 881)
|
||||
x(WeaponSpriteCobra, 899)
|
||||
x(CrosshairTile, 1579)
|
||||
x(SkullJaw, 3437)
|
||||
x(PowerslaveLogo, 3442)
|
||||
x(AmmoSpriteCobra, 3457)
|
||||
x(MenuNewGameTile, 3460)
|
||||
x(MenuLoadGameTile, 3461)
|
||||
x(MenuMusicTile, 3465)
|
||||
|
|
|
@ -2778,7 +2778,8 @@ DEFINE_FIELD_X(ExhumedPlayer, Player, keys);
|
|||
DEFINE_FIELD_X(ExhumedPlayer, Player, nMagic);
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nItem);
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, items);
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nAmmo); // TODO - kMaxWeapons?
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nAmmo); // TODO - kMaxWeapons?
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nPlayerWeapons);
|
||||
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nCurrentWeapon);
|
||||
DEFINE_FIELD_X(ExhumedPlayer, Player, nSeqSize2);
|
||||
|
|
|
@ -52,6 +52,7 @@ struct ExhumedPlayer native
|
|||
native int16 nItem;
|
||||
native uint8 items[8];
|
||||
native int16 nAmmo[7]; // TODO - kMaxWeapons?
|
||||
native int16 nPlayerWeapons;
|
||||
|
||||
native int16 nCurrentWeapon;
|
||||
native int16 nSeqSize2;
|
||||
|
|
|
@ -170,6 +170,12 @@ class ExhumedStatusBar : RazeStatusBar
|
|||
return chunk.tex;
|
||||
}
|
||||
|
||||
String GetStatusSequenceName(int nSequence, int frameindex)
|
||||
{
|
||||
let texid = GetStatusSequencePic(nSequence, frameindex);
|
||||
return TexMan.GetName(texid);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
// Frag display - very ugly and may have to be redone if multiplayer support gets added.
|
||||
|
@ -803,4 +809,68 @@ class ExhumedStatusBar : RazeStatusBar
|
|||
}
|
||||
DoLevelStats(hud_size == Hud_Nothing ? 0 : hud_size == Hud_full ? 20 : 45, info);
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
override void GetAllStats(HudStats stats)
|
||||
{
|
||||
stats.Clear();
|
||||
stats.info.fontscale = 1;
|
||||
|
||||
stats.info.spacing = 8;
|
||||
stats.info.letterColor = Font.TEXTCOLOR_RED;
|
||||
stats.info.standardColor = Font.TEXTCOLOR_UNTRANSLATED;
|
||||
stats.info.completeColor = Font.TEXTCOLOR_DARKGREEN;
|
||||
stats.info.statfont = SmallFont;
|
||||
|
||||
let pp = Exhumed.GetViewPlayer();
|
||||
stats.healthicon = GetStatusSequenceName(125, 0);
|
||||
stats.healthvalue = pp.nHealth >> 3;
|
||||
|
||||
SetMagicFrame(pp);
|
||||
|
||||
stats.armoricons.Push(GetStatusSequenceName(nItemSeq, nItemFrame));
|
||||
stats.armorvalues.Push(pp.nMagic / 10);
|
||||
|
||||
if (pp.isUnderwater())
|
||||
{
|
||||
let img = GetStatusSequenceName(133, airframe);
|
||||
stats.armoricons.Push(img);
|
||||
stats.armorvalues.Push(-1);
|
||||
}
|
||||
|
||||
int nKeys = pp.keys;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
if (nKeys & (0x1000 << i))
|
||||
{
|
||||
stats.keyicons.Push(String.Format("KeyIcon%d", i+1));
|
||||
}
|
||||
}
|
||||
|
||||
static const string weaponicons[] = { "", "WeaponSpriteMagnum", "WeaponSpriteM60", "WeaponSpriteFlamethrower", "", "WeaponSpriteCobra", "" /* sprite for ring?*/};
|
||||
for (int i = 0; i < weaponicons.Size(); i++)
|
||||
{
|
||||
if (pp.nPlayerWeapons & (1 << i) && weaponicons[i] != "")
|
||||
{
|
||||
if (pp.nCurrentWeapon == i) stats.weaponselect = stats.weaponicons.Size();
|
||||
stats.weaponicons.Push(weaponicons[i]);
|
||||
}
|
||||
}
|
||||
|
||||
static const string ammoicons[] = { "", "AmmoSpriteMagnum", "AmmoSpriteM60_1", "AmmoSpriteFuel", "AmmoSpriteGrenade", "AmmoSpriteCobra", "-" /* sprite for ring?*/};
|
||||
for (int i = 0; i < ammoicons.Size(); i++)
|
||||
{
|
||||
if (pp.nCurrentWeapon == i) stats.ammoselect = stats.ammoicons.Size();
|
||||
stats.ammoicons.Push(ammoicons[i]);
|
||||
stats.ammovalues.Push(pp.nAmmo[i]);
|
||||
stats.ammomaxvalues.Push(300);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue