This makes it so arrow keys/numpad can control screen shift when it's available.
When this preference is enabled, #482 will not be an issue (Fix#482). But the player will also miss out on cases where adjacent targeting would be a good thing. I haven't done anything smart to determine whether one mode or the other is better on a case-by-case basis.
This fixes#489.
I considered an alternate solution of adding a case for every 1-sq-target spell, but there are so many of them. Targeting 1 square is a sensible default, not something that should have to be specified, and this warning would only really be useful when adding new spells to avoid forgetting to specify their shape. I say we don't need it.
Fixing text buffer texture/font corruption (#479)
* #479 demonstrates that the contents of the text buffer are NOT irrelevant for reproducing bugs. So I set up recording/replay for the burma shave easter egg. This also makes an easy way to mess with the buffer state when debugging (just mash &/\*/&/\*/&/\* n times)
* When a replay throws an error, it puts up a showError() dialog. If the next action is a control_click, the system will try to click that control on the error dialog--which is totally divergent from the replay's intended behavior. So we should just stop replaying when an error happens.
* If you have a long replay and want to run it very fast, but then slow down when you get to the sequence that reproduces your bug, now you can add a `<change_fps>` to your replay to achieve that.
* Fixes for the 2 legacy replay errors that I opened recently
Fix#479Fix#532Fix#533