From 2f27b3ac6ec1d8983e5ca06975d5215be0a0ea6a Mon Sep 17 00:00:00 2001 From: Joseph Walton-Rivers <joseph@walton-rivers.uk> Date: Sun, 24 Jul 2022 23:41:36 +0100 Subject: [PATCH] rewite ECS to avoid undefined behaviour --- demo/demo/rollball.cpp | 1 + fggl/gfx/ogl4/models.cpp | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/demo/demo/rollball.cpp b/demo/demo/rollball.cpp index 7236d40..88cc926 100644 --- a/demo/demo/rollball.cpp +++ b/demo/demo/rollball.cpp @@ -127,6 +127,7 @@ namespace demo { Game::activate(); fggl::debug::log(fggl::debug::Level::info, "RollBall::activate()"); + auto* assetLoader = m_owner.service<fggl::assets::Loader>(); assetLoader->load("rollball.yml", fggl::entity::PROTOTYPE_ASSET); diff --git a/fggl/gfx/ogl4/models.cpp b/fggl/gfx/ogl4/models.cpp index 1149e91..5a99963 100644 --- a/fggl/gfx/ogl4/models.cpp +++ b/fggl/gfx/ogl4/models.cpp @@ -74,6 +74,8 @@ namespace fggl::gfx::ogl4 { } auto& meshComp = world.get<data::StaticMesh>(renderable); + auto& modelComp = world.add<StaticModel>(renderable); + auto shader = m_phong; try { shader = std::make_shared<ogl::Shader>( m_shaders->get( meshComp.pipeline ) ); @@ -81,7 +83,6 @@ namespace fggl::gfx::ogl4 { debug::log(debug::Level::warning, "Could not find shader: {}", meshComp.pipeline); } - auto& modelComp = world.add<StaticModel>(renderable); setupComponent(modelComp, shader, meshComp.mesh); debug::log(debug::Level::info, "Added static mesh to {}", (uint64_t)renderable); } -- GitLab