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 @@ public: 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 */