32db69672427a4734f078b9d976948487076fb51
[oweals/minetest.git] / src / tile.cpp
1 /*
2 Minetest-c55
3 Copyright (C) 2010 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License along
16 with this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19
20 #include "tile.h"
21
22 const char * g_tile_texture_names[TILES_COUNT] =
23 {
24         NULL,
25         "stone",
26         "water",
27         "grass",
28         "tree",
29         "leaves",
30         "grass_footsteps",
31         "mese",
32         "mud",
33         "tree_top",
34         "mud_with_grass",
35 };
36
37 video::SMaterial g_tile_materials[TILES_COUNT];
38
39 void tile_materials_preload(TextureCache &cache)
40 {
41         for(s32 i=0; i<TILES_COUNT; i++)
42         {
43                 const char *name = g_tile_texture_names[i];
44
45                 video::ITexture *t = NULL;
46
47                 if(name != NULL)
48                 {
49                         t = cache.get(name);
50                         assert(t != NULL);
51                 }
52
53                 g_tile_materials[i].Lighting = false;
54                 g_tile_materials[i].BackfaceCulling = false;
55                 g_tile_materials[i].setFlag(video::EMF_BILINEAR_FILTER, false);
56                 g_tile_materials[i].setFlag(video::EMF_ANTI_ALIASING, video::EAAM_OFF);
57                 //if(i != TILE_WATER)
58                 //g_tile_materials[i].setFlag(video::EMF_FOG_ENABLE, true);
59                 
60                 //g_tile_materials[i].setFlag(video::EMF_TEXTURE_WRAP, video::ETC_REPEAT);
61                 //g_tile_materials[i].setFlag(video::EMF_ANISOTROPIC_FILTER, false);
62
63                 g_tile_materials[i].setTexture(0, t);
64         }
65         
66         g_tile_materials[TILE_WATER].MaterialType = video::EMT_TRANSPARENT_VERTEX_ALPHA;
67         //g_tile_materials[TILE_WATER].MaterialType = video::EMT_TRANSPARENT_ADD_COLOR;
68 }
69