Commit Graph

3826 Commits (13f411d9fa650cc4ca443f606d2c7119fc5d59bf)

Author SHA1 Message Date
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