Tactics Ogre: The Knight of Lodis/ROM map

From Data Crystal
< Tactics Ogre: The Knight of Lodis
Revision as of 12:24, 15 November 2022 by Vampok (talk | contribs) (Added unit list table)
Jump to navigation Jump to search

Chip tiny.png The following article is a ROM map for Tactics Ogre: The Knight of Lodis.

Overall ROM Map

Name Start End Number of Entries Size Per Entry Total Size
Hire Shop 0x622494 0x6224E3 10 8 80
Item Shop 0x6224E4 0x622583 40 4 160
Secret Shop 0x622584 0x62258B 8 1 8
Magic Shop 0x62258C 0x622617 35 4 140
Unit List 0x769130 0x76F66F 35 32 810



Data Structures

  • Some tables have unknown data bytes at the beginning/end, its possible these tables are offset from there true position.
  • Many tables have an empty entry at the beginning for 'None'. Not all tables have this taken into account yet. If a table has an odd number of entries, this is likely the case.


Hire Shop Data Structure

  • Data starts at 0x00622494 and ends at 0x006224E3 in the ROM.
  • There are 10 entries, 8 bytes in length each.
  • It's unknown how the game decides which entry to use. (e.g. Mermaids only in Rana, Giants only later in the game, random class every time, etc...)
  • There is no termination data at the end of the table. The length must be hardcoded somewhere else.
Name Length Offset Type Max Value Description
Class ID 1 0x00 uint8 0x54 Class to hire
Unknown 1 0x01 uint8 Unknown Unknown entry. Always 0
Cost 2 0x02 uint16 ?? Base cost to hire the unit
Per Level Cost 2 0x04 uint16 ?? Adds this much gold to the cost per extra level bought
Unknown 1 0x06 uint8 Unknown Unknown entry. Always 0
Unknown 1 0x07 uint8 Unknown Unknown entry. Always 0


Item Shop Data Structure

  • Data starts at 0x006224E4 and ends at 0x00622583 in the ROM.
  • There are 40 entries, 4 bytes in length each.
  • Prices are not stored in this table. They are stored in the item table.
  • The last entry is a termination of (0xff,0xff,0x00,0x00) starting at 0x622580
Name Length Offset Type Max Value Description
Availabilty 1 0x00 uint8 ?? How far into the story the item first appears in the shop
Item ID 1 0x01 uint8 0xBF Item to be sold
Unknown 1 0x02 uint8 Unknown Unknown entry. Always 0
Unknown 1 0x03 uint8 Unknown Unknown entry. Always 0


Secret Item Shop Data Structure

  • The secret shop becomes available in Scabellum after recruiting Deneb
  • Data starts at 0x00622584 and ends at 0x0062258C in the ROM.
  • There are 7 entries, 1 bytes in length each.
  • Prices are not stored in this table. They are stored in the item table.
  • The last entry is a termination of (0xff) at 0x0062258C
Name Length Offset Type Max Value Description
Item ID 1 0x01 uint8 0xBF Item to be sold


Magic Shop Data Structure

  • Magic Shop Data data starts at 0x0062258C and ends at 0x622617 in the ROM.
  • There are 35 entries, 4 bytes in length each.
  • Prices are not stored in this table. They are stored in the abilities table.
  • If the spell is set to the index of an ability, it will not appear.
  • The last entry is a termination of (0xff,0xff,0x00,0x00) starting at 0x622614
Name Length Offset Type Max Value Description
Availabilty 1 0x00 uint8 ?? How far into the story the spell first appears in the shop
Spell ID 1 0x01 uint8 0x7E Spell to be sold
Unknown 1 0x02 uint8 Unknown Unknown entry. Always 0
Unknown 1 0x03 uint8 Unknown Unknown entry. Always 0


Unit List Data Structure

  • Data starts at 0x00769130 and ends at 0x0076F66F in the ROM.
  • There are 810 entries, 32 bytes in length each.
  • This table contains the information on each unit that appears in the game
  • It is not yet known how each map determines which units appear, however the units are listed in order.
Name Length Offset Type Max Value Description
Character 1 0x00 uint8 ?? If the unit is a special character. 0x01 if they are not. See the character table for more info.
Level 1 0x01 uint8 50 Character level
Level Scaling 1 0x02 uint8 0x04 Causes level to scale based on party level (needs confirmation)
Unknown 1 0x03 uint8 0xff Unknown entry. Always 0xff
Item 1 1 0x04 uint8 0xBF Item in 1st slot
Item 2 1 0x05 uint8 0xBF Item in 2nd slot
Item 3 1 0x06 uint8 0xBF Item in 3rd slot
Item 4 1 0x07 uint8 0xBF Item in 4th slot
Spell 1 1 0x08 uint8 0x7F Spell/ability in 1st slot
Spell 2 1 0x09 uint8 0x7F Spell/ability in 2nd slot
Spell 3 1 0x0A uint8 0x7F Spell/ability in 3rd slot
Spell 4 1 0x0B uint8 0x7F Spell/ability in 4th slot
Emblems 1 1 0x0C uint8 0xff Bitfield of emblems in 1st row
Emblems 2 1 0x0D uint8 0xff Bitfield of emblems in 2nd row
Emblems 3 1 0x0E uint8 0xff Bitfield of emblems in 3rd row
Emblems 4 1 0x0F uint8 0xff Bitfield of emblems in 4th row
Class 1 0x10 uint8 0x54 class.
Element 1 0x11 uint8 0x06 Element.
Alignment 1 0x12 uint8 0x03 Alignment.
Gender 1 0x13 uint8 0x03 Gender.
Unknown 1 0x14 uint8 Unknown Unknown (Value Varies).
Drop 1 0x15 uint8 0xBF/0x7F Spell or item to drop on defeat.
Drop Type 1 0x16 uint8 0x03 0=None, 2=Item, 3=Spell.
Unknown 1 0x17 uint8 Unknown Unknown (Value Varies).
Unknown 1 0x18 uint8 Unknown Unknown (Value Varies).
X Position 1 0x19 uint8 Depends on map X0,Y0 is top corner square.
Y Position 1 0x1A uint8 Depends on map X increases to bottom right, Y increases to bottom left
Unknown 1 0x1B uint8 Unknown Unknown (Value Varies 0-3).
Team/Role 1 0x1C uint8 Unknown 0=Ally, 1=Leader, 2=Guest 0x80=Enemy, 0x81=Enemy Leader
Unknown 1 0x1D uint8 Unknown Unknown (Value Varies 0-3).
Unknown 1 0x1E uint8 Unknown Unknown (Value Varies 0-3).
Unknown 1 0x1F uint8 0xff Unknown (always 0xff).