Пример #1
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            while (true)
            {
                var nameId = file.ReadUInt16();

                if (nameId == 0)
                {
                    break;
                }

                var typeId = file.ReadUInt16();
                var lsize  = file.ReadUInt32();

                var typename = cr2w.strings[typeId].str;

                var variable = CR2WTypeManager.Get().GetByName(typename, "", cr2w);
                variable.Read(file, lsize - 4);

                variable.typeId = typeId;
                variable.nameId = nameId;

                parameters.Add(variable);
            }
        }
Пример #2
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var count = file.ReadInt32();

            for (var i = 0; i < count; i++)
            {
                var elementsize = file.ReadUInt32();
                //var nameId = file.ReadUInt16();
                var typeId   = file.ReadUInt16();
                var typeName = cr2w.strings[typeId].str;
                //var varname = cr2w.strings[nameId].str;

                var item = CR2WTypeManager.Get().GetByName(typeName, typeName, cr2w, false);
                if (item == null)
                {
                    item = new CVector(cr2w);
                }


                item.Read(file, elementsize);
                item.Type = typeName;
                item.Name = typeName;
                entries.Add(item);
            }
        }
Пример #3
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var startpos  = file.BaseStream.Position;
            var bytecount = file.ReadUInt32();

            // read classes
            var count = file.ReadBit6();

            for (int i = 0; i < count; i++)
            {
                var ClassName = new CName(cr2w);
                ClassName.Read(file, 2);

                var parsedvar = CR2WTypeManager.Get().GetByName(ClassName.Value, "", cr2w);
                parsedvar.Read(file, size);
                parsedvar.Type = ClassName.Value;


                Data.AddVariable(parsedvar);
                parsedvar.Name = ClassName.Value;
            }


            //check
            var endpos    = file.BaseStream.Position;
            var bytesread = endpos - startpos;

            if (bytesread != bytecount)
            {
                throw new InvalidParsingException($"Error in parsing SAppearanceAttachment: Data Variable. Bytes read: {bytesread} out of {bytecount}.");
            }
        }
Пример #4
0
        public override void Read(BinaryReader file, uint size)
        {
            var typepos = file.BaseStream.Position;
            var typeId  = file.ReadUInt16();

            var varsize  = file.ReadUInt32() - 4;
            var typename = cr2w.names[typeId].Str;

            Variant = CR2WTypeManager.Get().GetByName(typename, "", cr2w);
            Variant.Read(file, varsize);

            Variant.typeId = typeId;
        }
Пример #5
0
        public override void Read(BinaryReader file, uint size)
        {
            var count = file.ReadUInt32();

            for (var i = 0; i < count; i++)
            {
                var var = CR2WTypeManager.Get().GetByName(elementtype, i.ToString(), cr2w, false) ??
                          new CVector(cr2w);
                var.Read(file, 0U);

                AddVariable(var);
            }
        }
Пример #6
0
        public override void Read(BinaryReader file, uint size)
        {
            var typepos = file.BaseStream.Position;
            var typeId  = file.ReadUInt16();

            var varsize  = file.ReadUInt32() - 4;
            var typename = cr2w.strings[typeId].str;
            var varname  = cr2w.strings[nameId].str;

            var = CR2WTypeManager.Get().GetByName(typename, varname, cr2w);
            var.Read(file, varsize);

            var.nameId = nameId;
            var.typeId = typeId;
        }
Пример #7
0
        public override void Read(BinaryReader file, uint size)
        {
            var count = file.ReadBit6();

            for (var i = 0; i < count; i++)
            {
                var var = CR2WTypeManager.Get().GetByName(elementtype, i.ToString(), cr2w, false);
                if (var == null)
                {
                    throw new NotImplementedException();
                }
                var.Read(file, size);

                AddVariable(var);
            }
        }
Пример #8
0
        public override void Read(BinaryReader file, uint size)
        {
            base.Read(file, size);

            var count = file.ReadInt32();

            for (var i = 0; i < count; i++)
            {
                var elementsize = file.ReadUInt32();
                var typeId      = file.ReadUInt16();
                var typeName    = cr2w.names[typeId].str;

                var item = CR2WTypeManager.Get().GetByName(typeName, "", cr2w, false) ?? new CVector(cr2w);

                item.Read(file, elementsize);
                item.Type = typeName;
                sceneEventElements.Add(item);
            }
        }