#!/usr/bin/env bash
# Диагностика «курсор двигается, клики не работают» для HoMM Olden Era в Whisky.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# shellcheck source=config.sh
source "${SCRIPT_DIR}/config.sh"

LOG="${BOTTLE_DIR}/drive_c/users/${USER}/AppData/LocalLow/Unfrozen/HeroesOldenEra/Player.log"
LOG_PREV="${BOTTLE_DIR}/drive_c/users/${USER}/AppData/LocalLow/Unfrozen/HeroesOldenEra/Player-prev.log"

echo "Bottle: ${BOTTLE_NAME}"
echo "Player.log: ${LOG}"
echo ""

if [[ ! -f "${LOG}" ]]; then
  echo "Нет Player.log — хотя бы один раз запустите игру."
  exit 1
fi

if grep -q 'EnableMouseInPointer failed' "${LOG}" 2>/dev/null; then
  echo "ДИАГНОЗ: Unity + Wine — заглушка EnableMouseInPointer (WM_POINTER)."
  echo "Строка из лога:"
  grep -n 'EnableMouseInPointer' "${LOG}" | head -5 || true
  echo ""
  echo "WineBus / виртуальный desktop / SDL это НЕ лечат."
  echo ""
  echo "Рабочие пути:"
  echo "  1) CrossOver (macOS) + при необходимости патч:"
  echo "     https://github.com/dabielf/crossover-unity-mouse-fix"
  echo "  2) Ждать WhiskyWine/Wine с upstream-фиксом (см. Wine bug #53847)."
  echo ""
  DOCS="$(cd "${GAMES_DIR}/../.." && pwd)/docs/games/UNITY_POINTER_MOUSE_FIX.md"
  echo "Подробности: ${DOCS}"
  exit 0
fi

echo "Строка EnableMouseInPointer в текущем Player.log не найдена."
if [[ -f "${LOG_PREV}" ]] && grep -q 'EnableMouseInPointer failed' "${LOG_PREV}" 2>/dev/null; then
  echo "(В Player-prev.log она была — перезапустите игру и снова этот скрипт.)"
fi
echo "Если клики всё равно мертвы — пришлите первые 80 строк Player.log в поддержку."
