mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-29 13:00:43 +00:00
- SW: started transition of the status bar.
This commit is contained in:
parent
dc653bbdc0
commit
b50bdb1ca1
3 changed files with 101 additions and 21 deletions
|
@ -186,7 +186,6 @@ void SetBorder(PLAYERp pp, int value)
|
||||||
|
|
||||||
if (gs.BorderNum >= BORDER_BAR)
|
if (gs.BorderNum >= BORDER_BAR)
|
||||||
{
|
{
|
||||||
pSpawnFullScreenSprite(pp, STATUS_BAR, PRI_FRONT, 0, 200 - tilesiz[STATUS_BAR].y);
|
|
||||||
PlayerUpdatePanelInfo(Player + screenpeek);
|
PlayerUpdatePanelInfo(Player + screenpeek);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,13 @@ int InitMine(PLAYERp pp);
|
||||||
int InitFistAttack(PLAYERp pp);
|
int InitFistAttack(PLAYERp pp);
|
||||||
|
|
||||||
|
|
||||||
|
#pragma message("delete me")
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PANEL_BOX_Y = (174 - 6),
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -286,12 +293,6 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
||||||
USERp u = User[pp->PlayerSprite];
|
USERp u = User[pp->PlayerSprite];
|
||||||
short x,y;
|
short x,y;
|
||||||
|
|
||||||
#define PANEL_HEALTH_BOX_X 20
|
|
||||||
#define PANEL_BOX_Y (174-6)
|
|
||||||
#define PANEL_HEALTH_XOFF 2
|
|
||||||
#define PANEL_HEALTH_YOFF 4
|
|
||||||
#define HEALTH_ERASE 2401
|
|
||||||
|
|
||||||
if (Prediction)
|
if (Prediction)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -392,19 +393,8 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
||||||
|
|
||||||
if (u->Health > pp->MaxHealth)
|
if (u->Health > pp->MaxHealth)
|
||||||
u->Health = pp->MaxHealth;
|
u->Health = pp->MaxHealth;
|
||||||
|
|
||||||
if (gs.BorderNum < BORDER_BAR || pp - Player != screenpeek)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// erase old info
|
|
||||||
pSpawnFullScreenSprite(pp, HEALTH_ERASE, PRI_MID, PANEL_HEALTH_BOX_X, PANEL_BOX_Y);
|
|
||||||
|
|
||||||
x = PANEL_HEALTH_BOX_X + PANEL_HEALTH_XOFF;
|
|
||||||
y = PANEL_BOX_Y + PANEL_HEALTH_YOFF;
|
|
||||||
DisplayPanelNumber(pp, x, y, u->Health);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void PlayerUpdateAmmo(PLAYERp pp, short UpdateWeaponNum, short value)
|
void PlayerUpdateAmmo(PLAYERp pp, short UpdateWeaponNum, short value)
|
||||||
{
|
{
|
||||||
USERp u = User[pp->PlayerSprite];
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
@ -759,7 +749,6 @@ void PlayerUpdatePanelInfo(PLAYERp pp)
|
||||||
if (Prediction)
|
if (Prediction)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
PlayerUpdateHealth(pp, 0);
|
|
||||||
PlayerUpdateInventory(pp, pp->InventoryNum);
|
PlayerUpdateInventory(pp, pp->InventoryNum);
|
||||||
PlayerUpdateAmmo(pp, u->WeaponNum, 0);
|
PlayerUpdateAmmo(pp, u->WeaponNum, 0);
|
||||||
PlayerUpdateWeapon(pp, u->WeaponNum);
|
PlayerUpdateWeapon(pp, u->WeaponNum);
|
||||||
|
|
|
@ -36,10 +36,102 @@ Prepared for public release: 03/28/2005 - Charlie Wiederhold, 3D Realms
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "v_2ddrawer.h"
|
#include "v_2ddrawer.h"
|
||||||
|
#include "statusbar.h"
|
||||||
|
|
||||||
BEGIN_SW_NS
|
BEGIN_SW_NS
|
||||||
|
|
||||||
|
|
||||||
|
class DSWStatusBar : public DBaseStatusBar
|
||||||
|
{
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PANEL_HEALTH_BOX_X = 20,
|
||||||
|
PANEL_BOX_Y = (174-6),
|
||||||
|
PANEL_HEALTH_XOFF = 2,
|
||||||
|
PANEL_HEALTH_YOFF = 4,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PANEL_FONT_G = 3636,
|
||||||
|
PANEL_FONT_Y = 3646,
|
||||||
|
PANEL_FONT_R = 3656,
|
||||||
|
|
||||||
|
PANEL_SM_FONT_G = 3601,
|
||||||
|
PANEL_SM_FONT_Y = 3613,
|
||||||
|
PANEL_SM_FONT_R = 3625,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
void DisplayPanelNumber(double xs, double ys, int number)
|
||||||
|
{
|
||||||
|
char buffer[32];
|
||||||
|
char* ptr;
|
||||||
|
double x;
|
||||||
|
|
||||||
|
mysnprintf(buffer, 32, "%03d", number);
|
||||||
|
|
||||||
|
for (ptr = buffer, x = xs; *ptr; ptr++)
|
||||||
|
{
|
||||||
|
if (!isdigit(*ptr))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int tex = PANEL_FONT_G + (*ptr - '0');
|
||||||
|
DrawGraphic(tileGetTexture(tex), x, ys, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
||||||
|
x += tileWidth(tex) + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DrawStatusbarHealth(int value)
|
||||||
|
{
|
||||||
|
double x = PANEL_HEALTH_BOX_X + PANEL_HEALTH_XOFF;
|
||||||
|
double y = PANEL_BOX_Y + PANEL_HEALTH_YOFF;
|
||||||
|
DisplayPanelNumber(x, y, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void DrawStatusBar()
|
||||||
|
{
|
||||||
|
auto pp = Player + screenpeek;
|
||||||
|
USERp u = User[pp->PlayerSprite];
|
||||||
|
BeginStatusBar(320, 200, tileHeight(STATUS_BAR));
|
||||||
|
|
||||||
|
DrawGraphic(tileGetTexture(STATUS_BAR), 0, 200, DI_ITEM_LEFT_BOTTOM, 1, -1, -1, 1, 1);
|
||||||
|
DrawStatusbarHealth(u->Health);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
public:
|
||||||
|
void UpdateStatusBar(ClockTicks arg)
|
||||||
|
{
|
||||||
|
int nPalette = 0;
|
||||||
|
|
||||||
|
if (gs.BorderNum <= BORDER_NONE) return;
|
||||||
|
|
||||||
|
/*if (gs.BorderNum == BORDER_HUD)
|
||||||
|
{
|
||||||
|
DrawHUD2();
|
||||||
|
}
|
||||||
|
else*/ if (gs.BorderNum == BORDER_MINI_BAR)
|
||||||
|
{
|
||||||
|
//DrawHUD1(nPalette);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DrawStatusBar();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static void UpdateFrame(void)
|
static void UpdateFrame(void)
|
||||||
{
|
{
|
||||||
|
@ -59,14 +151,14 @@ static void UpdateFrame(void)
|
||||||
|
|
||||||
void UpdateStatusBar(ClockTicks arg)
|
void UpdateStatusBar(ClockTicks arg)
|
||||||
{
|
{
|
||||||
//DSWStatusBar sbar;
|
DSWStatusBar sbar;
|
||||||
|
|
||||||
if (gs.BorderNum >= BORDER_BAR)
|
if (gs.BorderNum >= BORDER_BAR)
|
||||||
{
|
{
|
||||||
UpdateFrame();
|
UpdateFrame();
|
||||||
}
|
}
|
||||||
|
|
||||||
//sbar.UpdateStatusBar(arg);
|
sbar.UpdateStatusBar(arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue