Shadow the Hedgehog (game)/Technical information
From Sonic Retro
Revision as of 20:24, 22 April 2023 by Crazy Muzzarino (talk | contribs) (All sorted, from executable.)
- Back to: Shadow the Hedgehog (game).
This article needs cleanup. This article needs to be edited to conform to a higher standard of article quality. |
Shadow the Hedgehog technical information |
---|
Main Article |
Level Editing |
Stage parameters |
Stage ID list |
Object layout format |
Effect data |
Spline format |
Misc |
Cutscene ID list |
Contents
File formats
- .ONE: the .one files are packages used to hold the textures and individual models. The header lists the one version compressor format, which is "One Ver 0.60" All the .one files all packages that keep textures and models packaged within them.
- .BSP: Inside the multiple .ONE files in the stg0xxx directories are .PRS files, which contain .BSP files; these contain the level geometry. It seems that the level geometry is stored in numerous .ONE files for each level, except for the test levels.
- .GNCP: These files store scripts for menus/HUD elements. The exact extension is different depending on the console version; .GNCP for GameCube, .XNCP for Xbox, .SNCP for PS2. Some *NCP's contain embedded .RWTEX format textures that it loads instead of from a .TXD.
- .EFD: Inside the effect information data has particle effect data and of course parameters for each effect model.
- .TXD: The usual texture pack. They are a different format from Sonic Heroes. All of the textures are kept in this pack.
- .FOG: I'm actually not sure on what these are. I'm assuming create a fog. A .FOG file is usually in each of the stage folders and don't have much in them. Only 1 line has something on it, but even then it's not even full.
- AudioData .BIN: These keep sound effects for what they may correspond to, such as stage objects or boss battles.
- .PAC: Xbox version SFX / voice packs (Thanks to Neo Chaotikal)
- .INF: Text files that contain boot and stage parameters.
- .SFD: CG scenes/cutscenes.
- .AFS: Packages to store something, in this case it's voices for the characters.
- .ADX: Sound such as music or cutscene tracks.
- .DFF: RenderWare model.
- .BON: Model bones file.
- .BDT: Stage visibility file.
- .UVA: UV animation file.
- .CCL: Object collision file.
- .FNT: Subtitle script data.
- .MET: Subtitle character spacing data.
- .BIN: Binary files. Files containing "light" in their name are lighting-data for models on the stage; near-identical to the *light.bin files used in Sonic Heroes.
Directories
- character: Where character .ONE files are kept.
- common: This directory holds generic misc. data such as Weapon Resources and Len Flares.
- csdFiles: Where any menu elements are kept, such as HUDs, Loading Screens, 2P Results.
- discError: Where disc error .TXDs are kept. Exclusive to Xbox version.
- enemy: Where enemies' and boss' .ONES are kept.
- event: Where events, such as cutscene actions are kept. Seems to use .ONEs and .SCRs file formats.
- fonts: Where text/fonts are kept.
- palsel: Where PAL region's hertz screen data is kept. Not present in Xbox version.
- sound: Where Audio Data and Sound Effects are kept.
- stafroll: Where the .SRD and the .TXD file that make up the credits/staff roll are kept.
- stg0xxx (stg0005 to stg0911): These are where the files that make up the stages in SHTH are kept. Usually contain .TXD files, .ONE files (which contain .PRS files, which contain .BSP and .TXD files) and .DAT files which in the stage's case make up camera data, however, some have .FOG files.
- Root Directory: where music and other voices are kept. Also where CG cutscenes are kept. Also, there is a stg_cmn_gdt.one file that contains variety of common stage object models.
Level Geometry Name Tags
Number | Tag |
---|---|
00 | N |
01 | D |
02 | OS |
03 | OSL |
04 | O |
05 | OW |
06 | OL |
07 | P |
08 | AF |
09 | A |
0A | AL |
0B | K |
0C | M |
0D | G |
0E | GL |
User Data
struct RpUserDataFormat { uint32 NumberOfSections; uint32 StringLength; string DataAttribute; uint32 Format; uint32 NumberofElements; void* Parameters; };
The following attributes are used by the game:
- ATTR_PTCL.PTCLCATEGORY
- ATTR_PTCL.PTCLID
- ATTR_PTCL.PTCLFLAG
- ATTR_ID.ATTR_ID
- ATTR_OBJPARM.ATTR_OBJPARM
- ATTR_WORLDPARM.ATTR_WORLDPARM - Geometry Render Queue
- FVF.UserData - End of User Data
ATTR_WORLDPARM.ATTR_WORLDPARM
Parameter | Values | Render Pass |
---|---|---|
00 | 04 | O |
01 | 04 | O |
02 | 05 | OW |
03 | 06 | OL |
04 | 02 | OS |
05 | 01 | D |
06 | 08 | AF |
07 | 09 | A |
08 | 0B | K |
09 | 0D | G |
0A | 0E | GL |
0B | 0C | M |
.BON
// File: .BON File (Shadow The Hedgehog External Bone Structure file for Animations, Export from DFF Model) // Authors: Sewer56lol
// struct FILE { // struct HEADER
{ char Activator[4]; uint Null; ushort Unknown; ushort Entries; float RootOfBone; char CharacterNameID[32]; } header;
// struct RECORD {
uint BoneTag; // Properties in 3DS uint UnknownRootID; // SomeID short UnknownValue; // Some Value byte IDOfSplit; byte UnknownID; int NullZero; float OffsetParentBoneX; float OffsetParentBoneY; float OffsetParentBoneZ; int Null; // Always Null float UnknownReferenceFloatX; // Seems to reference something else float UnknownReferenceFloatY; // Seems to reference something else float UnknownReferenceFloatZ; // Seems to reference something else int NullTwo; // Always Null float UnknownFloatX2; // Almost always 1 float UnknownFloatY2; // Almost always 1 float UnknownFloatZ2; // Almost always 1 int NullThree; // Always Null char UnknownTwo[16]; char BoneName[32]; } record[ header.Entries ];
} file;
// Shadow The Hedgehog .BON Struct
// Sewer56lol
//0x10 Header: Constant
//0x10 Character Name/Identifier (Must change for porting)
//Bone Data | 0x80 Byte Entries till EOF
//0x10 X Offset of Parent Bone | Float
//0x14 Y Offset of Parent Bone | Float
//0x18 Z Offset of Parent Bone | Float
//0x60 File Name | End of Entry
//Knuckles Reference:
//kn_root = Root Bone
//kn_j_l2toge1 = Left Spines
//kn_j_head = Head
//kn_j_m1oge1 = Middle Spines
//kn_j_r2toge1 = Right Spines
References
Shadow the Hedgehog | |
---|---|
Main page Manuals |
show;hide
Level Bosses: End Bosses: Last Story: Books:
Music: Songs: "I Am... All of Me" | "E.G.G.M.A.N. Doc. Robeatnix Mix" | "Almost Dead" | "Waking Up" | "Chosen One" | "All Hail Shadow" | "Never Turn Back" |