Commit Graph

9195 Commits (78c24adffb3a145aa48bbb838096de2725752cc6)
 

Author SHA1 Message Date
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 b9841110c3
update structures and scripts 2020-03-09 17:53:34 -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
Pierre-David Bélanger a7d263fa67
getFullName of the container AND the item, also exclude container of char (#1515)
* getFullName of the container AND the item, also exclude container of char

* bit vector condition was backwards
2020-03-09 13:12:04 -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 ffb3c29cfc
simplify Graphic module. update structures.
it appears that all this added complexity including an extra pointer dereference was to avoid including the vector header.
2020-03-08 00:12:48 -06:00
Ben Lubar c4e9c8d29c
update structures 2020-03-07 15:15:02 -06:00
Ben Lubar 5f83681fbc
update scripts and structures 2020-03-07 12:08:03 -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 508ab79af2
document where tagged unions should be implemented for Lua 2020-03-06 16:33:02 -06:00
Ben Lubar 635e709d95
name ui_look_list union
update scripts and structures
2020-03-06 16:06:27 -06:00
Ben Lubar fa574cfbec
allow dfhack-run to output colors.
refactor Console-posix to avoid having a parameter equivalent to not calling the function at all.
2020-03-06 15:02:03 -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 885fa541fd
update structures 2020-03-05 00:06:32 -06:00
Ben Lubar 84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h 2020-03-04 18:23:49 -06:00
Ben Lubar 864264aec0
update scripts 2020-03-04 13:17:29 -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
Ben Lubar 08e1fe1f02
update structures 2020-03-03 22:42:40 -06:00
Ben Lubar 6d15d349bc
update structures 2020-03-03 21:45:13 -06:00
PatrikLundell cd4c7ee422 Updated embark-assistant. Lt aquifer, trees, neighbors 2020-03-03 21:45:20 +01:00
Ben Lubar 676e73d477
update structures 2020-03-02 23:59:55 -06: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 66ded03bc1
update structures 2020-03-02 20:41:13 -06:00
Ben Lubar 4da0a761ea
update structures 2020-03-02 18:36:28 -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 102fedc2ff
update structures 2020-03-01 00:20:31 -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 dc5ef1fe58
update structures 2020-02-29 20:11:41 -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 aaace29e11
update structures 2020-02-29 18:29:32 -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