private void RestoreSettingsButton_Click(object sender, EventArgs e) { current = saved; for (int i = 0; i < Program.offsets.Count; i++) { // Booleans if (i == 0 || i == 2 || i == 12) { byte newValue = 0; newValue = (byte)current.settings[i]; ProcAPI.WriteProcessMemory(Program.hProc, ProcAPI.FindDMAAddy(Program.hProc, Program.dynamicPtrBaseAddr, Program.offsets[i].ToArray()), newValue, 1, out _); } // Floats else if (i >= 6 && i <= 9) { float newValue = 0; newValue = (float)current.settings[i]; ProcAPI.WriteProcessMemory(Program.hProc, ProcAPI.FindDMAAddy(Program.hProc, Program.dynamicPtrBaseAddr, Program.offsets[i].ToArray()), newValue, 4, out _); } // Integers else { int newValue = 0; newValue = (int)current.settings[i]; ProcAPI.WriteProcessMemory(Program.hProc, ProcAPI.FindDMAAddy(Program.hProc, Program.dynamicPtrBaseAddr, Program.offsets[i].ToArray()), newValue, 4, out _); } } }
public Form1() { InitializeComponent(); GameSettingsComboBox.SelectedIndex = 7; // Set up saved configs current = new SavedConfig(); // Read all settings values and save to current for (int i = 0; i < Program.offsets.Count; i++) { try { // Booleans if (i == 0 || i == 2 || i == 12) { byte[] currentValue = new byte[1]; ProcAPI.ReadProcessMemory(Program.hProc, ProcAPI.FindDMAAddy(Program.hProc, Program.dynamicPtrBaseAddr, Program.offsets[i].ToArray()), currentValue, currentValue.Length, out var read); current.settings[i] = currentValue[0]; } // Other else { byte[] currentValue = new byte[4]; ProcAPI.ReadProcessMemory(Program.hProc, ProcAPI.FindDMAAddy(Program.hProc, Program.dynamicPtrBaseAddr, Program.offsets[i].ToArray()), currentValue, currentValue.Length, out var read); // Floats if (i >= 6 && i <= 9) { float currentF = BitConverter.ToSingle(currentValue, 0); current.settings[i] = currentF; } // Ints else { int currentI = BitConverter.ToInt32(currentValue, 0); current.settings[i] = currentI; } } } catch { } } // Set saved to current saved = current; }
private void SaveSettingsButton_Click(object sender, EventArgs e) { saved = current; }