diff --git a/minetest.conf.example b/minetest.conf.example index 7d471dc0..6f023094 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 3c69db07..c0c513fe 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.