From 8318fca632b8ff82c5966876c192fae891501771 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 20 May 2025 21:01:10 -0400 Subject: pke: more ECS cleanup on teardown --- src/ecs.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ecs.cpp b/src/ecs.cpp index 9de7866..d029b18 100644 --- a/src/ecs.cpp +++ b/src/ecs.cpp @@ -66,6 +66,18 @@ void ECS_Init() { Buckets_Init(ecs.bc.entityPtrs, bcSizes.entityPtrs); Buckets_Init(ecs.bc.grBinds, bcSizes.grBinds); Buckets_Init(ecs.bc.instances, bcSizes.instances); + if (entitiesMarkedForRemoval.GetPtr() == CAFE_BABE(Entity_Base*) || entitiesMarkedForRemoval.GetPtr() == nullptr) { + new (&entitiesMarkedForRemoval) DynArray{16}; + } + if (EntitiesToBeRemoved.GetPtr() == CAFE_BABE(Entity_Base*) || EntitiesToBeRemoved.GetPtr() == nullptr) { + new (&EntitiesToBeRemoved) DynArray{16}; + } + if (entitiesYetToBeRemoved.GetPtr() == CAFE_BABE(Entity_Base*) || entitiesYetToBeRemoved.GetPtr() == nullptr) { + new (&entitiesYetToBeRemoved) DynArray{0, nullptr}; + } + if (EntitiesWithExcessInstances.GetPtr() == CAFE_BABE(Entity_Base*) || EntitiesWithExcessInstances.GetPtr() == nullptr) { + new (&EntitiesWithExcessInstances) DynArray{16}; + } } Entity_Base *ECS_CreateGenericEntity() { -- cgit v1.2.3