further improvements to Boom 2.02 demo compatibility

This commit is contained in:
Fabian Greffrath 2020-03-26 10:11:28 +01:00
parent ab404a6166
commit c42c0dae99
3 changed files with 14 additions and 2 deletions

View File

@ -2375,6 +2375,10 @@ byte *G_ReadOptions(byte *demo_p)
for (i=0; i < COMP_TOTAL; i++)
comp[i] = compatibility;
// [FG] In Boom, monsters did not stay on a lift
comp[comp_staylift] = 1;
// [FG] Boom did not prevent zombies from exiting levels
comp[comp_zombie] = 1;
// [FG] Boom never had the 3-key door bug
comp[comp_3keydoor] = 1;

View File

@ -816,12 +816,20 @@ int EV_BuildStairs
if (tsec->floorpic != texture)
continue;
if (demo_compatibility || demo_version >= 203)
{
height += stairsize; // killough 10/98: intentionally left this way
}
// if sector's floor already moving, look for another
if (P_SectorActive(floor_special,tsec)) //jff 2/22/98
continue;
if (!demo_compatibility && demo_version < 203)
{
height += stairsize;
}
sec = tsec;
secnum = newsecnum;
@ -849,7 +857,7 @@ int EV_BuildStairs
// [FG] Compatibility bug in EV_BuildStairs
// http://prboom.sourceforge.net/mbf-bugs.html
if (!comp[comp_stairs] && !demo_compatibility) // killough 10/98: compatibility option
if ((!comp[comp_stairs] || demo_version < 203) && !demo_compatibility) // killough 10/98: compatibility option
secnum = osecnum; //jff 3/4/98 restore loop index
}
return rtn;

View File

@ -250,7 +250,7 @@ boolean P_CheckSight(mobj_t *t1, mobj_t *t2)
// killough 11/98: shortcut for melee situations
// [FG] Compatibility bug in P_CheckSight
// http://prboom.sourceforge.net/mbf-bugs.html
if (t1->subsector == t2->subsector && !demo_compatibility) // same subsector? obviously visible
if (t1->subsector == t2->subsector && demo_version >= 203) // same subsector? obviously visible
return true;
// An unobstructed LOS is possible.