public LabData(Stream input)
{
BinaryReader reader = new BinaryReader(input);
reader.ReadByte();
Scale1 = reader.ReadByte();
CameraHeight = reader.ReadByte();
CameraAngle = reader.ReadByte();
reader.ReadInt16();
Background = reader.ReadByte();
reader.ReadBytes(3);
FogDistance = reader.ReadByte();
reader.ReadBytes(13);
MaxLightStrength = reader.ReadByte();
reader.ReadByte();
Scale2 = reader.ReadByte();
reader.ReadBytes(3);
ViewDistance = reader.ReadByte();
reader.ReadBytes(7);
short numobjects = reader.ReadInt16();
Objects = new ObjectData[numobjects];
for(int i = 0; i < numobjects; i++)
{
Objects[i] = new ObjectData(reader);
}
short numfloors = reader.ReadInt16();
Floors = new FloorData[numfloors];
for(int i = 0; i < numfloors; i++)
{
Floors[i] = new FloorData(reader);
}
short numoinfos = reader.ReadInt16();
ObjectInfos = new ObjectInfo[numoinfos];
for(int i = 0; i < numoinfos; i++)
{
ObjectInfos[i] = new ObjectInfo(reader);
}
short numwalls = reader.ReadInt16();
Walls = new WallData[numwalls];
for(int i = 0; i < numwalls; i++)
{
Walls[i] = new WallData(reader);
}
}