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; }