1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-30 15:39:54 +00:00
Commit Graph

583 Commits

Author SHA1 Message Date
Zeno Rogue
e5b561c804 optimize_shift function for shiftpoint 2022-06-16 23:14:10 +02:00
Zeno Rogue
a6dc4b9314 new projections mostly for Solv: Lie perspective and Lie orthogonal 2022-05-17 09:45:09 +02:00
Zeno Rogue
69a82a8ce1 fixed lie_exp to use correct rules in solnih, and also avoid division by h[2] == 0 2022-05-17 09:37:32 +02:00
Zeno Rogue
b0c34c4f2c added CAP_RAY guard to intra stuff 2022-05-09 15:09:23 +02:00
Zeno Rogue
418eb072dc lie_exp approximation for other geometries 2022-05-06 19:54:55 +02:00
Zeno Rogue
1c907be9da shift_view with geodesic-movement disabled is now based on Lie exponentials (NYI: SL2, Berger) 2022-05-06 19:54:55 +02:00
Zeno Rogue
e4ddfa8250 hyperboloid fixup 2022-04-21 11:59:50 +02:00
Zeno Rogue
197157838d fixed in_smart_range to use nisot::in_table_range 2022-04-16 13:59:38 +02:00
Zeno Rogue
589d2dd72c hemisphere in spherical now produces the hyperboloid model 2022-04-07 20:50:16 +02:00
Zeno Rogue
84446a6b9f disable X'es in set_multi 2022-03-27 22:47:51 +02:00
Zeno Rogue
719aab3fb5 fixed the orientation of two-point azimuthal and two-point hybrid 2022-03-27 22:47:51 +02:00
Zeno Rogue
6d554d6b2e multi:: two-focus projections 2022-03-27 22:47:51 +02:00
Zeno Rogue
5a73eccd4c an option to add more projections via plugins 2022-03-27 22:47:50 +02:00
Zeno Rogue
166f076f2d models:: makeband as a function 2022-03-27 22:47:50 +02:00
Zeno Rogue
94d660cc43 intra:: walking mode 2022-02-27 01:15:45 +01:00
Zeno Rogue
822c77b302 smaller eps in apply_other_model 2022-02-27 01:15:45 +01:00
Zeno Rogue
729566d147 smaller eps in zlev 2022-02-27 01:15:45 +01:00
Zeno Rogue
1bdb187735 made Yendor/Haunted sight radius consistent when the tiling is changed 2022-02-21 22:47:22 +01:00
Zeno Rogue
67a19d93bb added missing MAXMDIM guards 2022-02-17 21:00:10 +01:00
Zeno Rogue
bdc2697f98 fixed pmodel to md in some places in apply_other_model 2022-02-01 17:09:20 +01:00
Zeno Rogue
a8d2e589f1 that fixup was added? 2021-11-07 10:41:27 +01:00
Zeno Rogue
456adb32c0 fixup to 'which_copy includes rotation' 2021-11-07 10:14:08 +01:00
Zeno Rogue
ea079ba0d1 which_copy now consistenly includes rotation -- seems to fix cat moving problem 2021-11-07 10:03:16 +01:00
Zeno Rogue
b866647622 fixes to parabolic 2021-10-10 00:40:22 +02:00
Zeno Rogue
0966d5e36c more accurate portal movement 2021-10-07 12:43:45 +02:00
Zeno Rogue
663e334e38 intra:: first version 2021-09-16 21:30:26 +02:00
Zeno Rogue
a8eef4b717 fixed set_view for 2.5D 2021-08-08 18:29:35 +02:00
Zeno Rogue
b544461dc7 flat_model_enabler now sets the default variation, fixes issue #254 2021-08-04 18:23:26 +02:00
Zeno Rogue
d10181e363 gp:: replaced draw_li with current_li which is computed when needed 2021-07-31 15:12:06 +02:00
Zeno Rogue
81e066d0c3 gp:: replaced the magic constants 15, 16, 31, 32 with named constants derived from GOLDBERG_BITS 2021-07-18 18:32:50 +02:00
Zeno Rogue
3a0b383b9b out_of_bounds cell 2021-06-17 09:44:48 +02:00
Zeno Rogue
95b4ad28b9 fixed some bugs with which_copy -- now should consistently use the View coordinate system 2021-06-01 13:07:56 +02:00
Zeno Rogue
0c816d3c68 in set_view, trust rightward 2021-05-23 16:00:50 +02:00
Zeno Rogue
0678590e77 added MAXMDIM guard 2021-05-12 20:15:40 +02:00
Zeno Rogue
3146fdd02f hybrid:: draw_underlying_space no longer covers the screen in e2xe, and also fixed the orientation in product 2021-05-01 14:14:28 +02:00
Zeno Rogue
3f4135079c fixed set_view in product geometries 2021-04-23 20:11:44 +02:00
Zeno Rogue
2463e0e163 hooks_preoptimize and hooks_postoptimize 2021-04-07 18:15:58 +02:00
Zeno Rogue
41779cd92c set_view in 2D geometries 2021-04-07 18:15:58 +02:00
Zeno Rogue
5a73510c4f added some guards for MAXMDIM >= 4 and CAP_SOLV 2021-03-30 11:27:48 +02:00
Zeno Rogue
b55eb5721e you can no longer go through walls in portalspaces 2021-03-21 10:42:36 +01:00
Zeno Rogue
8e9da9e1fe fixed the spiral projection 2021-03-12 15:31:17 +01:00
Zeno Rogue
4b45872443 marked intended fallthroughs to prevent errors 2021-03-12 15:31:00 +01:00
Zeno Rogue
87cbfaeac3 fixup to threepoint 2021-03-06 11:59:57 +01:00
Zeno Rogue
3940f624fd added model: three-point equidistant 2021-03-06 11:54:25 +01:00
Zeno Rogue
a70dcb7cea vr:: down direction in 2.5D/H2xE can be changed 2021-02-07 22:55:11 +01:00
Zeno Rogue
53b541f520 vr:: fixed escaping in product space 2021-02-07 22:55:11 +01:00
Zeno Rogue
822be6709f vr:: fixed spinEdge in product spaces 2021-02-07 22:55:10 +01:00
Zeno Rogue
9065011437 fixed pointing in sphere orthographic 2021-02-01 11:45:13 +01:00
Zeno Rogue
ca2154e034 vr:: only mdEquidistant resolves to inverse_exp 2020-12-31 19:11:14 +01:00
Zeno Rogue
be0309c656 fixed pointing in nonisotropic 2020-12-31 19:11:14 +01:00
Zeno Rogue
faec8c9df2 vr:: all VR settings are now configurable via VR/projection menu. Also cleanup vr_angle 2020-12-31 19:11:14 +01:00
Zeno Rogue
d5fc277531 3D drawing 2020-12-31 19:11:14 +01:00
Zeno Rogue
97d5c91240 vr:: vr_disk used only for WDIM == 2 2020-12-31 19:11:14 +01:00
Zeno Rogue
e4e1a856e6 replace vrhr::state checking with nicer functions 2020-12-31 19:11:14 +01:00
Zeno Rogue
d73b9f36cd refactored find_on_screen into pointable() and minimize_point_value 2020-12-31 19:11:14 +01:00
Zeno Rogue
2c59aa0e14 precise mouseh in 2.5D 2020-12-31 19:11:14 +01:00
Zeno Rogue
2e0ddd5a48 vr:: correctly rendered 2D sphere 2020-12-31 19:11:13 +01:00
Zeno Rogue
391e9e7432 fixed sphereflipped! 2020-12-31 19:11:13 +01:00
Zeno Rogue
38eb8c5122 disk model in Euclidean and hyperbolic 2020-12-31 19:11:13 +01:00
Zeno Rogue
266e4e43c4 vr:: ... also hyperboloid in spherical 2020-12-31 19:11:13 +01:00
Zeno Rogue
69e121bd16 hemisphere works nicely in Euclidean and spherical 2020-12-31 19:11:13 +01:00
Zeno Rogue
f9d65a2e37 added some missing CAP_VR guards, more work on 2D in VR 2020-12-31 19:11:13 +01:00
Zeno Rogue
85ab111abb fixed a rendering bug with band in 3D 2020-12-31 19:11:13 +01:00
Zeno Rogue
eb6d186f00 2D models in 3D (WIP) 2020-12-31 19:11:13 +01:00
Zeno Rogue
ffcda7f602 vr:: fixes to spinEdge 2020-11-22 20:00:43 +01:00
Zeno Rogue
0de8ce9a10 initial implementation of VR 2020-11-22 17:58:40 +01:00
Zeno Rogue
bc102b000d fixed camera not rotating in Nil shmup 2020-11-14 14:43:14 +01:00
Zeno Rogue
32a61367b0 fixed actual_view_transform to just use inverse 2020-11-08 11:55:08 +01:00
Zeno Rogue
5606007259 fixed SLR graphical duplication needlessly called outside of SLR 2020-11-08 11:54:48 +01:00
Zeno Rogue
f57229134c fixed unstable camera problems (actual_view_transform needs iso_inverse not ortho_inverse) 2020-11-07 15:05:27 +01:00
Zeno Rogue
8c4b700466 show_hyperboloid_flat option 2020-11-01 20:10:08 +01:00
Zeno Rogue
a0574d159f support for quotient spaces with S3 > 4 2020-11-01 11:32:12 +01:00
Zeno Rogue
b74509c95a Five new projections: Poor Man (hyperbolic only), Panini, retroazimuthal: Craig, Hammer, Littrow (retro-Hammer buggy on sphere) 2020-10-08 18:22:28 +02:00
Zeno Rogue
79c1493141 fixed the initialization of ringcolor 2020-09-23 18:53:06 +02:00
Zeno Rogue
a0a63990e2 in Werner hyperbolic don't draw the auto-boundary 2020-09-23 14:56:26 +02:00
Zeno Rogue
b20058215f changed C0 to C02 to fix a crash on initialization 2020-09-17 01:55:22 +02:00
Zeno Rogue
0f0c342ffa used winkel parameter 2020-09-16 23:49:17 +02:00
Zeno Rogue
24c557b5d2 fixed loximuthal parameter 2020-09-16 23:49:17 +02:00
Zeno Rogue
4d71857d7b fixed missing miller config 2020-09-16 23:49:17 +02:00
Zeno Rogue
11b1f6dfb0 down arrow in menus now works opposite to the up arrow (rolls around) 2020-09-16 23:49:17 +02:00
Zeno Rogue
c6ed4ea736 fixed broken models with orientation change 2020-09-16 23:49:17 +02:00
Zeno Rogue
e26f8f5a5b optimized inverses 2020-09-16 23:49:17 +02:00
Zeno Rogue
2e47adef1c new projections based on cartography 2020-09-16 23:49:17 +02:00
Zeno Rogue
2f18e0dd32 atscreenpos for mdHorocyclic 2020-09-11 11:18:02 +02:00
Zeno Rogue
18ab187547 rotational model of Nil, and change Nil rotation 2020-09-11 11:13:18 +02:00
Zeno Rogue
59a7d3e562 added set_view function 2020-09-11 11:11:30 +02:00
Zeno Rogue
01ed0290c2 mstretch fixup 2020-08-23 00:16:14 +02:00
Zeno Rogue
b5924ccc5c mstretch now works in rot spaces including SL2 2020-08-23 00:10:59 +02:00
Zeno Rogue
644d20cd89 smartrange area-based 2020-08-20 16:49:47 +02:00
Zeno Rogue
64cb6772e8 three new projections 2020-08-20 16:02:34 +02:00
Zeno Rogue
7d9be4d40c even again fixed flatmodel in 3D 2020-08-01 16:42:15 +02:00
Zeno Rogue
ecbd8806e7 added some missing guards 2020-07-30 02:29:59 +02:00
Zeno Rogue
f34205ca6b fixed bad graphics in 3D 2020-07-29 21:49:38 +02:00
Zeno Rogue
0a25848633 fixed drawing unnecessary cells in SL2 2020-07-28 22:06:14 +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
d046023164 flatmodel now always use the standard geometry graphics 2020-07-26 15:05:42 +02:00
Zeno Rogue
1d94bd76f8 fixup to last 2020-07-25 16:20:06 +02:00
Zeno Rogue
7e5ff7b318 added missing CAP_RAY guard 2020-07-25 12:00:01 +02:00
Zeno Rogue
a3c5773864 potential bugfix 2020-07-25 03:13:46 +02:00
Zeno Rogue
94cac21716 primitive-based rendering of the Berger sphere (very poor) 2020-07-24 23:39:30 +02:00
Zeno Rogue
351eda2b5d generalized PSL to ~SL (discrepancies still appear) 2020-07-24 02:30:50 +02:00
Zeno Rogue
9103735be1 eyelevel setting not works in the first-person shooter mode 2020-07-08 12:41:14 +02:00
Zeno Rogue
89585f004b fixed some guards (in progress) 2020-07-03 14:42:33 +02:00
Zeno Rogue
d6e98ecf2a fixed guards 2020-05-31 18:04:43 +02:00
Zeno Rogue
a8a0805b6f added some missing MAXMDIM guards 2020-05-31 17:21:16 +02:00
Zeno Rogue
5238959cbd fake:: support Archimedean pure 2020-05-31 16:18:44 +02:00
Zeno Rogue
07b1eaeda5 fixed in older compiler 2020-05-29 10:49:38 +02:00
Zeno Rogue
4217c7ccc7 reg3:: ultra-mirrors 2020-05-28 01:50:00 +02:00
Zeno Rogue
a282c767ed fixed invalid_matrix in affine 2020-05-15 22:53:52 +02:00
Zeno Rogue
036502f63e confusingGeometry() now returns true in elliptic (rotspaces have elliptic but not quotient) 2020-05-15 14:48:08 +02:00
Zeno Rogue
4cde3e0984 in rotate_view do not change which_copy when in rug::rugged 2020-05-15 11:38:52 +02:00
Zeno Rogue
fd9ea8793e stretch:: renamed rots_twist to stretch, also implemented for slr 2020-05-09 10:41:15 +02:00
Zeno Rogue
54804bc08b stretched spherical geometry 2020-05-08 21:18:47 +02:00
Zeno Rogue
d09acee7a8 more accurate mouse when in 2D projections 2020-04-19 23:22:41 +02:00
Zeno Rogue
c33887a313 smoother in 3D Gravity 2020-04-19 22:00:29 +02:00
Zeno Rogue
fc7563e388 cleaned up keep_vertical_orientation; camera rotation is now nicer if yes 2020-04-19 21:56:26 +02:00
Zeno Rogue
6f6586b3f2
Merge branch 'master' into hooks-naming 2020-04-19 13:39:07 +02:00
Zeno Rogue
0a6c80e909 refactored flat_model_enabler 2020-04-17 15:54:48 +02:00
Zeno Rogue
466b81f854 fixed central inversion in 3D models 2020-04-17 02:22:01 +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
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
Zeno Rogue
e4a8b73819 nisot:: nicer precision setting 2020-04-11 15:08:24 +02:00
Zeno Rogue
c1ed54763b 3D geometries should now render without OpenGL 2020-04-06 10:43:28 +02:00
Zeno Rogue
b6ecc15e1a enqueue_c 2020-04-05 10:58:56 +02:00
Zeno Rogue
bacdacbb7f perspective_to_psace in 3D 2020-04-05 10:58:56 +02:00
Zeno Rogue
650604227a face/edge/vertex centering 2020-04-01 12:01:55 +02:00
Zeno Rogue
e53f61a8be history:: specifically mark starting position 2020-04-01 11:26:19 +02:00
Zeno Rogue
76e6dc2002 utilities to create geometry raytracers which use only HyperRogue's control scheme 2020-03-29 17:35:42 +02:00
Arthur O'Dwyer
a0da10b408 Remove extraneous semicolons to quiet pedantic GCC warnings. 2020-03-23 14:38:57 -04:00
Zeno Rogue
b31e0db6df fixed centering lost after Eternal Motion in shmup 2020-03-08 01:24:34 +01:00
Zeno Rogue
41be224049 fixed centering disabled after Orb of Safety in shmup 2020-03-08 01:24:13 +01:00
Zeno Rogue
b31e81f442 fixed a crash bug while drawing 2020-03-07 04:47:10 +01:00
Zeno Rogue
ea55f43abf better centering in cheatmode 2020-02-07 18:35:24 +01:00
Zeno Rogue
e07f5fed0c dual:: when one side is Euclidean, only the other one rotates 2020-01-30 17:45:51 +01:00
Zeno Rogue
24b3d17eb4 mixed infinite order 2020-01-19 00:13:54 +01:00
Zeno Rogue
57e10dfca8 models:: perspective_to_space now actually uses the alpha parameter (instead of vid.alpha) and is exported 2020-01-02 16:56:01 +01:00
Zeno Rogue
3330d6060b minor fixes to OINF 2019-12-27 23:00:38 +01:00
Zeno Rogue
aeac634abd downseek works in Euclidean now 2019-12-27 11:14:25 +01:00
Zeno Rogue
da051e766a fixed fix_the_band when changing model_orientation 2019-12-27 00:50:46 +01:00
Zeno Rogue
c247936e34 removed the functions queuechr -- use queuestr now 2019-12-26 23:38:28 +01:00
Zeno Rogue
15000034fd parser:: error handling now uses exceptions 2019-12-23 21:44:51 +01:00
Zeno Rogue
769982040d renamed solnihv:: to sn:: and solnih to sn::in() 2019-12-14 12:28:45 +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
886d9d1619 rug:: conformal tori 2019-12-09 00:40:51 +01:00
Zeno Rogue
c8db8a328d invalid_matrix in product spaces now allows very small values 2019-12-06 13:06:32 +01:00
Zeno Rogue
63c4886722 replaced product drawing with the general routine 2019-12-06 12:13:09 +01:00
Zeno Rogue
ac9d18adfb simplified the drawing algo for product 2019-12-06 11:47:26 +01:00