orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
orxSpawner.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
42
43
44#ifndef _orxSPAWNER_H_
45#define _orxSPAWNER_H_
46
47
48#include "orxInclude.h"
49
50#include "object/orxStructure.h"
51#include "object/orxFrame.h"
52
53
56#define orxSPAWNER_KU32_FLAG_NONE 0x00000000
57
58#define orxSPAWNER_KU32_FLAG_AUTO_DELETE 0x00000001
59#define orxSPAWNER_KU32_FLAG_AUTO_RESET_COUNT 0x00000002
60#define orxSPAWNER_KU32_FLAG_AUTO_RESET_DELAY 0x00000004
61#define orxSPAWNER_KU32_MASK_AUTO_RESET 0x00000006
62
63#define orxSPAWNER_KU32_FLAG_CLEAN_ON_DELETE 0x00000008
64
65#define orxSPAWNER_KU32_FLAG_USE_ALPHA 0x00000010
66#define orxSPAWNER_KU32_FLAG_USE_COLOR 0x00000020
67#define orxSPAWNER_KU32_FLAG_USE_ROTATION 0x00000040
68#define orxSPAWNER_KU32_FLAG_USE_SCALE 0x00000080
69
70#define orxSPAWNER_KU32_FLAG_USE_RELATIVE_SPEED_OBJECT 0x00000100
71#define orxSPAWNER_KU32_FLAG_USE_RELATIVE_SPEED_SPAWNER 0x00000200
72#define orxSPAWNER_KU32_MASK_USE_RELATIVE_SPEED 0x00000300
73
74#define orxSPAWNER_KU32_FLAG_USE_SELF_AS_PARENT 0x00000400
75#define orxSPAWNER_KU32_FLAG_INTERPOLATE 0x00000800
76
77#define orxSPAWNER_KU32_MASK_USER_ALL 0x00000FFF
78
79
97
98
100typedef struct __orxSPAWNER_t orxSPAWNER;
101
102
105extern orxDLLAPI void orxFASTCALL orxSpawner_Setup();
106
111
114extern orxDLLAPI void orxFASTCALL orxSpawner_Exit();
115
120
125extern orxDLLAPI orxSPAWNER *orxFASTCALL orxSpawner_CreateFromConfig(const orxSTRING _zConfigID);
126
131extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_Delete(orxSPAWNER *_pstSpawner);
132
137extern orxDLLAPI void orxFASTCALL orxSpawner_Enable(orxSPAWNER *_pstSpawner, orxBOOL _bEnable);
138
143extern orxDLLAPI orxBOOL orxFASTCALL orxSpawner_IsEnabled(const orxSPAWNER *_pstSpawner);
144
145
151extern orxDLLAPI void orxFASTCALL orxSpawner_Reset(orxSPAWNER *_pstSpawner, orxBOOL _bResetCount, orxBOOL _bResetTimer);
152
158extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetTotalObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32TotalObjectLimit);
159
165extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetActiveObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32ActiveObjectLimit);
166
171extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectLimit(const orxSPAWNER *_pstSpawner);
172
177extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectLimit(const orxSPAWNER *_pstSpawner);
178
183extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectCount(const orxSPAWNER *_pstSpawner);
184
189extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectCount(const orxSPAWNER *_pstSpawner);
190
191
197extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveSize(orxSPAWNER *_pstSpawner, orxU32 _u32WaveSize);
198
204extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveDelay(orxSPAWNER *_pstSpawner, orxFLOAT _fWaveDelay);
205
211extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetNextWaveDelay(orxSPAWNER *_pstSpawner, orxFLOAT _fWaveDelay);
212
217extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetWaveSize(const orxSPAWNER *_pstSpawner);
218
223extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWaveDelay(const orxSPAWNER *_pstSpawner);
224
229extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetNextWaveDelay(const orxSPAWNER *_pstSpawner);
230
231
237extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetObjectSpeed(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvObjectSpeed);
238
244extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetObjectSpeed(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvObjectSpeed);
245
246
252extern orxDLLAPI orxU32 orxFASTCALL orxSpawner_Spawn(orxSPAWNER *_pstSpawner, orxU32 _u32Number);
253
254
259extern orxDLLAPI orxFRAME *orxFASTCALL orxSpawner_GetFrame(const orxSPAWNER *_pstSpawner);
260
261
267extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetPosition(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvPosition);
268
274extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetRotation(orxSPAWNER *_pstSpawner, orxFLOAT _fRotation);
275
281extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetScale(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvScale);
282
288extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition);
289
295extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition);
296
301extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetRotation(const orxSPAWNER *_pstSpawner);
302
307extern orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWorldRotation(const orxSPAWNER *_pstSpawner);
308
314extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale);
315
321extern orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale);
322
323
329extern orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetParent(orxSPAWNER *_pstSpawner, void *_pParent);
330
335extern orxDLLAPI orxSTRUCTURE *orxFASTCALL orxSpawner_GetParent(const orxSPAWNER *_pstSpawner);
336
337
342extern orxDLLAPI const orxSTRING orxFASTCALL orxSpawner_GetName(const orxSPAWNER *_pstSpawner);
343
344#endif /* _orxSPAWNER_H_ */
345
#define orxDLLAPI
Definition orxDecl.h:381
orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectCount(const orxSPAWNER *_pstSpawner)
orxDLLAPI void orxFASTCALL orxSpawner_Exit()
orxDLLAPI void orxFASTCALL orxSpawner_Reset(orxSPAWNER *_pstSpawner, orxBOOL _bResetCount, orxBOOL _bResetTimer)
orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetNextWaveDelay(orxSPAWNER *_pstSpawner, orxFLOAT _fWaveDelay)
orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetNextWaveDelay(const orxSPAWNER *_pstSpawner)
orxDLLAPI void orxFASTCALL orxSpawner_Enable(orxSPAWNER *_pstSpawner, orxBOOL _bEnable)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetActiveObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32ActiveObjectLimit)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetScale(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvScale)
orxDLLAPI orxSPAWNER *orxFASTCALL orxSpawner_Create()
orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectLimit(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWaveDelay(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetObjectSpeed(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvObjectSpeed)
orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition)
orxDLLAPI orxBOOL orxFASTCALL orxSpawner_IsEnabled(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetActiveObjectLimit(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxSpawner_GetParent(const orxSPAWNER *_pstSpawner)
orxSPAWNER_EVENT
Definition orxSpawner.h:83
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveDelay(orxSPAWNER *_pstSpawner, orxFLOAT _fWaveDelay)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_Delete(orxSPAWNER *_pstSpawner)
orxDLLAPI void orxFASTCALL orxSpawner_Setup()
orxDLLAPI const orxSTRING orxFASTCALL orxSpawner_GetName(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetRotation(orxSPAWNER *_pstSpawner, orxFLOAT _fRotation)
orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldPosition(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvPosition)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetWaveSize(orxSPAWNER *_pstSpawner, orxU32 _u32WaveSize)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetTotalObjectLimit(orxSPAWNER *_pstSpawner, orxU32 _u32TotalObjectLimit)
orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetWaveSize(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetParent(orxSPAWNER *_pstSpawner, void *_pParent)
orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetObjectSpeed(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvObjectSpeed)
orxDLLAPI orxU32 orxFASTCALL orxSpawner_Spawn(orxSPAWNER *_pstSpawner, orxU32 _u32Number)
orxDLLAPI orxFRAME *orxFASTCALL orxSpawner_GetFrame(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_SetPosition(orxSPAWNER *_pstSpawner, const orxVECTOR *_pvPosition)
orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetRotation(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxVECTOR *orxFASTCALL orxSpawner_GetWorldScale(const orxSPAWNER *_pstSpawner, orxVECTOR *_pvScale)
orxDLLAPI orxFLOAT orxFASTCALL orxSpawner_GetWorldRotation(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxU32 orxFASTCALL orxSpawner_GetTotalObjectCount(const orxSPAWNER *_pstSpawner)
orxDLLAPI orxSPAWNER *orxFASTCALL orxSpawner_CreateFromConfig(const orxSTRING _zConfigID)
orxDLLAPI orxSTATUS orxFASTCALL orxSpawner_Init()
@ orxSPAWNER_EVENT_DELETE
Definition orxSpawner.h:86
@ orxSPAWNER_EVENT_SPAWN
Definition orxSpawner.h:84
@ orxSPAWNER_EVENT_CREATE
Definition orxSpawner.h:85
@ orxSPAWNER_EVENT_WAVE_START
Definition orxSpawner.h:89
@ orxSPAWNER_EVENT_WAVE_STOP
Definition orxSpawner.h:90
@ orxSPAWNER_EVENT_EMPTY
Definition orxSpawner.h:88
@ orxSPAWNER_EVENT_NONE
Definition orxSpawner.h:94
@ orxSPAWNER_EVENT_NUMBER
Definition orxSpawner.h:92
@ orxSPAWNER_EVENT_RESET
Definition orxSpawner.h:87
#define orxSTRUCTURE(STRUCTURE)
#define orxFRAME(STRUCTURE)
#define orxSPAWNER(STRUCTURE)
orxSTATUS
Definition orxType.h:270

Generated for orx by doxygen 1.8.11