mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-02-19 02:21:08 +00:00
Merge remote-tracking branch 'gzdoom/master' into newmaster
This commit is contained in:
commit
775a94a5d2
14 changed files with 199 additions and 36 deletions
|
@ -106,6 +106,7 @@
|
||||||
|
|
||||||
EXTERN_CVAR(Bool, hud_althud)
|
EXTERN_CVAR(Bool, hud_althud)
|
||||||
EXTERN_CVAR(Int, vr_mode)
|
EXTERN_CVAR(Int, vr_mode)
|
||||||
|
EXTERN_CVAR(Bool, cl_customizeinvulmap)
|
||||||
void DrawHUD();
|
void DrawHUD();
|
||||||
void D_DoAnonStats();
|
void D_DoAnonStats();
|
||||||
void I_DetectOS();
|
void I_DetectOS();
|
||||||
|
@ -2752,6 +2753,10 @@ static int D_DoomMain_Internal (void)
|
||||||
C_RunDelayedCommands();
|
C_RunDelayedCommands();
|
||||||
gamestate = GS_STARTUP;
|
gamestate = GS_STARTUP;
|
||||||
|
|
||||||
|
// enable custom invulnerability map here
|
||||||
|
if (cl_customizeinvulmap)
|
||||||
|
R_InitColormaps(true);
|
||||||
|
|
||||||
if (!restart)
|
if (!restart)
|
||||||
{
|
{
|
||||||
// start the apropriate game based on parms
|
// start the apropriate game based on parms
|
||||||
|
|
|
@ -434,6 +434,8 @@ public:
|
||||||
virtual void SetMugShotState (const char *state_name, bool wait_till_done=false, bool reset=false);
|
virtual void SetMugShotState (const char *state_name, bool wait_till_done=false, bool reset=false);
|
||||||
void DrawLog();
|
void DrawLog();
|
||||||
uint32_t GetTranslation() const;
|
uint32_t GetTranslation() const;
|
||||||
|
|
||||||
|
void CreateAltHUD();
|
||||||
void DrawAltHUD();
|
void DrawAltHUD();
|
||||||
|
|
||||||
void DrawGraphic(FTextureID texture, double x, double y, int flags, double Alpha, double boxwidth, double boxheight, double scaleX, double scaleY);
|
void DrawGraphic(FTextureID texture, double x, double y, int flags, double Alpha, double boxwidth, double boxheight, double scaleX, double scaleY);
|
||||||
|
|
|
@ -93,6 +93,65 @@ CVAR (Int, hudcolor_stats, CR_GREEN, CVAR_ARCHIVE) // For the stats values the
|
||||||
CVAR(Bool, map_point_coordinates, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) // show player or map coordinates?
|
CVAR(Bool, map_point_coordinates, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG) // show player or map coordinates?
|
||||||
|
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// Create Alternative HUD
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
CUSTOM_CVAR(Bool, hud_althud_forceinternal, false, CVAR_ARCHIVE | CVAR_NOINITCALL)
|
||||||
|
{
|
||||||
|
if (StatusBar)
|
||||||
|
StatusBar->CreateAltHUD();
|
||||||
|
}
|
||||||
|
|
||||||
|
static DObject* DoCreateAltHUD(const FName classname)
|
||||||
|
{
|
||||||
|
if (classname == NAME_None)
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
const auto cls = PClass::FindClass(classname);
|
||||||
|
if (!cls)
|
||||||
|
{
|
||||||
|
Printf(TEXTCOLOR_RED "Unknown alternative HUD class \"%s\"\n", classname.GetChars());
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!cls->IsDescendantOf(NAME_AltHud))
|
||||||
|
{
|
||||||
|
Printf(TEXTCOLOR_RED "Alternative HUD class \"%s\" is not derived from AltHud\n", classname.GetChars());
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto althud = cls->CreateNew();
|
||||||
|
|
||||||
|
IFVIRTUALPTRNAME(althud, NAME_AltHud, Init)
|
||||||
|
{
|
||||||
|
VMValue params[] = { althud };
|
||||||
|
VMCall(func, params, countof(params), nullptr, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return althud;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DBaseStatusBar::CreateAltHUD()
|
||||||
|
{
|
||||||
|
if (AltHud)
|
||||||
|
{
|
||||||
|
AltHud->Destroy();
|
||||||
|
AltHud = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hud_althud_forceinternal)
|
||||||
|
AltHud = DoCreateAltHUD(gameinfo.althudclass);
|
||||||
|
|
||||||
|
if (!AltHud)
|
||||||
|
AltHud = DoCreateAltHUD(NAME_AltHud);
|
||||||
|
|
||||||
|
assert(AltHud);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// draw the HUD
|
// draw the HUD
|
||||||
|
|
|
@ -334,7 +334,6 @@ void ST_CreateStatusBar(bool bTitleLevel)
|
||||||
// Constructor
|
// Constructor
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
DBaseStatusBar::DBaseStatusBar ()
|
DBaseStatusBar::DBaseStatusBar ()
|
||||||
{
|
{
|
||||||
CompleteBorder = false;
|
CompleteBorder = false;
|
||||||
|
@ -347,20 +346,7 @@ DBaseStatusBar::DBaseStatusBar ()
|
||||||
ShowLog = false;
|
ShowLog = false;
|
||||||
defaultScale = { (double)CleanXfac, (double)CleanYfac };
|
defaultScale = { (double)CleanXfac, (double)CleanYfac };
|
||||||
|
|
||||||
// Create the AltHud object. Todo: Make class type configurable.
|
CreateAltHUD();
|
||||||
FName classname = "AltHud";
|
|
||||||
auto cls = PClass::FindClass(classname);
|
|
||||||
if (cls)
|
|
||||||
{
|
|
||||||
AltHud = cls->CreateNew();
|
|
||||||
|
|
||||||
VMFunction * func = PClass::FindFunction(classname, "Init");
|
|
||||||
if (func != nullptr)
|
|
||||||
{
|
|
||||||
VMValue params[] = { AltHud };
|
|
||||||
VMCall(func, params, countof(params), nullptr, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ValidateResolution(int &hres, int &vres)
|
static void ValidateResolution(int &hres, int &vres)
|
||||||
|
|
|
@ -390,6 +390,7 @@ void FMapInfoParser::ParseGameInfo()
|
||||||
GAMEINFOKEY_STRING(backpacktype, "backpacktype")
|
GAMEINFOKEY_STRING(backpacktype, "backpacktype")
|
||||||
GAMEINFOKEY_STRING_STAMPED(statusbar, "statusbar", statusbarfile)
|
GAMEINFOKEY_STRING_STAMPED(statusbar, "statusbar", statusbarfile)
|
||||||
GAMEINFOKEY_STRING_STAMPED(statusbarclass, "statusbarclass", statusbarclassfile)
|
GAMEINFOKEY_STRING_STAMPED(statusbarclass, "statusbarclass", statusbarclassfile)
|
||||||
|
GAMEINFOKEY_STRING(althudclass, "althudclass")
|
||||||
GAMEINFOKEY_MUSIC(intermissionMusic, intermissionOrder, "intermissionMusic")
|
GAMEINFOKEY_MUSIC(intermissionMusic, intermissionOrder, "intermissionMusic")
|
||||||
GAMEINFOKEY_STRING(CursorPic, "CursorPic")
|
GAMEINFOKEY_STRING(CursorPic, "CursorPic")
|
||||||
GAMEINFOKEY_STRING(MessageBoxClass, "MessageBoxClass")
|
GAMEINFOKEY_STRING(MessageBoxClass, "MessageBoxClass")
|
||||||
|
|
|
@ -158,6 +158,7 @@ struct gameinfo_t
|
||||||
FString statusbar;
|
FString statusbar;
|
||||||
int statusbarfile = -1;
|
int statusbarfile = -1;
|
||||||
FName statusbarclass;
|
FName statusbarclass;
|
||||||
|
FName althudclass;
|
||||||
int statusbarclassfile = -1;
|
int statusbarclassfile = -1;
|
||||||
FName MessageBoxClass;
|
FName MessageBoxClass;
|
||||||
FName backpacktype;
|
FName backpacktype;
|
||||||
|
|
|
@ -371,6 +371,12 @@ int FWadCollection::GetNumLumps () const
|
||||||
return NumLumps;
|
return NumLumps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(_Wads, GetNumLumps)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
ACTION_RETURN_INT(Wads.GetNumLumps());
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// GetNumFiles
|
// GetNumFiles
|
||||||
|
@ -1220,6 +1226,15 @@ void FWadCollection::GetLumpName(FString &to, int lump) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(_Wads, GetLumpName)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
PARAM_INT(lump);
|
||||||
|
FString lumpname;
|
||||||
|
Wads.GetLumpName(lumpname, lump);
|
||||||
|
ACTION_RETURN_STRING(lumpname);
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// FWadCollection :: GetLumpFullName
|
// FWadCollection :: GetLumpFullName
|
||||||
|
@ -1238,6 +1253,13 @@ const char *FWadCollection::GetLumpFullName (int lump) const
|
||||||
return LumpInfo[lump].lump->Name;
|
return LumpInfo[lump].lump->Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(_Wads, GetLumpFullName)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
PARAM_INT(lump);
|
||||||
|
ACTION_RETURN_STRING(Wads.GetLumpFullName(lump));
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// FWadCollection :: GetLumpFullPath
|
// FWadCollection :: GetLumpFullPath
|
||||||
|
@ -1271,6 +1293,13 @@ int FWadCollection::GetLumpNamespace (int lump) const
|
||||||
return LumpInfo[lump].lump->Namespace;
|
return LumpInfo[lump].lump->Namespace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(_Wads, GetLumpNamespace)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
PARAM_INT(lump);
|
||||||
|
ACTION_RETURN_INT(Wads.GetLumpNamespace(lump));
|
||||||
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
//
|
//
|
||||||
// FWadCollection :: GetLumpIndexNum
|
// FWadCollection :: GetLumpIndexNum
|
||||||
|
|
|
@ -44,6 +44,22 @@
|
||||||
#include "colormaps.h"
|
#include "colormaps.h"
|
||||||
#include "templates.h"
|
#include "templates.h"
|
||||||
|
|
||||||
|
CUSTOM_CVAR(Bool, cl_customizeinvulmap, false, CVAR_ARCHIVE|CVAR_NOINITCALL)
|
||||||
|
{
|
||||||
|
R_InitColormaps(true);
|
||||||
|
}
|
||||||
|
CUSTOM_CVAR(Color, cl_custominvulmapcolor1, 0x00001a, CVAR_ARCHIVE|CVAR_NOINITCALL)
|
||||||
|
{
|
||||||
|
if (cl_customizeinvulmap)
|
||||||
|
R_InitColormaps(true);
|
||||||
|
}
|
||||||
|
CUSTOM_CVAR(Color, cl_custominvulmapcolor2, 0xa6a67a, CVAR_ARCHIVE|CVAR_NOINITCALL)
|
||||||
|
{
|
||||||
|
if (cl_customizeinvulmap)
|
||||||
|
R_InitColormaps(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TArray<FakeCmap> fakecmaps;
|
TArray<FakeCmap> fakecmaps;
|
||||||
|
|
||||||
TArray<FSpecialColormap> SpecialColormaps;
|
TArray<FSpecialColormap> SpecialColormaps;
|
||||||
|
@ -164,7 +180,7 @@ void R_DeinitColormaps ()
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void R_InitColormaps ()
|
void R_InitColormaps (bool allowCustomColormap)
|
||||||
{
|
{
|
||||||
// [RH] Try and convert BOOM colormaps into blending values.
|
// [RH] Try and convert BOOM colormaps into blending values.
|
||||||
// This is a really rough hack, but it's better than
|
// This is a really rough hack, but it's better than
|
||||||
|
@ -242,6 +258,25 @@ void R_InitColormaps ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// some of us really don't like Doom's idea of an invulnerability sphere colormap
|
||||||
|
// this hack will override that
|
||||||
|
if (allowCustomColormap && cl_customizeinvulmap)
|
||||||
|
{
|
||||||
|
uint32_t color1 = cl_custominvulmapcolor1;
|
||||||
|
uint32_t color2 = cl_custominvulmapcolor2;
|
||||||
|
float r1 = (float)((color1 & 0xff0000) >> 16) / 128.f;
|
||||||
|
float g1 = (float)((color1 & 0x00ff00) >> 8) / 128.f;
|
||||||
|
float b1 = (float)((color1 & 0x0000ff) >> 0) / 128.f;
|
||||||
|
float r2 = (float)((color2 & 0xff0000) >> 16) / 128.f;
|
||||||
|
float g2 = (float)((color2 & 0x00ff00) >> 8) / 128.f;
|
||||||
|
float b2 = (float)((color2 & 0x0000ff) >> 0) / 128.f;
|
||||||
|
SpecialColormapParms[0] = {{r1, g1, b1}, {r2, g2, b2}};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SpecialColormapParms[0] = {{1.0, 1.0, 1.0}, {0.0, 0.0, 0.0}};
|
||||||
|
}
|
||||||
|
|
||||||
// build default special maps (e.g. invulnerability)
|
// build default special maps (e.g. invulnerability)
|
||||||
|
|
||||||
for (unsigned i = 0; i < countof(SpecialColormapParms); ++i)
|
for (unsigned i = 0; i < countof(SpecialColormapParms); ++i)
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
struct lightlist_t;
|
struct lightlist_t;
|
||||||
|
|
||||||
void R_InitColormaps ();
|
void R_InitColormaps (bool allowCustomColormap = false);
|
||||||
void R_DeinitColormaps ();
|
void R_DeinitColormaps ();
|
||||||
|
|
||||||
uint32_t R_ColormapNumForName(const char *name); // killough 4/4/98
|
uint32_t R_ColormapNumForName(const char *name); // killough 4/4/98
|
||||||
|
|
|
@ -1091,3 +1091,4 @@ xx(PlayerTeam)
|
||||||
xx(PlayerColors)
|
xx(PlayerColors)
|
||||||
xx(PlayerSkin)
|
xx(PlayerSkin)
|
||||||
xx(NewPlayerMenu)
|
xx(NewPlayerMenu)
|
||||||
|
xx(AltHud)
|
||||||
|
|
|
@ -925,6 +925,9 @@ OptionMenu "VideoOptions" protected
|
||||||
Slider "$DSPLYMNU_CONTRAST", "vid_contrast", 0.1, 3.0, 0.1
|
Slider "$DSPLYMNU_CONTRAST", "vid_contrast", 0.1, 3.0, 0.1
|
||||||
Slider "$DSPLYMNU_SATURATION", "vid_saturation", -3.0, 3.0, 0.25, 2
|
Slider "$DSPLYMNU_SATURATION", "vid_saturation", -3.0, 3.0, 0.25, 2
|
||||||
StaticText " "
|
StaticText " "
|
||||||
|
Option "$DSPLYMNU_CUSTOMINVERTMAP", "cl_customizeinvulmap", "OnOff"
|
||||||
|
ColorPicker "$DSPLYMNU_CUSTOMINVERTC1", "cl_custominvulmapcolor1"
|
||||||
|
ColorPicker "$DSPLYMNU_CUSTOMINVERTC2", "cl_custominvulmapcolor2"
|
||||||
Option "$DSPLYMNU_WIPETYPE", "wipetype", "Wipes"
|
Option "$DSPLYMNU_WIPETYPE", "wipetype", "Wipes"
|
||||||
Option "$DSPLYMNU_DRAWFUZZ", "r_drawfuzz", "Fuzziness"
|
Option "$DSPLYMNU_DRAWFUZZ", "r_drawfuzz", "Fuzziness"
|
||||||
Option "$DSPLYMNU_OLDTRANS", "r_vanillatrans", "VanillaTrans"
|
Option "$DSPLYMNU_OLDTRANS", "r_vanillatrans", "VanillaTrans"
|
||||||
|
|
|
@ -873,6 +873,11 @@ struct Wads
|
||||||
native static int CheckNumForFullName(string name);
|
native static int CheckNumForFullName(string name);
|
||||||
native static int FindLump(string name, int startlump = 0, FindLumpNamespace ns = GlobalNamespace);
|
native static int FindLump(string name, int startlump = 0, FindLumpNamespace ns = GlobalNamespace);
|
||||||
native static string ReadLump(int lump);
|
native static string ReadLump(int lump);
|
||||||
|
|
||||||
|
native static int GetNumLumps();
|
||||||
|
native static string GetLumpName(int lump);
|
||||||
|
native static string GetLumpFullName(int lump);
|
||||||
|
native static int GetLumpNamespace(int lump);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TerrainDef native
|
struct TerrainDef native
|
||||||
|
|
|
@ -1478,6 +1478,15 @@ class LevelCompatibility : LevelPostProcessor
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case '25E178C981BAC28BA586B3B0A2A0FD72': // swan fox doom v2.4.wad map13
|
||||||
|
{
|
||||||
|
//Actors with no game mode will now appear
|
||||||
|
SetThingFlags(0, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
for(int i = 2; i < 452; i++)
|
||||||
|
SetThingFlags(i, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case 'FDFB3D209CC0F3706AAF3E51646003D5': // swan fox doom v2.4.wad map23
|
case 'FDFB3D209CC0F3706AAF3E51646003D5': // swan fox doom v2.4.wad map23
|
||||||
{
|
{
|
||||||
//Fix the exit portal to allow walking into it instead of shooting it
|
//Fix the exit portal to allow walking into it instead of shooting it
|
||||||
|
@ -1486,6 +1495,24 @@ class LevelCompatibility : LevelPostProcessor
|
||||||
ClearLineSpecial(2010);
|
ClearLineSpecial(2010);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 'BC969ED0191CCD9B69B316864362B0D7': // swan fox doom v2.4.wad map24
|
||||||
|
{
|
||||||
|
//Actors with no game mode will now appear
|
||||||
|
for(int i = 1; i < 88; i++)
|
||||||
|
SetThingFlags(i, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case 'ED740248422026326650F6A4BC1C0A5A': // swan fox doom v2.4.wad map25
|
||||||
|
{
|
||||||
|
//Actors with no game mode will now appear
|
||||||
|
for(int i = 0; i < 8; i++)
|
||||||
|
SetThingFlags(i, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
for(int i = 9; i < 26; i++)
|
||||||
|
SetThingFlags(i, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case '52F532F95E2D5862E56F7214FA5C5C59': // Toon Doom II (toon2b.wad) map10
|
case '52F532F95E2D5862E56F7214FA5C5C59': // Toon Doom II (toon2b.wad) map10
|
||||||
{
|
{
|
||||||
|
@ -1661,6 +1688,15 @@ class LevelCompatibility : LevelPostProcessor
|
||||||
OffsetSectorPlane(65, Sector.ceiling, 8);
|
OffsetSectorPlane(65, Sector.ceiling, 8);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case '75E2685CA8AB29108DBF1AC98C5450AC': // Ancient Beliefs (beliefs.wad) map01
|
||||||
|
{
|
||||||
|
//Actors with no game mode will now appear
|
||||||
|
SetThingFlags(0, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
for(int i = 2; i < 7; i++)
|
||||||
|
SetThingFlags(i, MTF_SINGLE|MTF_COOPERATIVE|MTF_DEATHMATCH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ class AltHud ui
|
||||||
const POWERUPICONSIZE = 32;
|
const POWERUPICONSIZE = 32;
|
||||||
|
|
||||||
|
|
||||||
void Init()
|
virtual void Init()
|
||||||
{
|
{
|
||||||
switch (gameinfo.gametype)
|
switch (gameinfo.gametype)
|
||||||
{
|
{
|
||||||
|
@ -131,7 +131,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawHudNumber(Font fnt, int color, int num, int x, int y, double trans = 0.75)
|
void DrawHudNumber(Font fnt, int color, int num, int x, int y, double trans = 0.75)
|
||||||
{
|
{
|
||||||
DrawHudText(fnt, color, String.Format("%d", num), x, y, trans);
|
DrawHudText(fnt, color, String.Format("%d", num), x, y, trans);
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawTimeString(Font fnt, int color, int timer, int x, int y, double trans = 0.75)
|
virtual void DrawTimeString(Font fnt, int color, int timer, int x, int y, double trans = 0.75)
|
||||||
{
|
{
|
||||||
let seconds = Thinker.Tics2Seconds(timer);
|
let seconds = Thinker.Tics2Seconds(timer);
|
||||||
String s = String.Format("%02i:%02i:%02i", seconds / 3600, (seconds % 3600) / 60, seconds % 60);
|
String s = String.Format("%02i:%02i:%02i", seconds / 3600, (seconds % 3600) / 60, seconds % 60);
|
||||||
|
@ -156,7 +156,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void DrawStatLine(int x, in out int y, String prefix, String text)
|
virtual void DrawStatLine(int x, in out int y, String prefix, String text)
|
||||||
{
|
{
|
||||||
y -= SmallFont.GetHeight()-1;
|
y -= SmallFont.GetHeight()-1;
|
||||||
screen.DrawText(SmallFont, hudcolor_statnames, x, y, prefix,
|
screen.DrawText(SmallFont, hudcolor_statnames, x, y, prefix,
|
||||||
|
@ -168,7 +168,7 @@ class AltHud ui
|
||||||
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight, DTA_Alpha, 0.75);
|
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight, DTA_Alpha, 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawStatus(PlayerInfo CPlayer, int x, int y)
|
virtual void DrawStatus(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
let mo = CPlayer.mo;
|
let mo = CPlayer.mo;
|
||||||
if (hud_showscore)
|
if (hud_showscore)
|
||||||
|
@ -209,7 +209,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void DrawHealth(PlayerInfo CPlayer, int x, int y)
|
virtual void DrawHealth(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
int health = CPlayer.health;
|
int health = CPlayer.health;
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void DrawArmor(BasicArmor barmor, HexenArmor harmor, int x, int y)
|
virtual void DrawArmor(BasicArmor barmor, HexenArmor harmor, int x, int y)
|
||||||
{
|
{
|
||||||
int ap = 0;
|
int ap = 0;
|
||||||
int bestslot = 4;
|
int bestslot = 4;
|
||||||
|
@ -304,7 +304,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
bool DrawOneKey(int xo, int x, int y, in out int c, Key inv)
|
virtual bool DrawOneKey(int xo, int x, int y, in out int c, Key inv)
|
||||||
{
|
{
|
||||||
TextureID icon;
|
TextureID icon;
|
||||||
|
|
||||||
|
@ -340,7 +340,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
int DrawKeys(PlayerInfo CPlayer, int x, int y)
|
virtual int DrawKeys(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
int yo = y;
|
int yo = y;
|
||||||
int xo = x;
|
int xo = x;
|
||||||
|
@ -445,7 +445,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
int DrawAmmo(PlayerInfo CPlayer, int x, int y)
|
virtual int DrawAmmo(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
|
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
|
@ -558,7 +558,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawOneWeapon(PlayerInfo CPlayer, int x, in out int y, Weapon weapon)
|
virtual void DrawOneWeapon(PlayerInfo CPlayer, int x, in out int y, Weapon weapon)
|
||||||
{
|
{
|
||||||
double trans;
|
double trans;
|
||||||
|
|
||||||
|
@ -594,7 +594,7 @@ class AltHud ui
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DrawWeapons(PlayerInfo CPlayer, int x, int y)
|
virtual void DrawWeapons(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
int k,j;
|
int k,j;
|
||||||
Inventory inv;
|
Inventory inv;
|
||||||
|
@ -631,7 +631,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawInventory(PlayerInfo CPlayer, int x,int y)
|
virtual void DrawInventory(PlayerInfo CPlayer, int x,int y)
|
||||||
{
|
{
|
||||||
Inventory rover;
|
Inventory rover;
|
||||||
int numitems = (hudwidth - 2*x) / 32;
|
int numitems = (hudwidth - 2*x) / 32;
|
||||||
|
@ -690,7 +690,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawFrags(PlayerInfo CPlayer, int x, int y)
|
virtual void DrawFrags(PlayerInfo CPlayer, int x, int y)
|
||||||
{
|
{
|
||||||
DrawImageToBox(fragpic, x, y, 31, 17);
|
DrawImageToBox(fragpic, x, y, 31, 17);
|
||||||
DrawHudNumber(HudFont, Font.CR_GRAY, CPlayer.fragcount, x + 33, y + 17);
|
DrawHudNumber(HudFont, Font.CR_GRAY, CPlayer.fragcount, x + 33, y + 17);
|
||||||
|
@ -709,7 +709,7 @@ class AltHud ui
|
||||||
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight);
|
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawCoordinates(PlayerInfo CPlayer, bool withmapname)
|
virtual void DrawCoordinates(PlayerInfo CPlayer, bool withmapname)
|
||||||
{
|
{
|
||||||
Vector3 pos;
|
Vector3 pos;
|
||||||
String coordstr;
|
String coordstr;
|
||||||
|
@ -772,7 +772,7 @@ class AltHud ui
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
private native static int GetRealTime();
|
private native static int GetRealTime();
|
||||||
|
|
||||||
bool DrawTime(int y)
|
virtual bool DrawTime(int y)
|
||||||
{
|
{
|
||||||
if (hud_showtime > 0 && hud_showtime <= 9)
|
if (hud_showtime > 0 && hud_showtime <= 9)
|
||||||
{
|
{
|
||||||
|
@ -833,7 +833,7 @@ class AltHud ui
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
native static int, int, int GetLatency();
|
native static int, int, int GetLatency();
|
||||||
|
|
||||||
bool DrawLatency(int y)
|
virtual bool DrawLatency(int y)
|
||||||
{
|
{
|
||||||
if ((hud_showlag == 1 && netgame) || hud_showlag == 2)
|
if ((hud_showlag == 1 && netgame) || hud_showlag == 2)
|
||||||
{
|
{
|
||||||
|
@ -858,7 +858,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DrawPowerups(PlayerInfo CPlayer, int y)
|
virtual void DrawPowerups(PlayerInfo CPlayer, int y)
|
||||||
{
|
{
|
||||||
// Each icon gets a 32x32 block to draw itself in.
|
// Each icon gets a 32x32 block to draw itself in.
|
||||||
int x, y;
|
int x, y;
|
||||||
|
@ -969,7 +969,7 @@ class AltHud ui
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void Draw(PlayerInfo CPlayer, int w, int h)
|
virtual void Draw(PlayerInfo CPlayer, int w, int h)
|
||||||
{
|
{
|
||||||
hudwidth = w;
|
hudwidth = w;
|
||||||
hudheight = h;
|
hudheight = h;
|
||||||
|
|
Loading…
Reference in a new issue