--- trunk/RomCheater/Docking/UI/UIMemoryViewer.cs 2012/05/31 07:13:43 198 +++ trunk/RomCheater/Docking/UI/UIMemoryViewer.cs 2012/05/31 07:29:44 200 @@ -13,7 +13,7 @@ namespace RomCheater.Docking.UI { - public partial class UIMemoryViewer : UserControl, IProcessConfig, IAcceptsPlugin, IAcceptsMemoryRange + public partial class UIMemoryViewer : UserControl, IProcessConfig, IAcceptsPlugin//, IAcceptsMemoryRange { public UIMemoryViewer() { @@ -42,11 +42,25 @@ this.AcceptedPlugin = null; this.AcceptedProcess = null; } #region IProcessConfig Members - public Process AcceptedProcess { get; set; } + private Process _AcceptedProcess; + public Process AcceptedProcess + { + get { return _AcceptedProcess; } + set + { + _AcceptedProcess = value; + update_timer.Enabled = (value != null); + UpdateEnabled = update_timer.Enabled; + } + } #endregion #region IAcceptsPlugin Members public IConfigPlugin AcceptedPlugin { get; set; } #endregion + #region IAcceptsMemoryRange members + public uint MemoryStart { get; set; } + public uint MemorySize { get; set; } + #endregion public void GotoTop() { this.CURRENT_TOP_ADDR = 0; } public void GotoBottom() { uint size = MemorySize; this.CURRENT_TOP_ADDR = (uint)((size - 1) - max_ram_view); } public void GotoAddress(uint addr) { this.CURRENT_TOP_ADDR = (uint)addr & 0xFFFFFFF0; } @@ -83,11 +97,6 @@ static uint small_scroll_change = max_address_width * 1; // scrolls one line (when you clikc the up or down arrows) static uint medium_scroll_change = max_ram_view / 2; // scrolls half a page static uint large_scroll_change = max_ram_view; // scrolls a full page - - #region IAcceptsMemoryRange members - public uint MemoryStart { get; set; } - public uint MemorySize { get; set; } - #endregion private uint _CURRENT_TOP_ADDR; uint CURRENT_TOP_ADDR { @@ -166,14 +175,14 @@ reader.ReadProcess = this.AcceptedProcess; reader.OpenProcess(); int bytesReadSize; - byte[] data = reader.ReadProcessMemory(MemoryStart, MemorySize, out bytesReadSize); + byte[] data = reader.ReadProcessMemory(CURRENT_TOP_ADDR, max_ram_view, out bytesReadSize); //this.Logger.LogDebugMessage(string.Format("GetMemory() -> Memory Size: {0}0x{2:X8}{1}", "{", "}", data.Length)); return data; } catch (Exception ex) { logger.Error.WriteLine("{0}.GetMemory():{1}{2}", this.GetType().Name, System.Environment.NewLine, ex.ToString()); - byte[] data = new byte[MemorySize]; + byte[] data = new byte[max_ram_view]; for (int i = 0; i < data.Length; i++) { data[i] = 0x0; } return data; }