March 19, 2024, 13:08
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: Mortal Kombat X  (Read 58311 times)
joosebox
Newbie
*
Posts: 1


View Profile
« Reply #30 on: April 20, 2015, 21:26 »

Likewise.   I get this error when decompressing xxx file for UI button layouts.


******** C:\mk9 mod\ui_c_buttonLib.xxx ********

WARNING: wrong size of C:\mk9 mod\ui_c_buttonLib.xxx: differs in 32 bytes
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #31 on: April 21, 2015, 00:29 »

Fixed the warning. Please try updated decompressor.
Logged
UncleFestor
Newbie
*
Posts: 22


View Profile
« Reply #32 on: April 21, 2015, 00:46 »

Tested & confirmed working. Decompressed package loads in game Smiley Thanks Gildor
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #33 on: April 21, 2015, 00:48 »

Cool! At last I wrote something that works Grin
Logged
UncleFestor
Newbie
*
Posts: 22


View Profile
« Reply #34 on: April 21, 2015, 16:16 »

 Grin
Logged
raykingnihong
Newbie
*
Posts: 19


View Profile
« Reply #35 on: April 21, 2015, 22:14 »

Hi Gildor my friends, thank you very much for your great work, really looking forward to Umodel can be the perfect support for this game
Logged
LinkOFF
Newbie
*
Posts: 6


View Profile
« Reply #36 on: April 21, 2015, 23:28 »

Tested & confirmed working. Decompressed package loads in game Smiley Thanks Gildor
Game with decompressed package not started. Just black screen.
Logged
UncleFestor
Newbie
*
Posts: 22


View Profile
« Reply #37 on: April 22, 2015, 00:11 »

What package did you decompress & did you change anything inside the package ?
Logged
LinkOFF
Newbie
*
Posts: 6


View Profile
« Reply #38 on: April 22, 2015, 00:15 »

What package did you decompress & did you change anything inside the package ?

ui_c_buttonLib.xxx
Nothing changes.
Logged
UncleFestor
Newbie
*
Posts: 22


View Profile
« Reply #39 on: April 22, 2015, 01:08 »

I'll take a look @ that package tomorrow & let you know what's going on with it.
Logged
UncleFestor
Newbie
*
Posts: 22


View Profile
« Reply #40 on: April 22, 2015, 17:19 »

Nothing changes.

I tested it on my end it it works perfectly, also there's already been a PS3 Button mod released using this package. So you must've done something wrong. Try decompressing it again {using the original file of course}.
Logged
howfie
Newbie
*
Posts: 33


View Profile
« Reply #41 on: April 22, 2015, 17:53 »

Hi gildor, after you do this game, could you explain what the encoding is for the blendindices? I can get geometry, blendweights, and bones, http://snag.gy/Eeure.jpg, but the blendindices use some kind of retarded encoding. Indices are a single byte, except for one index, which is two bytes and divided by either 4 or 16. For example on one vertex:

4c e0 d0 04 00 - 9f 48 18

There are 5 bytes for blend indices, but only 3 for weights. The weights are easy... just sums to FF or close to FF, so 3 or 4 weights max, simple weight/255.0f.

But the blendindices...

4c is correct 1st index.
2nd index is actually e0/04.
3rd index is actually 04d0/10 (but not always).

Then there's this one:

38 30 01 04 00 - cb 2f 05

38 is correct 1st index.
2nd index is actually 30/04.
3rd index is actually 0401/10 (but not perfectly divisible by 10... flag of some sort?)

Looked through your Github code but couldn't find anything on these "variable-length" encoded indices. Any enlightenment on this would be appreciated. Thanks!
« Last Edit: April 22, 2015, 17:59 by howfie » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #42 on: April 22, 2015, 17:59 »

Hi.
UE3 allows more than 256 bones. So, mesh split to chunks with at most 256 bones each. Each chunk has remap table so local 8-bit bone index converted to global bone. The conversion code in UModel is here:
https://github.com/gildor2/UModel/blob/master/Unreal/UnMesh3.cpp#L1745
Logged
howfie
Newbie
*
Posts: 33


View Profile
« Reply #43 on: April 22, 2015, 18:31 »

Cool, thanks for the link to the lines. Looked in your code for something like:

int BoneIndex1  = V->BoneIndex[0];
int BoneIndex2  = V->BoneIndex[1]/4;
int BoneIndex3  = V->BoneIndex[2]/16;
int BoneIndex4 = V->BoneIndex[3]/64;

You'll see for this game bone indices that go out of range of the remap table, like the value D0 here (0D is the correct index to the remap table):

Code:
vtx 0x3098: 10 50 d0 00 00 - 6e 49 48

BTW, how's life in England the past two years now? Pick up an accent yet Tongue ?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7977



View Profile WWW
« Reply #44 on: April 22, 2015, 18:59 »

int BoneIndex1  = V->BoneIndex[0];
int BoneIndex2  = V->BoneIndex[1]/4;
int BoneIndex3  = V->BoneIndex[2]/16;
int BoneIndex4 = V->BoneIndex[3]/64;
This looks like they're using 32-bit integer to store more than 4 indices. For example, 5x 6-bit values etc.
Quote
BTW, how's life in England the past two years now? Pick up an accent yet Tongue ?
Hehe, I'm not in UK. I've left it after 5-6 months working at Ubisoft. So, my English is going worse now ... Long sad story Sad
Logged
Print 
« previous next »
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS