diff options
author | Fabian Greffrath | 2014-10-21 06:56:21 +0200 |
---|---|---|
committer | Fabian Greffrath | 2014-10-21 06:56:21 +0200 |
commit | 3608dddd5931966563e9b766836fc002287d206d (patch) | |
tree | c625169a944c2324aee1425cb8dc4543f257f974 | |
parent | 084587ecb43ea3acdc43db3f583d657ff0219b2a (diff) | |
download | chocolate-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.c | 13 | ||||
-rw-r--r-- | src/doom/m_menu.c | 26 |
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]), |