Fate SMS

Skeletons, animations, shaders, texturing, converting, fixing and anything else related to read game models
Anexenaumoon
Posts: 119
Joined: Sun Dec 27, 2015 10:22 pm

Fate SMS

Post by Anexenaumoon »

Hey guys,

Looking for some help with Fate's *.SMS. I know that the face buffer is first, using ints as its faces. I'm just confused about how the vertex data is stored. Could someone help me out? Thanks!

SMS.zip
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Fate SMS

Post by Szkaradek123 »

Here is a log from "brainbeast.SMS"

Code: Select all


vertex:186
offset 43290   (5,)

offset 43294   (0,)
offset 43298   (-5.8507013320922852, 1.1877377033233643, -0.3022233247756958)
offset 43310   (98, 204)
offset 43312   (0.0,)

offset 43316   (17,)
offset 43320   (-0.52804428339004517, -1.3892757892608643, 0.91966015100479126)
offset 43332   (103, 130)
offset 43334   (1.0,)

offset 43338   (14,)
offset 43342   (3.6864264011383057, 0.74010258913040161, 0.11561287194490433)
offset 43354   (22, 107)
offset 43356   (0.0,)

offset 43360   (6,)
offset 43364   (2.1501297950744629, 0.60882413387298584, 5.9695687294006348)
offset 43376   (102, 148)
offset 43378   (0.0,)

offset 43382   (16,)
offset 43386   (2.9938483238220215, -1.6297153234481812, -0.20677682757377625)
offset 43398   (111, 167)
offset 43400   (0.0,)


to get position of vertexId=186 first we need to build skeleton.
After that we get 5 matrices , for 0, 17, 14, 6 and 16 bone . It must to be an absolute matrices, not locale in bone hierarchy.

vertex_186_pos = Vector(-5.8507013320922852, 1.1877377033233643, -0.3022233247756958)*matrice_bone_0*0.0 +
Vector(-0.52804428339004517, -1.3892757892608643, 0.91966015100479126)*matrice_bone_17*1.0 +
Vector(3.6864264011383057, 0.74010258913040161, 0.11561287194490433)*matrice_bone_14*0.0 +
Vector(2.1501297950744629, 0.60882413387298584, 5.9695687294006348)*matrice_bone_6*0.0 +
Vector(2.9938483238220215, -1.6297153234481812, -0.20677682757377625)*matrice_bone_16*0.0

Here is a blend file to import this 2 files.
You need to install Blender version 249 and Python version 26x.
Importer create log files, so you can check what values are at current offset
Anexenaumoon
Posts: 119
Joined: Sun Dec 27, 2015 10:22 pm

Re: Fate SMS

Post by Anexenaumoon »

Szkaradek123 wrote:Here is a log from "brainbeast.SMS"

Code: Select all


vertex:186
offset 43290   (5,)

offset 43294   (0,)
offset 43298   (-5.8507013320922852, 1.1877377033233643, -0.3022233247756958)
offset 43310   (98, 204)
offset 43312   (0.0,)

offset 43316   (17,)
offset 43320   (-0.52804428339004517, -1.3892757892608643, 0.91966015100479126)
offset 43332   (103, 130)
offset 43334   (1.0,)

offset 43338   (14,)
offset 43342   (3.6864264011383057, 0.74010258913040161, 0.11561287194490433)
offset 43354   (22, 107)
offset 43356   (0.0,)

offset 43360   (6,)
offset 43364   (2.1501297950744629, 0.60882413387298584, 5.9695687294006348)
offset 43376   (102, 148)
offset 43378   (0.0,)

offset 43382   (16,)
offset 43386   (2.9938483238220215, -1.6297153234481812, -0.20677682757377625)
offset 43398   (111, 167)
offset 43400   (0.0,)


to get position of vertexId=186 first we need to build skeleton.
After that we get 5 matrices , for 0, 17, 14, 6 and 16 bone . It must to be an absolute matrices, not locale in bone hierarchy.

vertex_186_pos = Vector(-5.8507013320922852, 1.1877377033233643, -0.3022233247756958)*matrice_bone_0*0.0 +
Vector(-0.52804428339004517, -1.3892757892608643, 0.91966015100479126)*matrice_bone_17*1.0 +
Vector(3.6864264011383057, 0.74010258913040161, 0.11561287194490433)*matrice_bone_14*0.0 +
Vector(2.1501297950744629, 0.60882413387298584, 5.9695687294006348)*matrice_bone_6*0.0 +
Vector(2.9938483238220215, -1.6297153234481812, -0.20677682757377625)*matrice_bone_16*0.0

Here is a blend file to import this 2 files.
You need to install Blender version 249 and Python version 26x.
Importer create log files, so you can check what values are at current offset




You're amazing I hope you know that. What do you need to build skeleton generally?