Esempio n. 1
0
        private void B_Connect_Click(object sender, EventArgs e)
        {
            try
            {
                // Enable controls
                B_Connect.Enabled = TB_IP.Enabled = TB_Port.Enabled = false;
                groupBox1.Enabled = groupBox2.Enabled = groupBox3.Enabled = true;
                var ConnectionEstablished = false;
                var validversions         = RamOffsets.GetValidVersions(SAV.SAV).Reverse().ToArray();
                var currver = validversions[0];
                foreach (var version in validversions)
                {
                    Remote.Bot = new PokeSysBotMini(version, CurrentInjectionType)
                    {
                        com = { IP = TB_IP.Text, Port = int.Parse(TB_Port.Text) }
                    };
                    Remote.Bot.com.Connect();

                    var data = Remote.Bot.ReadSlot(1, 1);
                    var pkm  = SAV.SAV.GetDecryptedPKM(data);
                    if (pkm.ChecksumValid)
                    {
                        ConnectionEstablished = true;
                        currver = version;
                        if (Remote.Bot.com is SysBotMini)
                        {
                            groupBox4.Enabled = true;
                        }
                        break;
                    }

                    if (!ConnectionEstablished)
                    {
                        Remote.Bot.com.Disconnect();
                    }
                }

                if (!ConnectionEstablished)
                {
                    Remote.Bot = new PokeSysBotMini(currver, CurrentInjectionType)
                    {
                        com = { IP = TB_IP.Text, Port = int.Parse(TB_Port.Text) }
                    };
                    Remote.Bot.com.Connect();
                }

                // Load current box
                Remote.ReadBox(SAV.CurrentBox);

                // Set Trainer Data
                SetTrainerData(SAV.SAV, currver);
            }
#pragma warning disable CA1031 // Do not catch general exception types
            // Console might be disconnected...
            catch (Exception ex)
#pragma warning restore CA1031 // Do not catch general exception types
            {
                WinFormsUtil.Error(ex.Message);
            }
        }
Esempio n. 2
0
        public LiveHeXController(ISaveFileProvider boxes, IPKMView editor, InjectorCommunicationType ict)
        {
            SAV    = boxes;
            Editor = editor;
            var ValidVers = RamOffsets.GetValidVersions(boxes.SAV);

            Bot = new PokeSysBotMini(ValidVers[0], ict);
        }
Esempio n. 3
0
        private void B_Connect_Click(object sender, EventArgs e)
        {
            try
            {
                // Enable controls
                B_Connect.Enabled = TB_IP.Enabled = TB_Port.Enabled = false;
                groupBox1.Enabled = groupBox2.Enabled = groupBox3.Enabled = true;
                var ConnectionEstablished = false;
                var currver       = LiveHeXVersion.SWSH_Rigel1;
                var validversions = RamOffsets.GetValidVersions(SAV.SAV);
                foreach (LiveHeXVersion ver in validversions)
                {
                    Remote.Bot      = new PokeSysBotMini(ver);
                    Remote.Bot.IP   = TB_IP.Text;
                    Remote.Bot.Port = int.Parse(TB_Port.Text);
                    Remote.Bot.Connect();

                    var data = Remote.Bot.ReadSlot(1, 1);
                    var pkm  = PKMConverter.GetPKMfromBytes(data);
                    if (pkm != null && pkm.ChecksumValid && pkm.Species > -1)
                    {
                        ConnectionEstablished = true;
                        currver = ver;
                        break;
                    }

                    if (Remote.Bot.Connected)
                    {
                        Remote.Bot.Disconnect();
                    }
                }

                if (!ConnectionEstablished)
                {
                    Remote.Bot      = new PokeSysBotMini(currver);
                    Remote.Bot.IP   = TB_IP.Text;
                    Remote.Bot.Port = int.Parse(TB_Port.Text);
                    Remote.Bot.Connect();
                }
                // Load current box
                Remote.ReadBox(SAV.CurrentBox);

                // Set Trainer Data
                SetTrainerData(SAV.SAV, currver);
            }
            catch (Exception ex)
            {
                WinFormsUtil.Error(ex.Message);
            }
        }
Esempio n. 4
0
        private void B_Connect_Click(object sender, EventArgs e)
        {
            try
            {
                // Enable controls
                B_Connect.Enabled = TB_IP.Enabled = TB_Port.Enabled = false;
                groupBox1.Enabled = groupBox2.Enabled = groupBox3.Enabled = true;
                var ConnectionEstablished = false;
                var validversions         = RamOffsets.GetValidVersions(SAV.SAV).Reverse().ToArray();
                var currver = validversions[0];
                foreach (var version in validversions)
                {
                    Remote.Bot = new PokeSysBotMini(version, CurrentInjectionType)
                    {
                        com = { IP = TB_IP.Text, Port = int.Parse(TB_Port.Text) },
                    };
                    Remote.Bot.com.Connect();

                    var data = Remote.Bot.ReadSlot(1, 1);
                    var pkm  = SAV.SAV.GetDecryptedPKM(data);
                    if (pkm.ChecksumValid)
                    {
                        ConnectionEstablished = true;
                        currver = version;
                        if (Remote.Bot.com is IPokeBlocks)
                        {
                            var cblist = GetSortedBlockList(version).ToArray();
                            if (cblist.Length > 0)
                            {
                                groupBox5.Enabled = true;
                                CB_BlockName.Items.AddRange(cblist);
                                CB_BlockName.SelectedIndex = 0;
                            }
                        }
                        break;
                    }
                }

                if (!ConnectionEstablished)
                {
                    Remote.Bot = new PokeSysBotMini(currver, CurrentInjectionType)
                    {
                        com = { IP = TB_IP.Text, Port = int.Parse(TB_Port.Text) },
                    };
                    Remote.Bot.com.Connect();
                    Text += $" Unknown Version (Forced: {currver})";
                }
                else
                {
                    Text += $" Detected Version: {currver}";
                }

                if (Remote.Bot.com is ICommunicatorNX)
                {
                    groupBox4.Enabled = groupBox6.Enabled = true;
                }

                // Load current box
                Remote.ReadBox(SAV.CurrentBox);

                // Set Trainer Data
                SetTrainerData(SAV.SAV);
            }
            // Console might be disconnected...
            catch (Exception ex)
            {
                WinFormsUtil.Error(ex.Message);
            }
        }