PRC8/nwn/nwnprc/DocGen/trunk/prc/utils/BuildScrollHack.java
2024-06-21 19:37:17 -05:00

88 lines
3.1 KiB
Java

package prc.utils;
import prc.autodoc.Main.TLKStore;
import prc.autodoc.Main.TwoDAStore;
import java.io.IOException;
/**
* A class that combines Scrollgen, UpdateDes and ScrollMerchantGen. For use during
* the build process to avoid loading the same 2da files several times.
*
* @author Ornedan
*/
public class BuildScrollHack {
/**
* Ye olde maine methode.
*
* @param args The arguments
* @throws IOException Just toss any exceptions encountered
*/
public static void main(String[] args) throws IOException {
if (args.length == 0) readMe();
String twoDAPath = null;
String tlkPath = null;
String outPath = null;
// parse args
for (String param : args) {//2dadir tlkdir outpath| [--help]
// Parameter parseage
if (param.startsWith("-")) {
if (param.equals("--help")) readMe();
else {
for (char c : param.substring(1).toCharArray()) {
switch (c) {
default:
System.out.println("Unknown parameter: " + c);
readMe();
}
}
}
} else {
// It's a pathname
if (twoDAPath == null)
twoDAPath = param;
else if (tlkPath == null)
tlkPath = param;
else if (outPath == null)
outPath = param;
else {
System.out.println("Unknown parameter: " + param);
readMe();
}
}
}
// Load data
TwoDAStore twoDA = new TwoDAStore(twoDAPath);
TLKStore tlks = new TLKStore("dialog.tlk", "prc8_consortium.tlk", tlkPath);
ScrollGen.doScrollGen(twoDA, twoDAPath, outPath);
UpdateDes.doUpdateDes(twoDA, twoDAPath);
ScrollMerchantGen.doScrollMerchantGen(twoDA, tlks, outPath);
}
/**
* Prints the use instructions for this program and kills execution.
*/
private static void readMe() {
// 0 1 2 3 4 5 6 7 8
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890
System.out.println("Usage:\n" +
" java -jar prc.jar buildscrhack 2dadir tlkdir outpath| [--help]\n" +
"\n" +
"2dadir Path to a directory containing 2da files\n" +
"tlkdir Path to a directory containing dialog.tlk and prc8_consortium.tlk\n" +
"outdir Path to the directory to save the new scroll xml files in\n" +
"\n" +
"--help prints this info you are reading\n" +
"\n" +
"\n" +
"A tool for automatically updating parts of des_crft_scrolls.2da and\n" +
"des_crft_spells.2da based on spells.2da\n"
);
System.exit(0);
}
}