Wowza!
Just did some some investigation of the FF8 PC (as in Personal Computer version) battle models, which appear to be labeled with the c0mXXX.dat convention, with "XXX" representing the character model number I suppose. I'm going to link to what I believe are three examples of battle models:
http://www.megaupload.com/?d=86TZWUV2c0m120 would be Raijin's battle model for reference (the dark-skinned guy with the kickass beat-'em-up staff or whatever his weapon is called).
I'll go through what I've found out so far -- halkun probably knows way more because he used FF8 UV maps to teach me how to interpret the Chrono Cross UV Maps to begin with.
The model header, read byte-by-byte (sorry, I'm a hexplorer, not a programmer
) appears thus:
Model Header: 0x34 bytes long.
#S #S #S #S S1 S1 S1 S1 - S2 S2 S2 S2 S3 S3 S3 S3
S4 S4 S4 S4 S5 S5 S5 S5 - S6 S6 S6 S6 S7 S7 S7 S7
S8 S8 S8 S8 S9 S9 S9 S9 - SA SA SA SA SB SB SB SB
EF EF EF EF
S1: Section 1 offset relative to header, Unknown
S2: Section 2 offset relative to header, Something suspected of containing a UV Map and Vert Pool
S3: Section 3 offset relative to header, Something suspected of containing a skeleton
S4: Section 4 offset relative to header, Unknown
S5: Section 5 offset relative to header, CAN BE DUPLICATIVE OF S4!? It's slightly possible that it's a UV map too.
S6: Section 6 offset relative to header, Unknown
S7: Section 7 offset relative to header, Unknown, but has an 8-byte header that seems to be an ASCII tag.
S8: Section 8 offset relative to header, Unknown but has a structured subheader.
S9: Section 9 offset relative to header, 8-byte header, then AKAO tag -- sound data!?
SA: Section 10 offset relative to header, leads directly into an AKAO tag or duplicative of SB.
SB: Section 11 offset relative to header, The Texture!!
EF: End of File!
So it appears that the model files themselves contain the texture(s) and also some sound data(!?). What really, really confuses me at the moment with regard to the model file header is that some pointers in the table are duplicative! Apparently, there's enough room for dec11 or 0x0B sections, but not all of them are always used. Sometimes there's a need for two AKAO (sound data) sections, for example, but if not, the slot normally attributed to the second sound section is just given to the texture section. Anyone know what's up with this? Is this a common practice?
I suppose I might as well dump what I know about the last section of the model -- it's a Classic .TIM, and I wouldn't be surprised if you ran it through PSicture and achieved readable results if you stripped off the header. Note that models use a number of 128x128 textures depending on how detailed they are I guess. Raijin uses 2 textures, but there's another model in the linked .RAR that appears to use 5(!!) textures.
Texture format:
Header of (4+#T*4) bytes
#T #T #T #T T1 T1 T1 T1 - T2 T2 T2 T2 ... ...
EF EF EF EF
Where...
#T = Number of Textures applied to the model.
T1 = Offset to the first texture relative to the section header
T2 = Offset to the second texture relative to the section header
... etc
EF = End of File! relative to the section header
Each .TIM seems to be either identical to or extremely reminiscent of what I call a "Classic .TIM" in
this Compendium wiki. Big thanks to X-Dina for the models; he could provide way more for further investigation, probably.
Since I don't actually own FF8 PC, the best I can do is properly detail the section subheaders, so others will know what to avoid hitting accidently when they try trial-and-error experiments.