Actions

SCHG

Difference between revisions of "Sonic Adventure 2/Cutscenes"

From Sonic Retro

m (Main File Information)
(EXXXX_0 Information)
Line 128: Line 128:
 
| 8
 
| 8
 
| Float
 
| Float
| Light rotation (X-Axis)
+
| Light Direction Vector (X-Component)
 
|-
 
|-
 
| C
 
| C
 
| Float
 
| Float
| Light rotation (Y-Axis)
+
| Light Direction Vector (Y-Component)
 
|-
 
|-
 
| 10
 
| 10
 
| Float
 
| Float
| Light rotation (Z-Axis)
+
| Light Direction Vector (Z-Component)
 
|-
 
|-
 
| 14
 
| 14

Revision as of 22:04, 8 March 2019

SCHG: Sonic Adventure 2
Dreamcast
GameCube
PC

Cutscenes

Depending on the version of SA2, the data for the event cutscenes can differ. EXXX.PRS is the main file, while the _0 to _J files contain miscellaneous resources, such as audio timings and lighting/screen fade information. In the Dreamcast version, the models and animation data for a scene are all contained within the main file, while in SA2B, the animation data was split off into an uncompressed file labeled exxxmotion.bin. With two exceptions in the DC version - those being E0203 and E0210 - the event files can only be interpreted by the game if the main file is compressed.

Main File Information

Offset Type Description
0 Pointer Scene geometry
4 Pointer Texture list
8 Scene count
C Pointer Texture sizes
10 Pointer Unknown
14 Pointer Unknown
18 Pointer Unknown
1C Pointer Tails' tails
20 Pointer Upgrade list
24 Pointer Models that use animated textures
28 Drop shadow control? A value of 1 indicates updated scene geometry to accommodate proper drop shadows. (SA2B only)

The upgrade list is constant throughout the game. To work around a technical limitation with the character models in SA2B, Mech Tails and Mech Eggman were given an upgrade slot each for their windshields, as they would have problems rendering otherwise.

Number Description
1 Sonic's Light Shoes
2 Sonic's Flame Ring
3 Sonic's Bounce Bracelet
4 Sonic's Magic Gloves
5 Shadow's Air Shoes
6 Shadow's Flame Ring
7 Knuckles' Shovel Claw (Left)
8 Knuckles' Shovel Claw (Right)
9 Knuckles' Hammer Glove (Left)
10 Knuckles' Hammer Glove (Right)
11 Knuckles' Sunglasses
12 Knuckles' Air Necklace
13 Rouge's Pick Nails
14 Rouge's Treasure Scope
15 Rouge's Iron Boots
16 Rouge's Heart Plates
17 Mech Tails' cockpit window (SA2B only)
18 Mech Eggman's cockpit window (SA2B only)

EXXXX_0 Information

Starting at 0x26800 are 68-byte chunks that dictate the lighting information for the corresponding cutscene. The last 20 bytes can be considered a buffer for now.

Offset Type Description
0 Frame in which the lighting information takes effect
4 Fade control. 1 is a hard cut, while 2 is a fade-in from the previous set of instructions
8 Float Light Direction Vector (X-Component)
C Float Light Direction Vector (Y-Component)
10 Float Light Direction Vector (Z-Component)
14 Float Red
18 Float Green
1C Float Blue
20 Float Light intensity
24 Float Ambient R
28 Float Ambient G
2C Float Ambient B

In-Level Scenes

Scenes that are labeled as MEXXXX.PRS in the event files are cutscenes that occur within a game state, such as before certain boss fights like Big Foot and Flying Dog. The contents of these files are not as robust as those of the main cutscenes, often only containing animation and shape motion data for the designated characters. As these scenes rely on the player models, specific parts of their body are omitted and replaced with cutscene-specific variants for the duration of the scene, with the exception of Mech Eggman as he only requires animation data. The contents of these files can be broken down as follows:

Offset Type Description
0 An indicator of the characters in the scene. Can be 01 (Sonic), 02 (Shadow), 03 (Sonic and Shadow), 10 (Knuckles), 20 (Rouge), 30 (Knuckles and Rouge), 80 (Mech Eggman)
4 Pointer Camera information
8 Pointer Sonic's pointer array (if applicable)
C Pointer Shadow's pointer array (if applicable)
18 Pointer Knuckles' pointer array (if applicable)
1C Pointer Rouge's pointer array (if applicable)
24 Pointer Mech Eggman's pointer array (if applicable)

The order for each character's pointer array always begins with the player model's animations, followed by the model -> animation -> shape motion data sets for each cutscene model. The head's data goes first, followed by the mouth, then the left hand, and finally the right hand.

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