#!/bin/bash # Start a built room by dispatching to its own ctrl/start.sh in gen/. # # Usage: # ./ctrl/start.sh # standalone, foreground # ./ctrl/start.sh amar -d # amar, detached # ./ctrl/start.sh sample --build # flags pass straight through # # Every room ships its own start script (gen//ctrl/start.sh) and stays # runnable on its own — this only saves cd'ing there and picks the default room. set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(dirname "$SCRIPT_DIR")" ROOM="standalone" if [[ $# -gt 0 && "$1" != -* ]]; then ROOM="$1" shift fi ROOM_DIR="$ROOT_DIR/gen/$ROOM" if [[ ! -d "$ROOM_DIR" ]]; then echo "Room '$ROOM' is not built — run: ./ctrl/build.sh $ROOM" >&2 exit 1 fi if [[ ! -x "$ROOM_DIR/ctrl/start.sh" ]]; then echo "No start script at gen/$ROOM/ctrl/start.sh" >&2 echo "(rebuild the room, or start it by hand from $ROOM_DIR)" >&2 exit 1 fi exec "$ROOM_DIR/ctrl/start.sh" "$@"