public override void LoadFromBinaryReader(System.IO.Stream binaryReader) { base.LoadFromBinaryReader(binaryReader); if (BinaryHelper.ConvertByteArrayToUTF8String(binaryReader.PeekBytes(4)) == "BOMP") { var BOMP = new ImageBomp(this); BOMP.LoadFromBinaryReader(binaryReader); Childrens.Add(BOMP); } else { var SMAP = new ImageStripTable(this, _imageSize); SMAP.LoadFromBinaryReader(binaryReader); Childrens.Add(SMAP); } var nextBlockName = BinaryHelper.ConvertByteArrayToUTF8String(binaryReader.PeekBytes(4)); byte planeNumber = 0; while (nextBlockName.Substring(0, 2) == "ZP" && (int.Parse(nextBlockName.Substring(2)) < 99)) { planeNumber++; var zPlane = new ZPlane(this, planeNumber, _imageSize); zPlane.LoadFromBinaryReader(binaryReader); Childrens.Add(zPlane); nextBlockName = BinaryHelper.ConvertByteArrayToUTF8String(binaryReader.PeekBytes(4)); } }
public override void LoadFromBinaryReader(System.IO.Stream binaryReader) { base.LoadFromBinaryReader(binaryReader); Offsets = new List <uint>(); while (BinaryHelper.ConvertByteArrayToUTF8String(binaryReader.PeekBytes(4)) != "APAL") { Offsets.Add(binaryReader.ReadUint32()); } }
public override void LoadFromBinaryReader(System.IO.Stream binaryReader) { base.LoadFromBinaryReader(binaryReader); Contents = binaryReader.ReadBytes((int)(BlockSize - 8)); //Hack para o monkey island 2 com vozes. if (BinaryHelper.ConvertByteArrayToUTF8String(binaryReader.PeekBytes(4)) == "021_") { var lstBytes = new List <byte>(Contents); lstBytes.AddRange(binaryReader.ReadBytes(8)); Contents = lstBytes.ToArray(); } }