1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-26 10:00:42 +00:00
Commit Graph

262 Commits

Author SHA1 Message Date
Zeno Rogue
1f5951dbee fixed a crash bug when collecting an Orb of Safety via Orb of Water 2020-12-26 17:16:51 +01:00
Zeno Rogue
0f1c8ec102 create a fake info for an unknown princess 2020-12-26 17:16:22 +01:00
Zeno Rogue
e13172f9ab fixed crashes caused by missing rev_dir 2020-12-25 06:07:30 +01:00
Zeno Rogue
b1cb66e468
Merge pull request #129 from Quuxplusone/unordered-map
Remove USE_UNORDERED_MAP because it has bit-rotted.
2020-11-05 20:03:13 +01:00
Zeno Rogue
63f895974e improved the checkmove.cpp, also works for golems now 2020-11-05 14:24:01 +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
b72414ae2a halloween: dragons only in sphere 2020-09-17 04:36:36 +02:00
Zeno Rogue
68fa0c83e7 fixed Halloween 2020-09-17 04:35:49 +02:00
Zeno Rogue
1f1e7d9bbf inverse tessellation operators 2020-07-12 21:39:34 +02:00
Arthur O'Dwyer
f2b7746c1b Move all defaulting-of-CAP_FOO to sysconfig.h.
- The phrase `#ifdef CAP_` should never appear anywhere.

- The phrase `#ifndef CAP_` should appear only in sysconfig.h.

- The phrases `#if CAP_` and `#if !CAP_` may appear wherever,
    as long as "sysconfig.h" is included first.

The rules for `CAP_FOO` equally apply to `ISFOO`.

There are many one-off macros still tested with `#ifdef`,
including `HAVE_ACHIEVEMENTS`, `PRINT_ACHIEVEMENTS`,
`FAKEWEB`, `FAKE_SDL`, `EASY`, and `WHATEVER`. I don't
have much grasp on what these are used for or how they're
configured, so I'm leaving them alone.
2020-05-03 15:12:12 -04:00
Zeno Rogue
6f6586b3f2
Merge branch 'master' into hooks-naming 2020-04-19 13:39:07 +02:00
Zeno Rogue
85a404bfe8 CA awards Orb of Aether automatically 2020-04-12 20:38:17 +02:00
Zeno Rogue
11d119766d CA for infinite 2020-04-12 20:33:53 +02:00
Zeno Rogue
43e1204e18 CLI option -carun 2020-04-12 20:33:31 +02: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
a7347bdd20 Blizzard special heat rules are now only active if both lands are Blizzard 2020-04-06 09:36:57 +02:00
Zeno Rogue
97fc244ba9 changed some achievement_gain to achievement_gain_once (this also fixes achievements awarded too soon) 2020-04-06 09:22:05 +02: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
11447fcb7b tortoise:: shading now can be disabled 2020-03-22 09:46:13 +01:00
Zeno Rogue
0381999842 Orb of Chaos no longer despecializes Tortoises 2020-03-12 10:22:46 +01:00
Zeno Rogue
40d0c7e5e2 fixed Swords moving randomly when having Orb of the Frog 2020-03-07 23:47:31 +01:00
Zeno Rogue
50123e42c7 fixed kraken head 2020-03-07 04:47:11 +01:00
Zeno Rogue
9ded3f8c7c changes:: fixed Galapagos 2020-03-07 04:47:10 +01:00
Zeno Rogue
10f63743ab elec: charged walls are destroyed if they are adjacent to grounded walls 2020-03-07 04:47:10 +01:00
Zeno Rogue
477b0e4ed4 changes:: fixed mimics 2020-03-07 04:47:10 +01:00
Zeno Rogue
44c79a468c comments about imputed and direct 2020-03-07 04:47:10 +01:00
Zeno Rogue
b0eb4e816b location.cpp now defines constants global_distance_limit and iteration_limit 2020-03-07 04:47:10 +01:00
Zeno Rogue
c1c4cea31f replaced clearing::buggyplant with bpdata::buggy 2020-03-07 04:47:10 +01:00
Zeno Rogue
103a3a3411 more changes.ccell added 2020-03-07 04:47:10 +01:00
Zeno Rogue
70d7fde8d4 clearing:: fixed some bugs when reached too far into the center 2020-03-07 04:47:10 +01:00
Zeno Rogue
62734bbfc5 charge help, and fixed a bug in help in weird geometry warped cells 2020-03-07 04:47:10 +01:00
Zeno Rogue
e564622a48 rewritten undo: part 1 2020-03-07 04:47:10 +01:00
Zeno Rogue
e62705787e ungenerated land is now Isolator 2020-03-07 04:47:10 +01:00
Zeno Rogue
a1eab8d183 heat in Eclectic 2020-03-07 04:47:10 +01:00
Zeno Rogue
8cdb45ec01 adjusted elec to Eclectic City 2020-03-07 04:47:10 +01:00
Zeno Rogue
bc12d35053 fixup to ElectricLand 2020-03-07 04:47:10 +01:00
Zeno Rogue
2271a67506 removed the MAX_EDGE limit 2020-01-18 16:03:32 +01:00
Zeno Rogue
ddc3666fb4 correctly remove Clearing score memory 2020-01-02 16:50:15 +01:00
Zeno Rogue
17ffe53839 clearing:: clear memory on new game 2019-12-27 14:02:21 +01:00
Zeno Rogue
6c61162392 merge 2019-12-26 22:40:41 +01:00
Zeno Rogue
0b7faa4b46 adjacency rule now also affects: slime spill, storms, heat, dry, live caves 2019-12-26 19:04:32 +01:00
Zeno Rogue
78930f08f9 no clearing::imput on bounded 2019-12-26 09:40:16 +01:00
Zeno Rogue
4848cb1b87 show the big numbers in the Clearing 2019-12-25 21:57:25 +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
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
0a9ec78c18 remplace euclid6, euclid4, 'euclid && \!archimedean && \!penrose' with standard_tiling(), euc::in(dimension, s7) 2019-12-14 11:57:23 +01:00
Zeno Rogue
ddb5d07ff6 cleanup in Euclidean 2019-12-08 10:59:09 +01:00
Zeno Rogue
17cd694952 improved CA simulator 2019-12-07 11:12:46 +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
4a9fe001ee removed reference to gTorus 2019-11-30 18:06:48 +01:00
Zeno Rogue
1cba452f07 rewritten the Euclidean geometry 2019-11-30 18:06:47 +01:00
Zeno Rogue
7e8ede4bd6 relative_matrix and adj changed 2019-11-30 18:05:23 +01:00
Zeno Rogue
95c41684df movei in more functions, also fixed wind crows 2019-11-23 23:37:52 +01:00
Zeno Rogue
bf584b5429 more movei 2019-11-22 18:48:51 +01:00
Zeno Rogue
e6853e6540 old moveMonster removed 2019-11-22 18:19:22 +01:00
Zeno Rogue
9521b622e1 movei from cellwalker, old empathyMove removed 2019-11-22 18:12:50 +01:00
Zeno Rogue
3078451283 used movei in movement animations; also replaced animateReplacement with indAnimateMovement 2019-11-22 16:32:05 +01:00
Zeno Rogue
8bc4cb5207 fixed the bug in the Prairie which caused the Bulls not to attack correctly 2019-11-15 13:50:23 +01:00
Zeno Rogue
08c08f9d6c fixed worm movement (prairie::no_worms returned true outside prairie) 2019-10-27 02:43:47 +01:00
Zeno Rogue
f5b26cc07a fixed an exploit in Orb Strategy Mode (a trick to gain extra Golems) 2019-10-05 18:55:11 +02:00
Zeno Rogue
848eb8f48b export everything: modules compiled separately 2019-09-12 22:50:16 +02:00
Zeno Rogue
82f24b4b6c exporting necessary stuff all over (in progress) 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
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
136b931609 PSL(2,R) 2019-09-12 22:50:15 +02:00
Zeno Rogue
1778fd5d8e product:: using precomputed windmap 2019-09-12 22:50:14 +02:00
Zeno Rogue
9c7c60dcfa product: Orb of the Sword 2019-09-12 22:50:14 +02:00
Zeno Rogue
31baf32f50 product:: fixed windmap crash on Goldberg 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
96bf478482 renamed DIM to GDIM 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
0ef57dde15 further cleanup 2019-09-12 22:50:13 +02:00
Zeno Rogue
a0fcdb0c54 more header cleanup 2019-09-12 22:50:13 +02:00
Zeno Rogue
5ea055b39e split namespace conformal into models and history 2019-09-12 22:50:12 +02:00
Zeno Rogue
d60de0306b disabled mirrors in penrose and sol 2019-09-12 22:50:09 +02:00
Zeno Rogue
5d88c1706a unambiguous sword in non-{4,3,*} 3D geometreis 2019-09-12 22:50:08 +02:00
Zeno Rogue
3a4e84effe Orb of the Sword in non-shmup 3D geometries 2019-09-12 22:50:08 +02:00
Zeno Rogue
8c21e450b0 fixed the Land of Storms not working correctly in dual geometry mode 2019-09-12 22:50:07 +02:00
Zeno Rogue
635c02803c fixed Clearing 2019-09-12 22:50:06 +02:00
Zeno Rogue
3d08d359ee no more bugs in the Prairie 2019-09-12 22:50:05 +02:00
Zeno Rogue
8295251cdc multigame support, including dualmode 2019-09-12 22:50:03 +02:00
Zeno Rogue
13a044154b sword:: accurate sword angles 2019-09-12 22:50:03 +02:00
Zeno Rogue
2b1aebb9b4 chaosmode variants (CLI only for now) 2019-09-12 22:50:03 +02:00
Zeno Rogue
dad8192a19 no more Orbs of the Bool in Orb Strategy Mode 2019-09-12 22:50:03 +02:00
Zeno Rogue
1918f7fb1b fixed 'mondir>=0' warning 2019-09-12 22:50:03 +02:00
Zeno Rogue
8c2b717223 monster orientation is now modelled in non-orientable geometries 2019-09-12 22:50:00 +02:00
Zeno Rogue
df3e21b310 debug cleanup 2019-09-12 22:50:00 +02:00
Zeno Rogue
1c4d86e0e9 3D graphics in 2D (first commit) 2019-09-12 22:43:01 +02:00
Zeno Rogue
e14ac8b321 no more weird heat in archimedean 2019-09-12 22:43:00 +02:00
Zeno Rogue
26857d8104 fixed a bug with ice in 534f; also you can now actually melt something 2019-09-12 22:38:47 +02:00
Zeno Rogue
db5e89feae removed the obsolete function isHive 2019-09-12 22:38:47 +02:00
Zeno Rogue
d97baabe97 3d:: ivory/dungeon (first try) 2019-09-12 22:38:47 +02:00
Zeno Rogue
4a151f9c63 3d:🪞:fixup: do nothing in non-shmup 2019-09-12 22:38:45 +02:00
Zeno Rogue
c57679c79f 3d:: mimics (mirrors not generated correctly yet) 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
?
a11d2726fb 3d:: mirrors are broken, but produce no effect 2019-09-12 22:38:42 +02:00
?
be56844dcc disabled mirrors for now 2019-09-12 22:38:42 +02:00
?
111bc3697d sword:: removed the dependence on the S* constants 2019-09-12 22:38:42 +02:00