Firstly I would like to thank Chorrox for writing the first wwe model import script. I was able to decipher the format by reading through his script.
Secondly I would like to thank brienj for writing the model import script for 3dsm.
Ok down to business, my program reads from the yobj model files and enumerates the sub objects in this file. The user can then export and import these objects allowing for the models to be edited.
I have also coded a viewport which allows the user to preview the sub objects in the file. The viewport code reads the vertice, face and uv data in the file. It then exports this data to wavefront object format. Then it loads the wavefront object in the viewport.
I need help with the following two things:
a) The older wwe games (2011 and below) use a slightly different format then the newer games. The difference is that the headers in the new format contain an additional reference to some new data in the new format. The result is that the headers are bigger by 4 bytes and that the file is also bigger due to the additional data.
At present I have not figured what this additional data is for so I am adding zero byte data for the length specified. The data seems to contain 3 four byte float values for each of the vertices, which I am assuming is coordinate data. The normal, uv, weights, bone and vertice data has already been identified in the file so I don't know what this new data is for.
I have also added a reference to zero byte data I am adding to the file in the header, increased the header size and also fixed the offsets in the header and face data.
I am using brienj's import script to test the models in the 3dsm but when I try to open one of the converted models, nothing is displayed.
To summarize what I am currently doing:
1. Header size - old b4, new b8. Need to add four bytes extra
2. Offsets need to change for each header info.
3. Vertex data in new ends with 20 32 32 32 . Old ends with FF FF FF FF
4. New format has 4 bytes extra added at byte 120 of the headers for each object. This is referencing a new byte array contain data after the uv data.
5. Extra 12 bytes of data per vertice after uv data and before face data. This 12 byte data seems to contain 3 float values of four bytes each (coordinates???) .These float values are in the same format as the UV data except that the UV data only contains 2 coordinates.
6. Face offset needs to be changed for each array.
This is a diagram of the headers for the old and new formats:
OLD FORMAT:

NEW FORMAT:

Here are some sample files. I have included the new format, the old format and the file I have converted:
http://www28.zippyshare.com/v/1399166/file.html
Any help as to where I am going wrong would be appreciated.