diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Console.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Console.cs index 5f02655b2f..42a57e5dc2 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Console.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.Console.cs @@ -39,50 +39,60 @@ namespace BizHawk.Client.EmuHawk "log", "Outputs the given object to the output box on the Lua Console dialog. Note: Can accept a LuaTable" )] - public static void Log(object output) + public static void Log(params object[] outputs) { - if (output == null) + foreach (var output in outputs) { - GlobalWin.Tools.LuaConsole.WriteToOutputWindow("NULL"); - } - else - { - if (output is LuaTable) + if (output == null) { - var sb = new StringBuilder(); - var lti = output as LuaTable; - - var keys = (from object key in lti.Keys select key.ToString()).ToList(); - var values = (from object value in lti.Values select value.ToString()).ToList(); - - var kvps = new List>(); - for (var i = 0; i < keys.Count; i++) - { - if (i < values.Count) - { - kvps.Add(new KeyValuePair(keys[i], values[i])); - } - } - - kvps = kvps.OrderBy(x => x.Key).ToList(); - foreach (var kvp in kvps) - { - sb - .Append("\"") - .Append(kvp.Key) - .Append("\": \"") - .Append(kvp.Value) - .Append("\"") - .AppendLine(); - } - - GlobalWin.Tools.LuaConsole.WriteToOutputWindow(sb.ToString()); + GlobalWin.Tools.LuaConsole.WriteToOutputWindow("NULL"); } else { - GlobalWin.Tools.LuaConsole.WriteToOutputWindow(output.ToString()); + if (output is LuaTable) + { + var sb = new StringBuilder(); + var lti = output as LuaTable; + + var keys = (from object key in lti.Keys select key.ToString()).ToList(); + var values = (from object value in lti.Values select value.ToString()).ToList(); + + var kvps = new List>(); + for (var i = 0; i < keys.Count; i++) + { + if (i < values.Count) + { + kvps.Add(new KeyValuePair(keys[i], values[i])); + } + } + + kvps = kvps.OrderBy(x => x.Key).ToList(); + foreach (var kvp in kvps) + { + sb + .Append("\"") + .Append(kvp.Key) + .Append("\": \"") + .Append(kvp.Value) + .Append("\"") + .AppendLine(); + } + + GlobalWin.Tools.LuaConsole.WriteToOutputWindow(sb.ToString()); + } + else + { + GlobalWin.Tools.LuaConsole.WriteToOutputWindow(output.ToString()); + } } } } + + // Single param version is used by logOutputCallback of some libraries. + public static void Log(string output) + { + var outputs = new[] { output }; + Log(outputs); + } } } diff --git a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs index 9143a17852..b6ae48e9da 100644 --- a/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs +++ b/BizHawk.Client.EmuHawk/tools/Lua/Libraries/EmuLuaLibrary.cs @@ -136,9 +136,9 @@ namespace BizHawk.Client.EmuHawk return result; } - public static void Print(string s) + public static void Print(params object[] outputs) { - ConsoleLuaLibrary.Log(s); + ConsoleLuaLibrary.Log(outputs); } private void Frameadvance()