orx  1.14
Portable Game Engine
OrxStructure

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)
 

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_SHADERPOINTER, orxSTRUCTURE_ID_SOUNDPOINTER,
  orxSTRUCTURE_ID_SPAWNER, orxSTRUCTURE_ID_TIMELINE, 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_SHADER, 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

#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 Documentation

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

Structure IDs

Enumerator
orxSTRUCTURE_ID_ANIMPOINTER 
orxSTRUCTURE_ID_BODY 
orxSTRUCTURE_ID_CLOCK 
orxSTRUCTURE_ID_FRAME 
orxSTRUCTURE_ID_FXPOINTER 
orxSTRUCTURE_ID_GRAPHIC 
orxSTRUCTURE_ID_SHADERPOINTER 
orxSTRUCTURE_ID_SOUNDPOINTER 
orxSTRUCTURE_ID_SPAWNER 
orxSTRUCTURE_ID_TIMELINE 
orxSTRUCTURE_ID_LINKABLE_NUMBER 
orxSTRUCTURE_ID_ANIM 
orxSTRUCTURE_ID_ANIMSET 
orxSTRUCTURE_ID_CAMERA 
orxSTRUCTURE_ID_FONT 
orxSTRUCTURE_ID_FX 
orxSTRUCTURE_ID_OBJECT 
orxSTRUCTURE_ID_SHADER 
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.

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

static 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.

orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_Create ( orxSTRUCTURE_ID  _eStructureID)

Creates a clean structure for given type

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE / orxNULL
static orxINLINE void orxStructure_DecreaseCount ( void _pStructure)
static

Decreases structure reference count

Parameters
[in]_pStructureConcerned structure

Definition at line 412 of file orxStructure.h.

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Delete ( void _pStructure)

Deletes a structure (needs to be cleaned beforehand)

Parameters
[in]_pStructureConcerned structure
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxStructure_Exit ( )

Exits from the structure module

orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_Get ( orxU64  _u64GUID)

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

Parameters
[in]_u64GUIDStructure's GUID
Returns
orxSTRUCTURE / orxNULL if not found/alive
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetChild ( const void _pStructure)

Gets structure tree child

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE
orxDLLAPI orxU32 orxFASTCALL orxStructure_GetCount ( orxSTRUCTURE_ID  _eStructureID)

Gets given type structure count

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxU32 / orxU32_UNDEFINED
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetFirst ( orxSTRUCTURE_ID  _eStructureID)

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

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE
static 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.

static 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.

static 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.

static 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.

orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetLast ( orxSTRUCTURE_ID  _eStructureID)

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

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetNext ( const void _pStructure)

Gets structure list next

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetOwner ( const void _pStructure)

Gets structure's owner

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE / orxNULL if not found/alive
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetParent ( const void _pStructure)

Gets structure tree parent

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE
orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetPrevious ( const void _pStructure)

Gets structure list previous

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE
static 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.

orxDLLAPI orxSTRUCTURE* orxFASTCALL orxStructure_GetSibling ( const void _pStructure)

Gets structure tree sibling

Parameters
[in]_pStructureConcerned structure
Returns
orxSTRUCTURE
orxDLLAPI orxSTRUCTURE_STORAGE_TYPE orxFASTCALL orxStructure_GetStorageType ( orxSTRUCTURE_ID  _eStructureID)

Gets structure storage type

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTRUCTURE_STORAGE_TYPE
static 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.

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Init ( )

Initializess the structure module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_LogAll ( orxBOOL  _bPrivate)

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

Parameters
[in]_bPrivateInclude all private structures in the log
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
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

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
static 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.

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetOwner ( void _pStructure,
void _pOwner 
)

Sets structure owner

Parameters
[in]_pStructureConcerned structure
[in]_pOwnerStructure to set as owner
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxSTATUS orxFASTCALL orxStructure_SetParent ( void _pStructure,
void _phParent 
)

Sets structure tree parent

Parameters
[in]_pStructureConcerned structure
[in]_phParentStructure to set as parent
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxStructure_Setup ( )

Structure module setup

static 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.

static 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.

orxDLLAPI orxSTATUS orxFASTCALL orxStructure_Unregister ( orxSTRUCTURE_ID  _eStructureID)

Unregisters a given ID

Parameters
[in]_eStructureIDConcerned structure ID
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
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

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