- moved main polyobject array into FLevelLocals and simplified the setup process to not depend on P_SpawnMapThing.
Since the SpawnedThings array is still available when polyobjects are spawned it makes no sense to create an expensive linked list in P_SpawnMapThing. This can be done far better by scanning through the array again and collect all matching items in a second array.
This commit is contained in:
parent
84a28454dc
commit
64595abe60
12 changed files with 72 additions and 126 deletions
|
|
@ -285,6 +285,7 @@ void P_FreeLevelData ()
|
|||
level.rejectmatrix.Clear();
|
||||
level.Zones.Clear();
|
||||
level.blockmap.Clear();
|
||||
level.Polyobjects.Clear();
|
||||
|
||||
if (PolyBlockMap != nullptr)
|
||||
{
|
||||
|
|
@ -301,12 +302,6 @@ void P_FreeLevelData ()
|
|||
delete[] PolyBlockMap;
|
||||
PolyBlockMap = nullptr;
|
||||
}
|
||||
if (polyobjs != nullptr)
|
||||
{
|
||||
delete[] polyobjs;
|
||||
polyobjs = nullptr;
|
||||
}
|
||||
po_NumPolyobjs = 0;
|
||||
|
||||
level.deathmatchstarts.Clear();
|
||||
level.AllPlayerStarts.Clear();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue