LuaVoxelManip: Add option to allocate blank data
[oweals/minetest.git] / src / clientmap.cpp
index fac59b0f1afdecbc43e3c685ad59410b0fe1bf6a..a5d364b73bb21a338c5ac00eee7587b78190c3a7 100644 (file)
@@ -53,6 +53,20 @@ ClientMap::ClientMap(
 {
        m_box = core::aabbox3d<f32>(-BS*1000000,-BS*1000000,-BS*1000000,
                        BS*1000000,BS*1000000,BS*1000000);
+
+       /* TODO: Add a callback function so these can be updated when a setting
+        *       changes.  At this point in time it doesn't matter (e.g. /set
+        *       is documented to change server settings only)
+        *
+        * TODO: Local caching of settings is not optimal and should at some stage
+        *       be updated to use a global settings object for getting thse values
+        *       (as opposed to the this local caching). This can be addressed in
+        *       a later release.
+        */
+       m_cache_trilinear_filter  = g_settings->getBool("trilinear_filter");
+       m_cache_bilinear_filter   = g_settings->getBool("bilinear_filter");
+       m_cache_anistropic_filter = g_settings->getBool("anisotropic_filter");
+
 }
 
 ClientMap::~ClientMap()
@@ -433,10 +447,6 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
                m_last_drawn_sectors.clear();
        }
 
-       bool use_trilinear_filter = g_settings->getBool("trilinear_filter");
-       bool use_bilinear_filter = g_settings->getBool("bilinear_filter");
-       bool use_anisotropic_filter = g_settings->getBool("anisotropic_filter");
-
        /*
                Get time for measuring timeout.
 
@@ -566,9 +576,9 @@ void ClientMap::renderMap(video::IVideoDriver* driver, s32 pass)
                        {
                                scene::IMeshBuffer *buf = mesh->getMeshBuffer(i);
 
-                               buf->getMaterial().setFlag(video::EMF_TRILINEAR_FILTER, use_trilinear_filter);
-                               buf->getMaterial().setFlag(video::EMF_BILINEAR_FILTER, use_bilinear_filter);
-                               buf->getMaterial().setFlag(video::EMF_ANISOTROPIC_FILTER, use_anisotropic_filter);
+                               buf->getMaterial().setFlag(video::EMF_TRILINEAR_FILTER, m_cache_trilinear_filter);
+                               buf->getMaterial().setFlag(video::EMF_BILINEAR_FILTER, m_cache_bilinear_filter);
+                               buf->getMaterial().setFlag(video::EMF_ANISOTROPIC_FILTER, m_cache_anistropic_filter);
 
                                const video::SMaterial& material = buf->getMaterial();
                                video::IMaterialRenderer* rnd =