From 18d8e3acec44a60a0ee1bbf0b515654fa2102ee9 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Sat, 7 Apr 2012 10:43:06 +0300 Subject: [PATCH] Support custom textures installed as /textures/all/*.png --- CMakeLists.txt | 1 + src/tile.cpp | 12 ++++++++++++ textures/all/textures_here.txt | 1 + 3 files changed, 14 insertions(+) create mode 100644 textures/all/textures_here.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 29882500c..027a710b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,7 @@ if(BUILD_CLIENT) endif() if(RUN_IN_PLACE) install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/mods/minetest/mods_here.txt" DESTINATION "${SHAREDIR}/mods/minetest") + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/textures/all/textures_here.txt" DESTINATION "${SHAREDIR}/textures/all") endif() install(FILES "README.txt" DESTINATION "${DOCDIR}") diff --git a/src/tile.cpp b/src/tile.cpp index 25f8a000b..73c286fb3 100644 --- a/src/tile.cpp +++ b/src/tile.cpp @@ -131,6 +131,18 @@ std::string getTexturePath(const std::string &filename) fullpath = getImagePath(testpath); } + /* + Check from $user/textures/all + */ + if(fullpath == "") + { + std::string texture_path = porting::path_user + DIR_DELIM + + "textures" + DIR_DELIM + "all"; + std::string testpath = texture_path + DIR_DELIM + filename; + // Check all filename extensions. Returns "" if not found. + fullpath = getImagePath(testpath); + } + /* Check from default data directory */ diff --git a/textures/all/textures_here.txt b/textures/all/textures_here.txt new file mode 100644 index 000000000..37940850a --- /dev/null +++ b/textures/all/textures_here.txt @@ -0,0 +1 @@ +If you haven't modified the texture_path setting, you can copy textures of your texture packs into here. Folders are currently not supported.