Commit Graph

3881 Commits (cfc736caa1d627c800cee49221d30945bfc8567d)

Author SHA1 Message Date
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
lethosor 815821eb93 Merge branch 'develop' into cmake-cleanup
Conflicts:
	depends/lua/CMakeLists.txt
	plugins/CMakeLists.txt
	plugins/devel/CMakeLists.txt
2020-01-18 22:28:43 -05:00
lethosor d4d083d8cf autofarm: fix GCC warnings 2020-01-18 20:53:13 -05:00
lethosor f55a1b9990 autofarm: mention runonce and status in built-in help 2020-01-18 18:52:17 -05:00
lethosor dc8b8b501b Move autofarm to supported plugins
PR #1468
2020-01-18 17:17:28 -05:00
lethosor 3e47ba543b Merge remote-tracking branch 'ab9rf/autofarm-cpp' into develop
Ref #1468
2020-01-18 17:11:43 -05:00
lethosor e5a5e39c3a Move getplants issue details to user-facing docs
Ref #1479, #1481
2020-01-18 16:34:29 -05:00
lethosor 72fd32cb2a Tweak spelling/wording/style 2020-01-18 16:22:21 -05:00
lethosor af1668126d Merge remote-tracking branch 'PatrikLundell/getplants' into develop 2020-01-18 16:19:40 -05:00
PatrikLundell eeacbc80c6 Explicit type conversion with %d warning silencing 2020-01-16 13:59:31 +01:00
PatrikLundell ee2259bbca Replaced poor auto with actual type 2020-01-16 12:57:09 +01:00
Ben Lubar cbf5c5459a
Don't print an error about not being able to get the SDL title in text mode. 2020-01-15 16:07:41 -06:00
PatrikLundell cd4b00e23e Merge branch 'getplants' of https://github.com/PatrikLundell/dfhack into getplants 2020-01-15 21:30:56 +01:00
PatrikLundell 8cebb6cef5 removed trailing whitespace 2020-01-15 21:29:01 +01:00
PatrikLundell 7797f9979b
Merge branch 'develop' into getplants 2020-01-15 20:00:49 +01:00
PatrikLundell 8c049389a4 Reverted STOCKPILE_PLANT_GROWTH to LEAF_MAT 2020-01-15 19:31:19 +01:00
PatrikLundell 15e06640f6 Partial correction of issue 1479 and added verbose flag 2020-01-15 12:40:43 +01:00
lethosor 4feb0aa21f Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-01-14 23:41:22 -05:00
lethosor 5eca50476e Merge remote-tracking branch 'nornagon/unit-description' into develop 2020-01-13 23:31:23 -05:00
Jeremy Apthorp 50e696acf6 getDescription => getPhysicalDescription 2019-12-14 09:36:47 -08:00
Jeremy Apthorp 910f965838 wip 2019-12-07 22:17:59 -08:00
Ben Lubar 23b56c4492
Fix "kittens" development plugin not building on Linux due to missing thread library 2019-12-06 12:28:18 -06:00
Ben Lubar fd1d490163
Fix tailor plugin switch statement warnings (no functionality change) 2019-12-06 12:24:27 -06:00
PatrikLundell 07dedfb333 Fixed/improved river tile detection 2019-11-24 21:32:07 +01:00
Kelly Kinkade dfafafdf9b autofarm.cpp: whitespace, complexity
Clean up autofarm.cpp
2019-11-21 18:58:06 -06:00
Kelly Kinkade 5d92026bbe autofarm: make crop assignment more stable 2019-11-18 09:02:39 -06:00
Kelly Kinkade 7c8c6546c7 autofarm: suspend while processing 2019-11-18 09:02:39 -06:00
Kelly Kinkade 4abd410b1b Convert autofarm from ruby to C++
Reimplement the Ruby autofarm script as a C++ plugin
2019-11-18 09:02:39 -06:00
lethosor e7353ba9bf embark-assistant: clean up "else if" style
Ref #1456
2019-11-02 22:13:28 -04:00
lethosor 267d52bd17 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
Closes #1456
2019-11-02 22:10:08 -04:00
lethosor a885e3b9be autoclothing: add docs
Ref #1437
2019-11-02 22:00:43 -04:00
lethosor 487377d5b9 Merge remote-tracking branch 'JapaMala/auto_clothing' into develop 2019-11-02 22:00:18 -04:00
lethosor 44f3640344 tailor: add another missing c_str() call 2019-11-02 21:46:10 -04:00
lethosor 6a00510272 tailor: add missing c_str() calls 2019-11-02 21:30:48 -04:00
lethosor bf4dec6c6a Update scripts, stonesense, authors 2019-11-02 21:13:17 -04:00
lethosor 150edcfff8 Move tailor to supported plugins 2019-11-02 21:12:41 -04:00
lethosor c2e5ae844c tailor: add docs
Ref #1398
2019-11-02 21:07:10 -04:00
lethosor ba8b828e69 Merge remote-tracking branch 'ab9rf/tailor' into develop 2019-11-02 21:02:23 -04:00
lethosor 5780075246 Merge remote-tracking branch 'warmist/dfmonitor_lua_fix' into develop 2019-11-02 16:47:29 -04:00
lethosor 5190257864 createitem: Improve error handling when no caste is specified
Extension of #1463
2019-11-01 23:46:42 -04:00
lethosor 5e1fc0700b Merge remote-tracking branch 'jimcarreer/createitem-ux' into develop 2019-11-01 23:24:10 -04:00
PatrikLundell 7e501fd70b Fixed bug in region type determination in new code 2019-10-31 20:07:34 +01:00
jimcarreer cffc30b433
Output Castes on Error 2019-10-06 14:25:33 -04:00
lethosor 582169e0a5 eventExample: make unitAttack a bit safer 2019-10-05 21:05:26 -04:00
Alan e8fcc8d5c0
Merge pull request #1460 from JapaMala/remote_reader
Smal RFR change
2019-10-04 01:16:05 -04:00
lethosor f3658db85f Merge branch 'develop' into avoid_rebuilding_df_statics_if_core_h_changes 2019-10-03 23:23:36 -04:00
PatrikLundell 7979150566 Removed trailing blank 2019-09-24 11:14:50 +02:00
PatrikLundell 5eceab2794 Added 'fileresult' optional parameter, improved world traversal 2019-09-23 13:13:04 +02:00
JapaMala f00a7f9b39 Bump RFR Version number. 2019-09-08 15:33:39 -05:00
JapaMala 099ae66be8 Merge branch 'develop' into remote_reader 2019-09-08 15:30:14 -05:00
Warmist 0a42fe0e38 Delete trailing whitespace 2019-09-02 19:50:00 +03:00
Warmist 62aff6edee Whitespace fix 2019-09-02 18:40:50 +03:00
Warmist df756f22f8 Change dwarfmonitor to use global lua state.
This needs more CoreSuspends but they are needed either way. This way
you can access other script environments and access this plugin enviroment
from lua.
2019-09-02 18:35:46 +03:00
lethosor 7a5902418e Abbreviate label on narrow screens 2019-08-25 21:49:41 -04:00
lethosor 417212814d embark-assistant: add in-game key to activate
Closes #1384
2019-08-25 21:33:43 -04:00
lethosor ac5a54c8db Merge branch 'develop' into cmake-cleanup
Conflicts:
	library/CMakeLists.txt
	plugins/CMakeLists.txt
2019-08-23 23:58:00 -04:00
lethosor 07575095fd Merge branch 'develop' into persist 2019-08-22 22:00:50 -04:00
lethosor 0b8eba7d23 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
Conflicts:
	docs/changelog.txt
2019-08-22 21:50:54 -04:00
japamala d17820a596 Made RemoteFortressReader pulll from the active units list, not from the full units list. 2019-08-22 19:26:19 -06:00
Alan 2344e60101
Merge pull request #1181 from warmist/twbt_experiments
map-render plugin
2019-08-21 09:33:45 -04:00
JapaMala a07b568597 Changed the serialization to use the actual enum item names instead of converting them to numbers. 2019-08-13 17:15:06 -05:00
JapaMala 47b43e6dd7 Merge branch 'develop' into auto_clothing 2019-08-06 20:12:26 -05:00
JapaMala e1661d8404 Merge remote-tracking branch 'remotes/dfhack/develop' into auto_clothing 2019-08-06 20:07:20 -05:00
lethosor 88757d5c27 Merge branch 'develop' into cmake-cleanup 2019-07-20 19:22:33 -04:00
lethosor e86e20717e Merge remote-tracking branch 'JapaMala/remote_reader' into develop 2019-07-20 19:05:32 -04:00
lethosor 99038c395a Merge remote-tracking branch 'ab9rf/biometype' into develop 2019-07-20 16:32:46 -04:00
lethosor ab9ad6f93e Clean up *.cmake style 2019-07-20 16:17:44 -04:00