Syncs all source, content, toolchain, and assets needed to build and test the game on the Windows machine at /vwe/firestorm. Excludes generated build outputs (bin dirs, *.mw4, *.dep), .git/LFS, _UNUSED, and the MW4 deploy dir. Co-authored-by: Claude Sonnet 4.6 (Anthropic) <noreply@anthropic.com> Co-authored-by: GitHub Copilot <copilot@github.com>
92 lines
2.8 KiB
Bash
Executable File
92 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# sync-to-windows.sh
|
|
# Syncs the FireStorm repo to the Windows build/test machine mounted at /vwe/firestorm.
|
|
#
|
|
# Usage:
|
|
# ./sync-to-windows.sh # full sync
|
|
# ./sync-to-windows.sh --dry-run # preview only, no changes written
|
|
#
|
|
# Each section is a separate rsync so large unchanged trees (textures, audio,
|
|
# movies) can be commented out when you know they haven't changed.
|
|
|
|
SRC=~/Repositories/firestorm
|
|
DST=/vwe/firestorm
|
|
|
|
RSYNC_OPTS="-av --delete"
|
|
if [[ "$1" == "--dry-run" ]]; then
|
|
RSYNC_OPTS="$RSYNC_OPTS --dry-run"
|
|
echo "[DRY RUN] No files will be written."
|
|
fi
|
|
|
|
set -e
|
|
|
|
echo
|
|
echo "=== [1/8] Root files ==="
|
|
rsync $RSYNC_OPTS --exclude='*/' \
|
|
"$SRC/" "$DST/"
|
|
|
|
echo
|
|
echo "=== [2/8] Source code (Gameleap/code) — ~831 MB, skipping build output dirs ==="
|
|
rsync $RSYNC_OPTS \
|
|
--exclude='rel.bin/' \
|
|
--exclude='dbg.bin/' \
|
|
--exclude='pro.bin/' \
|
|
--exclude='arm.bin/' \
|
|
--exclude='ice.bin/' \
|
|
"$SRC/Gameleap/code/" "$DST/Gameleap/code/"
|
|
|
|
echo
|
|
echo "=== [3/8] Game data root + hsh + Assets + Stats (Gameleap/mw4 minus Content and Resource) — ~200 MB ==="
|
|
rsync $RSYNC_OPTS \
|
|
--exclude='Content/' \
|
|
--exclude='Resource/' \
|
|
"$SRC/Gameleap/mw4/" "$DST/Gameleap/mw4/"
|
|
|
|
echo
|
|
echo "=== [3b/8] Resource: .nfo + .tga (source) only — skip generated .mw4 and .dep ==="
|
|
rsync $RSYNC_OPTS \
|
|
--exclude='*.mw4' \
|
|
--exclude='*.dep' \
|
|
"$SRC/Gameleap/mw4/Resource/" "$DST/Gameleap/mw4/Resource/"
|
|
|
|
echo
|
|
echo "=== [4/8] Content: scripts, tables, mechs, missions, build manifests — ~350 MB ==="
|
|
rsync $RSYNC_OPTS \
|
|
--exclude='textures/' \
|
|
--exclude='Audio/' \
|
|
--exclude='movies/' \
|
|
"$SRC/Gameleap/mw4/Content/" "$DST/Gameleap/mw4/Content/"
|
|
|
|
echo
|
|
echo "=== [5/8] Content/textures — 3.1 GB (comment out if unchanged) ==="
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/Gameleap/mw4/Content/textures/" "$DST/Gameleap/mw4/Content/textures/"
|
|
|
|
echo
|
|
echo "=== [6/8] Content/Audio — 351 MB (comment out if unchanged) ==="
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/Gameleap/mw4/Content/Audio/" "$DST/Gameleap/mw4/Content/Audio/"
|
|
|
|
echo
|
|
echo "=== [7/8] Content/movies — 311 MB (comment out if unchanged) ==="
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/Gameleap/mw4/Content/movies/" "$DST/Gameleap/mw4/Content/movies/"
|
|
|
|
echo
|
|
echo "=== [8/8] Build environment, design data, HUD art ==="
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/build-env/" "$DST/build-env/"
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/BTFrstrm/" "$DST/BTFrstrm/"
|
|
rsync $RSYNC_OPTS \
|
|
"$SRC/Finished HUDS from J&J/" "$DST/Finished HUDS from J&J/"
|
|
|
|
echo
|
|
echo "=== Sync complete ==="
|
|
echo "Skipped (git/LFS): .git/"
|
|
echo "Skipped (archived): _UNUSED/"
|
|
echo "Skipped (deploy out): MW4/"
|
|
echo "Skipped (build out): Gameleap/code/{rel,dbg,pro,arm,ice}.bin/"
|
|
echo "Skipped (generated): Gameleap/mw4/Resource/*.mw4 *.dep"
|
|
echo "Skipped (dev backup): Gameleap/mw4/Content/ShellScriptsDev/"
|