From a8c941f041f8c1cd8464be6fc6f754f805924031 Mon Sep 17 00:00:00 2001 From: Eric-Paul Ickhorn Date: Sat, 14 Sep 2024 14:25:49 +0200 Subject: [PATCH] Take UUID table as argument for ECS creation The ECS needs a UUID table to get UUIDs for the entities. If none is given into the creation function, it will create one itself. --- modules/ecs/inc-c/voxula/internals/ecs.h | 2 +- modules/ecs/src-c/head.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/ecs/inc-c/voxula/internals/ecs.h b/modules/ecs/inc-c/voxula/internals/ecs.h index d1104d3..0052c31 100644 --- a/modules/ecs/inc-c/voxula/internals/ecs.h +++ b/modules/ecs/inc-c/voxula/internals/ecs.h @@ -16,7 +16,7 @@ struct vecs_entity vx_uuid_d uuid; }; -vecs_s * vecs_new(); +vecs_s * vecs_new(vx_uuid_table_s *uuid_table); void vecs_free(vecs_s *ecs); vecs_entity_s vecs_summon(vecs_s *ecs); diff --git a/modules/ecs/src-c/head.c b/modules/ecs/src-c/head.c index bcd2c7e..700ac7b 100644 --- a/modules/ecs/src-c/head.c +++ b/modules/ecs/src-c/head.c @@ -5,6 +5,10 @@ vecs_s * vecs_new(vx_uuid_table_s *uuid_table) { + if( ! uuid_table) + { + uuid_table = vx_new_uuid_table(); + } vecs_s *ecs = malloc(sizeof(vecs_s)); ecs->resolver = vecs_create_tag_name_resolver(uuid_table); ecs->lookup_map = vecs_create_lookup_map(uuid_table);