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
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
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
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
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
Ben Lubar
94e818fd53
reference union_identity in the df namespace
2020-02-29 13:26:42 -06:00
Ben Lubar
3ddbb5cec1
fix typo
2020-02-29 13:24:12 -06:00
Ben Lubar
a30678cee3
subclass struct_identity for unions
2020-02-29 13:11:23 -06:00