Пример #1
0
        public static void DoSettingsDialog(IMainFormForConfig mainForm, BsnesCore bsnes)
        {
            var s  = bsnes.GetSettings();
            var ss = bsnes.GetSyncSettings();

            using var dlg = new BSNESOptions
                  {
                      AlwaysDoubleSize = s.AlwaysDoubleSize,
                      CropSGBFrame     = s.CropSGBFrame,
                      Entropy          = ss.Entropy,
                      RegionOverride   = ss.RegionOverride,
                      Hotfixes         = ss.Hotfixes,
                      FastPPU          = ss.FastPPU,
                      FastDSP          = ss.FastDSP,
                      FastCoprocessors = ss.FastCoprocessors,
                      UseSGB2          = ss.UseSGB2,
                      ShowObj1         = s.ShowOBJ_0,
                      ShowObj2         = s.ShowOBJ_1,
                      ShowObj3         = s.ShowOBJ_2,
                      ShowObj4         = s.ShowOBJ_3,
                      ShowBg1_0        = s.ShowBG1_0,
                      ShowBg1_1        = s.ShowBG1_1,
                      ShowBg2_0        = s.ShowBG2_0,
                      ShowBg2_1        = s.ShowBG2_1,
                      ShowBg3_0        = s.ShowBG3_0,
                      ShowBg3_1        = s.ShowBG3_1,
                      ShowBg4_0        = s.ShowBG4_0,
                      ShowBg4_1        = s.ShowBG4_1
                  };

            DialogResult result = mainForm.ShowDialogAsChild(dlg);

            if (result == DialogResult.OK)
            {
                s.AlwaysDoubleSize  = dlg.AlwaysDoubleSize;
                s.CropSGBFrame      = dlg.CropSGBFrame;
                ss.Entropy          = dlg.Entropy;
                ss.RegionOverride   = dlg.RegionOverride;
                ss.Hotfixes         = dlg.Hotfixes;
                ss.FastPPU          = dlg.FastPPU;
                ss.FastDSP          = dlg.FastDSP;
                ss.FastCoprocessors = dlg.FastCoprocessors;
                ss.UseSGB2          = dlg.UseSGB2;
                s.ShowOBJ_0         = dlg.ShowObj1;
                s.ShowOBJ_1         = dlg.ShowObj2;
                s.ShowOBJ_2         = dlg.ShowObj3;
                s.ShowOBJ_3         = dlg.ShowObj4;
                s.ShowBG1_0         = dlg.ShowBg1_0;
                s.ShowBG1_1         = dlg.ShowBg1_1;
                s.ShowBG2_0         = dlg.ShowBg2_0;
                s.ShowBG2_1         = dlg.ShowBg2_1;
                s.ShowBG3_0         = dlg.ShowBg3_0;
                s.ShowBG3_1         = dlg.ShowBg3_1;
                s.ShowBG4_0         = dlg.ShowBg4_0;
                s.ShowBG4_1         = dlg.ShowBg4_1;

                mainForm.PutCoreSettings(s);
                mainForm.PutCoreSyncSettings(ss);
            }
        }
Пример #2
0
 public static void DoDialog(IMainFormForConfig owner, string title)
 {
     if (owner.Emulator is Emulation.Cores.Waterbox.NymaCore core)
     {
         var desc = new Emulation.Cores.Waterbox.NymaTypeDescriptorProvider(core.SettingsInfo);
         try
         {
             // OH GOD THE HACKS WHY
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.AddProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
             DoDialog(owner, "Nyma Core", !core.SettingsInfo.HasSettings, !core.SettingsInfo.HasSyncSettings);
         }
         finally
         {
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSettings));
             TypeDescriptor.RemoveProvider(desc, typeof(Emulation.Cores.Waterbox.NymaCore.NymaSyncSettings));
         }
     }
     else
     {
         using var dlg = new GenericCoreConfig(owner)
               {
                   Text = title
               };
         owner.ShowDialogAsChild(dlg);
     }
 }
Пример #3
0
 public static void DoDialog(IMainFormForConfig owner, string title, bool hideSettings, bool hideSyncSettings)
 {
     using var dlg = new GenericCoreConfig(owner, hideSettings, hideSyncSettings)
           {
               Text = title
           };
     owner.ShowDialogAsChild(dlg);
 }
Пример #4
0
        public static DialogResult DoSettingsDialog(IMainFormForConfig mainForm, Config config, Octoshock psx)
        {
            var s    = psx.GetSettings();
            var ss   = psx.GetSyncSettings();
            var vid  = psx.SystemVidStandard;
            var size = psx.CurrentVideoSize;

            using var dlg = new PSXOptions(mainForm, config, s, ss, vid, size);

            var result = mainForm.ShowDialogAsChild(dlg);

            return(result);
        }
Пример #5
0
 public static void DoDialog(
     IMainFormForConfig owner,
     string title,
     bool isMovieActive,
     bool hideSettings,
     bool hideSyncSettings)
 {
     using var dlg = new GenericCoreConfig(
               owner,
               isMovieActive: isMovieActive,
               ignoreSettings: hideSettings,
               ignoreSyncSettings: hideSyncSettings)
           {
               Text = title,
           };
     owner.ShowDialogAsChild(dlg);
 }
Пример #6
0
        public static void DoGBPrefsDialog(IMainFormForConfig mainForm, Config config, IGameInfo game, IMovieSession movieSession, Gameboy gb)
        {
            var s  = gb.GetSettings();
            var ss = gb.GetSyncSettings();

            using var dlg = new GBPrefs(mainForm.DialogController);
            dlg.gbPrefControl1.PutSettings(config, game, movieSession, s, ss);
            dlg.gbPrefControl1.ColorGameBoy = gb.IsCGBMode() && (!gb.IsCGBDMGMode() || ss.EnableBIOS);
            if (mainForm.ShowDialogAsChild(dlg).IsOk())
            {
                dlg.gbPrefControl1.GetSettings(out s, out ss);
                gb.PutSettings(s);
                if (dlg.gbPrefControl1.SyncSettingsChanged)
                {
                    mainForm.PutCoreSyncSettings(ss);
                }
            }
        }
Пример #7
0
        public static void DoGBPrefsDialog(IMainFormForConfig mainForm, Gameboy gb)
        {
            var s  = gb.GetSettings();
            var ss = gb.GetSyncSettings();

            using var dlg = new GBPrefs();
            dlg.gbPrefControl1.PutSettings(s, ss);
            dlg.gbPrefControl1.ColorGameBoy = gb.IsCGBMode();
            if (mainForm.ShowDialogAsChild(dlg) == DialogResult.OK)
            {
                dlg.gbPrefControl1.GetSettings(out s, out ss);
                gb.PutSettings(s);
                if (dlg.gbPrefControl1.SyncSettingsChanged)
                {
                    mainForm.PutCoreSyncSettings(ss);
                }
            }
        }
Пример #8
0
        public static void DoDGBPrefsDialog(IMainFormForConfig mainForm, GambatteLink gambatte)
        {
            var s  = gambatte.GetSettings();
            var ss = gambatte.GetSyncSettings();

            using var dlg = new DGBPrefs();
            dlg.PutSettings(s, ss);

            dlg.gbPrefControl1.ColorGameBoy = gambatte.IsCGBMode(false);
            dlg.gbPrefControl2.ColorGameBoy = gambatte.IsCGBMode(true);

            if (mainForm.ShowDialogAsChild(dlg) == DialogResult.OK)
            {
                dlg.GetSettings(out s, out ss);
                gambatte.PutSettings(s);
                if (dlg.SyncSettingsChanged)
                {
                    mainForm.PutCoreSyncSettings(ss);
                }
            }
        }
        public static void DoSettingsDialog(IMainFormForConfig mainForm, LibsnesCore bsnes)
        {
            var s  = bsnes.GetSettings();
            var ss = bsnes.GetSyncSettings();

            using var dlg = new SNESOptions
                  {
                      RandomizedInitialState = ss.RandomizedInitialState,
                      AlwaysDoubleSize       = s.AlwaysDoubleSize,
                      CropSGBFrame           = s.CropSGBFrame,
                      ShowObj1 = s.ShowOBJ_0,
                      ShowObj2 = s.ShowOBJ_1,
                      ShowObj3 = s.ShowOBJ_2,
                      ShowObj4 = s.ShowOBJ_3,
                      ShowBg1  = s.ShowBG1_0,
                      ShowBg2  = s.ShowBG2_0,
                      ShowBg3  = s.ShowBG3_0,
                      ShowBg4  = s.ShowBG4_0
                  };

            var result = mainForm.ShowDialogAsChild(dlg);

            if (result == DialogResult.OK)
            {
                s.AlwaysDoubleSize        = dlg.AlwaysDoubleSize;
                s.CropSGBFrame            = dlg.CropSGBFrame;
                ss.RandomizedInitialState = dlg.RandomizedInitialState;
                s.ShowOBJ_0 = dlg.ShowObj1;
                s.ShowOBJ_1 = dlg.ShowObj2;
                s.ShowOBJ_2 = dlg.ShowObj3;
                s.ShowOBJ_3 = dlg.ShowObj4;
                s.ShowBG1_0 = s.ShowBG1_1 = dlg.ShowBg1;
                s.ShowBG2_0 = s.ShowBG2_1 = dlg.ShowBg2;
                s.ShowBG3_0 = s.ShowBG3_1 = dlg.ShowBg3;
                s.ShowBG4_0 = s.ShowBG4_1 = dlg.ShowBg4;

                mainForm.PutCoreSettings(s);
                mainForm.PutCoreSyncSettings(ss);
            }
        }
Пример #10
0
        public static void DoGBLPrefsDialog(IMainFormForConfig mainForm, Config config, IGameInfo game, IMovieSession movieSession, GambatteLink gambatte)
        {
            var s  = gambatte.GetSettings();
            var ss = gambatte.GetSyncSettings();

            using var dlg = new GBLPrefs(mainForm.DialogController, config, game, movieSession);
            dlg.PutSettings(s, ss);

            dlg.gbPrefControl1.ColorGameBoy = gambatte.IsCGBMode(0);
            dlg.gbPrefControl2.ColorGameBoy = gambatte.IsCGBMode(1);
            dlg.gbPrefControl3.ColorGameBoy = gambatte.IsCGBMode(2);
            dlg.gbPrefControl4.ColorGameBoy = gambatte.IsCGBMode(3);

            if (mainForm.ShowDialogAsChild(dlg) == DialogResult.OK)
            {
                dlg.GetSettings(out s, out ss);
                gambatte.PutSettings(s);
                if (dlg.SyncSettingsChanged)
                {
                    mainForm.PutCoreSyncSettings(ss);
                }
            }
        }