diff options
author | number Zero <silverunicorn2011@yandex.ru> | 2017-09-13 23:03:18 +0300 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2017-11-17 19:23:08 +0000 |
commit | 05d93c7fa1be9245dd5211b7dc1bdf0961b39eea (patch) | |
tree | cbf354caa6c100f2e1e5c524d2f959913f52ac0e /src/server.cpp | |
parent | ae9b1aa1774aedca8f452514d9462c281e36773a (diff) | |
download | minetest-05d93c7fa1be9245dd5211b7dc1bdf0961b39eea.tar.gz minetest-05d93c7fa1be9245dd5211b7dc1bdf0961b39eea.tar.bz2 minetest-05d93c7fa1be9245dd5211b7dc1bdf0961b39eea.zip |
Load files from subfolders in texturepacks
Updated and rebased version of a PR by red-001
Diffstat (limited to 'src/server.cpp')
-rw-r--r-- | src/server.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
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<fs::DirListNode> dirlist = fs::GetDirListing(mediapath); |