Actions

SCHG

Difference between revisions of "Sonic Adventure 2/Level Data Formats"

From Sonic Retro

m (Surface Flags)
m (Text replacement - "Category:Sonic Community Hacking Guide" to "")
Line 81: Line 81:
  
 
{{SCHGuides}}
 
{{SCHGuides}}
[[Category:Sonic Community Hacking Guide]]
 

Revision as of 12:35, 25 April 2018

SCHG: Sonic Adventure 2
Dreamcast
GameCube
PC


LandTable header format

This struct defines the number of models and animations in the level, the location of the corresponding lists, and the texture list used. The name comes from the label in the DLL Export table of various DLLs in the PC versions of Sonic Adventure DX and Sonic Adventure 2.

Offset Type Description
0 Short COL Count
2 Short Chunk Model Count
4 Int? Unknown
8 Int? Unknown
C Float Unknown, usually 3000
10 Pointer COL List
14 Int? Unknown
18 Pointer Texture file name. Optional.

If not null, a PVM with this name will be loaded to the address pointed to by the texture list pointer.

1C Pointer Texture List

The number of models indicated by the Chunk Model Count will be using the Chunk Model, and any models after that will be using the Basic Model. Generally, the visible models are nonsolid chunk models, and collision is solid basic models. In Battle, the main LandTables use a new model format in place of the Chunk Model.

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 0x20 bytes long and works as follows:

Offset Type Description
0 Float[3] Center of collision sphere
C Float Radius of collision sphere
10 Pointer Model (OBJECT Struct)
14 8 Bytes Padding?
1C Int Surface Flags (see below)

Surface Flags

These flags are not entirely figured out yet, but here's what is known for sure:
0x00000001 = Solid
0x00000002 = Ripple effect Chao Garden (ignores Solid bit?)
0x00000020 = Diggable
0x80000000 = Visible

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