diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs index 129e945cbd..88cc5425bb 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs @@ -13,8 +13,8 @@ namespace BizHawk.Client.Common { private readonly IDictionary _websockets = new Dictionary(); - public CommLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public CommLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "comm"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs index d4b7ffa0c5..6fcafef8d4 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs @@ -13,8 +13,8 @@ namespace BizHawk.Client.Common public Action FrameAdvanceCallback { get; set; } public Action YieldCallback { get; set; } - public EmulationLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public EmulationLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "emu"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs index f50c2f9bc4..7255f692d3 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs @@ -7,8 +7,8 @@ namespace BizHawk.Client.Common { public sealed class GameInfoLuaLibrary : DelegatingLuaLibrary { - public GameInfoLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public GameInfoLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "gameinfo"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs index d392be666d..a2b83048a0 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs @@ -9,8 +9,8 @@ namespace BizHawk.Client.Common { public Func CreateLuaCanvasCallback { get; set; } - public GuiLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public GuiLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "gui"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs index 0506ae4c47..9794e3b972 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs @@ -6,8 +6,8 @@ namespace BizHawk.Client.Common { public sealed class InputLuaLibrary : DelegatingLuaLibrary { - public InputLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public InputLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "input"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs index de4afc7303..1888d8f1c8 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs @@ -8,8 +8,8 @@ namespace BizHawk.Client.Common { public sealed class JoypadLuaLibrary : DelegatingLuaLibrary { - public JoypadLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public JoypadLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "joypad"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs index 09e996a60b..469064668b 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs @@ -9,10 +9,8 @@ namespace BizHawk.Client.Common [Description("These functions behavior identically to the mainmemory functions but the user can set the memory domain to read and write from. The default domain is the system bus. Use getcurrentmemorydomain(), and usememorydomain() to control which domain is used. Each core has its own set of valid memory domains. Use getmemorydomainlist() to get a list of memory domains for the current core loaded.")] public sealed class MemoryLuaLibrary : DelegatingLuaLibrary { - public MemoryLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) - { - } + public MemoryLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "memory"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs index 3075b39d2c..d4f4255323 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs @@ -7,8 +7,8 @@ namespace BizHawk.Client.Common { public sealed class MemorySavestateLuaLibrary : DelegatingLuaLibrary { - public MemorySavestateLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public MemorySavestateLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "memorysavestate"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs index 1f1bd3244c..9cb8b371de 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs @@ -7,8 +7,8 @@ namespace BizHawk.Client.Common { public sealed class MovieLuaLibrary : DelegatingLuaLibrary { - public MovieLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public MovieLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "movie"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs index ba19f9da70..f81cb3f0c9 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs @@ -10,8 +10,8 @@ namespace BizHawk.Client.Common [Description("A library for performing SQLite operations.")] public sealed class SQLiteLuaLibrary : DelegatingLuaLibrary { - public SQLiteLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public SQLiteLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "SQL"; diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs index 34b39bafa2..0ab91fb103 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs @@ -8,8 +8,8 @@ namespace BizHawk.Client.Common [Description("A library for setting and retrieving dynamic data that will be saved and loaded with savestates")] public sealed class UserDataLuaLibrary : DelegatingLuaLibrary { - public UserDataLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public UserDataLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "userdata"; diff --git a/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs b/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs index 96ee018a0b..cdcd730cdc 100644 --- a/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs @@ -7,7 +7,8 @@ namespace BizHawk.Client.Common /// Extends by including an for the library to delegate its calls through. public abstract class DelegatingLuaLibrary : LuaLibraryBase { - protected DelegatingLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) {} + protected DelegatingLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public ApiContainer APIs { protected get; set; } } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs index fa0a5c388a..b95975b3c6 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs @@ -9,8 +9,8 @@ namespace BizHawk.Client.Common [Description("A library for performing standard bitwise operations.")] public sealed class BitLuaLibrary : LuaLibraryBase { - public BitLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public BitLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "bit"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs index 61bf5cf34f..91a72ca34a 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs @@ -24,8 +24,8 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains Domains { get; set; } - public EventsLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public EventsLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "event"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs index c9cc81c8e9..d7ed073f10 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs @@ -11,8 +11,8 @@ namespace BizHawk.Client.Common [Description("Functions specific to GenesisHawk (functions may not run when an Genesis game is not loaded)")] public sealed class GenesisLuaLibrary : DelegatingLuaLibrary { - public GenesisLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public GenesisLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "genesis"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs index 0ed2059d3a..c2c1677259 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs @@ -17,8 +17,8 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains MemoryDomainCore { get; set; } - public MainMemoryLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public MainMemoryLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "mainmemory"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs index 4022fa95f1..0e53622216 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs @@ -21,8 +21,8 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains MemoryDomains { get; set; } - public NESLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public NESLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "nes"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs index 1f76ac50f0..bcf964da58 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs @@ -10,8 +10,8 @@ namespace BizHawk.Client.Common [Description("Functions specific to SNESHawk (functions may not run when an SNES game is not loaded)")] public sealed class SNESLuaLibrary : DelegatingLuaLibrary { - public SNESLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public SNESLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "snes"; diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs index f05c322d86..85bc01377a 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs @@ -11,8 +11,8 @@ namespace BizHawk.Client.Common { public override string Name => "bizstring"; - public StringLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public StringLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} [LuaMethodExample("local stbizhex = bizstring.hex( -12345 );")] [LuaMethod("hex", "Converts the number to a string representation of the hexadecimal value of the given number")] diff --git a/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs b/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs index 6c52148ee9..6be0004fa8 100644 --- a/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs +++ b/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs @@ -8,10 +8,11 @@ namespace BizHawk.Client.Common { public abstract class LuaLibraryBase { - protected LuaLibraryBase(Lua lua, Action logOutputCallback) + protected LuaLibraryBase(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) { LogOutputCallback = logOutputCallback; Lua = lua; + _luaLibsImpl = luaLibsImpl; } protected static LuaFile CurrentFile { get; private set; } @@ -25,6 +26,8 @@ namespace BizHawk.Client.Common public Lua Lua { get; } + protected readonly LuaLibraries _luaLibsImpl; + public static void ClearCurrentThread() { lock (ThreadMutex) diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs index 93f164b117..c229da4297 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs @@ -27,8 +27,8 @@ namespace BizHawk.Client.EmuHawk public IMainFormForApi MainForm { get; set; } - public ClientLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public ClientLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "client"; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs index 47311f8d7e..ae43fc87d9 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs @@ -9,8 +9,8 @@ namespace BizHawk.Client.EmuHawk { public sealed class ConsoleLuaLibrary : LuaLibraryBase { - public ConsoleLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public ConsoleLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "console"; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs index 75df4ae829..a9902d9d74 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs @@ -14,8 +14,8 @@ namespace BizHawk.Client.EmuHawk [Description("A library for creating and managing custom dialogs")] public sealed class FormsLuaLibrary : LuaLibraryBase { - public FormsLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public FormsLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} // TODO: replace references to ConsoleLuaLibrary.Log with a callback that is passed in public override string Name => "forms"; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs index 2c3c794819..7352100bb1 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs @@ -8,8 +8,8 @@ namespace BizHawk.Client.EmuHawk { public sealed class SaveStateLuaLibrary : DelegatingLuaLibrary { - public SaveStateLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public SaveStateLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "savestate"; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs index 51d2633ef0..02d20b47f1 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs @@ -16,8 +16,8 @@ namespace BizHawk.Client.EmuHawk [LuaLibrary(released: true)] public sealed class TAStudioLuaLibrary : LuaLibraryBase { - public TAStudioLuaLibrary(Lua lua, Action logOutputCallback) - : base(lua, logOutputCallback) { } + public TAStudioLuaLibrary(LuaLibraries luaLibsImpl, Lua lua, Action logOutputCallback) + : base(luaLibsImpl, lua, logOutputCallback) {} public override string Name => "tastudio"; diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index fdbcdfeb3c..c93e882343 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -57,7 +57,7 @@ namespace BizHawk.Client.EmuHawk if (addLibrary) { - var instance = (LuaLibraryBase) Activator.CreateInstance(lib, _lua, (Action) ConsoleLuaLibrary.LogOutput); + var instance = (LuaLibraryBase) Activator.CreateInstance(lib, this, _lua, (Action) ConsoleLuaLibrary.LogOutput); ServiceInjector.UpdateServices(serviceProvider, instance); // TODO: make EmuHawk libraries have a base class with common properties such as this