Program Tools to unpack/pack Doa6 filesystem and convert kidsobjdb<->xml

AlexXsWx

Active Member
DOA6 stores resources/subfiles in two ways: XX/XX.bin and X.rdb + X.rdb.bin* + data/*.file; I have previously posted a tool that is capable of working with the former, now I'm posting an updated (e.g. it now has more suggested file names from XX/XX.bin) and extended version of it, that is also capable of working with the latter. The latter also contains some "kidsobjdb" files, which, using this tool again, can be converted to xml (so that they can be modded with a text editor) and back.
This, to name one example, allows for more advanced stage mods, but generally speaking it allows to mod anything that isn't baked into the engine, and is now only limited by our understanding of different file types, as the tool allows to introduce brand new resources.
The functionality definitely overlaps with already existing tools, like REDELBE, rdbtool and kidsobjdbconv, and admittedly is not nearly as convenient to use as those tools, but it does have some bugfixes and features that are not present in the existing tools; plus it's written in python so you can see and modify its source code.

For more info, see the README inside the zip.

Developed using python 3.5.2, Revan tested an earlier version of this in python 3.9. Unpacking XX/XX.bin files depends on library "pycryptodome".

Links: https://www.mediafire.com/file/6vokxdqhsil29kb/doa6PythonTools.zip/file ( [mirror] )

Also note that my hitbox viewer mod can provide a better workflow when using modded .rdb/.rdb.bin* files.
Also note my addon for blender to import/export G1CO.
Also note my browser tool to parse and modify some of the resources.

As usual, thanks to Revan for testing :)
 
Last edited:

Rev_an

Active Member
oh hey i remember how to do this. the readme is solid

createDoa6Rdb.py works correctly, iirc i was lazy about reconfirming it after an update. Recommend extracting a resource (qrdbtool hash) from the rdb of the same object type e.g. rip any old g1m if you're injecting a new model, an g1a or g1t for those types etc and then all you need to do is change the name hash and set OIDResourceNameHash to 0 if you don't want to bother making the .oid file which is apparently (hopefully?) not necessary to create
 
ALL DOA6 DOA5 DOA4 DOA3 DOA2U DOAD
Top