libretro / libretro/libretro-database
Several rdb entries for the same game (NES and others)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.4k
- Forks
- 877
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 24
Description
The RDB files generated from these dats often have several records for the same game, but with different metadata.
In general, one published work might exist as several distinct data files with different checksums. This means that if metadata are assigned via checksum, they only get defined for one specific dump of that content.
Looking at the NES game Xexyz as an example, both the headered and headerless roms are in the rdb thanks to no-intro. However, all the rich metadata like publisher is keyed to the headered ROM with CRC checksum 4DF8E460 ; if the headerless ROM is used instead, rdb lookups can’t easily find that info.
To brainstorm a few solutions:
Is there a way to make the crc, md5, or sha1 fields arrays instead of bins? I don’t know if the query syntax supports array membership checks, and those fields wouldn’t be indexable.
Can a c or lua converter or some other process take an RDB, and make sure all records with the same rom_name have the same metadata besides crc, sha1, and md5 fields? I don’t know how well this would work beyond NES, I haven’t looked at other databases much.
Do users of the RDB have to do their own merging of records, looking up all entries with the same rom name?
What other approaches are there that make sense?
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 by examining how the generated RDB records represent the headered and headerless Xexyz ROMs, including their CRC, MD5, SHA1, and rom_name fields. Check whether the RDB query syntax supports array membership and review any existing C or Lua conversion process; done requires an agreed approach for sharing metadata without losing distinct checksums.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, lua
- Domain
- data, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100