-
Notifications
You must be signed in to change notification settings - Fork 58
Glossary
There are a few terms used throughout the documentation and application that you may want to be familiar with.
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 text or tables.
- Pointers. If you right-click on an anchor, you can see a list of pointers that point to that anchor.
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>.
Most complex data in the game is stored in tables. An table is a list of a number of elements, where each element may have multiple segments. For example, pokemon battle stats are stored in a table, with several stats stored in each element, and one element for each pokemon. In an anchor format, tables use the [] characters.
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, text uses the "" characters. In tables, text is always a fixed length, so it uses a number after the quotes to express the length of the text. For example, the data.pokemon.names
table is:
^data.pokemon.names[name""11]
Which means that each name occupies 11 bytes.
Since text can be variable-length, one byte has to be used to tell the game that the text is done. This byte, 0xFF, is represented in Hex Maniac by the closing quotation mark (").
Ctrl+Click on text will open the text tool, which provides a text-specific editing experience.