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(); }