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.
Pokémon Mystery Dungeon: Red Rescue Team/Pokémon Graphics/Overworld Animations
Jump to navigation
Jump to search
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