Example #1
0
        private void method_8(int int4)
        {
            WaitCallback waitCallback = null;
            var          @enum        = _enum10;

            if (@enum == AudioStatus.IsCurrentlyPlayingAudio)
            {
                StopPlaying();
            }
            lock (_object0)
            {
                Stream arg350 = _stream10;
                _int3           = int4;
                arg350.Position = int4;
                if (@enum == AudioStatus.ShouldStartAudio)
                {
                    var count = _queue0.Count;
                    var num   = 1f / (_int0 * count / (float)GetWaveFormat().short_1);
                    var num2  = 0f;
                    var num3  = 1f;
                    if (GetWaveFormat().waveFormatTag_0 == WaveFormatTag.IeeeFloat)
                    {
                        var array = new float[_int0 >> 2];
                        using (var enumerator = _queue0.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                var current = enumerator.Current;
                                var array2  = current.method_3().method_1();
                                var num4    = _stream10.vmethod_4(array, 0, array.Length);
                                if (num4 == 0)
                                {
                                    break;
                                }
                                var i    = 0;
                                var num5 = 0;
                                while (i < num4)
                                {
                                    array2[i] = num3 * array2[i] + num2 * array[i];
                                    num5++;
                                    if (num5 == GetWaveFormat().short_0)
                                    {
                                        num2 += num;
                                        num3 -= num;
                                        num5  = 0;
                                    }
                                    i++;
                                }
                                Array.Clear(array2, num4, current.method_3().method_5() - num4);
                                current.method_3().method_6(num4);
                            }
                            goto IL_27D;
                        }
                    }
                    if (GetWaveFormat().waveFormatTag_0 == WaveFormatTag.Pcm)
                    {
                        using (var @class = new Class19(_int0))
                        {
                            foreach (var current2 in _queue0)
                            {
                                var array3 = current2.method_3().method_2();
                                var array4 = Class19.smethod_0(@class);
                                var num6   = _stream10.vmethod_3(Class19.smethod_1(@class), _int0) >> 1;
                                if (num6 == 0)
                                {
                                    break;
                                }
                                var j    = 0;
                                var num7 = 0;
                                while (j < num6)
                                {
                                    array3[j] = (short)(num3 * array3[j] + num2 * array4[j]);
                                    num7++;
                                    if (num7 == GetWaveFormat().short_0)
                                    {
                                        num2 += num;
                                        num3 -= num;
                                        num7  = 0;
                                    }
                                    j++;
                                }
                                Array.Clear(array3, num6, current2.method_3().method_7() - num6);
                                current2.method_3().method_8(num6);
                            }
                        }
                    }
IL_27D:
                    GC.Collect();
                    _stopwatch0.Reset();
                    method_9(0);
                    if (!_bool1)
                    {
                        if (waitCallback == null)
                        {
                            waitCallback = method_12;
                        }
                        ThreadPool.QueueUserWorkItem(waitCallback);
                    }
                }
            }
        }
Example #2
0
    internal static double smethod_0(Point point_0, Point point_1, Point point_2, double double_0)
    {
        double[] array  = new double[5];
        double[] array2 = new double[9];
        double[] array3 = new double[13];
        double[] array4 = new double[17];
        double[] array5 = new double[5];
        double   num    = point_0.X - point_2.X;
        double   num2   = point_1.X - point_2.X;
        double   num3   = point_0.Y - point_2.Y;
        double   num4   = point_1.Y - point_2.Y;
        double   num5   = num * num4;
        double   num6   = Class20.double_1 * num;
        double   num7   = num6 - num;
        double   num8   = num6 - num7;
        double   num9   = num - num8;

        num6 = Class20.double_1 * num4;
        num7 = num6 - num4;
        double num10 = num6 - num7;
        double num11 = num4 - num10;
        double num12 = num5 - num8 * num10;
        double num13 = num12 - num9 * num10;
        double num14 = num13 - num8 * num11;
        double num15 = num9 * num11 - num14;
        double num16 = num3 * num2;

        num6  = Class20.double_1 * num3;
        num7  = num6 - num3;
        num8  = num6 - num7;
        num9  = num3 - num8;
        num6  = Class20.double_1 * num2;
        num7  = num6 - num2;
        num10 = num6 - num7;
        num11 = num2 - num10;
        num12 = num16 - num8 * num10;
        num13 = num12 - num9 * num10;
        num14 = num13 - num8 * num11;
        double num17 = num9 * num11 - num14;
        double num18 = num15 - num17;
        double num19 = num15 - num18;
        double num20 = num18 + num19;
        double num21 = num19 - num17;
        double num22 = num15 - num20;

        array[0] = num22 + num21;
        double num23 = num5 + num18;

        num19 = num23 - num5;
        num20 = num23 - num19;
        num21 = num18 - num19;
        num22 = num5 - num20;
        double num24 = num22 + num21;

        num18    = num24 - num16;
        num19    = num24 - num18;
        num20    = num18 + num19;
        num21    = num19 - num16;
        num22    = num24 - num20;
        array[1] = num22 + num21;
        double num25 = num23 + num18;

        num19    = num25 - num23;
        num20    = num25 - num19;
        num21    = num18 - num19;
        num22    = num23 - num20;
        array[2] = num22 + num21;
        array[3] = num25;
        double num26 = Class19.smethod_1(4, array);
        double num27 = Class20.double_3 * double_0;

        if (num26 >= num27 || -num26 >= num27)
        {
            return(num26);
        }
        num19 = point_0.X - num;
        num20 = num + num19;
        num21 = num19 - point_2.X;
        num22 = point_0.X - num20;
        double num28 = num22 + num21;

        num19 = point_1.X - num2;
        num20 = num2 + num19;
        num21 = num19 - point_2.X;
        num22 = point_1.X - num20;
        double num29 = num22 + num21;

        num19 = point_0.Y - num3;
        num20 = num3 + num19;
        num21 = num19 - point_2.Y;
        num22 = point_0.Y - num20;
        double num30 = num22 + num21;

        num19 = point_1.Y - num4;
        num20 = num4 + num19;
        num21 = num19 - point_2.Y;
        num22 = point_1.Y - num20;
        double num31 = num22 + num21;

        if (num28 == 0.0 && num30 == 0.0 && num29 == 0.0 && num31 == 0.0)
        {
            return(num26);
        }
        num27  = Class20.double_4 * double_0 + Class20.double_0 * ((num26 >= 0.0) ? num26 : (-num26));
        num26 += num * num31 + num4 * num28 - (num3 * num29 + num2 * num30);
        if (num26 < num27 && -num26 < num27)
        {
            double num32 = num28 * num4;
            num6  = Class20.double_1 * num28;
            num7  = num6 - num28;
            num8  = num6 - num7;
            num9  = num28 - num8;
            num6  = Class20.double_1 * num4;
            num7  = num6 - num4;
            num10 = num6 - num7;
            num11 = num4 - num10;
            num12 = num32 - num8 * num10;
            num13 = num12 - num9 * num10;
            num14 = num13 - num8 * num11;
            double num33 = num9 * num11 - num14;
            double num34 = num30 * num2;
            num6  = Class20.double_1 * num30;
            num7  = num6 - num30;
            num8  = num6 - num7;
            num9  = num30 - num8;
            num6  = Class20.double_1 * num2;
            num7  = num6 - num2;
            num10 = num6 - num7;
            num11 = num2 - num10;
            num12 = num34 - num8 * num10;
            num13 = num12 - num9 * num10;
            num14 = num13 - num8 * num11;
            double num35 = num9 * num11 - num14;
            num18     = num33 - num35;
            num19     = num33 - num18;
            num20     = num18 + num19;
            num21     = num19 - num35;
            num22     = num33 - num20;
            array5[0] = num22 + num21;
            num23     = num32 + num18;
            num19     = num23 - num32;
            num20     = num23 - num19;
            num21     = num18 - num19;
            num22     = num32 - num20;
            num24     = num22 + num21;
            num18     = num24 - num34;
            num19     = num24 - num18;
            num20     = num18 + num19;
            num21     = num19 - num34;
            num22     = num24 - num20;
            array5[1] = num22 + num21;
            double num36 = num23 + num18;
            num19     = num36 - num23;
            num20     = num36 - num19;
            num21     = num18 - num19;
            num22     = num23 - num20;
            array5[2] = num22 + num21;
            array5[3] = num36;
            int int_ = Class19.smethod_2(4, array, 4, array5, array2);
            num32     = num * num31;
            num6      = Class20.double_1 * num;
            num7      = num6 - num;
            num8      = num6 - num7;
            num9      = num - num8;
            num6      = Class20.double_1 * num31;
            num7      = num6 - num31;
            num10     = num6 - num7;
            num11     = num31 - num10;
            num12     = num32 - num8 * num10;
            num13     = num12 - num9 * num10;
            num14     = num13 - num8 * num11;
            num33     = num9 * num11 - num14;
            num34     = num3 * num29;
            num6      = Class20.double_1 * num3;
            num7      = num6 - num3;
            num8      = num6 - num7;
            num9      = num3 - num8;
            num6      = Class20.double_1 * num29;
            num7      = num6 - num29;
            num10     = num6 - num7;
            num11     = num29 - num10;
            num12     = num34 - num8 * num10;
            num13     = num12 - num9 * num10;
            num14     = num13 - num8 * num11;
            num35     = num9 * num11 - num14;
            num18     = num33 - num35;
            num19     = num33 - num18;
            num20     = num18 + num19;
            num21     = num19 - num35;
            num22     = num33 - num20;
            array5[0] = num22 + num21;
            num23     = num32 + num18;
            num19     = num23 - num32;
            num20     = num23 - num19;
            num21     = num18 - num19;
            num22     = num32 - num20;
            num24     = num22 + num21;
            num18     = num24 - num34;
            num19     = num24 - num18;
            num20     = num18 + num19;
            num21     = num19 - num34;
            num22     = num24 - num20;
            array5[1] = num22 + num21;
            num36     = num23 + num18;
            num19     = num36 - num23;
            num20     = num36 - num19;
            num21     = num18 - num19;
            num22     = num23 - num20;
            array5[2] = num22 + num21;
            array5[3] = num36;
            int int_2 = Class19.smethod_2(int_, array2, 4, array5, array3);
            num32     = num28 * num31;
            num6      = Class20.double_1 * num28;
            num7      = num6 - num28;
            num8      = num6 - num7;
            num9      = num28 - num8;
            num6      = Class20.double_1 * num31;
            num7      = num6 - num31;
            num10     = num6 - num7;
            num11     = num31 - num10;
            num12     = num32 - num8 * num10;
            num13     = num12 - num9 * num10;
            num14     = num13 - num8 * num11;
            num33     = num9 * num11 - num14;
            num34     = num30 * num29;
            num6      = Class20.double_1 * num30;
            num7      = num6 - num30;
            num8      = num6 - num7;
            num9      = num30 - num8;
            num6      = Class20.double_1 * num29;
            num7      = num6 - num29;
            num10     = num6 - num7;
            num11     = num29 - num10;
            num12     = num34 - num8 * num10;
            num13     = num12 - num9 * num10;
            num14     = num13 - num8 * num11;
            num35     = num9 * num11 - num14;
            num18     = num33 - num35;
            num19     = num33 - num18;
            num20     = num18 + num19;
            num21     = num19 - num35;
            num22     = num33 - num20;
            array5[0] = num22 + num21;
            num23     = num32 + num18;
            num19     = num23 - num32;
            num20     = num23 - num19;
            num21     = num18 - num19;
            num22     = num32 - num20;
            num24     = num22 + num21;
            num18     = num24 - num34;
            num19     = num24 - num18;
            num20     = num18 + num19;
            num21     = num19 - num34;
            num22     = num24 - num20;
            array5[1] = num22 + num21;
            num36     = num23 + num18;
            num19     = num36 - num23;
            num20     = num36 - num19;
            num21     = num18 - num19;
            num22     = num23 - num20;
            array5[2] = num22 + num21;
            array5[3] = num36;
            int num37 = Class19.smethod_2(int_2, array3, 4, array5, array4);
            return(array4[num37 - 1]);
        }
        return(num26);
    }
Example #3
0
 // Token: 0x060000EC RID: 236 RVA: 0x000033EF File Offset: 0x000015EF
 public uint method_3(uint uint_0)
 {
     return(Class19.smethod_1(this.method_1(Class19.smethod_0(uint_0))));
 }
Example #4
0
        private void method_8(int int_4)
        {
            WaitCallback waitCallback = null;
            AudioStatus  @enum        = this.enum1_0;

            if (@enum == AudioStatus.IsCurrentlyPlayingAudio)
            {
                this.StopPlaying();
            }
            lock (this.object_0)
            {
                Stream arg_35_0 = this.stream1_0;
                this.int_3        = int_4;
                arg_35_0.Position = (long)int_4;
                if (@enum == AudioStatus.ShouldStartAudio)
                {
                    int   count = this.queue_0.Count;
                    float num   = 1f / ((float)(this.int_0 * count) / (float)this.GetWaveFormat().short_1);
                    float num2  = 0f;
                    float num3  = 1f;
                    if (this.GetWaveFormat().waveFormatTag_0 == WaveFormatTag.IEEEFloat)
                    {
                        float[] array = new float[this.int_0 >> 2];
                        using (Queue <Class158> .Enumerator enumerator = this.queue_0.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                Class158 current = enumerator.Current;
                                float[]  array2  = current.method_3().method_1();
                                int      num4    = this.stream1_0.vmethod_4(array, 0, array.Length);
                                if (num4 == 0)
                                {
                                    break;
                                }
                                int i    = 0;
                                int num5 = 0;
                                while (i < num4)
                                {
                                    array2[i] = num3 * array2[i] + num2 * array[i];
                                    num5++;
                                    if (num5 == (int)this.GetWaveFormat().short_0)
                                    {
                                        num2 += num;
                                        num3 -= num;
                                        num5  = 0;
                                    }
                                    i++;
                                }
                                Array.Clear(array2, num4, current.method_3().method_5() - num4);
                                current.method_3().method_6(num4);
                            }
                            goto IL_27D;
                        }
                    }
                    if (this.GetWaveFormat().waveFormatTag_0 == WaveFormatTag.PCM)
                    {
                        using (Class19 @class = new Class19(this.int_0))
                        {
                            foreach (Class158 current2 in this.queue_0)
                            {
                                short[] array3 = current2.method_3().method_2();
                                short[] array4 = Class19.smethod_0(@class);
                                int     num6   = this.stream1_0.vmethod_3(Class19.smethod_1(@class), this.int_0) >> 1;
                                if (num6 == 0)
                                {
                                    break;
                                }
                                int j    = 0;
                                int num7 = 0;
                                while (j < num6)
                                {
                                    array3[j] = (short)(num3 * (float)array3[j] + num2 * (float)array4[j]);
                                    num7++;
                                    if (num7 == (int)this.GetWaveFormat().short_0)
                                    {
                                        num2 += num;
                                        num3 -= num;
                                        num7  = 0;
                                    }
                                    j++;
                                }
                                Array.Clear(array3, num6, current2.method_3().method_7() - num6);
                                current2.method_3().method_8(num6);
                            }
                        }
                    }
IL_27D:
                    GC.Collect();
                    this.stopwatch_0.Reset();
                    this.method_9(0);
                    if (!this.bool_1)
                    {
                        if (waitCallback == null)
                        {
                            waitCallback = new WaitCallback(this.method_12);
                        }
                        ThreadPool.QueueUserWorkItem(waitCallback);
                    }
                }
            }
        }