...
The first file (???) Contains offsets to (some? all?) models at relative offset pointer at 0x4.
Since the first file is located at absolute offset 0x4, we write that the first set of a subfile that contains models is located at offset:
[[0x4]+0x4]+[0x4] ???? missing bracket, lets call this subfile FileAlpha
Format of File Alpha:
The header is 16Bytes long
Headerformat:
4ByteInteger#ofFiles
12Byte Unknown
Next is a 48ByteArray of Each file:
{4ByteInteger#ofVertexes,4ByteOffset:VertexSection,4ByteOffset:TextureMappingSection,4ByteOffset:NormalMappingSection,4ByteOffset:UnknownSection#1 ,4ByteOffset:UnknownSection#2,4ByteOffset:TriStripInfoSection,4ByteInteger,4ByteInteger,4ByteInteger,4ByteOffset:BaseSection,4ByteInteger}
Each offset is relative to the start of the 48ByteInteger array.
TriStripInfoSection Format:
{1ByteCONN}
Where each CONN is either 1 or 0
If two CONNs in a row are 1 that signifies
that the tristrip has just been reset.
Attempts to find/extract vertexes:
Format of the character meshes:
.......
2ByteSignedIntegerVertex(X,Y,Z)
......
Format of the PCK files
4ByteInteger#ofFiles
{FirstFileOffset,SecondFileOffset,....}
...
The first file (???) Contains offsets to (some? all?) models at relative offset pointer at 0x4.
Since the first file is located at absolute offset 0x4, we write that the first set of a subfile that contains models is located at offset:
[[0x4]+0x4]+[0x4] ???? missing bracket, lets call this subfile FileAlpha
Format of File Alpha:
The header is 16Bytes long
Headerformat:
4ByteInteger#ofFiles
12Byte Unknown
Next is a 48ByteArray of Each file:
{4ByteInteger#ofVertexes,4ByteOffset:VertexSection,4ByteOffset:TextureMappingSection,4ByteOffset:NormalMappingSection,4ByteOffset:UnknownSection#1 ,4ByteOffset:UnknownSection#2,4ByteOffset:TriStripInfoSection,4ByteInteger,4ByteInteger,4ByteInteger,4ByteOffset:BaseSection,4ByteInteger}
Each offset is relative to the start of the 48ByteInteger array.
VertexSection Format:
Header:
16ByteInteger
Data:
{2ByteSignedIntegerVertexes}
TextureMappingSection Format:
{2ByteSignedIntegerTextureUVMappings}
NormalMappingSection Format:
{2ByteSignedIntegerNormalMappings}
UnknownSection#1 Format:
{4ByteIntegerArrays}
UnknownSection#2 Format:
{2ByteIntegerArrays}
TriStripInfoSection Format:
{1ByteCONN}
Where each CONN is either 1 or 0
If two CONNs in a row are 1 that signifies
that the tristrip has just been reset.
Base Section Format:
Unknown4ByteNumber