distribution/packages/games/emulators/scummvmsa/sources/start_scummvm.sh
2022-04-01 08:39:48 -04:00

68 lines
1.6 KiB
Bash

#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert)
# Source predefined functions and variables
. /etc/profile
CONFIG_DIR="/storage/.config/scummvm"
ROMSPATH="/storage/roms"
BIOSPATH="${ROMSPATH}/bios"
RATMPCONF="/storage/.config/retroarch/retroarch.cfg"
shopt -s extglob
if [[ "$1" =~ ?(add|create|libretro) ]]
then
GAME="$2"
else
GAME="$1"
fi
if [ ! -d "${CONFIG_DIR}/games" ]
then
mkdir -p "${CONFIG_DIR}/games"
fi
create_svm(){
/usr/bin/scummvm --list-targets | tail -n +4 | cut -d " " -f 1 | \
while read line
do
id=($line);
filename=$(grep -A7 "\[$id\]" ${CONFIG_DIR}/scummvm.ini | \
awk 'BEGIN {FS="="}; /description/ {printf $2}' | \
sed -e 's# (.*)# ('${id}')#g' -e "s#'##g" -e "s#: # - #g" \
)
SVMPATH="$(grep -A7 "\[$id\]" ${CONFIG_DIR}/scummvm.ini | awk 'BEGIN {FS="="}; /path/ {print $2}')"
echo '--path="'${SVMPATH}'" '${id} >"${CONFIG_DIR}/games/${filename}.scummvm"
done
}
if [ ! -d "$CONFIG_DIR" ]; then
mkdir -p $CONFIG_DIR
cp -rf /usr/config/scummvm/* $CONFIG_DIR/
fi
case $1 in
"libretro")
GAME=$(cat "${GAME}" | awk 'BEGIN {FS="\""}; {print $2}')
cd "${GAME}"
/usr/bin/retroarch -L /tmp/cores/scummvm_libretro.so --config ${RATMPCONF} .
;;
"add")
/usr/bin/scummvm --add --path="${ROMSPATH}/scummvm" --recursive
mkdir -p ${BIOSPATH}
cp $CONFIG_DIR/scummvm.ini ${BIOSPATH}/scummvm.ini
;;
"create")
create_svm
;;
*)
GAME=$(cat "${GAME}")
eval /usr/bin/scummvm --fullscreen --joystick=0 --themepath=/usr/config/scummvm/themes "${GAME}"
;;
esac