38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/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"
|