diff options
-rw-r--r-- | assets/opensb/interface/building/blockswap.png | bin | 0 -> 147 bytes | |||
-rw-r--r-- | source/game/items/StarMaterialItem.cpp | 8 |
2 files changed, 7 insertions, 1 deletions
diff --git a/assets/opensb/interface/building/blockswap.png b/assets/opensb/interface/building/blockswap.png Binary files differnew file mode 100644 index 0000000..83f49b4 --- /dev/null +++ b/assets/opensb/interface/building/blockswap.png diff --git a/source/game/items/StarMaterialItem.cpp b/source/game/items/StarMaterialItem.cpp index 9321ead..2f3aece 100644 --- a/source/game/items/StarMaterialItem.cpp +++ b/source/game/items/StarMaterialItem.cpp @@ -131,7 +131,7 @@ void MaterialItem::update(float dt, FireMode fireMode, bool shifting, HashSet<Mo } void MaterialItem::render(RenderCallback* renderCallback, EntityRenderLayer) { - if (m_collisionOverride != TileCollisionOverride::None) { + if (m_blockSwap || m_collisionOverride != TileCollisionOverride::None) { float pulseLevel = 1.f - 0.3f * 0.5f * ((float)sin(2 * Constants::pi * 4.0 * Time::monotonicTime()) + 1.f); Color color = owner()->favoriteColor().mix(Color::White); color.setAlphaF(color.alphaF() * pulseLevel * 0.95f); @@ -146,6 +146,12 @@ void MaterialItem::render(RenderCallback* renderCallback, EntityRenderLayer) { } }; + if (m_blockSwap) { + color.hueShift(0.167f); + addIndicator("/interface/building/blockswap.png"); + color.hueShift(-0.167f); + } + if (m_collisionOverride == TileCollisionOverride::Empty) addIndicator("/interface/building/collisionempty.png"); else if (m_collisionOverride == TileCollisionOverride::Platform) |