public void ReadAnimInfo(FileStream fs, ChunkHeader h) { data.Infos = new List<PSAAnimInfo>(); for (int i = 0; i < h.count; i++) { PSAAnimInfo info = new PSAAnimInfo(); byte[] buff = new byte[h.size]; for (int j = 0; j < h.size; j++) buff[j] = (byte)fs.ReadByte(); info.raw = buff; info.name = ""; for (int j = 0; j < 64; j++) if (buff[j] != 0) info.name += (char)buff[j]; info.group = ""; for (int j = 0; j < 64; j++) if (buff[j + 64] != 0) info.group += (char)buff[j + 64]; info.TotalBones = BitConverter.ToInt32(buff, 128); info.RootInclude = BitConverter.ToInt32(buff, 132); info.KeyCompressionStyle = BitConverter.ToInt32(buff, 136); info.KeyQuotum = BitConverter.ToInt32(buff, 140); info.KeyReduction = BitConverter.ToSingle(buff, 144); info.TrackTime = BitConverter.ToSingle(buff, 148); info.AnimRate = BitConverter.ToSingle(buff, 152); info.StartBone = BitConverter.ToInt32(buff, 156); info.FirstRawFrame = BitConverter.ToInt32(buff, 160); info.NumRawFrames = BitConverter.ToInt32(buff, 164); data.Infos.Add(info); } }