This re-creates the main display-gui() buttons on a full redraw to take
into account that the theme expects them to be out of sync. As a
consequence I have also been forced to refactor how said buttons are
managed and introduced a new method to join the same event context
as another component.
The halo is recreated when the mage starts to move, and it's initially
placed in the top-left corner of the screen. On the next frame the game
corrects its position. Correcting the position clears the list of hexes the
halo overlaps, which essentially means "the overlapped hexes aren't known,
update them when the halo is redrawn". However, the game also uses the list
of overlapped hexes to determine when the halo should be invalidated, and
thus redrawn: because the list was empty, the halo was never invalidated,
and it stayed at the top-left corner.
Fixed by placing the halo in the right position to begin with. This commit
includes my previous fixes as well, though, because the code was simply
incorrect before (even if it doesn't break anything any more).
This moves the options for giving control to an ally/observer to the top of the list, labels them more descriptively, and prevents the dialog from appearing during linger mode if there is no next scenario. Also, dismissing the dialog by pressing esc no longer produces a network error, but instead simply defaults to setting the side to idle.
This means [object], [advancement], and [trait] tags within [modify_unit]
can now use delayed_variable_substitution=yes.
This is currently needed for adding teleport, backstab, and leadership abilities.
More specifically, horizontal resolutions less than 1024 px.
Okay, I lied. This doesn't fully fix that on master because recent font
and theme changes cause it to be misaligned even on >= 1024 px. But
hopefully someone will figure something out later.
This is a backport of a 1.12 commit.
* HttT S19c: Change dialog about direction options, preparing for map change.
* HttT S19c: comment change missed in previous commit.
* HttT S19c: Remove the undead.
* HttT S19c: Remove the swamp from the map, replace with mountains.
* HttT S19c: Adjust side #'s to compensate for removal of undead.
* HttT S19c: Simplify dialog about impassable mountains.
* HttT S19c: Add changelog entries.
Both bugs had the same effect: if a unit could not get to its goal
location, goto moves by all other units during the same turn were
abandoned. However, there were two separate causes for:
1. The goal location was unreachable. This was due to a typo in the
code.
2. The goal was theoretically reachable, but blocked by allies. In this
case, it could happen that the unit did not move, resulting in the CA
being blacklisted.