mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-02-07 15:31:02 +00:00
Add NoPushWindowCheck compatibility flag
- For maps like xtheateriii that expect non-blocking push lines to activate when you are standing on them and run into a completely different line, there is now this compatiblity.txt-only flag.
This commit is contained in:
parent
db4763b14a
commit
a60918f601
4 changed files with 9 additions and 2 deletions
|
@ -106,6 +106,7 @@ static FCompatOption Options[] =
|
||||||
{ "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 },
|
{ "linkfrozenprops", BCOMPATF_LINKFROZENPROPS, SLOT_BCOMPAT },
|
||||||
|
{ "disablepushwindowcheck", BCOMPATF_NOWINDOWCHECK, SLOT_BCOMPAT },
|
||||||
|
|
||||||
// list copied from g_mapinfo.cpp
|
// list copied from g_mapinfo.cpp
|
||||||
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
||||||
|
|
|
@ -351,6 +351,7 @@ enum
|
||||||
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
|
BCOMPATF_LINKFROZENPROPS = 1 << 6, // Clearing PROP_TOTALLYFROZEN or PROP_FROZEN also clears the other
|
||||||
|
BCOMPATF_NOWINDOWCHECK = 1 << 7, // Disable the window check in CheckForPushSpecial()
|
||||||
};
|
};
|
||||||
|
|
||||||
// phares 3/20/98:
|
// phares 3/20/98:
|
||||||
|
|
|
@ -1640,7 +1640,7 @@ static void CheckForPushSpecial (line_t *line, int side, AActor *mobj, bool wind
|
||||||
{
|
{
|
||||||
if (line->special && !(mobj->flags6 & MF6_NOTRIGGER))
|
if (line->special && !(mobj->flags6 & MF6_NOTRIGGER))
|
||||||
{
|
{
|
||||||
if (windowcheck && line->backsector != NULL)
|
if (windowcheck && !(ib_compatflags & BCOMPATF_NOWINDOWCHECK) && line->backsector != NULL)
|
||||||
{ // Make sure this line actually blocks us and is not a window
|
{ // Make sure this line actually blocks us and is not a window
|
||||||
// or similar construct we are standing inside of.
|
// or similar construct we are standing inside of.
|
||||||
fixed_t fzt = line->frontsector->ceilingplane.ZatPoint(mobj->x, mobj->y);
|
fixed_t fzt = line->frontsector->ceilingplane.ZatPoint(mobj->x, mobj->y);
|
||||||
|
|
|
@ -376,3 +376,8 @@ D62DCA9EC226DE49108D5DD9271F7631 // Cheogsh 2 map04
|
||||||
setthingz 1648 528
|
setthingz 1648 528
|
||||||
setthingz 1649 528
|
setthingz 1649 528
|
||||||
}
|
}
|
||||||
|
|
||||||
|
B9DFF13207EACAC675C71D82624D0007 // XtheaterIII map01
|
||||||
|
{
|
||||||
|
DisablePushWindowCheck
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue