Ben Lubar
546178bc56
update structures
2020-02-24 03:03:58 -06:00
Ben Lubar
e9564a28f5
allow tagged unions to not be union followed by tag
2020-02-23 21:33:32 -06:00
Timur Kelman
1d8998de22
allow custom filter in `dfhack.printall_recurse`
...
Objects with links like `job` output way too much. With this change, it's possible to provide an optional filter and exclude the `list_link`.
```
[lua]# j = dfhack.gui.getSelectedJob()
[lua]# printall_recurse(j, {[tostring(j.list_link)]=true, [tostring(j.pos)]=true})
```
2020-02-23 16:57:57 +01:00
Ben Lubar
1e3e3829a7
update structures
2020-02-22 23:36:14 -06:00
Ben Lubar
5580d375aa
add more diagnostics that will help in the identification of stl-string fields
2020-02-22 15:34:48 -06:00
Ben Lubar
0711b2569a
in -sizes mode, report sizes of unknown structures behind pointers.
...
update structures
2020-02-22 14:04:53 -06:00
Ben Lubar
57154e33c8
warn about misidentified generic pointers
...
update structures
2020-02-21 18:49:02 -06:00
Ben Lubar
53da38ca47
add additional pointer, string, and vector sanity checks
...
update structures and scripts
2020-02-21 17:31:31 -06:00
Ben Lubar
f383f63eea
fix check-structures-sanity not catching certain types of invalid string on GCC builds.
...
update structures.
2020-02-21 17:31:31 -06:00
Ben Lubar
14eade3886
update structures
2020-02-21 02:52:56 -06:00
Ben Lubar
eb35ff9b47
update structures
2020-02-21 02:31:37 -06:00
Ben Lubar
f708bb5cff
update structures
2020-02-21 01:41:05 -06:00
Ben Lubar
38410544b0
handle tagged unions in check-structures-sanity
...
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar
903f829e30
update structures
2020-02-20 20:19:50 -06:00
Ben Lubar
1beb0f417e
update structures
2020-02-20 17:44:24 -06:00
Ben Lubar
f81587bd82
update structures
2020-02-18 21:05:54 -06:00
Ben Lubar
0d36e62d81
fix some weird uses of the part of speech enum
2020-02-18 16:39:39 -06:00
Ben Lubar
c43c9de477
update structures
2020-02-18 16:33:24 -06:00
Ben Lubar
fce52866c7
update structures
2020-02-17 22:43:12 -06:00
Ben Lubar
91771f9c64
update structures
2020-02-17 22:02:25 -06:00
lethosor
28bf6667cb
Update xml
2020-02-16 21:22:31 -05:00
Ben Lubar
a703e2b2fc
update structures
2020-02-16 19:02:36 -06:00
Ben Lubar
b033a215bd
update for Dwarf Fortress 0.47.03
2020-02-16 18:48:27 -06:00
Ben Lubar
4e42da9e4f
update structures
2020-02-16 10:36:06 -06:00
Ben Lubar
631b8e772c
update structures; fix -lowmem being enabled due to being uninitialized on the stack.
2020-02-15 16:10:54 -06:00
Ben Lubar
122169a559
update scripts and structures
...
fix a crash if check-structures-sanity was called with a lua expression that evaluated to nil
2020-02-15 12:04:00 -06:00
Ben Lubar
bc5b0a6dd0
update structures
2020-02-15 02:58:00 -06:00
Ben Lubar
99ccc55d65
update structures
2020-02-15 01:23:26 -06:00
Clément Vuchener
c2584d615c
Define MapExtras::BiomeInfo::MAX_LAYERS ( #1496 )
...
Definition is required even for constexpr variables in some compilation
setups (e.g. debug builds).
2020-02-15 01:22:58 -06:00
Ben Lubar
9caf6e97e6
add -enums, -sizes, and specific starting point flags to check-structures-sanity
2020-02-14 19:47:26 -06:00
Ben Lubar
f7f7bd7ca7
update structures
2020-02-13 21:23:42 -06:00
Ben Lubar
69c4f5c972
update structures
2020-02-13 02:12:26 -06:00
Ben Lubar
8fe950f815
update structures
...
sizecheck no longer segfaults on the medium world
2020-02-13 00:52:00 -06:00
Ben Lubar
3996189f9f
update structures and scripts
2020-02-12 23:52:58 -06:00
Ben Lubar
e9a295c788
update structures
2020-02-12 19:00:18 -06:00
Ben Lubar
b754192f2d
update structures
2020-02-12 16:18:05 -06:00
Ben Lubar
ddc3cfcfbc
update structures
2020-02-12 13:34:04 -06:00
Ben Lubar
7bb921be19
update structures
2020-02-12 11:35:58 -06:00
Ben Lubar
3c9f6f79ab
fix some warnings
2020-02-10 19:35:17 -06:00
Ben Lubar
7b9ea1f1b6
update structures
2020-02-10 18:23:57 -06:00
Ben Lubar
69611ab325
exit if a fatal startup error is encountered while in headless mode ( #1491 )
2020-02-09 18:05:09 -06:00
Ben Lubar
5b56125ad6
update structures
2020-02-08 23:02:25 -06:00
Ben Lubar
b375586b67
Update to DF 0.47.02
2020-02-07 16:00:53 -06:00
Ben Lubar
0243e422e5
Allow plugins to define subclasses of dfhack_viewscreen that have their own virtual_identity.
2020-02-07 16:00:14 -06:00
Ben Lubar
5db7d518ee
update structures; fix some minor compile warnings
2020-02-05 12:35:43 -06:00
Ben Lubar
321d948f8d
Fix crash on missing symbols.
...
Fixes #1487 .
2020-02-03 20:21:10 -06:00
Ben Lubar
9c52b4e5e6
update structures
2020-02-02 17:31:01 -06:00
Ben Lubar
dfc90fe660
Update df-structures and scripts.
2020-02-02 17:10:11 -06:00
Ben Lubar
62e3802d26
Update to DF 0.47.01
2020-01-29 14:51:48 -06:00
PatrikLundell
121497a466
Propagated getBookTitle to Lua
2020-01-26 11:47:47 +01:00
PatrikLundell
876ac6c056
Renamed to getBookTitle, cut down on virtual_cast
2020-01-25 21:46:10 +01:00
PatrikLundell
c6bbf39c6c
Issue #1262 . Added Items::getTitle and used in stocks
2020-01-25 12:43:02 +01:00
lethosor
815821eb93
Merge branch 'develop' into cmake-cleanup
...
Conflicts:
depends/lua/CMakeLists.txt
plugins/CMakeLists.txt
plugins/devel/CMakeLists.txt
2020-01-18 22:28:43 -05:00
lethosor
bb9bc4e353
Update submodules
2020-01-18 18:52:32 -05:00
Ben Lubar
96d8dffd32
Make dfhack.run_command return the command_result value.
...
Rename local variables to match dfhack.run_command_silent for clarity.
2020-01-14 17:53:52 -06:00
lethosor
47fa9e1159
Update authors, submodules
2020-01-13 23:35:31 -05:00
lethosor
5eca50476e
Merge remote-tracking branch 'nornagon/unit-description' into develop
2020-01-13 23:31:23 -05:00
Ben Lubar
be5dc2d4a4
Make Units::isGay act consistently when called on an asexual unit.
...
The function appears to be used to determine whether heterosexual relationships are possible, so asexual units will always return true for isGay.
Old behavior was to treat asexual units as male.
2020-01-09 14:48:30 -06:00
Jeremy Apthorp
5de368a1ed
unit_{=> get_}physical_description
2020-01-04 22:17:03 +11:00
Jeremy Apthorp
7644dde9e4
default to empty description if symbol unavailable
2019-12-14 12:01:13 -08:00
Jeremy Apthorp
50e696acf6
getDescription => getPhysicalDescription
2019-12-14 09:36:47 -08:00
Jeremy Apthorp
7fce6fe0b0
move THISCALL define to header, clean up code a little
2019-12-13 23:54:27 -08:00
Jeremy Apthorp
dfab521a71
specify __thiscall
...
According to https://docs.microsoft.com/en-us/cpp/cpp/thiscall?view=vs-2019 , "on ARM and x64 machines, __thiscall is accepted and ignored by the compiler.". So it should be OK to specify this for all win32
2019-12-12 17:51:41 -08:00
Jeremy Apthorp
9a37849603
use symbols.xml
2019-12-07 22:41:55 -08:00
Jeremy Apthorp
910f965838
wip
2019-12-07 22:17:59 -08:00
lethosor
49563b4618
Merge remote-tracking branch 'warmist/FilteredListFix' into develop
2019-11-02 16:28:06 -04:00
lethosor
08aeb6faeb
Fix EventManager building ID type
...
The pointer to the building ID was sometimes not dereferenced properly.
Addressed by switching to an ID cast to a pointer type for consistency with
other types of events.
Fixes #1434
Ref #1003 (19695b4ee7
)
Broken in #1253 (a7dfacd1c5
)
2019-10-05 20:26:31 -04:00
lethosor
7d5970303f
Update xml ( dfhack/df-structures#286 )
2019-10-04 00:14:08 -04:00
lethosor
ca7d0f1cac
Add algorithm include for MSVC
2019-10-03 23:26:57 -04:00
lethosor
f3658db85f
Merge branch 'develop' into avoid_rebuilding_df_statics_if_core_h_changes
2019-10-03 23:23:36 -04:00
Warmist
a2b5c1ddd9
lua/widgets filtered list input fix
...
FilteredList was not consuming input events.
2019-09-30 22:00:06 +03:00
lethosor
ac5a54c8db
Merge branch 'develop' into cmake-cleanup
...
Conflicts:
library/CMakeLists.txt
plugins/CMakeLists.txt
2019-08-23 23:58:00 -04:00
Alan
0f4162acc9
Merge pull request #1402 from BenLubar/persist
...
Add Persistence module.
2019-08-23 23:37:06 -04:00
lethosor
222b88063c
Update submodules
2019-08-23 21:37:50 -04:00
lethosor
2ef46562c8
Avoid calling doSaveData twice when unloading a world
...
This was happening because of a switch to viewscreen_game_cleanerst and back to
viewscreen_savegamest when saving
2019-08-23 20:45:35 -04:00
lethosor
100e584c34
Fix saving persistent data on regular save
2019-08-23 20:30:06 -04:00
lethosor
07575095fd
Merge branch 'develop' into persist
2019-08-22 22:00:50 -04:00
lethosor
88757d5c27
Merge branch 'develop' into cmake-cleanup
2019-07-20 19:22:33 -04:00
lethosor
99038c395a
Merge remote-tracking branch 'ab9rf/biometype' into develop
2019-07-20 16:32:46 -04:00
lethosor
8a07426643
Merge branch 'develop' into cmake-cleanup
2019-07-20 15:15:39 -04:00
Pauli
49f3de979f
Make ServerMain and ServerConnection data race free
...
RemoteServer and PluginManager side would need complete redesign to be
data race free and concurrent. But as that would be unlikely to be
required from DFHack I decided simpler solution that is fixing data
ownership to a thread and all ServerConnection share a single lock which
allows access to PluginManager and Core.
2019-07-18 23:05:11 -04:00
Pauli
0605b9601c
Make Core::started thread safe
2019-07-18 23:05:11 -04:00
Pauli
0ed5c8db39
Fix data race between threaded init and EventManager
...
The initial run_dfhack_init loads shared state information that is used
by EventManager when state changes. There is a small risk that
EventManager can handle events while run_dfhack_init is still running.
2019-07-18 23:04:40 -04:00
lethosor
76da2c2aaf
Clean up CMakeLists.txt style
2019-07-16 22:19:11 -04:00
lethosor
b60faa8021
dfhack-run: add note about installation when called with no arguments
2019-07-13 15:51:46 -04:00
lethosor
c125926727
Update submodules and Authors.rst
...
Ref #1432
Ref dfhack/stonesense#54
Ref dfhack/scripts#93
2019-07-10 19:21:23 -04:00
lethosor
5b11d14c6c
Rename save/load to "save data"/"load data"
2019-05-29 19:52:03 -04:00
lethosor
ceebef5fe2
Merge branch 'develop' into persist
2019-05-28 21:08:16 -04:00
lethosor
dd9c433f17
Use BYPRODUCTS to keep ninja builds from re-running codegen every time
...
This partially reverts f02466de8a
, but behavior
should be the same under MSVC, which that commit attempted to fix. From
https://cmake.org/cmake/help/v3.14/command/add_custom_command.html :
> The `BYPRODUCTS` option is ignored on non-Ninja generators except to mark
> byproducts `GENERATED`.
Since `$GENERATED_HDRS` are already marked generated, this change should have
no effect on non-Ninja generators.
2019-05-13 19:47:39 -04:00
lethosor
32a0ab9679
Update submodules
2019-05-11 23:34:59 -04:00
lethosor
e5eade1ad7
Make gui.dwarfmode.{get_movement_delta,get_hotkey_target} public
2019-04-30 16:53:09 -04:00
lethosor
6c266075de
Console-posix: fix crash with prompts longer than screen width
...
Also add an extra fallback check around substr
Fixes #1425
2019-01-15 21:06:49 -05:00
Pauli
f0632347d0
Remove Core.h include from DataDefs.h
...
Core.h isn't required for DataDefs.h which removes Core.h dependency
from DataStatics*.
2018-12-30 17:08:42 -05:00
lethosor
e74946f62e
Update xml and related changelog entries
2018-12-27 17:37:13 -05:00
lethosor
a2f8742128
Merge remote-tracking branch 'suokko/runtime_debug_prints' into develop
...
Also fix and reorganize changelog
2018-12-27 16:28:25 -05:00
lethosor
13c6bfc1b2
Merge remote-tracking branch 'sgayda2/memory_fixes' into develop
2018-12-22 11:54:31 -05:00
lethosor
b913076451
Update xml, stonesense, changelog
...
Merged DFHack/df-structures#296 and (modified) attached changelog
entry
2018-11-24 17:09:24 -05:00
lethosor
368f8d0504
Remove and replace checks for OnBreak
2018-11-24 14:52:26 -05:00
Kelly Kinkade
02f047e9f1
a pox on whitespace
2018-09-11 18:41:32 -05:00
Kelly Kinkade
3817773b5a
eliminate stray whitespace
2018-09-11 17:32:33 -05:00
Ben Lubar
10267f3e70
Only save on the first frame of the save screen.
2018-08-26 19:11:41 -05:00
Ben Lubar
a672ffcb95
Use viewscreen_savegamest instead of viewscreen_optionst
2018-08-26 19:05:44 -05:00
Ben Lubar
4e690df96a
Add Persistence module.
...
Alter World to use Persistence instead of storing data in historical figures.
Fake historical figures will be converted to the new format when a world is loaded.
Added plugin_save and plugin_load functions to the plugin API.
Made the weird int7/int28 code that was in the old persistence API slightly safer.
2018-08-26 18:27:58 -05:00
Kelly Kinkade
338572d270
resolve uninitialized variable warning
2018-08-16 12:15:56 -05:00
Kelly Kinkade
59d70d6687
Add function to infer biome type to Maps module
...
This moves code intended to infer biome type currently living in a
couple of plugins into the Maps module, so that this code can be shared
more easily by multiple plugins, as discussed in #1392 .
2018-08-15 20:28:18 -05:00
lethosor
e56cb2a25a
Update xml (setup_character_info.skill_points_remaining)
2018-08-04 00:59:15 -04:00
Lethosor
9bd5ecd738
Merge pull request #1372 from BenLubar/dfhack-viewscreen-identity
...
Add an identity to dfhack_viewscreen and dfhack_lua_viewscreen.
2018-07-26 16:06:24 -04:00
Ben Lubar
4837e65322
Add an identity to dfhack_viewscreen and dfhack_lua_viewscreen.
2018-07-22 17:31:39 -05:00
lethosor
c53353fc28
Update changelog, xml
2018-07-20 23:29:24 -04:00
lethosor
163c9b4059
Add utils.OrderedTable, make test order consistent
...
Also added OrderedTable tests and comment support to expect.*()
2018-07-19 12:40:25 -04:00
lethosor
063602349c
Add a basic test library and a couple GUI module tests (squashed)
...
Also modified Core/Console a bit to get this to actually produce output on
Travis (DFHACK_DISABLE_CONSOLE now allows console output, just not input)
Squashed merge from lethosor/tests
2018-07-18 14:29:13 -04:00
lethosor
3b44c18576
Followups for #1325
...
- Fix git tag detection
- Fix changelog entry position
- Update/clean up docs some
2018-07-17 00:58:49 -04:00
lethosor
1d6c3dc871
Merge remote-tracking branch 'suokko/fix_cmake_dependencies_to_generated_headers' into develop
2018-07-17 00:24:18 -04:00
Stoyan Gaydarov
38cccdb0f4
Update the module create calls to return unique_ptrs
2018-07-14 19:55:25 -07:00
Stoyan Gaydarov
6f90273bb6
More usage of smart pointers throughout core and version info.
2018-07-14 19:55:25 -07:00
Stoyan Gaydarov
699f864110
use dts::make_unique instead of new
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
6cfd987c0d
Remove an outdated comment, with c++11 enabled the code is thread safe
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
12c8046f90
Some memory management changes for Core
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
b5ddde8475
Use a shared_ptr to avoid having to manage VersionInfo vector memory
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
c127ceab96
Use a unique_ptr for VersionInfo to avoid worrying about memory
2018-07-14 19:51:46 -07:00
lethosor
790d16cc1c
Merge remote-tracking branch 'sgayda2/call_once' into develop
2018-07-14 21:08:15 -04:00
Stoyan Gaydarov
99d05117ab
fix a return statement in FirstCall
2018-07-14 12:15:52 -07:00
lethosor
c2a64b3573
Update changelog, xml, bump to r1
2018-07-13 21:16:35 -04:00
lethosor
f85b2c2b3c
Merge branch 'develop' of gh:dfhack/dfhack into develop
2018-07-13 20:00:52 -04:00
lethosor
78f2431c93
Update xml
2018-07-13 19:59:46 -04:00
Ben Lubar
b44789285c
Fix Windows df-structures stubs failing to compile if the option to keep symbols is specified.
2018-07-13 15:49:37 -05:00
Pauli
f02466de8a
Correct codegen.pl output dependecies for VC
...
The change allows correct and optimized incremental builds with VC and
ninja but unix makefile backend will rebuild everything if anything
changes in structures.
2018-07-13 17:01:36 +03:00
Pauli
bc8b8ef256
Use configure_file to optimize incremental builds for git-describe.h
2018-07-13 16:07:46 +03:00
Pauli
c92b52537c
Only run once codegen.pl and git-describe.cmake with make
...
ninja has a single build file which avoided issues if multiple targets
depend on same files. But Unix Makefiles generator user recursive make
which requires each ADD_CUSTOM_COMMAND to have only one target depending
on them.
Then makefile generator also has stupid rule that it touches all
secundary output files if primary file has been updated.
It was surprising hard to find a version that actually works correctly
for both issues. Solution is using BYPRODUCTS and refactoring command
and target dependencies.
As a bonus this change now allows build to work from source tarball if
the tarball includes git-describe.h.
2018-07-13 15:23:54 +03:00
Pauli
fad9d58ac6
Keep git-describe.h in source tree
...
Temporary file goes to binary directory to avoid race between
simultanous builts.
2018-07-13 15:16:04 +03:00
Pauli
68d1dfa0da
Keep make output short
...
Without custom comment add_custom_command would list all target files.
2018-07-13 15:15:42 +03:00
Pauli
3f34ea196b
Fix build not to delete git-describe.h
...
make doesn't keep primary output file if secundary is missing.
always_rebuild must be primary output to make the phony command work
correctly.
2018-07-13 15:15:42 +03:00
Pauli
2956e654d4
Add dependency from codegen.pl to df/*.h
2018-07-13 15:15:42 +03:00
Pauli
5154370402
Add full paths to codegen.pl error messages
...
I noticed that relative paths were not correctly guessed by vim. I
decided to fix the paths to allow me quickly to jump to error line in
xml.
2018-07-13 15:15:42 +03:00
Pauli
b3b23e8278
Add dependency from git-describe.h to DFHackVersion.cpp
...
Using add_custom_command allows cmake to track dependency from command
to git-describe.h that is implicit dependency of DFHackVersion.cpp.
The change also fixes issues if there is multiple build directories and
git-describe.h missing but git-dsecribe.h.tmp is present.
2018-07-13 15:15:39 +03:00
lethosor
9ee368d456
Merge remote-tracking branch 'suokko/MapCache_reduce_latency_from_designation_to_jobs' into develop
2018-07-11 11:51:24 -04:00
lethosor
7afa3690bf
Add support for DFHACK_BUILD_ID
...
Used for BuildMaster builds, for example
2018-07-11 11:47:55 -04:00
lethosor
2d8be8f4ad
Update xml (dlsym vtables, dfhack/df-structures#282 )
2018-07-10 13:01:54 -04:00
lethosor
fa8c6724f6
Merge remote-tracking branch 'suokko/dlsym_libgraphics' into develop
2018-07-10 12:25:11 -04:00
lethosor
dd3c04eb26
Merge remote-tracking branch 'suokko/windows_crash_after_die' into develop
2018-07-10 11:57:10 -04:00
lethosor
06511340ab
Merge remote-tracking branch 'BenLubar/proto-docs' into develop
2018-07-10 11:26:31 -04:00
Pauli
7d92d3f48f
Fix the class vs struct warning
2018-07-10 18:24:34 +03:00
Pauli
5eea7198a9
Make Core::~Core safe to call after die
...
Fixes #1356
2018-07-10 18:24:34 +03:00
lethosor
4a842810d5
Update xml, changelog
2018-07-10 11:24:26 -04:00
Pauli
ce6af3d649
Use c++ standard std::_Exit instead of _exit
...
_exit seems to run dll unloading code which calls static destructors.
Standrd requires std::_Exit not to call destructors which makes using it
attractive in case MSVC actually follows the standard.
2018-07-10 18:21:09 +03:00
Pauli
96c9b8b864
Add windows emulation for RTLD_DEFAULT
...
I'm not sure if calling GetModuleHandle in static construction is safe.
But I assumme it is and works correctly.
There is still potential issue that documentation can be understood
meaning that the HMODULE will resolve only symbols from exe while
RTLD_DEFAULT resolves all global symbols.
2018-07-10 17:10:30 +03:00
Pauli
ca5c11603f
Support dlsym loading from libgraphics vtables
2018-07-10 17:08:23 +03:00
lethosor
2dac3c53c7
Add stress cutoffs to Units module, fix dwarfmonitor/manipulator
...
Fixes #1292
2018-07-09 15:59:12 -04:00
lethosor
46e53fc3b3
Make df2console only call df2utf if the output stream is a console
...
Fixes output in command-prompt, for example
2018-07-09 11:00:28 -04:00
lethosor
7fcc6be6f6
Update xml, changelog
2018-07-09 10:46:19 -04:00
Pauli
ab179bbf42
Fix crash when editing lines that are exactly console width
...
plen+cooked_cursor==cols => begin = -1 which is passed to substr. The
sign is incorrect as code should be removing a character from begin
instead of trying to add a character.
2018-07-09 16:12:39 +03:00
Stoyan Gaydarov
e96c6f07ce
fixes from comments
2018-07-08 15:53:26 -07:00
Stoyan Gaydarov
68770ecbf2
Use std::call_once to ensure thread safety and a single call to initialize the SDL pointers
2018-07-08 12:52:06 -07:00
lethosor
5d16e5a74c
Bump to 0.44.12-alpha1
2018-07-08 14:26:57 -04:00
lethosor
480907259c
Rename ui_sidebar_menus.command_line field
...
Ref dfhack/df-structures#277
2018-07-07 23:51:20 -04:00
lethosor
03b01048d7
Merge remote-tracking branch 'BenLubar/linked-list' into develop
2018-07-07 23:49:53 -04:00
lethosor
037e7e4901
Merge remote-tracking branch 'suokko/spotclean_ui_state_fix_1194' into develop
...
Moved/adjusted changelog entry
2018-07-07 18:08:53 -04:00
Pauli
dec61b89be
Fix windows ReadConsoleInput return value check
...
I messed up the check. I forgot that windows commonly has opposite
return values to posix and failed to check it from documentation.
Fixes 1345
2018-07-08 00:50:43 +03:00
lethosor
aa76b92662
Merge remote-tracking branch 'suokko/main_thread_ownership_for_df_ai' into develop
2018-07-06 16:37:06 -04:00
lethosor
c006df561e
Merge remote-tracking branch 'suokko/lua_printall_recurse' into develop
2018-07-06 14:25:35 -04:00
lethosor
be9affc8fb
Update xml, changelog
2018-07-06 14:22:46 -04:00
lethosor
dc6fd8d35c
Merge remote-tracking branch 'suokko/stl_printf_remove_extra_null' into develop
2018-07-06 11:09:39 -04:00
lethosor
54cf8b7dc3
Fix getVisibleName for units with identities
...
As of 0.44.11 (possibly 0.44.01), identity names take precedence over the
associated histfig names. Tested with:
https://drive.google.com/file/d/1bX5CQMqNsb_mjJOEOS4wBm4mGDLLs_cZ/view (#1279 )
http://dffd.bay12games.com/file.php?id=13428 (from http://www.bay12games.com/dwarves/mantisbt/view.php?id=10530 )
Fixes #1279
2018-07-06 11:06:04 -04:00
Ben Lubar
3b6a0738a0
Add check-rpc.py for Travis.
2018-07-04 15:32:06 -05:00
Pauli
d1a3f1a738
Allow canceling lineedit with ctrl+c
2018-07-04 15:21:25 +03:00
Pauli
a550e112c3
Allow temporary transfer of main logic thread ownership
...
Dependency to fix df-ai to work with the new CoreSuspender
2018-07-04 00:02:03 +03:00
Ben Lubar
dabe04cbf1
Rename bind argument proto -> plugin to avoid confusion.
2018-07-03 16:00:48 -05:00
Pauli
320e94a1eb
Avoid locking CoreSuspender second time in main thread
2018-07-04 00:00:06 +03:00
Ben Lubar
6839fde555
Remove execute permission on files that are not executables.
2018-07-03 15:37:16 -05:00
Pauli
8a3a05de24
Allow unloading plugins that use std::regex
2018-07-03 15:23:46 +03:00
Pauli
ee999ccbdf
Implement runtime debug print filtering
...
The runtime debug print filtering support dynamic debug print selection.
Tis patch only implements basic core support for filtering. The commands
to change the runtime filtering settings will be added in a following
patch.
But even with only this one can change filtering settings by editing
memory using a debugger. It can even be automated by using gdb break
point commands.
2018-07-03 15:23:46 +03:00
lethosor
616675f0ce
Merge remote-tracking branch 'suokko/kittens_data_race_fix' into develop
2018-07-03 00:30:36 -04:00
lethosor
c449041c11
Merge remote-tracking branch 'suokko/lua_List_setChoices_internal_table_1171' into develop
2018-07-03 00:27:22 -04:00
lethosor
c543a17250
Improve RPC port handling
...
- Use port from remote-server.json in dfhack-run
- Make DFHACK_RUN environment variable take priority over remote-server.json
- Log current port to stderr
2018-07-02 23:53:56 -04:00
lethosor
81a7ddcf92
Merge remote-tracking branch 'suokko/screen_show_memory_leak' into develop
2018-07-02 22:58:11 -04:00
lethosor
f0ff96f614
Merge remote-tracking branch 'suokko/multibyte_console' into develop
2018-07-02 10:55:03 -04:00
Ben Lubar
b5eb541fd3
Handle pointers back to the list link.
2018-06-30 23:04:27 -05:00
Ben Lubar
1606483e7e
perf improvement for DfLinkedList::end(), erase/insert/insert_after/push_front implementations
2018-06-30 23:04:26 -05:00
Ben Lubar
0b9d46712f
Run DfLinkedList::end's computations only when needed.
2018-06-30 23:04:26 -05:00
Ben Lubar
31d22967f8
Linked list
2018-06-30 23:04:26 -05:00
Pauli
ba1d3fcb6a
Add dfhack.printall_recurse to quickly print df containers
...
I often want to see multiple items quickly when trying to figure out
what states actually matter to an issue that I debug. I decided to make
it easier to quickly dump df structures with substructures and
containers. It will generate large amount of data which can be sometimes
slow to process manually. But processing can be automated using
dfhack-run lua ^<df data to inspect> and pipe to other tools (eg grep,
sed, perl, sort, uniq etc)
2018-06-30 22:31:49 +03:00
Pauli
645ec0d591
Improve kittens thread safety and shutdown with core
...
The bools could use acquire&release memory order or even relaxed but I
didn't think code was worth auditing for such low level optimizations.
Sequantial consistent is fast enough but much harder to use incorrectly.
The timeLast is protected by CoreSuspender lock. plugin_update is only
called when CoreSuspender lock is held.
The last_menu is protected by trackmenu_flg loads and stores.
2018-06-30 21:53:12 +03:00
Pauli
0727403ac1
Fix devel plugins linking in linux
2018-06-30 21:12:42 +03:00
Pauli
7a2245c2fa
Remove null byte from string length
...
I noticed an extra null when trying to grep dfhack.run ls output.
std::string manages null byte at end(). Pre C++11 didn't require null
termination for std::string but C++11 add the null termination to make
c_str() and data() truely const. It is undefined behavior to modify the
internal null termination but this modification sets the null to null.
2018-06-30 12:51:38 +03:00
lethosor
1a4440859c
Update xml (viewscreen_civlistst)
2018-06-29 22:33:15 -04:00
lethosor
105ddd86d8
Merge remote-tracking branch 'suokko/jsoncpp_upgrade_to_submodule' into develop
2018-06-29 22:33:00 -04:00
Pauli
c39a882b57
Add missing Unit::isDiplomat
...
Fixes #1324
2018-06-29 16:19:18 +03:00
lethosor
3c2bfb6f47
Bump to 0.44.11-alpha1, update changelog, xml
2018-06-28 13:31:56 -04:00
lethosor
f9dfb5907b
Update submodules, authors
2018-06-27 13:57:34 -04:00
lethosor
19627b9221
Bump to 0.44.11
2018-06-24 17:42:31 -04:00
Pauli
20bd03ab6d
Reset dsgn_check_cooldown in Block::write
...
To make sure that DF generates jobjs from desgination as soon as
possible the dsgn_check_cooldown should be reset when designations
change.
2018-06-24 17:06:32 +03:00
Pauli
123de7fdf7
Use constexpr to prevent attempts of linking static variable
2018-06-24 17:06:32 +03:00
Pauli
f6b0ac7819
Refactor CoreSuspender to fix Console::lineedit exit hangs
...
The old CoreSuspender requires processing from Core::Update to allow
commands execute. But that causes issues if Core::Shutdown wants
quarentee cleanup order with std:🧵 :join. Fixing shutdown ordering
adds too many branches to already fairly complex code.
I decided to try to refactor CoreSuspender to use simpler locking
locking using a std::recusive_muted as primary synchronization
primitive.
To help control when Core::Update unlocks the primary mutex there is
std::contition_variable_any and std::atomic<size_t> queue lenght
counter.
The last state variable is std::atomic<std:🧵 :id> that is used to
keep track of owner thread for Core::IsSuspended query.
This should be merged only just after a release to make sure that it
gets maximum testing in develop branch before next release.
Fixes #1066
2018-06-22 17:57:37 +03:00
Pauli
0bc1db4f07
Make sure hotkeythread exits before cleanup
2018-06-22 17:57:37 +03:00
Pauli
1fc37f8ddc
Checke Console::lineedit error return values
...
Console::lineedit can return -1 to indicate input error and -2 to
indicate the program is closing. But most users don't check possible
unusual return values which can lead to exit hang.
2018-06-22 17:57:37 +03:00
Pauli
84f8a75a2e
Add cuchar fallback implementation for gcc 4 and 5
2018-06-22 17:57:37 +03:00
Pauli
820b787cd0
Add multibyte character handling to posix console
...
I noticed that multibyte characters can mess up the console state
variables. I decided to add a minimal multibyte support to make sure the
input only collects complete valid multibyte characters in case user
enters them to console.
This change assumes that UTF-32 has one to one mapping between printed
characters and char32 indexes. But I remember reading there is a few
rare corner cases with accents where character might require multiple
4byte characters too. But this patch at least changes correct handling
from about 100 characters to 99% of unicode characters.
2018-06-22 17:57:37 +03:00
Pauli
1acb60daa2
Prevent data races during console/init thread shutdown
...
There is a minor chance that console or init thread would access already
freed memory when core is shutting down and cleaning up state. To avoid
any danger of having random bugs caused by the potential data race I
decided to make sure the shutdown code waits for the thread to exit
first.
Windows change is completely untested. It is purely based on msdn
documentation.
2018-06-22 17:57:37 +03:00
Pauli
19a169ba65
Convert Core.cpp to use c++11 thread
...
I noticed that tthread is missing some c++11 features that make thread
handling code a bit easier. To be able to use those features I decided
to convert Core.cpp to use equivalent standard classes.
This patch has no functional changes.
2018-06-22 17:57:37 +03:00
Pauli
b7871c7368
Console-posix: Use lowest possible nfds parameter to the select call
2018-06-22 17:57:37 +03:00
lethosor
854f467f56
Merge remote-tracking branch 'suokko/check_jobs_on_mapcache_commit_1229' into develop
2018-06-21 15:03:51 -04:00
lethosor
7a5e7c7c86
Rename unit_flags1.dead to killed, update submodules/changelog
...
Follow-up for dfhack/df-structures#247
2018-06-21 11:17:09 -04:00
lethosor
1deb6ab024
Update xml
2018-06-20 16:19:00 -04:00
lethosor
7fda8506f0
Merge remote-tracking branch 'suokko/cmake_option_to_enable_all_symbols' into develop
2018-06-20 16:16:03 -04:00
Pauli
9b6781f0f2
Temporary lower command-prompt when executing the command
...
command-prompt viewscreen may affect command execution if they are
looking for UI state. To make commands execute simillary to hotkeys or
console commands the viewscreen needs to removed from the top position.
Fixes #1194
2018-06-20 21:51:45 +03:00
lethosor
6077a8ce4c
Merge remote-tracking branch 'suokko/printf_warnings' into develop
2018-06-20 11:25:14 -04:00
lethosor
2f1d3c68c6
Merge remote-tracking branch 'suokko/stl_vsnprintf' into develop
2018-06-20 11:23:57 -04:00
lethosor
b9df6fae85
Update xml, authors
2018-06-20 10:51:24 -04:00
Pauli
98b25e3462
Allow calling List:setChoices() to clear choices
2018-06-20 17:46:24 +03:00
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
PatrikLundell
d6a51f65eb
Blocked errant line feed at full buffer
2017-12-22 13:42:59 +01:00
Lethosor
c7f3902e0d
Merge pull request #1197 from PatrikLundell/console
...
Made console prompt respect color reset
2017-12-21 12:43:10 -05:00
Lethosor
7ba43d3be2
Merge pull request #1189 from Pfhreak/autocompletebuiltins
...
Autocomplete built in commands (die, etc.)
2017-12-20 23:35:36 -05:00
lethosor
b8d5aba0ef
Update xml, scripts
2017-12-20 00:02:26 -05:00
PatrikLundell
14996a9d67
Made prompt respect color reset
2017-12-14 12:46:52 +01:00
PatrikLundell
cf7dbd478a
Made prompt respect color reset
2017-12-14 12:45:35 +01:00
lethosor
7721a142d8
Add a basic Lua console API
2017-12-07 14:43:27 -05:00
lethosor
622a8dacb6
Update submodules
2017-12-07 14:39:15 -05:00
Quietust
88c7e493b8
Merge ui_area_map_width into ui_menu_width, now a 2-byte array
2017-12-03 20:34:59 -06:00
Quietust
c72ae8d8a7
Merge "announcements" global into d_init where it belongs
2017-12-03 20:05:08 -06:00
Quietust
ec06ed09c9
update structures - add remaining Linux 64-bit offsets
2017-12-03 13:49:57 -06:00
Quietust
1489e7db82
update structures - fix unit_personality and historical_figure_info.personality
2017-12-02 22:14:04 -06:00
Quietust
4edc7a6f43
update DataFuncs to support vmethods with 12-13 parameters ( #1192 )
2017-12-02 21:41:44 -06:00
Quietust
e174135133
update structures
2017-12-02 21:09:00 -06:00
Japa
d1c1dfe2cd
update xml
2017-11-30 19:46:03 +05:30
Phillip Spiess
bbdf157a52
Fixup autocomplete built ins per IRC
2017-11-27 13:45:58 -08:00
Phillip Spiess
7e55efa3f7
Autocomplete built in commands (die, etc.)
2017-11-27 13:15:16 -08:00
Japa Mala Illo
a0634f9ee0
Merge remote-tracking branch 'DFHack/develop' into RemoteServerUnsafe
2017-11-25 11:50:56 +05:30
Japa Mala Illo
ea8347e2ca
update xml
2017-11-25 11:45:30 +05:30
lethosor
35b0e962ce
Fix crash on empty symbol tables
2017-11-25 01:10:47 -05:00
Japa Mala Illo
69a88e1641
Use json for server config.
2017-11-25 11:34:02 +05:30
lethosor
2c95ac411e
Update xml and all uses of job_handler
2017-11-25 00:59:59 -05:00
Japa Mala Illo
272f51ef4b
Merge remote-tracking branch 'remotes/DFHack/master' into RemoteServerUnsafe
2017-11-25 10:24:51 +05:30
lethosor
5795a370bc
Update xml again to fix GCC build error
2017-11-23 16:01:27 -05:00
lethosor
111df1312b
Update xml to 1cdab5a (last for 0.43.05)
2017-11-23 15:50:58 -05:00
Lethosor
9259cb22d2
Merge pull request #1184 from quietust/develop
...
update structures
2017-11-23 11:57:41 -05:00
Quietust
33a43c5bfd
update structures
2017-11-04 07:50:47 -06:00
Japa
f91123610e
Update structures.
2017-10-30 21:51:54 +05:30
Ben Lubar
d3f3ebf778
auto_ptr is deprecated - use unique_ptr instead
2017-10-04 14:49:28 -05:00
Japa Illo
3c5483df03
Change tabs to spaces to satisfy travis.
2017-10-04 09:48:12 +05:30
Japa
bb1eb0b48a
Use a config file to enable outside connections.
2017-10-03 19:48:37 +05:30
Japa
1d02ecff6f
Add safe for remote flag to select default functions.
2017-10-03 18:56:49 +05:30
Japa
cbeb241435
Listen on any address
2017-10-02 20:48:05 +05:30
Japa
8dffd48f70
Add a flag for functions considered safe for a remote computer to call.
2017-10-02 19:55:16 +05:30
lethosor
9d4c7af11c
Merge branch 'develop' of gh:dfhack/dfhack into develop
2017-08-08 20:09:10 -04:00
lethosor
08656a3ca7
Strip DF folder from Ruby script paths
...
Fixes #1146 (temporarily, see #1147 )
2017-08-08 20:08:07 -04:00
Kelly Kinkade
0b26e9aec7
Fix a couple of MSVC warnings
...
Use intptr_t instead of long for a handle, and add an explict cast to
eliminate a narrowing conversion warning
2017-08-07 14:13:22 -05:00
lethosor
5c33fcccbd
Merge remote-tracking branch 'BenLubar/win64-warnings' into develop
2017-08-07 13:51:18 -04:00
lethosor
16fb230ef6
getAnyItem: support viewscreen_textviewerst
2017-08-05 21:38:18 -04:00
lethosor
d280863bc8
Avoid iterating over "has-bad-pointers" fields of IDTYPE_STRUCT and others
...
dfhack/df-structures@4c224dd205
2017-08-05 21:34:16 -04:00
Ben Lubar
17a7885ef2
Fix a bunch of 64-bit Windows warnings
2017-07-21 13:30:05 -05:00
lethosor
15ed1bfd67
stl_vsprintf: avoid truncating 4096-byte strings
2017-07-13 13:08:27 -04:00
lethosor
ce1158780f
Fix crash in stl_vsprintf() from reusing va_list
2017-07-13 13:07:58 -04:00
lethosor
d236181cdc
Merge remote-tracking branch 'BenLubar/repeat-util-cancel-self' into develop
2017-07-12 16:35:24 -04:00
lethosor
3103d697d9
Add an onLoad.init-example file
...
Closes #1093
2017-07-12 16:30:49 -04:00
lethosor
e3cd820fb1
Limit recursive runCommand() calls to 20
...
Addresses an issue with recursive aliases crashing (#701 )
2017-07-12 16:28:21 -04:00
Ben Lubar
7fed961fcd
Make repeatUtil.cancel work even when called from the callback. Closes #1122 .
2017-07-11 15:10:42 -05:00
lethosor
d628212254
Lua API: Use CallWithCatchWrapper for a few more functions
...
This produces more readable backtraces when native functions that aren't wrapped
using wrap_function() throw exceptions.
2017-07-01 17:39:39 -04:00
lethosor
6100074ba6
Add a few MD5 and thread functions to the Lua API
2017-07-01 17:39:17 -04:00
lethosor
7a7f1df908
Redirect stdout and stderr again on Windows
...
DF appears to redirect them itself at an inconvenient point.
Fixes #1124 (hopefully)
2017-06-30 13:29:05 -04:00
lethosor
cc0220f030
Add a "key" option to EditField and FilteredList
2017-06-27 21:10:14 -04:00
Vitaly Pronkin
6af5f3b299
fixing getItemBaseValue() for cheese, sheets and instruments
2017-06-26 09:17:23 +12:00
lethosor
10e13c532a
Add "tweak cage-butcher" and some extra Building module functions
...
* Buildings::markedForRemoval()
* Buildings::getCageOccupants()
Closes #906
2017-06-25 15:27:21 -04:00
lethosor
db375ae83b
Add a Pages:getSelectedPage() helper
...
Equivalent to select(2, pages:getSelected()), but more readable.
2017-06-23 12:46:46 -04:00
lethosor
bf8e65311b
Update submodules
2017-06-23 12:43:38 -04:00
lethosor
cda5cedacf
Fix Gui::refreshSidebar() on topmost z-level
2017-06-23 10:30:16 -04:00
lethosor
ae809afde7
Add Gui::refreshSidebar()
...
This handles feeding CURSOR_DOWN_Z and CURSOR_UP_Z properly, avoiding issues
when on the lowest z-level.
2017-06-23 00:02:21 -04:00
lethosor
0796fafb2a
Add new built-in "alias" command
...
Closes #701
2017-06-19 00:15:20 -04:00
lethosor
27343e3253
Add unit and tile visibility functions
2017-06-10 21:54:08 -04:00
lethosor
9b63c451b1
Expose getUnitsInBox to Lua
2017-06-10 21:03:42 -04:00
lethosor
778ffb0971
More Units module cleanup, modernize getUnitsInBox
2017-06-10 21:02:30 -04:00
lethosor
dff94fc97e
replacment -> replacement
2017-06-10 19:41:59 -04:00
lethosor
0ed7e60522
getAnyUnit: support viewscreen_layer_unit_relationshipst
2017-06-10 19:06:43 -04:00
lethosor
1321a64613
Remove lots of old/unused functions from the Units module
2017-06-10 17:21:34 -04:00
lethosor
ba68683964
Fix ncurses wgetch() on OS X
...
Ref #731
2017-06-08 13:05:31 -04:00
lethosor
8d23660d55
Expose Gui::getAny* to Lua
2017-06-08 11:21:30 -04:00
lethosor
047a66030b
getAnyUnit: add support for viewscreen_unitst, viewscreen_textviewerst
2017-06-07 20:51:40 -04:00
lethosor
da98a5054d
Make sc-script help more helpful
2017-06-04 19:24:26 -04:00
lethosor
92c2e52e45
Fix MSVC error
2017-06-02 21:22:19 -04:00
lethosor
4eb767c3f0
Expose getDepthAt() to Lua
2017-06-02 15:39:49 -04:00
lethosor
ae1aa49089
Add map parameter to Lua paintTile() and use in Painter
...
Also updated gui/siege-engine.lua
2017-06-02 12:42:51 -04:00
lethosor
9df35dd844
revealInDwarfmodeMap: use map y dimensions
2017-06-02 00:40:59 -04:00
lethosor
43c4a88068
Move some checks in paintTile/readTile after hooks are called
2017-06-02 00:40:14 -04:00
lethosor
346e8b91a9
Use getDwarfmodeViewDims() in getPanelLayout()
...
Allows C++ hooks to affect Lua scripts as well
2017-06-01 23:36:02 -04:00
lethosor
05f322ca30
Merge remote-tracking branch 'lethosor/lua-dmdims' into develop
2017-06-01 23:34:35 -04:00
lethosor
b28742cbd0
Respect script path when running ruby scripts
...
Fixes #1099
2017-06-01 16:20:26 -04:00
lethosor
d41ff4e836
Implement map parameters for Lua paintString() and fillRect(), update docs
2017-06-01 16:17:59 -04:00
lethosor
939aff3231
readTile(): add hook support and map parameter
2017-05-31 12:12:15 -04:00
lethosor
f4e18b2d87
Lua: implement to_first argument in dfhack.screen.dismiss()
...
This was mentioned in Lua API.rst, but never actually implemented.
2017-05-30 09:17:09 -04:00
lethosor
e51c5fc2cc
Allow key_pen option in some widget text
2017-05-28 23:11:37 -04:00
lethosor
f59be2a9a0
Expand focus strings for jobmanagement and workquota_condition viewscreens
2017-05-27 00:57:16 -04:00
lethosor
8600efd06b
Make git-describe faster if no git index files have changed
...
Running "git commit" in core and xml touches .git/index and
.git/modules/library/xml/index, respectively, so if neither of those have
changed, neither has the git information we care about, so avoid running git
entirely (which can be slow sometimes).
2017-05-20 16:27:14 -04:00
lethosor
b92095190f
Update stonesense, scripts, xml
2017-05-18 20:52:41 -04:00
lethosor
01c6416824
Update submodules
2017-05-13 21:56:08 -04:00
lethosor
787c54d8a7
Remove several unused CMake and Doxygen files
2017-05-11 22:01:57 -04:00
lethosor
9e32269e90
Update xml
2017-05-09 13:52:26 -04:00
lethosor
8bda738466
df_expr_to_ref: support integer array indices
2017-05-07 16:31:30 -04:00
lethosor
55931703ac
Designate the correct tile for trees with multi-tile trunks
...
DF always designates the southeast trunk tile, while plant.pos is the center,
which is sometimes inaccessible (see #1014 )
2017-05-05 21:25:25 -04:00
lethosor
adb14491d0
Fix loop in Designations::unmarkPlant()
2017-05-05 17:24:51 -04:00
lethosor
81610d0259
Update xml
2017-05-05 14:49:32 -04:00
lethosor
d3c496cc2b
Add getSelectedPlant() and related functions
...
Currently only works with the center tile of multi-tile trees
2017-05-05 14:45:46 -04:00