private PieceDescriptor[] ReadDescriptors(BinaryReader reader, int count) { ArrayList arrayList = new ArrayList(); for (int i = 0; i < count; i++) { PieceDescriptor pieceDescriptor = new PieceDescriptor(); pieceDescriptor.Read(reader); arrayList.Add(pieceDescriptor); } return((PieceDescriptor[])arrayList.ToArray(typeof(PieceDescriptor))); }
public bool GetPieceFileBounds(int piece, out uint start, out uint end) { start = uint.MaxValue; end = uint.MaxValue; PieceDescriptor pieceDescriptor = _Descriptors[piece]; uint fc = pieceDescriptor.Fc; bool flag = FileOffset.IsUnicode(fc); start = FileOffset.NormalizeFc(fc); uint num = _DescriptorOffsets[piece + 1].Value - _DescriptorOffsets[piece].Value; end = start + num * FileOffset.GetFcDelta(flag); return(flag); }