Sonic Heroes/Visibility Editing
From Sonic Retro
SCHG: Sonic Heroes |
---|
Main Article |
Mechanic Editing |
DOL Editing |
Model Editing |
Collision Format Model Format |
Level Editing |
Camera Editing |
Particle Editing |
Particle Editing |
Sound Editing |
Music List |
SCHG How-Tos |
Custom Object Material Effect Tutorial |
Visibility data for level models is set in sLL_blk.bin files located in the dvdroot folder. They are big endian binary files which define boundary boxes. When the camera is inside the box, the specified chunk of level geometry is rendered.
File layout
Each sLL_blk.bin file contains 64 entries for boundary boxes. Most levels are split into fewer chunks, so the majority of those entries is left unused.
Each entry is 0x1B bytes long and is set like this:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset | Type | Description |
---|---|---|
0x00 | Long | Chunk number (-1 for blank entry) |
0x04 | Long | Minimum X |
0x08 | Long | Minimum Y |
0x0C | Long | Minimum Z |
0x10 | Long | Maximum X |
0x14 | Long | Maximum Y |
0x18 | Long | Maximum Z |
The XYZ coordinates for the maximum and minimum of the boundary boxes are signed 32 bit integers, allowing for positive and negative values.
The minimum value for each coordinate must be lower than the maximum, but the minimum doesn't have to be positive or the maximum negative.
The same chunk can be specified to load from more than one entry, and multiple chunks can be loaded at the same time from overlapping boxes.
References