Zeno Rogue
e1301e10bd
fixup to shift: moved the shift methods to hyperpoint, also removed _auto
2022-12-17 11:16:47 +01:00
Zeno Rogue
1210de672e
fixed shift in nonisotropic embeddings; also you can now choose between geodesic or embed-aware, for both manual and auto camera movement
2022-12-16 23:03:00 +01:00
Zeno Rogue
839beabbc9
vertical_vector in same-in-same
2022-12-15 18:20:13 +01:00
Zeno Rogue
6b262104fd
fixed vertical in embedded_plane in noniso
2022-12-15 18:15:26 +01:00
Zeno Rogue
f61adc2865
Nil embedding
2022-12-13 19:04:43 +01:00
Zeno Rogue
d334062656
fixed some bugs with sphere embedded in product
2022-12-09 02:33:15 +01:00
Zeno Rogue
3e733ae6e9
Big change: spatial_embedding option
2022-12-09 02:33:15 +01:00
Zeno Rogue
42f96b768c
improvements to sphere flipping
2022-12-04 14:48:12 +01:00
Zeno Rogue
06523e063e
used cyclefix and raddif in more places; (c)spin90, (c)spin180 and spin180 functions; rephrased M_PI in terms of TAU and x._deg when applicable
2022-11-13 16:22:55 +01:00
Zeno Rogue
875b0159e6
nonisotropic range parameters now work in all perspective modes
2022-10-15 22:58:30 +02:00
Zeno Rogue
a7ca4c2902
relativistic projections added
2022-10-14 00:56:48 +02:00
Zeno Rogue
d218896b63
sl2:: more projections allowed
2022-10-14 00:54:31 +02:00
Zeno Rogue
de859c35aa
in sl2, sl2 handling of shifts is executed even if model uses bandshift
2022-09-17 16:46:26 +02:00
Zeno Rogue
8715770649
prevented GPU glitches when rendering long bands
2022-09-14 21:56:02 +02:00
Zeno Rogue
11426c30b3
auto-land-rotation now works even if CAP_ORIENTATION is on
2022-07-17 14:41:57 +02:00
Arthur O'Dwyer
48800f58f8
Fix some compiler errors and a mistake in config.cpp.
2022-07-01 14:07:58 -04:00
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