- more cleanup on portal implementation:

- store portal data in a separate structure.
- store portal data in savegames because some of this will be changeable later.
- run a cleanup pass after all portals have been created to weed out broken ones.
- add a definition type that's compatible with Eternity Engine's line portal types.
- swapped arg[2] and arg[3] of Line_SetPortal, because the type is more significant than the alignment.
This commit is contained in:
Christoph Oelckers 2016-02-05 23:15:56 +01:00
commit 94b7ef72ca
13 changed files with 243 additions and 59 deletions

View file

@ -792,6 +792,7 @@ public:
memset(ld, 0, sizeof(*ld));
ld->Alpha = FRACUNIT;
ld->portalindex = UINT_MAX;
ld->sidedef[0] = ld->sidedef[1] = NULL;
if (level.flags2 & LEVEL2_CLIPMIDTEX) ld->flags |= ML_CLIP_MIDTEX;
if (level.flags2 & LEVEL2_WRAPMIDTEX) ld->flags |= ML_WRAP_MIDTEX;