void new_data_cheat(ulong address, string type, string data, bool lock_, string description) { try { int sectionID = processManager.MappedSectionList.GetMappedSectionID(address); if (sectionID == -1) { MessageBox.Show("Address is out of range!"); return; } if (cheatList.Exist(address)) { return; } ValueType valueType = MemoryHelper.GetValueTypeByString(type); DataCheatOperator dataCheatOperator = new DataCheatOperator(data, valueType, processManager); AddressCheatOperator addressCheatOperator = new AddressCheatOperator(address, processManager); DataCheat dataCheat = new DataCheat(dataCheatOperator, addressCheatOperator, lock_, description, processManager); add_new_row_to_cheat_list_view(dataCheat); cheatList.Add(dataCheat); } catch (Exception exception) { MessageBox.Show(exception.Message, exception.Source, MessageBoxButtons.OK, MessageBoxIcon.Hand); } }
private void cheat_list_view_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) return; if (e.ColumnIndex < 0) return; DataGridViewRow edited_row = cheat_list_view.Rows[e.RowIndex]; object edited_col = null; switch (e.ColumnIndex) { case CHEAT_LIST_ENABLED: cheat_list_view.EndEdit(); DataCheatOperator dataCheatOperator = (DataCheatOperator)cheatList[e.RowIndex].GetSource(); CheatOperator destOperator = cheatList[e.RowIndex].GetDestination(); edited_col = edited_row.Cells[CHEAT_LIST_VALUE].Value; dataCheatOperator.Set((string)edited_col); destOperator.SetRuntime(dataCheatOperator); break; case CHEAT_LIST_DEL: cheat_list_view.Rows.RemoveAt(e.RowIndex); break; case CHEAT_LIST_LOCK: cheat_list_view.EndEdit(); edited_col = edited_row.Cells[e.ColumnIndex].Value; cheatList[e.RowIndex].Lock = (bool)edited_col; break; } }
public DataCheat(ProcessManager ProcessManager) : base(ProcessManager) { Source = new DataCheatOperator(ProcessManager); Destination = new AddressCheatOperator(ProcessManager); CheatType = CheatType.DATA_TYPE; AllowLock = true; }
public DataCheat(DataCheatOperator source, AddressCheatOperator dest, bool lock_, string description, ProcessManager processManager) : base(processManager) { CheatType = CheatType.DATA_TYPE; AllowLock = true; Source = source; Destination = dest; Lock = lock_; Description = description; }
private void timeRefreshLock_Tick(object sender, EventArgs e) { for (int i = 0; i < cheatList.Count; ++i) { if (!cheatList[i].Lock) { continue; } DataCheatOperator dataCheatOperator = (DataCheatOperator)cheatList[i].GetSource(); CheatOperator destOperator = cheatList[i].GetDestination(); destOperator.SetRuntime(dataCheatOperator); } }
private void cheat_list_view_CellEndEdit(object sender, DataGridViewCellEventArgs e) { DataGridViewRow edited_row = cheat_list_view.Rows[e.RowIndex]; object edited_col = edited_row.Cells[e.ColumnIndex].Value; switch (e.ColumnIndex) { case CHEAT_LIST_VALUE: DataCheatOperator dataCheatOperator = (DataCheatOperator)cheatList[e.RowIndex].GetSource(); CheatOperator destOperator = cheatList[e.RowIndex].GetDestination(); dataCheatOperator.Set((string)edited_col); destOperator.SetRuntime(dataCheatOperator); break; case CHEAT_LIST_DESC: cheatList[e.RowIndex].Description = (string)edited_col; break; } }
private void btnRefreshCheat_Click(object sender, EventArgs e) { try { for (int i = 0; i < cheatList.Count; ++i) { DataGridViewRow row = lvCheatList.Rows[i]; DataCheatOperator dataCheatOperator = (DataCheatOperator)cheatList[i].GetSource(); CheatOperator destOperator = cheatList[i].GetDestination(); dataCheatOperator.Set(destOperator.GetRuntime()); row.Cells[CHEAT_LIST_VALUE].Value = dataCheatOperator.Display(); } } catch (Exception exception) { MessageBox.Show(exception.Message); } }
public void new_pointer_cheat(ulong address, List <long> offset_list, string type, string data, bool lock_, string description) { try { int sectionID = processManager.MappedSectionList.GetMappedSectionID(address); if (sectionID == -1) { MessageBox.Show("Address is out of range!"); return; } if (cheatList.Exist(address)) { return; } ValueType valueType = MemoryHelper.GetValueTypeByString(type); DataCheatOperator sourceOperator = new DataCheatOperator(data, valueType, processManager); AddressCheatOperator addressCheatOperator = new AddressCheatOperator(address, processManager); List <OffsetCheatOperator> offsetOperators = new List <OffsetCheatOperator>(); for (int i = 0; i < offset_list.Count; ++i) { OffsetCheatOperator offsetOperator = new OffsetCheatOperator(offset_list[i], ValueType.ULONG_TYPE, processManager); offsetOperators.Add(offsetOperator); } SimplePointerCheatOperator destOperator = new SimplePointerCheatOperator(addressCheatOperator, offsetOperators, valueType, processManager); SimplePointerCheat simplePointerCheat = new SimplePointerCheat(sourceOperator, destOperator, lock_, description, processManager); add_new_row_to_cheat_list_view(simplePointerCheat); cheatList.Add(simplePointerCheat); } catch (Exception exception) { MessageBox.Show(exception.Message, exception.Source, MessageBoxButtons.OK, MessageBoxIcon.Hand); } }
public override bool Parse(string[] cheat_elements) { int start_idx = 1; if (cheat_elements[start_idx] == "address") { Destination = new AddressCheatOperator(ProcessManager); } else if (cheat_elements[start_idx] == "pointer") { Destination = new SimplePointerCheatOperator(ProcessManager); } ++start_idx; Destination.Parse(cheat_elements, ref start_idx, true); if (cheat_elements[start_idx] == "data") { Source = new DataCheatOperator(ProcessManager); } else if (cheat_elements[start_idx] == "pointer") { Source = new SimplePointerCheatOperator(ProcessManager); } ++start_idx; Source.Parse(cheat_elements, ref start_idx, true); ulong flag = ulong.Parse(cheat_elements[start_idx], NumberStyles.HexNumber); Lock = flag == 1 ? true : false; Description = cheat_elements[start_idx + 1]; return(true); }