1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-24 21:37:18 +00:00
Commit Graph

162 Commits

Author SHA1 Message Date
Zeno Rogue
1cba452f07 rewritten the Euclidean geometry 2019-11-30 18:06:47 +01:00
Zeno Rogue
aed8df0d04 hrmap_standard now can be 3D maps 2019-11-30 18:05:23 +01:00
Zeno Rogue
a1fbfb2946 gp:: adjm to fix the confusion in quotient spaces 2019-11-30 18:05:23 +01:00
Zeno Rogue
7e8ede4bd6 relative_matrix and adj changed 2019-11-30 18:05:23 +01:00
Zeno Rogue
f3beb9d2ac fixed farcorner in non-orientable 2019-11-30 18:04:54 +01:00
Zeno Rogue
2458ec715d removed calc_relative_matrix with direction hint; used adj in more places 2019-11-22 14:34:56 +01:00
Zeno Rogue
eb2f9cbf8a fixed and simplified spin_angle 2019-11-22 14:00:45 +01:00
Zeno Rogue
a712abecac simplified (and fixed) virtualRebase for euclid/sphere 2019-11-14 22:33:00 +01:00
Zeno Rogue
4dcac4bb3a fixed ggmatrix 2019-11-14 21:15:18 +01:00
Zeno Rogue
012d833f50 removed the tohex parameter 2019-11-14 19:33:55 +01:00
Zeno Rogue
aeaaf7586a refactored map functions: ddspin, iddspin, spacedist, spin_angle, virtualRebase[simple], adj 2019-11-14 16:51:50 +01:00
Zeno Rogue
109dd9823c simplified ddspin/iddspin/cellgfxdist, replaced cellrelmatrix with adj/iadj 2019-11-14 00:27:59 +01:00
Zeno Rogue
ef9e2236ba viewctr is no more... major reduction of redundancy/complexity 2019-11-14 00:26:50 +01:00
Zeno Rogue
6dd47c903d nilv:: works with small periods 2019-11-08 15:42:31 +01:00
Zeno Rogue
f7fc9d7d5d asonov:: works even with small periods 2019-11-08 15:35:23 +01:00
Zeno Rogue
e38e001454 better distance approximation in Nil 2019-10-06 12:10:43 +02:00
Zeno Rogue
b419aab0a1 fixed a possible crash in Archimedean geometries 2019-10-05 18:55:11 +02:00
Zeno Rogue
4e1abe964f print for horo_distance 2019-10-05 18:55:11 +02:00
Zeno Rogue
eead4af644 fixed horodistance in nih 2019-10-05 18:55:11 +02:00
Zeno Rogue
255186840f ternary tiling 2019-09-30 23:36:15 +02:00
Zeno Rogue
bd9c19d1b7 exported interface for horo_distance 2019-09-12 22:50:16 +02:00
Zeno Rogue
848eb8f48b export everything: modules compiled separately 2019-09-12 22:50:16 +02:00
Zeno Rogue
9647cbd47e added #include hyper.h to all cpp files 2019-09-12 22:50:16 +02:00
Zeno Rogue
599346f436 fixed possible crash in iddspin 2019-09-12 22:50:15 +02:00
Zeno Rogue
2acc866958 slr:: virtualRebase 2019-09-12 22:50:15 +02:00
Zeno Rogue
47d309e408 fixed hdist computation in SL, also fixed hpxy and hpxy 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
a03eb0d913 fixed new geometry handling for Archimedean 2019-09-12 22:50:15 +02:00
Zeno Rogue
6c75c2687d product:: virtualRebase 2019-09-12 22:50:15 +02:00
Zeno Rogue
95da7ff09e using viewcenter() consistently 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
8b1c7bffe4 initial reformatting of comments for Doxygen 2019-09-12 22:50:13 +02:00
Zeno Rogue
c2d56fb9bc autohdr.h applied in more files 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
06a5309468 solv:: horo_distance implemented 2019-09-12 22:50:10 +02:00
Zeno Rogue
21a6e64e96 more ddspin/nearcorner bugfixes 2019-09-12 22:50:09 +02:00
Zeno Rogue
0908d1d974 foxed cellgfxdist in Archimedean 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
9cb955757e fixed ggmatrix for masterless Euclidean tilings 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
b6e303ec7d MAJOR refactoring: all geometry-dependent data (tessf, geom3::, shapes, hpc) are now contained in a structure 2019-09-12 22:50:03 +02:00
Zeno Rogue
927592caa3 replaced cview() with actual_view_transform * View in ggmatrix to prevent infinite loop 2019-09-12 22:50:00 +02:00
Zeno Rogue
6fe6db3d48 3d:: fixed cellgfxdist in 3D 2019-09-12 22:49:41 +02:00
Zeno Rogue
5ab7249afd horopoint cleanup in 2D 2019-09-12 22:43:01 +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
d4ce6c36aa horo_distance used in virtualRebase 2019-09-12 22:43:00 +02:00
Zeno Rogue
c98f58a672 removed eurad as it was the same as crossf 2019-09-12 22:43:00 +02:00
Zeno Rogue
039118425c 3D:: alternate minefield adjacency rule 2019-09-12 22:42:59 +02:00
Zeno Rogue
648af0c08e fixup master_relative in Euclidean; this makes the line animation work 2019-09-12 22:42:58 +02:00
Zeno Rogue
9d291b8b1f fixed a bug in virtualRebase 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
e99e05944a fix 2 to DIM in virtualRebaseSimple just in case 2019-09-12 22:38:43 +02:00
Zeno Rogue
52ce5ac9aa 3d:: all the regular honeycombs 2019-09-12 22:38:43 +02:00
?
54f278963c renamed MAXDIM to MAXMDIM (conflict with crystal) 2019-09-12 22:38:42 +02:00
?
c032db2019 3d:: virtualRebase works correctly in non-hyperbolic tilings 2019-09-12 22:38:42 +02:00
?
5824e4b016 3D:: master_relative returns Id 2019-09-12 22:38:42 +02:00
?
8c5df8dfd4 3d:: in ggmatrix fixed [2][2] to [DIM][DIM] 2019-09-12 22:38:42 +02:00
?
2b307f5e4a added epsilon to virtualRebase to prevent infinite loops caused by precision errors 2019-09-12 22:38:42 +02:00
?
fe174d8873 3D:: elliptic space 2019-09-12 22:38:40 +02:00
?
b4a44972dd 4D:: do not use std sphere/euclid in calc_relative_matrix/ggmatrix 2019-09-12 22:38:40 +02:00
?
02920b5d2f 3D:: fixed (?) virtualRebase 2019-09-12 22:38:40 +02:00
?
33d4854c14 3D:: 120-cell 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
?
56d628d4d8 adjusting for 3D part II 2019-09-12 22:38:39 +02:00
?
96e4ff6c9d binary tiling in 3D works 2019-09-12 22:38:39 +02:00
?
e73d2f2f22 some work on 3D view 2019-09-12 22:38:39 +02:00
?
b25730d5c9 geometry flags part 1 2019-09-12 22:38:39 +02:00
Arthur O'Dwyer
5efd1f5662 Fix a compiler warning from GCC 4.6.4.
The variable name in this warning is "pre-phi-tmp", as in, some
compiler internals spilling into userspace. But I think it's probably
referring to `bestV`, and indeed, this initialization silences the
warning.

    geometry2.cpp: In function ‘void hr::virtualRebaseSimple(hr::heptagon*&, hr::transmatrix&)’:
    geometry2.cpp:366:7: error: ‘prephitmp.91209’ may be used uninitialized in this function [-Werror=uninitialized]
2019-02-10 15:51:27 -05:00
Zeno Rogue
788bc17452 fixed some bugs with calc_relative_matrix 2018-12-14 19:30:22 +01:00
Zeno Rogue
b8806c248e crystal:: specific calc_relative_matrix wshich should not block 2018-12-14 19:27:12 +01:00
Zeno Rogue
50f37a6b63 crystal:: started working on lands (Camelot done) and distances 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
f2ee616eab all Mobius bands implemented 2018-12-11 22:10:53 +01:00
Zeno Rogue
e5ebac156e calc_relative_matrix for euwrap geometries now uses cellrelmatrix nicely 2018-12-11 22:10:53 +01:00
Zeno Rogue
c993e80a18 cellrelmatrix and cellgfxdist implemented efficiently for euwrap geometries 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
2fa265ac10 implemented a better system for logging and binary output 2018-11-24 21:23:02 +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
b4671e4d50 standard draw algorithm no longer recursive; prettier gp::drawrec 2018-11-23 23:45:16 +01:00
Zeno Rogue
3ef16bf6f3 implemented correctly calc_relative_matrix in Euclidean 2018-11-18 18:26:56 +01:00
Zeno Rogue
ebfe1aeac2 virtualRebase on hyperpoint now works at large distances 2018-09-30 16:23:20 +02: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
2e16660278 fixed a bug in goldberg rebasing 2018-09-28 01:49:17 +02:00
Zeno Rogue
1b11f4e5e2 virtualRebase tohex works in Goldberg geometries 2018-09-27 21:53:11 +02:00
Zeno Rogue
5fac74b1cb fixed graphical/movement glitches in the minimal quotient space 2018-09-23 16:34:53 +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
020d9679bd bitruncated Archimedean tilings 2018-08-29 04:28:34 +02:00
Zeno Rogue
6482e22219 fixed cellgfxdist and cellrelmatrix in Archimedean 2018-08-28 19:06:12 +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
6edc257f28 arcm:: improved graphics on dihedra and hosohedra 2018-08-21 04:55:39 +02:00
Zeno Rogue
1f356b1dff Crystal World and Warped Coast work correctly 2018-08-20 17:26:29 +02:00
Zeno Rogue
9cd6dd2805 correct farcorner drawing in standard tilings 2018-08-20 16:50:35 +02:00
Zeno Rogue
e72758c973 preliminary randomPointIn 2018-08-20 16:36:45 +02:00
Zeno Rogue
cd91148459 arcm:: all patterns work 2018-08-20 15:24:44 +02:00