Difference between revisions of "Chrono Cross File Structure"

From Chrono Compendium
Jump to: navigation, search
(Menu Layout)
(Menu Layout)
Line 37: Line 37:
 
::  G: 0
 
::  G: 0
 
::  B: 0</pre><Br />Input Blue: 000
 
::  B: 0</pre><Br />Input Blue: 000
:::(If >255) Max is 255, dope!
+
:::<pre>(If >255) Max is 255, dope!</pre><Br />
:Default
+
:::Next<Br />
:Return
+
:::Input Blue again!
 +
:Default<Br />
 +
:Return<Br />
 
:Quit
 
:Quit
 
Adjust Underwater RGB
 
Adjust Underwater RGB

Revision as of 02:47, 22 October 2007

Chrono Cross, released late in the PlayStation's life, was subject to clever obfuscation by Square. Obfuscation—the art of hiding data—means at the simplest level that, if you put Chrono Cross in your hard drive, you can't browse directories and view individual assets, like character models and textures. Instead, the game disc is compiled as a unified whole with an index file at the beginning which the PlayStation / Chrono Cross read to find files and operate. Halkun of QHIMM.com explains by narrating Square's probable process for creating Final Fantasy VII.

  1. All uncompressed data was preloaded in a particular data structure (like how it was originally).
  2. Compiling - The executables are built and the compiled structure's length is recorded. These can be dynamic; my theory is that there's no sector data here.
  3. PSX data creation - The ANI, TIM, RSD, HRC, and all the other PSX data is created from source assets.
  4. Compression - Pass 1 - GZIP - All the files that are not sector critical are GZipped. Compressed and uncompressed lengths are recorded.
  5. Compression - Pass 2 - LZS - All the files that are going to be sector critical are compressed in LZS and their lengths recorded.
  6. Concentration - Headers are made for all the files that need to be stuck together. They are then done so. Sector locations are kept blank.
  7. File finalization - All files are manifested in their final form, minus sector information.
  8. Cool preburn - A disk image is created on a blank hard drive. Blank indexes are written first. Then, when a file is copied to this image, sector information is written in the files that need it, and recorded in the master index. Each file gets this treatment.
  9. Burn - The disk is mastered.

The most location-important files accumulate at the beginning of the data, and the index is usually first (or perhaps last on a disc). In 2002, Terminus Traduction (specifically, Yazoo, Nemesis, and Manz) successfully audited Chrono Cross and wrote a set of utilities for extracting its data.

Chrono Cross Translation Tools

File and Data Types

Debug Mode

With the room modifier code 8007E6E8 000E enabled, ZeaLitY restored a savestate in ePSXe immediately following the defeat of the Time Devourer on a new game plus in disc one. The game shifted to the Hydra Marshes, but strangely, this savestate (and only this savestate) booted the location with a debug mode menu active. Thanks to this completely accidental discovery, the game's debug mode is being mapped. Here is the Time Devourer battle savestate (to be used with that room modifier code):

Savestate Image

Here is a savestate with the debug mode enabled:

Savestate Image

Menu Layout

Adjust Screen's RGB

Start Changes
  Mode: 00
R: 0
G: 0
B: 0
Input Blue: 000
(If >255) Max is 255, dope!

Next
Input Blue again!
Default
Return
Quit

Adjust Underwater RGB Adjust Chara.'s RGB Adjust Chara.'s rot Adjust Chara.'s scale Set Rect. Return Quit

From: Games
From: Modification

Thanks to halkun for explanation of Square practices