From ef0b380192c9d2f7ab426c9c69b923c8e9dd1c76 Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Wed, 24 Feb 2021 11:12:27 +1000 Subject: [PATCH] Autolock hack is nothing without autounlock hack --- .../Api/Classes/GuiApi.cs | 6 ++++- .../tools/Lua/Win32LuaLibraries.cs | 22 +++++++++---------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs b/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs index 89e3532e2b..602ddd9b67 100644 --- a/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs +++ b/src/BizHawk.Client.Common/Api/Classes/GuiApi.cs @@ -158,7 +158,11 @@ namespace BizHawk.Client.Common } } - public void UnlockEmuSurfaceLua() => UnlockSurface(DisplaySurfaceID.EmuCore); + public void ThisIsTheLuaAutounlockHack() + { + UnlockSurface(DisplaySurfaceID.EmuCore); + UnlockSurface(DisplaySurfaceID.Client); + } public void DrawNew(string name, bool clear) { diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs index be3cb75d6b..52373cd81a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/Win32LuaLibraries.cs @@ -169,11 +169,11 @@ namespace BizHawk.Client.EmuHawk { lf.Call(name); } - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); } catch (Exception e) { - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); LogToLuaConsole($"error running function attached by lua function event.onsavestate\nError message: {e.Message}"); } } @@ -186,11 +186,11 @@ namespace BizHawk.Client.EmuHawk { lf.Call(name); } - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); } catch (Exception e) { - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); LogToLuaConsole($"error running function attached by lua function event.onloadstate\nError message: {e.Message}"); } } @@ -204,11 +204,11 @@ namespace BizHawk.Client.EmuHawk { lf.Call(); } - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); } catch (Exception e) { - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); LogToLuaConsole($"error running function attached by lua function event.onframestart\nError message: {e.Message}"); } } @@ -222,11 +222,11 @@ namespace BizHawk.Client.EmuHawk { lf.Call(); } - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); } catch (Exception e) { - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); LogToLuaConsole($"error running function attached by lua function event.onframeend\nError message: {e.Message}"); } } @@ -237,7 +237,7 @@ namespace BizHawk.Client.EmuHawk { exitCallback.Call(); } - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); } public void Close() @@ -302,7 +302,7 @@ namespace BizHawk.Client.EmuHawk LuaLibraryBase.SetCurrentThread(lf); var execResult = _currThread.Resume(0); - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); _lua.RunScheduledDisposes(); // TODO: I don't think this is needed anymore, we run this regularly anyway @@ -319,7 +319,7 @@ namespace BizHawk.Client.EmuHawk } catch (Exception) { - GuiAPI.UnlockEmuSurfaceLua(); + GuiAPI.ThisIsTheLuaAutounlockHack(); throw; } finally