This makes the row actually take up its full horizontal space and spaces
out the columns very slightly while still allowing them to be usable at
800x600.
It also replaces the overlong detailed descriptions for the options in
the Combat menu with tooltips holding the same contents.
This removes the use_prng Advanced Preferences option and replaces it
with a new possible value for randomness in the game classification
class, "biased". It also changes the enumeration label for it in the
GUI2 campaign dialog.
It also makes it so the synced RNG is automatically used with this
option as well as the existing deterministic randomness option ("save
random seed").
CC: issue #4543
(N.B. This is a monolithic mega-commit because of a bunch of
experimental phase changes that necessitated constant changes to both
engine code and UI WML.)
This redesigns the campaign selection dialog implementing a
campaign-defined background image that changes depending on the selected
campaign, specified by the [campaign] background= attribute; adding a
menu button for selecting the RNG mechanism in use (default RNG vs.
predictable RNG a.k.a. "save random seed"); and finally, adding a menu
button for selecting the campaign difficulty without having to go
through the campaign difficulty selection dialog.
A huge amount of changes to the UI WML were required for this to say the
least.
This also adds the following new widget definitions:
* toggle_button: listbox_header_centered, listbox_header_bg,
listbox_header_centered_bg
* panel: panel_listbox_bg, campaign_menu_bg
As a side effect, two private methods in
gui2::dialogs::campaign_selection() are no longer const-qualified. No
idea why they were const-qualified in the first place, but it
interferred with some of the new code in a major way.
The URL widgets (textbox + copy button + browse button) predate the
implementation of link-awareness in labels and they sort of got carried
over into the new design magically without there being a real need for
that. Now that we have a visible cursor change when hovering links it's
even less necessary to draw unnecessary attention to the link with a
clunky and unintuitive (greyed out textbox...) interface.
The reported issue being that the FORCE_CHANCE_TO_HIT macro was able to force an increase in an attack's chance to hit, but no longer able to force a decrease.
Fixes the text of menu_buttons being 1 pixel too high. Seems this is a relic from 2016 and me tweaking the
formula to try and get things more centered in buttons... But in that case, adjustments shuld probably be
directly made to buttons, not here.
Back when link awareness was first added (https://github.com/wesnoth/wesnoth/pull/300), this key was added
globally to label definitions alongside link_color. This had the unintended side effect of making *all* labels
link aware, leading to issues such as being able to open a do-you-want-to-open prompt from an instance of the
same ad-infinitum.
This became an active issue after 213453e6cf78371360471ac4d110602aafecd9f3, since now that labels could capture
focus if link_aware was true - which it always was for most labels - labels in toggle panels would always
grab mouse_motion events and no longer allow their parent toggle panels to gain their hovered states. That
appears to be in keeping with the design of GUI2, and a further evaluation of that issue is needed at a later
time. However, the fact remains that almost every single label was marked as link-aware, even when in almost every
case that was not the desired behavior.
This change move the link_aware config option to individual label and scroll_label instances. The following uses
had this explicitly enabled:
- Addon license prompt
- Addon descriptions
- Campaign descriptions
- The Server Info popup
- The chatbox
This allows using full markup for the license text and making it
independently scrollable without messing up the dialog. It also enables
URL parsing in it.