Types/IconData: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(Updated styling of prototype doc migration note)
(Removed old prototype docs)
 
Line 2: Line 2:


</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
== Basics ==
Data of one icon "layer" for the <code>icons</code> property of the [[Types/IconSpecification]].
== Mandatory properties ==
=== icon ===
'''Type''': [[Types/FileName]]
The path to the icon.
=== icon_size ===
'''Type''': [[Types/SpriteSizeType]]
Mandatory if <code>icon_size</code> is not specified outside of <code>icons</code>. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.
== Optional properties ==
=== tint ===
'''Type''': [[Types/Color]]
'''Default''': <nowiki>{r=1, g=1, b=1, a=1} (white)</nowiki>
Tint of the icon.
=== shift ===
'''Type''': [[Types/vector]]
'''Default''': {0, 0}
Used to offset the icon "layer" from the overall icon.<br>
The shift is applied from the center (so negative shifts are left and up, respectively). Shift uses the unit "pixels after scaling", see [[#Notes]].
=== 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.<br>
Scale 2 means that the icon will be 2 times bigger on screen (and more pixelated).
=== icon_mipmaps ===
'''Type''': [[Types/uint8]]
'''Default''': 0
Icons of reduced size will be used at decreased scale. 0 or 1 mipmaps is a single image. The file must contain 1/2 size images with a geometric-ratio, for each mipmap level. Each next level is aligned to the upper-left corner. Example sequence: 128x128@(0,0), 64x64@(128,0), 32x32@(196,0) is 3 mipmaps.<br>See also [https://factorio.com/blog/post/fff-291 Factorio Friday Facts #291] about the visual effects of icon mipmaps.
== Notes ==
* The rendering order of the individual icons follows the table (array) order: Later added icons (higher index) get drawn on top of previously added icons (lower index).
* Only the first icon layer will display a shadow.
* When the final icon is displayed with transparency (e.g. a faded out alert), the icon layer overlap may look undesirable.[https://forums.factorio.com/viewtopic.php?p=575844#p575844]
* 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 layer 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 ==
<syntaxhighlight lang="lua">{
  icon = "__base__/graphics/icons/fluid/heavy-oil.png",
  icon_size = 64,
  scale = 0.5,
  shift = {4, -8}
}</syntaxhighlight>

Latest revision as of 14:32, 25 October 2024

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/types/IconData.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.