diff --git a/src/tools/trackeditor/gui/CheckDialog.java b/src/tools/trackeditor/gui/CheckDialog.java index e7c1c2519..8cd2c0bab 100644 --- a/src/tools/trackeditor/gui/CheckDialog.java +++ b/src/tools/trackeditor/gui/CheckDialog.java @@ -12,8 +12,10 @@ import java.io.File; import java.io.FileReader; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.Map; import java.util.Set; import java.util.Vector; @@ -55,6 +57,7 @@ public class CheckDialog extends JDialog private Set textures = new HashSet(); private String dataDirectory = null; private TrackData trackData = null; + private Map imageHasAlpha = new HashMap(); public CheckDialog(EditorFrame editorFrame) { @@ -1054,9 +1057,13 @@ public class CheckDialog extends JDialog { try { - BufferedImage image = ImageIO.read(textureFile); + if (!imageHasAlpha.containsKey(textureFile.getAbsolutePath())) + { + BufferedImage image = ImageIO.read(textureFile); + imageHasAlpha.put(textureFile.getAbsolutePath(), image.getColorModel().hasAlpha()); + } - if (!image.getColorModel().hasAlpha()) + if (imageHasAlpha.get(textureFile.getAbsolutePath())) { doubleSided = true; } diff --git a/src/tools/trackeditor/utils/Properties.java b/src/tools/trackeditor/utils/Properties.java index 3ab8442b6..87528688d 100644 --- a/src/tools/trackeditor/utils/Properties.java +++ b/src/tools/trackeditor/utils/Properties.java @@ -34,7 +34,7 @@ public class Properties private static Properties instance = new Properties(); private Vector propertiesListeners = new Vector(); public final String title = "sd2-trackeditor"; - public final String version = "1.4.14"; + public final String version = "1.4.15"; private String path; private double imageScale = 1;