From 6199f58cf56b1b3dc1b8d1d698a8cf45e6bc35e4 Mon Sep 17 00:00:00 2001 From: gered Date: Thu, 25 Jul 2013 08:05:43 -0400 Subject: [PATCH] adjust TilePrefab rotation to work with the cleaned up Tile rotation stuff --- .../blarg/gdx/tilemap3d/prefabs/TilePrefab.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java b/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java index b4abd8a..0836544 100644 --- a/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java +++ b/src/com/blarg/gdx/tilemap3d/prefabs/TilePrefab.java @@ -234,20 +234,13 @@ public class TilePrefab extends TileContainer { if (!copyEmptyTiles && sourceTile.isEmptySpace()) continue; - if (Bitfield.isSet(Tile.FLAG_FACE_NORTH, sourceTile.flags) || - Bitfield.isSet(Tile.FLAG_FACE_EAST, sourceTile.flags) || - Bitfield.isSet(Tile.FLAG_FACE_SOUTH, sourceTile.flags) || - Bitfield.isSet(Tile.FLAG_FACE_WEST, sourceTile.flags)) { - if (rotation.equals(Rotation.ROT90)) - sourceTile.rotateClockwise(); - else if (rotation.equals(Rotation.ROT180)) - sourceTile.rotateClockwise().rotateClockwise(); - else if (rotation.equals(Rotation.ROT270)) - sourceTile.rotateClockwise().rotateClockwise().rotateClockwise(); - } - + // copy it right away, any modifications that we need to do as part of this copy + // should only be done against destTile (leave the source data intact! herp derp, references!) Tile destTile = destination.get(minX + x, minY + y, minZ + z); destTile.set(sourceTile); + + if (destTile.isRotated()) + destTile.rotateClockwise(rotation.value / 90); } } }