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.
* Don't trigger event after Dolburras is rescued
* Merge unneeded duplicate events
* Don't trigger retreat if leader is killed
* Fix bug with dwarf death triggering undead retreat
* Remove unnecessary variable
* Use standard [endlevel] instead of [fire_event]
* Fix bug when former jailer death shows objectives
* Move events for readability
previously there were team::gold_ and team::team_info::gold
doing the same thing, now we just have one gold variable
team::team_info::gold, we also removed some related unused code
* Unit Description has been renamed to Unit Type Description recently.
* Introduction of vision cost means that how many hexes units can see vs how many hexes units can go is not same.
EI contains a basic custom set of AMLAs, replacing the default +3hp for all player units. Units gain a +8hp AMLA option, and units with 1/2/3+ melee/ranged strikes gain options for +4/+2/+1 melee/ranged damage, respectively. Investing XP into these AMLAs remains much weaker than leveling a new unit.
We no longer use the GUI2 draw events. We should implement the appropriate interface provided by top_level_drawable instead. DRAW is still a valid event for now, but would probably be removed in the future.
Added code to convert all `[side]type=` to `[side][leader]` when the `[scenario]` is read, and the rest of the engine code to only work with [leader], this should fix all possible problems with `[leader]` and also simplify the code a bit
Fixes#7985Fixes#3742