@echo off
:: ============================================================
:: NewTibia Cloud Launcher v2.0
:: Lanzador automatico con auto-diagnostico y logs
:: ============================================================
setlocal enabledelayedexpansion
title NewTibia Cloud - Launcher

set SERVER=tibia.fanstia.eu
set PORT=7171
set VERSION=1098
set LOG_DIR=%APPDATA%\OTClientV8\newtibiacloud
set LOG_FILE=%LOG_DIR%\otclientv8.log

echo.
echo ============================================================
echo    NewTibia Cloud - Launcher Automatico v2.0
echo ============================================================
echo.
echo   Server:    !SERVER!
echo   Puerto:    !PORT!
echo   Version:   10.98 (TFS 1.4.2 + OTClientV8)
echo   Protocolo: !VERSION!
echo.
echo   Estado server:
powershell -NoProfile -Command "try { $c = New-Object Net.Sockets.TcpClient; $c.Connect('!SERVER!', !PORT!); $c.Close(); 'ONLINE' } catch { 'OFFLINE' }" 2>nul
echo.
echo ============================================================
echo.

:: Verificar archivos
if not exist "otclient_dx.exe" (
    echo ERROR: otclient_dx.exe no encontrado
    echo Coloca este .bat en la carpeta raiz del cliente.
    pause
    exit /b 1
)

:menu
echo [1/4] Selecciona el motor grafico:
echo        1) DirectX 9  (recomendado, mejor rendimiento)
echo        2) OpenGL      (alternativa si DX falla)
echo.
set /p RENDER="Opcion (1 o 2): "

if "%RENDER%"=="2" (
    set CLIENT_EXE=otclient_gl.exe
) else (
    set CLIENT_EXE=otclient_dx.exe
)

echo.
echo [2/4] Acceso:
echo        1) Login manual
echo        2) Crear cuenta en la web
echo.
set /p ACCOUNT_OPT="Opcion (1 o 2): "

if "%ACCOUNT_OPT%"=="2" (
    start "" "https://tibia.fanstia.eu/"
    echo Crea tu cuenta en el navegador y vuelve al cliente.
    pause
)

echo.
echo [3/4] Lanzando %CLIENT_EXE% ...
echo        Log:     !LOG_FILE!
echo.

:: Crear directorio de logs si no existe
if not exist "!LOG_DIR!" mkdir "!LOG_DIR!"

:: Lanzar cliente en background
start "" "%CLIENT_EXE%"

:: Esperar 3 segundos
timeout /t 3 /nobreak >nul

echo [4/4] Cliente lanzado. Verificando...
echo.
echo   Server: !SERVER!:!PORT!
echo.
echo   Si el juego no carga:
echo     1) Mira el log del cliente en:
echo        !LOG_FILE!
echo     2) Verifica que el servidor TFS 1.4 este online en Docker.
echo     3) Si ves "Wrong client version":
echo        - Confirma APP_VERSION=1098 y puerto 7171
echo.
echo   Comandos utiles (en la consola de juego, ~):
echo     /reload scripts  - recargar scripts Lua
echo     /save             - guardar estado del server
echo     /addskill MELEE  - subir skill (admin only)
echo.
echo ============================================================
echo   Disfruta del juego!
echo ============================================================
echo.
timeout /t 5 /nobreak >nul
endlocal
