Join also our Discord channel! Click here.

Dead or Alive series formats and tools

Post questions about game models here, or help out others!
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 » Tue Jan 03, 2012 10:00 am

ganjul wrote:
mariokart64n wrote: So good luck you you and good bye.
@anyone who wanted a Blender importer: write it yourself. I've wasted too much time here.
that's me, who wanted it. I'm very sorry man, please come back :( i think this importer is very important, because having an importer will be easy to make an exporter. you just imagine how much simplier will this be to make models in blender and just export them as doa skins. it's difficult for me to express myself in english, i just thought that following my 4 steps will make it easier for me to understand were you're stuck and easier to explain all unclarity

Darkfox
VVIP member
VVIP member
Posts: 688
Joined: Fri Jul 04, 2003 6:11 pm
Has thanked: 33 times
Been thanked: 16 times

Re: Dead or Alive series formats and tools

Post by Darkfox » Tue Jan 03, 2012 11:35 am

*facepalm* ...can't we try to handle this a bit more maturely, please? :| I get a bit tired of general programmer temperament of "thats it, one person got me a bit annoyed so I quit and you all suck". You all have seen this before I bet and that is all I'm getting from the latest post. That attitude is counterproductive and does NOT help the community as a whole, let alone yourself. And I know the whole "I'm not getting paid for it blah blah blah" routine (I have seen this a lot), and I kinda understand THAT... BUT... even more ridiculous is that this started as little more than poor communication then erupted into agitation.

I'm simply amazed at how fast it went too. Simply ridiculous, really.

I say again... CALM DOWN. We need to behave more maturely about this.

Edit: And yes, if I seem a bit agitated, I quite frankly am. Excuse me if I'm snippy in what I said.

Friedslick6
advanced
Posts: 61
Joined: Sun Sep 12, 2010 11:11 pm
Has thanked: 34 times
Been thanked: 8 times

Re: Dead or Alive series formats and tools

Post by Friedslick6 » Tue Jan 03, 2012 11:40 am

Darkfox wrote:*facepalm* ...can't we try to handle this a bit more maturely, please? :| I get a bit tired of general programmer temperament of "thats it, one person got me a bit annoyed so I quit and you all suck". You all have seen this before I bet and that is all I'm getting from the latest post. That attitude is counterproductive and does NOT help the community as a whole, let alone yourself. And I know the whole "I'm not getting paid for it blah blah blah" routine (I have seen this a lot), and I kinda understand THAT... BUT... even more ridiculous is that this started as little more than poor communication then erupted into agitation.

I'm simply amazed at how fast it went too. Simply ridiculous, really.

I say again... CALM DOWN. We need to behave more maturely about this.
I have to agree, this was very poorly handled.

ganjul
beginner
Posts: 35
Joined: Wed Nov 16, 2011 4:21 pm
Been thanked: 1 time

Re: Dead or Alive series formats and tools

Post by ganjul » Tue Jan 03, 2012 12:02 pm

"I'm not getting paid for it blah blah blah"
I think you opened the wrong door.
I get a bit tired of general programmer temperament of "thats it, one person got me a bit annoyed so I quit and you all suck"
Wrong door again.
I honestly get tired when others in forums misrepresent a small argument like it's a war or something. Big deal. You can interpret what I said however you want, but it does not make it so. All I'm saying is this is getting nowhere, I'm trying to explain mariokart that I never said his docs are crap, but he keeps repeating the same thing. So again I see this is getting nowhere, so logically I'll stop.
AFS dumper Python script: http://pastebin.com/K28RdNvP

andthen619
beginner
Posts: 29
Joined: Tue May 18, 2010 12:43 pm
Has thanked: 10 times
Been thanked: 1 time

Re: Dead or Alive series formats and tools

Post by andthen619 » Tue Jan 03, 2012 3:25 pm

The contents of this post was deleted because of possible forum rules violation.

mariokart64n
ultra-veteran
ultra-veteran
Posts: 546
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 31 times
Been thanked: 181 times

Re: Dead or Alive series formats and tools

Post by mariokart64n » Tue Jan 03, 2012 10:10 pm

@ganjul
I donno if your done, done.
I already explained my thoughts, and we leveled out. If you want answers, then lay them out and I'll tell you what I know

you know its frustrating for me I'm trying really hard, and I'm like the only one leading the format hacking right now.
I like modding and would really like this to succeed, and I'd like very much to see your blender script too

but if your done your done. :(
I'm sorry things didn't turn out, but I respect you. So if you do decide to rejoin the project, I'll try better to help you out

-mariokart64n


EDIT

finally making progress on the physics bloc in the cat

its pretty simple, except it has about a dozen different controller types.. maybe take some time to decipher them all
type 0x01 is a basic hinge controller. so verts are indexed to a node, and it has mass, gravity, etc settings.. the rest is carried out by the physics settings of the stage

...very easy
Image
Last edited by mariokart64n on Tue Jan 03, 2012 11:03 pm, edited 1 time in total.
Maxscript and other finished work I've done can be found on my DeviantArt account

Mobuis
beginner
Posts: 26
Joined: Wed Jan 04, 2012 8:42 am
Has thanked: 2 times
Been thanked: 6 times

Re: Dead or Alive series formats and tools

Post by Mobuis » Wed Jan 04, 2012 8:46 am

I normally lurk Hmmm I may pick up this project and write your exporter, I just setup my parsing library Ill be back sometime next week. Gotta finish a Siggraph UI paper D: first

ganjul
beginner
Posts: 35
Joined: Wed Nov 16, 2011 4:21 pm
Been thanked: 1 time

Re: Dead or Alive series formats and tools

Post by ganjul » Wed Jan 04, 2012 11:28 am

I might have sounded too dramatic, I just meant I'll stop asking you questions, I'll still follow this thread and try to learn things myself or from other sources. I'm also interested to see you progress.
I normally lurk Hmmm I may pick up this project and write your exporter, I just setup my parsing library Ill be back sometime next week. Gotta finish a Siggraph UI paper D: first
Hello.
Hm, did I miss something? Or did you mean an importer? You don't really need a parsing library for this.

BTW, don't know if this will help, but the only constraints I know of used in games are hinge, slider and spherical (ball socket). You probably already know this, but just in case.
AFS dumper Python script: http://pastebin.com/K28RdNvP

Mobuis
beginner
Posts: 26
Joined: Wed Jan 04, 2012 8:42 am
Has thanked: 2 times
Been thanked: 6 times

Re: Dead or Alive 3,U,X tools [download]

Post by Mobuis » Wed Jan 04, 2012 11:53 am

mariokart64n wrote:I had an unknown amount of variables in a 128bit binary space. I had to explore every possible idea...

I've seen a few games where they stored 16bit floats instead of 32bit floats.
but used a 32bit float divisor or multiplier on their 16bitfloats to regain accuracy.

I just thought a simular thing may have happened, since I wasn't 100% sure that what I was looking at was
indeed 32bit encoded floats.

heres it is a bit more clearly laid out
say I got like these four variables, with whatever values. I essentially want to supply a X,Y,Z to my object as a new position
but I have 4 variables, so I tried to remove the 4th variable by the following method

Equation: (pos = [x,y,z])
X = X*W
Y = Y*W
Z = Z*W


also maybe I'm being stupid, but your replies always sound belittling. like pointing out what a lowpoly model does.. and how the "compiled game code" is the EXE, and over and over about how terrible I am at explaining programming matters <_< !! grr

cut me some slack I don't have a degree in programming or anything. But I know 3D models, Hex, and stuff .. like a bit of scripting. :(

anyways, tonight I looked more at the CAT file. so here are specs so far, the ideas are based off b0ny's notes. through various testing I'm pretty sure his notes are accurate..
BYTE = 1 Byte Unsigned Integer
SHORT = 2 Byte Unsigned Integer
LONG = 4 Byte Unsigned Integer

If I recall a WORD is a 2byte unsigned int, and Dword is signed.. in any case I always use unsigned ints. but unless noted assume everything is unsigned


CAT FORMAT
============================
-Header-
[LONG] FileID 0x20
[LONG] Offset to Bloc1 (Node Hierarchies)
[LONG] Offset to Bloc2 (Physics)
[LONG] Offset to Bloc3 (Morph Targets)
[LONG] Offset to Bloc4 (?? Joints)
=============================
=============================
-Bloc1-
[LONG] ChunkID
[LONG] Offset to Chunk
..Loop until the ChunkID==0xFF
what each chunk ID does is documented by b0ny
If the offset is 0xFFFFFFFF or -1 ignore chunk entry
I'll update the spec for each chunk once I've figured out how to read them. there are 12?

============================
-Bloc1: ChunkID 0x01-
[BYTE] Flag, 0x00 = Don't Render | 0x01 = Render
[BYTE] Node Index to attach Object to
[BYTE] Object Index to Use
you'll need this to apply the Mesh Objects to the correct position on the skeleton[/i][/color]
=============================
=============================
-Bloc2-
[LONG] ChunkID
[LONG] Offset to Chunk
..Loop until the ChunkID==0xFF
I Don't think any of these IDs were documented.. but they involve the Physics somehow

=============================
=============================
-Bloc3-
Morph Targets, Not Documented
=============================
=============================
-Bloc4-
[LONG] Offset to Vertex Buffer
Loop until offset is 0
=============================
-Bloc4: Vertex Buffer Header-
[LONG] Offset to an Undocumented Bloc lol
[LONG] Offset to Vertex Buffer
[LONG] Unknown ??
The First offset jumps to a small section after the buffer, not yet investigated
=============================
-Bloc4: Vertex Buffer-
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
after the transform, vertices are defined. however there is no count or terminator byte.
=============================
-Bloc4: Vertex Buffer Vertex Definition-
[FLOAT32] Position X
[FLOAT32] Position Y
[FLOAT32] Position Z
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
[FLOAT32] Unknown ??
I just calculated the loop count of the buffer based on the offset given in the vbuf header.
I just divided the size of the buffer by the size of a vertex definition or stride to get count

=============================




EDIT1
According to b0ny's notes chunkID 0x08 is a custom skeleton.

however I copied the skeleton from the cinema kasumi (hks00) and pasted it into (kas00) and got this
Image

I was confused, thought maybe the skeletons were different so poked the values in the RAM.
seems some bones just don't read the positions

heres what I got, anything thats labeled not used?
means that when I entered a value, there was no effect. as if the game does not read these positions...

below are the documented data fields and there cause&effect
[X,Y,Z,NULL]

Float32[4] = Torso
Float32[4] = Neck
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Left Thigh
Float32[4] = Left Lowerleg
Float32[4] = Left Upperarm
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Right Thigh
Float32[4] = Right Lowerleg
Float32[4] = Right Upperarm
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Left Eye
Float32[4] = Not Used?
Float32[4] = Not Used?
Float32[4] = Right Eye
Float32[4] = Not Used?
Float32[4] = Not Used?


Anyways decided to pull an all nigher insomnia sucks and work tomorrow bleh anyways A little about my self I am a software engineer co-op at RIM go to McMaster for Applied Math and Computer Science, I believe I have followed Ninja hacker since I was 16 making mods.


These are homogenous vectors that have a w component as you can see when you made the W NULL or 0 I assume it turned the vector into a direction vector moving out from the origin of the model. All that is useful here is the position x,y,z for the mesh parts so you will want to store the position from these 32 bit floats, also you have the formula wrong for pos = [x/w,y/w,z/w,w] where w =1 , they use 4D vectors here because they want to do a transform of some kind its easier to do matrix multiplication with a 4D matrix and 4D vector because they can incorporate translations into the matrix which ultimately allows translations and rotations, scaling in one matrix.

Those "not used" I believe are used the effect isn't evident you should see if you change the one of the values of the float 32 into say a large number to see the effect leaving W as it is so what you would need to do is modify the 32 bit float into an integer number say like 5 and see what that "not used object is" for instance if I took the first 32bit float(TORSO) and changed it to an integer 4 but respecting the 32 bit float TYPE so playing with the 32 bits of the float to turn it into 4, so that the game which will read the 4bytes and interpret it as a float will say that float is 4.00 the torso effectively will move up 4 units.

This is all I have seen so far I will look into the header provided in the c/c++ source from the doa3 viewer

I am interested in having these models with full tex coords and normals and bones and fully rigged so I can import them into unity 3D for my fan game =)


I am sure what that guy who quit was having and issue with was just communication, you pretty much insulted him after he said he couldn't understand you and he was nice about it. To be honest your docs do require some work I don't quite understand even with 10 years c++ /c and asm programming behind my back. It would be cool if you apologized, If you want to make a doc you should align it with his I can see how his makes sense.

Mobuis
beginner
Posts: 26
Joined: Wed Jan 04, 2012 8:42 am
Has thanked: 2 times
Been thanked: 6 times

Re: Dead or Alive series formats and tools

Post by Mobuis » Wed Jan 04, 2012 11:58 am

ganjul wrote:I might have sounded too dramatic, I just meant I'll stop asking you questions, I'll still follow this thread and try to learn things myself or from other sources. I'm also interested to see you progress.
I normally lurk Hmmm I may pick up this project and write your exporter, I just setup my parsing library Ill be back sometime next week. Gotta finish a Siggraph UI paper D: first
Hello.
Hm, did I miss something? Or did you mean an importer? You don't really need a parsing library for this.

BTW, don't know if this will help, but the only constraints I know of used in games are hinge, slider and spherical (ball socket). You probably already know this, but just in case.
I am thinking of writing the full exporter first with proper documentation, I donno why you would want to import the models back into the same engine and play the same game over and over why not just use the models and write a game of your own. Unity 3D offers easy scripting if your a java script fan.

Mobuis
beginner
Posts: 26
Joined: Wed Jan 04, 2012 8:42 am
Has thanked: 2 times
Been thanked: 6 times

Re: Dead or Alive series formats and tools

Post by Mobuis » Wed Jan 04, 2012 12:24 pm

The contents of this post was deleted because of possible forum rules violation.

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 » Wed Jan 04, 2012 1:26 pm

mariokart64n wrote:@ganjul
I donno if your done, done.
I already explained my thoughts, and we leveled out. If you want answers, then lay them out and I'll tell you what I know

you know its frustrating for me I'm trying really hard, and I'm like the only one leading the format hacking right now.
I like modding and would really like this to succeed, and I'd like very much to see your blender script too

but if your done your done. :(
I'm sorry things didn't turn out, but I respect you. So if you do decide to rejoin the project, I'll try better to help you out

-mariokart64n


EDIT

finally making progress on the physics bloc in the cat

its pretty simple, except it has about a dozen different controller types.. maybe take some time to decipher them all
type 0x01 is a basic hinge controller. so verts are indexed to a node, and it has mass, gravity, etc settings.. the rest is carried out by the physics settings of the stage

...very easy
Image
you say it's easy - can you please explain what have you dug up
Image
also i can see from this image that the first(green) and the second(gray) element first offset(0x8ec4) is the same.

p.s. it's interesting to see what's happening when using an xpr with a cat from a model with the same skin but with a different haircut. the game will use the clothes, the neck, etc to build the hair described in the cat file(at least i've seen that effect on the "kasumi with a helmet" skin).

Mobuis
beginner
Posts: 26
Joined: Wed Jan 04, 2012 8:42 am
Has thanked: 2 times
Been thanked: 6 times

Re: Dead or Alive series formats and tools

Post by Mobuis » Wed Jan 04, 2012 5:16 pm

b0ny wrote:
mariokart64n wrote:@ganjul
I donno if your done, done.
I already explained my thoughts, and we leveled out. If you want answers, then lay them out and I'll tell you what I know

you know its frustrating for me I'm trying really hard, and I'm like the only one leading the format hacking right now.
I like modding and would really like this to succeed, and I'd like very much to see your blender script too

but if your done your done. :(
I'm sorry things didn't turn out, but I respect you. So if you do decide to rejoin the project, I'll try better to help you out

-mariokart64n


EDIT

finally making progress on the physics bloc in the cat

its pretty simple, except it has about a dozen different controller types.. maybe take some time to decipher them all
type 0x01 is a basic hinge controller. so verts are indexed to a node, and it has mass, gravity, etc settings.. the rest is carried out by the physics settings of the stage

...very easy
Image
you say it's easy - can you please explain what have you dug up
Image
also i can see from this image that the first(green) and the second(gray) element first offset(0x8ec4) is the same.

p.s. it's interesting to see what's happening when using an xpr with a cat from a model with the same skin but with a different haircut. the game will use the clothes, the neck, etc to build the hair described in the cat file(at least i've seen that effect on the "kasumi with a helmet" skin).
okay so this is little endian so ... in the document format he states that the EC04 which is interpreted as 04EC is added to offset 0000 the rest is color coded to find the offset I would explqin more but I am on my playbook which is q piece of crap

ChewyKokoro
ultra-n00b
Posts: 1
Joined: Wed Jan 04, 2012 9:42 pm

Re: Dead or Alive series formats and tools

Post by ChewyKokoro » Wed Jan 04, 2012 9:47 pm

Hello Can someone tell me how to mod doa4 ?~ i want to swap some tpr files to Get kimono which is hak03&08 :o but how do i change em and save it to my game disc help :o

mariokart64n
ultra-veteran
ultra-veteran
Posts: 546
Joined: Sun Jun 05, 2005 12:00 pm
Location: Ontario, Canada
Has thanked: 31 times
Been thanked: 181 times

Re: Dead or Alive 3,U,X tools [download]

Post by mariokart64n » Thu Jan 05, 2012 1:14 am

Mobuis wrote: These are homogenous vectors that have a w component as you can see when you made the W NULL or 0 I assume it turned the vector into a direction vector moving out from the origin of the model. All that is useful here is the position x,y,z for the mesh parts so you will want to store the position from these 32 bit floats, also you have the formula wrong for pos = [x/w,y/w,z/w,w] where w =1 , they use 4D vectors here because they want to do a transform of some kind its easier to do matrix multiplication with a 4D matrix and 4D vector because they can incorporate translations into the matrix which ultimately allows translations and rotations, scaling in one matrix.

Those "not used" I believe are used the effect isn't evident you should see if you change the one of the values of the float 32 into say a large number to see the effect leaving W as it is so what you would need to do is modify the 32 bit float into an integer number say like 5 and see what that "not used object is" for instance if I took the first 32bit float(TORSO) and changed it to an integer 4 but respecting the 32 bit float TYPE so playing with the 32 bits of the float to turn it into 4, so that the game which will read the 4bytes and interpret it as a float will say that float is 4.00 the torso effectively will move up 4 units.

I appreciate you joining, its an honor to have someone of your experience contribute to this project.
I understand what your saying, but I've already tested these things out. those bones just don't have any affect in game.

the only way to find out is verify with the DOAX2 skeleton we have and make assumptions based off the current parenting list in the cat file

And in relation to the ganjul situation, I would have to agree with you. I'm sorry things happened the way they did and I understand the documents were not of a "programmer" caliber.
However you must understand that I am not a programmer like you. and unlike you, I do not have 10 years experience.. more like 10months

I feel the problem happened on both sides, and I don't think things are going to be fixed so easily. I would hope this issue will finally be dropped. He is backing out of his own choice, its not like I'm harassing him in any way.

Please lets move forward, and finally destroy the secrets behind the CAT file

-mariokart64n









EDIT
b0ny wrote: Image
you say it's easy - can you please explain what have you dug up
Image
also i can see from this image that the first(green) and the second(gray) element first offset(0x8ec4) is the same.

p.s. it's interesting to see what's happening when using an xpr with a cat from a model with the same skin but with a different haircut. the game will use the clothes, the neck, etc to build the hair described in the cat file(at least i've seen that effect on the "kasumi with a helmet" skin).

I haven't broken the physics blocks down at all, I just got what you've detailed in your image.

I follow the header offsets to the physics block, read the offset list.

follow the offsets to each physics header and read the node, or the point4 or vectors defined there in the physics header.

theres an index there to link the vertices, but the list seems to be a variable length. I can't parse it because there's no terminator or count. cant loop/read it

the 4 bytes in the physics header relates to which object that header is for. you'll see 0x01 used more commonly, since the hair mesh is usually the first mesh

again.. I haven't drilled much into this, these were premature findings, as I'm unable to make any use of what I currently know about it.

EDIT
the W value is always 0, I replaced it with like 1,000,000.00, no change. its seems silly to have that wasted space, I think something is suppressing that value. or more or less overriding this value from causing an effect
I also rechecked my original tested, by writting huge values to the position entries.. and theres no change from my previous discovery. no changes to items marked unused.
..very weird that there is values on them though

Code: Select all

00 00 00 00 AE 47 E1 3D  00 00 00 00 00 00 00 00 Torso
00 00 00 00 B0 03 67 3D  65 19 62 3C 00 00 00 00 Neck
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 Not Used?
00 00 00 00 67 44 C9 BE  00 00 00 80 00 00 00 00 Not Used?
1F 85 6B 3E 00 00 00 00  00 00 00 80 00 00 00 00 Not Used?
1F 85 6B 3E 00 00 00 00  00 00 00 00 00 00 00 00 Not Used?
2E 90 A0 3D A6 9B 44 BB  D7 34 EF BB 00 00 00 00 Left Thigh
00 00 00 00 63 EE DA BE  00 00 00 00 00 00 00 00 Left Lowerleg
22 FD F6 3D 00 00 00 00  00 00 00 00 00 00 00 00 Left Upperarm
00 00 00 00 67 44 C9 BE  00 00 00 80 00 00 00 00 Not Used?
1F 85 6B BE 00 00 00 00  00 00 00 80 00 00 00 00 Not Used?
1F 85 6B BE 00 00 00 00  00 00 00 00 00 00 00 00 Not Used?
2E 90 A0 BD A6 9B 44 BB  D7 34 EF BB 00 00 00 00 Right Thigh
00 00 00 00 63 EE DA BE  00 00 00 00 00 00 00 00 Right Lowerleg
22 FD F6 BD 00 00 00 00  00 00 00 00 00 00 00 00 Right Upperarm
00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 Not Used?
00 00 00 00 EA 04 34 3E  52 49 9D BC 00 00 00 00 Not Used?
FE 65 F7 3C EB 73 35 3D  46 B6 73 3D 00 00 00 00 Left Eye
00 00 00 00 04 E7 8C BD  41 82 E2 3D 00 00 00 00 Not Used?
00 00 00 00 7E 1D 78 3E  31 08 AC BC 00 00 00 00 Not Used?
00 00 00 80 EA 04 34 3E  52 49 9D BC 00 00 00 00 Right Eye
FE 65 F7 BC EB 73 35 3D  46 B6 73 3D 00 00 00 00 Not Used?
00 00 00 00 04 E7 8C BD  41 82 E2 3D 00 00 00 00 Not Used?
00 00 00 00 15 1D C9 3D  00 00 00 00 00 00 00 00 Not Used?
F3 FF C7 42 F3 FF C7 42  F3 FF C7 42 00 00 00 00 Not Used?
anyway here is kasumi using the parrie dogs bones
Image

EDIT2
before I was editing the file in memory, I tried again editing the file, and booting in the game. the unused sections do have an effect. I'm trying to map it now

EDIT3
I've studied the position data from that bloc, its local or relative to the parent node.
here in this image you can see what I mean
Image


I used this concept to rebuild young tina's skeleton or well offset the meshes. the results are pretty cool
Image

the arms are stretched because that tiny skeleton is now trying to pull to kasumis animations. the hitboxes follow the new positions, so its not glitchy really. asides that her feet are off the ground. I'm not sure this can be helped?

Image

heres what I was able to figure out
-- 01 Torso
-- 02 Neck
-- 03 UNKNOWN
-- 04 Left Foot
-- 05 Left Forearm?
-- 06 Left Hand
-- 07 Left Thigh
-- 08 Left Lowerleg
-- 09 Left Upperarm
-- 10 Right Foot
-- 11 Right Forearm?
-- 12 Right Hand
-- 13 Right Thigh
-- 14 Right Lowerleg
-- 15 Right Upperarm
-- 16 UNKNOWN
-- 17 UNKNOWN
-- 18 Left Eye
-- 19 UNKNOWN
-- 20 UNKNOWN
-- 21 UNKNOWN
-- 22 Right Eye
-- 23 UNKNOWN
-- 24 UNKNOWN
-- 25 UNKNOWN


young tina's corrdinates;
001 @ [0.000000,0.105000,0.007000]
002 @ [0.000000,0.175910,-0.021000]
003 @ [0.000000,0.000000,0.000000]
004 @ [0.003861,-0.272710,0.000000]
005 @ [0.161420,0.000000,0.000000]
006 @ [0.161420,0.000000,0.000000]
007 @ [0.051240,-0.010850,-0.017290]
008 @ [0.000000,-0.273000,0.000000]
009 @ [0.078050,0.168000,-0.015960]
010 @ [0.003861,-0.272710,0.000000]
011 @ [-0.161000,0.000000,0.000000]
012 @ [-0.161000,0.000000,0.000000]
013 @ [-0.051240,-0.010850,-0.017290]
014 @ [0.000000,-0.273000,0.000000]
015 @ [-0.078000,0.168000,-0.015960]
016 @ [0.000000,0.000000,0.000000]
017 @ [0.000000,0.000000,0.000000]
018 @ [0.024683,0.112868,0.047947]
019 @ [0.000000,0.000000,0.000000]
020 @ [0.000000,0.000000,0.000000]
021 @ [0.000000,0.000000,0.000000]
022 @ [-0.025000,0.112868,0.047947]
023 @ [0.000000,0.000000,0.000000]
024 @ [0.000000,0.000000,0.000000]
025 @ [99.999901,99.999901,99.999901]


Hitomi
001 @ [0.000000,18.500000,0.520000]
002 @ [-0.000000,30.146431,-2.624170]
003 @ [0.000000,0.000000,0.000000]
004 @ [-0.000000,-41.639999,0.000000]
005 @ [24.698000,0.000000,0.003750]
006 @ [24.700001,-0.103069,0.000000]
007 @ [7.840000,-2.830000,-2.640000]
008 @ [0.000000,-40.000004,0.000000]
009 @ [12.420028,22.090002,-2.439998]
010 @ [-0.000000,-41.639999,0.000000]
011 @ [-24.698168,0.000000,0.003750]
012 @ [-24.699970,-0.103069,0.000000]
013 @ [-7.840000,-2.830000,-2.640000]
014 @ [0.000000,-40.000004,0.000000]
015 @ [-12.420000,22.090002,-2.439998]
016 @ [0.000000,0.000000,0.000000]
017 @ [0.000000,0.000000,0.000000]
018 @ [2.915629,10.437886,7.997448]
019 @ [0.000000,0.000000,0.000000]
020 @ [0.000000,0.000000,0.000000]
021 @ [0.000000,0.000000,0.000000]
022 @ [-2.916000,10.437886,7.997448]
023 @ [0.000000,0.000000,0.000000]
024 @ [0.000000,0.000000,0.000000]
025 @ [9999.990234,9999.990234,9999.990234]


you can enter these into bloc 1 in the cat file
an easy way is to write these over the materials. you'll need to change the byte for that section from 0x03 to 0x08

otherwise to add it on, you'll need to expand the listing in bloc 1, then add it onto the end of the cat blocs. remember to correct the 4 offsets in the CAT header.

the beneifit of defining our own skeleton in the cat, is now characters can be interchanged with any character animation.

I'll have a look at the EXE tomorrow and see if I can find the bone sets for all the characters. but if not I'll just figure a few out manually. ^_^ I can finally get rid of BASS
Last edited by mariokart64n on Fri Jan 06, 2012 1:55 am, edited 1 time in total.
Maxscript and other finished work I've done can be found on my DeviantArt account

Post Reply