mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-02-23 12:11:49 +00:00
[ecs] Give registries a name
This makes debugging a little easier when there are multiple ECS registries. Currently, the name parameter must be a stable pointer.
This commit is contained in:
parent
1a5b421933
commit
4c704e9a2e
16 changed files with 19 additions and 17 deletions
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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),
|
||||
};
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue