private void WriteMissionBlock(MapMissionBlock block) { _binWriter.Write(Encoding.ASCII.GetBytes(block.Name)); //For some reason this block has to have length overlapping with start of next block _binWriter.Write((UInt32)48); _binWriter.Write((UInt16)block.UNKN1); _binWriter.Write((UInt16)block.UNKN2); _binWriter.Write((UInt16)block.UNKN3); _binWriter.Write((UInt16)block.UNKN4); _binWriter.Write((UInt16)block.TIME); _binWriter.Write((UInt16)block.UNKN6); _binWriter.Write((UInt16)block.UNKN7); _binWriter.Write((UInt16)block.UNKN8); _binWriter.Write((UInt16)block.EXC1); _binWriter.Write((UInt16)block.EXC2); _binWriter.Write((UInt16)block.EXC3); _binWriter.Write((UInt16)block.EXC4); _binWriter.Write((UInt16)block.M1TY); _binWriter.Write((UInt16)block.M1HE); _binWriter.Write((UInt16)block.M1SP); _binWriter.Write((UInt16)block.UNKN16); _binWriter.Write((UInt16)block.UNKN17); _binWriter.Write((UInt16)block.M2TY); _binWriter.Write((UInt16)block.M2HE); _binWriter.Write((UInt16)block.M2SP); _binWriter.Write((UInt16)block.UNKN21); _binWriter.Write((UInt16)block.UNKN22); }
private void ReadMissionBlock(string name, BigEndianBinaryReader binReader) { var missionBlock = new MapMissionBlock(name); UInt32 uint_size = binReader.ReadUInt32(); //NOTE: For some reason there is 4 bytes reading offset when MISS block is used in ABTA map files. uint_size -= 4; missionBlock.UNKN1 = binReader.ReadUInt16(); missionBlock.UNKN2 = binReader.ReadUInt16(); missionBlock.UNKN3 = binReader.ReadUInt16(); missionBlock.UNKN4 = binReader.ReadUInt16(); missionBlock.TIME = binReader.ReadUInt16(); missionBlock.UNKN6 = binReader.ReadUInt16(); missionBlock.UNKN7 = binReader.ReadUInt16(); missionBlock.UNKN8 = binReader.ReadUInt16(); missionBlock.EXC1 = binReader.ReadUInt16(); missionBlock.EXC2 = binReader.ReadUInt16(); missionBlock.EXC3 = binReader.ReadUInt16(); missionBlock.EXC4 = binReader.ReadUInt16(); missionBlock.M1TY = binReader.ReadUInt16(); missionBlock.M1HE = binReader.ReadUInt16(); missionBlock.M1SP = binReader.ReadUInt16(); missionBlock.UNKN16 = binReader.ReadUInt16(); missionBlock.UNKN17 = binReader.ReadUInt16(); missionBlock.M2TY = binReader.ReadUInt16(); missionBlock.M2HE = binReader.ReadUInt16(); missionBlock.M2SP = binReader.ReadUInt16(); missionBlock.UNKN21 = binReader.ReadUInt16(); missionBlock.UNKN22 = binReader.ReadUInt16(); MapBuilder.AddBlock(missionBlock); }