public long ParsePlanes(BSP bsp, BinaryReader reader, int count) { bsp.Planes = new List <BSP.Plane>(); var originalPos = reader.BaseStream.Position; for (uint i = 0; i < count; ++i) { reader.BaseStream.Position = originalPos + (i * PLANE_SIZE); var plane_i = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_j = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_k = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_d = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane = new BSP.Plane(); plane.PlaneI = plane_i; plane.PlaneJ = plane_j; plane.PlaneK = plane_k; plane.PlaneD = plane_d; bsp.Planes.Add(plane); } return(originalPos + (count * PLANE_SIZE)); }
public long ParsePlanes(BSP bsp, BinaryReader reader, int count) { bsp.Planes = new List<BSP.Plane>(); var originalPos = reader.BaseStream.Position; for (uint i = 0; i < count; ++i) { reader.BaseStream.Position = originalPos + (i * PLANE_SIZE); var plane_i = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_j = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_k = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane_d = BitConverter.ToSingle(reader.ReadBytes(4).Reverse().ToArray(), 0); var plane = new BSP.Plane(); plane.PlaneI = plane_i; plane.PlaneJ = plane_j; plane.PlaneK = plane_k; plane.PlaneD = plane_d; bsp.Planes.Add(plane); } return originalPos + (count * PLANE_SIZE); }