@echo off
REM ============================================================
REM DOOM ESP32-S3 - Script para subir WADs al flash
REM ============================================================

echo.
echo ========================================
echo   DOOM ESP32-S3 - Flash WADs
echo ========================================
echo.

REM Configurar el puerto COM (cambiar si es necesario)
set PORT=COM10

REM Rutas de los archivos WAD (pueden estar en el mismo directorio o en esp32-doom)
if exist "doom2.wad" (
    set DOOM2_WAD=doom2.wad
) else if exist "..\esp32-doom\doom2.wad" (
    set DOOM2_WAD=..\esp32-doom\doom2.wad
) else (
    set DOOM2_WAD=doom2.wad
)

if exist "prboom-plus.wad" (
    set PRBOOM_WAD=prboom-plus.wad
) else if exist "..\esp32-doom\prboom-plus.wad" (
    set PRBOOM_WAD=..\esp32-doom\prboom-plus.wad
) else (
    set PRBOOM_WAD=prboom-plus.wad
)

REM Ruta de esptool
set ESPTOOL=%USERPROFILE%\.platformio\packages\tool-esptoolpy\esptool.exe

REM Verificar que esptool existe
if not exist "%ESPTOOL%" (
    echo ERROR: No se encontro esptool.exe
    echo Verifica que PlatformIO esta instalado correctamente
    pause
    exit /b 1
)

REM Verificar que los WADs existen
if not exist "%DOOM2_WAD%" (
    echo ERROR: No se encontro doom2.wad
    echo Ubicacion esperada: %DOOM2_WAD%
    echo.
    echo Debes tener una copia legal de DOOM 2
    pause
    exit /b 1
)

if not exist "%PRBOOM_WAD%" (
    echo ERROR: No se encontro prboom-plus.wad
    echo Ubicacion esperada: %PRBOOM_WAD%
    pause
    exit /b 1
)

echo Puerto COM: %PORT%
echo.
echo Archivos a flashear:
echo   - doom2.wad       -^> 0x120000
echo   - prboom-plus.wad -^> 0xFA0000
echo.
echo IMPORTANTE: Asegurate de que el ESP32-S3 esta conectado
echo.
pause

echo.
echo [1/2] Subiendo doom2.wad (esto tarda varios minutos)...
echo.
"%ESPTOOL%" --chip esp32s3 --port %PORT% --baud 921600 write_flash 0x120000 "%DOOM2_WAD%"

if %ERRORLEVEL% NEQ 0 (
    echo.
    echo ERROR al subir doom2.wad
    echo Verifica el puerto COM y la conexion
    pause
    exit /b 1
)

echo.
echo [2/2] Subiendo prboom-plus.wad...
echo.
"%ESPTOOL%" --chip esp32s3 --port %PORT% --baud 921600 write_flash 0xFA0000 "%PRBOOM_WAD%"

if %ERRORLEVEL% NEQ 0 (
    echo.
    echo ERROR al subir prboom-plus.wad
    pause
    exit /b 1
)

echo.
echo ========================================
echo   WADs subidos correctamente!
echo ========================================
echo.
echo Ahora presiona RESET en el ESP32-S3 para iniciar DOOM
echo.
pause
