The use_stronger_amlas resources includes a modifiable filter to choose which units are affected.
Formerly, that filter did not apply to a help message, resulting in the ANKA help message appearing even for units that weren't eligible for the AMLAs.
These weather effects are used TSG, TDG, and other WIP campaign revisions. Duplicating them across each campaign seems pointless, so I've moved them into a resource here, following the precedent set by #9669.
We can finish the previous scenario without killing any enemy leaders (this is even encouraged by the achievement requirements), but the Plague Staff origin dialogue states it's from a dead necromancer. Resolve the contradiction here. Fixes#9709.
These terrains are used in EI, TSG, TDG, and other WIP campaign revisions. Duplicating them across each campaign seems pointless, so I've moved them into a resource here.
Remove HERODEATH_* macros for heroes who ahave not appeared in the
campaign yet. Also edit a comment to only mentioned the heroes who could
have appeared in the campaign by that point.
1. adds repeating button definitions
2. default icon button size changed to 30x30 to better align with text buttons and menu buttons
3. code simplification
include new definitions and updated versions of existing definitions
"default/classic" and "modern" has been renamed to "Parchment" and "Celes" to avoid confusion
tab ordering has been added to the username textbox and the list of methods.
this serves two purposes:
1. the listbox is initially selected, so the user can select entries using keyboard.
2. navigation between the listbox and the username textbox can be done using TAB.
additionally,
3. the message and control layout has been tweaked to hopefully make it a bit user friendly.
4. the last selected method is remembered via a preference key.
5. a [X] button has been added on top-right so that the window can be
closed via mouse. (previously, it was only possible with the keyboard
Esc option or by clicking on one of the methods.)
Part of what's unusual about this dialog is we use canvas shapes to draw the text rather than actual widgets. I want to look into doing so, but it makes alpha fading more difficult.
Nonetheless, this problem also arose because text wrapping is handled differently from other text shape keys. Instead of evaluating a formula taken from the config (for instance `"(text_wrap_mode)"`), the value is queried from the WFL variables set on the canvas directly before being passed to the text rendering code. The value set for said variable is controlled by the wrap=true/value key, which is set per widget *instance*.
Making the canvas handle this key like any other would mean making sure most text shapes have the appropriate config key set, even if (as the example above shows) the key only spit out the formula variable anyway.
Also made it so text doesn't go all the way to the edge in the event that it stretches that long.
This was only ever needed for is_in_dialog (and one thing in text_box_base), and we can use the dispatcher list for the former, since windows are the only dispatchers that register themselves to receive events.