From c38d88c06a25fbf5d518f48e1566bd7b5426afb5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Fri, 12 Jun 2015 00:01:41 -0400 Subject: [PATCH] Updates dmitool to be able to insert specific directions Adds a direction option to the import command, that causes the imported icon state is overwrites the specified direction, if nodup is set. Otherwise, the direction is overwritten on a copy. --- tools/dmitool/dmitool.jar | Bin 201166 -> 197142 bytes .../src/main/java/dmitool/IconState.java | 9 +++- tools/dmitool/src/main/java/dmitool/Main.java | 40 ++++++++++++++++-- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/tools/dmitool/dmitool.jar b/tools/dmitool/dmitool.jar index 34bdb5bdd459fd2f1746062a878f430c86fe8d45..f0fc1dc17be5ea9669116c9f20999c841922eb70 100644 GIT binary patch delta 29470 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 delta 33522 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 Jx1X=${y+a7g{c4l diff --git a/tools/dmitool/src/main/java/dmitool/IconState.java b/tools/dmitool/src/main/java/dmitool/IconState.java index c3eb2cff21..ee31b13792 100644 --- a/tools/dmitool/src/main/java/dmitool/IconState.java +++ b/tools/dmitool/src/main/java/dmitool/IconState.java @@ -175,7 +175,7 @@ public class IconState { } int pxW = in.imgInfo.cols; int pxH = in.imgInfo.rows; - int frames = pxW / w; + int frames = pxW / w; //frames are read along the X axis, dirs along the Y, much like export. int dirs = pxH / h; // make sure the size is an integer multiple @@ -211,6 +211,12 @@ public class IconState { return new IconState(name, dirs, frames, images, delays, rewind, loop, hotspot, movement); } + + //Converts a desired dir and frame to an index into the images array. + public int getIndex(int dir, int frame) { + return dir + frame*dirs; + } + } @@ -244,6 +250,5 @@ public class IconState { - diff --git a/tools/dmitool/src/main/java/dmitool/Main.java b/tools/dmitool/src/main/java/dmitool/Main.java index 493d7b58fe..55b453098e 100644 --- a/tools/dmitool/src/main/java/dmitool/Main.java +++ b/tools/dmitool/src/main/java/dmitool/Main.java @@ -59,6 +59,7 @@ public class Main { "\t movement | move | mov | m : [state] should be marked as a movement state\n" + "\t delays L | delay L | del L | d L : use the list L as a comma-separated list of delays (e.g. '1,1,2,2,1')\n" + "\t hotspot H | hs H | h H : use H as the hotspot for this state\n" + + "\t direction D | dir D : replaces D with the image from [in], instead of the entire state. D can be 0-7 or S, N, E, etc. If the state does not already exist, this is ignored\n" + ""; public static void main(String[] args) throws FileNotFoundException, IOException, DMIException { @@ -270,6 +271,7 @@ public class Main { boolean movement = false; String hotspot = null; float[] delays = null; + String replaceDir = null; while(!argq.isEmpty()) { String s = argq.pollFirst(); switch(s.toLowerCase()) { @@ -341,6 +343,15 @@ public class Main { return; } break; + case "dir": + case "direction": + if(!argq.isEmpty()) { + replaceDir = argq.pollFirst(); + } else { + System.out.println("Argument '" + s + "' requires a direction argument following it!"); + return; + } + break; default: System.out.println("Unknown import argument '" + s + "', ignoring."); break; @@ -352,12 +363,33 @@ public class Main { if(VERBOSITY >= 0) toImportTo.printInfo(); IconState is = IconState.importFromPNG(toImportTo, new FileInputStream(pngFile), stateName, delays, rewind, loop, hotspot, movement); - if(noDup) { - if(!toImportTo.setIconState(is)) { - toImportTo.addIconState(null, is); + //If replaceDir is set, attempt to find an IconState with the same name. + //Then if nodup is set, replace the specified direction of that IconState with the (first direction) of the imported IconState. + //If nodup is not set, create a copy of the source IconState and apply the replace operation on that. + IconState targetIs; + if(replaceDir != null && (targetIs = toImportTo.getIconState(stateName)) != null) { + int dirToReplace = parseDir(replaceDir, targetIs); + int numFrames = is.frames < targetIs.frames? is.frames : targetIs.frames; + + if(noDup) { + for(int frameIdx = 0; frameIdx < numFrames; frameIdx++) { + targetIs.images[targetIs.getIndex(dirToReplace, frameIdx)] = is.images[is.getIndex(0, frameIdx)]; + } + } else { + targetIs = targetIs.clone(); + for(int frameIdx = 0; frameIdx < numFrames; frameIdx++) { + targetIs.images[targetIs.getIndex(dirToReplace, frameIdx)] = is.images[is.getIndex(0, frameIdx)]; + } + toImportTo.addIconState(null, targetIs); } } else { - toImportTo.addIconState(null, is); + if(noDup) { + if(!toImportTo.setIconState(is)) { + toImportTo.addIconState(null, is); + } + } else { + toImportTo.addIconState(null, is); + } } if(VERBOSITY >= 0) toImportTo.printInfo();