Esempio n. 1
0
        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();

            var findParameterName          = comboBox1.Text.Trim();
            var parameterLocationsPerEvent = new int[256];
            var foundValues = new SortedSet <int>();

            if (findParameterName.Length > 0)
            {
                for (int eventID = 1; eventID < 256; ++eventID)
                {
                    var ev = EventStrings[eventID];
                    for (int i = 5; i < ev.Length; ++i)
                    {
                        if (String.Equals(ev[i].Split(':')[0].Trim(), findParameterName, StringComparison.OrdinalIgnoreCase))
                        {
                            parameterLocationsPerEvent[eventID] = i - 4;
                            break;
                        }
                    }
                }
            }

            foreach (var eventBits in EventMap)
            {
                var eventID = eventBits & 0xFF;
                if (parameterLocationsPerEvent[eventID] != 0)
                {
                    foundValues.Add(Mainframe.ExtractParameterValues(eventBits, EventStrings[eventID])[parameterLocationsPerEvent[eventID] - 1]);
                }
            }

            listBox1.Items.AddRange(foundValues.Select(val => val.ToString()).ToArray());
            if (listBox1.Items.Count == 0)
            {
                ResultPrintout.Text = "(found no matches)";
            }
            else
            {
                int i;
                for (i = 0; foundValues.Contains(i); ++i)
                {
                    ;
                }
                ResultPrintout.Text = "First free value: " + i.ToString();
            }
        }
Esempio n. 2
0
 private void CheckEverythingForThisNewEvent()
 {
     ModeSelect.SelectedIndex = (int)J2LFile.GetRawBits(WorkingEvent.ID, 8, 2);
     Illuminate.Checked       = (WorkingEvent.ID & 1024) == 1024;
     int[] parmvalues = Mainframe.ExtractParameterValues(WorkingEvent.ID, CurrentEvent);
     for (byte i = 0; i < 6; i++)
     {
         LastParameterValues[i] = parmvalues[i];
     }
     if (CurrentEventID == SourceForm.GeneratorEventID)
     {
         SetupEvent(); Generator.Checked = true; Findit((byte)parmvalues[0]);
     }
     else
     {
         Findit(CurrentEventID);
     }
 }