Пример #1
0
 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);
     }
 }
Пример #2
0
 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);
     }
 }