Factorio Prototype DocsVersion 2.0.28

CoverGraphicProcessionLayer :: struct

Draws a layer of cloud texture covering the screen. It can fade in an out based on opacity and using the picture mask as gradient of areas which fade in soon or later.

There are two important concepts to understand:

  • mask refers to something like a depth texture. It is applied across the whole screen and determines how the entire graphic fades in and out.

  • effect in this context refers to clipping out portion of the cover graphic. It can use an effect_graphic. is_cloud_effect_advanced makes the effect modify opacity threshold of the mask rather than multiplying alpha.

Additionally an area can be masked out by range or effect mask.

Properties

type :: "cover-graphic"
reference_group optional :: ProcessionLayerInheritanceGroupID

The group this layer belongs to, for inheritance.

The group this layer belongs to, for inheritance.

inherit_from optional :: ProcessionLayerInheritanceGroupID

Adds the final position value from given layer to this one.

Adds the final position value from given layer to this one.

graphic optional :: ProcessionGraphic

Main texture of the layer.

Main texture of the layer.

mask_graphic optional :: ProcessionGraphic

Opacity gradient of the layer.

Opacity gradient of the layer.

effect_graphic optional :: ProcessionGraphic

Used by certain effects.

Used by certain effects.

render_layer optional :: RenderLayer
secondary_draw_order optional :: int8
is_cloud_effect_advanced optional :: bool

Advanced cloud effect mask modifies the regular mask thresholds instead of being a flat multiplication of the resulting opacity.

Advanced cloud effect mask modifies the regular mask thresholds instead of being a flat multiplication of the resulting opacity.

is_quad_texture optional :: bool

The texture and mask are interpreted as four smaller textures that are randomly tiled.

The texture and mask are interpreted as four smaller textures that are randomly tiled.

rotate_with_pod optional :: bool

Add rotation of the pod to the cloud rotation.

Add rotation of the pod to the cloud rotation.

texture_relative_to optional :: EffectRelativeTo

Where the tiled texture is centered and rotated.

Where the tiled texture is centered and rotated.

distance_traveled_strength optional :: Vector

How much the pod's distance traveled moves the cloud coordinates

How much the pod's distance traveled moves the cloud coordinates

pod_movement_strength optional :: Vector

How much the pod's position moves the cloud coordinates

How much the pod's position moves the cloud coordinates

world_size optional :: Vector

Size the textures are scaled to in the world.

Size the textures are scaled to in the world.

effect optional :: CoverGraphicEffectData

Clips the graphic.

Clips the graphic.

alt_effect optional :: CoverGraphicEffectData

Clips the graphic.

Clips the graphic.

frames :: array[CoverGraphicProcessionLayerBezierControlPoint]

Default values if unspecified:

  • opacity : 1.0

  • rotation : 0.0

  • effect_scale_min : 0.0

  • effect_scale_max : 1.0

  • effect_shift : {0, 0}

  • alt_effect_scale_min : 0.0

  • alt_effect_scale_max : 1.0

  • alt_effect_shift : {0, 0}

  • offset : {0, 0}

Default values if unspecified:

  • opacity : 1.0

  • rotation : 0.0

  • effect_scale_min : 0.0

  • effect_scale_max : 1.0

  • effect_shift : {0, 0}

  • alt_effect_scale_min : 0.0

  • alt_effect_scale_max : 1.0

  • alt_effect_shift : {0, 0}

  • offset : {0, 0}

Properties

type :: "cover-graphic"

reference_group :: ProcessionLayerInheritanceGroupID optional

The group this layer belongs to, for inheritance.

inherit_from :: ProcessionLayerInheritanceGroupID optional

Adds the final position value from given layer to this one.

graphic :: ProcessionGraphic optional

Main texture of the layer.

mask_graphic :: ProcessionGraphic optional

Opacity gradient of the layer.

effect_graphic :: ProcessionGraphic optional

Used by certain effects.

render_layer :: RenderLayer optional

Default: "object"

secondary_draw_order :: int8 optional

Default: 0

is_cloud_effect_advanced :: bool optional

Default: false

Advanced cloud effect mask modifies the regular mask thresholds instead of being a flat multiplication of the resulting opacity.

is_quad_texture :: bool optional

Default: false

The texture and mask are interpreted as four smaller textures that are randomly tiled.

rotate_with_pod :: bool optional

Default: false

Add rotation of the pod to the cloud rotation.

texture_relative_to :: EffectRelativeTo optional

Default: "ground-origin"

Where the tiled texture is centered and rotated.

distance_traveled_strength :: Vector optional

Default: {0,0}

How much the pod's distance traveled moves the cloud coordinates

pod_movement_strength :: Vector optional

Default: {1,1}

How much the pod's position moves the cloud coordinates

world_size :: Vector optional

Default: {512, 512}

Size the textures are scaled to in the world.

effect :: CoverGraphicEffectData optional

Clips the graphic.

alt_effect :: CoverGraphicEffectData optional

Clips the graphic.

frames :: array[CoverGraphicProcessionLayerBezierControlPoint]

Default values if unspecified:

  • opacity : 1.0

  • rotation : 0.0

  • effect_scale_min : 0.0

  • effect_scale_max : 1.0

  • effect_shift : {0, 0}

  • alt_effect_scale_min : 0.0

  • alt_effect_scale_max : 1.0

  • alt_effect_shift : {0, 0}

  • offset : {0, 0}

CoverGraphicProcessionLayerBezierControlPoint :: struct

One frame in time for a Bezier interpolation.

Properties

timestamp :: MapTick optional

Mandatory if opacity or rotation or effect_scale_min or effect_scale_max is defined.

opacity :: double optional

opacity and opacity_t interpolate a double smoothly over time.

opacity_t :: double optional

Bidirectional tangent at the given timestamp.

rotation :: double optional

rotation and rotation_t interpolate a double smoothly over time.

rotation_t :: double optional

Bidirectional tangent at the given timestamp.

effect_scale_min :: double optional

effect_scale_min and effect_scale_min_t interpolate a double smoothly over time.

effect_scale_min_t :: double optional

Bidirectional tangent at the given timestamp.

effect_scale_max :: double optional

effect_scale_max and effect_scale_max_t interpolate a double smoothly over time.

effect_scale_max_t :: double optional

Bidirectional tangent at the given timestamp.

alt_effect_scale_min :: double optional

alt_effect_scale_min and alt_effect_scale_min_t interpolate a double smoothly over time.

alt_effect_scale_min_t :: double optional

Bidirectional tangent at the given timestamp.

alt_effect_scale_max :: double optional

alt_effect_scale_max and alt_effect_scale_max_t interpolate a double smoothly over time.

alt_effect_scale_max_t :: double optional

Bidirectional tangent at the given timestamp.

effect_shift :: Vector optional

effect_shift and effect_shift_t interpolate a vector smoothly over time using effect_shift_rate and effect_shift_rate_t for a 0-1 rate curve.

Vector value.

effect_shift_t :: Vector optional

Vector tangent.

effect_shift_rate :: double optional

Rate 0-1 value.

effect_shift_rate_t :: double optional

Rate tangent.

alt_effect_shift :: Vector optional

alt_effect_shift and alt_effect_shift_t interpolate a vector smoothly over time using alt_effect_shift_rate and alt_effect_shift_rate_t for a 0-1 rate curve.

Vector value.

alt_effect_shift_t :: Vector optional

Vector tangent.

alt_effect_shift_rate :: double optional

Rate 0-1 value.

alt_effect_shift_rate_t :: double optional

Rate tangent.

offset :: Vector optional

offset and offset_t interpolate a vector smoothly over time using offset_rate and offset_rate_t for a 0-1 rate curve.

Vector value.

offset_t :: Vector optional

Vector tangent.

offset_rate :: double optional

Rate 0-1 value.

offset_rate_t :: double optional

Rate tangent.


Type used in

Prototypes

Types

Defines