diff --git a/buildapp/build_app_linux_arm.sh b/buildapp/build_app_linux_arm.sh
index bc2d21379..cfaa95603 100755
--- a/buildapp/build_app_linux_arm.sh
+++ b/buildapp/build_app_linux_arm.sh
@@ -9,8 +9,8 @@ RUNTIME="runtime-linux-arm"
DESKTOPFILE="../out/build_autogen_linux.desktop"
JARNAME="TerrarumBuild.jar"
-if [ ! -d "../assets_release" ]; then
- echo "'assets_release' does not exist; prepare the assets for the release and put them into the assets_release directory, exiting now." >&2
+if [ ! -f "out/assets.tar.zst" ] || [ ! -f "out/assets.manifest" ]; then
+ echo "'assets.tar.zst' or 'assets.manifest' not found in out/; run 'make assets' first." >&2
exit 1
fi
@@ -27,11 +27,11 @@ chmod +x $DESTDIR/AppRun
# Copy over a Java runtime
mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
-mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/Terrarum
+mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/java
-# Copy over all the assets and a jarfile
-cp -r "../assets_release" $DESTDIR/
-mv $DESTDIR/assets_release $DESTDIR/assets
+# Copy over the asset archive, manifest, and jarfile
+cp "out/assets.tar.zst" $DESTDIR/
+cp "out/assets.manifest" $DESTDIR/
cp "../out/$JARNAME" $DESTDIR/out/
# Pack everything to AppImage
diff --git a/buildapp/build_app_linux_x86.sh b/buildapp/build_app_linux_x86.sh
index 5ab227042..597a6d37f 100755
--- a/buildapp/build_app_linux_x86.sh
+++ b/buildapp/build_app_linux_x86.sh
@@ -9,8 +9,8 @@ RUNTIME="runtime-linux-x86"
DESKTOPFILE="../out/build_autogen_linux.desktop"
JARNAME="TerrarumBuild.jar"
-if [ ! -d "../assets_release" ]; then
- echo "'assets_release' does not exist; prepare the assets for the release and put them into the assets_release directory, exiting now." >&2
+if [ ! -f "out/assets.tar.zst" ] || [ ! -f "out/assets.manifest" ]; then
+ echo "'assets.tar.zst' or 'assets.manifest' not found in out/; run 'make assets' first." >&2
exit 1
fi
@@ -27,11 +27,11 @@ chmod +x $DESTDIR/AppRun
# Copy over a Java runtime
mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
-mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/Terrarum
+mv $DESTDIR/out/$RUNTIME/bin/java $DESTDIR/out/$RUNTIME/bin/java
-# Copy over all the assets and a jarfile
-cp -r "../assets_release" $DESTDIR/
-mv $DESTDIR/assets_release $DESTDIR/assets
+# Copy over the asset archive, manifest, and jarfile
+cp "out/assets.tar.zst" $DESTDIR/
+cp "out/assets.manifest" $DESTDIR/
cp "../out/$JARNAME" $DESTDIR/out/
# Pack everything to AppImage
diff --git a/buildapp/build_app_mac_arm.sh b/buildapp/build_app_mac_arm.sh
index 06b91e05a..5e20ae6af 100755
--- a/buildapp/build_app_mac_arm.sh
+++ b/buildapp/build_app_mac_arm.sh
@@ -9,8 +9,8 @@ RUNTIME="runtime-osx-arm"
PLISTFILE="../out/build_autogen_macos_Info.plist"
JARNAME="TerrarumBuild.jar"
-if [ ! -d "../assets_release" ]; then
- echo "'assets_release' does not exist; prepare the assets for the release and put them into the assets_release directory, exiting now." >&2
+if [ ! -f "out/assets.tar.zst" ] || [ ! -f "out/assets.manifest" ]; then
+ echo "'assets.tar.zst' or 'assets.manifest' not found in out/; run 'make assets' first." >&2
exit 1
fi
@@ -30,11 +30,11 @@ cp $PLISTFILE $DESTDIR/Contents/Info.plist
# Copy over a Java runtime
mkdir $DESTDIR/Contents/MacOS/out
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/out/
-mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/Terrarum
+mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java
-# Copy over all the assets and a jarfile
-cp -r "../assets_release" $DESTDIR/Contents/MacOS/
-mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
+# Copy over the asset archive, manifest, and jarfile
+cp "out/assets.tar.zst" $DESTDIR/Contents/MacOS/
+cp "out/assets.manifest" $DESTDIR/Contents/MacOS/
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
# zip everything
diff --git a/buildapp/build_app_mac_x86.sh b/buildapp/build_app_mac_x86.sh
index a0b867b24..f5e9c6e35 100755
--- a/buildapp/build_app_mac_x86.sh
+++ b/buildapp/build_app_mac_x86.sh
@@ -9,8 +9,8 @@ RUNTIME="runtime-osx-x86"
PLISTFILE="../out/build_autogen_macos_Info.plist"
JARNAME="TerrarumBuild.jar"
-if [ ! -d "../assets_release" ]; then
- echo "'assets_release' does not exist; prepare the assets for the release and put them into the assets_release directory, exiting now." >&2
+if [ ! -f "out/assets.tar.zst" ] || [ ! -f "out/assets.manifest" ]; then
+ echo "'assets.tar.zst' or 'assets.manifest' not found in out/; run 'make assets' first." >&2
exit 1
fi
@@ -30,11 +30,11 @@ cp $PLISTFILE $DESTDIR/Contents/Info.plist
# Copy over a Java runtime
mkdir $DESTDIR/Contents/MacOS/out
cp -r "../out/$RUNTIME" $DESTDIR/Contents/MacOS/out/
-mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/Terrarum
+mv $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java $DESTDIR/Contents/MacOS/out/$RUNTIME/bin/java
-# Copy over all the assets and a jarfile
-cp -r "../assets_release" $DESTDIR/Contents/MacOS/
-mv $DESTDIR/Contents/MacOS/assets_release $DESTDIR/Contents/MacOS/assets
+# Copy over the asset archive, manifest, and jarfile
+cp "out/assets.tar.zst" $DESTDIR/Contents/MacOS/
+cp "out/assets.manifest" $DESTDIR/Contents/MacOS/
cp "../out/$JARNAME" $DESTDIR/Contents/MacOS/out/
# zip everything
diff --git a/buildapp/build_app_windows_x86.sh b/buildapp/build_app_windows_x86.sh
index b2196808b..8bf1b85c4 100755
--- a/buildapp/build_app_windows_x86.sh
+++ b/buildapp/build_app_windows_x86.sh
@@ -8,8 +8,8 @@ RUNTIME="runtime-windows-x86"
RCFILE="../out/build_autogen_windows.rc"
JARNAME="TerrarumBuild.jar"
-if [ ! -d "../assets_release" ]; then
- echo "'assets_release' does not exist; prepare the assets for the release and put them into the assets_release directory, exiting now." >&2
+if [ ! -f "out/assets.tar.zst" ] || [ ! -f "out/assets.manifest" ]; then
+ echo "'assets.tar.zst' or 'assets.manifest' not found in out/; run 'make assets' first." >&2
exit 1
fi
@@ -32,12 +32,12 @@ x86_64-w64-mingw32-gcc -Os -s -o $DESTDIR/Terrarum.exe $SRCFILES/Terrarum.c $RCF
# Copy over a Java runtime
mkdir $DESTDIR/out
cp -r "../out/$RUNTIME" $DESTDIR/out/
-mv $DESTDIR/out/$RUNTIME/bin/java.exe $DESTDIR/out/$RUNTIME/bin/Terrarum.exe
+mv $DESTDIR/out/$RUNTIME/bin/java.exe $DESTDIR/out/$RUNTIME/bin/java.exe
-# Copy over all the assets and a jarfile
-cp -r "../assets_release" $DESTDIR/
-mv $DESTDIR/assets_release $DESTDIR/assets
-cp "../out/$JARNAME" $DESTDIR/out/
+# Copy over the asset archive, manifest, and jarfile
+cp "out/assets.tar.zst" $DESTDIR/
+cp "out/assets.manifest" $DESTDIR/
+cp "../out/$JARNAME" $DESTDIR/out/
# zip everything
rm "out/$DESTDIR.zip"
diff --git a/buildapp/terrarum.manifest b/buildapp/terrarum.manifest
new file mode 100644
index 000000000..52b64bc4a
--- /dev/null
+++ b/buildapp/terrarum.manifest
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/buildapp/terrarumlinux_arm/AppRun b/buildapp/terrarumlinux_arm/AppRun
index fb5734fe6..fe33bed94 100755
--- a/buildapp/terrarumlinux_arm/AppRun
+++ b/buildapp/terrarumlinux_arm/AppRun
@@ -1,3 +1,3 @@
#!/bin/bash
cd "${0%/*}"
-./out/runtime-linux-arm/bin/Terrarum -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
+./out/runtime-linux-arm/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
diff --git a/buildapp/terrarumlinux_x86/AppRun b/buildapp/terrarumlinux_x86/AppRun
index 31213397f..6d59e7769 100755
--- a/buildapp/terrarumlinux_x86/AppRun
+++ b/buildapp/terrarumlinux_x86/AppRun
@@ -1,3 +1,3 @@
#!/bin/bash
cd "${0%/*}"
-./out/runtime-linux-x86/bin/Terrarum -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
+./out/runtime-linux-x86/bin/java -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd -jar ./out/TerrarumBuild.jar
diff --git a/buildapp/terrarummac_arm/Terrarum.sh b/buildapp/terrarummac_arm/Terrarum.sh
index 2ffa2a311..1a34ab184 100755
--- a/buildapp/terrarummac_arm/Terrarum.sh
+++ b/buildapp/terrarummac_arm/Terrarum.sh
@@ -1,3 +1,3 @@
#!/bin/bash
cd "${0%/*}"
-./out/runtime-osx-arm/bin/Terrarum -jar ./out/TerrarumBuild.jar
+./out/runtime-osx-arm/bin/java -jar ./out/TerrarumBuild.jar
diff --git a/buildapp/terrarummac_x86/Terrarum.sh b/buildapp/terrarummac_x86/Terrarum.sh
index a3ef72298..83770a025 100755
--- a/buildapp/terrarummac_x86/Terrarum.sh
+++ b/buildapp/terrarummac_x86/Terrarum.sh
@@ -1,3 +1,3 @@
#!/bin/bash
cd "${0%/*}"
-./out/runtime-osx-x86/bin/Terrarum -jar ./out/TerrarumBuild.jar
+./out/runtime-osx-x86/bin/java -jar ./out/TerrarumBuild.jar
diff --git a/buildapp/terrarumwindows_x86/Terrarum.c b/buildapp/terrarumwindows_x86/Terrarum.c
index da9f06ec0..596a884d8 100644
--- a/buildapp/terrarumwindows_x86/Terrarum.c
+++ b/buildapp/terrarumwindows_x86/Terrarum.c
@@ -1,11 +1,28 @@
#include
-#include
-#include
int main() {
+ STARTUPINFOA si = {0};
+ PROCESS_INFORMATION pi = {0};
+ si.cb = sizeof(si);
+ si.dwFlags = STARTF_USESHOWWINDOW;
+ si.wShowWindow = SW_HIDE;
- ShellExecute(NULL, "open", "\".\\out\\runtime-windows-x86\\bin\\Terrarum.exe\"", "-jar \".\\out\\TerrarumBuild.jar\"", NULL, SW_HIDE);
+ char cmd[] = "\".\\out\\runtime-windows-x86\\bin\\java.exe\" -jar \".\\out\\TerrarumBuild.jar\"";
+
+ CreateProcessA(
+ NULL,
+ cmd,
+ NULL,
+ NULL,
+ FALSE,
+ 0,
+ NULL,
+ ".\\out\\runtime-windows-x86\\bin",
+ &si,
+ &pi
+ );
+
+ CloseHandle(pi.hProcess);
+ CloseHandle(pi.hThread);
return 0;
-
- //return system(".\\out\\runtime-windows-x86\\bin\\Terrarum.exe -jar .\\out\\TerrarumBuild.jar");
-}
\ No newline at end of file
+}
diff --git a/src/net/torvald/terrarum/Prebuild.kt b/src/net/torvald/terrarum/Prebuild.kt
index 47a44b70f..8c7f1bd84 100644
--- a/src/net/torvald/terrarum/Prebuild.kt
+++ b/src/net/torvald/terrarum/Prebuild.kt
@@ -10,6 +10,7 @@ import java.time.ZonedDateTime
private fun writeWindowsRC(major: Int, minor: Int, patch: Int) {
val s = """1 ICON "icns.ico"
+1 RT_MANITEST "terrarum.manifest"
VS_VERSION_INFO VERSIONINFO
FILEVERSION $major,$minor,$patch,0
PRODUCTVERSION $major,$minor,$patch,0
diff --git a/src/net/torvald/terrarum/Principii.java b/src/net/torvald/terrarum/Principii.java
index a6e577ddd..04c69e6a7 100644
--- a/src/net/torvald/terrarum/Principii.java
+++ b/src/net/torvald/terrarum/Principii.java
@@ -96,7 +96,7 @@ public class Principii {
extracmd0 += " -Dswing.aatext=true -Dawt.useSystemAAFontSettings=lcd";
}
- String runtime = new File("out/"+runtimeRoot+"/bin/Terrarum").getAbsolutePath(); // /bin/Terrarum is just a renamed version of /bin/java
+ String runtime = new File("out/"+runtimeRoot+"/bin/java").getAbsolutePath();
System.out.println("Runtime path: "+runtime);