aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/tile.cpp17
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):