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.
The wiki has recently moved; please report any issues in Discord. Pardon the dust.
Pokémon Mystery Dungeon: Red Rescue Team/Pokémon Graphics/Overworld Animations: Difference between revisions
Jump to navigation
Jump to search
(Created page with "There are 423 SIRO files pointed to by the [http://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_Mystery_Dungeon:_Red_Rescue_Team:Pok%C3%A9mon_Graphics:Pointer_Table graphics P...") |
m (Made it pretty) |
||
Line 1: | Line 1: | ||
{{Infobox table|name=Pokémon Graphics:Overworld Animations | |||
|game=Pokémon Mystery Dungeon: Red Rescue Team | |||
|loc=ROM | |||
|start=0x0511F40 | |||
|end=0x167FE77 | |||
|numentries=423 | |||
|entrylength=varies | |||
|totallength=18,276,152 bytes (0x116DF38) | |||
}} | |||
There are 423 SIRO files pointed to by the [http://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_Mystery_Dungeon:_Red_Rescue_Team:Pok%C3%A9mon_Graphics:Pointer_Table graphics Pointer Table]. Each one represents a different Pokemon graphics file. The structure of these individual files is as follows. | There are 423 SIRO files pointed to by the [http://datacrystal.romhacking.net/wiki/Pok%C3%A9mon_Mystery_Dungeon:_Red_Rescue_Team:Pok%C3%A9mon_Graphics:Pointer_Table graphics Pointer Table]. Each one represents a different Pokemon graphics file. The structure of these individual files is as follows. | ||
== Header == | ==Entry Structure== | ||
=== Header === | |||
* Note - all pointers are stored in little-endian format. | * Note - all pointers are stored in little-endian format. | ||
<pre> | <pre> | ||
Line 10: | Line 21: | ||
</pre> | </pre> | ||
==Animation Data Before Sprites== | ===Animation Data Before Sprites=== | ||
Comes in 0x14 byte increments which each represent a frame of the animation. | Comes in 0x14 byte increments which each represent a frame of the animation. | ||
<pre> | <pre> | ||
Line 26: | Line 37: | ||
The next section deals with animation timing. | The next section deals with animation timing. | ||
==Overworld Sprites== | ===Overworld Sprites=== | ||
Every Sprite has data associated with it. | Every Sprite has data associated with it. | ||
Line 51: | Line 62: | ||
</pre> | </pre> | ||
==Data After Sprites== | ===Data After Sprites=== | ||
== Footer == | === Footer === | ||
The header points to another set of pointers starting here and ending at the next SIRO file. | The header points to another set of pointers starting here and ending at the next SIRO file. | ||
<pre> | <pre> |
Revision as of 21:18, 11 February 2016
Pokémon Graphics:Overworld Animations | |
Game | Pokémon Mystery Dungeon: Red Rescue Team |
Start Address | 0x0511F40 |
End Address | 0x167FE77 |
# of Entries | 423 |
Entry Length | varies |
Total Length | 18,276,152 bytes (0x116DF38) |
Back to the ROM map |
There are 423 SIRO files pointed to by the graphics Pointer Table. Each one represents a different Pokemon graphics file. The structure of these individual files is as follows.
Entry Structure
Header
- Note - all pointers are stored in little-endian format.
Address Size Description -------- ---- ---------------- 0000 0004 SIRO Header - Spells out SIRO and begins file. 0004 0004 Pointer to footer - Points to main data structure in each Pokemon
Animation Data Before Sprites
Comes in 0x14 byte increments which each represent a frame of the animation.
Address Size Description -------- ---- ---------------- 0000 0004 The index of the sprite to be displayed. 0004 0001 Vertical Displacement Value 0005 0001 Unknown 0006 0001 Horizontal Displacement 0007 0001 Unknown 0008 0002 Unknown 000A 000A Allows VRAM to be cleared.
The next section deals with animation timing.
Overworld Sprites
Every Sprite has data associated with it.
The sprite data pointers in the data after the sprites point to each individual sprite's data.
The individual sprite data is in this format when it only points to one sub sprite:
Address Size Description -------- ---- ---------------- 0000 0004 Pointer to individual sprite 0004 0002 Number of bytes to read (little endian)
Very frequently, the individual sprite data is split into sub sprites and is different. Possibly due to different tile alignment.
Address Size Description -------- ---- ---------------- { 0000 0004 Unknown - Possibly a flag to tell where to stop reading sub sprites. 0004 0004 Pointer to individual sprite 0008 0002 Number of bytes to read (little endian) 000A 0006 Unknown (Nothing?) } Repeats until every sub sprite has been pointed to.
Data After Sprites
The header points to another set of pointers starting here and ending at the next SIRO file.
Address Size Description -------- ---- ---------------- 0000 0004 Animation Timing? 0004 0004 Animation Data? 0008 0004 Unknown 000C 0004 Sprite Data Pointer 0010 0004 Pointer to Unknown Data 0014 0004 SIRO Header of next Pokemon