From 8c30c08e641038f5ed44fe4f98e16e963930f746 Mon Sep 17 00:00:00 2001 From: Daniel Stevens Date: Wed, 5 Mar 2025 22:40:41 -0700 Subject: [PATCH] Use `scaleLinear` to implement `Fade::update()` --- NAS2D/Renderer/Fade.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/NAS2D/Renderer/Fade.cpp b/NAS2D/Renderer/Fade.cpp index bcb4c819..7497e166 100644 --- a/NAS2D/Renderer/Fade.cpp +++ b/NAS2D/Renderer/Fade.cpp @@ -12,6 +12,7 @@ #include "Fade.h" #include "Renderer.h" #include "../Math/Rectangle.h" +#include "../Math/MathUtils.h" #include #include @@ -79,8 +80,9 @@ void Fade::update() } const auto currentMilliseconds = std::min(mFadeTimer.elapsedTicks(), mDuration.milliseconds); - const auto step = static_cast(currentMilliseconds * 255u / mDuration.milliseconds); - mFadeColor.alpha = (mDirection == FadeDirection::In) ? 255 - step : step; + mFadeColor.alpha = (mDirection == FadeDirection::In) ? + scaleLinear(currentMilliseconds, uint32_t{0}, mDuration.milliseconds, alphaOpaque, alphaTransparent) : + scaleLinear(currentMilliseconds, uint32_t{0}, mDuration.milliseconds, alphaTransparent, alphaOpaque); if (currentMilliseconds >= mDuration.milliseconds) {