orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
OrxFX

Data Structures

struct  orxFX_CURVE_PARAM
struct  orxFX_EVENT_PAYLOAD

Macros

#define orxFX_SLOT_KU32_FLAG_ABSOLUTE   0x00010000
#define orxFX_SLOT_KU32_FLAG_STAGGER   0x00020000
#define orxFX_SLOT_KU32_FLAG_USE_ROTATION   0x00040000
#define orxFX_SLOT_KU32_FLAG_USE_SCALE   0x00080000

Typedefs

typedef struct __orxFX_t orxFX

Enumerations

enum  orxFX_CURVE {
  orxFX_CURVE_SINE = 0 , orxFX_CURVE_SQUARE , orxFX_CURVE_TRIANGLE , orxFX_CURVE_SYMMETRIC_NUMBER ,
  orxFX_CURVE_BEZIER = orxFX_CURVE_SYMMETRIC_NUMBER , orxFX_CURVE_LINEAR , orxFX_CURVE_SMOOTH , orxFX_CURVE_SMOOTHER ,
  orxFX_CURVE_EASE_IN_SINE , orxFX_CURVE_EASE_OUT_SINE , orxFX_CURVE_EASE_IN_OUT_SINE , orxFX_CURVE_EASE_IN_QUAD ,
  orxFX_CURVE_EASE_OUT_QUAD , orxFX_CURVE_EASE_IN_OUT_QUAD , orxFX_CURVE_EASE_IN_CUBIC , orxFX_CURVE_EASE_OUT_CUBIC ,
  orxFX_CURVE_EASE_IN_OUT_CUBIC , orxFX_CURVE_EASE_IN_QUART , orxFX_CURVE_EASE_OUT_QUART , orxFX_CURVE_EASE_IN_OUT_QUART ,
  orxFX_CURVE_EASE_IN_QUINT , orxFX_CURVE_EASE_OUT_QUINT , orxFX_CURVE_EASE_IN_OUT_QUINT , orxFX_CURVE_EASE_IN_EXPO ,
  orxFX_CURVE_EASE_OUT_EXPO , orxFX_CURVE_EASE_IN_OUT_EXPO , orxFX_CURVE_EASE_IN_CIRC , orxFX_CURVE_EASE_OUT_CIRC ,
  orxFX_CURVE_EASE_IN_OUT_CIRC , orxFX_CURVE_EASE_IN_BACK , orxFX_CURVE_EASE_OUT_BACK , orxFX_CURVE_EASE_IN_OUT_BACK ,
  orxFX_CURVE_EASE_IN_ELASTIC , orxFX_CURVE_EASE_OUT_ELASTIC , orxFX_CURVE_EASE_IN_OUT_ELASTIC , orxFX_CURVE_EASE_IN_BOUNCE ,
  orxFX_CURVE_EASE_OUT_BOUNCE , orxFX_CURVE_EASE_IN_OUT_BOUNCE , orxFX_CURVE_NUMBER , orxFX_CURVE_NONE = orxENUM_NONE
}
enum  orxFX_EVENT {
  orxFX_EVENT_START = 0 , orxFX_EVENT_STOP , orxFX_EVENT_ADD , orxFX_EVENT_REMOVE ,
  orxFX_EVENT_LOOP , orxFX_EVENT_NUMBER , orxFX_EVENT_NONE = orxENUM_NONE
}
enum  orxFX_TYPE {
  orxFX_TYPE_ALPHA = 0 , orxFX_TYPE_RGB , orxFX_TYPE_HSL , orxFX_TYPE_HSV ,
  orxFX_TYPE_POSITION , orxFX_TYPE_ROTATION , orxFX_TYPE_SCALE , orxFX_TYPE_SPEED ,
  orxFX_TYPE_VOLUME , orxFX_TYPE_PITCH , orxFX_TYPE_SIZE , orxFX_TYPE_ORIGIN ,
  orxFX_TYPE_FLOAT_ADD , orxFX_TYPE_FLOAT_MULTIPLY , orxFX_TYPE_VECTOR_ADD , orxFX_TYPE_VECTOR_MULTIPLY ,
  orxFX_TYPE_NUMBER , orxFX_TYPE_MAX_NUMBER = 16 , orxFX_TYPE_NONE = orxENUM_NONE
}

Functions

orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlot (orxFX *_pstFX, orxFX_TYPE _eType, orxFX_CURVE _eCurve, const orxFX_CURVE_PARAM *_pstCurveParam, orxU32 _u32Flags)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlotFromConfig (orxFX *_pstFX, const orxSTRING _zSlotID)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Apply (const orxFX *_pstFX, orxOBJECT *_pstObject, orxFLOAT _fPreviousTime, orxFLOAT _fTime)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_ClearCache ()
orxDLLAPI orxFX *orxFASTCALL orxFX_Create ()
orxDLLAPI orxFX *orxFASTCALL orxFX_CreateFromConfig (const orxSTRING _zConfigID)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Delete (orxFX *_pstFX)
orxDLLAPI void orxFASTCALL orxFX_Enable (orxFX *_pstFX, orxBOOL _bEnable)
orxDLLAPI void orxFASTCALL orxFX_Exit ()
orxDLLAPI orxFX *orxFASTCALL orxFX_Get (const orxSTRING _zName)
orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetDuration (const orxFX *_pstFX)
orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetFloat (const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime)
orxDLLAPI const orxSTRING orxFASTCALL orxFX_GetName (const orxFX *_pstFX)
orxDLLAPI orxBOOL orxFASTCALL orxFX_GetStagger (const orxFX *_pstFX, orxFLOAT *_pfOffset)
orxDLLAPI orxVECTOR *orxFASTCALL orxFX_GetVector (const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime, orxVECTOR *_pvVector)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Init ()
orxDLLAPI orxBOOL orxFASTCALL orxFX_IsEnabled (const orxFX *_pstFX)
orxDLLAPI orxBOOL orxFASTCALL orxFX_IsLooping (const orxFX *_pstFX)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Loop (orxFX *_pstFX, orxBOOL _bLoop)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_SetStagger (orxFX *_pstFX, orxBOOL _bStagger, orxFLOAT _fOffset)
orxDLLAPI void orxFASTCALL orxFX_Setup ()

Detailed Description

FX module Allows to creates rendering special effects affecting color, scale, rotation and position of visuals.

Macro Definition Documentation

◆ orxFX_SLOT_KU32_FLAG_ABSOLUTE

#define orxFX_SLOT_KU32_FLAG_ABSOLUTE   0x00010000

Slot flags Absolute flag

Definition at line 54 of file orxFX.h.

◆ orxFX_SLOT_KU32_FLAG_STAGGER

#define orxFX_SLOT_KU32_FLAG_STAGGER   0x00020000

Stagger flag

Definition at line 55 of file orxFX.h.

◆ orxFX_SLOT_KU32_FLAG_USE_ROTATION

#define orxFX_SLOT_KU32_FLAG_USE_ROTATION   0x00040000

Use rotation flag

Definition at line 56 of file orxFX.h.

◆ orxFX_SLOT_KU32_FLAG_USE_SCALE

#define orxFX_SLOT_KU32_FLAG_USE_SCALE   0x00080000

Use scale flag

Definition at line 57 of file orxFX.h.

Typedef Documentation

◆ orxFX

typedef struct __orxFX_t orxFX

Internal FX structure

Definition at line 181 of file orxFX.h.

Enumeration Type Documentation

◆ orxFX_CURVE

FX curve enum

Enumerator
orxFX_CURVE_SINE 
orxFX_CURVE_SQUARE 
orxFX_CURVE_TRIANGLE 
orxFX_CURVE_SYMMETRIC_NUMBER 
orxFX_CURVE_BEZIER 
orxFX_CURVE_LINEAR 
orxFX_CURVE_SMOOTH 
orxFX_CURVE_SMOOTHER 
orxFX_CURVE_EASE_IN_SINE 
orxFX_CURVE_EASE_OUT_SINE 
orxFX_CURVE_EASE_IN_OUT_SINE 
orxFX_CURVE_EASE_IN_QUAD 
orxFX_CURVE_EASE_OUT_QUAD 
orxFX_CURVE_EASE_IN_OUT_QUAD 
orxFX_CURVE_EASE_IN_CUBIC 
orxFX_CURVE_EASE_OUT_CUBIC 
orxFX_CURVE_EASE_IN_OUT_CUBIC 
orxFX_CURVE_EASE_IN_QUART 
orxFX_CURVE_EASE_OUT_QUART 
orxFX_CURVE_EASE_IN_OUT_QUART 
orxFX_CURVE_EASE_IN_QUINT 
orxFX_CURVE_EASE_OUT_QUINT 
orxFX_CURVE_EASE_IN_OUT_QUINT 
orxFX_CURVE_EASE_IN_EXPO 
orxFX_CURVE_EASE_OUT_EXPO 
orxFX_CURVE_EASE_IN_OUT_EXPO 
orxFX_CURVE_EASE_IN_CIRC 
orxFX_CURVE_EASE_OUT_CIRC 
orxFX_CURVE_EASE_IN_OUT_CIRC 
orxFX_CURVE_EASE_IN_BACK 
orxFX_CURVE_EASE_OUT_BACK 
orxFX_CURVE_EASE_IN_OUT_BACK 
orxFX_CURVE_EASE_IN_ELASTIC 
orxFX_CURVE_EASE_OUT_ELASTIC 
orxFX_CURVE_EASE_IN_OUT_ELASTIC 
orxFX_CURVE_EASE_IN_BOUNCE 
orxFX_CURVE_EASE_OUT_BOUNCE 
orxFX_CURVE_EASE_IN_OUT_BOUNCE 
orxFX_CURVE_NUMBER 
orxFX_CURVE_NONE 

Definition at line 93 of file orxFX.h.

◆ orxFX_EVENT

Event enum

Enumerator
orxFX_EVENT_START 

Event sent when a FX starts

orxFX_EVENT_STOP 

Event sent when a FX stops

orxFX_EVENT_ADD 

Event sent when a FX is added

orxFX_EVENT_REMOVE 

Event sent when a FX is removed

orxFX_EVENT_LOOP 

Event sent when a FX is looping

orxFX_EVENT_NUMBER 
orxFX_EVENT_NONE 

Definition at line 186 of file orxFX.h.

◆ orxFX_TYPE

enum orxFX_TYPE

FX type enum

Enumerator
orxFX_TYPE_ALPHA 
orxFX_TYPE_RGB 
orxFX_TYPE_HSL 
orxFX_TYPE_HSV 
orxFX_TYPE_POSITION 
orxFX_TYPE_ROTATION 
orxFX_TYPE_SCALE 
orxFX_TYPE_SPEED 
orxFX_TYPE_VOLUME 
orxFX_TYPE_PITCH 
orxFX_TYPE_SIZE 
orxFX_TYPE_ORIGIN 
orxFX_TYPE_FLOAT_ADD 
orxFX_TYPE_FLOAT_MULTIPLY 
orxFX_TYPE_VECTOR_ADD 
orxFX_TYPE_VECTOR_MULTIPLY 
orxFX_TYPE_NUMBER 
orxFX_TYPE_MAX_NUMBER 
orxFX_TYPE_NONE 

Definition at line 62 of file orxFX.h.

Function Documentation

◆ orxFX_AddSlot()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlot ( orxFX * _pstFX,
orxFX_TYPE _eType,
orxFX_CURVE _eCurve,
const orxFX_CURVE_PARAM * _pstCurveParam,
orxU32 _u32Flags )
extern

Adds a slot to an FX

Parameters
[in]_pstFXConcerned FX
[in]_eTypeType
[in]_eCurveCurve
[in]_pstCurveParamCurve parameters
[in]_u32FlagsAdditional flags (Absolute, Stagger, UseRotation/UseScale for position/speed types only)
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_AddSlotFromConfig()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlotFromConfig ( orxFX * _pstFX,
const orxSTRING _zSlotID )
extern

Adds a slot to an FX from config

Parameters
[in]_pstFXConcerned FX
[in]_zSlotIDConfig ID return orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_Apply()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_Apply ( const orxFX * _pstFX,
orxOBJECT * _pstObject,
orxFLOAT _fPreviousTime,
orxFLOAT _fTime )
extern

Applies FX on object

Parameters
[in]_pstFXFX to apply
[in]_pstObjectObject on which to apply the FX
[in]_fPreviousTimePrevious time
[in]_fTimeCurrent time
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_ClearCache()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_ClearCache ( )
extern

Clears cache (if any FX is still in active use, it'll remain in memory until not referenced anymore)

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_Create()

orxDLLAPI orxFX *orxFASTCALL orxFX_Create ( )
extern

Creates an empty FX

Returns
orxFX / orxNULL

◆ orxFX_CreateFromConfig()

orxDLLAPI orxFX *orxFASTCALL orxFX_CreateFromConfig ( const orxSTRING _zConfigID)
extern

Creates an FX from config

Parameters
[in]_zConfigIDConfig ID @ return orxFX / orxNULL

◆ orxFX_Delete()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_Delete ( orxFX * _pstFX)
extern

Deletes an FX

Parameters
[in]_pstFXConcerned FX
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_Enable()

orxDLLAPI void orxFASTCALL orxFX_Enable ( orxFX * _pstFX,
orxBOOL _bEnable )
extern

Enables/disables an FX

Parameters
[in]_pstFXConcerned FX
[in]_bEnableEnable / disable

◆ orxFX_Exit()

orxDLLAPI void orxFASTCALL orxFX_Exit ( )
extern

Exits from the FX module

◆ orxFX_Get()

orxDLLAPI orxFX *orxFASTCALL orxFX_Get ( const orxSTRING _zName)
extern

Gets FX given its name

Parameters
[in]_zNameFX name
Returns
orxFX / orxNULL

◆ orxFX_GetDuration()

orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetDuration ( const orxFX * _pstFX)
extern

Gets FX duration

Parameters
[in]_pstFXConcerned FX
Returns
orxFLOAT

◆ orxFX_GetFloat()

orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetFloat ( const orxFX * _pstFX,
orxFLOAT _fPreviousTime,
orxFLOAT _fTime )
extern

Gets FX user float value between two timestamps

Parameters
[in]_pstFXConcerned FX
[in]_fPreviousTimePrevious time, ignored for Absolute slots. If <= orxFLOAT_0, the value at the current time will be returned, otherwise the value delta between both times will be returned
[in]_fTimeCurrent time
Returns
Float value

◆ orxFX_GetName()

orxDLLAPI const orxSTRING orxFASTCALL orxFX_GetName ( const orxFX * _pstFX)
extern

Gets FX name

Parameters
[in]_pstFXConcerned FX
Returns
orxSTRING / orxSTRING_EMPTY

◆ orxFX_GetStagger()

orxDLLAPI orxBOOL orxFASTCALL orxFX_GetStagger ( const orxFX * _pstFX,
orxFLOAT * _pfOffset )
extern

Get FX stagger / offset

Parameters
[in]_pstFXConcerned FX
[out]_pfOffsetIf non null, will contain the initial offset
Returns
orxTRUE if staggered, orxFALSE otherwise

◆ orxFX_GetVector()

orxDLLAPI orxVECTOR *orxFASTCALL orxFX_GetVector ( const orxFX * _pstFX,
orxFLOAT _fPreviousTime,
orxFLOAT _fTime,
orxVECTOR * _pvVector )
extern

Gets FX user vector value between two timestamps

Parameters
[in]_pstFXConcerned FX
[in]_fPreviousTimePrevious time, ignored for Absolute slots. If <= orxFLOAT_0, the value at the current time will be returned, otherwise the value delta between both times will be returned
[in]_fTimeCurrent time
[out]_pvVectorStorage for vector value
Returns
Vector value if valid, orxNULL otherwise

◆ orxFX_Init()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_Init ( )
extern

Inits the FX module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_IsEnabled()

orxDLLAPI orxBOOL orxFASTCALL orxFX_IsEnabled ( const orxFX * _pstFX)
extern

Is FX enabled?

Parameters
[in]_pstFXConcerned FX
Returns
orxTRUE if enabled, orxFALSE otherwise

◆ orxFX_IsLooping()

orxDLLAPI orxBOOL orxFASTCALL orxFX_IsLooping ( const orxFX * _pstFX)
extern

Is FX looping

Parameters
[in]_pstFXConcerned FX
Returns
orxTRUE if looping, orxFALSE otherwise

◆ orxFX_Loop()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_Loop ( orxFX * _pstFX,
orxBOOL _bLoop )
extern

Set FX loop property

Parameters
[in]_pstFXConcerned FX
[in]_bLoopLoop / don't loop
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_SetStagger()

orxDLLAPI orxSTATUS orxFASTCALL orxFX_SetStagger ( orxFX * _pstFX,
orxBOOL _bStagger,
orxFLOAT _fOffset )
extern

Sets FX stagger / offset

Parameters
[in]_pstFXConcerned FX
[in]_bStaggerIf true, this FX will be added after all current FXs
[in]_fOffsetInitial offset, in seconds. Cannot result in a negative start time
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFX_Setup()

orxDLLAPI void orxFASTCALL orxFX_Setup ( )
extern

FX module setup


Generated for orx by doxygen 1.8.11