#!/bin/sh
# No arguments opens the settings app, --game runs the game, --udev prints the adapter rule.
HERE=$(dirname "$(readlink -f "$0")")
GAME="$HERE/opt/strikers"

# The mount is read-only, so strikers.ini lives in the XDG config folder and portable mode is off.
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/strikers"
mkdir -p "$CONFIG_DIR"
# The game refuses a STRIKERS_CONFIG that does not exist.
[ -f "$CONFIG_DIR/strikers.ini" ] || cp "$GAME/strikers.ini.example" "$CONFIG_DIR/strikers.ini"
export STRIKERS_CONFIG="${STRIKERS_CONFIG:-$CONFIG_DIR/strikers.ini}"
export STRIKERS_PORTABLE=0

case "$1" in
    --game)
        shift
        exec "$GAME/strikers" "$@" ;;
    --udev)
        cat "$GAME/51-gamecube-adapter.rules"
        RULE=/etc/udev/rules.d/51-gamecube-adapter.rules
        echo "# install: $(basename "${APPIMAGE:-$0}") --udev | sudo tee $RULE" >&2
        echo "# then: sudo udevadm control --reload-rules" >&2
        exit 0 ;;
esac
exec "$GAME/strikers-settings" "$STRIKERS_CONFIG" "$@"
