- Fixed: check for bad sidedefs was not taking into account sidedef compression.

This commit is contained in:
drfrag 2020-06-12 12:26:02 +02:00 committed by Christoph Oelckers
parent fe19aec059
commit 476ab9caea
1 changed files with 2 additions and 1 deletions

View File

@ -1675,6 +1675,7 @@ void MapLoader::LoadLineDefs (MapData * map)
auto mldf = map->Read(ML_LINEDEFS);
int numlines = mldf.Size() / sizeof(maplinedef_t);
int numsides = map->Size(ML_SIDEDEFS) / sizeof(mapsidedef_t);
linemap.Resize(numlines);
// [RH] Count the number of sidedef references. This is the number of
@ -1743,7 +1744,7 @@ void MapLoader::LoadLineDefs (MapData * map)
// cph 2006/09/30 - fix sidedef errors right away.
for (int j=0; j < 2; j++)
{
if (LittleShort(mld->sidenum[j]) != NO_INDEX && mld->sidenum[j] >= Level->sides.Size())
if (LittleShort(mld->sidenum[j]) != NO_INDEX && mld->sidenum[j] >= numsides)
{
mld->sidenum[j] = 0; // dummy sidedef
Printf("Linedef %d has a bad sidedef\n", i);