summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Greffrath2014-10-21 06:56:21 +0200
committerFabian Greffrath2014-10-21 06:56:21 +0200
commit3608dddd5931966563e9b766836fc002287d206d (patch)
treec625169a944c2324aee1425cb8dc4543f257f974
parent084587ecb43ea3acdc43db3f583d657ff0219b2a (diff)
downloadchocolate-doom-3608dddd5931966563e9b766836fc002287d206d.tar.gz
chocolate-doom-3608dddd5931966563e9b766836fc002287d206d.tar.bz2
chocolate-doom-3608dddd5931966563e9b766836fc002287d206d.zip
bfgedition: remap menu graphics by means of DEH_AddStringReplacement()
during the initialization instead of a hard-coded diversion in the options menu itself
-rw-r--r--src/doom/d_main.c13
-rw-r--r--src/doom/m_menu.c26
2 files changed, 16 insertions, 23 deletions
diff --git a/src/doom/d_main.c b/src/doom/d_main.c
index c7987b90..a8f23aee 100644
--- a/src/doom/d_main.c
+++ b/src/doom/d_main.c
@@ -1363,6 +1363,19 @@ void D_DoomMain (void)
DEH_AddStringReplacement(HUSTR_31, "level 31: idkfa");
DEH_AddStringReplacement(HUSTR_32, "level 32: keen");
DEH_AddStringReplacement(PHUSTR_1, "level 33: betray");
+
+ // The BFG edition doesn't have the "low detail" menu option (fair
+ // enough). But bizarrely, it reuses the M_GDHIGH patch as a label
+ // for the options menu (says "Fullscreen:"). Why the perpetrators
+ // couldn't just add a new graphic lump and had to reuse this one,
+ // I don't know.
+ //
+ // The end result is that M_GDHIGH is too wide and causes the game
+ // to crash. As a workaround to get a minimum level of support for
+ // the BFG edition IWADs, use the "ON"/"OFF" graphics instead.
+
+ DEH_AddStringReplacement("M_GDHIGH", "M_MSGON");
+ DEH_AddStringReplacement("M_GDLOW", "M_MSGOFF");
}
#ifdef FEATURE_DEHACKED
diff --git a/src/doom/m_menu.c b/src/doom/m_menu.c
index 863d0832..9a166a43 100644
--- a/src/doom/m_menu.c
+++ b/src/doom/m_menu.c
@@ -983,32 +983,12 @@ static char *msgNames[2] = {"M_MSGOFF","M_MSGON"};
void M_DrawOptions(void)
{
- char *detail_patch;
-
V_DrawPatchDirect(108, 15, W_CacheLumpName(DEH_String("M_OPTTTL"),
PU_CACHE));
-
- // Workaround for BFG edition IWAD weirdness.
- // The BFG edition doesn't have the "low detail" menu option (fair
- // enough). But bizarrely, it reuses the M_GDHIGH patch as a label
- // for the options menu (says "Fullscreen:"). Why the perpetrators
- // couldn't just add a new graphic lump and had to reuse this one,
- // I don't know.
- //
- // The end result is that M_GDHIGH is too wide and causes the game
- // to crash. As a workaround to get a minimum level of support for
- // the BFG edition IWADs, use the "ON"/"OFF" graphics instead.
- if (bfgedition)
- {
- detail_patch = msgNames[!detailLevel];
- }
- else
- {
- detail_patch = detailNames[detailLevel];
- }
-
+
V_DrawPatchDirect(OptionsDef.x + 175, OptionsDef.y + LINEHEIGHT * detail,
- W_CacheLumpName(DEH_String(detail_patch), PU_CACHE));
+ W_CacheLumpName(DEH_String(detailNames[detailLevel]),
+ PU_CACHE));
V_DrawPatchDirect(OptionsDef.x + 120, OptionsDef.y + LINEHEIGHT * messages,
W_CacheLumpName(DEH_String(msgNames[showMessages]),