EBLAN_ENGINE/build.bat
Artvasil09 a1d1baa869 feat: complete engine and editor subsystems (Stages 1-5 from TODO_ARTEM)
- Stage 1: Eliminate fish-eye distortion with precomputed tangential ray offset table and fractional DDA depth
- Stage 2: Full asset management in EblanStudio (stb_image/stb_image_write, 128x128 BGRA texture packaging, WAV sound manager)
- Stage 3: Multi-level room streaming, LevelTransition/CELL_PORTAL trigger system, 16-frame screen fade to black
- Stage 4: 60Hz cutscene engine in pure x86 ASM (v4 binary track, waypoint camera motion, shortest-arc pan, CP1251 Russian subtitles, letterbox overlay, audio)
- Stage 5: EblanStudio cutscene timeline (F6) and windowless Live ASM Viewport over shared-memory IPC directly rendered into DX11
- Tooling & Tests: comprehensive regression test suite (94 editor + 107 engine tests), IPC tests, and cutscene demo
2026-10-22 16:24:22 +03:00

75 lines
2.6 KiB
Batchfile

@echo off
setlocal
rem ==============================================================================
rem EBLAN ENGINE - Build Script (MASM32 / MSVC BuildTools)
rem ==============================================================================
if exist "E:\MASM32\masm32\bin\ml.exe" (
set "ML_EXE=E:\MASM32\masm32\bin\ml.exe"
set "LINK_EXE=E:\MASM32\masm32\bin\link.exe"
set "LIB_PATHS=/LIBPATH:E:\MASM32\masm32\lib"
set "EXTRA_FLAGS=/SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0"
goto do_build
)
if exist "D:\MASM32\masm32\bin\ml.exe" (
set "ML_EXE=D:\MASM32\masm32\bin\ml.exe"
set "LINK_EXE=D:\MASM32\masm32\bin\link.exe"
set "LIB_PATHS=/LIBPATH:D:\MASM32\masm32\lib"
set "EXTRA_FLAGS=/SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0"
goto do_build
)
if exist "C:\masm32\bin\ml.exe" (
set "ML_EXE=C:\masm32\bin\ml.exe"
set "LINK_EXE=C:\masm32\bin\link.exe"
set "LIB_PATHS=/LIBPATH:C:\masm32\lib"
set "EXTRA_FLAGS=/SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0"
goto do_build
)
if exist "F:\MASM32\masm32\bin\ml.exe" (
set "ML_EXE=F:\MASM32\masm32\bin\ml.exe"
set "LINK_EXE=F:\MASM32\masm32\bin\link.exe"
set "LIB_PATHS=/LIBPATH:F:\MASM32\masm32\lib"
set "EXTRA_FLAGS=/SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0"
goto do_build
)
rem Fallback to Visual Studio / MSVC BuildTools
set "MSVC_BIN=C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x86"
set "SDK_LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\x86"
set "UCRT_LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x86"
set "VC_LIB=C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.50.35717\lib\x86"
if exist "%MSVC_BIN%\ml.exe" (
set "ML_EXE=%MSVC_BIN%\ml.exe"
set "LINK_EXE=%MSVC_BIN%\link.exe"
set LIB_PATHS=/LIBPATH:"%SDK_LIB%" /LIBPATH:"%UCRT_LIB%" /LIBPATH:"%VC_LIB%"
set "EXTRA_FLAGS=/NOLOGO /SUBSYSTEM:WINDOWS"
goto do_build
)
echo [ERROR] No compatible MASM/MSVC assembler found!
goto err
:do_build
if exist "%ProgramFiles(x86)%\Windows Kits\10\Lib\10.0.26100.0\um\x86\kernel32.lib" (
set LIB_PATHS=/LIBPATH:"%ProgramFiles(x86)%\Windows Kits\10\Lib\10.0.26100.0\um\x86" %LIB_PATHS%
)
echo [BUILD] Assembling main.asm...
"%ML_EXE%" /c /coff /Cp /nologo /I. /Iinclude main.asm
if errorlevel 1 goto err
echo [BUILD] Linking engine.exe...
"%LINK_EXE%" %EXTRA_FLAGS% %LIB_PATHS% /OUT:engine.exe main.obj kernel32.lib winmm.lib user32.lib gdi32.lib
if errorlevel 1 goto err
echo [SUCCESS] engine.exe built successfully!
goto end
:err
echo [ERROR] Build failed!
exit /b 1
:end
endlocal