Thanks for the help so far. Just a few more questions.
Is sequential reading of the WMB file recommended? I know that there are offsets specified in the header but for speed reasons I would prefer to read sequentially.

This is the order I have discovered so far. I don't know what data legacy7 and legacy1 contain, but they are not empty.
Would it be possible to tell me where the remaining structures fit in the sequence so in case they are not empty I can tell my parser to skip the length of those blocks?
Quote:
header
legacy7
legacy1
blocks
materials
textures
palettes
lightmaps
lightmaps_terrain
bsp_leafs
bsp_nodes
aabb_hulls
bsp_blocks
pvs
objects


PS: Sorry for attempting to "rape" the WMB7 file format.