예제 #1
0
파일: VBN.cs 프로젝트: Super4ng/Smash-Forge
 public void TryGetEntry(uint hash, out SBEntry entry)
 {
     entry = null;
     foreach(SBEntry sb in bones)
         if (sb.hash == hash)
             entry = sb;
 }
예제 #2
0
        public override void Read(string filename)
        {
            FileData d = new FileData(filename);

            FilePath = filename;
            d.Endian = Endianness.Little; // characters are little
            d.seek(8);                    // skip magic and version?
            int count = d.readInt();      // entry count

            for (int i = 0; i < count; i++)
            {
                SBEntry sb = new SBEntry()
                {
                    hash     = (uint)d.readInt(),
                    param1_1 = d.readFloat(),
                    param1_2 = d.readInt(),
                    param1_3 = d.readInt(),
                    param2_1 = d.readFloat(),
                    param2_2 = d.readFloat(),
                    param2_3 = d.readInt(),
                    rx1      = d.readFloat(),
                    rx2      = d.readFloat(),
                    ry1      = d.readFloat(),
                    ry2      = d.readFloat(),
                    rz1      = d.readFloat(),
                    rz2      = d.readFloat()
                };

                for (int j = 0; j < 8; j++)
                {
                    sb.boneHashes[j] = (uint)d.readInt();
                }

                for (int j = 0; j < 4; j++)
                {
                    sb.unks1[j] = d.readFloat();
                }

                for (int j = 0; j < 6; j++)
                {
                    sb.unks2[j] = d.readFloat();
                }

                sb.factor = d.readFloat();

                for (int j = 0; j < 3; j++)
                {
                    sb.ints[j] = d.readInt();
                }

                bones.Add(sb);

                /*Console.WriteLine(sb.hash.ToString("x"));
                 * Console.WriteLine(d.readFloat() + " " + d.readInt() + " " + d.readInt());
                 * Console.WriteLine(d.readFloat() + " " + d.readInt() + " " + d.readInt());
                 *
                 * //28 floats?
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat() + " " + d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat() + " " + d.readFloat() + " " + d.readFloat());
                 *
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat() + " " + d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat() + " " + d.readFloat() + " " + d.readFloat());
                 *
                 * Console.WriteLine(d.readFloat() + " " + d.readFloat());
                 * Console.WriteLine(d.readInt() +  " " + d.readInt());
                 * Console.WriteLine(d.readInt() + " " + d.readInt());
                 * Console.WriteLine();*/
            }
        }