Commit Graph

4391 Commits (905438be9694ba1c098c797d31e773996d6a1f6b)

Author SHA1 Message Date
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
Myk 24500dbafd
Merge pull request #3582 from myk002/myk_living
Units: don't include dead citizens in the getCitizens list
2023-07-19 08:22:46 -07:00
Myk Taylor 19643111e0
move SUPPRESS_DUPLICATE_KEYBOARD_EVENTS pref into cpp 2023-07-19 00:38:37 -07:00
Myk Taylor 0d81f5ce6e
don't include dead citizens in the citizens list 2023-07-18 23:09:19 -07:00
Myk Taylor 2d2ecf6f0d
add TextButton 2023-07-16 20:24:39 -07:00
Myk 2cd226d879
Merge pull request #3566 from myk002/myk_pasture
[zone] initial implementation of pasture assignment screen
2023-07-16 14:36:57 -07:00
Myk Taylor 5fb299c6df
expand egg-laying filter to the entire race, not just the unit 2023-07-16 12:30:12 -07:00
Myk Taylor 39612f0d5a
trade a bin if any contents can be traded
the new trade screens will make it easy to filter out unwanted items
later
2023-07-16 12:15:51 -07:00
DFHack-Urist via GitHub Actions 04b0c16f0f Auto-update submodules
library/xml: master
2023-07-16 07:13:50 +00:00
DFHack-Urist via GitHub Actions e2a91ed3bb Auto-update submodules
library/xml: master
2023-07-13 07:14:52 +00:00
Myk Taylor 6fc86d715b
simplify retrieval of setting property 2023-07-09 15:50:56 -07:00
Myk Taylor 7a618fd113
make event suppression configurable 2023-07-08 18:39:38 -07:00
Myk Taylor f987bca8f9
prevent DF interface events for handled hotkeys 2023-07-08 17:23:00 -07:00
Kelly Kinkade 1fba8b16f5 replace `dts:make_unique` with `std::make_unique`
2014 here we come!
2023-07-07 21:38:15 -05:00
Kelly Kinkade 0ac05197c6 fix an ambiguity in def'n of operator==
this resolve an error that arises when compiling with msvc 1936 which was previously ignored due to a bug in the compiler
2023-07-07 17:21:25 -05:00
Myk Taylor 734de0dcd1
make EditField ignore Ctrl-A until we get Home key support 2023-07-07 14:49:10 -07:00
Myk Taylor 6a8522ab5e
generalize dfhack.items.isRequestedTradeGood 2023-07-06 03:27:05 -07:00
Myk Taylor b938891e11
add dfhack.items.isRequestedTradeGood 2023-07-06 03:24:36 -07:00
Myk Taylor c45dcdd7b0
implement sell_prices adjustments 2023-07-06 03:24:16 -07:00
Myk Taylor 2aeb86ba8f
implement trade agreement buy prices 2023-07-06 03:24:16 -07:00
Myk Taylor c2e647b79b
fix item prices and algorithm
adjust prices according to race WAR affinity
2023-07-06 03:24:15 -07:00
Myk Taylor 9849885df6
Revert "generalize dfhack.items.isRequestedTradeGood"
This reverts commit aa6d28bab6.
2023-07-06 03:23:17 -07:00
Myk Taylor aa6d28bab6
generalize dfhack.items.isRequestedTradeGood 2023-07-06 03:21:36 -07:00
Myk 79dbcf0461
Merge pull request #3524 from myk002/myk_copypaste
support copy/paste from system clipboard
2023-07-05 23:09:08 -07:00
Myk 785405b281
Update DFSDL.cpp 2023-07-05 22:34:25 -07:00
Myk 50b3cecfcf
Merge pull request #3481 from myk002/myk_cpp20
get compiling with c++-20
2023-07-05 22:28:59 -07:00
Myk c25b6e642e
Merge pull request #3533 from myk002/myk_noble
port API for unit lookup by noble role from quickfort
2023-07-05 19:34:29 -07:00
Myk Taylor c587cad471
generalize to civ roles as well 2023-07-05 17:37:49 -07:00
Myk 8e7d7fefc0
Merge pull request #3527 from myk002/myk_no_extra_keys
filter out spurious STRING keybindings
2023-07-05 12:10:51 -07:00
Myk Taylor 43ea9b94c3
move clipboard wrappers into DFSDL module (but not in the namespace) 2023-07-05 12:08:18 -07:00
Myk Taylor 0bbb72b44f
Revert "add new linkage dependency on dfhack"
This reverts commit ae545aa1d6.
2023-07-05 11:46:33 -07:00
Myk Taylor 125e4c623b
avoid inducing link dependency on dfhack 2023-07-05 11:07:51 -07:00
Myk Taylor e3d3affdbc
Revert "add new linkage dependency on dfhack"
This reverts commit 9ddb3813c1.
2023-07-05 10:25:07 -07:00
DFHack-Urist via GitHub Actions ba974aff98 Auto-update submodules
library/xml: master
scripts: master
2023-07-04 07:15:34 +00:00
Myk Taylor cbdb56a1ac
port API for unit lookup by noble role from quickfort 2023-07-03 13:47:43 -07:00
Myk Taylor 9ddb3813c1
add new linkage dependency on dfhack 2023-07-03 12:34:49 -07:00
Myk Taylor e7f5b1f949
move command_result enum from Export to Core 2023-07-03 11:53:46 -07:00
Myk Taylor f111b69f2f
Merge branch 'develop' into myk_cpp20 2023-07-03 11:49:54 -07:00
Myk Taylor 5a36a0fcbd
ensure we can still inject strings with simulateInput 2023-07-03 11:44:33 -07:00
Myk Taylor ae545aa1d6
add new linkage dependency on dfhack 2023-07-03 11:18:14 -07:00
Myk Taylor 9ca96567a5
move conversion logic to MiscUtils
but keep minimal wrappers in SDL module so we don't leak memory
2023-07-03 11:05:58 -07:00
Myk Taylor fdf2430fc4
filter out spurious STRING keybindings
that don't match actual SDL string input
2023-07-03 09:09:52 -07:00
Myk Taylor 07e8edcdca
ensure changing text fires the on_change event 2023-07-02 19:27:07 -07:00
Myk Taylor c660a12502
differentiate between choosing merchant screen and default trade screen 2023-07-02 19:09:15 -07:00
Myk Taylor d39440d33b
migrate markForTrade logic from logistics to core 2023-07-02 19:05:50 -07:00
Myk Taylor acd03486a9
add some more detail to the focus strings for buildings 2023-07-02 19:05:50 -07:00
Myk Taylor 18a9a7d1fa
allow invalid options to default to the first option
and make the range slider move the other slider if it would become
invalid
2023-07-02 19:05:47 -07:00
Myk Taylor 175c249d29
support copy/paste from system clipboard 2023-07-02 18:04:06 -07:00
DFHack-Urist via GitHub Actions b5fd877b84 Auto-update submodules
library/xml: master
scripts: master
2023-07-01 07:13:51 +00:00
Myk Taylor 09027543df
update to 50.09-r1 2023-06-26 16:31:18 -07:00
Myk Taylor e308d3204a
Merge branch 'develop' into sdl2 2023-06-26 16:04:50 -07:00
Myk Taylor 164a889479
update xml ref 2023-06-26 16:02:05 -07:00
Myk d9d0482386
Merge pull request #3501 from myk002/myk_diplomacy
[Gui] differentiate trade request screen from other diplomacy screens
2023-06-26 11:46:25 -07:00
Myk Taylor b5f4cef187
differentiate trade request screen from other diplomacy screens 2023-06-26 02:29:36 -07:00
DFHack-Urist via GitHub Actions 9b74492919 Auto-update submodules
library/xml: master
scripts: master
2023-06-26 07:15:49 +00:00
Myk Taylor d54c13121b
use new icons from RafaelKB 2023-06-25 18:56:37 -07:00
Myk Taylor 8235680ff0
add unsuspend map textures 2023-06-25 18:40:04 -07:00
Myk Taylor 78448f438d
don't leak warning suppression out of protobuf 2023-06-25 17:53:16 -07:00
Myk Taylor 8f1efcd8a3
remove need to ignore warnings for dfhack-dependent targets 2023-06-25 17:44:06 -07:00
Kelly Kinkade f2dc910b28 update for 50.09sdl2-3 2023-06-24 20:10:27 -05:00
Myk Taylor 20e425dc4f
update to newest df sdl beta 2023-06-23 14:50:06 -07:00
Myk b958727655
Update Textures.cpp 2023-06-23 14:36:26 -07:00
Myk e101a6d9dc
Update Textures.h 2023-06-23 14:36:26 -07:00
Myk Taylor f7bef53b42
prefer symbols to descriptions for hotkey names 2023-06-23 14:36:18 -07:00
Myk Taylor 840a2b3525
ensure DFHack screens get all string input 2023-06-23 14:36:18 -07:00
Taxi Service 3e2940ef8f
attempt to set optional tilesize arguments for load_texture() 2023-06-23 14:35:45 -07:00
Myk Taylor a48344fd24
get keybindings working again 2023-06-23 14:31:14 -07:00
Myk Taylor 52151b0e98
remove SDL functions that don't exist anymore 2023-06-23 14:31:14 -07:00
Myk Taylor 4e48ce64f1
get things mostly ported to SDL2 2023-06-23 14:31:12 -07:00
Myk Taylor eff1755675
bump to 50.08-r4 2023-06-23 10:59:21 -07:00
DFHack-Urist via GitHub Actions fab840d90e Auto-update submodules
library/xml: master
scripts: master
2023-06-21 23:22:38 +00:00
Myk Taylor b571e5b52b
don't diplay orders overlay on subscreens 2023-06-19 16:48:07 -07:00
Myk Taylor 8a079e1ae7
get compiling on windows 2023-06-17 22:14:11 -07:00
Myk Taylor 2efef75b4e
re-constify 2023-06-17 10:46:56 -07:00
Myk Taylor 9dba18124e
attach compile options to dfhack that allow protobuf headers to be included 2023-06-17 10:44:38 -07:00
DFHack-Urist via GitHub Actions 538103b90f Auto-update submodules
library/xml: master
2023-06-17 17:19:00 +00:00
DFHack-Urist via GitHub Actions a487e98913 Auto-update submodules
library/xml: master
scripts: master
2023-06-09 07:13:44 +00:00
Myk Taylor 25530d6e7b
guide update - first draft 2023-06-08 12:40:33 -07:00
DFHack-Urist via GitHub Actions 873000df80 Auto-update submodules
library/xml: master
scripts: master
2023-06-08 07:13:15 +00:00
Myk Taylor 394db656e6
remove obsolete BUILD_DEVEL option and logic 2023-06-06 17:49:15 -07:00
Myk Taylor b4a804ca0c
bump to 50.08-r3 2023-06-05 17:42:35 -07:00
Myk Taylor 4a2b97105c
only initialize steam if launched from steam 2023-06-05 14:18:55 -07:00
Myk Taylor ecf82471cf
update for 50.08-r2 2023-06-01 11:20:08 -07:00
Myk Taylor 5c914280c3
change dynamic_cast -> virtual_cast 2023-06-01 10:53:08 -07:00
Myk Taylor 974a6155c0
reinstated Buildings.setOwner 2023-05-31 18:48:08 -07:00
DFHack-Urist via GitHub Actions 7dad5be7dc Auto-update submodules
library/xml: master
2023-05-29 07:13:57 +00:00
Myk 0c5339982a
Merge pull request #3424 from myk002/myk_ensure_keys
add ensure_keys utility function
2023-05-28 20:36:48 -07:00
Myk Taylor 8b3eef699f
adjust findCivzonesAt to v50 semantics 2023-05-27 05:37:31 -07:00
Myk Taylor 0918fbb004
add ensure_keys utility function 2023-05-27 03:16:51 -07:00
DFHack-Urist via GitHub Actions 27ee0ae396 Auto-update submodules
library/xml: master
2023-05-27 07:12:17 +00:00
Myk 2efeead96e
Merge pull request #3414 from myk002/myk_scroll_to_focus
scroll mouse wheel to focus window under cursor
2023-05-25 17:18:52 -07:00
Myk 906b1570b9
Merge pull request #3417 from myk002/myk_draggable_frame
allow dragging by frame edge for non-resizable windows
2023-05-25 17:18:40 -07:00
Myk Taylor 87775317a5
don't throw if json is unreadable
just act like the file didn't exist (unless strict is set)
2023-05-24 12:41:02 -07:00
DFHack-Urist via GitHub Actions 44340dfb75 Auto-update submodules
library/xml: master
scripts: master
plugins/stonesense: master
2023-05-24 07:12:57 +00:00
DFHack-Urist via GitHub Actions 4ba2c807b2 Auto-update submodules
library/xml: master
scripts: master
2023-05-23 22:26:06 +00:00
Myk Taylor f6d9af5725
also set focus on shift-scrolling 2023-05-23 15:20:09 -07:00
Myk Taylor 6f49a0eb3d
allow dragging by frame edge for non-resizable windows 2023-05-23 15:17:01 -07:00
Myk Taylor f3ce805960
scroll mouse wheel to focus window under cursor 2023-05-23 12:26:44 -07:00
Myk Taylor 848556158b
update HEADs 2023-05-21 09:45:37 -07:00
Myk 731db4b584
Merge pull request #3403 from myk002/myk_relaunch
launch DFHack through steam if DF is run from steam
2023-05-20 14:32:14 -07:00
Myk a969ff2aea
Merge branch 'develop' into develop 2023-05-20 04:55:50 -07:00
Myk Taylor 9dffba6843
amend #2914 so lists don't jump around on resize 2023-05-20 04:38:03 -07:00
Myk Taylor 8c01f3efe0
don't relaunch launchdf if it's already running 2023-05-20 02:59:41 -07:00
Myk Taylor a5a6b70a51
launch DFHack through steam if DF is run from steam 2023-05-20 02:59:39 -07:00
Myk 57d2edc84e
Update widgets.lua 2023-05-19 12:12:52 -07:00
Myk bd7ac0453b
Merge branch 'develop' into list-setselected-fix 2023-05-19 12:05:30 -07:00
Taxi Service c52b1cc950 reverted to just renaming FRAMES in gui.lua 2023-05-18 12:46:21 +02:00
Taxi Service 90fe6e7ae3 swapped any instance of 'border' being after 'xyz', everywhere 2023-05-18 11:30:21 +02:00
Taxi Service eb742a603d renamed XYZ_FRAME to FRAME_XYZ 2023-05-18 11:22:58 +02:00
Myk c38e5e65e6
Merge pull request #3387 from myk002/myk_classic
Dynamically look up texture values instead of assuming they're constant
2023-05-17 11:52:41 -07:00
Myk 7c2216e196
Merge pull request #3373 from myk002/myk_gamey
[autolabor] adjust usage to game structure reunification
2023-05-17 11:38:29 -07:00
Myk 5268de8dd8
Merge branch 'develop' into myk_classic 2023-05-17 11:27:33 -07:00
Myk 29ece9ce3f
Merge pull request #3381 from myk002/myk_substring_filter
make full text search configurable for list filters
2023-05-17 11:26:45 -07:00
Myk 20c6062b51
Merge pull request #3388 from myk002/myk_tab_defaults
give widgets.TabBar default hotkeys
2023-05-17 11:23:17 -07:00
Myk Taylor aa6baae834
update structures ref 2023-05-17 11:14:00 -07:00
Myk f265767d7a
Merge branch 'develop' into myk_remote_server 2023-05-17 10:21:02 -07:00
Myk Taylor 899422aaf8
give widgets.TabBar default hotkeys 2023-05-16 17:26:16 -07:00
Myk Taylor 11361975f9
look up texpos values instead of assuming they're constant 2023-05-16 17:14:36 -07:00
Myk Taylor 217be6b58d
make full text search configurable for list filters 2023-05-16 12:36:58 -07:00
Myk Taylor f05fe33307
fix crash on malformed json (again) 2023-05-16 11:26:47 -07:00
Myk Taylor a62993b90b
add DFHACK_DISABLE env var 2023-05-15 18:15:46 -07:00