get rid of comp_3keydoor entirely

Let's face it: The bug *is* present in MBF, but not in Boom or any
hypothetical future complevel. Do not risk any demo desyncs and behave
like PrBoom+ which keeps this unfixed in complevel 11 alike.
This commit is contained in:
Fabian Greffrath 2021-04-06 09:42:33 +02:00
parent 2c6ec47751
commit 8a3c28d1b3
6 changed files with 1 additions and 30 deletions

View File

@ -46,10 +46,6 @@ int compatibility, default_compatibility; // killough 1/31/98
int comp[COMP_TOTAL], default_comp[COMP_TOTAL]; // killough 10/98
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
int comp_3keydoor;
int demo_version; // killough 7/19/98: Boom version of demo
// v1.1-like pitched sounds

View File

@ -117,10 +117,6 @@ enum {
COMP_TOTAL=32 // Some extra room for additional variables
};
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
extern int comp_3keydoor;
extern int comp[COMP_TOTAL], default_comp[COMP_TOTAL];
// -------------------------------------------

View File

@ -2365,8 +2365,6 @@ void G_ReloadDefaults(void)
comp[comp_staylift] = 1;
// [FG] Boom did not prevent zombies from exiting levels
comp[comp_zombie] = 1;
// [FG] Boom never had the 3-key door bug
comp_3keydoor = 1;
}
}
@ -2723,8 +2721,6 @@ byte *G_ReadOptions(byte *demo_p)
comp[comp_staylift] = 1;
// [FG] Boom did not prevent zombies from exiting levels
comp[comp_zombie] = 1;
// [FG] Boom never had the 3-key door bug
comp_3keydoor = 1;
monster_infighting = 1; // killough 7/19/98

View File

@ -3492,9 +3492,6 @@ enum
compat_model,
compat_zerotags,
compat_menu,
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
compat_3keydoor,
};
setup_menu_t comp_settings1[] = // Compatibility Settings screen #1
@ -3570,11 +3567,6 @@ setup_menu_t comp_settings2[] = // Compatibility Settings screen #2
{"Use Doom's main menu ordering", S_YESNO, m_null, C_X,
C_Y + compat_menu * COMP_SPC, {"traditional_menu"}, 0, 0, M_ResetMenu},
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
{"Fix 3-key door works with only 2 keys", S_YESNO, m_null, C_X,
C_Y + compat_3keydoor * COMP_SPC, {"comp_3keydoor"}},
{"<- PREV", S_SKIP|S_PREV, m_null, KB_PREV, C_Y+C_NEXTPREV,{comp_settings1}},
// Final entry

View File

@ -576,15 +576,6 @@ default_t defaults[] = {
"Linedef effects work with sector tag = 0"
},
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
{
"comp_3keydoor",
(config_t *) &comp_3keydoor, NULL,
{1}, {0,1}, number, ss_comp, wad_yes,
"Fix 3-key door works with only 2 keys"
},
// For key bindings, the values stored in the key_* variables // phares
// are the internal Doom Codes. The values stored in the default.cfg
// file are the keyboard codes. I_ScanCode2DoomCode converts from

View File

@ -817,7 +817,7 @@ boolean P_CanUnlockGenDoor(line_t *line, player_t *player)
!(player->cards[it_bluecard] | player->cards[it_blueskull]) ||
// [FG] 3-key door works with only 2 keys
// http://prboom.sourceforge.net/mbf-bugs.html
!(player->cards[it_yellowcard] | (!comp_3keydoor ? !player->cards[it_yellowskull] : player->cards[it_yellowskull]))))
!(player->cards[it_yellowcard] | (demo_version == 203 ? !player->cards[it_yellowskull] : player->cards[it_yellowskull]))))
{
player->message = s_PD_ALL3; // Ty 03/27/98 - externalized
S_StartSound(player->mo,sfx_oof); // killough 3/20/98