added support for dynamic window and playfield size
This change added a few new and extended directives for the graphics
configuration done in "graphicsinfo.conf" files in artwork and level
sets.
For the window and playfield definitions, there are new properties
".min_width" / ".min_height" and also ".max_width" / ".max_height"
to define minimum and maximum window and playfield sizes. This is
useful to dynamically support different screen sizes which have a
different screen aspect ratio (like tablets with 4:3 or 16:9 sized
screens), always using the full screen size without black borders
that cannot be used for the game.
To be able to place the "doors" (game panel and tape recorder) also
dynamically aligned with the right or bottom screen border, margins
can be defined for the playfield to not use these areas, which can
then be used for the doors being aligned to the corresponding window
edges. That's what the new ".margin_left", ".margin_right",
".margin_top" and ".margin_bottom" directives are for, together with
".align" and ".valign" properties to align the playfield or the doors
horizontally ("left", "center" or "right") or vertically ("top",
"middle", or "bottom").
To make sure that the game playfield always uses complete tiles (or
half tiles, or any other size), there's also a new directive called
".align_size" to specify the alignment tile size for the playfield
(which is set to half a tile by default).
The last enhancement extends playfield border sizes to be defined
for each border individually, so instead of a unique ".border_size"
for all playfield borders, different border sizes can be specified
by using ".border_left", ".border_right", ".border_top" and
".border_bottom". If they are not set, they inherit their value from
".border_size" just like before. Using the value "-1" causes borders
to be calculated dynamically -- this only makes sense when using a
variable window size (by using ".min_width" and/or ".min_height") with
a fixed playfield size, so borders can also have variable size. This
is mainly useful for using a fixed (or limited, by ".max_width/height)
playfield size while still being able to display global animations on
the whole surrounding playfield border area.