I was wrong about my assumption that tmdl data contains TDDD formatted 3D model data.
trey31 wrote:I've been messing around with MoRE050217
I still haven't been able figure out why the triangle values don't translate to .obj "f" values when I enter them manually (they don't export with the geometry in MoRE so I enter them manually to test in 3D builder and 3DS). I get an error in 3D Builder and nothing renders in 3DS Max.
I had no clue what the Clst value could be, so I've been googling. I found this article/guide here that has information about Clst values as they relate to 3D objects.
CLST is definitely being used to color the surface of objects, and it is related to the Imagine 3.0 program (and .TDDD files), but it has nothing to do with the actual geometry data in tmdl files.
D3DX9 uses .X format, .X format does not require CLST, or any other surface color value. It can use it, but doesn't require it
. It uses vt for texture mapping and does not require anything other than vertice, vt, and triangle data (mesh/surface/triangle/face) to locate the xyz positions, draw the surface, and apply the texture.
TDDD, OBJ, 3DS, 3DX, 3DM, STL, etc none of that matters. When the geometry went into the game files, it was exported from whatever format they used (TDDD) and parsed as .X format, DX9's native 3D model format.
Blender has import/export from/to .X capability however. So in the end, it doesn't matter what format we model in. As long as the data is imported as .X from the tmdl, and exported as .X before being imported into tmdl, it is irrelevant.
If the tmdl Triangle (Face/Mesh/Surface) values could be exported along with the other geometry data, modifying models is likely possible.
I need to find out exactly how .X files are formatted for the exported data, but it should be stored fairly close to the proper format, in regards to the order of data.
In addition to the above, SKEL values are usually an averaged centerpoint of the outer surface dimensions. They are used for expanding the player models in-game (the player build sliders). Leaving them as is likely would keep animations intact, as well as the build sliders. So not only are the static models for helmets and facemasks likely modifiable, the player models quite possibly are as well.
EDIT: There is a caveat to all of this. Every single model that is changed is going to break the vt texture rendering locations.
What does that mean? Everything that gets modeled is going to have completely broken textures. Facemasks won't matter at all, but helmets would break. Torsos would break. That means uniforms, pladata, everything.
I could mod torsos, I could mod arms, I could mod helmets, I could mod facemasks... But for every model that is changed, every corresponding texture related to that model would also need to be changed. Possibly completely rebuilt from scratch. LIkely even... I walk on water, but only when it freezes. If we ever get to a point where things other than facemasks get modded, it will take a team of more than just one or two people to get it working...
My M08 mod work is all open-source to anyone who wants to use it in any way, no restrictions or permissions necessary.