given an area of all the same block, replace all those blocks with blocks that match the surrounding non-same blocks based on what blocks should 'match'. Note that this is a single-pass algorithm right now, which means that it creates a bunch of bad blocks as it gets further from the edge and more conflicts are found.
We may try to update this more in the future, or we may just go with something simpler like a maze generator using border blocks or 9-grid. But the results of this are tantalizing...
holding control and selecting blocks will add/remove them from the block bag. When drawing (or painting), all blocks in the bag are treated as equivalent, so HMA will select one of the blocks at random to draw with. This works great for grass, but can also be used to create 'noisy' areas by selecting other blocks like flowers or shrubs.
Control+Click on the bag block indicator to clear all blocks from the bag.
If a blockset is edited, that could change not just the current map that
owns that blockset, but any other map that uses that blockset.
Refresh caches on all those maps.
users got confused about making warps. Change the text to make it more clear that the input value is for the target warp, not the current warp. Add visuals to display the current warp as a number.
* update the block selection in the block panel when right-click selecting a block from the border block panel
* Editing a blocks layer attribute should be a one byte change
* refactor some code from ImageTests into an IntegrationTests base class
* add MapTests class
* add test for adding a connection to Viridian Forest
* Have `ConnectNewMap` call new `GetOrCreateConnections` method instead of just trying to get the connection data that may not exist.
* creating a new map should be considered an autonomous operation for undo purposes
* support connection-objects for FireRed
* crash less when reading invalid map / layout data
* show correct hover square when hovering over neighbor maps with borders
* fix elevation names / map permissions
* don't update tile render info for the block editor if the x/y change is a no-op
*
* Draw a box around the active map (but not the border) to make the separation between maps (and border blocks) more clear
* Change the Primary Map when selecting an event on a non-primary map
* update wild pokemon tooltip during refresh
* reduce visual studdering when dragging a tile around the map
* limit hover and selection to the actual map, not the border block
* say width/height correctly in the tooltips of the map size handles
* less flickering during undo
* include default OW sprite instead of blank (for example, tutorial catch man in viridian city)
* speed up the initial script-check process that looks for default trainer sprites for each OW by not caring about the length of child scripts
* use proper thread locking during block cache invalidation and renewal so that undo doesn't mess up the number of blocks shown in the block panel
add enum types for fanfare / bufferitem
allow script constants to contain underscores
allow autocomplete for constants that are the last argument
allow 'find usages -> scripts' to find usages from macros (and fix crash)
instead of the script line itself knowing that it points to something,
pull it down to the argument level, so that each argument knows
if it points to something.
This will allow a single script line to point to multiple things (like trainers pointing to multiple text or scripts)
* make pokemon of the chosen type more likely
* create new border for new interiors
* don't cut off trainer sprite in template (for large OWs)
* update selected block render when editing blocks