Commit Graph

4514 Commits (6d5fad630dad995db0ef8acf460e0d1235ccd984)

Author SHA1 Message Date
Myk Taylor ca32e6a1ae
update version and refs for 50.09-r4 2023-09-14 12:38:19 -07:00
Myk Taylor e7762e7bc6
update structures ref 2023-09-14 10:20:20 -07:00
Myk Taylor 6a1b1f2222
update structures ref 2023-09-14 10:18:49 -07:00
lethosor 017e280b18
Define identity_traits<shared_ptr<T>> for all T (opaque for now) 2023-09-13 21:57:44 -04:00
Myk Taylor 49e449a422
update xml ref 2023-09-13 18:20:49 -07:00
Myk Taylor 561f447a54
update xml ref 2023-09-13 18:17:23 -07:00
Myk Taylor 96f6893a32
update xml ref 2023-09-13 18:02:52 -07:00
Myk Taylor a7e59c8f77
update xml ref 2023-09-13 17:06:33 -07:00
Myk Taylor 218e52bd93
Merge branch 'myk_proc_maps_format' into 5010-beta 2023-09-13 17:00:08 -07:00
Kelly Kinkade 9ea68d38c5 sync structures 2023-09-13 13:57:55 -05:00
Myk Taylor 863df21dd2
protect against missing keys param 2023-09-12 23:08:55 -07:00
Myk Taylor d2ae5463df
update xml ref 2023-09-12 22:58:26 -07:00
lethosor fd676fa70f
Add identity_traits for std::unordered_map 2023-09-12 23:38:09 -04:00
Kelly Kinkade dbee92cd81 `widget` is a `struct` not a `class`
at least as far as df-structures is concerned...
2023-09-12 22:01:58 -05:00
Kelly Kinkade 673d9d5230 bodge DataIdentity to get 50.10 working 2023-09-12 21:55:55 -05:00
Myk Taylor f8b2297ddc
update xml ref 2023-09-12 18:41:50 -07:00
Kelly Kinkade a829358af0 update structures 2023-09-12 15:57:04 -05:00
Myk Taylor 22f68223a1
update structures ref 2023-09-12 01:03:36 -07:00
DFHack-Urist via GitHub Actions 51772430f2 Auto-update submodules
library/xml: master
2023-09-12 07:12:47 +00:00
Myk Taylor 905438be96
update xml ref to 5010-testing 2023-09-11 23:21:55 -07:00
Myk Taylor 2e11c91a10
format string didn't match my system; generalizing 2023-09-10 23:04:20 -07:00
Myk Taylor e325f3b6d9
differentiate the new region loading screen in the focus string 2023-09-10 16:32:52 -07:00
Myk Taylor a0919ec316
add ASCII-mode highlight for smoothing and carving designations 2023-09-10 05:29:55 -07:00
Myk Taylor 5a557f232f
disable texture loading if enabler isn't present 2023-09-10 01:42:59 -07:00
DFHack-Urist via GitHub Actions d118a37be6 Auto-update submodules
library/xml: master
scripts: master
2023-09-10 07:12:04 +00:00
Andriel Chaoti bae570d756
Merge branch 'develop' into andriel_argparse 2023-09-09 14:44:44 -06:00
Andriel Chaoti 85cd0cd01c
improvements to argparse
remove need to reparse table constantly, included original arg for error
message.
2023-09-09 12:56:10 -06:00
DFHack-Urist via GitHub Actions 6ec5e0e1a9 Auto-update submodules
library/xml: master
2023-09-09 07:11:39 +00:00
Andriel Chaoti 5611cdd999
add `boolean` function for argparse
implements a test for boolean values into the argparse utility that
checks for truthy style values and converts them to a lua boolean.
2023-09-06 16:42:05 -06:00
lethosor 337260ab0c
Fix unchecked lua_tostring calls 2023-09-06 18:19:31 -04:00
lethosor 47666e12cd
terminal -> console for consistency
followup to #3723
2023-09-06 18:09:07 -04:00
Myk Taylor 31fbd0dab5
bump to 50.09-r3 2023-09-06 13:43:11 -07:00
DFHack-Urist via GitHub Actions 7d128adada Auto-update submodules
library/xml: master
scripts: master
2023-09-05 08:10:07 +00:00
Myk Taylor cbe4f53823
add focus string details for orders context 2023-09-03 12:50:12 -07:00
Myk Taylor 1d6ae37a66
fix and reinstate heat safety filter 2023-09-03 11:54:32 -07:00
Myk Taylor b8fc6e210f
add note about handling bags 2023-09-03 07:12:30 -07:00
Myk Taylor b489fceaea
clarify error message about the terminal 2023-09-02 03:22:10 -07:00
Myk Taylor 874fb5535b
fix spacing around messagebox text when a scrollbar is involved 2023-09-02 02:41:26 -07:00
Myk 940d25accb
Merge pull request #3711 from myk002/myk_instrument_textures
[Textures] instrument textures module
2023-08-31 18:14:18 -07:00
lethosor 40bfb6b8ff
Hack to force GCC to invoke cancel_job() through DF's vtable
GCC appears to be optimizing the call to `cancel_job()` to use the stub in
*DFHack's* job_handler vtable, which is a no-op. Lua was unaffected because it
invokes vmethods through method pointers (without knowing the target instance at
compile time), so use a similar approach here for now.

As mentioned by @ab9rf on Discord, we should pursue an alternative like asking
Bay12 to expose the relevant code through a global `std::function` instead of a
vmethod.
2023-08-31 17:42:16 -04:00
Myk Taylor 088fa9a35c
instrument textures module and clean up gui 2023-08-31 10:53:43 -07:00
Myk 5d7649837c
Merge pull request #3704 from shevernitskiy/create-delete-textures
create and delete textures
2023-08-30 03:42:27 -07:00
shevernitskiy 8a015f7f87 review 2023-08-30 07:38:21 +03:00
Myk Taylor a8bf8a04ae
add in value for units contained in cages 2023-08-28 15:42:56 -07:00
Myk Taylor 423bba2c24
pass getAnyStockpile and getAnyCivZone through ZScreens 2023-08-28 13:27:46 -07:00
shevernitskiy 4b0219e225 fix stupid linux build again 2023-08-28 10:56:08 +03:00
shevernitskiy 51baa0d674 fix linux build 2023-08-28 10:46:59 +03:00
shevernitskiy 6f11812729 create and delete textures 2023-08-28 10:00:39 +03:00
DFHack-Urist via GitHub Actions 3ce2909309 Auto-update submodules
library/xml: master
scripts: master
2023-08-28 06:20:58 +00:00
Myk a740c6628e
Merge pull request #3663 from shevernitskiy/dynamic-texture-loading
feat: dynamic texture loading
2023-08-27 22:45:52 -07:00
shevernitskiy 4fb6b09b30 move textures to separate lua module 2023-08-28 06:58:30 +03:00
shevernitskiy 6c5163af9e adjust adopt region reset step 2023-08-27 22:28:03 +03:00
DFHack-Urist via GitHub Actions 432e415a13 Auto-update submodules
library/xml: master
2023-08-21 07:47:25 +00:00
Myk Taylor 1763a16831
add training check functions to Units 2023-08-20 10:08:25 -07:00
DFHack-Urist via GitHub Actions a1d6098446 Auto-update submodules
library/xml: master
2023-08-19 09:21:39 +00:00
DFHack-Urist via GitHub Actions 89ddc4b798 Auto-update submodules
library/xml: master
2023-08-17 06:06:58 +00:00
shevernitskiy c1945f7b54 fix build err in gcc 2023-08-17 06:32:26 +03:00
DFHack-Urist via GitHub Actions 8401d5c72a Auto-update submodules
library/xml: master
2023-08-16 07:12:45 +00:00
shevernitskiy 25038648c0 remove unused variable 2023-08-15 21:11:06 +03:00
Myk d40843de7e
Merge pull request #3676 from myk002/myk_focus
higher granularity for unit viewsheet focus strings
2023-08-14 17:33:05 -07:00
Myk Taylor 7a4aaf8bc9
normalize characters in search text and match keys for FilteredLists 2023-08-14 16:39:28 -07:00
shevernitskiy 5cafffaaf6 typos 2023-08-14 13:04:38 +03:00
shevernitskiy 0e725be046 support closure as tile arg to get texpos 2023-08-14 12:07:27 +03:00
Myk Taylor fa3c2222e6
higher granularity for unit viewsheet focus strings 2023-08-13 23:54:18 -07:00
shevernitskiy 900a2c65ba invalid texpos is nil for lua 2023-08-14 09:02:37 +03:00
shevernitskiy 91f4c3d561 mirgate preloaded assets to lua 2023-08-14 08:17:57 +03:00
shevernitskiy 1409af67de expose api to lua 2023-08-13 20:09:12 +03:00
Myk Taylor 296a34834c
expose and use casteFlagSet 2023-08-13 00:20:08 -07:00
Myk 71e5901214
Merge pull request #3672 from myk002/myk_gui
[orders] prevent overlay from appearing on the new workorder page
2023-08-12 23:21:13 -07:00
lethosor e69b6ed4ea
Merge remote-tracking branch 'lethosor/struct-fields-lua' into develop 2023-08-13 01:43:19 -04:00
shevernitskiy 22b0671038 review 2 2023-08-13 08:33:31 +03:00
Myk 8f33f4ee44
Merge pull request #3670 from myk002/myk_readtile
[Screen] detect extended tile properties and communicate them back to lua
2023-08-12 22:22:40 -07:00
Myk Taylor b787c2bb1e
make creating a workorder a subscreen instead of a top-level 2023-08-12 22:02:17 -07:00
shevernitskiy 20460fecca tiny refactor texpos methods 2023-08-13 07:40:35 +03:00
lethosor 574fa08747
Add index_enum, ref_target 2023-08-12 22:12:45 -04:00
lethosor 396b2d7832
Adapt tests to dynamically-generated field info
No need to freeze the field info tables anymore
2023-08-12 21:59:14 -04:00
DFHack-Urist via GitHub Actions 1a630eab34 Auto-update submodules
library/xml: master
2023-08-13 00:45:42 +00:00
lethosor fc6d4caa8e
Dynamically generate field info in __index
Constructing the complete tables when the types were initialized made it
impossible to populate the "type" field, because not all types had been added to
the global type tables yet.
2023-08-12 20:18:22 -04:00
lethosor 4a9a83daa5
Expose more fields, refactor 2023-08-12 20:01:03 -04:00
lethosor 29f99733fe
Add tests 2023-08-12 19:04:51 -04:00
lethosor 92549f3c56
Add _fields table to struct types 2023-08-12 19:04:49 -04:00
Myk Taylor c37dce7c33
detect extended tile properties and communicate them back to lua 2023-08-12 15:53:22 -07:00
shevernitskiy 687bd82542 pathable & unsuspend specific tile size 2023-08-12 20:05:15 +03:00
shevernitskiy 46a3454fee type alias for gcc 2023-08-12 17:00:07 +03:00
shevernitskiy b20889e694 minor refactor for lua switch 2023-08-12 16:34:33 +03:00
shevernitskiy fe8bd4fa78 assets use dynamic texture loading 2023-08-12 16:11:42 +03:00
lethosor 0a5e914a65
Add struct_field_info_extra::original_name field for globals 2023-08-12 01:19:18 -04:00
lethosor 351dfa84c2
Remove obsolete STATIC_FIELDS_GROUP check 2023-08-12 01:17:44 -04:00
DFHack-Urist via GitHub Actions 4aaf625f4d Auto-update submodules
library/xml: master
scripts: master
2023-08-12 01:49:06 +00:00
Myk Taylor 8d8c139ccb
don't add keys as text when ctrl or alt are pressed 2023-08-11 12:54:49 -07:00
Myk Taylor fa22f9521a
never suppress sdl key events when modifier keys are active 2023-08-11 12:54:18 -07:00
shevernitskiy e81a90821a review 2023-08-11 21:40:41 +03:00
Myk e8a2ac68fe
Merge pull request #3662 from lethosor/fix-unknown-global-field-ref
Fix crash in df.global:_field() when global address is unknown
2023-08-11 10:38:12 -07:00
DFHack-Urist via GitHub Actions 3a143e0601 Auto-update submodules
library/xml: master
scripts: master
2023-08-11 07:12:32 +00:00
shevernitskiy 3e18e2f6fe eof fix one more time 2023-08-11 09:50:51 +03:00
shevernitskiy 4bbcc7b05d eof fix 2023-08-11 09:48:03 +03:00
lethosor 6bd0819635
Fix crash in df.global:_field() when global address is unknown
and add a test
2023-08-11 02:31:54 -04:00
shevernitskiy e21f0f2b69 dynamic texture loading 2023-08-11 09:14:05 +03:00
lethosor 34ddf6bed7
Merge remote-tracking branch 'lethosor/memscan-funcs' into develop 2023-08-11 01:38:15 -04:00
lethosor ea43d6c801
get_code_segment(): update check for DF executable on Linux 2023-08-10 15:06:45 -04:00
lethosor 0ac7d23bcf
Add memscan.read_global_table() and memscan.read_c_string() 2023-08-10 15:06:24 -04:00
lethosor 46499a66cc
Add cxx_demangle() and Lua wrapper 2023-08-10 15:01:19 -04:00
Myk fdf878c3b9
Merge pull request #3655 from myk002/myk_banner
[BannerPanel] use square brackets instead of color blocks
2023-08-09 17:51:26 -07:00
DFHack-Urist via GitHub Actions ca71c8c5f8 Auto-update submodules
library/xml: master
2023-08-09 07:13:34 +00:00
DFHack-Urist via GitHub Actions 6bd7d97625 Auto-update submodules
library/xml: master
scripts: master
2023-08-08 07:12:52 +00:00
Myk 970babe77c
Merge pull request #3654 from myk002/myk_mod_reload
ensure active mod scripts are properly reloaded
2023-08-07 19:39:39 -07:00
Myk Taylor 99517fcd81
use square brackets instead of color blocks 2023-08-07 17:20:58 -07:00
Myk Taylor 62a1bd6970
ensure active mod scripts are properly reloaded 2023-08-07 17:18:00 -07:00
Myk Taylor 8bff1399d4
add functions to Panel in addition to attributes 2023-08-07 17:02:55 -07:00
Myk Taylor 5fbff18d64
correctly fire on_resize_end events from Panel 2023-08-07 16:01:56 -07:00
Myk Taylor 8c166935d5
factor banner out into reusable panel class 2023-08-07 12:40:48 -07:00
Myk Taylor 03edea8257
add focus string support for legends mode 2023-08-07 02:50:37 -07:00
DFHack-Urist via GitHub Actions 386608fa02 Auto-update submodules
library/xml: master
scripts: master
2023-08-07 07:13:17 +00:00
Myk 30befab78f
Merge pull request #3644 from myk002/myk_trade
remove caravan_buying param from getValue call
2023-08-06 23:57:07 -07:00
Myk Taylor db48e0eba0
remove caravan_buying param from getValue call
the identity of the selling party doesn't actually affect the value!
2023-08-06 17:38:34 -07:00
DFHack-Urist via GitHub Actions a7129cad04 Auto-update submodules
library/xml: master
scripts: master
2023-08-06 07:12:09 +00:00
DFHack-Urist via GitHub Actions 5e1854edae Auto-update submodules
library/xml: master
scripts: master
2023-08-05 07:11:36 +00:00
DFHack-Urist via GitHub Actions 1864090bda Auto-update submodules
library/xml: master
scripts: master
2023-08-05 02:56:08 +00:00
Kelly Kinkade ba0df78233 DataIdentity support for `std::future<void>` 2023-08-04 20:00:29 -05:00
Myk 9bf00904eb
Merge pull request #3632 from myk002/myk_xml
allow the reusable workflows to build xml-dump-type-sizes
2023-08-04 17:09:29 -07:00
Myk Taylor 0ef1a475e4
allow code to be generated even when the library isn't being built 2023-08-04 16:43:58 -07:00
lethosor 47b4773786
df.new(): catch errors thrown by allocate()
This can include DFHack::Error::VTableMissing exceptions if the vtable of a
member field is unknown.

Fixes #3627
2023-08-04 17:22:20 -04:00
DFHack-Urist via GitHub Actions f507bd7e38 Auto-update submodules
library/xml: master
2023-08-04 20:22:58 +00:00
Myk Taylor a6de9a21fa
enable most core tests 2023-08-04 10:11:28 -07:00
DFHack-Urist via GitHub Actions 1cf3f62237 Auto-update submodules
library/xml: master
2023-08-04 17:10:51 +00:00
DFHack-Urist via GitHub Actions 4c2e7721e1 Auto-update submodules
library/xml: master
scripts: master
2023-08-04 07:12:54 +00:00
lethosor 5c4175e3c3
Update xml 2023-08-02 22:58:09 -04:00
lethosor 8b786b4344
Forward-declare types only used in DataIdentity.cpp 2023-08-02 00:15:27 -04:00
lethosor 2f42745175
Add identity_traits<condition_variable>, add macro for opaque identities 2023-08-02 00:15:27 -04:00
lethosor eb12ff17f6
Refactor: move static identity_traits to their own file, simplify field defs
DataStaticsFields.cpp used to contain identity_traits specializations for
primitive and opaque STL types, as well as macros used for the generated struct
field definitions. Only one of these were actually used in any compilation unit,
and the identity_traits definitions were hidden behind a guard to prevent them
from being compiled at all when building the struct field definitions.

Now, the identity_traits specializations live in their own file,
DataIdentity.cpp (matching their declarations, which live in DataIdentity.h).
This speeds up build times because modifying these specializations no longer
requires rebuilding all of the field definitions unnecessarily.
2023-08-02 00:15:26 -04:00
lethosor d0250ae426
Update allocator_try_assign() to match behavior of fstream allocator for non-copyable types
Looks like the choice we have made here previously is to return NULL if
attempting to allocate types that we cannot allocate.
2023-08-02 00:15:26 -04:00
lethosor 6fbb22e912
Add missing instantion for identity_traits<std::mutex>, refactor code shared with fstream identity 2023-08-02 00:15:26 -04:00
lethosor 7c4d9364a2
Make allocator_fn compile for non-copy-assignable types like std::mutex 2023-08-02 00:15:26 -04:00
lethosor e5bc4b3221
Add identity for std::mutex 2023-08-02 00:15:25 -04:00
DFHack-Urist via GitHub Actions a299f0b5fb Auto-update submodules
library/xml: master
scripts: master
2023-08-01 06:33:09 +00:00
lethosor 9984dfef6e
Merge remote-tracking branch 'lethosor/fix-linux-plugins-cxx11abi' into develop 2023-08-01 00:51:24 -04:00
lethosor 9f168214dd
Merge remote-tracking branch 'lethosor/fix-textures-cleanup-segfault' into develop 2023-08-01 00:35:19 -04:00
lethosor 73f96209da
Fix mangling of `plugin_globals` with GCC's C++11 ABI
Without being declared with `extern "C"`, `plugin_globals` is mangled, with a
`cxx11` suffix.

We can't add `extern "C"` to the `DFhackDataExport` macro because GCC does not
allow initializing any `extern` variables inline, including `extern "C"`.
2023-08-01 00:33:20 -04:00
lethosor 6e54210a66
Merge remote-tracking branch 'lethosor/fix-global-crash' into develop 2023-08-01 00:22:01 -04:00
lethosor e2ca506e23
Fix off-by-one error in Textures::cleanup()
In a ASCII-only configuration, I was seeing `textures.raws.size() == 164` and
`texpos_end == 164`. This resulted in reading one item past the end of the
vector.

This may not be occurring in configurations with graphics enabled, or
Windows/WINE may be more permissive.
2023-08-01 00:13:09 -04:00
lethosor 95753f618c
memscan: check for new Linux executable name 2023-08-01 00:10:46 -04:00
lethosor e55984c529
Fix startup crashes when global addresses are missing
Useful for initial research. Can be tested with `DFHACK_NO_GLOBALS=1`
2023-08-01 00:05:02 -04:00
Myk 53c90affa1
Merge pull request #3602 from plule/feat/suspended-icon
Add a separate icon for jobs suspended by suspendmanager
2023-07-31 17:31:26 -07:00
Myk 17ca9e0132
Update Textures.h 2023-07-31 17:20:38 -07:00
Myk Taylor 6a50ae42ce
more deduplication of installed files 2023-07-29 00:35:12 -07:00
Myk Taylor a9df9f92d9
update for 50.09-r2 2023-07-21 18:50:15 -07:00
Myk Taylor 77d0fb297c
convert tabs to spaces when getting clipboard text
this avoids tab characters being translated to "?" when converted to
cp437
2023-07-21 15:03:06 -07:00
Myk 65fc79c5e2
Merge branch 'develop' into myk_dwarfvet 2023-07-21 14:23:13 -07:00
Myk Taylor dff4816287
update dwarfvet 2023-07-21 04:12:56 -07:00
Myk Taylor 462ee0cba7
generalize mod directory scanning 2023-07-20 17:43:57 -07:00