#!/bin/zsh
cd "$(dirname "$0")" || exit 1
echo "Starting Vortex Evolutions portable edition..."
export PATH="$PWD/python:$PWD/python/bin:$PWD/tools:$PWD/jdk/Contents/Home/bin:$PWD/jdk/bin:$PWD/java/bin:$PWD/../oracleJdk-26.jdk/Contents/Home/bin:$HOME/.pyenv/shims:$HOME/.pyenv/bin:$HOME/.asdf/shims:$HOME/Library/Python/3.14/bin:$HOME/Library/Python/3.13/bin:$HOME/Library/Python/3.12/bin:$HOME/Library/Python/3.11/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/3.14/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/opt/homebrew/opt/python@3/bin:/opt/homebrew/opt/python@3.13/bin:/opt/homebrew/opt/python@3.12/bin:/opt/homebrew/opt/python@3.11/bin:/opt/homebrew/bin:/usr/local/opt/python@3/bin:/usr/local/opt/python@3.13/bin:/usr/local/opt/python@3.12/bin:/usr/local/opt/python@3.11/bin:/usr/local/bin:/usr/bin:/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$HOME/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"
if command -v python3 >/dev/null 2>&1; then
  export YOTAVON_PYTHON="$(command -v python3)"
elif command -v python >/dev/null 2>&1; then
  export YOTAVON_PYTHON="$(command -v python)"
fi
if command -v code >/dev/null 2>&1; then
  export VORTEX_VSCODE="$(command -v code)"
fi
JAVA_CMD=""
if [ -x "$PWD/jdk/Contents/Home/bin/java" ]; then
  JAVA_CMD="$PWD/jdk/Contents/Home/bin/java"
elif [ -x "$PWD/jdk/bin/java" ]; then
  JAVA_CMD="$PWD/jdk/bin/java"
elif [ -x "$PWD/java/bin/java" ]; then
  JAVA_CMD="$PWD/java/bin/java"
elif [ -x "$PWD/../oracleJdk-26.jdk/Contents/Home/bin/java" ]; then
  JAVA_CMD="$PWD/../oracleJdk-26.jdk/Contents/Home/bin/java"
elif command -v java >/dev/null 2>&1; then
  JAVA_CMD="$(command -v java)"
fi
verify_file() {
  file_path="$1"
  expected_hash="$(awk -v p="$file_path" '$2 == p {print $1}' checksums.sha256 2>/dev/null)"
  if [ -z "$expected_hash" ]; then
    echo "Integrity check failed: missing checksum for $file_path."
    echo "Download a fresh copy from https://www.vortexevolutions.com"
    echo "Press Enter to close."
    read -r
    exit 1
  fi
  if command -v shasum >/dev/null 2>&1; then
    actual_hash="$(shasum -a 256 "$file_path" | awk '{print $1}')"
  elif command -v sha256sum >/dev/null 2>&1; then
    actual_hash="$(sha256sum "$file_path" | awk '{print $1}')"
  else
    echo "Integrity check failed: no SHA-256 tool found."
    echo "Install shasum or sha256sum, then start Vortex again."
    echo "Press Enter to close."
    read -r
    exit 1
  fi
  if [ "$expected_hash" != "$actual_hash" ]; then
    echo "SECURITY WARNING: $file_path has been altered."
    echo "Vortex will not run this modified file."
    echo "Download a fresh copy from https://www.vortexevolutions.com"
    echo "Press Enter to close."
    read -r
    exit 1
  fi
}
verify_file "app/VortexEvolutions.jar"
verify_file "python/yotavon_agency_bridge.py"
if [ -z "$JAVA_CMD" ]; then
  echo "Java is not installed or not on PATH."
  echo "Install Java 17+ or use the web portal: https://vortexevolutions.com"
  echo "Press Enter to close."
  read -r
  exit 1
fi
"$JAVA_CMD" -jar app/VortexEvolutions.jar
echo
echo "Game closed. Press Enter to close."
read -r
