- Backport from GZDoom: P_LoopSidedefs() needed another fix as it shouldn't try to report errors found on the second loop.

SVN r2544 (trunk)
This commit is contained in:
Christoph Oelckers 2010-08-15 14:09:17 +00:00
parent 66f6115c86
commit 0657121847

View file

@ -2128,7 +2128,7 @@ static void P_AllocateSideDefs (int count)
// [RH] Group sidedefs into loops so that we can easily determine // [RH] Group sidedefs into loops so that we can easily determine
// what walls any particular wall neighbors. // what walls any particular wall neighbors.
static void P_LoopSidedefs () static void P_LoopSidedefs (bool firstloop)
{ {
int i; int i;
@ -2193,7 +2193,7 @@ static void P_LoopSidedefs ()
right = sidetemp[right].b.first; right = sidetemp[right].b.first;
if (right == NO_SIDE) if (firstloop && right == NO_SIDE)
{ // There is no right side! { // There is no right side!
Printf ("Line %d's right edge is unconnected\n", linemap[unsigned(line-lines)]); Printf ("Line %d's right edge is unconnected\n", linemap[unsigned(line-lines)]);
continue; continue;
@ -3655,7 +3655,7 @@ void P_SetupLevel (char *lumpname, int position)
} }
times[6].Clock(); times[6].Clock();
P_LoopSidedefs (); P_LoopSidedefs (true);
times[6].Unclock(); times[6].Unclock();
linemap.Clear(); linemap.Clear();
@ -3845,9 +3845,7 @@ void P_SetupLevel (char *lumpname, int position)
P_SpawnSpecials (); P_SpawnSpecials ();
times[16].Clock(); times[16].Clock();
// The old sidedef looping data is no longer valid if the nodes were rebuilt if (ForceNodeBuild) P_LoopSidedefs (false);
// and vertexes merged so it has to be redone before setting up the polyobjects.
if (ForceNodeBuild) P_LoopSidedefs ();
PO_Init (); // Initialize the polyobjs PO_Init (); // Initialize the polyobjs
times[16].Unclock(); times[16].Unclock();