orx
1.14
Portable Game Engine
|
Data Structures | |
struct | orxSTRUCTURE |
Macros | |
#define | orxANIM(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIM) |
#define | orxANIMPOINTER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMPOINTER) |
#define | orxANIMSET(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMSET) |
#define | orxBODY(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, BODY) |
#define | orxCAMERA(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, CAMERA) |
#define | orxCLOCK(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, CLOCK) |
#define | orxFONT(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, FONT) |
#define | orxFRAME(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, FRAME) |
#define | orxFX(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, FX) |
#define | orxFXPOINTER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, FXPOINTER) |
#define | orxGRAPHIC(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, GRAPHIC) |
#define | orxOBJECT(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, OBJECT) |
#define | orxSHADER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, SHADER) |
#define | orxSHADERPOINTER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, SHADERPOINTER) |
#define | orxSOUND(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUND) |
#define | orxSOUNDPOINTER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUNDPOINTER) |
#define | orxSPAWNER(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, SPAWNER) |
#define | orxSTRUCTURE(STRUCTURE) ((((STRUCTURE) != orxNULL) && (((((orxSTRUCTURE *)STRUCTURE)->u64GUID & orxSTRUCTURE_GUID_MASK_STRUCTURE_ID) >> orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID) < orxSTRUCTURE_ID_NUMBER)) ? (orxSTRUCTURE *)(STRUCTURE) : (orxSTRUCTURE *)orxNULL) |
#define | orxSTRUCTURE_ASSERT(STRUCTURE) orxASSERT((STRUCTURE != orxNULL) && (((((orxSTRUCTURE *)(STRUCTURE))->u64GUID & orxSTRUCTURE_GUID_MASK_STRUCTURE_ID) >> orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID) < orxSTRUCTURE_ID_NUMBER)); |
#define | orxSTRUCTURE_GET_POINTER(STRUCTURE, TYPE) ((orx##TYPE *)_orxStructure_GetPointer(STRUCTURE, orxSTRUCTURE_ID_##TYPE)) |
#define | orxSTRUCTURE_GUID_MAGIC_TAG_DELETED 0xDEFACED0DEADC0DEULL |
#define | orxSTRUCTURE_GUID_MASK_INSTANCE_ID 0xFFFFFFFF00000000ULL |
#define | orxSTRUCTURE_GUID_MASK_ITEM_ID 0x00000000FFFFFF00ULL |
#define | orxSTRUCTURE_GUID_MASK_STRUCTURE_ID 0x00000000000000FFULL |
#define | orxSTRUCTURE_GUID_SHIFT_INSTANCE_ID 32 |
#define | orxSTRUCTURE_GUID_SHIFT_ITEM_ID 8 |
#define | orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID 0 |
#define | orxSTRUCTURE_REGISTER(TYPE, STORAGE_TYPE, MEMORY_TYPE, BANK_SIZE, UPDATE_FUNCTION) orxStructure_Register(orxSTRUCTURE_ID_##TYPE, STORAGE_TYPE, MEMORY_TYPE, sizeof(orx##TYPE), BANK_SIZE, UPDATE_FUNCTION) |
#define | orxTEXT(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXT) |
#define | orxTEXTURE(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXTURE) |
#define | orxTIMELINE(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, TIMELINE) |
#define | orxVIEWPORT(STRUCTURE) orxSTRUCTURE_GET_POINTER(STRUCTURE, VIEWPORT) |
Typedefs | |
typedef orxSTATUS(orxFASTCALL * | orxSTRUCTURE_UPDATE_FUNCTION) (orxSTRUCTURE *_pstStructure, const orxSTRUCTURE *_pstCaller, const orxCLOCK_INFO *_pstClockInfo) |
Structure module Allows to create and handle structures. Structures can be referenced by other structures.
#define orxANIM | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIM) |
Definition at line 61 of file orxStructure.h.
#define orxANIMPOINTER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMPOINTER) |
Definition at line 62 of file orxStructure.h.
#define orxANIMSET | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMSET) |
Definition at line 63 of file orxStructure.h.
#define orxBODY | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, BODY) |
Definition at line 64 of file orxStructure.h.
#define orxCAMERA | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, CAMERA) |
Definition at line 65 of file orxStructure.h.
#define orxCLOCK | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, CLOCK) |
Definition at line 66 of file orxStructure.h.
#define orxFONT | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, FONT) |
Definition at line 67 of file orxStructure.h.
#define orxFRAME | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, FRAME) |
Definition at line 68 of file orxStructure.h.
#define orxFX | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, FX) |
Definition at line 69 of file orxStructure.h.
#define orxFXPOINTER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, FXPOINTER) |
Definition at line 70 of file orxStructure.h.
#define orxGRAPHIC | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, GRAPHIC) |
Definition at line 71 of file orxStructure.h.
#define orxOBJECT | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, OBJECT) |
Definition at line 72 of file orxStructure.h.
#define orxSHADER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, SHADER) |
Definition at line 75 of file orxStructure.h.
#define orxSHADERPOINTER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, SHADERPOINTER) |
Definition at line 76 of file orxStructure.h.
#define orxSOUND | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUND) |
Definition at line 73 of file orxStructure.h.
#define orxSOUNDPOINTER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUNDPOINTER) |
Definition at line 74 of file orxStructure.h.
#define orxSPAWNER | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, SPAWNER) |
Definition at line 77 of file orxStructure.h.
#define orxSTRUCTURE | ( | STRUCTURE | ) | ((((STRUCTURE) != orxNULL) && (((((orxSTRUCTURE *)STRUCTURE)->u64GUID & orxSTRUCTURE_GUID_MASK_STRUCTURE_ID) >> orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID) < orxSTRUCTURE_ID_NUMBER)) ? (orxSTRUCTURE *)(STRUCTURE) : (orxSTRUCTURE *)orxNULL) |
Definition at line 59 of file orxStructure.h.
#define orxSTRUCTURE_ASSERT | ( | STRUCTURE | ) | orxASSERT((STRUCTURE != orxNULL) && (((((orxSTRUCTURE *)(STRUCTURE))->u64GUID & orxSTRUCTURE_GUID_MASK_STRUCTURE_ID) >> orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID) < orxSTRUCTURE_ID_NUMBER)); |
Structure assert
Definition at line 90 of file orxStructure.h.
#define orxSTRUCTURE_GET_POINTER | ( | STRUCTURE, | |
TYPE | |||
) | ((orx##TYPE *)_orxStructure_GetPointer(STRUCTURE, orxSTRUCTURE_ID_##TYPE)) |
Structure pointer get helpers
Definition at line 57 of file orxStructure.h.
#define orxSTRUCTURE_GUID_MAGIC_TAG_DELETED 0xDEFACED0DEADC0DEULL |
Structure magic number
Definition at line 95 of file orxStructure.h.
#define orxSTRUCTURE_GUID_MASK_INSTANCE_ID 0xFFFFFFFF00000000ULL |
Definition at line 105 of file orxStructure.h.
#define orxSTRUCTURE_GUID_MASK_ITEM_ID 0x00000000FFFFFF00ULL |
Definition at line 102 of file orxStructure.h.
#define orxSTRUCTURE_GUID_MASK_STRUCTURE_ID 0x00000000000000FFULL |
Structure GUID masks/shifts
Definition at line 99 of file orxStructure.h.
#define orxSTRUCTURE_GUID_SHIFT_INSTANCE_ID 32 |
Definition at line 106 of file orxStructure.h.
#define orxSTRUCTURE_GUID_SHIFT_ITEM_ID 8 |
Definition at line 103 of file orxStructure.h.
#define orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID 0 |
Definition at line 100 of file orxStructure.h.
#define orxSTRUCTURE_REGISTER | ( | TYPE, | |
STORAGE_TYPE, | |||
MEMORY_TYPE, | |||
BANK_SIZE, | |||
UPDATE_FUNCTION | |||
) | orxStructure_Register(orxSTRUCTURE_ID_##TYPE, STORAGE_TYPE, MEMORY_TYPE, sizeof(orx##TYPE), BANK_SIZE, UPDATE_FUNCTION) |
Structure register macro
Definition at line 85 of file orxStructure.h.
#define orxTEXT | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXT) |
Definition at line 78 of file orxStructure.h.
#define orxTEXTURE | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXTURE) |
Definition at line 79 of file orxStructure.h.
#define orxTIMELINE | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, TIMELINE) |
Definition at line 80 of file orxStructure.h.
#define orxVIEWPORT | ( | STRUCTURE | ) | orxSTRUCTURE_GET_POINTER(STRUCTURE, VIEWPORT) |
Definition at line 81 of file orxStructure.h.
typedef orxSTATUS(orxFASTCALL * orxSTRUCTURE_UPDATE_FUNCTION) (orxSTRUCTURE *_pstStructure, const orxSTRUCTURE *_pstCaller, const orxCLOCK_INFO *_pstClockInfo) |
Structure update callback function type
Definition at line 181 of file orxStructure.h.
enum orxSTRUCTURE_ID |
Structure IDs
Definition at line 111 of file orxStructure.h.
Structure storage types
Enumerator | |
---|---|
orxSTRUCTURE_STORAGE_TYPE_LINKLIST | |
orxSTRUCTURE_STORAGE_TYPE_TREE | |
orxSTRUCTURE_STORAGE_TYPE_NUMBER | |
orxSTRUCTURE_STORAGE_TYPE_NONE |
Definition at line 150 of file orxStructure.h.
|
static |
Gets structure pointer / debug mode
[in] | _pStructure | Concerned structure |
[in] | _eStructureID | ID to test the structure against |
Definition at line 189 of file orxStructure.h.
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_Create | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Creates a clean structure for given type
[in] | _eStructureID | Concerned structure ID |
Decreases structure reference count
[in] | _pStructure | Concerned structure |
Definition at line 412 of file orxStructure.h.
Deletes a structure (needs to be cleaned beforehand)
[in] | _pStructure | Concerned structure |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_Get | ( | orxU64 | _u64GUID | ) |
*** Structure storage accessors *** Gets structure given its GUID
[in] | _u64GUID | Structure's GUID |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetChild | ( | const void * | _pStructure | ) |
orxDLLAPI orxU32 orxFASTCALL orxStructure_GetCount | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Gets given type structure count
[in] | _eStructureID | Concerned structure ID |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetFirst | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Gets first stored structure (first list cell or tree root depending on storage type)
[in] | _eStructureID | Concerned structure ID |
|
static |
Gets structure flags
[in] | _pStructure | Concerned structure |
[in] | _u32Mask | Mask to use for getting flags |
Definition at line 497 of file orxStructure.h.
|
static |
Gets structure GUID
[in] | _pStructure | Concerned structure |
Definition at line 442 of file orxStructure.h.
|
static |
Gets structure ID
[in] | _pStructure | Concerned structure |
Definition at line 455 of file orxStructure.h.
|
static |
Gets structure ID string
[in] | _eID | Concerned ID |
Definition at line 204 of file orxStructure.h.
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetLast | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Gets last stored structure (last list cell or tree root depending on storage type)
[in] | _eStructureID | Concerned structure ID |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetNext | ( | const void * | _pStructure | ) |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetOwner | ( | const void * | _pStructure | ) |
Gets structure's owner
[in] | _pStructure | Concerned structure |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetParent | ( | const void * | _pStructure | ) |
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetPrevious | ( | const void * | _pStructure | ) |
|
static |
Gets structure reference count
[in] | _pStructure | Concerned structure |
Definition at line 429 of file orxStructure.h.
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetSibling | ( | const void * | _pStructure | ) |
orxDLLAPI orxSTRUCTURE_STORAGE_TYPE orxFASTCALL orxStructure_GetStorageType | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Gets structure storage type
[in] | _eStructureID | Concerned structure ID |
*** Inlined structure accessors *** Increases structure reference count
[in] | _pStructure | Concerned structure |
Definition at line 396 of file orxStructure.h.
Initializess the structure module
Logs all user-generated (& optionally private) active structures
[in] | _bPrivate | Include all private structures in the log |
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Register | ( | orxSTRUCTURE_ID | _eStructureID, |
orxSTRUCTURE_STORAGE_TYPE | _eStorageType, | ||
orxMEMORY_TYPE | _eMemoryType, | ||
orxU32 | _u32Size, | ||
orxU32 | _u32BankSize, | ||
const orxSTRUCTURE_UPDATE_FUNCTION | _pfnUpdate | ||
) |
Registers a given ID
[in] | _eStructureID | Concerned structure ID |
[in] | _eStorageType | Storage type to use for this structure type |
[in] | _eMemoryType | Memory type to store this structure type |
[in] | _u32Size | Structure size |
[in] | _u32BankSize | Bank (segment) size |
[in] | _pfnUpdate | Structure update function |
|
static |
Sets structure flags
[in] | _pStructure | Concerned structure |
[in] | _u32AddFlags | Flags to add |
[in] | _u32RemoveFlags | Flags to remove |
Definition at line 511 of file orxStructure.h.
Sets structure owner
[in] | _pStructure | Concerned structure |
[in] | _pOwner | Structure to set as owner |
Sets structure tree parent
[in] | _pStructure | Concerned structure |
[in] | _phParent | Structure to set as parent |
|
static |
Tests all flags against structure ones
[in] | _pStructure | Concerned structure |
[in] | _u32Flags | Flags to test |
Definition at line 483 of file orxStructure.h.
|
static |
Tests flags against structure ones
[in] | _pStructure | Concerned structure |
[in] | _u32Flags | Flags to test |
Definition at line 469 of file orxStructure.h.
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Unregister | ( | orxSTRUCTURE_ID | _eStructureID | ) |
Unregisters a given ID
[in] | _eStructureID | Concerned structure ID |
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Update | ( | void * | _pStructure, |
const void * | _phCaller, | ||
const orxCLOCK_INFO * | _pstClockInfo | ||
) |
Updates structure if update function was registered for the structure type
[in] | _pStructure | Concerned structure |
[in] | _phCaller | Caller structure |
[in] | _pstClockInfo | Update associated clock info |