Tuesday, October 27, 2009

Rcomage v1.0.0: Dump, Modify, and Compile PSP RCOs

Rcomage Screenshot

Rcomage is a general RCO manipulation/creation tool, which I hope, will replace RCO Editor (and potentially rcotool in the future).
It's a CLI (command-line interface) however I've provided a simple Windows GUI to save you from remembering commands (though you may need to trawl through an XML file).

It currently only has two main functions - "dump" (dumps contents of an RCO) and "compile" (compiles an RCO from a dump).
For modifying an RCO, you would dump it, modify the dump, then compile it.
A dump will consist of an XML file, which contains all the metadata of the RCO (basically, it's structure) as well as various resources, such as images, sounds etc.

How to use
Well, as mentioned above, basically dump and compile is the only thing you can do.
As for information on the XML structure, I don't really have the time to write a good guide, so I guess you'll probably just dump various RCOs to get an idea of how it works.  (I'd be willing to assist if someone would write a guide for me :P)
A quick idea of the structure is shown in the readme.

!! I strongly suggest that you don't use Notepad to edit the XML files.  Suggested applications include Notepad++ and Notepad2 (or your favourite text editor; most should overcome the deficiencies of Notepad).

Because I was silly when writing RCO Editor, it doesn't put in adler32 checksums for compressed images, etc, and thus, anything modified with it will generate a warning in Rcomage.  Otherwise, should work fine.
Also, Sony's GimConv, which is used to convert GIM images, is a little slow, so if you choose to perform the conversion (affects both dumping and compiling), expect to wait some time...

Unknown values
If you go through dumped XML structures, you may notice a number of "unknown" labels for various objects (and some anim entries).  Finding out what these values do is, unfortunately, a little time consuming and I don't really have that much time to test what each thing does.  It would be great if people would volunteer to play around with these values to see what effect they have, and I can add the definitions to Rcomage. (thanks in advance :) )

Download: Rcomage v1.0.0
Source: psp-hacks


Post a Comment