private unsafe Chunk ExtendChunk(ChunkHeader* header)
{
if (header->Size == 0) return null;
switch (header->Magic)
{
case "MVER":
HandleMver(header);
return null;
case "MH2O":
return null;
case "MCNK":
MapChunks[_mcnkCounter++].ParseOptionalData(header);
return null;
case "MWID":
return new OffsetChunk(header);
case "MMID":
return new OffsetChunk(header);
case "MMDX":
return HandleMmdx(header);
case "MWMO":
return HandleMwmo(header);
case "MDDF":
return HandleMddf(header);
case "MODF":
return HandleModf(header);
default:
return new Chunk(header);
}
}