#!/usr/bin/env bash # Compila o Lightenette (devgyurak / "Corvane contributors", Apache-2.0; todo grafico, som e musica e gerado pelo codigo do # repositorio no build, ver ASSETS.md) do repositorio github.com/devgyurak/cleancart.nds, commit d6cf498 (tag # lightenette-v0.2.0), pasta lightenette/, com o BlocksDS 1.25.0 (Builds/blocksds/) e o Makefile do proprio jogo, sem mudar o fonte. # O autor compila num container Docker do BlocksDS; aqui usamos a mesma toolchain instalada localmente (a ROM sai # diferente da do release do autor, feita com outra versao do gcc, mas igual entre os nossos dois builds). # src/FredGames.Bundler/Builds/blocksds/install-toolchain.sh # uma vez # src/FredGames.Bundler/Builds/build-lightenette.sh # Saida: artifacts/build/lightenette/lightenette-d6cf498.nds set -euo pipefail here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$here/blocksds/env.sh" export PYTHONHASHSEED=0 SOURCE_DATE_EPOCH=0 SLUG=lightenette SRC_URL=https://github.com/devgyurak/cleancart.nds/archive/d6cf498f8f9f4cb40622b32b8bf549efa8ecb265.tar.gz SRC_SHA256=8f502e5a982a0fe027ca14d0579c32dedf098ca69041e81752259d2858788167 SRC_NAME=cleancart.nds-d6cf498.tar.gz SRC_SUBDIR=lightenette NDS_NAME=lightenette.nds OUT_NAME=lightenette-d6cf498 # o bash 3.2 do macOS com "set -u" falha com a lista de audio vazia do bds_build; o jogo nao tem arquivos de audio # (o som e sintetizado), entao a busca numa pasta sem eles so passa SOURCES_AUDIO vazio ao make, que o ignora AUDIO_DIRS=arm9 bds_build a="$(shasum -a 256 "$bds_root/artifacts/build/$SLUG/$OUT_NAME.nds" | cut -d' ' -f1)" bds_build b="$(shasum -a 256 "$bds_root/artifacts/build/$SLUG/$OUT_NAME.nds" | cut -d' ' -f1)" [ "$a" = "$b" ] || { echo "Dois builds deram ROMs diferentes ($a x $b)" >&2; exit 1; } rm -rf "$bds_root/artifacts/build/$SLUG/tree" echo "$a (dois builds iguais)"