Quite a few versions back now, I made sure that pressing the arrow keys to scroll the Abiathar level viewer notified tools of the new cursor position. I noticed while making some of my own levels, though, that the mouse button state is not considered, so drag-click translation doesn't happen. For example, holding down the left mouse button to tessellate with the Essential Manipulator while moving with the keyboard didn't work - the preview moved, but no tiles were placed.
So today I went about fixing that. At first, it seemed to work, but in some circumstances Abiathar would crash when loading a project because tools placed tiles before the undo stack was set up. So I reordered things, but then I found that tiles got placed by the click from the Open dialog, which is undesirable. I fixed most such cases, but couldn't completely figure out how I had apparently broken things. Then I found that moving the mouse during initialization has always caused an extra tile to be placed, so at least there's no regression.
No comments:
Post a Comment