orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
orxFX.h
Go to the documentation of this file.
1/* Orx - Portable Game Engine
2 *
3 * Copyright (c) 2008- Orx-Project
4 *
5 * This software is provided 'as-is', without any express or implied
6 * warranty. In no event will the authors be held liable for any damages
7 * arising from the use of this software.
8 *
9 * Permission is granted to anyone to use this software for any purpose,
10 * including commercial applications, and to alter it and redistribute it
11 * freely, subject to the following restrictions:
12 *
13 * 1. The origin of this software must not be misrepresented; you must not
14 * claim that you wrote the original software. If you use this software
15 * in a product, an acknowledgment in the product documentation would be
16 * appreciated but is not required.
17 *
18 * 2. Altered source versions must be plainly marked as such, and must not be
19 * misrepresented as being the original software.
20 *
21 * 3. This notice may not be removed or altered from any source
22 * distribution.
23 */
24
32
41
42
43#ifndef _orxFX_H_
44#define _orxFX_H_
45
46
47#include "orxInclude.h"
48#include "math/orxVector.h"
49#include "object/orxObject.h"
50
51
54#define orxFX_SLOT_KU32_FLAG_ABSOLUTE 0x00010000
55#define orxFX_SLOT_KU32_FLAG_STAGGER 0x00020000
56#define orxFX_SLOT_KU32_FLAG_USE_ROTATION 0x00040000
57#define orxFX_SLOT_KU32_FLAG_USE_SCALE 0x00080000
58
59
89
90
144
145
148typedef struct __orxFX_CURVE_PARAM_t
149{
150 union
151 {
152 struct
153 {
154 orxFLOAT fStartValue;
155 orxFLOAT fEndValue;
156 };
157
158 struct
159 {
162 };
163 };
164
167
168 orxFLOAT fStartTime;
169 orxFLOAT fEndTime;
170 orxFLOAT fPeriod;
171 orxFLOAT fPhase;
174 orxFLOAT fPow;
175
177
178
181typedef struct __orxFX_t orxFX;
182
183
199
202typedef struct __orxFX_EVENT_PAYLOAD_t
203{
205 const orxSTRING zFXName;
206
208
209
212extern orxDLLAPI void orxFASTCALL orxFX_Setup();
213
217extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_Init();
218
221extern orxDLLAPI void orxFASTCALL orxFX_Exit();
222
226extern orxDLLAPI orxFX *orxFASTCALL orxFX_Create();
227
232extern orxDLLAPI orxFX *orxFASTCALL orxFX_CreateFromConfig(const orxSTRING _zConfigID);
233
238extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_Delete(orxFX *_pstFX);
239
244
252extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_Apply(const orxFX *_pstFX, orxOBJECT *_pstObject, orxFLOAT _fPreviousTime, orxFLOAT _fTime);
253
260extern orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetFloat(const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime);
261
269extern orxDLLAPI orxVECTOR *orxFASTCALL orxFX_GetVector(const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime, orxVECTOR *_pvVector);
270
275extern orxDLLAPI void orxFASTCALL orxFX_Enable(orxFX *_pstFX, orxBOOL _bEnable);
276
281extern orxDLLAPI orxBOOL orxFASTCALL orxFX_IsEnabled(const orxFX *_pstFX);
282
291extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlot(orxFX *_pstFX, orxFX_TYPE _eType, orxFX_CURVE _eCurve, const orxFX_CURVE_PARAM *_pstCurveParam, orxU32 _u32Flags);
292
298extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlotFromConfig(orxFX *_pstFX, const orxSTRING _zSlotID);
299
304extern orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetDuration(const orxFX *_pstFX);
305
310extern orxDLLAPI orxFX *orxFASTCALL orxFX_Get(const orxSTRING _zName);
311
316extern orxDLLAPI const orxSTRING orxFASTCALL orxFX_GetName(const orxFX *_pstFX);
317
323extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_Loop(orxFX *_pstFX, orxBOOL _bLoop);
324
329extern orxDLLAPI orxBOOL orxFASTCALL orxFX_IsLooping(const orxFX *_pstFX);
330
337extern orxDLLAPI orxSTATUS orxFASTCALL orxFX_SetStagger(orxFX *_pstFX, orxBOOL _bStagger, orxFLOAT _fOffset);
338
344extern orxDLLAPI orxBOOL orxFASTCALL orxFX_GetStagger(const orxFX *_pstFX, orxFLOAT *_pfOffset);
345
346#endif /* _orxFX_H_ */
347
#define orxDLLAPI
Definition orxDecl.h:381
orxDLLAPI orxBOOL orxFASTCALL orxFX_IsLooping(const orxFX *_pstFX)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Init()
orxDLLAPI orxSTATUS orxFASTCALL orxFX_SetStagger(orxFX *_pstFX, orxBOOL _bStagger, orxFLOAT _fOffset)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Apply(const orxFX *_pstFX, orxOBJECT *_pstObject, orxFLOAT _fPreviousTime, orxFLOAT _fTime)
orxDLLAPI void orxFASTCALL orxFX_Setup()
orxDLLAPI orxSTATUS orxFASTCALL orxFX_ClearCache()
orxDLLAPI orxFX *orxFASTCALL orxFX_CreateFromConfig(const orxSTRING _zConfigID)
orxDLLAPI const orxSTRING orxFASTCALL orxFX_GetName(const orxFX *_pstFX)
orxFX_EVENT
Definition orxFX.h:187
orxDLLAPI orxBOOL orxFASTCALL orxFX_IsEnabled(const orxFX *_pstFX)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Loop(orxFX *_pstFX, orxBOOL _bLoop)
orxDLLAPI void orxFASTCALL orxFX_Exit()
orxFX_TYPE
Definition orxFX.h:63
orxDLLAPI orxFX *orxFASTCALL orxFX_Create()
orxDLLAPI orxFX *orxFASTCALL orxFX_Get(const orxSTRING _zName)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlotFromConfig(orxFX *_pstFX, const orxSTRING _zSlotID)
orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetFloat(const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime)
orxDLLAPI void orxFASTCALL orxFX_Enable(orxFX *_pstFX, orxBOOL _bEnable)
struct __orxFX_t orxFX
Definition orxFX.h:181
orxDLLAPI orxVECTOR *orxFASTCALL orxFX_GetVector(const orxFX *_pstFX, orxFLOAT _fPreviousTime, orxFLOAT _fTime, orxVECTOR *_pvVector)
orxDLLAPI orxFLOAT orxFASTCALL orxFX_GetDuration(const orxFX *_pstFX)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_Delete(orxFX *_pstFX)
orxDLLAPI orxBOOL orxFASTCALL orxFX_GetStagger(const orxFX *_pstFX, orxFLOAT *_pfOffset)
orxDLLAPI orxSTATUS orxFASTCALL orxFX_AddSlot(orxFX *_pstFX, orxFX_TYPE _eType, orxFX_CURVE _eCurve, const orxFX_CURVE_PARAM *_pstCurveParam, orxU32 _u32Flags)
orxFX_CURVE
Definition orxFX.h:94
@ orxFX_EVENT_REMOVE
Definition orxFX.h:191
@ orxFX_EVENT_NUMBER
Definition orxFX.h:194
@ orxFX_EVENT_ADD
Definition orxFX.h:190
@ orxFX_EVENT_NONE
Definition orxFX.h:196
@ orxFX_EVENT_LOOP
Definition orxFX.h:192
@ orxFX_EVENT_START
Definition orxFX.h:188
@ orxFX_EVENT_STOP
Definition orxFX.h:189
@ orxFX_TYPE_NONE
Definition orxFX.h:86
@ orxFX_TYPE_ROTATION
Definition orxFX.h:69
@ orxFX_TYPE_SPEED
Definition orxFX.h:71
@ orxFX_TYPE_VECTOR_ADD
Definition orxFX.h:79
@ orxFX_TYPE_SCALE
Definition orxFX.h:70
@ orxFX_TYPE_RGB
Definition orxFX.h:65
@ orxFX_TYPE_HSL
Definition orxFX.h:66
@ orxFX_TYPE_PITCH
Definition orxFX.h:73
@ orxFX_TYPE_FLOAT_ADD
Definition orxFX.h:77
@ orxFX_TYPE_SIZE
Definition orxFX.h:74
@ orxFX_TYPE_VOLUME
Definition orxFX.h:72
@ orxFX_TYPE_POSITION
Definition orxFX.h:68
@ orxFX_TYPE_HSV
Definition orxFX.h:67
@ orxFX_TYPE_MAX_NUMBER
Definition orxFX.h:84
@ orxFX_TYPE_VECTOR_MULTIPLY
Definition orxFX.h:80
@ orxFX_TYPE_NUMBER
Definition orxFX.h:82
@ orxFX_TYPE_ORIGIN
Definition orxFX.h:75
@ orxFX_TYPE_FLOAT_MULTIPLY
Definition orxFX.h:78
@ orxFX_TYPE_ALPHA
Definition orxFX.h:64
@ orxFX_CURVE_EASE_IN_OUT_ELASTIC
Definition orxFX.h:134
@ orxFX_CURVE_EASE_OUT_BACK
Definition orxFX.h:130
@ orxFX_CURVE_TRIANGLE
Definition orxFX.h:97
@ orxFX_CURVE_EASE_IN_QUINT
Definition orxFX.h:120
@ orxFX_CURVE_SMOOTHER
Definition orxFX.h:106
@ orxFX_CURVE_EASE_IN_CUBIC
Definition orxFX.h:114
@ orxFX_CURVE_EASE_OUT_EXPO
Definition orxFX.h:124
@ orxFX_CURVE_EASE_IN_BOUNCE
Definition orxFX.h:135
@ orxFX_CURVE_EASE_OUT_BOUNCE
Definition orxFX.h:136
@ orxFX_CURVE_EASE_IN_OUT_CUBIC
Definition orxFX.h:116
@ orxFX_CURVE_NUMBER
Definition orxFX.h:139
@ orxFX_CURVE_LINEAR
Definition orxFX.h:104
@ orxFX_CURVE_SINE
Definition orxFX.h:95
@ orxFX_CURVE_EASE_OUT_QUAD
Definition orxFX.h:112
@ orxFX_CURVE_NONE
Definition orxFX.h:141
@ orxFX_CURVE_EASE_OUT_ELASTIC
Definition orxFX.h:133
@ orxFX_CURVE_SYMMETRIC_NUMBER
Definition orxFX.h:99
@ orxFX_CURVE_EASE_OUT_SINE
Definition orxFX.h:109
@ orxFX_CURVE_EASE_IN_QUAD
Definition orxFX.h:111
@ orxFX_CURVE_EASE_IN_QUART
Definition orxFX.h:117
@ orxFX_CURVE_EASE_OUT_QUINT
Definition orxFX.h:121
@ orxFX_CURVE_EASE_IN_OUT_CIRC
Definition orxFX.h:128
@ orxFX_CURVE_EASE_OUT_CUBIC
Definition orxFX.h:115
@ orxFX_CURVE_EASE_IN_OUT_BACK
Definition orxFX.h:131
@ orxFX_CURVE_EASE_IN_OUT_QUAD
Definition orxFX.h:113
@ orxFX_CURVE_EASE_IN_CIRC
Definition orxFX.h:126
@ orxFX_CURVE_EASE_IN_EXPO
Definition orxFX.h:123
@ orxFX_CURVE_EASE_IN_ELASTIC
Definition orxFX.h:132
@ orxFX_CURVE_EASE_IN_OUT_QUINT
Definition orxFX.h:122
@ orxFX_CURVE_EASE_IN_OUT_QUART
Definition orxFX.h:119
@ orxFX_CURVE_EASE_IN_OUT_SINE
Definition orxFX.h:110
@ orxFX_CURVE_EASE_IN_SINE
Definition orxFX.h:108
@ orxFX_CURVE_SMOOTH
Definition orxFX.h:105
@ orxFX_CURVE_BEZIER
Definition orxFX.h:103
@ orxFX_CURVE_EASE_OUT_CIRC
Definition orxFX.h:127
@ orxFX_CURVE_EASE_IN_OUT_EXPO
Definition orxFX.h:125
@ orxFX_CURVE_SQUARE
Definition orxFX.h:96
@ orxFX_CURVE_EASE_IN_BACK
Definition orxFX.h:129
@ orxFX_CURVE_EASE_OUT_QUART
Definition orxFX.h:118
@ orxFX_CURVE_EASE_IN_OUT_BOUNCE
Definition orxFX.h:137
#define orxOBJECT(STRUCTURE)
#define orxFX(STRUCTURE)
orxSTATUS
Definition orxType.h:270
orxVECTOR vCurvePoint1
Definition orxFX.h:165
orxFLOAT fStartTime
Definition orxFX.h:168
orxFLOAT fEndValue
Definition orxFX.h:155
orxFLOAT fAcceleration
Definition orxFX.h:173
orxFLOAT fPow
Definition orxFX.h:174
orxVECTOR vStartValue
Definition orxFX.h:160
orxFLOAT fEndTime
Definition orxFX.h:169
orxFLOAT fStartValue
Definition orxFX.h:154
orxFLOAT fPeriod
Definition orxFX.h:170
orxFLOAT fAmplification
Definition orxFX.h:172
orxVECTOR vCurvePoint2
Definition orxFX.h:166
orxFLOAT fPhase
Definition orxFX.h:171
orxVECTOR vEndValue
Definition orxFX.h:161
const orxSTRING zFXName
Definition orxFX.h:205

Generated for orx by doxygen 1.8.11