Skip to content

Glossary

haven1433 edited this page Jan 17, 2019 · 5 revisions

There are a few terms used throughout the documentation and application that you may want to be familiar with.

Anchor

An Anchor is a mark on the data (^) that means that this location is the start of some new data. An anchor may have additional information associated with it:

  • A unique name or path. You can use Ctrl+G or Goto in the menu to jump to anchors using their name. Pointers that point to the anchor will also use the anchor's name to make them easy to recognize.
  • A format. A format attached to an anchor is how the program knows how to interpret complex data like strings or arrays.
  • Pointers. If you right-click on an anchor, you can see a list of pointers that point to that anchor.

Array

Most complex data in the game is stored in arrays. An array is a list of a number of elements, where each element may have multiple segments. For example, pokemon battle stats are stored in an array, with several stats stored in each element, and one element for each pokemon. In an anchor format, arrays use the [] characters.

Pointer

A set of 4 bytes in the game that store an address. Usually this lets some part of the data reference some other data, like linking to pokemon stats or names. It can also be used to let a fixed-length element use a variable length element, like how every pokedex entry needs a description, but not all descriptions are the same length. In the data, Pointers are underlined, highlighted in Blue, and wrapped in angle braces (<>). For example, the 4 bytes

56 34 12 08

would be interpreted as the pointer <123456>.

String

A variable-length set of bytes that represent characters displayed to the player. For example, "The water is dyed a deep blue."

In an anchor format, strings use the "" characters. In arrays, strings are always a fixed length, so they use a number after the quotes to express the length of the string. For example, the pokenames array is:

^pokenames[name""11]

Which means that each name occupies 11 bytes.

Since strings are variable-length, one byte has to be used to tell the game that the string is over. This byte, 0xFF, is representing in the editor by the closing quotation mark (").

In the editor, strings are drawn in violet. Ctrl+Click on a string will open a string-specific editing experience.

Clone this wiki locally