1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-24 13:27:17 +00:00
Commit Graph

287 Commits

Author SHA1 Message Date
Zeno Rogue
9647cbd47e added #include hyper.h to all cpp files 2019-09-12 22:50:16 +02:00
Zeno Rogue
46dfd50a40 fixed a crash in Archimedean sl2 due to Cdata 2019-09-12 22:50:15 +02:00
Zeno Rogue
c33c79a902 generalized PSL2 to spherical rotation spaces too 2019-09-12 22:50:15 +02:00
Zeno Rogue
2bedd5f2ce fix for Archimedean hybrid 2019-09-12 22:50:15 +02:00
Zeno Rogue
1e6970ca28 hybrid:: refactored the common parts of prod and sl2, also used them when applicable 2019-09-12 22:50:15 +02:00
Zeno Rogue
136b931609 PSL(2,R) 2019-09-12 22:50:15 +02:00
Zeno Rogue
a03eb0d913 fixed new geometry handling for Archimedean 2019-09-12 22:50:15 +02:00
Zeno Rogue
988adb8259 product:: horocycles now have base altitude 2019-09-12 22:50:14 +02:00
Zeno Rogue
a25bf14cff added missing clearmemory in nonisotropic geometries; this also fixed a crash in Archimedean 2019-09-12 22:50:14 +02:00
Zeno Rogue
081bb55202 in_underlying_map, not PIU in distance functions 2019-09-12 22:50:13 +02:00
Zeno Rogue
f40072511b product:: big stuff 2019-09-12 22:50:13 +02:00
Zeno Rogue
6958cbcbd9 product:: preliminary version (no turning) 2019-09-12 22:50:13 +02:00
Zeno Rogue
843a53d07c fixed a bug with Archimedean hyperbolic tilings 2019-09-12 22:50:13 +02:00
Zeno Rogue
437c4e4cdd flag 'experimental' for new geometries 2019-09-12 22:50:13 +02:00
Zeno Rogue
8b1c7bffe4 initial reformatting of comments for Doxygen 2019-09-12 22:50:13 +02:00
Zeno Rogue
609d1b91d3 further cleanup 2019-09-12 22:50:13 +02:00
Zeno Rogue
245ee5878f removed function dirfromto as it was equal to neighborId 2019-09-12 22:50:12 +02:00
Zeno Rogue
c2d56fb9bc autohdr.h applied in more files 2019-09-12 22:50:12 +02:00
Zeno Rogue
f4eda1d76e removed function fixdir 2019-09-12 22:50:12 +02:00
Zeno Rogue
661743a19b removed the obsolete *MovR functions 2019-09-12 22:50:12 +02:00
Zeno Rogue
ef89c7ed9d removed functions fix6 and fix7 2019-09-12 22:50:12 +02:00
Zeno Rogue
c131e21198 namespace hyperpoint_vec removed 2019-09-12 22:50:12 +02:00
Zeno Rogue
602e6f27db generating various lands in Sol 2019-09-12 22:50:12 +02:00
Zeno Rogue
4f27b12ca2 nilv:: preliminary implementation 2019-09-12 22:50:11 +02:00
Zeno Rogue
875af54063 approx_distance in Sol 2019-09-12 22:50:11 +02:00
Zeno Rogue
40e5f7f930 celldistance now returns DISTANCE_UNKNOWN instead of 64 if it does not know 2019-09-12 22:50:11 +02:00
Zeno Rogue
bca567cc10 updir used in heptdistance 2019-09-12 22:50:11 +02:00
Zeno Rogue
9f664568ab penrose3 fixup 2019-09-12 22:50:11 +02:00
Zeno Rogue
bc1cc7e2ca one more celldistance switch 2019-09-12 22:50:11 +02:00
Zeno Rogue
94f4cd24af fixed build_shortest_path in arcm/Penrose euclidean 2019-09-12 22:50:11 +02:00
Zeno Rogue
908bd13660 getHeptagonCdata_legacy to keep Racing working 2019-09-12 22:50:11 +02:00
Zeno Rogue
158030c5de improved exhaustive distance computation for geometries such as Archimedean/Penrose E2 2019-09-12 22:50:11 +02:00
Zeno Rogue
c97ab10700 pushed unimplemented Product 2019-09-12 22:50:09 +02:00
Zeno Rogue
fff0cd1d3e land improvements in Sol/Penrose/B4 2019-09-12 22:50:09 +02:00
Zeno Rogue
cf496e8940 kite-and-dart tiling 2019-09-12 22:50:09 +02:00
Zeno Rogue
45ba083185 celldist in sol uses celldistance 2019-09-12 22:50:09 +02:00
Zeno Rogue
946570da31 moved zpush from 3dmodels to hyperpoint 2019-09-12 22:50:09 +02:00
Zeno Rogue
2d30f3830c standard binary tiling, also improved the looks of variant binary tiling, and optimized shvid for pure 2019-09-12 22:50:09 +02:00
Zeno Rogue
d1fb9f3564 simplified and generalized cdata 2019-09-12 22:50:09 +02:00
Zeno Rogue
a5dc6d40e6 fixed wrong degree() in binary tiling root 2019-09-12 22:50:09 +02:00
Zeno Rogue
7d086da036 removed some junk 2019-09-12 22:50:04 +02:00
Zeno Rogue
df3e21b310 debug cleanup 2019-09-12 22:50:00 +02:00
Zeno Rogue
1c4d86e0e9 3D graphics in 2D (first commit) 2019-09-12 22:43:01 +02:00
Zeno Rogue
c8e950cd40 added some missing CAP_ and MAXMDIM guards 2019-09-12 22:43:01 +02:00
Zeno Rogue
c0145c0d9c 3d:: Euclidean tori 2019-09-12 22:42:59 +02:00
Zeno Rogue
44495852ad hr_exception, currently used for build_shortest_path 2019-09-12 22:42:58 +02:00
Zeno Rogue
225282a3eb 3d::binary:: make the land barriers more like planes by pushing them by a number depending on btwidth 2019-09-12 22:38:45 +02:00
Zeno Rogue
ebbaa3fcc3 fixed some memory bugs 2019-09-12 22:38:45 +02:00
Zeno Rogue
497f7f6c0f 3d:: reg3:: distances and alt-distances 2019-09-12 22:38:45 +02:00
Zeno Rogue
78d88b5909 improved in the OO fashion: draw, relative_matrix, create_step, and several minor functions are now virtual in hrmap 2019-09-12 22:38:44 +02:00
Zeno Rogue
d8428f2ec3 crystal::3d:: transformation 2019-09-12 22:38:44 +02:00
Zeno Rogue
105de56857 3d:: HoroTris geometry 2019-09-12 22:38:44 +02:00
Zeno Rogue
52ce5ac9aa 3d:: all the regular honeycombs 2019-09-12 22:38:43 +02:00
?
81dd0c71da added some missing guards for CAP_BT and MAXMDIM 2019-09-12 22:38:42 +02:00
?
54f278963c renamed MAXDIM to MAXMDIM (conflict with crystal) 2019-09-12 22:38:42 +02:00
?
c14515c5ac fixed build_shortest_path in 4-valent Euclidean tilings 2019-09-12 22:38:42 +02:00
?
858a5eddb1 in createMov applied mirror just in case 2019-09-12 22:38:42 +02:00
?
00d9bacddd 3D:: disabled build_shortest_path in euclid for now 2019-09-12 22:38:42 +02:00
?
9319c3b0fa 3d:: celldistances 2019-09-12 22:38:42 +02:00
?
a6094f7b0c 3d:: binary:: celldistance [untested] 2019-09-12 22:38:42 +02:00
?
33d4854c14 3D:: 120-cell 2019-09-12 22:38:40 +02:00
?
4b356d9945 moved quotient spaces to quotient.cpp 2019-09-12 22:38:40 +02:00
?
33d94beb4f moved spherical geometry to sphere.cpp 2019-09-12 22:38:40 +02:00
?
c7cb93f2ed moved all the Euclidean maps to euclid.cpp 2019-09-12 22:38:40 +02:00
?
7110be2032 3D:: cube tiling 2019-09-12 22:38:40 +02:00
?
d08e58f404 3d:: 2D/3D is now selectable at runtime 2019-09-12 22:38:40 +02:00
?
96e4ff6c9d binary tiling in 3D works 2019-09-12 22:38:39 +02:00
?
c5a771c888 CAP_FIELD part 1 2019-09-12 22:38:39 +02:00
?
b25730d5c9 geometry flags part 1 2019-09-12 22:38:39 +02:00
Zeno Rogue
a676424573 Irradiated Yendor Challenge (but commented off for now) 2019-09-12 22:38:39 +02:00
Zeno Rogue
fd9fca6129 redesigned the Experiment with Geometry menu 2019-02-08 16:55:00 +01:00
Zeno Rogue
8c5b62e309 octagon geometry 2019-02-06 18:48:52 +01:00
Zeno Rogue
b0b783b581 tailored_delete used for deleting cells and heptagons, so that there is no delete/delete[] mismatch 2019-02-06 18:48:52 +01:00
Zeno Rogue
df0578a1fe cdata is now initialized to 0, or ALL if reptilecheat is on 2019-02-06 18:48:52 +01:00
Zeno Rogue
c022863e8b fix unused lambda capture 2018-12-15 14:50:11 +01:00
Zeno Rogue
0d558cb0e1 build_shortest_path function 2018-12-14 19:27:12 +01:00
Zeno Rogue
5221ac07a3 crystal:: celldist(ance) gives precise distance, heptdistance gives imprecise one 2018-12-14 19:27:12 +01:00
Zeno Rogue
05df60ae70 more lands implemented for cylinders 2018-12-14 19:27:12 +01:00
Zeno Rogue
000f271552 refactored buildCamelot as a separate function 2018-12-14 19:27:11 +01:00
Zeno Rogue
fd3b030119 crystal:: added multi-dimensional geometries (referred to as crystal), available via CLI for now 2018-12-14 19:27:11 +01:00
Zeno Rogue
cd357303b9 cleaned up surface flags 2018-12-14 19:27:11 +01:00
Zeno Rogue
bf7bb61d35 handlers for createStep and newmap 2018-12-11 22:10:53 +01:00
Zeno Rogue
f2ee616eab all Mobius bands implemented 2018-12-11 22:10:53 +01:00
Zeno Rogue
460eb19881 implemented new geometries: cylinder and (only one for now) Mobius band 2018-12-11 22:10:53 +01:00
Zeno Rogue
64da329f8e added new quotient spaces: Bring's, Schmutz's M(2), Schmutz's M(3) 2018-11-23 23:46:26 +01:00
Zeno Rogue
62a5c0abac more stable quotient space generation 2018-11-23 23:44:12 +01:00
Zeno Rogue
e697cb57cb Macbeath surface 2018-11-23 03:10:57 +01:00
Zeno Rogue
d0ee141270 celldist now works in the binary tiling as for other geometries (distance from origin, not horocycle index); also types are computed nicely for the origin-based celldist 2018-09-28 16:27:03 +02:00
Zeno Rogue
ce390de0d2 fixed curr_dist and horocycles in Canvas for Euclidedan 2018-09-28 12:27:44 +02:00
Zeno Rogue
b5542c66ba hyperbolic_celldistance algorithm implemented for all hyperbolic tilings (minor bugs known in irregular, still ugly in bitrunc a45) 2018-09-23 16:34:53 +02:00
Zeno Rogue
b5c0675daa fixed eudist in bitruncated square grid 2018-09-12 04:15:35 +02:00
Zeno Rogue
a04eef75a9 cth to handle heptspin/cellwalker translations in a nice way 2018-08-30 16:10:49 +02:00
Zeno Rogue
829850a701 dual tilings 2018-08-30 02:11:43 +02:00
Zeno Rogue
6de0f0a8aa instead of nonbitrunc, gp::on and irr::on, there is one variable, variation 2018-08-28 17:17:34 +02:00
Zeno Rogue
56c102de94 tailored allocation, and increased MAX_EDGE to 14 2018-08-22 00:00:59 +02:00
Zeno Rogue
c54d4ec59d struct archimedean_tiling 2018-08-20 02:02:45 +02:00
Zeno Rogue
4d31e5a544 renamed 'syntetic' to 'archimedean' (enums/files/marcos/namespaces) 2018-08-19 23:06:32 +02:00
Zeno Rogue
c42940684c proper hrmap_* for syntetic; fixed a bug when deleting 2018-08-19 18:04:56 +02:00
Zeno Rogue
7bae01c168 synt:: replaced the combinatorial building process with floating-point-based one for hyperbolic geometry too 2018-08-19 00:27:20 +02:00
Zeno Rogue
a92cc33426 removed 'stdeuclid' and using 'masterless' since it was too similar to 'stdeuc' 2018-08-18 17:35:39 +02:00
Zeno Rogue
682f804576 major rewrite: unified the common parts of heptagon and cell via struct connection<T> and struct walker<T> 2018-08-18 00:46:45 +02:00
Zeno Rogue
7064dace81 default celldistance in syntetic and binarytiling 2018-08-17 21:38:07 +02:00
Zeno Rogue
fe1a5c5a03 bugfix in memory clear 2018-08-17 21:37:33 +02:00
Zeno Rogue
749ad03138 syntetic tilings (WIP) 2018-08-17 13:29:00 +02:00
Zeno Rogue
4f3cc3783a binary tiling 2018-08-09 19:28:53 +02:00
Zeno Rogue
f7e5f470dc irr:: celldist and (circular, not yet horocyclic) celldistAlt 2018-07-20 02:58:47 +02:00
Zeno Rogue
c8c1e3a346 irregular grids 2018-07-16 20:05:23 +02:00
Zeno Rogue
ef182b225e all hr functions/variables used in rogueviz now listed in hyper.h 2018-07-09 21:02:23 +02:00
Zeno Rogue
030377583c changed the 'quotient==2' tests to 'geometry == gFieldQuotient' 2018-06-25 23:14:46 +02:00
Zeno Rogue
63869c6d33 renamed the size function to isize 2018-06-22 14:47:24 +02:00
Zeno Rogue
8f8a259992 new quotient geometries 2018-06-22 01:48:46 +02:00
Zeno Rogue
742828125e some fixes to celldistance 2018-06-21 08:38:11 +02:00
Zeno Rogue
b2cc825ec9 smart celldistance did not work with non-standard tori -- replacing with a dumb one for now 2018-06-17 18:14:33 +02:00
Zeno Rogue
4c619e60dd moved all the HyperRogue stuff except RogueViz to namespace 'hr' -- useful when using hr as a library 2018-06-11 01:58:31 +02:00
Zeno Rogue
25cfc499fa getEuclidCdata now uses 'vector' as a parameter, not heptagon* 2018-05-09 21:32:59 +02:00
Zeno Rogue
81e7dfcad0 fix for the export commit 2018-05-04 02:41:30 +02:00
Zeno Rogue
5a9bc6c014 gSmallElliptic geometry 2018-05-01 19:34:09 +02:00
Zeno Rogue
67ad5f2f4b preparing for daily 2018-05-01 00:21:18 +02:00
Zeno Rogue
70bfe718ef map no longer disappears suddenly and irreparably if you scroll into the invisible region 2018-04-23 13:20:36 +02:00
Zeno Rogue
f9b03013c1 improved heptdistance a bit 2018-04-23 13:19:22 +02:00
Zeno Rogue
6f69f04449 improved the memoization of cell distances 2018-04-21 16:18:44 +02:00
Zeno Rogue
e494eb0020 Fractal landscapes fixed in Goldberg heptagonal geometries 2018-04-13 13:19:45 +02:00
Zeno Rogue
46523e4d5d gp:: garbage collection 2018-04-11 00:16:33 +02:00
Zeno Rogue
b9062e6a07 faster celldistance on smallbounded 2018-04-10 07:59:48 +02:00
Zeno Rogue
830785990c renamed whirl to goldberg 2018-04-09 17:40:12 +02:00
Zeno Rogue
a17445bee7 improved insightrange 2018-04-06 23:28:58 +02:00
Zeno Rogue
90d4f0d613 whirl:: celldist and celldistAlt now work 2018-04-06 22:22:33 +02:00
Zeno Rogue
22a92059b6 whirl 2018-04-03 23:39:18 +02:00
Zeno Rogue
5de5acc68c 10.3m 2018-03-25 14:02:20 +02:00
Zeno Rogue
ac37b6df99 more elegant cellwalkers 2018-03-24 12:59:01 +01:00
Zeno Rogue
64adb6f0ea updated the header comments to 2018, also added the missing ones 2018-02-09 00:40:26 +01:00
Zeno Rogue
b693c3ca58 fixed a bug with cleaning quotient spaces 2018-02-08 22:27:48 +01:00
Zeno Rogue
2a59ff7ab2 CAP_TOUR guards added, more exported in hyper.h, general cleanup 2018-02-08 22:27:12 +01:00
Zeno Rogue
8713d34d19 'remove faraway cells from the memory' option 2018-01-25 19:49:19 +01:00
Zeno Rogue
3b8b100ad5 fixed the octagons-fieldquotient geometry 2018-01-14 02:59:57 +01:00
Zeno Rogue
0c0f16ab12 fixed some problem with memory clearing in other geometries 2018-01-06 23:38:54 +01:00
Zeno Rogue
5bf6d54c7d changed chamfered to bitruncated 2018-01-06 22:34:03 +01:00
Zeno Rogue
0dd5ed1505 made the code compile with C++11 (not requiring C++14) 2018-01-05 17:18:37 +01:00
Zeno Rogue
495dbba809 renamed 'truncated' to 'chamfered' 2018-01-04 18:39:04 +01:00
Zeno Rogue
ead56c9c33 Euclidean (non-torus) should no longer act weirdly when you travel far away 2017-12-28 16:58:07 +01:00
Zeno Rogue
11569c693d big change: more configuration for the torus (and also Klein bottle) 2017-12-28 16:46:10 +01:00
Zeno Rogue
836ed087df Euclidean square grid 2017-12-18 13:00:36 +01:00
Zeno Rogue
36fe8dd1d0 better cellcounting 2017-12-14 02:50:52 +01:00
Zeno Rogue
9933f373d2 improvements to patterns; codenumbers also display directions 2017-12-09 08:06:41 +01:00
Zeno Rogue
9b2f9ecc14 Pattern-related functions moved from cells and mapeditor to pattern2s; three-color patterns 2017-12-05 16:19:22 +01:00
Zeno Rogue
6a617398cb fixed potential bug in cwpeek 2017-12-03 20:01:15 +01:00
Zeno Rogue
dadbbf244f 'siblings' patterns on spheres 2017-12-03 18:24:34 +01:00
Zeno Rogue
3c600d7d6b simple patterns for weird hyperbolic 2017-12-03 16:13:17 +01:00
Zeno Rogue
c5324ff2f5 more pattern editing for g46 2017-12-03 12:59:57 +01:00
Zeno Rogue
d6376e1ddf emeraldpattern on a46; fixed/improved darkening when sidedialog not available; pattern dialogs are now sidedialogs 2017-12-03 11:48:02 +01:00