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