Types/IconSpecification: Difference between revisions
 0.17  | 
				 Added examples  | 
				||
| Line 28: | Line 28: | ||
Mandatory. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.  | Mandatory. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.  | ||
== Examples ==  | |||
Simple icon with size:  | |||
<syntaxhighlight lang="lua">  | |||
  icon = "__base__/graphics/icons/fluid/heavy-oil.png",  | |||
  icon_size = 32,  | |||
</syntaxhighlight>  | |||
Layered icon, size defined outside of layers:  | |||
<syntaxhighlight lang="lua">icon_size = 32,  | |||
icons = {  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/empty-barrel.png"  | |||
  },  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/barrel-side-mask.png",  | |||
    tint = { a = 0.75,  b = 0, g = 0, r = 0 }  | |||
  },  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/barrel-hoop-top-mask.png",  | |||
    tint = { a = 0.75, b = 0.5, g = 0.5, r = 0.5 }  | |||
  }  | |||
}</syntaxhighlight>  | |||
Layered icon, size defined per layer:  | |||
<syntaxhighlight lang="lua">icons = {  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty.png",  | |||
    icon_size = 32  | |||
  },  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty-side-mask.png",  | |||
    icon_size = 32,  | |||
    tint = { a = 0.75, b = 0, g = 0, r = 0 }  | |||
  },  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty-top-mask.png",  | |||
    icon_size = 32,  | |||
    tint = { a = 0.75, b = 0.5, g = 0.5, r = 0.5 }  | |||
  },  | |||
  {  | |||
    icon = "__base__/graphics/icons/fluid/crude-oil.png",  | |||
    icon_size = 32,  | |||
    scale = 0.5,  | |||
    shift = {7, 8 }  | |||
  }  | |||
}</syntaxhighlight>  | |||
Revision as of 18:55, 10 September 2019
Basics
Specifies the icon of an entity/item/technology/recipe etc. The properties are specified directly in the prototype, not in another sub-property.
Either icons and optionally icon_size, or both icon and icon_size have to be specified.
Prototype properties: Option 1
icons
Type: Types/table of Types/IconData
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).
icon_size
Type: Types/SpriteSizeType
Mandatory if icon_size is not specified inside all instances of Types/IconData inside icons. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.
icon_mipmaps
Type: Types/uint8
Default: 0
Prototype properties: Option 2
icon
Type: Types/FileName
Path to the icon file.
icon_size
Type: Types/SpriteSizeType
Mandatory. The size of the square icon, in pixels, e.g. 32 for a 32px by 32px icon.
Examples
Simple icon with size:
  icon = "__base__/graphics/icons/fluid/heavy-oil.png",
  icon_size = 32,
Layered icon, size defined outside of layers:
icon_size = 32,
icons = {
  {
    icon = "__base__/graphics/icons/fluid/barreling/empty-barrel.png"
  },
  {
    icon = "__base__/graphics/icons/fluid/barreling/barrel-side-mask.png",
    tint = { a = 0.75,  b = 0, g = 0, r = 0 }
  },
  {
    icon = "__base__/graphics/icons/fluid/barreling/barrel-hoop-top-mask.png",
    tint = { a = 0.75, b = 0.5, g = 0.5, r = 0.5 }
  }
}
Layered icon, size defined per layer:
icons = {
  {
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty.png",
    icon_size = 32
  },
  {
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty-side-mask.png",
    icon_size = 32,
    tint = { a = 0.75, b = 0, g = 0, r = 0 }
  },
  {
    icon = "__base__/graphics/icons/fluid/barreling/barrel-empty-top-mask.png",
    icon_size = 32,
    tint = { a = 0.75, b = 0.5, g = 0.5, r = 0.5 }
  },
  {
    icon = "__base__/graphics/icons/fluid/crude-oil.png",
    icon_size = 32,
    scale = 0.5,
    shift = {7, 8 }
  }
}