1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-18 15:00:26 +00:00

added some comments to hyper.h

This commit is contained in:
Zeno Rogue 2019-04-29 11:17:06 +02:00
parent 5d77c86658
commit cb164d92c2

11
hyper.h
View File

@ -88,6 +88,8 @@ struct hr_shortest_path_exception: hr_exception { };
#define GEN_N 2 #define GEN_N 2
#define GEN_O 3 #define GEN_O 3
// Add a message to the GUI.
// If multiple messages appear with the same spamtype != 0, the older ones disappear quickly
void addMessage(string s, char spamtype = 0); void addMessage(string s, char spamtype = 0);
// geometry-dependent constants // geometry-dependent constants
@ -102,6 +104,8 @@ void addMessage(string s, char spamtype = 0);
#define binarytiling (ginf[geometry].flags & qBINARY) #define binarytiling (ginf[geometry].flags & qBINARY)
#define archimedean (geometry == gArchimedean) #define archimedean (geometry == gArchimedean)
// these geometries do not feature alternate structures for horocycles
#define eubinary (euclid || binarytiling || geometry == gCrystal) #define eubinary (euclid || binarytiling || geometry == gCrystal)
#define cgclass (ginf[geometry].cclass) #define cgclass (ginf[geometry].cclass)
@ -113,11 +117,16 @@ void addMessage(string s, char spamtype = 0);
#define quotient (ginf[geometry].flags & qANYQ) #define quotient (ginf[geometry].flags & qANYQ)
#define euwrap (quotient && euclid) #define euwrap (quotient && euclid)
#define fulltorus (bounded && euclid) #define fulltorus (bounded && euclid)
#define doall (bounded)
#define smallbounded (ginf[geometry].flags & qSMALL) #define smallbounded (ginf[geometry].flags & qSMALL)
#define bounded (ginf[geometry].flags & qBOUNDED) #define bounded (ginf[geometry].flags & qBOUNDED)
// Dry Forest burning, heat transfer, etc. are performed on the whole universe
#define doall (bounded)
// These geometries are generated without the heptagon structure.
// 'master' holds the coordinates
#define masterless among(geometry, gEuclid, gEuclidSquare, gTorus) #define masterless among(geometry, gEuclid, gEuclidSquare, gTorus)
#define sphere_narcm (sphere && !archimedean) #define sphere_narcm (sphere && !archimedean)
#define a4 (S3 == 4) #define a4 (S3 == 4)