#!/bin/bash

# die on errors
set -e

COMPILED="true"

if [ "$COMPILED" != "true" ] ; then
  echo "You are trying to run the Severed Chains source code. Please see our installation instructions at https://legendofdragoon.org/projects/severed-chains/"
  read -p "Press enter to exit"
  exit 1;
fi

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR"

if [[ $(pwd) == *":"* ]]; then
  echo "Java cannot launch with a colon (:) in the path. Please rename the directory or move Severed Chains to a different directory."
  echo "Current directory: $(pwd)"
  read -p "Press enter to exit"
  exit 1;
fi

JAVA=./jdk25/Contents/Home/bin/java

if [[ ! -f $JAVA ]]
then
  ./download-java
fi

"$JAVA" -XstartOnFirstThread -Djoml.fastmath -Djoml.sinLookup -Djoml.useMathFma --add-opens java.base/java.util=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED --enable-native-access=ALL-UNNAMED -cp "libs/mod-loader-4.3.5.jar:libs/script-recompiler-0.7.11.jar:libs/mogul-dabas-0.0.1.jar:libs/log4j-core-2.26.1.jar:libs/log4j-api-2.26.1.jar:libs/jansi-2.4.3.jar:libs/lwjgl-assimp-3.4.3.jar:libs/lwjgl-mimalloc-3.4.3.jar:libs/lwjgl-openal-3.4.3.jar:libs/lwjgl-opengl-3.4.3.jar:libs/lwjgl-opengles-3.4.3.jar:libs/lwjgl-opus-3.4.3.jar:libs/lwjgl-sdl-3.4.3.jar:libs/lwjgl-shaderc-3.4.3.jar:libs/lwjgl-spvc-3.4.3.jar:libs/lwjgl-stb-3.4.3.jar:libs/lwjgl-3.4.3.jar:libs/joml-1.10.8.jar:libs/discord-game-sdk4j-v1.0.0.jar:libs/gson-2.13.2.jar:libs/slugify-3.0.7.jar:libs/fastutil-8.5.15.jar:libs/json-20250107.jar:libs/opencsv-5.9.jar:libs/java-diff-utils-4.15.jar:libs/commons-io-2.18.0.jar:libs/jsr305-3.0.2.jar:libs/jna-5.16.0.jar:libs/javacv-1.5.13.jar:libs/ffmpeg-8.0.1-1.5.13-macosx-arm64.jar:libs/ffmpeg-8.0.1-1.5.13.jar:libs/javafx-fxml-21.0.1-mac-aarch64.jar:libs/javafx-controls-21.0.1-mac-aarch64.jar:libs/antlr4-4.13.2.jar:libs/jspecify-1.0.0.jar:libs/biz.aQute.bnd.annotation-7.1.0.jar:libs/error_prone_annotations-2.41.0.jar:libs/org.osgi.annotation.bundle-2.0.0.jar:libs/org.osgi.annotation.versioning-1.1.2.jar:libs/kotlin-stdlib-jdk8-1.8.20.jar:libs/commons-text-1.11.0.jar:libs/commons-lang3-3.13.0.jar:libs/commons-beanutils-1.9.4.jar:libs/commons-collections4-4.4.jar:libs/opencv-4.13.0-1.5.13.jar:libs/openblas-0.3.31-1.5.13.jar:libs/flycapture-2.13.3.31-1.5.9.jar:libs/libdc1394-2.2.6-1.5.9.jar:libs/libfreenect-0.5.7-1.5.9.jar:libs/libfreenect2-0.2.0-1.5.9.jar:libs/librealsense-1.12.4-1.5.9.jar:libs/librealsense2-2.53.1-1.5.9.jar:libs/videoinput-0.200-1.5.9.jar:libs/artoolkitplus-2.3.1-1.5.9.jar:libs/tesseract-5.5.2-1.5.13.jar:libs/leptonica-1.87.0-1.5.13.jar:libs/javacpp-1.5.13.jar:libs/javafx-graphics-21.0.1-mac-aarch64.jar:libs/antlr4-runtime-4.13.2.jar:libs/ST4-4.3.4.jar:libs/antlr-runtime-3.5.3.jar:libs/org.abego.treelayout.core-1.0.3.jar:libs/icu4j-72.1.jar:libs/org.osgi.resource-1.0.0.jar:libs/org.osgi.service.serviceloader-1.0.0.jar:libs/kotlin-stdlib-jdk7-1.8.20.jar:libs/kotlin-stdlib-1.8.20.jar:libs/commons-logging-1.2.jar:libs/commons-collections-3.2.2.jar:libs/javafx-base-21.0.1-mac-aarch64.jar:libs/kotlin-stdlib-common-1.8.20.jar:libs/annotations-13.0.jar:libs/lwjgl-assimp-3.4.3-natives-macos-arm64.jar:libs/lwjgl-mimalloc-3.4.3-natives-macos-arm64.jar:libs/lwjgl-openal-3.4.3-natives-macos-arm64.jar:libs/lwjgl-opengl-3.4.3-natives-macos-arm64.jar:libs/lwjgl-opengl-3.4.3-natives-linux.jar:libs/lwjgl-opengles-3.4.3-natives-macos-arm64.jar:libs/lwjgl-opus-3.4.3-natives-macos-arm64.jar:libs/lwjgl-sdl-3.4.3-natives-macos-arm64.jar:libs/lwjgl-shaderc-3.4.3-natives-macos-arm64.jar:libs/lwjgl-spvc-3.4.3-natives-macos-arm64.jar:libs/lwjgl-stb-3.4.3-natives-macos-arm64.jar:libs/lwjgl-stb-3.4.3-natives-linux.jar:libs/lwjgl-glfw-3.4.3.jar:libs/lwjgl-glfw-3.4.3-natives-linux.jar:libs/lwjgl-3.4.3-natives-macos-arm64.jar:libs/lwjgl-3.4.3-natives-linux.jar:libs/reflections-0.10.2.jar:libs/semver4j-3.1.0.jar:libs/slf4j-nop-2.0.7.jar:libs/commons-cli-1.6.0.jar:libs/disruptor-3.4.4.jar:libs/javassist-3.28.0-GA.jar:libs/slf4j-api-2.0.7.jar:lod-game-10dc586882603967840f17226068d6b8a82b326b.jar" legend.game.Main -Xmx2G
read -p "Press enter to exit"
