private void pidStart_Click(object sender, EventArgs e) { statusLabel.Text = "Finding desired PID..."; progressBar.Visible = true; byte hp, atk, def, spa, spd, spe; uint seed, pid, ivseed1, ivseed2; statusLabel.Text = "Parsing data..."; progressBar.Value = 25; byte.TryParse(dhpText.Text, System.Globalization.NumberStyles.Number, null, out hp); byte.TryParse(datkText.Text, System.Globalization.NumberStyles.Number, null, out atk); byte.TryParse(ddefText.Text, System.Globalization.NumberStyles.Number, null, out def); byte.TryParse(dspaText.Text, System.Globalization.NumberStyles.Number, null, out spa); byte.TryParse(dspdText.Text, System.Globalization.NumberStyles.Number, null, out spd); byte.TryParse(dspeText.Text, System.Globalization.NumberStyles.Number, null, out spe); ivseed1 = (uint)(hp + (atk << 5) + (def << 10)); ivseed2 = (uint)(spe + (spa << 5) + (spd << 10)); statusLabel.Text = "Configuring output..."; progressBar.Value = 50; pidOutput.BackgroundColor = Color.White; pidOutput.Rows.Clear(); pidOutput.Columns.Clear(); pidOutput.Columns.Add("Seed", "Seed"); pidOutput.Columns[0].Width = 70; pidOutput.Columns.Add("PID", "PID"); pidOutput.Columns[1].Width = 70; pidOutput.Columns.Add("Nature", "Nature"); pidOutput.Columns[2].Width = 67; statusLabel.Text = "Running PID search..."; progressBar.Value = 75; for (int i = 0; i < 2; i++) { for (int j = 0; j < 65536; j++) { seed = (uint)(((ivseed1 + (i << 15)) << 16) + j); xdRNG xd = new xdRNG(seed); if ((xd.previewHalfAdvance(seed, 1) & 0x7FFF) == ivseed2) { pid = xd.getPID(); pidOutput.Rows.Add(seed.ToString("X"), pid.ToString("X"), xd.getNature(pid).ToString()); } } } statusLabel.Text = "PID search complete."; progressBar.Value = 100; Thread.Sleep(50); // Flash the full status bar progressBar.Visible = false; }
private Boolean runSearch(UInt32 ivseed1, UInt32 ivseed2, UInt32 upid, UInt32 lpid) { xdRNG xd; uint seed; for (int i = 0; i < 65536; i++) { seed = (uint)((ivseed1 << 16) + i); xd = new xdRNG(seed); if ((xd.previewHalfAdvance(seed, 1) == ivseed2) && (xd.previewHalfAdvance(seed, 3) == upid) && (xd.previewHalfAdvance(seed, 4) == lpid)) { return(true); } } return(false); }
private Boolean runSearch(UInt32 ivseed1, UInt32 ivseed2, UInt32 upid, UInt32 lpid) { xdRNG xd; uint seed; for (int i = 0; i < 65536; i++) { seed = (uint)((ivseed1 << 16) + i); xd = new xdRNG(seed); if ( (xd.previewHalfAdvance(seed, 1) == ivseed2) && (xd.previewHalfAdvance(seed, 3) == upid) && (xd.previewHalfAdvance(seed, 4) == lpid) ) return true; } return false; }
private void pidStart_Click(object sender, EventArgs e) { statusLabel.Text = "Finding desired PID..."; progressBar.Visible = true; byte hp, atk, def, spa, spd, spe; uint seed, pid, ivseed1, ivseed2; statusLabel.Text = "Parsing data..."; progressBar.Value = 25; byte.TryParse(dhpText.Text, System.Globalization.NumberStyles.Number, null, out hp); byte.TryParse(datkText.Text, System.Globalization.NumberStyles.Number, null, out atk); byte.TryParse(ddefText.Text, System.Globalization.NumberStyles.Number, null, out def); byte.TryParse(dspaText.Text, System.Globalization.NumberStyles.Number, null, out spa); byte.TryParse(dspdText.Text, System.Globalization.NumberStyles.Number, null, out spd); byte.TryParse(dspeText.Text, System.Globalization.NumberStyles.Number, null, out spe); ivseed1 = (uint)(hp + (atk << 5) + (def << 10)); ivseed2 = (uint)(spe + (spa << 5) + (spd << 10)); statusLabel.Text = "Configuring output..."; progressBar.Value = 50; pidOutput.BackgroundColor = Color.White; pidOutput.Rows.Clear(); pidOutput.Columns.Clear(); pidOutput.Columns.Add("Seed", "Seed"); pidOutput.Columns[0].Width = 70; pidOutput.Columns.Add("PID", "PID"); pidOutput.Columns[1].Width = 70; pidOutput.Columns.Add("Nature", "Nature"); pidOutput.Columns[2].Width = 67; statusLabel.Text = "Running PID search..."; progressBar.Value = 75; for (int i = 0; i < 2; i++) for (int j = 0; j < 65536; j++) { seed = (uint)(((ivseed1 + (i << 15)) << 16) + j); xdRNG xd = new xdRNG(seed); if ((xd.previewHalfAdvance(seed, 1) & 0x7FFF) == ivseed2) { pid = xd.getPID(); pidOutput.Rows.Add(seed.ToString("X"), pid.ToString("X"), xd.getNature(pid).ToString()); } } statusLabel.Text = "PID search complete."; progressBar.Value = 100; Thread.Sleep(50); // Flash the full status bar progressBar.Visible = false; }