private unsafe Chunk CreateChunks(ChunkHeader* header)
{
switch (header->Magic)
{
case "MCVT":
var mcvt = new McvtChunk(header);
HeightMap = mcvt.HeightMap;
_bounds.Maximum.Z += HeightMap.Cast<float>().Max();
return mcvt;
case "MCRD":
var mcrd = new OffsetChunk(header);
DoodadReferences = mcrd.Offsets;
return mcrd;
case "MCRW":
var mcrw = new OffsetChunk(header);
WmoReferences = mcrw.Offsets;
return mcrw;
default:
return new Chunk(header);
}
}