public void Read(BinaryReaderWriter br, UInt16 recordlen) { if (recordlen >= 0x3C) { SpecType = br.ReadByte(); No = br.ReadByte(); PointsHoriz = br.Read4Int(); PointsVert = br.Read4Int(); LastRowHeight = br.Read4Int(); LastColWidth = br.Read4Int(); Unknown12 = br.Read2AsShort(); MaxIdxHoriz = br.Read4Int(); MaxIdxVert = br.Read4Int(); Structure = br.Read2AsShort(); short tmp = br.Read2AsShort(); // SubtileTableitemSize: ergibt sich schon aus Structure PtrSubtileTable = br.Read4UInt(); PtrHeightdata = br.Read4UInt(); west = br.Read4Int(); north = br.Read4Int(); pointDistanceVert = br.Read4Int(); pointDistanceHoriz = br.Read4Int(); MinHeight = br.Read2AsShort(); MaxHeight = br.Read2AsUShort(); } }
/// <summary> /// liest die Blockdaten ein /// </summary> /// <param name="br"></param> public void ReadData(BinaryReaderWriter br) { Mapnumber = br.Read4UInt(); ParentMapnumber = br.Read4UInt(); north = br.Read4Int(); east = br.Read4Int(); south = br.Read4Int(); west = br.Read4Int(); Description = br.ReadString(); }
public override void ReadHeader(BinaryReaderWriter br) { base.ReadCommonHeader(br, Type); Nod1Nodes.Read(br); Flags = br.Read2AsUShort(); br.ReadBytes(Unknown_0x1F); Align = br.ReadByte(); Mult1 = br.ReadByte(); TableARecordLen = br.Read2AsUShort(); Nod2RoadData.Read(br); br.ReadBytes(Unknown_0x2D); Nod3BoundaryNodes.Read(br); br.ReadBytes(Unknown_0x3B); if (Headerlength > 0x3F) { Nod4HighClassBoundary.Read(br); // 0x3F, 8Byte for (int i = 0; i < ClassBoundaries.Length; i++) // 0x47, 5*4 Bytes { ClassBoundaries[i] = br.Read4Int(); if (i > 0) { ClassBoundaries[i] += ClassBoundaries[i - 1]; } } br.ReadBytes(Unknown_0x5B); Nod5.Read(br); br.ReadBytes(Unknown_0x6F); Nod6.Read(br); br.ReadBytes(Unknown_0x7B); } }