case 0x400:
{
int zippedsize;
in.read((char*)&zippedsize, sizeof(zippedsize));
for(int y = 0; y < header.height; ++y)
{
unsigned short total = 0;
unsigned short interleave;
unsigned short readcount;
do
{
in.read((char*)&interleave, sizeof(interleave));
out.insert(out.end(), interleave, 0);
in.read((char*)&readcount, sizeof(readcount));
for(int counter = 0; counter < readcount; counter++)
out.push_back(in.get());
total += interleave + readcount;
}while(readcount);
if(total != header.width)
throw std::exception("failed: startinterleave + readcount + endinterleave != header.width");
}
}break;