summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mapcell.h
blob: 336735a911dd33250271cd54952eda0b4f193e4d (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
#ifndef MAPCELL_H
#define MAPCELL_H

#include "show.h"

/*
 * A map_cell stores what the player knows about a cell.
 * These go in env.map.
 *
 * TODO: Remove property -- that should go in env.grid.
 */

struct map_cell
{
    show_type object;       // The object: monster, item, feature, or cloud.
    unsigned short flags;   // Flags describing the mappedness of this square.
    unsigned short colour;
    unsigned long property; // Flags for blood, sanctuary, ...

    map_cell() : object(), flags(0), colour(0), property(0) { }
    void clear() { flags = colour = 0; object = show_type(); }

    unsigned glyph() const;
    bool known() const;
    bool seen() const;
};

#endif