work-in-progress texture atlas optimization
[oweals/minetest.git] / src / mineral.h
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 #ifndef MINERAL_HEADER
21 #define MINERAL_HEADER
22
23 #include "inventory.h"
24 #include "texture.h"
25 #include "iirrlichtwrapper.h"
26
27 /*
28         Minerals
29
30         Value is stored in the lowest 5 bits of a MapNode's CPT_MINERAL
31         type param.
32 */
33
34 // Caches textures
35 void init_mineral(IIrrlichtWrapper *irrlicht);
36
37 #define MINERAL_NONE 0
38 #define MINERAL_COAL 1
39 #define MINERAL_IRON 2
40
41 #define MINERAL_COUNT 3
42
43 //textureid_t mineral_block_texture(u8 mineral);
44 std::string mineral_block_texture(u8 mineral);
45
46 inline CraftItem * getDiggedMineralItem(u8 mineral)
47 {
48         if(mineral == MINERAL_COAL)
49                 return new CraftItem("lump_of_coal", 1);
50         else if(mineral == MINERAL_IRON)
51                 return new CraftItem("lump_of_iron", 1);
52
53         return NULL;
54 }
55
56 #endif
57