public byte[] ExtraZData; // available is presency flags says so public void Read(TmpFile f) { X = f.ReadInt32(); Y = f.ReadInt32(); _extraDataOffset = f.ReadInt32(); _zDataOffset = f.ReadInt32(); _extraZDataOffset = f.ReadInt32(); ExtraX = f.ReadInt32(); ExtraY = f.ReadInt32(); ExtraWidth = f.ReadInt32(); ExtraHeight = f.ReadInt32(); _dataPrecencyFlags = (DataPrecencyFlags)f.ReadUInt32(); Height = f.ReadByte(); TerrainType = f.ReadByte(); RampType = f.ReadByte(); RadarRedLeft = f.ReadSByte(); RadarGreenLeft = f.ReadSByte(); ; RadarBlueLeft = f.ReadSByte(); ; RadarRedRight = f.ReadSByte(); ; RadarGreenRight = f.ReadSByte(); ; RadarBlueRight = f.ReadSByte(); ; f.Read(3); // discard padding TileData = f.Read(f.BlockWidth * f.BlockHeight / 2); if (HasZData) ZData = f.Read(f.BlockWidth * f.BlockHeight / 2); if (HasExtraData) ExtraData = f.Read(Math.Abs(ExtraWidth * ExtraHeight)); if (HasZData && HasExtraData && 0 < _extraZDataOffset && _extraZDataOffset < f.Length) ExtraZData = f.Read(Math.Abs(ExtraWidth * ExtraHeight)); }
public byte[] ExtraZData; // available is presency flags says so public void Read(TmpFile f) { X = f.ReadInt32(); Y = f.ReadInt32(); _extraDataOffset = f.ReadInt32(); _zDataOffset = f.ReadInt32(); _extraZDataOffset = f.ReadInt32(); ExtraX = f.ReadInt32(); ExtraY = f.ReadInt32(); ExtraWidth = f.ReadInt32(); ExtraHeight = f.ReadInt32(); _dataPrecencyFlags = (DataPrecencyFlags)f.ReadUInt32(); Height = f.ReadByte(); TerrainType = f.ReadByte(); RampType = f.ReadByte(); RadarRedLeft = f.ReadSByte(); RadarGreenLeft = f.ReadSByte();; RadarBlueLeft = f.ReadSByte();; RadarRedRight = f.ReadSByte();; RadarGreenRight = f.ReadSByte();; RadarBlueRight = f.ReadSByte();; f.Read(3); // discard padding TileData = f.Read(f.BlockWidth * f.BlockHeight / 2); if (HasZData) { ZData = f.Read(f.BlockWidth * f.BlockHeight / 2); } if (HasExtraData) { ExtraData = f.Read(Math.Abs(ExtraWidth * ExtraHeight)); } if (HasZData && HasExtraData && 0 < _extraZDataOffset && _extraZDataOffset < f.Length) { ExtraZData = f.Read(Math.Abs(ExtraWidth * ExtraHeight)); } }