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