From 75c0a9f7d390d4c3bdf9483ed8c3ec6a8291c628 Mon Sep 17 00:00:00 2001 From: rolanmen1 Date: Sun, 25 Mar 2012 09:47:31 +0000 Subject: [PATCH] Script Errors Now Appears In OutputBox. --- BizHawk.MultiClient/LuaImplementation.cs | 19 ++------ .../tools/LuaConsole.Designer.cs | 8 ++-- BizHawk.MultiClient/tools/LuaConsole.cs | 48 ++++++++++++------- BizHawk.MultiClient/tools/LuaConsole.resx | 23 ++++----- 4 files changed, 49 insertions(+), 49 deletions(-) diff --git a/BizHawk.MultiClient/LuaImplementation.cs b/BizHawk.MultiClient/LuaImplementation.cs index 6818b2ccea..c34260247a 100644 --- a/BizHawk.MultiClient/LuaImplementation.cs +++ b/BizHawk.MultiClient/LuaImplementation.cs @@ -115,22 +115,9 @@ namespace BizHawk.MultiClient public Lua SpawnCoroutine(string File) { var t = lua.NewThread(); - try - { - LuaRegister(t); - var main = t.LoadFile(File); - t.Push(main); //push main function on to stack for subsequent resuming - } - catch (Exception e) - { - if (e.ToString().Substring(0, 32) == "LuaInterface.LuaScriptException:") - { - //Create Code Here That Would Print Script Error In OutPut Box - LuaConsole Lua = new LuaConsole(); - Lua.OutputBox.Text += e.Message; - } - else MessageBox.Show(e.ToString()); - } + LuaRegister(t); + var main = t.LoadFile(File); + t.Push(main); //push main function on to stack for subsequent resuming return t; } diff --git a/BizHawk.MultiClient/tools/LuaConsole.Designer.cs b/BizHawk.MultiClient/tools/LuaConsole.Designer.cs index 176b70c450..1cee71813e 100644 --- a/BizHawk.MultiClient/tools/LuaConsole.Designer.cs +++ b/BizHawk.MultiClient/tools/LuaConsole.Designer.cs @@ -212,8 +212,8 @@ // this.openSessionToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.OpenFile; this.openSessionToolStripMenuItem.Name = "openSessionToolStripMenuItem"; - this.openSessionToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.O))); + this.openSessionToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.O))); this.openSessionToolStripMenuItem.Size = new System.Drawing.Size(237, 22); this.openSessionToolStripMenuItem.Text = "&Open Session..."; this.openSessionToolStripMenuItem.Click += new System.EventHandler(this.openSessionToolStripMenuItem_Click); @@ -230,8 +230,8 @@ // saveAsToolStripMenuItem // this.saveAsToolStripMenuItem.Name = "saveAsToolStripMenuItem"; - this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) - | System.Windows.Forms.Keys.S))); + this.saveAsToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift) + | System.Windows.Forms.Keys.S))); this.saveAsToolStripMenuItem.Size = new System.Drawing.Size(237, 22); this.saveAsToolStripMenuItem.Text = "Save Session &As..."; this.saveAsToolStripMenuItem.Click += new System.EventHandler(this.saveAsToolStripMenuItem_Click); diff --git a/BizHawk.MultiClient/tools/LuaConsole.cs b/BizHawk.MultiClient/tools/LuaConsole.cs index 6649a25be6..7237458dc7 100644 --- a/BizHawk.MultiClient/tools/LuaConsole.cs +++ b/BizHawk.MultiClient/tools/LuaConsole.cs @@ -41,7 +41,7 @@ namespace BizHawk.MultiClient public void AddText(string s) { - OutputBox.Text += s; + OutputBox.Text += s + "\n\n"; } public LuaConsole() @@ -255,17 +255,29 @@ namespace BizHawk.MultiClient private void RunLuaScripts() { - for (int x = 0; x < luaList.Count; x++) - { - if (luaList[x].Enabled && luaList[x].Thread == null) - { - luaList[x].Thread = LuaImp.SpawnCoroutine(luaList[x].Path); - } - else - { - StopScript(x); - } - } + for (int x = 0; x < luaList.Count; x++) + { + if (luaList[x].Enabled && luaList[x].Thread == null) + { + try + { + luaList[x].Thread = LuaImp.SpawnCoroutine(luaList[x].Path); + } + catch (Exception e) + { + if (e.ToString().Substring(0, 32) == "LuaInterface.LuaScriptException:") + { + luaList[x].Enabled = false; + AddText(e.Message); + } + else MessageBox.Show(e.ToString()); + } + } + else + { + StopScript(x); + } + } } private void UpdateNumberOfScripts() @@ -338,8 +350,8 @@ namespace BizHawk.MultiClient if (result == true || suppressAsk) { + ClearOutput(); StopAllScripts(); - ClearOutput(); luaList.Clear(); DisplayLuaList(); UpdateNumberOfScripts(); @@ -550,7 +562,7 @@ namespace BizHawk.MultiClient LoadLuaSession(filePaths[0]); DisplayLuaList(); UpdateNumberOfScripts(); - ClearOutput(); + //ClearOutput(); } } @@ -654,7 +666,7 @@ namespace BizHawk.MultiClient OutputBox.Invoke(() => { - OutputBox.Text += message; + OutputBox.Text += message + "\n\n"; OutputBox.Refresh(); }); } @@ -688,6 +700,7 @@ namespace BizHawk.MultiClient var file = new FileInfo(path); if (file.Exists == false) return false; + ClearOutput(); StopAllScripts(); luaList = new List(); @@ -740,7 +753,6 @@ namespace BizHawk.MultiClient RunLuaScripts(); DisplayLuaList(); UpdateNumberOfScripts(); - ClearOutput(); } } @@ -748,7 +760,7 @@ namespace BizHawk.MultiClient { OpenLuaSession(); } - + /// /// resumes suspended coroutines /// @@ -934,7 +946,7 @@ namespace BizHawk.MultiClient RunLuaScripts(); DisplayLuaList(); UpdateNumberOfScripts(); - ClearOutput(); + //ClearOutput(); changes = false; } } diff --git a/BizHawk.MultiClient/tools/LuaConsole.resx b/BizHawk.MultiClient/tools/LuaConsole.resx index 501625a321..814a1793ef 100644 --- a/BizHawk.MultiClient/tools/LuaConsole.resx +++ b/BizHawk.MultiClient/tools/LuaConsole.resx @@ -133,17 +133,18 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVDhPlZNdSNNRGMb/F110ZZEVhVBgeeHNICiiuggp - olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdPKMgr7kApFItTUkWZqVhSVYmao5Nev/xyoQ4k88Nyc - 8z6/93nP4QjCfy6lwc4ltZVso4P/tMyXRcmMHqZ0EeY6jZQVInzuf0e1Tb9Ina3P/tkpLD6XkNg8BJe5 - u93C+HDVrP4M2ZkcMOOw5tLZ9nxJyJE4HSExBoKkBQhVpTrGhso9zNPfiph0JlB+U01ZcRbmwnRMeWlc - 08opUCV6QissGsZ+WOY6z4hmuuXglC6pRYBbJSp+fzXNxnaZ66o1s3rkyKHWruJuWRYOcwZ2kxKr8TI3 - DCkU6+QYNUnuNGWmLEY+5uOK3degoKZcx3SfEvozPfVB3OtNhi4ZvI2nrTIc23U9gtmYwa8eNXzScq8i - l6bHWnfRwhHeREJzGFONgYw/CeB9qQSZNNR9FyUGBT87lfQ3plJj1zLTq4COGDegLVo0HmeqKZjx+gOM - PNzDYPU2lLF+4jhyN6BIl8pgexK3bRpaXopJuhJEwGloiWDmVSgTLw4xWreXoZrtfK/wp/nKak4E+s6/ - hDFHTkd9GndsOdCTBq1i3NdHmWgIYvRpAMO1OxlwSPhi2YpT641CuoWzsSfnAfnZiVRZ1Tjvx9GsF+bU - pF1BvWolD9JXUZmyDnOiD1cvbCZiYXfXCPrMi+gVZ8hOiiL53DHORwdzKnw/hw/uYt9uCTskfvj7+rBp - 41rWr/Fig7fX8j/Tsn/fcgx/ARfG3ml6M3rzAAAAAElFTkSuQmCC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAlpJREFUOE+tk21I + k1EYhif0oyA0sqIQCix/+GcQFFH9CCmiUBTLLEjShJofVBgL2fxoU9Pp5ubUlS5rU9f8rCyjsA+pUCRC + TR1ppmVFUSlmhq78unrnQF1KGHTg/nEOz30993PO+7qJFrmUeiv2n+Mij+XLRLLYULdF2pxlEVIDcw0p + AsyxD5fmI/rQ94pqi26eOlsfuZj+7BgSm01QdA4ih7m73Yx9qGpavwatjPebqCzOprPt8YKQgzFagqL0 + BEjyEFWVaBkdLHMxT34uYNwWR9nVTEoL0zHlp2DMSeaSRk6eKt4VWm5WM/rVPNN5SjDTLQebZEHNA1wr + UvHjk3E6tsNcV62e1r3KLGqtKm6WplNpSsVqVFJsOM8VfSKFWjkGtcyZptSYzvC7XByx3zQoqCnTMvlG + CX1prnornPUmQJcUXsbSVhGK5bIOkcmQyveeTHiv4VZ5Nk33Nc6iuSO8CIfmECYa/bE/8ON1iRipJNh5 + F0V6Bd86lfQ1JlFj1TDVq4COKCegLVIwHmGiKRB7/V6G7+5koHozymgfYRy5E1CgTWKgXcZ1i5qWp0KS + rjgBcAJawph6FszYk/2M1O1isGYLX8p9ab6wgqP+3rMvYciS01GfzA1LFvQkQ6sQ9/khxhoCGHnox1Dt + NvorxXw0b8Km8UQh2cip6GOzgNyMeKqKM7HdjqFZJ5pRk2YJ9aql3EnxoCJxNaZ4Ly6e3UDY3O6OEXRp + 59ApTpIhiyDh9GHORAZyPHQPB/ZtZ/cOMVvFPvh6e7F+3SrWrHRnraf7Xz/xf/rJ/kvxb84I3U1y+9/W + AAAAAElFTkSuQmCC