For certain images, increasing the height is allowed. It doesn't need to be easy, just possible.
* For an uncompressed image, changing the format will work to increase the size of the run.
* For compressed images, allow the user to type '+' on the length to make it grow by one row.
Allow paste-scripts to have sections that are specific to what game the script is being run on. Allows for creation of a single script that works on multiple games.
Allow @anchor(length) to create a new anchor in a location with at least (length) freespace. Length is in hex.
Allow thumb branch instructions to include an offset.
Allow goto instructions to include an offset.
Optimization: find matches should fail early if the search text contains a letter that the full text does not.
Optimization: don't try to match tokens that contain letters that aren't in the search text.
Since the number of types is determined from code that most existing hacks don't change, that means that the length will be interpreted as the default 18 for almost all hacks.
Since hacks that expand types often customize the end of the type chart, make the match-requirement for recognizing table streams a bit less strict.
Update table-length-from-constant logic to be more fault tolerant and to take the constant multiplier into account. Also fix a bug: the ValueOffset should be subtracted off, not added on.
And most importantly: add constants and update tables involving types.
Introduce the concept of a 'max tiles' to the tileset format. Allow a tileset to know about the maximum number of tiles it's allowed to have.
By default, tilesets are limited to 1024 tiles. But some tilesets should have a reduced tile cap because of how they're used in the game. For example, Oak's background in the intro.
When multiple results are close together, allow them to be combined into a single result within the new tab. This makes the overall result shorter, and makes it easier to see when 2 pieces of data are near each other.
If the stored metadata doesn't contain a constant (NextExportID, FreeSpaceBuffer, FreeSpaceSearch), then don't update when loading that metadata.
Change metadata's default FreeSpaceBuffer to -1 so that such metadata can be recognized.
If you have 2 different instances of HMA, you can run them both. But if you try to launch the same instance twice, the info from the second instance gets passed to the first one. This improves the way HMA works with AdvanceMap.
Previously, it was notifying change, but before an actual change was made: just when the ViewPort was requesting a token so that it can change. At that point, there's no actual change yet, so CanExecuteChange was still returning false.
Users have requested the ability to control how much space is skipped between runs. Right now, the default in 0x100 bytes. But this means that data ends up getting rather spaced out, in a way that may be undesirable.
Users can now adjust the spacing used when data auto-moves.
* update the palette link when the palette changes in the table tool
* update the selected palette when the sprite gets re-selected, even if the sprite was already selected.
* Don't allow inserting a custom change during a transaction
* Don't end a transaction when a Goto happens because of a paste-script directive ( @{ or @} ).