diff --git a/src/main/java/org/nanoboot/spriteutils/commands/DrawCommand.java b/src/main/java/org/nanoboot/spriteutils/commands/DrawCommand.java index 3ed35f5..f7f0852 100644 --- a/src/main/java/org/nanoboot/spriteutils/commands/DrawCommand.java +++ b/src/main/java/org/nanoboot/spriteutils/commands/DrawCommand.java @@ -360,7 +360,7 @@ public class DrawCommand implements Command { g.setStroke(dashedStroke); Color currentColor = g.getColor(); - g.setColor(Color.RED); + g.setColor(spriteUtilsOptions.getRectangleColor()); g.drawRect(row.getX(), row.getY(), row.getWidth() - 1, row.getHeight() - 1); g.setColor(currentColor); } diff --git a/src/main/java/org/nanoboot/spriteutils/core/SpriteSheet.java b/src/main/java/org/nanoboot/spriteutils/core/SpriteSheet.java index 7bd0513..4844e13 100644 --- a/src/main/java/org/nanoboot/spriteutils/core/SpriteSheet.java +++ b/src/main/java/org/nanoboot/spriteutils/core/SpriteSheet.java @@ -77,6 +77,12 @@ public class SpriteSheet { validateRow(spriteSheetRow); + SpriteSheetRow previousSheetRow = rows.isEmpty() ? null : rows.get(rows.size() - 1); + + if (spriteSheetRow.getColumn() > 1 && previousSheetRow != null && Math.abs(spriteSheetRow.height) >= Math.abs(previousSheetRow.height) && (spriteSheetRow.getColumn() > 2 ? (previousSheetRow.height != 0 && spriteSheetRow.height != 0) : false)) { + spriteSheetRow.height = -spriteSheetRow.height; + } + updateSpriteSheetRow(spriteSheetRow); rows.add(spriteSheetRow); diff --git a/src/main/java/org/nanoboot/spriteutils/core/SpriteSheetRow.java b/src/main/java/org/nanoboot/spriteutils/core/SpriteSheetRow.java index 8db6830..3341906 100644 --- a/src/main/java/org/nanoboot/spriteutils/core/SpriteSheetRow.java +++ b/src/main/java/org/nanoboot/spriteutils/core/SpriteSheetRow.java @@ -77,7 +77,7 @@ public class SpriteSheetRow { numberPerSheet = i < csvColumns.length ? Integer.parseInt(csvColumns[i]) : 0; // Adjust height if the column is greater than 1 - if (column > 1 && height == 0) { + if (column > 1) { height = -height; } } catch (NumberFormatException e) { diff --git a/src/main/java/org/nanoboot/spriteutils/core/SpriteUtils.java b/src/main/java/org/nanoboot/spriteutils/core/SpriteUtils.java index 535b025..b4c5f72 100644 --- a/src/main/java/org/nanoboot/spriteutils/core/SpriteUtils.java +++ b/src/main/java/org/nanoboot/spriteutils/core/SpriteUtils.java @@ -45,7 +45,7 @@ public class SpriteUtils { } public void run(String[] args) { - //args = "draw --dir /rv/data/desktop/code/code.nanoboot.org/nanoboot/open-eggbert-legacy-assets/speedy_eggbert_1/IMAGE08 --rectangle-color 0,255,0 --sprite-sheet-path /rv/data/desktop/code/code.nanoboot.org/nanoboot/open-eggbert/assets/default-spritesheets/speedy_blupi_I.spritesheet.csv --rows 8 --file-name EXPLO.BLP ".split(" "); + //args = "draw --dir /rv/data/desktop/code/code.nanoboot.org/nanoboot/open-eggbert-legacy-assets/speedy_eggbert_1/IMAGE08 --rectangle-color 0,255,0 --sprite-sheet-path /rv/data/desktop/code/code.nanoboot.org/nanoboot/open-eggbert/assets/default-spritesheets/speedy_blupi_I.spritesheet.csv --row 2 --file-name OBJECT.BLP ".split(" "); run(new SpriteUtilsArgs(args)); }