RobLoach / RobLoach/raylib-libretro
Games library: identify ROMs via CRC32/DAT for accurate titles + metadata
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 38
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Follow-up to the new games database (include/raylib-libretro-games.h).
Today a game's title is derived from its filename (extension stripped). Improve this with real identification.
Proposal
- Compute a hash (CRC32, and/or MD5/SHA1) per ROM during indexing; store it in the
gamestable (add acrc32/hashcolumn). - Match against No-Intro / Redump DAT files to resolve the canonical game name, region, version, and (where available) year/publisher/genre; store these as columns and show them in the Games list / a details pane.
- As a cheap interim step (no DATs), clean up display titles by stripping No-Intro tags like
(USA),(Europe),[!],(Rev 1)for display while keeping the raw filename. - Hashing GBs of ROMs is expensive: do it incrementally on the scan thread, cache by size+mtime (reuse the existing "unchanged row" fast path), and make full hashing optional/deferred.
Notes
- Foundation for box-art matching #(thumbnails) and better sorting/search.
- Roadmap: TASKS.md "CRC32-based ROM identification against No-Intro / Redump dat files" and "Game metadata display in library".
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with include/raylib-libretro-games.h and the TASKS.md entries for CRC32-based ROM identification and game metadata display. Trace the games-table indexing path, including the unchanged-row fast path, and the Games list or details pane before choosing a scoped milestone. Done should include a defined identification or title-cleanup behavior, preserved raw filenames, and matching library display and stored metadata.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- databases, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100