Halkun and Luminaire, thanks again!
As long as we're able to decode the file format bit by bit (literally, as we seem to be doing with the headers now
), I guess I won't worry about the GPU opcodes for the time being. If I'm unable to find them, perhaps the model format used in Cross really is significantly different than that used in FF8.
Luminaire, I see the subheader pattern now! The very beginning 4-byte set is sort of like a pointer itself, and tells where a certain section of data begins.
So in Serge's subheader, there are 2 4-byte sections between the first subheader section and what I like to call the "gobbledegook section", i.e., one that doesn't make any sense to me (yet). In Serge's subheader, that "gobbledegook section" reads 0x042B0205. Likewise, in Kid's subheader there's 2 4-byte sections between the beginning and the section that reads 0x040701D9. In Guile's, however, there are 5 4-byte sections filling the space between the subheader beginning and 0x049A034B.
The "gobbledegook sections" all seem to be similar in a way. Their values (in decimal notation) are:
Serge: 69,927,429
Kid: 67,568,089
Guile: 77,202,251
The fact that they're odd numbers is confounding; if they were divisible by 8, they might contain info on the number of vertices or something.
But the 0x02 and 0x05 don't point directly to the Gobbledegook Section; they point to the sections that read "0x0280" in Serge's subheader, "0x0238" in Kid's, and "0x025C" in Guile's. Is that what you had in mind, Luminaire?Oh! And the second section of the subheader is a relative offset to the pointer table! In Serge's subheader, the pointer table begins at offset 34 (14+20), it's the same with Kid, and Guile's starts at offset 40 (20+20)!
If we can all agree on these observations, I'll add them to my map on the previous page. Our combined efforts are making this process go very smoothly! Thanks again everyone!!
Our analysis of the CC battle model format will be eventually be compiled into a page on the Compendium Encyclopedia no doubt. Halkun and Cyb, would Qhimm like this info too for the wiki over there?
As for next steps...
The section to which the 0x02 and 0x05 point could constitute a relative offset to some type of data further on in the first section. I wonder what? Could there be even more subsections hiding in the first section?
Once we determine the total number of subsections, I'll mess with them one by one so we can make observations on the type of data affected with visual Youtube evidence.