@echo off

echo.
REM Remove cache key
if exist "D:\Steam\steamapps\common\Railworks\verify_cache_key" (
    del /f /q "D:\Steam\steamapps\common\Railworks\verify_cache_key"
) else (
    echo cachekey not found
)

setlocal EnableDelayedExpansion

set RWPATH=D:\Steam\steamapps\common\RailWorks\Content

cd /d "%RWPATH%"


REM =====================================================
REM STEP 1
REM Detect which route group is currently active
REM =====================================================

set CURRENT=

if not exist "RoutesAT" set CURRENT=AT
if not exist "RoutesCH" set CURRENT=CH
if not exist "RoutesDE" set CURRENT=DE
if not exist "RoutesNL" set CURRENT=NL
if not exist "RoutesNSELUL" set CURRENT=NSELUL
if not exist "RoutesCZFRRO" set CURRENT=CZFRRO
if not exist "RoutesUK" set CURRENT=UK

if "%CURRENT%"=="" (
    echo ERROR:
    echo Could not determine active route group.
    echo.
    echo Exactly ONE RoutesXXX folder must be missing.
    pause
    exit /b
)

echo Current active group: %CURRENT%
echo.

REM =====================================================
REM STEP 2
REM Restore Routes and SDBCache.bin back to country names
REM =====================================================

if exist "Routes" (
    echo Restoring Routes back to Routes%CURRENT%...
    ren "Routes" "Routes%CURRENT%"
) else (
    echo ERROR: Routes folder not found.
    pause
    exit /b
)

if exist "SDBCache.bin" (
    echo Restoring SDBCache.bin back to SDBCache%CURRENT%.bin...
    ren "SDBCache.bin" "SDBCache%CURRENT%.bin"
) else (
    echo ERROR: SDBCache.bin not found.
    pause
    exit /b
)

echo.
echo Select route group to activate:
echo.
echo 1 = UK
echo 2 = UK Third Rail LUL
echo 3 = DE
echo 4 = NL
echo 5 = AT
echo 6 = CZFRRO
echo 7 = CH
echo.

set /p CHOICE=Enter choice: 

echo.

REM =====================================================
REM STEP 3
REM Determine target
REM =====================================================

set TARGET=

if "%CHOICE%"=="1" set TARGET=UK
if "%CHOICE%"=="2" set TARGET=NSELUL
if "%CHOICE%"=="3" set TARGET=DE
if "%CHOICE%"=="4" set TARGET=NL
if "%CHOICE%"=="5" set TARGET=AT
if "%CHOICE%"=="6" set TARGET=CZFRRO
if "%CHOICE%"=="7" set TARGET=CH

if "%TARGET%"=="" (
    echo Invalid selection.
    pause
    exit /b
)

REM =====================================================
REM STEP 4
REM Activate selected route group and cache
REM =====================================================

echo Activating Routes%TARGET%...

if exist "Routes%TARGET%" (
    ren "Routes%TARGET%" "Routes"
) else (
    echo ERROR:
    echo Routes%TARGET% not found.
    pause
    exit /b
)

if exist "SDBCache%TARGET%.bin" (
    ren "SDBCache%TARGET%.bin" "SDBCache.bin"
) else (
    echo ERROR:
    echo SDBCache%TARGET%.bin not found.
    pause
    exit /b
)

echo.
echo SUCCESS:
echo Routes%TARGET% is now active.
echo SDBCache%TARGET%.bin is now active.
echo.

pause

REM Launch AP sky tool
start "" "D:\Steam\steamapps\common\Railworks\plugins\AP Sky Accurate Time of Day\AP Sky Accurate Time of Day.exe"

REM Launch TSClassic Interface elevated
if exist "C:\Rail Utilities\TSClassic Raildriver and Joystick Interface\TSClassic Interface (x64).exe" (
    powershell -Command "Start-Process 'C:\Rail Utilities\TSClassic Raildriver and Joystick Interface\TSClassic Interface (x64).exe' -Verb RunAs"
)

REM Launch ThirdRails
if exist "C:\Rail Utilities\ThirdRails Map\ThirdRails.exe" (
    start "" "C:\Rail Utilities\ThirdRails Map\ThirdRails.exe"
)

start "" "steam://rungameid/24010"
