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!