summaryrefslogtreecommitdiff
path: root/src/tile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tile.cpp')
-rw-r--r--src/tile.cpp17
1 files changed, 13 insertions, 4 deletions
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):