#!/usr/bin/env bash
# Richtet einen vorhandenen WotLK-3.3.5a-Client für den Server SaarlandLetsPlay ein (Linux).
# Aufruf:  bash wow-einrichten.sh /pfad/zum/WoW-Ordner
#          (ohne Pfad wird der aktuelle Ordner genommen)
set -euo pipefail

REALM="45.84.197.177"
DIR="${1:-.}"

echo
echo " SaarlandLetsPlay – WoW-Client einrichten"
echo " ========================================"
echo

cd "$DIR" || { echo " FEHLER: Ordner $DIR nicht gefunden."; exit 1; }
EXE=$(find . -maxdepth 1 -iname 'wow.exe' | head -n1)
if [ -z "$EXE" ]; then
  echo " FEHLER: In $(pwd) liegt keine Wow.exe."
  echo " Aufruf: bash wow-einrichten.sh /pfad/zum/WoW-Ordner"
  exit 1
fi

# 1. Version prüfen – nur Build 12340 (3.3.5a) passt zum Server.
#    Die Versionsangabe steht als UTF-16-Text in der Exe.
if command -v python3 >/dev/null; then
  if python3 -c "import sys; d=open(sys.argv[1],'rb').read(); sys.exit(0 if '12340'.encode('utf-16-le') in d else 1)" "$EXE"; then
    echo " Client-Version: Build 12340 (3.3.5a) – passt."
  else
    echo " WARNUNG: Build 12340 nicht erkannt. Mit einer anderen Version kannst du dich nicht verbinden."
    read -r -p " Trotzdem fortfahren? [j/N] " a
    [[ "$a" =~ ^[jJyY]$ ]] || exit 1
  fi
fi

# 2. realmlist.wtf in jedem Sprachordner setzen (deDE, enUS, ...)
count=0
for loc in Data/????; do
  [ -d "$loc" ] || continue
  f=$(find "$loc" -maxdepth 1 -iname 'realmlist.wtf' | head -n1)
  f="${f:-$loc/realmlist.wtf}"
  [ -f "$f" ] && [ ! -f "$f.bak" ] && cp "$f" "$f.bak"
  printf 'set realmlist %s\r\n' "$REALM" > "$f"
  echo " Realmlist gesetzt: $f"
  count=$((count + 1))
done
if [ "$count" -eq 0 ]; then
  echo " FEHLER: Kein Sprachordner unter Data gefunden (z. B. Data/deDE)."
  exit 1
fi

# 3. Alte Realm-Einträge aus der Client-Konfiguration entfernen
if [ -f WTF/Config.wtf ]; then
  sed -i -E '/^SET (realmList|realmName|patchlist) /Id' WTF/Config.wtf
  echo " WTF/Config.wtf bereinigt"
fi

# 4. Cache leeren
if [ -d Cache ]; then
  rm -rf Cache
  echo " Cache geleert"
fi

echo
echo " Fertig! Starte das Spiel mit Wine über die Wow.exe, z. B.:"
echo "   wine \"$(pwd)/${EXE#./}\""
echo " oder bequemer mit dem Lutris-Installer von wow.saarlandletsplay.de/hilfe"
