Exemplo n.º 1
0
        private void LoadBones(BinaryReaderEx reader)
        {
            reader.BaseStream.Position = this.BasePosition;

            this.Bones = new List<Skeleton.SkeletonBone>(this.BoneCount);
            this.Children = new List<INavigable>(this.BoneCount);

            for (var i = 0; i < this.BoneCount; i++)
            {
                Skeleton.SkeletonBone bone = new Skeleton.SkeletonBone();
                bone.Parent = this;
                bone.StringIndex = reader.ReadInt32();
                bone.Unknown1 = reader.ReadInt32();
                bone.Unknown2 = reader.ReadInt32();
                bone.Unknown3 = reader.ReadInt32();
                bone.Translation.X = reader.ReadSingle();
                bone.Translation.Y = reader.ReadSingle();
                bone.Translation.Z = reader.ReadSingle();
                bone.Rotation.X = reader.ReadSingle();
                bone.Rotation.Y = reader.ReadSingle();
                bone.Rotation.Z = reader.ReadSingle();
                bone.Rotation.W = reader.ReadSingle();
                bone.Scale.X = reader.ReadSingle();
                bone.Scale.Y = reader.ReadSingle();
                bone.Scale.Z = reader.ReadSingle();
                bone.ParentBoneIndex = reader.ReadInt32();
                bone.ChildBoneIndex = reader.ReadInt32();
                bone.SiblingBoneIndex = reader.ReadInt32();
                bone.BoneIndex = reader.ReadInt32();
                bone.Unknown4 = reader.ReadInt32();
                bone.Unknown5 = reader.ReadInt32();
                bone.Stuff = reader.ReadBytes(96);
                this.Bones.Add(bone);
                this.Children.Add(bone);

                bone.Name = this.StringTable[bone.StringIndex];
            }
        }
Exemplo n.º 2
0
        private void LoadBones(BinaryReaderEx reader)
        {
            reader.BaseStream.Position = this.BasePosition;

            this.Bones    = new List <Skeleton.SkeletonBone>(this.BoneCount);
            this.Children = new List <INavigable>(this.BoneCount);

            for (var i = 0; i < this.BoneCount; i++)
            {
                Skeleton.SkeletonBone bone = new Skeleton.SkeletonBone();
                bone.Parent           = this;
                bone.StringIndex      = reader.ReadInt32();
                bone.Unknown1         = reader.ReadInt32();
                bone.Unknown2         = reader.ReadInt32();
                bone.Unknown3         = reader.ReadInt32();
                bone.Translation.X    = reader.ReadSingle();
                bone.Translation.Y    = reader.ReadSingle();
                bone.Translation.Z    = reader.ReadSingle();
                bone.Rotation.X       = reader.ReadSingle();
                bone.Rotation.Y       = reader.ReadSingle();
                bone.Rotation.Z       = reader.ReadSingle();
                bone.Rotation.W       = reader.ReadSingle();
                bone.Scale.X          = reader.ReadSingle();
                bone.Scale.Y          = reader.ReadSingle();
                bone.Scale.Z          = reader.ReadSingle();
                bone.ParentBoneIndex  = reader.ReadInt32();
                bone.ChildBoneIndex   = reader.ReadInt32();
                bone.SiblingBoneIndex = reader.ReadInt32();
                bone.BoneIndex        = reader.ReadInt32();
                bone.Unknown4         = reader.ReadInt32();
                bone.Unknown5         = reader.ReadInt32();
                bone.Stuff            = reader.ReadBytes(96);
                this.Bones.Add(bone);
                this.Children.Add(bone);

                bone.Name = this.StringTable[bone.StringIndex];
            }
        }