1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
/**
* @file
* @brief Tiles interface, either for SDL or web tiles
**/
#ifndef TILES_H
#define TILES_H
// The different texture types.
enum TextureID
{
TEX_FLOOR, // floor.png
TEX_WALL, // wall.png
TEX_FEAT, // feat.png
TEX_PLAYER, // player.png
TEX_DEFAULT, // main.png
TEX_GUI, // gui.png
TEX_ICONS, // icons.png
TEX_MAX
};
struct VColour
{
VColour() {}
VColour(unsigned char _r, unsigned char _g, unsigned char _b,
unsigned char _a = 255) : r(_r), g(_g), b(_b), a(_a) {}
VColour(const VColour &vc) : r(vc.r), g(vc.g), b(vc.b), a(vc.a) {}
inline void set(const VColour &in)
{
r = in.r;
g = in.g;
b = in.b;
a = in.a;
}
bool operator==(const VColour &vc) const;
bool operator!=(const VColour &vc) const;
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char a;
static VColour white;
static VColour black;
static VColour transparent;
};
struct tile_def
{
tile_def(tileidx_t _tile, TextureID _tex, int _ymax = TILE_Y)
: tile(_tile), tex(_tex), ymax(_ymax) {}
tileidx_t tile;
TextureID tex;
int ymax;
};
TextureID get_dngn_tex(tileidx_t idx);
#ifdef USE_TILE_LOCAL
#include "tilesdl.h"
#elif defined(USE_TILE_WEB)
#include "tileweb.h"
#endif
#endif
|