This patch adds a new type of tutorial steps called "GUI explanation",
with a corresponding GUI panel. The purpose of it is to explain what a
certain GUI element does. To make use of it the trigger script has to
specify the target GUI object's name as well as the side on which to
place the explanation panel relative to the target itself. The panel
then highlights the target object by fading everything else out with
black and also uses an arrow to point to it. Whilever the target GUI
object is hidden, the panel hides the background fade too and shows a
warning message.
Unlike for the other steps, the TutorialManager does not hide the
previously active panel when showing a GUI explanation, but instead
only disables it, since it could contain relevant information and the
GUI explanation panel is visibly placed "above" all other panels (in the
Z axis).
This patch allows techs to optionally define a property "placeBelow"
specifying a combination of class requirements. The selection panel then
tries to place their research button below the training button whose
unit matches these classes -- if there is only and exactly one.
This is useful for techs only affecting a single type of unit: it e.g.
allows always placing the fishing nets research button below the fishing
boats training button.
To prevent duplicating information in "placeBelow" (e.g. from
"affects"), it can also be set to two magic values: "{AffectedUnit}" and
"{UnlockedUnit}". In practice, many techs use those, but class
combination remain useful for granular control in very specific cases.
Regarding tech pairs, as explained in a comment, their two research
buttons can now be placed in three different arrangements (with
descending preference):
1. Vertically below a single training button.
2. Horizontally below two adjacent training buttons.
3. Horizontally adjacent in the bottom row (below no training buttons).
Vertically in the third and fourth rows (below no training button) --
how it was previously -- is no longer done as it'd conflict with and
doesn't fit the new layout and the clear separation between "generic"
and "specific" techs.
Whenever a research button can't be placed in their preferred location
because it is already occupied, the code simply falls back to the default
position in the bottom row.
This patch also adds a new game option to hide the new small arrows above
the research buttons in order to give more experienced players who already
know the techs well the possibility to reduce visual clutter. By
default, the arrows are shown.
It looks bad on the summary graph, and might need further adjustments in
general.
Discussed with: @Langbart, @Imarok, @wraitii
cc @wowgetoffyourcellphone
This was SVN commit r25658.
Move remains of common/sprite1.xml to common/common_sprites.xml.
Remove duplicates bkFillBlack and bkTranslucent.
Rename bkWhiteBorderBlack to BackgroundWhiteBorderBlack.
Move BackgroundSessionTooltip and BackgroundInformationTooltip to
session/.
Remove unused BackgroundErrorTooltip.
This was SVN commit r18636.
Move civ icon overlay entries from common/ to session/.
Move main menu entries from common/ to pregame/.
Remove unused pgButton.
This was SVN commit r18634.
Remove many unused and orphaned entries from common/,
including the entire Wheat theme from more than a decade ago and
most parts of the Stone theme.
Besides being unused, nearly all of the styles were ugly and don't fit
to the existing theme.
No entry should be reintroduced without being actually used somewhere
and if so, use a new subdirectory with the name of the theme.
This was SVN commit r18633.
Move some icon files to a more adequate location.
Closes#1214 as that was already commited and this commit fixes some
minor issues.
This was SVN commit r11459.
Add various GUI pieces (exit button, resource counts, unit details).
Clean up implementation of button panels.
Split some content out of 'common' and into page-specific files.
Delete some obsolete content.
This was SVN commit r7337.