public void read(Reader reader) { Reader creader = reader.getCompressedStreamRaw(); reader.Close(); uint sig = creader.ReadUInt32(); if (sig != signature) { //error creader.Close(); throw new Exception("Invalid UserDB v5 signature"); } int dataSize = creader.ReadInt32(); //total size of the buffer (may not all be used) ushort rowCount = creader.ReadUInt16(); byte colCount = creader.ReadByte(); for (int i = 0; i < colCount; i++) { columns.Add(new TableColumn(creader)); } for (int i = 0; i < rowCount; i++) { rows.Add(new TableRow(creader, this)); } creader.Close(); }
public Replay(Reader reader) { Reader creader = reader.getCompressedStreamRaw(); reader.Close(); // Signature if (creader.ReadUInt32() != signature) { creader.Close(); throw new Exception("Invalid Replay v5 signature"); } gameVer = creader.ReadInt32(); isPacked = creader.readBool32(); bool isNotEmpty = creader.readBool32(); int frameCount = creader.ReadInt32(); startingFrame = creader.ReadInt32(); zoneID = creader.ReadInt32(); act = creader.ReadInt32(); characterID = creader.ReadInt32(); isPlusLayout = creader.readBool32(); oscillation = creader.ReadInt32(); int bufferSize = creader.ReadInt32(); float avgSize = creader.ReadSingle(); unknown = creader.ReadInt32(); frames.Clear(); for (int f = 0; f < frameCount; ++f) { ReplayEntry frame = new ReplayEntry(); frame.unpack(creader, isPacked); frames.Add(frame); } creader.Close(); }