36 lines
999 B
Bash
Executable File
36 lines
999 B
Bash
Executable File
#!/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/<room>/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" "$@"
|