Actions

SCHG

Difference between revisions of "Sonic Heroes/Object Editing"

From Sonic Retro

m (File Name Layout)
(List 07)
 
(64 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
In the PC version of the game, level object layouts are stored in big endian .bin files located in the /dvdroot folder.<br />
 
In the PC version of the game, level object layouts are stored in big endian .bin files located in the /dvdroot folder.<br />
  
== File Name Layout ==
+
==File Name layout==
 
The file names are stored in the following format:
 
The file names are stored in the following format:
  
Line 15: Line 15:
 
* DB - Decoration for all teams
 
* DB - Decoration for all teams
 
* PB - Objects for all teams
 
* PB - Objects for all teams
* P1 - Team Sonic
+
* P1 - [[Team Sonic]]: Sonic, Tails, & Knuckles; ForEdit: Espio, Charmy and Big
* P2 - Team Dark
+
* P2 - [[Team Dark]]: Shadow, Rouge & Omega
* P3 - Team Rose
+
* P3 - [[Team Rose]]: Amy, Cream, & Big
* P4 - Team Chaotix
+
* P4 - [[Team Chaotix]]: Espio, Charmy, & Vector
* P5 - Super Hard
+
* P5 - [[Super Hard]]: Always Team Sonic
  
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" style="width:auto;"
 
!Offset||Type||Description
 
!Offset||Type||Description
 
|-
 
|-
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. Each one is a signed 32 bit integer; 0x10000 = 360 degrees.
*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}}
  
{| class="prettytable"
+
{| class="prettytable" style="width:auto;"
 
!Offset||Type||Description
 
!Offset||Type||Description
 
|-
 
|-
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==
 +
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]]). List includes debug name for objects.
 +
 
 +
===List 00===
 +
General list.
 +
 
 +
*01 - [[Spring]] (SPRING OBJECT)
 +
*02 - [[Triple Spring]] (3SPRING OBJECT)
 +
*03 - [[Ring]] (RING OBJECT)
 +
*04 - [[Hint Ring]] (HINTRING OBJECT)
 +
*05 - [[Switch]] (SWITCH OBJECT)
 +
*06 - [[Push/Pull Switch]] (PUSH/PULL SWITCH)
 +
*07 - [[Target Switch]] (TARGET OBJECT)
 +
*0B - [[Dash Panel]] (DASHPANEL OBJECT)
 +
*0C - [[Dash Ring]] (DASHRING OBJECT)
 +
*0D - [[Rainbow Hoops]] (BIGRINGS OBJECT)
 +
*0E - [[Checkpoint]] (CHECKPOINT OBJECT)
 +
*0F - [[Dash Ramp]] (JUMPPANEL OBJECT)
 +
*10 - [[Cannon]] (CANNON OBJECT)
 +
*13 - [[Weight]] (WEIGHT OBJECT)
 +
*14 - [[Breakable Weight]] (BREAKABLEWEIGHTOBJECT)
 +
*15 - [[Spike Ball]] (IRONBALL OBJECT)
 +
*16 - [[Laser Fence]] (LASERFENCE OBJECT)
 +
*18 - [[Item Box]] (ITEMBOX OBJECT)
 +
*19 - [[Item Balloon]] (ITEMBALOON OBJECT)
 +
*1B - [[Goal Ring]] (GOALRING OBJECT)
 +
*1D - [[Pulley]] (REEL OBJECT)
 +
*20 - [[Wood Container]] (WOOD. CONT. OBJECT)
 +
*21 - [[Iron Container]] (IRON CONT. OBJECT)
 +
*22 - [[Unbreakable Container]] (UNBR. CONT. OBJECT)
 +
*23 - [[Chao]]
 +
*24 - [[Cage Box]] (CAGE OBJECT)
 +
*25 - [[Formation Sign]] (SIGNAL OBJECT)
 +
*26 - [[Formation Change Gate]] (FORMGATE OBJECT)
 +
*28 - [[Propeller]] (PROPELLER)
 +
*29 - [[Pole]] (POLE OBJECT)
 +
*2C - [[Power Gong]] (ROLLDOOR OBJECT)
 +
*2E - [[Fan]] (FAN OBJECT)
 +
*31 - [[Case]](CASE OBJECT)
 +
*32 - [[Warp Flower]] (FLOWER OBJECT)
 +
*50 - Invisible collision object (SET_COLLISION OBJECT)
 +
*56 - Trigger: [[Talking]] (HINTCOLLI OBJECT)
 +
*59 - Trigger: [[Light]] (LIGHT COLLISION)
 +
*60 - Trigger: [[Rhino Liner]] (RINO COL OBJECT)
 +
*61 - Trigger: [[Disable Input]] (NO_INPUT_COLLISION OBJECT)
 +
*62 - Trigger: [[Egg Hawk]] (EGGHAWK COLLI)
 +
*63 - Trigger: [[Falco]] (FLYER COL OBJECT)
 +
*64 - Trigger: [[Hurt]] (DAMAGE COLLISION)
 +
*65 - Trigger: [[Klagen]]? (CAPTURE COLLISION)
 +
*66 - BOB_JUMP_COLLISION OBJECT
 +
*67 - [[Special Stage Key]] (KEY OBJECT)
 +
*80 - Trigger: [[Teleport]] (WARP)
 +
*81 - OBJ SECollision
 +
*82 - NO OTTOTTO COLLISION
 +
 
 +
===List 01===
 +
Seaside Hill list.
 +
 
 +
*02 - [[Block on Rails]] (S01 TRUCK RAIL)
 +
*03 - [[Sliding Block]] (S01 TRUCK PATH)
 +
*04 - [[Breakable Block]] (Seaside Hill) (S01 Koware)
 +
*05 - [[Moving Ruin Platform]] (S01 MOVE ISEKI)
 +
*08 - Trigger: [[Ruins]] (S01 COLLI FOR ISEKI)
 +
*0A - [[Sun]] (LENSFRALE)
 +
*0B - [[Chaotix Hermit Crab]] (HERMITCRAB OBJECT)
 +
*80 - [[Flower Patch]] (S01 FLOWER)
 +
*81 - [[Flag]] (S01 FLAG)
 +
*82 - [[Whale]] (S01 SHACHI)
 +
*83 - [[Seagulls]] (S01 Kamome)
 +
*84 - [[Large Bird]] (S01 Gokurakucho)
 +
*85 - S01 COLLI FOR SHACHI
 +
*86 - [[Waterfall]] (large) (S01D IWAMIZU)
 +
*87 - [[Tides]] (S01 Wave)
 +
*88 - [[Small Stone Platform]] (S01 TAIHO DAIZA)
 +
*89 - [[Waterfall]] (small) (S01D FALL)
 +
*FF - Particle Effect (OBJ SetParticle)
 +
 
 +
===List 02===
 +
Ocean Palace list.
 +
 
 +
*00 - [[Crumbling Stone Pillar]] (S02 BreakRuin S)
 +
*01 - [[Falling Stone Structure]] (S02 BreakRuin L)
 +
*02 - [[Breakable Door]] (S02 BreakDoor)
 +
*03 - [[Small Breakable Block]] (S02 Break Gareki)
 +
*04 - [[Kaos]] (S02 Rolling)
 +
*05 - SCROLL RING OBJECT
 +
*06 - [[Moving Item Balloon]] (SCROLLLITEM OBJECT)
 +
*0A - S02 COLLI FOR QUAKE
 +
*0B - Trigger: [[Event Activator]] (INVOKE COLLI)
 +
*0C - Trigger: [[Kaos]] (S02 Rolling Colli)
 +
*80 - [[Moving structure buildings]] (S02D MovingLand)
 +
*81 - [[Turtle Feet]] (S02D Kameashi)
 +
*82 - S02 [[Kame Wave]]
 +
*83 - [[Flowing Water]] (S02D Water)
 +
*84 - [[Plant]] (S02D Green)
 +
*85 - [[Pole]] (S02D Pole)
 +
 
 +
===List 03===
 +
Grand Metropolis list.
 +
 
 +
*00 - [[Accelerator Road]] (S03 PIPE)
 +
*02 - [[Road Cap]] (S03 EggCap)
 +
*03 - [[Grand Metropolis door]] (S03 DOOR)
 +
*04 - [[Falling Bridge]] (S03 Bridge)
 +
*05 - S03 [[BigBridge2]]
 +
*06 - [[Flying cars]] (S03 Aircar)
 +
*07 - [[Blimp]] (S03 BaloonWK)
 +
*08 - [[Accelerator]] (S03 WalkWay)
 +
*80 - S03 [[Baloon Design]]
 +
*81 - [[Plane trigger]] (S03 Plane)
 +
*82 - S03 [[Train]]
 +
*83 - S03D [[Pipe Design]]
 +
*84 - [[Energy piston]] (S03D Pole)
 +
*85 - [[Flashing floor lights]] (S03D Light)
 +
*86 - [[HEXAeco Signboard]] (S03 SignBoard)
 +
 
 +
===List 04===
 +
Power Plant list.
 +
 
 +
*00 - [[Upward path]] (S04 ENERGYPipeUp)
 +
*01 - [[Energy column]] (S04D ECylinder)
 +
*02 - [[Elevator]] (S04D Elevator)
 +
*03 - [[Lava Platform]] (S04D ASHIBA)
 +
*04 - [[Lava Cap]] (S04 EggCapBig)
 +
*06 - [[Fireball]] (S04D EnergyFire)
 +
*08 - [[Column Cap]] (S04 EggCap2)
 +
*10 - [[Shutter]] (S04D Shutter)
 +
*12 - [[Lava]] (S04D Energy Up)
 +
*13 - [[Elevator Cap]] (S04 EggCapElev)
 +
*14 - [[Glass Ball Collision]] (S04 BallColli)
 +
*15 - [[Green upward path]] (S04 FLOATING PATH)
 +
*16 - [[Elevator Support Column]] (S04D PIPE ELEV)
 +
*80 - [[Glass Ball]] (S04D BallGlass)
 +
*81 - [[Energy Wall Background]] (S04 Wall)
 +
*82 - [[Crane]] (S04D Crane)
 +
*83 - [[Satellite]] (S04 Solar Robo)
 +
*84 - [[HEXAeco Wall Light]] (S04D RoomLight)
 +
*85 - [[Floor lights]] (S04D FloorLight)
 +
*86 - [[Lava Shutter]] (S04 BigShutter)
 +
 
 +
===List 05===
 +
Casino Park list.
 +
 
 +
*00 - [[Small Bumper]] (BOBIN)
 +
*01 - [[Green Sphere "Spring"]] (BOBINAIR)
 +
*02 - [[Flipper]] (FLIPPER)
 +
*03 - [[Triangular Bumper]] (TRISPRING)
 +
*04 - [[Bumpy Star Panel]] (SPRINGBLK)
 +
*05 - [[Air Bumpy Star Panel]] (SPRINGBLK_AIR)
 +
*06 - [[Large Bumper]] (BUMPER)
 +
*07 - [["X" Sign]] (X_SIGN)
 +
*08 - [[Casino Style Door]] (CASINODOOR)
 +
*09 - [[Breakable Glass Floor]] (GLASSFLOOR)
 +
*0A - [[Floating Dice]] (456DICE)
 +
*0B - [[Triple Slot]] (SLOTLARGE)
 +
*0C - [[Single Slot]] (SLOTSMALL)
 +
*0D - [[Bingo Chart]] (BINGOPANEL)
 +
*0E - [[Bingo Number]] (BINGOGATE)
 +
*10 - [[Dash Arrow]] (CASINODUSH)
 +
*11 - [[Casino Chip]] (S06CHIP OBJECT)
 +
*80 - [[Light Arrow Sign]] (XXXSIGN)
 +
*81 - [[Large Floating Arrow]] (YAJIRUSI)
 +
*82 - [[Large Floating Letter]] (MOJI)
 +
*83 - Unused Fireworks (BIGFIREWORKS)
 +
*84 - [[Giant Dice]] (BIGDICE)
 +
*85 - [[Giant Slot]] (BIGSLOT)
 +
*86 - [[Giant Roulette]] (ROULETTE)
 +
*87 - [[Giant Casino Chip]] (BIGCHIP)
 +
*88 - [[Skybox]] (TENKYU)
 +
 
 +
===List 06===
 +
Bingo Highway list.
 +
*00 - [[Bingo Chart]]
 +
*01 - [[Bingo Number]]
 +
 
 +
===List 07===
 +
Rail Canyon list.
 +
 
 +
*00 - [[Switchable Rail]] (TRAINCHANGERAIL)
 +
*01 - [[Switchable Rail Switch]] (TRAINCHANGESWITCH)
 +
*02 - [[Switchable Rail Arrow]] (TRAINCHANGEBOARD)
 +
*03 - [[Rail Booster]] (RAILDASH)
 +
*04 - [[Rail "roadblock"]] (CROSSING)
 +
*05 - [[Capsule]] (TRAINCAPSULE)
 +
*06 - [[Station Door]] (STATIONDOOR)
 +
*07 - [[Floor Grate]] (DUCT)
 +
*08 - Platform with 3 rails (RAILBOARD)
 +
*0A - DESTRUCTRAIL
 +
*1B - TRAINTRAIN
 +
*2C - [[Tunnel]] (TRAINROLLTUNNEL)
 +
*2D - [[Engine Core]] (TRAINCORE)
 +
*3E - [[Cannon Interior]] (BIGCANNON)
 +
*3F - [[Cannon Top]] (BIGCANNONTOP)
 +
*40 - Trigger: Train (TRAINCOLLISION)
 +
*41 - Explosion effect (IKARIBAKUHATU)
 +
*42 - [[Eggman's Base]] (EGGMASO)
 +
*43 - S08BOB COLLI_OBJECT
 +
*80 - DFAN
 +
*81 - RAILBUSH
 +
*82 - RAILBURBWIRE
 +
*83 - RAILCHANGERAIL
 +
*85 - RAILBULLETRACK
 +
*86 - RAILWATERSUPPLY
 +
*87 - RAILMECHTYPEABC
 +
*88 - RAILCAPEN
 +
*89 - RAILCAPEX
 +
*8A - RAILENDEN
 +
*8B - RAILENDEX
 +
*8C - RAILPOLLEX
 +
*8D - RAILPOLLGOL
 +
*8E - RAILPOLLGOR
 +
*8F - RAILTIE
 +
*90 - [[PROPELLER]]
 +
*91 - PISTON
 +
*92 - [[BARREL]]
 +
*93 - PULLEY
 +
*94 - EGGHORN
 +
*95 - TRAINAPPEAR ON/OFF
 +
*96 - BRIDGE
 +
*97 - AUTODOOR
 +
*98 - TRAINTOP
 +
 
 +
===List 08===
 +
Bullet Station list.
 +
 
 +
*00 - [[Fan]] (BLOWFAN)
 +
*01 - [[Mountain Cannonn]] (ROOMPILLAR)
 +
*02 - [[Pole]] (TORCH)
 +
*03 - [[WHEEL]]
 +
*04 - [[Wall Cannon]] (WCANNON)
 +
 
 +
===List 09===
 +
Frog Forest list.
 +
 
 +
*00 - [[Green Frog]] (FROGGREEN)*01 -
 +
*02 - [[Small Green Platform]] (RAINLEAF)
 +
*03 - [[Bouncy Mushroom]] (smaller) (RAINMUSH)
 +
*04 - [[Tall Vertical Vine]] (RAINIVY)
 +
*05 - [[Tall tree with platforms]] (RAINTREE)
 +
*06 - [[Ivy that grows as you grind on it]] (TUTA)
 +
*07 - [[Large Yellow Platform]] (RAINFLOOR
 +
*08 - [[Bouncy Fruit]] (RAINFRUIT)
 +
*09 - [[Bouncy Mushroom]] (bigger) (SPRING_MUSH)
 +
*0B - [[Swinging Vines]] (IVYJUMP)
 +
*0C - [[Mossy Ball]] (FLOATJ)
 +
*0D - STOPRAIN
 +
*0E - [[Alligator]] (ALIGATOR)
 +
*0F - RAINFRUITMI
 +
*10 - TUTA2
 +
*11 - TUTA3
 +
*12 - TUTAETC
 +
*13 - RAINCOLLISION
 +
*80 - [[Butterfiles]] (BUTTERFLY)
 +
*81 - [[Pink Flower]] (FLOWER)
 +
*82 - [[Small Mushroom]] (MUSHROOM)
 +
*83 - [[Medium Plant]] (KAZARIOBJ)
 +
*84 - [[Small Plant with red leaves]] (REDWEED)
 +
*85 - [[Small Plant]] (SIDA)
 +
*86 - [[Bush]] (BUSH)
 +
*87 - [[Yellow Plant]] (TSUKUSHI)
 +
*88 - [[Green Mushroom]] (PEPE)
 +
*89 - [[Pond]] (POND)
 +
*8A - [[Palmtree]] (PALM)
 +
*8B - [[Large Leaf]] (LEAFAA)
 +
*8C - [[Water plants]] (WATERPLANT)
 +
*8D - [[Wiggling Mushroom]] (MUSHANIM)
 +
*91 - [[Hanging Yellow Fruit]] (DISPFRUIT)
 +
*92 - TREELEAF
 +
*93 - Moss patch on the ground (BUSHSQ)
 +
*95 - [[Large green thing]] (BUSHZENMAI)
 +
*97 - [[Large plant]] (REAFREDGREEN)
 +
*98 - [[Swamp Water]] (WATERSURFACE)
 +
*99 - POWDER
 +
*9A - [[Floating Trunk]] (WANIBREAK)
 +
*9B - [[Rain]]
 +
 
 +
===List 10===
 +
Lost Jungle list.
 +
*00 - [[Black Frog]]
 +
*01 - [[Bouncy Fruit]]
 +
*02 - [[Rain]]
 +
*03 - [[Pond]]
 +
*04 - [[Swamp Water]]
  
== Object Lists ==
+
===List 11===
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 />
+
Hang Castle list.
The objects which are available for placement in each level are not defined by the list themselves; for example, although the Pulley is in the global list, placing it in Seaside Hill will crash the game. And some objects from list 01, which would be the Seaside Hill list, can be placed in Ocean Palace and even in some other levels. Which objects are available for use in each level is probably set in the EXE.<br />
 
Note: These lists were based on tests that weren't very well done and might be incorrect or incomplete.
 
  
=== List 00 (General) ===
+
*00 - [[Teleporter Switch]] (S11WARP OBJECT)
*00 - Nothing
+
*01 - [[Castle Door]]
*01 - Spring
+
*02 - [[Castle Cracked Wall]] (S11WALL OBJECT)
*02 - Triple Spring
+
*03 - [[Castle Floating Platform]] (SCAFFOLD OBJECT)
*03 - Ring
+
*04 - [[Flame/Torch]] (S11FIRE OBJECT)
*04 - Hint Ring
+
*05 - [[Pumpkin Ghost]] (S11GHOST OBJECT)
*05 - Switch
+
*06 - [[Mansion Floating Platform]] (SCAFFOLD12 OBJECT)
*07 - Target Switch
+
*07 - [[Mansion Cracked Wall]] (S12WALL OBJECT)
*08 - Wall Push Switch
+
*08 - [[Mansion Door]] (S12DOOR OBJECT)
*0B - Dash Panel
+
*09 - [[Chaotix Key]] (S11KEY OBJECT)
*0C - Dash Ring
+
*0A - S11BOB OBJECT(DUMMY)
*0D - Rainbow Hoops
+
*0B - Trigger: [[Door]] (S12DOOR COLLI_OBJECT)
*0E - Checkpoint
+
*0C - Trigger: [[Music]] (BGMCOLLI OBJECT)
*0F - Dash Ramp
+
*80 - [[Glow Effect]] (S11LIGHT OBJECT)
*10 - Cannon
+
*81 - [[Celestial Sphere]] (S12CELESTIAL OBJECT)
*15 - Spike Ball
+
*82 - [[Thunder Lightning]] (S12THUNDER OBJECT)
*18 - Item Box
+
*83 - Trigger: [[Thunder Lightning]] (S12THUNDER COLLI_OBJECT)
*19 - Item Balloon
+
*84 - [[Smoke Screen]] (S11CLOUD OBJECT)
*1B - Goal Ring
+
*85 - [[Skeleton]] (S12BONE OBJECT)
*1D - Pulley
+
*86 - TSkeleton Trigger (S12BONE COLLI_OBJECT)
*20 - Wooden Box
+
*87 - [[Spinning Skeleton Hands]] (S12FAN OBJECT)
*21 - Metal Box
+
*88 - [[Curtain]] (S11 FLAG)
*22 - Steel Box
+
*89 - [[Glowing spider signs]] (S11SPIDER OBJECT)
*23 - Chaotix Chao
+
*8A - [[Tree]] (TREE OBJECT)
*24 - Cage Box
+
*8B - [[Spiked plant]] (GRASS OBJECT)
*25 - Formation Sign
+
*8C - [[Small plant]] (GRASS2 OBJECT)
*26 - Formation Change Gate
+
*8D - [[Swinging Axe]] (MASK OBJECT)
*29 - Pole
+
 
*2C - Power Gong
+
===List 12===
*2E - Fan
+
Mystic Mansion list.
*31 - Locked Cage
+
*00 - [[Pumpkin Ghosts]]
*32 - Chaotix Warp Flower
+
*01 - [[Skeleton]]
*50 - Invisible collision object
+
*02 - [[Mansion Door]]
*56 - Trigger volume for talking
+
*03 - [[Flame Torch]]
*59 - Trigger volume for lightning modifier (lightning is set in sLL_light.bin)
+
 
*61 - ?
+
===List 13===
*62 - Egg Hawk path node info
+
Egg Fleet list.
*63 - ?
+
 
*64 - ?
+
*00 - [[Normal Cannon]] (S13 HOUDAI S)
*67 - Special Stage Key
+
*01 - [[Large Cannon]] (S13 HOUDAI L)
*80 - ?
+
*02 - [[Horizontal Cannon]] (S13 HOUDAI YOKO)
*82 - ?
+
*03 - [[Moving Cannon]] (S13 HOUDAI FUMI MAX HEIGHT)
 +
*04 - [[Rectangular Floating Platform]] (S13 SENKAN MOV)
 +
*05 - [[Door]] (S13 SENKAN SHUT)
 +
*06 - [[Square Floating Platform]] (S13 SENKAN YUKA)
 +
*07 - [[Roadblock]] (S13 TSUITATE)
 +
*08 - [[Conveyor Belt]]
 +
*14 - S13 BIGMOVSHIP
 +
*15 - [[Another Cannon]] (S13 HOUDAI FIX)
 +
*20 - S13 KANKYOHAKAI
 +
*80 - S13D BIGFAN
 +
*81 - S13 MISSILEPOD
 +
*82 - S13D SCREW
 +
*83 - S13 DESIGN PIPE
 +
*84 - S13D UFO
 +
*85 - S13D BlinkLight
 +
*86 - S13D ANTENNA
 +
*87 - S13D SENKAN FAR
 +
*88 - S13D SENKAN FAR
 +
*89 - S13D SENKAN FAR
 +
*8A - S13D SENKAN FAR
 +
*8B - S13D SENKAN FAR
 +
*8C - S13D SENKAN FAR
 +
*8D - S13D SENKAN FAR
 +
*8E - S13D SENKAN FAR
 +
*8F - S13D SENKAN MIDDLE
 +
*90 - S13D SENKAN MIDDLE
 +
*91 - S13D RAIL CAP FORE
 +
*92 - S13D RAIL CAP BACK
 +
*93 - S13D RAIL ARROW 1
 +
*94 - S13D RAIL ARROW 3
 +
*95 - S13D SENKAN FAR MOVE TOP L
 +
*96 - S13D SENKAN FAR MOVE TOP R
 +
*97 - S13D SENKAN FAR MOVE SIDE L
 +
*98 - S13D SENKAN FAR MOVE SIDE R
 +
*99 - S13 [[CLOUD1]]
 +
*9A - S13 [[Cloud2]]
 +
*9B - S13D SENKAN FAR MOVE BIG
 +
 
 +
===List 14===
 +
Final Fortress list.
 +
 
 +
*00 - S14 FALL ASHIBA
 +
*01 - S14 HOUDAI HI
 +
*02 - S14 [[LaserBeam]]
 +
*03 - S14 3WAY COLLI
 +
*04 - S14 [[LaserSign]]
 +
*05 - S14 [[BombSwitch]]
 +
*06 - S14 KOWARE
 +
*0A - S14KEY OBJECT
 +
*80 - S14 [[Thunder]]
 +
*81 - S14 [[Thunder2]]
 +
*82 - S14 THUNDER PTCL
 +
*83 - S14 [[LaserLight]]
 +
*84 - S14 RAILEND SIGN
 +
*85 - S14 [[RedLight]]
 +
*86 - S14 ROADSIDE A
 +
*87 - S14 ROADLIGHT
 +
*88 - S14D UFO
 +
*89 - S14 [[RingLight]]
 +
*8A - S14D WALL NEON
 +
*8B - S14D WALLLIGHT SIDE
 +
*8C - S14D WALLLIGHT FRONT
 +
*8D - S14 WALL L
 +
*8E - S14 WALL R
 +
*8F - S14 GOAL
 +
*90 - S14 HOLEA Neon
 +
*91 - S14 ROADSIDE B
 +
*92 - S14 HOLEB
 +
*93 - S14 TowerNeon A
 +
*94 - S14 TowerNeon B
 +
*95 - S14D [[SearchLight]]
 +
*96 - S14D [[EGGMAN]]
 +
*97 - S14D [[Crush]]
 +
*98 - S14 [[WallSide]]
 +
 
 +
===List 15===
 +
List with general enemies and Special Stage objects.
  
=== List 01 (Seaside Hill) ===
+
*00 - [[Egg Flapper]] (SEARCHER OBJECT)
*02 - Large Moving Block on Rails
+
*10 - [[Egg Pawn]] (PAWN OBJECT)
*03 - Large Sliding Block
+
*20 - [[Klagen]] (CAPTURE OBJECT)
*04 - Large Breakable Block
+
*30 - [[Falco]] (FLYER OBJECT)
*05 - Moving Ruin Platform
+
*40 - [[Egg Hammer]] (WALL OBJECT)
*08 - Trigger (volume) (used in other levels)
+
*70 - [[Cameron]] (TURTLE OBJECT)
*0A - Sun
+
*90 - [[Rhino Liner]] (RINOLINER OBJECT)
*0B - Chaotix Hermit Crab
+
*C0 - [[Egg Bishop]] (MAGICIAN OBJECT)
*80 - Flower Patch
+
*D0 - [[E-2000]] (E2000 OBJECT)
*81 - Decoration pole with spike
+
*D1 - [[EGGMOBILE]] OBJECT
*82 - Whale Spawner (unsure)
+
*D2 - [[METAL SONIC]] 1ST
*83 - Seagulls
+
*D3 - [[METAL SONIC]] 2ND
*86 - Waterfall (large)
+
*D4 - STG27 OBJ
*87 - Tides
+
*D5 - STG28 OBJ
*88 - Small Stone Platform
+
*E0 - SP_GROUP_OBJECT
*89 - Waterfall (small)
+
*E5 - SPBOSS APPEAR
 +
*E6 - SPBOSS END
 +
*E7 - SPBOSS APPEAR POS
 +
*E8 - APPEAR CHAOS EMERALD
 +
*E9 - SKY BOBSLEIGH
 +
*EA - SKYBOB END
 +
*EB - PUT PARTICLE
 +
*EC - PARTICLE TEST
 +
*ED - SPSTAGE END
 +
*EE - SP [[SPRING]] OBJECT
 +
*F0 - SP [[DASHPANEL]] OBJECT
 +
*F1 - SP [[DASHRING]] OBJECT
 +
*F4 - SP [[FORMGATE]] OBJECT
  
=== List 02 (Ocean Palace) ===
+
===List 16===
*00 - Crumbling Stone Pillar
+
Egg Emperor list.
*01 - Falling Stone Structure
 
*02 - Breakable Door
 
*03 - Small Breakable Block
 
*04 - Kaos (demonic-looking wheel-boulders that fall off the statues)
 
*06 - Moving Item Balloon (used in Metal Overlord)
 
*0B - ? (Used in Power Plant)
 
*0C - Kaos trigger
 
*80 - ?
 
*81 - Turtle Feet
 
*83 - Flowing Water
 
*84 - Plant
 
*85 - Ruin decoration shaped like whale tail with water flowing from it
 
  
=== List 03 (Grand Metropolis) ===
+
*00 - STG26 COLLI CC
*00 - Accelerator Road
+
*01 - STG26 COLLI CP
*02 - Road energy blocker
+
*02 - KING PAWN
*03 - Grand Metropolis door
 
*04 - Falling Bridge
 
*05 - ?
 
*06 - Flying car spawner
 
*07 - Blimp with platform
 
*08 - Accelerator (invisible, pushes you foward)
 
*81 - Plane trigger
 
*84 - Decoration energy piston
 
*85 - Flashing floor lights
 
*86 - HEXAeco Signboard
 
  
=== List 04 (Power Plant) ===
+
===List 20===
*00 - Upward path
+
Egg Hawk list.
*01 - Energy column
 
*02 - Elevator
 
*03 - Lava Section Platform
 
*04 - Energy blocker for lava section
 
*06 - Fireball
 
*08 - Energy blocker for column
 
*10 - Orange Door
 
*12 - Lava
 
*13 - Energy blocker for elevator
 
*14 - Large Sphere?
 
*15 - Green upward path
 
*16 - Elevator Support Column
 
*80 - Large Sphere?
 
*81 - Energy Wall Background
 
*82 - Crane
 
*83 - Hexagonal Satellite
 
*84 - HEXAeco Rotating Wall thing
 
*85 - Strip of flashing floor arrows
 
  
=== List 05 (Casino Park, BINGO Highway, Robot Carnival) ===
+
*80 - Road Decoration Block (S20D CurbStone)
*00 - Small Bumper (Pinball Tables)
+
*81 - Whale Statue (S20D WhaleStone)
*01 - Green Sphere "Spring"
+
*82 - Tower (S20D LightHouse)
*02 - Flipper (Pinball Tables)
+
*83 - S66 STAR
*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 Dice
 
*0B - Pinball Triple Slot (Pinball Tables)
 
*0C - Pinball Single Slot (Pinball Tables)
 
*0D - Bingo Chart (BINGO Highway)
 
*0E - Bingo Number (BINGO Highway)
 
*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)
 
*84 - Giant Dice (Casino Park)
 
*85 - Giant Slot (Casino Park)
 
*86 - Giant Roulette
 
*87 - Giant Casino Chip (BINGO Highway)
 
  
=== List 07 (Rail Canyon, Egg Albatross) ===
+
===List 23===
 +
Egg Albatross list.
  
=== List 08 (Bullet Station) ===
+
*00 - Trigger: Egg Albatross (S23 WARPPOS)
*00 -  
 
*01 -
 
*02 -
 
*04 -
 
  
=== List 09 (Frog Forest, Lost Jungle) ===
+
===List 24===
 +
Metal Madness list.
  
=== List 11 (Hang Castle, Mystic Mansion, Robot Storm) ===
+
*00 - Trigger: Metal Madness (S24 WARPPOS)
*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)
 
*0B - Door Close Trigger? (Mystic Mansion)
 
*0C - Music Control Trigger (Mystic Mansion)
 
*80 - Glow Effect (Mystic Mansion)
 
*81 - Bridge (Mystic Mansion)
 
*82 and 83 - Related to lightning effect seen from windows (Mystic Mansion)
 
*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 25===  
 +
Metal Overlord List.
  
=== List 14 (Final Fortress) ===
+
*00 - Trigger: Metal Overlord (S25 WARPPOS)
  
=== List 15 (Enemy) ===
+
===List 33===
*00 - [[Egg Flapper]]
+
List is used mainly in the multiplayer Bobsled Races.
*10 - [[Egg Pawn]]
 
*20 - [[Klagen]]
 
*30 - [[Falco]]
 
*40 - [[Egg Hammer]]
 
*70 - [[Cameron]]
 
*90 - [[Rhino Liner]]
 
*C0 - [[Egg Bishop]]
 
*D0 - [[E-2000]]
 
*D2 - Metal Madness (?)
 
*D3 - Metal Overlord (?)
 
  
=== List 16 (Egg Emperor) ===
+
*00 - UNBR. BOBCONT. OBJECT
 +
*01 - S31BOB OBJECT(DUMMY)
 +
*81 - S33_DICE OBJECT
 +
*82 - S33_ROULET OBJECT
 +
*83 - S33_SLOT OBJECT
  
=== List 20 (Egg Hawk) ===
+
===List FF===
*80 - Road Decoration Block
+
Unknown list.
*81 - Whale Statue
 
*82 - Tower
 
  
=== List 33 (Multiplayer Boblsed Race) ===
+
*F0 - SYSTEM OBJECT1
 +
*F1 - SYSTEM OBJECT2
 +
*F2 - SYSTEM OBJECT3
 +
*FE - SAMPLE2 OBJECT
 +
*FF - SAMPLE OBJECT
  
== Object Specific Settings ==
+
==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<br />
+
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.<br />
 +
Note: the table below is incomplete and might be incorrect.<br />
 
These settings are defined in the Misc. Section Entries:<br />
 
These settings are defined in the Misc. Section Entries:<br />
 
{{grey|00 00 00 00}} {{red|00 00 00 00}} {{green|00 00 00 00}} {{blue|00 00 00 00}} {{magenta|00 00 00 00}} {{yellow|00 00 00 00}} {{cyan|00 00 00 00}} {{olive|00 00 00 00}} {{orange|00 00 00 00}}
 
{{grey|00 00 00 00}} {{red|00 00 00 00}} {{green|00 00 00 00}} {{blue|00 00 00 00}} {{magenta|00 00 00 00}} {{yellow|00 00 00 00}} {{cyan|00 00 00 00}} {{olive|00 00 00 00}} {{orange|00 00 00 00}}
  
{| class="prettytable"
+
{| class="prettytable" style="width:auto;"
 
!List||Object||{{red|0x04}}||{{green|0x08}}||{{blue|0x0C}}||{{magenta|0x10}}||{{yellow|0x14}}||{{cyan|0x18}}||{{olive|0x1C}}||0x20||Notes
 
!List||Object||{{red|0x04}}||{{green|0x08}}||{{blue|0x0C}}||{{magenta|0x10}}||{{yellow|0x14}}||{{cyan|0x18}}||{{olive|0x1C}}||0x20||Notes
 
|-
 
|-
| 00
+
|00
| 01 - Spring
+
|01 - Spring
| Strength (float)
+
|Power (float; default 5.0)
| Control time (first word)
+
|Control time (first word)
|  
+
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|02 - Triple Spring
 +
|Power (float; default 5.0)
 +
|Scale
 +
|Control time (first word)<br />Item (second word)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|03 - Ring
 +
|Type (first word)<br>00 - Normal<br>01 - Line<br>02 - Circle<br>03 - Arch<br>Number of rings (second word)
 +
|Lenght of line (float)
 +
|Radius (float)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|04 - Hint Ring
 +
|Line to play (first word)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|05 - Switch
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|Has many settings
 +
|-
 +
|00
 +
|06 - Push/Pull Switch
 +
|First byte:<br />00 - Push to turn on<br />01 - Pull to turn on
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|Uses Link ID for activator
 +
|-
 +
|00
 +
|07 - Target Switch
 +
|First byte sets item type <br />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):<br />00 - Speed<br />01 - Fly (1)<br />02 - Fly (2)<br />03 - Power (S)<br />04 - Power (L)<br />Additional control time (second word)
 +
|Speed (float, default 5.0)
 +
|Offset (float)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|0E - Checkpoint
 +
|Priority (first word)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|Setting the Checkpoint priority to the same as another will allow either to take precedence. Higher numbers in this area will take precedence over lower numbers.
 +
|-
 +
|00
 +
|0F - Dash Ramp
 +
|Speed (Horizontal) (float)
 +
|Speed (Vertical) (float)
 +
|Control time (first word)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|10 - Cannon
 +
|Elevation (Speed) (first word)<br />Azimuth (Speed) (second word)
 +
|Control time (Speed) (first word)<br />Power (Speed) (second word)
 +
|Elevation (Fly) (first word)<br />Azimuth (Fly) (second word)
 +
|Control time (Fly) (first word)<br />Power (Fly) (second word)
 +
|Elevation (Power) (first word)<br />Azimuth (Power) (second word)
 +
|Control time (Power) (first word)<br />Power (Power) (second word)
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|13 - Weight
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|14 - Breakable Weight
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|00
 +
|15 - Spike Ball
 +
|Type (long)<br />00 - Single<br />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)
 +
|
 +
|
 
|
 
|
 
|
 
|
Line 350: Line 861:
 
|
 
|
 
|
 
|
|
 
 
|-
 
|-
| 00
+
|00
| 02 - Triple Spring
+
|1B - Goal Ring
| Strenght (float)
+
|
| Scale
+
|
| Control time (first word)<br />Item (second word)
+
|
 
|
 
|
 
|
 
|
Line 362: Line 872:
 
|
 
|
 
|
 
|
|  
+
|No parameters
 
|-
 
|-
| 00
+
|00
| 03 - Ring
+
|1D - Pulley
| Related to placing in lines/circles<br />Will check debug data for info later
+
|Elevation (float)
| Lenght of line (float)
+
|? (float)
|  
+
|? (float)
 +
|Type (first word):<br />00 - Up<br>01 - Down
 
|
 
|
 
|
 
|
Line 374: Line 885:
 
|
 
|
 
|
 
|
|
 
 
|-
 
|-
| 00
+
|00
| 04 - Hint Ring
+
|20 - Wooden Box
| Line to play (first word)
+
|
|  
+
|
 
|
 
|
 
|
 
|
Line 386: Line 896:
 
|
 
|
 
|
 
|
| Has setting to disappear with a switch
+
|No parameters
 
|-
 
|-
| 00
+
|00
| 05 - Switch
+
|21 - Metal Box
|
+
|
|  
 
 
|
 
|
 
|
 
|
Line 398: Line 907:
 
|
 
|
 
|
 
|
| Has many settings
+
|
 +
|No parameters
 
|-
 
|-
| 00
+
|00
| 07 - Target Switch
+
|22 - Steel Box
| First byte sets item type <br />Third byte sets link ID
 
 
|
 
|
 
|
 
|
Line 411: Line 920:
 
|
 
|
 
|
 
|
 +
|No parameters
 
|-
 
|-
| 00
+
|00
| 0B - Dash Panel
+
|23 - Chao
| Speed (float)
+
|Radius (float)
| Control time (first word)
+
|Angular Speed (float)
|  
+
|
 +
|
 
|
 
|
 
|
 
|
Line 422: Line 933:
 
|
 
|
 
|
 
|
|
 
 
|-
 
|-
| 00
+
|00
| 0C - Dash Ring
+
|24 - Cage
| Speed (float)
+
|
| Control time (first word)
+
|
|  
+
|
 
|
 
|
 
|
 
|
Line 434: Line 944:
 
|
 
|
 
|
 
|
|  
+
|Can fly
 
|-
 
|-
| 00
+
|00
| 0D - Rainbow Hoops
+
|25 - Formation Sign
|  
+
|Formation (byte)
|  
+
|
|  
+
|
 +
|
 
|
 
|
 
|
 
|
Line 446: Line 957:
 
|
 
|
 
|
 
|
| Has similar settings to the dash ring, plus settings for ring position and distance
 
 
|-
 
|-
| 00
+
|00
| 0E - Checkpoint
+
|26 - Formation Change Gate
|  
+
|Formation (byte)
 +
|Width offset (float)
 +
|Height offset (float)
 +
|
 
|
 
|
|
 
|
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
| Has settings for priority ID
 
 
|-
 
|-
| 00
+
|00
| 10 - Cannon
+
|28 - Propeller Flower
|  
+
|
|  
+
|
 +
|
 +
|
 
|
 
|
|
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
| Has settings for elevation, pitch, strength and control time for each formation
 
 
|-
 
|-
| 00
+
|00
| 18 - Item Box
+
|29 - Pole
| First byte sets item type
 
 
|
 
|
 
|
 
|
Line 482: Line 991:
 
|
 
|
 
|
 
|
|  
+
|
 +
|Has many settings
 
|-
 
|-
| 00
+
|00
| 19 - Item Balloon
+
|2C - Power Gong
| First byte sets item type
 
| Scale (float)
 
 
|
 
|
 
|
 
|
Line 495: Line 1,003:
 
|
 
|
 
|
 
|
 +
|
 +
|Has settings
 
|-
 
|-
| 00
+
|00
| 25 - Formation Sign
+
|2E - Fan
| Formation (byte)
 
|
 
 
|
 
|
 
|
 
|
Line 507: Line 1,015:
 
|
 
|
 
|
 
|
 +
|
 +
|Has many settings
 
|-
 
|-
| 00
+
|00
| 26 - Formation Change Gate
+
|31 - Cage
| Formation (byte)
+
|
| Width offset (float)
+
|
| Height offset (float)
+
|
|  
 
 
|
 
|
 
|
 
|
Line 519: Line 1,028:
 
|
 
|
 
|
 
|
 +
|Has settings
 
|-
 
|-
| 00
+
|00
| 2E - Fan
+
|32 - Chaotix Warp Flower
|  
+
|Type (first byte):<br />00 - Item<br />01 - Scaffold<br />02 - Warp
 +
|Scale (float)
 +
|Rising Height (float)
 
|
 
|
|
 
|
 
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
| Has settings for: fan scale, height for Triangle Dive, height for others, start on/off, wind scale, whether the fan itself is rendered
+
|Uses Link ID for linking with another flower or item box
 
|-
 
|-
| 00
+
|01
| 31 - Cage (opened by switch)
+
|05 - Moving Ruin Platform
| Formation (byte)
+
|Type (first byte):<br />00 - Small<br />01 - Normal<br />02 - Large
| Width (float)
+
|Vertical moving distance
| Width multiplier (float) (verify)
+
|
 
|
 
|
 
|
 
|
Line 542: Line 1,052:
 
|
 
|
 
|
 
|
| Has settings for scale and direction
+
|Uses Link ID for linking with trigger
 
|-
 
|-
| 05
+
|05
| 86 - Giant Casino Chip
+
|87 - Giant Casino Chip
| Scale (float)
+
|Scale (float)
| Type (long)
+
|Type (long)
| Speed (long)
+
|Speed (long)
 
|
 
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|07
 +
|03 - Rail Booster
 +
|Speed (float)
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|11
 +
|00 - Teleporter switch
 +
|Warp Dest. X-position (float)
 +
|Warp Dest. Y-position (float)
 +
|Warp Dest. Z-position (float)
 +
|Teleporter state (first byte):<br>00 - Active (Switch Pad)<br>01 - Inactive<br>02 - Active (Switch Ball)<br>03 - Active (Switch Ball Symbols)<br>04 - Warp Effect<br>05-06 - Doors<br>07 - Platform Base<br>08 - Platform Base (Moving Platform)<br>09 - Platform Floor<br>0A - Cracked Wall<br>0B - Another Cracked Wall<br>0C-0D - Broken Wall Corners<br>0E - Broken Wall Pieces<br>0F - Wall Piece<br>10 - Another Wall Piece<br>Second byte:<br>00 - Normal<br>01 - Upside down
 
|
 
|
 
|
 
|
Line 572: Line 1,106:
 
*0C - Refill Flight Gauge
 
*0C - Refill Flight Gauge
  
=== Egg Pawn Settings ===
+
===Egg Pawn settings===
 
List: 15<br />
 
List: 15<br />
 
Object: 10<br />
 
Object: 10<br />
Line 584: Line 1,118:
 
*02 - Stopped
 
*02 - Stopped
 
*04 - Warp
 
*04 - Warp
 +
*06 - Searching
 +
 +
Second byte: Color Type
 +
*00 - Red
 +
*02 - Gold
  
 
Third byte: Weapon Type
 
Third byte: Weapon Type
Line 605: Line 1,144:
 
{{blue|0x0C}}: ?
 
{{blue|0x0C}}: ?
  
{{magenta|0x10}}: Warp height
+
{{magenta|0x10}}: Warp height (float)
  
 
{{yellow|0x14}}: ?
 
{{yellow|0x14}}: ?
  
{{cyan|0x18}}: Shot speed
+
{{cyan|0x18}}: Shot speed (float)
  
 
{{olive|0x1C}}
 
{{olive|0x1C}}
 
Fourth byte: ?
 
Fourth byte: ?
 +
 +
==References==
 +
<references />
  
 
{{SCHGuides}}
 
{{SCHGuides}}
[[Category:Sonic Community Hacking Guide]]
 

Latest revision as of 09:48, 5 February 2021

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: Sonic, Tails, & Knuckles; ForEdit: Espio, Charmy and Big
  • P2 - Team Dark: Shadow, Rouge & Omega
  • P3 - Team Rose: Amy, Cream, & Big
  • P4 - Team Chaotix: Espio, Charmy, & Vector
  • P5 - Super Hard: Always Team Sonic

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. Each one is a signed 32 bit integer; 0x10000 = 360 degrees.
  • 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). List includes debug name for objects.

List 00

General list.

List 01

Seaside Hill list.

List 02

Ocean Palace list.

List 03

Grand Metropolis list.

List 04

Power Plant list.

List 05

Casino Park list.

List 06

Bingo Highway list.

List 07

Rail Canyon list.

  • 00 - Switchable Rail (TRAINCHANGERAIL)
  • 01 - Switchable Rail Switch (TRAINCHANGESWITCH)
  • 02 - Switchable Rail Arrow (TRAINCHANGEBOARD)
  • 03 - Rail Booster (RAILDASH)
  • 04 - Rail "roadblock" (CROSSING)
  • 05 - Capsule (TRAINCAPSULE)
  • 06 - Station Door (STATIONDOOR)
  • 07 - Floor Grate (DUCT)
  • 08 - Platform with 3 rails (RAILBOARD)
  • 0A - DESTRUCTRAIL
  • 1B - TRAINTRAIN
  • 2C - Tunnel (TRAINROLLTUNNEL)
  • 2D - Engine Core (TRAINCORE)
  • 3E - Cannon Interior (BIGCANNON)
  • 3F - Cannon Top (BIGCANNONTOP)
  • 40 - Trigger: Train (TRAINCOLLISION)
  • 41 - Explosion effect (IKARIBAKUHATU)
  • 42 - Eggman's Base (EGGMASO)
  • 43 - S08BOB COLLI_OBJECT
  • 80 - DFAN
  • 81 - RAILBUSH
  • 82 - RAILBURBWIRE
  • 83 - RAILCHANGERAIL
  • 85 - RAILBULLETRACK
  • 86 - RAILWATERSUPPLY
  • 87 - RAILMECHTYPEABC
  • 88 - RAILCAPEN
  • 89 - RAILCAPEX
  • 8A - RAILENDEN
  • 8B - RAILENDEX
  • 8C - RAILPOLLEX
  • 8D - RAILPOLLGOL
  • 8E - RAILPOLLGOR
  • 8F - RAILTIE
  • 90 - PROPELLER
  • 91 - PISTON
  • 92 - BARREL
  • 93 - PULLEY
  • 94 - EGGHORN
  • 95 - TRAINAPPEAR ON/OFF
  • 96 - BRIDGE
  • 97 - AUTODOOR
  • 98 - TRAINTOP

List 08

Bullet Station list.

List 09

Frog Forest list.

List 10

Lost Jungle list.

List 11

Hang Castle list.

List 12

Mystic Mansion list.

List 13

Egg Fleet list.

  • 00 - Normal Cannon (S13 HOUDAI S)
  • 01 - Large Cannon (S13 HOUDAI L)
  • 02 - Horizontal Cannon (S13 HOUDAI YOKO)
  • 03 - Moving Cannon (S13 HOUDAI FUMI MAX HEIGHT)
  • 04 - Rectangular Floating Platform (S13 SENKAN MOV)
  • 05 - Door (S13 SENKAN SHUT)
  • 06 - Square Floating Platform (S13 SENKAN YUKA)
  • 07 - Roadblock (S13 TSUITATE)
  • 08 - Conveyor Belt
  • 14 - S13 BIGMOVSHIP
  • 15 - Another Cannon (S13 HOUDAI FIX)
  • 20 - S13 KANKYOHAKAI
  • 80 - S13D BIGFAN
  • 81 - S13 MISSILEPOD
  • 82 - S13D SCREW
  • 83 - S13 DESIGN PIPE
  • 84 - S13D UFO
  • 85 - S13D BlinkLight
  • 86 - S13D ANTENNA
  • 87 - S13D SENKAN FAR
  • 88 - S13D SENKAN FAR
  • 89 - S13D SENKAN FAR
  • 8A - S13D SENKAN FAR
  • 8B - S13D SENKAN FAR
  • 8C - S13D SENKAN FAR
  • 8D - S13D SENKAN FAR
  • 8E - S13D SENKAN FAR
  • 8F - S13D SENKAN MIDDLE
  • 90 - S13D SENKAN MIDDLE
  • 91 - S13D RAIL CAP FORE
  • 92 - S13D RAIL CAP BACK
  • 93 - S13D RAIL ARROW 1
  • 94 - S13D RAIL ARROW 3
  • 95 - S13D SENKAN FAR MOVE TOP L
  • 96 - S13D SENKAN FAR MOVE TOP R
  • 97 - S13D SENKAN FAR MOVE SIDE L
  • 98 - S13D SENKAN FAR MOVE SIDE R
  • 99 - S13 CLOUD1
  • 9A - S13 Cloud2
  • 9B - S13D SENKAN FAR MOVE BIG

List 14

Final Fortress list.

  • 00 - S14 FALL ASHIBA
  • 01 - S14 HOUDAI HI
  • 02 - S14 LaserBeam
  • 03 - S14 3WAY COLLI
  • 04 - S14 LaserSign
  • 05 - S14 BombSwitch
  • 06 - S14 KOWARE
  • 0A - S14KEY OBJECT
  • 80 - S14 Thunder
  • 81 - S14 Thunder2
  • 82 - S14 THUNDER PTCL
  • 83 - S14 LaserLight
  • 84 - S14 RAILEND SIGN
  • 85 - S14 RedLight
  • 86 - S14 ROADSIDE A
  • 87 - S14 ROADLIGHT
  • 88 - S14D UFO
  • 89 - S14 RingLight
  • 8A - S14D WALL NEON
  • 8B - S14D WALLLIGHT SIDE
  • 8C - S14D WALLLIGHT FRONT
  • 8D - S14 WALL L
  • 8E - S14 WALL R
  • 8F - S14 GOAL
  • 90 - S14 HOLEA Neon
  • 91 - S14 ROADSIDE B
  • 92 - S14 HOLEB
  • 93 - S14 TowerNeon A
  • 94 - S14 TowerNeon B
  • 95 - S14D SearchLight
  • 96 - S14D EGGMAN
  • 97 - S14D Crush
  • 98 - S14 WallSide

List 15

List with general enemies and Special Stage objects.

List 16

Egg Emperor list.

  • 00 - STG26 COLLI CC
  • 01 - STG26 COLLI CP
  • 02 - KING PAWN

List 20

Egg Hawk list.

  • 80 - Road Decoration Block (S20D CurbStone)
  • 81 - Whale Statue (S20D WhaleStone)
  • 82 - Tower (S20D LightHouse)
  • 83 - S66 STAR

List 23

Egg Albatross list.

  • 00 - Trigger: Egg Albatross (S23 WARPPOS)

List 24

Metal Madness list.

  • 00 - Trigger: Metal Madness (S24 WARPPOS)

List 25

Metal Overlord List.

  • 00 - Trigger: Metal Overlord (S25 WARPPOS)

List 33

List is used mainly in the multiplayer Bobsled Races.

  • 00 - UNBR. BOBCONT. OBJECT
  • 01 - S31BOB OBJECT(DUMMY)
  • 81 - S33_DICE OBJECT
  • 82 - S33_ROULET OBJECT
  • 83 - S33_SLOT OBJECT

List FF

Unknown list.

  • F0 - SYSTEM OBJECT1
  • F1 - SYSTEM OBJECT2
  • F2 - SYSTEM OBJECT3
  • FE - SAMPLE2 OBJECT
  • FF - SAMPLE OBJECT

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.
Note: the table below is incomplete and might be incorrect.
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 Type (first word)
00 - Normal
01 - Line
02 - Circle
03 - Arch
Number of rings (second word)
Lenght of line (float) Radius (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) Setting the Checkpoint priority to the same as another will allow either to take precedence. Higher numbers in this area will take precedence over lower numbers.
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
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 87 - Giant Casino Chip Scale (float) Type (long) Speed (long)
07 03 - Rail Booster Speed (float)
11 00 - Teleporter switch Warp Dest. X-position (float) Warp Dest. Y-position (float) Warp Dest. Z-position (float) Teleporter state (first byte):
00 - Active (Switch Pad)
01 - Inactive
02 - Active (Switch Ball)
03 - Active (Switch Ball Symbols)
04 - Warp Effect
05-06 - Doors
07 - Platform Base
08 - Platform Base (Moving Platform)
09 - Platform Floor
0A - Cracked Wall
0B - Another Cracked Wall
0C-0D - Broken Wall Corners
0E - Broken Wall Pieces
0F - Wall Piece
10 - Another Wall Piece
Second byte:
00 - Normal
01 - Upside down

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

Second byte: Color Type

  • 00 - Red
  • 02 - Gold

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: ?

References


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