#!/bin/bash # Build a room into gen/ — thin wrapper over build.py. # # Usage: # ./ctrl/build.sh # standalone -> gen/standalone/ # ./ctrl/build.sh amar # amar -> gen/amar/ # ./ctrl/build.sh all # every room under cfg/ # ./ctrl/build.sh models # only regenerate models # # build.py holds the logic; this exists so `make build` has exactly one # script to call, and so the room name is a plain argument. set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(dirname "$SCRIPT_DIR")" cd "$ROOT_DIR" PYTHON="${PYTHON:-python3}" ROOM="${1:-standalone}" case "$ROOM" in all) exec "$PYTHON" build.py --all ;; models) exec "$PYTHON" build.py --models ;; esac if [[ ! -d "cfg/$ROOM" ]]; then echo "No such room: cfg/$ROOM" >&2 echo "Available: $(find cfg -mindepth 1 -maxdepth 1 -type d -not -name '.*' -printf '%f ')" >&2 exit 1 fi # standalone is build.py's default and takes no --cfg if [[ "$ROOM" == "standalone" ]]; then exec "$PYTHON" build.py fi exec "$PYTHON" build.py --cfg "$ROOM"