示例#1
0
        public static void LOAD_GAME_DONE()
        {
            if (!RTC_Core.isLoaded)
            {
                return;
            }

            if (RTC_Core.currentGameName == lastGameName)
            {
                RTC_MemoryZones.RefreshAndKeepDomains();
            }

            RTC_HellgenieEngine.ClearCheats();


            //Load Game vars into RTC_Core
            PathEntry pathEntry = Global.Config.PathEntries[Global.Game.System, "Savestates"] ??
                                  Global.Config.PathEntries[Global.Game.System, "Base"];

            RTC_Core.currentGameSystem = RTC_Core.EmuFolderCheck(pathEntry.SystemDisplayName);
            RTC_Core.currentGameName   = PathManager.FilesystemSafeName(Global.Game);
            RTC_Core.lastOpenRom       = GlobalWin.MainForm.CurrentlyOpenRom;
            RTC_RPC.RefreshPlugin();

            if (RTC_Core.currentGameName != lastGameName)
            {
                RTC_TimeStack.Reset();
                RTC_MemoryZones.AutoSelectDomains();
            }

            if (RTC_MemoryZones.pendingSelectedDomains != null)
            {
                RTC_MemoryZones.setSelectedDomains(RTC_MemoryZones.pendingSelectedDomains);
                RTC_MemoryZones.pendingSelectedDomains = null;
            }
            lastGameName = RTC_Core.currentGameName;

            //RTC_Restore.SaveRestore();

            RTC_RPC.SendToKillSwitch("UNFREEZE");
        }
示例#2
0
        public static bool HOTKEY_CHECK(string trigger)
        {// You can go to the injected Hotkey Hijack by searching #HotkeyHijack
            switch (trigger)
            {
            default:
                return(false);

            case "Manual Blast":
                RTC_Core.coreForm.btnManualBlast_Click(null, null);
                break;

            case "Start/Stop AutoCorrupt":
                RTC_Core.coreForm.btnAutoCorrupt_Click(null, null);
                break;

            case "Error Delay--":
                if (RTC_Core.coreForm.track_ErrorDelay.Value > 1)
                {
                    RTC_Core.coreForm.track_ErrorDelay.Value--;
                    RTC_Core.coreForm.track_ErrorDelay_Scroll(null, null);
                }
                break;

            case "Error Delay++":
                if (RTC_Core.coreForm.track_ErrorDelay.Value < RTC_Core.coreForm.track_ErrorDelay.Maximum)
                {
                    RTC_Core.coreForm.track_ErrorDelay.Value++;
                    RTC_Core.coreForm.track_ErrorDelay_Scroll(null, null);
                }
                break;

            case "Intensity--":
                if (RTC_Core.coreForm.track_Intensity.Value > 1)
                {
                    RTC_Core.coreForm.track_Intensity.Value--;
                    RTC_Core.coreForm.track_Intensity_Scroll(null, null);
                }
                break;

            case "Intensity++":
                if (RTC_Core.coreForm.track_Intensity.Value < RTC_Core.coreForm.track_Intensity.Maximum)
                {
                    RTC_Core.coreForm.track_Intensity.Value++;
                    RTC_Core.coreForm.track_Intensity_Scroll(null, null);
                }
                break;

            case "GH Load and Corrupt":
                RTC_Core.ghForm.cbAutoLoadState.Checked = true;
                RTC_Core.ghForm.btnCorrupt_Click(null, null);
                break;

            case "GH Corrupt w/o Load":
                bool isload = RTC_Core.ghForm.cbAutoLoadState.Checked;
                RTC_Core.ghForm.cbAutoLoadState.Checked = false;
                RTC_Core.ghForm.btnCorrupt_Click(null, null);
                RTC_Core.ghForm.cbAutoLoadState.Checked = isload;
                break;

            case "GH Load":
                RTC_Core.ghForm.btnSaveLoad.Text = "LOAD";
                RTC_Core.ghForm.btnSaveLoad_Click(null, null);
                break;

            case "GH Save":
                RTC_Core.ghForm.btnSaveLoad.Text = "SAVE";
                RTC_Core.ghForm.btnSaveLoad_Click(null, null);
                break;

            case "Reset TimeStack":
                RTC_TimeStack.Reset();
                break;

            case "TimeStack Jump":
                RTC_TimeStack.Jump();
                break;

            case "Induce KS Crash":
                RTC_RPC.Stop();
                break;

            case "Send Raw to Stash":
                RTC_Core.ghForm.btnSendRaw_Click(null, null);
                break;

            case "Blast Toggle":
                RTC_Core.ghForm.btnBlastToggle_Click(null, null);
                break;
            }
            return(true);
        }
示例#3
0
        public void StartEasyMode(bool useTemplate)
        {
            if (Global.Emulator is NullEmulator)
            {
                MessageBox.Show("Please load a game in BizHawk before using the RTC in Easy Mode");
                return;
            }

            if (useTemplate)
            {
                //Put Console templates HERE
                string thisSystem = Global.Game.System.ToString().ToUpper();

                switch (thisSystem)
                {
                case "NES":         //Nintendo Entertainment system
                    RTC_Core.SetEngineByName("Nightmare Engine");
                    RTC_Core.Intensity     = 2;
                    RTC_Core.IteratorSteps = 1;
                    break;


                case "GB":          //Gameboy
                case "GBC":         //Gameboy Color
                    RTC_Core.SetEngineByName("Nightmare Engine");
                    RTC_Core.Intensity     = 1;
                    RTC_Core.IteratorSteps = 4;
                    break;

                case "SNES":        //Super Nintendo
                    RTC_Core.SetEngineByName("Nightmare Engine");
                    RTC_Core.Intensity     = 4;
                    RTC_Core.IteratorSteps = 8;
                    break;


                case "GBA":         //Gameboy Advance
                    RTC_Core.SetEngineByName("Nightmare Engine");
                    RTC_Core.Intensity     = 1;
                    RTC_Core.IteratorSteps = 1;
                    break;

                case "N64":         //Nintendo 64
                    RTC_Core.SetEngineByName("Nightmare Engine");
                    RTC_Core.Intensity     = 70;
                    RTC_Core.IteratorSteps = 5;
                    break;

                case "SG":          //Sega SG-1000
                case "GG":          //Sega GameGear
                case "SMS":         //Sega Master System
                case "GEN":         //Sega Genesis and CD
                case "PCE":         //PC-Engine / Turbo Grafx
                case "PSX":         //Sony Playstation 1
                case "A26":         //Atari 2600
                case "A78":         //Atari 7800
                case "LYNX":        //Atari Lynx
                case "INTV":        //Intellivision
                case "PCECD":       //related to PC-Engine / Turbo Grafx
                case "SGX":         //related to PC-Engine / Turbo Grafx
                case "TI83":        //Ti-83 Calculator
                case "WSWAN":       //Wonderswan
                case "C64":         //Commodore 64
                case "Coleco":      //Colecovision
                case "SGB":         //Super Gameboy
                case "SAT":         //Sega Saturn
                case "DGB":
                    MessageBox.Show("WARNING: No Easy-Mode template was made for this system. Please configure it manually and use the current settings.");
                    break;

                    //TODO: Add more zones like gamegear, atari, turbo graphx
                }
            }

            RTC_Core.AutoCorrupt = true;

            RTC_TimeStack.Reset();
            cbUseTimeStack.Checked = true;
            RTC_TimeFlow.Start();
            GlobalWin.MainForm.Focus();
        }
示例#4
0
 public void btnResetTimeStack_Click(object sender, EventArgs e)
 {
     RTC_TimeStack.Reset();
 }