XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Sat Oct 21, 2017 8:22 pm

All times are UTC + 1 hour


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Tales of Zestiria
PostPosted: Tue Apr 26, 2016 6:23 pm 
Offline
ultra-n00b

Joined: Tue Apr 26, 2016 5:58 pm
Posts: 3
Has thanked: 2 times
Have thanks: 3 times
Hi

After some hacking I managed to rip static objects directly from the model files. But I'm struggling with the animated model files: The index buffer and texture coordinate data is stored separately from the vertex data. The vertex data itself is stored directly in a hierarchical bone structure, which is too complicated for me to analyze at the moment.
The attached Edna model was ripped using NinjaRipper, but what I'm after is the bone animatable raw vertex data.

Here is what I got so far:
  • Extract the "TLFILE.TLDAT" and "FILEHEADER.TOFHDB" containers using quickbms with the "tales_of_xillia.bms" profile.
  • Texture descriptions are then exported in "TOTEXB_D\*.dpd" and the textures itself in "TOTEXP_P\*.dat".
  • Model animations are stored in "TOMDLB_D\*.dpd" and static model data is stored in "TOMDLP_P\*.dc5".
  • Run the attached code to extract DirectX DDS textures from the TOTEXP_P folder. Example: "CHR_EDN_TEN_100_CHEST0_C.dds", "CHR_EDN_TEN_100_HAIRBAND0_C.dds" and so on.
  • Run the attached code to extract OBJ model files from static models in the TOMDLP_P folder. Example: "ATT_106_FLO_00.obj"
  • Animation data is stored in ".toanmb"-files.

Any help parsing the animation data please?


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Apr 26, 2016 6:30 pm 
Offline
ultra-n00b

Joined: Tue Apr 26, 2016 5:58 pm
Posts: 3
Has thanked: 2 times
Have thanks: 3 times
I can only attach one file per post. So here's the code to extract the textures and model data.


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Apr 26, 2016 6:41 pm 
Offline
ultra-n00b

Joined: Tue Apr 26, 2016 5:58 pm
Posts: 3
Has thanked: 2 times
Have thanks: 3 times
And here is an example of the Edna bone animation model containing the vertex data. The nodes are named like "DB_XNECKRIBBON1_1_R", "DB_HOOD1_1_BR", "DB_HOOD1_1_BL" and so on.

My goal is to modify the vertex data and store it back into the game for a better gaming experience.


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Jul 05, 2016 1:58 am 
Offline
n00b

Joined: Mon Aug 11, 2014 2:40 am
Posts: 12
Has thanked: 3 times
Have thanks: 0 time
how to use the program?


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Wed Aug 31, 2016 2:06 am 
Offline
ultra-n00b

Joined: Sun Oct 19, 2014 1:00 pm
Posts: 1
Has thanked: 0 time
Have thanks: 0 time
Hey friend, How I can extract the models? I extracted the package with quickBms but I don´t know how to figure out the obj models


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 5:53 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
at "CHR_EDN_TEN_100_CHEST_MI.toanmb"
offset 0xC8
Code:
group-01 neck ribbon r      bone 0->1
                      neck ribbon l
        group-00  hood x2                bone 2->7
                      cloth x4

offset 0x108
Code:
"bone name " how many words +3
         "DB_XNECKRIBBON1_1_R" words= 19 , 0x30-0x20=0x10=16
         ....                                                  0x40-0x30=0x10
         "DB_HOOD1_1_BR"           words= 13 , 0x4a-0x40=0xa =10
         "DB_CLOTH1_1_BR "(space)        words=15  ,0x56-0x4a=12
         "DB_CLOTH1_1_R"            words=13    0x60-0x56=      =10
         "DB_HOOD1_1_BL"            words=13   0x6a-0x60=       =10
         "DB_CLOTH1_1_BL "(space)        words=15  ,0x76-0x6a  =12


=========================
in other words,
from offset 0x108
move 0x20 ##two line down
get the bone name start address ## bone name="DB_XNECKRIBBON1_1_R"

from offset 0x10B
move 0x30 ##three line down
get the 2nd bone name start address ## bone name = "DB_XNECKRIBBON1_1_L"
....
frome offset 0x124
move 0x76
get 0x19A ##bone name="DB_CLOTH1_1_L"


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 6:36 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
FROM offset 0x1ac TO 0x5ac
0x5AC - 0x1AC = 0x400=1024
8bone 1024/8= 128
x,y,z,w 4 float number 128/16=8 key frame
#####w 0 or 1 ,appear many times

but here ,it would be posible 4x4 matrix
Code:
{A1 A2 A3  0
B1 B2 B3   0
C1 C2 C3   0
D1 D2 D3  1}

it looks like a ”no scale(size)transform “ 4x4 matrix

and then compare 0x1ac and after 0x10x4linex8bone offset
that is 0x3ac
their matrix
= = only guess
A1
{0.75} <==> 0.75
0.75 <==> 0.75
-0.037 <==> -0.037
0.184 <==> 0.184
0.365 <==> 0.365
-0.0375 <==> -0.0375
0.184 <==> 0.184
0.365 <==> 0.365

find it that A1 stay the same value, A2 ,A3 changes
continue find it that
A1
B2
C3
stay the same value
so taht ,this matrix possible have "move transform" only


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 7:44 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
Code:
{A1
     B2
          C3
               1}
stay the same value


does this anime data only have two key frame?
or above matrix is bone matrix (70% possibility ,consider order :bone-mesh-animetion)
look down ,
offset 0x5b0
Code:
LINE:6A                  22
     ......
       

offset:0x61c
8 (obejects?)

offset: 0x628
Code:
float  0      0    0.1   0.1
        0.5   0     1       1
        5      π     π       π    ## π=3.14159...
        0.17  0    1       -6.6

= = in fact ,when i saw "0 0 0.1 0.1 0.5 0 1 1" and then number>1 .
i guess the numbers(which>1) would be  <x,y,z>

so from offset 0x62c skip 0x20
           ot offset 0x64c read 3 floats as <x,y,z> (which first one is x=y=z=π)
from 0x628 to 0x693 as a part ,0x694-0x628 =0x6c     

it is
Code:
index:1 int
        ??     : 2 lines skip 0x20
        <x,y,z>??? :  3 float     like (1,0.5)*π
        ....

this types parts appear 8 times


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 8:02 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
ok , look back to 0x1a0
print (C1 C2 C3) #IF here is bone matrix ,(C1, C2 ,C3)is bone position (x,y,z)
Code:
       X            Y               Z
1st: -0.757      120           3.38                   left
2nd  0.757       120          3.38                   right

3rd  -5.5         112           6.49                  hood b right

4th   -4.4        97             2.63                  cloth b right
5th   -9.6        102           -3.02                 cloth right

6th   5.5         112           6.49                  hood b left

7th   4.4         97            2.63                   cloth b left
8th   9.6         102          -3.02                  cloth left

BINGO!!

and then 9th-16th is what?


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 8:43 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
= =CAN NOT FIND vertex_index to build face
CAN NOT FIND X Y Z W quaternion to build animetion


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Thu Sep 01, 2016 9:44 pm 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
= = animetion data isobviously in "TOANMB"and "TOANMSB"
“MDL” 〉〉model ..bone+mesh+weight+material ONLY


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Sun Sep 04, 2016 7:03 pm 
Offline
veteran

Joined: Sun Feb 23, 2014 4:10 pm
Posts: 125
Has thanked: 2 times
Have thanks: 1 time
Now...
is there a way to import the models (probably with animations) into 3dsmax or similar yet?


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Sep 06, 2016 1:01 am 
Offline
M-M-M-Monster veteran
M-M-M-Monster veteran
User avatar

Joined: Fri Apr 20, 2012 9:24 am
Posts: 2154
Location: Nexus, searching for Jim Kirk
Has thanked: 424 times
Have thanks: 1097 times
Most confusing thread I've ever read. :D

1. it doesn't make sense to care for animation data as long as you don't have the skeleton, imho
2. give the .toanmb file some structure (search for "EDN_" for example)

Code:
Offset  0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
0B20   30 80 00 00 CA 02 00 00  3A 01 00 00 90 00 00 00
                 0x2CA -> 714 (x28)

Code:
Offset  0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
94F0   88 AD 00 00 49 00 00 00  5B 00 00 00 23 00 00 00
                 0x0049 -> 73 (x28)


At 0x9504 and 0x11C1C there's promising point clouds:


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.


_________________
"you can't always get things served on a silver tray"
extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip

"We are Microsoft. You will be assimilated. Resistance is Futile."


Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Sep 06, 2016 7:33 am 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
this a file from DLC (story of alisha) in "DATADLC\008\EXTRA\WIN\TOMDLP_P"
which player angrily call it "真の仲间"


file:
https://mega.nz/#!VkBHWJzJ!WqHpQl1I__hV ... OraNgEyINo


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Tales of Zestiria
PostPosted: Tue Sep 06, 2016 8:20 am 
Offline
beginner

Joined: Mon Sep 15, 2014 11:59 pm
Posts: 31
Has thanked: 0 time
Have thanks: 7 times
in “CHR_EDN_TEN_100_CHEST_MI.toanmb”
Code:
offset 0xb20:    {CA 02 00 00} = int 714                  this part vertex number
                                                                         the part is offset 0xb34 - 0x594C
                                                                         FVF size = 28
                                                                         (0x594C-0xb34)/28= 714

as the name "HAND_0_L_EDN......"


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: Google [Bot] and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group