romm: add arcade (FBNeo) to populate-roms, add IGDB credentials
100 arcade titles spanning Pac-Man/Namco classics, Street Fighter, Mortal Kombat, Metal Slug, King of Fighters, Samurai Shodown, Fatal Fury, beat-em-ups (TMNT, Simpsons, X-Men), and more. Also adds IGDB_CLIENT_ID/SECRET env vars for metadata scraping.
This commit is contained in:
@@ -2,12 +2,33 @@
|
|||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
NO_INTRO_BASE="/mnt/nas_games/[No-Intro] PropeR 1G1R Collection (2024)/ROMs"
|
NO_INTRO_BASE="/mnt/nas_games/[No-Intro] PropeR 1G1R Collection (2024)/ROMs"
|
||||||
|
FBNEO_ARCADE="/mnt/nas_games/FBNeo 1.0.0.2 ROMs (split)/arcade"
|
||||||
ROMS_DEST="/mnt/nas_games/roms"
|
ROMS_DEST="/mnt/nas_games/roms"
|
||||||
|
|
||||||
extracted=0
|
extracted=0
|
||||||
skipped=0
|
skipped=0
|
||||||
not_found=0
|
not_found=0
|
||||||
|
|
||||||
|
copy_arcade() {
|
||||||
|
local src_dir="$1"
|
||||||
|
local dest_dir="$2"
|
||||||
|
local rom="$3"
|
||||||
|
|
||||||
|
if [[ -f "$dest_dir/$rom" ]]; then
|
||||||
|
echo " [SKIP] $rom"
|
||||||
|
(( skipped++ )) || true; return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -f "$src_dir/$rom" ]]; then
|
||||||
|
echo " [MISSING] $rom"
|
||||||
|
(( not_found++ )) || true; return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " [COPY] $rom"
|
||||||
|
cp "$src_dir/$rom" "$dest_dir/$rom"
|
||||||
|
(( extracted++ )) || true
|
||||||
|
}
|
||||||
|
|
||||||
extract_game() {
|
extract_game() {
|
||||||
local platform_zip="$1"
|
local platform_zip="$1"
|
||||||
local inner_prefix="$2"
|
local inner_prefix="$2"
|
||||||
@@ -400,6 +421,154 @@ else
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Arcade (FBNeo)
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
ARCADE_DEST="$ROMS_DEST/arcade"
|
||||||
|
|
||||||
|
if [[ ! -d "$FBNEO_ARCADE" ]]; then
|
||||||
|
echo "[WARN] FBNeo arcade directory not found: $FBNEO_ARCADE"
|
||||||
|
else
|
||||||
|
echo "==> Arcade (FBNeo) -> $ARCADE_DEST"
|
||||||
|
mkdir -p "$ARCADE_DEST"
|
||||||
|
|
||||||
|
ARCADE_ROMS=(
|
||||||
|
# Pac-Man / Namco classics
|
||||||
|
"pacman.zip"
|
||||||
|
"mspacman.zip"
|
||||||
|
"galaga.zip"
|
||||||
|
"galaxian.zip"
|
||||||
|
"digdug.zip"
|
||||||
|
"btime.zip"
|
||||||
|
"pengo.zip"
|
||||||
|
# Nintendo classics
|
||||||
|
"dkong.zip"
|
||||||
|
"dkongjr.zip"
|
||||||
|
"popeye.zip"
|
||||||
|
"punchout.zip"
|
||||||
|
"spnchout.zip"
|
||||||
|
# Early arcade classics
|
||||||
|
"invaders.zip"
|
||||||
|
"centiped.zip"
|
||||||
|
"frogger.zip"
|
||||||
|
"qbert.zip"
|
||||||
|
"zaxxon.zip"
|
||||||
|
"arkanoid.zip"
|
||||||
|
# Sega
|
||||||
|
"outrun.zip"
|
||||||
|
"aburner2.zip"
|
||||||
|
# Shooters / Shmups
|
||||||
|
"1942.zip"
|
||||||
|
"1943.zip"
|
||||||
|
"19xx.zip"
|
||||||
|
"gradius.zip"
|
||||||
|
"gradius2.zip"
|
||||||
|
"gradius3.zip"
|
||||||
|
"raiden.zip"
|
||||||
|
"raiden2.zip"
|
||||||
|
"contra.zip"
|
||||||
|
# Capcom beat-em-ups
|
||||||
|
"ffight.zip"
|
||||||
|
"knights.zip"
|
||||||
|
"kod.zip"
|
||||||
|
"wof.zip"
|
||||||
|
"dino.zip"
|
||||||
|
"avsp.zip"
|
||||||
|
"ddsom.zip"
|
||||||
|
"ddtod.zip"
|
||||||
|
"batcir.zip"
|
||||||
|
"msword.zip"
|
||||||
|
"strider.zip"
|
||||||
|
# Konami beat-em-ups
|
||||||
|
"tmnt.zip"
|
||||||
|
"tmnt2.zip"
|
||||||
|
"simpsons.zip"
|
||||||
|
"xmen.zip"
|
||||||
|
"captaven.zip"
|
||||||
|
"punisher.zip"
|
||||||
|
"aliens.zip"
|
||||||
|
"ssriders.zip"
|
||||||
|
# Double Dragon / Technos
|
||||||
|
"ddragon.zip"
|
||||||
|
"ddragon2.zip"
|
||||||
|
"ddragon3.zip"
|
||||||
|
# Platform / action
|
||||||
|
"ghouls.zip"
|
||||||
|
"pang.zip"
|
||||||
|
"spang.zip"
|
||||||
|
"bublbobl.zip"
|
||||||
|
"pbobble.zip"
|
||||||
|
"rbisland.zip"
|
||||||
|
"snowbros.zip"
|
||||||
|
"slammast.zip"
|
||||||
|
"gauntlet.zip"
|
||||||
|
"gaunt2.zip"
|
||||||
|
# Street Fighter
|
||||||
|
"sf2.zip"
|
||||||
|
"sf2ce.zip"
|
||||||
|
"sf2hf.zip"
|
||||||
|
"ssf2t.zip"
|
||||||
|
"sfa.zip"
|
||||||
|
"sfa2.zip"
|
||||||
|
"sfa3.zip"
|
||||||
|
"sfiii3.zip"
|
||||||
|
# Mortal Kombat
|
||||||
|
"mk.zip"
|
||||||
|
"mk2.zip"
|
||||||
|
"mk3.zip"
|
||||||
|
# Marvel / Capcom crossovers
|
||||||
|
"xmvsf.zip"
|
||||||
|
"msh.zip"
|
||||||
|
"mvsc.zip"
|
||||||
|
"nwarr.zip"
|
||||||
|
# King of Fighters
|
||||||
|
"kof94.zip"
|
||||||
|
"kof95.zip"
|
||||||
|
"kof96.zip"
|
||||||
|
"kof97.zip"
|
||||||
|
"kof98.zip"
|
||||||
|
"kof99.zip"
|
||||||
|
"kof2000.zip"
|
||||||
|
"kof2001.zip"
|
||||||
|
"kof2002.zip"
|
||||||
|
"kof2003.zip"
|
||||||
|
# Fatal Fury / Garou
|
||||||
|
"fatfury1.zip"
|
||||||
|
"fatfury2.zip"
|
||||||
|
"fatfursp.zip"
|
||||||
|
"fatfury3.zip"
|
||||||
|
"rbff1.zip"
|
||||||
|
"rbff2.zip"
|
||||||
|
"garou.zip"
|
||||||
|
# Samurai Shodown
|
||||||
|
"samsho.zip"
|
||||||
|
"samsho2.zip"
|
||||||
|
"samsho3.zip"
|
||||||
|
"samsho4.zip"
|
||||||
|
"samsho5.zip"
|
||||||
|
# Metal Slug
|
||||||
|
"mslug.zip"
|
||||||
|
"mslug2.zip"
|
||||||
|
"mslug3.zip"
|
||||||
|
"mslug4.zip"
|
||||||
|
"mslug5.zip"
|
||||||
|
"mslugx.zip"
|
||||||
|
# Neo Geo misc
|
||||||
|
"blazstar.zip"
|
||||||
|
"wjammers.zip"
|
||||||
|
"turfmast.zip"
|
||||||
|
"lastbld2.zip"
|
||||||
|
"rotd.zip"
|
||||||
|
"neobombe.zip"
|
||||||
|
"kabukikl.zip"
|
||||||
|
"matrim.zip"
|
||||||
|
)
|
||||||
|
|
||||||
|
for rom in "${ARCADE_ROMS[@]}"; do
|
||||||
|
copy_arcade "$FBNEO_ARCADE" "$ARCADE_DEST" "$rom"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Summary
|
# Summary
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user