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