Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Tactics Ogre: The Knight of Lodis/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
mNo edit summary
(Added unit list table)
Line 18: Line 18:
  |-
  |-
  | Magic Shop || 0x62258C || 0x622617 || 35 || 4 || 140
  | Magic Shop || 0x62258C || 0x622617 || 35 || 4 || 140
|-
| Unit List || 0x769130 || 0x76F66F || 35 || 32 || 810
  |-
  |-
|}
|}
Line 35: Line 37:


==Hire Shop Data Structure==
==Hire Shop Data Structure==
*Hire Shop Data data starts at 0x00622494 and ends at 0x006224E3 in the ROM.
*Data starts at 0x00622494 and ends at 0x006224E3 in the ROM.
*There are 10 entries, 8 bytes in length each.
*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...)
*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...)
Line 65: Line 67:


==Item Shop Data Structure==
==Item Shop Data Structure==
*Item Shop Data data starts at 0x006224E4 and ends at 0x00622583 in the ROM.
*Data starts at 0x006224E4 and ends at 0x00622583 in the ROM.
*There are 40 entries, 4 bytes in length each.
*There are 40 entries, 4 bytes in length each.
*Prices are not stored in this table. They are stored in the item table.
*Prices are not stored in this table. They are stored in the item table.
Line 92: Line 94:
==Secret Item Shop Data Structure==
==Secret Item Shop Data Structure==
*The secret shop becomes available in Scabellum after recruiting Deneb
*The secret shop becomes available in Scabellum after recruiting Deneb
*Item Shop Data data starts at 0x00622584 and ends at 0x0062258C in the ROM.
*Data starts at 0x00622584 and ends at 0x0062258C in the ROM.
*There are 7 entries, 1 bytes in length each.
*There are 7 entries, 1 bytes in length each.
*Prices are not stored in this table. They are stored in the item table.
*Prices are not stored in this table. They are stored in the item table.
Line 134: Line 136:
  |-
  |-
  | Unknown || 1 || 0x03 || 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.
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1"
|- style="background: #ccccff;"
!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).
  |-
  |-
|}
|}

Revision as of 12:24, 15 November 2022

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).