void ReadRootDirectory(MsfStream stream, IImageStream[] pages, uint pageSize) { uint streamNum = stream.Content.ReadUInt32(); uint[] streamSizes = new uint[streamNum]; for (int i = 0; i < streamSizes.Length; i++) { streamSizes[i] = stream.Content.ReadUInt32(); } streams = new MsfStream[streamNum]; for (int i = 0; i < streamSizes.Length; i++) { if (streamSizes[i] == 0xffffffff) { streams[i] = null; continue; } var pageCount = RoundUpDiv(streamSizes[i], pageSize); var streamPages = new IImageStream[pageCount]; for (int j = 0; j < streamPages.Length; j++) { streamPages[j] = pages[stream.Content.ReadUInt32()]; } streams[i] = new MsfStream(streamPages, streamSizes[i]); } }
void ReadRootDirectory(MsfStream stream, IImageStream[] pages, uint pageSize) { uint streamNum = stream.Content.ReadUInt32(); uint[] streamSizes = new uint[streamNum]; for (int i = 0; i < streamSizes.Length; i++) streamSizes[i] = stream.Content.ReadUInt32(); streams = new MsfStream[streamNum]; for (int i = 0; i < streamSizes.Length; i++) { if (streamSizes[i] == 0xffffffff) { streams[i] = null; continue; } var pageCount = RoundUpDiv(streamSizes[i], pageSize); var streamPages = new IImageStream[pageCount]; for (int j = 0; j < streamPages.Length; j++) streamPages[j] = pages[stream.Content.ReadUInt32()]; streams[i] = new MsfStream(streamPages, streamSizes[i]); } }