summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinerki <simasadves@gmail.com>2020-05-21 15:25:46 +0200
committerXinerki <simasadves@gmail.com>2020-05-21 15:25:46 +0200
commit46c6b0d29d218fdbea82a85939c6cef9f56437c6 (patch)
tree286781aec68c1e48c2b82ad2c7c613540db76498
parentradardisc shadow (diff)
downloadre3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar.gz
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar.bz2
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar.lz
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar.xz
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.tar.zst
re3-46c6b0d29d218fdbea82a85939c6cef9f56437c6.zip
-rw-r--r--src/core/re3.cpp5
-rw-r--r--src/render/Hud.cpp22
-rw-r--r--src/render/Hud.h1
3 files changed, 28 insertions, 0 deletions
diff --git a/src/core/re3.cpp b/src/core/re3.cpp
index 0e62f3a5..7f69e0f1 100644
--- a/src/core/re3.cpp
+++ b/src/core/re3.cpp
@@ -385,6 +385,11 @@ DebugMenuPopulate(void)
DebugMenuAddCmd("Debug", "Start Credits", CCredits::Start);
DebugMenuAddCmd("Debug", "Stop Credits", CCredits::Stop);
+ DebugMenuAddCmd("Reload", "HUD.TXD", CHud::ReloadTXD);
+ DebugMenuAddCmd("Reload", "FONTS.TXD", NULL);
+ DebugMenuAddCmd("Reload", "FRONTEN1.TXD", NULL);
+ DebugMenuAddCmd("Reload", "FRONTEN2.TXD", NULL);
+
extern bool PrintDebugCode;
extern int16 DebugCamMode;
DebugMenuAddVarBool8("Cam", "Use mouse Cam", &CCamera::m_bUseMouse3rdPerson, nil);
diff --git a/src/render/Hud.cpp b/src/render/Hud.cpp
index 7c33ea5b..a2eed48b 100644
--- a/src/render/Hud.cpp
+++ b/src/render/Hud.cpp
@@ -1476,6 +1476,28 @@ void CHud::GetRidOfAllHudMessages()
}
}
+void CHud::ReloadTXD()
+{
+ for (int i = 0; i < NUM_HUD_SPRITES; ++i) {
+ Sprites[i].Delete();
+ }
+
+ int HudTXD = CTxdStore::FindTxdSlot("hud");
+ CTxdStore::RemoveTxdSlot(HudTXD);
+
+ debug("Reloading HUD.TXD...\n");
+
+ HudTXD = CTxdStore::AddTxdSlot("hud");
+ CTxdStore::LoadTxd(HudTXD, "MODELS/HUD.TXD");
+ CTxdStore::AddRef(HudTXD);
+ CTxdStore::PopCurrentTxd();
+ CTxdStore::SetCurrentTxd(HudTXD);
+
+ for (int i = 0; i < NUM_HUD_SPRITES; i++) {
+ Sprites[i].SetTexture(WeaponFilenames[i].name, WeaponFilenames[i].mask);
+ }
+}
+
void CHud::Initialise()
{
m_Wants_To_Draw_Hud = true;
diff --git a/src/render/Hud.h b/src/render/Hud.h
index bae19ee4..3f4b218e 100644
--- a/src/render/Hud.h
+++ b/src/render/Hud.h
@@ -124,6 +124,7 @@ public:
static void Draw();
static void DrawAfterFade();
static void GetRidOfAllHudMessages();
+ static void ReloadTXD();
static void Initialise();
static void ReInitialise();
static void SetBigMessage(wchar *message, int16 style);