bseiller
0c304cf85f
Improve performance of surveying => faster search
...
replace the local/automatic mid_level_tiles variable in matcher::match_world_tile with one that is created once during the setup phase (heap).
The dynamic part of the contained (16*16*3 = 768) vectors is being allocated on the heap in both cases - which made the repeated instatiations of the automatic variable so slow/expensive.
Also replace calls to vector<bool>.resize in nested loops with direct assignments to those vectors, which curiously even after a lot of profiling is the fastest way to reset the inorganic vectors - at least on Windows.
- embark-assistant.cpp: Replace 2 local/automatic mid_level_tiles variables with a single dynamic variable created during setup as well; add calls to matcher::setup() and matcher::shutdown()
- matcher.cpp/.h: add state with mid_level_tiles member; add setup and shutdown functions
- survey.cpp: add function reset_mlt_inorganics as replacement for the looped calls to vector::resize as all inorganic vectors are now expected to have the proper size when entering survey::survey_mid_level_tile
2021-02-03 00:08:59 +01:00
myk002
1063497828
don't crash on malformed orders json
2021-02-02 10:50:21 -08:00
myk002
fa662cafbc
allow alchemist skill to be toggled in manipulator
...
since autohauler uses it as a flag
2021-02-02 08:28:48 -08:00
bseiller
56335977ab
Merge branch 'develop' into ea_refactoring
2021-02-01 23:36:04 +01:00
bseiller
fede136008
refactoring embark-assistant survey, 12.iteration
...
- survey.cpp: replace repeated (nested) vector access with an const int / auto pointer in survey_mid_level_tile
2021-02-01 22:57:30 +01:00
bseiller
aff64956fb
refactoring embark-assistant survey, 11.iteration
...
- survey.cpp: replace repeated (nested) vector access with a auto pointers in survey_mid_level_tile
2021-02-01 22:53:45 +01:00
bseiller
4fdcec5893
refactoring embark-assistant survey, 10.iteration
...
- survey.cpp: replacing repeated vector access with auto value in survey_mid_level_tile
2021-02-01 22:36:16 +01:00
bseiller
1ed783284e
refactoring embark-assistant survey, 9.iteration
...
- survey.cpp: replacing repeated vector access with a const world_geo_biome pointer in survey_mid_level_tile
2021-02-01 22:31:58 +01:00
bseiller
9d64c9a549
refactoring embark-assistant survey, 8.iteration
...
survey.cpp: remove unused includes
2021-02-01 22:25:57 +01:00
bseiller
db423cc11e
refactoring embark-assistant survey, 7.iteration
...
- survey.cpp: replacing repeated nested vector access with a const df::inorganic_raw pointer in survey_mid_level_tile
2021-02-01 22:22:10 +01:00
bseiller
aa520dfcce
refactoring embark-assistant survey, 6.iteration
...
- survey.cpp: add function to copy all incursion values from one mid_level_tile_incursion_base instance to another; replace repeated assignments with calls to new function in survey_mid_level_tile
2021-02-01 16:00:01 +01:00
bseiller
3181532bf2
refactoring embark-assistant survey, 5.iteration
...
- survey.cpp: replacing repeated nested vector access with a const mid_level_tile reference in survey_mid_level_tile
2021-02-01 00:24:56 +01:00
bseiller
16438c59c8
Remove trailing whitespace as per lint rules
2021-01-31 14:03:49 +01:00
bseiller
115b8a439f
fixing use of wrong indices, discovered during refactoring in survey::survey_mid_level_tile
...
- survey.cpp: replacing faulty repeated nested vector access (due to wrong indices) with the existing region_map_entry reference
2021-01-31 13:58:17 +01:00
lethosor
fd7c3fc4aa
Prevent stockpiles hotkey label from overlapping with autodump
...
stockflow moved to last slot because it isn't enabled in dfhack.init-example
Ref #1764
2021-01-30 21:14:45 -05:00
lethosor
9c65c1f7c7
Merge remote-tracking branch 'myk002/myk_stockpiles_stockflow_conflict' into develop
...
Conflicts:
docs/changelog.txt
2021-01-30 21:11:58 -05:00
lethosor
c78866aba7
Merge remote-tracking branch 'abstern/autofarm-fallow-if-no-eligible-plants' into develop
2021-01-30 18:09:12 -05:00
lethosor
62870e9aee
Remove extra log statement, reorder changelog
...
ref #1753
2021-01-30 18:08:17 -05:00
lethosor
9d0eacadbf
Merge remote-tracking branch 'Moth-Tolias/seedwatch' into develop
2021-01-30 17:56:16 -05:00
bseiller
741e430a06
removing dead store from survey::survey_mid_level_tile
...
- survey.cpp: deleting declaration of and assigments to variable base_z which is never used apart from a self-assigment
2021-01-30 23:37:09 +01:00
bseiller
028a68ae6f
refactoring embark-assistant survey, 4.iteration
...
- survey.cpp: replacing repeated nested vector access with a region_map_entry reference in survey_mid_level_tile; made a reference mid_level_tile const to prevent acidental change of values
2021-01-30 23:33:09 +01:00
bseiller
b1cf65860c
Merge branch 'develop' into ea_refactoring
2021-01-30 17:39:41 +01:00
Susan
8540fd84a4
move world loaded check and message printing to plugin_enable()
2021-01-30 15:14:46 +00:00
lethosor
c6da99e5ce
Merge remote-tracking branch 'myk002/myk_stockflow_steals_input' into develop
...
Conflicts:
docs/changelog.txt
2021-01-30 01:59:44 -05:00
lethosor
845993ba59
Merge remote-tracking branch 'lethosor/fix-k-search-crash' into develop
2021-01-29 20:08:08 -05:00
Su
545fcf6745
Merge branch 'develop' into seedwatch
2021-01-29 11:34:57 +00:00
Susan
33342404bc
Merge branch 'seedwatch' of github.com:Moth-Tolias/dfhack into seedwatch
2021-01-29 11:27:34 +00:00
Susan
a3b0cda069
don't enable if no world is loaded
2021-01-29 11:26:46 +00:00
lethosor
5c14f619c8
Merge remote-tracking branch 'myk002/myk_buildingplan_enable_all' into develop
2021-01-29 00:59:33 -05:00
lethosor
4fbd763c1a
Also cancel 'k' search when hotkeys (F1 - Shift-F8) are pressed
2021-01-29 00:28:32 -05:00
lethosor
865484f678
Merge branch 'develop' into fix-k-search-crash
...
Conflicts:
docs/changelog.txt
2021-01-29 00:16:13 -05:00
bseiller
b33f06efee
refactoring embark-assistant survey, 3.iteration
...
- survey.cpp: replacing repeated nested vector access with a mid_level_tile reference in survey_mid_level_tile
2021-01-28 23:48:09 +01:00
bseiller
e90e84ab87
refactoring embark-assistant survey, 2.iteration
...
- survey.cpp: replacing pointer and repeated nested vector access with a region_tile_datum reference in survey_mid_level_tile
2021-01-28 23:40:58 +01:00
bseiller
6e012bb032
refactoring embark-assistant survey, 1.iteration
...
- survey.cpp: replacing repeated double vector access with a reference in survey_mid_level_tile
2021-01-28 23:38:40 +01:00
Su
98f3142c92
change deactivation message to be more accurate
...
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2021-01-28 18:00:34 +00:00
myk002
42ae0727fe
resolve hotkey help text conflict
...
between stockflow and stockpiles
I removed stockpiles's dynamic placement code as well. it attempted to
move the hotkey help text down if it covered any stockpile links, but
this will no longer work since other hotkey text already takes up all
the lines below stockpiles' hotkey text.
2021-01-27 08:37:12 -08:00
myk002
ff69665815
keep stockflow from stealing input during rename
2021-01-27 08:25:21 -08:00
bseiller
1f7cae17ef
Merge branch 'develop' into ea_incursion_struct
2021-01-26 23:22:59 +01:00
myk002
10634b8ae5
fix merge error
2021-01-24 09:19:01 -08:00
Myk Taylor
d0fc448a39
add 'enable all' option for buildingplan
...
This kind of functionality is much more important now than it used to
be since there are so many supported building types.
Also modified the 'Planning Mode' status on the building placement
screen to reflect whether we're in quickfort mode, enable all mode, or
whether just the building type is enabled.
this setting is not persisted (just like quickfort_mode is not
persisted), but it can be set from onMapLoad.init
2021-01-24 09:08:36 -08:00
bseiller
3c4cb749a3
Merge branch 'develop' of https://github.com/DFHack/dfhack into prevent_repeated_survey_mlt_calls
2021-01-24 13:57:27 +01:00
bseiller
c525b80dda
Merge branch 'develop' of https://github.com/DFHack/dfhack into ea_incursion_struct
2021-01-24 13:54:25 +01:00
lethosor
d01e61c658
Fix some error message formatting and add some cross-links to docs
...
Followup to #1747
2021-01-22 21:05:20 -05:00
lethosor
5ef7a81fd1
Merge remote-tracking branch 'myk002/myk_buildingplan_set_settings' into develop
2021-01-22 20:57:30 -05:00
myk002
ad39bb3c33
address review comments
2021-01-22 12:48:36 -08:00
bseiller
6a1b70ae76
making lint happy by removing trailing whitespace
2021-01-19 17:43:32 +01:00
bseiller
438811e108
handling special case of the cursor having been positioned in the lower right corner before the search
...
- matcher.cpp: manually moving the cursor to the neighbouring world tile so it can be moved back and embark_update is being called when all (incursion) data has been collected
Co-Authored-By: PatrikLundell <22739822+PatrikLundell@users.noreply.github.com>
2021-01-19 16:37:59 +01:00
bseiller
9b9373be4f
removing commented out assigments
2021-01-19 12:06:36 +01:00
bseiller
cb496c3f59
fixing indention/whitespaces
...
- defs.h: replacing tab with space/blank for indents
2021-01-19 00:07:28 +01:00
bseiller
e99c8faa24
switching to mid_level_tile_incursion_base to store incursion data of world tile edges
...
- defs.h: using mid_level_tile_incursion_base in region_tile_datum to store incursion data of world tile edges
- survey.cpp: commented out "not used" blocks of assignment in survey_mid_level_tile that no longer make sense now
2021-01-19 00:01:54 +01:00
bseiller
bdfd50cc65
using mid_level_tile_incursion_base instead of mid_level_tile for incursion processing
...
- matcher.cpp, survey.cpp: adapting signatures to use new struct that only contains incursion specific attributes
2021-01-18 23:50:14 +01:00
bseiller
cc68767336
created struct mid_level_tile_incursion_base that only contains attributes that are relevant for incursion processing
...
- def.h: make attributes/fields of mid_level_tile_incursion_base available in mid_level_tile by inheriting from mid_level_tile_incursion_base which also allows treating mid_level_tile as a mid_level_tile_incursion_base
2021-01-18 23:23:50 +01:00
bseiller
85fe05b723
early return from embark_update during an active search to improve performance
...
- embark-assistant.cpp: checking if a search is active, if so return early
2021-01-18 22:08:46 +01:00
bseiller
c300cae2f9
removing 2 dead stores to speed up survey::survey_mid_level_tile
...
- survey.cpp: removing layer_bottom and layer_top, which are never read, but slow down survey_mid_level_tile significantly because entries are added quite often into the tree map structure
- survey.h: removing now obsolete include for map
2021-01-18 19:38:57 +01:00
Susan
84b07005d8
tabs to spaces [whoops]
2021-01-16 23:47:41 +00:00
Susan
7a14bf475f
don't turn off seedwatch on map load
...
fixes #682
2021-01-16 23:23:05 +00:00
Susan
b506f0a240
remove misleading comment
...
per https://github.com/DFHack/dfhack/issues/682#issuecomment-138705257 , seedwatch supports linux and has done for over a decade.
2021-01-16 23:01:25 +00:00
abstern
78df890217
factor out functions to get plant names and set individual farms
2021-01-13 08:55:48 +01:00
abstern
80674f7697
[feature] autofarm: fallow farms when no further plants requested
2021-01-12 21:37:51 +01:00
Myk Taylor
339d5ce26b
set buildingplan global settings from prompt
...
allow buildingplan settings to be set from the DFHack# prompt. For
example, if a player knows they'll always want to build with blocks,
they could add the following two lines to onMapLoad.init:
buildingplan set boulders false
buildingplan set logs false
2021-01-10 17:29:53 -08:00
Timur Kelman
f115767713
add missing `\n` in digFlood's example
2020-12-31 13:47:02 +01:00
lethosor
b585bca90b
look_menu_search: fix crash due to certain cursor keys not restoring list
...
Fixes #1737
2020-12-30 15:04:43 -05:00
lethosor
a7232499ac
Silence some warnings from GCC 10
...
Specifically `gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0`
2020-12-30 00:04:49 -05:00
PatrikLundell
4a2704665d
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant
2020-12-27 11:20:18 +01:00
PatrikLundell
dbfd838786
corrected temperature calculation factor order
2020-12-27 11:07:33 +01:00
lethosor
8cace1eb06
probe: print more designation and occupancy-related flags
...
This was useful for testing #1729
2020-12-23 15:36:39 -05:00
lethosor
eff360b49d
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-20 01:15:40 -05:00
PatrikLundell
0b7ab90d3d
corrected mismatched indices
2020-12-17 11:49:15 +01:00
lethosor
de21e0cdb8
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-16 13:25:25 -05:00
PatrikLundell
3e3a34af99
corrected index usage
2020-12-16 10:59:27 +01:00
lethosor
d437cfe649
Add test for invalid job types in workflow's job_outputs
2020-12-15 21:36:57 -05:00
lethosor
5d3924a8c0
Remove old jobs from plant_products
...
Identified by Quietust in #1722
2020-12-14 00:04:53 -05:00
lethosor
123c207d9c
Fix error in material_defs lookups
...
Changed in dfhack/df-structures@7dfea1f1d4
Fixes #1722
2020-12-14 00:03:29 -05:00
lethosor
4e08357aaf
search: reset when screen is dismissed, even if it's still present under gview
...
Fixes #1725
2020-12-08 23:09:07 -05:00
lethosor
a3d8c5a2ec
revflood docs: clarify that constructed walls are ignored
...
Closes #1719
2020-12-05 19:41:32 -05:00
lethosor
db03f943c9
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-12-04 23:54:50 -05:00
PatrikLundell
c36fbe4c8b
Corrected river size handling
2020-12-03 15:40:22 +01:00
Tachytaenius
2a4e16d6da
Cover artifacts at greasing station
...
The inconsistent [DOES_NOT_DETERMINE_PRODUCT_AMOUNT] distribution is right, I assume?
2020-11-28 18:08:04 +00:00
lethosor
8548295fe5
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-11-18 11:12:17 -05:00
PatrikLundell
afe99b83c2
corrected orientation bug
2020-11-18 10:43:15 +01:00
lethosor
90cf6e8587
Merge remote-tracking branch 'quietust/dwarfvet' into develop
2020-11-17 23:38:06 -05:00
lethosor
53916dbe6b
Use charToKey and clean up logic a bit
...
Ref #1714
2020-11-17 23:33:18 -05:00
Nilsolm
4ac3e62e60
ignore input if selection is zero
2020-11-18 02:41:20 +01:00
PatrikLundell
1cd9babfb7
2 spaces killed
2020-11-17 21:10:40 +01:00
PatrikLundell
7944026742
fixed help screen misalignment
2020-11-17 20:55:14 +01:00
PatrikLundell
8f5d9fe1e9
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant
2020-11-17 19:53:09 +01:00
PatrikLundell
ab617f67cc
corrected world tile level incursion calculations
2020-11-17 19:52:46 +01:00
Quietust
877fd42214
dwarfvet - initialize spot_index ( #1711 ), fix types in Patient
2020-11-17 09:13:03 -06:00
lethosor
0b886399fe
zone: stop enumnick from taking priority over assign/unassign/slaughter
...
Fixes #1709
Ref #1652
2020-11-15 22:21:46 -05:00
lethosor
4921cb4ac7
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-11-14 15:08:22 -05:00
PatrikLundell
0ef56ba859
another space character met its demise
2020-11-14 14:53:54 +01:00
PatrikLundell
46835c9edd
reworked aquifer bit fiddling
2020-11-14 14:43:43 +01:00
myk002
59e76ae407
detect buildingplan buildings in the resume plugin
2020-11-13 12:43:46 -08:00
PatrikLundell
d51b56c780
removed a blank
2020-11-13 20:28:22 +01:00
PatrikLundell
6014a45235
Fixed bug missing world tiles lacking incurson supplied resources
2020-11-13 20:11:03 +01:00
lethosor
2e4f23d49f
Merge remote-tracking branch 'myk002/myk_isplannedbuilding' into develop
2020-11-13 14:09:36 -05:00
myk002
efdba8b596
add buildingplan.isPlannedBuilding
2020-11-13 10:18:54 -08:00
myk002
10616a387f
cleaner mask-based implementation
2020-11-12 22:44:38 -08:00
myk002
6b14a92385
allow buildingplan to match metal bars
2020-11-12 19:54:00 -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
myk002
36110902fa
don't use cached iterators across map reloads
2020-11-12 00:11:13 -08:00
lethosor
923b1b14f3
Merge remote-tracking branch 'myk002/buildingplan_persist_global_settings' into develop
2020-11-11 23:59:09 -05:00
lethosor
9c13b497bf
Merge remote-tracking branch 'myk002/myk_automaterial_buildingplan_fix' into develop
2020-11-11 23:36:42 -05:00
myk002
54702085d5
don't eat keys while building is being renamed
...
allows buildingplan to prevent unsuspension of planned buildings without
also eating the 's' key when the user is trying to use it to give the
building a custom name.
2020-11-11 17:12:56 -08:00
lethosor
c87d5260d3
buildingplan: make hotkeys added to existing menus red
...
For clarity (per Lua API.rst guidelines)
2020-11-11 16:04:40 -05:00
lethosor
58079217d9
Merge remote-tracking branches 'myk002/myk_buildingplan_no_quality' and 'myk002/myk_buildingplan_pause' into develop
2020-11-03 00:09:03 -05:00
Myk Taylor
2c65113bdb
detect all conditions that make the game pause
2020-10-31 03:03:05 -07:00
Myk Taylor
fbc26336cf
don't show quality properties for no-quality items
...
for items that cannot have a quality or be decorated:
in place mode, don't show quality adjustment hotkeys (or isDecorated
flag hotkey) and don't interpret the associated keycodes if they are
pressed.
in query mode, don't show quality or decorated fields.
2020-10-31 02:25:26 -07:00
Myk Taylor
65114d904c
fix typo in comment
2020-10-29 11:53:31 -07:00
Myk Taylor
22ac163d55
improve UX between automaterial and buildingplan
...
solves the confusing behavior when both automaterial and buildingplan
are enabled for constructions. the two plugins now communicate with each
other over the Lua layer to negotiate consistent behavior.
if neither plugin is enabled, the standard DF UI acts as normal
if automaterial is enabled but buildingplan is not, then automaterial
behavior is unchanged.
if buildingplan is enabled and automaterial is not then behavior is
the same as other buildings with buildingplan (no material selection
screen, screen stays on building placement screen after placement).
this commit fixes a bug, though, where buildingplan would only lay
down a single tile of contruction instead of a solid block when a
block is requested.
if both plugins are enabled but buildingplan is not enabled for the
building type then automaterial is unchanged from previous behavior,
execpt for an additional header showing the separation between
automaterial hotkeys and buildingplan hotkeys.
finally, if both plugins are enabled and buildingplan is enabled for the
building type then buildingplan behavior prevails, but the box select and
hollow designations features of automaterial are still usable and
useful. the 'Auto Mat-select', 'Reselect Type', and "Open Placement"
automaterial hotkeys are hidden in the UI and ignored in the feed. This
is because buildingplan takes over material selection, so 'Auto
Mat-select' doesn't make sense. Buildingplan also already stays on the
placement screen after placement, so 'Reselect Type' is not necessary.
And all buildingplan-placed buildings have relaxed placement
restrictions (e.g. they can be built in mid-air) so 'Open Placement' is
also not necessary. The missing options are replaced with blank lines so
the vertical alignment of all other options stays constant.
we also remove a few extra lua_pop() calls that are made superfluous by
the StackUnwinder.
2020-10-29 11:00:49 -07:00
lethosor
08bb6ca35e
Tweak colors
...
Ref #1684
2020-10-29 00:03:07 -04:00
lethosor
d508ad3c4b
Merge remote-tracking branch 'myk002/buildingplan_building_material_filters' into develop
...
Conflicts:
docs/changelog.txt
2020-10-28 23:57:55 -04:00
Myk Taylor
c1af3e2817
document what happens if no types are allowed
2020-10-26 21:13:11 -07:00
lethosor
3ab9157a2d
Merge remote-tracking branch 'myk002/buildingplan_refactor5_allbuildings_squashed2' into develop
2020-10-26 21:37:41 -04:00
lethosor
b723636fe2
Merge remote-tracking branch 'myk002/buildingplan_refactor4_algorithm_squashed2' into develop
2020-10-26 21:24:05 -04:00
Myk Taylor
1a69a9b483
add more important checks for matching items
...
stolen (with love) from advfort.lua
2020-10-26 16:54:50 -07:00
Myk Taylor
292d40a6ba
change hotkeys for adjusting min and max quality
...
to avoid 'q' and 'w' conflicts with the standard DF UI hotkeys for
roller speed.
min quality: 'qw' -> 'QW'
max quality: 'QW' - 'AS'
2020-10-26 16:11:34 -07:00
Myk Taylor
72b6ac781b
on second thought, let UI-related settings reset
...
no need to have quickfort_mode stay on forever
2020-10-25 02:45:03 -07:00
Myk Taylor
486bf2719b
persist global buildingplan settings
...
this ensures that a player's preferences are saved across map reloads.
this is particularly important for the building material filters, since
item fulfillment tasks are regenerated on map load, and any changes in
settings when buildingplan is reset will change the item vectors that will
be searched for planned buildings. if the settings were allowed to reset,
then a player who thought all walls would be made out of blocks would be
surprised to find boulders and logs being used after the map is reloaded.
2020-10-25 02:37:22 -07:00
lethosor
58917b03d1
Switch away from CheckDFObject in unprotected calls
...
See https://github.com/DFHack/dfhack/pull/1674#issuecomment-716028460
2020-10-24 14:27:33 -04:00
Myk Taylor
a2f943e7e5
don't shift UI down for track constructions
...
automat doesn't have UI there to avoid
2020-10-24 09:19:15 -07:00
Myk Taylor
e614d16e0e
use Lua::CheckDFObject instead of static cast
2020-10-23 15:30:40 -07:00
Myk
55a52554ee
use CheckDFObject instead of static cast
...
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2020-10-23 13:55:14 -07:00
Myk Taylor
0f517f38f8
don't conflict with automaterial plugin
...
shift buildingplan text down so we don't overwrite each other
2020-10-22 22:01:45 -07:00
Myk Taylor
7e78d8802e
migrate qf's buildings_use_blocks to buildingplan
...
- remove buildings_use_blocks setting from quickfort config file
- add a new Buildingplan Global Settings dialog to house global settings
- move Quickfort Mode (for legacy Python Quickfort) into that dialog
- add four settings to control how generic building materials are matched:
- blocks
- boulders
- logs
- bars
- ajust the buildingplan algorithm to register duplicate tasks for
building material item filters, one for each type. since we track how
many items we've matched for a filter, the first matched item will
"win" and the extras will get detected as invalid and popped off the
queue.
- ensure boulders, logs, and bars are scanned last, and in that order
- more global settings planned for the future! see
http://www.bay12forums.com/smf/index.php?topic=176889.msg8202679#msg8202679
2020-10-22 21:37:49 -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
100b374af7
generalize buildingplan for all building types
...
but restrict to only the currently supported set so we can still assume only one filter is required for each building.
changes:
- update buildingplan plugin version to 2.0
- new serialization format for planned buildings
- old persistent data is automatically migrated to new format on load
- algorithm now respects job_item filters; items must match job_item filter and buildingplan ItemFilter
- more invalid items are now filtered out, like items encased in ice. are there any others we should be checking (see BadFlags struct)
- items are sorted before job is unsuspended so final item ordering is correct regardless of what order the items were matched and attached
- item counts in filters are kept up to date so if buildingplan is disabled before all filters are matched and the building is completed by DF itself, the item counts will come out correct (though the item ordering and building "roughness" may be incorrect)
- fixes two memory leaks in building finalization code
- allows artifacts to be matched (ItemFilter defaults now top out at Masterful -- Artifact is selectable but must be manually specified)
- add gui to switch between items for buildings that require multiple item types
2020-10-16 14:08:52 -07:00
Myk Taylor
1368fb4003
buildingplan: construct buildings from lua
...
Replace C++ building construction code with lua constructBuilding so we can get the proper job_item filters set. these filters will be used when we replace the core buildingplan algorithm in the next PR.
2020-10-16 14:03:05 -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
895fa59c79
Merge branch 'buildingplan_refactor' into develop
2020-10-16 00:05:01 -04:00
lethosor
93520b4b00
dwarfmonitor prefs: fix segfault if item_subtype is null for some item types
2020-10-11 20:45:56 -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
e2de358f00
Merge remote-tracking branch 'PassionateAngler/zone-qol-improvements' into develop
2020-10-09 21:43:04 -04:00
lethosor
2382247398
Update some docs links to use HTTPS
2020-10-09 19:17:59 -04:00
lethosor
c9609ad590
Make `createitem inspect` consistent for PLANT_GROWTH items
2020-10-09 12:45:49 -04:00
lethosor
691b35bf04
Merge remote-tracking branch 'quietust/createitem' into develop
2020-10-09 12:35:40 -04:00
George Murray
a3c565b243
Add to_search_normalized to search for characters with accents
2020-09-24 07:31:10 -07:00
Myk Taylor
1c2761f903
enable all in quickfort mode
...
and simplify logic since new bool map values are already initialized to
false
2020-09-23 20:00:04 -07:00
Myk Taylor
323d377f63
Merge remote-tracking branch 'upstream/develop' into buildingplan_refactor
2020-09-23 19:21:49 -07:00
lethosor
577bb0a258
Merge remote-tracking branch 'myk002/buildingplan_format' into develop
2020-09-23 20:04:17 -04:00
Quietust
d3520a2f5f
Fix createitem to properly create plant growths ( #898 )
2020-09-20 16:11:41 -06:00
lethosor
0e6e00af5e
getplants: fix crash when world_object_data is not present for certain blocks
2020-09-20 01:24:46 -04:00
lethosor
9c37a3a068
Add "createitem inspect" subcommand
2020-09-19 20:33:47 -04:00
lethosor
8df8eb0c5d
Remove obsolete xlsxio_project dependency
2020-09-19 16:23:21 -04:00
lethosor
5952c16d87
Merge branch 'develop' into deps-subdirectory
2020-09-19 16:19:47 -04:00
PassionateAngler
11ee3a223d
enumnick: command added to 'zone' plugin and other QoL improvements
...
zone: enumnick command create nick for creature from given prefix and number
uinfo displays "Matched creatures" i.e number of creatures matched by filter
maxage, and minage filters accept float now
slaughter flag displayed on uinfo cretures list
2020-09-19 14:52:16 +02:00
lethosor
a4254a4d2c
xlsxreader: Don't link to zlib directly
...
It's complicated on Windows, and xlsxio already links to it directly
2020-09-18 15:04:06 -04:00
lethosor
b85759620f
Switch libzip and xlsxio to be included with add_subdirectory(), disable xlsxio installation
2020-09-18 00:33:41 -04:00
lethosor
42d4d33571
Only modify xlsxreader target if it was created
...
Ref #1620
2020-09-17 15:41:29 -04:00
lethosor
1efa09582a
Change libexpat to be included with add_subdirectory()
...
- Confirmed that libexpat is built statically and linked with xlsxreader
- May need da7cda3a85
for Windows
- Although libexpat's CMake options are all prefixed with LIBEXPAT_, it also adds some cache entries like SIZE_T (from expat/ConfigureChecks.cmake). Unsure if these affect other libs.
- xlsxio may need additional reconfiguration after moving to add_subdirectory() to find libexpat/libzip on non-Linux platforms.
2020-09-17 00:25:50 -04:00
Myk Taylor
8660355838
formally declare used globals in fortplan
2020-09-08 21:30:12 -07:00
Myk Taylor
3b362294b9
move quickfort logic from Planner to buildingplan
...
where all the other gui-related logic is.
2020-09-08 17:34:11 -07:00
Myk Taylor
f3da131db7
reorganize buildingplan code - no logic changes
...
- no API or logic changes, just moving code around
- split buildingplan-lib into planner and rooms files
- move business logic from .h files to .cpp files
2020-09-08 00:17:56 -07:00
lethosor
09b018bea6
stockpiles: remove sand_bags field
...
Fixes #1013
2020-08-29 20:04:09 -04:00
lethosor
23dc7727b5
Merge remote-tracking branch 'kristjanmoore/develop' into develop
2020-08-29 17:43:46 -04:00
George Murray
a84a1f0ee9
Switch trade screen search to use search_multicolumn_modifiable so that item counts are updated correctly with other information
2020-08-25 14:15:41 -07:00
kristjanmoore
293b0253c4
Set min_waterfall special cases outside loop
2020-08-23 17:35:45 +00:00
kristjanmoore
3ebb812cd5
Allow searches for higher waterfalls
2020-08-23 13:20:45 +00:00
lethosor
45a0b7b3a6
Fix stockpiles crash when building food map
...
Fixes #1628
Broke due to ecd6bcc9ed
2020-08-18 21:00:10 -04:00
lethosor
19a4d1df5a
Merge remote-tracking branch 'myk002/quickfort_buildingplan' into develop
2020-08-17 23:43:05 -04:00
Myk Taylor
7a7aff7745
closing NULL pointers is ok
2020-08-15 23:37:21 -07:00
Myk Taylor
e4a35514ab
document buildingplan Lua API
2020-08-15 23:03:49 -07:00
Myk Taylor
4e331ce4ce
much better NULL handling/detection for xlsxreader
2020-08-15 22:35:20 -07:00
Myk Taylor
42108a64b9
expose basic buildingplan functionality to Lua
2020-08-12 15:24:32 -07:00
Myk Taylor
0bda289b17
move xlsxreader identity statics to dfhack lib
2020-08-11 14:51:17 -07:00
Myk Taylor
cfc736caa1
give the identity classes distinctive name fields
...
both would have been represented as "handle" to Lua
2020-08-11 14:18:09 -07:00
Myk Taylor
c6f9eb519a
remove outdated example code in xlsxreader.cpp
...
there is already good example code in Lua API.rst and in xlsxreader.lua,
so just remove this one
2020-08-11 13:44:07 -07:00
Myk Taylor
438d264b31
use separate identity classes for each handle type
2020-08-10 23:09:03 -07:00
Myk Taylor
17c509a596
update sample code for xlsxreader to use finalize
2020-08-10 09:18:49 -07:00
Myk Taylor
69322ec429
use proper USERDATA instead of LIGHTUSERDATA
2020-08-10 01:13:16 -07:00
Myk Taylor
679ca41da8
make sure xlsxio knows to link statically
2020-08-09 21:22:17 -07:00
Myk Taylor
06e3f77e39
fix windows zlib path, hopefully for the last time
2020-08-09 10:47:15 -07:00
Myk Taylor
e2129673c1
fix zlib path on windows
2020-08-09 10:11:24 -07:00
Myk Taylor
5294360908
more windows library naming shenanigans
2020-08-09 09:46:54 -07:00
Myk Taylor
4a04273fae
document xlsxreader functions
2020-08-09 09:28:19 -07:00
Myk Taylor
a41f7c0998
convert XlsxReader module to xlsxreader plugin
2020-08-09 08:54:42 -07:00
lethosor
73ba692f15
Fix road building ( #1596 )
...
Paved roads need architecture before road building
2020-08-08 14:46:42 -04:00
lethosor
b2368b3c34
Merge remote-tracking branch 'ab9rf/labormanager-custom-furnaces' into develop
2020-08-08 14:35:44 -04:00
lethosor
a28e939370
Recalculate size after toggling columns (goals can be longer than professions)
2020-08-08 00:45:57 -04:00
lethosor
ee8d130298
Use existing pronoun_type enum
2020-08-08 00:12:59 -04: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
ed9f724117
Use BUILDJOB_NOW key, dim text when no job is selected
2020-08-06 22:44:49 -04:00
lethosor
c7e4c724e8
Sort tweaks alphabetically
2020-08-06 22:37:04 -04:00
lethosor
0c53b2b6c5
Add do-job-now tweak
...
Forum thread: http://www.bay12forums.com/smf/index.php?topic=176700
Original source: https://github.com/dlmarquis/dfhack/blob/dojobnow-r1/plugins/dojobnow.cpp
Co-authored-by: dlmarquis <dlmarquis@users.noreply.github.com>
2020-08-06 22:36:57 -04:00
lethosor
02c0a6c8f6
Update getplants to use new plant_raw.material_defs layout
...
a9f219baf9
applied to #1564
2020-08-06 00:53:06 -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
PatrikLundell
19ad5c92d6
corrected incursion bugs
2020-07-30 10:09:41 +02:00
lethosor
4554ca35f3
Ruby: add _indexenum wrapper to OtherVectors for compat with devel/scanitemsother
...
Ref #1558
2020-07-26 23:11:04 -04:00
lethosor
655b363238
Fix some spelling errors
2020-07-22 02:23:29 -04:00
lethosor
044add2147
Reorder .proto comments
2020-07-18 12:48:20 -04:00
lethosor
35d659091d
Merge remote-tracking branch 'myk002/blueprint_in_blueprints' into develop
2020-07-17 17:32:59 -04:00
lethosor
c858f33f61
reaction-gloves: fix warnings
2020-07-17 00:00:57 -04:00
lethosor
89c24ac8be
Merge remote-tracking branch 'quietust/reaction-gloves' into develop
2020-07-16 22:40:49 -04:00
Myk Taylor
bb91fdcf8c
Merge remote-tracking branch 'upstream/develop' into blueprint_in_blueprints
2020-07-16 09:24:52 -07:00
lethosor
a0d627ebc7
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
2020-07-16 01:48:07 -04:00
Myk Taylor
c19fc1f349
gcc-4.8 compatibility
2020-07-15 21:35:21 -07:00
Myk Taylor
e2334387a9
blueprint: write blueprints to blueprints/ subdir
...
to enable writing to a subdir that may not exist, blueprint now automatically
creates folder trees. E.g. ``blueprint 30 30 1 rooms/dining dig`` will create
the file ``blueprints/rooms/dining-dig.csv``). Previously it would fail if the
``blueprints/rooms/`` directory didn't already exist.
2020-07-15 16:57:14 -07:00
lethosor
b6de6f12ec
Merge remote-tracking branch 'RosaryMala/remote_reader' into develop
2020-07-13 19:58:33 -04:00
lethosor
07a2b4a9d7
Use language_name_type enum item names
2020-07-11 02:05:38 -04:00
lethosor
c30d27cfbd
Silence strangemood warnings
2020-07-11 01:41:38 -04:00
lethosor
f32757fa09
Update scripts
2020-07-03 22:49:48 -04:00
PatrikLundell
0a2a16d29c
corrected ripeness calculation
2020-07-03 15:50:18 +02:00
PatrikLundell
a04c609980
fixed getplants, issue #1479
2020-07-03 13:46:32 +02:00
Ben Lubar
72ce52e004
update structures
2020-07-01 23:10:34 -05: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
Quietust
3dcde1554a
Update xml, fix reaction_product::produce() parms
2020-06-23 13:37:11 -06:00
Quietust
2597aeab0e
Add a new tweak, "reaction-gloves"
...
When enabled, custom reactions will begin to produce gloves in sets, based
on the number of hands the job performer's race has, and set the
Handedness flags accordingly.
The "createitem" plugin already contains a simpler workaround (which
doesn't check body plan but instead just produces pairs), but it shouldn't
trigger when this tweak is enabled (unless you use it on a creature which
has been modded to only have "neutral" hands).
2020-06-23 13:37:11 -06:00
Quietust
e2301ecae7
Update structures, fix reaction_productst::produce() parms
2020-06-23 13:31:27 -06:00
Kelly Kinkade
61a00f7809
stupid whitespace
2020-06-20 23:10:44 -05:00
Kelly Kinkade
7ddc3bb918
fix labor inferences for custom furnaces
...
Also clean up how paved roads are handled (the way it was was stupid)
2020-06-20 23:05:55 -05:00
lethosor
aee4fcd1a6
Add confirmation for convicting dwarves of crimes
...
Closes #1593
2020-06-20 12:06:50 -04:00
PatrikLundell
d5a491e852
fixed parameter bugs
2020-06-07 08:38:12 +02:00
PatrikLundell
4a48c356a9
fixed bug with incursion handling along world tile edges
2020-06-02 15:58:46 +02:00
PatrikLundell
dda31c06db
merged
2020-06-02 15:08:02 +02:00
Rose
ad37354211
Bump version number to make sure the updater works.
2020-05-24 15:42:59 -07:00
Rose
b3080c73ca
Merge remote-tracking branch 'DFHack/develop' into remote_reader
2020-05-22 08:06:33 -07:00
Rose
6e2f71b10f
Merge branch 'remote_reader' of https://github.com/RosaryMala/dfhack into develop
2020-05-22 08:04:38 -07:00
Rose
3db490ee9e
Fix a problem where the block coordinates would sometimes not get copied.
2020-05-22 08:01:34 -07:00
Ben Lubar
28c34217d8
Ruby implementation of df-other-vectors-type
2020-05-09 18:28:40 -05:00
PatrikLundell
31d984e934
Fixed 2 incursion handling bugs
2020-05-05 10:21:56 +02:00
lethosor
be517370a6
rendermax: move to std::mutex
...
fast_mutex can deadlock on Linux with optimization enabled
2020-05-04 18:38:54 -04:00
Kelly Kinkade
2dfd7ea0d0
Update labormanager.cpp again
...
These should probably be OTHER rather than BUSY.
2020-05-03 18:19:49 -05:00
Kelly Kinkade
319354f6cd
Update labormanager.cpp
...
Add entries for jobs 241-243 to the `dwarf_states` vector as well, derp.
2020-05-03 18:16:31 -05:00
Kelly Kinkade
866660169e
Update joblabormapper.cpp
...
Add no-labor mappings for new jobs 241 through 243.
2020-05-03 17:53:32 -05:00
JapaMala
63c7b69b5b
Change item improvement type to bare ints.
2020-05-02 14:38:55 -07:00
JapaMala
60853a543d
Remove the site realization building type from the remote reader spec. It has no business being there.
2020-05-02 13:28:28 -07:00
JapaMala
2762f75d69
Merge remote-tracking branch 'dfhack/develop' into develop
2020-05-02 10:58:41 -07:00
JapaMala
fcc4962052
Update stonesense to not crash.
2020-05-02 10:58:07 -07:00
lethosor
1dc59d3772
Ruby: use core methods for finding selected item and building
...
Similar to c3d566332
, the core methods have become more complicated (and are also checked at compile-time). This will give a more consistent experience across scripts.
Fixes #1563
2020-05-01 22:50: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
1546d9ec1a
Tweak docs from #1484
2020-04-25 02:41:27 -04:00
lethosor
4dce9f2010
Merge remote-tracking branch 'PatrikLundell/getplants' into develop
...
Merges #1484
Conflicts:
docs/changelog.txt
2020-04-25 02:39:05 -04:00
lethosor
55a82e43c6
Update xml, fix stockpiles build
2020-04-24 23:50:35 -04:00
lethosor
75c8bf1a59
Indent more
2020-04-22 22:05:48 -04:00
PatrikLundell
07571e9eb4
updated and resolved conflict
2020-04-22 11:43:37 +02:00
Ben Lubar
2f1e057bc7
check-structures-sanity: report known void* types with a better message
2020-04-19 22:03:03 -05:00
Ben Lubar
8427f518c9
match capitalization changes I made to df-structures in specific_ref
2020-04-15 20:05:15 -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
Nilsolm
362e49c0bc
autogems: check bin content in linked stockpiles
2020-04-12 11:02:26 +02:00
Nilsolm
2b44e52cab
Add intrigue skill to manipulator
2020-04-11 16:47:29 +02: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
Nilsolm
c4853bd6e1
Add search to justice screen
2020-04-06 19:13:18 +02:00
lethosor
4e957eafe2
Merge remote-tracking branch 'ymber/embark-profile-name' into develop
2020-04-04 18:55:12 -04:00
PatrikLundell
a0e2abe20a
Units update need coordination with structure identity
2020-04-04 14:00:26 +02:00
ymber
9b813aab49
Restore style
2020-04-04 11:17:10 +01:00
ymber
5d032b3d9c
Restore esc abort key
2020-04-04 11:12:51 +01:00
Ben Lubar
845b53d7cd
fix integer signedness differences
2020-04-03 11:50:09 -05:00
ymber
6b603bc644
Update embark-profile-name tweak
2020-04-02 17:57:05 +01:00
lethosor
06201a4c6a
Bail out if MALLOC_PERTURB_ is unset to avoid unexpected behavior
2020-04-02 01:48:21 -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
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
PatrikLundell
5c913270d6
forgot to update profile save/load
2020-03-15 17:56:13 +01:00
PatrikLundell
7e2872e607
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark_assistant
2020-03-15 17:33:08 +01:00
Ben Lubar
ccf92d4b0a
fix check-structures-sanity compile on 64-bit windows
2020-03-13 01:09:04 -05:00
Ben Lubar
a456b2fcf3
fix windows build
2020-03-13 00:03:56 -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
d456e3db7a
check-structures-sanity: fix unknown pointer type not actually dereferencing the pointer
...
basic attempt at handling overlapping structs
2020-03-12 15:20:46 -05:00
Ben Lubar
616a57224f
check-structures-sanity: don't report possible pointers by default
2020-03-12 11:35:52 -05:00
Ben Lubar
08d2ed577e
fix check-structures-sanity compile on windows
2020-03-12 10:02:21 -05:00
Ben Lubar
469c49c8b9
check-structures-sanity: keep track of whether data is within a larger structure
2020-03-11 17:49:34 -05:00
Ben Lubar
eabff06eef
check-structures-sanity: warn when an integer might be a pointer
2020-03-11 11:20:10 -05:00
Ben Lubar
e2138a6cc2
update check-structures-sanity (part 2 of 2)
2020-03-10 23:05:59 -05:00
Ben Lubar
e5de783c58
rewriting check-structures-sanity to improve performance and remove the need for the lowmem option
2020-03-10 18:53:56 -05:00
Ben Lubar
e296525983
check-structures-sanity: don't error on unnamed enum values/bits by default
2020-03-09 17:52:47 -05:00
Ben Lubar
923581b144
fix ghidra script failing if strings overlapped (for example, load_min_version and version could point to the same region of memory)
2020-03-09 17:52:47 -05:00
Ben Lubar
a2e34a3b71
fix check-structures-sanity picking the wrong type for linked list items
2020-03-08 00:21:18 -06:00
Ben Lubar
f8f7b52180
fix is_df_linked_list not checking if the type is null
2020-03-06 20:22:18 -06:00
Ben Lubar
6465037432
fix field order
2020-03-06 20:04:17 -06:00
Ben Lubar
07aceb1078
correctly handle arrays of linked lists
2020-03-06 19:45:04 -06:00
Ben Lubar
9b724666f7
check-structures-sanity: check linked lists in a more intelligent way
2020-03-06 17:53:05 -06:00
Ben Lubar
def86b8058
check-structures-sanity: ignore DfLinkedList element sizes; these can be part of a larger structure
2020-03-06 17:05:36 -06:00
Ben Lubar
61aeaaf55e
fix typo in check-structures-sanity
2020-03-06 16:51:33 -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
635e709d95
name ui_look_list union
...
update scripts and structures
2020-03-06 16:06:27 -06:00
PatrikLundell
630aa5abdb
Merge branch 'develop' of https://github.com/DFHack/dfhack into embark_assistant
2020-03-05 08:40:46 +01:00
Ben Lubar
84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h
2020-03-04 18:23:49 -06:00
PatrikLundell
6f9f398e22
blind attempt to silence warnings
2020-03-04 16:54:00 +01:00
PatrikLundell
8dd89eee8a
Addressed warnings
2020-03-04 10:09:51 +01:00
PatrikLundell
cd4c7ee422
Updated embark-assistant. Lt aquifer, trees, neighbors
2020-03-03 21:45:20 +01:00
Ben Lubar
e356925795
update structures
2020-03-02 23:12:03 -06:00
Ben Lubar
e5c597f869
change two UNEXPECTEDs in check-structures-sanity to FAILs instead
2020-03-02 22:30:23 -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
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
fe2ea17880
change DF version
...
add -maxerrors and -failfast to check-structures-sanity
2020-03-01 12:15:26 -06:00
Ben Lubar
0c007c4699
remove std::min usage
2020-03-01 00:18:09 -06:00
Ben Lubar
85bfa60cf2
allow -1 union values for undefined tags to avoid false positives
2020-02-29 21:57:39 -06:00
Ben Lubar
cc2c732dd5
insert a new second rule for tagged union discovery
...
1. if the field name ends in "data" and there is a field with the same
prefix ending in "type", the field ending in "type" is the tag.
2. if the field name ends in "_target" and the previous field has the
same prefix and no suffix, the previous field is the tag.
3. if the field is not the last field in the structure, the next field
is the tag.
2020-02-29 18:46:34 -06:00
Ben Lubar
b0699a1b5e
allow uninitialized data to be all zeroes
2020-02-29 18:36:00 -06:00
Ben Lubar
0860d81c86
add support for vectors of tagged unions in check-structures-sanity
2020-02-29 18:28:14 -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
3240b6d897
check-structures-sanity improvements for unidentified fields and unions
...
- not being able to determine the tag for a union is now an error.
- pointer-sized unknown allocations will now be checked recursively as
if they were void pointers. this will help with identifying string
pointers on linux.
- unknown tagged union fields will be checked as void pointers if the
first identified field of the union is a pointer.
- tagged unions can now be of non-pointer types.
- tagged unions can now have complex tag enums.
2020-02-29 14:20:43 -06:00
Ben Lubar
a30678cee3
subclass struct_identity for unions
2020-02-29 13:11:23 -06:00
Pierre-David Belanger
97a31c68a8
dwarfvet log only if enabled ( fix #1504 )
2020-02-24 13:54:47 -05:00
Ben Lubar
e9564a28f5
allow tagged unions to not be union followed by tag
2020-02-23 21:33:32 -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
37a8bf679e
fix copy/paste error
2020-02-22 14:10:26 -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
lethosor
81c304f7ee
Update stonesense, isoworld
2020-02-21 08:27:57 -05:00
Ben Lubar
38410544b0
handle tagged unions in check-structures-sanity
...
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar
ee6b281ae3
allow check-structures-sanity to check the size of the value explicitly specified in a lua expression rather than just its descendants.
...
print an error if getting the type identity fails.
2020-02-19 11:40:31 -06:00
Ben Lubar
d149763c1e
fix yet another weird use of the part of speech enum
2020-02-18 16:41:39 -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
0f857f1b20
fix msvc warning about 64-bit shift
2020-02-15 18:20:34 -06:00
Ben Lubar
d0de7865d3
fix compile for gcc 4.8
2020-02-15 18:20:32 -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
PatrikLundell
8756667d99
cursecheck: Fix werecreature detection
...
Fixes #957
2020-02-15 17:09:18 -05:00
Ben Lubar
e4ff184280
check-structures-sanity: add -lowmem argument to use depth-first search instead of readth-first search
...
add progress indicator if called from the console
2020-02-15 12:54:04 -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
8e5f391d3a
attempt to fix lua calls in check-structures-sanity
2020-02-15 02:42:44 -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
4e69b50bb3
fix use-after-free in memview
2020-02-14 17:38:31 -06:00
Ben Lubar
fec6f01520
Allow uninitialized raw pointers.
2020-02-13 19:55:49 -06:00
Ben Lubar
9c34e9e584
properly check fields of the full type heirarchy
2020-02-12 18:01:49 -06:00
Ben Lubar
24918e5513
check fields of actual virtual type, not just the declared one
2020-02-12 17:57:55 -06:00
Ben Lubar
40bd55c558
don't check bad pointers
2020-02-11 17:33:33 -06:00
Ben Lubar
195b933c61
ignore contents of elements of "bad" pointer vectors
2020-02-11 17:17:11 -06:00
Ben Lubar
62af2952b7
Fix check-structures-sanity mishandling vectors of pointers.
...
Also fix detecting structures that span multiple memory segments as being outside of memory.
2020-02-11 14:11:09 -06:00
Ben Lubar
3c9f6f79ab
fix some warnings
2020-02-10 19:35:17 -06:00
PatrikLundell
1a695621c3
Adjusted to int-> enum defs, fixed bug
2020-02-10 18:22:26 -06:00
Ben Lubar
8122b95144
fix signed integer being compared to an unsigned integer
2020-02-10 11:57:27 -06:00
Ben Lubar
05a49cbacb
fix a possible SIGABRT when misdetecting a vtable as being valid
...
add enum names enum-based indexes
2020-02-09 15:12:25 -06:00
Ben Lubar
e9dba1d6ca
fix crash when checking unknown vector types. also remove the warning when unknown vector types were not pointer-aligned
2020-02-09 14:25:48 -06:00
Ben Lubar
6b828115a7
rewrite check-structures-sanity to use breadth-first search and not overflow the stack
2020-02-09 14:16:19 -06:00
lethosor
f54c361718
Add an implementation of mifki's sizecheck library (tested on Linux)
2020-02-08 21:18:29 -05:00
Ben Lubar
359cc2275a
include the windows header rather than winnt
2020-02-05 21:47:25 -06:00
Ben Lubar
d494eb619d
fix Windows 64-bit compile for check-structures-sanity
...
fix some sprintf size_t-related warnings
2020-02-05 20:29:16 -06:00
Ben Lubar
860131cf96
fix Windows 32-bit compile for check-structures-sanity
2020-02-05 20:21:32 -06:00
Ben Lubar
d9abe02b2e
add support for DfArray in check-structures-sanity
2020-02-05 19:06:14 -06:00
Ben Lubar
d7d0923044
add string checking support to check-structures-sanity
...
try to avoid crashes on bad vtables
2020-02-05 18:52:35 -06:00
Ben Lubar
3d037db789
add a tool for sanity-checking structures on a running Dwarf Fortress instance.
2020-02-05 16:36:59 -06:00
Ben Lubar
5db7d518ee
update structures; fix some minor compile warnings
2020-02-05 12:35:43 -06:00
Ben Lubar
c4b01b53a3
add new building_type enum value to labormanager
2020-02-02 17:15:40 -06:00
PatrikLundell
876ac6c056
Renamed to getBookTitle, cut down on virtual_cast
2020-01-25 21:46:10 +01:00
PatrikLundell
c6bbf39c6c
Issue #1262 . Added Items::getTitle and used in stocks
2020-01-25 12:43:02 +01:00
PatrikLundell
9d4d0b195a
Added switches for farm seeds and plant counts
2020-01-22 17:33:39 +01:00
lethosor
bcd7974561
Merge branch 'develop' of gh:DFHack/dfhack into develop
2020-01-18 22:31:33 -05:00