#!/bin/bash
# Sentinel Game Runner
# Launches Godot game in windowed dev mode
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="${GODOT_PROJECT_ROOT:-$(dirname "$SCRIPT_DIR")/game}"
if [ ! -d "$PROJECT_ROOT" ]; then
echo "โ Project root not found: $PROJECT_ROOT"
echo "Set GODOT_PROJECT_ROOT environment variable or ensure ../game exists"
exit 1
fi
if [ ! -f "$PROJECT_ROOT/project.godot" ]; then
echo "โ Not a Godot project: $PROJECT_ROOT"
exit 1
fi
# Parse command line arguments
SCENE=""
WINDOWED=true
DEBUG=false
while [[ $# -gt 0 ]]; do
case $1 in
-s|--scene)
SCENE="$2"
shift 2
;;
-f|--fullscreen)
WINDOWED=false
shift
;;
-d|--debug)
DEBUG=true
shift
;;
-h|--help)
echo "Usage: $0 [options]"
echo "Options:"
echo " -s, --scene SCENE Launch specific scene"
echo " -f, --fullscreen Launch in fullscreen mode"
echo " -d, --debug Launch with debug output"
echo " -h, --help Show this help"
exit 0
;;
*)
echo "โ Unknown option: $1"
exit 1
;;
esac
done
echo "๐ฎ Starting Godot game..."
echo "๐ Project: $PROJECT_ROOT"
cd "$PROJECT_ROOT"
# Build godot command
GODOT_CMD="godot"
GODOT_ARGS=""
# Add scene if specified
if [ ! -z "$SCENE" ]; then
echo "๐ฌ Scene: $SCENE"
GODOT_ARGS="$GODOT_ARGS --scene $SCENE"
fi
# Add windowed mode (default for development)
if [ "$WINDOWED" = true ]; then
GODOT_ARGS="$GODOT_ARGS --windowed"
fi
# Add debug flags if requested
if [ "$DEBUG" = true ]; then
GODOT_ARGS="$GODOT_ARGS --verbose --debug"
fi
# Launch game
echo "๐ Launching: $GODOT_CMD $GODOT_ARGS"
exec $GODOT_CMD $GODOT_ARGS