Exemple #1
0
        private static void dxThread()
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();

            gvar.SHUTDOWN++;
            while (gvar.isRunning)
            {
                if (gvar.isShuttingDown)
                {
                    gvar.SHUTDOWN--;
                    break;
                }
                Thread.Sleep(1);
                var frameLength = 1000f / gvar.Fps;

                if (gvar.RefreshID == int.MaxValue)
                {
                    gvar.RefreshID = 0;
                }

                gvar.RefreshID++;

                try
                {
                    #region Begin Device
                    Device.BeginDraw();
                    Device.Clear(new RawColor4(0, 0, 0, 0));
                    Device.TextAntialiasMode = TextAntialiasMode.Aliased;
                    Device.AntialiasMode     = AntialiasMode.Aliased;
                    #endregion

                    if (!isReady)
                    {
                        Device.EndDraw();
                        continue;
                    }

                    if (Settings.userSettings.MiscSettings.Watermark)
                    {
                        DrawText("Darc Euphoria", 4, 4);
                    }

                    if (Settings.userSettings.MiscSettings.LocalTime)
                    {
                        if (Settings.userSettings.MiscSettings.Watermark)
                        {
                            DrawText(DateTime.Now.ToString("h:mm:ss tt"), 4, (int)(MathFuncs.MeasureString("DarcEuphoria").Height) - 4);
                        }
                        else
                        {
                            DrawText(DateTime.Now.ToString("h:mm:ss tt"), 4, 4);
                        }
                    }

                    if (!Local.InGame)
                    {
                        Device.EndDraw();
                        continue;
                    }

                    ESP.Start(Device);

                    if ((Settings.userSettings.VisualSettings.SniperCrosshair && Local.ActiveWeapon.isSniper()) ||
                        Settings.userSettings.VisualSettings.RecoilCrosshair)
                    {
                        using (SolidColorBrush brush = new SolidColorBrush(Device, Color.White.toRawColor4()))
                        {
                            var radAngle = Local.Fov * (3.14f / 180f);
                            var radHFov  = 2 * Math.Atan(Math.Tan(radAngle / 2f) * gvar.AspectRatio);
                            var hFov     = radHFov * (180f / 3.14f);

                            var rcsPunchVec = Local.PunchAngle;
                            var x           = gvar.OverlaySize.Width / 2;
                            var y           = gvar.OverlaySize.Height / 2;
                            var dx          = gvar.OverlaySize.Width / hFov;
                            var dy          = gvar.OverlaySize.Height / Local.Fov;
                            x -= (int)(dx * rcsPunchVec.x);
                            y += (int)(dy * rcsPunchVec.y);
                            var point = new RawVector2(x, y);
                            var p1    = point;
                            var p2    = point;
                            var p3    = point;
                            var p4    = point;
                            p1.X -= 5;
                            p2.X += 5;
                            p3.Y -= 5;
                            p4.Y += 5;
                            Device.DrawLine(p1, p2, brush, 2);
                            Device.DrawLine(p3, p4, brush, 2);
                        }
                    }

                    if (Settings.userSettings.VisualSettings.DrawAimbotFov)
                    {
                        var radAngle = Local.Fov * (3.14f / 180f);
                        var radHFov  = 2 * Math.Atan(Math.Tan(radAngle / 2f) * gvar.AspectRatio);
                        var hFov     = radHFov * (180f / 3.14f);

                        var perc = gvar.OverlaySize.Width / hFov;

                        var radius = Aimbot.AimbotSettings.Fov * (float)perc;

                        var math = Math.Sqrt((gvar.OverlaySize.Width / 2) * (gvar.OverlaySize.Width / 2) +
                                             (gvar.OverlaySize.Height / 2) * (gvar.OverlaySize.Height / 2));

                        if (radius < math)
                        {
                            var rcsPunchVec = Local.PunchAngle;
                            var x           = gvar.OverlaySize.Width / 2;
                            var y           = gvar.OverlaySize.Height / 2;
                            var dx          = gvar.OverlaySize.Width / hFov;
                            var dy          = gvar.OverlaySize.Height / Local.Fov;
                            x -= (int)(dx * rcsPunchVec.x);
                            y += (int)(dy * rcsPunchVec.y);

                            RawVector2 center = new RawVector2(x, y);

                            using (SolidColorBrush brush = new SolidColorBrush(Device, Color.White.toRawColor4()))
                                Device.DrawEllipse(new Ellipse(center, radius, radius), brush);
                        }
                    }
                    Device.EndDraw();
                } catch { Thread.Sleep(10); }



                var delayLength = frameLength - stopwatch.ElapsedMilliseconds;
                if (delayLength > 0 && !float.IsInfinity(frameLength))
                {
                    Thread.Sleep((int)delayLength);
                }

                stopwatch.Restart();
            }
            Device.Dispose();
        }