Commit Graph

1298 Commits (2393e8f73b6ad52ed03004a8e7b0546d4074908a)

Author SHA1 Message Date
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 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 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 Taylor dff4816287
update dwarfvet 2023-07-21 04:12:56 -07:00
Myk Taylor 0d81f5ce6e
don't include dead citizens in the citizens list 2023-07-18 23:09:19 -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
Kelly Kinkade 1fba8b16f5 replace `dts:make_unique` with `std::make_unique`
2014 here we come!
2023-07-07 21:38:15 -05: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 125e4c623b
avoid inducing link dependency on dfhack 2023-07-05 11:07:51 -07:00
Myk Taylor cbdb56a1ac
port API for unit lookup by noble role from quickfort 2023-07-03 13:47:43 -07:00
Myk Taylor f111b69f2f
Merge branch 'develop' into myk_cpp20 2023-07-03 11:49:54 -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 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 175c249d29
support copy/paste from system clipboard 2023-07-02 18:04:06 -07:00
Myk Taylor e308d3204a
Merge branch 'develop' into sdl2 2023-06-26 16:04:50 -07:00
Myk Taylor b5f4cef187
differentiate trade request screen from other diplomacy screens 2023-06-26 02:29:36 -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 b958727655
Update Textures.cpp 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 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 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 4a2b97105c
only initialize steam if launched from steam 2023-06-05 14:18:55 -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
Myk Taylor 8b3eef699f
adjust findCivzonesAt to v50 semantics 2023-05-27 05:37:31 -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 Taylor 11361975f9
look up texpos values instead of assuming they're constant 2023-05-16 17:14:36 -07:00
Myk Taylor 8f5c454b39
add focus strings for new_region 2023-05-03 15:52:01 -07:00
Myk b1ae39764b
Merge branch '5008-beta1' into myk_nosdlreal 2023-04-26 15:48:13 -07:00
Myk Taylor 73b5e37f67
simplify loops with foreach syntax 2023-04-24 14:28:47 -07:00
Myk Taylor 6203894c99
add title screen focus string detection 2023-04-24 08:03:11 -07:00
Myk Taylor a7aded65e4
match new gems category 2023-04-17 01:04:03 -07:00
Myk Taylor 275513319c
remove last reference to SDLReal 2023-04-12 23:14:03 -07:00
Myk Taylor 460b1e8eaf
adjust code to new tree root type 2023-04-11 10:14:28 -07:00
Myk Taylor 17373dcffd
constify! 2023-04-10 04:35:34 -07:00
Myk Taylor 836a3edcb9
add some more logging 2023-04-10 04:35:34 -07:00
Kelly Kinkade ce017ee4a8
properly callIs SteamRunningOnSteamDeck 2023-04-10 04:35:34 -07:00
Myk Taylor e4777d2688
add shutdown and cleanup logic 2023-04-10 04:35:34 -07:00
Myk Taylor f0d19c9363
add note about dfhooks 2023-04-10 04:35:34 -07:00
Myk Taylor 6a7446780b
hide terminal console when running on steam deck 2023-04-10 04:35:34 -07:00
silverflyone 4aa5e9d17b Merge branch 'develop' of https://github.com/silverflyone/dfhack into develop 2023-04-05 12:23:20 +10:00
silverflyone 37d6a05aea
Merge branch 'develop' into develop 2023-04-05 11:49:38 +10:00
silverflyone 2bd24efa4b Merge branch 'develop' of https://github.com/silverflyone/dfhack into develop 2023-04-05 11:49:30 +10:00
silverflyone 0cebad1078 Update Buildings.cpp
Removed extra min/max checks.
2023-04-05 11:49:14 +10:00
Taxi Service 824f7ed038 clean up Items.cpp quality symbols definitions 2023-04-04 00:08:01 +02:00
Taxi Service 7c63ea9394 added BOLD_FRAME and INTERIOR_MEDIUM_FRAME 2023-04-03 20:13:57 +02:00
silverflyone c6fc55f98f
Merge branch 'DFHack:develop' into develop 2023-04-04 03:45:23 +10:00
silverflyone 181f0bdf72 Update Buildings.cpp
Boundary checks added.
2023-04-04 03:27:32 +10:00
silverflyone f8de51aba3 Update Buildings.cpp
Fixes #3159.
Valid map coordinates from (0, 0, 0) to (world->map.x_count - 1, world->map.y_count - 1, world->map.z_count - 1).
Stockpile coords (x1, y1, z) to (x2, y2, z) may lie outside of this region.
Use min of (0, 0) and max of (world->map.x_count - 1, world->map.y_count - 1) when iterating the block.
2023-04-04 03:08:43 +10:00
TaxiService 8d8a4abd13
reverted loss of readability 2023-04-02 02:33:09 +02:00
TaxiService e3bab1eb6b
simplifying character definition even more
removed those pesky superfluous consts and casts...
2023-04-01 23:40:45 +02:00
TaxiService 3a6893de53
attempt to increase code readability
following lethosor and myk's suggestions, each symbol now is its own constant with a descriptive name.
...will it work though?
2023-04-01 16:43:05 +02:00
TaxiService 18f1b5c675
attempt#2 to fix masterwork/exceptional/decorated symbols
this time we're using a couple of `static_cast<char>(...)` thingies
2023-03-31 17:33:23 +02:00
Myk Taylor fe0590503f
mark tiles with magma or deep water as "not free" 2023-03-24 15:05:17 -07:00
Myk Taylor 03e44f1e7f
fix initial extended/retracted position for upright spike traps 2023-03-23 00:25:29 -07:00
Myk Taylor 9b7860125d
ensure elements in deepest dir are added to output list 2023-03-11 02:01:50 -08:00
Myk Taylor 0562dc5234
constify some MaterialInfo methods 2023-03-05 18:16:49 -08:00
Myk Taylor df0c7c27cb
adjust to structures change 2023-02-26 22:04:22 -08:00
Myk 663b014eae
Merge pull request #2682 from 20k/squadwork
makeSquad, updateRoomAssignments
2023-02-26 21:40:33 -08:00
Myk Taylor c513c246a5
more SDL wrapping for stonesense 2023-02-26 21:18:16 -08:00
Myk Taylor 851bb50dc8
add SDL_PushEvent shim for RemoteFortressReader 2023-02-26 21:18:08 -08:00
20k c38a288eee use insert_into_vector, tweak docs again 2023-02-27 02:15:26 +00:00
20k c0bd452c86 add a failure case check just in case 2023-02-27 02:06:36 +00:00
20k 3c1d3ce21c rework docs, comments, clean up unnecessary init 2023-02-27 01:45:10 +00:00
20k 0c9a9c8b9e cleanup remaining unk 2023-02-26 18:09:10 +00:00
20k e50f3dbb64 remove unnecessary init 2023-02-26 18:09:10 +00:00
20k 1eeefdd598 clean up a variety of unks 2023-02-26 18:05:42 +00:00
20k 2bd48f1f90 address some review comments 2023-02-26 18:05:35 +00:00
20k d84b118767 docs, rework, rename 2023-02-26 18:05:35 +00:00
20k 3912c6290f Military module start 2023-02-26 18:05:34 +00:00
20k ce3ee386fd makeSquad, updateRoomAssignments 2023-02-26 18:05:34 +00:00
Myk 3cddea9b61
Merge branch 'develop' into myk_clear_tile 2023-02-26 09:25:05 -08:00
Myk e81a45a742
Merge pull request #2952 from myk002/myk_keep_focus
[Gui] don't prefix focus strings that are already properly marked
2023-02-26 09:23:42 -08:00
Myk Taylor f1d5551e51
fix on-map character rendering 2023-02-24 17:23:01 -08:00
Myk Taylor 88516a899a
allow map interface tiles to be cleared 2023-02-24 17:22:55 -08:00
Myk Taylor d7d3dcb0be
keep focus strings if they are already labeled
i.e. don't add a "dfhack/" prefix if the focus string already has the
string "dfhack" in it
2023-02-24 17:20:12 -08:00
Myk Taylor 30ea58374c
better detection of fire and magma safety 2023-02-24 16:57:44 -08:00
Myk Taylor 4bf0849d51
fix usage of squad equipment vector 2023-02-24 15:50:56 -08:00
silverflyone d8afb6c682 Update Buildings.cpp
Changed the StockpileIterator::operator++ to checks block based on <= 16 rather than <16. Previously it was not returning items at stockpile tiles at the block boundary. Identified as part of combine.lua changes.
2023-02-15 15:31:50 +11:00
Kelvie Wong f8d94afb7d Add getSelectedCivZone to dfhack.gui
Mostly helpful for my own automation in my custom lua scripts.

Tested it with barracks, meeting areas, and pastures.
2023-02-13 15:22:33 -08:00
Robob27 65f38ec75c Add isGeldable, isMarkedForGelding, isPet 2023-02-11 05:44:45 -05:00
Roxy 826f918954 remove isHospital as hospitals are no longer civzones 2023-02-06 19:11:00 -05:00
Roxy ca5a17a799 explanatory comment for magic number 2023-02-06 19:09:47 -05:00
Roxy a38246aaa4 Update logic for zone type checks 2023-02-06 16:47:50 -05:00
Myk Taylor 9e318842a4
implement some Gui module hotkey guards
and clean up focus string matching logic
2023-02-06 00:58:57 -08:00
Myk Taylor 526d7c1726
allow focus string generation to fall through unfocuses ZScreens 2023-02-05 18:01:46 -08:00
Robob27 c8d672eb05 Remove duplicate SquadEquipment entry 2023-02-05 19:04:21 -05:00
Robob27 6657fb59e5 Fix pausing and warnings 2023-02-05 19:04:21 -05:00
Robob27 36e4bba779 Fixup prefix matching 2023-02-05 19:04:21 -05:00
Robob27 14f1e4b52f Per confirm pause maybe? 2023-02-05 19:04:21 -05:00
Robob27 f7df51587c More focus strings, correct docs 2023-02-05 19:04:21 -05:00
Robob27 fdbe91e35b Add the rest of the bottom modes 2023-02-05 19:04:21 -05:00
Robob27 8f32f1ed7b Fixup focusStrings->focusString 2023-02-05 19:04:21 -05:00
Robob27 86b57380a6 fixup unnecessary changes, remove unnecessary stuff 2023-02-05 19:04:21 -05:00
Robob27 085a308e99 Remove/readd comments 2023-02-05 19:04:21 -05:00
Robob27 6e442a26ca More WIP 2023-02-05 19:04:21 -05:00
Robob27 a770a4cae4 WIP 2023-02-05 19:04:21 -05:00
Ryan Williams 08d90de277
Merge branch 'DFHack:develop' into patch-1 2023-02-05 12:02:58 -08:00
Ryan Williams 1eb67ab239
Update Gui::resetDwarfmodeView
* Set `plotinfo->main.mode` again now that alignment is fixed
* Left note about unidentified global
* DF resets the whole `selection_rect` struct
* Comments for `ANNOUNCE_LINE_DURATION` and `ANNOUNCE_DISPLAY_TIME` constants reflect the default 50 GFPS
2023-02-04 19:56:37 -08:00
Ryan Williams 0f78509328
agitated_wilderness_creature is in unit->flags4 2023-02-04 19:29:37 -08:00
Ryan Williams c345acd417
Update Units::isFortControlled
Add check for `agitated_wilderness_creature`.
2023-02-04 18:48:41 -08:00
Myk Taylor 49246a60f3
properly cast for unsigned comparisons 2023-02-02 23:57:52 -08:00
Myk Taylor 8c7be9a8c2
don't use negative plant indices
and clean up the Kitchen module a bit more
2023-02-02 23:33:24 -08:00
Myk 21f93173c3
Merge pull request #2778 from myk002/myk_halfsies
support offset text in graphics mode for pens
2023-02-01 17:50:24 -08:00
Myk 7468170751
Merge pull request #2771 from myk002/myk_seedwatch
update seedwatch
2023-02-01 17:49:57 -08:00
Myk Taylor 58be8cfd69
support offset text in graphics mode for pens 2023-02-01 17:39:32 -08:00
Myk Taylor be40d55e64
update seedwatch 2023-02-01 04:03:28 -08:00
Myk Taylor aa22917aeb
add new control panel textures 2023-01-31 23:52:30 -08:00
Myk 376526d512
Merge branch 'develop' into myk_no_stuck_df_viewscreens 2023-01-29 16:55:52 -08:00
Myk 274e995790
Merge pull request #2747 from myk002/myk_on_off
Add new on/off icons
2023-01-29 16:55:01 -08:00
Myk Taylor 1c6235633f
add dfhack.units.getCitizens() 2023-01-29 16:28:05 -08:00
Myk Taylor c2d6debcd8
add on/off light textures and expose to lua 2023-01-29 00:35:29 -08:00
Myk 2003efc21f
Merge branch 'develop' into myk_no_stuck_df_viewscreens 2023-01-28 12:03:50 -08:00
Myk 99d1ed6828
Merge branch 'develop' into myk_no_inception 2023-01-28 11:58:37 -08:00
Myk Taylor a931ca692d
Fix debug level typo 2023-01-28 08:21:13 -08:00
Myk Taylor f12ca33c0b
ensure DF screens don't get "stuck" when DFHack tool windows are on top 2023-01-28 08:05:37 -08:00
Myk Taylor 863ca2ca65
solve the inception problem
where hideGuard smashes the viewscreen stack with multiple insertions
for the same screen
2023-01-28 08:02:46 -08:00
Myk Taylor 22dd49ce38
remove "room" checking for buildings -- there is no room 2023-01-27 13:38:21 -08:00
Myk Taylor 9aaa55cd7f
add textures and frames for various use cases 2023-01-23 03:58:51 -08:00
Myk d82a795ef4
Merge pull request #2681 from 20k/develop
More civzone <-> building work, add removing zones with associated squads support
2023-01-22 17:14:24 -08:00
20k 4559168005 update for multiple ownership 2023-01-22 22:59:25 +00:00
20k b15fcc93d2 remove assignments on zone destroy 2023-01-22 15:26:55 +00:00
20k c7ca9d0d7b reverse squad iteration delete 2023-01-22 15:25:16 +00:00
20k 598354d9d4 getbiometype naming, docs 2023-01-21 20:33:40 +00:00
20k 9054efd7c8 Update miscutils to support member pointer to a variable defined in the base when passing in a derived type 2023-01-21 19:15:28 +00:00