initial commit
This commit is contained in:
commit
e4c1549a42
|
@ -0,0 +1,141 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
rom_dir=$(echo "$1" | sed -e 's/\/$//')
|
||||
sys_type="$(basename "$rom_dir")"
|
||||
|
||||
case "$sys_type" in
|
||||
'nes')
|
||||
rom_ext="nes"
|
||||
core_path="/tmp/cores/fceumm_libretro.so"
|
||||
core_name="Nintendo - NES / Famicom (FCEUmm)"
|
||||
db_name="Nintendo - Nintendo Entertainment System.lpl"
|
||||
;;
|
||||
'atari2600')
|
||||
rom_ext="a26"
|
||||
core_path="/tmp/cores/stella_libretro.so"
|
||||
core_name="Atari - 2600 (Stella)"
|
||||
db_name="Atari - 2600.lpl"
|
||||
;;
|
||||
'atarilynx')
|
||||
rom_ext="lnx"
|
||||
core_path="/tmp/cores/handy_libretro.so"
|
||||
core_name="Atari - Lynx (Handy)"
|
||||
db_name="Atari - Lynx.lpl"
|
||||
;;
|
||||
'arcade')
|
||||
rom_ext="zip"
|
||||
core_path="/tmp/cores/mame2003_plus_libretro.so"
|
||||
core_name="Arcade (MAME 2003-Plus)"
|
||||
db_name="MAME 2003-Plus.lpl"
|
||||
;;
|
||||
'pcengine')
|
||||
rom_ext="pce"
|
||||
core_path="/tmp/cores/mednafen_supergrafx_libretro.so"
|
||||
core_name="NEC - PC Engine SuperGrafx (Beetle SuperGrafx)"
|
||||
db_name="NEC - PC Engine - TurboGrafx 16.lpl"
|
||||
;;
|
||||
'gba')
|
||||
rom_ext="gba"
|
||||
core_path="/tmp/cores/mgba_libretro.so"
|
||||
core_name="Nintendo - Game Boy Advance (mGBA)"
|
||||
db_name="Nintendo - Game Boy Advance.lpl"
|
||||
;;
|
||||
'gbc')
|
||||
rom_ext="gbc"
|
||||
core_path="/tmp/cores/gambatte_libretro.so"
|
||||
core_name="Nintendo - Game Boy / Color (Gambatte)"
|
||||
db_name="Nintendo - Game Boy Color.lpl"
|
||||
;;
|
||||
'gb')
|
||||
rom_ext="gb"
|
||||
core_path="/tmp/cores/gambatte_libretro.so"
|
||||
core_name="Nintendo - Game Boy / Color (Gambatte)"
|
||||
db_name="Nintendo - Game Boy.lpl"
|
||||
;;
|
||||
'n64')
|
||||
rom_ext="z64"
|
||||
core_path="/tmp/cores/mupen64plus_next_libretro.so"
|
||||
core_name="Nintendo - Nintendo 64 (Mupen64Plus-Next)"
|
||||
db_name="Nintendo - Nintendo 64.lpl"
|
||||
;;
|
||||
'snes')
|
||||
rom_ext="sfc"
|
||||
core_path="/tmp/cores/snes9x_libretro.so"
|
||||
core_name="Nintendo - SNES / SFC (Snes9x - Current)"
|
||||
db_name="Nintendo - Super Nintendo Entertainment System.lpl"
|
||||
;;
|
||||
'ngpc')
|
||||
rom_ext="ngc"
|
||||
core_path="/tmp/cores/mednafen_ngp_libretro.so"
|
||||
core_name="SNK - Neo Geo Pocket / Color (Beetle NeoPop)"
|
||||
db_name="SNK - Neo Geo Pocket Color.lpl"
|
||||
;;
|
||||
'gamegear')
|
||||
rom_ext="gg"
|
||||
core_path="/tmp/cores/genesis_plus_gx_libretro.so"
|
||||
core_name="Sega - MS/GG/MD/CD (Genesis Plus GX)"
|
||||
db_name="Sega - Game Gear.lpl"
|
||||
;;
|
||||
'mastersystem')
|
||||
rom_ext="sms"
|
||||
core_path="/tmp/cores/genesis_plus_gx_libretro.so"
|
||||
core_name="Sega - MS/GG/MD/CD (Genesis Plus GX)"
|
||||
db_name="Sega - Master System - Mark III.lpl"
|
||||
;;
|
||||
'megadrive')
|
||||
rom_ext="md"
|
||||
core_path="/tmp/cores/genesis_plus_gx_libretro.so"
|
||||
core_name="Sega - MS/GG/MD/CD (Genesis Plus GX)"
|
||||
db_name="Sega - Mega Drive - Genesis.lpl"
|
||||
;;
|
||||
*)
|
||||
echo "Don't recognize system for roms in $sys_type directory..."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
cat > temp.json <<EOF
|
||||
{
|
||||
"version": "1.5",
|
||||
"default_core_path": "$core_path",
|
||||
"default_core_name": "$core_name",
|
||||
"base_content_directory": ".com/assets/cores/.index-dirs",
|
||||
"label_display_mode": 0,
|
||||
"right_thumbnail_mode": 0,
|
||||
"left_thumbnail_mode": 0,
|
||||
"sort_mode": 0,
|
||||
"items": [
|
||||
EOF
|
||||
|
||||
echo "Reading roms from $rom_dir/*.$rom_ext..."
|
||||
comma=
|
||||
for rom in "$rom_dir"/*."$rom_ext"; do
|
||||
rom_file="$(basename "$rom" | sed 's/"/\\"/g')"
|
||||
if [ "$sys_type" = "arcade" ]; then
|
||||
mame_name="${rom_file%.$rom_ext}"
|
||||
rom_label="$(jq -r '.[] | select(.name=="'"$mame_name"'") | .description' mame2003plusdb.json | sed 's/\( ([^)]\+)\)*$//')"
|
||||
else
|
||||
rom_label="$(echo "$rom_file" | sed -e 's/\( ([^)]\+)\)*\.[^.]\+$//')"
|
||||
fi
|
||||
rom_path="/storage/roms/$sys_type/$rom_file"
|
||||
cat >> temp.json <<EOF
|
||||
$comma{
|
||||
"path": "$rom_path",
|
||||
"label": "$rom_label",
|
||||
"core_path": "$core_path",
|
||||
"core_name": "$core_name",
|
||||
"crc32": "DETECT",
|
||||
"db_name": "$db_name"
|
||||
}
|
||||
EOF
|
||||
comma=','
|
||||
done
|
||||
|
||||
cat >> temp.json <<EOF
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
if jq . temp.json > "$db_name"; then
|
||||
rm temp.json
|
||||
fi
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue