From 2f4cf0bcca1ce5941dd3d2625fe4636e86e73e75 Mon Sep 17 00:00:00 2001
From: RealBadAngel <maciej.kasatkin@o2.pl>
Date: Sat, 20 Feb 2016 03:37:26 +0100
Subject: [PATCH] Remove preload_item_visuals code

Closes #3748
---
 builtin/settingtypes.txt          |  5 -----
 minetest.conf.example             |  6 ------
 src/client.cpp                    | 23 -----------------------
 src/defaultsettings.cpp           |  2 --
 src/settings_translation_file.cpp |  2 --
 5 files changed, 38 deletions(-)

diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index 2bb1c93b4..df9158254 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -311,11 +311,6 @@ texture_clean_transparent (Clean transparent textures) bool false
 #    enabled.
 texture_min_size (Minimum texture size for filters) int 64
 
-#    Pre-generate all item visuals used in the inventory.
-#    This increases startup time, but runs smoother in-game.
-#    The generated textures can easily exceed your VRAM, causing artifacts in the inventory.
-preload_item_visuals (Preload inventory textures) bool false
-
 #    Experimental option, might cause visible spaces between blocks
 #    when set to higher number than 0.
 fsaa (FSAA) enum 0 0,1,2,4,8,16
diff --git a/minetest.conf.example b/minetest.conf.example
index 4cfb8dd28..4813adadc 100644
--- a/minetest.conf.example
+++ b/minetest.conf.example
@@ -335,12 +335,6 @@
 #    type: int
 # texture_min_size = 64
 
-#    Pre-generate all item visuals used in the inventory.
-#    This increases startup time, but runs smoother in-game.
-#    The generated textures can easily exceed your VRAM, causing artifacts in the inventory.
-#    type: bool
-# preload_item_visuals = false
-
 #    Experimental option, might cause visible spaces between blocks
 #    when set to higher number than 0.
 #    type: enum values: 0, 1, 2, 4, 8, 16
diff --git a/src/client.cpp b/src/client.cpp
index 3fe67d645..f27f031c5 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -1766,29 +1766,6 @@ void Client::afterContentReceived(IrrlichtDevice *device)
 	m_nodedef->updateTextures(this, texture_update_progress, &tu_args);
 	delete[] tu_args.text_base;
 
-	// Preload item textures and meshes if configured to
-	if(g_settings->getBool("preload_item_visuals"))
-	{
-		verbosestream<<"Updating item textures and meshes"<<std::endl;
-		text = wgettext("Item textures...");
-		draw_load_screen(text, device, guienv, 0, 0);
-		std::set<std::string> names = m_itemdef->getAll();
-		size_t size = names.size();
-		size_t count = 0;
-		int percent = 0;
-		for(std::set<std::string>::const_iterator
-				i = names.begin(); i != names.end(); ++i)
-		{
-			// Asking for these caches the result
-			m_itemdef->getInventoryTexture(*i, this);
-			m_itemdef->getWieldMesh(*i, this);
-			count++;
-			percent = (count * 100 / size * 0.2) + 80;
-			draw_load_screen(text, device, guienv, 0, percent);
-		}
-		delete[] text;
-	}
-
 	// Start mesh update thread after setting up content definitions
 	infostream<<"- Starting mesh update thread"<<std::endl;
 	m_mesh_update_thread.start();
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 271214a4f..a043ef003 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -159,7 +159,6 @@ void set_default_settings(Settings *settings)
 	settings->setDefault("trilinear_filter", "false");
 	settings->setDefault("texture_clean_transparent", "false");
 	settings->setDefault("texture_min_size", "64");
-	settings->setDefault("preload_item_visuals", "false");
 	settings->setDefault("tone_mapping", "false");
 	settings->setDefault("enable_bumpmapping", "false");
 	settings->setDefault("enable_parallax_occlusion", "false");
@@ -345,7 +344,6 @@ void set_default_settings(Settings *settings)
 	settings->setDefault("max_simultaneous_block_sends_per_client", "3");
 	settings->setDefault("emergequeue_limit_diskonly", "8");
 	settings->setDefault("emergequeue_limit_generate", "8");
-	settings->setDefault("preload_item_visuals", "false");
 
 	settings->setDefault("viewing_range_nodes_max", "50");
 	settings->setDefault("viewing_range_nodes_min", "20");
diff --git a/src/settings_translation_file.cpp b/src/settings_translation_file.cpp
index b078e4d12..d3bf5a1f8 100644
--- a/src/settings_translation_file.cpp
+++ b/src/settings_translation_file.cpp
@@ -136,8 +136,6 @@ fake_function() {
 	gettext("Filtered textures can blend RGB values with fully-transparent neighbors,\nwhich PNG optimizers usually discard, sometimes resulting in a dark or\nlight edge to transparent textures.  Apply this filter to clean that up\nat texture load time.");
 	gettext("Minimum texture size for filters");
 	gettext("When using bilinear/trilinear/anisotropic filters, low-resolution textures\ncan be blurred, so automatically upscale them with nearest-neighbor\ninterpolation to preserve crisp pixels.  This sets the minimum texture size\nfor the upscaled textures; higher values look sharper, but require more\nmemory.  Powers of 2 are recommended.  Setting this higher than 1 may not\nhave a visible effect unless bilinear/trilinear/anisotropic filtering is\nenabled.");
-	gettext("Preload inventory textures");
-	gettext("Pre-generate all item visuals used in the inventory.\nThis increases startup time, but runs smoother in-game.\nThe generated textures can easily exceed your VRAM, causing artifacts in the inventory.");
 	gettext("FSAA");
 	gettext("Experimental option, might cause visible spaces between blocks\nwhen set to higher number than 0.");
 	gettext("Shaders");
-- 
GitLab