1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-24 21:37:18 +00:00
Commit Graph

484 Commits

Author SHA1 Message Date
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
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