From c208c3894aa4ee4bf9674a7248b3ee5d7806f938 Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Wed, 29 Jul 2026 17:32:27 +0200 Subject: [PATCH] Re-committed *.cmd as text files --- .gitattributes | 1 + _build/build.cmd | 81 ++++++++++++++++++++++++++++++++++++ source/Enderal DLL/build.cmd | 43 +++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 _build/build.cmd create mode 100644 source/Enderal DLL/build.cmd diff --git a/.gitattributes b/.gitattributes index adf55dc2c..d213efba6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -28,6 +28,7 @@ *.inl filter= diff= merge= text eol=crlf *.flm filter= diff= merge= text eol=crlf *.au3 filter= diff= merge= text eol=crlf +*.cmd filter= diff= merge= text eol=crlf LICENSE filter= diff= merge= text eol=crlf skyui_se_*.txt filter= diff= merge= -text translate_*.txt filter= diff= merge= -text diff --git a/_build/build.cmd b/_build/build.cmd new file mode 100644 index 000000000..b96cf9a72 --- /dev/null +++ b/_build/build.cmd @@ -0,0 +1,81 @@ +@echo off + +set "TARGET_DIR=%~dp0..\..\Enderal SE Build" +if exist "%TARGET_DIR%" rd /s /q "%TARGET_DIR%" +mkdir "%TARGET_DIR%" +cd /D "%TARGET_DIR%" +set "TARGET_DIR=%cd%" + +set "BSARCH=%~dp0bsarch.exe" +set "TEMP_DIR=%~d0\__enderalreleasetemp" + +cd /D "%~dp0.." || exit 1 +set "SRC_DIR=%cd%" +cd /D "%~dp0." + +call :resettemp +if not exist "%TEMP_DIR%\lodsettings" mkdir "%TEMP_DIR%\lodsettings" +if not exist "%TEMP_DIR%\meshes" mkdir "%TEMP_DIR%\meshes" +echo Copying lodsettings... +xcopy "%SRC_DIR%\lodsettings" "%TEMP_DIR%\lodsettings" /S /H /R /Y /Q +echo Copying meshes... +xcopy "%SRC_DIR%\meshes" "%TEMP_DIR%\meshes" /S /H /R /Y /Q +echo Packing into E - Meshes.bsa... +"%BSARCH%" pack "%TEMP_DIR%" "%TARGET_DIR%\E - Meshes.bsa" -q -sse -mt -share + +call :resettemp +if not exist "%TEMP_DIR%\interface" mkdir "%TEMP_DIR%\interface" +if not exist "%TEMP_DIR%\strings" mkdir "%TEMP_DIR%\strings" +if not exist "%TEMP_DIR%\scripts" mkdir "%TEMP_DIR%\scripts" +echo Copying interface... +xcopy "%SRC_DIR%\interface" "%TEMP_DIR%\interface" /S /H /R /Y /Q +echo Copying strings... +xcopy "%SRC_DIR%\strings" "%TEMP_DIR%\strings" /S /H /R /Y /Q +echo Copying scripts... +xcopy "%SRC_DIR%\scripts" "%TEMP_DIR%\scripts" /S /H /R /Y /Q +echo Packing into E - Misc.bsa... +"%BSARCH%" pack "%TEMP_DIR%" "%TARGET_DIR%\E - Misc.bsa" -q -sse -mt + +call :resettemp +if not exist "%TEMP_DIR%\textures" mkdir "%TEMP_DIR%\textures" +if not exist "%TEMP_DIR%\textures\enderal" mkdir "%TEMP_DIR%\textures\enderal" +echo Copying textures\enderal... +xcopy "%SRC_DIR%\textures\enderal" "%TEMP_DIR%\textures\enderal" /S /H /R /Y /Q +for %%a IN (actors,armor) do rd /s /q "%TEMP_DIR%\textures\enderal\%%a" +echo Packing into E - Textures2.bsa... +"%BSARCH%" pack "%TEMP_DIR%" "%TARGET_DIR%\E - Textures2.bsa" -q -sse -mt -z -share + +echo Copying remaining textures... +xcopy "%SRC_DIR%\textures" "%TEMP_DIR%\textures" /S /H /R /Y /Q +rd /s /q "%TEMP_DIR%\textures\enderal" +for %%a IN (actors,armor) do if not exist "%TEMP_DIR%\textures\enderal\%%a" mkdir "%TEMP_DIR%\textures\enderal\%%a" +for %%a IN (actors,armor) do xcopy "%SRC_DIR%\textures\enderal\%%a" "%TEMP_DIR%\textures\enderal\%%a" /S /H /R /Y /Q +echo Packing into E - Textures1.bsa... +"%BSARCH%" pack "%TEMP_DIR%" "%TARGET_DIR%\E - Textures1.bsa" -q -sse -mt -z -share + +rd /s /q "%TEMP_DIR%" + +echo Copying loose files... +for /f "tokens=* usebackq" %%a IN ("loose_files.txt") do call :copyloose "%%a" + +cd /D "%~dp0.." +"%~dp07za.exe" a "%TARGET_DIR%\ScriptsEnderal.zip" "source\scripts" + +cd /D "%~dp0..\source\Enderal DLL" +"%~dp07za.exe" a "%TARGET_DIR%\SKSE\Plugins\fs_src.zip" "." -x!build -x!.vs -x!.claude -x!*.md + +cd /D "%~dp0..\source\Steam DLL" +"%~dp07za.exe" a "%TARGET_DIR%\SKSE\Plugins\fs_steam_src.zip" "." -x!build -x!.vs -x!gog -x!.claude -x!*.md + +if "%SKIP_PAUSE%"=="" pause +goto :eof + +:resettemp + if exist "%TEMP_DIR%" rd /s /q "%TEMP_DIR%" + mkdir "%TEMP_DIR%" + goto :eof + +:copyloose + if not exist "%TARGET_DIR%\%~1\..\." mkdir "%TARGET_DIR%\%~1\..\." + if exist "%SRC_DIR%\%~1" echo Copying %~1 && copy /Y "%SRC_DIR%\%~1" "%TARGET_DIR%\%~1" >nul + goto :eof diff --git a/source/Enderal DLL/build.cmd b/source/Enderal DLL/build.cmd new file mode 100644 index 000000000..240df5a20 --- /dev/null +++ b/source/Enderal DLL/build.cmd @@ -0,0 +1,43 @@ +@echo off +rem --------------------------------------------------------------------------- +rem Command-line build wrapper. +rem +rem Sets up the MSVC x64 environment (the piece Visual Studio configures for you +rem automatically) and then drives the exact same CMake presets that Visual +rem Studio uses, so both build paths stay in sync. +rem +rem Usage: build.cmd [preset] +rem preset defaults to "release-msvc". Other options: debug-msvc, +rem release-clang-cl, debug-clang-cl (must match a name in CMakePresets.json). +rem --------------------------------------------------------------------------- +setlocal + +set "PRESET=%~1" +if "%PRESET%"=="" set "PRESET=release-msvc" +set "CONFIGURE_PRESET=build-%PRESET%" + +cd /d "%~dp0" + +rem --- Locate Visual Studio (or the C++ Build Tools) --- +set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" +if not exist "%VSWHERE%" ( + echo [ERROR] vswhere.exe not found. Install Visual Studio 2022 or the C++ Build Tools. + exit /b 1 +) + +set "VSINSTALL=" +for /f "usebackq delims=" %%i in (`"%VSWHERE%" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do set "VSINSTALL=%%i" +if not defined VSINSTALL ( + echo [ERROR] No Visual Studio installation with the C++ toolset was found. + exit /b 1 +) + +rem --- Import the MSVC x64 developer environment --- +call "%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat" || exit /b 1 + +rem --- Configure and build using the shared presets --- +cmake --preset %CONFIGURE_PRESET% || exit /b 1 +cmake --build --preset %PRESET% || exit /b 1 + +echo. +echo [OK] Built preset "%PRESET%". Plugin deployed to SKSE\Plugins\.