myk002
af47434f52
protect against 0 width in string:wrap()
2022-04-29 11:29:19 -07:00
Tachytaenius
b9c36c1e63
Added custom-raw-tokens utility ( #2038 )
...
* Added (chain) for [CHAIN_METAL_TEXT] armours in gui/materials.lua used by gui/create-item-- again (oops)
* Added customRawData utility
* Oops, whitespace
* Revised rawStringsFieldNames
* Dialed down on lua trickery and fixed wrongly formatted changelog entry
* Fixed changelog in wrong place and made customRawData a proper module
* Fixed not caching not-present tags, revised examples and fixed error
* Fixed whitespace. Changing settings in editor!
* customRawData docs
* Added getCreatureTag for respecting caste tags, "fixed" bizarre caching error (quotes because I don't even know what was causing it) and updated docs
* Added line limiting for docs, I guess
* Added missing string convert argument
* docs indent fix, code block fix, and revision
* Major revision
* gdi, docs error
* Another? But... huh.
* ...
* Made requested changes
* Whoops
* Rearrange docs lines
* Followed example, should fix linter issues
* fix typo. linted offline this time......
* Make it so that last instance of tag is what is read from
* Added requested change
* eventful key change
* i to lenArgs
* change eventful key
* add test for broken caste selection
* Major redesign
* tags --> tokens
* Added plant growth behaviour and did some requested changes
* More error handling
* fix docs
* Added basic error suppression
* Docs clarification.
* Docs registering example and fix error
* Strip errors on frame after onWorldLoad, not on map load
* Revert "Strip errors on frame after onWorldLoad, not on map load"
This reverts commit e20a0ef8d3743f79d961077f46910b77b16f36b9.
* Revert "Docs registering example and fix error"
This reverts commit 9c848c54c3f84e0ecc1dc421137c8a8b4a52280d.
* Revert "Docs clarification."
This reverts commit 6b4b6a1aa40c50398504f37ecf1ff0f93d6459b1.
* Revert "Added basic error suppression"
This reverts commit d11cb1438cf1e56ff700469e944f0b9af64651d7.
* Use more eventful key more consistent with other files
* use onStateChange instead of eventful and remove redundant utils require
* Code review stuff
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update docs/Lua API.rst
committing a suggestion
Co-authored-by: Alan <lethosor@users.noreply.github.com>
* Prepend examples with DFHACK_
* Remove unused parameters
* Use new ensure_key global
* Named a couple of unnamed arguments (untested)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2022-04-29 08:39:59 -07:00
Timur Kelman
f08a268e8a
add scroll icons to Label widget ( #2101 )
...
* WIP: add scroll icons to Label widget
It's an opt-out. The icons are rendered in the right-most column of the 1st and last row. They are only rendered when text can actually be scrolled in the corresponding direction.
WIP: Currently, the icons might overlay text characters, there is no mechanism preventing it
* gui.lua: expose the `parse_inset()` function
* refactor Label's scroll icon code
* since `render_scroll_icons` only works with a label, it's now a class function
* `update_scroll_inset` ensures `frame_inset.r` or `.l` is at least 1, according to `show_scroll_icons`
* `show_scroll_icons` has 4 possible values: `false` for no icons, `left` for icons on the first column on the left (also ensuring `frame_inset.l >= 1`), `right` - last column on the right, `DEFAULT_NIL` - same as `right` if text height greater than `frame_body.height`, else same as `false`.
* make `render_scroll_icons` always draw icons
The check now happens in `onRenderFrame`
* draw frame's background
calling `Label.super.onRenderFrame(self, dc, rect)` makes frame's background invisible for some reason
* remove trailing spaces
* fix scroll icons placed far above/below text
With `Label.frame_inset = 1` the text could be vertically centered with plenty of space below and above,
but not all rendered. Before this change, the scroll icons would be at the very top and bottom of the frame
instead of near the first and last rendered text line.
* always `update_scroll_inset` to react to resized window
* draw scroll icons next to text
* update `Lua API.rst` with new `Label` parameters
* move comment separator up
This way every scroll related parameter is in one group
* list default values for new parameters in docs
* add missing description of `Label.scroll_keys`
2022-04-29 06:55:08 -07:00
myk002
dcadde38d7
add new global function: ensure_key
2022-04-27 17:35:49 -07:00
myk002
6ad362d698
return a reference to the created dialogs
2022-04-27 11:51:46 -07:00
Ryan Williams
b56d9520e9
Fix trailing whitespace
2022-04-25 00:39:05 -07:00
Ryan Williams
861a0ee85e
Update LuaApi.cpp
...
Wrappers for autoDFAnnouncement, pauseRecenter, and recenterViewscreen.
2022-04-24 22:52:31 -07:00
Ryan Williams
c7be54dac0
Update Gui.cpp
...
Add reverse engineered functions: parseReportString, autoDFAnnouncement, recenterViewscreen, and pauseRecenter.
Add versions of autoDFAnnouncement that don't take a report_init struct and that log unprinted announcements.
Add utility functions: recent_report, recent_report_any, delete_old_reports, and check_repeat_report.
2022-04-24 22:45:26 -07:00
Ryan Williams
89ed9950c7
Update Gui.h
...
Added parseReportString, which parses a string using '&' as a control character (&r as newline, && as &) and cuts to a certain length w/o splitting words.
Added autoDFAnnouncement, which takes a report_init and a string, and handles them like DF does.
Added variants to log unprinted announcements and to build the report_init from arguments.
Added pauseRecenter, which recenters on an xyz coord (item style, not unit) and optionally pauses, while respecting pause_zoom_no_interface_ms.
Added variant that takes a pos.
Added recenterViewscreen, which recenters on an xyz coord using a report zoom style (item, unit, generic. revealInDwarfmodeMap calls "unit" style "center". Generic style ignores coords and just enforces valid view bounds.)
Added variants that take pos or use current cursor coords.
2022-04-24 22:32:41 -07:00
myk002
ed5523152c
factor text wrapping out of TooltipLabel into WrappedLabel
2022-04-22 09:53:10 -07:00
myk002
809f9316fd
make frame inset configurable for ListBox list
2022-04-22 08:30:53 -07:00
Josh Cooper
9c9a7ef99a
Adds consistent interface signatures for Maps module
2022-04-21 19:40:58 -07:00
Tim Siegel
b56f57c074
cmake: Add SDL dep for Linux dfhack; deprecate BUILD_TESTS
...
On Linux, libdfhack.so depends on libSDL.so, but that was not marked
inside CMake. As it's only used via LD_PRELOAD, there was no problem.
But when linking unit tests against it, this becomes necessary. It may
be wise to add a find_package(SDL) to provide the user with more
control, but just a hard-coded "SDL" should work for most installs.
The CTest module creates a BUILD_TESTING option, which clashes
(thematically, not in code) with the existing BUILD_TESTS option.
Resolve it thus:
- Deprecate BUILD_TESTS; it still works, but is marked as an advanced
option so it doesn't show in the CMake UI by default.
- Add a new BUILD_TEST_SCRIPTS that does what BUILD_TESTS used to do,
but is a "dependent" option so it goes away if BUILD_TESTING=OFF.
The up-shot is that, by default, the C++ unit tests will be built
(BUILD_TESTING=ON) and the Lua integration tests are not installed
(BUILD_TEST_SCRIPTS=OFF).
2022-04-21 18:44:33 -04:00
Tim Siegel
6daa13ad51
unit testing: Link test executables against libdfhack
...
Note: Hard-coded "SDL" here is wrong, but requires some refactoring in
top-level CMakeLists.txt to fix.
2022-04-21 10:42:19 -04:00
Tim Siegel
26a9bf9671
unit tests: Add CTest support, and a trivial first unit test
...
If BUILD_TESTS=ON:
- Adds a 'test' target for ninja
- Adds a library/MiscUtils.test unit test executable
2022-04-20 22:24:13 -04:00
DFHack-Urist via GitHub Actions
62b02c2367
Auto-update submodules
...
library/xml: master
2022-04-19 07:17:48 +00:00
Josh Cooper
251f4f92c8
Fixes build errors
2022-04-18 23:53:23 -07:00
Josh Cooper
ff2bd8d953
Retypes the EventManager's constructions container
2022-04-18 23:53:23 -07:00
Josh Cooper
d6b2629cfc
Adds hash functions and operator overloads for event data structures
2022-04-18 23:53:23 -07:00
Josh Cooper
64b7de0339
Revises getVerb signature
2022-04-18 22:46:38 -07:00
Josh Cooper
018d189494
Simplifies report index safety
2022-04-18 22:46:38 -07:00
Josh Cooper
1f972d6c1c
Implements clang-tidy suggestions
2022-04-18 22:46:38 -07:00
myk002
07761e1d5d
add some more handy widgets to the library
...
TooltipLabel
HotkeyLabel
CycleHotkeyLabel
ToggleHotkeyLabel
2022-04-18 17:37:11 -07:00
Timur Kelman
cb123e5076
default unset `frame_inset` values to 0 ( #2100 )
...
* default unset `frame_inset` values to 0
This change allows writing `frame_inset = {r=1}` instead of `frame_inset = {l=0, r=1, t=0, b=0}`
2022-04-16 08:17:35 -07:00
Josh Cooper
9bf9a79a11
EventManager/Eventful - Generate event arrays ( #2097 )
...
* Replaces EventManager.cpp's event array with an auto-gen one
* Replaces eventful.cpp's event array with auto-gen one
2022-04-14 21:47:25 -07:00
lethosor
0f464b13b3
Merge remote-tracking branch 'lethosor/pre-commit' into develop
2022-04-12 21:17:15 -04:00
lethosor
d1f0edd33b
Apply initial pre-commit config
2022-04-12 14:48:19 -04:00
DFHack-Urist via GitHub Actions
f3386d0621
Auto-update submodules
...
library/xml: master
scripts: master
2022-04-12 07:18:03 +00:00
Myk
fd1ee233a2
automatically manage sidebar modes in MenuOverlay ( #2083 )
2022-04-11 20:58:54 -07:00
Myk
10f22ecc27
add ResizingPanel class and autolayout for Panels ( #2086 )
...
* add autolayout for Panels and new ResizingPanel
2022-04-11 18:25:00 -07:00
Myk
e6299700bf
Handle punctuation in FilteredList filter matching ( #2085 )
...
* allow punctuation to be typed into a filter
and allow the filter to match keys with punctuation
2022-04-11 18:22:31 -07:00
myk002
4a383b1c84
handle number-indexed lua maps in safe_index
2022-04-11 18:02:57 -07:00
Myk
4f9608da13
Document and update argparse module ( #2089 )
...
also add unit tests and use new string fns in processArgs and allow it to recognize parameters with two dashes instead of just one
2022-04-11 16:16:55 -07:00
Myk
9a8fd12785
ensure ListBoxes always have enough height ( #2084 )
...
so they can always display an error message if the filter doesn't match anything
2022-04-11 16:15:50 -07:00
Myk
96b5b4420b
Add string:escape_pattern() utility function ( #2082 )
...
* add string:escape_pattern() to dfhack.lua
stolen from devel/query.lua. will migrate scripts to use the common implementation later
2022-04-10 21:18:01 -07:00
DFHack-Urist via GitHub Actions
39f5084902
Auto-update submodules
...
library/xml: master
scripts: master
2022-04-07 07:17:48 +00:00
DFHack-Urist via GitHub Actions
b313b31879
Auto-update submodules
...
library/xml: master
2022-04-03 07:16:42 +00:00
DFHack-Urist via GitHub Actions
8b09e9bbf9
Auto-update submodules
...
library/xml: master
2022-03-31 07:17:20 +00:00
Alan
ec0941da2f
git-describe: fail earlier if git fails to run or doesn't exist ( #2061 )
...
In cases where the cached `GIT_EXECUTABLE` does not exist, `git-describe.cmake`
would fail silently, resulting in a `git-describe.h` with missing definitions
that caused `DFHackVersion.cpp` to fail to compile.
This change produces a more descriptive error earlier in the build process.
2022-03-30 14:49:18 -07:00
Myk
257e7a3dfd
[core] Debug logging facelift ( #2060 )
...
* route 'Loading script...' messages through the debug logging framework
* they are now controllable via debugfilter. to turn off, add this to your dfhack.init file: debugfilter set Warning core script
* clarify debug logging docs
* prevent DEBUG messages from being compiled out of the binary
* recolor INFO messages so they blend into existing console output
* add configuration interface for log message header elements so they are individually configurable. all default to off
2022-03-30 14:46:09 -07:00
Myk
2df6980237
fix crash in eventful due to misaligned fn map ( #2059 )
...
also add warnings in eventful and EventManager to prompt devs to keep them in sync
2022-03-29 12:51:21 -07:00
Josh Cooper
69ca0d8a28
Improves support for dfhack as a sub-project ( #2058 )
...
Replaces CMAKE_SOURCE_DIR with dfhack_SOURCE_DIR so it can be included in other cmake projects that have a different top-level CMAKE_SOURCE_DIR
2022-03-29 10:28:52 -07:00
Josh Cooper
b18eff9ce2
Revert EventManager to previous behavior, but keep new events
...
Fixes #2031
2022-03-29 09:42:24 -07:00
myk002
db5e7d55c1
fix guidm.enterSidebarMode(DesignateMine)
...
it would end up in DesignateChopTrees if you happened to be looking at
the surface z-level.
2022-03-28 16:57:24 -07:00
DFHack-Urist via GitHub Actions
bbea31db34
Auto-update submodules
...
library/xml: master
2022-03-26 07:16:35 +00:00
Tachytaenius
19c0a4fe06
Added (chain) for [CHAIN_METAL_TEXT] armours in library/gui/materials.lua used by the gui/create-item script ( #2037 )
2022-03-19 15:32:16 -07:00
Ryan Williams
88b403ec7a
Add functions reverse-engineered from ambushing unit code ( #1992 )
...
* Add functions reverse-engineered from ambushing unit code
* Fix whitespace
* Fix debug_showambush check
* Remove getOuterContainerRef from Lua API
Don't think this works properly without allocating a new specific_ref. More trouble that it's worth.
* Fixed tile visibility check
* I don't think gamemode or gametype are ever NULL
* Minor tweaks to documentation
* Reimplement getOuterContainerRef for Lua; fix some comments
* Update Units.cpp and changelog
* Update Units.cpp
* Update changelog.txt
2022-03-13 17:19:35 -07:00
DFHack-Urist via GitHub Actions
8a4ddacff3
Auto-update submodules
...
library/xml: master
scripts: master
2022-03-13 07:15:55 +00:00
Kelly Kinkade
3d4c96de56
update Job.cpp to use the DF-provided job cancel method
...
use DF's provided job cancel function instead of the hackadoo workaround we used to use
2022-03-12 15:37:33 -08:00
Quietust
aa1bc3fe52
Cleanup Kitchen module (and the seedwatch plugin which uses it)
2022-03-12 12:04:34 -08:00
Josh Cooper
3f05859780
Revises manageJobStartedEvent, and adds comments
2022-03-12 11:33:27 -08:00
Josh Cooper
c8e7869375
Fixes some build errors
2022-03-12 11:33:27 -08:00
Josh Cooper
524f1670ed
Fixes missing namespace
2022-03-12 11:33:27 -08:00
Josh Cooper
ba5710f263
Adds new event type NEW_UNIT_ACTIVE
2022-03-12 11:33:27 -08:00
Josh Cooper
6ace4b2cf8
Fixes mistake in EventManager::manageTickEvent
2022-03-12 11:33:27 -08:00
Josh Cooper
b8ad0131ea
Modifies EventManager::registerTick to retain old behaviour of re-registering tick events
2022-03-12 11:33:27 -08:00
Josh Cooper
fb51e2d8b5
Adds comments to members of EventHandler
2022-03-12 11:33:27 -08:00
Josh Cooper
1107c03b86
Modifies EventManager unit loops
2022-03-12 11:33:27 -08:00
Josh Cooper
c550a6caf0
Updates EventManager job loops
2022-03-12 11:33:27 -08:00
Josh Cooper
07ffa0b8da
Fixes bug in manageJobStartedEvent
2022-03-12 11:33:27 -08:00
Josh Cooper
24255d3195
Adds event type JOB_STARTED
2022-03-12 11:33:27 -08:00
Josh Cooper
48444afbd5
Fixes issue in manageJobCompletedEvent
2022-03-12 11:33:27 -08:00
Josh Cooper
3e72d549d1
Switches iterators to pre-increment instead of post for EventManager
...
My understanding is that iterators (.begin()/end()) are slightly faster with
pre-increment instead of post. Something about avoiding a copy if I recall correctly.
I replaced all `([:alpha:]+)\+\+` with `++$1` so non-iterators were switched as well - luckily there is no impact to pre/post aside from with iterators.
2022-03-12 11:33:27 -08:00
Josh Cooper
f5ced46608
Refactors EventManager
...
- handler freq now works on an individual handler basis (set to 0 to fire as frequently as possible)
- tick events no longer need to be re-registered after every eventful tick
2022-03-12 11:33:27 -08:00
Josh Cooper
12df6d14e9
Improves documentation for plugin writing
2022-03-12 11:33:27 -08:00
myk002
cf54b84fd6
Bump to 0.47.05-r4
2022-03-09 14:27:20 -08:00
myk002
31397af99b
cache civzones so lookup is O(1) instead of O(N)
2022-02-26 15:32:25 -08:00
myk002
a7085ea36b
report to the console and stderr when we run inits
2022-02-25 12:59:38 -08:00
myk002
faa2410058
fix typos in argparse
2022-02-18 14:54:45 -08:00
myk002
e531346968
make a (shallow) copy of table params
...
this improves introspection capabilities since the table is snapshotted
at the time of the mock call
2022-02-18 13:33:08 -08:00
DFHack-Urist via GitHub Actions
e1e3c6f7ac
Auto-update submodules
...
library/xml: master
2021-10-29 07:16:44 +00:00
myk002
42ae45dd5f
support designate for enterSidebarMode
2021-10-02 09:26:32 -07:00
DFHack-Urist via GitHub Actions
b51d7cc80d
Auto-update submodules
...
library/xml: master
2021-09-28 07:15:58 +00:00
myk002
ecdfca89d1
support nil to indicate no short param name
2021-09-25 22:00:49 -07:00
myk002
fc556c9e5d
implement non-alias long form params
...
now long form parameters can exist by themselves without being an alias
for a required equivalent short form param
2021-09-25 22:00:49 -07:00
lethosor
17de88e839
Fix some warnings on macOS
2021-09-07 11:58:44 -04:00
lethosor
e7754ea890
Enable -Wunused-variable and fix most errors
2021-09-07 01:16:21 -04:00
lethosor
1295633722
Bump to 0.47.05-r3
2021-09-04 14:00:31 -04:00
DFHack-Urist via GitHub Actions
afca336679
Auto-update submodules
...
library/xml: master
scripts: master
2021-09-03 07:15:42 +00:00
DFHack-Urist via GitHub Actions
b509a0b571
Auto-update submodules
...
library/xml: master
2021-09-02 07:20:39 +00:00
lethosor
d5be63823d
Merge remote-tracking branch 'TymurGubayev/patch-1' into develop
2021-08-31 00:55:36 -04:00
lethosor
186eab8ab8
Update xml
2021-08-27 01:03:25 -04:00
DFHack-Urist via GitHub Actions
61cdc24e4a
Auto-update submodules
...
library/xml: master
scripts: master
2021-08-25 07:18:36 +00:00
myk002
691e54dfc6
rename expect.find to expect.str_find
2021-08-24 21:06:12 -07:00
myk002
b2f44f00f1
add pattern matching expect.find() for unit tests
...
settled on `find()` since the string method of the same name has the
same semantics. other options: `str_find()` since it fails on non-string
or `match()` (but that might imply that the pattern needs to match the
entire string).
2021-08-23 22:59:30 -07:00
lethosor
10db894d99
Merge remote-tracking branch 'myk002/myk_printall_nontable' into develop
2021-08-21 22:51:35 -04:00
lethosor
d4e40b260e
Merge remote-tracking branches 'TymurGubayev/patch-2' and 'TymurGubayev/patch-3' into develop
2021-08-21 11:30:36 -04:00
Timur Kelman
ca8d89df5a
alt_getopt.lua: allow `?` as an option
...
This makes it possible to call `script -?`
2021-08-21 13:39:10 +02:00
Timur Kelman
bd423ca47c
argparse.lua: `hasArgument` in a comment refers to `hasArg` everywhere else
2021-08-21 13:27:09 +02:00
myk002
86b2329b7f
fix hardcoded call to pairs, add test
2021-08-20 22:55:07 -07:00
myk002
d9c6c2dde3
add safe_pairs, update unit tests
2021-08-19 21:57:16 -07:00
myk002
6d0f7e40a9
be silent if iteration fails for printall
2021-08-19 21:57:16 -07:00
myk002
3f2795e80a
unit tests first draft
2021-08-19 21:56:44 -07:00
myk002
9fc71ef6e1
printall and printall_ipairs handle all iterables
2021-08-19 21:56:43 -07:00
myk002
4606d5742e
ensure printall, ~, and @ behave in lua 5.3.6
2021-08-19 21:56:41 -07:00
myk002
e9eef31344
refactor list item removal into a library fn
2021-08-19 19:51:25 -07:00
Myk
8b824244ac
Update library/modules/Items.cpp
...
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2021-08-19 19:21:27 -07:00
myk002
06a85d6f0d
handle projectiles in the Items module
2021-08-19 17:44:13 -07:00
DFHack-Urist via GitHub Actions
ef0ddb729e
Auto-update submodules
...
library/xml: master
depends/luacov: dfhack
2021-08-12 02:10:05 +00:00
lethosor
e8d9a9d184
Fix out-of-bounds access in memscan.field_offset()
...
Fixes #1907
2021-08-10 11:26:06 -04:00
myk002
192dfd51ee
clear modstate on window focus
...
this fixes the issue where the alt modstate was getting stuck on systems
that don't send standard keyup events after alt-tab. for example, in KDE
Plasma (on Gentoo, at least), the keyup event when alt is released after
alt-tab contains an incorrect keycode (NUMLOCK instead of L_ALT), which
was preventing us from correctly clearing the alt modstate.
2021-08-06 07:10:42 -07:00
lethosor
d572c6c9dd
Update xml ( dfhack/df-structures#434 )
2021-08-04 23:21:28 -04:00
myk002
5b960b97bc
fix comment for Maps::getSize(); add getTileSize()
2021-07-30 13:09:12 -07:00
Timur Kelman
15d8a0bea2
rename `dismiss_on_submit|2` to `dismiss_on_select|2`
...
to avoid confusion
2021-07-30 17:25:01 +02:00
Timur Kelman
ffecdf3b53
ListBox attributes controlling self:dismiss()
...
`dismiss_on_submit = false` makes it easier to implement toggleable options, where we don't want the list to disappear on selection. Like work order conditions' trait selection.
2021-07-29 19:00:19 +02:00
DFHack-Urist via GitHub Actions
b2054801fa
Auto-update submodules
...
library/xml: master
scripts: master
2021-07-15 07:14:59 +00:00
lethosor
dde589967a
Bump to 0.47.05-r2, update changelog
2021-07-09 21:21:36 -04:00
lethosor
898d4621da
Merge remote-tracking branch 'myk002/myk_view_unit' into develop
2021-07-05 20:42:49 -04:00
myk002
87c7d02e09
support view unit mode for guidm.enterSidebarMode
2021-07-05 16:02:19 -07:00
myk002
17d4be14f3
fix formatting of coords error message
2021-07-05 16:01:07 -07:00
myk002
f62ff3ecc0
migrate existing lua code to use new library fns
2021-07-05 15:48:51 -07:00
lethosor
f33db33c8f
Merge remote-tracking branch 'myk002/myk_force_extents' into develop + add extra changelog note
...
Conflicts:
docs/changelog.txt
2021-07-05 15:52:03 -04:00
lethosor
2f36404da7
Merge remote-tracking branch 'origin/lua_label_input_fix' into develop
2021-07-05 15:42:06 -04:00
lethosor
3e6cecbbc6
Merge remote-tracking branch 'myk002/myk_argparse' into develop
2021-07-05 15:21:59 -04:00
lethosor
fb7560d8bf
Merge remote-tracking branch 'wolfboyft/patch-2' into develop
2021-07-05 11:41:37 -04:00
myk002
0ef5134a33
add optional coordinate validation to coords
2021-07-04 07:32:29 -07:00
myk002
56a1c8b4d5
coordinates can be 0
2021-07-03 16:26:39 -07:00
myk002
3a8f564cd2
forward old processArgs fns to new locations
2021-07-02 23:21:40 -07:00
myk002
9535ff82bb
add argparse library functions
2021-07-02 23:11:17 -07:00
myk002
36b2d05ff6
add dfhack string functions and tests
...
added string:split
added string:trim
added a default value for wrap width
added function comments
added tests for all string functions (the tests for string:split will be commented out until we remove the competing implementation in gui/load-screen
2021-07-02 13:21:54 -07:00
myk002
eafa6e86f7
add utils.normalizePath()
2021-06-29 12:22:05 -07:00
lethosor
e070f4d9d8
Merge remote-tracking branch 'myk002/myk_sidebar' into develop
2021-06-28 01:03:13 -04:00
lethosor
4945018e92
Merge remote-tracking branch 'myk002/myk_multi_mock' into develop
2021-06-25 01:27:46 -04:00
lethosor
96dd249be0
getAnyPlant: use Maps::getPlantAtTile
...
Followup to #1882
2021-06-25 01:08:58 -04:00
Ryan Williams
5807d6fbfa
Merge branch 'DFHack:develop' into patch-1
2021-06-23 23:08:01 -07:00
Ryan Williams
c5e7a54d97
Rename to getPlantAtTile; remove extra variables
2021-06-23 23:03:22 -07:00
Ryan Williams
c5fb28a13c
Rename getPlantAtCoords to getPlantAtTile
2021-06-23 23:00:30 -07:00
Ryan Williams
818ff7a946
Rename getPlantAtCoords to getPlantAtTile
2021-06-23 22:59:39 -07:00
lethosor
1b167e7898
Also add quotes in expect.ne()
...
Extension of #1886
2021-06-24 01:15:15 -04:00
lethosor
72998cddd5
Merge remote-tracking branch 'myk002/myk_expect_quotes' into develop
2021-06-24 01:11:21 -04:00
myk002
67840c033c
add quotes around printed unequal values
...
so you can see confusing hidden trailing spaces
2021-06-23 14:04:16 -07:00
myk002
5b12c64cba
add new string function: wrap()
...
refactored and improved from the implementation in quickfort's dialog.lua
2021-06-23 13:59:39 -07:00
myk002
000b589e3a
add dwarfmode library function: enterSidebarMode()
...
refactored from quickfort. this common implementation will replace the
now redundant functions in quickfort, gui/mass-remove, and gui/blueprint
2021-06-23 12:29:37 -07:00
Ryan Williams
bc841f595e
Update LuaApi.cpp
2021-06-22 20:05:45 -07:00
Ryan Williams
b64e28253f
Update Maps.cpp
2021-06-22 20:03:18 -07:00
Ryan Williams
d81de5e4c7
Add getPlantAtCoords function to Maps namespace
...
Derived from disassembly of DF code. Returns a pointer to plant struct that owns the tile at position. Useful for finding a tree from one of its branches. Lua API support.
2021-06-22 20:01:10 -07:00
Warmist
b7069a5ebd
Fix label early key detection in scrolling logic
...
Current logic is because @myk002 fixed it so label would allow other widgets control when label(s) are present. However that breaks label key detection for default scroll keys. This can be worked around by setting scrollkeys to empty.
TBH: label is quite complicated and used everwhere so i'm reluctant to touch it and would love for someone to look over if i'm correct.
2021-06-22 11:31:00 +03:00
Tachytaenius
990c153a9a
Show adjective in item prompt
...
Useful for high boot/low boot etc.
2021-06-19 13:59:38 +01:00
lethosor
2fc5fbacb5
Merge remote-tracking branch 'myk002/myk_reveal_unhideFlood' into develop
2021-06-19 01:08:05 -04:00
myk002
b7a970a309
allow mock.func() to return multiple values
2021-06-15 13:16:05 -07:00
myk002
1a016a0ff3
force creation of extents for abstract buildings
2021-06-07 07:02:46 -07:00
myk002
fc860478e4
move fastdwarf's teleport code to Units module
...
and expose in Lua API
2021-06-06 08:48:32 -07:00
myk002
fb8d6614c7
expose core flood unhide logic to Lua
...
refactor is a straight copy-paste. this code could really stand some
cleanup (unused vars, unnecessary use of the MapCache layer, forced
allocation of all blocks even if they are not being unhidden, etc.), but
that can come in a later PR.
2021-06-02 14:49:19 -07:00
lethosor
4f976a5909
Merge remote-tracking branch 'myk002/myk_blueprint' into develop
2021-05-24 23:48:21 -04:00
DFHack-Urist via GitHub Actions
ed290e104a
Auto-update submodules
...
library/xml: master
2021-05-21 07:24:42 +00:00
myk002
aff5c9bf35
add getCursorCoords overload for df::coord
...
and factor out active cursor detection
2021-05-15 12:05:00 -07:00
myk002
59b08e99f6
fix -- handling and required arg detection
2021-05-07 15:21:45 -07:00
myk002
fd735d4b42
treat negative numbers as non-options in getopt
2021-05-07 15:21:45 -07:00
DFHack-Urist via GitHub Actions
27433b7388
Auto-update submodules
...
library/xml: master
2021-05-07 07:20:06 +00:00
DFHack-Urist via GitHub Actions
06612182ec
Auto-update submodules
...
library/xml: master
scripts: master
2021-04-24 07:08:43 +00:00
DFHack-Urist via GitHub Actions
22752f0630
Auto-update submodules
...
library/xml: master
2021-04-23 07:08:50 +00:00
lethosor
ee8e10429d
Add initial implementation of mock.restore()
...
Like mock.patch() but only restores original values instead of also setting
new values initially.
2021-04-16 00:34:46 -04:00
DFHack-Urist via GitHub Actions
792bf14921
Auto-update submodules
...
library/xml: master
2021-04-13 07:08:38 +00:00
lethosor
757736728d
Add a mock.func() helper for mocking functions
2021-04-10 01:22:03 -04:00
lethosor
5424392273
mock.patch(): propagate return values
2021-04-09 00:41:39 -04:00
lethosor
f25b8a0d14
Fix patching value with nil
2021-04-09 00:35:54 -04:00
lethosor
7b2f01d45b
Add initial mock.patch() implementation for tests
2021-04-09 00:32:10 -04:00
DFHack-Urist via GitHub Actions
172821af17
Auto-update submodules
...
library/xml: master
scripts: master
2021-04-07 07:07:27 +00:00
myk002
642d8cbe4b
handle nil values sent to printerr
2021-04-05 01:37:43 -07:00
myk002
13ca7f8c9e
move expect.lua from internal/ to test_util/
2021-04-04 17:37:37 -07:00
myk002
5af1b627cb
add tests, move expect.lua
...
I moved expect.lua from library/lua/test/ to library/lua/internal since
luacov is configured to ignore any file with /test/ in its path
2021-04-04 17:37:36 -07:00
myk002
a6561911c1
error on unmatched printerr output during a test
...
- provides expect,printerr_match for matching printerr output
- fails tests if printerr is called outside the printerr_match wrapper
- changes api of expect.error_match to mirror the new printerr_match api
2021-04-04 17:37:33 -07:00
lethosor
dfb52a2aba
Merge remote-tracking branch 'lethosor/command-prompt-fix-gui-scripts' into develop
...
Conflicts:
docs/changelog.txt
2021-04-02 21:53:14 -04:00
lethosor
8129fdab4e
Merge remote-tracking branch 'myk002/myk_invalidate_scripts' into develop
2021-03-31 00:50:31 -04:00
Ben Lubar
c06d1f8e52
tagged union support for lua ( #1818 )
2021-03-30 15:55:06 -05:00
myk002
4e844f39ae
undo formatting change in script_environment
2021-03-29 12:29:15 -07:00
myk002
54a1e8d98a
move script_environment changes to test.lua
2021-03-29 12:23:53 -07:00
myk002
e4cab1b1c6
load scripts into different namespace for testing
2021-03-29 11:26:28 -07:00
DFHack-Urist via GitHub Actions
badf471434
Auto-update submodules
...
library/xml: master
2021-03-29 07:07:32 +00:00
lethosor
2332009825
Merge remote-tracking branch 'myk002/myk_enable_luacov' into develop
2021-03-28 00:38:36 -04:00
lethosor
5e09fd882d
Fix Painter:viewport()
...
This works because Painter inherits from ViewRect. Unsure how this went unnoticed.
2021-03-27 16:55:48 -04:00
DFHack-Urist via GitHub Actions
d5ba1a3d23
Auto-update submodules
...
library/xml: master
2021-03-27 07:11:38 +00:00
lethosor
dbd35359be
Update xml
2021-03-24 22:07:37 -04:00
lethosor
62776f5568
Move `expect` functions to a separate file
...
This allows tests to test these functions without needing to include the test
wrapper directly (now ci/test.lua, formerly test/main.lua). Hopefully this
location is also more stable, similar to other libraries that are already tested.
2021-03-24 00:48:52 -04:00
lethosor
e9efa6c961
Update xml, fix + improve robustness of unions.lua unit tests
...
- unit_action_fields(): handled primitive union members correctly
- unit_action_type(): added messages to make failures easier to diagnose
- Also removed redundant checks that effectively checked that
`enum.attrs[k] == enum.attrs[v]` - this is out of scope of union tests
2021-03-23 21:24:57 -04:00
DFHack-Urist via GitHub Actions
d5d41cd374
Auto-update submodules
...
library/xml: master
2021-03-22 07:20:39 +00:00
lethosor
59b023c71d
Ensure that command-prompt is dismissed after a command creates a new screen
...
Fixes #1803
Running a command that created a new screen would previously result in a screen
order that looked like this, due to how `Screen::Hide` works:
- DF screen
- `command-prompt` screen (dismissed)
- New screen
The `command-prompt` screen remained on the stack until the new screen was
dismissed, so it would intercept viewscreen vmethod calls intended for the
DF screen.
This change adds a new behavior to `Screen::Hide` that results in this screen
order after running a command:
- DF screen
- New screen
- `command-prompt` screen (dismissed) - DF removes this screen immediately
2021-03-21 20:42:50 -04:00
lethosor
fcb17da223
Update authors ( #1801 ), xml
2021-03-20 19:21:39 -04:00
lethosor
e8f8471af4
Update xml
...
Ref DFHack/df-structures#423
2021-03-12 00:26:02 -05:00
myk002
8fe3dac0b1
only enable luacov for the core context
2021-03-10 23:31:30 -08:00
lethosor
890fd5c746
Merge remote-tracking branch 'myk002/myk_no_test_docstrings' into develop
2021-03-10 00:44:23 -05:00
DFHack-Urist via GitHub Actions
7ea44010e0
Auto-update submodules
...
library/xml: master
2021-03-09 07:15:44 +00:00
myk002
916a10d717
exempt lua test files from docstring requirements
...
and don't display them with 'ls'
2021-03-07 08:52:45 -08:00
myk002
49b34b52f5
update docs
2021-03-07 08:16:25 -08:00
myk002
754baa45b3
remove io overrides
...
they were causing side effects when writing luacov reports
2021-03-07 08:16:24 -08:00
myk002
ba6a02eb59
call luacov.runner.init directly and clean up dbg
2021-03-07 08:16:24 -08:00
myk002
418a8c5d21
propagate luacov debug hook through coroutines
2021-03-07 08:16:24 -08:00
lethosor
032cd64c10
Bump to r1, update submodules and changelog
2021-03-06 13:30:16 -05:00
lethosor
2f629f3b22
Update xml
2021-03-06 12:29:35 -05:00
DFHack-Urist via GitHub Actions
fe175876aa
Auto-update submodules
...
library/xml: master
scripts: master
2021-03-06 07:15:27 +00:00
DFHack-Urist via GitHub Actions
e72125dbff
Auto-update submodules
...
library/xml: master
scripts: master
2021-03-05 07:15:28 +00:00
DFHack-Urist via GitHub Actions
1698a80c49
Auto-update submodules
...
library/xml: master
scripts: master
2021-03-04 07:15:38 +00:00
DFHack-Urist via GitHub Actions
12ad300d64
Auto-update submodules
...
library/xml: master
2021-03-03 07:16:20 +00:00
DFHack-Urist via GitHub Actions
c9545268fa
Auto-update submodules
...
library/xml: master
2021-03-02 07:15:54 +00:00
DFHack-Urist via GitHub Actions
ed3f11a31d
Auto-update submodules
...
library/xml: master
2021-03-01 07:15:58 +00:00
DFHack-Urist via GitHub Actions
3185d4d6cc
Auto-update submodules
...
library/xml: master
2021-02-28 07:15:33 +00:00
DFHack-Urist via GitHub Actions
5affbce13b
Auto-update submodules
...
library/xml: master
2021-02-27 07:15:42 +00:00
lethosor
cb9ed4ff0c
Merge remote-tracking branch 'myk002/myk_manipulator' into develop
...
Conflicts:
docs/changelog.txt
2021-02-25 00:39:01 -05:00
DFHack-Urist via GitHub Actions
29db977bc7
Auto-update submodules
...
library/xml: master
scripts: master
2021-02-23 07:15:29 +00:00
Ben Lubar
f3dd38a038
update structures
2021-02-18 18:18:34 -06:00
myk002
9e17bc938c
only set labor validity for the player civ
2021-02-17 09:16:49 -08:00
Ben Lubar
416fc32cb2
update scripts and structures
2021-02-15 11:49:34 -06:00
Ben Lubar
ef1ac6ff40
update structures
2021-02-13 16:23:01 -06:00
myk002
55743fc43f
Merge remote-tracking branch 'upstream/develop' into myk_manipulator
2021-02-13 07:16:58 -08:00
lethosor
49b6e814db
Bump to beta1, update submodules
2021-02-10 21:08:45 -05:00
Ben Lubar
a051077820
update structures
2021-02-10 18:54:12 -06:00
lethosor
625380a30b
Update submodules
2021-02-09 00:11:59 -05:00
myk002
6819ee9928
make alchemist flag valid for controllable civs
2021-02-05 16:45:39 -08:00
lethosor
06cd0c8437
Make libz.dylib optional on macOS
...
Thurin reports that the path specified does not exist on macOS 11.2, and DFHack links successfully without it.
CMake output from the find_package(ZLib) call in /CMakeLists.txt:
Found ZLIB: /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/usr/lib/libz.tbd (found suitable version "1.2.11", minimum required is "1.1.2")
2021-02-01 23:23:19 -05:00
lethosor
353b8b71f5
Update xml
2021-01-31 13:24:21 -05:00
lethosor
233925ec75
Bump to 0.47.05-alpha0, update xml
2021-01-31 12:10:00 -05:00
lethosor
7e12f3fd3d
Fix off-by-one, adjust changelog, move scroll keys to consistent place
...
Ref #1748
2021-01-30 19:40:15 -05:00
lethosor
8967e98a33
Merge remote-tracking branch 'myk002/myk_scrollable_labels' into develop
2021-01-30 19:33:04 -05:00
lethosor
813a353ec2
Update xml
2021-01-30 18:08:32 -05:00
lethosor
4126585573
Merge remote-tracking branch 'lethosor/lua-runcommand' into develop
2021-01-29 20:27:38 -05:00
lethosor
de6f9183fd
Fix changelog, replace a couple qerror calls with error
...
Ref #1746
2021-01-29 00:04:10 -05:00
lethosor
d4aef78b26
Merge remote-tracking branch 'myk002/myk_getopt' into develop
2021-01-28 23:58:45 -05:00
myk002
32a0363f31
move identity check up a bit to avoid useless work
2021-01-24 08:57:56 -08:00
myk002
03719f58df
avoid infinite parentage when linking rooms
2021-01-24 08:52:34 -08:00
myk002
5a2181d55e
don't render overflow text
2021-01-13 22:02:22 -08:00
myk002
39d274b00e
address review comments
2021-01-12 23:42:53 -08:00
myk002
d4fbf4261f
address review comments
2021-01-12 23:27:14 -08:00
myk002
dac9538fd9
let navigation keys propagate
...
so other components can use them for simultaneous control
2021-01-11 15:02:12 -08:00
Myk Taylor
2797061b04
scroll Label text when height exceeds viewrect
2021-01-11 14:47:05 -08:00
Myk Taylor
175776812e
implement a nice API wrapper for getopt
2021-01-10 16:51:46 -08:00
Myk Taylor
3b45878d41
allow non-options in commandlines and return them
...
also call qerror() on error, not os.exit
2021-01-10 16:51:45 -08:00
Myk Taylor
20276be50f
check in unaltered version of alt_getopt
2021-01-10 16:51:45 -08:00
lethosor
69ce5d9e3f
Send runCommand output to correct output stream
...
e.g. when run with dfhack-run
2021-01-08 21:06:42 -05:00
lethosor
614ea739d0
Merge branch 'develop' into lua-runcommand
2021-01-08 20:45:23 -05:00
lethosor
462208cad3
Merge remote-tracking branch 'cvuchener/fix-loadlibrary-errormessage' into develop
2021-01-06 21:00:03 -05:00
Clément Vuchener
e7748e3f73
Add an error message when LoadLibrary fails
2021-01-01 15:35:59 +01:00
lethosor
b89fe222c7
Update xml
2020-12-29 23:47:44 -05:00
lethosor
eb6957a167
Bump to 0.47.04-r4 and update submodules
2020-12-24 13:32:44 -05:00
myk002
3ba984c22c
only reset extents if they are unusable
...
this allows callers of Buildings::setSize() to "pre-initialize" the
extents to declare non-rectangular structures. this allows quickfort to
create non-rectangular stockpiles, farm plots, zones, etc. the extents
are still reset as before if the size of the building doesn't match the
caller's expectations.
this commit also fixes a memory leak when setSize() allocates memory for
extents, but the memory is not deallocated if the building is ultimately
invalid for some reason.
2020-12-16 11:10:47 -08:00
lethosor
159695775e
Merge branch 'develop' into lua-runcommand
2020-12-05 19:49:55 -05:00
lethosor
855ce84eca
Update submodules
2020-12-04 23:55:43 -05:00
lethosor
af2255956a
Update submodules
2020-12-03 23:00:21 -05:00
lethosor
fe0cd9a939
Make lineedit() fail sooner when another lineedit() call is active
...
Before, calling `dfhack.run_command('tiletypes')` from a `dfhack.timeout` callback would leave the console in a broken state, since raw mode was enabled but never disabled.
Only tested on Linux with a supported terminal.
2020-12-03 22:04:00 -05:00
lethosor
a9bb11c145
Optimize Lua's internal.runCommand() when printing directly to the console
...
This also makes commands run with `run_command()` detect the console properly (notably used by `df2console()`)
2020-11-20 17:57:54 -05:00
lethosor
fb44b26b47
Make utils.addressof() work for raw userdata
2020-11-19 21:32:42 -05:00
lethosor
8cb38ecf5b
Merge remote-tracking branch 'myk002/myk_metalhead_mario' into develop
2020-11-13 14:04:30 -05:00
myk002
76e8c495fe
revert skip_vector=true for now
2020-11-13 10:45:53 -08:00
myk002
fa126af1fd
undo unnecessary edits
2020-11-12 22:49:06 -08:00
myk002
10616a387f
cleaner mask-based implementation
2020-11-12 22:44:38 -08:00
myk002
02a86d761a
identify bars as non_economic items
...
allows Job::isSuitableMaterial() to match metal bars as a building
material
2020-11-12 19:10:06 -08:00
lethosor
913d860ae4
Use initial working directory as process path on Linux, and expose to Lua
2020-11-12 19:07:51 -05:00
lethosor
23b230495e
Merge branch 'develop' into cwd-handling
2020-11-12 18:44:05 -05:00
lethosor
421844dcb8
Update xml
2020-11-11 16:05:24 -05:00
lethosor
eee33822e7
Update submodules
2020-11-09 23:41:53 -05:00
lethosor
3aa902bd25
Update submodules
2020-11-03 19:52:24 -05:00
lethosor
1d0e2dc6bc
Update extents handling to use building_extents_type
2020-11-03 14:56:16 -05:00
lethosor
3b4d6de454
Merge remote-tracking branch 'myk002/quickfort_building_types' into develop
2020-10-27 23:14:38 -04:00
Myk Taylor
186f28a94b
filters for altars, display cases, and bookcases
2020-10-23 09:11:07 -07:00
Myk Taylor
09fbaba726
buildingplan: support all building types
...
Allow buildingplan to handle all building types, update the docs, and add in little extra fixes to ensure all the new types work correctly.
2020-10-16 14:23:35 -07:00
Myk Taylor
82013c0c5e
prep buildingplan for core algorithm changes
...
Lots of refactoring and reorganizing, with only cosmetic player-visible changes.
- show quickfort mode hotlkey label regardless of whether the current building type has buildingplan enabled. before, it was only shown after the user enabled buildingplan for the current building. this eliminates the extra step when enabling quickfort mode, which force-enables all building types.
- changed signature of lua-exported isPlannableBuilding to take subtype
and custom type in addition to building type. this is only used by
quickfort, and it already sends all three params in preparation for
this change
- added lua-exported scheduleCycle(), which is like doCycle(), but only
takes effect on the next non-paused frame. this lets quickfort
run only one buildingplan cycle regardless of how many #build
blueprints were run
- declared a few dfhack library methods and params const so buildingplan
could call them from const methods
- converted buildingplan internal debug logging fn to have a printf api
- reshaped buildingplan-planner API and refactored implementation in
preparation for upcoming core algorithm changes for supporing all
building types (no externally-visible functionality changes)
- changed df::building_type params to type, subtype, custom tuple keys
- introduced capability to return multiple filters per building type
(though the current buildings all only have one filter per)
- split monolith hook functions in buildingplan.cpp into one per scope.
this significantly cleans up the code and preps the hooks to handle
iterating through multiple item filters.
- got rid of send_key function and replaced with better reporting of
whether keys have been handled
2020-10-16 13:52:23 -07:00
lethosor
ce7772a1c2
Add Filesystem::restorecwd()
...
This allows restoring the working directory to its original value, which may not actually be the DF root. See #1671 , dfhack/scripts#152
2020-10-14 21:22:53 -04:00
lethosor
b343d00800
Update to 0.47.04-r3 (authors, changelog, and submodules)
2020-10-10 17:31:30 -04:00
lethosor
9c8098b4f0
Expose to_search_normalized to Lua, add test, and use in ListColumn (most useful for the `stocks` plugin)
2020-10-10 01:40:00 -04:00
lethosor
1b53c0e748
Merge remote-tracking branch 'GitOnUp/normalize_search' into develop
2020-10-09 22:18:39 -04:00
lethosor
d1eec9d338
Update xml
2020-10-09 21:44:16 -04:00
lethosor
c9609ad590
Make `createitem inspect` consistent for PLANT_GROWTH items
2020-10-09 12:45:49 -04:00
lethosor
c2280356cb
Set language of some code blocks to enable syntax highlighting
2020-10-09 01:15:42 -04:00
lethosor
9ba677a38b
Update xml
...
dfhack/df-structures#410
2020-10-06 22:03:13 -04:00
lethosor
17bc4cd365
Merge remote-tracking branch 'myk002/buildingplan_item_match' into develop
2020-09-29 20:04:02 -04:00
Myk Taylor
c73b1f03af
buckets can be lye- and milk-free
...
otherwise the bucket for wells can never be matched
2020-09-29 00:23:44 -07:00
Myk Taylor
3c51bb51ab
remove references to non-existent vector ids
2020-09-28 23:14:13 -07:00
Myk Taylor
6cc1428199
Merge remote-tracking branch 'upstream/develop' into buildings_vectors
2020-09-28 23:13:13 -07:00
George Murray
74a3e0eddf
Use a string and .reserve for normalizing instead of stringbuf
2020-09-24 15:22:58 -07:00
George Murray
f5c3712778
Nicer formatting for the normalized character mapping table
2020-09-24 14:32:58 -07:00
George Murray
38c9c28250
Fix wrong variable usage in to_search_normalized
2020-09-24 10:52:03 -07:00
George Murray
a3c565b243
Add to_search_normalized to search for characters with accents
2020-09-24 07:31:10 -07:00
lethosor
dfac5bc143
Update gui.Painter docs, add sections to dfhack.screen, add more links, etc
2020-09-23 22:00:39 -04:00
lethosor
65b8071941
Use typedefs from xlsxio in PluginStatics.h
...
The typedefs in the header foward-declared new structs of the same names in the DFHack namespace, e.g. DFHack::xlsxio_read_struct. Apparently the constructors that used these typedefs are not inlined on Windows, so libdfhack was compiled with a constructor taking a "DFHack::xlsxio_read_sheet_struct", and xlsxreader was looking for a constructor taking just a "xlsxio_read_sheet_struct", which didn't exist.
2020-09-18 15:05:17 -04:00
Myk Taylor
f837532b42
use more precise item vectors for bld item filters
2020-09-13 17:12:29 -07:00
lethosor
5aca88ef03
Update submodules
2020-08-29 20:02:33 -04:00
lethosor
3b5a82cc05
Change color of ListBox.select2_hint to grey to indicate enabled
...
Ref dfhack/scripts#185
2020-08-27 00:08:28 -04:00
lethosor
c034276af5
Merge remote-tracking branch 'myk002/quickfort_filter' into develop
2020-08-21 00:34:34 -04:00
lethosor
8779ca0659
Merge remote-tracking branch 'myk002/quickfort_civzones' into develop
2020-08-21 00:34:26 -04:00
Myk Taylor
9a3e9d5b12
listbox filter can match strings after punctuation
2020-08-17 21:15:33 -07:00
Myk Taylor
8a438c2a55
allow row_height to be set from the ListBox class
2020-08-17 21:14:05 -07:00
Myk Taylor
e546d3eec3
rename is_civzone to the more general allow_wall
2020-08-15 20:13:48 -07:00
Myk Taylor
ae872e812f
properly detect valid tiles for civzones
2020-08-15 17:24:12 -07:00
Myk Taylor
bda678bcd4
add some explanatory text to the top of the header
2020-08-11 19:47:04 -07:00
Myk Taylor
39ae2d95fc
2nd attempt to solve compilation errors on windows
2020-08-11 17:06:28 -07:00
Myk Taylor
4f88bb4c3d
attempt to solve compilation error on windows
2020-08-11 16:54:53 -07:00
Myk Taylor
0bda289b17
move xlsxreader identity statics to dfhack lib
2020-08-11 14:51:17 -07:00
Myk Taylor
a41f7c0998
convert XlsxReader module to xlsxreader plugin
2020-08-09 08:54:42 -07:00
Myk Taylor
b0cb40c5ea
pass the cmake environment to deps
2020-08-08 22:42:50 -07:00
Myk Taylor
8d157012d0
build dfhack with verbosity on too
2020-08-08 22:04:49 -07:00
Myk Taylor
cffac8ed93
fix line endings in XlsxReader.cpp
2020-08-08 20:07:54 -07:00
Myk Taylor
8c7fb808e1
get xlsxio Lua API working
2020-08-08 17:55:49 -07:00
Myk Taylor
18f4786458
Merge remote-tracking branch 'upstream/develop' into quickfort_xlsxio
2020-08-08 17:17:45 -07:00
Myk Taylor
89a6309788
build xlsxio and link it into dfhack, add lua api
2020-08-08 15:24:12 -07:00
lethosor
f2b0f012c9
Bump to 0.47.04-r2
2020-08-08 14:53:24 -04:00
lethosor
8c5b21b7ee
Fix a couple warnings in the Units module ( #1615 )
2020-08-08 14:35:12 -04:00
lethosor
8f047530c4
Make Units::getRaceNameById and other ID-related functions available to Lua
2020-08-08 14:28:17 -04:00
lethosor
3b3b0be8c5
Update submodules, tweak changelog order
2020-08-08 02:00:12 -04:00
lethosor
cb1b751988
Update submodules
2020-08-08 00:31:28 -04:00
lethosor
f7fda8e7f5
Update changelog, authors, xml ( #1615 )
2020-08-08 00:06:59 -04:00
Ryan Bennitt
c76f71cd46
Update xml library submodule
2020-08-07 22:20:11 +01:00
Ryan Bennitt
23c22b3b9d
Merge branch 'develop' of https://github.com/DFHack/dfhack into feature/manipulator_goal
2020-08-07 22:17:32 +01:00
Ryan Bennitt
a85b77e6f1
Retrieve goal string values from enum attributes and add new Units methods to Lua API and docs
2020-08-07 22:07:48 +01:00
lethosor
498fd9a1a6
Flush plugin warning messages
2020-08-06 22:45:46 -04:00
lethosor
7c2af344a1
Update changelog ( #1564 ) and xml ( dfhack/df-structures#400 )
2020-08-06 02:04:23 -04:00
lethosor
d3fc691858
Merge remote-tracking branch 'PatrikLundell/Units' into develop
2020-08-06 00:12:54 -04:00
Ryan Bennitt
9510dd52e1
Add Goal to Manipulator Detail Modes
2020-08-04 23:01:28 +01:00
lethosor
dba7df7ab8
Add "delete word" support to Console-posix
2020-08-02 23:10:35 -04:00
lethosor
bb66ef32a7
Tone down a couple warnings
...
There have been a few cases of people thinking these are more important than they actually are
2020-08-02 12:55:36 -04:00
lethosor
d504e476c5
Update xml
2020-07-28 23:42:37 -04:00
lethosor
f546816eb9
Update submodules
2020-07-28 00:39:59 -04:00
lethosor
289e0df828
Roll back to actions/checkout v1
...
v2 uses the wrong commit sometimes: actions/checkout#299
2020-07-27 01:12:14 -04:00
lethosor
569370489a
Update submodules ( fixes #1576 )
2020-07-26 23:16:13 -04:00
lethosor
f0ad730a37
Lua: Fix off-by-one preventing accessing last df-other-vectors item by ID, add tests
2020-07-26 02:11:27 -04:00
lethosor
4e218c7de3
Update xml
2020-07-26 02:00:13 -04:00
lethosor
4891b4fd5e
Fix indexing primitive refs with integers (broken in #1543 ), add tests
...
Apparently lua_tostring has the side effect of *converting* numbers to strings
2020-07-25 20:22:52 -04:00
lethosor
8137b43e57
Merge remote-tracking branch 'myk002/internal_scripts' into develop
2020-07-25 13:46:12 -04:00
lethosor
7c921d8c91
Lua listdir_recursive: allow nil to be used for default arguments
...
https://github.com/DFHack/dfhack/pull/1609#issuecomment-663803777
2020-07-25 13:02:35 -04:00
Myk Taylor
48d4013bcb
don't list subdirectories named 'internal'
...
instead of just specifically for lua files with a '-internal.lua' suffix
2020-07-24 22:07:16 -07:00
Myk Taylor
da11932d6b
Merge remote-tracking branch 'upstream/develop' into internal_scripts
2020-07-24 20:47:24 -07:00
lethosor
fcb14623a7
Update authors, submodules
...
Ref dfhack/scripts#162
2020-07-24 22:18:00 -04:00
lethosor
cafdc1620b
Improve Lua listdir_recursive error handling
...
Ref #519 , #1609
2020-07-24 22:15:35 -04:00
Myk Taylor
86e9f69d42
Merge branch 'quickfort_skeleton' into internal_scripts
2020-07-24 08:24:45 -07:00
Myk Taylor
e17d492203
address PR review comments on api docs
2020-07-23 21:55:05 -07:00
Myk Taylor
b200219967
support for splitting lua scripts into parts
...
without polluting the output of #DFHack ls
2020-07-20 23:04:23 -07:00
Myk Taylor
d0f8ba06a2
expose new include_prefix param to Lua
2020-07-19 01:52:57 -07:00
Myk Taylor
16cfd34678
recurs-ify default config copying logic
...
I refactored Filesystem::listdir_recursive to support removing the path
prefix from the returned files list. There are no current calls that
make use of the prefix parameter, so I converted it into a boolean.
Current usages will use the new default parameter and will not see any
changed behavior.
2020-07-18 22:22:37 -07:00
lethosor
a0c514b117
Update xml
2020-07-17 17:35:33 -04:00
lethosor
35d659091d
Merge remote-tracking branch 'myk002/blueprint_in_blueprints' into develop
2020-07-17 17:32:59 -04:00
lethosor
56e43a0dde
Linux: make Process::getPath (and dfhack.getDFPath()) not depend on cwd, for consistency with other platforms
2020-07-16 23:21:56 -04:00
Myk Taylor
bb91fdcf8c
Merge remote-tracking branch 'upstream/develop' into blueprint_in_blueprints
2020-07-16 09:24:52 -07:00
Myk Taylor
0afbe9d931
include algorithm on windows for std::replace
2020-07-16 08:42:39 -07:00
Myk Taylor
bb1fcff410
use FILENAME_MAX instead of PATH_MAX for compat
2020-07-16 08:33:23 -07:00
lethosor
c0d10b9e44
Update submodules
2020-07-16 01:49:16 -04:00
Myk Taylor
1ae341b637
Check that we created a dir before we return true
2020-07-15 22:02:12 -07:00
Myk Taylor
c19fc1f349
gcc-4.8 compatibility
2020-07-15 21:35:21 -07:00
lethosor
df6f3a0455
Mark ref_target as a metafield so meta_primitive_newindex fails properly
...
unit:_field('hist_figure_id').ref_target = 4 now fails with "Cannot write field int32_t.ref_target: builtin property or method" instead of "not found"
2020-07-14 02:31:18 -04:00
lethosor
a44a2e2298
Merge branch 'develop' into lua-ref-target
2020-07-14 01:31:23 -04:00
lethosor
07a2b4a9d7
Use language_name_type enum item names
2020-07-11 02:05:38 -04:00
lethosor
24d64175fb
Remove top-level links from TOCs
2020-07-08 02:13:37 -04:00
Ben Lubar
25f1b14a88
update structures
2020-07-01 23:12:45 -05:00
Ben Lubar
72ce52e004
update structures
2020-07-01 23:10:34 -05:00
lethosor
ae0f57f0e0
Update submodules
2020-07-01 23:54:31 -04:00
Ben Lubar
9def098ef9
add enum-attrs to pronoun_type
2020-06-29 21:30:22 -05:00
Ben Lubar
d13e5a3f31
update structures
...
handle renaming of caste_raw::gender
2020-06-29 20:20:37 -05:00
Ben Lubar
a9f219baf9
update for DFHack/df-structures#7dfea1f1d4e453b97d5529785701db46360596ce
2020-06-29 16:16:44 -05:00
lethosor
ee56d8157f
Update xml
2020-06-27 00:15:48 -04:00
PatrikLundell
5570a5743b
Merge branch 'develop' of https://github.com/DFHack/dfhack into Units
2020-06-26 09:53:41 +02:00
lethosor
8a7e8f4fac
Update xml
2020-06-25 01:12:18 -04:00
Quietust
e2301ecae7
Update structures, fix reaction_productst::produce() parms
2020-06-23 13:31:27 -06:00
Ben Lubar
85855a2d88
update structures
2020-06-21 16:16:16 -05:00
Ben Lubar
7b4ae9b6a3
update structures
2020-06-20 23:08:55 -05:00
Ben Lubar
5073bd31c4
update structures
2020-06-19 19:37:54 -05:00
Ben Lubar
bd216dbc11
update structures
2020-06-15 23:47:35 -05:00
PatrikLundell
d5b5b81450
changes
2020-06-02 15:03:59 +02:00
Ben Lubar
5d05cfc7cc
Fix several functions in the Units module ignoring unit caste.
...
Fixes #1583 .
2020-06-02 01:18:57 -05:00
lethosor
2fc7fa7ac2
Update xml, scripts
...
See #1576
2020-05-28 23:11:08 -04:00
PatrikLundell
4e97269312
Merge branch 'develop' of https://github.com/DFHack/dfhack into Units
2020-05-23 10:25:08 +02:00
Ben Lubar
f20446534b
fix DfOtherVectors computed size
2020-05-14 14:01:12 -05:00
Ben Lubar
7dd4b6d968
update structures
2020-05-14 13:07:11 -05:00
Ben Lubar
6c20fe4c80
implement df-other-vectors-type for lua
2020-05-09 18:28:40 -05:00
Ben Lubar
7cf9624de9
add assert to make sure other_id array index is in bounds
2020-05-09 18:28:40 -05:00
Ben Lubar
fc10ed3df6
Implementation for df-other-vectors-type in C++. Still needs Lua and Ruby support.
2020-05-09 18:28:40 -05:00
Ben Lubar
0ffafbde29
update structures
2020-05-09 18:28:19 -05:00
lethosor
d0c030c3da
Update xml (changelog only)
2020-05-04 19:27:17 -04:00
PatrikLundell
ec7f97bb7a
adapted to enum value name change
2020-05-02 17:37:10 +02:00
Ben Lubar
1c57aa7bb4
update structures
2020-05-02 02:01:32 -05:00
Ben Lubar
947d0db182
update structures
2020-05-02 01:54:38 -05:00
lethosor
217535decb
Update xml
2020-05-01 22:52:35 -04:00
lethosor
24cebbda58
Fix segfault when setting DFHACK_HEADLESS but not PRINT_MODE:TEXT
...
endwin() is unhappy if initscr() wasn't called
2020-04-28 21:38:47 -04:00
lethosor
2108c2363d
Use strcmp
2020-04-28 01:21:11 -04:00
lethosor
9e085b66ac
Merge branch 'develop' into lua-ref-target
2020-04-27 23:24:29 -04:00
lethosor
6bdbf5b0dd
Update to 0.47.04-r1, update xml, scripts, changelog version
2020-04-25 21:33:02 -04:00
lethosor
7c1d1c43e5
Merge remote-tracking branch 'PatrikLundell/stocks' into develop
...
Conflicts:
docs/changelog.txt
2020-04-25 21:12:27 -04:00
lethosor
f008da32f8
Update submodules
2020-04-25 17:58:09 -04:00
lethosor
405af5a20b
Update structures
2020-04-25 02:01:21 -04:00
lethosor
55a82e43c6
Update xml, fix stockpiles build
2020-04-24 23:50:35 -04:00
lethosor
c6ed0a2458
Update xml, scripts, authors
2020-04-24 21:15:04 -04:00
lethosor
27e42ed25d
Update xml
2020-04-23 23:12:43 -04:00
Ben Lubar
84f13b643b
update structures
2020-04-23 15:34:26 -05:00
lethosor
c5513c3ca1
Update xml
2020-04-23 01:11:29 -04:00
lethosor
0272fd57f8
Update submodules
2020-04-22 22:16:24 -04:00
PatrikLundell
21be5cf061
adapted to structures
2020-04-22 15:32:49 +02:00
PatrikLundell
f371ae6da8
adapted to histfig_nemesis_id->union
2020-04-22 12:38:37 +02:00
PatrikLundell
07571e9eb4
updated and resolved conflict
2020-04-22 11:43:37 +02:00
lethosor
9a10ea9fe5
Update submodules
2020-04-22 02:13:24 -04:00
Ben Lubar
66314806b1
update structures
2020-04-19 22:03:13 -05:00
Ben Lubar
54d4b68f3c
don't crash if the path to an instance-vector contains a null pointer
2020-04-18 20:40:17 -05:00
Ben Lubar
c8ff8d0d8e
update scripts and structures
2020-04-17 11:52:16 -05:00
Ben Lubar
8427f518c9
match capitalization changes I made to df-structures in specific_ref
2020-04-15 20:05:15 -05:00
Ben Lubar
253b15aeb9
update structures
2020-04-15 19:03:40 -05:00
PatrikLundell
f4f2aa0d5e
removed underscores, adapted to structure (re)naming
2020-04-15 10:18:37 +02:00
PatrikLundell
b0d184e2f9
Merge branch 'develop' of https://github.com/DFHack/dfhack into Units
2020-04-15 09:45:54 +02:00
lethosor
57d565c735
Merge remote-tracking branch 'PatrikLundell/TranslateName' into develop
2020-04-15 01:07:34 -04:00
Ben Lubar
67c1321a06
update structures
2020-04-11 13:03:38 -05:00
lethosor
9a2549bad6
Update xml
2020-04-09 23:56:01 -04:00
lethosor
125f4b129b
Add ref_target attribute to primitive field references
2020-04-09 00:02:07 -04:00
PatrikLundell
55988e3fc4
adapted to updated structures, remote Using units for age
2020-04-08 08:45:40 +02:00
PatrikLundell
5ce84a76f9
Merge branch 'develop' of https://github.com/DFHack/dfhack into Units
2020-04-08 08:35:58 +02:00
Ben Lubar
509755d726
update structures
2020-04-07 16:08:19 -05:00
Ben Lubar
6b810b97a0
DataDefs.h can have little a documentation
2020-04-07 13:46:44 -05:00
Ben Lubar
c8e63cf7a6
update structures
2020-04-07 10:17:01 -05:00
lethosor
f83fee86de
Make pairs(df.type) return class methods
2020-04-06 19:12:53 -04:00
lethosor
cc2a5acdd3
Update xml, authors
2020-04-05 23:29:53 -04:00
PatrikLundell
a0e2abe20a
Units update need coordination with structure identity
2020-04-04 14:00:26 +02:00
lethosor
c8a0ac146c
Update submodules, changelog, CMakeLists, Authors
2020-04-04 01:36:52 -04:00
lethosor
eb4cfcec90
Update xml
2020-04-04 00:36:02 -04:00
lethosor
1024f39a26
Update submodules
2020-04-02 01:47:53 -04:00
PatrikLundell
63a26b987d
Fix issue #1528
2020-04-01 11:16:24 +02:00
lethosor
4844ff5071
Update submodules
2020-04-01 00:25:12 -04:00
Ben Lubar
ffe73028f9
update structures
2020-03-30 10:36:45 -05:00
lethosor
6c00ace68b
Merge branch 'develop' of gh:DFHack/dfhack into develop
2020-03-30 03:03:00 -04:00
lethosor
9b1dddc336
Update xml, scripts, change unit_action.data field names back
...
Fixes #1520
Makes part of dfhack/scripts#130 unnecessary
2020-03-30 03:00:41 -04:00
Ben Lubar
52cf892383
update structures and scripts
2020-03-29 14:08:30 -05:00
lethosor
6eb73d9046
Fall back to stdout if tty fails to open
...
May help with #1477
2020-03-28 13:14:03 -04:00
lethosor
b6e0d3f73d
Update xml
2020-03-28 01:36:41 -04:00
lethosor
67908e0f53
Console-posix: Reset color on shutdown
...
Ensures that dfhack-run doesn't leave behind a colorful prompt
2020-03-25 00:30:12 -04:00
lethosor
65a7db44be
Update xml, scripts
2020-03-24 01:28:02 -04:00
lethosor
24ceff8f7d
Update xml, scripts
2020-03-23 00:49:57 -04:00
lethosor
49fcb29097
Update xml, scripts
2020-03-22 17:24:39 -04:00
Ben Lubar
b67de60a9b
update structures
2020-03-22 12:36:19 -05:00
Ben Lubar
0b69f98561
update structures
2020-03-22 12:22:43 -05:00
Ben Lubar
97916fd55e
implement tagged union structures attributes
2020-03-21 14:29:14 -05:00
Ben Lubar
b29d009b14
update structures; implement struct_field_info_extra
2020-03-21 13:21:35 -05:00
Ben Lubar
5b8952baf8
ghidra: handle destructor ABI differences
2020-03-21 08:53:11 -05:00
Ben Lubar
b2940b69f8
update structures
2020-03-21 07:49:22 -05:00
lethosor
77e40a52c0
Update scripts, xml, authors
2020-03-21 02:02:00 -04:00
Ben Lubar
37e7bed779
add df.global:_field method. add test case to check for overlapping globals.
2020-03-20 09:41:58 -05:00
Ben Lubar
d28b35b6eb
update structures
2020-03-15 15:29:02 -05:00
Ben Lubar
2f4bd32d28
update structures and scripts
2020-03-15 15:19:51 -05:00
Ben Lubar
60722d778f
update structures and scripts
2020-03-15 02:17:19 -05:00
Ben Lubar
39486083f5
handle overlapping structures in check-structures-sanity better
...
update structures
2020-03-12 22:16:30 -05:00
Ben Lubar
1a4c4a5f33
update structures
2020-03-12 14:03:23 -05:00
Ben Lubar
f204f14e52
update scripts and structures
2020-03-12 12:53:24 -05:00
Ben Lubar
2a6b2cacbd
update scripts and structures
2020-03-12 12:34:57 -05:00
Ben Lubar
b9841110c3
update structures and scripts
2020-03-09 17:53:34 -05:00
Pierre-David Bélanger
a7d263fa67
getFullName of the container AND the item, also exclude container of char ( #1515 )
...
* getFullName of the container AND the item, also exclude container of char
* bit vector condition was backwards
2020-03-09 13:12:04 -05:00
Ben Lubar
ffb3c29cfc
simplify Graphic module. update structures.
...
it appears that all this added complexity including an extra pointer dereference was to avoid including the vector header.
2020-03-08 00:12:48 -06:00
Ben Lubar
c4e9c8d29c
update structures
2020-03-07 15:15:02 -06:00
Ben Lubar
5f83681fbc
update scripts and structures
2020-03-07 12:08:03 -06:00
Ben Lubar
a214e00407
allow union vectors to have tags that are bit vectors if they have exactly 2 members
2020-03-06 16:48:33 -06:00
Ben Lubar
508ab79af2
document where tagged unions should be implemented for Lua
2020-03-06 16:33:02 -06:00
Ben Lubar
635e709d95
name ui_look_list union
...
update scripts and structures
2020-03-06 16:06:27 -06:00
Ben Lubar
fa574cfbec
allow dfhack-run to output colors.
...
refactor Console-posix to avoid having a parameter equivalent to not calling the function at all.
2020-03-06 15:02:03 -06:00
Ben Lubar
885fa541fd
update structures
2020-03-05 00:06:32 -06:00
Ben Lubar
84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h
2020-03-04 18:23:49 -06:00
Ben Lubar
08e1fe1f02
update structures
2020-03-03 22:42:40 -06:00
Ben Lubar
6d15d349bc
update structures
2020-03-03 21:45:13 -06:00
Ben Lubar
676e73d477
update structures
2020-03-02 23:59:55 -06:00
Ben Lubar
e356925795
update structures
2020-03-02 23:12:03 -06:00
Ben Lubar
7784e569a5
update structures
2020-03-02 22:29:53 -06:00
Ben Lubar
c29b606a4a
check-structures-sanity: suggest known structure types for large unknown pointers
...
update structures
2020-03-02 21:33:04 -06:00
Ben Lubar
66ded03bc1
update structures
2020-03-02 20:41:13 -06:00
Ben Lubar
4da0a761ea
update structures
2020-03-02 18:36:28 -06:00
Ben Lubar
269b3cb8eb
add support for finding vtable pointers to check-structures-sanity
...
update structures
2020-03-02 15:34:29 -06:00
Ben Lubar
0024457167
update structures
...
don't mark lua argument as a pointer (to be revisited at some point)
2020-03-02 02:27:15 -06:00
Ben Lubar
102fedc2ff
update structures
2020-03-01 00:20:31 -06:00
Ben Lubar
dc5ef1fe58
update structures
2020-02-29 20:11:41 -06:00
Ben Lubar
aaace29e11
update structures
2020-02-29 18:29:32 -06:00
Ben Lubar
18523a1821
Convert untagged unions to tagged. Fix some edge cases in check-structures-sanity union checking.
2020-02-29 15:08:39 -06:00
Ben Lubar
94e818fd53
reference union_identity in the df namespace
2020-02-29 13:26:42 -06:00
Ben Lubar
3ddbb5cec1
fix typo
2020-02-29 13:24:12 -06:00
Ben Lubar
a30678cee3
subclass struct_identity for unions
2020-02-29 13:11:23 -06:00
lethosor
196f4d3c06
Update submodules
2020-02-27 18:54:30 -05:00
nicolasayala
141928ead0
Fix gui.FilteredList widget search on plain string choices
2020-02-27 07:56:30 +01:00
Ben Lubar
92eb8b058b
update scripts and structures
2020-02-26 12:10:15 -06:00
Ben Lubar
e26787604a
update structures
2020-02-24 12:16:59 -06:00
Ben Lubar
f6f5d54f9d
update structures
2020-02-24 10:20:32 -06:00
Ben Lubar
1f34c813c8
update structures
2020-02-24 10:13:46 -06:00
Ben Lubar
8a4eac3d3e
Merge pull request #1503 from TymurGubayev/dev/minor-improvement/dfhack-lua/printall_recurse
...
allow custom filter in calls to `dfhack.printall_recurse`
2020-02-24 10:05:28 -06:00
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