[tiled] r686 - in trunk: . src/tiled/core src/tiled/io/xml src/tiled/mapeditor src/tiled/mapeditor/actions src/tiled/util

svn@biggeruniverse.com svn at biggeruniverse.com
Thu Jun 29 16:17:50 PDT 2006


Author: bjorn
Date: 2006-06-29 18:17:49 -0500 (Thu, 29 Jun 2006)
New Revision: 686

Modified:
   trunk/CHANGES
   trunk/src/tiled/core/TileSet.java
   trunk/src/tiled/io/xml/XMLMapTransformer.java
   trunk/src/tiled/mapeditor/MapEditor.java
   trunk/src/tiled/mapeditor/actions/SaveAsAction.java
   trunk/src/tiled/util/NumberedSet.java
Log:
Fixed creation of one-tile gaps between tilesets on saving (patch by Christian Henz)

Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/CHANGES	2006-06-29 23:17:49 UTC (rev 686)
@@ -3,7 +3,8 @@
 * Added support for tile instance properties (by Christian Henz)
 * Added ability to create stamp brushes from the tile palette
 * Embedded the tile palette
-* Fixed selection of map format by extention also when plugins are loaded
+* Fixed creation of one-tile gaps between tilesets on saving (Christian Henz)
+* Fixed failing to default to map format by extention when plugins are loaded
 * Fixed active marquee not being reset on loading a map
 * Fixed layer duplicates to not share layer properties with the original
 * Fixed width of tile button changing between selecting a tile and no tile

Modified: trunk/src/tiled/core/TileSet.java
===================================================================
--- trunk/src/tiled/core/TileSet.java	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/src/tiled/core/TileSet.java	2006-06-29 23:17:49 UTC (rev 686)
@@ -213,7 +213,7 @@
      */
     public int addTile(Tile t) {
         if (t.getId() < 0) {
-            t.setId(tiles.getMaxId());
+            t.setId(tiles.getMaxId() + 1);
         }
 
         if (tileDimensions.width < t.getWidth()) {
@@ -295,7 +295,7 @@
     public Vector generateGaplessVector() {
         Vector gapless = new Vector();
 
-        for (int i = 0; i < getMaxTileId(); i++) {
+        for (int i = 0; i <= getMaxTileId(); i++) {
             if (getTile(i) != null) gapless.add(getTile(i));
         }
 

Modified: trunk/src/tiled/io/xml/XMLMapTransformer.java
===================================================================
--- trunk/src/tiled/io/xml/XMLMapTransformer.java	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/src/tiled/io/xml/XMLMapTransformer.java	2006-06-29 23:17:49 UTC (rev 686)
@@ -15,24 +15,29 @@
 import java.awt.Color;
 import java.awt.Image;
 import java.io.*;
-import java.lang.reflect.*;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.Properties;
 import java.util.zip.GZIPInputStream;
-
 import javax.imageio.ImageIO;
-import javax.xml.parsers.*;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.w3c.dom.*;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
-
 import tiled.core.*;
 import tiled.io.ImageHelper;
 import tiled.io.MapReader;
 import tiled.io.PluginLogger;
 import tiled.mapeditor.util.cutter.BasicTileCutter;
-import tiled.util.*;
+import tiled.util.Base64;
+import tiled.util.Util;
 
 /**
  * @version $Id$
@@ -373,7 +378,7 @@
                 }
                 else if (child.getNodeName().equalsIgnoreCase("tile")) {
                     Tile tile = unmarshalTile(set, child, tilesetBaseDir);
-                    if (!hasTilesetImage || tile.getId() >= set.getMaxTileId()) {
+                    if (!hasTilesetImage || tile.getId() > set.getMaxTileId()) {
                         set.addTile(tile);
                     } else {
                         Tile myTile = set.getTile(tile.getId());

Modified: trunk/src/tiled/mapeditor/MapEditor.java
===================================================================
--- trunk/src/tiled/mapeditor/MapEditor.java	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/src/tiled/mapeditor/MapEditor.java	2006-06-29 23:17:49 UTC (rev 686)
@@ -1949,7 +1949,7 @@
                 while (it.hasNext() && firstTile == null) {
                     TileSet set = (TileSet) it.next();
                     int i = 0;
-                    while (firstTile == null && i < set.getMaxTileId()) {
+                    while (firstTile == null && i <= set.getMaxTileId()) {
                         firstTile = set.getTile(i);
                         i++;
                     }

Modified: trunk/src/tiled/mapeditor/actions/SaveAsAction.java
===================================================================
--- trunk/src/tiled/mapeditor/actions/SaveAsAction.java	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/src/tiled/mapeditor/actions/SaveAsAction.java	2006-06-29 23:17:49 UTC (rev 686)
@@ -15,15 +15,15 @@
 import java.awt.event.ActionEvent;
 import java.io.File;
 import javax.swing.AbstractAction;
-import javax.swing.KeyStroke;
 import javax.swing.JFileChooser;
 import javax.swing.JOptionPane;
+import javax.swing.KeyStroke;
 
+import tiled.io.MapHelper;
+import tiled.io.MapWriter;
 import tiled.mapeditor.MapEditor;
 import tiled.mapeditor.Resources;
 import tiled.mapeditor.util.TiledFileFilter;
-import tiled.io.MapWriter;
-import tiled.io.MapHelper;
 import tiled.util.TiledConfiguration;
 
 /**
@@ -184,7 +184,7 @@
 
                 // Add a dot if it wasn't at the end already
                 if (lastDot != filename.length() - 1) {
-                    newFilePath = newFilePath + ".";
+                    newFilePath += ".";
                 }
 
                 file = new File(newFilePath + saver.getFirstExtention());

Modified: trunk/src/tiled/util/NumberedSet.java
===================================================================
--- trunk/src/tiled/util/NumberedSet.java	2006-06-26 00:07:11 UTC (rev 685)
+++ trunk/src/tiled/util/NumberedSet.java	2006-06-29 23:17:49 UTC (rev 686)
@@ -92,18 +92,22 @@
 	}
 
 	/**
-	 * Returns the last id in the NumberedSet that is associated with an element,
-	 * or -1 if the NumberedSet is empty.
+	 * Returns the last id in the NumberedSet that is associated with an
+     * element, or -1 if the NumberedSet is empty.
 	 *
 	 * @return int
 	 */
 	public int getMaxId() {
-		int id = -1;
-		for (int i = 0; i < data.size(); i++) {
-			if (data.get(i) != null) id = i;
-		}
+        int maxId = data.size() - 1;
 
-		return id + 1;
+        while (maxId >= 0) {
+            if (data.get(maxId) != null) {
+                break;
+            }
+            maxId--;
+        }
+
+        return maxId;
 	}
 
 	/**
@@ -122,7 +126,7 @@
 	 * @return int
 	 */
 	public int add(Object o) {
-	  int id = getMaxId();
+	  int id = getMaxId() + 1;
 	  put(id, o);
 	  return id;
 	}
@@ -164,4 +168,4 @@
   	public int size() {
   		return data.size();
   	}
-}
\ No newline at end of file
+}




More information about the tiled-commit mailing list