Zeno Rogue
4b3f72cc56
3D variations: subcubes
2021-07-07 01:48:20 +02:00
Zeno Rogue
74486309a6
created a function init_heptagon which does tailored_alloc and clears the data
2021-07-04 10:36:16 +02:00
Zeno Rogue
b71e436cb6
added some missing CAP_* guards
2021-06-09 04:33:55 +02:00
Zeno Rogue
0e0f773560
get_asset used on IOS too
2021-06-03 13:26:10 +02:00
Zeno Rogue
9ebd7d98d5
the Android version is now able to access honeycomb rules via assets
2021-06-03 13:26:10 +02:00
Zeno Rogue
c5e979118a
reg3 rules:: correct possible_states size
2021-05-23 16:00:49 +02:00
Zeno Rogue
af9d35dc1c
reg3 rules now support 65535 states
2021-05-23 16:00:49 +02:00
Zeno Rogue
256b12b140
reg3:: included tree rules for most hyperbolic honeycombs
2021-05-23 16:00:49 +02:00
Zeno Rogue
bb016585ab
optimized the honeycomb rules by using the 'quotient' fieldpatterns
2021-05-23 16:00:49 +02:00
Zeno Rogue
20771ddae4
fieldpattern:: an option to use 'quotient group' fieldpatterns in 3D for more efficient representation
2021-05-23 16:00:13 +02:00
Zeno Rogue
6b594b9fc9
cgi.cellshape is now vector of vectors
2021-03-25 11:12:58 +01:00
Zeno Rogue
953e17722d
throw hr_exceptions not strings
2021-03-24 20:25:44 +01:00
Arthur O'Dwyer
d163a01b8a
Remove USE_UNORDERED_MAP because it has bit-rotted.
...
Trying to compile with `-DUSE_UNORDERED_MAP` produces lots of compiler errors
like these, because of missing `std::hash` specializations.
Also, `#define unordered_map map` is just evil!
```
./nonisotropic.cpp:875:36: note: in instantiation of template class 'std::__1::unordered_map<hr::nilv::mvec, hr::heptagon *,
std::__1::hash<hr::nilv::mvec>, std::__1::equal_to<hr::nilv::mvec>, std::__1::allocator<std::__1::pair<const hr::nilv::mvec, hr::heptagon
*> > >' requested here
unordered_map<mvec, heptagon*> at;
^
./nonisotropic.cpp:239:58: note: in instantiation of template class 'std::__1::unordered_map<std::__1::pair<hr::heptagon *, hr::heptagon *>,
hr::heptagon *, std::__1::hash<std::__1::pair<hr::heptagon *, hr::heptagon *> >, std::__1::equal_to<std::__1::pair<hr::heptagon *,
hr::heptagon *> >, std::__1::allocator<std::__1::pair<const std::__1::pair<hr::heptagon *, hr::heptagon *>, hr::heptagon *> > >'
requested here
unordered_map<pair<heptagon*, heptagon*>, heptagon*> at;
^
./nonisotropic.cpp:457:49: error: no matching member function for call to 'iadj'
while(h1->distance < h2->distance) back = iadj(h2, down) * back, h2 = h2->cmove(down);
^~~~
cell.cpp:42:15: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
transmatrix iadj(heptagon *h, int d) {
^
cell.cpp:41:22: note: candidate function not viable: no known conversion from 'hr::sn::hrmap_solnih' to 'hr::hrmap' for object argument
struct transmatrix iadj(cell *c, int i) { cell *c1 = c->cmove(i); return adj(c1, c->c.spin(i)); }
^
```
2020-10-19 13:15:29 -04:00
Zeno Rogue
d64c5e338c
extra guards
2020-10-15 16:33:52 +02:00
Zeno Rogue
67595a4ed3
redone hrmap::draw() function to keep DRY
2020-07-28 22:06:14 +02:00
Zeno Rogue
82f32607e6
MAJOR CHANGE: replaced (transmatrix,band_shift) pair with shiftmatrix
2020-07-28 22:06:14 +02:00
Zeno Rogue
d30be41fa6
in_rule() with MAXMDIM==3
2020-07-05 14:02:28 +02:00
Zeno Rogue
8195a866a5
reg3 expansion fixup
2020-07-05 01:02:15 +02:00
Zeno Rogue
2d7571034b
reg3:: extra_verification
2020-07-05 00:55:56 +02:00
Zeno Rogue
8a16659857
added honeycomb rules for 353
2020-07-04 13:13:37 +02:00
Zeno Rogue
26f4a1e6f4
fake in rhombic
2020-07-03 15:39:52 +02:00
Zeno Rogue
24440d42df
reg3::in() used GDIM instead of WDIM
2020-06-03 11:48:07 +02:00
Zeno Rogue
b4687213c3
fixed a crash when changing wall quality in some geometries
2020-05-31 17:12:45 +02:00
Zeno Rogue
fca9834d02
fixed some bugs when faking Euclidean
2020-05-29 02:43:30 +02:00
Zeno Rogue
91338d047e
fixed some bugs with ultra mirrors
2020-05-28 13:44:02 +02:00
Zeno Rogue
7a4f573e34
dirs_adjacent to S7 not 12
2020-05-28 01:51:28 +02:00
Zeno Rogue
4217c7ccc7
reg3:: ultra-mirrors
2020-05-28 01:50:00 +02:00
Zeno Rogue
57d69e639d
support for {3,5,x} and ultra-vertex honeycombs
2020-05-27 00:54:15 +02:00
Zeno Rogue
2af93287ec
export reg3::in()
2020-05-22 20:38:13 +02:00
Zeno Rogue
ddf60c623f
reg3::in() with MAXMDIM==3
2020-05-22 16:52:46 +02:00
Zeno Rogue
bf83959b4a
allow setting the resource dir; autoconf should move *.dat file to resource dir
2020-05-16 01:30:33 +02:00
Zeno Rogue
021dd34647
Merge branch 'master' of https://github.com/zenorogue/hyperrogue
2020-05-15 11:55:14 +02:00
Zeno Rogue
1b96658a05
fake curvature
2020-05-15 11:46:26 +02:00
Zeno Rogue
daeff80ff5
Merge pull request #108 from Quuxplusone/ifdef
...
Move all defaulting-of-`CAP_FOO` to sysconfig.h
2020-05-15 11:32:38 +02:00
Zeno Rogue
fd9ea8793e
stretch:: renamed rots_twist to stretch, also implemented for slr
2020-05-09 10:41:15 +02:00
Zeno Rogue
54804bc08b
stretched spherical geometry
2020-05-08 21:18:47 +02:00
Arthur O'Dwyer
36136dab6a
Fix some unguarded bits of CAP_BT and CAP_CRYSTAL.
...
Found by trying to build with `-DISMINI=0`, not that that
comes even close to working.
2020-05-03 21:21:46 -04:00
Zeno Rogue
1914a3c1bc
fixed Great Walls in 534
2020-04-22 01:45:04 +02:00
Zeno Rogue
e4a8b73819
nisot:: nicer precision setting
2020-04-11 15:08:24 +02:00
Zeno Rogue
233adddd36
moved reg3 values to cgi
2020-04-05 10:58:56 +02:00
Zeno Rogue
af10592616
moved binsearch to hyper.h
2020-03-31 20:06:18 +02:00
Zeno Rogue
0412f077e6
added/fixed some \brief descriptions
2020-03-27 21:47:09 +01:00
Zeno Rogue
c3928fdc01
fixed a crash in paracompact honeycombs
2020-03-25 13:47:52 +01:00
Zeno Rogue
1ecd525217
fixed a crash bug in {4,3,5}
2020-03-25 13:47:06 +01:00
Zeno Rogue
aa8906d6dd
added some documentation
2020-03-22 09:47:56 +01:00
Zeno Rogue
8d5a358b38
reg3:: added celldistance_534
2020-03-07 04:47:11 +01:00
Arthur O'Dwyer
a07e1d0809
Fix a compiler error from g++-4.6 -std=c++0x
.
...
reg3.cpp:1129:47: error: expected primary-expression before ‘{’ token
This doesn't completely fix the build break on gcc46.
It's probably time to retire that build from TravisCI.
2020-02-14 13:12:04 -05:00
Zeno Rogue
81ad14061b
fixed a crash in S^3
2020-02-07 19:45:20 +01:00
Zeno Rogue
61d76622a4
reg3:: rule:: optimized link_structures
2020-01-29 19:23:31 +01:00
Zeno Rogue
c925dc162c
no other emeraldval in 535
2020-01-29 18:20:14 +01:00
Zeno Rogue
d79c06e9d1
more efficient find_emeraldval
2020-01-28 19:47:41 +01:00
Zeno Rogue
7b6cde592b
fixed a problem with create_pattern() when not using currfp
2020-01-28 19:47:27 +01:00
Zeno Rogue
6be19024bb
reg3:: emeraldval and fiftyval computed in rule-based maps based on currfp
2020-01-28 17:58:55 +01:00
Zeno Rogue
96f872dd18
reg3:: bounded_celldistance used in create_patterns()
2020-01-28 17:58:55 +01:00
Zeno Rogue
100b8f3534
cellrotations are now structs, and include inverses
2020-01-28 17:58:55 +01:00
Zeno Rogue
7fd199dd49
reg3:: nice Zebra and Graveyard patterns
2020-01-28 17:58:55 +01:00
Zeno Rogue
a5a9104abf
reg3:: Camelot
2020-01-28 17:58:55 +01:00
Zeno Rogue
c556d21434
renamed/documented/improved the rule generators, and the rules now include centers for all fieldvals
2020-01-28 17:58:55 +01:00
Zeno Rogue
3df5eff7f8
function 'relative_matrix_recursive' for reg3_rule and arbi
2020-01-28 17:58:55 +01:00
Zeno Rogue
3804d2bfb7
reg3:: added DEBB(DF_GEOM)
2020-01-28 17:58:55 +01:00
Zeno Rogue
0e86f60806
reg3:: correct alt-maps in rule
2020-01-28 17:58:55 +01:00
Zeno Rogue
00262e8f6a
reg3:: hrmap_reg3_rule (alt not working correctly yet)
2020-01-28 17:58:55 +01:00
Zeno Rogue
891fd3b0aa
generate honeycomb rules
2020-01-28 17:58:55 +01:00
Zeno Rogue
6a5b71cbdc
reg3:: hrmap_field3: do not generate pattern planes in 436
2020-01-28 17:58:55 +01:00
Zeno Rogue
cb53253a26
reg3:: hrmap_field3 is now parametrized by fp
2020-01-28 17:58:55 +01:00
Zeno Rogue
b58138cd94
fieldpattern:: load found solutions from shstreams
2020-01-28 17:58:55 +01:00
Zeno Rogue
209b21bc31
small debug
2020-01-16 17:13:57 +01:00
Zeno Rogue
bf128219c0
strafe: cmove not move
2020-01-16 17:13:57 +01:00
Zeno Rogue
59a9605b13
arb::relative_matrix
2020-01-16 17:13:37 +01:00
Zeno Rogue
2ebef9e754
missing override added
2020-01-06 22:18:10 +01:00
Zeno Rogue
87b8f585d4
improved effciency of 535h by covering seifert_cover
2020-01-06 22:10:44 +01:00
Zeno Rogue
9d0d0fb182
single-cell quotient spaces
2020-01-06 21:24:21 +01:00
Zeno Rogue
7e2e4928e9
factored hrmap_quotient3::initialize
2020-01-06 21:23:17 +01:00
Zeno Rogue
88e6043e1b
new geometry: gSeifertCover
2020-01-06 20:53:09 +01:00
Zeno Rogue
b4b325e009
6D Crystal, 535 and 536
2020-01-02 16:50:01 +01:00
Zeno Rogue
d5c8aebf16
renamed binary:: to bt:: and binarytiling to bt::in()
2019-12-14 12:05:01 +01:00
Zeno Rogue
99ab57086b
in_wallopt(): auto in racing
2019-12-06 11:45:19 +01:00
Zeno Rogue
56e575369b
missing override markers
2019-11-30 18:48:44 +01:00
Zeno Rogue
7e8ede4bd6
relative_matrix and adj changed
2019-11-30 18:05:23 +01:00
Zeno Rogue
d0855db6c6
reg3:: marked as DF_GEOM
2019-11-17 13:52:34 +01:00
Zeno Rogue
313df871bb
fixup to last
2019-11-17 13:52:20 +01:00
Zeno Rogue
d63aebb9d7
reg3:: moved hrmap_field3 output to DF_FIELD
2019-11-17 13:50:06 +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
ef9e2236ba
viewctr is no more... major reduction of redundancy/complexity
2019-11-14 00:26:50 +01:00
Zeno Rogue
43bf7c5cfe
fixed MAXMDIM guards
2019-11-03 14:19:11 +01:00
Zeno Rogue
29d1427154
fixed confusion in 3D elliptic spaces
2019-10-27 00:45:34 +02:00
Zeno Rogue
d0ef1c7578
fixed generation of 3D elliptic spaces
2019-10-27 00:45:24 +02:00
Zeno Rogue
09acbc5fb2
generate crystal
2019-10-27 00:45:00 +02:00
Zeno Rogue
85a08d205d
refactored celldraw
2019-10-25 12:44:41 +02:00
Zeno Rogue
be3d755d09
exports for raycasting
2019-10-22 00:37:24 +02:00
Zeno Rogue
bf691001ab
added missing guards
2019-10-12 19:09:53 +02:00
Zeno Rogue
ad15ecf3e6
reg3:: optimized non-crystal 344
2019-10-12 13:19:58 +02:00
Zeno Rogue
924a8b1e87
fixed the regular octahedral and dodecahedral honeycombs: side[i] and side[i+S7/6] are now opposite
2019-10-12 13:19:18 +02:00
Zeno Rogue
48f0162e69
increased vertex_distance to 13 in 334
2019-10-12 13:16:22 +02:00
Zeno Rogue
d2b3df57c6
crystal {3,4,4}
2019-10-12 11:24:29 +02:00
Zeno Rogue
352f9ed8a9
reg3:: cellrotations
2019-10-12 11:22:13 +02:00
Zeno Rogue
0a465a7af5
export adjcheck, strafedist
2019-10-12 11:21:46 +02:00
Zeno Rogue
adee8aa699
wall optimization option (-wallopt): do not draw things behind walls
2019-10-12 11:21:00 +02:00
Zeno Rogue
e80869e14e
fixed a bug in octahedral honeycombs
2019-10-10 13:49:35 +02:00
Zeno Rogue
da4846f216
reg3:: improved the comments, also prepared for ideal
2019-10-10 13:49:35 +02:00
Zeno Rogue
57a8c93a82
reg3:: using quotient_map based on whether quotient_map exists
2019-10-10 13:49:35 +02:00
Zeno Rogue
562fe72629
fixed some } to EX }
2019-09-13 00:31:32 +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
481b1de5f9
reg3:: some junk removed
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
e1194ff588
more header cleanup
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
1573c0daef
some more missing overrides
2019-09-12 22:50:00 +02:00
Zeno Rogue
bb63fcdcda
refactored first_cell_to_draw so that it is changed in one place
2019-09-12 22:49:46 +02:00
Zeno Rogue
d9754ec57c
added some missing 'override'
2019-09-12 22:43:02 +02:00
Zeno Rogue
c8e950cd40
added some missing CAP_ and MAXMDIM guards
2019-09-12 22:43:01 +02:00
Zeno Rogue
044298d0bd
fixed missing fix_distances
2019-09-12 22:43:01 +02:00
Zeno Rogue
81289b3216
set alt to NULL just in case
2019-09-12 22:42:59 +02:00
Zeno Rogue
c0145c0d9c
3d:: Euclidean tori
2019-09-12 22:42:59 +02:00
Zeno Rogue
039118425c
3D:: alternate minefield adjacency rule
2019-09-12 22:42:59 +02:00
Zeno Rogue
f9db5b3863
fixed some uninitialized variable warnings
2019-09-12 22:42:58 +02:00
Zeno Rogue
4c5a9091c2
made allcells work correctly in S^3
2019-09-12 22:42:58 +02:00
Zeno Rogue
7e65ea23ea
pseudohept in Field534
2019-09-12 22:38:47 +02:00
Zeno Rogue
38559b304b
fixed fielval_uniq for 3d geometries
2019-09-12 22:38:46 +02:00
Zeno Rogue
af25eb1f1f
3D:: implemented the cool Emerald Mine pattern for 534, and also some Vineyard/Emerald patterns for both 435 and 534.
2019-09-12 22:38:46 +02:00
Zeno Rogue
13c426ae37
3d:: regular hyperbolic honeycombs now synchronize with the field quotient space
2019-09-12 22:38:46 +02:00
Zeno Rogue
ba28bf5880
fixup sightranges
2019-09-12 22:38:46 +02:00
Zeno Rogue
c693d40b84
fixup better naming
2019-09-12 22:38:46 +02:00
Zeno Rogue
d369decc94
3d:: field quotient spaces for reg3
2019-09-12 22:38:46 +02:00
Zeno Rogue
791851f8d5
3d:: pseudohept for 534
2019-09-12 22:38:46 +02:00
Zeno Rogue
3f836d1dfe
3d:: Great Walls in H3 geometries
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
ce632ff9d5
reg3:: in reg hyperbolic honeycombs, celldistance now works correctly for small distances (required for trans walls)
2019-09-12 22:38:43 +02:00
Zeno Rogue
30272ce45e
fixed for Steam compiler
2019-09-12 22:38:43 +02:00
Zeno Rogue
24e02f8dea
reg3:: sightrange no longer changed to 3
2019-09-12 22:38:43 +02:00
Zeno Rogue
52ce5ac9aa
3d:: all the regular honeycombs
2019-09-12 22:38:43 +02:00