Utilities (PSX)

General Information[edit]

Several utilities are functional with the playstation release of Chrono Trigger and Chrono Cross. If the utilities here do not work, do check out http://www.zophar.net/utilities/psxutil.html for more options. If you need an emulator, grab ePSXe. ALL-IMPORTANT NOTE: You shouldn't run those tools on BIN disc images (2352 bytes/sector). They don't know to ignore the ECC data/whatever between sectors, so they misinterpret that data as part of the image/sound. Run them instead on an ISO (2048 bytes/sector) or on the extracted files. Thanks to Vehek

Chrono Cross[edit]

Blender Model Importing Plugin[edit]

Author: Luminaire85

You can take the model OUT files that Nemesis's translation tools put out and import them into Blender using this plugin. It's still a work in progress; not every model will import correctly.

Changelog

v0.4.0: 2009.01.29

  • Ground-up rewrite to take advantage of Python's object-oriented capabilities.
  • Modified to be able to handle models with multiple textures.
  • Modified to be able to handle textures of varying size.
  • Improved console output to facilitate debugging.

v0.3.1: 2008.05.27

  • Steps to improve Blender viewing of models: turn off mipmapping and interpolation, enable transparency in rendering.

v0.3.0: 2008.05.14

  • Fixed remaining bugs in vertex unpacking; all models' vertices and faces are now viewable with 99% accuracy.
  • Deferred attempt to derive armature from joint data.

Chrono Cross Save State Editor[edit]

Author: Deus

This savestate editor works with saves made by ePSXe. It requires Python and wxPython to run; these can be found here and here.

Enemy Editor[edit]

This is one of Magil's toys—edits enemy stats, Elements, etc. and optionally outputs a .ppf patch to apply to a disc image. This is written in C# and requires the .Net framework, so this one is Windows-only.

m35 jpsxdec[edit]

jPSXdec is a modern, cross-platform PlayStation 1 audio/video converter which also supports extracting files and TIM images.

https://github.com/m35/jpsxdec

Purple Cat Tools[edit]

Alfador's ongoing project, whose purpose is to produce a set of extraction and editing tools that will allow as many as possible of the files on the Cross ~CDs to be edited without reference to the documentation collected here. ;) Written in Perl (hence multiplatform).

0.3 was the last real release. There is reasonably complete documentation in the README file.

Features: break apart Cross CD images into their component files and rebuild them, or extract individual files and reinsert them.

Known problems: never much tested on Windows, creation of EDC/ECC data for CD sectors is really slow (not an issue unless you're rebuilding an entire CD).

0.4_ALPHA contains most of what was supposed to be the next version.

Features: In addition to just about everything the previous version can do, allows breaking down composite (drp and cpt) files into their component parts and rebuilding them, somewhat functional LZSS decompression and recompression. Faster at creating CD sectors than the previous version. Supports project settings files, so that you don't have to keep typing all those switches.

Known problems: the README was only partly updated, filebuilder.pl was never actually written, relzss.pl never worked properly (it's okay for short files, IIRC, but I screwed up on "what you do when you hit the end of the buffer"), some scripts don't work properly on Windows even though they're okay on Linux. I have a set of corrections someone on Triple-Tech gave me that I never got around to incorporating.

Model Importer and Viewer[edit]

Created by Magil.

  • Model Viewer (version 2; download includes all room and model rips, plus actual script; Blender must be downloaded separately)
  • Web Viewer Backup

The new importer is based on Luminaire's old work, however, it now focuses on importing animations. The script is stilling using blender 2.49 APIs, so whoever use it need to get that version. I'm planning to port it on new blender, but for now it only works in 2.4x.

How to use?

  1. Get a blender 2.49b from here: http://download.blender.org/release/
  2. Download import_ccmodel2.py
  3. Put the script in blender's script folder (on windows, it should be in .blender\scripts under your blender installation directory).
  4. Get the model rips. Extract them in a folder.
  5. Edit import_ccmodel2.py:
  • Find line 2740, edit the directory to match where you extract the models, there should be a "Battle Models" folder, that is your destination. On windows you should replace use \\ instead of \
  • Find line 2745, the value can be either 'battle_model', 'room_model', 'room_anim' or 'tech_anim', the paths to the models and animations are defined in several tables(chars, rchars, ranim, techs). I will explain later.
  • Line 2746 is the index to the battle model or tech animation. For example, if you want to import Serge's model with standard and attack animations, change the value to 0. If you want to import Serge's Luminaire animation, you need to change line 2745 to 'tech_anim', then change line 2746 to 180.

6. When you are done editing the script, run it from the menu: file-->Import-->Chrono Cross Model V2, and wait for blender to finish.

7. Find and reopen the output file in blender. For battle models, the .blend files should be saved in your "Battle Models" folder, for tech animations, the files are in "Battle Models\techanim". It is important to "force" blender to refresh by reopen the file.

Now you can preview the animations by pressing the right arrow key on your keyboard.

Character Table format:

  • i -- Index, it has no use but making it easy to find things
  • m -- model file path. It is relative to your "Battle Models" folder, the script will add the file extension ".mdl" for you.
  • w -- weapon model path. Check "Battle Models\weapons" to find the files. Again, the script will add ".mdl" for you so leave it alone. If you don't fill this value, "dummy" will be used, it is for those with no visible weapons.
  • d -- Can be 0 or 1. If it is 1, the character will wield two weapons. For now, only glenn2 has this.
  • a -- Alternate texture suffix. For example, by default Serge.mdl will use Serge.png for its texture, but if you add 'a':'2' to the table, the script will use Serge2.png instead. This is used when you want to edit the texture manually but don't want to overwrite the original one, for example, Harle use HaleA.png instead, because of the transparent pants.
  • p -- prefix to the model object to be created. Useful when you want to import two models into the same .blend file.

Tech Animation Table format:

  • i -- same as above
  • c -- character index, see above, basically, it is the i value from the character table.
  • w -- weapon, if you want to override the model's weapon. For example, Viper does not hold his weapon when using Flag Bearer tech.
  • t -- tech animation path, check "Battle Models\techanim". Those are usually ripped from battle field drps. This time the script will not add file extensions for you.
  • p -- same as above
  • d -- same as above
  • am -- Import the model instead. Usually this is used to load a model inside a tech drp, for example, Starky's robot. If am is set, t can be a fake path just to save the output file.

How to fix the meshes?

Well, the importer will leaves unused vertices. They are not visible but if you want your models to be clean, you can delete them manually.

It is pretty easy to do:

  1. Switch to edit mode
  2. Right click or open the Select menu, click Non-Triangles/Quads (hot key: ctrl+alt+shift+5).
  3. Press delete key, then click vertex

Room Viewer[edit]

Created by Magil and written in C#. Check utunnels assorted tools below for a download link.

Tirion updated the roomviewer to be able to substitute changes back into the game. It's on GitHub here. Supports RDE's HD textures, export/import of room layers to/from PNG, and saving the resulting modified chip2 files.

~R-Y Toolset[edit]

This was a re-write of the C++-based portion of the Terminus tools that was left unfinished after the Squeenix C&D forced the author to abandon it.

Terminus Translation Tools[edit]

These tools were used by Terminus Traduction to translate Chrono Cross into French. This is the oldest set of Cross tools. Heavily focused on dialogue editing, it predates the discovery of the purpose of many of Cross's files, and possesses minimal English-language documentation in the form of a PDF bundled with the programs. Written in a mixture of C++ and Java.

These tools can be somewhat finicky or difficult to work with. Former users have left tips below (thanks AwesomeHairo):

  • You have to copy Disc 1's files to Disc 2's folders to make Disc 2's programs to extract the new rooms. It's looking for the empty folders from Disc 1's part of the zip file. For some reason, they weren't created for Disc 2's part of the zip file.
  • For one the tools' executables keep giving me errors, especially when trying to reinsert after running the dump execs. You really have to dump the files in order. Dump_Main first, always. Then Dump_Script, follow by copying everything from "20_Dump_Avant" to "21_Dump_Apres" and the same for "30_Fichiers_Avant" to "31_Fichiers_Apres". Then Dump_Script1 and Dump_ScriptC, and lastly Dump_Accents. Copy the 7 modified files from 40_Textes_Avant to 41_Textes_Apres. Confirm you're replacing files. Anything you edit in the Script1_CD1 and ScriptC_CD1 texts you put in 31_Fichiers_Apres (which, again, in turn you got from 30_Fichiers_Avant) will reinsert to the scripts in 31_Fichiers_Apres, using Rein_Script1 and Rein_ScriptC. You then run Rein_Script to reinsert the changes made from 31_Fichiers_Apres to the image file in 11_Image_Apres. If you want to dump and edit inventory names and descriptions, and stuff like profile, after using Dump_Main and Dump_Script, run Dump_Termes and Dump_Persos, if I'm not mistaken.
  • Here's the update: I'm 98% sure what everything does now. Basically, I dump what I want to change, copy the dumped files to their corresponding "After" folder, dump Script1 and ScriptC, same thing with copying the dumped files to their corresponding "After" folder, and any changes to these text files automatically applies to the individual "DXXX" folders in 31_Fichiers_Apres with Rein_Script1/C.
In a perfect world, I would then simply run Rein_Script, play the modified .iso on the emulator and everything should be fine. But of course, by running Dump_Script, it seems the program messes with accents of generic speech (this is why characters in your party would all say the same thing if you bring them to an event, but some will have special accents, which I will mention later).
Member 2 (prominently seen immediately in Serge's "dream" sequence in the beginning of the game, and as you know would be a random character) would have parts of words missing, due to what appears to be "pouet" commands used for everyone (special accents or not) for generic speech. So far, it's "wha", "o", "g", " 's "and possibly more. Here's an example:
|\Membre 2\:
|\Maj0\\pouet\t\pouet\i\ch\\suffixe\\pouet\it,
|\Serge.\?
See how's there four sets of "pouet"? Only the first one is the problem. It's supposed to be "Wha" for most characters, "Whâ" for Irenes, "Vo" for Luccia, etc. The other ones are fine. So it'll come out as, "t is it, Serge?"
So I would need help finding out what is these "pouet" commands refer back to when the program puts everything together again. I'm guessing it goes by room, eg. Room 014 has the first non-demo dialogue in the game (the dialogue I put above with Member 2). So it's probably really like "pouet1", "pouet2", etc.
I'm told this might have to do with an older Accent file or something.
  • It's Scenar.tcc, in the 42_Tables_Avant. I put it in both that folder and 43_Tables_Apres and everything seem to work fine with the dialogue. Just thought I'd let you know in case someone else needs help. I got the Scenar.tcc from the Italian translation group's work folder and they seem to have modified Scenar.tcc to actually spit out the proper English auto-accent tags. I'm going to put the instructions as a review on the romhacking.net page for the tool.

TIM Viewer[edit]

Author: Rveach

TIM Viewer can view, flip, resize and extract .tim (texture) files.

utunnels Assorted Tools[edit]

Updated July 2016 with a better LZSS tool. Includes some rough tools not found anywhere else, such as compilers and decompilers for fieldscript and battlescript, a de-~LZSS-er, a de-~DRP-er, and a texture remapper (remaps 2-textured battle models to use a single texture, for improved Doppelgang compatibility), all (I think) in C# .Net. Also includes the following:

  • Just wrote a tool that imports tim files into vram so you can use a vram viewer to check their positions. This was originally designed to construct battle field textures, but in theory it can be used for any tim files. How? Select all tim files and drag-drop them on the exe. The output file is vram.bin
  • Similar tool but imports egfx file int vram. Useful when finding element textures (for example, starky's mecha)

Walkmesh OBJ Exporter[edit]

Author: yaz0r

This is some quick and dirty code that can export walkmeshes to OBJ files. Inputs are the OUT files corresponding to the walkmesh as output by yaz0r's tools.

yazoo's Tools[edit]

Yazoo's tools can also extract the script, etc.

Lost Tools[edit]

Fieldscript[edit]

yaz0r had a fieldscript decompiler, and http://static.grumpycoder.net/yazoo/ccScript.rar was once the location of either the item itself or a thwack of scripts that had been run through it. yaz0r recently got back in touch and provided us the decompiled fieldscript as collected here:


Common use of the TIM texture format for image files makes a TIM viewer/converter an invaluable tool for anyone who wants to do graphics work on Cross—http://www.romhacking.net/ has several. (If you need one that works on a non-Windows system, I can confirm that ~PSicture sort-of works under WINE. Use File > Scan rather than File > Open, and give your files short names if you don't want it to get cranky.)

It's possible that some utilities originally created to work with other PSX Squeenix games such as Final Fantasy ~VII-IX, Xenogears, Threads of Fate, etc. may be able to operate on Cross files with minimal or no adaptation, but this has not been tested. FFVIII and Xenogears are thought to have the most similar engines.


General[edit]

Highly Experimental[edit]

Author: Neil Corlett

Highly Experimental can play .psf soundtracks for Playstation games. It is a Winamp plugin.

PSXMC[edit]

Author: Some Japanese dude

PSXMC is a useful utility that allows playback of streaming .xa files, as well as .str cutscenes. They can also be ripped as .wavs or converted to .avi or other movie formats respectively.

From: Modification