1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-15 01:34:49 +00:00
Commit Graph

5851 Commits

Author SHA1 Message Date
Arthur O'Dwyer
d1458b3ee5 Replace the hookset typedef with a full-blown class type. NFC.
This restricts the "API surface area" of `hookset` to just these three
accessor methods; there's no longer any way to break into a hookset and
iterate it manually, or erase elements from a hookset, or ask for its
size, or anything else that you could have done given the raw `std::map *`.
2020-04-12 10:50:43 -04:00
Arthur O'Dwyer
961a8919c6 Use callhandlers() instead of manual loop in menus.cpp. NFCI. 2020-04-12 10:50:19 -04:00
Arthur O'Dwyer
83f5412916 Use callhandlers() instead of manual loop in commandline.cpp. NFCI. 2020-04-12 10:50:19 -04: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
Arthur O'Dwyer
84881f0e04 Remove a stray #include <functional> from hyper.h.
This seems to be causing `hookset` to use `std::function` instead of
`hr::function`. Removing this one line shrinks the normal hyperrogue
binary from 9695484 bytes to 9669956 bytes.
2020-04-12 10:49:00 -04:00
Arthur O'Dwyer
a49c40cee7 Make "mymake" work on OSX, and add it to Travis.
Fix a -Wformat bug exposed by compiling with Clang.

To preprocess C++11 code, you need `g++ -E -std=c++11`, not just
`g++ -E`. (The old code worked for GCC 6+ and Clang 6+ because they
changed the default mode from C++03 to C++14. But for GCC 5, we still
need `-std=c++11`. And regardless, it's a good idea.)

Add a "-mac" option to mymake, and cleanly factor out `set_mac`,
`set_linux`, and `set_win`. When you build mymake using
`make -f Makefile.simple mymake`, you get a mymake that knows what
platform it's on. This means you don't have to pass `mymake -mac`
on OSX, nor `mymake -win` on Windows.

The old code put `INCLUDE(___hyper-main.cpp)` into a C++ file that
would be preprocessed, which doesn't work because libSDL does
essentially `-Dmain=SDL_main`, which turns this into
`INCLUDE(___hyper-SDL_main.cpp)`, which gives us
a "file not found" error from mymake. The solution is to put
filenames into quotation marks, so that the string "main" never
appears as a token in the C++ file. (Alternatively, we could have
renamed "hyper-main.cpp" to "hypermain.cpp".)

Add several new "mymake" entries in the Travis build matrix,
and add the "mymake" builds' badge to the README.
2020-04-12 09:56:46 -04:00
Arthur O'Dwyer
6e4b6ee93c Remove the definition of _Unwind_Resume on OSX.
This is unnecessary for me when using Makefile.simple, as far as I can tell.
And it's actively harmful when using "mymake", because then we get this
non-inline variable defined in every .o file, which leads to
multiple-definition errors at link time.

Maybe it's no longer needed?
2020-04-12 09:56:46 -04:00
Zeno Rogue
71513369ea RK4 in raycaster 2020-04-12 00:40:15 +02:00
Zeno Rogue
825a8aba82 nisot:: parallel_transport now also uses RK4 2020-04-11 15:28:22 +02:00
Zeno Rogue
e4a8b73819 nisot:: nicer precision setting 2020-04-11 15:08:24 +02:00
Zeno Rogue
c5d7479d00 nisot:: geodesic_step is now based on RK4 instead of midpoint 2020-04-11 15:01:01 +02:00
Zeno Rogue
85443a14ab Grigorchuk slide and improvements 2020-04-11 01:37:17 +02:00
Zeno Rogue
5ae5395ce1 added the Janko group 2020-04-11 00:43:43 +02:00
Zeno Rogue
85c45ccf8c rogueviz::grigorchuk::improved 2020-04-11 00:43:22 +02:00
Zeno Rogue
50c6a4d366 added hooks_initialize 2020-04-11 00:42:53 +02:00
Zeno Rogue
721a4beddc auto-switch to pure 2020-04-11 00:42:41 +02:00
Zeno Rogue
c0e0e1562f export wrap_drawfullmap 2020-04-11 00:41:57 +02:00
Zeno Rogue
1688bfcfb0 compute Euler characteristics when worldsize known 2020-04-11 00:41:48 +02:00
Zeno Rogue
9914ddf3ee rogueviz::banachtarski:: revived 2020-04-11 00:00:31 +02:00
Zeno Rogue
d00498ad0b fixed unused capture warning 2020-04-10 12:14:43 +02:00
Zeno Rogue
9a0024b1c4 fixed compiling with MAXMDIM==3 2020-04-10 10:52:24 +02:00
Zeno Rogue
4d77c25dba changed VLA to vector 2020-04-10 02:13:38 +02:00
Zeno Rogue
ac6548684c parser:: ../ for spline interpolation 2020-04-09 08:09:11 +02:00
Zeno Rogue
64914067dc option ..| to specify animations with sharp changes 2020-04-09 07:46:39 +02:00
Zeno Rogue
19c7c63677 rug:: a change to -rugv CLI option now acts immediately 2020-04-09 07:40:47 +02:00
Zeno Rogue
cb25dd27be removed rogueviz::cspin (conflicts with hr::cspin and unused) 2020-04-09 07:40:12 +02:00
Zeno Rogue
d5b46839cd rogueviz:🌻:more improvements 2020-04-08 17:38:21 +02:00
Zeno Rogue
ee4f38e0c9 rogueviz:: rvtour priorities 2020-04-08 17:33:57 +02:00
Zeno Rogue
3515117aa8 rogueviz:🌻: correct colors 2020-04-08 01:36:22 +02:00
Zeno Rogue
fca3a79839 rogueviz:🌻: RogueViz slide, infer one of three parameters from the other two, auto-adjust rug scale when changing density, auto-resize arrays 2020-04-08 01:36:08 +02:00
Zeno Rogue
2fbccb4a84 rogueviz:: added Impossible Triangle slides 2020-04-08 00:39:44 +02:00
Zeno Rogue
24f0f1b707 smooth_scrolling feature did not work correctly in non-isotropic geometries 2020-04-08 00:39:16 +02:00
Zeno Rogue
348f1afcb0 updated Android to 11.3i 2020-04-07 22:46:45 +02:00
Zeno Rogue
5dbbf233fa rogueviz:: added impossible ring (slide/config) 2020-04-07 17:41:47 +02:00
Zeno Rogue
750b91cfd9 exporting eMovementAnimation 2020-04-07 17:17:45 +02:00
Zeno Rogue
373a7c3469 rogueviz:: moved other viz to unsorted/ 2020-04-07 17:17:35 +02:00
Zeno Rogue
357117ce35 rogueviz::snow:: o-key menu 2020-04-07 17:16:03 +02:00
Zeno Rogue
58510299de in roguevizslide, do not call t() again on GeometryReset with QUICKGEO 2020-04-07 17:15:40 +02:00
Zeno Rogue
dc46f42fa8 added snow to rogueviz-all 2020-04-07 17:15:17 +02:00
Zeno Rogue
9ba42a1db2 CLI option -tour disables startmenu 2020-04-07 17:14:45 +02:00
Zeno Rogue
72f84a1cf7 subcategory 'hyperbolic geometry and data' 2020-04-07 14:07:41 +02:00
Zeno Rogue
776364a2aa CAP_SOLV needed in snow 2020-04-07 14:07:08 +02:00
Zeno Rogue
e7936a94c1 rogueviz::snow:: added slides 2020-04-07 14:06:30 +02:00
Zeno Rogue
d695aee00d tour:: a system for easier restoration of slide-changed values 2020-04-07 14:06:00 +02:00
Zeno Rogue
7438fbf4c8 slide help is now string 2020-04-07 14:05:47 +02:00
Zeno Rogue
30dcfe9ada subfolder system to organize presentations 2020-04-07 11:43:59 +02:00
Zeno Rogue
a57b2b9d7f Android version code 2020-04-07 11:43:25 +02:00
Zeno Rogue
736a18f0ea Android update 2020-04-06 14:03:19 +02:00
Zeno Rogue
fcf22ea525 one more Android fixup 2020-04-06 14:03:10 +02:00