From a02e4db09859eedd360da5a39fa55d9d8f52ecd0 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 8 Aug 2024 20:23:03 -0500 Subject: [PATCH] Update SAV_Misc5.cs Fixes comboboxes from showing empty initial selections --- .../Subforms/Save Editors/Gen5/SAV_Misc5.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs index 49ba5031a..5fce35336 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen5/SAV_Misc5.cs @@ -57,8 +57,8 @@ private void B_Save_Click(object sender, EventArgs e) private void ReadRecord() { var record = SAV.Records; - NUD_Record16.Maximum = Record5.Record16; - NUD_Record32.Maximum = Record5.Record32; + NUD_Record16.Maximum = Record5.Record16 - 1; + NUD_Record32.Maximum = Record5.Record32 - 1; NUD_Record16V.Value = record.GetRecord16(0); NUD_Record32V.Value = record.GetRecord32(0); NUD_Record16V.ValueChanged += (_, _) => record.SetRecord16((int)NUD_Record16.Value, (ushort)NUD_Record16V.Value); @@ -145,7 +145,7 @@ private void ReadMain() cbr[i].Items.Clear(); cbr[i].InitializeBinding(); cbr[i].DataSource = new BindingSource(states.Where(v => v.Value >= 2 || v.Value == c).ToList(), null); - cbr[i].SelectedValue = c; + cbr[i].SelectedValue = (int)c; } // Roamer status @@ -509,6 +509,7 @@ private void LoadForest() CB_Species.InitializeBinding(); CB_Move.InitializeBinding(); CB_Areas.InitializeBinding(); + CB_Gender.InitializeBinding(); var filtered = GameInfo.FilteredSources; CB_Species.DataSource = new BindingSource(filtered.Species, null); @@ -547,7 +548,7 @@ private void ChangeSlot(object sender, EventArgs e) SetForms(current); SetGenders(current); CB_Move.SelectedValue = (int)current.Move; - CB_Gender.SelectedValue = current.Gender; + CB_Gender.SelectedValue = (int)current.Gender; CB_Form.SelectedIndex = CB_Form.Items.Count <= current.Form ? 0 : current.Form; NUD_Animation.SetValueClamped(current.Animation); CurrentSlot = current; @@ -607,7 +608,6 @@ private void SetSprite(EntreeSlot slot) private void SetGenders(EntreeSlot slot) { - CB_Gender.InitializeBinding(); CB_Gender.DataSource = new BindingSource(GetGenderChoices(slot.Species), null); } @@ -637,6 +637,8 @@ private void B_RandForest_Click(object sender, EventArgs e) private static List GetGenderChoices(ushort species) { + if (species == 0) + return [new("-", 0)]; var pi = PersonalTable.B2W2[species]; var list = new List(); if (pi.Genderless) @@ -657,7 +659,6 @@ private void SetForms(EntreeSlot slot) bool hasForms = PersonalTable.B2W2[slot.Species].HasForms || slot.Species == (int)Species.Mothim; L_Form.Visible = CB_Form.Enabled = CB_Form.Visible = hasForms; - CB_Form.InitializeBinding(); var list = FormConverter.GetFormList(slot.Species, GameInfo.Strings.types, GameInfo.Strings.forms, Main.GenderSymbols, SAV.Context); CB_Form.DataSource = new BindingSource(list, null); }