Commit Graph

3786 Commits (90e0c29a5c293e4479357e577e5abfacbb5ba329)

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