summarylogtreecommitdiffstats
path: root/launch-gunpoint.sh
blob: f93b38e264f24645433ddfcc2650397aba232f34 (plain)
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
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

# This is a wrapper that works around the application's single-user design for multi-user systems.

set -e
set -u

game_dir="/opt/gunpoint"
: ${XDG_DATA_HOME:=$HOME/.local/share}
user_dir="$XDG_DATA_HOME/gunpoint"

make_user_dir() {
    echo "Creating a user directory for the game. This only needs to be done once, future runs will skip this step."

    mkdir -p "$user_dir/"

    # Read-only
    ln -s -t "$user_dir/" "$game_dir/Gunpoint" "$game_dir/Gunpoint.wad" "$game_dir/Levels" "$game_dir/Music" "$game_dir/Scripts"

    # Read/Write
    # Savegames and Settings created by game on first launch

    echo "User directory has been created."
}

launch_game() {
    cd "$user_dir"
    ./Gunpoint
}

if [ ! -f "$user_dir/Gunpoint" ]
then
    make_user_dir
fi

launch_game