using System; using System.Drawing; using System.Linq; using System.Windows.Forms; using BizHawk.Client.Common; using BizHawk.Common.NumberExtensions; using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk { public partial class RegisterBoxControl : UserControl { public IDebuggable Core { get; set; } public GenericDebugger ParentDebugger { get; set; } private bool _supressChangeEvents = false; private bool _canGetCpuRegisters = false; private bool _canSetCpuRegisters = false; public RegisterBoxControl() { InitializeComponent(); AutoScroll = true; } private void RegisterBoxControl_Load(object sender, EventArgs e) { } public void NewUpdate(ToolFormUpdateType type) { } public void UpdateValues() { if (this.Enabled) { var registers = Core.GetCpuFlagsAndRegisters(); _supressChangeEvents = true; foreach (var register in registers) { if (Controls.OfType().Any(p => p.Name == "FlagPanel")) { foreach (var checkbox in Controls .OfType() .First(p => p.Name == "FlagPanel") .Controls .OfType()) { if (checkbox.Name == register.Key) { checkbox.Checked = register.Value.Value == 1; } } } if (_canSetCpuRegisters) { foreach (var textbox in Controls .OfType()) { if (textbox.Name == register.Key) { textbox.Text = register.Value.Value.ToHexString(register.Value.BitSize / 4); } } } else { foreach (var label in Controls .OfType