Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }