1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-05 13:46:17 +00:00
Commit Graph

410 Commits

Author SHA1 Message Date
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
Zeno Rogue
c8e0371a4c svg:: works nicely with smart_range 2018-11-11 11:27:36 +01:00
Zeno Rogue
8f3f0baabe hyperbolic spiral model 2018-11-11 11:27:35 +01:00
Zeno Rogue
c1af8f9d3a bandfixer (for normal geometries) 2018-11-11 11:27:35 +01:00
Zeno Rogue
01d6a78ceb ALWAYS_IN for boundaries 2018-11-11 11:25:59 +01:00
Zeno Rogue
f1b6cc0f48 ringcolor improvements 2018-11-11 11:25:59 +01:00
Zeno Rogue
d1d2a300c4 refactored the degree constant 2018-11-11 11:25:59 +01:00
Zeno Rogue
071e9a5cac moved draw_boundary and draw_model_elements from graph to hypgraph 2018-11-11 11:25:59 +01:00
Zeno Rogue
9cff432cee conformal formula accepts ux, uy, uz 2018-11-11 11:25:59 +01:00
Zeno Rogue
a3446e8a7b mobius transform refactored 2018-11-11 11:25:59 +01:00
Zeno Rogue
542e80081f conformal:: new models: formula and rotated hyperboles 2018-11-11 11:25:59 +01:00
Zeno Rogue
b0151eabe4 fixed smart_range==2 in Euclidean 2018-11-11 11:25:58 +01:00
Zeno Rogue
8e7abf6292 refactored gethyper 2018-11-11 11:25:58 +01:00
Zeno Rogue
1ba1b141f3 smart display range 2018-11-01 19:07:50 +01:00
Zeno Rogue
42540aa226 model transition for Joukowsky, inverted Joukowsky, and Band. 2018-10-28 03:09:07 +01:00
Zeno Rogue
804b489ebf improved hemisphere model; nicer handling of ballangle 2018-10-28 03:09:06 +01:00
Zeno Rogue
9ad39df2c0 better model rotation in non-inverted Joukowsky 2018-10-28 03:09:06 +01:00
Zeno Rogue
23b59101ae model orientation supported in Joukowsky 2018-10-28 03:09:06 +01:00
Zeno Rogue
2b79e9d0c7 fixed the orientation of the half-plane 2018-10-28 03:09:06 +01:00
Zeno Rogue
cbb53cfe68 Joukowsky transform, and better inverted Poincare 2018-10-28 03:09:06 +01:00
Zeno Rogue
8a37a43547 improved hyperboloid model 2018-10-23 20:08:57 +02:00
Zeno Rogue
a9535878c4 model orientation 2018-10-23 16:58:19 +02:00
Zeno Rogue
c8e604f408 reflect view in mirror walls during animation and just scrolling; better translate animation in memory saving mode 2018-09-24 00:00:04 +02:00
Zeno Rogue
a04eef75a9 cth to handle heptspin/cellwalker translations in a nice way 2018-08-30 16:10:49 +02:00
Zeno Rogue
829850a701 dual tilings 2018-08-30 02:11:43 +02:00
Zeno Rogue
6de0f0a8aa instead of nonbitrunc, gp::on and irr::on, there is one variable, variation 2018-08-28 17:17:34 +02:00
Zeno Rogue
1af2c04407 enum class used for PPR 2018-08-28 14:27:23 +02:00
Zeno Rogue
1b50cd6be5 a button appears when player not visible; fixed space-centering 2018-08-21 18:23:31 +02:00
Zeno Rogue
c54d4ec59d struct archimedean_tiling 2018-08-20 02:02:45 +02:00
Zeno Rogue
4d31e5a544 renamed 'syntetic' to 'archimedean' (enums/files/marcos/namespaces) 2018-08-19 23:06:32 +02:00
Zeno Rogue
e1c49a83fa fixed displayspin in syntetic 2018-08-19 16:28:36 +02:00
Zeno Rogue
d5175882f6 fixed optimizeview in Euclidean syntetic 2018-08-19 01:04:15 +02:00
Zeno Rogue
a92cc33426 removed 'stdeuclid' and using 'masterless' since it was too similar to 'stdeuc' 2018-08-18 17:35:39 +02:00
Zeno Rogue
682f804576 major rewrite: unified the common parts of heptagon and cell via struct connection<T> and struct walker<T> 2018-08-18 00:46:45 +02:00
Zeno Rogue
9faa285814 New file geometry2.cpp, with moved ggmatrix, relative_matrix, virtualRebase, and new get_corner_position family. Refactored in floorpatterns, textures, and grid to use get_corner_position family. 2018-08-17 16:47:06 +02:00
Zeno Rogue
749ad03138 syntetic tilings (WIP) 2018-08-17 13:29:00 +02:00
Zeno Rogue
c54d01b50c binary:: no spin 2018-08-14 09:16:30 +02:00
Zeno Rogue
dc1efea3e6 fixed gethyper (vid.stretch parameter applied) 2018-08-14 08:57:59 +02:00
Zeno Rogue
4f3cc3783a binary tiling 2018-08-09 19:28:53 +02:00