private void AddModAddress(ModAddress m) { ModAddressControl modAddressControl = new ModAddressControl(m, false); modAddressControls.Add(modAddressControl); int locationX = 0; int locationY = ModAddressControl.sizeY * (modAddressControls.Count - 1) + panel_mod_addresses.AutoScrollPosition.Y; modAddressControl.Location = new Point(locationX, locationY); panel_mod_addresses.Controls.Add(modAddressControl); lb_mod_addresses.Items.Add(m.name); }
private void btn_add_address_Click(object sender, EventArgs e) { try { Int32 address = int.Parse(tb_add_address.Text, System.Globalization.NumberStyles.HexNumber); int type = comboBox1.SelectedIndex; ModAddress m = new ModAddress(address, type, tb_add_address_name.Text); AddModAddress(m); } catch (Exception exception) { MessageBox.Show("Invalid memory address: \n" + exception); } }
private void updateTimer_Tick(object sender, EventArgs e) { if (processReadEnabled) { //Update value labels with values read from process foreach (ModAddressControl m in modAddressControls) { m.UpdateActualValueLabel(memoryModifier); } } if (processWriteEnabled) { //Write each value to corresponsing memory address of the process foreach (ModAddressControl m in modAddressControls) { if (m.getIsActive()) { ModAddress modAddress = m.getModAddress(); switch (modAddress.type) { case (int)ModAddress.dataTypes.Byte: memoryModifier.WriteToAddress(modAddress.address, (byte)(modAddress.value)); break; case (int)ModAddress.dataTypes.UInt16: memoryModifier.WriteToAddress(modAddress.address, (UInt16)(modAddress.value)); break; case (int)ModAddress.dataTypes.Int16: memoryModifier.WriteToAddress(modAddress.address, (Int16)(modAddress.value)); break; case (int)ModAddress.dataTypes.UInt32: memoryModifier.WriteToAddress(modAddress.address, (UInt32)(modAddress.value)); break; case (int)ModAddress.dataTypes.Int32: memoryModifier.WriteToAddress(modAddress.address, (Int32)(modAddress.value)); break; case (int)ModAddress.dataTypes.UInt64: memoryModifier.WriteToAddress(modAddress.address, (UInt64)(modAddress.value)); break; case (int)ModAddress.dataTypes.Int64: memoryModifier.WriteToAddress(modAddress.address, (Int64)(modAddress.value)); break; case (int)ModAddress.dataTypes.Float: memoryModifier.WriteToAddress(modAddress.address, (float)(modAddress.value)); break; case (int)ModAddress.dataTypes.Double: memoryModifier.WriteToAddress(modAddress.address, (double)(modAddress.value)); break; } } } } if (var_conversion_panel.Enabled && lb_mod_addresses.SelectedIndex != -1) { UpdateValueConversionLabels(modAddressControls[lb_mod_addresses.SelectedIndex].getModAddress().address); } }
public ModAddressControl(ModAddress modAddress, bool minimal) { InitializeComponent(); cb_locked = new BigCheckBox(); this.cb_locked.CheckedChanged += cb_locked_CheckedChanged; this.Controls.Add(cb_locked); this.modAddress = modAddress; if (minimal) { btn_automate.Visible = false; btn_tie.Visible = false; this.BorderStyle = BorderStyle.None; cb_locked.Checked = true; lbl_address.Font = new Font(lbl_name.Font, FontStyle.Bold); } }
public void initForm(Int32 initAddress, bool first) { int type; if (first) { type = (int)ModAddress.dataTypes.Byte; } else { type = modAddress.type; } startAddress = trimAddress(initAddress); modAddress = new ModAddress(selectedAddress, type, ""); if (first) { loadFormControls(); } else { editFormControls(); } }
private void LoadFile(string path) { try { //Loads address list and attributes from file XDocument xml = XDocument.Load(path); int ununused = xml.Descendants("Addresses").Elements().Count(); foreach (XElement setting in xml.Descendants("Address")) { Int32 address = Convert.ToInt32(setting.Element("address").Value); string name = setting.Element("name").Value; double min = Convert.ToDouble(setting.Element("min").Value); double max = Convert.ToDouble(setting.Element("max").Value); double value = Convert.ToDouble(setting.Element("value").Value); int type = Convert.ToInt32(setting.Element("type").Value); ModAddress modAddress = new ModAddress(address, name, min, max, value, type); AddModAddress(modAddress); } } catch { MessageBox.Show("Load Settings Error"); } }