130 lines
3.4 KiB
Plaintext
130 lines
3.4 KiB
Plaintext
|
#!/bin/bash
|
|||
|
|
|||
|
# script to run roms from different systems in their respective emulators
|
|||
|
|
|||
|
# a functions that list all everything in a directory and gives back the chosen one
|
|||
|
choice (){
|
|||
|
(ls -1 | dmenu -l 30 -p "Choose your $system rom!")
|
|||
|
}
|
|||
|
|
|||
|
run_rom (){
|
|||
|
# cd into the given directory
|
|||
|
cd "$dir"
|
|||
|
|
|||
|
# first choice
|
|||
|
rom=$(choice)
|
|||
|
|
|||
|
# first we check if it is a single dot and if it is we exit
|
|||
|
[ "$rom" = "." ] && exit 1
|
|||
|
|
|||
|
# if rom is empty we exit
|
|||
|
[ -z "$rom" ] && exit 1
|
|||
|
|
|||
|
# run the emulator with the chosen rom
|
|||
|
gamemoderun mangohud --dlsym $emulator "$dir$rom"
|
|||
|
disown $@
|
|||
|
}
|
|||
|
|
|||
|
declare -a systems=(
|
|||
|
"Nintendo - Nintendo Entertainment System (1983-2003)"
|
|||
|
"Sega - Mega Drive - Genesis (1988–1997)"
|
|||
|
"Nintendo - Game Boy (1989-2003)"
|
|||
|
"Nintendo - Super Nintendo Entertainment System (1990-2003)"
|
|||
|
"Sony Playstation (1994–2006)"
|
|||
|
"Nintendo - Nintendo 64 (1996-2002)"
|
|||
|
"Nintendo - Game Boy Color (1998-2003)"
|
|||
|
"Sony Playstation 2 (2000–2013)"
|
|||
|
"Nintendo - Game Boy Advance (2001-2009)"
|
|||
|
"Nintendo Gamecube (2001-2009)"
|
|||
|
"Sony Playstation Portable (2004–2014)"
|
|||
|
"Nintendo DS (2004-2015)"
|
|||
|
)
|
|||
|
|
|||
|
|
|||
|
case "$(printf '%s\n' "${systems[@]}" | dmenu -l 10 -p "Chose retro console:")" in
|
|||
|
"Nintendo - Nintendo Entertainment System (1983-2003)")
|
|||
|
emulator="fceux"
|
|||
|
system="NES"
|
|||
|
dir="$HOME/Roms/Nintendo - Nintendo Entertainment System/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo - Nintendo 64 (1996-2002)")
|
|||
|
emulator="mupen64plus-gui"
|
|||
|
system="N64"
|
|||
|
dir="$HOME/Roms/Nintendo - Nintendo 64/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo - Game Boy Advance (2001-2009)")
|
|||
|
emulator="mgba-qt"
|
|||
|
system="GBA"
|
|||
|
dir="$HOME/Roms/Nintendo - Game Boy Advance/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo Gamecube (2001-2009)")
|
|||
|
emulator="dolphin-emu"
|
|||
|
system="Gamecube"
|
|||
|
dir="$HOME/Roms/Nintendo Gamecube/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Sony Playstation Portable (2004–2014)")
|
|||
|
emulator="PPSSPPSDL"
|
|||
|
system="PSP"
|
|||
|
dir="$HOME/Roms/Sony Playstation Portable/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Sony Playstation 2 (2000–2013)")
|
|||
|
emulator="pcsx2"
|
|||
|
system="PS2"
|
|||
|
dir="$HOME/Roms/Sony Playstation 2/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Sega - Mega Drive - Genesis (1988–1997)")
|
|||
|
emulator="kega-fusion"
|
|||
|
system="Genesis"
|
|||
|
dir="$HOME/Roms/Sega - Mega Drive - Genesis/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo - Game Boy (1989-2003)")
|
|||
|
emulator="mgba-qt"
|
|||
|
system="GameBoy"
|
|||
|
dir="$HOME/Roms/Nintendo - Game Boy/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo - Game Boy Color (1998-2003)")
|
|||
|
emulator="mgba-qt"
|
|||
|
system="GBC"
|
|||
|
dir="$HOME/Roms/Nintendo - Game Boy Color/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo - Super Nintendo Entertainment System (1990-2003)")
|
|||
|
emulator="snes9x-gtk"
|
|||
|
system="SNES"
|
|||
|
dir="$HOME/Roms/Nintendo - Super Nintendo Entertainment System/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Sony Playstation (1994–2006)")
|
|||
|
emulator="duckstation-nogui"
|
|||
|
system="PSX"
|
|||
|
dir="$HOME/Roms/Sony Playstation/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
"Nintendo DS (2004-2015)")
|
|||
|
emulator="melonDS"
|
|||
|
system="NDS"
|
|||
|
dir="$HOME/Roms/Nintendo DS/"
|
|||
|
run_rom
|
|||
|
exit
|
|||
|
;;
|
|||
|
esac
|