Sonic Adventure/CAM & SET Files
In Sonic Adventure and its ports, placement data for cameras and objects is read from binaries beginning with "CAM" and "SET" respectively. Each file's name contains its type (CAM/SET), stage, act and character. For example: SET0400S.BIN corresponds to Speed Highway 1 as Sonic.
The naming for stages is different depending on whether it's an action stage or not. For action stages, the stage's internal ID is used (In the example, 04 is Speed Highway). Otherwise, it uses a name string.
Despite how it looks, the game doesn't load these files automatically. It gets the current stage, loads CAM/SET files with specific filenames and assigns them to an act. This means that (in most cases) stages/acts the game doesn't use don't load these files by default.
Mission Mode (CAMMI/SETMI) files are read differently. These 'are' loaded automatically, using the stage and act to load the correct file. For this reason, Mission Mode files only use stage ID numbers rather than name strings for non-action stages.
Recognized Filenames
Here are all the filenames the game will recognize:
| String | Stage | Acts |
|---|---|---|
| 00 | Hedgehog Hammer | 00-01 |
| 01 | Emerald Coast | 00-02 |
| 02 | Windy Valley | 00-02 |
| 03 | Twinkle Park | 00-02 |
| 04 | Speed Highway | 00-02 |
| 05 | Red Mountain | 00-02 |
| 06 | Sky Deck | 00-02 |
| 07 | Lost World | 00-02 |
| 08 | Icecap | 00-03 |
| 09 | Casinopolis | 00-03 |
| 10 | Final Egg | 00-03 |
| 12 | Hot Shelter | 00-03 |
| 15 | Chaos 0 | 00 |
| 16 | Chaos 2 | 00 |
| 17 | Chaos 4 | 00 |
| 18 | Chaos 6 | 00-01 |
| 19 | Perfect Chaos | 00 |
| EGM1 | Egg Hornet | N/A |
| EGM2 | Egg Walker | N/A |
| EGM3 | Egg Viper | N/A |
| ZERO | ZERO | N/A |
| E101 | E101 | N/A |
| E101R | E101 Mk.II | N/A |
| SS | Station Square | 00-05 |
| EC0 | Egg Carrier Outside | 0-5 |
| EC3 | Egg Carrier Inside | 0-5 |
| MR | Mystic Ruins | 00-03 |
| PAST | Mystic Ruins Past | 00-02 |
| MCART | Twinkle Circuit | 00-05 |
| SHT1 | Sky Chase Act 1 | N/A |
| SHT2 | Sky Chase Act 2 | N/A |
| SBOARD | Sand Hill | 00-01 |
Dreamcast Only
In Chao areas, CAM/SET files are only used in the Dreamcast version. They still exist in later builds but the game won't do anything with them - except technically CAMGARDEN00, which is explained in the section below.
| String | Stage |
|---|---|
| GARDEN00 | Station Square Chao Garden |
| GARDEN01 | Egg Carrier Chao Garden |
| GARDEN02 | Mystic Ruins Chao Garden |
| AL_RACE | Chao Race |
Exceptions
In some of these cases the game reads files for empty, unused acts:
- Hedgehog Hammer Act 2
- Final Egg Act 4
- Hot Shelter Act 4
- Egg Carrier (Inside) Act 6
For CAM files, all bosses except Perfect Chaos load CAM0000. However, the Boss camera overrides it, so it doesn't do anything normally. in SADX, the same thing happens in Chao areas: All of them load CAMGARDEN00, but the Chao Garden/Race cameras override it.
If trying to load an unused stage (Eg. 31), the code to load these files locks the game in an infinite loop and repeatedly prints the following line in the debug console:
Nothin' Module・Set・Cam
However, this won't happen for stages 27/28 (STAGE_SS_EVE/STAGE_SS_NIG) as they load Station Square's files.
Unrecognized Filenames
There are a few files that exist but aren't read in any version, even if the area they imply they're for is loaded. Files only seen in unreleased builds such as the AutoDemo aren't included in this list.
| Name | Notes |
|---|---|
| SET.LST00S | SADX Only |
| SET9999S | |
| CHAOGARDEN | CAM+SET Pair |
Character Initials
At the end of the filename an initial is used to tell the game which character to load the layout for. Notably, despite neither being fully fledged playable characters nor the game having any files for them, Eggman and Tikal have their own initials.
| Initial | Character |
|---|---|
| S | Sonic |
| EG | Eggman |
| M | Tails |
| K | Knuckles |
| TI | Tikal |
| A | Amy |
| E | E102 |
| B | Big |
| L | Super Sonic's story |
If no file is found with the current character's initial, the game defaults to loading Sonic's. Super Super's story overrides all initials regardless of character, so if you mod the game to play a level as another character with it (Eg. Speed Highway 3 as Knuckles) it will load Sonic's layout due to the game searching for the Super Sonic initial, not finding it, and defaulting to Sonic's file.
| General Information | File Formats • Level List • Texture Files • Game Builds • CAM & SET Files | |
|---|---|---|
| Character Information | Character List • Actions • Animation Lists • Faces | |
| Sound Information | General | Voice List • Music Files |
| Sound Effects | Stage Sounds • Stage Background Sounds | |
| Other | Cutscene List • Fish List | |