Actions

SCHG

Difference between revisions of "Sonic the Hedgehog (2006 game)"

From Sonic Retro

(ARC management and LUB decryption)
m (Text replacement - "== (.*) ==" to "==$1==")
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is the '''[[Sonic Community Hacking Guide]] for ''[[Sonic_the_Hedgehog_(2006_game)|Sonic the Hedgehog (2006)]]'''''.
+
{{back}}
 
{{SCHG S06}}
 
{{SCHG S06}}
  
==ISO extraction==
+
Most of the following file formats can be edited by using [https://gamebanana.com/tools/6576 Sonic '06 Toolkit]. Anything else is either done with another tool or hasn't yet been cracked.
 
 
You must use [http://www.softpedia.com/get/CD-DVD-Tools/CD-DVD-Images-Utils/XBOX-360-ISO-Extract.shtml 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===
 
[https://drive.google.com/file/d/1auuHtR91zWwNDih4l6ddlwcCbczW_b0L/view?usp=drivesdk 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===
 
[https://drive.google.com/file/d/0B9oGkmZ1vYYUMnZITGEyVUU2eW8/view?usp=sharing 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.
 
 
 
[https://drive.google.com/file/d/0B9oGkmZ1vYYUR0YyclM2bTRQR2M/view 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)==  
 
==File Formats (contains speculation)==  
* '''.arc:''' Archives that can be unpacked and packed with the above SDK tools.
+
* '''.arc:''' Archives that contain all game data other than the majority of audio.
* '''.csb:''' Archives which contain many .aif sound files. They can be unpacked with [https://ci.appveyor.com/api/buildjobs/cgefipixdrs2dl9b/artifacts/SonicAudioTools.zip SonicAudioTools], generating .adx files within .aif folders similarly to Sonic Generations and Sonic Unleashed.
+
* '''.csb:''' Archives which contain many .aif sound files. These are the same format used in future games such as Generations, and as such are compatible with those tools, but '06 Toolkit is also an option.
* '''.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.
+
* '''.lub:''' Compiled .lua scripts. These must be decompiled to edit them. For the most part, they do not need to be recompiled for the game to accept them, but they do need to have the original filename (with .lub extension), and a select few files will cause issues when decompiled.
 
* '''.ftm:''' Font maps
 
* '''.ftm:''' Font maps
 
* '''.kbf:''' Mission files
 
* '''.kbf:''' Mission files
 
* '''.mab:''' Event and miscellaneous character files. References .dds and .xnv particle files.
 
* '''.mab:''' Event and miscellaneous character files. References .dds and .xnv particle files.
* '''.mst:''' Message/subtitle files
+
* '''.mst:''' Message/subtitle files. Can be converted to XML using Toolkit.
 
* '''.path:''' Scripted path files
 
* '''.path:''' Scripted path files
 
* '''.pfi:''' Text-related files
 
* '''.pfi:''' Text-related files
 
* '''.prop:''' Contains level variables and actions
 
* '''.prop:''' Contains level variables and actions
* '''.xncp:''' UI layout files. Contains animations for them as well.
+
* '''.xncp:''' UI layout files. Contains animations for them as well. This format was used from Shadow the Hedgehog up until Sonic Generations, and a successor based on it (.swif) was used in Lost World and Forces.
 
* '''.xnd:''' Camera files
 
* '''.xnd:''' Camera files
 
===Events===
 
===Events===
 
* '''Eventplaybook.epb''' seems to control all of the cutscenes in this game.
 
* '''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
 
* '''.sbk:''' Groups .xma files and also calls them by their original .adx extensions
* '''.wmv:''' Video files
+
* '''.wmv:''' Video files. The game will accept anything as long as it is the correct resolution (1280x720).
* '''.xma:''' Music and voice files. Here is a link to the [http://hcs64.com/files/towav.zip audio converter].
+
* '''.xma''' (360) or  '''.at3''' (PS3): Music and voice files.
 
===Objects===
 
===Objects===
 
* '''.fxo:''' DirectX Shader files
 
* '''.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.
 
* '''.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.
+
* '''.pkg:''' File indexes (groups .fxo, .lua, .dds, .plc, .xnf, .xno, .xni, .xnm, and .xnv files for objects). They are BINA string tables similar to those found in [[Sonic Colors]].
* '''.set:''' Object/effect placement files. They can be edited using the 06set2xml tool found in Skyth's tool release linked above.
+
* '''.set:''' Object/effect placement files.
 
* '''.xne:''' Applies .fxo files to some objects
 
* '''.xne:''' Applies .fxo files to some objects
 
* '''.xng:''' Only used for a cage model file
 
* '''.xng:''' Only used for a cage model file
 
* '''.xnm:''' Animation files
 
* '''.xnm:''' Animation files
 +
** '''.xtm:''' A plaintext version of the .xnm format that was used during development. These are not accepted by the game. The only file with this extension is kn_glide_l_Root.xtm, matching the filename of a gliding animation for Knuckles which uses the standard .xnm extension.
 
** '''.mbi:''' Motion Base Information Files. These files contain morph data. They can be opened in notepad.
 
** '''.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.
 
* '''.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.
+
* '''.xno:''' Model files.
 +
** '''.xto:''' Plaintext version of the .xno format. Not accepted by the game. The only file with this extension is en_Kyozoress.xto (matching a used .xno), for the large golem-like enemies in Mephiles' second fight.
 
** '''.bin:''' Collision data
 
** '''.bin:''' Collision data
 
*** '''.rab:''' Related to the .bin files
 
*** '''.rab:''' Related to the .bin files
 
** '''.dds:''' Texture files
 
** '''.dds:''' Texture files
** '''.tev:''' Used in breakable objects. Refrences .xnm files.
+
** '''.tev:''' Used in breakable objects. References .xnm files.
 +
 
 
===Special Effects===
 
===Special Effects===
 
* '''.ptb:''' References .dds particle textures. Possibly tells which particle effects to load on each area, character, or event.
 
* '''.ptb:''' References .dds particle textures. Possibly tells which particle effects to load on each area, character, or event.
Line 57: Line 46:
 
* '''.xni:''' Light particles
 
* '''.xni:''' Light particles
 
* '''.xnv:''' Special effect generation files (particle/xno_model/ef_cylinder001_a_x_03m.xnv)
 
* '''.xnv:''' Special effect generation files (particle/xno_model/ef_cylinder001_a_x_03m.xnv)
 +
** '''.xtv:''' Plaintext version of the .xnv format. Not accepted by the game. The only file with this extension is once again for Kyozoress, with the filename en_Kyozoress.xtv (matching a used .xnv).
  
== Directories ==
+
==Directories==
 +
Not an exhaustive list!
 
===win32===
 
===win32===
 
* '''\archives:''' Where most character, enemy, and level .arc files are kept.
 
* '''\archives:''' Where most character, enemy, and level .arc files are kept.
Line 104: Line 95:
 
*** '''j:''' Japanese voice files
 
*** '''j:''' Japanese voice files
  
== Trivia ==
+
==Trivia==
  
 
* In many of the player .lua files, there is a parameter called "input_method_mario64"
 
* In many of the player .lua files, there is a parameter called "input_method_mario64"
Line 110: Line 101:
 
* The Kingdom Valley TGS demo files are located at xenon\archives\scripts\xenon\placement\other\gameshow.
 
* The Kingdom Valley TGS demo files are located at xenon\archives\scripts\xenon\placement\other\gameshow.
  
== Contributors ==
+
==Contributors==
 
(In alphabetical order)
 
(In alphabetical order)
 
*[http://forums.sonicretro.org/index.php?showuser=20948 Andruid]
 
*[http://forums.sonicretro.org/index.php?showuser=20948 Andruid]
Line 116: Line 107:
 
*[http://forums.sonicretro.org/index.php?showuser=18945 SonicASD]
 
*[http://forums.sonicretro.org/index.php?showuser=18945 SonicASD]
 
*[http://forums.sonicretro.org/index.php?showuser=3578 Turbohog]
 
*[http://forums.sonicretro.org/index.php?showuser=3578 Turbohog]
 +
 +
==References==
 +
<references />
  
 
{{SCHGuides}}
 
{{SCHGuides}}
 
[[Category:Sonic Community Hacking Guide]]
 
[[Category:Sonic Community Hacking Guide]]

Latest revision as of 16:26, 24 March 2020

Back to: [[]].
SCHG: Sonic the Hedgehog (2006 game)
Main Article
Sound Editing
Sound Editing
Music List
Voices


Most of the following file formats can be edited by using Sonic '06 Toolkit. Anything else is either done with another tool or hasn't yet been cracked.

File Formats (contains speculation)

  • .arc: Archives that contain all game data other than the majority of audio.
  • .csb: Archives which contain many .aif sound files. These are the same format used in future games such as Generations, and as such are compatible with those tools, but '06 Toolkit is also an option.
  • .lub: Compiled .lua scripts. These must be decompiled to edit them. For the most part, they do not need to be recompiled for the game to accept them, but they do need to have the original filename (with .lub extension), and a select few files will cause issues when decompiled.
  • .ftm: Font maps
  • .kbf: Mission files
  • .mab: Event and miscellaneous character files. References .dds and .xnv particle files.
  • .mst: Message/subtitle files. Can be converted to XML using Toolkit.
  • .path: Scripted path files
  • .pfi: Text-related files
  • .prop: Contains level variables and actions
  • .xncp: UI layout files. Contains animations for them as well. This format was used from Shadow the Hedgehog up until Sonic Generations, and a successor based on it (.swif) was used in Lost World and Forces.
  • .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. The game will accept anything as long as it is the correct resolution (1280x720).
  • .xma (360) or .at3 (PS3): Music and voice files.

Objects

  • .fxo: DirectX Shader files
  • .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). They are BINA string tables similar to those found in Sonic Colors.
  • .set: Object/effect placement files.
  • .xne: Applies .fxo files to some objects
  • .xng: Only used for a cage model file
  • .xnm: Animation files
    • .xtm: A plaintext version of the .xnm format that was used during development. These are not accepted by the game. The only file with this extension is kn_glide_l_Root.xtm, matching the filename of a gliding animation for Knuckles which uses the standard .xnm extension.
    • .mbi: Motion Base Information Files. These files contain morph data. They can be opened in notepad.
  • .xna: Contains various data for switches, breakable objects, and NPCs.
  • .xno: Model files.
    • .xto: Plaintext version of the .xno format. Not accepted by the game. The only file with this extension is en_Kyozoress.xto (matching a used .xno), for the large golem-like enemies in Mephiles' second fight.
    • .bin: Collision data
      • .rab: Related to the .bin files
    • .dds: Texture files
    • .tev: Used in breakable objects. References .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)
    • .xtv: Plaintext version of the .xnv format. Not accepted by the game. The only file with this extension is once again for Kyozoress, with the filename en_Kyozoress.xtv (matching a used .xnv).

Directories

Not an exhaustive list!

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)

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