HyperRogue  11.3d
game/visualization engine based on non-Euclidean geometry
Classes | Namespaces | Macros | Functions | Variables
cell.cpp File Reference

General cells and maps. More...

#include "hyper.h"

Classes

struct  hr::hrmap
 
struct  hr::hrmap_standard
 
struct  hr::hrmap_hyperbolic
 

Namespaces

 hr
 

Macros

#define RANDITER   31
 
#define RVAL_MASK   0x10000000
 
#define DATA_MASK   0x20000000
 

Functions

EX int hr::default_levs ()
 
void hr::clearfrom (heptagon *)
 
void hr::verifycells (heptagon *)
 
EX int hr::dirdiff (int dd, int t)
 
EX cell * hr::newCell (int type, heptagon *master)
 
EX hrmap * hr::newAltMap (heptagon *o)
 
EX heptagon * hr::hyperbolic_origin ()
 
EX cell * hr::createMov (cell *c, int d)
 
EX void hr::eumerge (cell *c1, int s1, cell *c2, int s2, bool mirror)
 
EX void hr::initcells ()
 
EX void hr::clearcell (cell *c)
 
template<class T >
void hr::subcell (cell *c, const T &t)
 
EX void hr::clearHexes (heptagon *at)
 
void hr::unlink_cdata (heptagon *h)
 
EX void hr::clear_heptagon (heptagon *at)
 
EX void hr::verifycell (cell *c)
 
EX int hr::compdist (int dx[])
 
EX int hr::celldist (cell *c)
 
EX int hr::celldistAlt (cell *c)
 
EX int hr::updir (heptagon *h)
 
EX int hr::updir_alt (heptagon *h)
 
EX bool hr::randpattern (cell *c, int rval)
 
EX string hr::describeRPM (eLand l)
 
EX int hr::randpatternCode (cell *c, int rval)
 
EX void hr::clearMemoRPM ()
 
EX bool hr::randpatternMajority (cell *c, int ival, int iterations)
 
EX bool hr::geometry_supports_cdata ()
 
void hr::affect (cdata &d, short rv, signed char signum)
 
void hr::setHeptagonRval (heptagon *h)
 
EX bool hr::dmeq (int a, int b)
 
cdata * hr::getHeptagonCdata_legacy (heptagon *h)
 
cdata * hr::getHeptagonCdata (heptagon *h)
 
cdata * hr::getEuclidCdata (gp::loc h)
 
int hr::ld_to_int (ld x)
 
EX gp::loc hr::pseudocoords (cell *c)
 
EX cdata * hr::arcmCdata (cell *c)
 
EX int hr::getCdata (cell *c, int j)
 
EX int hr::getBits (cell *c)
 
EX cell * hr::heptatdir (cell *c, int d)
 
EX int hr::heptdistance (heptagon *h1, heptagon *h2)
 
EX int hr::heptdistance (cell *c1, cell *c2)
 
EX void hr::compute_saved_distances (cell *c1, int max_range, int climit)
 
EX void hr::permanent_long_distances (cell *c1)
 
EX void hr::erase_saved_distances ()
 
EX int hr::max_saved_distance (cell *c)
 
EX cell * hr::random_in_distance (cell *c, int d)
 
EX int hr::bounded_celldistance (cell *c1, cell *c2)
 
EX int hr::clueless_celldistance (cell *c1, cell *c2)
 
EX int hr::celldistance (cell *c1, cell *c2)
 
EX vector< cell * > hr::build_shortest_path (cell *c1, cell *c2)
 
EX void hr::clearCellMemory ()
 
EX bool hr::isNeighbor (cell *c1, cell *c2)
 
EX bool hr::isNeighborCM (cell *c1, cell *c2)
 
EX int hr::neighborId (cell *ofWhat, cell *whichOne)
 
EX bool hr::geometry_has_alt_mine_rule ()
 
EX vector< cell * > hr::adj_minefield_cells (cell *c)
 
EX vector< int > hr::reverse_directions (cell *c, int dir)
 
EX vector< int > hr::reverse_directions (heptagon *c, int dir)
 
EX bool hr::standard_tiling ()
 
EX int hr::valence ()
 

Variables

EX int hr::cellcount = 0
 
EX hrmap * hr::currentmap
 
EX vector< hrmap * > hr::allmaps
 
EX hookset< hrmap *()> * hr::hooks_newmap
 
EX heptagon hr::deletion_marker
 
char hr::rpm_memoize [3][256][RANDITER+1]
 
cdata hr::orig_cdata
 
map< pair< cell *, cell * >, int > hr::saved_distances
 
EX set< cell * > hr::keep_distances_from
 
set< cell * > hr::dists_computed
 
int hr::perma_distances
 
auto hr::cellhooks = addHook(clearmemory, 500, clearCellMemory)
 
EX int hr::mine_adjacency_rule = 0
 
EX map< cell *, vector< cell * > > hr::adj_memo
 

Detailed Description

General cells and maps.

Start with locations.cpp