- Implemented Quasar's suggestion to use line flag 2048 as a "reserved" flag

that, if set, clears all the non-original-Doom flags on a line. This is
  only for Doom format maps when playing Doom.

SVN r124 (trunk)
This commit is contained in:
Randy Heit 2006-05-17 02:19:20 +00:00
parent c770d4a99a
commit 3f51b80cac
3 changed files with 15 additions and 0 deletions

View file

@ -1,4 +1,7 @@
-May 16, 2006
- Implemented Quasar's suggestion to use line flag 2048 as a "reserved" flag
that, if set, clears all the non-original-Doom flags on a line. This is
only for Doom format maps when playing Doom.
- Added support for automatically loading ACS objects (even for Doom-format
maps). To use it, compile the ACS files as ordinary libraries placed
between A_START/A_END markers. Then outside the markers, create a lump

View file

@ -157,6 +157,11 @@ static inline int GET_SPAC (int flags)
// [RH] In case I feel like it, here it is...
#define ML_3DMIDTEX_ETERNITY 0x0400
// If this bit is set, then all non-original-Doom bits are cleared when
// translating the line. Only applies when playing Doom with Doom-format maps.
// Hexen format maps and the other games are not affected by this.
#define ML_RESERVED_ETERNITY 0x0800
// [RH] Extra flags for Strife compatibility
#define ML_TRANSLUCENT_STRIFE 0x1000
#define ML_RAILING_STRIFE 0x0200

View file

@ -92,6 +92,13 @@ void P_TranslateLineDef (line_t *ld, maplinedef_t *mld)
}
else
{
if (gameinfo.gametype == GAME_Doom)
{
if (flags & ML_RESERVED_ETERNITY)
{
flags &= 0x1FF;
}
}
passthrough = (flags & ML_PASSUSE_BOOM);
}
flags = flags & 0xFFFF01FF; // Ignore flags unknown to DOOM