Commit Graph

579 Commits

Author SHA1 Message Date
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
Zeno Rogue 7080ff379b master_to_c7_angle() no longer returns non-zero in 3D 2019-11-30 18:06:48 +01:00
Zeno Rogue ecde911db2 models:: Spiral projection now spins together in Euclidean 2019-11-30 18:06:47 +01:00
Zeno Rogue 1cba452f07 rewritten the Euclidean geometry 2019-11-30 18:06:47 +01:00
Zeno Rogue 622b683e33 drawcell parameter is now cell, not cellwalker (need to check half-elliptic) 2019-11-30 18:04:54 +01:00