* don't freeze when AMap saves
* allow edit->paste to target the ViewPort even if it doesn't have focus
* notify on repoint
* command to jump to data in the viewport
* show hover point in the corner
* finish script UI (add, remove, edit)
* find record fields when doing Show Uses
* tooltip for address for rom overview
* make sure the model length changes after importing a sprite causes the rom to auto-expand
* require less freespace by default as excess to a run being expanded, and require less freespace buffer placed after runs.
* fix double-click crashes reported by wet blanket
* if Ctrl+F is used before the rom finishes loading, wait for the rom to finish loading before trying to do the find.
*
* python tool should support reading/writing tuples in tables
* writing `0` to a length in a table should update the children to be null (and delete the data)
* change an element count from 0 should create new data if the pointer is null
* creating new data via `@{` should update the length
* tested that this also works as expected with trainer teams (tpt)
* might have issues with ows, but they handle length differently
initial pass at the data buttons. Maybe it'll end up just being a menu with a bunch of items, but I feel like with so many operations, they need to be a bit more organized than just a simple hierarchy.
* fairy script wasn't adding correctly
* right-click menus for inner-pointers weren't showing the right addresses
* appending a table and then updating the new pointer to point into a new table wasn't clearing the old pointer location from the old anchor
* search was causing thread-lock issues
* Display As Text was causing thread-lock issues
* python tool needs to update related fields when updating a table (structType, child table length from parent)
* fix character set issues
* fix crashes with mapper when tables don't have expected elements
* fix showing map options when there's no mapper
* improve handling of custom character escape sequences
* truncate text in tooltips
this is our first 4-byte constant, so I had to make some changes to how 4-byte constants worked.
* constref file needs to support 4-byte constants
* WordRun needs to be able to tell the difference between a constant that's matched to a table length (displayed as the table name) and a constant that is not matched to a table name (displayed as the number)
* Goto needs to be able to go to 4-byte constants
change all instances of lock (runs) to lock (threadlock) so that there's just one master threadlock that's used when accessing / editing the runs collection.
All public methods that access or edit the runs collection are now protected by the threadlock.
PLEASE tell me I didn't accidentally cause a deadlock here...
All level-move runs after expansion should start at a 4-byte aligned address. This worked fine for any run that got repointed... but _didn't_ work for runs that were expanded _without_ being repointed. It works correctly now.
* when a stream shrinks, clear the old end token as well as the old data
* when parsing a stream with an end token, don't allow elements to have values that would look like end tokens (usually element 0)
* only goto moved data if the moved data was selected, as opposed to if the moved data was on-screen.