mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-22 20:21:26 +00:00
- Changed the additive scrollers option into a compatibility flag so that it can
be changed from the menu. SVN r245 (trunk)
This commit is contained in:
parent
0b3730392c
commit
5d1563b0e4
7 changed files with 23 additions and 14 deletions
|
@ -1,3 +1,7 @@
|
|||
July 11, 2006 (Changes by Graf Zahl)
|
||||
- Changed the additive scrollers option into a compatibility flag so that it can
|
||||
be changed from the menu.
|
||||
|
||||
July 10, 2006
|
||||
- Fixed closed doors between the front sector's floor and ceiling the right way.
|
||||
I was just missing a non-null texture check.
|
||||
|
|
|
@ -396,6 +396,7 @@ CVAR (Flag, compat_soundtarget, compatflags, COMPATF_SOUNDTARGET);
|
|||
CVAR (Flag, compat_dehhealth, compatflags, COMPATF_DEHHEALTH);
|
||||
CVAR (Flag, compat_trace, compatflags, COMPATF_TRACE);
|
||||
CVAR (Flag, compat_dropoff, compatflags, COMPATF_DROPOFF);
|
||||
CVAR (Flag, compat_boomscroll, compatflags, COMPATF_BOOMSCROLL);
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
|
|
|
@ -274,6 +274,7 @@ enum
|
|||
COMPATF_DEHHEALTH = 1 << 12, // Limit deh.MaxHealth to the health bonus (as in Doom2.exe)
|
||||
COMPATF_TRACE = 1 << 13, // Trace ignores lines with the same sector on both sides
|
||||
COMPATF_DROPOFF = 1 << 14, // Monsters cannot move when hanging over a dropoff
|
||||
COMPATF_BOOMSCROLL = 1 << 15, // Scrolling sectors are additive like in Boom
|
||||
};
|
||||
|
||||
// phares 3/20/98:
|
||||
|
|
|
@ -260,6 +260,7 @@ static const char *MapInfoMapLevel[] =
|
|||
"compat_dehhealth",
|
||||
"compat_trace",
|
||||
"compat_dropoff",
|
||||
"compat_boomscroll",
|
||||
|
||||
NULL
|
||||
};
|
||||
|
@ -359,7 +360,7 @@ MapHandlers[] =
|
|||
{ MITYPE_REDIRECT, lioffset(RedirectMap), 0 },
|
||||
{ MITYPE_CLRFLAG, LEVEL_LAXMONSTERACTIVATION, LEVEL_LAXACTIVATIONMAPINFO },
|
||||
{ MITYPE_SETFLAG, LEVEL_LAXMONSTERACTIVATION, LEVEL_LAXACTIVATIONMAPINFO },
|
||||
{ MITYPE_SETFLAG, LEVEL_ADDITIVE_SCROLLERS, 0 },
|
||||
{ MITYPE_COMPATFLAG, COMPATF_BOOMSCROLL},
|
||||
{ MITYPE_SETFLAG, LEVEL_CAVERNS_OF_DARKNESS, 0 },
|
||||
{ MITYPE_LUMPNAME, lioffset(exitpic), 0 },
|
||||
{ MITYPE_LUMPNAME, lioffset(exitpic), 0 },
|
||||
|
@ -390,6 +391,7 @@ MapHandlers[] =
|
|||
{ MITYPE_COMPATFLAG, COMPATF_DEHHEALTH},
|
||||
{ MITYPE_COMPATFLAG, COMPATF_TRACE},
|
||||
{ MITYPE_COMPATFLAG, COMPATF_DROPOFF},
|
||||
{ MITYPE_COMPATFLAG, COMPATF_BOOMSCROLL},
|
||||
};
|
||||
|
||||
static const char *MapInfoClusterLevel[] =
|
||||
|
@ -1000,7 +1002,8 @@ static void ParseMapInfoLower (MapInfoHandler *handlers,
|
|||
break;
|
||||
|
||||
case MITYPE_COMPATFLAG:
|
||||
SC_MustGetNumber();
|
||||
if (!SC_CheckNumber()) sc_Number = 1;
|
||||
|
||||
if (levelinfo != NULL)
|
||||
{
|
||||
if (sc_Number) levelinfo->compatflags |= (DWORD)handler->data1;
|
||||
|
|
|
@ -93,20 +93,19 @@
|
|||
#define LEVEL_LAXMONSTERACTIVATION UCONST64(0x400000000) // Monsters can open doors depending on the door speed
|
||||
#define LEVEL_LAXACTIVATIONMAPINFO UCONST64(0x800000000) // LEVEL_LAXMONSTERACTIVATION is not a default.
|
||||
|
||||
#define LEVEL_ADDITIVE_SCROLLERS UCONST64(0x1000000000) // scrollers add their momentum instead of averaging it
|
||||
#define LEVEL_CAVERNS_OF_DARKNESS UCONST64(0x2000000000) // to translate the special sector types of CoD.
|
||||
#define LEVEL_CAVERNS_OF_DARKNESS UCONST64(0x1000000000) // to translate the special sector types of CoD.
|
||||
|
||||
#define LEVEL_KEEPFULLINVENTORY UCONST64(0x4000000000) // doesn't reduce the amount of inventory items to 1
|
||||
#define LEVEL_KEEPFULLINVENTORY UCONST64(0x2000000000) // doesn't reduce the amount of inventory items to 1
|
||||
|
||||
#define LEVEL_MUSICDEFINED UCONST64(0x8000000000) // a marker to disable the $map command in SNDINFO for this map
|
||||
#define LEVEL_MONSTERFALLINGDAMAGE UCONST64(0x10000000000)
|
||||
#define LEVEL_CLIPMIDTEX UCONST64(0x20000000000)
|
||||
#define LEVEL_WRAPMIDTEX UCONST64(0x40000000000)
|
||||
#define LEVEL_MUSICDEFINED UCONST64(0x4000000000) // a marker to disable the $map command in SNDINFO for this map
|
||||
#define LEVEL_MONSTERFALLINGDAMAGE UCONST64(0x8000000000)
|
||||
#define LEVEL_CLIPMIDTEX UCONST64(0x10000000000)
|
||||
#define LEVEL_WRAPMIDTEX UCONST64(0x20000000000)
|
||||
|
||||
#define LEVEL_CROUCH_NO UCONST64(0x80000000000)
|
||||
#define LEVEL_CROUCH_YES UCONST64(0x100000000000)
|
||||
#define LEVEL_CROUCH_NO UCONST64(0x40000000000)
|
||||
#define LEVEL_CROUCH_YES UCONST64(0x80000000000)
|
||||
|
||||
#define LEVEL_PAUSE_MUSIC_IN_MENUS UCONST64(0x200000000000)
|
||||
#define LEVEL_PAUSE_MUSIC_IN_MENUS UCONST64(0x100000000000)
|
||||
|
||||
struct acsdefered_s;
|
||||
|
||||
|
|
|
@ -987,6 +987,7 @@ static menuitem_t CompatibilityItems[] = {
|
|||
{ bitflag, "DEH health settings like Doom2.exe", {&compatflags}, {0}, {0}, {0}, {(value_t *)COMPATF_DEHHEALTH} },
|
||||
{ bitflag, "Self ref. sectors don't block shots", {&compatflags}, {0}, {0}, {0}, {(value_t *)COMPATF_TRACE} },
|
||||
{ bitflag, "Monsters get stuck over dropoffs", {&compatflags}, {0}, {0}, {0}, {(value_t *)COMPATF_DROPOFF} },
|
||||
{ bitflag, "Boom scrollers are additive", {&compatflags}, {0}, {0}, {0}, {(value_t *)COMPATF_BOOMSCROLL} },
|
||||
|
||||
{ discrete, "Interpolate monster movement", {&nomonsterinterpolation}, {2.0}, {0.0}, {0.0}, {NoYes} },
|
||||
};
|
||||
|
|
|
@ -2703,7 +2703,7 @@ void AActor::Tick ()
|
|||
// Some levels designed with Boom in mind actually want things to accelerate
|
||||
// at neighboring scrolling sector boundaries. But it is only important for
|
||||
// non-player objects.
|
||||
if (player != NULL || !(level.flags & LEVEL_ADDITIVE_SCROLLERS))
|
||||
if (player != NULL || !(i_compatflags & COMPATF_BOOMSCROLL))
|
||||
{
|
||||
if (countx > 1)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue