1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-25 22:53:19 +00:00
Commit Graph

457 Commits

Author SHA1 Message Date
Zeno Rogue
b5542c66ba hyperbolic_celldistance algorithm implemented for all hyperbolic tilings (minor bugs known in irregular, still ugly in bitrunc a45) 2018-09-23 16:34:53 +02:00
Zeno Rogue
2587474115 fixed chosenDown for bitruncated a45 where there can be three parents 2018-09-23 16:34:53 +02:00
Zeno Rogue
0294c0acb1 options -pal and -palrgba now accept the pattern name 2018-09-21 21:31:11 +02:00
Zeno Rogue
c1de923454 extra features related to expansion 2018-09-21 19:51:13 +02:00
Zeno Rogue
a556ef0823 improvements in expansion 2018-09-13 20:38:06 +02:00
Zeno Rogue
9bf8842124 expansion is now computed exactly and for most geometries 2018-09-12 04:23:15 +02:00
Zeno Rogue
7345c14184 10.4v 2018-09-10 19:47:16 +02:00
Zeno Rogue
bb05d9ab80 some anim parameters are now saved in config 2018-09-10 19:47:14 +02:00
Zeno Rogue
7da2b7e9a1 argf now parses the given argument 2018-09-10 19:28:12 +02:00
Zeno Rogue
6f2deeafcc animation menu 2018-09-10 18:12:07 +02:00
Zeno Rogue
a1fe4333d5 remaning anim sync 2018-09-10 17:56:37 +02:00
Zeno Rogue
c9dbeec393 added some exports to hyper.h 2018-09-10 17:26:27 +02:00
Zeno Rogue
0dbe4822ec dialog:: refactored scaling in number dialogs 2018-09-10 16:47:28 +02:00
Zeno Rogue
5afb444847 10.4u 2018-09-07 18:12:57 +02:00
Zeno Rogue
04554a436f improved INVERSE issues in stereographic 2018-09-07 16:18:40 +02:00
Zeno Rogue
eb23dce2aa fixed help in RogueViz kohonen 2018-09-07 15:15:53 +02:00
Zeno Rogue
0d138f3c75 load/save compressed data in RogueViz kohonen 2018-09-07 15:15:00 +02:00
Zeno Rogue
621220cf13 hooks in drawmarkers 2018-09-06 22:34:35 +02:00
Arthur O'Dwyer
f84975d1d1 polara50 and polarb50 now consistently return bool, not int.
MSVC complains about constructions such as

    bool polara50(int);
    int polara50(cell *c) {
        // ...
        return polara50(someint);
    }
2018-09-05 22:28:35 -07:00
Zeno Rogue
ec84643070 open URLs from Emscripten 2018-09-05 15:34:13 +02:00
Zeno Rogue
be0c5e4a39 help extensions now can use addSelItem and color 2018-09-05 15:19:51 +02:00
Zeno Rogue
e4bcae6ae6 dialog::dialogcolor instead of 0xC0C0C0 2018-09-05 15:18:40 +02:00
Zeno Rogue
35353fe70e faster graphics with MINIMIZE_GL_CALLS 2018-09-04 23:27:27 +02:00
Zeno Rogue
5680ef3788 color_t used for outline 2018-09-04 21:43:43 +02:00
Zeno Rogue
1ab460ffb1 type color_t should now be consistently used for colors; reimplemented drawqueue in OO fashion 2018-09-04 19:53:42 +02:00
Zeno Rogue
4c01859192 struct archimedean_tiling exported in hyper.h 2018-09-03 16:32:34 +02:00
Zeno Rogue
59ff4c2266 depth inversion in rug (used in pentagonal exploration) 2018-09-03 16:32:11 +02:00
Zeno Rogue
b72259cc8e hyperweb: pathdist, cpdist, mpdist should be signed (unsigned frozen some geometries) 2018-09-02 15:08:51 +02:00
Zeno Rogue
8d806182d8 operators in hyper.h are inline 2018-09-01 13:50:56 +02:00
Zeno Rogue
fbca62fbec 10.4t 2018-08-31 19:20:53 +02:00
Zeno Rogue
a7f1e560c5 subcodes can be (de)selected in the pattern selection 2018-08-30 19:14:04 +02:00
Zeno Rogue
30a7248bf7 space message no longer always appears in shmup 2018-08-30 18:18:54 +02:00
Zeno Rogue
b2fd52eae5 fixed Orb of the Sword in shmup 2018-08-30 18:11:51 +02:00
Zeno Rogue
218709b899 Archimedean menu now displays 'chessboard', 'three colors' and 'football' colorings when available 2018-08-30 16:44:17 +02:00
Zeno Rogue
80e0ad5cd0 fixed some lands in Archimedean dual 2018-08-30 16:10:49 +02:00
Zeno Rogue
76c303f80a improved valence computation 2018-08-30 16:10:49 +02:00
Zeno Rogue
a04eef75a9 cth to handle heptspin/cellwalker translations in a nice way 2018-08-30 16:10:49 +02:00
Zeno Rogue
829850a701 dual tilings 2018-08-30 02:11:43 +02:00
Zeno Rogue
d95fc4b8d4 CHANGED_VARIATION now considers 'pure' to be the default variation of the binary and Archimedean tilings 2018-08-29 21:19:52 +02:00
Zeno Rogue
015e69cf30 simplified the scaling scode 2018-08-28 19:05:57 +02:00
Zeno Rogue
6de0f0a8aa instead of nonbitrunc, gp::on and irr::on, there is one variable, variation 2018-08-28 17:17:34 +02:00
Zeno Rogue
1af2c04407 enum class used for PPR 2018-08-28 14:27:23 +02:00
Zeno Rogue
f009e80689 crash fixed again 2018-08-28 13:47:51 +02:00
Zeno Rogue
25c09154dc fixed a crash when drawing inventory items while drawcell is also NULL; priority functions now use PPR_DEFAULT not -1; priority is passed as PPR not int 2018-08-28 13:45:11 +02:00
Zeno Rogue
c17efce3b5 PAT_TYPES now separate from PAT_NONE; PAT_* constants now use enum 2018-08-28 04:05:32 +02:00
Zeno Rogue
ff84f63abd Fixed mapediting floorshapes. Also works nicely for all geometries now. Enum used for shapegroups. 2018-08-27 19:27:35 +02:00
Zeno Rogue
aafa5c3157 10.4s 2018-08-24 23:54:32 +02:00
Zeno Rogue
8cc1b364d1 10.4r 2018-08-24 21:46:52 +02:00
Zeno Rogue
350ccd5b76 10.4q 2018-08-22 23:22:33 +02:00
Zeno Rogue
7df3a2471f fixed to compile in older compilers 2018-08-22 11:52:35 +02:00
Zeno Rogue
bb93bf9150 fixed uninitialized variable warning 2018-08-22 09:52:24 +02:00
Zeno Rogue
96d33046f2 removed from xpush0 and xspinpush0 2018-08-22 00:10:56 +02:00
Zeno Rogue
56c102de94 tailored allocation, and increased MAX_EDGE to 14 2018-08-22 00:00:59 +02:00
Zeno Rogue
cd91148459 arcm:: all patterns work 2018-08-20 15:24:44 +02:00
Zeno Rogue
ad8ef53d84 arcm:: correct Warped *Coast* generation (at least in some) 2018-08-20 12:06:19 +02:00
Zeno Rogue
625144195c major cleanup of texture remapping 2018-08-20 02:04:49 +02:00
Zeno Rogue
4d31e5a544 renamed 'syntetic' to 'archimedean' (enums/files/marcos/namespaces) 2018-08-19 23:06:32 +02:00
Zeno Rogue
453c06f9f9 functions with rotation parameters in S84-degree system have been removed or replaced in radian versions 2018-08-19 15:52:39 +02:00
Zeno Rogue
7bae01c168 synt:: replaced the combinatorial building process with floating-point-based one for hyperbolic geometry too 2018-08-19 00:27:20 +02:00
Zeno Rogue
99cad10617 svg::render now accepts a function to draw something else 2018-08-18 17:44:35 +02:00
Zeno Rogue
c6496de645 increased MAX_EDGE to 12 (still have to cut memory for more normal geometries 2018-08-18 17:40:54 +02:00
Zeno Rogue
a92cc33426 removed 'stdeuclid' and using 'masterless' since it was too similar to 'stdeuc' 2018-08-18 17:35:39 +02:00
Zeno Rogue
682f804576 major rewrite: unified the common parts of heptagon and cell via struct connection<T> and struct walker<T> 2018-08-18 00:46:45 +02:00
Zeno Rogue
a5a3cf1c87 floorshape gpside bound is MAX_EDGE not 8 2018-08-17 21:44:03 +02:00
Zeno Rogue
03f32c4f76 syntetic is weirdhyperbolic 2018-08-17 21:43:51 +02:00
Zeno Rogue
f60df73004 added missing declarations to hyper.h 2018-08-17 16:53:57 +02:00
Zeno Rogue
9faa285814 New file geometry2.cpp, with moved ggmatrix, relative_matrix, virtualRebase, and new get_corner_position family. Refactored in floorpatterns, textures, and grid to use get_corner_position family. 2018-08-17 16:47:06 +02:00
Zeno Rogue
749ad03138 syntetic tilings (WIP) 2018-08-17 13:29:00 +02:00
Zeno Rogue
eb57d160d0 binary_tiling_width parameter 2018-08-14 10:18:18 +02:00
Zeno Rogue
dac4f6fc75 texture:: vid.stretch parameter applied correctly 2018-08-14 09:15:17 +02:00
Zeno Rogue
4f3cc3783a binary tiling 2018-08-09 19:28:53 +02:00
Zeno Rogue
3b50632217 10.4p 2018-08-09 19:25:44 +02:00
Zeno Rogue
253c2d8b9b bitruncated irregular tilings 2018-08-05 05:07:34 +02:00
Zeno Rogue
bbebb55bd9 virtualRebase for hyperpoints (not transmatrices) 2018-08-04 22:36:08 +02:00
Zeno Rogue
7c16a9a32a texture aura option 2018-08-03 10:47:20 +02:00
Zeno Rogue
bd59b4e23a fixed singletype texture patterns 2018-08-02 22:25:08 +02:00
Zeno Rogue
6b4ed57152 fixed the orb drawings 2018-08-01 15:03:48 +02:00
Zeno Rogue
508cecb3b3 the cost of leaving Land of Power now happens before collecting items 2018-08-01 14:04:47 +02:00
Zeno Rogue
a50169e3d3 fixed the lines in the svg screenshots 2018-08-01 11:25:07 +02:00
Zeno Rogue
1b44899624 line quality option 2018-08-01 11:07:22 +02:00
Zeno Rogue
1e15992a22 added dialog::extra_options, and extra options in number dialogs now use this feature 2018-08-01 03:59:20 +02:00
Zeno Rogue
d005e549be 10.4o 2018-07-30 17:52:31 +02:00
Zeno Rogue
e27cd9b654 stretch factor in cylindrical equidistant and cylindrical equi-area models 2018-07-30 17:44:11 +02:00
Zeno Rogue
c252f1f09c 10.4n 2018-07-30 10:08:46 +02:00
Zeno Rogue
b3d074161e killing a tortoise with a saved baby now kills the baby too 2018-07-30 09:51:57 +02:00
Zeno Rogue
c70db33417 improved mobile compass 2018-07-23 16:17:49 +02:00
Zeno Rogue
3c6e3008eb hypot, asinh, and acosh are assumed to be in :: when NO_STD_HYPOT is specified 2018-07-23 16:17:49 +02:00
Zeno Rogue
6c0a052470 device orientation-based scrolling on mobiles 2018-07-23 16:17:49 +02:00
Zeno Rogue
1c8aa41965 NO_STD_HYPOT to prevent compilation errors when there is no std::hypot 2018-07-23 16:17:49 +02:00
Zeno Rogue
b502b7025d improvements to the mobile compass: can be used in modes other than MOVE (long click to switch mode to MOVE anyway); better arrow scaling 2018-07-22 15:54:44 +02:00
Zeno Rogue
5b41f5d157 highlight buttons on overview/PTM screens; improved zoom feature; fixed a bug with zoom spilling to the inventory screen 2018-07-22 12:54:05 +02:00
Zeno Rogue
4d2f79ba95 rewritten the system to display 3D. This fixes the spherical display not working in stereo mode, and is more clean. 2018-07-22 00:39:57 +02:00
Zeno Rogue
304e48d4b4 arg::cheat() is now inline 2018-07-21 18:03:53 +02:00
Zeno Rogue
190fa3ea1d irr:: horocycles 2018-07-21 17:46:14 +02:00
Zeno Rogue
f7e5f470dc irr:: celldist and (circular, not yet horocyclic) celldistAlt 2018-07-20 02:58:47 +02:00
Zeno Rogue
262d6f2a92 mode changes moved to config.cpp 2018-07-20 00:07:30 +02:00
Zeno Rogue
9d682aee45 moved more commandline options to their modules 2018-07-20 00:04:23 +02:00
Zeno Rogue
30cb9158cb moved svg and PNG screenshot to a new file screenshots.cpp; moved some commandline arguments from commandline.cpp to their respective modules 2018-07-19 23:46:58 +02:00
Arthur O'Dwyer
fbc7cd3212 Fix -Wempty-body warnings on GCC. 2018-07-17 16:53:46 -07:00
Zeno Rogue
566c466b66 loading/saving irregular maps to config and log (and recreate automatically)H 2018-07-17 14:28:49 +02:00
Zeno Rogue
9fc4e5524f irr:: ignore achievements/leaderboards; rewritten the modecode/finalAchievement code a bit 2018-07-17 14:18:41 +02:00
Zeno Rogue
f597e6bfd7 choose irregular from the Goldberg menu 2018-07-17 02:29:18 +02:00
Zeno Rogue
4d61f2169e irr:: Orb of the Sword and Kraken. 2018-07-16 21:41:59 +02:00
Zeno Rogue
9d2b145123 removed unused 2018-07-16 20:06:35 +02:00
Zeno Rogue
2b1d189074 geometry improvements 2018-07-16 20:06:21 +02:00
Zeno Rogue
c8c1e3a346 irregular grids 2018-07-16 20:05:23 +02:00
Zeno Rogue
4320119d02 calc_relative_matrix now accepts hyperpoint as the direction hint 2018-07-16 20:02:33 +02:00
Zeno Rogue
cedd78b3e7 10.4m 2018-07-16 19:54:31 +02:00
Zeno Rogue
a91195bda1 bugfix: Raging Bull / Orb of the Bull / Orb of Horns worked correctly only on hexagons and heptagonsm 2018-07-10 21:51:28 +02:00
Zeno Rogue
6c02c9879a gp:: drawrec(boundary) removed, no longer needed 2018-07-10 18:14:49 +02:00
Zeno Rogue
f94c85a4fa gp:: distance calculation 2018-07-10 18:03:41 +02:00
Zeno Rogue
d986ed7617 gp:: more concentrated tree 2018-07-10 18:01:42 +02:00
Zeno Rogue
ef182b225e all hr functions/variables used in rogueviz now listed in hyper.h 2018-07-09 21:02:23 +02:00
Zeno Rogue
6e4e9e0a46 SVG links no longer use an additional field in polytodraw -- they are a new type of polyunion now 2018-07-09 20:40:05 +02:00
Zeno Rogue
f721c243d2 removed DOSHMUP 2018-07-09 20:38:20 +02:00
Zeno Rogue
6303b8033b rogueviz:: help done via hooks 2018-07-09 20:09:56 +02:00
Zeno Rogue
3a8293df27 rogueviz:: tutorial, start/main menu, and welcome message done as hooks 2018-07-09 19:55:56 +02:00
Zeno Rogue
d523ceabfd rogueviz::shmup:: all references to rogueviz in shmup replaced with handlers 2018-07-09 19:32:34 +02:00
Zeno Rogue
508c63d731 calls to rogueviz::mark and rogueviz::fixparam from HR main are now replaced by hooks 2018-07-09 18:59:12 +02:00
Zeno Rogue
4d1e641663 part now works on unsigned col 2018-07-09 18:12:23 +02:00
Zeno Rogue
770dd20613 shift+f2 to shift+f4 can now disable HUD, FPS, and the map 2018-07-09 18:10:28 +02:00
Zeno Rogue
92f6521e42 arghex uses strtoll and returns unsigned 2018-07-09 18:07:47 +02:00
Zeno Rogue
27e0431e4e 10.4l 2018-07-08 14:34:05 +02:00
Zeno Rogue
837ce1d58a 10.4k 2018-07-07 11:15:57 +02:00
Zeno Rogue
98ea11de86 fixed the warnings about comparing int and bool 2018-07-07 11:05:48 +02:00
Zeno Rogue
45ddd6303e added a virtual destructor to supersaver to silence a warning 2018-07-03 12:00:02 +02:00
Zeno Rogue
e3d406c8dd 10.4j 2018-07-03 04:23:23 +02:00
Arthur O'Dwyer
1a93fbcd45 Stop using the deprecated std::random_shuffle, for the benefit of MSVC.
And generalize `hrandom_shuffle` to take an arbitrary `Iter`,
so that passing `vec.begin()` will work even with MSVC's
debug iterators. (Passing `&vec[0]` or `vec.data()` would work
either way, but I'd worry that someone would forget to do that
conscientiously every time.)
2018-06-29 14:20:03 -07:00
Zeno Rogue
0faccacaf6 10.4i 2018-06-29 12:30:56 +02:00
Zeno Rogue
9e44c593a0 10.4h 2018-06-28 15:08:38 +02:00
Zeno Rogue
cf8dffd6b8 fixed bugs with manual celllisters 2018-06-28 13:35:03 +02:00
Zeno Rogue
d11044a80a refactoring: sval/aitmp is no more, celllister(manual) used instead 2018-06-28 12:59:35 +02:00
Zeno Rogue
440940a945 10.4g 2018-06-24 01:23:06 +02:00
Zeno Rogue
f0e07c4b15 10.4f 2018-06-22 20:28:41 +02:00
Zeno Rogue
63869c6d33 renamed the size function to isize 2018-06-22 14:47:24 +02:00
Zeno Rogue
888d9ad3a7 made Xprintf inline to prevent double definition when linking HyperRogue with extra code 2018-06-22 02:01:31 +02:00
Zeno Rogue
da60a2f336 added some std features used in RogueViz 2018-06-22 02:00:26 +02:00
Zeno Rogue
8f8a259992 new quotient geometries 2018-06-22 01:48:46 +02:00
Zeno Rogue
09c2a2096b 10.4d 2018-06-18 17:54:38 +02:00
Zeno Rogue
25d972d144 also using other functions from cmath 2018-06-18 03:53:39 +02:00
Zeno Rogue
6d93ff4ab2 using std::abs 2018-06-18 03:43:23 +02:00
Zeno Rogue
d3200253db replacing with an explicit list 2018-06-17 18:32:06 +02:00
Zeno Rogue
b6f47dd907
Merge branch 'master' into makefile-fixes 2018-06-17 18:22:20 +02:00
Zeno Rogue
35301f0a68 movement animations now work in quotient geometries 2018-06-17 17:51:26 +02:00
Zeno Rogue
e743e18156 10.4c 2018-06-17 12:02:06 +02:00
Arthur O'Dwyer
db3e5d1009 Minor fixes for Mac and MinGW.
Eliminate a format-string warning by using less template magic:
https://stackoverflow.com/questions/12573968/how-to-use-gccs-printf-format-attribute-with-c11-variadic-templates

Fix one `%Ld` in `rogueviz.cpp` that should have been `%lld`.

Rename `savepng.c` into `savepng.cpp` so that we don't have to care about
the system's C compiler; it builds fine using the same C++ options as
HyperRogue itself.

Figure out how to get `-DCAP_PNG` and `-DCAP_ROGUEVIZ` working on Mac,
and document them.
Assume that roughly the same things should also work on MinGW.

Consistency on `STDSIZE`, even though it doesn't suffice for C++17 conformance.
It *almost* suffices; the one place where Clang still complains even with
`-std=c++17 -DSTDSIZE -Wno-sign-compare` is here:

    ./fieldpattern.cpp:757:51: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list
          [-Wc++11-narrowing]
          ex.primes.emplace_back(primeinfo{nextprime, size(fp.matrices) / S7, (bool) fp.wsquare});
                                                      ^~~~~~~~~~~~~~~~~~~~~~

So, we fix that up too, in this patch.
2018-06-16 23:20:50 -07:00
Zeno Rogue
8cacb3c687 10.4b 2018-06-13 01:04:45 +02:00
Zeno Rogue
3881a7dd97 more cleanup with uniformizing the keys for 'back' and 'help' 2018-06-13 00:00:01 +02:00
Zeno Rogue
44affc3e9d resolved conflicts introduced by merging zenorogue/hyperrogue#21 2018-06-12 23:28:06 +02:00
Zeno Rogue
50eaba3efd changes from zenorogue/hyperrogue#27 2018-06-12 22:40:06 +02:00