diff options
author | Jared Adams <jaxad0127@gmail.com> | 2008-11-19 15:02:21 +0000 |
---|---|---|
committer | Jared Adams <jaxad0127@gmail.com> | 2008-11-19 15:02:21 +0000 |
commit | 9e5aaf087454d52aa8181cfc8f7dcee4b9cf4ace (patch) | |
tree | 854cdb18c8ba835b7ad21c192851018d0e88c3e0 | |
parent | 9d9be6ade9ecfaff8f7d003af5f8560b4cc6f836 (diff) | |
download | tools-9e5aaf087454d52aa8181cfc8f7dcee4b9cf4ace.tar.gz tools-9e5aaf087454d52aa8181cfc8f7dcee4b9cf4ace.tar.bz2 tools-9e5aaf087454d52aa8181cfc8f7dcee4b9cf4ace.tar.xz tools-9e5aaf087454d52aa8181cfc8f7dcee4b9cf4ace.zip |
Add more functionality
This tool now generates and import file in each folder that imports
every script int he folder and a root import file that imports those.
Mob and warp files were renamed to make it more obvious they are being
generated.
-rw-r--r-- | tmwcon/src/converter/Main.java | 5 | ||||
-rw-r--r-- | tmwcon/src/converter/Process.java | 54 |
2 files changed, 51 insertions, 8 deletions
diff --git a/tmwcon/src/converter/Main.java b/tmwcon/src/converter/Main.java index 081468e..c48ca28 100644 --- a/tmwcon/src/converter/Main.java +++ b/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/tmwcon/src/converter/Process.java b/tmwcon/src/converter/Process.java index 2d7cebd..e2f6f24 100644 --- a/tmwcon/src/converter/Process.java +++ b/tmwcon/src/converter/Process.java @@ -15,6 +15,13 @@ 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 +116,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, PrintWriter out) { + for (File f : folder.listFiles()) { + if (f.isDirectory()) { + processFiles(folder, out); + } else if (!f.getName().equals(importFile)) { + out.printf("npc: %s\n", 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 +137,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 +149,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 +179,28 @@ public class Process { mobOut.flush(); mobOut.close(); + + File _import = new File(folder, importFile); + PrintWriter importOut = Main.getWriter(_import); + importOut.printf("map: %s.gat\n", name); + processFiles(folder, importOut); + 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; + + for (String folder : folders) { + if (folder == null) continue; + out.printf("import: %s/_import.txt\n", folder); + } + + out.flush(); + out.close(); } } |