Factorio.com|Forums|Wiki|Mod Portal|API Docs

# Factorio Prototype Docs Version 2.0.77

# SpriteParameters - Prototype Docs

## SpriteParameters :: struct - abstract

Inherits from SpriteSource
Children AnimationParameters Animation AnimationSheet RotatedAnimation RotatedSprite Sprite LayeredSprite SpriteNWaySheet SpriteSheet

## Properties

- default
- sorted

priority optional | :: SpritePriority |
flags optional | :: SpriteFlags |
shift optional | :: Vector | The shift in tiles. [...]
The shift in tiles. [...]
rotate_shift optional | :: boolean | Whether to rotate the `shift` alongside the sprite's rotation. [...]
Whether to rotate the `shift` alongside the sprite's rotation. [...]
apply_special_effect optional | :: boolean |
scale optional | :: double | Values other than `1` specify the scale of the sprite on default zoom. [...]
Values other than `1` specify the scale of the sprite on default zoom. [...]
draw_as_shadow optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_glow optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_light optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
occludes_light optional | :: boolean | Loaded only if `draw_as_shadow`, `draw_as_glow` and `draw_as_light` are `false`, and only by sprites used by tile renderer (decals and underwater patches). [...]
Loaded only if `draw_as_shadow`, `draw_as_glow` and `draw_as_light` are `false`, and only by sprites used by tile renderer (decals and underwater patches). [...]
mipmap_count optional | :: uint8 | Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
apply_runtime_tint optional | :: boolean |
tint_as_overlay optional | :: boolean |
invert_colors optional | :: boolean |
tint optional | :: Color |
blend_mode optional | :: BlendMode |
generate_sdf optional | :: boolean | This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
surface optional | :: SpriteUsageSurfaceHint | Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
usage optional | :: SpriteUsageHint | Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.
Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.

Inherited from SpriteSource

filename | :: FileName | The path to the sprite file to use.
The path to the sprite file to use.
size optional | :: SpriteSizeType or {SpriteSizeType, SpriteSizeType} | The width and height of the sprite. [...]
The width and height of the sprite. [...]
width optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
height optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
x optional | :: SpriteSizeType | Horizontal position of the sprite in the source file in pixels.
Horizontal position of the sprite in the source file in pixels.
y optional | :: SpriteSizeType | Vertical position of the sprite in the source file in pixels.
Vertical position of the sprite in the source file in pixels.
position optional | :: {SpriteSizeType, SpriteSizeType} | Loaded only when `x` and `y` are both `0`. [...]
Loaded only when `x` and `y` are both `0`. [...]
load_in_minimal_mode optional | :: boolean | Minimal mode is entered when mod loading fails. [...]
Minimal mode is entered when mod loading fails. [...]
premul_alpha optional | :: boolean | Whether alpha should be pre-multiplied.
Whether alpha should be pre-multiplied.
allow_forced_downscale optional | :: boolean | If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. [...]
If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. [...]

apply_runtime_tint optional | :: boolean |
apply_special_effect optional | :: boolean |
blend_mode optional | :: BlendMode |
draw_as_glow optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
draw_as_light optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.
draw_as_shadow optional | :: boolean | Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. [...]
flags optional | :: SpriteFlags |
generate_sdf optional | :: boolean | This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set. [...]
invert_colors optional | :: boolean |
mipmap_count optional | :: uint8 | Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. [...]
occludes_light optional | :: boolean | Loaded only if `draw_as_shadow`, `draw_as_glow` and `draw_as_light` are `false`, and only by sprites used by tile renderer (decals and underwater patches). [...]
Loaded only if `draw_as_shadow`, `draw_as_glow` and `draw_as_light` are `false`, and only by sprites used by tile renderer (decals and underwater patches). [...]
priority optional | :: SpritePriority |
rotate_shift optional | :: boolean | Whether to rotate the `shift` alongside the sprite's rotation. [...]
Whether to rotate the `shift` alongside the sprite's rotation. [...]
scale optional | :: double | Values other than `1` specify the scale of the sprite on default zoom. [...]
Values other than `1` specify the scale of the sprite on default zoom. [...]
shift optional | :: Vector | The shift in tiles. [...]
The shift in tiles. [...]
surface optional | :: SpriteUsageSurfaceHint | Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.
tint optional | :: Color |
tint_as_overlay optional | :: boolean |
usage optional | :: SpriteUsageHint | Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.
Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.

Inherited from SpriteSource

filename | :: FileName | The path to the sprite file to use.
The path to the sprite file to use.
allow_forced_downscale optional | :: boolean | If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. [...]
If `true`, the sprite may be downsampled to half its size on load even when 'Sprite quality' graphics setting is set to 'High'. [...]
height optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
load_in_minimal_mode optional | :: boolean | Minimal mode is entered when mod loading fails. [...]
Minimal mode is entered when mod loading fails. [...]
position optional | :: {SpriteSizeType, SpriteSizeType} | Loaded only when `x` and `y` are both `0`. [...]
Loaded only when `x` and `y` are both `0`. [...]
premul_alpha optional | :: boolean | Whether alpha should be pre-multiplied.
Whether alpha should be pre-multiplied.
size optional | :: SpriteSizeType or {SpriteSizeType, SpriteSizeType} | The width and height of the sprite. [...]
The width and height of the sprite. [...]
width optional | :: SpriteSizeType | Mandatory if `size` is not defined. [...]
Mandatory if `size` is not defined. [...]
x optional | :: SpriteSizeType | Horizontal position of the sprite in the source file in pixels.
Horizontal position of the sprite in the source file in pixels.
y optional | :: SpriteSizeType | Vertical position of the sprite in the source file in pixels.
Vertical position of the sprite in the source file in pixels.

## Properties

### priority :: SpritePriority optional

Default: `"medium"`

### flags :: SpriteFlags optional

### shift :: Vector optional

Default: `{0, 0}`

The shift in tiles. `util.by_pixel()` can be used to divide the shift by 32 which is the usual pixel height/width of 1 tile in normal resolution. Note that 32 pixel tile height/width is not enforced anywhere - any other tile height or width is also possible.

### rotate_shift :: boolean optional

Default: `false`

Whether to rotate the `shift` alongside the sprite's rotation. This only applies to sprites which are procedurally rotated by the game engine (like projectiles, wires, inserter hands, etc).

### apply_special_effect :: boolean optional

Default: `false`

### scale :: double optional

Default: `1`

Values other than `1` specify the scale of the sprite on default zoom. A scale of `2` means that the picture will be two times bigger on screen (and thus more pixelated).

### draw_as_shadow :: boolean optional

Default: `false`

Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. This takes precedence over `draw_as_glow` and `draw_as_light`.

### draw_as_glow :: boolean optional

Default: `false`

Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true. This takes precedence over `draw_as_light`.

Draws first as a normal sprite, then again as a light layer. See https://forums.factorio.com/91682.

### draw_as_light :: boolean optional

Default: `false`

Only one of `draw_as_shadow`, `draw_as_glow` and `draw_as_light` can be true.

### occludes_light :: boolean optional

Default: `true`

Loaded only if `draw_as_shadow`, `draw_as_glow` and `draw_as_light` are `false`, and only by sprites used by tile renderer (decals and underwater patches). The purpose of setting this to `false` is to preserve water mask from sprites that are supposed to be drawn under the water.

### mipmap_count :: uint8 optional

Default: `0`

Only loaded if this is an icon, that is it has the flag `"group=icon"` or `"group=gui"`. Will be clamped to range `[0, 5]`.

### apply_runtime_tint :: boolean optional

Default: `false`

### tint_as_overlay :: boolean optional

Default: `false`

### invert_colors :: boolean optional

Default: `false`

### tint :: Color optional

Default: `{r=1, g=1, b=1, a=1}`

### blend_mode :: BlendMode optional

Default: `"normal"`

### generate_sdf :: boolean optional

Example of the icon shadow in the character modifier icon used by the steel axe research

Default: `false`

This property is only used by sprites used in UtilitySprites that have the `"icon"` flag set.

If this is set to `true`, the game will generate an icon shadow (using signed distance fields) for the sprite.

### surface :: SpriteUsageSurfaceHint optional

Default: `"any"`

Provides hint to sprite atlas system, so it can try to put sprites that are intended to be used at the same locations to the same sprite atlas.

### usage :: SpriteUsageHint optional

Default: `"any"`

Provides hint to sprite atlas system, so it can pack sprites that are related to each other to the same sprite atlas.