Commit Graph

300 Commits (cd7fe8a213b20ac8a05ce631fadd078a16f90a1d)

Author SHA1 Message Date
myk002 3a713c6368
update devel plugins 2022-11-07 17:52:39 -08:00
Myk Taylor 8fd86f6e56
fix typo in kittens.cpp 2022-09-18 08:40:22 -07:00
Myk Taylor 215a5b0a24
add Gui::getMousePos() that always gets map coords 2022-09-18 08:19:02 -07:00
lethosor 69a84c23c2
renderer-msg: draw less often
suggested by Quietust
2022-08-06 12:33:25 -04:00
lethosor ac175affbc
Make renderer-msg draw somewhat more reliably
From g_src (enabler.cpp: renderer::display()), either update_all() or
update_tile() is called at least once per frame
2022-08-06 12:22:27 -04:00
lethosor 8bb047fcc6
Remove Notes module
Only used in a devel plugin that prints notes, and can be easily replaced
with `ui.waypoints.points`
2022-06-29 23:35:13 -04:00
lethosor d1f0edd33b
Apply initial pre-commit config 2022-04-12 14:48:19 -04:00
lethosor e7754ea890
Enable -Wunused-variable and fix most errors 2021-09-07 01:16:21 -04:00
lethosor 27ce7cf1ee
check-structures-sanity: print error for untagged unions instead of aborting
These come up in structures such as world.poetic_forms.all[i].subject_target
without a clear fix.
2021-08-31 00:28:42 -04:00
Ben Lubar c06d1f8e52
tagged union support for lua (#1818) 2021-03-30 15:55:06 -05:00
Ben Lubar 2f1e057bc7
check-structures-sanity: report known void* types with a better message 2020-04-19 22:03:03 -05:00
Ben Lubar 845b53d7cd
fix integer signedness differences 2020-04-03 11:50:09 -05:00
lethosor 06201a4c6a Bail out if MALLOC_PERTURB_ is unset to avoid unexpected behavior 2020-04-02 01:48:21 -04:00
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
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 84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h 2020-03-04 18:23:49 -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 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
Ben Lubar e9564a28f5
allow tagged unions to not be union followed by tag 2020-02-23 21:33:32 -06:00