summaryrefslogtreecommitdiff
path: root/src/ecs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecs.cpp')
-rw-r--r--src/ecs.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ecs.cpp b/src/ecs.cpp
index 0294c44..839c68e 100644
--- a/src/ecs.cpp
+++ b/src/ecs.cpp
@@ -61,11 +61,12 @@ void ECS_GetEntity_Inner(EntityHandle entHandle, Entity_Base*& ent) {
}
void ECS_Init() {
- new (&ecs.bc.generics) pk_bkt_arr_t<Entity_Base>{ pk_bkt_arr_handle_MAX_constexpr };
- new (&ecs.bc.entityPtrs) pk_bkt_arr_t<Entity_Base*>{ pk_bkt_arr_handle_MAX_constexpr };
- new (&ecs.bc.grBinds) pk_bkt_arr_t<CompGrBinds>{ pk_bkt_arr_handle_MAX_constexpr };
- new (&ecs.bc.instances) pk_bkt_arr_t<CompInstance>{ pk_bkt_arr_handle_MAX_constexpr };
- new (&ecs.bc.ev_mgrs) pk_bkt_arr_t<pke_component_event>{ pk_bkt_arr_handle_MAX_constexpr };
+ ecs.bkt = pk_mem_bucket_create("pk_bkt_arr ecs", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE);
+ new (&ecs.bc.generics) pk_bkt_arr_t<Entity_Base>{ pk_bkt_arr_handle_MAX_constexpr, ecs.bkt, ecs.bkt };
+ new (&ecs.bc.entityPtrs) pk_bkt_arr_t<Entity_Base*>{ pk_bkt_arr_handle_MAX_constexpr, ecs.bkt, ecs.bkt };
+ new (&ecs.bc.grBinds) pk_bkt_arr_t<CompGrBinds>{ pk_bkt_arr_handle_MAX_constexpr, ecs.bkt, ecs.bkt };
+ new (&ecs.bc.instances) pk_bkt_arr_t<CompInstance>{ pk_bkt_arr_handle_MAX_constexpr, ecs.bkt, ecs.bkt };
+ new (&ecs.bc.ev_mgrs) pk_bkt_arr_t<pke_component_event>{ pk_bkt_arr_handle_MAX_constexpr, ecs.bkt, ecs.bkt };
pk_arr_reserve(&entitiesMarkedForRemoval, 16);
pk_arr_reserve(&EntitiesToBeRemoved, 16);
pk_arr_reserve(&entitiesYetToBeRemoved, 16);
@@ -639,4 +640,5 @@ void ECS_Teardown() {
ecs.bc.grBinds.~pk_bkt_arr_t<CompGrBinds>();
ecs.bc.entityPtrs.~pk_bkt_arr_t<Entity_Base*>();
ecs.bc.generics.~pk_bkt_arr_t<Entity_Base>();
+ pk_mem_bucket_destroy(ecs.bkt);
}