diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java index 5aca2a517..587d837a7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java @@ -755,17 +755,17 @@ public class Dungeon { int t = Math.max( 0, y - dist ); int b = Math.min( y + dist, level.height() - 1 ); - int length = r - l + 1; - int width = t - b + 1; + int width = r - l + 1; + int height = b - t + 1; int pos = l + t * level.width(); for (int i = t; i <= b; i++) { - BArray.or( level.visited, level.heroFOV, pos, length, level.visited ); + BArray.or( level.visited, level.heroFOV, pos, width, level.visited ); pos+=level.width(); } - GameScene.updateFog(l, t, length, width); + GameScene.updateFog(l, t, width, height); if (hero.buff(MindVision.class) != null){ for (Mob m : level.mobs.toArray(new Mob[0])){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java index 62091fd7f..c9088f7b6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTerrainTilemap.java @@ -58,8 +58,7 @@ public class DungeonTerrainTilemap extends DungeonTilemap { if (!flat) { if ((DungeonTileSheet.doorTile(tile))) { return DungeonTileSheet.getRaisedDoorTile(tile, map[pos - mapWidth]); - } else if (tile == Terrain.WALL || tile == Terrain.WALL_DECO - || tile == Terrain.SECRET_DOOR || tile == Terrain.BOOKSHELF){ + } else if (DungeonTileSheet.wallStitcheable(tile)){ return DungeonTileSheet.getRaisedWallTile( tile, pos, @@ -100,11 +99,6 @@ public class DungeonTerrainTilemap extends DungeonTilemap { @Override protected boolean needsRender(int pos) { - return data[pos] != DungeonTileSheet.WATER || - ( - pos + mapWidth < size && - DungeonTileSheet.wallStitcheable(map[pos]) && - DungeonTileSheet.wallStitcheable(map[pos + mapWidth]) - ); + return data[pos] >= 0 && data[pos] != DungeonTileSheet.WATER; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java index b5a056c51..8be825490 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/tiles/DungeonTileSheet.java @@ -219,7 +219,9 @@ public class DungeonTileSheet { public static int getRaisedWallTile(int tile, int pos, int right, int below, int left){ int result; - if (doorTile(below)) result = RAISED_WALL_DOOR; + + if (below == -1 || wallStitcheable(below)) return -1; + else if (doorTile(below)) result = RAISED_WALL_DOOR; else if (tile == Terrain.WALL || tile == Terrain.SECRET_DOOR) result = RAISED_WALL; else if (tile == Terrain.WALL_DECO) result = RAISED_WALL_DECO; else if (tile == Terrain.BOOKSHELF) result = RAISED_WALL_BOOKSHELF;