diff --git a/src/TLuaFile.cpp b/src/TLuaFile.cpp index 26a7bf9..bb18360 100644 --- a/src/TLuaFile.cpp +++ b/src/TLuaFile.cpp @@ -588,7 +588,7 @@ int lua_Set(lua_State* L) { } extern "C" { -int lua_Print(lua_State* L) { +int InternalLuaPrint(lua_State* L, bool pretty) { int Arg = lua_gettop(L); std::string to_print; for (int i = 1; i <= Arg; i++) { @@ -621,9 +621,19 @@ int lua_Print(lua_State* L) { to_print += "\t"; } } - luaprint(to_print); + if (pretty) { + luaprint(to_print); + } else { + Application::Console().WriteRaw(to_print); + } return 0; } +int lua_Print(lua_State* L) { + return InternalLuaPrint(L, true); +} +int lua_PrintRaw(lua_State* L) { + return InternalLuaPrint(L, false); +} } int lua_TempFix(lua_State* L) { @@ -904,6 +914,7 @@ void TLuaFile::Load() { LuaTable::End(mLuaState, "MP"); lua_register(mLuaState, "print", lua_Print); + lua_register(mLuaState, "printRaw", lua_PrintRaw); lua_register(mLuaState, "exit", lua_ServerExit); if (!mConsole) Reload();