diff options
| author | 2024-10-24 15:34:55 -0400 | |
|---|---|---|
| committer | 2024-10-24 15:34:55 -0400 | |
| commit | f789c1103856a253871846da6e41fcdf7aacd78b (patch) | |
| tree | a380c0b63f91fba1465d639301860782d66c0fec | |
| parent | 5cea6f91921c9c0963952609cecb1e28dd7bde12 (diff) | |
| download | mauri-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>
| -rw-r--r-- | flake.lock | 6 | ||||
| -rw-r--r-- | flake.nix | 2 | ||||
| -rwxr-xr-x | scripts/random.sh | 4 | ||||
| -rw-r--r-- | src/objects/object.cc | 2 | ||||
| -rw-r--r-- | src/objects/scene.cc | 4 |
5 files changed, 10 insertions, 8 deletions
@@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729070438, - "narHash": "sha256-KOTTUfPkugH52avUvXGxvWy8ibKKj4genodIYUED+Kc=", + "lastModified": 1729665710, + "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5785b6bb5eaae44e627d541023034e1601455827", + "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", "type": "github" }, "original": { @@ -109,7 +109,7 @@ vulkan-headers vulkan-loader glslang - libseat + seatd libdisplay-info libliftoff hwdata diff --git a/scripts/random.sh b/scripts/random.sh index 2f097cb..44a00a1 100755 --- a/scripts/random.sh +++ b/scripts/random.sh @@ -1,7 +1,7 @@ #! /usr/bin/env bash BUILD_DIR=build -WALLPAPERS_PATH=workshop_wallpapers +WALLPAPERS_PATH=workshop_wallpapers_11-8-21 while : ; do DIR=$(find $WALLPAPERS_PATH -mindepth 1 -maxdepth 1 -type d -print0 | shuf -zn1 | xargs --null) @@ -21,5 +21,5 @@ done echo $DIR cd $BUILD_DIR -./mauri -p ../$DIR/scene.pkg -w 1600 -h 900 +./mauri -p ../$DIR/scene.pkg -a /mnt/hdd/SteamLibrary/steamapps/common/wallpaper_engine/assets -w 1600 -h 900 cd .. 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); } } |