mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-23 15:52:41 +02:00
40 lines
1.1 KiB
Bash
40 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
# Create user data directories if necessary
|
|
userdirs=( roms saves mods )
|
|
for path in "${userdirs[@]}"; do
|
|
if [ ! -d "${XDG_DATA_HOME}/${path}" ]; then
|
|
mkdir -p "${XDG_DATA_HOME}/${path}"
|
|
fi
|
|
done
|
|
|
|
# Default to pd as executable but switch to jpn/pal if the NTSC rom
|
|
# is missing but JPN/PAL are present.
|
|
# TODO: Other arch
|
|
executable="pd.x86_64"
|
|
if [ -f ${XDG_DATA_HOME}/roms/pd.ntsc-final.z64 ] | \
|
|
[ -f ${XDG_DATA_HOME}/roms/pd.ntsc-1.0.z64 ]; then
|
|
executable="pd.x86_64"
|
|
elif [ -f ${XDG_DATA_HOME}/roms/pd.jpn-final.z64 ]; then
|
|
executable="pd.jpn.x86_64"
|
|
elif [ -f ${XDG_DATA_HOME}/roms/pd.pal-final.z64 ]; then
|
|
executable="pd.pal.x86_64"
|
|
fi
|
|
|
|
# If first parameter passed to this script is one of the pd executables,
|
|
# run that regardless of ROM auto-detection above and pass the remaining
|
|
# parameters to it; otherwise pass all arguments to the executable selected
|
|
# above
|
|
case $1 in
|
|
"pd."*)
|
|
executable=$1
|
|
params="${@:2}"
|
|
;;
|
|
*)
|
|
params="$@"
|
|
;;
|
|
esac
|
|
|
|
# Run game
|
|
$executable --basedir ${XDG_DATA_HOME}/roms --savedir ${XDG_DATA_HOME}/saves $params
|