#!/usr/bin/env bash
# Полный сетап GOG-bottle + web-stub. Аргумент: путь к GOG_Galaxy_*.exe
set -euo pipefail
GOG_DIR="$(cd "$(dirname "$0")" && pwd)"
STUB="${1:-}"

if [[ ! -f "${GOG_DIR}/bottle.env" ]]; then
  bash "${GOG_DIR}/create-bottle.sh" GOG-Install
fi

bash "${GOG_DIR}/setup-bottle.sh" --force

# shellcheck source=config.sh
source "${GOG_DIR}/config.sh"
if [[ ! -f "${BOTTLE_DIR}/.gog_gdiplus_installed" ]]; then
  bash "${GOG_DIR}/install-gdiplus.sh"
fi

command -v cabextract >/dev/null || brew install cabextract
bash "${GOG_DIR}/install-corefonts.sh"
bash "${GOG_DIR}/install-galaxy-extract.sh"

if [[ -z "${STUB}" ]]; then
  echo "Готово. Установка JA3:"
  echo "  bash ${GOG_DIR}/launch-galaxy.sh   # вход → Install в библиотеке"
  echo "  bash ${GOG_DIR}/finish-ja3-install.sh"
  exit 0
fi

if [[ "${GOG_USE_WEB_STUB:-0}" == "1" ]]; then
  echo "Web-stub (эксперимент; GalaxySetup часто падает на gdi32 в Wine)…"
  bash "${GOG_DIR}/run-web-installer.sh" "${STUB}"
else
  echo "Galaxy уже распакован. Для игры — launch-galaxy.sh (не web-stub)."
  echo "Принудительно stub: GOG_USE_WEB_STUB=1 bash $0 ${STUB}"
  bash "${GOG_DIR}/launch-galaxy.sh"
fi
