[CSM] Add event on_place_node API lua (#5548)
[oweals/minetest.git] / src / guiChatConsole.cpp
index 8dd5ab032628c544956fefda705a84be4a4b53b6..b3c11955533d1e7f3ecfae2db7e7312a40191f44 100644 (file)
@@ -55,7 +55,7 @@ GUIChatConsole::GUIChatConsole(
        m_client(client),
        m_menumgr(menumgr),
        m_screensize(v2u32(0,0)),
-       m_animate_time_old(0),
+       m_animate_time_old(porting::getTimeMs()),
        m_open(false),
        m_close_on_enter(false),
        m_height(0),
@@ -71,8 +71,6 @@ GUIChatConsole::GUIChatConsole(
        m_font(NULL),
        m_fontsize(0, 0)
 {
-       m_animate_time_old = getTimeMs();
-
        // load background settings
        s32 console_alpha = g_settings->getS32("console_alpha");
        m_background_color.setAlpha(clamp_u8(console_alpha));
@@ -116,13 +114,15 @@ GUIChatConsole::~GUIChatConsole()
                m_font->drop();
 }
 
-void GUIChatConsole::openConsole(f32 height)
+void GUIChatConsole::openConsole(f32 scale)
 {
+       assert(scale > 0.0f && scale <= 1.0f);
+
        m_open = true;
-       m_desired_height_fraction = height;
-       m_desired_height = height * m_screensize.Y;
+       m_desired_height_fraction = scale;
+       m_desired_height = scale * m_screensize.Y;
        reformatConsole();
-       m_animate_time_old = getTimeMs();
+       m_animate_time_old = porting::getTimeMs();
        IGUIElement::setVisible(true);
        Environment->setFocus(this);
        m_menumgr->createdMenu(this);
@@ -210,7 +210,7 @@ void GUIChatConsole::draw()
        }
 
        // Animation
-       u32 now = getTimeMs();
+       u64 now = porting::getTimeMs();
        animate(now - m_animate_time_old);
        m_animate_time_old = now;
 
@@ -630,7 +630,7 @@ bool GUIChatConsole::OnEvent(const SEvent& event)
                }
                else if(event.KeyInput.Char != 0 && !event.KeyInput.Control)
                {
-                       #if (defined(__linux__))
+                       #if defined(__linux__) && (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 9)
                                wchar_t wc = L'_';
                                mbtowc( &wc, (char *) &event.KeyInput.Char, sizeof(event.KeyInput.Char) );
                                prompt.input(wc);