diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs index 4381067ea8..129e945cbd 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/CommLuaLibrary.cs @@ -13,9 +13,6 @@ namespace BizHawk.Client.Common { private readonly IDictionary _websockets = new Dictionary(); - public CommLuaLibrary(Lua lua) - : base(lua) { } - public CommLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs index 216d013ec0..d4b7ffa0c5 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/EmulationLuaLibrary.cs @@ -13,9 +13,6 @@ namespace BizHawk.Client.Common public Action FrameAdvanceCallback { get; set; } public Action YieldCallback { get; set; } - public EmulationLuaLibrary(Lua lua) - : base(lua) { } - public EmulationLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs index 60dd10cb64..f50c2f9bc4 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/GameInfoLuaLibrary.cs @@ -7,9 +7,6 @@ namespace BizHawk.Client.Common { public sealed class GameInfoLuaLibrary : DelegatingLuaLibrary { - public GameInfoLuaLibrary(Lua lua) - : base(lua) { } - public GameInfoLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs index 2f14fffec3..d392be666d 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/GuiLuaLibrary.cs @@ -9,9 +9,6 @@ namespace BizHawk.Client.Common { public Func CreateLuaCanvasCallback { get; set; } - public GuiLuaLibrary(Lua lua) - : base(lua) { } - public GuiLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs index ce85f7340a..0506ae4c47 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/InputLuaLibrary.cs @@ -6,9 +6,6 @@ namespace BizHawk.Client.Common { public sealed class InputLuaLibrary : DelegatingLuaLibrary { - public InputLuaLibrary(Lua lua) - : base(lua) { } - public InputLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs index 6786a22431..de4afc7303 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/JoypadLuaLibrary.cs @@ -8,9 +8,6 @@ namespace BizHawk.Client.Common { public sealed class JoypadLuaLibrary : DelegatingLuaLibrary { - public JoypadLuaLibrary(Lua lua) - : base(lua) { } - public JoypadLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs index 8cb7032414..09e996a60b 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MemoryLuaLibrary.cs @@ -9,11 +9,6 @@ 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) - : base(lua) - { - } - public MemoryLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs index 5a24d4466f..3075b39d2c 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MemorySavestateLuaLibrary.cs @@ -7,9 +7,6 @@ namespace BizHawk.Client.Common { public sealed class MemorySavestateLuaLibrary : DelegatingLuaLibrary { - public MemorySavestateLuaLibrary(Lua lua) - : base(lua) { } - public MemorySavestateLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs index 3d0d1767c0..1f1bd3244c 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/MovieLuaLibrary.cs @@ -7,9 +7,6 @@ namespace BizHawk.Client.Common { public sealed class MovieLuaLibrary : DelegatingLuaLibrary { - public MovieLuaLibrary(Lua lua) - : base(lua) { } - public MovieLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs index 736806cde6..ba19f9da70 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/SQLiteLuaLibrary.cs @@ -10,9 +10,6 @@ namespace BizHawk.Client.Common [Description("A library for performing SQLite operations.")] public sealed class SQLiteLuaLibrary : DelegatingLuaLibrary { - public SQLiteLuaLibrary(Lua lua) - : base(lua) { } - public SQLiteLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs b/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs index 25419bfb48..34b39bafa2 100644 --- a/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/CommonLibs/UserDataLuaLibrary.cs @@ -8,9 +8,6 @@ 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) - : base(lua) { } - public UserDataLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs b/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs index 575bdd011d..96ee018a0b 100644 --- a/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/DelegatingLuaLibrary.cs @@ -7,8 +7,6 @@ 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) : base(lua) {} - protected DelegatingLuaLibrary(Lua lua, Action logOutputCallback) : base(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 d19107fc79..fa0a5c388a 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/BitLuaLibrary.cs @@ -9,9 +9,6 @@ namespace BizHawk.Client.Common [Description("A library for performing standard bitwise operations.")] public sealed class BitLuaLibrary : LuaLibraryBase { - public BitLuaLibrary(Lua lua) - : base(lua) { } - public BitLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs index 58f5a2b995..61bf5cf34f 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/EventsLuaLibrary.cs @@ -24,9 +24,6 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains Domains { get; set; } - public EventsLuaLibrary(Lua lua) - : base(lua) { } - public EventsLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs index 4e6e224f38..c9cc81c8e9 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/GenesisLuaLibrary.cs @@ -11,9 +11,6 @@ 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) - : base(lua) { } - public GenesisLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs index c57a829950..0ed2059d3a 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/MainMemoryLuaLibrary.cs @@ -17,9 +17,6 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains MemoryDomainCore { get; set; } - public MainMemoryLuaLibrary(Lua lua) - : base(lua) { } - public MainMemoryLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs index f5e344ddca..4022fa95f1 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/NESLuaLibrary.cs @@ -21,9 +21,6 @@ namespace BizHawk.Client.Common [OptionalService] private IMemoryDomains MemoryDomains { get; set; } - public NESLuaLibrary(Lua lua) - : base(lua) { } - public NESLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs index d6549b608d..1f76ac50f0 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/SNESLuaLibrary.cs @@ -10,9 +10,6 @@ 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) - : base(lua) { } - public SNESLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs b/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs index df1b6ccb01..f05c322d86 100644 --- a/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs +++ b/src/BizHawk.Client.Common/lua/LuaHelperLibs/StringLuaLibrary.cs @@ -11,9 +11,6 @@ namespace BizHawk.Client.Common { public override string Name => "bizstring"; - public StringLuaLibrary(Lua lua) - : base(lua) { } - public StringLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs b/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs index dfb541bfc0..6c52148ee9 100644 --- a/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs +++ b/src/BizHawk.Client.Common/lua/LuaLibraryBase.cs @@ -8,15 +8,10 @@ namespace BizHawk.Client.Common { public abstract class LuaLibraryBase { - protected LuaLibraryBase(Lua lua) - { - Lua = lua; - } - protected LuaLibraryBase(Lua lua, Action logOutputCallback) - : this(lua) { LogOutputCallback = logOutputCallback; + Lua = lua; } protected static LuaFile CurrentFile { get; private set; } @@ -25,7 +20,9 @@ namespace BizHawk.Client.Common private static readonly object ThreadMutex = new object(); public abstract string Name { get; } - public Action LogOutputCallback { protected get; set; } + + protected readonly Action LogOutputCallback; + public Lua Lua { get; } public static void ClearCurrentThread() diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs index c89d83247e..93f164b117 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ClientLuaLibrary.cs @@ -27,9 +27,6 @@ namespace BizHawk.Client.EmuHawk public IMainFormForApi MainForm { get; set; } - public ClientLuaLibrary(Lua lua) - : base(lua) { } - public ClientLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs index ad03bfa188..47311f8d7e 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/ConsoleLuaLibrary.cs @@ -9,9 +9,6 @@ namespace BizHawk.Client.EmuHawk { public sealed class ConsoleLuaLibrary : LuaLibraryBase { - public ConsoleLuaLibrary(Lua lua) - : base(lua) { } - public ConsoleLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs index 4e87a08937..75df4ae829 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/FormsLuaLibrary.cs @@ -14,9 +14,6 @@ namespace BizHawk.Client.EmuHawk [Description("A library for creating and managing custom dialogs")] public sealed class FormsLuaLibrary : LuaLibraryBase { - public FormsLuaLibrary(Lua lua) - : base(lua) { } - public FormsLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs index f9ce88a6af..2c3c794819 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/SaveStateLuaLibrary.cs @@ -8,9 +8,6 @@ namespace BizHawk.Client.EmuHawk { public sealed class SaveStateLuaLibrary : DelegatingLuaLibrary { - public SaveStateLuaLibrary(Lua lua) - : base(lua) { } - public SaveStateLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs index 5eb34d334d..51d2633ef0 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Libraries/TAStudioLuaLibrary.cs @@ -16,9 +16,6 @@ namespace BizHawk.Client.EmuHawk [LuaLibrary(released: true)] public sealed class TAStudioLuaLibrary : LuaLibraryBase { - public TAStudioLuaLibrary(Lua lua) - : base(lua) { } - public TAStudioLuaLibrary(Lua lua, Action logOutputCallback) : base(lua, logOutputCallback) { } diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index fc568c5120..fdbcdfeb3c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -57,8 +57,7 @@ namespace BizHawk.Client.EmuHawk if (addLibrary) { - var instance = (LuaLibraryBase)Activator.CreateInstance(lib, _lua); - instance.LogOutputCallback = ConsoleLuaLibrary.LogOutput; + var instance = (LuaLibraryBase) Activator.CreateInstance(lib, _lua, (Action) ConsoleLuaLibrary.LogOutput); ServiceInjector.UpdateServices(serviceProvider, instance); // TODO: make EmuHawk libraries have a base class with common properties such as this