Added one scratch, one engine and one game arena. Converted the game alloc to arena + the display stuff. WIP Made using Antigravity+gemini
72 lines
1.6 KiB
Batchfile
72 lines
1.6 KiB
Batchfile
@echo off
|
|
setlocal
|
|
|
|
:: --- 1. Argument Parsing Logic ---
|
|
set "ARG1="
|
|
set "ARG2="
|
|
set "AUTOCLOSE=0"
|
|
|
|
for %%x in (%*) do (
|
|
if /I "%%~x"=="autoclose" (
|
|
set "AUTOCLOSE=1"
|
|
) else (
|
|
if not defined ARG1 (
|
|
set "ARG1=%%~x"
|
|
) else if not defined ARG2 (
|
|
set "ARG2=%%~x"
|
|
)
|
|
)
|
|
)
|
|
|
|
:: Set Defaults
|
|
set "COMPILER_TYPE=clang"
|
|
set "CONFIG=Debug"
|
|
|
|
:: Check if the first argument is a Configuration instead of a Compiler
|
|
if /I "%ARG1%"=="Release" (
|
|
set "CONFIG=Release"
|
|
) else if /I "%ARG1%"=="Profile" (
|
|
set "CONFIG=Profile"
|
|
) else if /I "%ARG1%"=="Debug" (
|
|
set "CONFIG=Debug"
|
|
) else if /I "%ARG1%"=="msvc" (
|
|
set "COMPILER_TYPE=msvc"
|
|
if not "%ARG2%"=="" set "CONFIG=%ARG2%"
|
|
) else if /I "%ARG1%"=="clang" (
|
|
set "COMPILER_TYPE=clang"
|
|
if not "%ARG2%"=="" set "CONFIG=%ARG2%"
|
|
)
|
|
|
|
:: --- 2. Map Compiler to Platform ---
|
|
if /I "%COMPILER_TYPE%"=="clang" (
|
|
set "PLATFORM=x64Clang"
|
|
) else (
|
|
set "PLATFORM=x64"
|
|
)
|
|
|
|
:: --- 3. Construct Paths ---
|
|
set "APP_DIR=bin\%PLATFORM%-%CONFIG%"
|
|
set "APP_EXE=JulietApp.exe"
|
|
|
|
echo --- Launching %APP_EXE% ---
|
|
echo Platform: %PLATFORM%
|
|
echo Config: %CONFIG%
|
|
|
|
:: --- 4. Execution ---
|
|
if exist "%APP_DIR%\%APP_EXE%" (
|
|
pushd "%APP_DIR%"
|
|
start "" "%APP_EXE%"
|
|
popd
|
|
|
|
if "%AUTOCLOSE%"=="1" (
|
|
echo [AUTOCLOSE] Waiting 5 seconds...
|
|
timeout /t 5 /nobreak >nul
|
|
taskkill /IM "%APP_EXE%" /F >nul 2>&1
|
|
)
|
|
) else (
|
|
echo [ERROR] Executable not found at: %APP_DIR%\%APP_EXE%
|
|
echo Please build first: fbuild JulietApp-%PLATFORM%-%CONFIG%
|
|
pause
|
|
)
|
|
|
|
endlocal |