READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Dead or Alive series formats and tools

Post questions about game models here, or help out others!
Lilstormcloud
mega-veteran
mega-veteran
Posts: 162
Joined: Sun Aug 04, 2013 9:39 pm
Has thanked: 47 times
Been thanked: 20 times

Re: Dead or Alive series formats and tools

Post by Lilstormcloud » Tue Sep 09, 2014 6:23 am

tcl36478655 wrote:@Lilstormcloud
if we inject the missing parts of body,shoudn't them use themselves' body texture?
I almost think i have test it and sent you before.
If you mean the texture co-ordinates then yes probably need to change it.

User avatar
mariokart64n
ultra-veteran
ultra-veteran
Posts: 528
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 23 times
Been thanked: 163 times
Contact:

Re: Dead or Alive series formats and tools

Post by mariokart64n » Tue Sep 09, 2014 6:26 am

Protocol X27 wrote:@mario, did you do any work on extracting from DOAX2? I got stalled on that earlier since there's been limited knowledge on it.
What unknowns are you stuck on as far as the modification part?
ironically enough the past two days I have been scripting for NG2, DOA4, and DOAX2

...as they use the same format I thought it might be worth while to get a feel for the evolution of their binary format.
seems they created a new foundation for there binary formats in DOAX2, and since then it hasn't changed much carrying it through to DOA5, NG3.....

based on previous work across DOA2U and DOA3, I can see that through DOA4 and DOAX2 they tried to stay true to how they did things in past games.

in past games a generic xbox container was used, back then it was XPR (XboxPackedResource) where they stored static models. they used a secondary file called "CAT", which held all the meaty bits. the skeleton, morph data, physics data, weights etc.. however the way the file was formated was very crazy and extremely difficult to parse. they use ID tables, and no counts. you loop data until a terminator is met.. and it was hard to say what all the data meant.

so now in DOAX2 etc I see the same crap, they AGAIN use XPR. on the 360 its XPR2, but they've cleverly renamed it TPR (TecmoPackedResource) lol
and now we start to seem a glimmer of a structured binary format that eventually appears into DOA5

they store blocks called MdlGeo > ObjGeo > GeoDecl these three blocks work together to describe a model in some messy fashion.

again the CAT file is used for misc stuff, and I can so far confirm it stores the face morphs. but strangely enough the breast morphs are stored back with the TPR, not the CAT.

but have been looking at the CAT file all day and really cant make sense of any of it :\

Image
Research: [DOA2U] [DOA5U]

uiihome
ultra-n00b
Posts: 2
Joined: Mon Sep 08, 2014 7:04 am

Re: Dead or Alive series formats and tools

Post by uiihome » Tue Sep 09, 2014 9:32 am

@mariokart64n
thanks for your reply. :D
i d made some xprs for doau and wana import these xprs to datahdd2.afs, so i need xprbreaker unless anyother tools can also do encryptions.
xprbreaker was not in that toolbox. i ve been searching for it these days...:(

MisterNatal
advanced
Posts: 60
Joined: Tue Sep 02, 2014 2:53 am
Has thanked: 4 times

Re: Dead or Alive series formats and tools

Post by MisterNatal » Tue Sep 09, 2014 11:06 pm

mariokart64n wrote:
Protocol X27 wrote:ironically enough the past two days I have been scripting for NG2, DOA4, and DOAX2
when you say NG2 do you mean Ninja Gaiden Sigma 2? :D

User avatar
mariokart64n
ultra-veteran
ultra-veteran
Posts: 528
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 23 times
Been thanked: 163 times
Contact:

Re: Dead or Alive series formats and tools

Post by mariokart64n » Tue Sep 09, 2014 11:29 pm

my modded ps3 is broke, so I only have my selection of xbox/xbox360 doa games
Research: [DOA2U] [DOA5U]

Protocol X27
ultra-veteran
ultra-veteran
Posts: 338
Joined: Wed Dec 14, 2011 5:46 pm
Has thanked: 139 times
Been thanked: 115 times

Re: Dead or Alive series formats and tools

Post by Protocol X27 » Thu Sep 11, 2014 3:12 am

@mario, nice work so far. I didn't realize you were delving into the previous stuff that much. I'd love to have access to DOAX2 stuff for extra textures and meshes. I know it's possible, or at least was at some point. Is your current objective more utility related, or is this research to expand on DOA5 mods.

@MisterNatal, Sigma 2 has still been dormant on the modding side. :(

@uiihome, No promises, but I probably still have xprbreaker somewhere. I'll look when I get a chance in my old stuff.

***

Not much news from me, I've just been chippin' away at cleaning up near finished stuff on my list, so I can get back to some more advanced stuff. Definitely waiting on some projects now, knowing that some stuff will probably happen in Last Round like the NG stuff & hairstyles.

b0ny
mega-veteran
mega-veteran
Posts: 239
Joined: Sat May 22, 2010 10:10 am
Has thanked: 22 times
Been thanked: 118 times

Re: Dead or Alive series formats and tools

Post by b0ny » Thu Sep 11, 2014 8:20 am

mariokart64n wrote:my modded ps3 is broke, so I only have my selection of xbox/xbox360 doa games
everyone who's whining that there are no doa5 mods on ps3 should start a founding campaign to buy him a ps3+doa5+dlc...

isn't doax2 cat's structure identic to doa4's (similar to doa 2/3/4/x)?
the biggest mistery for me is where they're hidding the joints data. (i stopped furter research on these formats because without joints data the models are useles for me)(or maybe there where nothing more to research on them. i don't really remember :) ).

doa4/x2 cat physics 010template
here is my 010editor template for doa4 physics(i even have for it a converter to doao), and surprissingly it also works for doax2...

i think i can help you with the research on the format structure if you're still interested in it... also maybe i could help you with your unknowns on the tpr format(if you tell me what are you stuck on)

found some (old) notes for doa4(doax2) cat:

Code: Select all

#header:
#cat_magic='CAT';   infobase(neveris0);  physicsbase(canbe0); morphbase(canbe0); jointsbase(isalways0); clothbase(canbe0);

#info block: (the hader(pointed by the infobase) is at the end of the block)
#header = null ternimated array of structure format = 'H'+'HL'; terminates when header is 0 (header(1); type(doa4 1-6,8,9; doax2 2,4,5); offsetordata)
#infotypes:
#2-skeleton declaration(bones<->objects linking; for doa4 always starts at 0x18)
#4-material colors(little similarity to colors from doau(doa3?) block)
#5-'apa' declaration(addition for the morphing block)
#1-? (only 'gen01' has it; offsetordata = 1)
#3-? (offsetordata = hex{400,404,406}) (is largelly used)
#6-? (size = 0x18 bytes, structure = B,x,x,x,L,L?,L,L,f )
#8-? (only zac's costumes have it; offsetordata = hex{42,43,45})//what's with team ninja with all this isoteric shit...
#9-? (offsetordata = 0 for hak08 and for others having it = 1)
#10,12 - in doax2 costumes

#physics block:
#header offsets are like in doa3/doau, (physics_type can be {0,1,2,3,5,7,9,e,f,fa,fb,fe} (doax2 has only ptype = 1))(doax2 costumes is tdpack_magic with physics for every girl costume)
#... (?the body shoud be different from doa3/u coz physics bones are declared inside the tpr file?)

#morphing block: #at least for doa4; it also has apa for definition
#mrp_magic='MPV', mconst1, mconst0, characterid, costumeid, pading,pading,pading  //character_ID from game's internal array!
#mppcount, mppoffsets...
#mpp:   mpp_magic, mconst1, mconst0, objidx, hasnorms(hands=2/others=0), morphtargetsnum, ?morphindicesoffset, morphtargetsoffsets[morphtargetsnum]
#morphindices: ?DWORD or WORD_WORD; ends with 0xFFFFFFFF

#clothes block:(?collision for the hair?)
#MULTI_CLOTHmagic[0x10], const2, const0, clothdatacount, clothdataoffsets_offset)
#clothdatas:
#CLOTH_DATAmagic[0x10], const1, nameoffset, unknownoffset, const0)

User avatar
mariokart64n
ultra-veteran
ultra-veteran
Posts: 528
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 23 times
Been thanked: 163 times
Contact:

Re: Dead or Alive series formats and tools

Post by mariokart64n » Thu Sep 11, 2014 2:49 pm

Thanks b0ny that helps a lot, i was avoiding looking too hard. In doax2 the base body has a really small cat file. I really had no idea why they even bothered having it. They store mostly everything else in the tpr...

And joints are in the tpr under the hie block
Research: [DOA2U] [DOA5U]

b0ny
mega-veteran
mega-veteran
Posts: 239
Joined: Sat May 22, 2010 10:10 am
Has thanked: 22 times
Been thanked: 118 times

Re: Dead or Alive series formats and tools

Post by b0ny » Thu Sep 11, 2014 7:39 pm

mariokart64n wrote:... And joints are in the tpr under the hie block
the hie block is followed by textures headers and headers for indices/vertices buffers, then follows the data block.

here is what i mean by "joints": doa5 has the weights saved inside the vertices, doa2/doa3/doau have the weights saved inside the last block of the cat file(joints_block). but in doa4/doax2 the joints_block is absent in the cat file and also the wheight layer inside the vertices is empty. so i have no idea where to find it... :(

Darko
double-veteran
double-veteran
Posts: 702
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 70 times
Been thanked: 118 times

Re: Dead or Alive series formats and tools

Post by Darko » Thu Sep 11, 2014 8:20 pm

b0ny wrote:
mariokart64n wrote:... And joints are in the tpr under the hie block
the hie block is followed by textures headers and headers for indices/vertices buffers, then follows the data block.

here is what i mean by "joints": doa5 has the weights saved inside the vertices, doa2/doa3/doau have the weights saved inside the last block of the cat file(joints_block). but in doa4/doax2 the joints_block is absent in the cat file and also the wheight layer inside the vertices is empty. so i have no idea where to find it... :(
I don't know if this is usefull, but here some notes of rich about doax2:

viewtopic.php?f=16&t=3741&start=90

The topic is rather old.
Image

User avatar
mariokart64n
ultra-veteran
ultra-veteran
Posts: 528
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 23 times
Been thanked: 163 times
Contact:

Re: Dead or Alive series formats and tools

Post by mariokart64n » Thu Sep 11, 2014 11:40 pm

the the TPR was pretty black and white for me, the weights are defined in the GeoDecl block.

But you have to bare in mind that they created their framework around the idea that DOA was to be run as an old-fashioned game with no skinned objects

Only 'some' objects are actually skinned, and the Hie Block acts more as a object position reference rather then a skeleton

so you have to do a lookup on the Hie Block after reading the mapped bones supplied in the MdlInfo Block.. and viola! skinned doa objects

Image


from what I've heard over the years you can conserve processing power and GPU memory by using smaller textures and using static objects over skinned ones. and tecmo hammered that principle down hard for the past 3 generations of their games.
Research: [DOA2U] [DOA5U]

b0ny
mega-veteran
mega-veteran
Posts: 239
Joined: Sat May 22, 2010 10:10 am
Has thanked: 22 times
Been thanked: 118 times

Re: Dead or Alive series formats and tools

Post by b0ny » Fri Sep 12, 2014 10:10 am

Darko & mariokart64n
right, thanks... my problem was that i was copying again and again the code that was broken. something like this:

Code: Select all

for i in range(count1):
    ...
    for i in range(count2):
        ...
oh mein gott. and i was boiling my brains trying to find the error some place else. this is a cruel world - the coding gods were laughing at me all this time...

MisterNatal
advanced
Posts: 60
Joined: Tue Sep 02, 2014 2:53 am
Has thanked: 4 times

Re: Dead or Alive series formats and tools

Post by MisterNatal » Sat Sep 13, 2014 12:55 am

could I get some help on getting the heads into 3ds max with correct bone-weights? im using the blender method of importing to blender and exporting as .fbx but that isn't working for me :C

Darko
double-veteran
double-veteran
Posts: 702
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 70 times
Been thanked: 118 times

Re: Dead or Alive series formats and tools

Post by Darko » Sat Sep 13, 2014 3:53 am

MisterNatal wrote:could I get some help on getting the heads into 3ds max with correct bone-weights? im using the blender method of importing to blender and exporting as .fbx but that isn't working for me :C
Are you sure??

I even got Nyo Tengu:

https://www.youtube.com/watch?v=q9UKV1JJM-Q

In any case which character you want??

For bony:

Can you check Nyo Tengu Costume 02?? I used your script but both sleeves bones are missing.
Image

Lilstormcloud
mega-veteran
mega-veteran
Posts: 162
Joined: Sun Aug 04, 2013 9:39 pm
Has thanked: 47 times
Been thanked: 20 times

Re: Dead or Alive series formats and tools

Post by Lilstormcloud » Sat Sep 13, 2014 5:42 am

Some stuff about the index buffer.

Can probably try to delete objects,

or fill up hollow parts of models:
by pasting in the vertex and manually writing in the index, but seems like a very slow + boring process.

The problem with copy and pasting in mass is that everything is all over the place. One min we're at the foot, next min the index is at the neck. any copy + pasting will probably over write parts you don't want to over write and end up messing up parts.

though the majority seem to be grouped pretty well, but there'll probably still be several splits in the middle of a block of continuous IDs. (Several changes :cry: )
Maybe I'm just being lazy.

Image

Post Reply