diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs index c4bef7ce38..3e8f3cef3b 100644 --- a/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs +++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.MainMemory.cs @@ -22,13 +22,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains.MainMemory; + return MemoryDomainCore.MemoryDomains.MainMemory; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); } diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs index 9520e2f90c..c3787882bb 100644 --- a/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs +++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.Memory.cs @@ -15,9 +15,9 @@ namespace BizHawk.Client.Common public MemoryLuaLibrary(Lua lua) : base(lua) { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - var domains = Global.Emulator.AsMemoryDomains().MemoryDomains; + var domains = MemoryDomainCore.MemoryDomains; _currentMemoryDomain = domains.IndexOf(domains.MainMemory); } } @@ -25,9 +25,9 @@ namespace BizHawk.Client.Common public MemoryLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - var domains = Global.Emulator.AsMemoryDomains().MemoryDomains; + var domains = MemoryDomainCore.MemoryDomains; _currentMemoryDomain = domains.IndexOf(domains.MainMemory); } } @@ -38,13 +38,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains[_currentMemoryDomain]; + return MemoryDomainCore.MemoryDomains[_currentMemoryDomain]; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); } diff --git a/BizHawk.Client.Common/lua/LuaMemoryBase.cs b/BizHawk.Client.Common/lua/LuaMemoryBase.cs index 457b57222c..f3eabed122 100644 --- a/BizHawk.Client.Common/lua/LuaMemoryBase.cs +++ b/BizHawk.Client.Common/lua/LuaMemoryBase.cs @@ -10,6 +10,12 @@ namespace BizHawk.Client.Common /// public abstract class LuaMemoryBase : LuaLibraryBase { + [RequiredService] + protected IEmulator Emulator { get; set; } + + [OptionalService] + protected IMemoryDomains MemoryDomainCore { get; set; } + public LuaMemoryBase(Lua lua) : base(lua) { } @@ -22,13 +28,13 @@ namespace BizHawk.Client.Common { get { - if (Global.Emulator.HasMemoryDomains()) + if (MemoryDomainCore != null) { - return Global.Emulator.AsMemoryDomains().MemoryDomains; + return MemoryDomainCore.MemoryDomains; } else { - var error = string.Format("Error: {0} does not implement memory domains", Global.Emulator.Attributes().CoreName); + var error = string.Format("Error: {0} does not implement memory domains", Emulator.Attributes().CoreName); Log(error); throw new NotImplementedException(error); }