Replaced -i {x} and -o {h} cli args with -v {w}x{h}

This commit is contained in:
Collin Smith
2020-11-22 14:03:38 -08:00
parent 38fb0c13e8
commit 872126d2de
7 changed files with 39 additions and 14 deletions

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (1280x720)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (1280x720)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 1280 -o 720 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 1280x720 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (640x480)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (640x480)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 640 -o 480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 640x480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (720x360)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (720x360)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 720 -o 360 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 720x360 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (840x360)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (840x360)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 840 -o 360 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 840x360 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (853x480)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (853x480)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 853 -o 480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 853x480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -2,7 +2,7 @@
<configuration default="false" name="desktop (debug) (854x480)" type="Application" factoryName="Application" singleton="true"> <configuration default="false" name="desktop (debug) (854x480)" type="Application" factoryName="Application" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" /> <option name="MAIN_CLASS_NAME" value="com.riiablo.DesktopLauncher" />
<module name="riiablo.desktop" /> <module name="riiablo.desktop" />
<option name="PROGRAM_PARAMETERS" value="-i 854 -o 480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" /> <option name="PROGRAM_PARAMETERS" value="-v 854x480 -fps -w -logLevel debug -home &quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot;" />
<option name="VM_PARAMETERS" value="-ea" /> <option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/assets" />
<method v="2"> <method v="2">

View File

@ -5,8 +5,10 @@ import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser; import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options; import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException; import org.apache.commons.cli.ParseException;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.SystemUtils; import org.apache.commons.lang3.SystemUtils;
import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.math.NumberUtils;
@ -21,17 +23,29 @@ import com.badlogic.gdx.utils.GdxRuntimeException;
import com.riiablo.cvar.Cvar; import com.riiablo.cvar.Cvar;
import com.riiablo.cvar.CvarStateAdapter; import com.riiablo.cvar.CvarStateAdapter;
import com.riiablo.logger.Level;
import com.riiablo.logger.LogManager;
import com.riiablo.logger.Logger;
import com.riiablo.util.InstallationFinder; import com.riiablo.util.InstallationFinder;
public class DesktopLauncher { public class DesktopLauncher {
private static final Logger log = LogManager.getLogger(DesktopLauncher.class);
public static void main(String[] args) { public static void main(String[] args) {
// TODO: fix requiring bootstrapping this logger here
// loggers don't load contexts until client init (at the end of #main())
LogManager.setLevel(DesktopLauncher.class.getName(), Level.DEBUG);
Options options = new Options() Options options = new Options()
.addOption("help", false, .addOption("help", false,
"prints this message") "prints this message")
.addOption("i", true, .addOption(Option
"width") .builder("v")
.addOption("o", true, .longOpt("viewport")
"height") .desc("viewport size (default 854x480)")
.hasArg()
.argName("size")
.build())
.addOption("w", "windowed", false, .addOption("w", "windowed", false,
"forces windowed mode") "forces windowed mode")
.addOption("fps", "drawFps", false, .addOption("fps", "drawFps", false,
@ -94,12 +108,23 @@ public class DesktopLauncher {
config.addIcon("ic_launcher_32.png", Files.FileType.Internal); config.addIcon("ic_launcher_32.png", Files.FileType.Internal);
config.addIcon("ic_launcher_16.png", Files.FileType.Internal); config.addIcon("ic_launcher_16.png", Files.FileType.Internal);
config.resizable = false; config.resizable = false;
//config.width = 1280;//853;
//config.height = 720;//480;
config.allowSoftwareMode = cmd != null && cmd.hasOption("allowSoftwareMode"); config.allowSoftwareMode = cmd != null && cmd.hasOption("allowSoftwareMode");
int width = NumberUtils.toInt(cmd.getOptionValue('i', "854")); int width = 854, height = 480;
int height = NumberUtils.toInt(cmd.getOptionValue('o', "480")); if (cmd != null && cmd.hasOption("viewport")) {
String optionValue = cmd.getOptionValue("viewport");
String[] optionValues = StringUtils.split(optionValue, 'x');
if (optionValues.length != 2) {
System.err.println("'viewport' should be formatted like 854x480");
System.exit(0);
return;
}
width = NumberUtils.toInt(optionValues[0], width);
height = NumberUtils.toInt(optionValues[1], height);
}
log.debug("viewport: {}x{}", width, height);
config.width = width; config.width = width;
config.height = height; config.height = height;
final Client client = new Client(home, saves, height); final Client client = new Client(home, saves, height);