Actions

SCHG

Sonic the Hedgehog (2006 game)

From Sonic Retro

Revision as of 19:27, 30 September 2018 by MrMrMANGOMILK (talk | contribs) (ARC management and LUB decryption)

This is the Sonic Community Hacking Guide for Sonic the Hedgehog (2006).

SCHG: Sonic the Hedgehog (2006 game)
Main Article
Sound Editing
Sound Editing
Music List
Voices


ISO extraction

You must use XBOX 360 ISO Extract to unpack or repack the .iso. Only the former is required to play the game in Xenia.

ARC management and LUB decryption

Shadow LAG's Sonic 06 SDK contains tools to unpack the ARC archives used in the game. Place then in the "packed" folder, then run "Sonic06_SDK.cmd", which will remain open. This will rename the folder to "unpacked", and all ARCs will have been replaced with folders containing the unpacked files. When you are finished editing the contents, go back to the SDK window and press enter. This will repack the folders into ARC files, which can be placed back into the game directory.

The SDK can also decrypt LUB files into plaintext LUAs. To do so, place the LUBs into the "lubs" folder and run "unlub.cmd". This will decrypt the LUBs and place the result in the LUAs folder, with its respective extension. unlub will prompt you to clean up the LUBs, which deletes them. It's a good idea to say no to this as certain LUBs are already decrypted in the base game. When you are finished editing the LUAs, rename the extension to .lub and place it in the source ARC, since the game accepts uncompiled LUAs when this is done.

Model editing

Skyth's tool release contains an XNO to DAE converter. When run from the command line, first type the XNO filename, then an XNM if desired. The program ignores any arguments regarding the output file and simply puts it in the same directory as the source XNO, using the same name and a DAE extension. It also ignores material colors, so textures will likely appear washed out, at least on character models.

Skyth has also released a tool to convert back to XNO, which supports most standard model formats. The program will sometimes throw an error regarding a missing plugin, which can be rectified by copying the "qwindows.dll" file found in the "platforms" folder into "(OS root)\Qt\5.5\msvc2010\plugins\platforms".

File Formats (contains speculation)

  • .arc: Archives that can be unpacked and packed with the above SDK tools.
  • .csb: Archives which contain many .aif sound files. They can be unpacked with SonicAudioTools, generating .adx files within .aif folders similarly to Sonic Generations and Sonic Unleashed.
  • .lub: Compiled .lua scripts. These can be decompiled using the above SDK tools. They do not need to be recompiled for the game to accept them, but they do need to have the original filename.
  • .ftm: Font maps
  • .kbf: Mission files
  • .mab: Event and miscellaneous character files. References .dds and .xnv particle files.
  • .mst: Message/subtitle files
  • .path: Scripted path files
  • .pfi: Text-related files
  • .prop: Contains level variables and actions
  • .xncp: UI layout files. Contains animations for them as well.
  • .xnd: Camera files

Events

  • Eventplaybook.epb seems to control all of the cutscenes in this game.
  • .sbk: Groups .xma files and also calls them by their original .adx extensions
  • .wmv: Video files
  • .xma: Music and voice files. Here is a link to the audio converter.

Objects

  • .fxo: DirectX Shader files
    • There are only two material files in this game that can be opened in notepad. They are en_Kyozoress.xtv and en_Kyozoress.xto. Kyozoress is a small enemy that Shadow fights along with Mephiles.
  • .hkx: Havok physics behavior files. This game uses Havok-3.3.0-b2.
  • .pkg: File indexes (groups .fxo, .lua, .dds, .plc, .xnf, .xno, .xni, .xnm, and .xnv files for objects). The only way to edit these is by hex editing them, and they must be the same size, otherwise the game will crash.
  • .set: Object/effect placement files. They can be edited using the 06set2xml tool found in Skyth's tool release linked above.
  • .xne: Applies .fxo files to some objects
  • .xng: Only used for a cage model file
  • .xnm: Animation files
    • .mbi: Motion Base Information Files. These files contain morph data. They can be opened in notepad.
    • One file, kn_glide_l_Root.xtm, can be opened in notepad, and it contains gliding animation data for Knuckles.
  • .xna: Contains various data for switches, breakable objects, and NPCs.
  • .xno: Model files. Can be converted with the above xno2dae tool in Skyth's tool release.
    • .bin: Collision data
      • .rab: Related to the .bin files
    • .dds: Texture files
    • .tev: Used in breakable objects. Refrences .xnm files.

Special Effects

  • .ptb: References .dds particle textures. Possibly tells which particle effects to load on each area, character, or event.
  • .peb: Particle effect files
    • .plc: Particle effect loaders
  • .xni: Light particles
  • .xnv: Special effect generation files (particle/xno_model/ef_cylinder001_a_x_03m.xnv)

Directories

win32

  • \archives: Where most character, enemy, and level .arc files are kept.
    • stage_e0003: Elise's prison cell at Dusty Desert
    • stage_e0009: Eggman's time machine sends Sonic to the future.
    • stage_e0010: Eggman's time machine in the future
    • stage_e0012: Crisis City computer room with Sonic and company
    • stage_e0021: The Egg Carrier invades Soleanna.
    • stage_e0022: Elise is held captive in the Egg Carrier.
    • stage_e0023: Scene where Silver teams up with Sonic at Kingdom Valley
    • stage_e0026: Silver helps Sonic travel to the past.
    • stage_e0028: Sonic hops aboard the Egg Carrier at Aquatic Base.
    • stage_e0031: Elise is captured after the festival in Sonic's story.
    • stage_e0104: Scene where Mephiles is revived through Shadow.
    • stage_e0105: Mephiles takes Shadow and Rouge to this area in Crisis City.
    • stage_e0106: Crisis City computer room with Shadow and Rouge
    • stage_e0120: Shadow in Eggman's train
    • stage_e0125: Shadow and Silver give Elise the scepter in Shadow's story.
    • stage_e0206: Scene where Silver meets Amy at Soleanna
    • stage_e0214: Amy at Eggman's base in White Acropolis
    • stage_e0216: Scene where Elise is captured at her castle in Silver's story.
    • stage_e0221: Scene where the Duke of Soleanna gives Elise to Silver
    • stage_e0304: Soleanna at the End of the World
    • stage_kdv_d: Kingdom Valley "Mach speed" section
    • stage_rct_b: Radical Train "Mach speed" section
    • stage_tpj_c: Tropical Jungle Siver/Rouge/final section
    • stage_twn_a: Soleanna Castle Town
    • stage_twn_b: Soleanna New City
    • stage_twn_c: Soleanna Forest
    • stage_twn_d: Soleanna Circuit
    • stage_wap_b: White Acropolis second/final section
    • stage_wvo_a: Wave Ocean
    • stage_wvo_b: Wave Ocean "Mach Speed" section

xenon

  • archives: Where some other .arc files are kept. All of the .lub scripts can be found here.
    • Stage: Contains stage collision data
    • Player: Contains the code for all of the characters
    • Sound: Contains sound effects
  • event: Where the cut scene videos and voice files are kept. Pre-rendered cut scenes are in .wmv, while other cut scenes have .xma files.
  • sound: Music files and credits videos
    • event: Cutscene music
    • voice
      • e: English voice files
      • j: Japanese voice files

Trivia

  • In many of the player .lua files, there is a parameter called "input_method_mario64"
  • The menu files from the TGS demo are at win32\archives\sprite\win32\sprite\gameshow.
  • The Kingdom Valley TGS demo files are located at xenon\archives\scripts\xenon\placement\other\gameshow.

Contributors

(In alphabetical order)

Sonic Community Hacking Guide
General
Sonic Music Hacking Guide | SonED2 Manual
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic CD (2011) | Sonic 2 (Nick Arcade prototype) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (8-bit) | Sonic 2 & Knuckles | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Sonic 3 | Sonic & Knuckles | Sonic the Hedgehog 3 & Knuckles | Sonic & Knuckles Collection | Sonic Crackers | Sonic 3D: Flickies' Island | Chaotix | Sonic R PC | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | 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 | Shadow the Hedgehog | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Colours | Sonic Generations | Sonic Lost World | Sonic Forces
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 | Subroutine Equivalency List | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Mega-CD Documentation | Official Sega Mega Drive Documentation