mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-29 15:22:08 +00:00
- finish the implementation for nosectionmerge.
This commit is contained in:
parent
4538236a38
commit
c675d60bac
3 changed files with 12 additions and 3 deletions
|
@ -148,6 +148,7 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize,
|
|||
else if(sc.Compare("Extended")) iwad->flags |= GI_MENUHACK_EXTENDED;
|
||||
else if(sc.Compare("Shorttex")) iwad->flags |= GI_COMPATSHORTTEX;
|
||||
else if(sc.Compare("Stairs")) iwad->flags |= GI_COMPATSTAIRS;
|
||||
else if (sc.Compare("nosectionmerge")) iwad->flags |= GI_NOSECTIONMERGE;
|
||||
else sc.ScriptError(NULL);
|
||||
}
|
||||
while (sc.CheckString(","));
|
||||
|
|
|
@ -51,6 +51,7 @@ enum
|
|||
GI_COMPATPOLY1 = 0x00000040, // Hexen's MAP36 needs old polyobject drawing
|
||||
GI_COMPATPOLY2 = 0x00000080, // so does HEXDD's MAP47
|
||||
GI_IGNORETITLEPATCHES = 0x00000200, // Ignore the map name graphics when not runnning in English language
|
||||
GI_NOSECTIONMERGE = 0x00000400, // For the original id IWADs: avoid merging sections due to how idbsp created its sectors.
|
||||
};
|
||||
|
||||
#include "gametype.h"
|
||||
|
|
|
@ -294,10 +294,17 @@ FName MapLoader::CheckCompatibility(MapData *map)
|
|||
// When playing Doom IWAD levels force BCOMPATF_NOSECTIONMERGE, COMPAT_SHORTTEX and COMPATF_LIGHT.
|
||||
// I'm not sure if the IWAD maps actually need COMPATF_LIGHT but it certainly does not hurt.
|
||||
// TNT's MAP31 also needs COMPATF_STAIRINDEX but that only gets activated for TNT.WAD.
|
||||
if (fileSystem.GetFileContainer(map->lumpnum) == fileSystem.GetIwadNum() && (gameinfo.flags & GI_COMPATSHORTTEX) && Level->maptype == MAPTYPE_DOOM)
|
||||
if (fileSystem.GetFileContainer(map->lumpnum) == fileSystem.GetIwadNum())
|
||||
{
|
||||
Level->ii_compatflags = COMPATF_SHORTTEX|COMPATF_LIGHT;
|
||||
if (gameinfo.flags & GI_COMPATSTAIRS) Level->ii_compatflags |= COMPATF_STAIRINDEX;
|
||||
if ((gameinfo.flags & GI_COMPATSHORTTEX) && Level->maptype == MAPTYPE_DOOM)
|
||||
{
|
||||
Level->ii_compatflags = COMPATF_SHORTTEX | COMPATF_LIGHT;
|
||||
if (gameinfo.flags & GI_COMPATSTAIRS) Level->ii_compatflags |= COMPATF_STAIRINDEX;
|
||||
}
|
||||
if (gameinfo.flags & GI_NOSECTIONMERGE)
|
||||
{
|
||||
Level->ib_compatflags |= BCOMPATF_NOSECTIONMERGE;
|
||||
}
|
||||
}
|
||||
|
||||
map->GetChecksum(md5.Bytes);
|
||||
|
|
Loading…
Reference in a new issue