public GraphicLoader(PaletteCollection paletteCollection, PaletteTable paletteTable, ISourceProvider sourceProvider) { this.paletteCollection = paletteCollection; this.paletteTable = paletteTable; this.sourceProvider = sourceProvider; graphicCount = 0; // Precache the EPF header information sourceHeaders = new GraphicCollectionHeader[sourceProvider.SourceCount]; for(int index = 0; index < sourceProvider.SourceCount; ++index) { using(Stream stream = sourceProvider.GetSourceStream(index)) sourceHeaders[index] = GraphicCollectionHeader.FromStream(stream); graphicCount += sourceHeaders[index].GraphicCount; } }