|
|
4 years ago | |
|---|---|---|
| .. | ||
| README.md | 4 years ago | |
README.md
Metadata definitions
TODO
-
Add a new category for romhacks (like releases but for romhacks) and their respective versions.
-
Decide on a file structure. This shouldn't be one giant json file, but it needs to be split in useful ways.
Image
-
A stored copy of a game's disk image. For example:
- Star Fox 64 (U) v1.2.z64
- Star Fox 64 (U) v1.2.v64
- UUID
- A unique identifier for this specific data object.
- format
- The format this image is stored in. For example: bin, iso, chd, z64, v64
- sha1sum
- The sha1sum hash of this specific image.
- release
- The release that this image was taken from.
- dump credit
- Where the hash came from, who dumped it, etc
Release
-
A single release of a game. For example: Star Fox 64 (U) v1.2
- UUID
- name
- The release's name in the language and script it was released in.
- region
- The region intended for release.
- version
- The release version of the game. Some are verison numbers, some are just sequential release numbers.
- disambiguation (can be empty)
- If this release is different in a way that isn't region or version, that information goes here.
- release group
- The UUID of release group that this release belongs to.
- platform
- The UUID of the platform that this release is built for.
Release group
-
A container for all languages and versions of a release. For example, the Star Fox 64 release group would contain all of the following releases:
- Star Fox 64 (U) v1.2
- Star Fox 64 (U) v1.0
- Star Fox 64 (J) v1.0
- Lylat Wars (E) v1.0
- UUID
- name
- The English name for the release group. This is largely for contributors to quickly understand the raw data, as frontends should ideally pull the name from a configured region or something.
Platform
-
A single set of hardware and/or software that shares compatibility. For example:
- Nintendo Entertainment System
- Microsoft Windows 7
- Microsoft Windows 98
- UUID
- name
- The English name of the platform. As with release group names, this is mostly for hand-editing data.
- regional_names
- A hash map with the keys being language identifers (en-US, jp, fr, etc) and the values being the platform's name in the language and script it was released in.
- shortcode
- A small, three-letter code for the platform. This is essentially for directory names.
Design notes
-
This spec is designed with the intent to be imported into databases while also being reasonably hand-editable for contributors.
-
Everything has a UUID because formats and hashing algorithms change, and this should be made as long-term and language-agnostic as is reasonable.
-
Releases have multiple images to account for different formats. The z64 and v64 images of the same N64 game are different files with different hashes.