From a93838707a9aab104c20b6a971d8c622184a508f Mon Sep 17 00:00:00 2001
From: ShadowNinja <shadowninja@minetest.net>
Date: Sun, 5 Jul 2015 00:53:38 +0200
Subject: [PATCH] Use minetest logging facilities for irrlicht log output

---
 src/client/inputhandler.h | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/client/inputhandler.h b/src/client/inputhandler.h
index 7cd3ddc71..3da856f7b 100644
--- a/src/client/inputhandler.h
+++ b/src/client/inputhandler.h
@@ -85,10 +85,18 @@ class MyEventReceiver : public IEventReceiver
 					mouse_wheel += event.MouseInput.Wheel;
 				}
 			}
-		}
-		if (event.EventType == irr::EET_LOG_TEXT_EVENT) {
-			dstream << std::string("Irrlicht log: ") + std::string(event.LogEvent.Text)
-			        << std::endl;
+		} else if (event.EventType == irr::EET_LOG_TEXT_EVENT) {
+			static const enum LogMessageLevel irr_loglev_conv[] = {
+				LMT_VERBOSE, // ELL_DEBUG
+				LMT_INFO, // ELL_INFORMATION
+				LMT_ACTION, // ELL_WARNING
+				LMT_ERROR, // ELL_ERROR
+				LMT_ERROR, // ELL_NONE
+			};
+			assert(event.LogEvent.Level < sizeof(irr_loglev_conv));
+			log_printline(irr_loglev_conv[event.LogEvent.Level],
+				std::string("Irrlicht: ")
+				+ (const char*) event.LogEvent.Text);
 			return true;
 		}
 		/* always return false in order to continue processing events */
-- 
GitLab