Page 5 of 21
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 12, 2020 7:23 am
by Yretenai
Allanoon wrote: ↑Wed Mar 11, 2020 5:19 pm
Yretenai wrote: ↑Wed Mar 11, 2020 7:09 am
Skykila wrote: ↑Wed Mar 11, 2020 7:02 am
When trying to export pg1m and pg2a bundler from ps4 version of Nioh I get an error.
those are not errors
I'm getting the same problem with the latest tool version, the old one (1.0.18) extract them just fine.
Here some files if you wana check
https://www.mediafire.com/file/04x3pkdc ... 4.rar/file
Fixed in build 30.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 13, 2020 2:06 am
by Yretenai
Build 32 introduces a new tool:
Nyotengu.AnimationGraph
You can find info on previous versions
here
This tool will (attempt to) collect G1A animation files given a particular RDB hash. This allows one to easily find compatible animations if the game has been extracted with --nyotengu (as in the game has .rdb files)
Usage is even more complicated than Nyotengu.KTID, the tool to recombine G1T textures from KTID files.
Code: Select all
Nyotengu.AnimationGraph.exe -g GameId path/to/CE1CommonResource.motor.kidsobjdb path/to/CE1CommonResource.motor.kidssingletondb -o directory_to_copy_animations_to -d g1a_directory model_filenames
i.e.
Code: Select all
Nyotengu.AnimationGraph.exe -g Scramble KIDSSystemResource\kidsobjdb\2082ad97.kidsobjdb KIDSSystemResource\kidsobjdb\285cb0c3.kidsobjdb -o anims -d CharacterEditor\g1a -d FieldEditor4\g1a -d RRPreview\g1a 418f67bf
would find all animations for H0000_Joker.g1m.
In case you have filenames enabled during extraction:
Code: Select all
2082ad97 = CE1CommonResource.motor.kidsobjdb
285cb0c3 = CE1CommonResource.motor.kidssingletondb
Caveat: Some RDB games define models by TypeInfo::Object::3D::Displayset::Model, and other games define them by TypeInfo::Object::3D::Placeable::Model::WorldPQ (Scramble uses WorldPQ, Dead or Alive 6 uses model hashes)-- As of build 32 this tool ONLY supports the former.
Finding model G1As is a bit more complicated, will implement automatic lookup for these types next update.
In other words, right now Nyotengu.AnimationGraph
ONLY SUPPORTS Dead or Alive 6 for now.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 13, 2020 3:23 am
by Simguy
This is super helpful! I was cross-referencing those database files manually to dig Persona animations out. Now I don't have too.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 13, 2020 3:59 am
by Yretenai
Simguy wrote: ↑Fri Mar 13, 2020 3:23 am
This is super helpful! I was cross-referencing those database files manually to dig Persona animations out. Now I don't have too.
If you can find the KTID for WorldPQ, you can pass that as the hash instead of the model hash, and it'll work.
For example, 418f67bf is the WorldPQ for H000_Joker, look at DisplaysetObjectNameHash

Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 13, 2020 10:13 pm
by Simguy
Yup, thats what I was doing. I'm sure you already know, but just in case: some references in "CharacterActionObjectNameHashArray" refer to an unknown property type ("7bdd07f3") which still contains a reference to a G1A property.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Sun Mar 15, 2020 3:47 pm
by Yretenai
Simguy wrote: ↑Fri Mar 13, 2020 10:13 pm
Yup, thats what I was doing. I'm sure you already know, but just in case: some references in "CharacterActionObjectNameHashArray" refer to an unknown property type ("7bdd07f3") which still contains a reference to a G1A property.
The unknown property is DstAnimationDataObjectNameHash, there's also SrcAnimationDataObjectNameHash, and FCurveAnimationDataObjectNameHash. These are
usually only used for map geometry, I'll add support in next update.
I gotta add an option to collect missing property hashes so I can find them more easily in the binary-- since it's a manual process.
Most of the properties are from DOA6 NAME database files (which haven't been updated in a while,) but for Sangokushi 14 and Scramble I have to find the serializing methods in the executable.
Updated to build 34: has support for DstAnimationDataObjectNameHash, a few more property hashes, updated the DoA6 and Sangokushi 14 filelists.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 19, 2020 4:06 am
by JosouKitsune
I would like to ask if you could add support for OPPW3 DLC BIN files, I extracted the base game LINKDATA_EU_OS_EUNA.A, .B, .C and .D using Steven's Gas Machine, but it doesn't look like it has support for the DLC files, and it hasn't been updated since 2018, there doesn't seem to be an IDX file.
OPPW3 BIN files
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 19, 2020 4:57 am
by Yretenai
JosouKitsune wrote: ↑Thu Mar 19, 2020 4:06 am
I would like to ask if you could add support for OPPW3 DLC BIN files, I extracted the base game LINKDATA_EU_OS_EUNA.A, .B, .C and .D using Steven's Gas Machine, but it doesn't look like it has support for the DLC files, and it hasn't been updated since 2018, there doesn't seem to be an IDX file.
OPPW3 BIN files
Support added in Version 35. If this happens to ever be extracted by Cethleann, the extension will be slcbundle. There was also bug with pointer bundles.
The files have a texture and geometry data. The 000C.ptrbundle has the geometry, the skeleton and model is split so you have to find the skeleton model in this same extract.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 19, 2020 5:38 am
by JosouKitsune
Yretenai wrote: ↑Thu Mar 19, 2020 4:57 am
Support added in Version 35. If this happens to ever be extracted by Cethleann, the extension will be slcbundle. There was also bug with pointer bundles.
The files have a texture and geometry data. The 000C.ptrbundle has the geometry, the skeleton and model is split so you have to find the skeleton model in this same extract.
Wow that was fast, thanks, should I use Cethleann data exporter or unbundler? and which is the correct mode?
NVM I figured it was unbunbler, again thanks for your work.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 19, 2020 12:05 pm
by hellacopters
I just wanted to stop by and thank Yretenai for their work! Because of the tools you and the community have developed, I've been able to start work on a fan site for the game Final Fantasy Opera Omnia using textures and animations right from the files.
One mystery in the game files I've yet to solve has been some of these so called "XL" header bins that are likely xor-ed json files that contain ability data and text strings. Being that I heard from chrrox on Discord that all Team Ninja games might use the same encryption (not sure if that's true) I was wondering if there was a process I could check these files with.
Thank you!
Opera Omnia Bins.zip
Re: Cethleann - The Koei Swiss Army Knife
Posted: Thu Mar 19, 2020 8:58 pm
by JosouKitsune
Hi I found this voice.pac that contains multiple KOVS, alongside a voice.hed with the offsets and lengths of each kovs, voice.enum and VoiceLinkList.txt in the OPPW3 sound folder, are these file types supported?
OPPW3 Voice files
Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 20, 2020 7:57 am
by Yretenai
hellacopters wrote: ↑Thu Mar 19, 2020 12:05 pm
I just wanted to stop by and thank Yretenai for their work! Because of the tools you and the community have developed, I've been able to start work on a fan site for the game Final Fantasy Opera Omnia using textures and animations right from the files.
One mystery in the game files I've yet to solve has been some of these so called "XL" header bins that are likely xor-ed json files that contain ability data and text strings. Being that I heard from chrrox on Discord that all Team Ninja games might use the same encryption (not sure if that's true) I was wondering if there was a process I could check these files with.
Thank you!
Opera Omnia Bins.zip
These are not XORed json files.
I looked at DFFOO before, it does not use this encryption when it caches downloaded files.
XL files in this case are a deriviation of ECB files, which are repeated structures with numerical data-- DFFNT has a more "advanced" version of this.
TL;DR it's a specialized serialized format without names, usually an array of numbers-- not an obfuscated json file.
Thanks for reminding me I gotta figure out how to download and decrypt DFFOO files.
JosouKitsune wrote: ↑Thu Mar 19, 2020 8:58 pm
Hi I found this voice.pac that contains multiple KOVS, alongside a voice.hed with the offsets and lengths of each kovs, voice.enum and VoiceLinkList.txt in the OPPW3 sound folder, are these file types supported?
I'll add support for this. KVS is
typically supported, but this archive is unimplemented atm.
Should have it in a day or two.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Fri Mar 20, 2020 10:54 pm
by hellacopters
Yretenai wrote: ↑Fri Mar 20, 2020 7:57 am
These are not XORed json files.
I looked at DFFOO before, it does not use this encryption when it caches downloaded files.
XL files in this case are a deriviation of ECB files, which are repeated structures with numerical data-- DFFNT has a more "advanced" version of this.
TL;DR it's a specialized serialized format without names, usually an array of numbers-- not an obfuscated json file.
Thanks for reminding me I gotta figure out how to download and decrypt DFFOO files.
And the plot thickens
Thank you for all you do! Allow me to be of help if you need anything. I keep directory of all game files from both the JP and GL versions!
Very interested in contributing!
Re: Cethleann - The Koei Swiss Army Knife
Posted: Sun Mar 22, 2020 3:52 am
by Yretenai
hellacopters wrote: ↑Fri Mar 20, 2020 10:54 pm
And the plot thickens
Thank you for all you do! Allow me to be of help if you need anything. I keep directory of all game files from both the JP and GL versions!
Very interested in contributing!
The issue is I barely have knowledge on getting the XOR table on PC, I haven't got the faintest clue on getting it on Android or iOS.
I got the URLs, apks, and the filelist but I can't figure the table out.
Re: Cethleann - The Koei Swiss Army Knife
Posted: Sun Mar 22, 2020 8:40 am
by hellacopters
Yretenai wrote: ↑Sun Mar 22, 2020 3:52 am
The issue is I barely have knowledge on getting the XOR table on PC, I haven't got the faintest clue on getting it on Android or iOS.
I got the URLs, apks, and the filelist but I can't figure the table out.
Same Boat. I've been playing around with the Android Studio SDK. Seeing if I could somehow recompile the APK in a working environment. But I haven't been able to get it to run yet to find anything
