- Bump @valknar/vpinball-wasm to 0.3.2 (PinMAME ROM support, MsgBox fix) - Add optional PinMAME ROM .zip upload alongside .vpx tables - Persist uploaded tables/ROMs in IndexedDB so users don't have to re-upload on later visits, with a library list on the landing page - Fix Insert Coin key mismatch with the engine's real coin-door gating (now bound to 4, matching the shared table scripts) and surface it in the controls legend and "Tap to Start" hint - Make the landing page, staging panel, and in-game HUD responsive for portrait phone widths; drop the landscape hint since portrait plays fine - Replace the separate STATS HUD toggle with an FPS row in the info panel Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N9JmzRBZenapVkFWjw9jmG
8 lines
440 B
TypeScript
8 lines
440 B
TypeScript
// PinMAME identifies a ROM by its short "game name" (e.g. "hvymetal"), not
|
|
// the table's display title — see loadRom() in @valknar/vpinball-wasm. ROM
|
|
// zips are conventionally distributed named after that game name, so it's
|
|
// derived from the uploaded zip's filename rather than asked for separately.
|
|
export function romGameNameFromFileName(fileName: string): string {
|
|
return fileName.replace(/\.zip$/i, "").trim().toLowerCase();
|
|
}
|