Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef VISION_H
00006 #define VISION_H
00007
00008 #if 0
00009 extern boolean vision_full_recalc;
00010 extern char **viz_array;
00011 extern char *viz_rmin;
00012 extern char *viz_rmax;
00013 #endif
00014 #define COULD_SEE 0x1
00015 #define IN_SIGHT 0x2
00016 #define TEMP_LIT 0x4
00017
00018
00019
00020
00021 #define LS_OBJECT 0
00022 #define LS_MONSTER 1
00023
00024
00025
00026
00027
00028
00029
00030 #define cansee(x,y) (viz_array[y][x] & IN_SIGHT)
00031 #define couldsee(x,y) (viz_array[y][x] & COULD_SEE)
00032 #define templit(x,y) (viz_array[y][x] & TEMP_LIT)
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 #define m_cansee(mtmp,x2,y2) clear_path((mtmp)->mx,(mtmp)->my,(x2),(y2))
00045
00046 #define m_canseeu(m) ((!Invis || perceives((m)->data)) && \
00047 !(Underwater || u.uburied || (m)->mburied) ? \
00048 couldsee((m)->mx,(m)->my) : 0)
00049
00050
00051
00052
00053 #define MAX_RADIUS 15
00054
00055
00056 #define circle_ptr(z) (&circle_data[(int)circle_start[z]])
00057
00058 #endif