diff --git a/include/QF/ecs.h b/include/QF/ecs.h index d12a27d81..9b2513485 100644 --- a/include/QF/ecs.h +++ b/include/QF/ecs.h @@ -78,6 +78,7 @@ typedef struct ecs_subpool_s { } ecs_subpool_t; typedef struct ecs_registry_s { + const char *name; ecs_pool_t *comp_pools; uint32_t *entities; ecs_subpool_t *subpools; @@ -104,7 +105,7 @@ typedef struct ecs_system_s { #define ECSINLINE GNU89INLINE inline -ecs_registry_t *ECS_NewRegistry (void); +ecs_registry_t *ECS_NewRegistry (const char *name); void ECS_DelRegistry (ecs_registry_t *registry); uint32_t ECS_RegisterComponents (ecs_registry_t *registry, const component_t *components, diff --git a/libs/client/cl_screen.c b/libs/client/cl_screen.c index 49f71e509..1224774f2 100644 --- a/libs/client/cl_screen.c +++ b/libs/client/cl_screen.c @@ -281,7 +281,7 @@ cl_create_views (void) void CL_Init_Screen (void) { - __auto_type reg = ECS_NewRegistry (); + __auto_type reg = ECS_NewRegistry ("cl screen"); Canvas_InitSys (&cl_canvas_sys, reg); if (con_module) { __auto_type cd = con_module->data->console; diff --git a/libs/console/server.c b/libs/console/server.c index ed1343531..e1006d654 100644 --- a/libs/console/server.c +++ b/libs/console/server.c @@ -678,7 +678,7 @@ init (void) nonl (); - server_reg = ECS_NewRegistry (); + server_reg = ECS_NewRegistry ("sv con"); server_base = ECS_RegisterComponents (server_reg, server_components, server_comp_count); view_base = ECS_RegisterComponents (server_reg, view_components, diff --git a/libs/ecs/ecs.c b/libs/ecs/ecs.c index 86f28a0d8..87270ead4 100644 --- a/libs/ecs/ecs.c +++ b/libs/ecs/ecs.c @@ -35,9 +35,10 @@ #include "QF/ecs.h" VISIBLE ecs_registry_t * -ECS_NewRegistry (void) +ECS_NewRegistry (const char *name) { ecs_registry_t *reg = calloc (1, sizeof (ecs_registry_t)); + reg->name = name; reg->components = (componentset_t) DARRAY_STATIC_INIT (32); reg->next = Ent_Index (nullent); return reg; diff --git a/libs/ecs/test/test-components.c b/libs/ecs/test/test-components.c index 1ff8dc88a..640991b5b 100644 --- a/libs/ecs/test/test-components.c +++ b/libs/ecs/test/test-components.c @@ -104,7 +104,7 @@ check_ent_components (const uint32_t *ents, uint32_t count, uint32_t comp, int main (void) { - ecs_registry_t *reg = ECS_NewRegistry (); + ecs_registry_t *reg = ECS_NewRegistry ("components"); ECS_RegisterComponents (reg, test_components, test_num_components); ECS_CreateComponentPools (reg); diff --git a/libs/ecs/test/test-hierarchy.c b/libs/ecs/test/test-hierarchy.c index 3d9be814a..5f458e53e 100644 --- a/libs/ecs/test/test-hierarchy.c +++ b/libs/ecs/test/test-hierarchy.c @@ -884,7 +884,7 @@ test_build_hierarchy4 (void) int main (void) { - test_reg = ECS_NewRegistry (); + test_reg = ECS_NewRegistry ("hierarchy"); ECS_RegisterComponents (test_reg, test_components, test_num_components); ECS_CreateComponentPools (test_reg); diff --git a/libs/ecs/test/test-registry.c b/libs/ecs/test/test-registry.c index 9de0220ca..e619203f4 100644 --- a/libs/ecs/test/test-registry.c +++ b/libs/ecs/test/test-registry.c @@ -11,7 +11,7 @@ static int test_new_del (void) { - ecs_registry_t *reg = ECS_NewRegistry (); + ecs_registry_t *reg = ECS_NewRegistry ("new del"); if (!reg) { printf ("could not create registry\n"); return 0; @@ -45,7 +45,7 @@ test_new_del (void) static int test_entities (void) { - ecs_registry_t *reg = ECS_NewRegistry (); + ecs_registry_t *reg = ECS_NewRegistry ("entities"); uint32_t entities[NUM_ENTS]; diff --git a/libs/ecs/test/test-subpools.c b/libs/ecs/test/test-subpools.c index f7bd09d6b..2be74997b 100644 --- a/libs/ecs/test/test-subpools.c +++ b/libs/ecs/test/test-subpools.c @@ -140,7 +140,7 @@ check_obj_comps (ecs_registry_t *reg, uint32_t comp, uint32_t *expect) int main (void) { - ecs_registry_t *reg = ECS_NewRegistry (); + ecs_registry_t *reg = ECS_NewRegistry ("subpool"); uint32_t base = ECS_RegisterComponents (reg, test_components, test_num_components); ECS_CreateComponentPools (reg); diff --git a/libs/ecs/test/test-treehierarchy.c b/libs/ecs/test/test-treehierarchy.c index a7b34cbe2..69117604a 100644 --- a/libs/ecs/test/test-treehierarchy.c +++ b/libs/ecs/test/test-treehierarchy.c @@ -610,7 +610,7 @@ puts("Hierarchy_SetTreeMode"); int main (void) { - test_reg = ECS_NewRegistry (); + test_reg = ECS_NewRegistry ("tree"); ECS_RegisterComponents (test_reg, test_components, test_num_components); ECS_CreateComponentPools (test_reg); diff --git a/libs/ruamoko/rua_gui.c b/libs/ruamoko/rua_gui.c index efa0c3aa9..a0e3770ee 100644 --- a/libs/ruamoko/rua_gui.c +++ b/libs/ruamoko/rua_gui.c @@ -475,7 +475,7 @@ RUA_GUI_Init (progs_t *pr, int secure) PR_Resources_Register (pr, "Draw", res, bi_gui_clear, bi_gui_destroy); PR_RegisterBuiltins (pr, builtins, res); - res->reg = ECS_NewRegistry (); + res->reg = ECS_NewRegistry ("rua gui"); Canvas_InitSys (&res->csys, res->reg); res->tsys = (text_system_t) { .reg = res->reg, diff --git a/libs/scene/scene.c b/libs/scene/scene.c index 8a82bb6a9..d42b06f20 100644 --- a/libs/scene/scene.c +++ b/libs/scene/scene.c @@ -259,7 +259,7 @@ Scene_NewScene (scene_system_t *extra_systems) { scene_t *scene = calloc (1, sizeof (scene_t)); - scene->reg = ECS_NewRegistry (); + scene->reg = ECS_NewRegistry ("scene"); ECS_RegisterComponents (scene->reg, scene_components, scene_comp_count); for (auto extra = extra_systems; extra && extra->system; extra++) { uint32_t base = ECS_RegisterComponents (scene->reg, diff --git a/libs/ui/test/test-flow-size.c b/libs/ui/test/test-flow-size.c index 2c6bbf092..4da954c1a 100644 --- a/libs/ui/test/test-flow-size.c +++ b/libs/ui/test/test-flow-size.c @@ -280,7 +280,7 @@ main (void) { int ret = 0; - test_sys.reg = ECS_NewRegistry (); + test_sys.reg = ECS_NewRegistry ("flow-size"); test_sys.base = ECS_RegisterComponents (test_sys.reg, test_components, test_comp_count); ECS_CreateComponentPools (test_sys.reg); diff --git a/libs/ui/test/test-flow.c b/libs/ui/test/test-flow.c index bbcfdeba2..7198efe3c 100644 --- a/libs/ui/test/test-flow.c +++ b/libs/ui/test/test-flow.c @@ -280,7 +280,7 @@ main (void) { int ret = 0; - test_sys.reg = ECS_NewRegistry (); + test_sys.reg = ECS_NewRegistry ("flow"); test_sys.base = ECS_RegisterComponents (test_sys.reg, test_components, test_comp_count); ECS_CreateComponentPools (test_sys.reg); diff --git a/libs/ui/test/test-passage.c b/libs/ui/test/test-passage.c index 74c917160..c7b5bf947 100644 --- a/libs/ui/test/test-passage.c +++ b/libs/ui/test/test-passage.c @@ -51,7 +51,7 @@ main (void) { int ret = 0; ecs_system_t psg_sys = { - .reg = ECS_NewRegistry (), + .reg = ECS_NewRegistry ("passage"), .base = ECS_RegisterComponents (psg_sys.reg, passage_components, passage_comp_count), }; diff --git a/libs/video/renderer/r_trails.c b/libs/video/renderer/r_trails.c index c9b749814..c598798b6 100644 --- a/libs/video/renderer/r_trails.c +++ b/libs/video/renderer/r_trails.c @@ -217,7 +217,7 @@ R_Trails_Init (void) { Sys_Printf ("R_Trails_Init\n"); Sys_RegisterShutdown (trails_shutdown, 0); - auto reg = ECS_NewRegistry (); + auto reg = ECS_NewRegistry ("r_trails"); trails_system.reg = reg; trails_system.base = ECS_RegisterComponents (reg, trails_components, trails_comp_count); diff --git a/ruamoko/qwaq/builtins/graphics.c b/ruamoko/qwaq/builtins/graphics.c index dc8c96a84..6fa565f8a 100644 --- a/ruamoko/qwaq/builtins/graphics.c +++ b/ruamoko/qwaq/builtins/graphics.c @@ -394,7 +394,7 @@ BI_Graphics_Init (progs_t *pr) IE_Set_Focus (event_handler_id); Con_Load ("client"); - __auto_type reg = ECS_NewRegistry (); + __auto_type reg = ECS_NewRegistry ("qwaq gr"); Canvas_InitSys (&canvas_sys, reg); if (con_module) { __auto_type cd = con_module->data->console;