summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-10-24 15:34:55 -0400
committerAndrew Opalach <andrew@akon.city> 2024-10-24 15:34:55 -0400
commitf789c1103856a253871846da6e41fcdf7aacd78b (patch)
treea380c0b63f91fba1465d639301860782d66c0fec /src
parent5cea6f91921c9c0963952609cecb1e28dd7bde12 (diff)
downloadmauri-f789c1103856a253871846da6e41fcdf7aacd78b.tar.gz
mauri-f789c1103856a253871846da6e41fcdf7aacd78b.tar.bz2
mauri-f789c1103856a253871846da6e41fcdf7aacd78b.zip
Always load but don't draw invisible objects
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src')
-rw-r--r--src/objects/object.cc2
-rw-r--r--src/objects/scene.cc4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/objects/object.cc b/src/objects/object.cc
index d648b63..4cf9790 100644
--- a/src/objects/object.cc
+++ b/src/objects/object.cc
@@ -209,7 +209,7 @@ auto Object::draw_internal(Engine *engine) -> void
for (Effect *effect : this->effects)
{
- effect->draw(engine);
+ if (effect->visible) effect->draw(engine);
}
}
diff --git a/src/objects/scene.cc b/src/objects/scene.cc
index 21a2449..b9728c7 100644
--- a/src/objects/scene.cc
+++ b/src/objects/scene.cc
@@ -57,6 +57,7 @@ auto Scene::get_object_by_id(u32 id) -> Object *
auto Scene::load(Engine *engine) -> void
{
+ /* NOTE: Removing objects here is known to cause issues.
if (this->objects.size() > 0)
{
for (auto it = this->objects.begin(); it != this->objects.end();)
@@ -65,6 +66,7 @@ auto Scene::load(Engine *engine) -> void
else it++;
}
}
+ */
for (Object *object : this->objects)
{
@@ -76,7 +78,7 @@ auto Scene::draw(Engine *engine) -> void
{
for (Object *object : this->objects)
{
- if (!object->loaded_as_dep) object->draw(engine);
+ if (!object->loaded_as_dep && object->visible) object->draw(engine);
}
}