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]; } }
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]; } }