public static void EnterNewSubMenu(DbgMenuItem menu)
        {
            CFG.Save();

            menu.RequestTextRefresh();
            DbgMenuStack.Push(CurrentMenu);
            CurrentMenu = menu;
        }
        public static void GoBack()
        {
            CFG.Save();

            if (DbgMenuStack.Count > 0)
            {
                CurrentMenu = DbgMenuStack.Pop();
            }
        }
 public override void OnSave(ConfigNode node)
 {
     if ((enabled || HighLogic.LoadedSceneIsEditor) && CFG != null)
     {
         AllModules.ForEach(m => m.SaveToConfig());
         CFG.Save(node.AddNode(VesselConfig.NODE_NAME));
     }
     base.OnSave(node);
 }
Exemple #4
0
        public static void Update(float elapsedSeconds)
        {
            var gamepad  = DBG.EnableGamePadInput ? GamePad.GetState(0) : DBG.DisabledGamePadState;
            var keyboard = DBG.EnableKeyboardInput ? Keyboard.GetState() : DBG.DisabledKeyboardState;
            var mouse    = DBG.EnableMouseInput ? Mouse.GetState() : DBG.DisabledMouseState;

            if (DbgMenuItem.MenuOpenState == DbgMenuOpenState.Open)
            {
                Up.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Up));
                Down.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Down));
                Left.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Left));
                Right.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Right));
                Enter.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Enter));
                Cancel.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Back) || mouse.RightButton == ButtonState.Pressed);
                ResetDefault.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Home));
                PauseRendering.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.Pause));

                MoveFastHeld = gamepad.IsButtonDown(Buttons.LeftShoulder) ||
                               (Main.Active && (keyboard.IsKeyDown(Keys.LeftShift) || keyboard.IsKeyDown(Keys.RightShift)));
                MoveFasterHeld = gamepad.IsButtonDown(Buttons.X) ||
                                 (Main.Active && (keyboard.IsKeyDown(Keys.LeftControl) || keyboard.IsKeyDown(Keys.RightControl)));

                if (gamepad.IsButtonDown(Buttons.RightShoulder))
                {
                    var isFast = gamepad.IsButtonDown(Buttons.LeftShoulder);
                    MenuRectMove   = gamepad.ThumbSticks.Left * new Vector2(1, -1) * (isFast ? 50 : 12);
                    MenuRectResize = gamepad.ThumbSticks.Right * new Vector2(1, -1) * (isFast ? 50 : 12);
                }
                else
                {
                    MenuRectMove   = Vector2.Zero;
                    MenuRectResize = Vector2.Zero;
                }


                if (Main.Active)
                {
                    ClickMouse.Update(gamepad, elapsedSeconds, mouse.LeftButton == ButtonState.Pressed);
                    MiddleClickMouse.Update(gamepad, elapsedSeconds, mouse.MiddleButton == ButtonState.Pressed);

                    MousePos = new Point(mouse.X - TaeInterop.ModelViewerWindowRect.X, mouse.Y - TaeInterop.ModelViewerWindowRect.Y);

                    IsMouseMovedThisFrame = (MousePos != prevMousePos);



                    IsSpacebarHeld = keyboard.IsKeyDown(Keys.Space);

                    float mouseWheel = mouse.ScrollWheelValue;
                    MouseWheelDelta = (mouseWheel - prevMouseWheel);
                    prevMouseWheel  = mouseWheel;
                }
            }
            else
            {
                MenuRectMove   = Vector2.Zero;
                MenuRectResize = Vector2.Zero;
                prevMouseWheel = mouse.ScrollWheelValue;
            }

            var mouseOver = Main.Active ? DbgMenuItem.DbgMenuTopLeftButtonRect.Contains(
                new Point(mouse.X - TaeInterop.ModelViewerWindowRect.X, mouse.Y - TaeInterop.ModelViewerWindowRect.Y)) : false;
            var prevMouseOver = DbgMenuItem.DbgMenuTopLeftButtonRect.Contains(prevMousePos);

            if (mouseOver)
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Hand;
            }
            else
            {
                System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;
            }

            if (ToggleMenu.Update(gamepad, elapsedSeconds, keyboard.IsKeyDown(Keys.OemTilde) ||
                                  (mouse.LeftButton == ButtonState.Pressed &&
                                   mouseOver)))
            {
                if (DbgMenuItem.MenuOpenState == DbgMenuOpenState.Closed)
                {
                    DbgMenuItem.MenuOpenState = DbgMenuOpenState.Open;
                }
                else if (DbgMenuItem.MenuOpenState == DbgMenuOpenState.Open)
                {
                    DbgMenuItem.MenuOpenState = DbgMenuOpenState.Visible;
                }
                else if (DbgMenuItem.MenuOpenState == DbgMenuOpenState.Visible)
                {
                    DbgMenuItem.MenuOpenState = DbgMenuOpenState.Closed;
                }

                CFG.Save();
            }

            prevMousePos = MousePos;
        }
 public virtual void OnClick()
 {
     CFG.Save();
     ClickAction?.Invoke(this);
 }
Exemple #6
0
        public static void Init()
        {
            CurrentMenu.Text  = "Main Menu";
            CurrentMenu.Items = new List <DbgMenuItem>()
            {
                //new DbgMenuItem()
                //{
                //    Text = "<-- TESTING -->",
                //    Items = new List<DbgMenuItem>
                //    {
                //        new DbgMenuItem()
                //        {
                //            Text = "Write TextureFetchRequest.DEBUG_AllKnownDS1Formats to Console",
                //            ClickAction = () =>
                //            {
                //                foreach (var f in TextureFetchRequest.DEBUG_AllKnownDS1Formats)
                //                {
                //                    Console.WriteLine(f.ToString());
                //                }
                //            }
                //        }
                //    }
                //},
                new DbgMenuItemSceneList(isModelGroupingKind: false)
                {
                    Text = "Scene Parts"
                },
                new DbgMenuItemSceneList(isModelGroupingKind: true)
                {
                    Text = "Scene Models"
                },
                new DbgMenuItem()
                {
                    Text        = "Click to remove all debug primitives",
                    ClickAction = (m) => DBG.ClearPrimitives()
                },
                new DbgMenuItem()
                {
                    Text  = "Game Data",
                    Items = new List <DbgMenuItem>
                    {
                        new DbgMenuItemTextLabel(() => $"Data Root: \"{InterrootLoader.Interroot}\"\n     [Click to Browse...]")
                        {
                            ClickAction = (m) =>
                            {
                                InterrootLoader.Browse();
                                CurrentMenu.RequestTextRefresh();
                            }
                        },
                        new DbgMenuItemEnum <InterrootLoader.InterrootType>("Game Type",
                                                                            v =>
                        {
                            InterrootLoader.Type = v;
                            CFG.Save();
                        },
                                                                            () => InterrootLoader.Type,
                                                                            nameOverrides: new Dictionary <InterrootLoader.InterrootType, string>
                        {
                            { InterrootLoader.InterrootType.InterrootBloodborne, "Bloodborne" },
                            { InterrootLoader.InterrootType.InterrootDS1, "Dark Souls" },
                            { InterrootLoader.InterrootType.InterrootDS1R, "Dark Souls Remastered" },
                            // { InterrootLoader.InterrootType.InterrootDS2, "Dark Souls II" },
                            { InterrootLoader.InterrootType.InterrootDS3, "Dark Souls III" },
                        }
                                                                            ),
                        new DbgMenuItem()
                        {
                            Text        = "Refresh Spawn Lists",
                            ClickAction = m =>
                            {
                                DbgMenuItemSpawnChr.UpdateSpawnIDs();
                                DbgMenuItemSpawnObj.UpdateSpawnIDs();
                                DbgMenuItemSpawnMap.UpdateSpawnIDs();
                            }
                        },
                        new DbgMenuItemTaskKiller()
                        {
                            Text = "[LOAD TASK KILLER]"
                        },
                        new DbgMenuItem()
                        {
                            Text        = "Scan All Separate Texture Files (DS1 Only)",
                            ClickAction = (m) =>
                            {
                                TexturePool.AddAllExternalDS1TexturesInBackground();
                            }
                        },
                        new DbgMenuItem()
                        {
                            Text        = "Purge Texture Cache",
                            ClickAction = (m) =>
                            {
                                TexturePool.Flush();
                            }
                        },
                        new DbgMenuItem()
                        {
                            Text        = "[CLICK TO CLEAR SCENE MODELS]",
                            ClickAction = (m) => GFX.ModelDrawer.ClearScene()
                        },
                        new DbgMenuItem()
                        {
                            Text        = "[CLICK TO CLEAR SCENE REGIONS]",
                            ClickAction = (m) => DBG.ClearPrimitives()
                        },
                        new DbgMenuItemSpawnChr()
                        {
                            CustomColorFunction = () => Color.Cyan
                        },
                        new DbgMenuItemSpawnObj()
                        {
                            CustomColorFunction = () => Color.Cyan
                        },
                        new DbgMenuItemSpawnMap(isRegionSpawner: false),
                        new DbgMenuItemSpawnMap(isRegionSpawner: true)
                        {
                            CustomColorFunction = () => Color.Cyan
                        },
                        new DbgMenuItem()
                        {
                            Text                = "Load All Characters Lineup",
                            ClickAction         = (m) => GFX.ModelDrawer.TestAddAllChr(),
                            CustomColorFunction = () => LoadingTaskMan.IsTaskRunning($"{nameof(GFX.ModelDrawer.TestAddAllChr)}") ? Color.Cyan * 0.5f : Color.Cyan
                        },
                        new DbgMenuItem()
                        {
                            Text                = "Load All Objects Lineup",
                            ClickAction         = (m) => GFX.ModelDrawer.TestAddAllObj(),
                            CustomColorFunction = () => LoadingTaskMan.IsTaskRunning($"{nameof(GFX.ModelDrawer.TestAddAllObj)}") ? Color.Cyan * 0.5f : Color.Cyan
                        },
                    }
                },
                //new DbgMenuItem()
                //{
                //    Text = "[DIAGNOSTICS]",
                //    Items = new List<DbgMenuItem>
                //    {
                //        new DbgMenuItem()
                //        {
                //            Text = $"Log {nameof(InterrootLoader)}.{nameof(InterrootLoader.DDS_INFO)}",
                //            ClickAction = () =>
                //            {
                //                foreach (var x in InterrootLoader.DDS_INFO)
                //                {
                //                    Console.WriteLine($"{x.Name} - {x.DDSFormat}");
                //                }
                //            }
                //        }
                //    }
                //},
                new DbgMenuItem()
                {
                    Text  = "General Options",
                    Items = new List <DbgMenuItem>
                    {
                        new DbgMenuItemGfxFlverShaderAdjust(),
                        //new DbgMenuItemGfxBlendStateAdjust(),
                        //new DbgMenuItemGfxDepthStencilStateAdjust(),
                        new DbgMenuItemEnum <LODMode>("LOD Mode", v => GFX.LODMode = v, () => GFX.LODMode,
                                                      nameOverrides: new Dictionary <LODMode, string>
                        {
                            { LODMode.ForceFullRes, "Force Full Resolution" },
                            { LODMode.ForceLOD1, "Force LOD Level 1" },
                            { LODMode.ForceLOD2, "Force LOD Level 2" },
                        }),
                        new DbgMenuItemNumber("LOD1 Distance", 0, 10000, 1,
                                              (f) => GFX.LOD1Distance = f, () => GFX.LOD1Distance),
                        new DbgMenuItemNumber("LOD2 Distance", 0, 10000, 1,
                                              (f) => GFX.LOD2Distance = f, () => GFX.LOD2Distance),
                        new DbgMenuItemBool("Show Map Region Names", "YES", "NO",
                                            (b) => DBG.ShowPrimitiveNametags = b, () => DBG.ShowPrimitiveNametags),
                        new DbgMenuItemBool("Show Model Names", "YES", "NO",
                                            (b) => DBG.ShowModelNames = b, () => DBG.ShowModelNames),
                        new DbgMenuItemBool("Show Model Bounding Boxes", "YES", "NO",
                                            (b) => DBG.ShowModelBoundingBoxes = b, () => DBG.ShowModelBoundingBoxes),
                        new DbgMenuItemBool("Show Model Submesh Bounding Boxes", "YES", "NO",
                                            (b) => DBG.ShowModelSubmeshBoundingBoxes = b, () => DBG.ShowModelSubmeshBoundingBoxes),
                        new DbgMenuItemBool("Show Grid", "YES", "NO",
                                            (b) => DBG.ShowGrid = b, () => DBG.ShowGrid),
                        new DbgMenuItemBool("Textures", "ON", "OFF",
                                            (b) => GFX.EnableTextures = b, () => GFX.EnableTextures),
                        new DbgMenuItemBool("Wireframe Mode", "ON", "OFF",
                                            (b) => GFX.Wireframe = b, () => GFX.Wireframe),
                        new DbgMenuItemBool("View Frustum Culling (Experimental)", "ON", "OFF",
                                            (b) => GFX.EnableFrustumCulling = b, () => GFX.EnableFrustumCulling),
                        new DbgMenuItemNumber("Vertical Field of View (Degrees)", 20, 150, 1,
                                              (f) => GFX.World.FieldOfView = f, () => GFX.World.FieldOfView,
                                              (f) => $"{((int)(Math.Round(f)))}"),
                        new DbgMenuItemNumber("Camera Turn Speed (Gamepad)", 0.01f, 10f, 0.01f,
                                              (f) => GFX.World.CameraTurnSpeedGamepad = f, () => GFX.World.CameraTurnSpeedGamepad),
                        new DbgMenuItemNumber("Camera Turn Speed (Mouse)", 0.001f, 10f, 0.001f,
                                              (f) => GFX.World.CameraTurnSpeedMouse = f, () => GFX.World.CameraTurnSpeedMouse),
                        new DbgMenuItemNumber("Camera Move Speed", 0.1f, 100f, 0.1f,
                                              (f) => GFX.World.CameraMoveSpeed = f, () => GFX.World.CameraMoveSpeed),
                        new DbgMenuItemNumber("Near Clip Distance", 0.0001f, 5, 0.0001f,
                                              (f) => GFX.World.NearClipDistance = f, () => GFX.World.NearClipDistance),
                        new DbgMenuItemNumber("Far Clip Distance", 100, 1000000, 100,
                                              (f) => GFX.World.FarClipDistance = f, () => GFX.World.FarClipDistance),
                    }
                },
                new DbgMenuItem()
                {
                    Text  = "Graphics Options",
                    Items = new List <DbgMenuItem>
                    {
                        new DbgMenuItemResolutionChange(),
                        new DbgMenuItemBool("Fullscreen", "YES", "NO", v => GFX.Display.Fullscreen  = v, () => GFX.Display.Fullscreen),
                        new DbgMenuItemBool("Vsync", "ON", "OFF", v => GFX.Display.Vsync            = v, () => GFX.Display.Vsync),
                        new DbgMenuItemBool("Simple MSAA", "ON", "OFF", v => GFX.Display.SimpleMSAA = v, () => GFX.Display.SimpleMSAA),
                        new DbgMenuItem()
                        {
                            Text        = "Apply Changes",
                            ClickAction = (m) => GFX.Display.Apply(),
                        }
                    }
                },
                new DbgMenuItem()
                {
                    Text        = "Return Camera to Origin",
                    ClickAction = m => GFX.World.ResetCameraLocation()
                },
                new DbgMenuItem()
                {
                    Text  = "Help",
                    Items = new List <DbgMenuItem>
                    {
                        new DbgMenuItem()
                        {
                            Text  = "Menu Overlay Controls (Gamepad)",
                            Items = new List <DbgMenuItem>
                            {
                                new DbgMenuItem()
                                {
                                    Text = "Back: Toggle Menu (Active/Visible/Hidden)"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "D-Pad Up/Down: Move Cursor Up/Down"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "A: Enter/Activate (when applicable)"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "B: Go Back (when applicable)"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "D-Pad Left/Right: Decrease/Increase"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Start: Reset Value to Default"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold LB: Increase/Decrease 10x Faster"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold X: Increase/Decrease 100x Faster"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold RB + Move LS: Move Menu"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold RB + Move RS: Resize Menu"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold LB + Move or Resize Menu: Move or Resize Menu Faster"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Click RS: Toggle 3D Render Pause"
                                },
                            }
                        },
                        new DbgMenuItem()
                        {
                            Text  = "General 3D Controls (Gamepad)",
                            Items = new List <DbgMenuItem>
                            {
                                new DbgMenuItem()
                                {
                                    Text = "LS: Move Camera Laterally"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "LT: Move Camera Directly Downward"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "RT: Move Camera Directly Upward"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "RS: Turn Camera"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold LB: Move Camera More Slowly"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold RB: Move Camera More Quickly"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Click LS and Hold: Turn Light With RS Instead of Camera"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Click RS: Reset Camera To Origin"
                                },
                            }
                        },
                        new DbgMenuItem()
                        {
                            Text  = "Menu Overlay Controls (Mouse & Keyboard)",
                            Items = new List <DbgMenuItem>
                            {
                                new DbgMenuItem()
                                {
                                    Text = "Tilde (~): Toggle Menu (Active/Visible/Hidden)"
                                },

                                new DbgMenuItem()
                                {
                                    Text = "Move Mouse Cursor: Move Cursor"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Spacebar + Scroll Mouse Wheel: Change Values"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Mouse Wheel: Scroll Menu"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Enter/Left Click: Enter/Activate (when applicable)"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Backspace/Right Click: Go Back (when applicable)"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Up/Down: Move Cursor Up/Down"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Left/Right: Decrease/Increase"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Home/Middle Click: Reset Value to Default"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Shift: Increase/Decrease 10x Faster"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Ctrl: Increase/Decrease 100x Faster"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Pause Key: Toggle 3D Render Pause"
                                },
                            }
                        },
                        new DbgMenuItem()
                        {
                            Text  = "General 3D Controls (Mouse & Keyboard)",
                            Items = new List <DbgMenuItem>
                            {
                                new DbgMenuItem()
                                {
                                    Text = "WASD: Move Camera Laterally"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Q: Move Camera Directly Downward"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "E: Move Camera Directly Upward"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Right Click + Move Mouse: Turn Camera"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Shift: Move Camera More Slowly"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Ctrl: Move Camera More Quickly"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "Hold Spacebar: Turn Light With Mouse Instead of Camera"
                                },
                                new DbgMenuItem()
                                {
                                    Text = "R: Reset Camera To Origin"
                                },
                            }
                        },
                    }
                },
                new DbgMenuItem()
                {
                    Text  = "Exit",
                    Items = new List <DbgMenuItem>
                    {
                        new DbgMenuItem()
                        {
                            Text = "Are you sure you want to exit?"
                        },
                        new DbgMenuItem()
                        {
                            Text        = "No",
                            ClickAction = (m) => REQUEST_GO_BACK = true
                        },
                        new DbgMenuItem()
                        {
                            Text        = "Yes",
                            ClickAction = (m) => Main.REQUEST_EXIT = true
                        }
                    }
                },
            };
        }
Exemple #7
0
        public static void ApplySettings()
        {
            CFG config = new CFG(Path.Combine(Config.Instance.ClientPath, CONFIG_PATH));

            config.Set("General", "WindowMode", "1");
            config.Set("General", "Width", "1024");
            config.Set("General", "Height", "768");
            config.Set("General", "Colors", "32");
            config.Set("General", "RelativeTeamColors", "1");
            config.Set("General", "UserSetResolution", "1");
            config.Set("General", "Antialiasing", "0");
            config.Set("General", "AutoAcquireTarget", "1");


            config.Set("Performance", "GraphicsSlider", "6");
            config.Set("Performance", "ShadowsEnabled", "1");
            config.Set("Performance", "CharacterInking", "1");
            config.Set("Performance", "EnableHUDAnimations", "0");
            config.Set("Performance", "EnableParticleOptimizations", "0");
            config.Set("Performance", "BudgetOverdrawAverage", "10");
            config.Set("Performance", "BudgetSkinnedVertexCount", "200000");
            config.Set("Performance", "BudgetSkinnedDrawCallCount", "100");
            config.Set("Performance", "BudgetTextureUsage", "150000");
            config.Set("Performance", "BudgetVertexCount", "500000");
            config.Set("Performance", "BudgetTriangleCount", "300000");
            config.Set("Performance", "BudgetDrawCallCount", "1000");
            config.Set("Performance", "EnableGrassSwaying", "1");
            config.Set("Performance", "EnableFXAA", "1");
            config.Set("Performance", "FrameCapType", "8");
            config.Set("Performance", "ShadowQuality", "4");
            config.Set("Performance", "EffectsQuality", "4");
            config.Set("Performance", "EnvironmentQuality", "4");
            config.Set("Performance", "CharacterQuality", "4");
            config.Set("Performance", "AutoPerformanceSettings", "1");


            config.Set("HUD", "ShowTimestamps", "0");
            config.Set("HUD", "ShowNeutralCamps", "1");
            config.Set("HUD", "ObjectTooltips", "1");
            config.Set("HUD", "MinimapMoveSelf", "1");
            config.Set("HUD", "DrawHealthBars", "1");
            config.Set("HUD", "ChatScale", "100");
            config.Set("HUD", "AutoDisplayTarget", "1");
            config.Set("HUD", "FlashScreenWhenStunned", "1");
            config.Set("HUD", "FlashScreenWhenDamaged", "1");
            config.Set("HUD", "ShowPlayerPerks", "0");
            config.Set("HUD", "ShowPlayerStats", "1");
            config.Set("HUD", "ShowAllChannelChatSpectator", "0");
            config.Set("HUD", "GlobalScaleReplay", "1.0000");
            config.Set("HUD", "ReplayScrollSmoothingEnabled", "0");
            config.Set("HUD", "ReplayMiddleMouseScrollSpeed", "0.5000");
            config.Set("HUD", "ItemShopPrevY", "0");
            config.Set("HUD", "ItemShopPrevX", "15");
            config.Set("HUD", "ItemShopResizeHeight", "76");
            config.Set("HUD", "ItemShopResizeWidth", "260");
            config.Set("HUD", "ItemShopPrevResizeHeight", "1080");
            config.Set("HUD", "ItemShopPrevResizeWidth", "1920");
            config.Set("HUD", "ShowAlliedChat", "1");
            config.Set("HUD", "ShowAllChannelChat", "1");
            config.Set("HUD", "GlobalScale", "1.0000");
            config.Set("HUD", "MinimapScale", "1.0000");
            config.Set("HUD", "DeathRecapScale", "1.0000");
            config.Set("HUD", "PracticeToolScale", "1.0000");
            config.Set("HUD", "ItemShopItemDisplayMode", "0");
            config.Set("HUD", "ItemShopStartPane", "1");
            config.Set("HUD", "DisableMouseCaptureDebugger", "0");
            config.Set("HUD", "ShowSpellCosts", "0");
            config.Set("HUD", "NameTagDisplay", "1");
            config.Set("HUD", "ShowChampionIndicator", "0");
            config.Set("HUD", "ShowSummonerNames", "1");
            config.Set("HUD", "CameraLockMode", "0");
            config.Set("HUD", "MiddleClickDragScrollEnabled", "0");
            config.Set("HUD", "ScrollSmoothingEnabled", "0");
            config.Set("HUD", "KeyboardScrollSpeed", "0.0000");
            config.Set("HUD", "MiddleMouseScrollSpeed", "0.5000");
            config.Set("HUD", "MapScrollSpeed", "0.5000");
            config.Set("HUD", "ShowAttackRadius", "1");
            config.Set("HUD", "NumericCooldownFormat", "1");
            config.Set("HUD", "EternalsMilestoneDisplayMode", "0");
            config.Set("HUD", "HideEnemySummonerEmotes", "0");
            config.Set("HUD", "DisableHudSpellClick", "0");
            config.Set("HUD", "SmartCastWithIndicator_CastWhenNewSpellSelected", "0");
            config.Set("HUD", "SmartCastOnKeyRelease", "0");
            config.Set("HUD", "EnableLineMissileVis", "1");
            config.Set("HUD", "ShowSummonerNamesInScoreboard", "0");
            config.Set("HUD", "MirroredScoreboard", "0");
            config.Set("HUD", "ShowTeamFramesOnLeft", "0");
            config.Set("HUD", "FlipMiniMap", "0");


            config.Set("Chat", "Transparency", "0.0000");
            config.Set("Chat", "ChatY", "0");
            config.Set("Chat", "ChatX", "0");
            config.Set("Chat", "EnableChatFilter", "1");

            config.Set("Accessibility", "ColorContrast", "0.5000");
            config.Set("Accessibility", "ColorBrightness", "0.5000");
            config.Set("Accessibility", "ColorGamma", "0.5000");
            config.Set("Accessibility", "ColorLevel", "0.5000");

            config.Save();

            CMDOutput.Write("League Of Legends settings applied.", CMDMessage.info2);

            CFG file = new CFG(Path.Combine(Config.Instance.ClientPath, KEYCONFIG_PATH));


            file.Set("GameEvents", "evtSelectSelf", "[F1]");
            file.Set("GameEvents", "evtSelectAlly4", "[F5]");
            file.Set("GameEvents", "evtSelectAlly3", "[F4]");
            file.Set("GameEvents", "evtSelectAlly2", "[F3]");
            file.Set("GameEvents", "evtSelectAlly1", "[F2]");


            file.Set("GameEvents", "evtCastSpell1", "[1]");
            file.Set("GameEvents", "evtCastSpell2", "[2]");
            file.Set("GameEvents", "evtCastSpell3", "[3]");
            file.Set("GameEvents", "evtCastSpell4", "[4]");


            file.Set("GameEvents", "evtUseItem1", "[q]");
            file.Set("GameEvents", "evtUseItem2", "[w]");
            file.Set("GameEvents", "evtUseItem3", "[e]");

            file.Save();

            string target = Path.Combine(Config.Instance.ClientPath, PERSISTED_CONFIG_PATH);

            File.Copy("PersistedSettings.json", target, true);
        }