public BCAAnimation(EndianBinaryReader er, BCA.BCAHeader Header) { this.Sx = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetScale, (uint)Header.NrFrames, false); this.Sy = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetScale, (uint)Header.NrFrames, false); this.Sz = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetScale, (uint)Header.NrFrames, false); this.Rx = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetRotation, (uint)Header.NrFrames, true); this.Ry = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetRotation, (uint)Header.NrFrames, true); this.Rz = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetRotation, (uint)Header.NrFrames, true); this.Tx = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetTranslation, (uint)Header.NrFrames, false); this.Ty = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetTranslation, (uint)Header.NrFrames, false); this.Tz = new BCA.BCAAnimation.AnimationInfo(er, Header.OffsetTranslation, (uint)Header.NrFrames, false); }
public BCA(byte[] file) { EndianBinaryReader er = new EndianBinaryReader((Stream) new MemoryStream(file), Endianness.LittleEndian); this.Header = new BCA.BCAHeader(er); er.BaseStream.Position = (long)this.Header.OffsetAnimationSection; this.Animations = new BCA.BCAAnimation[(int)this.Header.NrBones]; for (int index = 0; index < (int)this.Header.NrBones; ++index) { this.Animations[index] = new BCA.BCAAnimation(er, this.Header); } er.Close(); }