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
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
Zeno Rogue
2f353a844c tracking in nonisotropic geometries 2019-11-23 20:16:53 +01:00
Zeno Rogue
982f01e6e5 tracking the specific copy of the player in confusing geometries 2019-11-23 19:05:24 +01:00
Zeno Rogue
edcf160a28 centerpc: moved rerotate outside 2019-11-23 19:01:00 +01:00
Zeno Rogue
4f0cf57092 centerpc:: removed a special case for Euclidean -- no longer a special case 2019-11-23 19:00:18 +01:00
Zeno Rogue
c60b96c1b8 added the missing fixmatrix 2019-11-16 01:41:44 +01:00
Zeno Rogue
ce805164b6 fixed resetview facing after attack 2019-11-15 14:14:06 +01:00
Zeno Rogue
f9cc30a67a removed debug from optimizeview 2019-11-15 03:00:50 +01:00
Zeno Rogue
234677c5eb inverse ddspin back to iddspin 2019-11-14 19:34:09 +01:00
Zeno Rogue
012d833f50 removed the tohex parameter 2019-11-14 19:33:55 +01:00
Zeno Rogue
df4e700676 fixed resetview in 3D including product 2019-11-14 19:24:42 +01:00
Zeno Rogue
3eee611eca nisot::local_perspective moved to display_data 2019-11-14 17:20:55 +01:00
Zeno Rogue
9a35342625 correct resetview facing in 3D/nonorientable 2019-11-14 17:08:00 +01:00
Zeno Rogue
9f6f3232b5 the orientation after recentering is now always 'player facing upwards' 2019-11-14 00:43:36 +01:00
Zeno Rogue
ef9e2236ba viewctr is no more... major reduction of redundancy/complexity 2019-11-14 00:26:50 +01:00
Zeno Rogue
cc9e03ddb8 product:: product projections 2019-11-09 13:14:42 +01:00
Zeno Rogue
416ee95aac horocyclic coordinates model 2019-11-09 12:49:00 +01:00
Zeno Rogue
e17747791e sol:: correct rotation in simple model 2019-11-09 12:32:37 +01:00
Zeno Rogue
5d5dc62f9e fixed bug 2019-11-09 11:20:51 +01:00
Zeno Rogue
6dd47c903d nilv:: works with small periods 2019-11-08 15:42:31 +01:00
Zeno Rogue
f7fc9d7d5d asonov:: works even with small periods 2019-11-08 15:35:23 +01:00
Zeno Rogue
43bf7c5cfe fixed MAXMDIM guards 2019-11-03 14:19:11 +01:00
Zeno Rogue
96224b5c44 fixed an issue in pure product shmup 2019-11-02 20:28:33 +01:00
Zeno Rogue
64330fab93 optimize racing mode (old renderer) 2019-10-26 01:09:25 +02:00
Zeno Rogue
0e7c5055ae fixed incorrect mouse interpretation in spherical ortho 2019-10-25 23:24:21 +02:00
Zeno Rogue
85a08d205d refactored celldraw 2019-10-25 12:44:41 +02:00
Zeno Rogue
09fcd14aa7 redesigned shader system 2019-10-21 22:34:20 +02:00
Zeno Rogue
c78da19a98 fixed 3-dim geometries not generating the land for the first 50 cells 2019-10-12 13:48:26 +02:00
Zeno Rogue
06cfce6e23 in 3DIM, do_draw is now always called if cells_drawn < 50 2019-10-12 13:15:15 +02:00
Zeno Rogue
94857cad86 fixed an issue in optimizeview for crystal334 2019-10-12 13:14:38 +02:00
Zeno Rogue
9a3be468be inforder:: fixed too large HUD 2019-10-10 13:49:35 +02:00
Zeno Rogue
a415732188 debug removed 2019-10-05 12:37:36 +02:00
Zeno Rogue
a48aea7b8e used EX for space_to_perspective 2019-10-05 12:34:36 +02:00
Zeno Rogue
cfc36c7bda fisheye and ball models in nonisotropic spaces 2019-10-05 12:34:14 +02:00
Zeno Rogue
13ea55b233 fisheye has parameter 2019-10-05 12:32:16 +02:00
Zeno Rogue
d69cb4e946 SolN manifold 2019-10-03 20:10:48 +02:00
Zeno Rogue
d6ab96f821 non-isotropic hyperbolic space 2019-10-01 05:03:46 +02:00
Zeno Rogue
77cf19fadc fixed spherity 2019-09-28 16:53:35 +02:00
Zeno Rogue
8833251c8b added some missing CAP_SOLV guards 2019-09-13 19:50:12 +02:00
Zeno Rogue
d1bf6fef5e replaced product::product_sphere() 2019-09-12 22:50:16 +02:00
Zeno Rogue
85ea29e2df fixed optimizeview in S2xE 2019-09-12 22:50:16 +02:00
Zeno Rogue
7b76991dcd hybrid::do_draw 2019-09-12 22:50:16 +02:00
Zeno Rogue
848eb8f48b export everything: modules compiled separately 2019-09-12 22:50:16 +02:00
Zeno Rogue
9647cbd47e added #include hyper.h to all cpp files 2019-09-12 22:50:16 +02:00
Zeno Rogue
142566a5bd not working correctly auto-animation in slr 2019-09-12 22:50:15 +02:00
Zeno Rogue
d046211a9c better flagging of geometries, and isometry spaces nicely selectable 2019-09-12 22:50:15 +02:00
Zeno Rogue
a0140254c8 slr:: works with bitruncated tilings (Archimedean not tested) 2019-09-12 22:50:15 +02:00
Zeno Rogue
86ca34669a slr:: generalized to other regular 2019-09-12 22:50:15 +02:00
Zeno Rogue
a546b3a62e fixed shift_view_towards in nonisotropic 2019-09-12 22:50:15 +02:00
Zeno Rogue
c5fe3b38d3 removed useless debug 2019-09-12 22:50:15 +02:00
Zeno Rogue
61ea588ffb shmup for product: player movement 2019-09-12 22:50:15 +02:00
Zeno Rogue
a6951d1dbb fixed shift_view in product 2019-09-12 22:50:15 +02:00
Zeno Rogue
ce46243b55 get_shiftview_of used gpush instead of rgpush; fixed wallradar 2019-09-12 22:50:15 +02:00
Zeno Rogue
02269267c9 slr:: drawing of looped images, better shader in general, special sightrange setting 2019-09-12 22:50:15 +02:00
Zeno Rogue
91199595d6 slr:: fixed centering in shmup 2019-09-12 22:50:15 +02:00
Zeno Rogue
96d7496043 refactored all the operations on View 2019-09-12 22:50:15 +02:00
Zeno Rogue
1e6970ca28 hybrid:: refactored the common parts of prod and sl2, also used them when applicable 2019-09-12 22:50:15 +02:00
Zeno Rogue
136b931609 PSL(2,R) 2019-09-12 22:50:15 +02:00
Zeno Rogue
a03eb0d913 fixed new geometry handling for Archimedean 2019-09-12 22:50:15 +02:00
Zeno Rogue
597140e28d product:: wallradar and TPP 2019-09-12 22:50:15 +02:00
Zeno Rogue
e8cdb9e616 product:: fixed straightDownSeek 2019-09-12 22:50:14 +02:00
Zeno Rogue
d5d1780c3f product:: fixed_yz works 2019-09-12 22:50:14 +02:00
Zeno Rogue
23f9736722 point_behind returns true if point is too close to z=0 2019-09-12 22:50:14 +02:00
Zeno Rogue
33a236195d product:: applymodel 2019-09-12 22:50:14 +02:00
Zeno Rogue
e5fb06e6cd product:: HUD items displayed correctly 2019-09-12 22:50:14 +02:00
Zeno Rogue
c28fac248b yet another fixup : plevel -> current_view_level 2019-09-12 22:50:13 +02:00
Zeno Rogue
ecfef817a9 auto-adjusted plevel 2019-09-12 22:50:13 +02:00
Zeno Rogue
da87291ea4 no more bad plevel in do_draw 2019-09-12 22:50:13 +02:00
Zeno Rogue
64d0742343 fixed in_underlying_map not geometry in optimizeview() 2019-09-12 22:50:13 +02:00
Zeno Rogue
fb0f5872c8 3d models in product space 2019-09-12 22:50:13 +02:00
Zeno Rogue
00f4f4fca5 fully turnable product spaces 2019-09-12 22:50:13 +02:00
Zeno Rogue
6958cbcbd9 product:: preliminary version (no turning) 2019-09-12 22:50:13 +02:00
Zeno Rogue
5a9f3f57e6 improvements in model boundaries 2019-09-12 22:50:13 +02:00
Zeno Rogue
96bf478482 renamed DIM to GDIM 2019-09-12 22:50:13 +02:00
Zeno Rogue
161ed6a9a9 models:: fixed errors on poles in CentralCyl 2019-09-12 22:50:13 +02:00
Zeno Rogue
43bcc4e2bd nisot:: azimuthal equidistant projection 2019-09-12 22:50:13 +02:00
Zeno Rogue
d20b8108af removed unused comment 2019-09-12 22:50:13 +02:00
Zeno Rogue
df9c01f276 models:: Collignon projection 2019-09-12 22:50:13 +02:00
Zeno Rogue
9d573ebd07 models:: central cylindrical and in-progress Collignon 2019-09-12 22:50:13 +02:00
Zeno Rogue
7f967ba30d nicer model flag naming 2019-09-12 22:50:13 +02:00
Zeno Rogue
10a8b8660b Mollweide projection 2019-09-12 22:50:13 +02:00
Zeno Rogue
8b1c7bffe4 initial reformatting of comments for Doxygen 2019-09-12 22:50:13 +02:00
Zeno Rogue
5ea055b39e split namespace conformal into models and history 2019-09-12 22:50:12 +02:00
Zeno Rogue
2cf6abb273 removed rotmatrix as it did exactly the same as cspin 2019-09-12 22:50:12 +02:00
Zeno Rogue
a76a5dd265 further cleanup 2019-09-12 22:50:12 +02:00
Zeno Rogue
e1194ff588 more header cleanup 2019-09-12 22:50:12 +02:00
Zeno Rogue
a423dbd2da more header cleanup 2019-09-12 22:50:12 +02:00
Zeno Rogue
c2d56fb9bc autohdr.h applied in more files 2019-09-12 22:50:12 +02:00
Zeno Rogue
ef89c7ed9d removed functions fix6 and fix7 2019-09-12 22:50:12 +02:00
Zeno Rogue
c131e21198 namespace hyperpoint_vec removed 2019-09-12 22:50:12 +02:00
Zeno Rogue
e62a3c0d8e nilv:: geodesic sightrange 2019-09-12 22:50:12 +02:00
Zeno Rogue
9350053c49 renamed mdSolPerspective to mdGeodesic 2019-09-12 22:50:11 +02:00
Zeno Rogue
4f27b12ca2 nilv:: preliminary implementation 2019-09-12 22:50:11 +02:00
Zeno Rogue
0be99b931f fixed actualV in penrose 2019-09-12 22:50:11 +02:00
Zeno Rogue
794f8b679e solv:: applymodel takes local_perspective into account 2019-09-12 22:50:11 +02:00
Zeno Rogue
44b9968ff8 cleaned up invis_point -> point_behind and invalid_point(transmatrix), also implemented for Solv 2019-09-12 22:50:11 +02:00
Zeno Rogue
b898365d68 solv:: lazy version of inv_exp 2019-09-12 22:50:10 +02:00