blob: 3626e2dfc7c6cdb70cc2e1b7105bc5ae66ecea40 (
plain) (
tree)
|
|
#!/bin/bash
# functions
function _available_options {
printf "Retroarch Launcher, cores available:\n%s" "$(sed -n '/^case/,/^esac$/p' "$0" | grep ')' | grep -v '*)' | cut -f1 -d')' | xargs)"
}
function _launch {
core_selection="$1"
rom_selection="$3"
# core_directory="$(awk -F\" '/libretro_directory/ {print $2}' "$XDG_CONFIG_HOME/retroarch/retroarch.cfg" | sed "s/\~/\$HOME/g")"
arguments=(-L "$HOME/.config/retroarch/cores/$core_selection"_libretro.so "$rom_selection" --verbose)
printf "Launching %s with %s\n" "$(basename "$rom_selection")" "$core_selection"
retroarch "${arguments[@]}"
}
# case loop
case "$1" in
2600) _launch stella "$@" ;;
3ds) _launch citra "$@" ;;
ast) _launch hatari "$@" ;;
dos) _launch dosbox_pure "$@" ;;
gb) _launch sameboy "$@" ;;
gba) _launch mgba "$@" ;;
gbc) _launch sameboy "$@" ;;
gcn) _launch dolphin "$@" ;;
mame) _launch mame "$@" ;;
n64) _launch mupen64plus_next "$@" ;;
nds) _launch melonds "$@" ;;
nes) _launch mesen "$@" ;;
nvb) _launch mednafen_vb "$@" ;;
pce) _launch mednafen_pce "$@" ;;
ps1) _launch duckstation "$@" ;;
ps2) _launch pcsx2 "$@" ;;
psp) _launch ppsspp "$@" ;;
sat) _launch mednafen_saturn "$@" ;;
sdc) _launch flycast "$@" ;;
sfc) _launch snes9x "$@" ;;
smd) _launch genesis_plus_gx "$@" ;;
wii) _launch dolphin "$@" ;;
*) _available_options &
esac
|