Game Link Profiles are XML documents that contain all of the information needed to support automatic tracking of the player (or party) position within the editor while you play a game.

A profile is made up of four parts:

  • Information to automatically identify the game (or games) the profile is designed for.
  • A list of memory addresses to read from the emulator that is hosting the game. The data at these addresses forms the data packet - described below.
  • Setup information for a compatible map (region names, floor sizes, etc.)
  • A set of 'views' that translate the data read from the emulated game into area, local co-ordinate and facing angle outputs that are used to control the Grid Cartographer avatar marker in the editor view.

Note: this book is not meant as a tutorial for creating new profiles. To see examples of existing profiles, open the file found in the installation directory. Inside this compressed archive is a gamelinkprofiles folder where you will find all of the built-in profiles.

The Data Packet

A data packet is raw data read from emulator memory at the address(es) specified by the profile. One byte of data will be read from each address and added to the packet in the order specified in the list. The elements of the packet are indexed by an offset value, starting from zero.

For example, <peek bytes="d9c6 d9c4 d9c0 d9c2" /> might generate the following packet of data:

Address (hex) D9C6h D9C4h D9C0h D9C2h
Offset 0 1 2 3
Data (hex) 07h 20h 01h F0h

NOTE: While the data may change as the player moves around and the game is played, the address list and offsets are fixed and do not change.

The packet itself is a block of raw data. It must be interpreted and assigned meaning by the <views> section of the profile.