Pauli
ed23d2c4e2
Change gui.widgets.List:setChoices to keep state in internal table
...
Fixes #1171
2018-06-20 17:23:57 +03:00
Pauli
9c59b7ff48
Fix unlikely memory leaks if Screen::show fails
...
The Screen::show takes ownership of the screen pointer. I decided to
switch the parameter to std::unique_ptr to make the pointer ownership
explicit. The unique_ptr then provides automatic screen destruction in
Screen::show unless pointer is inserted or is already in the linked list
that is managed by df.
2018-06-19 16:41:31 +03:00
Pauli
87e7c0f7aa
Add cmake configuration to select if stubs include symbols
...
G++ generates structure debug symbols for a few df namespace classes to
generated stub source files. I decided to test how much symbols from
those files would increase binary size. When the result was about double
size I decided to add cmake configuration option to let user easily
select if they prefer complete symbols or reduced size.
2018-06-19 16:16:38 +03:00
Pauli
bcf9387ce9
Only remove jobs that were created from a designation
2018-06-18 19:57:00 +03:00
Pauli
1b5ec7ce69
Update jobs when committing MapCache changes
...
The map_block->designation.{dig,smooth} are reset to zeros when a job
posting is created for the designation. The job is then used to override
the designation state in the map_block. To make the new designation set
propogate to jobs the job structure would require updating. The update
would be possible a complex operation. The simple alternative is to
remove the job and let df create a new job in the next tick.
Fixes #1229
2018-06-18 16:34:09 +03:00
Pauli
6a151353e3
Use automatic return type for index_tile
2018-06-18 16:23:57 +03:00
Pauli
0bc2b3ab1b
Update toSimpleString to use a the new builder API
2018-06-14 21:20:54 +03:00
Pauli
2b79b4cce7
Use jsoncpp 1.8.4 as a submodule
...
This makes jsoncpp a submodule that can be build directly from git
sources. This changes depends/jsoncpp to depends/jsoncpp-sub to avoid
filename conflict if someone tries to use git bisect.
jsoncpp library name changes to jsoncpp_lib_static.
jsoncpp version is the latest tagged release.
2018-06-14 21:20:46 +03:00
lethosor
aac892c560
Adapted to changed Units functions
...
Squashed version of #1307
Closes #1307
2018-06-14 10:30:35 -04:00
Pauli
4cfdd7d92e
Check if second vsnprintf does something unexpected
2018-06-13 23:33:13 +03:00
lethosor
10e6016989
Merge branch 'units_dead' into develop
...
Closes #1297
2018-06-13 15:38:35 -04:00
PatrikLundell
51584c2d9e
Corrected isGhost
2018-06-13 15:37:45 -04:00
PatrikLundell
f329774059
dead & killed flag separation
...
squashed 4 commits from #1297
2018-06-13 15:37:45 -04:00
Pauli
8f2cf3ad26
Fix printf format warnings
2018-06-11 19:57:06 +03:00
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
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
lethosor
fe458d3ac1
Merge remote-tracking branch 'grubsteak/patch-2' into develop
2018-06-08 22:05:20 -04:00
lethosor
1fe6c3b880
Merge remote-tracking branch 'suokko/profiler' into develop
...
Closes #1296
2018-06-08 22:01:21 -04: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
7a04fefb0b
Remove Vermin module (unused and obsolete)
2018-06-01 00:22:10 -04: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
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
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
17ba492992
Add some exclusion functions to Kitchen module, expose to Lua, fix build
2018-05-17 19:34:03 -04:00
lethosor
97a79893e7
Change Kitchen.{h,cpp} to title case
2018-05-17 11:08:13 -04:00
lethosor
fcd8c9606e
Fix some warnings on OS X
2018-05-12 18:46:58 -04:00
lethosor
e9ec08f419
Add Buildings::getRoomDescription(), moved from search plugin, +cleanup
2018-05-12 17:00:21 -04:00
lethosor
c15571caa0
Move isRouteVehicle, isSquadEquipment from workflow to Items module
2018-05-12 14:49:30 -04:00
lethosor
a34b34d3cb
Move a few item functions from autotrade/stocks into DFHack::Items
2018-05-12 12:04:46 -04:00
Dan Amlund
759df34fce
fix potential segfault
2018-05-11 17:51:32 +02:00
lethosor
ceaa518be9
Fix a potential segfault in getAnyUnit
...
See #1218
2018-05-11 10:04:10 -04:00
lethosor
10abece564
Fix duplicate condition in Gui::getAnyUnit()
2018-05-11 09:58:40 -04:00
lethosor
272cdcb2b5
Add function names to NullPointer and InvalidArgument exceptions
2018-05-11 09:49:27 -04:00
lethosor
2a52582c1f
Add Gui::inRenameBuilding
2018-05-09 10:23:05 -04:00
lethosor
4fe55639be
Update version/submodules to 0.44.10-alpha1
2018-05-07 00:25:21 -04:00
lethosor
f4088dbd28
Update xml, scripts
2018-05-05 16:09:20 -04:00
lethosor
b266c7322f
Make fpause pause worldgen
...
Closes #1256
2018-05-05 16:08:06 -04:00
AtomicChicken
c58ffdb922
Added function to remove syndrome wound data
...
The presence of syndrome data in unit.syndromes.active generates corresponding wound data in unit.body.wounds. This wound data acts to produce all of the syndrome's actual effects, including but not limited to flag changes, interaction abilities, body transformation and display name alterations. Wound data persists when syndrome data is cleared from unit.syndromes.active. Since syndrome-util did not touch wound data at all, the erase function was completely ineffective at actually removing syndromes.
Note that syndromes also generate a bunch of data in the historical figure information of units. I have observed that this historical data is sufficient to restore the syndrome in a unit following map reload (at least in adventure mode), so its clearance (which needs to also include any corresponding interaction effects) will have to be addressed in a future update. As is, syndrome erasure remains incomplete.
2018-04-20 17:14:03 +02:00
lethosor
a708b0b303
Add some includes in DataDefs.h
2018-04-19 21:11:43 -04:00
lethosor
2bf9632000
Merge remote-tracking branch 'origin/develop' into complex-enum
2018-04-11 10:23:32 -04:00
lethosor
b0e1ae93ea
Add next_item, _complex for complex enums
2018-04-09 19:46:12 -04:00
lethosor
9398262654
Make enum attrs work for complex enums (lever_target_type)
2018-04-09 16:12:03 -04:00
lethosor
7da8793172
Set last_item_value properly for complex enums
2018-04-09 16:11:47 -04:00
lethosor
c1dd21730d
Fix complex enum ipairs for first element
2018-04-09 11:27:02 -04:00
lethosor
61539bf345
Lua: implement key lookup and ipairs for complex enums
2018-04-09 11:04:37 -04:00
lethosor
ae6b8a16e8
Handle most complex enum metadata on the C++ side
2018-04-09 03:00:58 -04:00
Ben Lubar
51661d7355
Fix -Wswitch warning about UNDERWORLD_GATE in MapCache.
2018-04-05 16:50:04 -05:00
Ben Lubar
565c1e1260
Fix uninitialized pointer being returned from Gui::getAnyUnit when on the pet list with no selection.
2018-04-05 16:49:30 -05:00
Ben Lubar
0a2ec30199
Remove or comment out unused code.
2018-04-05 16:48:11 -05:00
Ben Lubar
2eec5ee78d
Fix signed/unsigned comparison warnings in core.
2018-04-05 16:47:47 -05:00
Ben Lubar
304e1d45f0
Remove unused labels in Console-posix.cpp
2018-04-05 16:46:59 -05:00
Ben Lubar
ec5d238e5e
Remove warnings in generated code for core protobufs.
2018-04-05 16:46:04 -05:00
Ben Lubar
a44b3b8f98
Move null pointer check from Job module to LuaApi, where it does not invoke undefined behavior.
2018-04-05 16:01:26 -05:00
Ben Lubar
a3d4c586ab
Hide "complex enum" warning for dfhack-specific enums.
2018-04-05 14:48:29 -05:00
Ben Lubar
9cbba0ae01
Hide warnings about non-virtual destructors from df-structures.
2018-04-05 14:46:28 -05:00
lethosor
c8089db5df
Install the correct libstdc++
2018-04-04 20:01:27 -04:00
lethosor
5081710900
Merge remote-tracking branch 'ThiagoLira/develop' into develop
...
Also fixed whitespace from #1251
Closes #1186
2018-04-04 17:13:07 -04:00
ThiagoLira
b7bd88352e
fixed bug causing gui scripts to fail when sidebar is closed
2018-04-04 17:42:46 -03:00
lethosor
1ac896a874
Stop generate_headers from depending on symbols.xml
...
Changes to just symbols.xml will no longer cause codegen.pl to be re-run
2018-04-04 11:52:18 -04:00
lethosor
8f3701752d
Update xml
2018-04-04 11:36:24 -04:00
lethosor
3e3571094d
Update xml (name attrs)
2018-04-03 16:44:30 -04:00
lethosor
f6a222751b
Update xml (osx64 renderer)
2018-04-03 11:36:06 -04:00
lethosor
573fcb4bd0
Bump to 0.44.09-alpha1, update news/submodules
2018-04-02 01:00:20 -04:00
lethosor
2c9c935c0e
Update submodules/news, bump to 0.44.08-alpha1
2018-03-29 11:38:55 -04:00
lethosor
93bef3351e
Update submodules/news, bump to beta1
2018-03-28 22:01:27 -04:00
lethosor
6f864f97b3
Update news, xml
2018-03-14 10:11:45 -04:00
Ben Lubar
40654954a1
Partial preparation for 0.44.07-alpha1.
...
Still need to write release notes and add tags.
2018-03-13 15:49:42 -05:00
Lethosor
464052fe52
Merge pull request #1237 from warmist/warmist-patch-1
...
Fix parse_inset in gui.lua
2018-03-11 12:11:24 -04:00
Warmist
25d2938477
Fix parse_inset in gui.lua
...
It was used in different order than the return happened.
2018-03-11 12:40:30 +02:00
lethosor
ad57037711
Merge remote-tracking branch 'BenLubar/cmp0022-warning' into develop
2018-03-10 17:02:34 -05:00
lethosor
d55048dfa1
Merge remote-tracking branch 'BenLubar/ubuntu-bionic' into develop
2018-03-10 16:57:07 -05:00
lethosor
0ccc89a5fe
Make git-describe.cmake detect changes to itself
2018-03-10 16:55:20 -05:00
lethosor
eb22d5c38e
Add ABI version symbol to plugins
2018-03-10 16:55:00 -05:00
lethosor
db95796d4c
Many build fixes
2018-03-10 16:53:45 -05:00
lethosor
f2ff609e1c
Initial 0.44.06 support, update xml
2018-03-10 16:18:15 -05:00
Ben Lubar
7bbfd456d3
Fix compile errors on Ubuntu 18.04 Bionic Beaver
2018-03-08 11:42:58 -06:00
Ben Lubar
acd4adc7cc
Fix CMake warning about CMP0022 policy being set as "OLD".
2018-03-08 02:28:28 -06:00
lethosor
0e7ab27850
Bump to r2, update changelog, update submdules
2018-02-21 23:07:53 -05:00
lethosor
988ce9c30d
Update xml
2018-02-16 02:19:30 -05:00
lethosor
8779168c96
DFHACK_PLUGIN: qualify Plugin
2018-02-16 02:17:58 -05:00
Japa
74bf06c69e
Do some checks before trying to read json files.
2018-02-13 20:02:42 +05:30
Japa
8c13ce4da3
update xmls
2018-02-13 12:36:00 +05:30
Japa
5dc89fee38
Merge remote-tracking branch 'DFHack/develop' into RemoteServerUnsafe
2018-02-13 12:26:36 +05:30
lethosor
2f8fbd7ecd
Show warning if all plugins fail to load (e.g. on Windows XP)
2018-02-12 13:58:55 -05:00
Japa
7b19c9b8f0
Merge remote-tracking branch 'remotes/DFHack/develop' into RemoteServerUnsafe
...
# Conflicts:
# plugins/proto/RemoteFortressReader.proto
# plugins/remotefortressreader/remotefortressreader.cpp
# scripts
2018-02-12 20:19:40 +05:30
lethosor
19b65c2d1e
Remove Error.h include ( #1224 )
2018-02-07 20:14:36 -05:00
Ben Lubar
7ab8d74ac9
Add mising Error.cpp reference to dfhack-client
2018-02-07 14:32:27 -06:00
Ben Lubar
7426f08504
Fix Error.cpp compile for Windows
2018-02-07 10:40:52 -06:00
lethosor
bc6acfa24e
Merge remote-tracking branch 'lethosor/travis-df' into develop
2018-02-05 19:21:13 -05:00
lethosor
c1e2633e17
Refactor DFHack exception classes
...
Move implementations out of MiscUtils.cpp to Error.cpp and make what() return a
more useful description
2018-02-05 19:18:35 -05:00
Japa
78061085c6
Add art image properties to RFR
2018-02-04 16:02:02 +05:30
lethosor
a5cca75715
headless: Disable sound, wgetch
2018-02-04 00:17:46 -05:00
Japa
956d0ce363
update submodules.
2018-02-04 10:30:49 +05:30
lethosor
638f0ab35a
Add "headless" mode, use in travis
2018-02-03 23:59:01 -05:00
Japa
60c1bd3c66
Merge remote-tracking branch 'refs/remotes/DFHack/develop'
...
Conflicts:
library/xml
2018-02-04 10:26:39 +05:30
Japa
38140fb450
Copy engravings in RFR, and update the art image function.
2018-02-04 10:12:15 +05:30
lethosor
426839aac2
Update scripts, xml, NEWS for dfhack/scripts#37
2018-02-03 17:59:26 -05:00
Japa
0f43c07334
update xml
2018-02-03 11:10:26 +05:30
lethosor
ae3a662231
Merge remote-tracking branch 'danamlund/more-gui-getanyunit-cases' into develop
2018-01-31 15:58:55 -05:00
Dan Amlund
38491b4be8
add checks to avoid potential segfaults. use more dfhack idiomatic code
2018-01-31 20:10:40 +01:00
Dan Amlund
537e94d75a
fix segfault when splatter did not have historical figure
2018-01-31 20:10:34 +01:00
lethosor
325e0b0e33
binpatch.lua: check for empty patches
2018-01-31 09:57:11 -05:00
Japa
e63a871363
use the vmethod for getting improvement images.
2018-01-31 10:11:43 +05:30
Dan Amlund
2deeda11d2
add many new cases for Gui::getSelectedUnit: report list, combat log list, military screen, unit health, unit custumize, assigning to cage, viewing cage, pitting, penning, burrows, look at corpse, look at corpse piece, look at named spatter
2018-01-28 13:04:52 +01:00
Japa
8d8632908e
update submodules
2018-01-28 13:45:21 +05:30
lethosor
9a1f970d2d
Update submodules
2018-01-28 02:14:54 -05:00
Japa
77c6ea1d33
update xmls.
2018-01-28 10:22:16 +05:30
Japa
b78b2feed2
Remove extra whitespace.
2018-01-28 10:12:50 +05:30
Japa
db60ff3911
update xmls
2018-01-28 07:55:42 +05:30
Japa
c0c80b626d
update submodules
2018-01-27 12:12:19 +05:30
Japa
4a376752e2
Merge remote-tracking branch 'refs/remotes/DFHack/develop'
...
Conflicts:
library/xml
scripts
2018-01-26 08:21:47 +05:30
Japa
e3d95daf45
Don't use globals
2018-01-26 08:19:41 +05:30
lethosor
5e0e674580
Update submodules
2018-01-25 10:56:08 -05:00
lethosor
2202c781f7
Add a dfhack.script_help() function to assist scripts
2018-01-25 10:55:00 -05:00
Japa
f1b8fa305b
try using the new function pointer.
2018-01-25 11:55:46 +05:30
Japa Mala Illo
f33c42a49e
Merge remote-tracking branch 'DFHack/develop' into remote_control
...
# Conflicts:
# scripts
2018-01-24 10:04:51 +05:30
lethosor
1ba5477b63
Add designation priority support to MapCache and dig plugin
...
Fixes #481
2018-01-21 19:27:16 -05:00
Japa
7439f7fba7
Merge remote-tracking branch 'DFHack/develop' into remote_control
...
# Conflicts:
# scripts
2018-01-19 22:11:48 +05:30
Japa
e2ad956227
update xml
2018-01-16 15:54:41 +05:30
lethosor
46bc26dfe2
Update xml
2018-01-14 23:25:28 -05:00
lethosor
c3bf14a300
Correct bad os-type attributes in symbols.xml
2018-01-14 22:56:35 -05:00
lethosor
ce1644d655
Bump to 0.44.05-alpha1 and update submodules
2018-01-14 18:21:46 -05:00
lethosor
dbe950d92d
Update submodules
2018-01-13 16:51:03 -05:00
lethosor
4aa8456878
Update submodules
2018-01-12 00:28:15 -05:00
lethosor
16c4cde214
Change version to 0.44.04 and update xml
2018-01-11 12:10:21 -05:00
lethosor
2782008b42
Update tweak condition-material with new field names
...
dfhack/df-structures#236
2018-01-10 19:53:25 -05:00
Lethosor
e35e2d389c
Merge pull request #1205 from JapaMala/remote_reader
...
add more world mode options to world info
2018-01-07 23:53:09 -05:00
lethosor
04523f9e5d
dfhack/df-structures#231 : twbt_render_map offset for x64
2017-12-29 23:40:55 -05:00
lethosor
fde1e284f4
Gui::getAnyItem: support viewscreen_assign_display_itemst
2017-12-28 16:19:45 -05:00
lethosor
e72474613f
Add new PutItemOnDisplay job to labor management plugins
...
Also add building_type::DisplayFurniture to labormanager
Fixes #1208
2017-12-27 13:48:53 -05:00
lethosor
94e6e89b31
Update xml, scripts
2017-12-26 20:36:37 -05:00
lethosor
4007c39438
Update xml
2017-12-26 12:54:08 -05:00
lethosor
0eff9fa084
Bump version to 0.44.03-alpha1 and update submodules
2017-12-25 22:48:54 -05:00
lethosor
4d5c7c5927
getKeyDisplay: use enabler::GetKeyDisplay()
2017-12-25 20:14:11 -05:00
lethosor
0332a5c25a
Replace a call to abort() with a VTableMissing exception
...
This makes some scripts crash less when the viewscreen vtable is unavailable,
for example.
2017-12-25 20:13:15 -05:00
lethosor
e6651171bf
json: Improve IO-related error messages
2017-12-25 14:40:06 -05:00
lethosor
d6a6bf008e
Update xml, stonesense
...
Ref #1206
2017-12-24 23:17:39 -05:00
Lethosor
692bce8507
Tabs to spaces
2017-12-24 13:50:54 -05:00
Japa
73c6209f87
Remove extra These don't actually act the same.
2017-12-24 17:22:50 +05:30
Japa
22bdc6227c
add more world mode options to world info
2017-12-24 10:50:30 +05:30
lethosor
d90ee0edf8
Update submodules
2017-12-23 21:15:30 -05:00
lethosor
9ae4051d33
Merge branch 'develop' of gh:dfhack/dfhack into develop
2017-12-23 20:20:58 -05:00
lethosor
e7a95155ab
Lua API: add get_vector() and support for renaming class methods
...
See dfhack/df-structures@5bdb0e8
2017-12-23 20:18:55 -05:00
Lethosor
fd9f198239
Merge pull request #1203 from PatrikLundell/console
...
Blocked errant line feed at full buffer
2017-12-22 11:31:24 -05:00