66 lines
2.1 KiB
Batchfile
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
|