From 19183ba1575267c32bb344d36466ea84a0463736 Mon Sep 17 00:00:00 2001 From: drfrag Date: Fri, 12 Jun 2020 17:06:33 +0200 Subject: [PATCH] - Fixed: check for bad sidedefs was not taking into account unused ones. # Conflicts: # src/p_setup.cpp --- src/p_setup.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 43333dd16..6e7ac6ebe 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -1715,6 +1715,7 @@ void P_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 @@ -1783,7 +1784,7 @@ void P_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);