Actions

SCHG

Difference between revisions of "Sonic Heroes/Object Editing"

From Sonic Retro

Line 21: Line 21:
 
* P5 - Super Hard
 
* P5 - Super Hard
  
DB files contain mostly decoration and objects that don't interact with the players, such as grass patches and the giant decoration casino chips. PB files contain normal stage objects. Both files are loaded for all teams. The object lists are the same, so there's no restriction for which objects can be placed in any of the files. There doesn't seem to be any difference in the way each of the files are loaded, so they are most likely separate for organization.<br />
+
DB files contain mostly decoration and objects that don't interact with the players, such as grass patches. PB files contain normal stage objects. Both files are loaded for all teams. The object lists are the same, so there's no restriction for which objects can be placed in any of the files. There doesn't seem to be any difference in the way each of the files are loaded, so they are most likely separate for organization.<br />
All special stage and multiplayer levels have only the DB and PB files. The team battles and Last story bosses also only have DB and PB.<br />
+
Sea Gate, special stages, team battles, Last story and multiplayer levels have only the DB and PB files.
Because of the player files, DB and PB files for each level, objects might reference each other from different files (verify)<br />
 
  
 
== Object File Layout ==
 
== Object File Layout ==
The files are always 0x21000 bytes long and seem to have no header. The object list seems to be able to start at the beginning of the file, but usually starts much later, leaving a huge empty space before the list. This is most likely for one single level to load the list from multiple files. <br />
+
The files are made up by two sections: the main section and the misc. section.
The files are made up by two sections: one starting at the beginning, with 0x30 entries, and one starting at offset 0x18024, with 0x24 entries. Each object is defined by one array from the main section and one from the misc. section.
+
*The main section starts at offset 0x00 (the beginning of the file) and ends at offset 0x18000. Each entry is 0x30 bytes long, so the files have a maximum of 2048 objects. Each entry defines general information for the object, such as type, position and rotation. Blank entries are ignored.
 +
*The misc. section starts at offset 0x18000. Each entry is 0x24 bytes long. The retail files are all 0x21000 bytes long, so they all have a maximum of 1024 misc. entries for the objects. This number can be increased or decreased, however, as the file size can be changed and the game will still load it normally; the number of misc. section entries can even go past the maximum number of main section entries. The misc. section contains object-specific data.
 +
Each entry in the main section may contain an ID which references one entry in the misc. section (very few objects don't).<br />
 +
In the original files there is usually a lot of "junk" in them (huge empty spaces with no data and lots of unreferenced misc. section entries).
  
 
===Main Section Entries===
 
===Main Section Entries===
This array starts at the beginning of the .bin file, but retail files usually have an empty space before it. The ID (offset 0x2C) is set with regards to this space. Each entry is 0x30. This section contains most basic info for the objects.
+
This array starts at the beginning of the .bin file. Each entry is 0x30 bytes long. This section contains most basic info for the objects.
  
 
{{red|00 00 00 00}} {{green|00 00 00 00}} {{blue|00 00 00 00}} {{orange|00 00 00 00}} {{olive|00 00 00 00}} {{magenta|00 00 00 00}} <br />
 
{{red|00 00 00 00}} {{green|00 00 00 00}} {{blue|00 00 00 00}} {{orange|00 00 00 00}} {{olive|00 00 00 00}} {{magenta|00 00 00 00}} <br />
{{red|00 00}} {{green|00}} {{blue|00}} {{cyan|00 00 00 00}} {{grey|00 00 00 00 00 00 00 00}} {{yellow|00}} {{cyan|00}} {{purple|00}} {{red|00}} {{grey|00 00 00 00}}
+
{{red|00 00}} {{green|00}} {{blue|00}} {{cyan|00 00 00 00}} {{grey|00 00 00 00 00 00 00 00}} {{yellow|00}} {{cyan|00}} {{purple|00}} {{red|00}} {{grey|00 00}} {{green|00 00}}
  
 
{| class="prettytable"
 
{| class="prettytable"
Line 51: Line 53:
 
|-
 
|-
 
| {{orange|0x0C}}
 
| {{orange|0x0C}}
| {{orange|Long}}
+
| {{orange|4 bytes}}
 
| {{orange|X Rotation}}
 
| {{orange|X Rotation}}
 
|-
 
|-
 
| {{olive|0x10}}
 
| {{olive|0x10}}
| {{olive|Long}}
+
| {{olive|4 bytes}}
 
| {{olive|Y Rotation}}
 
| {{olive|Y Rotation}}
 
|-
 
|-
 
| {{magenta|0x14}}
 
| {{magenta|0x14}}
| {{magenta|Long}}
+
| {{magenta|4 bytes}}
 
| {{magenta|Z Rotation}}
 
| {{magenta|Z Rotation}}
 
|-
 
|-
 
| {{red|0x18}}
 
| {{red|0x18}}
| {{red|Word}}
+
| {{red|2 bytes}}
| {{red|Usually 00 02<br />Unknown}}
+
| {{red|Usually 00 02<br />Ignored}}
 
|-
 
|-
 
| {{green|0x1A}}
 
| {{green|0x1A}}
 
| {{green|Byte}}
 
| {{green|Byte}}
| {{green|0x00 for PB<br />0x20 for Sonic<br />0x40 for Dark<br />0x60 for Rose<br />0x80 for Chaotix<br />0xA0 for Super Hard<br />Seems to be ignored as objects will be loaded regardless of this}}
+
| {{green|0x00 for PB/DB<br />0x20 for Sonic<br />0x40 for Dark<br />0x60 for Rose<br />0x80 for Chaotix<br />0xA0 for Super Hard<br />Ignored, objects load regardless of this}}
 
|-
 
|-
 
| {{blue|0x1B}}
 
| {{blue|0x1B}}
 
| {{blue|Byte}}
 
| {{blue|Byte}}
| {{blue|Usually 09<br />Unknown; related to parenting to a moving object?}}
+
| {{blue|Usually 09<br />Must be an odd number for object to load}}
 
|-
 
|-
 
| {{cyan|0x1C}}
 
| {{cyan|0x1C}}
| {{cyan|Long}}
+
| {{cyan|4 bytes}}
| {{cyan|Usually 00 00 00 00<br />Unknown effect}}
+
| {{cyan|Usually 00 00 00 00<br />Ignored?}}
 
|-
 
|-
 
| {{grey|0x20}}
 
| {{grey|0x20}}
 
| {{grey|8 bytes}}
 
| {{grey|8 bytes}}
| {{grey|Usually repeats the previous 8 bytes<br />Unknown effect}}
+
| {{grey|Repeats the previous 8 bytes<br />Ignored?}}
 
|-
 
|-
 
| {{yellow|0x28}}
 
| {{yellow|0x28}}
Line 92: Line 94:
 
| {{purple|0x2A}}
 
| {{purple|0x2A}}
 
| {{purple|Byte}}
 
| {{purple|Byte}}
| {{purple|Link ID*}}
+
| {{purple|Link ID}}
 
|-
 
|-
 
| {{red|0x2B}}
 
| {{red|0x2B}}
 
| {{red|Byte}}
 
| {{red|Byte}}
| {{red|Render distance multiplier*}}
+
| {{red|Render distance}}
 
|-
 
|-
 
| {{grey|0x2C}}
 
| {{grey|0x2C}}
| {{grey|Long}}
+
| {{grey|2 bytes}}
| {{grey|Object ID*}}
+
| {{grey|Null?}}
 +
|-
 +
| {{green|0x2E}}
 +
| {{green|2 bytes}}
 +
| {{green|Misc. Entry ID}}
 
|}
 
|}
  
Notes:
+
*X, Y and Z positions: location of the object in the world.
*Link ID is used for all kinds of event activators (switches, triggers, bingo table, frog), also for gruping enemies together and linking warp flowers
+
*X, Y and Z rotations: angle of the object in the world.
*Render distance multiplier sets from which distance the object starts being rendered
+
*16 bytes have unknown function. Most of this seems to be ignored, but one value must be an odd number for the object to load.
*Object ID is used for matching with the Misc. Section; I don't know if these can be numbered out of order or if this number is even used at all (it might find the matching entry just from the order it appears in the file)
+
*Object list: this byte sets which list the object will be chosen from.
 +
*Object type: this byte sets which object from the list will be loaded.
 +
*Link ID: this is used to link two or more objects together, such as switches and doors, triggers, frogs and plants, bingo table and numbers, enemies and cages, warp flowers and more.
 +
*Render distance: this multiplier sets from which distance the object starts being rendered. 0 makes the object not load.
 +
*Misc. Entry ID: this chooses which misc. entry array will be used by this object. This connection is made solely based on an offset. For example: if this is set to 3, it will use misc. entry number 3, located at offset 0x1806C (0x18000 + 3*0x24). This is set to 0 on some objects: those use misc. entry number 0, which must be left blank.
 +
 
 +
Retail files have an interesting organization when it comes to the order of the objects in the file: they are ordered by the misc. entry ID, which is set with regards to the offset of the entry in the file. This is actually completely unecessary, as objects can be put in any order. Multiple objects can reference the same misc. entry, which is also not done in retail files.
  
 
===Misc. Section Entries===
 
===Misc. Section Entries===
This array starts at offset 0x18024 in the .bin file and has 0x24 entries, one for each entry in the first section. It sets more object specific settings, such as spring strength or item box content.<br />
+
This array starts at offset 0x18000 in the .bin file and each entry is 0x24 bytes long. It sets more object specific settings, such as spring strength or item box content.<br />
 +
Entry number 0 is left blank as it's reserved for objects that don't have any misc. settings. So the first relevant entry is entry number 1, at 0x18024.
  
 
{{red|00 00}} {{green|00 00}} {{grey|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}}
 
{{red|00 00}} {{green|00 00}} {{grey|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}}
Line 122: Line 135:
 
| {{green|0x02}}
 
| {{green|0x02}}
 
| {{green|Word}}
 
| {{green|Word}}
| {{green|ID used for matching with first section}}
+
| {{green|Section ID}}
 
|}
 
|}
  
The rest varies from object to object, but they're usually separated into 8 longs or floats. They're explained in the [[SCHG:Sonic Heroes/Object Editing#Object Specific Settings|Object Specific Settings]] section.
+
This entire first long is completely ignored, and used only to aid development, as the entry is picked based on its offset.<br />
 +
The rest of the entry varies from object to object, and can be multiple bytes, words, longs or floats. They're explained in the [[SCHG:Sonic Heroes/Object Editing#Object Specific Settings|Object Specific Settings]] section.
  
 
== Object Lists ==
 
== Object Lists ==
In the main section entry, which list will be used is set in the byte at offset 0x28. The actual object from the list is set in the byte at offset 0x29.<br />
+
The ''setidtbl.bin'' file contains a list of all objects, along with flags setting in which level each one is available (more information in [[SCHG:Sonic_Heroes/Object Porting|this page]]). The list has 438 entries (the total number of objects in the game), all of which are listed below. Many of the entries are actually unused and crash the game when placed. The EXE has leftover debug data for all objects.<br />
For a tutorial on porting objects between levels, check [[SCHG:Sonic_Heroes/Object Porting|this page]]
+
These lists are incomplete. Some entries might be incorrect.
Note: These lists were based on tests that weren't very well done and might be incorrect or incomplete.
+
 
 +
=== List 00 ===
 +
General list.
  
=== List 00 (General) ===
 
*00 - Nothing
 
 
*01 - Spring (TObjSpring)
 
*01 - Spring (TObjSpring)
 
*02 - Triple Spring (TObj3Spring)
 
*02 - Triple Spring (TObj3Spring)
Line 141: Line 155:
 
*06 - Push/Pull Switch (TObjSwitchPushPull)
 
*06 - Push/Pull Switch (TObjSwitchPushPull)
 
*07 - Target Switch (TObjTarget)
 
*07 - Target Switch (TObjTarget)
 +
*08 -
 +
*09 -
 +
*0A -
 
*0B - Dash Panel (TObjDashpanel)
 
*0B - Dash Panel (TObjDashpanel)
 
*0C - Dash Ring (TObjDashring)
 
*0C - Dash Ring (TObjDashring)
Line 147: Line 164:
 
*0F - Dash Ramp (TObjJumppanel)
 
*0F - Dash Ramp (TObjJumppanel)
 
*10 - Cannon (TObjCannon)
 
*10 - Cannon (TObjCannon)
 +
*11 -
 +
*12 -
 +
*13 - Weight (TObjWeight)
 +
*14 - Breakable Weight (TObjWeightExt)
 
*15 - Spike Ball (TObjIronball)
 
*15 - Spike Ball (TObjIronball)
 +
*16 - Laser Fence (TObjLaserFence)
 +
*17 -
 
*18 - Item Box (TObjItembox)
 
*18 - Item Box (TObjItembox)
 
*19 - Item Balloon (TObjItembaloon)
 
*19 - Item Balloon (TObjItembaloon)
 +
*1A -
 
*1B - Goal Ring (TObjGoalring)
 
*1B - Goal Ring (TObjGoalring)
 +
*1C -
 
*1D - Pulley (TObjReel)
 
*1D - Pulley (TObjReel)
 +
*1E -
 
*20 - Wooden Box (TObjContWood)
 
*20 - Wooden Box (TObjContWood)
 
*21 - Metal Box (TObjContIron)
 
*21 - Metal Box (TObjContIron)
 
*22 - Steel Box (TObjContUnbreakable)
 
*22 - Steel Box (TObjContUnbreakable)
 
*23 - Chao (TObjChao)
 
*23 - Chao (TObjChao)
*24 - Cage Box (TObjCase)
+
*24 - Cage Box (TObjCage)
 
*25 - Formation Sign (TObjSignal)
 
*25 - Formation Sign (TObjSignal)
 
*26 - Formation Change Gate (TObjFormGate)
 
*26 - Formation Change Gate (TObjFormGate)
 +
*27 -
 
*28 - Propeller Flower (TObjPropeller)
 
*28 - Propeller Flower (TObjPropeller)
 
*29 - Pole (TObjPole)
 
*29 - Pole (TObjPole)
*2C - Power Gong
+
*2A -
 +
*2B -
 +
*2C - Power Gong (TObjRollDoor)
 +
*2D -
 
*2E - Fan (TObjFan)
 
*2E - Fan (TObjFan)
*31 - Cage (TObjCage)
+
*2F -
 +
*30 -
 +
*31 - Case (TObjCase)
 
*32 - Chaotix Warp Flower (TObjFlowerCommon)
 
*32 - Chaotix Warp Flower (TObjFlowerCommon)
 +
*33 -
 
*50 - Invisible collision object
 
*50 - Invisible collision object
*56 - Trigger volume for talking (TObjHintColli)
+
*51 -
*59 - Trigger volume for lightning modifier (lightning is set in sLL_light.bin) (TObjLightColli)
+
*52 -
*61 - ?
+
*53 -
*62 - Egg Hawk path node info
+
*54 -
*63 - ?
+
*55 -
*64 - ?
+
*56 - Trigger: Talking (TObjHintColli)
 +
*57 -
 +
*58 -
 +
*59 - Trigger: Light modifier (TObjLightColli)
 +
*60 - Trigger: Unknown
 +
*61 - Trigger: Disable player input (TObjNoInputCollision)
 +
*62 - Trigger: Egg Hawk
 +
*63 - Trigger: [[Falco]]
 +
*64 - Trigger: Hurt
 +
*65 - Trigger: Unknown
 +
*66 -
 
*67 - Special Stage Key (TObjKey)
 
*67 - Special Stage Key (TObjKey)
*80 - ?
+
*80 - Trigger: Teleport (TObjWarp)
*82 - ?
+
*81 -
*Find out: TObjLaserfence; TObjNoInputCollision; TObjRolldoor; TObjWarp; TObjWeight; TObjWeightExt and others
+
*82 -  
 +
 
 +
=== List 01 ===
 +
Seaside Hill list.
  
=== List 01 (Seaside Hill, Sea Gate) ===
 
 
*02 - Large Moving Block on Rails
 
*02 - Large Moving Block on Rails
 
*03 - Large Sliding Block
 
*03 - Large Sliding Block
*04 - Large Breakable Block
+
*04 - Large Breakable Block (Seaside Hill)
 
*05 - Moving Ruin Platform
 
*05 - Moving Ruin Platform
*08 - Trigger (volume) (used in other levels)
+
*06 -
 +
*07 -
 +
*08 - Trigger: Event Activator (1)
 +
*09 -
 
*0A - Sun
 
*0A - Sun
 
*0B - Chaotix Hermit Crab
 
*0B - Chaotix Hermit Crab
Line 190: Line 238:
 
*83 - Seagulls
 
*83 - Seagulls
 
*84 - Large Colored Bird
 
*84 - Large Colored Bird
 +
*85 -
 
*86 - Waterfall (large)
 
*86 - Waterfall (large)
 
*87 - Tides
 
*87 - Tides
 
*88 - Small Stone Platform
 
*88 - Small Stone Platform
 
*89 - Waterfall (small)
 
*89 - Waterfall (small)
*FF - Water at the bottom of waterfall (Sea Gate)
+
*FF - Water splash effect
 +
 
 +
=== List 02 ===
 +
Ocean Palace list.
  
=== List 02 (Ocean Palace) ===
 
 
*00 - Crumbling Stone Pillar
 
*00 - Crumbling Stone Pillar
 
*01 - Falling Stone Structure
 
*01 - Falling Stone Structure
 
*02 - Breakable Door
 
*02 - Breakable Door
 
*03 - Small Breakable Block
 
*03 - Small Breakable Block
*04 - Kaos (demonic-looking wheel-boulders that fall off the statues)
+
*04 - Kaos (the thing that chases you)
*06 - Moving Item Balloon (used in Metal Overlord)
+
*05 -
*0B - ? (Used in Power Plant)
+
*06 - Moving Item Balloon
*0C - Kaos trigger
+
*07 -
*80 - ?
+
*08 -
 +
*09 -
 +
*0A -
 +
*0B - Trigger: Event Activator (2)
 +
*0C - Trigger: Kaos
 +
*80 -  
 
*81 - Turtle Feet
 
*81 - Turtle Feet
 +
*82 -
 
*83 - Flowing Water
 
*83 - Flowing Water
 
*84 - Plant
 
*84 - Plant
*85 - Ruin decoration shaped like whale tail with water flowing from it
+
*85 - Ruin decoration
 +
 
 +
=== List 03 ===
 +
Grand Metropolis list.
  
=== List 03 (Grand Metropolis) ===
 
 
*00 - Accelerator Road
 
*00 - Accelerator Road
 +
*01 -
 
*02 - Road energy blocker
 
*02 - Road energy blocker
 
*03 - Grand Metropolis door
 
*03 - Grand Metropolis door
 
*04 - Falling Bridge
 
*04 - Falling Bridge
*05 - ?
+
*05 -  
 
*06 - Flying car spawner
 
*06 - Flying car spawner
 
*07 - Blimp with platform
 
*07 - Blimp with platform
 
*08 - Accelerator (invisible, pushes you foward)
 
*08 - Accelerator (invisible, pushes you foward)
 +
*80 -
 
*81 - Plane trigger
 
*81 - Plane trigger
*84 - Decoration energy piston
+
*82 -
 +
*83 -
 +
*84 - Energy piston
 
*85 - Flashing floor lights
 
*85 - Flashing floor lights
 
*86 - HEXAeco Signboard
 
*86 - HEXAeco Signboard
  
=== List 04 (Power Plant) ===
+
=== List 04 ===
 +
Power Plant list.
 +
 
 
*00 - Upward path
 
*00 - Upward path
 
*01 - Energy column
 
*01 - Energy column
Line 231: Line 296:
 
*03 - Lava Section Platform
 
*03 - Lava Section Platform
 
*04 - Energy blocker for lava section
 
*04 - Energy blocker for lava section
 +
*05 -
 
*06 - Fireball
 
*06 - Fireball
 
*08 - Energy blocker for column
 
*08 - Energy blocker for column
Line 236: Line 302:
 
*12 - Lava
 
*12 - Lava
 
*13 - Energy blocker for elevator
 
*13 - Energy blocker for elevator
*14 - Large Sphere?
+
*14 -  
 
*15 - Green upward path
 
*15 - Green upward path
 
*16 - Elevator Support Column
 
*16 - Elevator Support Column
*80 - Large Sphere?
+
*80 -  
 
*81 - Energy Wall Background
 
*81 - Energy Wall Background
 
*82 - Crane
 
*82 - Crane
Line 245: Line 311:
 
*84 - HEXAeco Rotating Wall thing
 
*84 - HEXAeco Rotating Wall thing
 
*85 - Strip of flashing floor arrows
 
*85 - Strip of flashing floor arrows
 +
*86 -
 +
 +
=== List 05 ===
 +
Casino Park list.
  
=== List 05 (Casino Park, BINGO Highway, Robot Carnival) ===
 
 
*00 - Small Bumper (Pinball Tables)
 
*00 - Small Bumper (Pinball Tables)
 
*01 - Green Sphere "Spring"
 
*01 - Green Sphere "Spring"
Line 257: Line 326:
 
*08 - Casino Style Door
 
*08 - Casino Style Door
 
*09 - Breakable Glass Floor
 
*09 - Breakable Glass Floor
*0A - Floating Dice
+
*0A - Floating Die
*0B - Pinball Triple Slot (Pinball Tables)
+
*0B - Triple Slot (Pinball Tables)
*0C - Pinball Single Slot (Pinball Tables)
+
*0C - Single Slot (Pinball Tables)
 
*0D - Bingo Chart (BINGO Highway)
 
*0D - Bingo Chart (BINGO Highway)
 
*0E - Bingo Number (BINGO Highway)
 
*0E - Bingo Number (BINGO Highway)
 +
*0F -
 
*10 - Dash Arrow (Pinball Tables)
 
*10 - Dash Arrow (Pinball Tables)
 
*11 - Chaotix Casino Chip (BINGO Highway)
 
*11 - Chaotix Casino Chip (BINGO Highway)
Line 267: Line 337:
 
*81 - Large Floating Arrow (Casino Park)
 
*81 - Large Floating Arrow (Casino Park)
 
*82 - Large Floating Letter (Casino Park)
 
*82 - Large Floating Letter (Casino Park)
*84 - Giant Dice (Casino Park)
+
*83 -
 +
*84 - Giant Die (Casino Park)
 
*85 - Giant Slot (Casino Park)
 
*85 - Giant Slot (Casino Park)
 
*86 - Giant Roulette
 
*86 - Giant Roulette
 
*87 - Giant Casino Chip (BINGO Highway)
 
*87 - Giant Casino Chip (BINGO Highway)
 +
*88 -
  
=== List 07 (Rail Canyon, Egg Albatross) ===
+
=== List 07 ===
 +
Rail Canyon list.
  
=== List 08 (Bullet Station) ===
+
*00 - Switchable Rail
*00 -  
+
*01 - Switchable Rail Switch
*01 -  
+
*02 - Switchable Rail Arrow
*02 -  
+
*03 - Rail Booster
*04 -  
+
*04 - Rail "roadblock"
 +
*05 - Capsule
 +
*06 - Rail Canyon Door
 +
*07 - Floor Grate
 +
*08 - Platform with 3 rails
 +
*09 -
 +
*0A -
 +
*1B -
 +
*2C - Tunnel
 +
*2D - Engine Core
 +
*3E - Internal mechanism for giant cannon
 +
*3F - Giant cannon (the one which shoots you)
 +
*40 - Trigger: Sound Ambience (trains/machinery)
 +
*41 - Explosion effect
 +
*42 - Eggman's Base
 +
*43 -
 +
*80 -
 +
*81 -
 +
*82 -
 +
*83 -
 +
*84 -
 +
*85 -
 +
*86 -
 +
*87 -
 +
*88 -
 +
*89 -
 +
*8A -
 +
*8B -
 +
*8C -
 +
*8D -
 +
*8E -
 +
*8F -
 +
*90 -
 +
*91 -
 +
*92 -
 +
*93 -
 +
*94 -
 +
*95 -
 +
*96 -
 +
*97 -
 +
*98 -
 +
 
 +
=== List 08 ===
 +
Bullet Station list.
 +
 
 +
*00 - Fan
 +
*01 - Mountain side giant cannon decoration
 +
*02 - Pole with flashing light
 +
*03 -  
 +
*04 - Wall side small cannon decoration
 +
 
 +
=== List 09 ===
 +
Frog Forest list.
  
=== List 09 (Frog Forest, Lost Jungle) ===
 
 
*00 - Frog
 
*00 - Frog
 +
*01 -
 
*02 - Small Green Platform
 
*02 - Small Green Platform
 
*03 - Bouncy Mushroom (smaller)
 
*03 - Bouncy Mushroom (smaller)
 
*04 - Tall Vertical Vine
 
*04 - Tall Vertical Vine
 
*05 - Tall tree that grows and has many platforms
 
*05 - Tall tree that grows and has many platforms
*06 - Ivy that grows as you grind on it (Frog Forest)
+
*06 - Ivy that grows as you grind on it
 
*07 - Large Yellow Platform
 
*07 - Large Yellow Platform
 
*08 - Bouncy Fruit
 
*08 - Bouncy Fruit
 
*09 - Bouncy Mushroom (bigger)
 
*09 - Bouncy Mushroom (bigger)
 +
*0A -
 
*0B - Swinging Vines
 
*0B - Swinging Vines
 
*0C - Mossy Ball
 
*0C - Mossy Ball
 +
*0D -
 
*0E - Giant Alligator (Lost Jungle)
 
*0E - Giant Alligator (Lost Jungle)
*12 - ? (Lost Jungle)
+
*0F -
*13 - ? (Lost Jungle)
+
*10 -
 +
*11 -
 +
*12 -  
 +
*13 -  
 
*80 - Butterfiles (Frog Forest)
 
*80 - Butterfiles (Frog Forest)
 
*81 - Pink Flower (Frog Forest)
 
*81 - Pink Flower (Frog Forest)
Line 309: Line 439:
 
*8C - Flowers growing from swamp (Lost Jungle)
 
*8C - Flowers growing from swamp (Lost Jungle)
 
*8D - Wiggling Mushroom (Lost Jungle)
 
*8D - Wiggling Mushroom (Lost Jungle)
 +
*8E -
 +
*8F -
 +
*90 -
 
*91 - Hanging Yellow Fruit (Lost Jungle)
 
*91 - Hanging Yellow Fruit (Lost Jungle)
 +
*92 -
 
*93 - Moss patch on the ground (Lost Jungle)
 
*93 - Moss patch on the ground (Lost Jungle)
 +
*94 -
 
*95 - Large green thing that sprouts from the wall (Lost Jungle)
 
*95 - Large green thing that sprouts from the wall (Lost Jungle)
 +
*96 -
 
*97 - Large Plant (Lost Jungle)
 
*97 - Large Plant (Lost Jungle)
 
*98 - Swamp Water for the entire level (Lost Jungle)
 
*98 - Swamp Water for the entire level (Lost Jungle)
 
*9A - Floating Trunk (Lost Jungle)
 
*9A - Floating Trunk (Lost Jungle)
  
=== List 11 (Hang Castle, Mystic Mansion, Robot Storm) ===
+
=== List 11 ===
 +
Hang Castle list.
 +
 
 
*00 - Teleporter Switch
 
*00 - Teleporter Switch
 
*01 - Door (Hang Castle)
 
*01 - Door (Hang Castle)
Line 327: Line 465:
 
*08 - Door (Mystic Mansion)
 
*08 - Door (Mystic Mansion)
 
*09 - Chaotix Key (Hang Castle)
 
*09 - Chaotix Key (Hang Castle)
*0B - Door Close Trigger? (Mystic Mansion)
+
*0A -
*0C - Music Control Trigger (Mystic Mansion)
+
*0B - Trigger: Door Close? (Mystic Mansion)
 +
*0C - Trigger: Music Control (Mystic Mansion)
 
*80 - Glow Effect (Mystic Mansion)
 
*80 - Glow Effect (Mystic Mansion)
 
*81 - Bridge (Mystic Mansion)
 
*81 - Bridge (Mystic Mansion)
*82 and 83 - Related to lightning effect seen from windows (Mystic Mansion)
+
*82 -
 +
*83 -  
 
*84 - Smoke Screen (Hang Castle)
 
*84 - Smoke Screen (Hang Castle)
 
*85 - Skeleton (Mystic Mansion)
 
*85 - Skeleton (Mystic Mansion)
Line 343: Line 483:
 
*8D - Swinging Axe (Hang Castle)
 
*8D - Swinging Axe (Hang Castle)
  
=== List 13 (Egg Fleet) ===
+
=== List 13 ===
 +
Egg Fleet list.
 +
 
 +
*00 - Normal Cannon (Egg Fleet)
 +
*01 - Large Cannon (Egg Fleet)
 +
*02 - Horizontal Cannon (Egg Fleet)
 +
*03 - Moving Cannon for Belly Flop/Hammer Down
 +
*04 - Rectangular Floating Platform (Egg Fleet)
 +
*05 - Door (Egg Fleet/Final Fortress)
 +
*06 - Square Floating Platform
 +
*07 - Roadblock
 +
*08 - Conveyor Belt
 +
*14 - Trigger: Decoration Battleship?
 +
*15 - Another Cannon
 +
*20 - Trigger: Destroy Battleship
 +
*80 -
 +
*81 -
 +
*82 -
 +
*83 -
 +
*84 -
 +
*85 -
 +
*86 -
 +
*87 -
 +
*88 -
 +
*89 -
 +
*8A -
 +
*8B -
 +
*8C -
 +
*8D -
 +
*8E -
 +
*8F -
 +
*90 -
 +
*91 -
 +
*92 -
 +
*93 -
 +
*94 -
 +
*95 -
 +
*96 -
 +
*97 -
 +
*98 -
 +
*99 -
 +
*9A -
 +
*9B -
 +
 
 +
=== List 14 ===
 +
Final Fortress list.
 +
 
 +
*00 - Rectangular Floating Platform (Final Fortress)
 +
*01 - Normal Cannon (Final Fortress)
 +
*02 - Trigger: Laser Cannon
 +
*03 - Laser Cannon Laser
 +
*04 - Laser Cannon
 +
*05 - Self-Destruct Switch
 +
*06 - Large Breakable Block (Final Fortress)
 +
*07 -
 +
*08 -
 +
*09 -
 +
*0A -
 +
*80 -
 +
*81 -
 +
*82 -
 +
*83 -
 +
*84 -
 +
*85 -
 +
*86 -
 +
*87 -
 +
*88 -
 +
*89 -
 +
*8A -
 +
*8B -
 +
*8C -
 +
*8D -
 +
*8E -
 +
*8F -
 +
*90 -
 +
*91 -
 +
*92 -
 +
*93 -
 +
*94 -
 +
*95 -
 +
*96 -
 +
*97 -
 +
*98 -
  
=== List 14 (Final Fortress) ===
+
=== List 15 ===
 +
List with general enemies and Special Stage objects.
  
=== List 15 (Enemy) ===
 
 
*00 - [[Egg Flapper]]
 
*00 - [[Egg Flapper]]
 
*10 - [[Egg Pawn]]
 
*10 - [[Egg Pawn]]
Line 353: Line 575:
 
*30 - [[Falco]]
 
*30 - [[Falco]]
 
*40 - [[Egg Hammer]]
 
*40 - [[Egg Hammer]]
 +
*50 -
 +
*60 -
 
*70 - [[Cameron]]
 
*70 - [[Cameron]]
 +
*80 -
 
*90 - [[Rhino Liner]]
 
*90 - [[Rhino Liner]]
 +
*A0 -
 +
*B0 -
 
*C0 - [[Egg Bishop]]
 
*C0 - [[Egg Bishop]]
 
*D0 - [[E-2000]]
 
*D0 - [[E-2000]]
*D2 - Metal Madness (?)
+
*D1 -
*D3 - Metal Overlord (?)
+
*D2 -  
 +
*D3 -  
 +
*D4 -
 +
*D5 -
 +
*E0 -
 +
*E1 -
 +
*E2 -
 +
*E3 -
 +
*E4 -
 +
*E5 -
 +
*E6 -
 +
*E7 -
 +
*E8 -
 +
*E9 -
 +
*EA -
 +
*EB -
 +
*EC -
 +
*ED -
 +
*EE -
 +
*EF -
 +
*F0 -
 +
*F1 -
 +
*F2 -
 +
*F3 -
 +
*F4 -
 +
*F5 -
 +
*F6 -
 +
 
 +
=== List 16 ===
 +
Egg Emperor list.
 +
 
 +
*00 -
 +
*01 -
 +
*02 -
  
=== List 16 (Egg Emperor) ===
+
=== List 20 ===
 +
Egg Hawk list.
  
=== List 20 (Egg Hawk) ===
 
 
*80 - Road Decoration Block
 
*80 - Road Decoration Block
 
*81 - Whale Statue
 
*81 - Whale Statue
 
*82 - Tower
 
*82 - Tower
 +
*83 -
  
=== List 33 (Multiplayer Bobsled Race) ===
+
=== List 23 ===
 +
Egg Albatross list.
 +
 
 +
*00 - Trigger: Egg Albatross?
 +
 
 +
=== List 33 ===
 +
List is used mainly in the multiplayer Bobsled Races.
 +
 
 +
*00 -
 +
*01 -
 +
*80 -
 +
*81 -
 +
*82 -
 +
*83 -
 +
 
 +
=== List FF ===
 +
Unknown list.
 +
 
 +
*F0 - Something related to camera control (?)
 +
*F1 -
 +
*F2 -
 +
*F3 -
 +
*FE -
 +
*FF -
  
 
== Object Specific Settings ==
 
== Object Specific Settings ==
Line 530: Line 814:
 
|Elevation (Power) (first word)<br />Azimuth (Power) (second word)
 
|Elevation (Power) (first word)<br />Azimuth (Power) (second word)
 
|Control time (Power) (first word)<br />Power (Power) (second word)
 
|Control time (Power) (first word)<br />Power (Power) (second word)
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|13 - Weight
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|14 - Breakable Weight
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Line 539: Line 847:
 
|Rotate Speed (float)
 
|Rotate Speed (float)
 
|Scale (float)
 
|Scale (float)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|16 - Laser Fence
 +
|
 +
|
 +
|
 
|
 
|
 
|
 
|
Line 749: Line 1,069:
 
|
 
|
 
|Uses Link ID for linking with another flower or item box
 
|Uses Link ID for linking with another flower or item box
 +
|-
 +
|01
 +
|05 - Moving Ruin Platform
 +
|Type (first byte):<br />00 - Small<br />01 - Normal<br />02 - Large
 +
|Vertical moving distance
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|Uses Link ID for linking with trigger
 
|-
 
|-
 
|05
 
|05
Line 755: Line 1,087:
 
|Type (long)
 
|Type (long)
 
|Speed (long)
 
|Speed (long)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|07
 +
|03 - Rail Booster
 +
|Speed (float)
 +
|
 +
|
 
|
 
|
 
|
 
|

Revision as of 03:00, 2 January 2017

SCHG: Sonic Heroes
Main Article
Mechanic Editing

DOL Editing
EXE Editing
Music Pointers
Object Parameter Data
Relocatable Editing (PC)
File Offsets

Model Editing
Collision Format
Model Format
Level Editing

Camera Editing
Event Editing
ID list
Indirect Editing
Light Editing
Level List
Object Editing
Object Porting
Spline Editing
Texture Animation Editing
Visibility Editing

Particle Editing
Particle Editing
Sound Editing
Music List

Sound Editing
Voices

SCHG How-Tos

Custom Object Material Effect Tutorial
Level Editing Tutorial


In the PC version of the game, level object layouts are stored in big endian .bin files located in the /dvdroot folder.

File Name Layout

The file names are stored in the following format:

sLL_NN.bin
LL is the level number and NN is the player number.
Note: Some files start with stg instead of s

The level numbers (LL) are the ones used in the File Names and Data list.

Players:

  • DB - Decoration for all teams
  • PB - Objects for all teams
  • P1 - Team Sonic
  • P2 - Team Dark
  • P3 - Team Rose
  • P4 - Team Chaotix
  • P5 - Super Hard

DB files contain mostly decoration and objects that don't interact with the players, such as grass patches. PB files contain normal stage objects. Both files are loaded for all teams. The object lists are the same, so there's no restriction for which objects can be placed in any of the files. There doesn't seem to be any difference in the way each of the files are loaded, so they are most likely separate for organization.
Sea Gate, special stages, team battles, Last story and multiplayer levels have only the DB and PB files.

Object File Layout

The files are made up by two sections: the main section and the misc. section.

  • The main section starts at offset 0x00 (the beginning of the file) and ends at offset 0x18000. Each entry is 0x30 bytes long, so the files have a maximum of 2048 objects. Each entry defines general information for the object, such as type, position and rotation. Blank entries are ignored.
  • The misc. section starts at offset 0x18000. Each entry is 0x24 bytes long. The retail files are all 0x21000 bytes long, so they all have a maximum of 1024 misc. entries for the objects. This number can be increased or decreased, however, as the file size can be changed and the game will still load it normally; the number of misc. section entries can even go past the maximum number of main section entries. The misc. section contains object-specific data.

Each entry in the main section may contain an ID which references one entry in the misc. section (very few objects don't).
In the original files there is usually a lot of "junk" in them (huge empty spaces with no data and lots of unreferenced misc. section entries).

Main Section Entries

This array starts at the beginning of the .bin file. Each entry is 0x30 bytes long. This section contains most basic info for the objects.

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset Type Description
0x00 Float X Position
0x04 Float Y Position
0x08 Float Z Position
0x0C 4 bytes X Rotation
0x10 4 bytes Y Rotation
0x14 4 bytes Z Rotation
0x18 2 bytes Usually 00 02
Ignored
0x1A Byte 0x00 for PB/DB
0x20 for Sonic
0x40 for Dark
0x60 for Rose
0x80 for Chaotix
0xA0 for Super Hard
Ignored, objects load regardless of this
0x1B Byte Usually 09
Must be an odd number for object to load
0x1C 4 bytes Usually 00 00 00 00
Ignored?
0x20 8 bytes Repeats the previous 8 bytes
Ignored?
0x28 Byte Object list
0x29 Byte Object type
0x2A Byte Link ID
0x2B Byte Render distance
0x2C 2 bytes Null?
0x2E 2 bytes Misc. Entry ID
  • X, Y and Z positions: location of the object in the world.
  • X, Y and Z rotations: angle of the object in the world.
  • 16 bytes have unknown function. Most of this seems to be ignored, but one value must be an odd number for the object to load.
  • Object list: this byte sets which list the object will be chosen from.
  • Object type: this byte sets which object from the list will be loaded.
  • Link ID: this is used to link two or more objects together, such as switches and doors, triggers, frogs and plants, bingo table and numbers, enemies and cages, warp flowers and more.
  • Render distance: this multiplier sets from which distance the object starts being rendered. 0 makes the object not load.
  • Misc. Entry ID: this chooses which misc. entry array will be used by this object. This connection is made solely based on an offset. For example: if this is set to 3, it will use misc. entry number 3, located at offset 0x1806C (0x18000 + 3*0x24). This is set to 0 on some objects: those use misc. entry number 0, which must be left blank.

Retail files have an interesting organization when it comes to the order of the objects in the file: they are ordered by the misc. entry ID, which is set with regards to the offset of the entry in the file. This is actually completely unecessary, as objects can be put in any order. Multiple objects can reference the same misc. entry, which is also not done in retail files.

Misc. Section Entries

This array starts at offset 0x18000 in the .bin file and each entry is 0x24 bytes long. It sets more object specific settings, such as spring strength or item box content.
Entry number 0 is left blank as it's reserved for objects that don't have any misc. settings. So the first relevant entry is entry number 1, at 0x18024.

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset Type Description
0x00 Word Always 01 00
0x02 Word Section ID

This entire first long is completely ignored, and used only to aid development, as the entry is picked based on its offset.
The rest of the entry varies from object to object, and can be multiple bytes, words, longs or floats. They're explained in the Object Specific Settings section.

Object Lists

The setidtbl.bin file contains a list of all objects, along with flags setting in which level each one is available (more information in this page). The list has 438 entries (the total number of objects in the game), all of which are listed below. Many of the entries are actually unused and crash the game when placed. The EXE has leftover debug data for all objects.
These lists are incomplete. Some entries might be incorrect.

List 00

General list.

  • 01 - Spring (TObjSpring)
  • 02 - Triple Spring (TObj3Spring)
  • 03 - Ring (TObjRing)
  • 04 - Hint Ring (TObjHintRing)
  • 05 - Switch (TObjSwitch)
  • 06 - Push/Pull Switch (TObjSwitchPushPull)
  • 07 - Target Switch (TObjTarget)
  • 08 -
  • 09 -
  • 0A -
  • 0B - Dash Panel (TObjDashpanel)
  • 0C - Dash Ring (TObjDashring)
  • 0D - Rainbow Hoops (TObjBigrings)
  • 0E - Checkpoint (TObjCheckpoint)
  • 0F - Dash Ramp (TObjJumppanel)
  • 10 - Cannon (TObjCannon)
  • 11 -
  • 12 -
  • 13 - Weight (TObjWeight)
  • 14 - Breakable Weight (TObjWeightExt)
  • 15 - Spike Ball (TObjIronball)
  • 16 - Laser Fence (TObjLaserFence)
  • 17 -
  • 18 - Item Box (TObjItembox)
  • 19 - Item Balloon (TObjItembaloon)
  • 1A -
  • 1B - Goal Ring (TObjGoalring)
  • 1C -
  • 1D - Pulley (TObjReel)
  • 1E -
  • 20 - Wooden Box (TObjContWood)
  • 21 - Metal Box (TObjContIron)
  • 22 - Steel Box (TObjContUnbreakable)
  • 23 - Chao (TObjChao)
  • 24 - Cage Box (TObjCage)
  • 25 - Formation Sign (TObjSignal)
  • 26 - Formation Change Gate (TObjFormGate)
  • 27 -
  • 28 - Propeller Flower (TObjPropeller)
  • 29 - Pole (TObjPole)
  • 2A -
  • 2B -
  • 2C - Power Gong (TObjRollDoor)
  • 2D -
  • 2E - Fan (TObjFan)
  • 2F -
  • 30 -
  • 31 - Case (TObjCase)
  • 32 - Chaotix Warp Flower (TObjFlowerCommon)
  • 33 -
  • 50 - Invisible collision object
  • 51 -
  • 52 -
  • 53 -
  • 54 -
  • 55 -
  • 56 - Trigger: Talking (TObjHintColli)
  • 57 -
  • 58 -
  • 59 - Trigger: Light modifier (TObjLightColli)
  • 60 - Trigger: Unknown
  • 61 - Trigger: Disable player input (TObjNoInputCollision)
  • 62 - Trigger: Egg Hawk
  • 63 - Trigger: Falco
  • 64 - Trigger: Hurt
  • 65 - Trigger: Unknown
  • 66 -
  • 67 - Special Stage Key (TObjKey)
  • 80 - Trigger: Teleport (TObjWarp)
  • 81 -
  • 82 -

List 01

Seaside Hill list.

  • 02 - Large Moving Block on Rails
  • 03 - Large Sliding Block
  • 04 - Large Breakable Block (Seaside Hill)
  • 05 - Moving Ruin Platform
  • 06 -
  • 07 -
  • 08 - Trigger: Event Activator (1)
  • 09 -
  • 0A - Sun
  • 0B - Chaotix Hermit Crab
  • 80 - Flower Patch
  • 81 - Decoration pole with spike
  • 82 - Whale
  • 83 - Seagulls
  • 84 - Large Colored Bird
  • 85 -
  • 86 - Waterfall (large)
  • 87 - Tides
  • 88 - Small Stone Platform
  • 89 - Waterfall (small)
  • FF - Water splash effect

List 02

Ocean Palace list.

  • 00 - Crumbling Stone Pillar
  • 01 - Falling Stone Structure
  • 02 - Breakable Door
  • 03 - Small Breakable Block
  • 04 - Kaos (the thing that chases you)
  • 05 -
  • 06 - Moving Item Balloon
  • 07 -
  • 08 -
  • 09 -
  • 0A -
  • 0B - Trigger: Event Activator (2)
  • 0C - Trigger: Kaos
  • 80 -
  • 81 - Turtle Feet
  • 82 -
  • 83 - Flowing Water
  • 84 - Plant
  • 85 - Ruin decoration

List 03

Grand Metropolis list.

  • 00 - Accelerator Road
  • 01 -
  • 02 - Road energy blocker
  • 03 - Grand Metropolis door
  • 04 - Falling Bridge
  • 05 -
  • 06 - Flying car spawner
  • 07 - Blimp with platform
  • 08 - Accelerator (invisible, pushes you foward)
  • 80 -
  • 81 - Plane trigger
  • 82 -
  • 83 -
  • 84 - Energy piston
  • 85 - Flashing floor lights
  • 86 - HEXAeco Signboard

List 04

Power Plant list.

  • 00 - Upward path
  • 01 - Energy column
  • 02 - Elevator
  • 03 - Lava Section Platform
  • 04 - Energy blocker for lava section
  • 05 -
  • 06 - Fireball
  • 08 - Energy blocker for column
  • 10 - Orange Door
  • 12 - Lava
  • 13 - Energy blocker for elevator
  • 14 -
  • 15 - Green upward path
  • 16 - Elevator Support Column
  • 80 -
  • 81 - Energy Wall Background
  • 82 - Crane
  • 83 - Hexagonal Satellite
  • 84 - HEXAeco Rotating Wall thing
  • 85 - Strip of flashing floor arrows
  • 86 -

List 05

Casino Park list.

  • 00 - Small Bumper (Pinball Tables)
  • 01 - Green Sphere "Spring"
  • 02 - Flipper (Pinball Tables)
  • 03 - Small Triangular Bumper (Pinball Tables)
  • 04 - Bumpy Star Panel (Pinball Tables)
  • 05 - Bumpy Star Panel (used outside the tables)
  • 06 - Large Triangular Bumper (Pinball Tables)
  • 07 - BINGO "Lost" Floating Marker (BINGO Highway)
  • 08 - Casino Style Door
  • 09 - Breakable Glass Floor
  • 0A - Floating Die
  • 0B - Triple Slot (Pinball Tables)
  • 0C - Single Slot (Pinball Tables)
  • 0D - Bingo Chart (BINGO Highway)
  • 0E - Bingo Number (BINGO Highway)
  • 0F -
  • 10 - Dash Arrow (Pinball Tables)
  • 11 - Chaotix Casino Chip (BINGO Highway)
  • 80 - Floating Indicator Light Arrow
  • 81 - Large Floating Arrow (Casino Park)
  • 82 - Large Floating Letter (Casino Park)
  • 83 -
  • 84 - Giant Die (Casino Park)
  • 85 - Giant Slot (Casino Park)
  • 86 - Giant Roulette
  • 87 - Giant Casino Chip (BINGO Highway)
  • 88 -

List 07

Rail Canyon list.

  • 00 - Switchable Rail
  • 01 - Switchable Rail Switch
  • 02 - Switchable Rail Arrow
  • 03 - Rail Booster
  • 04 - Rail "roadblock"
  • 05 - Capsule
  • 06 - Rail Canyon Door
  • 07 - Floor Grate
  • 08 - Platform with 3 rails
  • 09 -
  • 0A -
  • 1B -
  • 2C - Tunnel
  • 2D - Engine Core
  • 3E - Internal mechanism for giant cannon
  • 3F - Giant cannon (the one which shoots you)
  • 40 - Trigger: Sound Ambience (trains/machinery)
  • 41 - Explosion effect
  • 42 - Eggman's Base
  • 43 -
  • 80 -
  • 81 -
  • 82 -
  • 83 -
  • 84 -
  • 85 -
  • 86 -
  • 87 -
  • 88 -
  • 89 -
  • 8A -
  • 8B -
  • 8C -
  • 8D -
  • 8E -
  • 8F -
  • 90 -
  • 91 -
  • 92 -
  • 93 -
  • 94 -
  • 95 -
  • 96 -
  • 97 -
  • 98 -

List 08

Bullet Station list.

  • 00 - Fan
  • 01 - Mountain side giant cannon decoration
  • 02 - Pole with flashing light
  • 03 -
  • 04 - Wall side small cannon decoration

List 09

Frog Forest list.

  • 00 - Frog
  • 01 -
  • 02 - Small Green Platform
  • 03 - Bouncy Mushroom (smaller)
  • 04 - Tall Vertical Vine
  • 05 - Tall tree that grows and has many platforms
  • 06 - Ivy that grows as you grind on it
  • 07 - Large Yellow Platform
  • 08 - Bouncy Fruit
  • 09 - Bouncy Mushroom (bigger)
  • 0A -
  • 0B - Swinging Vines
  • 0C - Mossy Ball
  • 0D -
  • 0E - Giant Alligator (Lost Jungle)
  • 0F -
  • 10 -
  • 11 -
  • 12 -
  • 13 -
  • 80 - Butterfiles (Frog Forest)
  • 81 - Pink Flower (Frog Forest)
  • 82 - Small Mushroom (Frog Forest)
  • 83 - Medium Plant (Frog Forest)
  • 84 - Small Plant with red leaves (Frog Forest)
  • 85 - Small Plant (Frog Forest)
  • 86 - Big Plant (Frog Forest)
  • 87 - Yellow Plant (Frog Forest)
  • 88 - Green Mushroom (Frog Forest)
  • 89 - Puddle (Frog Forest)
  • 8A - Plant with trunk (Frog Forest)
  • 8B - Large Leaf (Frog Forest)
  • 8C - Flowers growing from swamp (Lost Jungle)
  • 8D - Wiggling Mushroom (Lost Jungle)
  • 8E -
  • 8F -
  • 90 -
  • 91 - Hanging Yellow Fruit (Lost Jungle)
  • 92 -
  • 93 - Moss patch on the ground (Lost Jungle)
  • 94 -
  • 95 - Large green thing that sprouts from the wall (Lost Jungle)
  • 96 -
  • 97 - Large Plant (Lost Jungle)
  • 98 - Swamp Water for the entire level (Lost Jungle)
  • 9A - Floating Trunk (Lost Jungle)

List 11

Hang Castle list.

  • 00 - Teleporter Switch
  • 01 - Door (Hang Castle)
  • 02 - Cracked Wall (Hang Castle)
  • 03 - Floating Platform (Hang Castle)
  • 04 - Flame/Torch
  • 05 - Pumpkin Ghost
  • 06 - Floating Platform (Mystic Mansion)
  • 07 - Cracked Wall (Mystic Mansion)
  • 08 - Door (Mystic Mansion)
  • 09 - Chaotix Key (Hang Castle)
  • 0A -
  • 0B - Trigger: Door Close? (Mystic Mansion)
  • 0C - Trigger: Music Control (Mystic Mansion)
  • 80 - Glow Effect (Mystic Mansion)
  • 81 - Bridge (Mystic Mansion)
  • 82 -
  • 83 -
  • 84 - Smoke Screen (Hang Castle)
  • 85 - Skeleton (Mystic Mansion)
  • 86 - Skeleton Trigger (Mystic Mansion)
  • 87 - Spinning Skeleton Hands (Mystic Mansion)
  • 88 - Curtain (Hang Castle)
  • 89 - Glowing spider signs (Hang Castle)
  • 8A - Tree (Hang Castle)
  • 8B - Spiked plant (decoration) (Hang Castle)
  • 8C - Small plant (decoration) (Hang Castle)
  • 8D - Swinging Axe (Hang Castle)

List 13

Egg Fleet list.

  • 00 - Normal Cannon (Egg Fleet)
  • 01 - Large Cannon (Egg Fleet)
  • 02 - Horizontal Cannon (Egg Fleet)
  • 03 - Moving Cannon for Belly Flop/Hammer Down
  • 04 - Rectangular Floating Platform (Egg Fleet)
  • 05 - Door (Egg Fleet/Final Fortress)
  • 06 - Square Floating Platform
  • 07 - Roadblock
  • 08 - Conveyor Belt
  • 14 - Trigger: Decoration Battleship?
  • 15 - Another Cannon
  • 20 - Trigger: Destroy Battleship
  • 80 -
  • 81 -
  • 82 -
  • 83 -
  • 84 -
  • 85 -
  • 86 -
  • 87 -
  • 88 -
  • 89 -
  • 8A -
  • 8B -
  • 8C -
  • 8D -
  • 8E -
  • 8F -
  • 90 -
  • 91 -
  • 92 -
  • 93 -
  • 94 -
  • 95 -
  • 96 -
  • 97 -
  • 98 -
  • 99 -
  • 9A -
  • 9B -

List 14

Final Fortress list.

  • 00 - Rectangular Floating Platform (Final Fortress)
  • 01 - Normal Cannon (Final Fortress)
  • 02 - Trigger: Laser Cannon
  • 03 - Laser Cannon Laser
  • 04 - Laser Cannon
  • 05 - Self-Destruct Switch
  • 06 - Large Breakable Block (Final Fortress)
  • 07 -
  • 08 -
  • 09 -
  • 0A -
  • 80 -
  • 81 -
  • 82 -
  • 83 -
  • 84 -
  • 85 -
  • 86 -
  • 87 -
  • 88 -
  • 89 -
  • 8A -
  • 8B -
  • 8C -
  • 8D -
  • 8E -
  • 8F -
  • 90 -
  • 91 -
  • 92 -
  • 93 -
  • 94 -
  • 95 -
  • 96 -
  • 97 -
  • 98 -

List 15

List with general enemies and Special Stage objects.

List 16

Egg Emperor list.

  • 00 -
  • 01 -
  • 02 -

List 20

Egg Hawk list.

  • 80 - Road Decoration Block
  • 81 - Whale Statue
  • 82 - Tower
  • 83 -

List 23

Egg Albatross list.

  • 00 - Trigger: Egg Albatross?

List 33

List is used mainly in the multiplayer Bobsled Races.

  • 00 -
  • 01 -
  • 80 -
  • 81 -
  • 82 -
  • 83 -

List FF

Unknown list.

  • F0 - Something related to camera control (?)
  • F1 -
  • F2 -
  • F3 -
  • FE -
  • FF -

Object Specific Settings

There is a lot of debug text data in the EXE which explains the misc. settings for most of the game's objects. It was probably used to aid the developers when building the level layouts, and can help us understand what each of them does too. If you search for "OBJECT" as text in the EXE in a hex editor you will find it
These settings are defined in the Misc. Section Entries:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

List Object 0x04 0x08 0x0C 0x10 0x14 0x18 0x1C 0x20 Notes
00 01 - Spring Power (float; default 5.0) Control time (first word)
00 02 - Triple Spring Power (float; default 5.0) Scale Control time (first word)
Item (second word)
00 03 - Ring Related to placing in lines/circles
Will check debug data for info later
Lenght of line (float)
00 04 - Hint Ring Line to play (first word)
00 05 - Switch Has many settings
00 06 - Push/Pull Switch First byte:
00 - Push to turn on
01 - Pull to turn on
Uses Link ID for activator
00 07 - Target Switch First byte sets item type
Third byte sets link ID
Uses Link ID for activator
00 0B - Dash Panel Speed (float) Control time (first word)
00 0C - Dash Ring Speed (float) Control time (first word)
00 0D - Rainbow Hoops Type (first word):
00 - Speed
01 - Fly (1)
02 - Fly (2)
03 - Power (S)
04 - Power (L)
Additional control time (second word)
Speed (float, default 5.0) Offset (float)
00 0E - Checkpoint Priority (first word)
00 0F - Dash Ramp Speed (Horizontal) (float) Speed (Vertical) (float) Control time (first word)
00 10 - Cannon Elevation (Speed) (first word)
Azimuth (Speed) (second word)
Control time (Speed) (first word)
Power (Speed) (second word)
Elevation (Fly) (first word)
Azimuth (Fly) (second word)
Control time (Fly) (first word)
Power (Fly) (second word)
Elevation (Power) (first word)
Azimuth (Power) (second word)
Control time (Power) (first word)
Power (Power) (second word)
00 13 - Weight
00 14 - Breakable Weight
00 15 - Spike Ball Type (long)
00 - Single
01 - Double
Rotate Speed (float) Scale (float)
00 16 - Laser Fence
00 18 - Item Box Item type (first byte) Link ID can be used to place box inside stuff
00 19 - Item Balloon Item type (first byte) Scale (float)
00 1B - Goal Ring No parameters
00 1D - Pulley Elevation (float) ? (float) ? (float) Type (first word):
00 - Up< br/>01 - Down
00 20 - Wooden Box No parameters
00 21 - Metal Box No parameters
00 22 - Steel Box No parameters
00 23 - Chao Radius (float) Angular Speed (float)
00 24 - Cage Can fly
00 25 - Formation Sign Formation (byte)
00 26 - Formation Change Gate Formation (byte) Width offset (float) Height offset (float)
00 28 - Propeller Flower
00 29 - Pole Has many settings
00 2C - Power Gong Has settings
00 2E - Fan Has many settings
00 31 - Cage Has settings
00 32 - Chaotix Warp Flower Type (first byte):
00 - Item
01 - Scaffold
02 - Warp
Scale (float) Rising Height (float) Uses Link ID for linking with another flower or item box
01 05 - Moving Ruin Platform Type (first byte):
00 - Small
01 - Normal
02 - Large
Vertical moving distance Uses Link ID for linking with trigger
05 86 - Giant Casino Chip Scale (float) Type (long) Speed (long)
07 03 - Rail Booster Speed (float)

Item Type List

  • 00 - Nothing
  • 01 - 5 Rings
  • 02 - 10 Rings
  • 03 - 20 Rings
  • 04 - Barrier
  • 05 - 1UP
  • 06 - Speed Shoes
  • 07 - Team Blast
  • 08 - Invincible
  • 09 - Speed Level Up
  • 0A - Fly Level Up
  • 0B - Power Level Up
  • 0C - Refill Flight Gauge

Egg Pawn Settings

List: 15
Object: 10

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

0x04
First byte: Start Type

  • 00 - Asleep
  • 01 - Walking
  • 02 - Stopped
  • 04 - Warp
  • 06 - Searching

Third byte: Weapon Type

  • 00 - None
  • 01 - Lance
  • 02 - Laser Cannon
  • 03 - M-Gun 90
  • 04 - M-Gun 120
  • 05 - M-Gun 150
  • 06 - M-Gun 180

Fourth Byte: Shield Type

  • 00 - None
  • 01 - Concrete Shield
  • 02 - Solid Shield
  • 03 - Spike Shield

0x08
Second byte: Distance from which robot can see you

0x0C: ?

0x10: Warp height (float)

0x14: ?

0x18: Shot speed (float)

0x1C Fourth byte: ?

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