Post Reply 
[PSP] Rcomage v1.1.1 - new RCO manipulation tool
Author Message
ZiNgA BuRgA
Smart Alternative

Posts: 17,022.2988
Threads: 1,174
Joined: 19th Jan 2007
Reputation: -1.71391
E-Pigs: 446.1274
Offline
Post: #1
[PSP] Rcomage v1.1.1 - new RCO manipulation tool
Spoiler for old junk:
Firstly I apologise for taking so long to get this out.  I know some of you may have seen some themes created using this tool for quite a while; I originally had planned to release this months ago, however I got hit with more than expected workload this semester and had really little time to actually work on this.
I had some free time recently, so I thought I'd take the opportunity to try to push out a release.  Unfortunately it lacks many things I wanted to have in a public release, but I guess that doesn't matter too much, maybe...
Anyway, since this is a bit of a rushed release, there's a number of "suboptimal" things done here, such as me not really checking stuff (so if you find issues, please report so I can fix :P).  Sanity checking in the code really sucks, so it should be easy to stuff up the program too, but please still report these so that I know where to prioritise checks xD.


About
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).


Notes
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 :) )


Credits
- highboy for his WAV «> VAG conversion sample code
- Z33 for sample GIM handling code and his various RCO tools as well as guides/investigations on various file formats
- creators of 7-zip for their awesome implementation of deflate
- supporting libraries: libxml2, iconv and zlib
- geohot for help with PS3 RCO support
- alpha testers, for discovering some issues and supporting theme development
- everyone else supporting PSP customisation and homebrew scene (too numerous to name)
- anyone I forgot to mention


Github / source code
See KaKaRoTo's fudge: https://github.com/kakaroto/RCOMage
This is based off a modified v1.1.1


Download

.7z  rcomage-v1.1.1.7z (Size: 1.25 MB / Downloads: 12540)


Spoiler for changelog:
v1.1.1  (2nd June, 2010)
- Add --ini-dir option to allow specifying INI directory for the CLI
- Add version tag 0x97 as a valid PS3 tag (fixes some issues with dumping RCOs from older PS3 firmwares) [thanks to Mr Shizzy for the samples]
- Export animtable tag constants to .ini file; also fix up PS3's special MoveTo animation
- Minor modification to WAV parser - will now skip bytes if header specifies it
- Remove UTF-8 BOMs from dumped XML before the text values - seems to cause issues on some machines (and I don't think it's exactly valid anyway)
- Strip nulls from text (RCO Editor may add them)
- Replace the various "unknownInt1" name with "accelMode" - thanks to Vegetano1 for the find

v1.1.0  (3rd Apr, 2010)
- Minor message output changes
- Fixed bug where rcomage may have tried to convert non-GIM images through gimconv when dumping
- Fixed minor issue if Image/Sound/Text tree contained no subentries
- Removed option to select compression for PNG/JPG/TIF/GIF resources in GUI as it's mostly useless and may break the RCO if changed
- Add UMDFlag attribute to RcoFile tag
- Reduce the use of CDATA sections in the dumped text XML file
- Add basic VSMX decoder/encoder; add corresponding option when dumping/compiling in CLI and GUI, as well as vsmxdec and vsmxenc functions in the CLI
- Add experimental VSMX » Javascript decompiler.  This will most likely crash, but if you're lucky, it might go through and give half-readable output.  Only use this if you're really interested; can only be accessed via the CLI using the --decompile option of vsmxdec
- Export some internal constants to .ini files
- Add support for UTF8 and UTF32 text in RCOs (found in PS3 RCOs); also fixed some potential character encoding issues
- Add support for Fontstyle entries (used in the sysconf PS3 RCO)
- Greatly improve handling PS3 RCO object structures (thanks goes to geohot for RCO samples)
- Add support for writing PS3 RCOs; also modify GimConv to add PS3 configuration option

v1.0.2  (7th Dec, 2009)
- statically link all libraries; also now built with MinGW so MSVC runtime no longer required
- include required DLLs with GimConv
- fixed bug in GUI where it didn't chdir across drives
- partially removed annoying auto-fill for dumping RCOs for GUI
- fixed crash where bad label reference was supplied
- add like two additional warnings
- add ability to select zlib compression options from CLI
- partial support for reading big-endian (PS3?) RCOs; it's "partial" as there are still issues - mainly object handling is mostly stuffed up
- fix regression in earlier update which broke VSMX dumping
- minor changes to XML format
- apply hack which hopefully fixes up GimConv converting from some GIMs
- and if the above still causes GimConv to freeze, added a timeout to try to not cause Rcomage to lock up as well
- added "vagenc" and "vagdec" functions if you happen to want to convert a .vag file
- added "extract" function (not 100% complete)

v1.0.1  (28th Oct, 2009)
- fix crash with WAV » VAG conversion
- fix sound clipping issues with WAV » VAG conversion (fix appears to work, but I really haven't looked at it much)
- added ability for compile function to read from stdin
- use \ for directory separators on Windows
- slight speedup with gimconv (no longer invokes the cmd shell)
- '--xml-only' switch for dumping removed, use '--resdir -' instead
- fix bugs relating to handling XML files with resource dumping disabled
- minor changes to messages
- GUI will attempt to use relative paths instead of always relying on absolute paths
- fix folder creation bug in GUI
Legacy versions:


Attached File(s)
.7z  rcomage-v1.0.1.7z (Size: 1.01 MB / Downloads: 3347)
.7z  rcomage-v1.0.0.7z (Size: 1.01 MB / Downloads: 2058)
.7z  rcomage-v1.0.2.7z (Size: 1.25 MB / Downloads: 2521)
.7z  rcomage-v1.1.0.7z (Size: 1.3 MB / Downloads: 3183)
(This post was last modified: 09/01/2011 05:49 PM by ZiNgA BuRgA.)
24/10/2009 03:44 AM
Visit this user's website Find all posts by this user Quote this message in a reply
S7*
Sweet Dreams

Posts: 16,689.4373
Threads: 1,056
Joined: 3rd Apr 2007
Reputation: 14.29926
E-Pigs: 383.2289
Offline
Post: #2
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
lovely. Zinga strikes again.
24/10/2009 04:00 AM
Find all posts by this user Quote this message in a reply
matchung
Turok Makto

Posts: 1,744.2413
Threads: 180
Joined: 5th Mar 2007
Reputation: -1.62846
E-Pigs: 162.3154
Offline
Post: #3
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
nice tool comes~

Woo
24/10/2009 04:22 AM
Visit this user's website Find all posts by this user Quote this message in a reply
ZiNgA BuRgA
Smart Alternative

Posts: 17,022.2988
Threads: 1,174
Joined: 19th Jan 2007
Reputation: -1.71391
E-Pigs: 446.1274
Offline
Post: #4
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
Thanks guys :P
24/10/2009 04:23 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Vegetano1
$urf

Posts: 9,083.2507
Threads: 397
Joined: 2nd Mar 2007
Reputation: 6.06988
E-Pigs: 2756.6280
Offline
Post: #5
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
crazy editor! awesome! Madwin

whot it does,. whot not?!! ;p


Make loads of $$!! it wurks!!
[Image: csbanner_anim_03.gif]
Signed Homebrew by bsanehi & OMightyBuggy
http://endlessparadigm.com/forum/showthr...?tid=25707
Spoiler for My miniBlog:
24/10/2009 04:44 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Assassinator
...

Posts: 6,646.6190
Threads: 176
Joined: 24th Apr 2007
Reputation: 8.53695
E-Pigs: 140.8363
Offline
Post: #6
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
And so it comes... congrats!



(This is probably a good time to invest in MyPlaza?)
(This post was last modified: 24/10/2009 06:55 AM by Assassinator.)
24/10/2009 05:12 AM
Find all posts by this user Quote this message in a reply
Gadget
ɯƃıpɐɹɐd ssǝןpuǝ

Posts: 908.2697
Threads: 69
Joined: 23rd Apr 2008
Reputation: 0.85528
E-Pigs: 63.3012
Offline
Post: #7
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
WooT, you have released it! Such a great program you have written here!!!  Good Work ZiNgA Madwin

PSN: Brick_Factory

Spoiler for sigpic:
[Image: 157nb04.png]
Spoiler for NeCr0-B0T:
Necro-Bot
Necro may refer to:
    * necro-, the Greek prefix meaning death
Bot or BOT or similar may refer to:
    * Internet bot, computer program which does automated tasks
    * Botnet, network of "zombie" computers used to carry out automated tasks such as spamming
24/10/2009 05:46 AM
Visit this user's website Find all posts by this user Quote this message in a reply
gsmoke
Noob

Posts: 2,184.2572
Threads: 103
Joined: 14th Apr 2007
Reputation: 1.65351
E-Pigs: 36.9914
Offline
Post: #8
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
Finnaly its out , yesssss.

“Fear not for the future, weep not for the past.”
(This post was last modified: 24/10/2009 05:59 AM by gsmoke.)
24/10/2009 05:59 AM
Find all posts by this user Quote this message in a reply
SchmilK
Noob

Posts: 4,698.2833
Threads: 359
Joined: 16th Apr 2007
Reputation: 0.38918
E-Pigs: 82.0546
Offline
Post: #9
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
awesome :D  Any changes since last alpha build??

Id like to add if rcomage crashes while compiling its usually because of a typo in the xml ;)

limneosgreen Wrote:Take my advice, don't try to install custom themes ... it's possible to brick ur psp.. why just don't change wallpaper
24/10/2009 06:08 AM
Find all posts by this user Quote this message in a reply
Assassinator
...

Posts: 6,646.6190
Threads: 176
Joined: 24th Apr 2007
Reputation: 8.53695
E-Pigs: 140.8363
Offline
Post: #10
RE: [PSP] Rcomage v1.0.0 - new RCO manipulation tool
In a world where darkness reigns and hope is extinct, The Mage rises from his eternal slumber and promises a new age of gold.  From his staff shined blinding light, bathing the world in a long forgotten brilliance, and the awestruck people did bow down at the spectacle.

Errr.... yeah...




(btw, if this and GEN-D doesn't carry my MyPlaza investments into gains, I'm going RAGE!!!)


These 2 blogs win the race.
http://f.ppxclub.com/103048-1-1
http://blog.livedoor.jp/piccolo33/archiv...45339.html
(This post was last modified: 24/10/2009 07:16 AM by Assassinator.)
24/10/2009 06:25 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 7 Guest(s)

 Quick Theme: