From 05d93c7fa1be9245dd5211b7dc1bdf0961b39eea Mon Sep 17 00:00:00 2001 From: number Zero Date: Wed, 13 Sep 2017 23:03:18 +0300 Subject: Load files from subfolders in texturepacks Updated and rebased version of a PR by red-001 --- src/server.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src/server.cpp') diff --git a/src/server.cpp b/src/server.cpp index 98c3eca9a..653441b54 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -253,9 +253,8 @@ Server::Server( m_nodedef->updateAliases(m_itemdef); // Apply texture overrides from texturepack/override.txt - std::string texture_path = g_settings->get("texture_path"); - if (!texture_path.empty() && fs::IsDir(texture_path)) - m_nodedef->applyTextureOverrides(texture_path + DIR_DELIM + "override.txt"); + for (const auto &path : fs::GetRecursiveDirs(g_settings->get("texture_path"))) + m_nodedef->applyTextureOverrides(path + DIR_DELIM + "override.txt"); m_nodedef->setNodeRegistrationStatus(true); @@ -2253,8 +2252,8 @@ void Server::fillMediaCache() paths.push_back(mod.path + DIR_DELIM + "models"); paths.push_back(mod.path + DIR_DELIM + "locale"); } - paths.push_back(porting::path_user + DIR_DELIM + "textures" + DIR_DELIM + "server"); - + fs::GetRecursiveDirs(paths, porting::path_user + DIR_DELIM + + "textures" + DIR_DELIM + "server"); // Collect media file information from paths into cache for (const std::string &mediapath : paths) { std::vector dirlist = fs::GetDirListing(mediapath); -- cgit v1.2.3