Improved the portrait width in the wml_message.
The width of a portrait is 1/3 of the text width until it reaches the maximum portrait width. This change also looks whether the maximum text width has been reached, once reached the portrait no longer takes 1/3 but all width available. This change means that portraits reach their maximum size at a smaller resolution. The issue was brought to my attention by zookeeper.
This commit is contained in:
parent
1953ce1a25
commit
82ab772179
2 changed files with 33 additions and 21 deletions
|
@ -19,6 +19,8 @@ Version 1.9.2+svn:
|
||||||
* Added a new hotkey sequence (by default unassigned) to toggle animated map
|
* Added a new hotkey sequence (by default unassigned) to toggle animated map
|
||||||
mode (feature #15976).
|
mode (feature #15976).
|
||||||
* Removed bottom border from character [message] dialogs.
|
* Removed bottom border from character [message] dialogs.
|
||||||
|
* Improved the width of portraits in the wml_message once the maximum text
|
||||||
|
width is reached.
|
||||||
* WML engine:
|
* WML engine:
|
||||||
* Created tag [petrify] (bug #17077). Moved [unpetrify] to lua. Syntax
|
* Created tag [petrify] (bug #17077). Moved [unpetrify] to lua. Syntax
|
||||||
changed from [unpetrify][filter]<SUF> to [unpetrify]<SUF>.
|
changed from [unpetrify][filter]<SUF> to [unpetrify]<SUF>.
|
||||||
|
|
|
@ -15,31 +15,41 @@
|
||||||
#define __GUI_SIZE_FACTOR
|
#define __GUI_SIZE_FACTOR
|
||||||
3#enddef
|
3#enddef
|
||||||
|
|
||||||
# This is the function I want to use for the image width, but the formula system
|
### The formula language doesn't support variables so macros are used to
|
||||||
# has no way to create variables (outside the AI scope). So instead of this
|
### emulate them. This makes the code what harder to read, so the algorithm for
|
||||||
# macro there's a more verbose version which doesn't use variable.
|
### __GUI_IMAGE_WIDTH is described here:
|
||||||
|
|
||||||
#define __GUI_IMAGE_WIDTH
|
|
||||||
([
|
|
||||||
max_height = screen_height - {_GUI_HEIGHT_OFFSET},
|
|
||||||
best_width = gamemap_width / {__GUI_SIZE_FACTOR},
|
|
||||||
best_width = if(best_width > max_height, max_height, best_width),
|
|
||||||
if(best_width < 250, 250,
|
|
||||||
if(best_width > 500, 500, best_width))
|
|
||||||
][4])#enddef
|
|
||||||
|
|
||||||
#undef __GUI_IMAGE_WIDTH
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### The verbose version
|
### if gamemap_width <= TEXT_WIDTH_SATURATION
|
||||||
|
### __GUI_IMAGE_WIDTH = gamemap_width / 3
|
||||||
|
### else
|
||||||
|
### # Text reached it maximum width, take all space.
|
||||||
|
### __GUI_IMAGE_WIDTH = gamemap_width - MAX_TEXT_WIDTH
|
||||||
|
### fi
|
||||||
|
###
|
||||||
|
### if __GUI_IMAGE_WIDTH < 250
|
||||||
|
### __GUI_IMAGE_WIDTH = 250
|
||||||
|
### fi
|
||||||
###
|
###
|
||||||
|
### if __GUI_IMAGE_WIDTH > 500
|
||||||
|
### __GUI_IMAGE_WIDTH = 500
|
||||||
|
### fi
|
||||||
|
|
||||||
#define __GUI_MAX_HEIGHT
|
#define __GUI_MAX_HEIGHT
|
||||||
(screen_height - {_GUI_HEIGHT_OFFSET})
|
(screen_height - {_GUI_HEIGHT_OFFSET})
|
||||||
#enddef
|
#enddef
|
||||||
|
|
||||||
|
# The maximum width of the text
|
||||||
|
#define MAX_TEXT_WIDTH
|
||||||
|
675
|
||||||
|
#enddef
|
||||||
|
|
||||||
|
# gamemap_width width needed to reach the MAX_TEXT_WIDTH
|
||||||
|
#define TEXT_WIDTH_SATURATION
|
||||||
|
((3 * {_GUI_HEIGHT_OFFSET}) / 2)
|
||||||
|
#enddef
|
||||||
|
|
||||||
#define BEST_WIDTH
|
#define BEST_WIDTH
|
||||||
(gamemap_width / {__GUI_SIZE_FACTOR})
|
(if(gamemap_width > {TEXT_WIDTH_SATURATION}, gamemap_width - {MAX_TEXT_WIDTH}, (gamemap_width / {__GUI_SIZE_FACTOR})))
|
||||||
#enddef
|
#enddef
|
||||||
|
|
||||||
#define __GUI_BEST_SIZE
|
#define __GUI_BEST_SIZE
|
||||||
|
@ -470,8 +480,8 @@
|
||||||
|
|
||||||
[spacer]
|
[spacer]
|
||||||
width = "(
|
width = "(
|
||||||
if(gamemap_width - ({__GUI_IMAGE_WIDTH}) > 675
|
if(gamemap_width - ({__GUI_IMAGE_WIDTH}) > {MAX_TEXT_WIDTH}
|
||||||
, gamemap_width - (({__GUI_IMAGE_WIDTH}) + 675)
|
, gamemap_width - (({__GUI_IMAGE_WIDTH}) + {MAX_TEXT_WIDTH})
|
||||||
, 0
|
, 0
|
||||||
))"
|
))"
|
||||||
height = 75
|
height = 75
|
||||||
|
@ -691,8 +701,8 @@ if(gamemap_width - ({__GUI_IMAGE_WIDTH}) > 675
|
||||||
|
|
||||||
[spacer]
|
[spacer]
|
||||||
width = "(
|
width = "(
|
||||||
if(gamemap_width - (10 + ({__GUI_IMAGE_WIDTH})) > 675
|
if(gamemap_width - (10 + ({__GUI_IMAGE_WIDTH})) > {MAX_TEXT_WIDTH}
|
||||||
, gamemap_width - (10 + ({__GUI_IMAGE_WIDTH}) + 675)
|
, gamemap_width - (10 + ({__GUI_IMAGE_WIDTH}) + {MAX_TEXT_WIDTH})
|
||||||
, 0
|
, 0
|
||||||
))"
|
))"
|
||||||
height = 75
|
height = 75
|
||||||
|
|
Loading…
Add table
Reference in a new issue