diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-05-20 21:01:10 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-05-20 21:01:10 -0400 |
| commit | 8318fca632b8ff82c5966876c192fae891501771 (patch) | |
| tree | 1673eede02a546f134e360acfad996863ed10f73 /src | |
| parent | 8e5c7b2368a49eb8a70fe73494ff1be8a89f35cd (diff) | |
pke: more ECS cleanup on teardown
Diffstat (limited to 'src')
| -rw-r--r-- | src/ecs.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
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<Entity_Base*>{16}; + } + if (EntitiesToBeRemoved.GetPtr() == CAFE_BABE(Entity_Base*) || EntitiesToBeRemoved.GetPtr() == nullptr) { + new (&EntitiesToBeRemoved) DynArray<Entity_Base*>{16}; + } + if (entitiesYetToBeRemoved.GetPtr() == CAFE_BABE(Entity_Base*) || entitiesYetToBeRemoved.GetPtr() == nullptr) { + new (&entitiesYetToBeRemoved) DynArray<Entity_Base*>{0, nullptr}; + } + if (EntitiesWithExcessInstances.GetPtr() == CAFE_BABE(Entity_Base*) || EntitiesWithExcessInstances.GetPtr() == nullptr) { + new (&EntitiesWithExcessInstances) DynArray<Entity_Base*>{16}; + } } Entity_Base *ECS_CreateGenericEntity() { |
