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[4] 0x77339904
0x04 int[4] size in tiles
0x08 int[4] ?
0x0c int[4] log2(size in tiles)
0x10 char[2] 'UU'
0x12 char[6] ?
0x18 int[4] size of the file in bytes
0x1c int[4] 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.