===== orxFX structure =====
==== Summary ====
=== FX ===
[FXTemplate]
SlotList = FXSlotTemplate1#FXSlotTemplate2#...
Stagger = #
KeepInCache =
DoNotCache =
Loop =
=== FXSlot ===
[FXSlotTemplate]
Type = alpha | color | rgb | hsl | hsv | scale | rotation | position | speed | volume | pitch
Curve = linear | smooth | smoother | triangle | square | sine
StartTime =
EndTime =
StartValue = |
EndValue = |
Phase =
Period =
Absolute =
Stagger =
Acceleration =
Amplification =
Pow =
UseRotation =
UseScale =
==== Details ====
=== FX ===
Here's a list of the available properties for an ''orxFX'' structure:
* ''SlotList'': List of all the slots that will be used by that FX. Each slot will affect one attribute of the object one which the FX is applied. Up to 8 slots can be defined for a single FX. This property //needs// to be defined.
* ''Stagger'': If the first value is true, this FX will be added after all already existing FXs. Defaults to false. The second value, optional, is an additional time offset, in seconds, when the FX will start, staggered or not. Defaults to 0.0f.
* ''KeepInCache'': Specifies if the FX data should be kept in memory even when no FX of this type is used. This gives better performances but costs memory. Its default value is ''false''.
* ''DoNotCache'': If true, the FX won't get cached and will be recreated from config every time, which allows random values & variations but is more expensive. Defaults to false.
* ''Loop'': Specifies if the FX should be applied in loop. Its default value is ''false''.
=== FXSlot ===
Here's a list of the available properties for FX slots:
* ''Type'': Defines which object attribute will be modified by this slot. It can be one of the following: ''position'', ''rotation'', ''scale'', ''speed'', ''color'', ''alpha'', ''volume'' or ''pitch''. This property //needs// to be defined.
* ''Curve'': Defines which type of curve is used by this slot. It can be one of the following: [[wp>Sawtooth_wave|linear (aka sawtooth when cycling)]], [[wp>smoothstep|smooth & smoother (aka smoothstep)]], [[wp>triangle_wave|triangle]], [[wp>square_wave|square]] or [[wp>sine_wave|sine]]. This property //needs// to be defined.
* ''StartTime/EndTime'': Defines the start and end times of this slot, relatively to its ''orxFX'' parent. If both ''StartTime'' and ''EndTime'' have the same value, this slot be be instantly applied at this precise time, in a single frame. If no values are defined, 0.0 will be used.
* ''StartValue/EndValue'': Defines the start and end values of the curve for this slot. Depending on the ''Type'' of the slot, it can be a ''float'' and/or a ''vector''.((Vectors are used for position, speed, color and anisotropic scale)) If no values are specified, 0.0/(0.0, 0.0, 0.0) will be used.
* ''Phase'': Defines the phase of the cyclic curve at the beginning of the slot. Its value can range from 0.0 (start of the defined curve) to 1.0 (end of the defined curve). By default its value is 0.0.
* ''Period'': Defines the ''length'' (period) of the cyclic curve (ie. 1/frequency), in seconds. By default the period will be ''EndTime'' - ''StartTime'' so as to span on the whole slot duration.
* ''Absolute'': Should the slot apply absolute value to the object's attribute instead of relative ones? If an absolute slot is defined for a orxFX, it will override any other relative slot of the same orxFX of the same ''Type''. By default, its value is ''false''.
* ''Stagger'': If true, this slot will be added after all already existing slots. Defaults to false.
* ''Acceleration'': Defines the 'acceleration' of the curve over time (ie. the evolution of its frequency). A value < 1.0 means the frequency will decrease whereas a value > 1.0 means the frequency will increase. By default its value is 1.0, which means its frequency won't change.
* ''Amplification'': Defines the evolution of the amplitude of the curve over time. A value < 1.0 means the amplitude will decrease whereas a value > 1.0 means the amplitude will increase. By default its value is 1.0, which means its amplitude won't change.
* ''Pow'': [[wp>Exponent]] applies to the curve. By default its value is 1.0 which means the curve is a 'regular' one.
* ''UseRotation'': This property is only used for slots of ''Type'' = ''position'' or ''speed'', it will be ignored otherwise. If set to ''true'', the slot will use object's current rotation to compute resulting values. By default its value is ''false''.
* ''UseScale'': This property is only used for slots of ''Type'' = ''position'' or ''speed'', it'll be ignored otherwise. If set to ''true'', the slot will use object's current scale to compute resulting values. By default its value is ''false''.
==== Latest config settings for the Development Version ====
{{section>en:orx:config:developmentversion#&noheader&nofooter&noeditbutton}}