1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-25 05:47:17 +00:00
Commit Graph

363 Commits

Author SHA1 Message Date
Zeno Rogue
2e47da5d2c moved the virtual functions in hrmap and its basic subclasses outside of the classes 2021-07-31 15:12:06 +02:00
Zeno Rogue
5bff87f5e1 added oob (out_of_bounds heptagon) 2021-07-31 15:12:06 +02:00
Zeno Rogue
1c31a987a8 refactored link_alt 2021-07-31 15:12:06 +02:00
Zeno Rogue
cc80bc7b3a Merge branch 'master' of https://github.com/zenorogue/hyperrogue 2021-07-13 21:32:55 +02:00
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
dd5035184b improved adj_minefield_cells to avoid relative_matrix 2021-07-12 20:54:45 +02:00
Zeno Rogue
2215e07fca created cellshapes for other 3D geometries 2021-07-12 12:23:34 +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
2d962c324d increased the limit in bounded_celldistance to 14400 2021-07-12 10:02:26 +02:00
Zeno Rogue
7aec4c3cf1 reg3:: changed the remaining refs to adjacent_dirs to dirdist; S7 to c->type 2021-07-11 16:18:04 +02: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
0aa1d45287 moved ray_iadj from hybrid to hrmap method 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
581cb8ae26 throw exception on createMov error 2021-07-07 18:26:30 +02:00
Zeno Rogue
e37fa65247 arcm:: fixed the possible crash on deleting arcms with large cells, because of the confusion of cdata 2021-07-04 11:00:38 +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
Jesse Ruderman
59b7e7bbdf Remove extra semis in struct defs 2021-06-28 22:33:08 -07:00
Zeno Rogue
74e4e4c014 added missing override 2021-06-17 09:55:27 +02:00
Zeno Rogue
3a0b383b9b out_of_bounds cell 2021-06-17 09:44:48 +02:00
Zeno Rogue
2320619b86 strict_tree_rules() added 2021-06-17 09:44:48 +02:00
Zeno Rogue
8b306c765e used OOP for get_corner_position 2021-06-17 09:44:47 +02:00
Zeno Rogue
42fc2c44a7 rewritten shvid using OOP 2021-06-17 09:44:47 +02:00
Zeno Rogue
8d18946450 written createMov in an OOP way 2021-06-12 23:25:59 +02:00
Zeno Rogue
f3b359940e fixed single-land Camelot 2021-04-23 19:14:37 +02:00
Zeno Rogue
57b5d03695 asonov:: bounded_celldistance special case is for gArnoldCat, not asonov::in() 2021-04-07 18:15:58 +02:00
Zeno Rogue
5a73510c4f added some guards for MAXMDIM >= 4 and CAP_SOLV 2021-03-30 11:27:48 +02:00
Zeno Rogue
b55eb5721e you can no longer go through walls in portalspaces 2021-03-21 10:42:36 +01:00
Zeno Rogue
032a6b6df2 fixed a reverse_direction crash in kd2 2021-03-06 11:07:54 +01:00
Zeno Rogue
d96f92c0f8 support for portal spaces 2021-02-18 16:16:34 +01:00
Zeno Rogue
de498da1d1 fixed bugs when switching FPP in E2 torus 2021-02-07 22:55:11 +01:00
Zeno Rogue
61c3939cb7 fixed clearfrom if a heptagon is adjacent to itself 2020-11-01 11:30:03 +01:00
Zeno Rogue
a225ace0d0 fixed Asonov creation 2020-10-26 11:59:27 +01:00
Zeno Rogue
d64c5e338c extra guards 2020-10-15 16:33:52 +02:00
Zeno Rogue
34dc8fcc6e various fixes related to product spaces, especially product+inverse 2020-10-06 21:11:27 +02:00
Zeno Rogue
311ee10cf1 field distance is known only in PURE and BITRUNCATED 2020-10-06 21:08:06 +02:00
Zeno Rogue
1ab72ba964 fixed duals for Euclidean tessellations 2020-09-22 15:50:57 +02:00
Zeno Rogue
0e20afe918 fixed a potential crash when calling fieldval in some geometries 2020-09-16 23:49:17 +02:00
Zeno Rogue
554567e0cf fixed some potential issues with arb 2020-08-02 13:01:55 +02:00
Zeno Rogue
4fc6b8edb5 fixed distance computation in quotient spaces (necessary for rotspace) 2020-07-28 22:06:14 +02:00
Zeno Rogue
67595a4ed3 redone hrmap::draw() function to keep DRY 2020-07-28 22:06:14 +02:00
Zeno Rogue
dc458ba31a fixed a crash when walking over a hyperbolic digon in Archimedean tiling 2020-07-24 11:43:36 +02:00
Zeno Rogue
351eda2b5d generalized PSL to ~SL (discrepancies still appear) 2020-07-24 02:30:50 +02:00
Zeno Rogue
9da8dac45b memory clearing in inverse 2020-07-13 00:54:12 +02:00
Zeno Rogue
224a02d086 bigstuff in inverse 2020-07-13 00:53:48 +02:00
Zeno Rogue
1f1e7d9bbf inverse tessellation operators 2020-07-12 21:39:34 +02:00
Zeno Rogue
5238959cbd fake:: support Archimedean pure 2020-05-31 16:18:44 +02:00
Zeno Rogue
4f1742f21f fixed Euclidean celldistalt 2020-05-29 01:52:47 +02:00
Zeno Rogue
cbb98c7899 fixed some bugs in celldistance with regards to fake 2020-05-16 02:12:20 +02:00
Zeno Rogue
3f20ba9d29 getCdata and getBits: prod -> hybri 2020-05-15 18:31:32 +02:00
Zeno Rogue
1b96658a05 fake curvature 2020-05-15 11:46:26 +02:00
Arthur O'Dwyer
0d42168139 Make hookset<T> a pointer type, just like purehookset.
No more declaring `hookset<T> *hooks_foo`; now it's just
`hookset<T> hooks_foo` at global scope. This clears the way to
make `hookset<T>` into a class type if we want.
2020-04-12 10:50:18 -04:00
Arthur O'Dwyer
934e3d9a42 Consistently name every hookset with prefix hooks_. NFC.
I'm sure this causes massive merge-conflicts in the non-public code,
but I think it'd be a good idea, if only to avoid confusion between
e.g. `clearMemory` and the-variable-formerly-known-as `clearmemory`.
2020-04-12 10:49:32 -04:00
Zeno Rogue
b79eb4de1d fixed cellcount 2020-04-06 09:26:59 +02:00
Zeno Rogue
b5a70c1bc6
Merge pull request #92 from Quuxplusone/pedantic
Add `-pedantic` to the Makefile, and fix all resulting warnings
2020-03-27 12:04:40 +01:00
Zeno Rogue
95a032eeb6 fixed a serious bug (it caused crashes in Solv racing, but it could cause other issues too) 2020-03-25 13:41:45 +01:00
Arthur O'Dwyer
7a706478dc Add a helper function voidp to silence GCC warnings about %p.
We must fully qualify calls to `hr::voidp` because the expression
`voidp(x)` is ambiguous or worse. "/usr/include/zconf.h" defines
`voidp` in the global namespace as a typedef for `void*`.
We don't want an unsafe functional-style cast to `void*`;
we want to call our nice safe helper function. So we qualify the name.
2020-03-23 14:39:28 -04:00
Zeno Rogue
e70915de9d fixed distance computation in 3D fieldquotient 2020-03-21 10:14:54 +01:00
Zeno Rogue
4e52804d45 moved spin_to and spin_from implementations outside of hr_map 2020-03-21 09:27:12 +01:00
Zeno Rogue
d6578cd074 you can no longer try to change the adjacency rule in infinite-order tilings 2020-03-11 10:09:23 +01:00
Zeno Rogue
f05fa60400 added MAXMDIM guards 2020-01-29 18:18:51 +01:00
Zeno Rogue
370cdafaf8 Updir and updir_alt functions. Also no more double edges in structure trees 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
570272fd7a separated bounded_distance and clueless_distance into functions 2020-01-28 17:58:55 +01:00
Zeno Rogue
4287ddf883 default_levs() as a function 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
7038df605c field:: quick distance computations in 3D 2020-01-16 17:13:57 +01:00
Zeno Rogue
59a9605b13 arb::relative_matrix 2020-01-16 17:13:37 +01:00
Zeno Rogue
94fd788316 pattern 'P' now uses permanent_long_distances 2019-12-23 20:52:25 +01:00
Zeno Rogue
b3fe4f102b arb fixup: added missing arb::in to standard_tiling 2019-12-23 20:49:12 +01:00
Zeno Rogue
7f09bb6259 replaced macro VALENCE with function valence() 2019-12-14 12:31:20 +01:00
Zeno Rogue
769982040d renamed solnihv:: to sn:: and solnih to sn::in() 2019-12-14 12:28:45 +01:00
Zeno Rogue
8cfc5a578f renamed penrose.cpp to kite.cpp and 'penrose' to 'kite::in()' 2019-12-14 12:12:24 +01:00
Zeno Rogue
1d6576ef92 fixup one more euc::in() 2019-12-14 12:05:12 +01:00
Zeno Rogue
d5c8aebf16 renamed binary:: to bt:: and binarytiling to bt::in() 2019-12-14 12:05:01 +01:00
Zeno Rogue
f772f9b7fd replaced 'archimedean' with 'arcm::in()' 2019-12-14 11:57:23 +01:00
Zeno Rogue
d529449999 arbitrary tilings 2019-12-14 11:57:23 +01:00
Zeno Rogue
0a9ec78c18 remplace euclid6, euclid4, 'euclid && \!archimedean && \!penrose' with standard_tiling(), euc::in(dimension, s7) 2019-12-14 11:57:23 +01:00
Zeno Rogue
26fb19e7a8 subdivided game.cpp; split movepcto into separate functions 2019-12-08 20:07:02 +01:00
Zeno Rogue
e8a39e6663 replaced euclid3:: with euc:: 2019-12-08 11:01:28 +01:00
Zeno Rogue
ddb5d07ff6 cleanup in Euclidean 2019-12-08 10:59:09 +01:00
Zeno Rogue
f243b61d72 fixed a crash when changing to product 2019-11-30 19:28:28 +01:00
Zeno Rogue
f46967efb9 removed assignment of gp::loc to tie as Clang does not like it 2019-11-30 18:55:02 +01:00
Zeno Rogue
46892a35c4 hybrid:: celldistance 2019-11-30 18:06:48 +01:00
Zeno Rogue
25bc0f56de kth-turn product space (via CLI) 2019-11-30 18:06:48 +01:00
Zeno Rogue
78ecc9e960 fixed some crashes in E2xE 2019-11-30 18:06:48 +01:00
Zeno Rogue
5585831b27 fixed Archimedean and Penrose 2019-11-30 18:06:48 +01:00
Zeno Rogue
d63b14da5c PIU now works in the underlying map -- underlying geometry only is too fragile 2019-11-30 18:06:47 +01:00
Zeno Rogue
97adbc28c0 Euclidean distance restored 2019-11-30 18:06:47 +01:00
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
0cb93afad7 createMov: bitruncation works on non-orientable with S7%2 == 0 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
89225f4632 missing override attributes 2019-11-15 14:24:17 +01:00
Zeno Rogue
f70d7a4f27 allcells no longer generates too long list in S2xE 2019-11-15 02:54:53 +01:00
Zeno Rogue
d10a6d10b5 use_exhaustive_distance used in Yendor under same rules 2019-11-15 02:51:25 +01:00
Zeno Rogue
f36fee9faa racing:: better bounded tracks 2019-11-15 02:36:14 +01:00