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

6039 Commits

Author SHA1 Message Date
Zeno Rogue
7f96c67755 improved Rug in various models 2020-04-17 02:21:44 +02:00
Zeno Rogue
e978ed9eac Home no longer resets view in rug 2020-04-17 00:54:13 +02:00
Zeno Rogue
0472bf764f moved all projection-related parameters to a special struct; another copy of that struct created for rug 2020-04-17 00:53:58 +02:00
Zeno Rogue
f8cbf67a8e shift+arrows now strafe in 3D modes 2020-04-16 21:31:59 +02:00
Zeno Rogue
2a69afddb7 rogueviz:: adjusted to rug naming changes 2020-04-16 21:01:03 +02:00
Zeno Rogue
63d244ce9f rug::rg* constants are now exported 2020-04-16 21:00:41 +02:00
Zeno Rogue
84cf5d6e3a added missing guards, mostly for CAP_WRL 2020-04-16 21:00:28 +02:00
Zeno Rogue
45bffedfbb better error information from arb 2020-04-16 20:59:34 +02:00
Zeno Rogue
75f2a84333 fixed CLI for tree to -tree not -tol 2020-04-16 20:59:05 +02:00
Zeno Rogue
a380134d29 WRL selectable in menus, fixed some issues 2020-04-16 14:36:45 +02:00
Zeno Rogue
0ef619739e textures in wrl export 2020-04-16 03:36:48 +02:00
Zeno Rogue
bf2eece2d8 wrl:: rug texture 2020-04-15 18:09:27 +02:00
Zeno Rogue
c8495c7fdb wrl:: transparency 2020-04-15 18:08:55 +02:00
Zeno Rogue
a866d1fca5 wrl:: fixed color 2020-04-15 17:07:50 +02:00
Zeno Rogue
db916f8c95 printable rug 2020-04-15 17:07:39 +02:00
Zeno Rogue
de5c64d080 CLI option -fat-edges 2020-04-15 16:21:49 +02:00
Zeno Rogue
7f08ca01a2 fat edges are now printable 2020-04-15 16:21:30 +02:00
Zeno Rogue
2fb865346d generate 'printable' models or not 2020-04-15 16:21:02 +02:00
Zeno Rogue
3e8d00f097 fixup EX coverage 2020-04-15 11:49:43 +02:00
Zeno Rogue
f150245a72 basic WRL export (no menus) 2020-04-15 11:49:29 +02:00
Zeno Rogue
4413743ff3 rug:: fixed start_game after PHASE in -rugon 2020-04-15 01:43:45 +02:00
Zeno Rogue
c2d70bb61c rug:: rugsave and rugload options 2020-04-15 01:43:28 +02:00
Zeno Rogue
bcbdc8c838 fixup: debug removed 2020-04-15 01:43:14 +02:00
Zeno Rogue
7e58a718e2 fixup: flat to native in crystal 2020-04-15 01:42:46 +02:00
Zeno Rogue
f903d3c8ea rug:: using HyperRogue general renderer 2020-04-14 17:46:40 +02:00
Zeno Rogue
9bf1a76a8b rug:: using HyperRogue standard 3D geometry routines 2020-04-14 16:44:56 +02:00
Zeno Rogue
fef6894bbd geo_dist_q : like geo_dist but gives correct distance in elliptic space 2020-04-14 16:42:11 +02:00
Zeno Rogue
5c96a82f80 removed Janko from the web version since it does not work for some reason 2020-04-12 20:42:48 +02:00
Zeno Rogue
85a404bfe8 CA awards Orb of Aether automatically 2020-04-12 20:38:17 +02:00
Zeno Rogue
493be6c55b simulate CA on every step if animating 2020-04-12 20:35:16 +02:00
Zeno Rogue
6619586efa rogueviz:: updated to inverse_exp changes 2020-04-12 20:35:00 +02:00
Zeno Rogue
37ceb0bcbc fixup export chessvalue 2020-04-12 20:34:45 +02:00
Zeno Rogue
68ee90fcba export get_acceleration 2020-04-12 20:34:39 +02:00
Zeno Rogue
ce441eb4bc more accurate lazy for SolNih 2020-04-12 20:34:16 +02:00
Zeno Rogue
8f99715f0d CLI option -smooths 1 2020-04-12 20:34:02 +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
Zeno Rogue
4cbffbd8df chessboard/threecolor pattern for CA 2020-04-12 20:32:37 +02:00
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