Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchililisoup <rebot333gaming@gmail.com>2025-03-22 16:04:36 -0600
committerchililisoup <rebot333gaming@gmail.com>2025-03-22 16:04:36 -0600
commitd23db8d5515cd8b5b1bb59b19c4285053eff5ee7 (patch)
tree1cf8f98e83324da3cdaa4cd3065ce212fa9d7794
parent898a95811123347456b72b511d893430b800f321 (diff)
block swap indicator
-rw-r--r--assets/opensb/interface/building/blockswap.pngbin0 -> 147 bytes
-rw-r--r--source/game/items/StarMaterialItem.cpp8
2 files changed, 7 insertions, 1 deletions
diff --git a/assets/opensb/interface/building/blockswap.png b/assets/opensb/interface/building/blockswap.png
new file mode 100644
index 0000000..83f49b4
--- /dev/null
+++ b/assets/opensb/interface/building/blockswap.png
Binary files differ
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)