https://gitlab.synchro.net/main/sbbs/-/commit/c7f8c479d1bfafc0bd49accc
Modified Files:
exec/load/syncretro_lib.js syncretro_lobby.js
Log Message:
syncretro: strip cataloging tags from the titles, and page with the nav keys
The NES sets are named to the No-Intro/GoodNES convention, which staples cataloging tags onto the filename -- "Super Mario Bros. (World).nes", "Castlevania (USA) (Rev 1).nes", "Excitebike (U) [!].nes". The lobby drew
them verbatim, so every line carried noise the player did not ask for.
The tags now come off the displayed title. They are NOT discarded, because
they are the only thing telling two otherwise-identical entries apart:
"Contra (USA)" and "Contra (Europe)" are different dumps (NTSC vs a 50 Hz
PAL conversion), and the variant collapse -- which keys on title, year and publisher and HIDES the losers -- would have folded them onto one key and silently dropped one from the picker. So a tag is parsed out of the title,
kept on the entry, made part of the collapse key, and put back on screen
only for the entries that would otherwise render identically.
A tag is recognized by CONTENT, not position: known region words, language codes, GoodNES letter codes, and status/revision words, each alone or in a comma list. Anything else in a trailing parenthetical is part of the title
and stays -- so "Adventure (AD&D - Cloudy Mountain) (1982) (Mattel).int"
and the rest of the Intellivision naming are untouched.
The same collision rule fixes an older wart it did not cause: two different PORTS of one game -- "Pac-Man (1983) (Atarisoft)" and "Pac-Man (1983) (Intv Corp)" -- are deliberately both kept by the collapse, and have always drawn
as two identical "Pac-Man (1983)" lines. When a colliding entry has no tag,
its publisher now does the job.
Paging: Enter and PgDn advance like N, PgUp goes back like P, Home and End
jump to the first and last page. PgUp is safe to bind even though it
translates to CTRL_P, the BBS's node-message hotkey: the terminal layer
turns the escape sequence into the key code and returns before inkey() sees
its Ctrl-P case, so only a literally typed Ctrl-P pages a node.
The ROM cache stores sizes and hashes, not titles, so no cache is stale.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net