1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-01-18 21:23:03 +00:00

CHANGED_VARIATION now considers 'pure' to be the default variation of the binary and Archimedean tilings

This commit is contained in:
Zeno Rogue 2018-08-29 21:19:52 +02:00
parent c06f01847c
commit d95fc4b8d4
3 changed files with 23 additions and 22 deletions

View File

@ -1661,27 +1661,27 @@ vector<eLand> randlands = {
static const int qNONOR = qNONORIENTABLE; static const int qNONOR = qNONORIENTABLE;
geometryinfo ginf[gGUARD] = { geometryinfo ginf[gGUARD] = {
{"standard", "HR", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}}, {"standard", "HR", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}, eVariation::bitruncated},
{"Euclidean", "euclid", 6, 3, 0, gcEuclid, 0, {{7, FORBIDDEN}}}, {"Euclidean", "euclid", 6, 3, 0, gcEuclid, 0, {{7, FORBIDDEN}}, eVariation::bitruncated},
{"spherical", "sphere", 5, 3, 0, gcSphere, 0, {{SEE_ALL, SEE_ALL}}}, {"spherical", "sphere", 5, 3, 0, gcSphere, 0, {{SEE_ALL, SEE_ALL}}, eVariation::bitruncated},
{"elliptic", "elliptic", 5, 3, qNONOR, gcSphere, 0, {{SEE_ALL, SEE_ALL}}}, {"elliptic", "elliptic", 5, 3, qNONOR, gcSphere, 0, {{SEE_ALL, SEE_ALL}}, eVariation::bitruncated},
{"Zebra quotient", "Zebra", 7, 3, qSMALL | qZEBRA, gcHyperbolic, 0x00400, {{7, 5}}}, {"Zebra quotient", "Zebra", 7, 3, qSMALL | qZEBRA, gcHyperbolic, 0x00400, {{7, 5}}, eVariation::bitruncated},
{"field quotient", "field", 7, 3, qFIELD, gcHyperbolic, 0x00200, {{7, 5}}}, {"field quotient", "field", 7, 3, qFIELD, gcHyperbolic, 0x00200, {{7, 5}}, eVariation::bitruncated},
{"torus/Klein bottle", "torus", 6, 3, qTORUS, gcEuclid, 0x00600, {{7, FORBIDDEN}}}, {"torus/Klein bottle", "torus", 6, 3, qTORUS, gcEuclid, 0x00600, {{7, FORBIDDEN}}, eVariation::bitruncated},
{"octagons", "oct", 8, 3, 0, gcHyperbolic, 0x08000, {{6, 4}}}, {"octagons", "oct", 8, 3, 0, gcHyperbolic, 0x08000, {{6, 4}}, eVariation::bitruncated},
{"four pentagons", "4x5", 5, 4, 0, gcHyperbolic, 0x08200, {{6, 4}}}, {"four pentagons", "4x5", 5, 4, 0, gcHyperbolic, 0x08200, {{6, 4}}, eVariation::bitruncated},
{"four hexagons", "4x6", 6, 4, 0, gcHyperbolic, 0x08400, {{5, 3}}}, {"four hexagons", "4x6", 6, 4, 0, gcHyperbolic, 0x08400, {{5, 3}}, eVariation::bitruncated},
{"four heptagons", "4x7", 7, 4, 0, gcHyperbolic, 0x08600, {{4, 3}}}, {"four heptagons", "4x7", 7, 4, 0, gcHyperbolic, 0x08600, {{4, 3}}, eVariation::bitruncated},
{"cube", "3x4", 4, 3, 0, gcSphere, 0x10000, {{SEE_ALL, SEE_ALL}}}, {"cube", "3x4", 4, 3, 0, gcSphere, 0x10000, {{SEE_ALL, SEE_ALL}}, eVariation::bitruncated},
{"tetrahedron", "3x3", 3, 3, 0, gcSphere, 0x10200, {{SEE_ALL, SEE_ALL}}}, {"tetrahedron", "3x3", 3, 3, 0, gcSphere, 0x10200, {{SEE_ALL, SEE_ALL}}, eVariation::bitruncated},
{"square grid", "4x4", 4, 4, 0, gcEuclid, 0x10400, {{7, 7}}}, {"square grid", "4x4", 4, 4, 0, gcEuclid, 0x10400, {{7, 7}}, eVariation::bitruncated},
{"cube/elliptic", "e3x4", 4, 3, qNONOR, gcSphere, 0x10600, {{SEE_ALL, SEE_ALL}}}, {"cube/elliptic", "e3x4", 4, 3, qNONOR, gcSphere, 0x10600, {{SEE_ALL, SEE_ALL}}, eVariation::bitruncated},
{"Klein Quartic", "Klein", 7, 3, qSMALL, gcHyperbolic, 0x18000, {{7, 5}}}, {"Klein Quartic", "Klein", 7, 3, qSMALL, gcHyperbolic, 0x18000, {{7, 5}}, eVariation::bitruncated},
{"Bolza Surface", "Bolza", 8, 3, qSMALL | qDOCKS, gcHyperbolic, 0x18200, {{6, 4}}}, {"Bolza Surface", "Bolza", 8, 3, qSMALL | qDOCKS, gcHyperbolic, 0x18200, {{6, 4}}, eVariation::bitruncated},
{"Bolza Surface x2", "Bolza2", 8, 3, qSMALL | qDOCKS, gcHyperbolic, 0x18400, {{6, 4}}}, {"Bolza Surface x2", "Bolza2", 8, 3, qSMALL | qDOCKS, gcHyperbolic, 0x18400, {{6, 4}}, eVariation::bitruncated},
{"minimal quotient", "minimal", 7, 3, qSMALL | qNONOR, gcHyperbolic, 0x18600, {{7, 5}}}, {"minimal quotient", "minimal", 7, 3, qSMALL | qNONOR, gcHyperbolic, 0x18600, {{7, 5}}, eVariation::bitruncated},
{"binary tiling", "binary", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}}, {"binary tiling", "binary", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}, eVariation::pure},
{"Archimedean", "A", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}} {"Archimedean", "A", 7, 3, 0, gcHyperbolic, 0, {{7, 5}}, eVariation::pure}
}; };
} }

View File

@ -214,6 +214,7 @@ struct geometryinfo {
eGeometryClass cclass; eGeometryClass cclass;
int xcode; int xcode;
std::array<int,2> distlimit; // bitrunc, non-bitrunc std::array<int,2> distlimit; // bitrunc, non-bitrunc
eVariation default_variation;
}; };
static const int qSMALL = 1; static const int qSMALL = 1;

View File

@ -138,7 +138,7 @@ void addMessage(string s, char spamtype = 0);
#define PURE (variation == eVariation::pure) #define PURE (variation == eVariation::pure)
#define BITRUNCATED (variation == eVariation::bitruncated) #define BITRUNCATED (variation == eVariation::bitruncated)
#define CHANGED_VARIATION (!BITRUNCATED) #define CHANGED_VARIATION (variation != ginf[geometry].default_variation)
#define STDVAR (PURE || BITRUNCATED) #define STDVAR (PURE || BITRUNCATED)
#define NONSTDVAR (!STDVAR) #define NONSTDVAR (!STDVAR)