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

summaryrefslogtreecommitdiff
path: root/source/game/StarWorldClient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarWorldClient.cpp')
-rw-r--r--source/game/StarWorldClient.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/source/game/StarWorldClient.cpp b/source/game/StarWorldClient.cpp
index b2eda12..8b12a6f 100644
--- a/source/game/StarWorldClient.cpp
+++ b/source/game/StarWorldClient.cpp
@@ -2268,12 +2268,16 @@ void WorldClient::informTilePrediction(Vec2I const& pos, TileModification const&
p.time = now;
if (auto placeMaterial = modification.ptr<PlaceMaterial>()) {
if (placeMaterial->layer == TileLayer::Foreground) {
- p.foreground = placeMaterial->material;
- p.foregroundHueShift = placeMaterial->materialHueShift;
+ auto materialDatabase = Root::singleton().materialDatabase();
+ if (!materialDatabase->isCascadingFallingMaterial(placeMaterial->material)
+ && !materialDatabase-> isFallingMaterial(placeMaterial->material)) {
+ p.foreground = placeMaterial->material;
+ p.foregroundHueShift = placeMaterial->materialHueShift;
+ }
if (placeMaterial->collisionOverride != TileCollisionOverride::None)
p.collision = collisionKindFromOverride(placeMaterial->collisionOverride);
else
- p.collision = Root::singleton().materialDatabase()->materialCollisionKind(placeMaterial->material);
+ p.collision = materialDatabase->materialCollisionKind(placeMaterial->material);
dirtyCollision(RectI::withSize(pos, { 1, 1 }));
} else {
p.background = placeMaterial->material;