1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-16 02:04:48 +00:00
Commit Graph

526 Commits

Author SHA1 Message Date
Arthur O'Dwyer
87240cf990 Replace std::function with hyper_function for a 37% speedup in compile time.
Before:

    time c++ -O2 -DMAC -I/usr/local/include -std=c++11 -march=native
             -W -Wall -Wextra -Werror -pedantic -Wno-format-pedantic
             -Wno-missing-field-initializers -Wno-unused-parameter
             -DCAP_GLEW=0 -DCAP_PNG=0    -c hyper.cpp -o hyper.o

    real 2m22.508s
    user 2m20.625s
    sys  0m1.648s

After:

    time c++ -O2 -DMAC -I/usr/local/include -std=c++11 -march=native
             -W -Wall -Wextra -Werror -pedantic -Wno-format-pedantic
             -Wno-missing-field-initializers -Wno-unused-parameter
             -DCAP_GLEW=0 -DCAP_PNG=0    -c hyper.cpp -o hyper.o

    real 1m30.515s
    user 1m29.793s
    sys  0m0.689s

Comparing object file size:

    -rw-r--r--  1 ajo  staff  8215036 Jan  5 20:46 old-hyper.o
    -rw-r--r--  1 ajo  staff  7538072 Jan  5 20:47 new-hyper.o

Comparing number of symbols:

    nm old-hyper.o | wc -l  => 12590
    nm new-hyper.o | wc -l  =>  9742

No appreciable difference in link time; the linker takes less than
half a second in either case.
2019-02-06 18:48:53 +01:00
Zeno Rogue
94ce1eb541 fixed_facing option, not only in racing 2019-02-06 18:48:53 +01:00
Zeno Rogue
92d98847fb fixed the issue with Orb of Aether being marked as used due to Minefield uncovering 2019-02-06 18:48:53 +01:00
Zeno Rogue
730e7b5b99 number editor now accepts hex numbers, and uses hex as default when editing Tortoises 2019-02-06 18:48:53 +01:00
Zeno Rogue
78adac4e10 an option to disable wandering monsters; settings (reptilecheat, autocheat, safety etc) configurable in map editor; save items/kills and some other settings 2019-02-06 18:48:53 +01:00
Zeno Rogue
645e4fa56c shift+G screen is now editable 2019-02-06 18:48:52 +01:00
Zeno Rogue
7a589090d3 texture:: texture ghosts are now shown correctly 2019-02-06 18:48:52 +01:00
Zeno Rogue
9ccf82d9dc texture:: 'paint textures' in main menu now starts Canvas automatically 2019-02-06 18:48:52 +01:00
Zeno Rogue
d3a3d4df5e crystal:: coordinate computation is exported now 2019-02-06 18:48:52 +01:00
Zeno Rogue
c2dc4c8708 PHASE no longer needs using namespace arg 2019-02-06 18:48:52 +01:00
Zeno Rogue
74693f43e7 fixed crashes on the sphere 2019-02-06 18:48:52 +01:00
Zeno Rogue
3317e95bfb cellcount counted correctly 2019-02-06 18:48:52 +01:00
Zeno Rogue
b0b783b581 tailored_delete used for deleting cells and heptagons, so that there is no delete/delete[] mismatch 2019-02-06 18:48:52 +01:00
Zeno Rogue
e52f6a9bcb cleaned up geometry achievements, and added Crystal Camelot 2019-02-06 18:48:35 +01:00
Zeno Rogue
39ce061fa7 use_atan configurable for RotatedHyperboles 2019-02-06 16:39:08 +01:00
Zeno Rogue
b90e3a4ed2 improved reptilecheat 2019-02-06 16:37:35 +01:00
Zeno Rogue
3d76e90584 conical spirals and bands 2019-02-06 16:36:52 +01:00
Zeno Rogue
e2b262979b startgame animations 2019-02-06 16:36:52 +01:00
Zeno Rogue
cd001102f8 fixed bug in write_chars 2018-12-15 15:16:11 +01:00
Zeno Rogue
a18570f77a 10.4d 2018-12-14 19:30:54 +01:00
Zeno Rogue
db69276264 geometry specifics in mode code 2018-12-14 19:30:54 +01:00
Zeno Rogue
8a677c28fa inlines 2018-12-14 19:30:54 +01:00
Zeno Rogue
5d01ac0732 text improvements, PL/CZ translation update 2018-12-14 19:30:54 +01:00
Zeno Rogue
f22ec08f86 Warnings when hitting an ally. Better warnings 2018-12-14 19:30:54 +01:00
Zeno Rogue
4370a18763 added background to svg if transparent not set 2018-12-14 19:30:54 +01:00
Zeno Rogue
8ba603fba3 svg:: circles now have better linewidth 2018-12-14 19:30:22 +01:00
Zeno Rogue
473cd89d76 print walkers 2018-12-14 19:30:22 +01:00
Zeno Rogue
8d1e341555 web:: 'take screenshot' feature now creates a SVG file and opens it in a new window 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
f135ad54a7 fixed save format incompatibility in map editor 2018-12-14 19:27:12 +01:00
Zeno Rogue
86c9f84df8 now compiles in C++11 2018-12-14 19:27:12 +01:00
Zeno Rogue
ebfd17f6a1 10.5b 2018-12-14 19:27:12 +01:00
Zeno Rogue
b256ac70af improved key handling: numpad works as directions with numlock off and numbers with numlock on; shift+5 works now; better key assignments in crystal rug 2018-12-14 19:27:12 +01:00
Zeno Rogue
9b21b9c5a0 improved key handling: shift+5 works now, and better key assignments in crystal rug 2018-12-14 19:27:12 +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
0d558cb0e1 build_shortest_path function 2018-12-14 19:27:12 +01:00
Zeno Rogue
5221ac07a3 crystal:: celldist(ance) gives precise distance, heptdistance gives imprecise one 2018-12-14 19:27:12 +01:00
Zeno Rogue
05df60ae70 more lands implemented for cylinders 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
18d5f8299b crystal:: more settings in config/params/CLI 2018-12-14 19:27:12 +01:00
Zeno Rogue
3e747a2d9d compass probability now can be changed from menu/commandline 2018-12-14 19:27:12 +01:00
Zeno Rogue
46256155d7 crystal:: compass generation 2018-12-14 19:27:12 +01:00
Zeno Rogue
79e396c742 crystal:: computing Round Table sizes (not tested) 2018-12-14 19:27:12 +01:00
Zeno Rogue
c4fae9dfef correct get_coord in Goldberg 2018-12-14 19:27:11 +01:00
Zeno Rogue
92eaf96930 crystal:: 3D mode works from the Rug menu, and linked to from its menu 2018-12-14 19:27:11 +01:00
Zeno Rogue
bc90d0a51a crystal:: now selectable from the geom exp menu 2018-12-14 19:27:11 +01:00
Zeno Rogue
d506c73571 crystal:: animates correctly 2018-12-14 19:27:11 +01:00
Zeno Rogue
50f37a6b63 crystal:: started working on lands (Camelot done) and distances 2018-12-14 19:27:11 +01:00
Zeno Rogue
000f271552 refactored buildCamelot as a separate function 2018-12-14 19:27:11 +01:00
Zeno Rogue
3182600a58 3D display of Crystal 2018-12-14 19:27:11 +01:00
Zeno Rogue
851e217a73 crystal:: automatically bitruncate with crystal's implementation 2018-12-14 19:27:11 +01:00
Zeno Rogue
fd3b030119 crystal:: added multi-dimensional geometries (referred to as crystal), available via CLI for now 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
4bac862e53 improved the indentation in hstream 2018-12-11 22:10:53 +01:00
Zeno Rogue
c1aac5e664 a38 now actually checks that S3 == 3 2018-12-11 22:10:53 +01:00
Zeno Rogue
9b4a53783c removed MAX_S84 and some no longer used stuff using it 2018-12-11 22:10:53 +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
8866bc889d string editor now may restrict the available keys 2018-11-24 22:55:07 +01:00
Zeno Rogue
2fa265ac10 implemented a better system for logging and binary output 2018-11-24 21:23:02 +01:00
Zeno Rogue
64da329f8e added new quotient spaces: Bring's, Schmutz's M(2), Schmutz's M(3) 2018-11-23 23:46:26 +01:00
Zeno Rogue
b4671e4d50 standard draw algorithm no longer recursive; prettier gp::drawrec 2018-11-23 23:45:16 +01:00
Zeno Rogue
98a5fdb556 10.5a 2018-11-20 19:01:35 +01:00
Zeno Rogue
5e0bd401fc tiny bird and tiny shark shapes, for use in RogueViz 2018-11-20 00:20:11 +01:00
Zeno Rogue
248863ef08 10.5 2018-11-19 22:22:26 +01:00
Zeno Rogue
e25bc8e455 glhr:: shaderside projection for the half-plane model 2018-11-19 20:53:35 +01:00
Zeno Rogue
34cb90f97c fixed some exports 2018-11-18 18:26:56 +01:00
Zeno Rogue
50a86d1e88 glhr:: shader-side band now ignores depth 2018-11-18 18:26:56 +01:00
Zeno Rogue
8e2727882e shmup:: rewritten shmup configuration in OOP style 2018-11-18 18:26:56 +01:00
Zeno Rogue
eec70d7265 fixed subscreen computations 2018-11-18 18:26:56 +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
680dca90c8 shaderside projection 2018-11-18 18:26:55 +01:00
Zeno Rogue
5fe87e140f 10.4z 2018-11-11 12:55:36 +01:00
Zeno Rogue
7b4028418e arg:: most important dialogs can be launched from command line 2018-11-11 11:27:36 +01:00
Zeno Rogue
1d0b5878fc left-handed player characters 2018-11-11 11:27:36 +01:00
Zeno Rogue
048bd4ab36 cl parameters and param entries for spiralx and spiraly 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
4ce6005597 a/b parameters, and parameters referring to each other 2018-11-11 11:27:36 +01:00
Zeno Rogue
d69e952729 animate parameters from the edit dialog 2018-11-11 11:27:36 +01:00
Zeno Rogue
549d86b15d arg:: shift_arg_formula used instead of argf 2018-11-11 11:27:36 +01:00
Zeno Rogue
c1af8f9d3a bandfixer (for normal geometries) 2018-11-11 11:27:35 +01:00
Zeno Rogue
41445f00ca model listing 2018-11-11 11:27:35 +01:00
Zeno Rogue
be51445b77 linepatterns:: width configurable 2018-11-11 11:27:35 +01:00
Zeno Rogue
dbba704d1c linepatterns:: added circles, radii, meridians, parallels 2018-11-11 11:27:35 +01:00
Zeno Rogue
c3c465f742 customizable colors for game objects 2018-11-11 11:27:29 +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
5978830e01 filled model drawing (for some models) 2018-11-11 11:25:59 +01:00
Zeno Rogue
b019cfcd4f refactored colortables 2018-11-11 11:25:59 +01:00
Zeno Rogue
d1f6b1fff3 help for formula parser 2018-11-11 11:25:59 +01:00
Zeno Rogue
077c7657b8 rogueviz:: a plugin to draw fundamental domains 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
55fdd25a6c formula parser now understands complex numbers, and some extra functions including let(x=2, x*x) 2018-11-11 11:25:58 +01:00
Zeno Rogue
7e80be5a87 dialog:: abstracted string editing 2018-11-11 11:25:58 +01:00
Zeno Rogue
ade8bda5f9 fixed smart_range in Archimedean and binary tilings 2018-11-11 11:25:58 +01:00
Zeno Rogue
8e7abf6292 refactored gethyper 2018-11-11 11:25:58 +01:00
Zeno Rogue
69fb2c712f 10.4y 2018-11-11 11:25:58 +01:00
Zeno Rogue
c4e11f960a added menuitem_sightrange to hyper.h 2018-11-01 20:55:18 +01:00