private void clb_Patches_SelectedIndexChanged(object sender, EventArgs e) { AsmPatch p = clb_Patches.SelectedItem as AsmPatch; if (p != null) { textBox1.Text = p.Description; int index = clb_Patches.SelectedIndex; txt_Messages.Text = p.ErrorText; //if (p.Variables.Count > 0) if (p.CountNonReferenceVariables() > 0) { ignoreChanges = true; variableComboBox.Items.Clear(); bool foundFirst = false; VariableType firstNonReferenceVariable = p.Variables[0]; foreach (VariableType variable in p.Variables) { if (!variable.isReference) { variableComboBox.Items.Add(variable.name); if (!foundFirst) { firstNonReferenceVariable = variable; foundFirst = true; } } } variableComboBox.SelectedIndex = 0; byte[] byteArray = firstNonReferenceVariable.byteArray; variableSpinner.Maximum = (decimal)Math.Pow(256, firstNonReferenceVariable.numBytes) - 1; variableSpinner.Value = AsmPatch.GetUnsignedByteArrayValue_LittleEndian(byteArray); variableSpinner.Visible = true; ignoreChanges = false; variableComboBox.Visible = true; } else { variableSpinner.Visible = false; ignoreChanges = true; variableComboBox.Visible = false; } } }
private void clb_Patches_SelectedIndexChanged(object sender, EventArgs e) { AsmPatch p = clb_Patches.SelectedItem as AsmPatch; if (p != null) { string description = ""; if (!string.IsNullOrEmpty(p.Description)) { StringBuilder sb = new StringBuilder(); string[] lines = p.Description.Split('\n'); for (int lineIndex = 0; lineIndex < lines.Length; lineIndex++) { string line = lines[lineIndex]; string newLine = line.Trim().Replace("\r", ""); if (((lineIndex != 0) && (lineIndex < (lines.Length - 1))) || (!string.IsNullOrEmpty(newLine))) { sb.AppendLine(newLine); } } description = sb.ToString(); description = description.Substring(0, description.LastIndexOf(Environment.NewLine)); } textBox1.Text = description; int index = clb_Patches.SelectedIndex; txt_Messages.Text = p.ErrorText; //if (p.Variables.Count > 0) if (p.CountNonReferenceVariables() > 0) { ignoreChanges = true; variableComboBox.Items.Clear(); bool foundFirst = false; VariableType firstNonReferenceVariable = p.Variables[0]; foreach (VariableType variable in p.Variables) { if (!variable.IsReference) { variableComboBox.Items.Add(variable.Name); if (!foundFirst) { firstNonReferenceVariable = variable; foundFirst = true; } } } variableComboBox.SelectedIndex = 0; byte[] byteArray = firstNonReferenceVariable.ByteArray; variableSpinner.Maximum = (decimal)Math.Pow(256, firstNonReferenceVariable.NumBytes) - 1; variableSpinner.Value = Utilities.GetUnsignedByteArrayValue_LittleEndian(byteArray); variableSpinner.Visible = true; ignoreChanges = false; variableComboBox.Visible = true; HandleVariablePresets(firstNonReferenceVariable); } else { variableSpinner.Visible = false; ignoreChanges = true; variableComboBox.Visible = false; cmb_Variable_Preset.Visible = false; } } }