diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-20 01:53:34 +1100 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2024-03-20 01:53:34 +1100 |
commit | 6d76a11e256cd96c9cdd7ae5a10c0276e6347277 (patch) | |
tree | d52459889408115d1e0eb657a05dc58e098e50eb /source/game/StarToolUser.cpp | |
parent | 58a346e563df12af9194c198c7ffe974411abb28 (diff) |
experiment: unclamped lighting
Diffstat (limited to 'source/game/StarToolUser.cpp')
-rw-r--r-- | source/game/StarToolUser.cpp | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/source/game/StarToolUser.cpp b/source/game/StarToolUser.cpp index 4951128..4135dd0 100644 --- a/source/game/StarToolUser.cpp +++ b/source/game/StarToolUser.cpp @@ -165,7 +165,7 @@ Maybe<float> ToolUser::toolRadius() const { return {}; } -List<Drawable> ToolUser::renderObjectPreviews(Vec2F aimPosition, Direction walkingDirection, bool inToolRange, Vec4B favoriteColor) const { +List<Drawable> ToolUser::renderObjectPreviews(Vec2F aimPosition, Direction walkingDirection, bool inToolRange, Color favoriteColor) const { if (m_suppress.get() || !m_user) return {}; @@ -178,21 +178,16 @@ List<Drawable> ToolUser::renderObjectPreviews(Vec2F aimPosition, Direction walki Color opacityMask = Color::White; opacityMask.setAlphaF(item->getAppropriateOpacity()); - Vec4B favoriteColorTrans; - if (inToolRange && objectDatabase->canPlaceObject(m_user->world(), aimPos, item->objectName())) { - favoriteColorTrans = favoriteColor; - } else { - Color color = Color::rgba(favoriteColor); - color.setHue(color.hue() + 120); - favoriteColorTrans = color.toRgba(); - } + Color favoriteColorTrans = favoriteColor; + if (!inToolRange || !objectDatabase->canPlaceObject(m_user->world(), aimPos, item->objectName())) + favoriteColorTrans.setHue(favoriteColor.hue() + 120); - favoriteColorTrans[3] = m_objectPreviewOuterAlpha * 255; - Color nearWhite = Color::rgba(favoriteColorTrans); + favoriteColorTrans.setAlphaF(m_objectPreviewOuterAlpha); + Color nearWhite = favoriteColorTrans; nearWhite.setValue(1 - (1 - nearWhite.value()) / 5); nearWhite.setSaturation(nearWhite.saturation() / 5); nearWhite.setAlphaF(m_objectPreviewInnerAlpha); - ImageOperation op = BorderImageOperation{m_beamGunGlowBorder, nearWhite.toRgba(), favoriteColorTrans, false, false}; + ImageOperation op = BorderImageOperation{m_beamGunGlowBorder, nearWhite.toRgba(), favoriteColorTrans.toRgba(), false, false}; for (Drawable& drawable : drawables) { if (drawable.isImage()) |