#!/usr/bin/env bash # Compila o Bike (jogo de moto com fisica de Daniel Langner, MIT; macroquad 0.4.12) em WebAssembly, a partir do commit # 7010c8a de github.com/2bt/bike: "cargo build --release --target wasm32-unknown-unknown" com o Cargo.lock do autor # ("--locked", Rust 1.92.0 de artifacts/tools). Sem wasm-bindgen: o macroquad roda com o mq_js_bundle.js do proprio # crate. Unica mudanca: a fonte assets/Copilme.ttf (sem licenca no repositorio) e trocada, com o mesmo nome de arquivo, # pela Chakra Petch Bold (SIL OFL 1.1) do repositorio google/fonts num commit fixo; o codigo do jogo nao muda. O # web/bike.wasm do repositorio nao e usado. A pagina (macroquad-web/index.html.in) e nossa. # # src/FredGames.Bundler/Builds/build-bike.sh # # Saida: artifacts/build/bike-7010c8a/{bike-7010c8a-dist.tar.gz,licenses.txt}; o .tar.gz sai igual em dois builds. SLUG=bike REPO=2bt/bike COMMIT=7010c8a004ea26468cbd749ba967e64a5aa81f31 SHA256=1610fce6d534d71715d14875d4171033e40010b21e307f4f627c25171b3eafb0 TOOLCHAIN=1.92.0 FONTS=45e3d5269e4a17d823f6d84470bc084dc5ae46f6 source "$(dirname "${BASH_SOURCE[0]}")/macroquad-web/common.sh" mq_init mq_fetch "https://raw.githubusercontent.com/google/fonts/$FONTS/ofl/chakrapetch/ChakraPetch-Bold.ttf" ChakraPetch-Bold-45e3d52.ttf \ 65fbf76d95651697275e19db4d717c0e95a789ddd3476478b05292104db278a0 mq_fetch "https://raw.githubusercontent.com/google/fonts/$FONTS/ofl/chakrapetch/OFL.txt" ChakraPetch-OFL-45e3d52.txt \ 13831d02389d917d22fcfa6c79f98f8acbf61d230add0e73a4d4dc5f3bfb9e56 cp "$cache/ChakraPetch-Bold-45e3d52.ttf" "$tree/assets/Copilme.ttf" rm -f "$tree/wasm/bike.wasm" mq_cargo bike mq_js 0.4.12 2da734969723b3362ac28c3e2839312f95c2f4967a972079c2a68328e8854aaf cp "$tree/target/wasm32-unknown-unknown/release/bike.wasm" "$out/dist/" mkdir -p "$out/dist/assets" cp "$tree"/assets/level*.tmj "$out/dist/assets/" sed -e "s/@TITLE@/Bike/g; s/@SLUG@/$SLUG/g; s/@WASM@/bike.wasm/g; s/@BG@/#000/g" \ "$here/macroquad-web/index.html.in" > "$out/dist/index.html" { echo "== Bike (LICENSE do repositorio, MIT)" cat "$tree/LICENSE" echo echo "== Fonte Chakra Petch Bold (google/fonts $FONTS, ofl/chakrapetch/OFL.txt), embutida no .wasm no lugar de assets/Copilme.ttf" cat "$cache/ChakraPetch-OFL-45e3d52.txt" echo echo "========================================================================" cat "$out/crates.txt" } > "$out/licenses.txt" mq_pack