mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-16 12:40:38 +00:00
- ported the minibar HUD.
This commit is contained in:
parent
8c7b93ceef
commit
70b2215f4e
4 changed files with 48 additions and 80 deletions
|
@ -2214,8 +2214,6 @@ drawscreen(PLAYERp pp)
|
||||||
|
|
||||||
DrawMessageInput(); // This is only used for non-multiplayer input now
|
DrawMessageInput(); // This is only used for non-multiplayer input now
|
||||||
|
|
||||||
UpdateMiniBar(pp);
|
|
||||||
|
|
||||||
if (!M_Active())
|
if (!M_Active())
|
||||||
SecretInfo(pp);
|
SecretInfo(pp);
|
||||||
|
|
||||||
|
|
|
@ -101,81 +101,6 @@ INVENTORY_DATA InventoryData[MAX_INVENTORY+1] =
|
||||||
|
|
||||||
void PanelInvTestSuicide(PANEL_SPRITEp psp);
|
void PanelInvTestSuicide(PANEL_SPRITEp psp);
|
||||||
|
|
||||||
void UpdateMiniBar(PLAYERp pp)
|
|
||||||
{
|
|
||||||
USERp u = User[pp->PlayerSprite];
|
|
||||||
int x,y;
|
|
||||||
INVENTORY_DATAp id;
|
|
||||||
extern SWBOOL PanelUpdateMode;
|
|
||||||
|
|
||||||
#define MINI_BAR_Y 174
|
|
||||||
|
|
||||||
#define MINI_BAR_HEALTH_BOX_PIC 2437
|
|
||||||
#define MINI_BAR_AMMO_BOX_PIC 2437
|
|
||||||
#define MINI_BAR_INVENTORY_BOX_PIC 2438
|
|
||||||
|
|
||||||
#define MINI_BAR_HEALTH_BOX_X 4
|
|
||||||
#define MINI_BAR_AMMO_BOX_X 32
|
|
||||||
#define MINI_BAR_INVENTORY_BOX_X 64
|
|
||||||
#define MINI_BAR_INVENTORY_BOX_Y MINI_BAR_Y
|
|
||||||
|
|
||||||
if (!PanelUpdateMode || !u)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (gs.BorderNum != BORDER_MINI_BAR)
|
|
||||||
return;
|
|
||||||
|
|
||||||
x = MINI_BAR_HEALTH_BOX_X;
|
|
||||||
y = 200 - 26;
|
|
||||||
|
|
||||||
rotatesprite(x << 16, y << 16, (1 << 16), 0,
|
|
||||||
MINI_BAR_HEALTH_BOX_PIC, 0, 0,
|
|
||||||
ROTATE_SPRITE_SCREEN_CLIP | ROTATE_SPRITE_CORNER | RS_ALIGN_L,
|
|
||||||
0, 0, xdim - 1, ydim - 1);
|
|
||||||
|
|
||||||
x = MINI_BAR_HEALTH_BOX_X+3;
|
|
||||||
DisplayMiniBarNumber(x, y+5, u->Health);
|
|
||||||
|
|
||||||
if (u->WeaponNum != WPN_SWORD && u->WeaponNum != WPN_FIST)
|
|
||||||
{
|
|
||||||
x = MINI_BAR_AMMO_BOX_X;
|
|
||||||
|
|
||||||
rotatesprite(x << 16, y << 16, (1 << 16), 0,
|
|
||||||
MINI_BAR_AMMO_BOX_PIC, 0, 0,
|
|
||||||
ROTATE_SPRITE_SCREEN_CLIP | ROTATE_SPRITE_CORNER | RS_ALIGN_L,
|
|
||||||
0, 0, xdim - 1, ydim - 1);
|
|
||||||
|
|
||||||
x = MINI_BAR_AMMO_BOX_X+3;
|
|
||||||
DisplayMiniBarNumber(x, y+5, pp->WpnAmmo[u->WeaponNum]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pp->InventoryAmount[pp->InventoryNum])
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Inventory Box
|
|
||||||
x = MINI_BAR_INVENTORY_BOX_X;
|
|
||||||
|
|
||||||
rotatesprite(x << 16, y << 16, (1 << 16), 0,
|
|
||||||
MINI_BAR_INVENTORY_BOX_PIC, 0, 0,
|
|
||||||
ROTATE_SPRITE_SCREEN_CLIP | ROTATE_SPRITE_CORNER | RS_ALIGN_L,
|
|
||||||
0, 0, xdim - 1, ydim - 1);
|
|
||||||
|
|
||||||
id = &InventoryData[pp->InventoryNum];
|
|
||||||
|
|
||||||
// Inventory pic
|
|
||||||
x = MINI_BAR_INVENTORY_BOX_X + 2;
|
|
||||||
y += 2;
|
|
||||||
|
|
||||||
rotatesprite(x << 16, y << 16, (1 << 16), 0,
|
|
||||||
id->State->picndx, 0, 0,
|
|
||||||
ROTATE_SPRITE_SCREEN_CLIP | ROTATE_SPRITE_CORNER | RS_ALIGN_L,
|
|
||||||
0, 0, xdim - 1, ydim - 1);
|
|
||||||
|
|
||||||
// will update the AUTO and % inventory values
|
|
||||||
PlayerUpdateInventory(pp, pp->InventoryNum);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void PanelInvTestSuicide(PANEL_SPRITEp psp)
|
void PanelInvTestSuicide(PANEL_SPRITEp psp)
|
||||||
{
|
{
|
||||||
if (TEST(psp->flags, PANF_SUICIDE))
|
if (TEST(psp->flags, PANF_SUICIDE))
|
||||||
|
|
|
@ -55,7 +55,6 @@ extern INVENTORY_DATA InventoryData[MAX_INVENTORY+1];
|
||||||
#define INVF_COUNT (BIT(2))
|
#define INVF_COUNT (BIT(2))
|
||||||
|
|
||||||
void PlayerUpdateInventory(PLAYERp pp,short InventoryNum);
|
void PlayerUpdateInventory(PLAYERp pp,short InventoryNum);
|
||||||
void UpdateMiniBar(PLAYERp pp);
|
|
||||||
void InventoryKeys(PLAYERp pp);
|
void InventoryKeys(PLAYERp pp);
|
||||||
void UseInventoryRepairKit(PLAYERp pp);
|
void UseInventoryRepairKit(PLAYERp pp);
|
||||||
void InventoryTimer(PLAYERp pp);
|
void InventoryTimer(PLAYERp pp);
|
||||||
|
|
|
@ -84,6 +84,8 @@ class DSWStatusBar : public DBaseStatusBar
|
||||||
INVENTORY_STATE_YOFF = 1,
|
INVENTORY_STATE_YOFF = 1,
|
||||||
|
|
||||||
MINI_BAR_Y = 174 ,
|
MINI_BAR_Y = 174 ,
|
||||||
|
MINI_BAR_HEALTH_BOX_X = 4,
|
||||||
|
MINI_BAR_AMMO_BOX_X = 32,
|
||||||
MINI_BAR_INVENTORY_BOX_X = 64,
|
MINI_BAR_INVENTORY_BOX_X = 64,
|
||||||
MINI_BAR_INVENTORY_BOX_Y = MINI_BAR_Y,
|
MINI_BAR_INVENTORY_BOX_Y = MINI_BAR_Y,
|
||||||
|
|
||||||
|
@ -108,6 +110,10 @@ class DSWStatusBar : public DBaseStatusBar
|
||||||
PANEL_SKELKEY_BRONZE= 2458,
|
PANEL_SKELKEY_BRONZE= 2458,
|
||||||
PANEL_SKELKEY_RED = 2459,
|
PANEL_SKELKEY_RED = 2459,
|
||||||
|
|
||||||
|
MINI_BAR_HEALTH_BOX_PIC = 2437,
|
||||||
|
MINI_BAR_AMMO_BOX_PIC = 2437,
|
||||||
|
MINI_BAR_INVENTORY_BOX_PIC = 2438,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -637,7 +643,7 @@ class DSWStatusBar : public DBaseStatusBar
|
||||||
|
|
||||||
if (pp->InventoryAmount[pp->InventoryNum])
|
if (pp->InventoryAmount[pp->InventoryNum])
|
||||||
{
|
{
|
||||||
PlayerUpdateInventoryPic(pp, InventoryBoxX, InventoryBoxY, InventoryXoff, InventoryYoff);
|
PlayerUpdateInventoryPic(pp, InventoryBoxX, InventoryBoxY, InventoryXoff+1, InventoryYoff);
|
||||||
// Auto/On/Off
|
// Auto/On/Off
|
||||||
PlayerUpdateInventoryState(pp, InventoryBoxX, InventoryBoxY, InventoryXoff, InventoryYoff);
|
PlayerUpdateInventoryState(pp, InventoryBoxX, InventoryBoxY, InventoryXoff, InventoryYoff);
|
||||||
// Percent count/Item count
|
// Percent count/Item count
|
||||||
|
@ -645,6 +651,46 @@ class DSWStatusBar : public DBaseStatusBar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
void DrawHUD1()
|
||||||
|
{
|
||||||
|
BeginHUD(320, 200, 1);
|
||||||
|
auto pp = Player + screenpeek;
|
||||||
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
int x, y;
|
||||||
|
INVENTORY_DATAp id;
|
||||||
|
|
||||||
|
x = MINI_BAR_HEALTH_BOX_X;
|
||||||
|
y = 200 - 26;
|
||||||
|
|
||||||
|
DrawGraphic(tileGetTexture(MINI_BAR_HEALTH_BOX_PIC), x, y, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
||||||
|
|
||||||
|
x = MINI_BAR_HEALTH_BOX_X + 3;
|
||||||
|
DisplayMiniBarNumber(x, y + 5, u->Health);
|
||||||
|
|
||||||
|
if (u->WeaponNum != WPN_SWORD && u->WeaponNum != WPN_FIST)
|
||||||
|
{
|
||||||
|
x = MINI_BAR_AMMO_BOX_X;
|
||||||
|
DrawGraphic(tileGetTexture(MINI_BAR_AMMO_BOX_PIC), x, y, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
||||||
|
|
||||||
|
x = MINI_BAR_AMMO_BOX_X + 3;
|
||||||
|
DisplayMiniBarNumber(x, y + 5, pp->WpnAmmo[u->WeaponNum]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!pp->InventoryAmount[pp->InventoryNum])
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Inventory Box
|
||||||
|
x = MINI_BAR_INVENTORY_BOX_X;
|
||||||
|
|
||||||
|
DrawGraphic(tileGetTexture(MINI_BAR_INVENTORY_BOX_PIC), x, y, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
||||||
|
DisplayMinibarInventory(pp);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
|
@ -664,7 +710,7 @@ public:
|
||||||
}
|
}
|
||||||
else*/ if (gs.BorderNum == BORDER_MINI_BAR)
|
else*/ if (gs.BorderNum == BORDER_MINI_BAR)
|
||||||
{
|
{
|
||||||
//DrawHUD1(nPalette);
|
DrawHUD1();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue