#!/usr/bin/env bash # Compila o Go-inovation (plataforma de exploracao "Ino-vation 2007" de Omega, portada para Go + Ebitengine por Hajime Hoshi; MIT) # para WebAssembly a partir do commit d53d47a de github.com/hajimehoshi/go-inovation, com o Go 1.27.2 (Builds/go-ebiten/common.sh). # # src/FredGames.Bundler/Builds/build-go-inovation.sh # # Mudancas no jogo (go-inovation/go-inovation-fredygames.patch, publicado junto do fonte): so os textos de 7 itens, em ingles e japones, # que nomeavam marcas e jogos comerciais (um tenis, um robo de anime, um jogo de tiro de 1995, personagens de filme e serie) e agora trazem # nomes genericos. O jogo nao usa rede, links nem armazenamento, e o build web nao liga o Steamworks (so entra com a tag `steam`). As # imagens e sons vem embutidos no binario (ino/internal/assets). O idioma segue o do navegador (ingles ou japones). # Alem do patch, go-inovation/neutral-poed.py apaga o texto "POed" (nome de um jogo comercial) do sprite do item "Po'ed" nas folhas de # imagens (color e mono) e poe um icone neutro no lugar. # # Saida: artifacts/build/go-inovation-d53d47a/{go-inovation.wasm,wasm_exec.js,go-inovation-licenses.txt}; dois builds seguidos dao os # mesmos bytes. set -euo pipefail COMMIT=d53d47a7cde7f50089e51cac123b9adec1e0e341 SHA256=caf919ec6806755937ca789b136cd4d08842c5660d4c46a4af802a840ffa080f 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/go-inovation-${COMMIT:0:7}" tgz="$cache/go-inovation-${COMMIT:0:7}.tar.gz" fetch "https://github.com/hajimehoshi/go-inovation/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" patch -p1 -E --no-backup-if-mismatch < "$here/go-inovation/go-inovation-fredygames.patch" >/dev/null python3 -I "$here/go-inovation/neutral-poed.py" ino/internal/assets/images/color/ino.png ino/internal/assets/images/mono/ino.png go_build_wasm "$out/go-inovation.wasm" go_licenses "$out/go-inovation-licenses.txt" "Go-inovation" cd "$root" rm -rf "$out/tree" ls -l "$out" shasum -a 256 "$out/go-inovation.wasm" "$out/wasm_exec.js"