From 47dd0e33d1c0b41df6f0fe6995d14001a83a2f2b Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Sun, 25 Sep 2022 13:06:09 +0200 Subject: [PATCH] Added fading support for carousel items if the hidden or count-as-game metadata fields have been set. --- es-core/src/components/primary/CarouselComponent.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/es-core/src/components/primary/CarouselComponent.h b/es-core/src/components/primary/CarouselComponent.h index 98ef06c6d..b37ab42f5 100644 --- a/es-core/src/components/primary/CarouselComponent.h +++ b/es-core/src/components/primary/CarouselComponent.h @@ -859,8 +859,19 @@ template void CarouselComponent::render(const glm::mat4& parentT } } + float metadataOpacity {1.0f}; + + if constexpr (std::is_same_v) { + // If a game is marked as hidden, lower the opacity a lot. + // If a game is marked to not be counted, lower the opacity a moderate amount. + if (mEntries.at(renderItem.index).object->getHidden()) + metadataOpacity = 0.4f; + else if (!mEntries.at(renderItem.index).object->getCountAsGame()) + metadataOpacity = 0.7f; + } + comp->setScale(renderItem.scale); - comp->setOpacity(renderItem.opacity); + comp->setOpacity(renderItem.opacity * metadataOpacity); comp->render(renderItem.trans); // TODO: Rewrite to use "real" reflections instead of this hack.