mirror of
https://github.com/ApfelTeeSaft/Perfectium.git
synced 2026-08-26 19:33:36 +00:00
97 lines
2.1 KiB
Batchfile
97 lines
2.1 KiB
Batchfile
@echo off
|
|
setlocal EnableDelayedExpansion
|
|
|
|
set CONFIG=%1
|
|
if "%CONFIG%"=="" set CONFIG=Release
|
|
|
|
set OUTDIR=..\bin\%CONFIG%
|
|
set OBJDIR=..\obj\%CONFIG%
|
|
|
|
if not exist "%OUTDIR%" mkdir "%OUTDIR%"
|
|
if not exist "%OBJDIR%" mkdir "%OBJDIR%"
|
|
|
|
set ML_FLAGS=/nologo /W3 /WX /c /Cx /Zi /Fo"%OBJDIR%\\"
|
|
if /I "%CONFIG%"=="Debug" (
|
|
set ML_FLAGS=%ML_FLAGS% /DDEBUG
|
|
) else (
|
|
set ML_FLAGS=%ML_FLAGS% /DNDEBUG
|
|
)
|
|
|
|
set LINK_FLAGS=/nologo /DLL /SUBSYSTEM:WINDOWS /MACHINE:X64 /DEBUG
|
|
set LINK_FLAGS=%LINK_FLAGS% /DEF:raider.def
|
|
set LINK_FLAGS=%LINK_FLAGS% /OUT:"%OUTDIR%\raider.dll"
|
|
set LINK_FLAGS=%LINK_FLAGS% /PDB:"%OUTDIR%\raider.pdb"
|
|
set LINK_FLAGS=%LINK_FLAGS% /IMPLIB:"%OUTDIR%\raider.lib"
|
|
|
|
set LIBS=kernel32.lib user32.lib detours.lib
|
|
|
|
set ASM_FILES=^
|
|
raider.asm ^
|
|
sdk_globals.asm ^
|
|
patterns.asm ^
|
|
native.asm ^
|
|
util.asm ^
|
|
logger.asm ^
|
|
hooks.asm ^
|
|
ufunctionhooks.asm ^
|
|
gui.asm ^
|
|
zerogui.asm ^
|
|
zeroinput.asm ^
|
|
logic\game.asm ^
|
|
logic\inventory.asm ^
|
|
logic\abilities.asm ^
|
|
logic\spawners.asm ^
|
|
logic\teams.asm ^
|
|
gamemodes\gamemode_base.asm ^
|
|
gamemodes\gamemode_solos.asm ^
|
|
gamemodes\gamemode_duos.asm ^
|
|
gamemodes\gamemode_50v50.asm ^
|
|
gamemodes\gamemode_playground.asm ^
|
|
gamemodes\gamemode_lategame.asm ^
|
|
sdk\sdk_structs.asm ^
|
|
sdk\sdk_classes.asm ^
|
|
sdk\sdk_fort.asm
|
|
|
|
set OBJ_LIST=
|
|
set ERRORS=0
|
|
|
|
for %%F in (%ASM_FILES%) do (
|
|
set SRC=%%F
|
|
set FNAME=%%~nF
|
|
set FDIR=%%~dpF
|
|
|
|
set OBJNAME=!FDIR:logic\=logic_!
|
|
set OBJNAME=!OBJNAME:gamemodes\=gm_!
|
|
set OBJNAME=!OBJNAME:sdk\=sdk_!
|
|
set OBJNAME=!OBJNAME:\=_!
|
|
|
|
set OBJ=%OBJDIR%\!OBJNAME!!FNAME!.obj
|
|
|
|
echo [ML64] %%F
|
|
ml64.exe %ML_FLAGS% /Fo"!OBJ!" "%%F"
|
|
if errorlevel 1 (
|
|
echo ERROR: failed to assemble %%F
|
|
set /A ERRORS=!ERRORS!+1
|
|
) else (
|
|
set OBJ_LIST=!OBJ_LIST! "!OBJ!"
|
|
)
|
|
)
|
|
|
|
if !ERRORS! GTR 0 (
|
|
echo.
|
|
echo BUILD FAILED: !ERRORS! file(s) failed to assemble.
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo [LINK] raider.dll
|
|
link.exe %LINK_FLAGS% %OBJ_LIST% %LIBS%
|
|
if errorlevel 1 (
|
|
echo ERROR: link failed.
|
|
exit /b 1
|
|
)
|
|
|
|
echo.
|
|
echo BUILD SUCCEEDED: %OUTDIR%\raider.dll
|
|
exit /b 0
|