HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Public Member Functions | Public Attributes | List of all members
hr::cell Struct Reference
Inheritance diagram for hr::cell:
hr::gcell

Public Member Functions

int degree ()
 
cell *& move (int d)
 
cell *& modmove (int d)
 
cellcmove (int d)
 
cellcmodmove (int d)
 
 cell (const cell &)=delete
 
heptagonoperator= (const cell &)=delete
 

Public Attributes

char type
 our degree
 
int listindex
 used by celllister

 
heptagonmaster
 heptagon who owns us; for 'masterless' tilings it contains coordinates instead
 
connection_table< cellc
 
- Public Attributes inherited from hr::gcell
eLand land: 8
 
eWall wall: 8
 
eMonster monst: 8
 
eItem item: 8
 
eLand barleft: 8
 
eLand barright: 8
 
unsigned ligon: 1
 
signed mpdist: 7
 minimum player distance, the smaller value, the more generated it is *‍/
 
signed pathdist: 8
 distance from the target – actual meaning may change
 
signed cpdist: 8
 current distance to the player
 
unsigned mondir: 8
 which direction the monster is facing (if relevant), also used for boats
 
unsigned bardir: 8
 may equal NODIR (no barrier here), NOBARRIERS (barriers not allowed here), or the barrier direction
 
unsigned stuntime: 8
 for stunned monsters, stun time left; also used for Mutant Ivy timing
 
unsigned hitpoints: 7
 hitpoints left, for Palace monsters, Dragons, Krakens etc. Also reused as cpid for mirrors
 
unsigned monmirror: 1
 monster mirroring state for nonorientable geometries
 
unsigned landflags: 8
 some lands need additional flags
 
union {
   int32_t   landpar
 
   unsigned int   landpar_color
 
   float   heat
 
   char   bytes [4]
 
   struct fieldinfo {
      uint16_t   fieldval
 
      unsigned   rval: 4
 
      unsigned   flowerdist: 4
 
      unsigned   walldist: 4
 
      unsigned   walldist2: 4
 
   }   fi
 
LHU
 
char wparam
 

The documentation for this struct was generated from the following file: