#!/usr/bin/env bash # Compila o Tower of Purgatory (construtor de torre em falso 3D e RPG leve, de kettek e liqMix / ketMix, GPL-3.0; Go + Ebitengine 2.7.5) # para WebAssembly a partir do commit 3e3c0d3 de github.com/ketMix/turgatory, com o Go 1.27.2 (Builds/go-ebiten/common.sh). # # src/FredGames.Bundler/Builds/build-tower-of-purgatory.sh # # Mudancas no jogo: nenhuma (o jogo nao usa rede, links nem armazenamento). A build e a do projeto para web (`go run . build-web`: # GOOS=js GOARCH=wasm go build ./cmd/game), com os flags de release dos outros jogos em Go do site; os assets (35 imagens, 14 musicas e # sons Ogg, textos, YAML e as duas fontes) entram no binario pelo go:embed do proprio jogo. # # Saida: artifacts/build/tower-of-purgatory-3e3c0d3/{tower-of-purgatory.wasm,wasm_exec.js,tower-of-purgatory-licenses.txt}; dois builds # seguidos dao os mesmos bytes. set -euo pipefail COMMIT=3e3c0d397c42bbb4ee7040d9d477a94990411fca SHA256=982ba77a50a99a16bfc3edf8e56653f3ec21fbd467951bed274d68ecdc3afa32 here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" root="$(git -C "$here" rev-parse --show-toplevel 2>/dev/null || pwd)" source "$here/go-ebiten/common.sh" out="$root/artifacts/build/tower-of-purgatory-${COMMIT:0:7}" tgz="$cache/tower-of-purgatory-${COMMIT:0:7}.tar.gz" fetch "https://github.com/ketMix/turgatory/archive/$COMMIT.tar.gz" "$tgz" "$SHA256" go_setup rm -rf "$out"; mkdir -p "$out/tree" tar -xzf "$tgz" -C "$out/tree" --strip-components 1 cd "$out/tree" export GO_PKG=./cmd/game go_build_wasm "$out/tower-of-purgatory.wasm" go_licenses "$out/tower-of-purgatory-licenses.txt" "Tower of Purgatory" cd "$root" rm -rf "$out/tree" ls -l "$out" shasum -a 256 "$out/tower-of-purgatory.wasm" "$out/wasm_exec.js"