Ejemplo n.º 1
0
        protected override void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            if (br.GetRemainingLength() >= 4)
                this.StageCount = br.ReadInt32();

            if (this.MinorType >= 2)
                this.ParentClipId = br.ReadInt32();
        }
Ejemplo n.º 2
0
        protected override void Read(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            // フォーマットバグ対策
            if (this.MinorType == 0)
                this.RawItemSize -= 4;

            base.Read(document, obj, br);
        }
Ejemplo n.º 3
0
        protected override void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            if (br.GetRemainingLength() >= 4)
                this.IKBones = Enumerable.Range(0, br.ReadInt32()).Select(_ => br.ReadInt32()).ToArray();

            if (this.MinorType >= 3)
                this.ModelRelationCount = br.ReadInt32();
        }
Ejemplo n.º 4
0
        protected override void Read(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            if (this.RawItemSize <= 0)
                throw new InvalidOperationException("RawItemSize must be greater than 0.");

            for (int i = 0; i < this.RawCount; i++)
                using (var ir = new BinaryReader(new MemoryStream(br.ReadBytes(this.RawItemSize))))
                    ReadItem(document, obj, ir);
        }
Ejemplo n.º 5
0
        protected override void ReadItem(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            MvdCameraPropertyFrame cpf;

            this.Frames.Add(MvdCameraFrame.Parse(this, br, out cpf));

            if (cpf != null)
            {
                var cpd = obj.Sections.OfType<MvdCameraPropertyData>().FirstOrDefault();

                if (cpd == null)
                    obj.Sections.Add(cpd = new MvdCameraPropertyData());

                cpd.Frames.Add(cpf);
            }
        }
Ejemplo n.º 6
0
        public static MvdObject Parse(MvdDocument document, BinaryReader br)
        {
            var rt = new MvdObject();

            rt.ObjectName = document.Encoding.GetString(br.ReadSizedBuffer());
            rt.EnglishObjectName = document.Encoding.GetString(br.ReadSizedBuffer());
            rt.KeyFps = br.ReadSingle();
            br.ReadSizedBuffer();	// reservedSize / reserved

            while (br.GetRemainingLength() > 1)
            {
                var section = MvdSection.Parse(document, rt, br);

                if (section == null)
                    break;

                rt.Sections.Add(section);
            }

            return rt;
        }
Ejemplo n.º 7
0
 protected override void ReadItem(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     this.Frames.Add(MvdLightFrame.Parse(br));
 }
Ejemplo n.º 8
0
 protected override void ReadItem(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     this.MotionBlendLink = MvdMotionBlendLink.Parse(br);
 }
Ejemplo n.º 9
0
 protected override void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     this.ParentClipId = br.ReadInt32();
 }
Ejemplo n.º 10
0
 protected override void Read(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     for (int i = 0; i < this.RawCount; i++)
         this.Names.Add(br.ReadInt32(), document.Encoding.GetString(br.ReadSizedBuffer()));
 }
Ejemplo n.º 11
0
 protected override void ReadItem(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     this.Frames.Add(MvdAccessoryPropertyFrame.Parse(br));
 }
Ejemplo n.º 12
0
 protected override void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     this.ToneCurveControlPointCount = br.ReadInt32();
 }
Ejemplo n.º 13
0
 protected override void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
 {
     if (br.GetRemainingLength() >= 4)
         this.Parameters = Enumerable.Range(0, br.ReadInt32()).Select(_ => MvdEffectParameter.Parse(br)).ToList();
 }
Ejemplo n.º 14
0
 protected abstract void ReadItem(MvdDocument document, MvdObject obj, BinaryReader br);
Ejemplo n.º 15
0
        public static MvdSection Parse(MvdDocument document, MvdObject obj, BinaryReader br)
        {
            var tag = (MvdTag)br.ReadByte();
            MvdSection rt = null;

            switch (tag)
            {
                case MvdTag.NameList:
                    rt = new MvdNameList();

                    break;
                case MvdTag.Bone:
                    rt = new MvdBoneData();

                    break;
                case MvdTag.Morph:
                    rt = new MvdMorphData();

                    break;
                case MvdTag.MotionClip:
                    rt = new MvdMotionClipData();

                    break;
                case MvdTag.MotionBlend:
                    rt = new MvdMotionBlendLinkData();

                    break;
                case MvdTag.ModelProperty:
                    rt = new MvdModelPropertyData();

                    break;
                case MvdTag.AccessoryProperty:
                    rt = new MvdAccessoryPropertyData();

                    break;
                case MvdTag.EffectProperty:
                    rt = new MvdEffectPropertyData();

                    break;
                case MvdTag.Camera:
                    rt = new MvdCameraData();

                    break;
                case MvdTag.CameraProperty:
                    rt = new MvdCameraPropertyData();

                    break;
                case MvdTag.Light:
                    rt = new MvdLightData();

                    break;
                case MvdTag.Project:
                    rt = new MvdProjectData();

                    break;
                case MvdTag.Filter:
                    rt = new MvdFilterData();

                    break;
                case MvdTag.Eof:
                    br.ReadByte();

                    return null;
            }

            rt.MinorType = br.ReadByte();
            rt.RawKey = br.ReadInt32();
            rt.RawItemSize = br.ReadInt32();
            rt.RawCount = br.ReadInt32();

            using (var exr = br.CreateSizedBufferReader())
                rt.ReadExtensionRegion(document, obj, exr);

            rt.Read(document, obj, br);

            return rt;
        }
Ejemplo n.º 16
0
 protected virtual void ReadExtensionRegion(MvdDocument document, MvdObject obj, BinaryReader br)
 {
 }