public void read(FileData f) { f.Endian = Endian; if (f.size() < 4) { return; } f.seek(4); unknown = f.readUInt(); frameCount = f.readUInt(); startFrame = f.readUInt(); endFrame = f.readUInt(); frameRate = f.readUInt(); int matCount = f.readInt(); int matOffset = f.readInt(); int visCount = f.readInt(); int visOffset = f.readInt(); int returnPos; f.seek(matOffset); for (int i = 0; i < matCount; i++) { returnPos = f.pos() + 4; f.seek(f.readInt()); MatEntry tempMatEntry = new MatEntry(); tempMatEntry.read(f); matEntries.Add(tempMatEntry); f.seek(returnPos); } f.seek(visOffset); for (int i = 0; i < visCount; i++) { returnPos = f.pos() + 4; f.seek(f.readInt()); VisEntry tempVisEntry = new VisEntry(); tempVisEntry.read(f); visEntries.Add(tempVisEntry); f.seek(returnPos); } }
public void read(FileData f) { f.Endian = Endian; if (f.size() < 4) { throw new EndOfStreamException("Blank/Broken MTA"); } f.seek(4); unknown = (uint)f.readInt(); numFrames = (uint)f.readInt(); f.skip(8); frameRate = (uint)f.readInt(); int matCount = f.readInt(); int matOffset = f.readInt(); int visCount = f.readInt(); int visOffset = f.readInt(); int returnPos; f.seek(matOffset); for (int i = 0; i < matCount; i++) { returnPos = f.pos() + 4; f.seek(f.readInt()); MatEntry tempMatEntry = new MatEntry(); tempMatEntry.read(f); matEntries.Add(tempMatEntry); f.seek(returnPos); } f.seek(visOffset); for (int i = 0; i < visCount; i++) { returnPos = f.pos() + 4; f.seek(f.readInt()); VisEntry tempVisEntry = new VisEntry(); tempVisEntry.read(f); visEntries.Add(tempVisEntry); f.seek(returnPos); } }