diff --git a/BizHawk.MultiClient/LuaImplementation.cs b/BizHawk.MultiClient/LuaImplementation.cs index 91a47ddeda..99591be5a4 100644 --- a/BizHawk.MultiClient/LuaImplementation.cs +++ b/BizHawk.MultiClient/LuaImplementation.cs @@ -262,6 +262,7 @@ namespace BizHawk.MultiClient "drawPie", "drawIcon", "drawImage", + "clearGraphics", }; public static string[] EmuFunctions = new string[] @@ -476,7 +477,7 @@ namespace BizHawk.MultiClient Global.OSD.ClearGUIText(); } - DisplaySurface luaSurface; + public DisplaySurface luaSurface; /// /// sets the current drawing context to a new surface. @@ -698,6 +699,11 @@ namespace BizHawk.MultiClient } } + public void gui_clearGraphics() + { + luaSurface.Clear(); + } + //---------------------------------------------------- //Emu library //---------------------------------------------------- diff --git a/BizHawk.MultiClient/tools/LuaConsole.cs b/BizHawk.MultiClient/tools/LuaConsole.cs index 1cfcbc9c2a..0949f2eb2d 100644 --- a/BizHawk.MultiClient/tools/LuaConsole.cs +++ b/BizHawk.MultiClient/tools/LuaConsole.cs @@ -111,6 +111,7 @@ namespace BizHawk.MultiClient luaList[x].Enabled = false; Changes(true); UpdateNumberOfScripts(); + ClearDisplaySurface(); } public void Restart() @@ -286,9 +287,17 @@ namespace BizHawk.MultiClient } LuaListView.Refresh(); UpdateNumberOfScripts(); + ClearDisplaySurface(); Changes(true); } + public void ClearDisplaySurface() + { + LuaImp.gui_drawNew(); + LuaImp.gui_clearGraphics(); + LuaImp.gui_drawFinish(); + } + public void RunLuaScripts() { for (int x = 0; x < luaList.Count; x++) @@ -431,6 +440,7 @@ namespace BizHawk.MultiClient indexes.Clear(); DisplayLuaList(); } + ClearDisplaySurface(); UpdateNumberOfScripts(); }