Mortal Kombat Deadly Alliance .ssf files

Skeletons, animations, shaders, texturing, converting, fixing and anything else related to read game models
MarioSonicU
Posts: 116
Joined: Tue Dec 08, 2015 8:36 pm

Mortal Kombat Deadly Alliance .ssf files

Post by MarioSonicU »

https://mega.nz/#!u5JwWY6B!VL45KLaFVdMW ... kkTHDR9KyM

The Game uses Renderware but i am not sure how to extract it
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by aluigi »

I have updated the original script I made many time ago, now it's 0.1.1 (the only change is "endian guess FILES"):
http://aluigi.org/bms/mka_ssf.bms
MarioSonicU
Posts: 116
Joined: Tue Dec 08, 2015 8:36 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by MarioSonicU »

When i use it it gives me .dat and .mka files. What do i do with them?

https://mega.nz/#!6gA0ECib!kclcuJLHruRv ... zuNZ38K_Iw

(i may think that the .mka are the animation files)
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Hi
Here is blend file for import models from dat files.
It requires to install Blender version 249b (32 bit) and Python 2.6.6.(32 bit).
Doubleclick file "Blender249.blend" and in Text Window press alt+p to run script.
Select file with *.dat (file with size > 300 kb) and press import.
Script import geometry, uv and weights for vertex, bones.
Bone map is still in progress.

About file format:
We have recursive lists of sections.
Each section init values:
-type of section
-size of section
-unknow value


Code: Select all

(16, 395700, 134283263)
     (1, 4, 134283263) 32
     (14, 9360, 134283263) 48 - armature section
         (1, 4372, 134283263) 60
         (3, 40, 134283263) 4444
         (3, 960, 134283263) 4496
         (3, 40, 134283263) 5468
         (3, 40, 134283263) 5520
         (3, 40, 134283263) 5572
         (3, 40, 134283263) 5624
         (3, 40, 134283263) 5676
         (3, 40, 134283263) 5728
         (3, 40, 134283263) 5780
         (3, 40, 134283263) 5832
         (3, 40, 134283263) 5884
         (3, 40, 134283263) 5936
         (3, 40, 134283263) 5988
         (3, 40, 134283263) 6040
         (3, 40, 134283263) 6092
         (3, 40, 134283263) 6144
         (3, 40, 134283263) 6196
         (3, 40, 134283263) 6248
         (3, 40, 134283263) 6300
         (3, 40, 134283263) 6352
         (3, 40, 134283263) 6404
         (3, 40, 134283263) 6456
         (3, 40, 134283263) 6508
         (3, 40, 134283263) 6560
         (3, 40, 134283263) 6612
         (3, 40, 134283263) 6664
         (3, 40, 134283263) 6716
         (3, 40, 134283263) 6768
         (3, 40, 134283263) 6820
         (3, 40, 134283263) 6872
         (3, 40, 134283263) 6924
         (3, 40, 134283263) 6976
         (3, 40, 134283263) 7028
         (3, 40, 134283263) 7080
         (3, 40, 134283263) 7132
         (3, 40, 134283263) 7184
         (3, 40, 134283263) 7236
         (3, 40, 134283263) 7288
         (3, 40, 134283263) 7340
         (3, 40, 134283263) 7392
         (3, 40, 134283263) 7444
         (3, 40, 134283263) 7496
         (3, 40, 134283263) 7548
         (3, 40, 134283263) 7600
         (3, 40, 134283263) 7652
         (3, 40, 134283263) 7704
         (3, 40, 134283263) 7756
         (3, 40, 134283263) 7808
         (3, 40, 134283263) 7860
         (3, 40, 134283263) 7912
         (3, 40, 134283263) 7964
         (3, 40, 134283263) 8016
         (3, 40, 134283263) 8068
         (3, 40, 134283263) 8120
         (3, 40, 134283263) 8172
         (3, 40, 134283263) 8224
         (3, 40, 134283263) 8276
         (3, 40, 134283263) 8328
         (3, 40, 134283263) 8380
         (3, 40, 134283263) 8432
         (3, 40, 134283263) 8484
         (3, 40, 134283263) 8536
         (3, 40, 134283263) 8588
         (3, 40, 134283263) 8640
         (3, 40, 134283263) 8692
         (3, 40, 134283263) 8744
         (3, 40, 134283263) 8796
         (3, 40, 134283263) 8848
         (3, 40, 134283263) 8900
         (3, 40, 134283263) 8952
         (3, 40, 134283263) 9004
         (3, 40, 134283263) 9056
         (3, 40, 134283263) 9108
         (3, 40, 134283263) 9160
         (3, 40, 134283263) 9212
         (3, 40, 134283263) 9264
         (3, 40, 134283263) 9316
         (3, 40, 134283263) 9368
     (26, 386072, 134283263) 9420
         (1, 4, 134283263) 9432
         (15, 138300, 134283263) 9448 - mesh section
             (1, 79308, 134283263) 9460 - mesh data
             (8, 584, 134283263) 88780 - material list section
                 (1, 16, 134283263) 88792
                 (7, 172, 134283263) 88820 - material
                     (1, 28, 134283263) 88832
                     (6, 64, 134283263) 88872
                         (1, 4, 134283263) 88884
                         (2, 8, 134283263) 88900
                         (2, 4, 134283263) 88920
                         (3, 0, 134283263) 88936
                     (3, 44, 134283263) 88948
                 (7, 176, 134283263) 89004
                     (1, 28, 134283263) 89016
                     (6, 68, 134283263) 89056
                         (1, 4, 134283263) 89068
                         (2, 12, 134283263) 89084
                         (2, 4, 134283263) 89108
                         (3, 0, 134283263) 89124
                     (3, 44, 134283263) 89136
                 (7, 172, 134283263) 89192
                     (1, 28, 134283263) 89204
                     (6, 64, 134283263) 89244
                         (1, 4, 134283263) 89256
                         (2, 8, 134283263) 89272
                         (2, 4, 134283263) 89292
                         (3, 0, 134283263) 89308
                     (3, 44, 134283263) 89320
             (3, 58372, 134283263) 89376 - weights for vertex
         (15, 247732, 134283263) 147760
             (1, 142572, 134283263) 147772
             (8, 1348, 134283263) 290356
                 (1, 32, 134283263) 290368
                 (7, 172, 134283263) 290412
                     (1, 28, 134283263) 290424
                     (6, 64, 134283263) 290464
                         (1, 4, 134283263) 290476
                         (2, 8, 134283263) 290492
                         (2, 4, 134283263) 290512
                         (3, 0, 134283263) 290528
                     (3, 44, 134283263) 290540
                 (7, 176, 134283263) 290596
                     (1, 28, 134283263) 290608
                     (6, 68, 134283263) 290648
                         (1, 4, 134283263) 290660
                         (2, 12, 134283263) 290676
                         (2, 4, 134283263) 290700
                         (3, 0, 134283263) 290716
                     (3, 44, 134283263) 290728
                 (7, 176, 134283263) 290784
                     (1, 28, 134283263) 290796
                     (6, 68, 134283263) 290836
                         (1, 4, 134283263) 290848
                         (2, 12, 134283263) 290864
                         (2, 4, 134283263) 290888
                         (3, 0, 134283263) 290904
                     (3, 44, 134283263) 290916
                 (7, 176, 134283263) 290972
                     (1, 28, 134283263) 290984
                     (6, 68, 134283263) 291024
                         (1, 4, 134283263) 291036
                         (2, 12, 134283263) 291052
                         (2, 4, 134283263) 291076
                         (3, 0, 134283263) 291092
                     (3, 44, 134283263) 291104
                 (7, 172, 134283263) 291160
                     (1, 28, 134283263) 291172
                     (6, 64, 134283263) 291212
                         (1, 4, 134283263) 291224
                         (2, 8, 134283263) 291240
                         (2, 4, 134283263) 291260
                         (3, 0, 134283263) 291276
                     (3, 44, 134283263) 291288
                 (7, 176, 134283263) 291344
                     (1, 28, 134283263) 291356
                     (6, 68, 134283263) 291396
                         (1, 4, 134283263) 291408
                         (2, 12, 134283263) 291424
                         (2, 4, 134283263) 291448
                         (3, 0, 134283263) 291464
                     (3, 44, 134283263) 291476
                 (7, 172, 134283263) 291532
                     (1, 28, 134283263) 291544
                     (6, 64, 134283263) 291584
                         (1, 4, 134283263) 291596
                         (2, 8, 134283263) 291612
                         (2, 4, 134283263) 291632
                         (3, 0, 134283263) 291648
                     (3, 44, 134283263) 291660
             (3, 103776, 134283263) 291716
     (20, 96, 134283263) 395504
     (20, 96, 134283263) 395612
MarioSonicU
Posts: 116
Joined: Tue Dec 08, 2015 8:36 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by MarioSonicU »

Works like a charm! Thank you!
TRDaz
Posts: 42
Joined: Fri Nov 06, 2015 1:54 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by TRDaz »

I can't seem to get it to work, I keep getting this:

Code: Select all

Traceback (most recent call last):
  File "starter.py", line 144, in Parser
    datParser(filename,g)
  File "starter.py", line 47, in datParser
    tree(A,g,n,node)
  File "starter.py", line 18, in tree
    tree(B,g,n,node)
  File "starter.py", line 18, in tree
    tree(B,g,n,node)
  File "starter.py", line 22, in tree
    g.seek(tB+B[1])
  File "C:\Users\Darren\Downloads\Blender Szkaradek Scripts\Blender249[MortalKombatDeadlyAlliance][PC][dat][2016-04-29]\newGameLib\myLibraries\binaresLib.py", line 331, in seek
    self.inputFile.seek(off,a)
IOError: [Errno 22] Invalid argument


I did have 2.6.2 python installed, but I changed that to 2.6.6 and it didn't change the error.
I'm using Mortal Kombat Armageddon files for this but I think it uses the same format as Deadly Alliance.
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

I can't help for Armageddon.
No samples.
TRDaz
Posts: 42
Joined: Fri Nov 06, 2015 1:54 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by TRDaz »

Here are some:
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Thank you for samples.
Files are little diffrent and not for quick apply changes in script . Please wait .
TRDaz
Posts: 42
Joined: Fri Nov 06, 2015 1:54 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by TRDaz »

Take your time, and thank you for checking them.
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Here is a little progress. Bones, geometry+uv.
How use:
- open with Blender version 249 like for Deadly Alliance

Updated 2016-05-08:
-added weigths and bind skeleton (called "armature"). They have correct names. (unfortunately as numbers)

Rig bones from skeleton called "rig" dosn't have correct names. I tried but I can not do this properly.
Last edited by Szkaradek123 on Sun May 08, 2016 6:16 am, edited 1 time in total.
TRDaz
Posts: 42
Joined: Fri Nov 06, 2015 1:54 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by TRDaz »

Thank you! They now import but the weights are messed up, I assume you are working on that?
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Updated for Armageddon viewtopic.php?p=13181#p13181
TRDaz
Posts: 42
Joined: Fri Nov 06, 2015 1:54 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by TRDaz »

Thank you for the update!
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Hi
I found similar game with making tree with chunks like games Mortal Kombat. It is a Blood Roar 4 for PS2.
I know there are scripts for import models from this game - https://ps23dformat.wikispaces.com/Bloody+Roar+4 andsecond made by chrrox and mariokart64n on xentax, but i want make my own importer from this game - for Blender.
I have almost all: geometry, uv bones but unfortunalety don't understand how make are skin indices.

Code: Select all

mesh:1
offset 19295   (8143, 0) size of section for current groups of submeshes with the same material
offset 19303   (46, 0, 0, 48) - chunk - begin submesh
offset 19307   (318,) - it is interesting value . Look at this: value from offset 20491- 362, so 362-318=44 - i think it is count of weights for this submesh, and 318 is as ID from some    list, but don't know where to find it.
offset 19311   (4, 1, 0, 1, 3, 128, 46, 108, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
offset 19355   (0, 0, 0, 5)
offset 19359   (4, 1, 0, 1, 0, 128, 46, 104) - 104=section with vertex position, 46 - count
offset 19919   (0, 0, 0, 0)
offset 19923   (0, 0, 0, 0)
offset 19927   (0, 0, 0, 0)
offset 19931   (0, 0, 0, 5)
offset 19935   (4, 1, 0, 1, 1, 128, 46, 100) - 100=section with vertex uv, 46 - count
offset 20311   (0, 0, 0, 0)
offset 20315   (0, 0, 0, 5)
offset 20319   (4, 1, 0, 1, 2, 128, 46, 106) - 106=section with vertex normal , 46 - count
offset 20471   (46, 0, 0, 4)
offset 20475   (0, 0, 0, 21)
offset 20479   (0, 0, 0, 0)
offset 20483   (0, 0, 0, 0)
offset 20487   (46, 0, 0, 48) - next submesh
offset 20491   (362,)
offset 20495   (4, 1, 0, 1, 3, 128, 46, 108, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
offset 20539   (0, 0, 0, 5)
offset 20543   (4, 1, 0, 1, 0, 128, 46, 104)
offset 21103   (0, 0, 0, 0)
offset 21107   (0, 0, 0, 0)
offset 21111   (0, 0, 0, 0)
offset 21115   (0, 0, 0, 5)
offset 21119   (4, 1, 0, 1, 1, 128, 46, 100)
offset 21495   (0, 0, 0, 0)
offset 21499   (0, 0, 0, 5)
offset 21503   (4, 1, 0, 1, 2, 128, 46, 106)
offset 21655   (46, 0, 0, 4)
offset 21659   (0, 0, 0, 23)
offset 21663   (0, 0, 0, 0)
offset 21667   (0, 0, 0, 0)
offset 21671   (46, 0, 0, 48) - next submesh
offset 21675   (406,)
offset 21679   (4, 1, 0, 1, 3, 128, 46, 108, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
offset 21723   (0, 0, 0, 5)
offset 21727   (4, 1, 0, 1, 0, 128, 46, 104)
offset 22287   (0, 0, 0, 0)
offset 22291   (0, 0, 0, 0)
offset 22295   (0, 0, 0, 0)
offset 22299   (0, 0, 0, 5)
offset 22303   (4, 1, 0, 1, 1, 128, 46, 100)
offset 22679   (0, 0, 0, 0)
offset 22683   (0, 0, 0, 5)
offset 22687   (4, 1, 0, 1, 2, 128, 46, 106)
offset 22839   (46, 0, 0, 4)
offset 22843   (0, 0, 0, 23)
offset 22847   (0, 0, 0, 0)
offset 22851   (0, 0, 0, 0)
offset 22855   (46, 0, 0, 48) - next submesh
offset 22859   (450,)
offset 22863   (4, 1, 0, 1, 3, 128, 46, 108, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
offset 22907   (0, 0, 0, 5)
offset 22911   (4, 1, 0, 1, 0, 128, 46, 104)
offset 23471   (0, 0, 0, 0)
offset 23475   (0, 0, 0, 0)
offset 23479   (0, 0, 0, 0)
offset 23483   (0, 0, 0, 5)
offset 23487   (4, 1, 0, 1, 1, 128, 46, 100)
offset 23863   (0, 0, 0, 0)
offset 23867   (0, 0, 0, 5)
offset 23871   (4, 1, 0, 1, 2, 128, 46, 106)
offset 24023   (46, 0, 0, 4)
offset 24027   (0, 0, 0, 23)
offset 24031   (0, 0, 0, 0)
offset 24035   (0, 0, 0, 0)
offset 24039   (10, 0, 0, 48)
offset 24043   (494,)
offset 24047   (4, 1, 0, 1, 3, 128, 10, 108, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
offset 24091   (0, 0, 0, 5)
offset 24095   (4, 1, 0, 1, 0, 128, 10, 104)
offset 24223   (0, 0, 0, 0)
offset 24227   (0, 0, 0, 0)
offset 24231   (0, 0, 0, 0)
offset 24235   (0, 0, 0, 5)
offset 24239   (4, 1, 0, 1, 1, 128, 10, 100)
offset 24327   (0, 0, 0, 0)
offset 24331   (0, 0, 0, 5)
offset 24335   (4, 1, 0, 1, 2, 128, 10, 106)
offset 24375   (10, 0, 0, 4)
offset 24379   (0, 0, 0, 23)
offset 24383   (0, 0, 0, 17) - weights
offset 24387   (0, 0, 0, 17)
offset 24391   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24407   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24423   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24439   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24455   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24471   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24487   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24503   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24519   (1.000002384185791, 0.0, 0.0, 0.0)
offset 24535   (1.000002384185791, 0.0, 0.0, 0.0)
......





If someone want to play how find missing skin indices ,
so here is a blend file for import dff files from Bloody Roar 4 PS2.
How use: like importers above.
For textured models:
1. run script and select file with txd.
2. it should run PS2TXDViewer.exe (please read Readme.txt)
3. in this software open file txd and extract images to the same folder where is *.dff file . Please to choose tga format for images.
4. close PS2TXDViewer.exe and in blender run script and select dff file.

To get log please delete "#" in line 315 and 317
Szkaradek123
Posts: 124
Joined: Sat Aug 29, 2015 1:13 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by Szkaradek123 »

Next similar game - Silent Hill Shattered Memories PS2
I tested only on files from http://forum.xentax.com/viewtopic.php?f=16&t=12496
Horrible format...
dswd2016
Posts: 43
Joined: Tue Mar 15, 2016 6:32 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by dswd2016 »

How to extract this game?
MarcosRC97
Posts: 4
Joined: Thu Nov 29, 2018 10:08 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by MarcosRC97 »

Hello, I'm having this error here, I do not know why, but python seems to work fine, I'm using blender version 2.49b and python 2.6.6

does anyone explain to me why this error happens when I use the alt + p key to import the dat?

Prints:
Error alt+p
Image

Image

Image


EDIT: I've already got it, I just had to copy the "newgamelib" folder to the lib folder in the python directory.
MarioSonicU
Posts: 116
Joined: Tue Dec 08, 2015 8:36 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by MarioSonicU »

Szkaradek123 wrote:Hi
Here is blend file for import models from dat files.
It requires to install Blender version 249b (32 bit) and Python 2.6.6.(32 bit).
Doubleclick file "Blender249.blend" and in Text Window press alt+p to run script.
Select file with *.dat (file with size > 300 kb) and press import.
Script import geometry, uv and weights for vertex, bones.
Bone map is still in progress.
[/code]


Hey, Szkaradek123, could you update the script to support .dat from the Xbox version? When I import it using your script, it only shows the skeleton.
RetroDragon
Posts: 3
Joined: Wed Oct 30, 2019 6:35 pm

Re: Mortal Kombat Deadly Alliance .ssf files

Post by RetroDragon »

I've tried opening this and using the Alt+P to run it and I got an error because of a lack of parenthesis so I put them in. It still didn't work. Then I tried the above fix. And it still won't work but because there is no console I can't see what the error is. Any ideas?