Re: Dead or Alive 3,U,X tools [download]
Posted: Sat Dec 31, 2011 7:14 pm
I only remember hearing that they are very similar. Guess they use the same format. DOA3 XPR is different though, I've compared some chunks.
Game Research Forum
So the int is the address where I should jump to? I don't get the idea behind it, what's in the space between where I am and where I must jump to?mariokart64n wrote: the documents are wrong in some cases..
That Int is actually a XPR chunk or instruction telling the engine to continue reading at a new address
Resource tables? Are you talking about the second part of the file? (vertex buffers and textures, because that location is stored in the beginning of the file)this fits in with above, the docs are wrong. but this offset brings you to the resource tables.
I didn't ask that. I meant what's the 0x00000000 in the end for?the object offsets bring you to every "OBJ " header in the file
Looks liek you are readin only 1 'IVBuffer' and skipping the other 3, whatever the hell they are for.I never figured this out either? I haven't seen anything there but zeros.. I read the Counts then skip 112bytes past that padding?
[LONG] FileID "OBJ "
[LONG] Vertex Type
[LONG] Unknown, sometimes 0, sometimes 4? maybe OBJ version
[LONG] Number of Indices
[LONG] Vertex Count
[LONG] Vertex Buffer Offset
[LONG] Number of Indices, duplicated count?
[LONG] Index Buffer Offset
What I meant was does he mean 4 dwords, or 4 IVBuffer structs, which themselves have 4 dwords?but from what I tested, the data always seems to be 0. anyway its not critical for mesh import
Oh, so you just read material entries here and the "0x00000000" written in the end is a terminator?I'm not sure what that is either? maybe they just mean to say loop till the end? lol I don't know
starts with something like this 0x01000080, you stop your loop when that =0x00000000
Ah, OK. So it's just an array of texture indexes which end when you get -1 or 0.a material can have any amount of textures, so I'm going to have to assume you keep reading texture indeices until you get an index of -1 or 0
i didn't find where is stored the skeleton info in the executable. but you should gather the skeleton info only once for each character - it should be valuable for all skins of one character. the info on to which body part correspond a certain obj can be extracted from the cat file. as i said before skeletons for loran, mam, young tina and rabits is stored in obj files you can try to import these models. use the info on cat files i posted, if something is unclear feel free to ask.mariokart64n wrote:I just put the mesh objects together, and copied the coordinates from 3dsmax. from objects like the left and right hand, the distance between the two should have been relative to the positions in the file. however there not.
I'm afraid I'm out of ideas on importing meshes with proper positions :\
to rotate a certain object, i found that first 3 floats in a vertex chunk do represent x-y-z coordinates, and i've build a program to manipulate these values to rotate the object at 90 degrees. for example to rotate the object 90 degrees on the Y axis i do swap the X with the Z values, now the object is mirrored and i do flip the X value.mariokart64n wrote: as for the DOA3 rotation problem, it sounds like you already explored all these options. can you share one of the converted models so I can see the shadow problem?
It says the following int is the size of the model. Again maybe I dont understand what you mean by "table". Too much terms are used for the same thing, do you mean chunk/entry or the vertex buffer?no the int is just an ID, like the start of the file where it says "XPR " well the ID 00 00 00 80 is just an ID.. its not an offset. the following INT is the offset to the table.
Woa, man, now you confuse me even more. I see no mention of that in the docs. The index to vertex buffers is stored in the Object entries. What?at address 0x10 from the start of the XPR, is the table offset.
I call it a resource table because it lists off the offsets to each texture and vertex buffer