* UtBS - units - Replacing inconsistent Dark Assassin unit/sprite data
* UtBS units - dark assassin animations
* UtBS - units - some small tweaks to Dark Assassin
* UtBS - Sc8 - wire in new Dark Assassin unit type
The fiters restrict the events for exactly one particular unit.
Filtering the messages also by the unit id unstead of the generic "unit" variable
shows in the translation file who speaks the message - instead of the generic "unit"
shown otherwise.
[ci skip]
These changes to the data/gui subdirectories make it so that above a certain
screen pixel dimensions (currently 1200x900), text font sizes will be scaled
with the pixel pitch of the SDL video device. In addition, several dialogues
(such as the unit recall window, for example) are allowed to take on larger
pixel dimensions to accommodate the larger (in pixel size) fonts.
In order to modify the GUI2 configuration files so that text_font_size can intelligently
scale with monitor characteristics, it's necessary to allow the text_font_size,
maximum_height, and maximum_width to be specified by WFL formulas rather than just
numerical constants. This commit makes that possible. In addition, it computes and exposes
the pixel pitch of the SDL display (in microns per pixel) in the variable
screen_pitch_microns for use in these formulas.
When debugging formula problems, it is convenient to be able to pinpoint at what line in
the code an exception was thrown. This commit differentiates two divide by zero errors
to facilitate that.
Prior to this change, the 1024x768 base resolution (found in the default theme)
was hard-coded into theme.cpp; resolutions beyond that were always scaled as if they
had been defined on a 1024x768 base resolution, even if the width and height specified
in the theme file were different. Combined with the scaling arithmetic in theme.cpp,
this assumption resulted in bugs such as panels disappearing whenever their width in the
base resolution specified in the theme exceeded 1024 pixels or their height exceeded 768
pixels. This change records the base resolution from the theme in the theme and all of
its objects, so the scaling computation can be done correctly.