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;
|
||||
BitmapFont.BitmapFontData data;
|
||||
|
||||
@Override
|
||||
protected String getHelpHeader() {
|
||||
return "Configures font metrics for D2 font files.\n" +
|
||||
"E.g., {cmd} --font font8";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createCliOptions(Options options) {
|
||||
super.createCliOptions(options);
|
||||
|
@ -3,6 +3,8 @@ package com.riiablo.map;
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.commons.cli.Option;
|
||||
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 com.artemis.BaseSystem;
|
||||
@ -147,6 +149,12 @@ public class MapViewer extends BaseTool {
|
||||
int act;
|
||||
int diff;
|
||||
|
||||
@Override
|
||||
protected String getHelpHeader() {
|
||||
return "View generated maps.\n" +
|
||||
"E.g., {cmd} --seed 0xdeadbeef --act 0 --diff 0";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createCliOptions(Options options) {
|
||||
super.createCliOptions(options);
|
||||
@ -162,11 +170,17 @@ public class MapViewer extends BaseTool {
|
||||
options.addOption(Option
|
||||
.builder("s")
|
||||
.longOpt("seed")
|
||||
.desc("seed used for generation (-1 for random)")
|
||||
.desc("seed used for generation (hex)")
|
||||
.hasArg()
|
||||
.argName(int.class.getName())
|
||||
.build());
|
||||
|
||||
options.addOption(Option
|
||||
.builder("r")
|
||||
.longOpt("random")
|
||||
.desc("generate a random seed")
|
||||
.build());
|
||||
|
||||
options.addOption(Option
|
||||
.builder("a")
|
||||
.longOpt("act")
|
||||
@ -199,8 +213,18 @@ public class MapViewer extends BaseTool {
|
||||
home = homeDirs.first();
|
||||
}
|
||||
|
||||
if (cli.hasOption("seed")) {
|
||||
seed = NumberUtils.toInt(cli.getOptionValue("seed"), -1);
|
||||
if (cli.hasOption("random")) {
|
||||
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 {
|
||||
seed = -1;
|
||||
}
|
||||
|
@ -45,8 +45,19 @@ public class BaseTool implements ApplicationListener {
|
||||
}
|
||||
|
||||
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();
|
||||
formatter.printHelp(cmd, getHelpHeader(), options, getHelpFooter(), true);
|
||||
formatter.printHelp(cmd, header, options, footer, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user