blob: 1d7e98dcbdb9322b7b0701546fecf214aa3cd159 (
plain) (
blame)
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
|
#ifndef FEATURE_H
#define FEATURE_H
#include "show.h"
struct feature_def
{
dungeon_feature_type feat;
const char* name;
const char* vaultname; // used for KFEAT and &(
dungeon_char_type dchar; // used for creating symbol
dungeon_char_type magic_dchar; // used for creating magic_symbol
ucs_t symbol; // symbol used for seen terrain
ucs_t magic_symbol; // symbol used for magic-mapped terrain
unsigned short colour; // normal in LoS colour
unsigned short map_colour; // colour when out of LoS on display
unsigned short seen_colour; // map_colour when env.map_knowledge().seen()
unsigned short em_colour; // Emphasised colour when in LoS.
unsigned short seen_em_colour; // Emphasised colour when out of LoS
unsigned flags;
map_feature minimap; // mini-map categorization
bool is_notable() const { return flags & FFT_NOTABLE; }
};
void init_fd(feature_def& fd);
void init_show_table();
const feature_def &get_feature_def(show_type object);
const feature_def &get_feature_def(dungeon_feature_type feat);
bool is_valid_feature_type(dungeon_feature_type feat);
static inline bool is_notable_terrain(dungeon_feature_type ftype)
{
return get_feature_def(ftype).is_notable();
}
dungeon_feature_type magic_map_base_feat(dungeon_feature_type feat);
#endif
|