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:
2026-03-10 01:54:53 +00:00
parent 0fe632e1b5
commit 97ff83a246
+169
View File
@@ -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
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------