Files
Mush-Soundpack/installer.bat
2025-07-01 23:28:00 +03:00

66 lines
2.1 KiB
Batchfile

@echo off
setlocal
:: --------- Setup Log ---------
set "LOG_FILE=cosmic_setup.log"
echo [%DATE% %TIME%] Starting script... > "%LOG_FILE%"
:: --------- Define Paths ---------
set "CURRENT_DIR=%~dp0"
if "%CURRENT_DIR:~-1%"=="\" set "CURRENT_DIR=%CURRENT_DIR:~0,-1%"
set "SOUNDS_DIR=%CURRENT_DIR%\cosmic rage\worlds\cosmic rage\sounds"
set "REPO_URL=http://nathantech.net:3000/CosmicRage/CosmicRageSounds"
set "REPO_SUBFOLDER=ogg"
set "GIT_PORTABLE=%CURRENT_DIR%\gitportable\bin\git.exe"
echo [%DATE% %TIME%] Script location: %CURRENT_DIR% >> "%LOG_FILE%"
echo [%DATE% %TIME%] Sounds directory: %SOUNDS_DIR% >> "%LOG_FILE%"
:: --------- Check for Git Installation ---------
set "GIT_CMD=git"
where git >nul 2>&1
if errorlevel 1 (
if not exist "%GIT_PORTABLE%" (
echo [%DATE% %TIME%] ERROR: No valid Git installation or GitPortable found. >> "%LOG_FILE%"
echo ERROR: Git is not installed, and GitPortable is missing.
pause
exit /b
) else (
set "GIT_CMD=%GIT_PORTABLE%"
echo [%DATE% %TIME%] Using GitPortable: %GIT_CMD% >> "%LOG_FILE%"
)
) else (
echo [%DATE% %TIME%] Using system Git: %GIT_CMD% >> "%LOG_FILE%"
)
:: --------- Download sounds using partial clone + sparse checkout ---------
echo [%DATE% %TIME%] Downloading sound files using Git sparse clone... >> "%LOG_FILE%"
rd /s /q "%SOUNDS_DIR%" >nul 2>&1
"%GIT_CMD%" clone --depth=1 --filter=blob:none --sparse "%REPO_URL%" "%SOUNDS_DIR%"
if errorlevel 1 (
echo [%DATE% %TIME%] ERROR: Git clone failed. >> "%LOG_FILE%"
echo ERROR: Failed to clone repo. Check network or Git version.
pause
exit /b
)
pushd "%SOUNDS_DIR%"
"%GIT_CMD%" sparse-checkout set "%REPO_SUBFOLDER%" >> "%LOG_FILE%" 2>&1
if not exist "%SOUNDS_DIR%\%REPO_SUBFOLDER%" (
echo [%DATE% %TIME%] ERROR: Failed to checkout sparse folder. >> "%LOG_FILE%"
echo ERROR: Could not pull sparse folder. Check folder name or repo.
pause
popd
exit /b
)
popd
echo [%DATE% %TIME%] Sounds successfully cloned. >> "%LOG_FILE%"
:: --------- Finish ---------
echo [%DATE% %TIME%] Script completed successfully. >> "%LOG_FILE%"
echo Setup complete.
pause
exit /b