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