unmovable_cmd.c
changeset 3282 4f91ee240e68
parent 3183 cf71bd234ebd
child 3310 7339b2b1e957
--- a/unmovable_cmd.c	Tue Mar 21 09:44:07 2006 +0000
+++ b/unmovable_cmd.c	Tue Mar 21 20:02:05 2006 +0000
@@ -184,12 +184,16 @@
 
 static uint GetSlopeZ_Unmovable(const TileInfo* ti)
 {
-	return GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh) + ti->z;
+	if (_m[ti->tile].m5 == 3) {
+		return ti->z + GetPartialZ(ti->x & 0xF, ti->y & 0xF, ti->tileh);
+	} else {
+		return ti->z + (ti->tileh == 0 ? 0 : 8);
+	}
 }
 
 static uint GetSlopeTileh_Unmovable(const TileInfo *ti)
 {
-	return 0;
+	return _m[ti->tile].m5 == 3 ? ti->tileh : 0;
 }
 
 static int32 ClearTile_Unmovable(TileIndex tile, byte flags)