1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-25 17:40:36 +00:00
Commit Graph

126 Commits

Author SHA1 Message Date
Zeno Rogue
249dff7382 using an exception in euclid 2024-06-02 17:17:34 +02:00
Zeno Rogue
33060a884c array initializer did not compile on Steam 2023-10-28 10:04:15 +02:00
Arthur O'Dwyer
62629f3e70 Change static const to static constexpr wherever possible
Since we require C++11, most of these consts can be constexpr.

Two `static const ld` remain non-compile-time-evaluable because
they depend on the runtime `log` function. One `static const cld`
remains non-compile-time because `std::complex<T>` doesn't become
constexpr until C++14.
2023-08-23 09:47:28 -08:00
Zeno Rogue
b6f13b953b more OOP-style standard dialogs 2023-08-09 14:01:24 +02:00
Zeno Rogue
2d74cfe6c4 euclid::in() returns false for experimental (this is for visualizing other connections) 2023-05-18 13:22:12 +02:00
Zeno Rogue
7dc21f32de changed some prepare_basics to require_basics 2023-04-27 22:47:32 +02:00
Zeno Rogue
8ede45cb12 embeddings:: break cylinder feature 2023-04-27 22:46:31 +02:00
Zeno Rogue
511ffe8498 fractal geometry 2023-03-28 22:54:46 +02:00
Zeno Rogue
dea0c5cc58 fixed euc::in 2023-02-04 19:42:20 +01:00
Zeno Rogue
85dffdbeff rewritten the embeddings more nicely 2023-01-27 00:27:10 +01:00
Zeno Rogue
4356f41621 other noniso embeddings of Euclidean 2022-12-13 23:26:44 +01:00
Zeno Rogue
3e733ae6e9 Big change: spatial_embedding option 2022-12-09 02:33:15 +01:00
Zeno Rogue
e86e6267ec the implementation in reg3 can now be used for the cube tiling 2022-08-13 22:42:59 +02:00
Zeno Rogue
75f58766a2 made background screen darkening consistent and optional 2022-07-05 11:51:06 +02:00
Zeno Rogue
793148729b An option to play on a disk (and use bounded space rules). Also renamed 'bounded' flag to 'closed' or similar, and improved Halloween 2022-05-21 13:08:42 +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
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
74486309a6 created a function init_heptagon which does tailored_alloc and clears the data 2021-07-04 10:36:16 +02:00
Zeno Rogue
5a73510c4f added some guards for MAXMDIM >= 4 and CAP_SOLV 2021-03-30 11:27:48 +02:00
Zeno Rogue
6b594b9fc9 cgi.cellshape is now vector of vectors 2021-03-25 11:12:58 +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
cfdf016c5d euclid:: trying to generate wall lines in non-standard Euclidean geometry no longer crashes the game 2021-02-07 22:55:10 +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
1ab72ba964 fixed duals for Euclidean tessellations 2020-09-22 15:50:57 +02:00
Zeno Rogue
724729962b export euc::get_at 2020-09-11 11:16:49 +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
cbd0c1f934 euc:: Hantzsche-Wendt manifold 2020-06-16 01:31:41 +02:00
Zeno Rogue
a8a0805b6f added some missing MAXMDIM guards 2020-05-31 17:21:16 +02:00
Zeno Rogue
fca9834d02 fixed some bugs when faking Euclidean 2020-05-29 02:43:30 +02:00
Zeno Rogue
4f1742f21f fixed Euclidean celldistalt 2020-05-29 01:52:47 +02:00
Zeno Rogue
1b96658a05 fake curvature 2020-05-15 11:46:26 +02:00
Zeno Rogue
711b9d37de euc:: moved Euclidean honeycomb shape definitions to euclid.cpp 2020-05-15 11:40:57 +02:00
Arthur O'Dwyer
a0da10b408 Remove extraneous semicolons to quiet pedantic GCC warnings. 2020-03-23 14:38:57 -04:00
Zeno Rogue
c590532d3a translation update 2020-03-07 04:47:11 +01:00
Zeno Rogue
938e4628a3 fixed the unused capture warnings 2020-01-02 19:03:57 +01:00
Zeno Rogue
e319d953ea fixed distance calculation in bitruncated {4,4} 2019-12-27 11:30:42 +01:00
Zeno Rogue
432583d6ce fixed euc::full_coords2 in bitruncated {4,4} 2019-12-27 11:30:27 +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
4dc45c92ed fixed for older compilers 2019-12-08 20:07:02 +01:00
Zeno Rogue
2fb1210811 irr torus works only in orientable for now -- disabled for other 2019-12-08 20:07:02 +01:00
Zeno Rogue
f03c5b5c1d Euclidean irregular maps can now be mapped to supergroups 2019-12-08 20:07:02 +01:00
Zeno Rogue
3a5a2236de euc:: fixed adj(c,i) in 3D 2019-12-08 11:25:27 +01:00
Zeno Rogue
206dc25ed6 euc:: further cleanup 2019-12-08 11:25:14 +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
99ab57086b in_wallopt(): auto in racing 2019-12-06 11:45:19 +01:00