From f166fcfe7629c0eb8d9e279483bc278fd5e8aca8 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Mon, 7 Feb 2022 08:53:06 -0500 Subject: [PATCH] add getRenderGroupByName helper --- src/tangerine.cpp | 18 ++++++++++++++++++ src/tangerine.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/src/tangerine.cpp b/src/tangerine.cpp index b8d9214..6fa33b8 100644 --- a/src/tangerine.cpp +++ b/src/tangerine.cpp @@ -110,6 +110,24 @@ getFreeRenderGroup(RenderState* rs) return nullptr; } +RenderGroup* +getRenderGroupByName(RenderState* rs, const char* name) +{ + RenderGroup* rg_out = nullptr; + + for (u32 i = 0; i < rs->num_render_groups; i++) { + RenderGroup* rg = &rs->render_groups[i]; + + if (utilCStrMatch(name, rg->name)) + rg_out = rg; + } + + if (rg_out == nullptr) + LOGF(Error, "render group with name, \"%s\", not found\n", name); + + return rg_out; +} + Entity* getFreeEntity(RenderGroup* rg) { diff --git a/src/tangerine.h b/src/tangerine.h index 1d7359e..e7e1ee8 100644 --- a/src/tangerine.h +++ b/src/tangerine.h @@ -182,6 +182,8 @@ void freeRenderGroup(RenderGroup* rg, MemoryArena* arena); RenderGroup* getFreeRenderGroup(RenderState* rs); +RenderGroup* getRenderGroupByName(RenderState* rs, const char* name); + Entity* getFreeEntity(RenderGroup* rg); // NOTE: callback function signature to use with renDoRenderLoop()