summary refs log tree commit diff
path: root/pkgs/games/openra/mod-launch-game.sh
blob: 88b53e71e1bc4657941c9f4f85a5886a0d72c5b3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env bash
show_error() {
  if command -v zenity > /dev/null; then
    zenity --no-wrap --no-markup --error --title "OpenRA - @title@" --text "$1" 2>/dev/null
  else
    printf "$1\n" >&2
  fi
  exit 1
}

cd "@out@/lib/openra-@name@"

# Check for missing assets
assetsError='@assetsError@'
if [[ -n "$assetsError" && ! -d "$HOME/.openra/Content/@name@" ]]; then
  show_error "$assetsError"
fi

# Run the game
mono --debug OpenRA.Game.exe Game.Mod=@name@ Engine.LaunchPath="@out@/bin/openra-@name@" Engine.ModSearchPaths="@out@/lib/openra-@name@/mods" "$@"

# Show a crash dialog if something went wrong
if (( $? != 0 && $? != 1 )); then
  show_error $'OpenRA - @title@ has encountered a fatal error.\nPlease refer to the crash logs for more information.\n\nLog files are located in ~/.openra/Logs'
fi