コード例 #1
0
        private static void DrawGrid(
            Direct2DRenderer gfx,
            Rectangle screen,
            Point pos,
            int pitch,
            Color color,
            int stroke = 1)
        {
            if (pitch < 1)
            {
                pitch = 1;
            }

            var x = pos.X - screen.X;
            var y = pos.Y - screen.Y;

            for (var i = 0 + x % pitch; i < screen.Width; i += pitch)
            {
                gfx.DrawLine(i, 0, i, screen.Height, stroke, color);
            }
            for (var i = 0 + y % pitch; i < screen.Height; i += pitch)
            {
                gfx.DrawLine(0, i, screen.Width, i, stroke, color);
            }
        }
コード例 #2
0
        private static void DrawCross(Direct2DRenderer gfx, Rectangle screen, Point pos, Color color, int stroke = 1)
        {
            var x = pos.X - screen.X;
            var y = pos.Y - screen.Y;

            gfx.DrawLine(x, 0, x, screen.Height, stroke, color);
            gfx.DrawLine(0, y, screen.Width, y, stroke, color);
        }
コード例 #3
0
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            Stopwatch jew = new Stopwatch();

            var overlay = new OverlayWindow(0, 0, (int)SystemInformation.VirtualScreen.Width, (int)SystemInformation.VirtualScreen.Height);

            var rendererOptions = new Direct2DRendererOptions()
            {
                AntiAliasing = true,
                Hwnd         = overlay.WindowHandle,
                MeasureFps   = true,
                VSync        = false
            };

            var d2d = new Direct2DRenderer(rendererOptions);

            var whiteSmoke = d2d.CreateBrush(0, 0, 0, 0);

            var blackBrush = d2d.CreateBrush(0, 0, 0, 150);
            var redBrush   = d2d.CreateBrush(255, 0, 0, 255);

            jew.Start();
            while (drawRunning)
            {
                d2d.BeginScene();
                d2d.ClearScene(whiteSmoke);
                int temp = findClosestEndPoint(listOfClicks, Form1.MousePosition, 10);
                if (temp != -1 && mousePressed)
                {
                    listOfClicks[temp].x = MousePosition.X;
                    listOfClicks[temp].y = MousePosition.Y;
                }
                d2d.FillCircle(listOfClicks[0].x, listOfClicks[0].y, 7, blackBrush);
                d2d.FillCircle(listOfClicks[1].x, listOfClicks[1].y, 7, blackBrush);
                d2d.FillCircle(listOfClicks[2].x, listOfClicks[2].y, 7, blackBrush);

                d2d.DrawLine(listOfClicks[0].x, listOfClicks[0].y, listOfClicks[1].x, listOfClicks[1].y, 5, redBrush);
                d2d.DrawLine(listOfClicks[0].x, listOfClicks[0].y, listOfClicks[2].x, listOfClicks[2].y, 5, redBrush);

                d2d.EndScene();
            }
            d2d.BeginScene();
            d2d.ClearScene(whiteSmoke);
            d2d.EndScene();
            jew.Stop();
            jew.Reset();
            //running = false;
        }
コード例 #4
0
ファイル: Luppi.cs プロジェクト: setset/LuPPi-Ros
        private void Nampham()
        {
            rect.left   = 0;    //
            rect.right  = 1366; //
            rect.top    = 21;   //
            rect.bottom = 726;  //
            int Width           = rect.right - rect.left;
            int Height          = rect.bottom - rect.top;
            int Width2          = 1382; //
            int Height2         = 744;  //
            var overlay         = new OverlayWindow(rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
            var rendererOptions = new Direct2DRendererOptions()
            {
                AntiAliasing = false,
                Hwnd         = overlay.WindowHandle,
                MeasureFps   = true,
                VSync        = true
            };

            var     d2d         = new Direct2DRenderer(rendererOptions);
            var     trains      = d2d.CreateBrush(0, 0, 0, 0);
            var     blackBrush  = d2d.CreateBrush(0, 0, 0, 255);
            var     redBrush    = d2d.CreateBrush(242, 14, 14, 255);
            var     greenBrush  = d2d.CreateBrush(33, 208, 43, 255);
            var     whiteBrush  = d2d.CreateBrush(255, 255, 255, 200);
            var     blueBrush   = d2d.CreateBrush(0, 0, 255, 255);
            var     grenBrush   = d2d.CreateBrush(33, 208, 43, 180);
            var     greenBrush2 = d2d.CreateBrush(0, 188, 0, 255);
            var     font        = d2d.CreateFont("Tahoma", 8, true);
            var     bigfont     = d2d.CreateFont("Tahoma", 14, true);
            Vector2 center      = new Vector2();

            while (true)
            {
                center.X = Width / 2;
                center.Y = (Height / 2) + 20;
                d2d.BeginScene();
                d2d.ClearScene(trains);
                if (Showbone)
                {
                    var m_pWorld = Mem.ReadMemory <int>(Mem.BaseAddress + Offsets.PyGame + 0x410);
                    List <LUPPI.NP.Word> modal = new List <NP.Word>();
                    var m_pSceneContext        = Mem.ReadMemory <int>(m_pWorld + 0x8);
                    var cameraBase             = Mem.ReadMemory <int>(m_pSceneContext + 0x4);
                    var viewMatrix             = Mem.ReadMatrix <float>(cameraBase + 0xC4, 16);
                    var pSkeletonList          = Mem.ReadMemory <int>(m_pWorld + 0x290);
                    int visibleCount           = Mem.ReadMemory <int>(m_pWorld + 0x278);
                    int coutene = 0;
                    for (int i = 0; i < visibleCount; i++)
                    {
                        int r_pModel    = Mem.ReadMemory <int>(pSkeletonList + i);
                        int m_pAnimator = Mem.ReadMemory <int>(r_pModel + 0x328);
                        if (m_pAnimator > 1)
                        {
                            var intt = Mem.ReadMemory <int>(m_pAnimator + 0x528);
                            //var bon = Mem.ReadMemory<int>(m_pAnimator + 0x970);
                            var name = Mem.ReadString(intt, 35);
                            //float[] b = Mem.ReadMatrix<float>(r_pModel + 0x3B0, 16);
                            if (name.Contains("_male"))
                            {
                                coutene += 1;
                                modal.Add(new NP.Word()
                                {
                                    baseAdd = m_pAnimator, baseModal = r_pModel, isMen = true
                                });
                            }
                            else if (name.Contains("_female"))
                            {
                                coutene += 1;
                                modal.Add(new NP.Word()
                                {
                                    baseAdd = m_pAnimator, baseModal = r_pModel, isMen = false
                                });
                            }
                        }
                    }
                    d2d.DrawTextWithBackground("ENERMY : " + (coutene - 1) + " 💩", 10, 400, bigfont, redBrush, whiteBrush);
                    for (int i = 0; i < modal.Count; i++)
                    {
                        if (i == 0)//LOCALPLAYER POS
                        {
                            var m_Position1 = modal[i].pos;
                            MyPosition.X = m_Position1[12];
                            MyPosition.Y = m_Position1[13];
                            MyPosition.Z = m_Position1[14];
                        }
                        //string name = modal[i].TypeName;
                        //if (name.Contains("dataosha_male") || name.Contains("dataosha_female"))
                        {
                            var     m_Position = modal[i].pos;
                            Vector3 position;
                            position.X = m_Position[12];
                            position.Y = m_Position[13];
                            position.Z = m_Position[14];
                            var p = 0;
                            for (int j = 0; j < 0xE80; j += 0x40)
                            {
                                var ab         = Mem.ReadMemory <int>(modal[i].baseAdd + 0x970);
                                var boneMatrix = Mem.ReadMatrix <float>(ab + j, 16);
                                var bone4      = new LUPPI.NP.Matrix(boneMatrix);
                                var bone24     = new LUPPI.NP.Matrix(m_Position);
                                var result     = LUPPI.NP.Matrix.Multiply(bone4, bone24);
                                var vec3a      = new Vector3(result.M41, result.M42, result.M43);
                                Maths.WorldToScreen3(vec3a, viewMatrix, out var testeee, Width, Height);
                                d2d.DrawText(p.ToString(), testeee.X, testeee.Y, font, whiteBrush);
                                p++;
                            }
                            Maths.WorldToScreen(position, out var testee2, Width, Height);
                            int    khoangCach = Helper.GetDistance(MyPosition, position, 20);
                            string tea        = "[" + khoangCach + "m]";
                            if (khoangCach < 150)
                            {
                                d2d.DrawText(tea, testee2.X - tea.Length, testee2.Y, font, greenBrush2);
                            }
                            else
                            {
                                d2d.DrawText(tea, testee2.X - tea.Length, testee2.Y, font, whiteBrush);
                            }
                        }
                    }
                }
                if (isBoxEsp)
                {
                    Vector2 vector3;
                    LocalPlayer = Mem.ReadMemory <int>(Mem.BaseAddress + Offsets.LocalPlayer);
                    Mem.ReadMemory <int>(Mem.BaseAddress + 0x22);
                    MyPosition = GetEncryptedPosition(LocalPlayer);
                    List <Entity> ls = ReadAllEntity();
                    d2d.DrawTextWithBackground("ENERMY : " + enemyCount.ToString() + " 💩", 10, 400, bigfont, redBrush, whiteBrush);
                    d2d.DrawTextWithBackground("AIM LEG: " + aimLeg.ToString(), 10, 370, bigfont, redBrush, whiteBrush);
                    for (int i = 0; i < ls.Count; i++)
                    {
                        //ls[i].Coordinates.Y += 15f;
                        ls[i].Coordinates = ls[i].GetEncryptedPosition();
                        if (Maths.WorldToScreen(ls[i].Coordinates, out vector3, Width2, Height2))
                        {
                            int   khoangCach = Helper.GetDistance(MyPosition, ls[i].Coordinates, 10);
                            var   widthhp    = 0f;
                            var   widthhp2   = 0f;
                            float numaim     = 2f;
                            if (ls[i].isPlayer && ls[i].hp > 0)
                            {
                                float heiadd = 0f;
                                bool  flag3  = ls[i].pose == Pose.Standing;
                                if (flag3)
                                {
                                    heiadd += 18.5f;
                                }
                                bool flag4 = ls[i].pose == Pose.Prone;
                                if (flag4)
                                {
                                    heiadd += 12.5f;
                                    numaim  = 1.6f;
                                }
                                bool flag5 = ls[i].pose == Pose.Crouching;
                                if (flag5)
                                {
                                    heiadd += 4f;
                                    numaim  = 1.1f;
                                }
                                Vector2 line1, line2, line3, line4, line5, line6, line7, line8;
                                if (isBoxEsp)
                                {
                                    var a1  = ls[i].Coordinates.X;
                                    var a2  = ls[i].Coordinates.Y;
                                    var a3  = ls[i].Coordinates.Z;
                                    var v7  = a1 - 5.5f;
                                    var v8  = a2 - 2.5f;
                                    var v9  = a3 - 5.5f;
                                    var v10 = a1 + 5.5f;
                                    var v12 = a3 + 5.5f;
                                    if (Maths.WorldToScreen(new Vector3(v7, v8, v9), out line1, Width, Height))
                                    {
                                        var v4  = a2 + heiadd;
                                        var v11 = a2 + heiadd;
                                        var v13 = v4;
                                        var v14 = v4;
                                        if (Maths.WorldToScreen(new Vector3(v10, v4, v12), out line2, Width, Height))
                                        {
                                            if (Maths.WorldToScreen(new Vector3(v10, v8, v9), out line3, Width, Height))
                                            {
                                                if (Maths.WorldToScreen(new Vector3(v7, v11, v9), out line4, Width, Height))
                                                {
                                                    if (Maths.WorldToScreen(new Vector3(v7, v8, v12), out line5, Width, Height))
                                                    {
                                                        if (Maths.WorldToScreen(new Vector3(v7, v13, v12), out line6, Width, Height))
                                                        {
                                                            if (Maths.WorldToScreen(new Vector3(v10, v8, v12), out line7, Width, Height))
                                                            {
                                                                if (Maths.WorldToScreen(new Vector3(v10, v14, v9), out line8, Width, Height))
                                                                {
                                                                    d2d.DrawLine(line1.X, line1.Y, line4.X, line4.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line3.X, line3.Y, line8.X, line8.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line7.X, line7.Y, line2.X, line2.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line5.X, line5.Y, line6.X, line6.Y, 1, whiteBrush);

                                                                    //Chan
                                                                    d2d.DrawLine(line1.X, line1.Y, line3.X, line3.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line3.X, line3.Y, line7.X, line7.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line7.X, line7.Y, line5.X, line5.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line5.X, line5.Y, line1.X, line1.Y, 1, whiteBrush);

                                                                    //Dau
                                                                    d2d.DrawLine(line4.X, line4.Y, line8.X, line8.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line8.X, line8.Y, line2.X, line2.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line2.X, line2.Y, line6.X, line6.Y, 1, whiteBrush);
                                                                    d2d.DrawLine(line6.X, line6.Y, line4.X, line4.Y, 1, whiteBrush);

                                                                    widthhp  = (float)Helper.GetDistance2(line4, line2, 1);
                                                                    widthhp2 = (float)Helper.GetDistance2(line6, line8, 1);
                                                                    if (widthhp < widthhp2)
                                                                    {
                                                                        widthhp = widthhp2;
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                var     dy = ls[i].Coordinates.X;
                                var     dy_4 = ls[i].Coordinates.Y;
                                var     v46 = ls[i].Coordinates.Z;
                                var     v27 = dy_4 + 27.0f;
                                Vector2 aimpoint, aimpoint2;
                                if (Maths.WorldToScreen(new Vector3(dy, v27, v46), out aimpoint, Width, Height))
                                {
                                    string tea = ls[i].PlayerName + " [" + khoangCach + " m]";
                                    if (khoangCach < 150)
                                    {
                                        d2d.DrawText(tea, aimpoint.X - tea.Length * 2, aimpoint.Y - 10, font, redBrush);
                                    }
                                    else
                                    {
                                        d2d.DrawText(tea, aimpoint.X - tea.Length * 2, aimpoint.Y - 10, font, whiteBrush);
                                    }

                                    //Player HP
                                    if (ls[i].hp == 100)
                                    {
                                        d2d.DrawVerticalBar(ls[i].hp, aimpoint.X - widthhp / 2, aimpoint.Y - 15f, widthhp, 1, 3, greenBrush2, blackBrush);
                                    }
                                    else
                                    {
                                        d2d.DrawVerticalBar(ls[i].hp, aimpoint.X - widthhp / 2, aimpoint.Y - 15f, widthhp, 1, 3, redBrush, blackBrush);
                                    }
                                }

                                if (Maths.WorldToScreen(new Vector3(dy, v27, v46), out aimpoint, Width, Height2))
                                {
                                    var v41 = dy_4 + heiadd;
                                    if (Maths.WorldToScreen(new Vector3(dy, v41, v46), out aimpoint2, Width, Height2))
                                    {
                                        if ((Maths.InsideCircle((int)center.X, (int)center.Y, 80, (int)aimpoint2.X, (int)aimpoint2.Y)))
                                        {
                                            if (Keyboard.IsKeyDown(Keys.LShiftKey))
                                            {
                                                Cursor.Position = new Point((int)(aimpoint2.X), (int)(aimpoint2.Y));
                                                if (Keyboard.IsKeyDown(Keys.LButton))
                                                {
                                                    Cursor.Position = new Point((int)(aimpoint2.X), (int)(aimpoint2.Y + ls[i].Pitch));
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            if (ls[i].isItem)
                            {
                                if (ls[i].dropID == 1001 || ls[i].dropID == 1002 || ls[i].dropID == 1007 || ls[i].dropID == 1026)
                                {
                                    d2d.DrawText2("[GUN]", vector3.X, vector3.Y, font, whiteBrush, greenBrush2);
                                }
                                else if (ls[i].dropID == 1273 || ls[i].dropID == 1274 || ls[i].dropID == 1275)
                                {
                                    d2d.DrawText2("[SCOPE]", vector3.X, vector3.Y, font, whiteBrush, greenBrush2);
                                }
                                else if (khoangCach < 100)
                                {
                                    //d2d.DrawText("[I]", vector3.X, vector3.Y, font, whiteBrush);
                                }
                            }
                            if (ls[i].isItemDie && khoangCach < 100)
                            {
                                d2d.DrawText2("[DIE]", vector3.X, vector3.Y, font, whiteBrush, greenBrush2);
                            }
                        }
                    }
                }

                d2d.EndScene();
                //Thread.Sleep(1);
            }
        }
コード例 #5
0
ファイル: DXwindow.cs プロジェクト: troniac/OldNewGG
        private void Loop()
        {
            while (true)
            {
                // GC.Collect();
                gfx.BeginScene();

                gfx.ClearScene();

                if (CheatData.panorama)
                {
                    for (int i = 0; i < 100; i++)
                    {
                        MyBaseAdr = mem.Read <int>(CheatData.bClient + Offsets.New.dwLocalPlayer);
                        mteam     = mem.Read <int>(MyBaseAdr + Offsets.New.m_iTeamNum);
                        mycoords  = mem.Read <Vector3>(MyBaseAdr + Offsets.New.m_vecOrigin);
                        eBaseAdr  = mem.Read <int>(CheatData.bClient + Offsets.New.dwEntityList + (i * Offsets.New.Loop_offset));
                        eteam     = mem.Read <int>(eBaseAdr + Offsets.New.m_iTeamNum);
                        dormant   = mem.Read <bool>(eBaseAdr + Offsets.New.m_bDormant);
                        // glowind = mem.Read<int>(eBaseAdr + Offsets.m_iGlowIndex);
                        hp     = mem.Read <int>(eBaseAdr + Offsets.New.m_iHealth);
                        coords = mem.Read <Vector3>(eBaseAdr + Offsets.New.m_vecOrigin);
                        head   = CalcEnemyHead(eBaseAdr, 8);
                        Gres   = mem.Read <int>(CheatData.bClient + Offsets.New.dwPlayerResource);
                        rank   = mem.Read <int>(Gres + Offsets.New.m_iCompetitiveRanking + i * 4);
                        int radar = mem.Read <int>(CheatData.bClient + Offsets.New.dwRadarBase);
                        name = mem.Read <char>(radar + (i * 50) + 0x204, 50);
                        string n = string.Empty;
                        for (int j = 0; j < 49; j++)
                        {
                            n += name[j];
                        }
                        //
                        //    angles = mem.Read<Vector2>(eBaseAdr + Offsets.m_angEyeAngles);

                        mt = mteam;
                        et = eteam;

                        if (MyBaseAdr == 0x0)
                        {
                            continue;
                        }


                        VMatrix = mem.Read <Matrix4x4>(CheatData.bClient + Offsets.New.dwViewMatrix);
                        ScreenVector sv  = WorldToScreen(coords.X, coords.Y, coords.Z);
                        ScreenVector svh = WorldToScreen(head.X, head.Y, head.Z);
                        if (dormant)
                        {
                            continue;
                        }
                        if (hp == 0)
                        {
                            continue;
                        }

                        if (!sv.Result)
                        {
                            continue;
                        }
                        int ex = (int)sv.X;
                        int ey = (int)sv.Y;
                        int sx = WHwindow.Width / 2;
                        int sy = WHwindow.Height;

                        float h = (svh.Y - sv.Y);
                        float w = 18500 / (float)Vector3.Distance(mycoords, coords);
                        float x = (int)(sv.X - w / 2);
                        float y = (sv.Y);

                        if ((eteam != mteam) && mteam != 1)

                        {
                            if (CheatData.lines_wh)
                            {
                                gfx.DrawLine(sx, sy, ex, ey, 2, new Direct2DColor(pen[0], pen[1], pen[2]));
                            }
                            if (CheatData.hp_wh)
                            {
                                gfx.DrawHorizontalBar(hp, x, y, 2, h, 1, new Direct2DColor(255, 0, 0), new Direct2DColor(0, 0, 0));
                            }

                            if (CheatData.box)
                            {
                                double d = Vector3.Distance(mycoords, coords);
                                if (d < 1f)
                                {
                                    continue;
                                }
                                Drawbox(sv.X, sv.Y, (int)d);
                            }
                            if (CheatData.ranks)
                            {
                                gfx.DrawText(n, svh.X, svh.Y, new Direct2DFont(factory, "Arial", 12), new Direct2DColor(255, 0, 0));


                                gfx.DrawText(Ranks[rank], ex, ey, new Direct2DFont(factory, "Arial", 12), new Direct2DColor(255, 0, 0));
                            }
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < 100; i++)
                    {
                        MyBaseAdr = mem.Read <int>(CheatData.bClient + Offsets.Old.dwLocalPlayer);
                        mteam     = mem.Read <int>(MyBaseAdr + Offsets.Old.m_iTeamNum);
                        mycoords  = mem.Read <Vector3>(MyBaseAdr + Offsets.Old.m_vecOrigin);
                        eBaseAdr  = mem.Read <int>(CheatData.bClient + Offsets.Old.dwEntityList + (i * Offsets.New.Loop_offset));
                        eteam     = mem.Read <int>(eBaseAdr + Offsets.Old.m_iTeamNum);
                        dormant   = mem.Read <bool>(eBaseAdr + Offsets.New.m_bDormant);
                        // glowind = mem.Read<int>(eBaseAdr + Offsets.m_iGlowIndex);
                        hp     = mem.Read <int>(eBaseAdr + Offsets.Old.m_iHealth);
                        coords = mem.Read <Vector3>(eBaseAdr + Offsets.Old.m_vecOrigin);
                        head   = CalcEnemyHead(eBaseAdr, 8);
                        Gres   = mem.Read <int>(CheatData.bClient + Offsets.Old.dwPlayerResource);
                        rank   = mem.Read <int>(Gres + Offsets.Old.m_iCompetitiveRanking + i * 4);
                        int radar = mem.Read <int>(CheatData.bClient + Offsets.Old.dwRadarBase);
                        name = mem.Read <char>(radar + (i * 50) + 0x204, 50);
                        string n = string.Empty;
                        for (int j = 0; j < 49; j++)
                        {
                            n += name[j];
                        }
                        //
                        //    angles = mem.Read<Vector2>(eBaseAdr + Offsets.m_angEyeAngles);

                        mt = mteam;
                        et = eteam;

                        if (MyBaseAdr == 0x0)
                        {
                            continue;
                        }


                        VMatrix = mem.Read <Matrix4x4>(CheatData.bClient + Offsets.Old.dwViewMatrix);
                        ScreenVector sv  = WorldToScreen(coords.X, coords.Y, coords.Z);
                        ScreenVector svh = WorldToScreen(head.X, head.Y, head.Z);
                        if (dormant)
                        {
                            continue;
                        }
                        if (hp == 0)
                        {
                            continue;
                        }

                        if (!sv.Result)
                        {
                            continue;
                        }
                        int ex = (int)sv.X;
                        int ey = (int)sv.Y;
                        int sx = WHwindow.Width / 2;
                        int sy = WHwindow.Height;

                        float h = (svh.Y - sv.Y);
                        float w = 18500 / (float)Vector3.Distance(mycoords, coords);
                        float x = (int)(sv.X - w / 2);
                        float y = (sv.Y);

                        if ((eteam != mteam) && mteam != 1)

                        {
                            if (CheatData.lines_wh)
                            {
                                gfx.DrawLine(sx, sy, ex, ey, 2, new Direct2DColor(pen[0], pen[1], pen[2]));
                            }
                            if (CheatData.hp_wh)
                            {
                                gfx.DrawHorizontalBar(hp, x, y, 2, h, 1, new Direct2DColor(255, 0, 0), new Direct2DColor(0, 0, 0));
                            }

                            if (CheatData.box)
                            {
                                double d = Vector3.Distance(mycoords, coords);
                                if (d < 1f)
                                {
                                    continue;
                                }
                                Drawbox(sv.X, sv.Y, (int)d);
                            }
                            if (CheatData.ranks)
                            {
                                gfx.DrawText(n, svh.X, svh.Y, new Direct2DFont(factory, "Arial", 12), new Direct2DColor(255, 0, 0));


                                gfx.DrawText(Ranks[rank], ex, ey, new Direct2DFont(factory, "Arial", 12), new Direct2DColor(255, 0, 0));
                            }
                        }
                    }
                }


                gfx.EndScene();

                //Thread.Sleep(5);
            }
        }
コード例 #6
0
ファイル: Overlay.cs プロジェクト: Handsome1080P/BF4_ESP
        private void DrawAABB(AxisAlignedBox aabb, Matrix tranform, Direct2DBrush color)
        {
            Vector3 m_Position = new Vector3(tranform.M41, tranform.M42, tranform.M43);
            Vector3 fld        = Multiply(new Vector3(aabb.Min.X, aabb.Min.Y, aabb.Min.Z), tranform) + m_Position;
            Vector3 brt        = Multiply(new Vector3(aabb.Max.X, aabb.Max.Y, aabb.Max.Z), tranform) + m_Position;
            Vector3 bld        = Multiply(new Vector3(aabb.Min.X, aabb.Min.Y, aabb.Max.Z), tranform) + m_Position;
            Vector3 frt        = Multiply(new Vector3(aabb.Max.X, aabb.Max.Y, aabb.Min.Z), tranform) + m_Position;
            Vector3 frd        = Multiply(new Vector3(aabb.Max.X, aabb.Min.Y, aabb.Min.Z), tranform) + m_Position;
            Vector3 brb        = Multiply(new Vector3(aabb.Max.X, aabb.Min.Y, aabb.Max.Z), tranform) + m_Position;
            Vector3 blt        = Multiply(new Vector3(aabb.Min.X, aabb.Max.Y, aabb.Max.Z), tranform) + m_Position;
            Vector3 flt        = Multiply(new Vector3(aabb.Min.X, aabb.Max.Y, aabb.Min.Z), tranform) + m_Position;

            #region WorldToScreen
            if (!WorldToScreen(fld, out fld) || !WorldToScreen(brt, out brt) ||
                !WorldToScreen(bld, out bld) || !WorldToScreen(frt, out frt) ||
                !WorldToScreen(frd, out frd) || !WorldToScreen(brb, out brb) ||
                !WorldToScreen(blt, out blt) || !WorldToScreen(flt, out flt))
            {
                return;
            }
            #endregion

            #region DrawLines
            d2d.DrawLine(fld.X, fld.Y, flt.X, flt.Y, 1, color);
            d2d.DrawLine(flt.X, flt.Y, frt.X, frt.Y, 1, color);
            d2d.DrawLine(frt.X, frt.Y, frd.X, frd.Y, 1, color);
            d2d.DrawLine(frd.X, frd.Y, fld.X, fld.Y, 1, color);
            d2d.DrawLine(bld.X, bld.Y, blt.X, blt.Y, 1, color);
            d2d.DrawLine(blt.X, blt.Y, brt.X, brt.Y, 1, color);
            d2d.DrawLine(brt.X, brt.Y, brb.X, brb.Y, 1, color);
            d2d.DrawLine(brb.X, brb.Y, bld.X, bld.Y, 1, color);
            d2d.DrawLine(fld.X, fld.Y, bld.X, bld.Y, 1, color);
            d2d.DrawLine(frd.X, frd.Y, brb.X, brb.Y, 1, color);
            d2d.DrawLine(flt.X, flt.Y, blt.X, blt.Y, 1, color);
            d2d.DrawLine(frt.X, frt.Y, brt.X, brt.Y, 1, color);
            #endregion
        }
コード例 #7
0
        private void DrawAABB(Frostbite.TransformAABBStruct TransformAABB, Direct2DBrush brush)
        {
            Vector3 pos = TransformAABB.Matrix.TranslationVector;

            Vector3 min = new Vector3(TransformAABB.AABB.Min.X, TransformAABB.AABB.Min.Y, TransformAABB.AABB.Min.Z);
            Vector3 max = new Vector3(TransformAABB.AABB.Max.X, TransformAABB.AABB.Max.Y, TransformAABB.AABB.Max.Z);

            Vector3 crnr2 = pos + gameManager.MultiplyMat(new Vector3(max.X, min.Y, min.Z), TransformAABB.Matrix);
            Vector3 crnr3 = pos + gameManager.MultiplyMat(new Vector3(max.X, min.Y, max.Z), TransformAABB.Matrix);
            Vector3 crnr4 = pos + gameManager.MultiplyMat(new Vector3(min.X, min.Y, max.Z), TransformAABB.Matrix);
            Vector3 crnr5 = pos + gameManager.MultiplyMat(new Vector3(min.X, max.Y, max.Z), TransformAABB.Matrix);
            Vector3 crnr6 = pos + gameManager.MultiplyMat(new Vector3(min.X, max.Y, min.Z), TransformAABB.Matrix);
            Vector3 crnr7 = pos + gameManager.MultiplyMat(new Vector3(max.X, max.Y, min.Z), TransformAABB.Matrix);

            min = pos + gameManager.MultiplyMat(min, TransformAABB.Matrix);
            max = pos + gameManager.MultiplyMat(max, TransformAABB.Matrix);

            if (!gameManager.WorldToScreen(min, out min) || !gameManager.WorldToScreen(max, out max) ||
                !gameManager.WorldToScreen(crnr2, out crnr2) || !gameManager.WorldToScreen(crnr3, out crnr3) ||
                !gameManager.WorldToScreen(crnr4, out crnr4) || !gameManager.WorldToScreen(crnr5, out crnr5) ||
                !gameManager.WorldToScreen(crnr6, out crnr6) || !gameManager.WorldToScreen(crnr7, out crnr7))
            {
                return;
            }

            d2d.DrawLine(min.X, min.Y, crnr2.X, crnr2.Y, 1, brush);
            d2d.DrawLine(min.X, min.Y, crnr4.X, crnr4.Y, 1, brush);
            d2d.DrawLine(min.X, min.Y, crnr6.X, crnr6.Y, 1, brush);

            d2d.DrawLine(max.X, max.Y, crnr5.X, crnr5.Y, 1, brush);
            d2d.DrawLine(max.X, max.Y, crnr7.X, crnr7.Y, 1, brush);
            d2d.DrawLine(max.X, max.Y, crnr3.X, crnr3.Y, 1, brush);

            d2d.DrawLine(crnr2.X, crnr2.Y, crnr7.X, crnr7.Y, 1, brush);
            d2d.DrawLine(crnr2.X, crnr2.Y, crnr3.X, crnr3.Y, 1, brush);

            d2d.DrawLine(crnr4.X, crnr4.Y, crnr5.X, crnr5.Y, 1, brush);
            d2d.DrawLine(crnr4.X, crnr4.Y, crnr3.X, crnr3.Y, 1, brush);

            d2d.DrawLine(crnr6.X, crnr6.Y, crnr5.X, crnr5.Y, 1, brush);
            d2d.DrawLine(crnr6.X, crnr6.Y, crnr7.X, crnr7.Y, 1, brush);
        }