diff options
Diffstat (limited to 'landscape.c')
-rw-r--r-- | landscape.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/landscape.c b/landscape.c index 1932d29e2..45e371bb2 100644 --- a/landscape.c +++ b/landscape.c @@ -246,14 +246,17 @@ bool hasFoundation(TileInfo *ti, bool direction) { bool south, other; // southern corner and east/west corner uint slope = _tile_type_procs[ti->type]->get_slope_tileh_proc(ti); - south = ((ti->tileh) & 2) != (slope & 2); + uint tileh = ti->tileh; + + if(slope==0 && slope!=tileh) tileh=15; + south = (tileh & 2) != (slope & 2); if(direction) - other = ((ti->tileh) & 4) != (slope & 4); + other = (tileh & 4) != (slope & 4); else - other = ((ti->tileh) & 1) != (slope & 1); - + other = (tileh & 1) != (slope & 1); return south || other; + } void DrawFoundation(TileInfo *ti, uint f) |