Skip to content

Commit 916b7b6

Browse files
committed
Load icons from data source
Picked from Retera#37 By tdauth
1 parent b7d0120 commit 916b7b6

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

desktop/src/com/etheller/warsmash/desktop/DesktopLauncher.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import java.io.PrintStream;
1313
import java.nio.FloatBuffer;
1414

15+
import com.etheller.warsmash.WarsmashGdxMapScreen;
16+
import com.etheller.warsmash.datasources.DataSource;
1517
import org.lwjgl.BufferUtils;
1618
import org.lwjgl.openal.AL;
1719
import org.lwjgl.opengl.GL11;
@@ -46,16 +48,13 @@
4648
public class DesktopLauncher {
4749
public static void main(final String[] arg) {
4850
System.out.println("Warsmash engine is starting...");
51+
System.out.println("Your working directory is " + System.getProperty("user.dir"));
4952
final LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
5053
config.useGL30 = true;
5154
config.gles30ContextMajorVersion = 3;
5255
config.gles30ContextMinorVersion = 3;
5356
// config.samples = 16;
5457
// config.vSyncEnabled = false;
55-
config.addIcon("resources/Icon16.png", Files.FileType.Internal);
56-
config.addIcon("resources/Icon32.png", Files.FileType.Internal);
57-
config.addIcon("resources/Icon64.png", Files.FileType.Internal);
58-
config.addIcon("resources/Icon128.png", Files.FileType.Internal);
5958
// config.foregroundFPS = 0;
6059
// config.backgroundFPS = 0;
6160
final DisplayMode desktopDisplayMode = LwjglApplicationConfiguration.getDesktopDisplayMode();
@@ -100,7 +99,25 @@ else if ((arg.length > (argIndex + 1)) && "-ini".equals(arg[argIndex])) {
10099
}
101100
loadExtensions();
102101
final DataTable warsmashIni = loadWarsmashIni(iniPath);
102+
// Load icons:
103+
DataSource codebase = WarsmashGdxMapScreen.parseDataSources(warsmashIni);
104+
try {
105+
config.addIcon(codebase.getFile("resources/Icon16.png").getAbsolutePath(), Files.FileType.Internal);
106+
config.addIcon(codebase.getFile("resources/Icon32.png").getAbsolutePath(), Files.FileType.Internal);
107+
config.addIcon(codebase.getFile("resources/Icon64.png").getAbsolutePath(), Files.FileType.Internal);
108+
config.addIcon(codebase.getFile("resources/Icon128.png").getAbsolutePath(), Files.FileType.Internal);
109+
} catch (final IOException e) {
110+
e.printStackTrace();
111+
}
112+
103113
final Element emulatorConstants = warsmashIni.get("Emulator");
114+
115+
if (emulatorConstants == null) {
116+
System.err.println("Missing entry \"Emulator\" in .ini file.");
117+
118+
return;
119+
}
120+
104121
WarsmashConstants.loadConstants(emulatorConstants, warsmashIni);
105122

106123
if (fileToLoad != null) {

0 commit comments

Comments
 (0)