don't pass g_settings around, and use it directly
authorEsteban I. RM <me@exio4.xyz>
Mon, 16 Oct 2017 00:22:22 +0000 (21:22 -0300)
committerLoic Blot <loic.blot@unix-experience.fr>
Tue, 17 Oct 2017 17:22:09 +0000 (19:22 +0200)
builtin/settingtypes.txt
minetest.conf.example
src/chat.cpp
src/chat.h
src/defaultsettings.cpp
src/game.cpp
src/settings_translation_file.cpp

index 982fe55ef72ce14ff00f326294594b0f492d72dc..7ebee9424c40b001a64c9ea4048d94464ef2f55e 100644 (file)
@@ -634,8 +634,8 @@ crosshair_color (Crosshair color) string (255,255,255)
 #    Crosshair alpha (opaqueness, between 0 and 255).
 crosshair_alpha (Crosshair alpha) int 255 0 255
 
-#    Maximum number of recent chat items to show
-recent_chat_size (Recent Chat Messages) int 6 3 99
+#    Maximum number of recent chat messages to show
+recent_chat_messages (Recent Chat Messages) int 6 2 20
 
 #    Whether node texture animations should be desynchronized per mapblock.
 desynchronize_mapblock_texture_animation (Desynchronize block animation) bool true
index 0677026aacddad339df9fca726794465affdbc6d..b4121eb9bffb95141e4dab51535aa5e89a5f2f08 100644 (file)
 #    type: int min: 0 max: 255
 # crosshair_alpha = 255
 
-#    Maximum number of recent chat items to show
-#    type: int min: 3 max: 99
-# recent_chat_size = 6
+#    Maximum number of recent chat messages to show
+#    type: int min: 2 max: 20
+# recent_chat_messages = 6
 
 #    Whether node texture animations should be desynchronized per mapblock.
 #    type: bool
index 967e159f8a7ac1e6257c0a1d224def386a589197..a5d82a6494289938bc011d71a014909075327a0c 100644 (file)
@@ -369,12 +369,11 @@ s32 ChatBuffer::getBottomScrollPos() const
        return formatted_count - rows;
 }
 
-void ChatBuffer::resize(u32 scrollback) {
+void ChatBuffer::resize(u32 scrollback)
+{
        m_scrollback = scrollback;
        if (m_unformatted.size() > m_scrollback)
-       {
                deleteOldest(m_unformatted.size() - m_scrollback);
-       }       
 }
 
 
@@ -739,8 +738,11 @@ void ChatBackend::clearRecentChat()
 }
 
 
-void ChatBackend::applySettings(Settings* settings) {
-       m_recent_buffer.resize(settings->getU32("recent_chat_size"));
+void ChatBackend::applySettings()
+{
+       u32 recent_lines = g_settings->getU32("recent_chat_messages");
+       recent_lines = rangelim(recent_lines, 2, 20);
+       m_recent_buffer.resize(recent_lines);
 }
 
 void ChatBackend::step(float dtime)
index b1b3edcb093007d7e5d10068ba2d7ce093a10f03..40d9b771de7b8d7268a2964865109225c5d22f93 100644 (file)
@@ -119,7 +119,7 @@ public:
        u32 formatChatLine(const ChatLine& line, u32 cols,
                        std::vector<ChatFormattedLine>& destination) const;
 
-    void resize(u32 scrollback);
+       void resize(u32 scrollback);
 protected:
        s32 getTopScrollPos() const;
        s32 getBottomScrollPos() const;
@@ -283,8 +283,8 @@ public:
        void scrollPageDown();
        void scrollPageUp();
 
-    // Resize recent buffer based on settings
-    void applySettings(Settings* settings);
+       // Resize recent buffer based on settings
+       void applySettings();
     
 private:
        ChatBuffer m_console_buffer;
index e2a7ea562c37cadf4a3dfb1316230ed7d5b0ef29..1a2656f0e6f246bb66db8972b6a3536aae55a248 100644 (file)
@@ -190,7 +190,7 @@ void set_default_settings(Settings *settings)
        settings->setDefault("node_highlighting", "box");
        settings->setDefault("crosshair_color", "(255,255,255)");
        settings->setDefault("crosshair_alpha", "255");
-       settings->setDefault("recent_chat_size", "6");
+       settings->setDefault("recent_chat_messages", "6");
        settings->setDefault("hud_scaling", "1.0");
        settings->setDefault("gui_scaling", "1.0");
        settings->setDefault("gui_scaling_filter", "false");
index 7f717cb5f04e974419401a9b1dce6c1f7504867f..cd4650baf0712b7355f23cbf9ce1f28541cb414a 100644 (file)
@@ -2051,8 +2051,8 @@ bool Game::initGui()
        // Remove stale "recent" chat messages from previous connections
        chat_backend->clearRecentChat();
 
-    // Make sure the size of the recent messages buffer is right
-    chat_backend->applySettings(g_settings);
+       // Make sure the size of the recent messages buffer is right
+       chat_backend->applySettings();
     
        // Chat backend and console
        gui_chat_console = new GUIChatConsole(guienv, guienv->getRootGUIElement(),
index b7c80e79bf79caa55f1b7dae7b7d29360ffccb98..bd8447c4b8fd57f8d74a4cb53e6ab28787e60732 100644 (file)
@@ -310,7 +310,7 @@ fake_function() {
        gettext("Crosshair alpha");
        gettext("Crosshair alpha (opaqueness, between 0 and 255).");
        gettext("Recent Chat Messages");
-       gettext("Maximum number of recent chat items to show");
+       gettext("Maximum number of recent chat lines to show");
        gettext("Desynchronize block animation");
        gettext("Whether node texture animations should be desynchronized per mapblock.");
        gettext("Maximum hotbar width");