private unsafe void ParseMcnkHeader(byte* cur)
{
var mcnk = (McnkHeader*)cur;
_bounds = new BoundingBox(
mcnk->Position + new Vector3(-ChunkWidth, -ChunkWidth, 0.0f),
mcnk->Position
);
_flags = mcnk->Flags;
Holes = _flags.HasFlag(McnkHeaderFlags.HighResHoleMap) ? mcnk->HighResHoles : TransformToHighRes(mcnk->Holes);
if (Holes.All(b => b == 0))
Holes = NoHoles; // easier to check for
X = mcnk->X;
Y = mcnk->Y;
}