6 Commits
Author SHA1 Message Date
ginnoirandClaude Opus 4.8 ae56d101b7 refactor: standardize hack filenames to [Hack] and flatten to platform root
Switch the library naming convention from "Pokemon - <Name> (Hack)" to
"Pokemon - <Name> [Hack][version][tags]", and place hacks in the platform
root (roms/<plat>/) instead of a Hacks/ subfolder. Applied across the live
valhalla library (272 hack/fan-game files) via scripts/standardize-names.py.

- romhack-import.py / romhack-fetch.py: emit [Hack], write to roms/<plat>/
- romhack-pc-migrate.py: emit [Hack]
- build-romhack-vault.py (archived): update documented library_path
- standardize-names.py: new one-shot, self-fetching standardizer (idempotent;
  pipes \n-only bytes over SSH to avoid Windows CRLF corrupting filenames)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 18:08:31 -05:00
ginnoir 84cc6f5d04 feat: add Playnite setup script for PC windows hacks
Registers the Game.exe launcher emulator and RomM pc_windows mapping with AutoExtract.
2026-06-23 00:17:07 -05:00
ginnoir 2ebc2cb276 feat: add PC fan-game migration tooling for RomM windows platform
Place RPG-Maker/Essentials hacks into RomM's windows library with dry-run migration, Playnite Game.exe launcher, and Ludusavi save-path manifest.
2026-06-23 00:09:44 -05:00
ginnoir dd26aafc42 feat(vault): synthesize Discord scrape + web research into the ROM-hack catalog
Enrich the Obsidian ROM-hack vault from the valhalla Discord scrape
(/storage1/labdata/romhacks/metadata) plus web research, growing the catalog
from 285 to 368 notes and preparing a data export for a wiki site.

Tooling (all dry-run by default, --apply to write; .scrape/ is gitignored):
- scrape_match.py    reconcile scrape entries vs notes (43 overlap / 211 match / 83 new)
- enrich_vault.py    backfill frontmatter, merge scrape into curated notes,
                     create 83 new notes, rebuild import bodies to one layout
- enrich_web.py      apply hand/web-verified facts from .scrape/web_facts*.json
- build-wiki-data.py export wiki/catalog.json (the site data source)

Results: 368 notes, 327 with served banner art, 332 rich summaries, 200 with
feature lists; new frontmatter developer/release_date/banner/homepage/scrape_dir;
12 flagship hacks web-verified. wiki/SPEC.md describes the site build.
build-vault-mocs.py Index callout updated for the new counts.
2026-06-08 20:10:59 -05:00
ginnoir ab7c746df3 refactor: notes live in the Obsidian vault, repo is tooling-only
Per the standing rule that Obsidian notes belong in the self-hosted vault, not
in project folders:

- rm pokemon-romhack-vault/ (redundant generated snapshot; the canonical,
  richer catalog lives in the vault under Pokémon ROM Hacks/)
- pokemon-romhacks-wanted.md -> moved into the vault as Pokémon ROM Hacks/Wanted.md
- .gitignore: ignore pokemon-romhack-vault/ (build script output) so a poorer
  regenerated copy can never be committed back
- build-romhack-vault.py: marked ARCHIVED; vault is now hand-maintained via MCP
- README: rewritten to point at the vault for the catalog
2026-06-06 15:44:23 -05:00
ginnoir e59cc361d0 feat: spin off Pokémon ROM-hack catalog from homelabstack
Curated knowledge base + pipeline for the valhalla Pokémon ROM-hack
collection, moved out of the homelabstack infra repo on 2026-06-06 so that
repo stays focused on the homelab.

- pokemon-romhack-vault/      Obsidian vault: 75 hack notes + Index/Types/Platform MOCs (generated by build-romhack-vault.py)
- scripts/                    build-romhack-vault, romhack-import/fetch/apply
- pokemon-romhacks-wanted.md  manual-acquisition list (gated hacks)
- drop/                       gitignored ~1.3GB binary staging area

The ROMs live on valhalla (/storage1/Emulation) served by the RomM stack,
which stays in homelabstack (stacks/roms).
2026-06-06 15:32:47 -05:00