summaryrefslogtreecommitdiff
path: root/src/tile.cpp
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-01-07 19:39:27 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-01-07 19:39:27 +0200
commit6b6c2d37ea1f9075c4fbf0d7e2d52e527e1f86aa (patch)
tree16ab23387dc95d0f42e6519e500d4024e2a2f826 /src/tile.cpp
parentdc414091e736badc6fd2faa6a2583639a3458818 (diff)
downloadminetest-6b6c2d37ea1f9075c4fbf0d7e2d52e527e1f86aa.tar.gz
minetest-6b6c2d37ea1f9075c4fbf0d7e2d52e527e1f86aa.tar.bz2
minetest-6b6c2d37ea1f9075c4fbf0d7e2d52e527e1f86aa.zip
Added a more flexible path system (and fixed some minor stuff)
Diffstat (limited to 'src/tile.cpp')
-rw-r--r--src/tile.cpp53
1 files changed, 38 insertions, 15 deletions
diff --git a/src/tile.cpp b/src/tile.cpp
index a9470dc8e..90de11642 100644
--- a/src/tile.cpp
+++ b/src/tile.cpp
@@ -18,27 +18,50 @@ with this program; if not, write to the Free Software Foundation, Inc.,
*/
#include "tile.h"
+#include "porting.h"
+// For IrrlichtWrapper
#include "main.h"
+#include <string>
// A mapping from tiles to paths of textures
-const char * g_tile_texture_paths[TILES_COUNT] =
+
+const char * g_tile_texture_filenames[TILES_COUNT] =
{
NULL,
- "../data/stone.png",
- "../data/water.png",
- "../data/grass.png",
- "../data/tree.png",
- "../data/leaves.png",
- "../data/grass_footsteps.png",
- "../data/mese.png",
- "../data/mud.png",
- "../data/tree_top.png",
- "../data/mud_with_grass.png",
- "../data/cloud.png",
- "../data/coalstone.png",
- "../data/wood.png",
+ "stone.png",
+ "water.png",
+ "grass.png",
+ "tree.png",
+ "leaves.png",
+ "grass_footsteps.png",
+ "mese.png",
+ "mud.png",
+ "tree_top.png",
+ "mud_with_grass.png",
+ "cloud.png",
+ "coalstone.png",
+ "wood.png",
};
+std::string g_tile_texture_path_strings[TILES_COUNT];
+const char * g_tile_texture_paths[TILES_COUNT] = {0};
+
+void init_tile_texture_paths()
+{
+ for(s32 i=0; i<TILES_COUNT; i++)
+ {
+ const char *filename = g_tile_texture_filenames[i];
+
+ if(filename != NULL)
+ {
+ g_tile_texture_path_strings[i] =
+ porting::getDataPath(filename);
+ g_tile_texture_paths[i] =
+ g_tile_texture_path_strings[i].c_str();
+ }
+ }
+}
+
const char * tile_texture_path_get(u32 i)
{
assert(i < TILES_COUNT);
@@ -54,7 +77,7 @@ void tile_materials_preload(IrrlichtWrapper *irrlicht)
{
for(s32 i=0; i<TILES_COUNT; i++)
{
- const char *path = g_tile_texture_paths[i];
+ const char *path = tile_texture_path_get(i);
video::ITexture *t = NULL;