Restructure into multi-game UltraWidePatches umbrella
Generalize the project from a single GB4 fix into a collection that can host
ultrawide patches for many games.
- games/<Game>/{SUWSF.ini,game.conf,README.md}; GB4 moved in as the first entry
- game.conf carries all game-specific data (appid, exe, paths, loader, launch
option), so install.sh is fully generic: ./install.sh <Game> [uninstall]
- installer gains GAME_DIR / PREFIX_INI_FILE / LOADER_NAME overrides; verified
install -> idempotent re-run -> uninstall leaves the tree pristine
- tools de-hardcoded: dump_decrypted.py takes an exe name, read_protonlog.sh
takes an appid, aob.py takes a dump + game ini, build_release.sh takes a game
- README rewritten as an umbrella index with an "adding a game" guide
- LICENSE copyright -> programmingPug
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+19
-13
@@ -1,21 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build the drop-in release zip from committed sources + vendored SUWSF.
|
||||
# Output: dist/GB4_UltraWide_Fix.zip (attach to the GitHub Release)
|
||||
# Build a drop-in release zip for one game.
|
||||
# ./tools/build_release.sh GundamBreaker4
|
||||
# Output: dist/<Game>_UltraWide_Fix.zip (attach to the GitHub Release)
|
||||
set -euo pipefail
|
||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
cd "$HERE"
|
||||
|
||||
V="${1:-vendor/SUWSF-x64}"
|
||||
for f in "$V/SUWSF.asi" "$V/dsound.dll" "$V/LICENSE" patch/SUWSF.ini; do
|
||||
GAME="${1:?usage: build_release.sh <GameName>}"
|
||||
GDIR="games/$GAME"
|
||||
V="vendor/SUWSF-x64"
|
||||
[ -d "$GDIR" ] || { echo "[!] no such game: $GDIR"; exit 1; }
|
||||
for f in "$V/SUWSF.asi" "$V/dsound.dll" "$V/LICENSE" "$GDIR/SUWSF.ini"; do
|
||||
[ -f "$f" ] || { echo "[!] missing $f"; exit 1; }
|
||||
done
|
||||
|
||||
rm -rf dist/GB4_UltraWide_Fix dist/GB4_UltraWide_Fix.zip
|
||||
mkdir -p dist/GB4_UltraWide_Fix
|
||||
cp "$V/SUWSF.asi" "$V/dsound.dll" patch/SUWSF.ini dist/GB4_UltraWide_Fix/
|
||||
cp "$V/LICENSE" dist/GB4_UltraWide_Fix/SUWSF-LICENSE.txt
|
||||
cp README.md THIRD_PARTY.md dist/GB4_UltraWide_Fix/ 2>/dev/null || true
|
||||
( cd dist && zip -r -q GB4_UltraWide_Fix.zip GB4_UltraWide_Fix )
|
||||
echo "[+] Built dist/GB4_UltraWide_Fix.zip"
|
||||
( cd dist && sha256sum GB4_UltraWide_Fix.zip )
|
||||
unzip -l dist/GB4_UltraWide_Fix.zip
|
||||
OUT="dist/${GAME}_UltraWide_Fix"
|
||||
rm -rf "$OUT" "$OUT.zip"
|
||||
mkdir -p "$OUT"
|
||||
cp "$V/SUWSF.asi" "$V/dsound.dll" "$GDIR/SUWSF.ini" "$OUT/"
|
||||
cp "$V/LICENSE" "$OUT/SUWSF-LICENSE.txt"
|
||||
cp "$GDIR/README.md" "$OUT/README.md" 2>/dev/null || true
|
||||
cp THIRD_PARTY.md "$OUT/" 2>/dev/null || true
|
||||
( cd dist && zip -r -q "${GAME}_UltraWide_Fix.zip" "${GAME}_UltraWide_Fix" )
|
||||
echo "[+] Built dist/${GAME}_UltraWide_Fix.zip"
|
||||
( cd dist && sha256sum "${GAME}_UltraWide_Fix.zip" )
|
||||
unzip -l "dist/${GAME}_UltraWide_Fix.zip"
|
||||
|
||||
Reference in New Issue
Block a user