Fleshed out metadata definitions.
parent
5125dcf247
commit
e467a483f9
@ -1,41 +0,0 @@
|
|||||||
# Metadata definitions
|
|
||||||
## Release
|
|
||||||
- A single release of a game. For example: Star Fox 64 (U) v1.2
|
|
||||||
|
|
||||||
* UUID
|
|
||||||
* sha1sum
|
|
||||||
* format (For now this is just the file extension)
|
|
||||||
* region
|
|
||||||
* version
|
|
||||||
* disambiguation
|
|
||||||
* release group
|
|
||||||
|
|
||||||
## Release group
|
|
||||||
- A container for all versions of a release.
|
|
||||||
For example, the Star Fox 64 release group would contain:
|
|
||||||
Star Fox 64 (U) v1.2
|
|
||||||
Star Fox 64 (U) v1.0
|
|
||||||
Star Fox 64 (J) v1.0
|
|
||||||
etc.
|
|
||||||
|
|
||||||
* UUID
|
|
||||||
* name
|
|
||||||
* platform
|
|
||||||
|
|
||||||
## Platform
|
|
||||||
- A single set of hardware and/or software that shares compatibility
|
|
||||||
Examples:
|
|
||||||
Nintendo Entertainment System
|
|
||||||
Microsoft Windows 7
|
|
||||||
Microsoft Windows 98
|
|
||||||
|
|
||||||
* UUID
|
|
||||||
* name
|
|
||||||
* shortcode
|
|
||||||
|
|
||||||
## DAT credits
|
|
||||||
- A large list of hashes imported from other sources.
|
|
||||||
* DAT name
|
|
||||||
* DAT website
|
|
||||||
* DAT version
|
|
||||||
* image UUID list
|
|
||||||
@ -0,0 +1,83 @@
|
|||||||
|
# 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.
|
||||||
Loading…
Reference in New Issue