1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-15 17:54:48 +00:00
Commit Graph

2525 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
Arthur O'Dwyer
a478bb1485 Fix some minor std::function-related bugs.
Lambdas to be stored in `function<void()>` should not return `bool`.

Two uses of `std::function` could be just `function`, like everywhere
else in the codebase.
2019-02-06 18:48:53 +01:00
Zeno Rogue
26fe57ef92 mapeditor:: an option to change new canvas cells without clearing the map 2019-02-06 18:48:53 +01:00
Zeno Rogue
44c3e2eb0a mapeditor:: no more crashing on 'c'opying outside of map 2019-02-06 18:48:53 +01:00
Zeno Rogue
9c47d67b89 fixed obsolete Bomberbird Egg reveal description 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
41ee2f4a7c mapeditor saves color_formula 2019-02-06 18:48:53 +01:00
Zeno Rogue
daf9a5906a mapeditor:: save more data: multiplayer positions, rosewaves, turncount (ocean waves), mutant ivy phase 2019-02-06 18:48:53 +01:00
Zeno Rogue
34256f8d68 wobbling added to moving humanoid characters 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
35043b5528 tortoise flags are now editable with Shift+G and saved into saved levels 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
f58de16a2e fixed a crash with bitfield_editor in Shift+G 2019-02-06 18:48:52 +01:00
Zeno Rogue
52f273e3f2 static with lambdas apparently does not work in old compilers 2019-02-06 18:48:52 +01:00
Zeno Rogue
645e4fa56c shift+G screen is now editable 2019-02-06 18:48:52 +01:00
Zeno Rogue
35551f9dc9 improved welcome messages: Heptagonal Mode, (cheat mode on), Halloween only if eligible for achievement 2019-02-06 18:48:52 +01:00
Zeno Rogue
f6ce7c9039 crystal:: no more compasses in minefields 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
34d4223bed new color pattern: formula 2019-02-06 18:48:52 +01:00
Zeno Rogue
b751fa56c6 no more ambushes on compasses (matters in HG) 2019-02-06 18:48:52 +01:00
Zeno Rogue
5ec818a820 fixed confirmation required when saving from menu 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
cd2fa33bbc no more alpha on floors while editing textures 2019-02-06 18:48:52 +01:00
Zeno Rogue
ca46a511fb help for land no longer displays help for l, not specialland 2019-02-06 18:48:52 +01:00
Zeno Rogue
846032ece2 Blue Raiders now can destroy boats 2019-02-06 18:48:52 +01:00
Zeno Rogue
213cd2febf Orb of Empathy works correctly with Orb of the Fish now 2019-02-06 18:48:52 +01:00
Zeno Rogue
dabadb0cf4 Graveyard no longer compatible with Ruined City 2019-02-06 18:48:52 +01:00
Zeno Rogue
923aae9cf1 Orb of Lava is now marked 'useless' in Graveyard 2019-02-06 18:48:52 +01:00
Zeno Rogue
681fd0f1c9 crystal:: Emerald Mine now uses random floors 2019-02-06 18:48:52 +01:00
Zeno Rogue
2407efc313 Camelot unlocked in geom-exp with treasure >= 1 2019-02-06 18:48:52 +01:00
Zeno Rogue
8ac1cf8731 fixed some issues with commandline arguments (svg shots made correctly from cli) 2019-02-06 18:48:52 +01:00
Zeno Rogue
40aea82374 fixed a crash in the Ivory Tower 2019-02-06 18:48:52 +01:00
Zeno Rogue
144d5335a6 rosemap now cleared correctly when clearing map 2019-02-06 18:48:52 +01:00
Zeno Rogue
34f9033c1c better description of movement compass 2019-02-06 18:48:52 +01:00
Zeno Rogue
be1e300d8d crystal:: ignore invisible floors in rug 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
f42fba3afe you can no longer set compass size < 0 2019-02-06 18:48:52 +01:00
Zeno Rogue
c263fdb7f2 the game now uses the word 'pure' for non-bitruncated geometries 2019-02-06 18:48:52 +01:00
Zeno Rogue
70cd47e3a1 cli option -wsh works better now 2019-02-06 18:48:52 +01:00
Zeno Rogue
346e99385e fixed the -wsh option 2019-02-06 18:48:52 +01:00
Zeno Rogue
c3087ad540 added new -wsh: '^' which draws no borders between full floors 2019-02-06 18:48:52 +01:00
Zeno Rogue
29cf07920c no more crashes in some animations 2019-02-06 18:48:52 +01:00
Zeno Rogue
dde8b900d7 improved the hide_hud feature 2019-02-06 18:48:52 +01:00
Zeno Rogue
ee7a9722a9 fix an undefined behavior (crash on OSX after separate-area scenes in tutorial) 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
9de7aa27c5 parser:: extra functions: to01 and ifp 2019-02-06 18:48:52 +01:00
Zeno Rogue
9f88c6b81c graphical display of the paths for Orb of Air 2019-02-06 18:48:52 +01:00
Zeno Rogue
8c5b62e309 octagon geometry 2019-02-06 18:48:52 +01:00
Zeno Rogue
ac0430d350 crystal:: fixed crystal sides in crystal unittest 2019-02-06 18:48:52 +01:00