diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/tile.cpp | 17 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3fccce665..1c684b0fe 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -172,7 +172,7 @@ else() if(BUILD_SERVER) set_target_properties(minetestserver PROPERTIES - COMPILE_DEFINITIONS "-DSERVER") + COMPILE_DEFINITIONS "SERVER") endif(BUILD_SERVER) endif() diff --git a/src/tile.cpp b/src/tile.cpp index aa4b3d042..24cd9c014 100644 --- a/src/tile.cpp +++ b/src/tile.cpp @@ -20,14 +20,23 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "tile.h" #include "debug.h" #include "main.h" // for g_settings +#include "filesys.h" +/* + Gets the path to a texture by first checking if the texture exists + in texture_path and if not, using the data path. +*/ inline std::string getTexturePath(std::string filename) { std::string texture_path = g_settings.get("texture_path"); - if(texture_path == "") - return porting::getDataPath(filename.c_str()); - else - return texture_path + '/' + filename; + if(texture_path != "") + { + std::string fullpath = texture_path + '/' + filename; + if(fs::PathExists(fullpath)) + return fullpath; + } + + return porting::getDataPath(filename.c_str()); } TextureSource::TextureSource(IrrlichtDevice *device): |