Commit Graph

9201 Commits (c6d2407f2c113c72f0d098993840f95867e2e7c4)
 

Author SHA1 Message Date
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
lethosor fb6dd691d7 Update changelog + CMakeLists for 0.47.03-beta1 2020-02-27 19:56:37 -05:00
lethosor 196f4d3c06 Update submodules 2020-02-27 18:54:30 -05:00
Alan a92dbd517a
Merge pull request #1508 from nicolasayala/filteredList-search-fix
Fix widgets.FilteredList widget search on plain string choices
2020-02-27 18:51:28 -05:00
Alan 8db94d6114
Merge pull request #1505 from pierredavidbelanger/fix_dwarfvet_too_verbose
dwarfvet log only if enabled (fix #1504)
2020-02-27 18:50:00 -05:00
nicolasayala 141928ead0 Fix gui.FilteredList widget search on plain string choices 2020-02-27 07:56:30 +01:00
Ben Lubar 92eb8b058b
update scripts and structures 2020-02-26 12:10:15 -06:00
Pierre-David Belanger 97a31c68a8
dwarfvet log only if enabled (fix #1504) 2020-02-24 13:54:47 -05:00
Ben Lubar e26787604a
update structures 2020-02-24 12:16:59 -06:00
Ben Lubar 76dba44679
update clsocket 2020-02-24 10:40:28 -06:00
Ben Lubar f6f5d54f9d
update structures 2020-02-24 10:20:32 -06:00
Ben Lubar 1f34c813c8
update structures 2020-02-24 10:13:46 -06:00
Ben Lubar 433a7e05d1
update scripts 2020-02-24 10:08:30 -06:00
Ben Lubar 8a4eac3d3e
Merge pull request #1503 from TymurGubayev/dev/minor-improvement/dfhack-lua/printall_recurse
allow custom filter in calls to `dfhack.printall_recurse`
2020-02-24 10:05:28 -06:00
Ben Lubar 546178bc56
update structures 2020-02-24 03:03:58 -06:00
Ben Lubar e9564a28f5
allow tagged unions to not be union followed by tag 2020-02-23 21:33:32 -06:00
Timur Kelman 1d8998de22
allow custom filter in `dfhack.printall_recurse`
Objects with links like `job` output way too much. With this change, it's possible to provide an optional filter and exclude the `list_link`.
```
[lua]# j = dfhack.gui.getSelectedJob()
[lua]# printall_recurse(j, {[tostring(j.list_link)]=true, [tostring(j.pos)]=true})
```
2020-02-23 16:57:57 +01:00
Timur Kelman c3637be99f
Merge pull request #1 from DFHack/develop
Pulling from origin
2020-02-23 16:47:47 +01:00
Ben Lubar 1e3e3829a7
update structures 2020-02-22 23:36:14 -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 14eade3886
update structures 2020-02-21 02:52:56 -06:00
Ben Lubar eb35ff9b47
update structures 2020-02-21 02:31:37 -06:00
Ben Lubar f708bb5cff
update structures 2020-02-21 01:41:05 -06:00
Ben Lubar 38410544b0
handle tagged unions in check-structures-sanity
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar 903f829e30
update structures 2020-02-20 20:19:50 -06:00
Ben Lubar 1beb0f417e
update structures 2020-02-20 17:44:24 -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 f81587bd82
update structures 2020-02-18 21:05:54 -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 c43c9de477
update structures 2020-02-18 16:33:24 -06:00
Ben Lubar 25923e6733
add Ghidra script that labels DF globals 2020-02-18 15:58:01 -06:00
lethosor 3e5274fd20 Update scripts 2020-02-18 00:45:44 -05:00
lethosor 0ec12657f4 sizecheck: add MALLOC_PERTURB_ support on non-Linux 2020-02-18 00:44:07 -05:00
Ben Lubar fce52866c7
update structures 2020-02-17 22:43:12 -06:00
Ben Lubar 91771f9c64
update structures 2020-02-17 22:02:25 -06:00