The .pageLines file is a complete quadtree for the texture, one 2 byte little endian number per tile, there is no header. The levels are stored in raster order. -1 means 'no tile', it propagates from coarse to fine. (if a level has a -1 tile, the corresponding tiles to all finer levels will all be -1.) Negative numbers are unique, there is one in the entire stack, they occur in order starting with -32768. Positive numbers occur multiple times.
The .pages file starts with a 32 byte header, numbers are all little endian.
Code: Select all
offset type description ---------------------------- 0x00 int 0x77339904 0x04 int size in tiles 0x08 int ? 0x0c int log2(size in tiles) 0x10 char 'UU' 0x12 char ? 0x18 int size of the file in bytes 0x1c int 0x0
The mapping from pageLines value to offset into pages appears to be in a separate file.
The first image of every tile has "0000 7100 a3c7 8a3c 78a3 c780 ff00 0001" in it. This appears to be the start of a JPEG XR, IMAGE_PLANE_HEADER starting at the 71, this header looks sane. There are 4 000001 markers in each tile, it's my guess that these are TILE_STARTCODE markers from JPEG XR.
Tacking on a regular JPEG XR header and running the images through the JPEG XR reference decoder doesn't work.