I made quite a few improvements to Abiathar today.
First, I fixed the problem I created with the Paster yesterday. The TileUndo method responsible for actually performing the undo now performs the tile changes in an order reversed from the one in which they were registered. Undoing a smear paste no longer results in fragments of the clipboard strewn across the area. I also optimized the nested for loop that's activated when pasting, but that turned out to not be as important as using single-tile invalidations rather than whole-plane. After seeing how much faster the individual graphics updates are than nuking the whole plane, I changed all the mass-update tools to use individual updates.
I used the new drag translation API to add click-and-drag support to the Rectangle Filler and Circle Filler. It was so easy! Refactoring is definitely a good thing.
The Path Plotter had been in need of some attention for a while. It was impossible to see the actual points that had been set as turn locations, which made the visually intrusive grid necessary to accurately use the tool. So, I made use of the fairly old selection plane management functionality in StandardAbiatharLevelTool to create single-tile selection highlights for the Path Plotter. It's now much easier to see where you've put the turning points.
I implemented the drag translation API for tile tools and have switched the Tile Picker over to it.
No comments:
Post a Comment