public static TagContainer ReadTagContainer(IReader reader) { var tags = new TagContainer(); var containerFile = new ContainerReader(reader); if (!containerFile.NextBlock() || containerFile.BlockName != "tagc") { throw new ArgumentException("Not a valid tag container file"); } containerFile.EnterBlock(); ReadBlocks(reader, containerFile, tags); containerFile.LeaveBlock(); return(tags); }
public static Patch LoadPatch(IReader reader) { var container = new ContainerReader(reader); if (!container.NextBlock() || container.BlockName != "asmp") { throw new InvalidOperationException("Invalid assembly patch"); } if (container.BlockVersion > 0) { throw new InvalidOperationException("Unrecognized patch version"); } container.EnterBlock(); Patch patch = ReadBlocks(reader, container); container.LeaveBlock(); return(patch); }