All 5 phases of the open-source Decal rebuild: Phase 1: 14 decompiled .NET projects (Interop.*, Adapter, FileService, DecalUtil) Phase 2: 10 native DLLs rewritten as C# COM servers with matching GUIDs - DecalDat, DHS, SpellFilter, DecalInput, DecalNet, DecalFilters - Decal.Core, DecalControls, DecalRender, D3DService Phase 3: C++ shims for Inject.DLL (D3D9 hooking) and LauncherHook.DLL Phase 4: DenAgent WinForms tray application Phase 5: WiX installer and build script 25 C# projects building with 0 errors. Native C++ projects require VS 2022 + Windows SDK (x86). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.6 KiB
Batchfile
51 lines
1.6 KiB
Batchfile
@echo off
|
|
REM Decal Open Source Build Script
|
|
REM Builds all managed C# projects and the WiX installer.
|
|
REM Native C++ projects (Inject.DLL, LauncherHook.DLL) must be built separately
|
|
REM with Visual Studio 2022 or CMake (x86/Win32 target).
|
|
|
|
echo ============================================
|
|
echo Decal Open Source Build
|
|
echo ============================================
|
|
echo.
|
|
|
|
REM Step 1: Build managed solution
|
|
echo [1/3] Building managed C# solution (25 projects)...
|
|
dotnet build Managed\Decal.sln -c Release
|
|
if errorlevel 1 (
|
|
echo ERROR: Managed build failed.
|
|
exit /b 1
|
|
)
|
|
echo Managed build succeeded.
|
|
echo.
|
|
|
|
REM Step 2: Build native C++ projects (requires Visual Studio 2022)
|
|
echo [2/3] Native C++ projects...
|
|
if exist "Native\build\Release\Inject.DLL" (
|
|
echo Native DLLs already built.
|
|
) else (
|
|
echo NOTE: Native C++ projects must be built manually:
|
|
echo cd Native
|
|
echo cmake -G "Visual Studio 17 2022" -A Win32 -B build
|
|
echo cmake --build build --config Release
|
|
echo.
|
|
echo Skipping native build for now.
|
|
)
|
|
echo.
|
|
|
|
REM Step 3: Build installer (requires WiX Toolset v5)
|
|
echo [3/3] Installer...
|
|
if exist "%USERPROFILE%\.dotnet\tools\wix.exe" (
|
|
dotnet build Installer\Decal.Installer.wixproj -c Release ^
|
|
-p:BuildOutput=..\Managed\bin\Release ^
|
|
-p:NativeOutput=..\Native\build\Release
|
|
) else (
|
|
echo NOTE: WiX Toolset not installed. Install with:
|
|
echo dotnet tool install --global wix
|
|
echo Skipping installer build.
|
|
)
|
|
|
|
echo.
|
|
echo ============================================
|
|
echo Build complete.
|
|
echo ============================================
|