Difference between revisions of "Sonic 3D: Flickies' Island/Technical information"
From Sonic Retro
m (→Level Pointers) |
(→Level Pointers) |
||
Line 1: | Line 1: | ||
{{sub-stub}} | {{sub-stub}} | ||
− | ==Level | + | == Level headers == |
+ | |||
+ | Level headers are 42 bytes each. They contain data needed to load their layout, objects, etc. Below is the format for a level header. N/A means that we yet don't know its functionality, however looking at their values it seems like them all are pointers. If a question mark (?) is in the description, then the content isn't confirmed yet. All palettes pointers are indices from some array. | ||
+ | |||
+ | {|border="1" | ||
+ | !Offset | ||
+ | !Size | ||
+ | !Type | ||
+ | !Description | ||
+ | |- | ||
+ | |$0 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |Object Placement , Compressed? | ||
+ | |- | ||
+ | |$4 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |Collision Level Layout / Sonic Start Position (?) | ||
+ | |- | ||
+ | |$8 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |B Plane Mappings. | ||
+ | |- | ||
+ | |$C | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |Graphics. | ||
+ | |- | ||
+ | |$10 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |A Plane Mappings. | ||
+ | |- | ||
+ | |$14 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |N/A | ||
+ | |- | ||
+ | |$18 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |Graphical Level Layout (?) | ||
+ | |- | ||
+ | |$1C | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |N/A | ||
+ | |- | ||
+ | |$20 | ||
+ | |4 bytes | ||
+ | |Pointer | ||
+ | |Collision Level Layout / Sonic Start Position (?) | ||
+ | |- | ||
+ | |$24 | ||
+ | |2 bytes | ||
+ | |N/A | ||
+ | |Unused? (always $0000) | ||
+ | |- | ||
+ | |$26 | ||
+ | |1 byte | ||
+ | |Index | ||
+ | |1st palette | ||
+ | |- | ||
+ | |$27 | ||
+ | |1 byte | ||
+ | |Index | ||
+ | |2nd palette | ||
+ | |- | ||
+ | |$28 | ||
+ | |1 byte | ||
+ | |Index | ||
+ | |3rd palette | ||
+ | |- | ||
+ | |$29 | ||
+ | |1 byte | ||
+ | |Index | ||
+ | |4th palette | ||
+ | |} | ||
+ | |||
+ | == Level headers locations == | ||
+ | |||
+ | Those are the addresses for the headers of all the levels in the game. They point to the beginning of the header data, of course. | ||
+ | |||
{|border="1" | {|border="1" | ||
!Offset | !Offset | ||
Line 72: | Line 156: | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{SCHGuides}} | {{SCHGuides}} | ||
[[Category:Sonic Community Hacking Guide]] | [[Category:Sonic Community Hacking Guide]] |
Revision as of 23:10, 27 January 2008
This teeny-tiny article needs some work. You can help Sonic Retro by expanding it. |
Level headers
Level headers are 42 bytes each. They contain data needed to load their layout, objects, etc. Below is the format for a level header. N/A means that we yet don't know its functionality, however looking at their values it seems like them all are pointers. If a question mark (?) is in the description, then the content isn't confirmed yet. All palettes pointers are indices from some array.
Offset | Size | Type | Description |
---|---|---|---|
$0 | 4 bytes | Pointer | Object Placement , Compressed? |
$4 | 4 bytes | Pointer | Collision Level Layout / Sonic Start Position (?) |
$8 | 4 bytes | Pointer | B Plane Mappings. |
$C | 4 bytes | Pointer | Graphics. |
$10 | 4 bytes | Pointer | A Plane Mappings. |
$14 | 4 bytes | Pointer | N/A |
$18 | 4 bytes | Pointer | Graphical Level Layout (?) |
$1C | 4 bytes | Pointer | N/A |
$20 | 4 bytes | Pointer | Collision Level Layout / Sonic Start Position (?) |
$24 | 2 bytes | N/A | Unused? (always $0000) |
$26 | 1 byte | Index | 1st palette |
$27 | 1 byte | Index | 2nd palette |
$28 | 1 byte | Index | 3rd palette |
$29 | 1 byte | Index | 4th palette |
Level headers locations
Those are the addresses for the headers of all the levels in the game. They point to the beginning of the header data, of course.
Offset | Description |
---|---|
$1AB62 | Green Grove Zone Act 1 |
$1AB8C | Green Grove Zone Act 2 |
$1ABB6 | Green Grove Zone Act 3 |
$1AC5E | Rusty Ruin Zone Act 1 |
$1AC34 | Rusty Ruin Zone Act 2 |
$1AC88 | Rusty Ruin Zone Act 3 |
$1ADAE | Spring Stadium Zone Act 1 |
$1ADD8 | Spring Stadium Zone Act 2 |
$1AE02 | Spring Stadium Zone Act 3 |
$1ACB2 | Diamond Dust Zone Act 1 |
$1ACDC | Diamond Dust Zone Act 2 |
$1AD06 | Diamond Dust Zone Act 3 |
$1AD5A | Volcano Valley Zone Act 1 |
$1AD30 | Volcano Valley Zone Act 2 |
$1AD84 | Volcano Valley Zone Act 3 |
$1ABE0 | Gene Gadget Zone Act 1 |
$1AC0A | Gene Gadget Zone Act 2 |
$1AE2C | Gene Gadget Zone Act 3 |
$1AE80 | Panic Puppet Zone Act 1 |
$1AE56 | Panic Puppet Zone Act 2 |
$1AEAA | Panic Puppet Zone Act 3 |
$1AED4 | The Final Fight |