Difference between revisions of "Sonic Heroes/Object Editing"
From Sonic Retro
Igorseabra4 (talk | contribs) |
Igorseabra4 (talk | contribs) |
||
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 | + | 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 /> |
− | + | Sea Gate, special stages, team battles, Last story and multiplayer levels have only the DB and PB files. | |
− | |||
== Object File Layout == | == Object File Layout == | ||
− | The files are | + | The files are made up by two sections: the main section and the misc. section. |
− | The files are | + | *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 | + | 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| | + | | {{orange|4 bytes}} |
| {{orange|X Rotation}} | | {{orange|X Rotation}} | ||
|- | |- | ||
| {{olive|0x10}} | | {{olive|0x10}} | ||
− | | {{olive| | + | | {{olive|4 bytes}} |
| {{olive|Y Rotation}} | | {{olive|Y Rotation}} | ||
|- | |- | ||
| {{magenta|0x14}} | | {{magenta|0x14}} | ||
− | | {{magenta| | + | | {{magenta|4 bytes}} |
| {{magenta|Z Rotation}} | | {{magenta|Z Rotation}} | ||
|- | |- | ||
| {{red|0x18}} | | {{red|0x18}} | ||
− | | {{red| | + | | {{red|2 bytes}} |
− | | {{red|Usually 00 02<br /> | + | | {{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 /> | + | | {{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 /> | + | | {{blue|Usually 09<br />Must be an odd number for object to load}} |
|- | |- | ||
| {{cyan|0x1C}} | | {{cyan|0x1C}} | ||
− | | {{cyan| | + | | {{cyan|4 bytes}} |
− | | {{cyan|Usually 00 00 00 00<br /> | + | | {{cyan|Usually 00 00 00 00<br />Ignored?}} |
|- | |- | ||
| {{grey|0x20}} | | {{grey|0x20}} | ||
| {{grey|8 bytes}} | | {{grey|8 bytes}} | ||
− | | {{grey| | + | | {{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 | + | | {{red|Render distance}} |
|- | |- | ||
| {{grey|0x2C}} | | {{grey|0x2C}} | ||
− | | {{grey| | + | | {{grey|2 bytes}} |
− | | {{grey| | + | | {{grey|Null?}} |
+ | |- | ||
+ | | {{green|0x2E}} | ||
+ | | {{green|2 bytes}} | ||
+ | | {{green|Misc. Entry ID}} | ||
|} | |} | ||
− | + | *X, Y and Z positions: location of the object in the world. | |
− | *Link ID is used | + | *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 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 | + | 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 | + | | {{green|Section ID}} |
|} | |} | ||
− | The rest varies from object to object, | + | 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 == | ||
− | + | 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 /> | |
− | + | These lists are incomplete. Some entries might be incorrect. | |
− | + | ||
+ | === List 00 === | ||
+ | General list. | ||
− | |||
− | |||
*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 ( | + | *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 - | + | *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 | + | *51 - |
− | *59 - Trigger | + | *52 - |
− | *61 - | + | *53 - |
− | *62 - Egg Hawk | + | *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 - |
− | + | *82 - | |
+ | |||
+ | === List 01 === | ||
+ | Seaside Hill list. | ||
− | |||
*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 ( | + | *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 | + | *FF - Water splash effect |
+ | |||
+ | === List 02 === | ||
+ | Ocean Palace list. | ||
− | |||
*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 ( | + | *04 - Kaos (the thing that chases you) |
− | *06 - Moving Item Balloon | + | *05 - |
− | *0B - | + | *06 - Moving Item Balloon |
− | *0C - Kaos | + | *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 | + | *85 - Ruin decoration |
+ | |||
+ | === List 03 === | ||
+ | Grand Metropolis list. | ||
− | |||
*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 - | + | *82 - |
+ | *83 - | ||
+ | *84 - Energy piston | ||
*85 - Flashing floor lights | *85 - Flashing floor lights | ||
*86 - HEXAeco Signboard | *86 - HEXAeco Signboard | ||
− | === List 04 | + | === 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 - | + | *14 - |
*15 - Green upward path | *15 - Green upward path | ||
*16 - Elevator Support Column | *16 - Elevator Support Column | ||
− | *80 - | + | *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. | ||
− | |||
*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 | + | *0A - Floating Die |
− | *0B - | + | *0B - Triple Slot (Pinball Tables) |
− | *0C - | + | *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 | + | *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 | + | === List 07 === |
+ | Rail Canyon list. | ||
− | === List 08 | + | *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. | ||
− | |||
*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 | + | *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 - | + | *0F - |
− | *13 - | + | *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 | + | === 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 | + | *0A - |
− | *0C - Music Control | + | *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 | + | *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 | + | === List 15 === |
+ | List with general enemies and Special Stage objects. | ||
− | |||
*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 - | + | *D1 - |
− | *D3 - | + | *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 | + | === List 20 === |
+ | Egg Hawk list. | ||
− | |||
*80 - Road Decoration Block | *80 - Road Decoration Block | ||
*81 - Whale Statue | *81 - Whale Statue | ||
*82 - Tower | *82 - Tower | ||
+ | *83 - | ||
− | === List 33 | + | === 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 |
Model Editing |
Collision Format Model Format |
Level Editing |
Camera Editing |
Particle Editing |
Particle Editing |
Sound Editing |
Music List |
SCHG How-Tos |
Custom Object Material Effect 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.
- 00 - Egg Flapper
- 10 - Egg Pawn
- 20 - Klagen
- 30 - Falco
- 40 - Egg Hammer
- 50 -
- 60 -
- 70 - Cameron
- 80 -
- 90 - Rhino Liner
- A0 -
- B0 -
- C0 - Egg Bishop
- D0 - E-2000
- D1 -
- 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 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: ?