mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-01-18 23:52:02 +00:00
- 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:
parent
23e21cc85e
commit
5af1e6f734
4 changed files with 15 additions and 0 deletions
|
@ -105,6 +105,7 @@ static FCompatOption Options[] =
|
||||||
{ "vileghosts", BCOMPATF_VILEGHOSTS, SLOT_BCOMPAT },
|
{ "vileghosts", BCOMPATF_VILEGHOSTS, SLOT_BCOMPAT },
|
||||||
{ "ignoreteleporttags", BCOMPATF_BADTELEPORTERS, SLOT_BCOMPAT },
|
{ "ignoreteleporttags", BCOMPATF_BADTELEPORTERS, SLOT_BCOMPAT },
|
||||||
{ "rebuildnodes", BCOMPATF_REBUILDNODES, SLOT_BCOMPAT },
|
{ "rebuildnodes", BCOMPATF_REBUILDNODES, SLOT_BCOMPAT },
|
||||||
|
{ "linkfrozenprops", BCOMPATF_LINKFROZENPROPS, SLOT_BCOMPAT },
|
||||||
|
|
||||||
// list copied from g_mapinfo.cpp
|
// list copied from g_mapinfo.cpp
|
||||||
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
||||||
|
|
|
@ -349,6 +349,7 @@ enum
|
||||||
BCOMPATF_BADTELEPORTERS = 1 << 3, // Ignore tags on Teleport specials
|
BCOMPATF_BADTELEPORTERS = 1 << 3, // Ignore tags on Teleport specials
|
||||||
BCOMPATF_BADPORTALS = 1 << 4, // Restores the old unstable portal behavior
|
BCOMPATF_BADPORTALS = 1 << 4, // Restores the old unstable portal behavior
|
||||||
BCOMPATF_REBUILDNODES = 1 << 5, // Force node rebuild
|
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:
|
// phares 3/20/98:
|
||||||
|
|
|
@ -2813,6 +2813,11 @@ FUNC(LS_SetPlayerProperty)
|
||||||
{
|
{
|
||||||
int i;
|
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++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
if (!playeringame[i])
|
if (!playeringame[i])
|
||||||
|
|
|
@ -353,3 +353,11 @@ F481922F4881F74760F3C0437FD5EDD0 // map03
|
||||||
// make the blue key spawn above the 3D floor
|
// make the blue key spawn above the 3D floor
|
||||||
setthingz 918 296
|
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
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue