1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-15 01:39:57 +00:00
Commit Graph

217 Commits

Author SHA1 Message Date
Zeno Rogue
81ea3d75f5 fake:: works with coxeter 2021-07-13 02:34:24 +02:00
Arthur O'Dwyer
0ee6ce8c83 Eliminate -Woverloaded-virtual warnings from Clang. NFCI. 2021-07-12 17:51:39 -04:00
Zeno Rogue
2215e07fca created cellshapes for other 3D geometries 2021-07-12 12:23:34 +02:00
Zeno Rogue
8215ac74ee fixup 2021-07-12 11:34:51 +02:00
Zeno Rogue
6e6d0a7839 the main (heptagon) cellshape now also uses subcellshape; removed dirdist and get_vertices and introduced get_cellshape instead 2021-07-12 11:07:22 +02:00
Zeno Rogue
48bccdbd70 get_sphere_loc function 2021-07-12 10:01:16 +02:00
Zeno Rogue
06ec86347c reg3:: vertices_only_local was not computed 2021-07-12 10:01:05 +02:00
Zeno Rogue
7c9bea6e1b conflict resolved 2021-07-12 09:55:25 +02:00
Arthur O'Dwyer
db762ff21a Fix or suppress a bunch of Clang warnings. NFCI. 2021-07-11 17:22:00 -04:00
Zeno Rogue
e9de3ac7d5 Great Walls in bch 2021-07-11 15:07:40 +02:00
Zeno Rogue
0e0e4d0212 reg3:: strafe and dirs_adjacent with subcubes -- Great Wall generation works 2021-07-11 11:48:33 +02:00
Zeno Rogue
5f54bf2888 reg3:: compute dirs_adjacent and strafe data for subcubes 2021-07-11 11:03:35 +02:00
Zeno Rogue
0aa1d45287 moved ray_iadj from hybrid to hrmap method 2021-07-09 22:32:00 +02:00
Zeno Rogue
f9a55d13c8 reg3:: added at for debugging and fixed a bug with shvid called for incorrect map 2021-07-09 22:32:00 +02:00
Zeno Rogue
064c6015b6 reg3:: fixed an issue with subcubes not working for low subcube_counts 2021-07-09 22:32:00 +02:00
Zeno Rogue
3c7e64c66d reg3:: faster va analysis 2021-07-09 22:32:00 +02:00
Zeno Rogue
479b2eaf3c reg3:: the new variations can be selected from the menu 2021-07-09 22:32:00 +02:00
Zeno Rogue
0d8dd6c19e reg3:: subshapes in hrmap_h3_rule 2021-07-09 22:32:00 +02:00
Zeno Rogue
11d73bb655 reg3:: throw exceptions if not cubes 2021-07-09 22:32:00 +02:00
Zeno Rogue
b6bf0911f3 refactored master_relative as virtual function 2021-07-09 22:32:00 +02:00
Zeno Rogue
9a319e2d2a refactored shvid_full and wall_offset as virtual functions 2021-07-09 22:32:00 +02:00
Zeno Rogue
f3adce29b3 reg3:: coxeter subcells 2021-07-09 22:32:00 +02:00
Zeno Rogue
964d1010b3 refactored generate_subcells 2021-07-09 22:32:00 +02:00
Zeno Rogue
3d1be24558 reg3:: fixed a bug in hrmap_closed3::relative_matrix 2021-07-09 22:32:00 +02:00
Zeno Rogue
49adf19da2 reg3:: subcubes:: testing_subconnections flag; made it faster if it is off 2021-07-09 22:32:00 +02:00
Zeno Rogue
45bdbdbbcc reg3:: subcubes:: optimized also identifying cells 2021-07-09 22:32:00 +02:00
Zeno Rogue
889866f166 reg3:: subcubes:: optimized connection creation 2021-07-09 22:32:00 +02:00
Zeno Rogue
7fe40cbfc0 removed debug from voronoi 2021-07-09 22:32:00 +02:00
Zeno Rogue
8b75d73c32 reg3:: bch_subcubes:: Voronoi vertices 2021-07-09 22:32:00 +02:00
Zeno Rogue
2a7d932703 reg3:: subcubes:: neater again 2021-07-08 20:34:49 +02:00
Zeno Rogue
670f315df5 reg3::subcubes:: neater building 2021-07-08 20:25:27 +02:00
Zeno Rogue
3e1e0f3f18 renamed get_face_vertices to get_face_vertex_count, and added new get_face_vertices 2021-07-07 23:32:22 +02:00
Zeno Rogue
32a7f03360 implemented dual-subcubes and bch-subcubes variations 2021-07-07 18:26:03 +02:00
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