private void Load(StructureValueCollection values, ThirdGenCacheFileReference[] externalFiles) { int fileIndex = (int)values.GetInteger("shared cache file index"); if (fileIndex >= 0 && fileIndex < externalFiles.Length) _externalFile = externalFiles[fileIndex]; Offset = (int)values.GetInteger("compressed block offset"); CompressedSize = (int)values.GetInteger("compressed block size"); UncompressedSize = (int)values.GetInteger("uncompressed block size"); }
private void LoadPageInfo(StructureValueCollection values, IReader reader, FileSegmentGroup metaArea, BuildInformation buildInfo, ThirdGenCacheFileReference[] fileReferences) { int count = (int)values.GetInteger("number of raw pages"); uint address = values.GetInteger("raw page table address"); var layout = buildInfo.GetLayout("raw page table entry"); var entries = ReflexiveReader.ReadReflexive(count, address, reader, layout, metaArea); Pages = (from entry in entries select new ThirdGenResourcePage(entry, fileReferences)).ToArray(); }
public ThirdGenResourcePage(StructureValueCollection values, ThirdGenCacheFileReference[] externalFiles) { Load(values, externalFiles); }