From 51a069a1a553857ea1dfca067d0ed1baa5939e67 Mon Sep 17 00:00:00 2001 From: RaveYard <29225776+MrRaveYard@users.noreply.github.com> Date: Thu, 22 May 2025 02:21:08 +0200 Subject: [PATCH] Delete invalid polyobjects from level array in PO_Init --- src/maploader/polyobjects.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/maploader/polyobjects.cpp b/src/maploader/polyobjects.cpp index 1f662b134..12bdd27e5 100644 --- a/src/maploader/polyobjects.cpp +++ b/src/maploader/polyobjects.cpp @@ -396,13 +396,19 @@ void MapLoader::PO_Init (void) } // check for a startspot without an anchor point - for (auto &poly : Level->Polyobjects) + for (int i = 0, size = Level->Polyobjects.Size(); i < size; ++i) { + const auto& poly = Level->Polyobjects[i]; + if (poly.OriginalPts.Size() == 0) { Printf (TEXTCOLOR_RED "PO_Init: StartSpot located without an Anchor point: %d\n", poly.tag); + Level->Polyobjects.Delete(i--); + --size; } } + Level->Polyobjects.ShrinkToFit(); + InitPolyBlockMap(); // [RH] Don't need the side lists anymore