summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/tmwcon/src/Converter.java2
-rw-r--r--tools/tmwcon/src/converter/Main.java5
-rw-r--r--tools/tmwcon/src/converter/Process.java67
-rw-r--r--tools/tmwcon/tiled-core.jarbin0 -> 52337 bytes
-rw-r--r--tools/tmwcon/tmw.jarbin0 -> 2764 bytes
5 files changed, 65 insertions, 9 deletions
diff --git a/tools/tmwcon/src/Converter.java b/tools/tmwcon/src/Converter.java
index b7082844..0f245aa3 100644
--- a/tools/tmwcon/src/Converter.java
+++ b/tools/tmwcon/src/Converter.java
@@ -9,7 +9,7 @@ import java.net.*;
import java.util.*;
public abstract class Converter {
- static String[] tiledJars = {"tile-core.jar", "tiled.jar"};
+ static String[] tiledJars = {"tiled-core.jar", "tiled.jar"};
static String[] wlkJars = {"plugins/tmw.jar", "tmw.jar"};
public static void main(String[] args) throws Exception {
diff --git a/tools/tmwcon/src/converter/Main.java b/tools/tmwcon/src/converter/Main.java
index 081468e3..c48ca286 100644
--- a/tools/tmwcon/src/converter/Main.java
+++ b/tools/tmwcon/src/converter/Main.java
@@ -86,18 +86,21 @@ public class Main extends Thread {
folder = new File("tmwdata/maps/");
Collection<File> tmxs = getTMXFiles(folder);
+ Vector<String> folders = new Vector<String>();
String name;
for (File f : tmxs) {
name = getName(folder, f);
System.out.printf("== %s ==\n", name);
if (summary != null) summary.printf("== %s ==\n", name);
- Process.processMap(name, loadMap(f), summary);
+ folders.add(Process.processMap(name, loadMap(f), summary));
}
if (summary != null) {
summary.flush();
summary.close();
}
+
+ Process.writeMasterImport(folders.toArray(new String[0]));
}
public static void main(String[] args) {
diff --git a/tools/tmwcon/src/converter/Process.java b/tools/tmwcon/src/converter/Process.java
index 2d7cebd2..8f077d5c 100644
--- a/tools/tmwcon/src/converter/Process.java
+++ b/tools/tmwcon/src/converter/Process.java
@@ -10,11 +10,21 @@ import java.io.*;
import java.util.Iterator;
import java.util.Properties;
import java.util.TreeSet;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Collections;
import tiled.core.*;
import tiled.plugins.tmw.*;
public class Process {
+ private static final String baseFolder = "server-data/";
+ private static final File _baseFolder = new File(baseFolder);
+ private static final String scriptDirectory = "npc/";
+ private static final String mobFile = "_mobs.txt";
+ private static final String warpFile = "_warps.txt";
+ private static final String importFile = "_import.txt";
+
private static WLKInterface wlk = null;
public static void prepWLK(File folder) {
@@ -109,9 +119,19 @@ public class Process {
}
}
- public static void processMap(String name, Map map, PrintWriter summary) {
- if (name == null) return;
- if (map == null) return;
+ private static void processFiles(File folder, List<String> out) {
+ for (File f : folder.listFiles()) {
+ if (f.isDirectory()) {
+ processFiles(folder, out);
+ } else if (!f.getName().equals(importFile)) {
+ out.add("npc: " + f.getPath().substring(_baseFolder.getPath().length() + 1));
+ }
+ }
+ }
+
+ public static String processMap(String name, Map map, PrintWriter summary) {
+ if (name == null) return null;
+ if (map == null) return null;
Properties props = map.getProperties();
String title = getProp(props, "name", "");
@@ -120,7 +140,7 @@ public class Process {
summary.printf("\tMusic: '%s'\n", getProp(props, "music", ""));
summary.printf("\tMinimap: '%s'\n", getProp(props, "minimap", ""));
}
- String folderName = "server-data/npc/" + name;
+ String folderName = scriptDirectory + name;
if (title.length() > 0) {
folderName += "_" + title.replaceAll("\\s", "_");
title = name + " " + title;
@@ -132,10 +152,10 @@ public class Process {
if (wlk != null) wlk.write(name, map);
- File folder = new File(folderName);
+ File folder = new File(baseFolder + folderName);
folder.mkdirs();
- PrintWriter warpOut = Main.getWriter(new File(folder, "passages.txt"));
- PrintWriter mobOut = Main.getWriter(new File(folder, "mobs.txt"));
+ PrintWriter warpOut = Main.getWriter(new File(folder, warpFile));
+ PrintWriter mobOut = Main.getWriter(new File(folder, mobFile));
warpOut.printf("// %s warps\n\n", title);
mobOut.printf("// %s mobs\n\n", title);
@@ -162,5 +182,38 @@ public class Process {
mobOut.flush();
mobOut.close();
+
+ File _import = new File(folder, importFile);
+ List<String> output_elements = new ArrayList<String>();
+ processFiles(folder, output_elements);
+ PrintWriter importOut = Main.getWriter(_import);
+ importOut.printf("map: %s.gat\n", name);
+ Collections.sort(output_elements);
+ for (String s : output_elements)
+ importOut.println(s);
+ importOut.flush();
+ importOut.close();
+
+ return folderName;
+ }
+
+ public static void writeMasterImport(String[] folders) {
+ File master = new File(baseFolder + scriptDirectory + "_import.txt");
+ PrintWriter out = Main.getWriter(master);
+ if (out == null) return;
+
+ List<String> output_elements = new ArrayList<String>();
+
+ for (String folder : folders) {
+ if (folder == null) continue;
+ output_elements.add("import: " + folder + "/_import.txt");
+ }
+
+ Collections.sort(output_elements);
+ for (String s : output_elements)
+ out.println(s);
+
+ out.flush();
+ out.close();
}
}
diff --git a/tools/tmwcon/tiled-core.jar b/tools/tmwcon/tiled-core.jar
new file mode 100644
index 00000000..78d44bc0
--- /dev/null
+++ b/tools/tmwcon/tiled-core.jar
Binary files differ
diff --git a/tools/tmwcon/tmw.jar b/tools/tmwcon/tmw.jar
new file mode 100644
index 00000000..2ffa74dc
--- /dev/null
+++ b/tools/tmwcon/tmw.jar
Binary files differ