OSDN Git Service

[changed] TexturePacker, made image index require an underscore (eg image_1.png).
authornathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 9 Dec 2010 21:05:05 +0000 (21:05 +0000)
committernathan.sweet <nathan.sweet@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 9 Dec 2010 21:05:05 +0000 (21:05 +0000)
extensions/image-packer/src/com/badlogic/gdx/imagepacker/TexturePacker.java
gdx/src/com/badlogic/gdx/graphics/TextureAtlas.java

index 8c22b4a..c9aea07 100644 (file)
@@ -37,7 +37,7 @@ import com.badlogic.gdx.graphics.Texture.TextureFilter;
 import com.badlogic.gdx.utils.MathUtils;\r
 \r
 public class TexturePacker {\r
-       static Pattern numberedImagePattern = Pattern.compile("(.*?[^-])(\\d+)");\r
+       static Pattern indexPattern = Pattern.compile(".+_(\\d+)(_.*|$)");\r
 \r
        ArrayList<Image> images = new ArrayList();\r
        FileWriter writer;\r
@@ -427,18 +427,14 @@ public class TexturePacker {
                        if (canvas == null) return;\r
 \r
                        String imageName = image.name;\r
-                       imageName = imageName.replace("_" + formatToAbbrev.get(filter.format), "");\r
-                       imageName = imageName.replace("_" + filter.direction, "");\r
-                       imageName = imageName.replace("_" + filterToAbbrev.get(filter.minFilter) + "," + filterToAbbrev.get(filter.magFilter),\r
-                               "");\r
                        imageName = imageName.replace("\\", "/");\r
 \r
-                       Matcher matcher = numberedImagePattern.matcher(imageName);\r
+                       Matcher matcher = indexPattern.matcher(imageName);\r
                        int index = -1;\r
-                       if (matcher.matches()) {\r
-                               imageName = matcher.group(1);\r
-                               index = Integer.parseInt(matcher.group(2));\r
-                       }\r
+                       if (matcher.matches()) index = Integer.parseInt(matcher.group(1));\r
+\r
+                       int underscoreIndex = imageName.indexOf('_');\r
+                       if (underscoreIndex != -1) imageName = imageName.substring(0, underscoreIndex);\r
 \r
                        writer.write(imageName + "\n");\r
                        writer.write("  rotate: " + image.rotate + "\n");\r
@@ -587,9 +583,9 @@ public class TexturePacker {
 \r
        static final HashMap<Format, String> formatToAbbrev = new HashMap();\r
        static {\r
-               formatToAbbrev.put(Format.RGBA8888, "8888");\r
-               formatToAbbrev.put(Format.RGBA4444, "4444");\r
-               formatToAbbrev.put(Format.RGB565, "565");\r
+               formatToAbbrev.put(Format.RGBA8888, "rgba8");\r
+               formatToAbbrev.put(Format.RGBA4444, "rgba4");\r
+               formatToAbbrev.put(Format.RGB565, "rgb565");\r
                formatToAbbrev.put(Format.Alpha, "a");\r
        }\r
 \r
@@ -597,7 +593,7 @@ public class TexturePacker {
                public Format defaultFormat = Format.RGBA8888;\r
                public TextureFilter defaultFilterMin = TextureFilter.Linear;\r
                public TextureFilter defaultFilterMag = TextureFilter.Linear;\r
-               public int alphaThreshold = 9;\r
+               public int alphaThreshold = 0;\r
                public boolean pot = true;\r
                public int padding = 0;\r
                public boolean debug = false;\r
index 99dace1..c4b5a2e 100644 (file)
@@ -18,7 +18,6 @@ import java.io.IOException;
 import java.io.InputStreamReader;\r
 import java.util.ArrayList;\r
 import java.util.Comparator;\r
-import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.List;\r
 import java.util.PriorityQueue;\r