myk002
8de8b22566
click to correct cursor position on long strings
...
where the left side of the string has been trimmed
2022-08-15 16:24:34 -07:00
myk002
b7f74fe2ce
allow mouse lclick to select a List item
2022-08-15 16:24:34 -07:00
myk002
1dd3d6656b
move the cursor in an EditField on mouse lclick
2022-08-15 16:24:34 -07:00
myk002
0aa9a187cf
support cursor movement in EditFields
2022-08-15 16:24:34 -07:00
myk002
43b1abcdcf
support submit2 for EditFields
2022-08-15 16:24:34 -07:00
myk002
214dd3c579
reset scroll position when the text is changed
2022-08-15 16:24:34 -07:00
myk002
23ced99131
fix call to new functions in existing coord fn
2022-08-15 16:15:41 -07:00
myk002
a4c8535977
add argparse int checking methods, more docs
2022-08-15 16:15:41 -07:00
myk002
ef56addb14
prep for new format; accept pipe as tag separator
2022-08-07 22:13:46 -07:00
myk002
a8d0cc7980
support scrolling by half pages in Label
2022-08-06 23:48:25 -07:00
myk002
625b4d439d
fix typo in API function name
2022-08-05 22:31:39 -07:00
myk002
1a777257b4
add get_entry_types API method to helpdb
2022-08-05 22:06:02 -07:00
myk002
ebfe00b112
editing pass of short descriptions
...
and fix some short description parsing
2022-08-05 10:08:23 -07:00
myk002
03027b513a
Merge branch 'develop' into docs
2022-08-03 22:55:38 -07:00
DFHack-Urist via GitHub Actions
5b26d3361b
Auto-update submodules
...
library/xml: master
scripts: master
2022-08-03 07:17:28 +00:00
myk002
56e7a15459
move dfhack.history to dfhack-config/dfhack.history
2022-08-02 22:46:04 -07:00
myk002
391a4d8883
use dfhack-config/lua.history instead of lua.history
2022-08-02 22:46:04 -07:00
myk002
aa3a389b6f
fix parsing bold text and indenting of ls output
2022-07-29 17:37:50 -07:00
myk002
507b1632a2
support backtick as a keybinding
2022-07-28 05:45:50 -07:00
myk002
a053cce444
update the "requires interactive terminal" message
...
to make it more user friendly
2022-07-27 16:30:14 -07:00
myk002
10f8417cc2
create helpdb entries for all plugins
...
even those that have no commands and are not enableable
2022-07-26 22:22:43 -07:00
myk002
5b0f9ddd4f
bump the default history size to 5000
...
100 is just too small, especially since we're not removing duplicate
entries.
2022-07-26 10:24:05 -07:00
myk002
8cf7f59c39
wrap ls and tags output
2022-07-25 17:48:39 -07:00
pre-commit-ci[bot]
a567665ab2
[pre-commit.ci] auto fixes from pre-commit.com hooks
...
for more information, see https://pre-commit.ci
2022-07-24 05:41:41 +00:00
myk002
f9d4781cbc
use dfhack-config/lua.history instead of lua.history
2022-07-23 22:12:34 -07:00
myk002
5f56d79235
move dfhack.history to dfhack-config/dfhack.history
2022-07-23 21:55:49 -07:00
Myk
3c92d4f195
Fix typo
2022-07-23 16:35:40 -07:00
myk002
9b7cc6180d
don't create entries for non-enableable plugins
2022-07-22 21:21:38 -07:00
myk002
cb3e537b38
fix help message when trying to run a plugin name
2022-07-22 20:57:19 -07:00
myk002
0858b95c40
print help from helpdb on CR_WRONG_USAGE
2022-07-22 17:45:48 -07:00
myk002
4b1696f783
add '?' alias for help
2022-07-21 22:36:17 -07:00
myk002
2ce7518562
read plugin command docs from single plugin file
2022-07-21 22:33:43 -07:00
myk002
0b88922ffc
Merge remote-tracking branch 'upstream/develop' into docs
2022-07-20 16:33:50 -07:00
DFHack-Urist via GitHub Actions
2f50d161d9
Auto-update submodules
...
library/xml: master
scripts: master
2022-07-20 23:31:20 +00:00
myk002
64b793b409
support EditField:setText() so scripts can use it
...
and be compatible with both the develop and docs branch
2022-07-20 15:40:49 -07:00
myk002
9dcb63da53
don't bork on no frame, set cursor to end of text
2022-07-20 15:36:17 -07:00
myk002
048b20ac45
no help entries for non-enableable plugins
2022-07-20 13:34:29 -07:00
myk002
0dd153cc0d
ensure we pick up the plugin help entry
...
even when it has a command and that command is not equal to the plugin
name
2022-07-20 12:34:40 -07:00
myk002
954e246140
reformat builtins and properly read tags
2022-07-19 23:01:25 -07:00
myk002
ddcb9b4921
add missing 'man' builtin
2022-07-19 22:35:08 -07:00
myk002
e3588cf49c
return entire tag data structure for iterating
2022-07-19 22:13:53 -07:00
DFHack-Urist via GitHub Actions
e5961b45b4
Auto-update submodules
...
library/xml: master
2022-07-19 07:17:31 +00:00
Quietust
a20612b0a8
Update structures
2022-07-18 17:50:41 -07:00
myk002
8173f6dd02
Merge remote-tracking branch 'upstream/develop' into docs
2022-07-18 10:59:00 -07:00
myk002
301c8e93a1
move builtin docs to individual files
2022-07-18 10:58:35 -07:00
myk002
e650bd0942
add comment about plugin docs
2022-07-17 17:05:29 -07:00
myk002
7f302888ec
make HotkeyLabels react to clicking
...
also be better about initializing EditField frame height
2022-07-17 16:04:36 -07:00
myk002
5723b76585
click to correct cursor position on long strings
...
where the left side of the string has been trimmed
2022-07-17 15:43:58 -07:00
myk002
805456e82b
allow mouse lclick to select a List item
2022-07-16 22:18:38 -07:00
myk002
f65f36ffee
move the cursor in an EditField on mouse lclick
2022-07-16 22:03:39 -07:00
myk002
27425e47f6
support cursor movement in EditFields
2022-07-15 22:22:51 -07:00
myk002
9b340a7630
support submit2 for EditFields
2022-07-15 13:46:01 -07:00
myk002
c9a87511bd
add dfhack history repository and expose to lua
2022-07-15 09:18:27 -07:00
myk002
dd6fbd53b6
add getEntries() to the CommandHistory API
...
so we can export them to lua
also bump the default history size to 5000 from the paltry 100 we had
2022-07-15 09:07:14 -07:00
myk002
193b9a4004
add missing namespace
...
which did not cause compiler errors for some reason
2022-07-14 14:08:33 -07:00
myk002
e926e1116e
replace more Core cpp code with calls to helpdb
...
also document devel/dump-rpc builtin
2022-07-14 13:19:30 -07:00
lethosor
f021dd0e0a
Gui::getAnyItem(): add support for viewscreen_treasurelistst
2022-07-12 11:25:16 -04:00
lethosor
4cdb0ff138
Merge branch 'rm-old-modules' into develop
2022-07-12 11:23:10 -04:00
myk002
185f49976c
ensure scripts get their entry type set
2022-07-11 17:24:53 -07:00
myk002
328d839f19
support backtick as a keybinding
...
and bind it to gui/launcher
2022-07-11 17:23:56 -07:00
myk002
a5da3c18f9
reset scroll position when the text is changed
2022-07-11 17:23:23 -07:00
myk002
4ed15ffcc4
fix parsing of first line as the short_help
2022-07-10 20:48:24 -07:00
myk002
a58b56abc4
don't error out if files cannot be read
2022-07-10 20:19:12 -07:00
Myk
e899510b8b
Use helpdb to implement help and ls built-in commands and dfhack.script_help() ( #2242 )
...
* use helpdb to implement the help and ls builtins
* use helpdb to implement dfhack.script_help()
2022-07-10 20:17:54 -07:00
Myk
4ad8e7199a
Support builtin commands in helpdb ( #2241 )
...
* support builtin commands in helpdb, implement list API, document api
2022-07-10 20:17:52 -07:00
myk002
35a4d19ac9
implement listing functions for helpdb
2022-07-10 20:14:21 -07:00
Myk
64aba7a8a3
Myk rendered help ( #2240 )
...
* implement help db
* add initial list of tags
* read tags fr help, read script short desc, filter
2022-07-10 20:14:21 -07:00
Myk
28e15162a5
reorganize init scripts into dfhack-config ( #2232 )
...
* reorganize init scripts into dfhack-config
allows player init scripts to build on defaults instead of replace them
this also moves the init scripts out of the main df directory
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* escape asterisks in docs
* remove unneeded dfhack.init file creation for test
* write the test init script to the new init dir
* create the init dir before trying to write a file
* rename default init files for clarity
* Update changelog
* Update docs/changelog.txt
Co-authored-by: Alan <lethosor@users.noreply.github.com>
* Try to get buildmaster to work with old branches
* Update changelog
* get keybindings from all init scripts
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix spacing in changelog
* split default loading into its own file
* update docs with new changes
* update help text wording in default init files
* Apply suggestions from code review
Co-authored-by: Alan <lethosor@users.noreply.github.com>
* Alphabetize changelog
* Update onMapLoad.default.init
* Update onMapLoad.init
* Update Core.rst
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-07-10 08:54:55 -07:00
Myk
e0d37a31ae
Make the manager orders library available by default ( #2233 )
...
* move orders out of examples directory
* install orders into library dir
* read orders from new library dir
* update documentation
* update dreamfort references to orders import
* update changelog
* ignore json files in pre-commit
2022-07-06 07:03:29 -07:00
DFHack-Urist via GitHub Actions
aec5684897
Auto-update submodules
...
library/xml: master
scripts: master
2022-07-05 07:17:21 +00:00
lethosor
739871bc0f
Remove Hooks-egg.cpp and related code and configuration options
2022-06-29 23:35:14 -04:00
lethosor
1147add520
Constructions module: remove some old/unused functions/types
2022-06-29 23:35:14 -04:00
lethosor
4c7caa2658
Remove unneeded dependencies on modules/Graphic.h
2022-06-29 23:35:13 -04:00
lethosor
8bb047fcc6
Remove Notes module
...
Only used in a devel plugin that prints notes, and can be easily replaced
with `ui.waypoints.points`
2022-06-29 23:35:13 -04:00
DFHack-Urist via GitHub Actions
0aa7ec877e
Auto-update submodules
...
library/xml: master
scripts: master
2022-06-29 15:17:13 +00:00
Quietust
8a605e1903
The great de-anon-ification
2022-06-29 07:54:04 -07:00
Timur Kelman
9788a8a22a
Add default selection handler to `materials.ItemTraitsDialog` ( #2211 )
...
* add forward compatibility for future `job_item_flags`
* add default selection handler to `materials.ItemTraitsDialog`
* add a call to `error()` in 'unknown'-branch inside `setTrait`
* add `ItemTraitsDialog` improvement description to changelog.txt
2022-06-28 16:27:18 -07:00
Myk
ba629b8e0a
manually handle DestroyBuilding jobs ( #2209 )
...
* don't delete general refs from jobs that we cancel
though we still disconnect the refs if we can
* get job remove working in all cases
we apparently need to manually handle DestroyBuilding jobs
everything else we should let cancel_job handle
* update changelog
2022-06-21 16:38:04 -07:00
quarque2
f33c9bc881
Update tile-material.lua ( #2218 )
...
* Update tile-material.lua
* Update changelog.txt
* Update changelog.txt
* Update changelog.txt
* Update tile-material.lua
2022-06-20 12:38:37 -07:00
myk002
88ae50b9ae
update version and changelog to 0.47.05-r6
2022-06-17 15:42:23 -07:00
Josh Cooper
d38ab1d152
Fix UNIT_NEW_ACTIVE events ( #2197 )
...
* Updates eventful.lua to use UNIT_NEW_ACTIVE
* Fixes bug #2189
* Revises activeUnits declaration/initialization
* Fixes build error
* Update changelog.txt
* reword changelog entry
* add changelog entry for event name change
Co-authored-by: Myk <myk002@yahoo.com>
2022-06-17 09:34:41 -07:00
Timur Kelman
1a629a26bf
add `ItemTraitsDialog` to materials.lua ( #2199 )
...
* add `ItemTraitDialog` to materials.lua
* rename `ItemTraitDialog` to `ItemTraitsDialog` (plural)
* Update changelog.txt
2022-06-12 07:03:04 -07:00
Myk
85d7489b3c
ensure refs are cleaned up when we remove a job ( #2184 )
...
* ensure job items are disassociated from the job
when the job is removed. the new df-provided ``cancel_job()`` doesn't do
this for us whereas the old custom implementation did.
ref: #2028
* remove trailing whitespace
* Clean up general refs before removing job
Because the game method doesn't do it itself
* Fix typo in var name
* clean up code
* update changelog
2022-06-11 07:38:22 -07:00
lethosor
62e7303c68
Upgrade pre-commit-hooks to v4.3.0 (+ submodules)
...
This contains a fix on Windows that checks for the executable bit according to
Git, instead of according to Windows, which reduces false-positive
"check-executables-have-shebangs" failures.
2022-06-08 17:48:14 -04:00
DFHack-Urist via GitHub Actions
ec2f2446d2
Auto-update submodules
...
library/xml: master
scripts: master
2022-06-08 07:18:16 +00:00
Ryan Williams
46438a2af3
Merge branch 'DFHack:develop' into Bumber64-patch-2
2022-06-07 04:21:56 -07:00
Ryan Williams
a7267e3c4e
Optimize report deletion
2022-06-07 04:21:48 -07:00
DFHack-Urist via GitHub Actions
40a6fcdd99
Auto-update submodules
...
library/xml: master
scripts: master
2022-06-07 07:18:05 +00:00
Ryan Williams
5d08e5ae67
More constants; remove extra "using" statements
2022-06-06 01:56:11 -07:00
Ryan Williams
ad1a3408e6
Hopefully fix submodules
2022-06-06 01:41:17 -07:00
DFHack-Urist via GitHub Actions
7b2cb8f9a6
Auto-update submodules
...
library/xml: master
2022-06-05 07:16:27 +00:00
Ryan Williams
ce36abce47
Fixes
2022-06-04 15:46:02 -07:00
Ryan Williams
ae4446610b
Update Gui.cpp
2022-06-04 15:36:50 -07:00
Ryan Williams
16b5cade00
Add constants, update old fns
...
Add MAX_REPORTS_SIZE, RECENT_REPORT_TICKS
Remove redundant "using df::global::world" inside fns
Update `makeAnnouncement`:
Use `word_wrap`, `pauseRecenter`, and utility fn `delete_old_reports`
Handle repeat announcements
Insert sorted into ``world->status.announcements``
Update `addCombatReportAuto`: Use utility fn `recent_report`
Update `showPopupAnnouncement`: Delete old popups at end of fn
Update `getDwarfmodeViewDims_default`: Check for ui_sidebar_mode::Default and ArenaWeather
2022-06-04 15:23:57 -07:00
Ryan Williams
23e85a0d24
Fetch and merge
2022-06-04 12:17:28 -07:00
Ryan Williams
b0b601cf0f
Remove recenterViewscreen, update revealInDwarfmodeMap
2022-06-04 11:59:04 -07:00
DFHack-Urist via GitHub Actions
f290b1c804
Auto-update submodules
...
library/xml: master
scripts: master
2022-06-04 07:16:44 +00:00
DFHack-Urist via GitHub Actions
f5d3b9f699
Auto-update submodules
...
library/xml: master
scripts: master
2022-06-02 04:51:00 +00:00
Myk
89d3d45e87
Allow EditField widgets to manage their own activation and keyboard focus ( #2147 )
...
* use new focus subsystem in widgets.EditField
* always eat the enter key if we have an on_submit
* add modal attribute
* give EditFields a default height of 1
so they can be autoarranged
2022-06-01 21:48:21 -07:00
Myk
ad2d9cad03
[lua] implement keyboard focus subsystem ( #2160 )
...
* implement keyboard focus subsystem
* Fix error in focus group combining
* documentation for the inputToSubviews decision
* modify unit tests to catch that last bug
2022-06-01 17:42:13 -07:00
Ryan Williams
bc0def4342
MiscUtils word_wrap: Add option to trim only leading whitespace after wrapping ( #2169 )
...
* Update changelog.txt
2022-05-30 22:58:46 -04:00
Ryan Williams
b1e118384e
Update Maps.cpp
2022-05-30 16:26:30 -07:00
Ryan Williams
574728ac5c
Move add_proper_report up with other utility fns
2022-05-30 15:04:43 -07:00
Ryan Williams
0ff0d272b5
use static instead of anon namespace; suggested changes
2022-05-30 13:51:24 -07:00
Ryan Williams
1c3ea000e1
Trim trailing whitespace
2022-05-28 15:56:49 -07:00
Ryan Williams
249ed2888f
Fix scope issue
2022-05-28 13:28:10 -07:00
Ryan Williams
e613085b0e
remove whitespace
2022-05-28 12:39:49 -07:00
Ryan Williams
2b29431806
More fixes
...
* Use word_wrap()
* add_proper_report utility fn; have addCombatReportAuto use this
* Update Lua API.rst
* Update Gui.cpp
2022-05-28 12:35:49 -07:00
myk002
ea7fe2b926
account for scroll bars when sizing message boxes
2022-05-27 15:38:13 -07:00
Timur Kelman
07f54deb0b
fix wrong `Label.frame_body.x2` value ( #2134 )
...
* fix wrong `Label.frame_body.x2` value
`update_scroll_inset` might change `frame_inset`, i.e. we need to `computeFrame` with the new values.
* add tests for Label
* add missing `local`, remove code in comments
* move `TestFramedScreen` outside test functions
2022-05-27 15:25:17 -07:00
lethosor
ca10cbc9e6
Merge remote-tracking branch 'lethosor/mock-observe-func' into develop
2022-05-27 01:46:24 -04:00
lethosor
888c531774
Add mock.observe_func(), improve mock.lua documentation
...
observe_func() is similar to func() but passes through all calls to a specified
function.
2022-05-27 00:33:44 -04:00
DFHack-Urist via GitHub Actions
56b301164f
Auto-update submodules
...
library/xml: master
scripts: master
2022-05-25 07:18:15 +00:00
Ryan Williams
4b21e7afb4
Remove parseReportString from API (now utility fn)
...
Implementations using `word_wrap()` are commented out pending changes to that function.
2022-05-24 03:52:33 -07:00
myk002
18628ff5b8
make key_sep more configurable
...
and add more configuration to HotkeyLabel and EditField to take
advantage of it
2022-05-18 16:46:33 -07:00
myk002
53609db1f9
let CycleHotkeyLabels take numeric initial_options
...
even if all of the option values are non-numeric
2022-05-18 15:39:52 -07:00
DFHack-Urist via GitHub Actions
47b87a5ac1
Auto-update submodules
...
library/xml: master
2022-05-17 07:18:04 +00:00
Ryan Williams
ce34ac8f33
Use debugfilter; remove redundant changelog entries
2022-05-16 18:41:47 -07:00
Ryan Williams
785fe9aa3a
fix "info" level described as "error" level
2022-05-14 05:56:57 -07:00
Myk
8f6522899b
Upgrade jsoncpp to 1.9.5 ( #2144 )
...
* test jsoncpp upgrade
* use new json library target name
* don't remap the output dirs
* undo warnings at the source
* set new defaults for jsoncpp
* fix typo in new options
* fix signed comparison mismatch warning
* address random(?) compile failures
saying our std::atomic is not initialized in Debug.cpp
2022-05-13 13:52:43 -07:00
DFHack-Urist via GitHub Actions
bf8eaef6bc
Auto-update submodules
...
library/xml: master
plugins/isoworld: master
depends/libexpat: dfhack
depends/jsoncpp-sub: dfhack
2022-05-12 05:21:01 +00:00
DFHack-Urist via GitHub Actions
15a11d1a39
Auto-update submodules
...
library/xml: master
scripts: master
2022-05-10 07:22:46 +00:00
Tim Siegel
55e4008925
MiscUtils: teach word_wrap() to optionally preserve whitespace
2022-05-09 13:42:11 -04:00
Ryan Williams
14afcc2b0a
Merge branch 'develop' into Bumber64-patch-2
2022-05-05 22:58:23 -07:00
myk002
585888c2d3
update version, changelog, modules for 0.47.05-r5
2022-05-04 17:21:31 -07:00
DFHack-Urist via GitHub Actions
d4ba946d2b
Auto-update submodules
...
library/xml: master
scripts: master
2022-05-03 07:18:10 +00:00
Ryan Williams
74499ad64a
Use to_string on integer
2022-05-03 00:09:34 -07:00
Ryan Williams
5be0fe2a44
Fix issues, update changelog and docs
...
Initialize variables in LuaApi.cpp, solve changelog conflicts, hyperlink and escape char info in docs
2022-05-02 23:52:47 -07:00
Ryan Williams
621ccef996
Merge branch 'develop' into Bumber64-patch-2
2022-05-01 23:42:21 -07:00
Ryan Williams
f565de88e8
Fix stuff ( #4 )
...
* Update Lua API.rst
* Update Gui.h
* Update Gui.cpp
* Update LuaApi.cpp
2022-05-01 22:53:53 -07:00
DFHack-Urist via GitHub Actions
5f1d2a08e4
Auto-update submodules
...
library/xml: master
scripts: master
2022-05-01 13:33:50 +00:00
DFHack-Urist via GitHub Actions
7120988044
Auto-update submodules
...
library/xml: master
scripts: master
2022-05-01 07:17:58 +00:00
DFHack-Urist via GitHub Actions
9643246b18
Auto-update submodules
...
library/xml: master
2022-04-30 19:20:07 +00:00
DFHack-Urist via GitHub Actions
e9a2de08cd
Auto-update submodules
...
library/xml: master
2022-04-30 07:17:43 +00:00
Myk
e2fb15a3a5
add dwarfmode.MenuOverlay:renderMapOverlay() ( #2119 )
...
* add dwarfmode.MenuOverlay:renderMapOverlay()
* ensure we move with the viewport when bounds_rect is nil
2022-04-29 20:32:22 -07:00
Myk
24dd4d8ac0
Update init files ( #2117 )
...
* update example init files
replace onLoad.init-example with documentation on how to create scripts that run on world/map load
it was confusing to show it being loaded with sc-script since it gets autorun anyway if it is just named properly
* update changelog
* add quickfort keybinding
* move standard tweaks from dreamfort init to main
2022-04-29 20:24:09 -07:00
myk002
e603fee3ce
move sidebar mode management code to init
...
from onAboutToShow(). this allows the frames to be calculated correctly
during widget instantiation. otherwise widgets can end up with -1 width
2022-04-29 12:10:05 -07:00
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