diff --git a/changelog.txt b/changelog.txt index e658bcdf..b47c064e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2410,3 +2410,22 @@ Models of hyperbolic geometry: the back-to-start transition will be invisible, and thus line animation and spiral will be smooth - spiral mapping no longer crashes the game, and resizing the window works now - fisheye model (mostly for Euclidean geometry) + +2018.05.03 13:19 Version 10.3t + +- ESC clears the viewdistance option +- fixed a bug with bitruncated order-4 geometries (caused crashes on OSX and no effect otherwise) +- fixed some issues in the texture mode (incorrect saving, 'cancel texture', not remapping after changing the parameters) +- fixed the 'land mirages' appearing in the Ocean +- fixed the Crossroads IV/Camelot/Warped problem +- fixed the chessboard pattern +- fixed treasure/monster generation in randomized palaces +- disabled quest in weirdhyperbolic palaces +- fixed the Princess Challenge activation +- line patterns now work correctly in elliptic geometry +- fixed the validity information for the Snake Nest +- fixed the zebra3 pattern on Goldberg geometries +- added a "cube/elliptic" geometry +- improved the vertex placement for Goldberg polyhedra on spheres +- GP(x,x) implemented in elliptic geometry +- more roses spawn in chaosmode diff --git a/fieldpattern.cpp b/fieldpattern.cpp index 26353c41..d22e1119 100644 --- a/fieldpattern.cpp +++ b/fieldpattern.cpp @@ -724,19 +724,6 @@ fpattern& getcurrfp() { // extra information for field quotient extra configuration -struct primeinfo { - int p; - int cells; - bool squared; - }; - -struct fgeomextra { - eGeometry base; - vector primes; - int current_prime_id; - fgeomextra(eGeometry b, int i) : base(b), current_prime_id(i) {} - }; - vector fgeomextras = { fgeomextra(gNormal, 3), fgeomextra(gOctagon, 1), diff --git a/hyper.h b/hyper.h index d507b834..1e7e8865 100644 --- a/hyper.h +++ b/hyper.h @@ -3303,3 +3303,50 @@ enum eOrbLandRelation { olrBurns // burns }; +namespace torusconfig { + extern int sdx, sdy; + + enum eTorusMode { + tmSingleHex, + tmSingle, + tmSlantedHex, + tmStraight, + tmStraightHex, + tmKlein, + tmKleinHex + }; + + extern eTorusMode torus_mode; + extern void activate(); + + struct torusmode_info { + string name; + flagtype flags; + }; + + extern vector tmodes; + } + +namespace fieldpattern { + extern int current_extra; + + struct primeinfo { + int p; + int cells; + bool squared; + }; + + struct fgeomextra { + eGeometry base; + vector primes; + int current_prime_id; + fgeomextra(eGeometry b, int i) : base(b), current_prime_id(i) {} + }; + + extern vector fgeomextras; + extern void enableFieldChange(); + } + +bool incompatible(eLand l1, eLand l2); +eOrbLandRelation getOLR(eItem it, eLand l); +