1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-15 01:34:49 +00:00
Commit Graph

448 Commits

Author SHA1 Message Date
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
Zeno Rogue
e81912c11e shmup/centerpc:: some sanity checks to prevent the PC from disappearing 2019-09-12 22:50:04 +02:00
Zeno Rogue
c9655a29a5 diagnostic functions raise_error and invalid_matrix 2019-09-12 22:50:04 +02:00
Zeno Rogue
1c6e6bafb4 moved the parameters from geom3:: to videopar 2019-09-12 22:50:04 +02:00
Zeno Rogue
8295251cdc multigame support, including dualmode 2019-09-12 22:50:03 +02:00
Zeno Rogue
b6e303ec7d MAJOR refactoring: all geometry-dependent data (tessf, geom3::, shapes, hpc) are now contained in a structure 2019-09-12 22:50:03 +02:00
Zeno Rogue
ae100b1e72 removed some obsolete debug printfs 2019-09-12 22:50:02 +02:00
Zeno Rogue
cfbb87ef91 2D3D:: in smart mode close cells are drawn (so that they appear on the radar) 2019-09-12 22:50:02 +02:00
Zeno Rogue
969cc76f6d fixed some issues with 'cells_generated_limit' 2019-09-12 22:50:01 +02:00
Zeno Rogue
6e92cba9fe 2D3D:: fixed a crash in Euclidean+Archimedean+2.5D 2019-09-12 22:50:00 +02:00
Zeno Rogue
79de14b649 fixed problems with Euclidean [move before] 2019-09-12 22:50:00 +02:00
Zeno Rogue
d2c20fee22 redone spinEdge so that fixed_yz works in gravity lands 2019-09-12 22:50:00 +02:00
Zeno Rogue
df3e21b310 debug cleanup 2019-09-12 22:50:00 +02:00
Zeno Rogue
9a21401b9c item/monster icons in 3d 2019-09-12 22:49:56 +02:00
Zeno Rogue
d994c92ab6 fixed centering in racing 2019-09-12 22:49:53 +02:00
Zeno Rogue
44194bd354 centering/TPP/camera cleanup 2019-09-12 22:49:50 +02:00
Zeno Rogue
d3f10e8e30 2d3d:: in_smart_range uses vid.smart_range_detail, not vid.smart_range_detail3 which is less applicable 2019-09-12 22:49:48 +02:00
Zeno Rogue
8388a448e7 3d:: an option to limit cell generation 2019-09-12 22:49:45 +02:00
Zeno Rogue
d07e6eb386 2d3d:: missing guards 2019-09-12 22:43:02 +02:00
Zeno Rogue
13f3f49db9 2d3d:: fixed the placement of monsters (including PC view) on rock levels etc. 2019-09-12 22:43:02 +02:00
Zeno Rogue
360f95ce43 2d3d:: adjusted shmup to reversed Z 2019-09-12 22:43:01 +02:00
Zeno Rogue
f652e6139c 2D3D:: fixed Y/Z orientation 2019-09-12 22:43:01 +02:00
Zeno Rogue
9c1efae2f6 2d3d:: mouse reading 2019-09-12 22:43:01 +02:00
Zeno Rogue
db51c896ae 2d3d:: shmup 2019-09-12 22:43:01 +02:00
Zeno Rogue
1c4d86e0e9 3D graphics in 2D (first commit) 2019-09-12 22:43:01 +02:00
Zeno Rogue
c8e950cd40 added some missing CAP_ and MAXMDIM guards 2019-09-12 22:43:01 +02:00
Zeno Rogue
89a900958b 3d:: sloppy range checking option 2019-09-12 22:43:00 +02:00
Zeno Rogue
aefea03ce1 3d:: corner_bonus 2019-09-12 22:43:00 +02:00
Zeno Rogue
4a5c9fe5cf disabled scrolling in Haunted Woods 2019-09-12 22:43:00 +02:00
Zeno Rogue
c98f58a672 removed eurad as it was the same as crossf 2019-09-12 22:43:00 +02:00
Zeno Rogue
5895540ae9 removed mdText as it was equivalent to mdUnchanged 2019-09-12 22:43:00 +02:00
Zeno Rogue
2710694df7 unused applyspin function removed 2019-09-12 22:43:00 +02:00
Zeno Rogue
c19ffb3597 fixes to projection streamlining 2019-09-12 22:43:00 +02:00
Zeno Rogue
c20a0cb59e 3d:: wallradar 2019-09-12 22:43:00 +02:00
Zeno Rogue
3c9e4db46e major cleanup of projection setting 2019-09-12 22:43:00 +02:00
Zeno Rogue
1cc26a7337 twisting fix 2019-09-12 22:42:59 +02:00
Zeno Rogue
c0145c0d9c 3d:: Euclidean tori 2019-09-12 22:42:59 +02:00
Zeno Rogue
a08cf0c8fd no more model boundaries in 3D 2019-09-12 22:42:58 +02:00
Zeno Rogue
6b91dc2d7d 3d:: fixed invis_point and behindsphere 2019-09-12 22:42:58 +02:00
Zeno Rogue
fd5dfd6b39 spiral projection generalized 2019-09-12 22:42:58 +02:00
Zeno Rogue
4284831069 more options in line animation 2019-09-12 22:42:58 +02:00
Zeno Rogue
bca98e9247 more stable PC centering 2019-09-12 22:42:58 +02:00
Zeno Rogue
2b61413a81 azimuthal equivolume projection 2019-09-12 22:42:58 +02:00
Zeno Rogue
a3cea92004 fixed fisheye in 3D 2019-09-12 22:38:47 +02:00
Zeno Rogue
ab7a322e5e 3d:: smart display for 3D 2019-09-12 22:38:47 +02:00
Zeno Rogue
c505bd55a8 3d:: fixed halfplane_scale not in GL 2019-09-12 22:38:47 +02:00
Zeno Rogue
01a2f0cc5a 3d:: change model orientation in the YZ plane 2019-09-12 22:38:47 +02:00
Zeno Rogue
46ae64e945 3d:: native perspective is now pmodel == mdPerspective, and other models work too 2019-09-12 22:38:47 +02:00
Zeno Rogue
d369decc94 3d:: field quotient spaces for reg3 2019-09-12 22:38:46 +02:00
Zeno Rogue
943a8395e5 3d:: 3d is affected by cells_drawn_limit; improved the sightrange edit dialog with more options and better help 2019-09-12 22:38:45 +02:00
Zeno Rogue
d9b90d8a8e 3D:: two-player uses split screen 2019-09-12 22:38:45 +02:00
Zeno Rogue
6d72bd820b 3d:: extra_generation_distance (todo: make it configurable from menus) 2019-09-12 22:38:45 +02:00
Zeno Rogue
78d88b5909 improved in the OO fashion: draw, relative_matrix, create_step, and several minor functions are now virtual in hrmap 2019-09-12 22:38:44 +02:00
Zeno Rogue
52ce5ac9aa 3d:: all the regular honeycombs 2019-09-12 22:38:43 +02:00
?
dd57f2733a 3d:: applymodel now works correctly (to find onscreen coordinates) 2019-09-12 22:38:42 +02:00
?
41c3bd9b58 racing:: added missing CAP_RACING guard 2019-09-12 22:38:42 +02:00
?
54f278963c renamed MAXDIM to MAXMDIM (conflict with crystal) 2019-09-12 22:38:42 +02:00
?
041c7af987 3d:: *_d functions now consistently put d as the first argument 2019-09-12 22:38:42 +02:00
?
a1ca5b2995 fixed centerpc in Euclidean with yshift 2019-09-12 22:38:42 +02:00
?
35a4330412 3d:: 1/2/3 perspectives in noshmup 2019-09-12 22:38:42 +02:00
?
0d795e60bf 3d::racing:: 3d racing (partial) 2019-09-12 22:38:42 +02:00
?
168b3fb11d 3D:: smooth TPP; display player or not correctly 2019-09-12 22:38:42 +02:00
?
5c2cb1de76 fixed centerpc to use zero_d(H, DIM) instead of zero_d(H, 2) 2019-09-12 22:38:42 +02:00
?
85cb1bbb11 3D:: no more autocentering if vid.sspeed <= -5 2019-09-12 22:38:41 +02:00
?
051055922b 3d:: fixed a bug in centerpc 2019-09-12 22:38:40 +02:00
?
fb71d4fd15 3D:: sightranges are now configurable 2019-09-12 22:38:40 +02:00
?
6c2c899d2a 3D:: actualV returns V 2019-09-12 22:38:40 +02:00
?
bba0e5138e 3d:: shmup mode now works as a fps 2019-09-12 22:38:40 +02:00
?
f743a46010 3d:: fixed optimizeview in sphere3 2019-09-12 22:38:40 +02:00
?
33d4854c14 3D:: 120-cell 2019-09-12 22:38:40 +02:00
?
1fcf58e17a 3D:: shader variants for R3 and S3 2019-09-12 22:38:40 +02:00
?
c7cb93f2ed moved all the Euclidean maps to euclid.cpp 2019-09-12 22:38:40 +02:00
?
7110be2032 3D:: cube tiling 2019-09-12 22:38:40 +02:00
?
e8fa30de4c btrange_cosh checked in do_draw 2019-09-12 22:38:40 +02:00
?
56d628d4d8 adjusting for 3D part II 2019-09-12 22:38:39 +02:00
?
e73d2f2f22 some work on 3D view 2019-09-12 22:38:39 +02:00
?
a3eb161235 added CAP_SHAPES: poly system works, but no shapes are used 2019-09-12 22:38:39 +02:00
?
dd0f573ca9 hyperpoint adjusted for 3D geometry 2019-09-12 22:38:39 +02:00
?
e39777f04d CAP_ animations etc. cleanup 2019-09-12 22:38:39 +02:00
?
99aa7e420b CAP_POLY part 1 2019-09-12 22:38:39 +02:00
?
b25730d5c9 geometry flags part 1 2019-09-12 22:38:39 +02:00
Zeno Rogue
8756b8e27a racing::standard_centering 2019-09-12 22:38:39 +02:00
Zeno Rogue
16a5e45c0a racing:: first commit 2019-04-29 17:19:05 +02:00
Zeno Rogue
075ab6f1e8 allowChangeRange() used where it should 2019-02-09 12:49:53 +01:00
Zeno Rogue
8a18dd3c1c formula works in spherical geometry 2019-02-08 16:51:50 +01:00
Zeno Rogue
8426007577 fixed incorrect mouse interpretation in models 2019-02-06 22:42:11 +01:00
Zeno Rogue
94ce1eb541 fixed_facing option, not only in racing 2019-02-06 18:48:53 +01:00
Zeno Rogue
459619ff35 X sign in rotated hyperboles 2019-02-06 16:39:08 +01:00
Zeno Rogue
39ce061fa7 use_atan configurable for RotatedHyperboles 2019-02-06 16:39:08 +01:00
Zeno Rogue
3d76e90584 conical spirals and bands 2019-02-06 16:36:52 +01:00
Zeno Rogue
4e4fce922e added some missing CAP_ guards 2018-12-15 15:17:06 +01:00
Zeno Rogue
8ba603fba3 svg:: circles now have better linewidth 2018-12-14 19:30:22 +01:00
Zeno Rogue
5701491cb0 fixed drawn_cells reserve 2018-12-14 19:30:22 +01:00
Zeno Rogue
c73b598d93 screenshots are more configurable now 2018-12-14 19:30:17 +01:00
Zeno Rogue
d8bf550d37 surface 3D graphics are now automatically disabled in rug (won't work correctly with quotient rugs anyway) and in pmodels which do not support it 2018-12-14 19:27:12 +01:00
Zeno Rogue
285211bcf3 invalid_point functions, and using them in smart_range and queuestr/chr 2018-12-14 19:27:12 +01:00
Zeno Rogue
aa1b102b78 crystal::rug:: correct centering 2018-12-14 19:27:12 +01:00
Zeno Rogue
036abd2091 fixed in_smart_range adjusting to the screen resolution rather than the current texture 2018-12-14 19:27:11 +01:00
Zeno Rogue
c6aa79b0dd fixed an iterator invalidation bug in drawStandard 2018-12-14 19:27:11 +01:00
Zeno Rogue
cd357303b9 cleaned up surface flags 2018-12-14 19:27:11 +01:00
Zeno Rogue
f2ee616eab all Mobius bands implemented 2018-12-11 22:10:53 +01:00
Zeno Rogue
460eb19881 implemented new geometries: cylinder and (only one for now) Mobius band 2018-12-11 22:10:53 +01:00
Zeno Rogue
b4671e4d50 standard draw algorithm no longer recursive; prettier gp::drawrec 2018-11-23 23:45:16 +01:00
Zeno Rogue
aba6506124 fixed drawing Goldberg geometries. 2018-11-19 20:53:35 +01:00
Zeno Rogue
d935febf09 refactored some global and stereo:: variables into display_data structure 2018-11-18 18:26:56 +01:00
Zeno Rogue
9d864d7d68 spiral boundary always drawn 2018-11-11 12:55:11 +01:00
Zeno Rogue
a00e405681 fixed boundary drawing with camera_angle 2018-11-11 12:55:11 +01:00
Zeno Rogue
9ca5fafa9b do not draw boundary in band transition 2018-11-11 11:27:36 +01:00
Zeno Rogue
0e9c70b8d5 implemented draw_boundary for remaining models 2018-11-11 11:27:36 +01:00
Zeno Rogue
18272634cd better quality of spiral boundary 2018-11-11 11:27:36 +01:00
Zeno Rogue
68c8012d91 implemented drawBoundary for spiral 2018-11-11 11:27:36 +01:00
Zeno Rogue
90468c0daf Euclidean spiral 2018-11-11 11:27:36 +01:00
Zeno Rogue
355409bebe fixed Euclidean 2018-11-11 11:27:36 +01:00
Zeno Rogue
44c1b43b1c refactored do_draw(cell*, const transmatrix&) 2018-11-11 11:27:36 +01:00
Zeno Rogue
ec0dae48c1 in_qrange now based on smartrange 2018-11-11 11:27:36 +01:00
Zeno Rogue
6c8661b484 better algorithm for drawing Euclidean projections 2018-11-11 11:27:36 +01:00