- Added a compatibility option to fix Super Sonic Doom's first bonus

stage leaving you frozen when you finished it.
This commit is contained in:
Randy Heit 2013-07-02 14:15:08 -05:00
parent 23e21cc85e
commit 5af1e6f734
4 changed files with 15 additions and 0 deletions

View file

@ -105,6 +105,7 @@ static FCompatOption Options[] =
{ "vileghosts", BCOMPATF_VILEGHOSTS, SLOT_BCOMPAT },
{ "ignoreteleporttags", BCOMPATF_BADTELEPORTERS, SLOT_BCOMPAT },
{ "rebuildnodes", BCOMPATF_REBUILDNODES, SLOT_BCOMPAT },
{ "linkfrozenprops", BCOMPATF_LINKFROZENPROPS, SLOT_BCOMPAT },
// list copied from g_mapinfo.cpp
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },

View file

@ -349,6 +349,7 @@ enum
BCOMPATF_BADTELEPORTERS = 1 << 3, // Ignore tags on Teleport specials
BCOMPATF_BADPORTALS = 1 << 4, // Restores the old unstable portal behavior
BCOMPATF_REBUILDNODES = 1 << 5, // Force node rebuild
BCOMPATF_LINKFROZENPROPS = 1 << 6, // Clearing PROP_TOTALLYFROZEN or PROP_FROZEN also clears the other
};
// phares 3/20/98:

View file

@ -2813,6 +2813,11 @@ FUNC(LS_SetPlayerProperty)
{
int i;
if ((ib_compatflags & BCOMPATF_LINKFROZENPROPS) && (mask & (CF_FROZEN | CF_TOTALLYFROZEN)))
{ // Clearing one of these properties clears both of them (if the compat flag is set.)
mask = CF_FROZEN | CF_TOTALLYFROZEN;
}
for (i = 0; i < MAXPLAYERS; i++)
{
if (!playeringame[i])

View file

@ -353,3 +353,11 @@ F481922F4881F74760F3C0437FD5EDD0 // map03
// make the blue key spawn above the 3D floor
setthingz 918 296
}
64B6CE3CB7349B6F6B1A885C449ACB96 // Super Sonic Doom, map31
{
// During the end-of-level tally, both PROP_FROZEN and PROP_TOTALLYFROZEN
// are set, but only PROP_TOTALLYFROZEN is cleared, so PROP_FROZEN is
// still set when returning to the origin map.
linkfrozenprops
}