mirror of
https://github.com/dragoonDorise/EmuDeck.git
synced 2025-06-25 00:03:36 -04:00
220 lines
4.4 KiB
Bash
220 lines
4.4 KiB
Bash
#!/bin/bash
|
|
|
|
romParser_RA_download(){
|
|
local romName=$1
|
|
local system=$2
|
|
local type=$3
|
|
|
|
case "$type" in
|
|
"screenshots")
|
|
RA_folder="Named_Snaps"
|
|
|
|
;;
|
|
*)
|
|
RA_folder="Named_Boxarts"
|
|
;;
|
|
esac
|
|
|
|
FILE=$romsPath/$system/media/$type/$romName.png
|
|
if [ -f "$FILE" ]; then
|
|
echo -e "Image already exists, ${YELLOW}ignoring${NONE}"
|
|
else
|
|
status=$(wget --spider "http://thumbnails.libretro.com/$remoteSystem/$RA_folder/$romName.png" 2>&1)
|
|
if [[ $status == *"image/png"* ]] || [[ $status == *"image/jpeg"* ]] || [[ $status == *"image/jpg"* ]]; then
|
|
wget -q --show-progress "http://thumbnails.libretro.com/$remoteSystem/$RA_folder/$romName.png" -P "$romsPath/$system/media/$type/" |
|
|
zenity --progress \
|
|
--title="EmuDeck RetroArch Parser" \
|
|
--text="Downloading artwork for $system..." \
|
|
--auto-close \
|
|
--pulsate \
|
|
else
|
|
echo -e "Image not found: $romName $type..."
|
|
fi
|
|
fi
|
|
}
|
|
|
|
romParser_RA_getAlias(){
|
|
case $1 in
|
|
atari2600)
|
|
remoteSystem="Atari - 2600"
|
|
;;
|
|
atari5200)
|
|
remoteSystem="Atari - 5200"
|
|
;;
|
|
atari7800)
|
|
remoteSystem="Atari - 7800"
|
|
;;
|
|
lynx)
|
|
remoteSystem="Atari - Lynx"
|
|
;;
|
|
doom)
|
|
remoteSystem="DOOM"
|
|
;;
|
|
dos)
|
|
remoteSystem="DOS"
|
|
;;
|
|
fbneo)
|
|
remoteSystem="FBNeo - Arcade Games"
|
|
;;
|
|
pcengine)
|
|
remoteSystem="NEC - PC Engine - TurboGrafx 16"
|
|
;;
|
|
pcenginecd)
|
|
remoteSystem="NEC - PC Engine CD - TurboGrafx-CD"
|
|
;;
|
|
gb)
|
|
remoteSystem="Nintendo - Game Boy"
|
|
;;
|
|
gba)
|
|
remoteSystem="Nintendo - Game Boy Advance"
|
|
;;
|
|
gbc)
|
|
remoteSystem="Nintendo - Game Boy Color"
|
|
;;
|
|
gc)
|
|
remoteSystem="Nintendo - GameCube"
|
|
;;
|
|
3ds)
|
|
remoteSystem="Nintendo - Nintendo 3DS"
|
|
;;
|
|
n64)
|
|
remoteSystem="Nintendo - Nintendo 64"
|
|
;;
|
|
nds)
|
|
remoteSystem="Nintendo - Nintendo DS"
|
|
;;
|
|
nes)
|
|
remoteSystem="Nintendo - Nintendo Entertainment System"
|
|
;;
|
|
pokemini)
|
|
remoteSystem="Nintendo - Pokemon Mini"
|
|
;;
|
|
snes)
|
|
remoteSystem="Nintendo - Super Nintendo Entertainment System"
|
|
;;
|
|
wii)
|
|
remoteSystem="Nintendo - Wii"
|
|
;;
|
|
neogeo)
|
|
remoteSystem="SNK - Neo Geo"
|
|
;;
|
|
neogeocd)
|
|
remoteSystem="SNK - Neo Geo CD"
|
|
;;
|
|
ngp)
|
|
remoteSystem="SNK - Neo Geo Pocket"
|
|
;;
|
|
ngpc)
|
|
remoteSystem="SNK - Neo Geo Pocket Color"
|
|
;;
|
|
scummvm)
|
|
remoteSystem="ScummVM"
|
|
;;
|
|
sega32x)
|
|
remoteSystem="Sega - 32X"
|
|
;;
|
|
dreamcast)
|
|
remoteSystem="Sega - Dreamcast"
|
|
;;
|
|
gamegear)
|
|
remoteSystem="Sega - Game Gear"
|
|
;;
|
|
mastersystem)
|
|
remoteSystem="Sega - Master System - Mark III"
|
|
;;
|
|
genesis)
|
|
remoteSystem="Sega - Mega Drive - Genesis"
|
|
;;
|
|
genesiswide)
|
|
remoteSystem="Sega - Mega Drive - Genesis"
|
|
;;
|
|
|
|
segacd)
|
|
remoteSystem="Sega - Mega-CD - Sega CD"
|
|
;;
|
|
saturn)
|
|
remoteSystem="Sega - Saturn"
|
|
;;
|
|
psx)
|
|
remoteSystem="Sony - PlayStation"
|
|
;;
|
|
ps2)
|
|
remoteSystem="Sony - PlayStation 2"
|
|
;;
|
|
psp)
|
|
remoteSystem="Sony - PlayStation Portable"
|
|
;;
|
|
3do)
|
|
remoteSystem="The 3DO Company - 3DO"
|
|
;;
|
|
amstradcpc)
|
|
remoteSystem="Amstrad - CPC"
|
|
;;
|
|
atarist)
|
|
remoteSystem="Atari - ST"
|
|
;;
|
|
colecovision)
|
|
remoteSystem="Coleco - ColecoVision"
|
|
;;
|
|
intellivision)
|
|
remoteSystem="Mattel - Intellivision"
|
|
;;
|
|
lutro)
|
|
remoteSystem="Lutro"
|
|
;;
|
|
msx)
|
|
remoteSystem="Microsoft - MSX"
|
|
;;
|
|
tic80)
|
|
remoteSystem="TIC-80"
|
|
;;
|
|
vectrex)
|
|
remoteSystem="GCE - Vectrex"
|
|
;;
|
|
zxspectrum)
|
|
remoteSystem="Sinclair - ZX Spectrum"
|
|
;;
|
|
*)
|
|
#echo -n "unknown"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
romParser_RA_start(){
|
|
echo -e "${BOLD}Starting RetroArch Thumbnails Scraper...${NONE}"
|
|
for systemPath in $romsPath/*;
|
|
do
|
|
system=$(echo "$systemPath" | sed 's/.*\/\([^\/]*\)\/\?$/\1/')
|
|
|
|
if [[ "$systemPath" == *tx* ]]; then
|
|
break
|
|
fi
|
|
|
|
#Getting roms
|
|
i=0
|
|
for romPath in $systemPath/*;
|
|
do
|
|
#Validating
|
|
if [ -f "$romPath" ] && [ "$(basename "$romPath")" != ".*" ] && [[ "$romPath" != *".tx" ]] && [[ "$(basename "$romPath")" != *".exe" ]] && [[ "$(basename "$romPath")" != *".conf" ]] && [[ "$(basename "$romPath")" != *".xml" ]]; then
|
|
|
|
#Cleaning rom directory
|
|
romfile=$(echo "$romPath" | sed 's/.*\/\([^\/]*\)\/\?$/\1/')
|
|
romName=$(basename "$romfile" .zip)
|
|
|
|
if [ $i = 96 ]; then
|
|
i=95
|
|
fi
|
|
|
|
#We get the folder RA uses
|
|
romParser_RA_getAlias $system
|
|
romParser_RA_download "$romName" $system "screenshot"
|
|
romParser_RA_download "$romName" $system "covers"
|
|
|
|
((i++))
|
|
fi
|
|
done
|
|
|
|
done
|
|
|
|
echo -e "${GREEN}RetroArch Parser completed!${NONE}"
|
|
}
|