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

Data Structures

struct  orxSTRUCTURE

Macros

#define orxANIM(STRUCTURE)
#define orxANIMPOINTER(STRUCTURE)
#define orxANIMSET(STRUCTURE)
#define orxBODY(STRUCTURE)
#define orxCAMERA(STRUCTURE)
#define orxCLOCK(STRUCTURE)
#define orxFONT(STRUCTURE)
#define orxFRAME(STRUCTURE)
#define orxFX(STRUCTURE)
#define orxFXPOINTER(STRUCTURE)
#define orxGRAPHIC(STRUCTURE)
#define orxOBJECT(STRUCTURE)
#define orxSHADER(STRUCTURE)
#define orxSOUND(STRUCTURE)
#define orxSOUNDPOINTER(STRUCTURE)
#define orxSPAWNER(STRUCTURE)
#define orxSTRUCTURE(STRUCTURE)
#define orxSTRUCTURE_ASSERT(STRUCTURE)
#define orxSTRUCTURE_GET_POINTER(STRUCTURE, 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)
#define orxTEXT(STRUCTURE)
#define orxTEXTURE(STRUCTURE)
#define orxTIMELINE(STRUCTURE)
#define orxTRIGGER(STRUCTURE)
#define orxVIEWPORT(STRUCTURE)

Typedefs

typedef orxSTATUS(orxFASTCALL * orxSTRUCTURE_UPDATE_FUNCTION) (orxSTRUCTURE *_pstStructure, const orxSTRUCTURE *_pstCaller, const orxCLOCK_INFO *_pstClockInfo)

Enumerations

enum  orxSTRUCTURE_ID {
  orxSTRUCTURE_ID_ANIMPOINTER = 0 , orxSTRUCTURE_ID_BODY , orxSTRUCTURE_ID_CLOCK , orxSTRUCTURE_ID_FRAME ,
  orxSTRUCTURE_ID_FXPOINTER , orxSTRUCTURE_ID_GRAPHIC , orxSTRUCTURE_ID_SHADER , orxSTRUCTURE_ID_SOUNDPOINTER ,
  orxSTRUCTURE_ID_SPAWNER , orxSTRUCTURE_ID_TIMELINE , orxSTRUCTURE_ID_TRIGGER , orxSTRUCTURE_ID_LINKABLE_NUMBER ,
  orxSTRUCTURE_ID_ANIM = orxSTRUCTURE_ID_LINKABLE_NUMBER , orxSTRUCTURE_ID_ANIMSET , orxSTRUCTURE_ID_CAMERA , orxSTRUCTURE_ID_FONT ,
  orxSTRUCTURE_ID_FX , orxSTRUCTURE_ID_OBJECT , orxSTRUCTURE_ID_SOUND , orxSTRUCTURE_ID_TEXT ,
  orxSTRUCTURE_ID_TEXTURE , orxSTRUCTURE_ID_VIEWPORT , orxSTRUCTURE_ID_NUMBER , orxSTRUCTURE_ID_NONE = orxENUM_NONE
}
enum  orxSTRUCTURE_STORAGE_TYPE { orxSTRUCTURE_STORAGE_TYPE_LINKLIST = 0 , orxSTRUCTURE_STORAGE_TYPE_TREE , orxSTRUCTURE_STORAGE_TYPE_NUMBER , orxSTRUCTURE_STORAGE_TYPE_NONE = orxENUM_NONE }

Functions

static orxINLINE orxSTRUCTURE_orxStructure_GetPointer (const void *_pStructure, orxSTRUCTURE_ID _eStructureID)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_Create (orxSTRUCTURE_ID _eStructureID)
static orxINLINE void orxStructure_DecreaseCount (void *_pStructure)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Delete (void *_pStructure)
orxDLLAPI void orxFASTCALL orxStructure_Exit ()
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_Get (orxU64 _u64GUID)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetChild (const void *_pStructure)
orxDLLAPI orxU32 orxFASTCALL orxStructure_GetCount (orxSTRUCTURE_ID _eStructureID)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetFirst (orxSTRUCTURE_ID _eStructureID)
static orxINLINE orxU32 orxStructure_GetFlags (const void *_pStructure, orxU32 _u32Mask)
static orxINLINE orxU64 orxStructure_GetGUID (const void *_pStructure)
static orxINLINE orxSTRUCTURE_ID orxStructure_GetID (const void *_pStructure)
static orxINLINE const orxSTRING orxStructure_GetIDString (orxSTRUCTURE_ID _eID)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetLast (orxSTRUCTURE_ID _eStructureID)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetNext (const void *_pStructure)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetOwner (const void *_pStructure)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetParent (const void *_pStructure)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetPrevious (const void *_pStructure)
static orxINLINE orxU32 orxStructure_GetRefCount (const void *_pStructure)
orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetSibling (const void *_pStructure)
orxDLLAPI orxSTRUCTURE_STORAGE_TYPE orxFASTCALL orxStructure_GetStorageType (orxSTRUCTURE_ID _eStructureID)
static orxINLINE void orxStructure_IncreaseCount (void *_pStructure)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Init ()
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_LogAll (orxBOOL _bPrivate)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Register (orxSTRUCTURE_ID _eStructureID, orxSTRUCTURE_STORAGE_TYPE _eStorageType, orxMEMORY_TYPE _eMemoryType, orxU32 _u32Size, orxU32 _u32BankSize, const orxSTRUCTURE_UPDATE_FUNCTION _pfnUpdate)
static orxINLINE void orxStructure_SetFlags (void *_pStructure, orxU32 _u32AddFlags, orxU32 _u32RemoveFlags)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetOwner (void *_pStructure, void *_pOwner)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetParent (void *_pStructure, void *_phParent)
orxDLLAPI void orxFASTCALL orxStructure_Setup ()
static orxINLINE orxBOOL orxStructure_TestAllFlags (const void *_pStructure, orxU32 _u32Flags)
static orxINLINE orxBOOL orxStructure_TestFlags (const void *_pStructure, orxU32 _u32Flags)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Unregister (orxSTRUCTURE_ID _eStructureID)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Update (void *_pStructure, const void *_phCaller, const orxCLOCK_INFO *_pstClockInfo)

Detailed Description

Structure module Allows to create and handle structures. Structures can be referenced by other structures.

Macro Definition Documentation

◆ orxANIM

#define orxANIM ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIM)
#define orxSTRUCTURE_GET_POINTER(STRUCTURE, TYPE)

Definition at line 61 of file orxStructure.h.

◆ orxANIMPOINTER

#define orxANIMPOINTER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMPOINTER)

Definition at line 62 of file orxStructure.h.

◆ orxANIMSET

#define orxANIMSET ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, ANIMSET)

Definition at line 63 of file orxStructure.h.

◆ orxBODY

#define orxBODY ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, BODY)

Definition at line 64 of file orxStructure.h.

◆ orxCAMERA

#define orxCAMERA ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, CAMERA)

Definition at line 65 of file orxStructure.h.

◆ orxCLOCK

#define orxCLOCK ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, CLOCK)

Definition at line 66 of file orxStructure.h.

◆ orxFONT

#define orxFONT ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, FONT)

Definition at line 67 of file orxStructure.h.

◆ orxFRAME

#define orxFRAME ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, FRAME)

Definition at line 68 of file orxStructure.h.

◆ orxFX

#define orxFX ( STRUCTURE)
Value:

Definition at line 69 of file orxStructure.h.

◆ orxFXPOINTER

#define orxFXPOINTER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, FXPOINTER)

Definition at line 70 of file orxStructure.h.

◆ orxGRAPHIC

#define orxGRAPHIC ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, GRAPHIC)

Definition at line 71 of file orxStructure.h.

◆ orxOBJECT

#define orxOBJECT ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, OBJECT)

Definition at line 72 of file orxStructure.h.

◆ orxSHADER

#define orxSHADER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, SHADER)

Definition at line 75 of file orxStructure.h.

◆ orxSOUND

#define orxSOUND ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUND)

Definition at line 73 of file orxStructure.h.

◆ orxSOUNDPOINTER

#define orxSOUNDPOINTER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, SOUNDPOINTER)

Definition at line 74 of file orxStructure.h.

◆ orxSPAWNER

#define orxSPAWNER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, SPAWNER)

Definition at line 76 of file orxStructure.h.

◆ orxSTRUCTURE

#define orxSTRUCTURE ( STRUCTURE)
Value:
((((STRUCTURE) != orxNULL) && (((((orxSTRUCTURE *)STRUCTURE)->u64GUID & orxSTRUCTURE_GUID_MASK_STRUCTURE_ID) >> orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID) < orxSTRUCTURE_ID_NUMBER)) ? (orxSTRUCTURE *)(STRUCTURE) : (orxSTRUCTURE *)orxNULL)
#define orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID
#define orxSTRUCTURE(STRUCTURE)
#define orxSTRUCTURE_GUID_MASK_STRUCTURE_ID
@ orxSTRUCTURE_ID_NUMBER

Definition at line 59 of file orxStructure.h.

◆ orxSTRUCTURE_ASSERT

#define orxSTRUCTURE_ASSERT ( STRUCTURE)
Value:
#define orxASSERT(TEST,...)
Definition orxDebug.h:378

Structure assert

Definition at line 90 of file orxStructure.h.

◆ orxSTRUCTURE_GET_POINTER

#define orxSTRUCTURE_GET_POINTER ( STRUCTURE,
TYPE )
Value:
((orx##TYPE *)_orxStructure_GetPointer(STRUCTURE, orxSTRUCTURE_ID_##TYPE))
static orxINLINE orxSTRUCTURE * _orxStructure_GetPointer(const void *_pStructure, orxSTRUCTURE_ID _eStructureID)

Structure pointer get helpers

Definition at line 57 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_MAGIC_TAG_DELETED

#define orxSTRUCTURE_GUID_MAGIC_TAG_DELETED   0xDEFACED0DEADC0DEULL

Structure magic number

Definition at line 95 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_MASK_INSTANCE_ID

#define orxSTRUCTURE_GUID_MASK_INSTANCE_ID   0xFFFFFFFF00000000ULL

Definition at line 105 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_MASK_ITEM_ID

#define orxSTRUCTURE_GUID_MASK_ITEM_ID   0x00000000FFFFFF00ULL

Definition at line 102 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_MASK_STRUCTURE_ID

#define orxSTRUCTURE_GUID_MASK_STRUCTURE_ID   0x00000000000000FFULL

Structure GUID masks/shifts

Definition at line 99 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_SHIFT_INSTANCE_ID

#define orxSTRUCTURE_GUID_SHIFT_INSTANCE_ID   32

Definition at line 106 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_SHIFT_ITEM_ID

#define orxSTRUCTURE_GUID_SHIFT_ITEM_ID   8

Definition at line 103 of file orxStructure.h.

◆ orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID

#define orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID   0

Definition at line 100 of file orxStructure.h.

◆ orxSTRUCTURE_REGISTER

#define orxSTRUCTURE_REGISTER ( TYPE,
STORAGE_TYPE,
MEMORY_TYPE,
BANK_SIZE,
UPDATE_FUNCTION )
Value:
orxStructure_Register(orxSTRUCTURE_ID_##TYPE, STORAGE_TYPE, MEMORY_TYPE, sizeof(orx##TYPE), BANK_SIZE, UPDATE_FUNCTION)
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Register(orxSTRUCTURE_ID _eStructureID, orxSTRUCTURE_STORAGE_TYPE _eStorageType, orxMEMORY_TYPE _eMemoryType, orxU32 _u32Size, orxU32 _u32BankSize, const orxSTRUCTURE_UPDATE_FUNCTION _pfnUpdate)

Structure register macro

Definition at line 85 of file orxStructure.h.

◆ orxTEXT

#define orxTEXT ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXT)

Definition at line 77 of file orxStructure.h.

◆ orxTEXTURE

#define orxTEXTURE ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, TEXTURE)

Definition at line 78 of file orxStructure.h.

◆ orxTIMELINE

#define orxTIMELINE ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, TIMELINE)

Definition at line 79 of file orxStructure.h.

◆ orxTRIGGER

#define orxTRIGGER ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, TRIGGER)

Definition at line 80 of file orxStructure.h.

◆ orxVIEWPORT

#define orxVIEWPORT ( STRUCTURE)
Value:
orxSTRUCTURE_GET_POINTER(STRUCTURE, VIEWPORT)

Definition at line 81 of file orxStructure.h.

Typedef Documentation

◆ orxSTRUCTURE_UPDATE_FUNCTION

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.

Enumeration Type Documentation

◆ orxSTRUCTURE_ID

Structure IDs

Enumerator
orxSTRUCTURE_ID_ANIMPOINTER 
orxSTRUCTURE_ID_BODY 
orxSTRUCTURE_ID_CLOCK 
orxSTRUCTURE_ID_FRAME 
orxSTRUCTURE_ID_FXPOINTER 
orxSTRUCTURE_ID_GRAPHIC 
orxSTRUCTURE_ID_SHADER 
orxSTRUCTURE_ID_SOUNDPOINTER 
orxSTRUCTURE_ID_SPAWNER 
orxSTRUCTURE_ID_TIMELINE 
orxSTRUCTURE_ID_TRIGGER 
orxSTRUCTURE_ID_LINKABLE_NUMBER 
orxSTRUCTURE_ID_ANIM 
orxSTRUCTURE_ID_ANIMSET 
orxSTRUCTURE_ID_CAMERA 
orxSTRUCTURE_ID_FONT 
orxSTRUCTURE_ID_FX 
orxSTRUCTURE_ID_OBJECT 
orxSTRUCTURE_ID_SOUND 
orxSTRUCTURE_ID_TEXT 
orxSTRUCTURE_ID_TEXTURE 
orxSTRUCTURE_ID_VIEWPORT 
orxSTRUCTURE_ID_NUMBER 
orxSTRUCTURE_ID_NONE 

Definition at line 111 of file orxStructure.h.

◆ orxSTRUCTURE_STORAGE_TYPE

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.

Function Documentation

◆ _orxStructure_GetPointer()

orxINLINE orxSTRUCTURE * _orxStructure_GetPointer ( const void * _pStructure,
orxSTRUCTURE_ID _eStructureID )
static

Gets structure pointer / debug mode

Parameters
[in]_pStructureConcerned structure
[in]_eStructureIDID to test the structure against
Returns
Valid orxSTRUCTURE, orxNULL otherwise

Definition at line 189 of file orxStructure.h.

◆ orxStructure_Create()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_Create ( orxSTRUCTURE_ID _eStructureID)
extern

Creates a clean structure for given type

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE / orxNULL

◆ orxStructure_DecreaseCount()

orxINLINE void orxStructure_DecreaseCount ( void * _pStructure)
static

Decreases structure reference count

Parameters
[in]_pStructureConcerned structure

Definition at line 412 of file orxStructure.h.

◆ orxStructure_Delete()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Delete ( void * _pStructure)
extern

Deletes a structure (needs to be cleaned beforehand)

Parameters
[in]_pStructureConcerned structure
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_Exit()

orxDLLAPI void orxFASTCALL orxStructure_Exit ( )
extern

Exits from the structure module

◆ orxStructure_Get()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_Get ( orxU64 _u64GUID)
extern

*** Structure storage accessors *** Gets structure given its GUID

Parameters
[in]_u64GUIDStructure's GUID
Returns
orxSTRUCTURE / orxNULL if not found/alive

◆ orxStructure_GetChild()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetChild ( const void * _pStructure)
extern

Gets structure tree child

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE

◆ orxStructure_GetCount()

orxDLLAPI orxU32 orxFASTCALL orxStructure_GetCount ( orxSTRUCTURE_ID _eStructureID)
extern

Gets given type structure count

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxU32 / orxU32_UNDEFINED

◆ orxStructure_GetFirst()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetFirst ( orxSTRUCTURE_ID _eStructureID)
extern

Gets first stored structure (first list cell or tree root depending on storage type)

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE

◆ orxStructure_GetFlags()

orxINLINE orxU32 orxStructure_GetFlags ( const void * _pStructure,
orxU32 _u32Mask )
static

Gets structure flags

Parameters
[in]_pStructureConcerned structure
[in]_u32MaskMask to use for getting flags
Returns
orxU32

Definition at line 497 of file orxStructure.h.

◆ orxStructure_GetGUID()

orxINLINE orxU64 orxStructure_GetGUID ( const void * _pStructure)
static

Gets structure GUID

Parameters
[in]_pStructureConcerned structure
Returns
orxU64

Definition at line 442 of file orxStructure.h.

◆ orxStructure_GetID()

orxINLINE orxSTRUCTURE_ID orxStructure_GetID ( const void * _pStructure)
static

Gets structure ID

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE_ID

Definition at line 455 of file orxStructure.h.

◆ orxStructure_GetIDString()

orxINLINE const orxSTRING orxStructure_GetIDString ( orxSTRUCTURE_ID _eID)
static

Gets structure ID string

Parameters
[in]_eIDConcerned ID
Returns
Corresponding literal string

Definition at line 204 of file orxStructure.h.

◆ orxStructure_GetLast()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetLast ( orxSTRUCTURE_ID _eStructureID)
extern

Gets last stored structure (last list cell or tree root depending on storage type)

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE

◆ orxStructure_GetNext()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetNext ( const void * _pStructure)
extern

Gets structure list next

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE

◆ orxStructure_GetOwner()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetOwner ( const void * _pStructure)
extern

Gets structure's owner

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE / orxNULL if not found/alive

◆ orxStructure_GetParent()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetParent ( const void * _pStructure)
extern

Gets structure tree parent

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE

◆ orxStructure_GetPrevious()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetPrevious ( const void * _pStructure)
extern

Gets structure list previous

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE

◆ orxStructure_GetRefCount()

orxINLINE orxU32 orxStructure_GetRefCount ( const void * _pStructure)
static

Gets structure reference count

Parameters
[in]_pStructureConcerned structure
Returns
orxU32

Definition at line 429 of file orxStructure.h.

◆ orxStructure_GetSibling()

orxDLLAPI orxSTRUCTURE *orxFASTCALL orxStructure_GetSibling ( const void * _pStructure)
extern

Gets structure tree sibling

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE

◆ orxStructure_GetStorageType()

orxDLLAPI orxSTRUCTURE_STORAGE_TYPE orxFASTCALL orxStructure_GetStorageType ( orxSTRUCTURE_ID _eStructureID)
extern

Gets structure storage type

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE_STORAGE_TYPE

◆ orxStructure_IncreaseCount()

orxINLINE void orxStructure_IncreaseCount ( void * _pStructure)
static

*** Inlined structure accessors *** Increases structure reference count

Parameters
[in]_pStructureConcerned structure

Definition at line 396 of file orxStructure.h.

◆ orxStructure_Init()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Init ( )
extern

Initializess the structure module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_LogAll()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_LogAll ( orxBOOL _bPrivate)
extern

Logs all user-generated (& optionally private) active structures

Parameters
[in]_bPrivateInclude all private structures in the log
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_Register()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Register ( orxSTRUCTURE_ID _eStructureID,
orxSTRUCTURE_STORAGE_TYPE _eStorageType,
orxMEMORY_TYPE _eMemoryType,
orxU32 _u32Size,
orxU32 _u32BankSize,
const orxSTRUCTURE_UPDATE_FUNCTION _pfnUpdate )
extern

Registers a given ID

Parameters
[in]_eStructureIDConcerned structure ID
[in]_eStorageTypeStorage type to use for this structure type
[in]_eMemoryTypeMemory type to store this structure type
[in]_u32SizeStructure size
[in]_u32BankSizeBank (segment) size
[in]_pfnUpdateStructure update function
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_SetFlags()

orxINLINE void orxStructure_SetFlags ( void * _pStructure,
orxU32 _u32AddFlags,
orxU32 _u32RemoveFlags )
static

Sets structure flags

Parameters
[in]_pStructureConcerned structure
[in]_u32AddFlagsFlags to add
[in]_u32RemoveFlagsFlags to remove

Definition at line 511 of file orxStructure.h.

◆ orxStructure_SetOwner()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetOwner ( void * _pStructure,
void * _pOwner )
extern

Sets structure owner

Parameters
[in]_pStructureConcerned structure
[in]_pOwnerStructure to set as owner
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_SetParent()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetParent ( void * _pStructure,
void * _phParent )
extern

Sets structure tree parent

Parameters
[in]_pStructureConcerned structure
[in]_phParentStructure to set as parent
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_Setup()

orxDLLAPI void orxFASTCALL orxStructure_Setup ( )
extern

Structure module setup

◆ orxStructure_TestAllFlags()

orxINLINE orxBOOL orxStructure_TestAllFlags ( const void * _pStructure,
orxU32 _u32Flags )
static

Tests all flags against structure ones

Parameters
[in]_pStructureConcerned structure
[in]_u32FlagsFlags to test
Returns
orxTRUE / orxFALSE

Definition at line 483 of file orxStructure.h.

◆ orxStructure_TestFlags()

orxINLINE orxBOOL orxStructure_TestFlags ( const void * _pStructure,
orxU32 _u32Flags )
static

Tests flags against structure ones

Parameters
[in]_pStructureConcerned structure
[in]_u32FlagsFlags to test
Returns
orxTRUE / orxFALSE

Definition at line 469 of file orxStructure.h.

◆ orxStructure_Unregister()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Unregister ( orxSTRUCTURE_ID _eStructureID)
extern

Unregisters a given ID

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxStructure_Update()

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Update ( void * _pStructure,
const void * _phCaller,
const orxCLOCK_INFO * _pstClockInfo )
extern

Updates structure if update function was registered for the structure type

Parameters
[in]_pStructureConcerned structure
[in]_phCallerCaller structure
[in]_pstClockInfoUpdate associated clock info
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

Generated for orx by doxygen 1.8.11