They break some unit tests and we can't seem to decide whether the tests
are truly at fault (that is beyond the fact that they _should_ certainly
use [terrain] instead of [terrain_mask]) or whether the issue that the
author was trying to fix at the beginning was an issue in the first
place.
This reverts the following commits:
* commit 6b78073b49bcebf00b919b89550b773119ce2f1c
* commit 2f650419dad963f7adf562b06f6ad319cabceffb
* commit a436c46f13564b84effd0481fc4d41c340bc9ec2
* commit fcf8b72efd310a2f76a0bb665d55eb3081fc1d68
* commit 079692d42457a7b9251bfe319a65d8341217d0b7
* commit 730d83729687f7107bc68582686ccdf0720b7b42
This makes for somewhat simpler event handling and allows using the
keyboard to switch between tabs. It doesn't solve the layout issues with
long tab labels, though.
SDL2 has issues with overlapping surfaces when blitting, it seems to trigger an internal bug in SDL2. This causes the blitted surface to be incorrectly filled, causing a graphics corruption. This introduces a workaround that does a copy of the original surface before blitting, thus avoiding the bug. This behaviour seems to only occur while scrolling so it's a reasonably rare occurence.
No-one is supposed to use it since 1.11.19 (except for OpenPandora,
but various other changes in master already forced us to drop support
for it), so it's time to enforce this decision for the sake of our
time and sanity.
This was rendered unnecessary in in2f650419dad963f7ad as the gamemap namespace already has
border_size_ assigned to gamemap::default_border, and 6b78073b49bcebf00b removed the passing
of any other value
Added special handling for j and m characters, where their respective key codes do not match the j and m buttons on the keyboard.
This most likely means that they have come from Ctrl+Return/Enter keys, which resolves to Ctrl+j and Ctrl+m characters.
As a bonus, also corrected unexpected behaviour when attempting combinations such as Ctrl+: or Ctrl+F1. Previously they would resolve to Ctrl+` or Ctrl+@, at least in Windows.
Backticks as shortcut for repr() are removed from Python 3. Although all their usages were already commented out, I fixed it anyway in case the code is uncommented.