Commit Graph

10880 Commits (44fc289b796e983270d7b07ac0d98e238ff5ab86)
 

Author SHA1 Message Date
Pauli 8484b5dc8a Add parameter type checks to printf style functions
gcc supports type checks for printf parameters which can catch some hard
to reproduce bugs. Possible bugs happen when the parameter value is
intepreted differently to the variable value.

Example warnings follow
../library/LuaWrapper.cpp:1011:86: warning: format ‘%llu’ expects argument
    of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t
    {aka long unsigned int}’ [-Wformat=]
../plugins/follow.cpp:159:35: warning: format not a string literal and no
    format arguments [-Wformat-security]
2018-06-11 19:27:35 +03:00
Pauli 750b0d766d Ask for c++11 because gcc 4.8 is still supported 2018-06-11 00:15:57 +03:00
Pauli 01abcb756e Request c++14 support from compilers
All platforms seems to either have compiler supporting c++14. Windows
already requires msvc2015 that supports c++14 which should make it
minimal issue to require c++14 support from all compilers because gcc
is pretty easy to upgrade.
2018-06-10 23:15:33 +03:00
Pauli 82e7b8300a Make stl_vsprintf return if there is an vsnprintf error
vsnprintf man page claims:
"If an output error is encountered, a negative value is returned."

That means we has to call vsnprintf twice at most to have whole output
written to a string. But in case of error we return an empty string.

The code also optimizes an expected common case of outputting single
line with a small stack allocated buffer. If the stack buffer is too
small then it uses std::string::resize to allocate exactly enough memory
and writes directly to std::string.

Second call could use vsprintf because memory is known to be large
enough. But I think that difference isn't detectable outside micro
benchmarks.
2018-06-10 16:23:31 +03:00
Quietust 8717144f14 Fix revflood bug, was revealing some tiles from below inappropriately
When scanning floor tiles from below, don't just leave them hidden, but
skip checking neighbors as well
2018-06-09 14:19:52 -06:00
Pauli ed2b2e1f26 YCM fallback defaults if database lookup fails
YCM flag function returning None result an error from YCM python code
everytime a file is opened. The None return can happen if database
lookup fails for any reason. To let YCM have resonable flags without
database entry the .ycm_extra_conf.py can include default fallback
flags.
2018-06-09 13:15:07 +03:00
lethosor 69cf5756c3 Update changelog (#1284, #1274) 2018-06-08 22:27:48 -04:00
lethosor 7e57450e78 Change buildingplan quality adjustment keys per #1284 comment, for consistency 2018-06-08 22:25:56 -04:00
lethosor c4692b1c8d Merge remote-tracking branch 'TotallyGatsby/buildingplanmax' into develop 2018-06-08 22:07:54 -04:00
lethosor 82aaba5c34 Update changelog (#1281) 2018-06-08 22:06:20 -04:00
lethosor fe458d3ac1 Merge remote-tracking branch 'grubsteak/patch-2' into develop 2018-06-08 22:05:20 -04:00
lethosor 753ce6479e Add suokko to Authors.rst
Ref #1296
2018-06-08 22:01:52 -04:00
lethosor 1fe6c3b880 Merge remote-tracking branch 'suokko/profiler' into develop
Closes #1296
2018-06-08 22:01:21 -04:00
PatrikLundell 0ec3df6022 dead/killed flags 2018-06-08 11:09:11 +02:00
PatrikLundell 654f798b83 dead/killed flags 2018-06-08 11:08:35 +02:00
Pauli 5512871fe6 Add profiler to license file 2018-06-06 20:19:27 +03:00
Pauli 86b0fb3b92 Add lua profiler module documentation 2018-06-06 19:19:10 +03:00
Pauli e3df5cd765 Port profiler to lua 5.3 and dfhack
Changes include
* table.getn(obj) -> #obj
* Making sure string.rep gets an integer parameter
* Optimized profiling hooks (call profiler cost from factor 40 to 10)
* Specialized parameter name lookup code for c++ __index metamod calls
* Collect source lines in time sampling variant
* Simplified prevent to always filter all children
2018-06-06 19:18:18 +03:00
Daniel Silverstone 96ba5116f7 Add lua Pepperfish Profiler code
Pepperfish Profiler can produce time sampled profiles and call entry
exit profiles. Code is verbatim copy from the lua wiki [1]. This commit
won't work alone but it exists to give author credit correctly to
Daniel.

[1] http://lua-users.org/wiki/PepperfishProfiler

Authors:
Daniel Silverstone <dsilvers@pepperfish.net>
Tom Spilman <tom@sickheadgames.com>
Ben Wilhelm <zorba-pepperfish@pavlovian.net>
2018-06-06 17:27:40 +03:00
lethosor 03968db344 Fix GCC warnings in 'tweak kitchen-prefs-all' and dev plugins 2018-06-01 10:02:38 -04:00
lethosor 02b7f2145f Update changelog
Ref #1280, #1282, #1283
2018-06-01 00:23:58 -04:00
lethosor 7a04fefb0b Remove Vermin module (unused and obsolete) 2018-06-01 00:22:10 -04:00
lethosor 877bc4c14b Merge remote-tracking branch 'lethosor/qerror-script-name' into develop 2018-06-01 00:09:34 -04:00
lethosor 69d1f7e7fc Merge remote-tracking branch 'db48x/make-dfhack-g-work' into develop 2018-06-01 00:05:03 -04:00
lethosor 0dba4d3f58 Add caravan to changelog 2018-05-31 12:38:35 -04:00
lethosor 11a2036721 Update scripts and corresponding changelog entries 2018-05-29 23:29:16 -04:00
lethosor f57327e7c8 Fix periodic events in several plugins
Also stop running buildingplan/fortplan while loading a world, and stop running
autogems while paused

Fixes #1286
2018-05-29 23:24:02 -04:00
lethosor cf4b790608 Update changelog (#1108, #1289) 2018-05-29 22:18:57 -04:00
lethosor 943014490b Merge remote-tracking branch 'pronvit/mousequery' into develop 2018-05-29 22:16:43 -04:00
Vitaly Pronkin 06b9dc0c1c remove trailing spaces 2018-05-25 12:43:30 +12:00
Vitaly Pronkin a44f5b57cb don't need this 2018-05-25 01:34:57 +12:00
Vitaly Pronkin 0217916568 mousequery plugin with TWBT modifications 2018-05-25 01:07:12 +12:00
Vitaly Pronkin c2964e72e8
Merge pull request #1 from DFHack/develop
Develop
2018-05-25 01:05:50 +12:00
lethosor e206a6d88b mousequery: leave menus safely, without looping
Fixes #1285
2018-05-22 16:37:44 -04:00
lethosor 5f81cac3b7 dwarfmonitor.lua: use dmerror() consistently 2018-05-21 21:23:52 -04:00
Phillip Spiess 3e54a136fd Use two keys for min/max 2018-05-20 20:50:42 -07:00
Phillip Spiess 385ac3f9f5 Add 'Max Quality' setting to buildingplan 2018-05-20 14:36:50 -07:00
lethosor eb199d97b5 Prepend script name to qerror messages, if applicable
Resolves #1282
2018-05-20 09:30:46 -04:00
grubsteak 7e3c8c9965
added fast keys for workshop gui overlay 2018-05-19 20:25:24 -05:00
Daniel Brooks 9e935f67f8 makes dfhack -g work correctly
First, simplifies the quoting of the environment variables. Then sets
startup-with-shell to off so that gdb does not start bash first; if it
starts bash ld will see the LD_PRELOAD and try to load libdfhack.so
into the bash process, which is not what we want.

We could instead use an exec-wrapper, but that would be a slightly
larger change and we don't need any of the convenience features that
using a shell gives us (argument expansion and redirects, basically).
2018-05-19 03:02:44 -07:00
lethosor 8cb5e7fa88 Bump version to 0.44.10-r1 2018-05-18 15:08:05 -04:00
lethosor 0f3244336b Fix "gen_changelog.py -a" with empty future section 2018-05-18 14:52:25 -04:00
lethosor 6047ddedd3 removed structure updates from wrong changelog (not part of 0.44.10-beta1) 2018-05-18 14:35:28 -04:00
lethosor badc0e3a3d Update changelog, submodules for r1 2018-05-18 14:30:09 -04:00
Lethosor 9ca79d050d
Merge pull request #1259 from AtomicChicken/syndrome-util-updates
syndrome-util: added function to remove syndrome wound data
2018-05-18 14:10:14 -04:00
lethosor 8c8585d4ee Update changelog/authors (#1278) 2018-05-18 00:50:23 -04:00
lethosor e44bca0fb4 Merge remote-tracking branch 'grubsteak/patch-1' into develop 2018-05-18 00:48:04 -04:00
grubsteak fe0049db8c
enable lua api construction functions
it seems this has been left out on accident?
2018-05-17 23:29:10 -05:00
lethosor 50a863a48e Fix Kitchen.h include (case-sensitive) 2018-05-17 20:11:46 -04:00
lethosor b551e70ffa prospector: Avoid crashing due to invalid vein materials
Fixes #1276, ref #1277
2018-05-17 19:56:48 -04:00