Skip to content

Discoveries data

Discoveries entry data are split in 2 TextAssets in the game that are loaded on boot in SetVariables:

  • Ressources/data/DiscoveryOrder
  • Discoveries from the corresponding dialogue directory of the current languageid

DiscoveryOrder data

The asset contains one line per Discoveries entry which contains the ordered list of the entries shown in game where each entry is one line. Each line contains 2 fields separated by ,:

Name Type Description
Id Discoveries entry id The id this line refers to
Icon int Index of the sprite in Sprites/Items/EnemyPortraits

The id is loaded into libraryorder[0, id] and the icon is loaded into discoveryicons[id] where id is the Discoveries entry id.

The ordering is managed by PauseMenu and the Library List Type.

Discoveries language specific data

The asset contains one line per Discoveries entry whose id corresponds to the line index. Each line contains 2 fields separated by @:

Loaded index Name Type Description
0 Name SetText string The name of the Discoveries entry
1 Description SetText string The paginated description of the Discoveries entry

The data will be loaded into librarydata[0, id, x] where id is the Discoveries entry id and x is the loaded index.

The name of the entry is handled by the Library List Type, but the description has special handling in the pause menu. The string can contain { to delimit pages in that menu. The pause menu provides UI to only call SetText with the current page's text and a way to browse the different pages.

It is also possible to conditionally decide to not render further pages by using }flags} as delimiter instead where flags is a flags slot that must be true to process any further pages. If it's false, the preceding page of the corresponding delimiter will be the last processed page. This allows to render further details only after progress has been done in the game.