trepdimeflou said:
Ok, thanks for clearing that up. Must be the UVWs on this custom model then =p
I'm actually batch dumping every bitmap straight to .dds using a custom tool I had my friend create
=o.
Heh, I've been looking at the header, and it seems pretty simple. Except one peice of data, but maybe you can take a look at it Sarah, any way from what I remember it's something like this.
Code:
#define VertexBlock 1
#define NormalBlock 2//Pretty sure it's normals ;p
struct { // Size is a static 96 bytes
uint32 DeadBabe;
uint32 Unknown[2];
//Bounding Box
float MinX;
float MaxX;
float MinY;
float MaxY;
float MinZ;
float MaxZ;
uint32 Unknowns[2];
uint SegmentSizes[12];
}CMDL_Header;
//^Something like that, I have the actual data some where... Should be close
//enough to use your own good judgement and figure it out.
The segment sizes secify how big a certain segment is, the first one is unknown, the second is vertices, third is UVs etc.
Although the segment's data could also have other data that uses some of the data in the rest of the file.
Example:
Code:
Header (To bad there arent any offsets :( )
|-FirstSegment(I still don't know what this is...)
|-+Segment Child
|-Vertex Data
|- UV Data
|- etc...
Then getting counts for the data segments is a simple matter of getting the quotient of the Segment Size, and A single data chunk.
Ex.
VerticeCount=SegmentSizes[1]/12;
Any remainder shouldn't matter because the segments are padded to every 0x10 bytes (I think 0x10...)
Currently I don't know what the first segment contains so you cant properly extreact the model data. Although it's a method I'm against, I'm sure a farily simple method of scanning could work for every model.
Actually any help regarding the Tristrip data, normals and smoothing groups would be nice
