The current URL is datacrystal.tcrf.net.
Final Fantasy Tactics Advance/Maps: Difference between revisions
Darthatron (talk | contribs) (→In RAM) |
Darthatron (talk | contribs) (→In ROM) |
||
Line 85: | Line 85: | ||
===In ROM=== | ===In ROM=== | ||
'''0x08019E7C'''(4 bytes): 0x02007CB0 - Address to start reading map height data from in scenes | '''0x08019E7C'''(4 bytes): 0x02007CB0 - Address to start reading map height data from in scenes | ||
'''0x0801F0DC'''(4 bytes): 0x02007CB0 - Address to write map height data to | '''0x0801F0DC'''(4 bytes): 0x02007CB0 - Address to write map height data to | ||
'''0x08569104 - 0x0856915B''': Map data pointers for map 0 | '''0x08569104 - 0x0856915B''': Map data pointers for map 0 | ||
'''0x08569104'''(Pointer): Pointer to map tile graphics data in map 0 | '''0x08569104'''(Pointer): Pointer to map tile graphics data in map 0 | ||
'''0x08569108'''(Pointer): Pointer to map tile arrangement data in map 0 | '''0x08569108'''(Pointer): Pointer to map tile arrangement data in map 0 | ||
'''0x0856910C'''(Pointer): Pointer to unknown data in map 0 | '''0x0856910C'''(Pointer): Pointer to unknown data in map 0 | ||
'''0x08569110'''(Pointer): Pointer to palette data in map 0 | '''0x08569110'''(Pointer): Pointer to palette data in map 0 | ||
'''0x08569114'''(Pointer): Pointer to map height data in map 0 | '''0x08569114'''(Pointer): Pointer to map height data in map 0 | ||
==Default locations of map data== | ==Default locations of map data== | ||
{| style="border: 1px solid; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" | {| style="border: 1px solid; margin: auto; border-collapse: collapse;" cellspacing="0" cellpadding="3" border="1" |
Revision as of 04:49, 1 July 2009
Map Information
Data structures
struct FFTA_map
0x58 bytes
Member name | Length | Offset | Type | Maximum value | Description |
---|---|---|---|---|---|
graphics_data | 4 | 0x00 | Pointer | N/A | A pointer diff pointing to the beginning of the map tile graphics data |
arrangement_data | 4 | 0x04 | Pointer | N/A | A pointer diff pointing to the beginning of the data that arranges the tiles |
Unknown | 4 | 0x08 | Pointer | N/A | A pointer diff pointing to something that has to do with clipping |
palette_data | 4 | 0x0C | Pointer | N/A | A pointer diff pointing to the beginning of the palette data |
height_data | 4 | 0x10 | Pointer | N/A | A pointer diff pointing to the beginning of the map height data |
Unknown | 68 | 0x14 | N/A | N/A | Unknown, usually mostly blank |
All pointer diffs in this structure are against 0x08569104.
struct FFTA_map_tile
struct FFTA_map_tile { uint8 height; int8 cannot_walk_on; };
- height: The height of the tile. There is no offset from what is displayed. Setting to higher than 99 (0x63) causes graphical glitches, but no crashing. Setting to 0 makes the tile invalid, such that it can't be selected. This value is unsigned.
- cannot_walk_on: 0 if the tile can be walked on, 1 otherwise. Other values seem to have the same effect as a 1.
Data layout
In RAM
Each block of map data starts at the top corner, and goes toward the right corner. The end of a row seems to be padded such that the last couple of bytes, until 0xXF, are zero. Unknown what happens if modified.
0x02007CB0(block of FFTA_map_tile): Beginning of map data in RAM
...
0x02007F14(void*): Pointer to 0x02007CB0. If changed, map data changes to correspond to the new pointer.
...
0x02007F1D(u?int8): NW-SE dimension of the map.
0x02007F1E(u?int8): Unknown. Set to 0x0C.
0x02007F1F(u?int8): NE-SW dimension of the map.
In ROM
0x08019E7C(4 bytes): 0x02007CB0 - Address to start reading map height data from in scenes
0x0801F0DC(4 bytes): 0x02007CB0 - Address to write map height data to
0x08569104 - 0x0856915B: Map data pointers for map 0
0x08569104(Pointer): Pointer to map tile graphics data in map 0
0x08569108(Pointer): Pointer to map tile arrangement data in map 0
0x0856910C(Pointer): Pointer to unknown data in map 0
0x08569110(Pointer): Pointer to palette data in map 0
0x08569114(Pointer): Pointer to map height data in map 0
Default locations of map data
Tile graphics data | Tile arrangement data | Unknown data | Palette data | Map height data | |
---|---|---|---|---|---|
Map 0 | 0x0856C8B4 | 0x0856F528 | 0x0856FEF8 | 0x0856F4A8 | 0x085704C8 |
- There are 163 maps, indexed from 0x00 to 0xA2. Most maps have a night version (palette shift), too.