internal static ParamList Read(FileReader reader) { ParamList entry = new ParamList(); long CurrentPosition = reader.Position; uint Size = reader.ReadUInt32(); entry.Hash = reader.ReadUInt32(); uint ChildListCount = reader.ReadUInt32(); uint ParamObjectCount = reader.ReadUInt32(); entry.childParams = new ParamList[ChildListCount]; entry.paramObjects = new ParamObject[ParamObjectCount]; for (int i = 0; i < ChildListCount; i++) { entry.childParams[i] = ParamListV1.Read(reader); } for (int i = 0; i < ParamObjectCount; i++) { entry.paramObjects[i] = ParamObjectV1.Read(reader); } reader.Seek(CurrentPosition + Size, SeekOrigin.Begin); return(entry); }
internal void Read(FileReader reader) { reader.ByteOrder = Syroot.BinaryData.ByteOrder.LittleEndian; reader.CheckSignature("AAMP"); Version = reader.ReadUInt32(); Endianness = reader.ReadUInt32(); uint FileSize = reader.ReadUInt32(); ParameterIOVersion = reader.ReadUInt32(); uint NameLength = reader.ReadUInt32(); long pos = reader.Position; effectName = reader.ReadBytes((int)NameLength); //read the string as zero terminated for now reader.Seek(pos, SeekOrigin.Begin); ParameterIOType = reader.ReadString(Syroot.BinaryData.BinaryStringFormat.ZeroTerminated); reader.Seek(pos + NameLength, SeekOrigin.Begin); RootNode = ParamListV1.Read(reader); }