public GFFFieldDefinition(BinaryReader file) { _label = (GFFID)file.ReadInt32(); _flags = new GFFFieldFlags(file); _index = file.ReadUInt32(); }
public GenericList(BinaryReader reader) { //This is the number of places in the list // But some may be null so can't be relied upon // as only non null entries are usefull (null is not a valid struct type) int length = reader.ReadInt32(); List<GFFFieldFlags> flags = new List<GFFFieldFlags>(); GFFFieldFlags tempFlag; uint tempOffset; List<uint> offsets = new List<uint>(); for (int i = 0; i < length; i++) { tempFlag = new GFFFieldFlags(reader); tempOffset = reader.ReadUInt32(); if (tempFlag.id != GFFFIELDTYPE.GenericList) { flags.Add(tempFlag); offsets.Add(tempOffset); } } length = flags.Count; _flags = flags.ToArray(); _offsets = offsets.ToArray(); }