mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-02-09 02:23:53 +07:00
Added support for header/footer for cli help message
Added support for header/footer for cli help message Adjusted MapViewer formatting Added support for MapViewer hex seed
This commit is contained in:
parent
c0462e4fce
commit
62dd6e3be6
@ -71,6 +71,12 @@ public class FontMetricsTool extends BaseTool {
|
|||||||
FontTBL.BitmapFont active;
|
FontTBL.BitmapFont active;
|
||||||
BitmapFont.BitmapFontData data;
|
BitmapFont.BitmapFontData data;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getHelpHeader() {
|
||||||
|
return "Configures font metrics for D2 font files.\n" +
|
||||||
|
"E.g., {cmd} --font font8";
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void createCliOptions(Options options) {
|
protected void createCliOptions(Options options) {
|
||||||
super.createCliOptions(options);
|
super.createCliOptions(options);
|
||||||
|
@ -3,6 +3,8 @@ package com.riiablo.map;
|
|||||||
import org.apache.commons.cli.CommandLine;
|
import org.apache.commons.cli.CommandLine;
|
||||||
import org.apache.commons.cli.Option;
|
import org.apache.commons.cli.Option;
|
||||||
import org.apache.commons.cli.Options;
|
import org.apache.commons.cli.Options;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
|
|
||||||
import com.artemis.BaseSystem;
|
import com.artemis.BaseSystem;
|
||||||
@ -147,6 +149,12 @@ public class MapViewer extends BaseTool {
|
|||||||
int act;
|
int act;
|
||||||
int diff;
|
int diff;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getHelpHeader() {
|
||||||
|
return "View generated maps.\n" +
|
||||||
|
"E.g., {cmd} --seed 0xdeadbeef --act 0 --diff 0";
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void createCliOptions(Options options) {
|
protected void createCliOptions(Options options) {
|
||||||
super.createCliOptions(options);
|
super.createCliOptions(options);
|
||||||
@ -162,11 +170,17 @@ public class MapViewer extends BaseTool {
|
|||||||
options.addOption(Option
|
options.addOption(Option
|
||||||
.builder("s")
|
.builder("s")
|
||||||
.longOpt("seed")
|
.longOpt("seed")
|
||||||
.desc("seed used for generation (-1 for random)")
|
.desc("seed used for generation (hex)")
|
||||||
.hasArg()
|
.hasArg()
|
||||||
.argName(int.class.getName())
|
.argName(int.class.getName())
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
|
options.addOption(Option
|
||||||
|
.builder("r")
|
||||||
|
.longOpt("random")
|
||||||
|
.desc("generate a random seed")
|
||||||
|
.build());
|
||||||
|
|
||||||
options.addOption(Option
|
options.addOption(Option
|
||||||
.builder("a")
|
.builder("a")
|
||||||
.longOpt("act")
|
.longOpt("act")
|
||||||
@ -199,8 +213,18 @@ public class MapViewer extends BaseTool {
|
|||||||
home = homeDirs.first();
|
home = homeDirs.first();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cli.hasOption("seed")) {
|
if (cli.hasOption("random")) {
|
||||||
seed = NumberUtils.toInt(cli.getOptionValue("seed"), -1);
|
seed = -1;
|
||||||
|
} else if (cli.hasOption("seed")) {
|
||||||
|
try {
|
||||||
|
String seedOptionValue = cli.getOptionValue("seed");
|
||||||
|
seedOptionValue = StringUtils.removeStartIgnoreCase(seedOptionValue, "0x");
|
||||||
|
seed = (int) Long.parseLong(seedOptionValue, 16);
|
||||||
|
} catch (NumberFormatException t) {
|
||||||
|
log.warn(ExceptionUtils.getRootCauseMessage(t), t);
|
||||||
|
ExceptionUtils.wrapAndThrow(t);
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
seed = -1;
|
seed = -1;
|
||||||
}
|
}
|
||||||
|
@ -45,8 +45,19 @@ public class BaseTool implements ApplicationListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void printHelp(String cmd, Options options) {
|
private void printHelp(String cmd, Options options) {
|
||||||
|
String header = getHelpHeader();
|
||||||
|
if (header != null) {
|
||||||
|
header = header.replace("{cmd}", cmd).trim();
|
||||||
|
header = String.format("%n%s%n%n", header);
|
||||||
|
}
|
||||||
|
|
||||||
|
String footer = getHelpFooter();
|
||||||
|
if (footer != null) {
|
||||||
|
footer = footer.replace("{cmd}", cmd).trim();
|
||||||
|
}
|
||||||
|
|
||||||
HelpFormatter formatter = new HelpFormatter();
|
HelpFormatter formatter = new HelpFormatter();
|
||||||
formatter.printHelp(cmd, getHelpHeader(), options, getHelpFooter(), true);
|
formatter.printHelp(cmd, header, options, footer, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user