#!/usr/bin/env bash # Compila Pinball Simulator 2026 Advanced (homebrew de Game Boy Advance de fixx, GBA Jam 2026; codigo zlib, # graficos CC BY 4.0, musicas CC0/dominio publico) do commit a772386 do repositorio # fixxiefixx/PinballSimulator2026Advanced, com o Butano 21.8.0 (zlib). O repositorio nao traz ROM. # Toolchain: ver gba-butano-toolchain.sh. # Mudanca nossa: graphics/intro_bg.bmp (arte modificada do logo da GBA Jam 2026, de licenca nao livre) vira uma # tela de abertura nossa, gerada por Builds/pinball-simulator/make-intro.py (o bmp pronto fica ao lado). # # src/FredGames.Bundler/Builds/build-pinball-simulator.sh # # Saida: artifacts/build/pinball-simulator/pinball-simulator.gba set -euo pipefail COMMIT=a772386036e1fa24bac906b6d34b8720a1aac404 GAME_SHA256=6cddd726e09f081db4eb991094b2c89deda86be25c6b5464a1af75fdca8f1d83 BUTANO=21.8.0 BUTANO_SHA256=bd34a379ccdebbdc77b5e4f18c0c76a4431083952c9810f8c02c017000ab6dee INTRO_SHA256=0fec14ce4e06c0b0e8fcd6d1c9536ccb70aa3d9b6632811d9eb65384824cd0af here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" out="$root/artifacts/build/pinball-simulator" cache="$root/artifacts/build/cache" dkp="$root/artifacts/tools/devkitpro-compat" "$here/gba-butano-toolchain.sh" mkdir -p "$cache" fetch() { [ -f "$2" ] || curl -fsSL --retry 4 "$1" -o "$2"; echo "$3 $2" | shasum -a 256 -c -; } fetch "https://github.com/GValiente/butano/archive/refs/tags/$BUTANO.tar.gz" "$cache/butano-$BUTANO.tar.gz" "$BUTANO_SHA256" fetch "https://github.com/fixxiefixx/PinballSimulator2026Advanced/archive/a772386.tar.gz" "$cache/pinball-a772386.tar.gz" "$GAME_SHA256" echo "$INTRO_SHA256 $here/pinball-simulator/intro_bg.bmp" | shasum -a 256 -c - rm -rf "$out" && mkdir -p "$out/butano" tar -xzf "$cache/butano-$BUTANO.tar.gz" -C "$out/butano" --strip-components 1 mkdir -p "$out/butano/games/pinball" tar -xzf "$cache/pinball-a772386.tar.gz" -C "$out/butano/games/pinball" --strip-components 1 cd "$out/butano/games/pinball" cp "$here/pinball-simulator/intro_bg.bmp" graphics/intro_bg.bmp export DEVKITPRO="$dkp" DEVKITARM="$dkp/devkitARM" export PATH="$dkp/devkitARM/bin:$dkp/tools/bin:$PATH" make -j8 PYTHON=python3 TARGET=pinball ROMTITLE=PINBALLSIM26 ROMCODE=PBSM >"$out/make.log" 2>&1 || { tail -30 "$out/make.log"; exit 1; } cp pinball.gba "$out/pinball-simulator.gba" shasum -a 256 "$out/pinball-simulator.gba"