Fixed that odd bug where PolyObjects sometimes leave a vertex or two in their control sectors

Turns out the seg-searching code falsely assumed it'd find frontfacing segs first, who knew?
This commit is contained in:
Monster Iestyn 2016-01-23 19:58:57 +00:00 committed by RedEnchilada
parent e49f531ba1
commit 2e58f6c4d9

View file

@ -427,6 +427,8 @@ newseg:
// seg's ending vertex. // seg's ending vertex.
for (i = 0; i < numsegs; ++i) for (i = 0; i < numsegs; ++i)
{ {
if (segs[i].side != 0) // needs to be frontfacing
continue;
if (segs[i].v1->x == seg->v2->x && segs[i].v1->y == seg->v2->y) if (segs[i].v1->x == seg->v2->x && segs[i].v1->y == seg->v2->y)
{ {
// Make sure you didn't already add this seg... // Make sure you didn't already add this seg...
@ -593,6 +595,9 @@ static void Polyobj_spawnPolyObj(INT32 num, mobj_t *spawnSpot, INT32 id)
seg_t *seg = &segs[i]; seg_t *seg = &segs[i];
INT32 polyID, parentID; INT32 polyID, parentID;
if (seg->side != 0) // needs to be frontfacing
continue;
if (seg->linedef->special != POLYOBJ_START_LINE) if (seg->linedef->special != POLYOBJ_START_LINE)
continue; continue;