Sonic Adventure

From Sonic Retro

SCHG: Sonic Adventure

This is the Sonic Community Hacking Guide for Sonic Adventure. Download the SA1 tools or SADXMDL if you plan to edit the models.


Main Article: SCHG:Sonic Adventure/Model Format
All levels and boss characters in SA are compressed in .PRS files in SA's SONICADV directory. Inside these .PRS files are .BIN files, which are the models.

Model editing

originally by Dude Edited for use with SA1

Editing a model in SA is a lot simpler than you would think. The following instructions should be easy to understand.

Rip the Models. Use sadxmdl.exe to rip a .BIN model.

Import the Models. Open the .OBJ file sadxmdl.exe created and import it into your favorite 3D modeling application. (Note you cannot use Milkshape3D for this.)

Sort the Models. Next, you need to search through all the objects you imported until you find what you want to edit.

Edit the Models. Now that you have the model you wish to edit, start editing vertex positions. Do not do mesh edits as they will not work in the game.

Export the Models. Export your creation to an .OBJ file, and run it through obj2vt.exe.

Replace the Models. Open the exported out.vt in a hex editor. Open the .BIN file in a hex editor. Go back into your modeling application, and look at the edited object's name. It should be something like "group36332_4". See the "36332"? That's the decimal offset in the .BIN you need to go to. Go there now. Now, you're at the SEG struct for the model. The attach pointer is 4 bytes after this, and it is a dword. Subtract $C900000 (the key for Dreamcast binaries), and you get your new offset. Now go to this new offset. You should now be at the ATTACH struct of the model. The first dword is a vertex pointer. You now have the next offset to go to. Go there. Now, in this case, out.vt is 2388 bytes. Go back to your location in the .BIN, select the next 2388 bytes, and replace those bytes with the contents of out.vt. Save, and look at your creation in the game.


Main Article: SCHG:Sonic Adventure/Object Editing


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 CD (2011) | 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 the Hedgehog 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 Shuffle | 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 Colours | Sonic Generations | Sonic Lost World | Sonic Forces
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 | 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