IPB

Welcome Guest ( Log In | Register )


 

Recent Changes | Random | Help | Special Pages | Upload
home | info | forums | svn | irc | podcast | about

Due to our recent technical difficulties, we only have OVER NINE THOUSAAAAAAAAAAND of our images and files working. The Sonic Retro staff is working as fast as they can to restore these documents. Please do not report broken links at this time.

SCHG:Sonic Adventure DX: PC/EXE Editing/Level Headers

From Sonic Retro

SCHG: Sonic Adventure DX: PC
Main Article
Object Editing
Editing Objects
File Name Layout
Format
Special Objects
Object Lists
Missions
Programs
Sound Editing
Sound Editing
EXE Editing
EXE Editing
Animation Swapping
Action Swapping
Physics
Text Editing
Level Headers
Misc. Code
RAM Editing
RAM Editing
Global Variables
Character Object 1
Character Object 2
Character Object 3
Lists
Lists
Actions
Animations
Music List
Sound Effects and Voices

Disclaimer

Each level in Sonic Adventure DX is a compiled C++ file with embedded model data. They are usually similar in structure, but there is technically the possibility that some things may be in different locations for different levels.

COL Format

The name COL is an antiquated misnomer, but for lack of a better name, it stuck. This data struct is a reference for loading a level model. It's 0x24 bytes long and works as follows:

struct COL
float center[3]; // Center of the visibility/collision sphere.
float radius; // Could be diameter.
dword null[2]; // for alignment purposes
dword SEG; // points to SEG struct
dword null; 
Short col; // determines solidity
Short surf_flag; // determines visibility

Surface Flags

First byte:

  • 1x = can land on
  • 2x = push
  • 3x = push
  • 4x = Kill sonic?
  • 5x = no alpha, no col
  • 6x = water
  • 7x = lighting
  • 8x = Stage Specific on/off (EC footprints)
  • 9x = normal surf

Second Byte:

  • x0 = normal
  • x1 = hurt
  • x2 = low traction
  • x3 = hurt

Listing of Header locations

This listing isn't for the actual start of the header, that location hasn't been determined. Since the major interest in editing levels is editing their geometry, this list will (for now) refer to the geometry loading index. These use the COL format as described above. Also, when this list was being created, the location selection was a little inconsistent. This has since been corrected, and the data has been reformatted to facilitate the use of available level rippers.

Emerald Coast Geometry Loaders

Segment 0

  • Geometry loader starts at: 11098424
  • Geometry loader pointer at: 11115716
  • Geometry loader has 480 objects

Segment 1

  • Geometry loader starts at: 12814040
  • Geometry loader pointer at: 12820136
  • Geometry loader has 169 objects

Segment 2

  • Geometry loader starts at: 12806840
  • Geometry loader pointer at: 12814016
  • Geometry loader has 199 objects

Windy Valley Geometry Loaders

Segment 0

  • Geometry loader starts at: 8406760
  • Geometry loader pointer at: 8409580
  • Geometry loader has 78 objects

Segment 1

  • Geometry loader starts at: 8405856
  • Geometry loader pointer at: 8406732
  • Geometry loader has 24 objects

Segment 2

  • Geometry loader starts at: 8399808
  • Geometry loader pointer at: 8405832
  • Geometry loader has 167 objects

Casinopolis Geometry Loaders

Segment 0

  • Geometry loader starts at: 26773520
  • Geometry loader pointer at: 26782172
  • Geometry loader has 240 objects

Segment 1

  • Geometry loader starts at: 62765888
  • Geometry loader pointer at: 26773496
  • Geometry loader has 211 objects

Segment 2

  • Geometry loader starts at: 26762288
  • Geometry loader pointer at: 26765864
  • Geometry loader has 99 objects

Segment 3

  • Geometry loader starts at: ??
  • Geometry loader ends at: ??
  • Geometry loader is 0x?? long

Ice Cap Geometry Loaders

Segment 0

  • Geometry loader starts at: 10753248
  • Geometry loader loader pointer at: 10755384
  • Geometry loader loader has 59 objects

Segment 1

  • Geometry loader starts at: 10750440
  • Geometry loader pointer at: 10753224
  • Geometry loader has 79 objects

Segment 2

  • Geometry loader starts at: 10739784
  • Geometry loader pointer at: 10750416
  • Geometry loader has 295 objects

Twinkle Park Geometry Loaders

Segment 0

  • Geometry loader starts at: 36406944
  • Geometry loader pointer at: 36411240
  • Geometry loader has 119 objects

Segment 1

  • Geometry loader starts at: 36399960
  • Geometry loader pointer at: 36406920
  • Geometry loader has 193 objects

Segment 2

  • Geomtery loader starts at: 36396792
  • Geometry loader pointer at: 36399936
  • Geometry loader has 87 objects

Speed Highway Geometry Loaders

Segment 0

  • Geometry loader starts at: 3636248
  • Geometry loader pointer at: 36380324
  • Geometry loader has 474 objects

Segment 1

  • Geometry loader starts at: 36360040
  • Geometry loader pointer at: 36363220
  • Geometry loader has 88 objects

Segment 2

  • Geomtery loader starts at: 36352728
  • Geometry loader pointer at: 36360012
  • Geometry loader has 202 objects

Red Mountain Geometry Loaders

Segment 0

  • Geomtery loader starts at: 31699976
  • Geometry loader pointer at: 31720940
  • Geometry loader has 582 objects

Segment 1

  • Geometry loader starts at: 34369336
  • Geometry loader pointer at: 34376548
  • Geometry loader has 200 objects

Segment 2

  • Geomtery loader starts at: 34355584
  • Geometry loader pointer at: 34369312
  • Geometry loader has 381 objects

Lost World Geometry Loaders

Segment 0

  • Geometry loader starts at: 29588672
  • Geometry loader pointer at: 29592428
  • Geometry loader has 104 objects

Segment 1

  • Geometry loader starts at: 29576504
  • Geometry loader pointer at: 29588648
  • Geometry loader has 337 objects

Segment 2

  • Geometry loader starts at: 29575856
  • Geometry loader pointer at: 29576480
  • Geometry loader has 17 objects

Sand Hill Geometry Loader

  • Geomtery loader starts at: 20168472
  • Geometry loader pointer at: 20179824
  • Geometry loader has 315 objects
Sonic Community Hacking Guide
General
Number Systems | Sonic Music Hacking Guide | Assembly Hacking Guide | Subroutine Equivalency List | 68000 Instruction Set | SonED2 Manual | ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Sega CD Documentation | Official Sega Genesis Documentation
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | 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 | Knuckles' Chaotix | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | Sonic Adventure | Sonic Adventure DX: PC | Sonic Adventure 2 | Shadow the Hedgehog
The Nemesis Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

The Esrael Hacking Guides
Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)