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
Zeno Rogue
8ba99c42a0
solv:: fixup to ilocal_perspective removal, to work in mdPerspective too
2019-09-12 22:50:10 +02:00
Zeno Rogue
90aa7b5c02
solv:: removed ILP for simplicity and better performance
2019-09-12 22:50:10 +02:00
Zeno Rogue
235fdef973
limited_generation applied in sol
2019-09-12 22:50:10 +02:00
Zeno Rogue
fa7585606d
sol:: in_table_range used only in mdSolPerspective
2019-09-12 22:50:09 +02:00
Zeno Rogue
502e307667
disabled boundary in sol
2019-09-12 22:50:09 +02:00
Zeno Rogue
c97ab10700
pushed unimplemented Product
2019-09-12 22:50:09 +02:00
Zeno Rogue
598603c937
geodesics in Sol
2019-09-12 22:50:09 +02:00
Zeno Rogue
cf496e8940
kite-and-dart tiling
2019-09-12 22:50:09 +02:00
Zeno Rogue
816320da94
sol:: solmul
2019-09-12 22:50:09 +02:00
Zeno Rogue
dd5d317cb3
Sol geometry
2019-09-12 22:50:09 +02:00
Zeno Rogue
4fb2440543
tanh used for better TwopointHybrid
2019-09-12 22:50:09 +02:00
Zeno Rogue
7baf97521c
linewidth multipliers for grid and ring
2019-09-12 22:50:09 +02:00
Zeno Rogue
ec82e5695b
extra two-point projections
2019-09-12 22:50:08 +02:00
Zeno Rogue
fc43a4716b
new pmodel: Central Inversion (for Euclidean)
2019-09-12 22:50:08 +02:00
Zeno Rogue
4a65e11c1d
camera rotation by device orientation in 3D
2019-09-12 22:50:08 +02:00
Zeno Rogue
e6efc8fabc
dual:: 3D:: dual works in 3D
2019-09-12 22:50:08 +02:00
Zeno Rogue
2c16564663
camera level higher when riding dragon
2019-09-12 22:50:08 +02:00
Zeno Rogue
91a83035da
3D:: flatten Z in the correct direction in full 3D
2019-09-12 22:50:06 +02:00
Zeno Rogue
d7d5f02a05
3D:: conformal::rotation is now used to get the initial rotation right in 3D
2019-09-12 22:50:06 +02:00
Zeno Rogue
01763d4f12
2D3D:: eye level
2019-09-12 22:50:05 +02:00