示例#1
0
        public static BlastUnit getBlastUnit(string _domain, long _address)
        {
            BlastUnit bu = null;

            switch (SelectedEngine)
            {
            case CorruptionEngine.NIGHTMARE:
                bu = RTC_NightmareEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.HELLGENIE:
                bu = RTC_HellgenieEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.DISTORTION:
                RTC_DistortionEngine.AddUnit(RTC_DistortionEngine.GenerateUnit(_domain, _address));
                bu = RTC_DistortionEngine.GetUnit();
                break;

            case CorruptionEngine.FREEZE:
                bu = RTC_FreezeEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.NONE:
                return(null);
            }

            return(bu);
        }
示例#2
0
 private void btnActiveTableQuickSave_Click(object sender, EventArgs e)
 {
     if (btnActiveTableQuickSave.ForeColor != Color.Silver)
     {
         RTC_RPC.SendToKillSwitch("FREEZE");
         RTC_FreezeEngine.SaveActiveTable(true);
         RTC_RPC.SendToKillSwitch("UNFREEZE");
     }
 }
示例#3
0
        private void btnActiveTableSaveAs_Click(object sender, EventArgs e)
        {
            if (!RTC_FreezeEngine.ActiveTableReady)
            {
                return;
            }

            RTC_RPC.SendToKillSwitch("FREEZE");
            RTC_FreezeEngine.SaveActiveTable(false);
            RTC_RPC.SendToKillSwitch("UNFREEZE");
        }
示例#4
0
        private void btnActiveTableSubstractFile_Click(object sender, EventArgs e)
        {
            if (!RTC_FreezeEngine.FirstInit)
            {
                return;
            }

            RTC_RPC.SendToKillSwitch("FREEZE");
            RTC_FreezeEngine.SubstractActiveTable();
            RTC_RPC.SendToKillSwitch("UNFREEZE");
        }
示例#5
0
        private void btnActiveTableAddDump_Click(object sender, EventArgs e)
        {
            if (!RTC_FreezeEngine.FirstInit)
            {
                return;
            }

            RTC_RPC.SendToKillSwitch("FREEZE");
            RTC_FreezeEngine.AddDump();
            RTC_RPC.SendToKillSwitch("UNFREEZE");
        }
示例#6
0
        public override void Apply()
        {
            try
            {
                if (!IsEnabled)
                {
                    return;
                }

                MemoryDomain md = RTC_MemoryZones.getDomain(Domain);

                if (md == null)
                {
                    return;
                }

                string cheatName = "RTC Cheat|" + Domain + "|" + address.ToString() + "|" + displayType.ToString() + "|" + bigEndian.ToString() + "|" + value.ToString() + "|" + IsEnabled.ToString() + "|" + IsFreeze.ToString();

                if (!IsFreeze)
                {
                    Watch somewatch = Watch.GenerateWatch(md, address, size, displayType, bigEndian, cheatName, value, 0, 0);
                    Cheat ch        = new Cheat(somewatch, value, null, true);
                    Global.CheatList.Add(ch);

                    RTC_HellgenieEngine.RemoveExcessCheats();
                }
                else
                {
                    RTC_Core.hexeditor.FreezeAddress(address, cheatName);

                    RTC_FreezeEngine.RemoveExcessCheats();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("The BlastCheat apply() function threw up. \n" +
                                "This is not a BizHawk error so you should probably send a screenshot of this to the devs\n\n" +
                                ex.ToString());
                return;
            }
        }
示例#7
0
        public static BlastUnit getBlastUnit(string _domain, long _address)
        {
            //Will generate a blast unit depending on which Corruption Engine is currently set.
            //Some engines like Distortion may not return an Unit depending on the current state on things.

            BlastUnit bu = null;

            switch (SelectedEngine)
            {
            case CorruptionEngine.NIGHTMARE:
                bu = RTC_NightmareEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.HELLGENIE:
                bu = RTC_HellgenieEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.DISTORTION:
                RTC_DistortionEngine.AddUnit(RTC_DistortionEngine.GenerateUnit(_domain, _address));
                bu = RTC_DistortionEngine.GetUnit();
                break;

            case CorruptionEngine.FREEZE:
                bu = RTC_FreezeEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.PIPE:
                bu = RTC_PipeEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.VECTOR:
                bu = RTC_VectorEngine.GenerateUnit(_domain, _address);
                break;

            case CorruptionEngine.NONE:
                return(null);
            }

            return(bu);
        }
示例#8
0
 private void btnActiveTableLoad_Click(object sender, EventArgs e)
 {
     RTC_RPC.SendToKillSwitch("FREEZE");
     RTC_FreezeEngine.LoadActiveTable();
     RTC_RPC.SendToKillSwitch("UNFREEZE");
 }