Stream OpenImage(ArcFile arc, PackedEntry entry) { using (var packed = arc.File.CreateStream(entry.Offset + 8, entry.Size - 8)) using (var reader = new GrpUnpacker(packed)) { var unpacked = new byte[entry.UnpackedSize]; reader.UnpackHDJ(unpacked, 0); return(new BinMemoryStream(unpacked, entry.Name)); } }
Stream OpenImage(ArcFile arc, Entry entry) { int unpacked_size = arc.File.View.ReadInt32(entry.Offset); if (unpacked_size <= 0) { return(base.OpenEntry(arc, entry)); } using (var packed = arc.File.CreateStream(entry.Offset + 8, entry.Size - 8)) using (var reader = new GrpUnpacker(packed)) { var unpacked = new byte[unpacked_size]; reader.UnpackHDJ(unpacked, 0); return(new MemoryStream(unpacked)); } }
Stream OpenImage(ArcFile arc, Entry entry) { int unpacked_size = arc.File.View.ReadInt32 (entry.Offset); if (unpacked_size <= 0) return base.OpenEntry (arc, entry); using (var packed = arc.File.CreateStream (entry.Offset+8, entry.Size-8)) using (var reader = new GrpUnpacker (packed)) { var unpacked = new byte[unpacked_size]; reader.UnpackHDJ (unpacked, 0); return new MemoryStream (unpacked); } }