|SCHG: Sonic Heroes|
This tutorial will teach you how to port SET objects between different levels.
The SET ID table is the table that defines in which level each object will be loaded. It is located in setidtbl.bin file, in the dvdroot folder.
The file is in little endian and is composed of a list of all the objects in the game, each in a 0x14 entry. The entries have the following layout:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|0x00||Binary (long)||Availability in levels 0 to 31|
|0x04||Binary (long)||Availability in levels 32 to 63|
|0x08||Binary (long)||Availability in levels 64 to 95|
Just adding the object to the SET ID table is not enough to make the object load, as its model will not be loaded unless you insert it in the s*obj.one file of the level.
The next step is to add the object textures to the TXD archive. Just extract the object's textures from the source level's TXD file and add them to the destination TXD file, making sure they keep the same names. It is recommended to use Magic.TXD to do this, as it can open every Sonic Heroes TXD file and easily add, remove extract and replace textures with transparency and mipmaps. If you're in doubt on which textures the object will use, you can add all of the source level's textures to the destination TXD file. This should not decrease game performance but will increase loading times and result in an extra large TXD file full of textures that will never be loaded.
Note that the game will probably not crash if the textures are missing; they will just display incorrectly. This is good because it will allow you to see if you did something wrong with the textures. Missing models will make the game crash though.
There is currently no way to edit the model files from Sonic Heroes other than hex editing (at least not a public one). Models exported with tools for other games will not work correctly as Sonic Heroes uses its own version of the Renderware models.
|Sonic Community Hacking Guide|
|Sonic Music Hacking Guide | SonED2 Manual|
|Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic 2 (Nick Arcade prototype) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (8-bit) | Sonic 2 & Knuckles | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Sonic 3 | Sonic & Knuckles | Sonic 3 & Knuckles | Sonic & Knuckles Collection | Sonic Crackers | Sonic 3D: Flickies' Island | Chaotix | Sonic R PC | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | 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 | Shadow the Hedgehog | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Generations|
|The Nemesis Hacking Guides||The Esrael Hacking Guides|
|ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | 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 | Subroutine Equivalency List | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Mega-CD Documentation | Official Sega Mega Drive Documentation|