If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
Tactics Ogre: The Knight of Lodis/ROM map: Difference between revisions
Jump to navigation
Jump to search
m (Fixed Hire Shop data ordering) |
m (Xkeeper moved page Tactics Ogre: The Knight of Lodis:ROM map to Tactics Ogre: The Knight of Lodis/ROM map: normalize subpages and titles) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{rommap|game=Tactics Ogre: The Knight of Lodis}} | {{rommap|game=Tactics Ogre: The Knight of Lodis}} | ||
=Overall ROM Map= | |||
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | |||
|- style="background: #ccccff;" | |||
!Name | |||
!Start | |||
!End | |||
!Number of Entries | |||
!Size Per Entry | |||
!Total Size | |||
|- | |||
| Prizes/Random Treasures || 0x61D8A0 || 0x61D99F || 256 || 1 || 256 | |||
|- | |||
| 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= | =Data Structures= | ||
Line 9: | Line 37: | ||
*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. | *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. | ||
==Shop | |||
* | ==Prizes/Random Treasures Table== | ||
*There are | *Data starts at 0x0061D8A0 and ends at 0x0061D99F in the ROM. | ||
* | *There are 256 entries, 1 bytes in length each. | ||
*The first 108 bytes are random treasures (picked up when moving onto a map square). | |||
**Divided into 3 groups. Higher groups have better treasures. | |||
**The groups contain 10,13, and 13 entries respectively.(This needs to be confirmed) | |||
**When an item is picked up, a random entry is selected. | |||
**Each entry has 3 items, one for each of low, medium and high biorythm. | |||
*Next are Quest rewards, starting at 0x0061D90C | |||
**Divided into 10 groups of 8 items each | |||
**Lower groups are better. Group is improved by beating harder quests, faster. | |||
**Items are randomly selected among the group | |||
*Next are VS. Mode rewards, starting at 0x0061D94C | |||
**64 Items total | |||
**Unknown how this functions. | |||
==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. | |||
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | ||
Line 23: | Line 69: | ||
!Description | !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 || | | Unknown || 1 || 0x06 || uint8 || Unknown || Unknown entry. Always 0 | ||
|- | |- | ||
| Unknown || 1 || | | Unknown || 1 || 0x07 || uint8 || Unknown || Unknown entry. Always 0 | ||
|- | |- | ||
|} | |} | ||
==Shop | ==Item Shop Data Structure== | ||
* | *Data starts at 0x006224E4 and ends at 0x00622583 in the ROM. | ||
*There are | *There are 40 entries, 4 bytes in length each. | ||
*Prices are not stored in this table. They are stored in the | *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 | ||
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | ||
Line 49: | Line 99: | ||
!Description | !Description | ||
|- | |- | ||
| Availabilty || 1 || 0x00 || uint8 || ?? || How far into the story the | | 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 || 0x02 || uint8 || Unknown || Unknown entry. Always 0 | ||
Line 59: | Line 109: | ||
|} | |} | ||
==Secret Shop | |||
==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 | ||
* | *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. | ||
*The last entry is a termination of (0xff) at 0x0062258C | |||
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | ||
Line 79: | Line 131: | ||
==Shop | ==Magic Shop Data Structure== | ||
*Shop | *Magic Shop Data data starts at 0x0062258C and ends at 0x622617 in the ROM. | ||
*There are | *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 | |||
{| 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 | |||
|- | |||
| 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. | |||
{| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid #aaaaaa; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | ||
Line 93: | Line 173: | ||
!Description | !Description | ||
|- | |- | ||
| Class | | 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 || | | Unknown || 1 || 0x1E || uint8 || Unknown || Unknown (Value Varies 0-3). | ||
|- | |- | ||
| Unknown || 1 || | | Unknown || 1 || 0x1F || uint8 || 0xff || Unknown (always 0xff). | ||
|- | |- | ||
|} | |} | ||
{{Internal Data|game=Tactics Ogre: The Knight of Lodis}} | {{Internal Data|game=Tactics Ogre: The Knight of Lodis}} |
Latest revision as of 02:42, 24 January 2024
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 |
---|---|---|---|---|---|
Prizes/Random Treasures | 0x61D8A0 | 0x61D99F | 256 | 1 | 256 |
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
- Information on classes is available on the page Tactics Ogre: The Knight of Lodis:Jobs.
- Information on items and equipment is available on the page Tactics Ogre: The Knight of Lodis:Items.
- Information on abilities is available on the page Tactics Ogre: The Knight of Lodis:Abilities.
- 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.
Prizes/Random Treasures Table
- Data starts at 0x0061D8A0 and ends at 0x0061D99F in the ROM.
- There are 256 entries, 1 bytes in length each.
- The first 108 bytes are random treasures (picked up when moving onto a map square).
- Divided into 3 groups. Higher groups have better treasures.
- The groups contain 10,13, and 13 entries respectively.(This needs to be confirmed)
- When an item is picked up, a random entry is selected.
- Each entry has 3 items, one for each of low, medium and high biorythm.
- Next are Quest rewards, starting at 0x0061D90C
- Divided into 10 groups of 8 items each
- Lower groups are better. Group is improved by beating harder quests, faster.
- Items are randomly selected among the group
- Next are VS. Mode rewards, starting at 0x0061D94C
- 64 Items total
- Unknown how this functions.
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). |
Internal Data for Tactics Ogre: The Knight of Lodis
| |
---|---|