Migrated font metrics tool to tools:font-metrics

This commit is contained in:
Collin Smith
2020-11-22 22:56:42 -08:00
parent 7b7874278e
commit ea8a4f1f5e
4 changed files with 48 additions and 18 deletions

View File

@ -1,10 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="FontMetricsTool" type="Application" factoryName="Application" folderName="tools" singleton="true">
<option name="MAIN_CLASS_NAME" value="com.riiablo.FontMetricsTool" />
<module name="tools" />
<option name="PROGRAM_PARAMETERS" value="&quot;C:\Program Files (x86)\Steam\steamapps\common\Diablo II&quot; font8" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$/assets" />
<method />
</configuration>
</component>

View File

@ -8,3 +8,4 @@ include 'tester'
include 'server:bnls', 'server:bncs', 'server:mcp', 'server:d2gs'
include 'server:netty'
include 'tools:map-viewer'
include 'tools:font-metrics'

View File

@ -0,0 +1,26 @@
application {
mainClass = 'com.riiablo.FontMetricsTool'
}
run {
workingDir = rootProject.file('assets').path
setIgnoreExitValue(true)
// Required to run LWJGL3 java apps on MacOS
if (org.gradle.internal.os.OperatingSystem.current() == org.gradle.internal.os.OperatingSystem.MAC_OS) {
jvmArgs += "-XstartOnFirstThread"
}
}
jar {
archiveBaseName = project.name
dependsOn configurations.runtimeClasspath
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
manifest {
attributes 'Main-Class': application.mainClass
}
doLast {
file(archiveFile).setExecutable(true, false)
}
}

View File

@ -1,5 +1,11 @@
package com.riiablo;
import com.kotcrab.vis.ui.VisUI;
import com.kotcrab.vis.ui.widget.VisCheckBox;
import com.kotcrab.vis.ui.widget.VisTable;
import com.kotcrab.vis.ui.widget.spinner.IntSpinnerModel;
import com.kotcrab.vis.ui.widget.spinner.Spinner;
import com.badlogic.gdx.Application;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
@ -20,14 +26,11 @@ import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.GdxRuntimeException;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException;
import com.kotcrab.vis.ui.VisUI;
import com.kotcrab.vis.ui.widget.VisCheckBox;
import com.kotcrab.vis.ui.widget.VisTable;
import com.kotcrab.vis.ui.widget.spinner.IntSpinnerModel;
import com.kotcrab.vis.ui.widget.spinner.Spinner;
import com.riiablo.codec.DC6;
import com.riiablo.codec.FontTBL;
import com.riiablo.codec.Index;
@ -38,18 +41,23 @@ import com.riiablo.loader.DC6Loader;
import com.riiablo.loader.IndexLoader;
import com.riiablo.loader.PaletteLoader;
import com.riiablo.mpq.MPQFileHandleResolver;
import com.riiablo.util.InstallationFinder;
public class FontMetricsTool extends ApplicationAdapter {
private static final String TAG = "FontMetricsTool";
public static void main(String[] args) {
InstallationFinder finder = InstallationFinder.getInstance();
Array<FileHandle> homeDirs = finder.getHomeDirs();
FileHandle d2Home = homeDirs.first();
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.title = TAG;
config.resizable = true;
config.width = 800;
config.height = 600;
config.foregroundFPS = config.backgroundFPS = 144;
new LwjglApplication(new FontMetricsTool(args[0], args[1]), config);
new LwjglApplication(new FontMetricsTool(d2Home, args[0]), config);
}
private static final String STRING = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
@ -64,10 +72,15 @@ public class FontMetricsTool extends ApplicationAdapter {
boolean debug = true;
boolean center = false;
FontTBL.BitmapFont active;
FontTBL.BitmapFont.BitmapFontData data;
BitmapFont.BitmapFontData data;
@Deprecated
FontMetricsTool(String home, String font) {
this.home = new FileHandle(home);
this(new FileHandle(home), font);
}
FontMetricsTool(FileHandle home, String font) {
this.home = home;
this.font = font;
}