internal static void SingalPatch(On.Menu.OptionsMenu.orig_Singal orig, OptionsMenu menu, MenuObject sender, string message)
        {
            if (message == "MOD CONFIG")
            {
                mod = true;
                menu.PlaySound(SoundID.MENU_Switch_Page_In);
                menu.manager.rainWorld.options.Save();
                //this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu);
                menu.manager.soundLoader.ReleaseAllUnityAudio();

                modmenu = new ConfigMenu(menu.manager);
                menu.manager.currentMainLoop = modmenu;
                modmenu.vanillaMenu          = menu;
                modmenu.OpenMenu();
            }
            else
            {
                orig.Invoke(menu, sender, message);
            }
        }
        public static void SingalPatch(On.Menu.OptionsMenu.orig_Singal orig, OptionsMenu menu, MenuObject sender, string message)
        {
            if (message != null)
            {
                if (tuch6A == null)
                {
                    Dictionary <string, int> dictionary = new Dictionary <string, int>(6)
                    {
                        { "Toggle Fullscreen", 0 },
                        { "BACK", 1 },
                        { "CREDITS", 2 },
                        { "RESET PROGRESS", 3 },
                        { "INPUT", 4 },

                        { "MOD CONFIG", 5 }
                    };//5
                    tuch6A = dictionary;
                }
                if (tuch6A.TryGetValue(message, out int num))
                {
                    switch (num)
                    {
                    case 0:
                        menu.manager.rainWorld.options.windowed = !menu.manager.rainWorld.options.windowed;
                        resolutionDirty = true;
                        menu.PlaySound(SoundID.MENU_Button_Standard_Button_Pressed);
                        break;

                    case 1:
                        menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.MainMenu);
                        menu.PlaySound(SoundID.MENU_Switch_Page_Out);
                        menu.manager.rainWorld.options.Save();
                        break;

                    case 2:
                        menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.Credits);
                        menu.PlaySound(SoundID.MENU_Switch_Page_In);
                        menu.manager.rainWorld.options.Save();
                        break;

                    case 3:
                        menu.manager.rainWorld.progression.WipeAll();
                        menu.PlaySound(SoundID.MENU_Switch_Page_In);
                        menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu);
                        break;

                    case 4:
                        menu.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.InputOptions);
                        menu.PlaySound(SoundID.MENU_Switch_Page_In);
                        menu.manager.rainWorld.options.Save();
                        break;

                    case 5:
                        mod = true;
                        menu.PlaySound(SoundID.MENU_Switch_Page_In);
                        menu.manager.rainWorld.options.Save();
                        //this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu);
                        menu.manager.soundLoader.ReleaseAllUnityAudio();

                        modmenu = new ConfigMenu(menu.manager);
                        menu.manager.currentMainLoop = modmenu;
                        modmenu.vanillaMenu          = menu;
                        modmenu.OpenMenu();
                        break;
                    }
                }
            }
        }