Specs: Repository Info File - edave64/Doki-Doki-Dialog-Generator GitHub Wiki

The repo.json is a file that contains meta-information about a pack. Things like what is the name people will see in the list of content packs, who made the art, what images are used to preview the pack, etc. You can think about the separation like this: All the information you can see in the content-pack list, the information that you can see before activating the pack is in the repo.json. Everything that is actually technically needed to make the pack work is in index.json.

Objects

Root

The root object of a repo.json contains these elements:

  • pack: An object of type Pack. Describes a single content pack.
  • packs: An array containing many objects of type Pack. This can not be used together with pack. You either have one, or multiple.
  • authors: An object with the arbitrary keys that represent the ID of an author, and values of type Author.

Pack

An object that describes a single content pack.

  • id: A string with the unique identifier of the pack. Must match the 'packId' in the corresponding index.json.
  • name: A string containing the title of the content pack. This is the name that will be shown to the user.
  • characters: An array of strings with the characters that this content pack involves. This uses the actual names of the characters, not their ids. Used primarily for filtering.
  • authors: A list of strings that are the ID's of people involved with making this pack. Every string in here should be a key in the authors object in the Root. Should be ordered by the size of the contribution. Can also include commissioners.
  • kind: An array of strings that describe the types of content inside this content pack. Can theoretically be anything, but currently recognized and used by DDDG are only:
    • "Backgrounds": The pack contains background images
    • "Styles": The pack contains styles for a character
    • "Sprites": The pack contains sprites. (Images that are not associated with any character)
    • "Expressions": The pack contains head images for a character
    • "Poses": The pack contains poses for a character
  • dddg1Path: An optional string with the location of the DDDG 1.5 compatible version of this packs index.json relative to the repo.json.
  • dddg2Path: An optional string with the location of the DDDG 2 compatible version of this pack relative to the repo.json. If this is not set, DDDG 2 can also load the file in dddg1Path through backwards compatibility.
  • ddcc2Path: An optional string with the location of a zip file relative to the repo.json containing a version of this pack compatible with Doki Doki Comic Club. Note that DDCC cannot read DDDG repo files, so this only for internal use. DDDG doesn't care about it.
  • description: A string with a description of the content pack. Can contain whatever you want to tell a user about this pack. Often used for more detailed credits. Can contain some HTML.
  • preview: An array of strings with image paths relative to the repo.json that will be layed on top of each other as a preview of this packs contents. Should be something that's representative of the packs contents.
  • searchWords: An array of strings with phrases that are not visible to the user but will be used as part of searches. This should contain synonyms of the words in you pack name or things that stand out about it and that users are likely to search for.

Author

An object that describes a single person. It can contain various ways to contain that person or see more things they have made.

  • reddit: A string with a reddit username. (E.g. "edave64")
  • discord: A string with a discord id.
  • github: A string with a github username.
  • twitter: A string with a twitter handle.
  • website: A string with url of the persons personal website.
  • deviantart: A string with a deviantart username.
  • pixiv: A string with a pixiv id.