2026-03-31 07:59:21 -07:00
|
|
|
#!/usr/bin/env bash
|
2026-04-17 12:35:54 -07:00
|
|
|
# Dev subcommands: play, editor, guide, screenshot.
|
|
|
|
|
#
|
|
|
|
|
# Previously this file was 546L conflating lint/format/test/verify/autoplay/
|
|
|
|
|
# dev-server into one module. It's now split:
|
|
|
|
|
# - lint.sh → cmd_lint, cmd_lint_gd/rust/ts, cmd_typecheck
|
|
|
|
|
# - format.sh → cmd_format, cmd_format_gd/rust/ts
|
|
|
|
|
# - test.sh → cmd_test, cmd_test_golden, cmd_coverage, cmd_validate
|
|
|
|
|
# - verify.sh → cmd_verify + _verify_* helpers
|
|
|
|
|
# - autoplay.sh → cmd_autoplay, cmd_autoplay_batch
|
|
|
|
|
# This file now only owns actually-"dev" workflows (launching the game/editor/guide).
|
2026-03-31 07:59:21 -07:00
|
|
|
|
|
|
|
|
cmd_play() {
|
2026-04-10 18:22:41 -07:00
|
|
|
local LOG_FILE="$REPO_ROOT/.project/logs/game_$(date +%Y%m%d_%H%M%S).log"
|
|
|
|
|
mkdir -p "$(dirname "$LOG_FILE")"
|
2026-03-31 07:59:21 -07:00
|
|
|
echo -e "${BLUE}Launching Magic Civilization...${NC}"
|
2026-04-10 18:22:41 -07:00
|
|
|
echo -e "${BLUE}Log: $LOG_FILE${NC}"
|
2026-03-31 07:59:21 -07:00
|
|
|
WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-wayland-0}" \
|
|
|
|
|
XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" \
|
2026-04-10 18:22:41 -07:00
|
|
|
$GODOT_BIN --path "$GAME_DIR" --rendering-method gl_compatibility "$@" 2>&1 | tee "$LOG_FILE"
|
|
|
|
|
local EXIT_CODE=${PIPESTATUS[0]}
|
|
|
|
|
if [ $EXIT_CODE -ne 0 ]; then
|
|
|
|
|
echo -e "\n${RED}Game exited with code $EXIT_CODE${NC}"
|
|
|
|
|
echo -e "${RED}Crash log: $LOG_FILE${NC}"
|
|
|
|
|
tail -20 "$LOG_FILE" | grep -E "SCRIPT ERROR|ERROR:|Crash|FATAL|at:" | head -10
|
|
|
|
|
fi
|
2026-03-31 07:59:21 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cmd_editor() {
|
|
|
|
|
echo -e "${BLUE}Opening Godot editor...${NC}"
|
|
|
|
|
WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-wayland-0}" \
|
|
|
|
|
XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}" \
|
|
|
|
|
$GODOT_BIN --path "$GAME_DIR" -e --rendering-method gl_compatibility "$@" &
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cmd_guide() {
|
|
|
|
|
echo -e "${BLUE}Starting guide dev server (port 5800)...${NC}"
|
|
|
|
|
pnpm --prefix "$GUIDE_DIR" dev
|
|
|
|
|
}
|
2026-04-15 07:37:00 -07:00
|
|
|
|
2026-04-17 12:35:54 -07:00
|
|
|
cmd_screenshot() {
|
|
|
|
|
"$REPO_ROOT/tools/screenshot.sh" "$@"
|
2026-04-15 07:37:00 -07:00
|
|
|
}
|