From e3258b78e263c3f95007e1fbc92fcc3a51646f69 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 1 Dec 2012 23:54:15 +0200 Subject: [PATCH] Add setting preload_item_visuals --- minetest.conf.example | 7 +++++++ src/client.cpp | 13 +++++++++++++ src/defaultsettings.cpp | 1 + 3 files changed, 21 insertions(+) diff --git a/minetest.conf.example b/minetest.conf.example index 7d471dc05..6f023094a 100644 --- a/minetest.conf.example +++ b/minetest.conf.example @@ -129,6 +129,13 @@ #sound_volume = 0.7 # Whether node texture animations should be desynchronized per MapBlock #desynchronize_mapblock_texture_animation = true +# Texture filtering settings +#mip_map = false +#anisotropic_filter = false +#bilinear_filter = false +#trilinear_filter = false +# Set to true to pre-generate all item visuals +#preload_item_visuals = false # # Server stuff diff --git a/src/client.cpp b/src/client.cpp index 3c69db076..c0c513fef 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -2464,6 +2464,19 @@ void Client::afterContentReceived() infostream<<"- Updating node textures"<updateTextures(m_tsrc); + // Preload item textures and meshes if configured to + if(g_settings->getBool("preload_item_visuals")) + { + verbosestream<<"Updating item textures and meshes"< names = m_itemdef->getAll(); + for(std::set::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); + } + } + // Start mesh update thread after setting up content definitions infostream<<"- Starting mesh update thread"<setDefault("anisotropic_filter", "false"); settings->setDefault("bilinear_filter", "false"); settings->setDefault("trilinear_filter", "false"); + settings->setDefault("preload_item_visuals", "false"); // Server stuff // "map-dir" doesn't exist by default.