Actions

SCHG

Sonic Heroes/Spline Editing

From Sonic Retro

Revision as of 16:26, 24 March 2020 by Black Squirrel (talk | contribs) (Text replacement - "== (.*) ==" to "==$1==")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
SCHG: Sonic Heroes
Main Article
Mechanic Editing

DOL Editing
EXE Editing
Music Pointers
Object Parameter Data
Relocatable Editing (PC)
File Offsets

Model Editing
Collision Format
Model Format
Level Editing

Camera Editing
Event Editing
ID list
Indirect Editing
Light Editing
Level List
Object Editing
Object Porting
Spline Editing
Texture Animation Editing
Visibility Editing

Particle Editing
Particle Editing
Sound Editing
Music List

Sound Editing
Voices

SCHG How-Tos

Custom Object Material Effect Tutorial
Level Editing Tutorial


SPL splines are found in many places in Sonic Heroes. Splines such as rails and autoloops are not in SPL format, those instead are in the executable; paths used for Falcos (similar to splines) are animations found in every stage flyer archives. SPLs are found directly in the dvdroot folder or in ONE archives, and contain data for special stage splines, automated camera sections, and many objects such as flowers/propellers and the alligator in Frog Forest and Lost Jungle.

Format

The file is little endian. It's a Renderware binary stream file with just one section.

int32 sectionType // 0C 00 00 00
int32 sectionSize // number of bytes in file -0x0C
int32 renderWareVersion // always FF FF 00 14 in Heroes
int8[20] null
int32 amountOfPoints // get total number of bytes in file, subtract 0x34 and divide by 0x0C
int32 unknown // always 01 00 00 00
vertex3[amountOfPoints] vertices

// vertex3: 0x0C bytes
float32 X
float32 Y
float32 Z

Tools

Heroes SPL Editor can convert between SPL and OBJ which can be imported/exported from 3d model editors.

References


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