Example #1
0
        public override int vmethod_4(OGGClass6 class71_0, object object_0, object object_1, float[] float_1)
        {
            Class32 @class   = (Class32)object_0;
            Class31 class31_ = @class.class31_0;
            int     num      = class71_0.oggClass1.oggClass5.int_13[class71_0.int_4] / 2;

            if (object_1 != null)
            {
                int[] array = (int[])object_1;
                int   num2  = 0;
                int   int_  = 0;
                int   int_2 = array[0] * class31_.int_6;
                for (int i = 1; i < @class.int_6; i++)
                {
                    int num3 = @class.int_2[i];
                    int num4 = array[num3] & 32767;
                    if (num4 == array[num3])
                    {
                        num4 *= class31_.int_6;
                        num2  = class31_.int_7[num3];
                        Class29.smethod_1(int_, num2, int_2, num4, float_1);
                        int_  = num2;
                        int_2 = num4;
                    }
                }
                for (int j = num2; j < num; j++)
                {
                    float_1[j] *= float_1[j - 1];
                }
                return(1);
            }
            for (int k = 0; k < num; k++)
            {
                float_1[k] = 0f;
            }
            return(0);
        }
Example #2
0
 public override object vmethod_1(OGGClass1 class66_0, Class27 class27_0, object object_0)
 {
     int num = 0;
     int[] array = new int[Class29.int_1 + 2];
     Class31 @class = (Class31)object_0;
     Class32 class2 = new Class32();
     class2.class31_0 = @class;
     class2.int_7 = @class.int_7[1];
     for (int i = 0; i < @class.int_0; i++)
     {
         num += @class.int_2[@class.int_1[i]];
     }
     num += 2;
     class2.int_6 = num;
     for (int j = 0; j < num; j++)
     {
         array[j] = j;
     }
     for (int k = 0; k < num - 1; k++)
     {
         for (int l = k; l < num; l++)
         {
             if (@class.int_7[array[k]] > @class.int_7[array[l]])
             {
                 int num2 = array[l];
                 array[l] = array[k];
                 array[k] = num2;
             }
         }
     }
     for (int m = 0; m < num; m++)
     {
         class2.int_2[m] = array[m];
     }
     for (int n = 0; n < num; n++)
     {
         class2.int_3[class2.int_2[n]] = n;
     }
     for (int num3 = 0; num3 < num; num3++)
     {
         class2.int_1[num3] = @class.int_7[class2.int_2[num3]];
     }
     switch (@class.int_6)
     {
     case 1:
         class2.int_8 = 256;
         break;
     case 2:
         class2.int_8 = 128;
         break;
     case 3:
         class2.int_8 = 86;
         break;
     case 4:
         class2.int_8 = 64;
         break;
     default:
         class2.int_8 = -1;
         break;
     }
     for (int num4 = 0; num4 < num - 2; num4++)
     {
         int num5 = 0;
         int num6 = 1;
         int num7 = 0;
         int num8 = class2.int_7;
         int num9 = @class.int_7[num4 + 2];
         for (int num10 = 0; num10 < num4 + 2; num10++)
         {
             int num11 = @class.int_7[num10];
             if (num11 > num7 && num11 < num9)
             {
                 num5 = num10;
                 num7 = num11;
             }
             if (num11 < num8 && num11 > num9)
             {
                 num6 = num10;
                 num8 = num11;
             }
         }
         class2.int_5[num4] = num5;
         class2.int_4[num4] = num6;
     }
     return class2;
 }
Example #3
0
        public override object vmethod_3(OGGClass6 class71_0, object object_0, object object_1)
        {
            Class32 @class   = (Class32)object_0;
            Class31 class31_ = @class.class31_0;

            OGGClass4[] class21_ = class71_0.oggClass1.oggClass4;
            if (class71_0.oggClass3.method_6(1) == 1)
            {
                int[] array = null;
                if (object_1 is int[])
                {
                    array = (int[])object_1;
                }
                if (array != null && array.Length >= @class.int_6)
                {
                    for (int i = 0; i < array.Length; i++)
                    {
                        array[i] = 0;
                    }
                }
                else
                {
                    array = new int[@class.int_6];
                }
                array[0] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1));
                array[1] = class71_0.oggClass3.method_6(Class29.smethod_2(@class.int_8 - 1));
                int j   = 0;
                int num = 2;
                while (j < class31_.int_0)
                {
                    int num2 = class31_.int_1[j];
                    int num3 = class31_.int_2[num2];
                    int num4 = class31_.int_3[num2];
                    int num5 = 1 << num4;
                    int num6 = 0;
                    if (num4 != 0)
                    {
                        num6 = class21_[class31_.int_4[num2]].method_4(class71_0.oggClass3);
                        if (num6 == -1)
                        {
                            return(null);
                        }
                    }
                    for (int k = 0; k < num3; k++)
                    {
                        int num7 = class31_.int_5[num2][num6 & num5 - 1];
                        num6 = (int)((uint)num6 >> num4);
                        if (num7 >= 0)
                        {
                            if ((array[num + k] = class21_[num7].method_4(class71_0.oggClass3)) == -1)
                            {
                                return(null);
                            }
                        }
                        else
                        {
                            array[num + k] = 0;
                        }
                    }
                    num += num3;
                    j++;
                }
                for (int l = 2; l < @class.int_6; l++)
                {
                    int num8  = Class29.smethod_0(class31_.int_7[@class.int_5[l - 2]], class31_.int_7[@class.int_4[l - 2]], array[@class.int_5[l - 2]], array[@class.int_4[l - 2]], class31_.int_7[l]);
                    int num9  = @class.int_8 - num8;
                    int num10 = num8;
                    int num11 = ((num9 < num10) ? num9 : num10) << 1;
                    int num12 = array[l];
                    if (num12 != 0)
                    {
                        if (num12 >= num11)
                        {
                            if (num9 > num10)
                            {
                                num12 -= num10;
                            }
                            else
                            {
                                num12 = -1 - (num12 - num9);
                            }
                        }
                        else if ((num12 & 1) != 0)
                        {
                            num12 = (int)(-(int)((ulong)((uint)(num12 + 1) >> 1)));
                        }
                        else
                        {
                            num12 >>= 1;
                        }
                        array[l] = num12 + num8;
                        array[@class.int_5[l - 2]] &= 32767;
                        array[@class.int_4[l - 2]] &= 32767;
                    }
                    else
                    {
                        array[l] = (num8 | 32768);
                    }
                }
                return(array);
            }
            return(null);
        }
Example #4
0
        public override object vmethod_1(OGGClass1 class66_0, Class27 class27_0, object object_0)
        {
            int num = 0;

            int[]   array  = new int[Class29.int_1 + 2];
            Class31 @class = (Class31)object_0;
            Class32 class2 = new Class32();

            class2.class31_0 = @class;
            class2.int_7     = @class.int_7[1];
            for (int i = 0; i < @class.int_0; i++)
            {
                num += @class.int_2[@class.int_1[i]];
            }
            num         += 2;
            class2.int_6 = num;
            for (int j = 0; j < num; j++)
            {
                array[j] = j;
            }
            for (int k = 0; k < num - 1; k++)
            {
                for (int l = k; l < num; l++)
                {
                    if (@class.int_7[array[k]] > @class.int_7[array[l]])
                    {
                        int num2 = array[l];
                        array[l] = array[k];
                        array[k] = num2;
                    }
                }
            }
            for (int m = 0; m < num; m++)
            {
                class2.int_2[m] = array[m];
            }
            for (int n = 0; n < num; n++)
            {
                class2.int_3[class2.int_2[n]] = n;
            }
            for (int num3 = 0; num3 < num; num3++)
            {
                class2.int_1[num3] = @class.int_7[class2.int_2[num3]];
            }
            switch (@class.int_6)
            {
            case 1:
                class2.int_8 = 256;
                break;

            case 2:
                class2.int_8 = 128;
                break;

            case 3:
                class2.int_8 = 86;
                break;

            case 4:
                class2.int_8 = 64;
                break;

            default:
                class2.int_8 = -1;
                break;
            }
            for (int num4 = 0; num4 < num - 2; num4++)
            {
                int num5 = 0;
                int num6 = 1;
                int num7 = 0;
                int num8 = class2.int_7;
                int num9 = @class.int_7[num4 + 2];
                for (int num10 = 0; num10 < num4 + 2; num10++)
                {
                    int num11 = @class.int_7[num10];
                    if (num11 > num7 && num11 < num9)
                    {
                        num5 = num10;
                        num7 = num11;
                    }
                    if (num11 < num8 && num11 > num9)
                    {
                        num6 = num10;
                        num8 = num11;
                    }
                }
                class2.int_5[num4] = num5;
                class2.int_4[num4] = num6;
            }
            return(class2);
        }