From f4c50602b4d29a02332f73db106989acde3766c1 Mon Sep 17 00:00:00 2001 From: cinnaboot Date: Thu, 4 Nov 2021 13:48:44 -0400 Subject: [PATCH] clean up rgAppend() --- src/renderer.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index b9db112..c8f383e 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -61,23 +61,27 @@ rgAppend(render_group* rg, memory_arena* arena, const char* model_path) { - assert(rg != nullptr); - if (rg->count < rg->max_size) { entity* e = &rg->entities[rg->count]; - rg->count++; - // FIXME: maybe actually load the model here... - // get path hash - // check for hash in rs->assets->models[i]->filepath_hash - // load new model if not found model* mdl = assetGetCached(assets, utilFNV64a_str(model_path)); - if (mdl == nullptr) + // NOTE: not cached + if (mdl == nullptr) { mdl = assetLoadFromFile(assets, arena, model_path); - // load model into gl, entInitModel(e, model) - if (entInitModel(e, mdl)) + if (mdl == nullptr) { + LOG(Error) << "Error loading model: " << model_path << "\n"; + return nullptr; + } + } + + if (entInitModel(e, mdl)) { + rg->count++; return e; + } else { + LOG(Error) << "Error initializing GL buffers\n"; + return nullptr; + } } LOG(Error) << "no free entity in render_group\n";