mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-27 20:20:40 +00:00
parent
530debd24b
commit
c0d46f6a69
6 changed files with 58 additions and 186 deletions
|
@ -218,6 +218,13 @@ CCMD(scaledown)
|
||||||
if (hud_scale != oldscale) gi->PlayHudSound();
|
if (hud_scale != oldscale) gi->PlayHudSound();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CUSTOM_CVARD(Float, hud_statscale, 2, CVAR_ARCHIVE, "change the scale of the stats display")
|
||||||
|
{
|
||||||
|
if (self < 0.5) self = 0.5;
|
||||||
|
else if (self > 4) self = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
CVARD(Bool, hud_stats, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/disable level statistics display")
|
CVARD(Bool, hud_stats, false, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/disable level statistics display")
|
||||||
CVARD(Bool, hud_showmapname, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/disable map name display on load")
|
CVARD(Bool, hud_showmapname, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG, "enable/disable map name display on load")
|
||||||
CVARD(Bool, hud_position, false, CVAR_ARCHIVE, "aligns the status bar to the bottom/top")
|
CVARD(Bool, hud_position, false, CVAR_ARCHIVE, "aligns the status bar to the bottom/top")
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
#include "v_draw.h"
|
#include "v_draw.h"
|
||||||
#include "v_font.h"
|
#include "v_font.h"
|
||||||
#include "v_draw.h"
|
#include "v_draw.h"
|
||||||
|
#include "gamecvars.h"
|
||||||
|
|
||||||
#include "../version.h"
|
#include "../version.h"
|
||||||
|
|
||||||
|
@ -65,14 +66,12 @@
|
||||||
|
|
||||||
EXTERN_CVAR (Bool, am_showmonsters)
|
EXTERN_CVAR (Bool, am_showmonsters)
|
||||||
EXTERN_CVAR (Bool, am_showsecrets)
|
EXTERN_CVAR (Bool, am_showsecrets)
|
||||||
EXTERN_CVAR (Bool, am_showitems)
|
|
||||||
EXTERN_CVAR (Bool, am_showtime)
|
EXTERN_CVAR (Bool, am_showtime)
|
||||||
EXTERN_CVAR (Bool, am_showtotaltime)
|
EXTERN_CVAR (Bool, am_showtotaltime)
|
||||||
EXTERN_CVAR (Bool, noisedebug)
|
EXTERN_CVAR (Bool, noisedebug)
|
||||||
EXTERN_CVAR (Int, con_scaletext)
|
EXTERN_CVAR (Int, con_scaletext)
|
||||||
EXTERN_CVAR(Bool, vid_fps)
|
EXTERN_CVAR(Bool, vid_fps)
|
||||||
EXTERN_CVAR(Bool, inter_subtitles)
|
EXTERN_CVAR(Bool, inter_subtitles)
|
||||||
CVAR(Int, newhud_scale, 1, CVAR_ARCHIVE)
|
|
||||||
CVAR(Bool, log_vgafont, false, CVAR_ARCHIVE)
|
CVAR(Bool, log_vgafont, false, CVAR_ARCHIVE)
|
||||||
|
|
||||||
DBaseStatusBar *StatusBar;
|
DBaseStatusBar *StatusBar;
|
||||||
|
@ -83,29 +82,6 @@ FGameTexture *CrosshairImage;
|
||||||
static int CrosshairNum;
|
static int CrosshairNum;
|
||||||
|
|
||||||
|
|
||||||
// Stretch status bar to full screen width?
|
|
||||||
CUSTOM_CVAR (Int, st_scale, 0, CVAR_ARCHIVE)
|
|
||||||
{
|
|
||||||
if (self < -1)
|
|
||||||
{
|
|
||||||
self = -1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (StatusBar)
|
|
||||||
{
|
|
||||||
StatusBar->SetScale();
|
|
||||||
setsizeneeded = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
CUSTOM_CVAR(Bool, hud_aspectscale, false, CVAR_ARCHIVE)
|
|
||||||
{
|
|
||||||
if (StatusBar)
|
|
||||||
{
|
|
||||||
StatusBar->SetScale();
|
|
||||||
setsizeneeded = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CVAR (Bool, crosshairon, true, CVAR_ARCHIVE);
|
CVAR (Bool, crosshairon, true, CVAR_ARCHIVE);
|
||||||
CVAR (Int, crosshair, 0, CVAR_ARCHIVE)
|
CVAR (Int, crosshair, 0, CVAR_ARCHIVE)
|
||||||
CVAR (Bool, crosshairforce, false, CVAR_ARCHIVE)
|
CVAR (Bool, crosshairforce, false, CVAR_ARCHIVE)
|
||||||
|
@ -151,7 +127,6 @@ DBaseStatusBar::DBaseStatusBar ()
|
||||||
CrosshairSize = 1.;
|
CrosshairSize = 1.;
|
||||||
Displacement = 0;
|
Displacement = 0;
|
||||||
ShowLog = false;
|
ShowLog = false;
|
||||||
defaultScale = { (double)CleanXfac, (double)CleanYfac };
|
|
||||||
SetSize(0);
|
SetSize(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,47 +157,6 @@ void DBaseStatusBar::SetSize(int reltop, int hres, int vres, int hhres, int hvre
|
||||||
SetDrawSize(reltop, hres, vres);
|
SetDrawSize(reltop, hres, vres);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ST_CalcCleanFacs(int designwidth, int designheight, int realwidth, int realheight, int *cleanx, int *cleany)
|
|
||||||
{
|
|
||||||
float ratio;
|
|
||||||
int cwidth;
|
|
||||||
int cheight;
|
|
||||||
int cx1, cy1, cx2, cy2;
|
|
||||||
|
|
||||||
ratio = ActiveRatio(realwidth, realheight);
|
|
||||||
if (AspectTallerThanWide(ratio))
|
|
||||||
{
|
|
||||||
cwidth = realwidth;
|
|
||||||
cheight = realheight * AspectMultiplier(ratio) / 48;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cwidth = realwidth * AspectMultiplier(ratio) / 48;
|
|
||||||
cheight = realheight;
|
|
||||||
}
|
|
||||||
// Use whichever pair of cwidth/cheight or width/height that produces less difference
|
|
||||||
// between CleanXfac and CleanYfac.
|
|
||||||
cx1 = MAX(cwidth / designwidth, 1);
|
|
||||||
cy1 = MAX(cheight / designheight, 1);
|
|
||||||
cx2 = MAX(realwidth / designwidth, 1);
|
|
||||||
cy2 = MAX(realheight / designheight, 1);
|
|
||||||
if (abs(cx1 - cy1) <= abs(cx2 - cy2) || MAX(cx1, cx2) >= 4)
|
|
||||||
{ // e.g. 640x360 looks better with this.
|
|
||||||
*cleanx = cx1;
|
|
||||||
*cleany = cy1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // e.g. 720x480 looks better with this.
|
|
||||||
*cleanx = cx2;
|
|
||||||
*cleany = cy2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (*cleanx < *cleany)
|
|
||||||
*cleany = *cleanx;
|
|
||||||
else
|
|
||||||
*cleanx = *cleany;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DBaseStatusBar::SetDrawSize(int reltop, int hres, int vres)
|
void DBaseStatusBar::SetDrawSize(int reltop, int hres, int vres)
|
||||||
{
|
{
|
||||||
ValidateResolution(hres, vres);
|
ValidateResolution(hres, vres);
|
||||||
|
@ -230,10 +164,6 @@ void DBaseStatusBar::SetDrawSize(int reltop, int hres, int vres)
|
||||||
RelTop = reltop;
|
RelTop = reltop;
|
||||||
HorizontalResolution = hres;
|
HorizontalResolution = hres;
|
||||||
VerticalResolution = vres;
|
VerticalResolution = vres;
|
||||||
int x, y;
|
|
||||||
ST_CalcCleanFacs(hres, vres, SCREENWIDTH, SCREENHEIGHT, &x, &y);
|
|
||||||
defaultScale = { (double)x, (double)y };
|
|
||||||
|
|
||||||
SetScale(); // recalculate positioning info.
|
SetScale(); // recalculate positioning info.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,55 +177,41 @@ void DBaseStatusBar::SetScale ()
|
||||||
{
|
{
|
||||||
ValidateResolution(HorizontalResolution, VerticalResolution);
|
ValidateResolution(HorizontalResolution, VerticalResolution);
|
||||||
|
|
||||||
int w = SCREENWIDTH;
|
double w = SCREENWIDTH;
|
||||||
int h = SCREENHEIGHT;
|
double h = SCREENHEIGHT;
|
||||||
if (st_scale < 0 || ForcedScale)
|
double refw, refh;
|
||||||
{
|
|
||||||
// This is the classic fullscreen scale with aspect ratio compensation.
|
|
||||||
int sby = VerticalResolution - RelTop;
|
|
||||||
float aspect = ActiveRatio(w, h);
|
|
||||||
if (!AspectTallerThanWide(aspect))
|
|
||||||
{
|
|
||||||
// Wider or equal than 4:3
|
|
||||||
SBarTop = Scale(sby, h, VerticalResolution);
|
|
||||||
double width4_3 = w * 1.333 / aspect;
|
|
||||||
ST_X = int((w - width4_3) / 2);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // 5:4 resolution
|
|
||||||
ST_X = 0;
|
|
||||||
|
|
||||||
// this was far more obtuse before...
|
int horz = HorizontalResolution;
|
||||||
double height4_3 = h * aspect / 1.333;
|
int vert = VerticalResolution;
|
||||||
SBarTop = int(h - height4_3 + sby * height4_3 / VerticalResolution);
|
double refaspect = horz / double(vert);
|
||||||
}
|
double screenaspect = w / double(h);
|
||||||
Displacement = 0;
|
|
||||||
SBarScale.X = -1;
|
if ((horz == 320 && vert == 200) || (horz == 640 && vert == 400))
|
||||||
ST_Y = 0;
|
{
|
||||||
|
refaspect = 1.333;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (screenaspect < refaspect)
|
||||||
|
{
|
||||||
|
refw = w;
|
||||||
|
refh = w / refaspect;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Since status bars and HUDs can be designed for non 320x200 screens this needs to be factored in here.
|
refh = h;
|
||||||
// The global scaling factors are for resources at 320x200, so if the actual ones are higher resolution
|
refw = h * refaspect;
|
||||||
// the resulting scaling factor needs to be reduced accordingly.
|
|
||||||
int realscale = clamp((320 * GetUIScale(twod, st_scale)) / HorizontalResolution, 1, w / HorizontalResolution);
|
|
||||||
|
|
||||||
double realscaley = realscale * (hud_aspectscale ? 1.2 : 1.);
|
|
||||||
|
|
||||||
ST_X = (w - HorizontalResolution * realscale) / 2;
|
|
||||||
SBarTop = int(h - RelTop * realscaley);
|
|
||||||
if (RelTop > 0)
|
|
||||||
{
|
|
||||||
Displacement = double((SBarTop * VerticalResolution / h) - (VerticalResolution - RelTop))/RelTop/realscaley;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Displacement = 0;
|
|
||||||
}
|
|
||||||
SBarScale.X = realscale;
|
|
||||||
SBarScale.Y = realscaley;
|
|
||||||
ST_Y = int(h - VerticalResolution * realscaley);
|
|
||||||
}
|
}
|
||||||
|
refw *= (hud_scale / 100.);
|
||||||
|
refh *= (hud_scale / 100.);
|
||||||
|
|
||||||
|
int sby = VerticalResolution - RelTop;
|
||||||
|
// Use full pixels for destination size.
|
||||||
|
|
||||||
|
ST_X = xs_CRoundToInt((w - refw) / 2);
|
||||||
|
ST_Y = xs_CRoundToInt(h - refh);
|
||||||
|
SBarTop = Scale(sby, h, VerticalResolution);
|
||||||
|
SBarScale.X = refw / horz;
|
||||||
|
SBarScale.Y = refh / vert;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -306,22 +222,7 @@ void DBaseStatusBar::SetScale ()
|
||||||
|
|
||||||
DVector2 DBaseStatusBar::GetHUDScale() const
|
DVector2 DBaseStatusBar::GetHUDScale() const
|
||||||
{
|
{
|
||||||
int scale;
|
return SBarScale;
|
||||||
if (newhud_scale < 0 || ForcedScale) // a negative value is the equivalent to the old boolean hud_scale. This can yield different values for x and y for higher resolutions.
|
|
||||||
{
|
|
||||||
return defaultScale;
|
|
||||||
}
|
|
||||||
scale = GetUIScale(twod, newhud_scale);
|
|
||||||
|
|
||||||
int hres = HorizontalResolution;
|
|
||||||
int vres = VerticalResolution;
|
|
||||||
ValidateResolution(hres, vres);
|
|
||||||
|
|
||||||
// Since status bars and HUDs can be designed for non 320x200 screens this needs to be factored in here.
|
|
||||||
// The global scaling factors are for resources at 320x200, so if the actual ones are higher resolution
|
|
||||||
// the resulting scaling factor needs to be reduced accordingly.
|
|
||||||
int realscale = MAX<int>(1, (320 * scale) / hres);
|
|
||||||
return{ double(realscale), double(realscale * (hud_aspectscale ? 1.2 : 1.)) };
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
@ -330,10 +231,9 @@ DVector2 DBaseStatusBar::GetHUDScale() const
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DBaseStatusBar::BeginStatusBar(int resW, int resH, int relTop, bool forceScaled)
|
void DBaseStatusBar::BeginStatusBar(int resW, int resH, int relTop)
|
||||||
{
|
{
|
||||||
SetDrawSize(relTop < 0? BaseRelTop : relTop, resW < 0? BaseSBarHorizontalResolution : resW, resH < 0? BaseSBarVerticalResolution : resH);
|
SetDrawSize(relTop < 0? BaseRelTop : relTop, resW < 0? BaseSBarHorizontalResolution : resW, resH < 0? BaseSBarVerticalResolution : resH);
|
||||||
ForcedScale = forceScaled;
|
|
||||||
fullscreenOffsets = false;
|
fullscreenOffsets = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -343,11 +243,10 @@ void DBaseStatusBar::BeginStatusBar(int resW, int resH, int relTop, bool forceSc
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DBaseStatusBar::BeginHUD(int resW, int resH, double Alpha, bool forcescaled)
|
void DBaseStatusBar::BeginHUD(int resW, int resH, double Alpha)
|
||||||
{
|
{
|
||||||
SetDrawSize(RelTop, resW < 0? BaseHUDHorizontalResolution : resW, resH < 0? BaseHUDVerticalResolution : resH);
|
SetDrawSize(RelTop, resW < 0? BaseHUDHorizontalResolution : resW, resH < 0? BaseHUDVerticalResolution : resH);
|
||||||
this->Alpha = Alpha;
|
this->Alpha = Alpha;
|
||||||
ForcedScale = forcescaled;
|
|
||||||
CompleteBorder = false;
|
CompleteBorder = false;
|
||||||
fullscreenOffsets = true;
|
fullscreenOffsets = true;
|
||||||
}
|
}
|
||||||
|
@ -360,18 +259,6 @@ void DBaseStatusBar::BeginHUD(int resW, int resH, double Alpha, bool forcescaled
|
||||||
|
|
||||||
void DBaseStatusBar::Tick ()
|
void DBaseStatusBar::Tick ()
|
||||||
{
|
{
|
||||||
if (artiflashTick > 0)
|
|
||||||
artiflashTick--;
|
|
||||||
|
|
||||||
if (itemflashFade > 0)
|
|
||||||
{
|
|
||||||
itemflashFade -= 1 / 14.;
|
|
||||||
if (itemflashFade < 0)
|
|
||||||
{
|
|
||||||
itemflashFade = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
@ -382,21 +269,10 @@ void DBaseStatusBar::Tick ()
|
||||||
|
|
||||||
void DBaseStatusBar::StatusbarToRealCoords(double &x, double &y, double &w, double &h) const
|
void DBaseStatusBar::StatusbarToRealCoords(double &x, double &y, double &w, double &h) const
|
||||||
{
|
{
|
||||||
if (SBarScale.X == -1 || ForcedScale)
|
x = ST_X + x * SBarScale.X;
|
||||||
{
|
y = ST_Y + y * SBarScale.Y;
|
||||||
int hres = HorizontalResolution;
|
w *= SBarScale.X;
|
||||||
int vres = VerticalResolution;
|
h *= SBarScale.Y;
|
||||||
ValidateResolution(hres, vres);
|
|
||||||
|
|
||||||
VirtualToRealCoords(twod, x, y, w, h, hres, vres, true);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
x = ST_X + x * SBarScale.X;
|
|
||||||
y = ST_Y + y * SBarScale.Y;
|
|
||||||
w *= SBarScale.X;
|
|
||||||
h *= SBarScale.Y;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
|
@ -812,8 +688,6 @@ void FormatNumber(int number, int minsize, int maxsize, int flags, const FString
|
||||||
else fmt.Format("%s%*d", prefix.GetChars(), minsize, number);
|
else fmt.Format("%s%*d", prefix.GetChars(), minsize, number);
|
||||||
}
|
}
|
||||||
|
|
||||||
CVAR(Float, hud_statscale, 2, CVAR_ARCHIVE)
|
|
||||||
|
|
||||||
void DBaseStatusBar::PrintLevelStats(FLevelStats &stats)
|
void DBaseStatusBar::PrintLevelStats(FLevelStats &stats)
|
||||||
{
|
{
|
||||||
double y;
|
double y;
|
||||||
|
|
|
@ -184,9 +184,8 @@ public:
|
||||||
void TransformRect(double &x, double &y, double &w, double &h, int flags = 0);
|
void TransformRect(double &x, double &y, double &w, double &h, int flags = 0);
|
||||||
void Fill(PalEntry color, double x, double y, double w, double h, int flags = 0);
|
void Fill(PalEntry color, double x, double y, double w, double h, int flags = 0);
|
||||||
|
|
||||||
void BeginStatusBar(int resW, int resH, int relTop, bool forceScaled);
|
void BeginStatusBar(int resW, int resH, int relTop);
|
||||||
void BeginHUD(int resW, int resH, double Alpha, bool forceScaled = false);
|
void BeginHUD(int resW, int resH, double Alpha);
|
||||||
bool ForceHUDScale(bool on) { std::swap(ForcedScale, on); return on; } // This is for SBARINFO which should not use BeginStatusBar or BeginHUD.
|
|
||||||
void StatusbarToRealCoords(double &x, double &y, double &w, double &h) const;
|
void StatusbarToRealCoords(double &x, double &y, double &w, double &h) const;
|
||||||
void PrintLevelStats(FLevelStats& stats);
|
void PrintLevelStats(FLevelStats& stats);
|
||||||
int GetTopOfStatusbar() const
|
int GetTopOfStatusbar() const
|
||||||
|
@ -217,8 +216,6 @@ public:
|
||||||
int RelTop;
|
int RelTop;
|
||||||
int HorizontalResolution, VerticalResolution;
|
int HorizontalResolution, VerticalResolution;
|
||||||
bool Scaled; // This needs to go away.
|
bool Scaled; // This needs to go away.
|
||||||
DVector2 defaultScale; // factor for fully scaled fullscreen display.
|
|
||||||
bool ForcedScale = false;
|
|
||||||
|
|
||||||
bool Centering;
|
bool Centering;
|
||||||
bool FixedOrigin;
|
bool FixedOrigin;
|
||||||
|
@ -226,8 +223,6 @@ public:
|
||||||
double CrosshairSize;
|
double CrosshairSize;
|
||||||
double Displacement;
|
double Displacement;
|
||||||
bool ShowLog;
|
bool ShowLog;
|
||||||
int artiflashTick = 0;
|
|
||||||
double itemflashFade = 0.75;
|
|
||||||
|
|
||||||
double Alpha = 1.;
|
double Alpha = 1.;
|
||||||
DVector2 drawOffset = { 0,0 }; // can be set by subclasses to offset drawing operations
|
DVector2 drawOffset = { 0,0 }; // can be set by subclasses to offset drawing operations
|
||||||
|
@ -235,10 +230,6 @@ public:
|
||||||
bool fullscreenOffsets = false; // current screen is displayed with fullscreen behavior.
|
bool fullscreenOffsets = false; // current screen is displayed with fullscreen behavior.
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool RepositionCoords (int &x, int &y, int xo, int yo, const int w, const int h) const;
|
|
||||||
void DrawMessages (int layer, int bottom);
|
|
||||||
void DrawConsistancy () const;
|
|
||||||
void DrawWaiting () const;
|
|
||||||
void SetDrawSize(int reltop, int hres, int vres);
|
void SetDrawSize(int reltop, int hres, int vres);
|
||||||
|
|
||||||
int BaseRelTop;
|
int BaseRelTop;
|
||||||
|
|
|
@ -246,7 +246,7 @@ public:
|
||||||
void DrawHud(int snum, int style)
|
void DrawHud(int snum, int style)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
BeginHUD(320, 200, 1.f, false);
|
BeginHUD(320, 200, 1.f);
|
||||||
if (style == 1)
|
if (style == 1)
|
||||||
{
|
{
|
||||||
DrawInventory(p, 0, -46, DI_SCREEN_CENTER_BOTTOM);
|
DrawInventory(p, 0, -46, DI_SCREEN_CENTER_BOTTOM);
|
||||||
|
@ -356,7 +356,7 @@ public:
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
int h = tilesiz[TILE_BOTTOMSTATUSBAR].y;
|
int h = tilesiz[TILE_BOTTOMSTATUSBAR].y;
|
||||||
int top = 200 - h;
|
int top = 200 - h;
|
||||||
BeginStatusBar(320, 200, h, true);
|
BeginStatusBar(320, 200, h);
|
||||||
DrawInventory(p, 160, 154, 0);
|
DrawInventory(p, 160, 154, 0);
|
||||||
DrawGraphic(tileGetTexture(TILE_BOTTOMSTATUSBAR), 0, top, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
DrawGraphic(tileGetTexture(TILE_BOTTOMSTATUSBAR), 0, top, DI_ITEM_LEFT_TOP, 1, -1, -1, 1, 1);
|
||||||
|
|
||||||
|
|
|
@ -223,7 +223,7 @@ public:
|
||||||
void DrawHud(int snum, int style)
|
void DrawHud(int snum, int style)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
BeginHUD(320, 200, 1.f, false);
|
BeginHUD(320, 200, 1.f);
|
||||||
if (style == 1)
|
if (style == 1)
|
||||||
{
|
{
|
||||||
double y = -40;
|
double y = -40;
|
||||||
|
@ -291,7 +291,7 @@ public:
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
double h = tilesiz[BOTTOMSTATUSBAR].y * scale;
|
double h = tilesiz[BOTTOMSTATUSBAR].y * scale;
|
||||||
double top = 200 - h;
|
double top = 200 - h;
|
||||||
BeginStatusBar(320, 200, h, true);
|
BeginStatusBar(320, 200, h);
|
||||||
DrawInventory(p, 160, 154, 0);
|
DrawInventory(p, 160, 154, 0);
|
||||||
|
|
||||||
if (hud_size < 7)
|
if (hud_size < 7)
|
||||||
|
|
|
@ -1017,10 +1017,9 @@ OptionMenu "HUDOptions" //protected
|
||||||
{
|
{
|
||||||
Title "$OPTMNU_HUD"
|
Title "$OPTMNU_HUD"
|
||||||
|
|
||||||
ifgame(duke, nam, ww2gi, redneck, redneckrides, fury)
|
ifgame(duke, nam, ww2gi, redneck, redneckrides)
|
||||||
{
|
{
|
||||||
Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 11.0, 1.0, -1
|
Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 11.0, 1.0, -1
|
||||||
Slider "$DSPLYMNU_SBSCALE", "hud_scale", 35, 100, 5, 2
|
|
||||||
}
|
}
|
||||||
ifgame(blood)
|
ifgame(blood)
|
||||||
{
|
{
|
||||||
|
@ -1034,12 +1033,13 @@ OptionMenu "HUDOptions" //protected
|
||||||
{
|
{
|
||||||
Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 8.0, 1.0, -1
|
Slider "$DSPLYMNU_SCREENSIZE", "hud_size", 0.0, 8.0, 1.0, -1
|
||||||
}
|
}
|
||||||
|
Slider "$DSPLYMNU_SBSCALE", "hud_scale", 36, 100, 4, 2
|
||||||
|
StaticText ""
|
||||||
Option "$DSPLYMNU_LEVELSTATS", "hud_stats", "OnOff"
|
Option "$DSPLYMNU_LEVELSTATS", "hud_stats", "OnOff"
|
||||||
ifgame(duke, nam, ww2gi, redneck, redneckrides, fury, Deer)
|
Slider "$DSPLYMNU_STATSCALE", "hud_statscale", .5, 3, 0.25, 2
|
||||||
{
|
|
||||||
Slider "$DSPLYMNU_TEXTSCALE", "hud_textscale", 100, 400, 20, 2
|
//Slider "$DSPLYMNU_TEXTSCALE", "hud_textscale", 100, 400, 20, 2
|
||||||
}
|
|
||||||
StaticText ""
|
StaticText ""
|
||||||
Option "$DSPLYMNU_MESSAGES", "hud_messages", "HudMessages"
|
Option "$DSPLYMNU_MESSAGES", "hud_messages", "HudMessages"
|
||||||
StaticText ""
|
StaticText ""
|
||||||
|
|
Loading…
Reference in a new issue