Actions

Difference between revisions of "Sonic 3D: Flickies' Island/Technical information"

From Sonic Retro

(Updated level header data table)
m (Text replacement - "{|class="prettytable" " to "{| class="prettytable" style="width:auto;" ")
Line 6: Line 6:
 
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.
 
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.
  
{|class="prettytable"
+
{| class="prettytable" style="width:auto;"
 
!Offset
 
!Offset
 
!Size
 
!Size
Line 102: Line 102:
 
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.
 
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.
  
{|class="prettytable"
+
{| class="prettytable" style="width:auto;"
 
!Offset
 
!Offset
 
!Description
 
!Description
Line 175: Line 175:
 
== Eggman Hitcount locations ==
 
== Eggman Hitcount locations ==
  
{|class="prettytable"
+
{| class="prettytable" style="width:auto;"
 
!Offset
 
!Offset
 
!Description
 
!Description

Revision as of 17:29, 21 February 2020

Sonicretro-round.svg This teeny-tiny article needs some work. You can help Sonic Retro by expanding it.

This is the Sonic Community Hacking Guide for the Mega Drive version of Sonic 3D: Flickies' Island.

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 Compression
$0 4 bytes Pointer Object placement RNC
$4 4 bytes Pointer Collision layout RNC
$8 4 bytes Pointer Graphics for plane B tiles RNC
$C 4 bytes Pointer Graphics for plane A tiles N/A
$10 4 bytes Pointer 32x32 mappings for plane B N/A
$14 4 bytes Pointer 32x32 mappings for plane A N/A
$18 4 bytes Pointer Level layout N/A
$1C 4 bytes Pointer List of miscellaneous graphics to load Custom, graphics use RNC
$20 4 bytes Pointer Start position, checkpoint positions, etc. N/A
$24 2 bytes N/A Unused? (always $0000) N/A
$26 1 byte Index 1st palette None
$27 1 byte Index 2nd palette None
$28 1 byte Index 3rd palette None
$29 1 byte Index 4th palette None

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

Eggman Hitcount locations

Offset Description
$DDBB Green Grove Zone
$6DD5 Rusty Ruins
$8851 Spring Stadium Zone
$F265 Diamond Dust Zone
$9E65 Volcano Valley Zone
$11113 Gene Gadget Zone
$125ED Panic Puppet Zone Right Arm Part 1?
$13097 Panic Puppet Zone Right Arm Part 2?
Sonic Community Hacking Guide
General
SonED2 Manual | Subroutine Equivalency List
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (Master System) | Sonic 3 | Sonic 3 & Knuckles | Chaotix | Sonic Jam | Sonic Jam 6 | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Forces
Technical information
Sonic Eraser | Sonic 2 (Nick Arcade prototype) | Sonic CD (prototype; 1992-12-04) | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Tails Adventures | Sonic Crackers | Sonic 3D: Flickies' Island | Sonic & Knuckles Collection | Sonic R | Sonic Shuffle | Sonic Advance | Sonic Advance 3 | Sonic Battle | Shadow the Hedgehog | Sonic Rush | Sonic Classic Collection | Sonic Free Riders | Sonic Lost World
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | SMPS Music Hacking Guide | Mega Drive technical information