Types/IconData: Difference between revisions
(Added some precisions about scale, shift and shadow, based on my tests.) |
m (Added an example) |
||
Line 48: | Line 48: | ||
• The final combination of icons will always be resized in GUI based on the first icon layer's size, but won't be resized when displayed on machines in alt-mode. | • The final combination of icons will always be resized in GUI based on the first icon layer's size, but won't be resized when displayed on machines in alt-mode. | ||
(example: recipe first icon is size 128, scale 1, the icon group will be displayed at resolution /4 to fit the 32px GUI boxes, but will be displayed 4 times as large on buildings) | |||
• Shift values are based on final size (icon_size * scale) of the first icon. | • Shift values are based on final size (icon_size * scale) of the first icon. |
Revision as of 12:15, 8 August 2021
Basics
Data of one icon "layer" for the icons
property of the Types/IconSpecification.
Mandatory properties
icon
Type: Types/FileName
The path to the icon.
icon_size
Type: Types/SpriteSizeType
Mandatory if icon_size
is not specified outside of icons
. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.
Optional properties
tint
Type: Types/Color
Default: {r=1, g=1, b=1, a=1}
Tint of the icon. Default is when tint = nil. See Type for full details.
shift
Type: Types/vector
Default: {0, 0}
Used to offset the icon "layer" from the overall icon.
scale
Type: Types/double
Default for items/recipes: (32/icon_size)
Default for technologies: (256/icon_size)
When set, specifies the scale of the icon on the GUI scale. Scale 2 means that the icon will be 2 times bigger on screen (and more pixelated).
icon_mipmaps
Type: Types/uint8
Default: 0
Notes
• Only the first icon layer will display a shadow.
• The final combination of icons will always be resized in GUI based on the first icon layer's size, but won't be resized when displayed on machines in alt-mode. (example: recipe first icon is size 128, scale 1, the icon group will be displayed at resolution /4 to fit the 32px GUI boxes, but will be displayed 4 times as large on buildings)
• Shift values are based on final size (icon_size * scale) of the first icon.
Examples
{
icon = "__base__/graphics/icons/fluid/heavy-oil.png",
icon_size = 64,
scale = 0.5,
shift = {4, -8}
}