本文整理汇总了C++中orxSTRUCTURE_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ orxSTRUCTURE_ASSERT函数的具体用法?C++ orxSTRUCTURE_ASSERT怎么用?C++ orxSTRUCTURE_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了orxSTRUCTURE_ASSERT函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: orxFXPointer_AddDelayedFX
/** Adds a delayed FX
* @param[in] _pstFXPointer Concerned FXPointer
* @param[in] _pstFX FX to add
* @param[in] _fDelay Delay time
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxFXPointer_AddDelayedFX(orxFXPOINTER *_pstFXPointer, orxFX *_pstFX, orxFLOAT _fDelay)
{
orxU32 u32Index;
orxSTATUS eResult;
/* Checks */
orxASSERT(sstFXPointer.u32Flags & orxFXPOINTER_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstFXPointer);
orxSTRUCTURE_ASSERT(_pstFX);
orxASSERT(_fDelay >= orxFLOAT_0);
/* Finds an empty slot */
for(u32Index = 0; (u32Index < orxFXPOINTER_KU32_FX_NUMBER) && (_pstFXPointer->astFXList[u32Index].pstFX != orxNULL); u32Index++);
/* Found? */
if(u32Index < orxFXPOINTER_KU32_FX_NUMBER)
{
orxSTRUCTURE *pstOwner;
orxFX_EVENT_PAYLOAD stPayload;
/* Gets owner */
pstOwner = orxStructure_GetOwner(_pstFXPointer);
/* Increases its reference counter */
orxStructure_IncreaseCounter(_pstFX);
/* Adds it to holder */
_pstFXPointer->astFXList[u32Index].pstFX = _pstFX;
/* Inits its start time */
_pstFXPointer->astFXList[u32Index].fStartTime = _pstFXPointer->fTime + _fDelay;
/* Updates its flags */
orxFLAG_SET(_pstFXPointer->astFXList[u32Index].u32Flags, orxFXPOINTER_HOLDER_KU32_FLAG_NONE, orxFXPOINTER_HOLDER_KU32_MASK_ALL);
/* Inits event payload */
orxMemory_Zero(&stPayload, sizeof(orxFX_EVENT_PAYLOAD));
stPayload.pstFX = _pstFX;
stPayload.zFXName = orxFX_GetName(_pstFX);
/* Sends event */
orxEVENT_SEND(orxEVENT_TYPE_FX, orxFX_EVENT_ADD, pstOwner, pstOwner, &stPayload);
/* Updates result */
eResult = orxSTATUS_SUCCESS;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_OBJECT, "No available slots for FX.");
/* Updates result */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例2: orxFXPointer_AddFX
/** Adds an FX
* @param[in] _pstFXPointer Concerned FXPointer
* @param[in] _pstFX FX to add
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxFXPointer_AddFX(orxFXPOINTER *_pstFXPointer, orxFX *_pstFX)
{
orxSTATUS eResult;
/* Checks */
orxASSERT(sstFXPointer.u32Flags & orxFXPOINTER_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstFXPointer);
orxSTRUCTURE_ASSERT(_pstFX);
/* Adds FX */
eResult = orxFXPointer_AddDelayedFX(_pstFXPointer, _pstFX, orxFLOAT_0);
/* Done! */
return eResult;
}
示例3: orxGraphic_GetColor
/** Gets graphic color
* @param[in] _pstGraphic Concerned graphic
* @param[out] _pstColor Object's color
* @return orxCOLOR / orxNULL
*/
orxCOLOR *orxFASTCALL orxGraphic_GetColor(const orxGRAPHIC *_pstGraphic, orxCOLOR *_pstColor)
{
orxCOLOR *pstResult;
/* Checks */
orxASSERT(sstGraphic.u32Flags & orxGRAPHIC_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstGraphic);
orxASSERT(_pstColor != orxNULL);
/* Has color? */
if(orxStructure_TestFlags(_pstGraphic, orxGRAPHIC_KU32_FLAG_HAS_COLOR))
{
/* Copies color */
orxColor_Copy(_pstColor, &(_pstGraphic->stColor));
/* Updates result */
pstResult = _pstColor;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_DISPLAY, "Color not set on graphic.");
/* Clears result */
pstResult = orxNULL;
}
/* Done! */
return pstResult;
}
示例4: orxGraphic_GetSize
/** Gets graphic size
* @param[in] _pstGraphic Concerned graphic
* @param[out] _pvSize Object's size
* @return orxVECTOR / orxNULL
*/
orxVECTOR *orxFASTCALL orxGraphic_GetSize(const orxGRAPHIC *_pstGraphic, orxVECTOR *_pvSize)
{
orxVECTOR *pvResult;
/* Checks */
orxASSERT(sstGraphic.u32Flags & orxGRAPHIC_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstGraphic);
orxASSERT(_pvSize != orxNULL);
/* Valid 2D or text data? */
if(orxStructure_TestFlags(_pstGraphic, orxGRAPHIC_KU32_FLAG_2D | orxGRAPHIC_KU32_FLAG_TEXT) != orxFALSE)
{
/* Gets its size */
orxVector_Set(_pvSize, _pstGraphic->fWidth, _pstGraphic->fHeight, orxFLOAT_0);
/* Updates result */
pvResult = _pvSize;
}
else
{
/* No size */
orxVector_SetAll(_pvSize, orx2F(-1.0f));
/* Updates result */
pvResult = orxNULL;
}
/* Done! */
return pvResult;
}
示例5: orxGraphic_GetPivot
/** Gets graphic pivot
* @param[in] _pstGraphic Concerned graphic
* @param[out] _pvPivot Graphic pivot
* @return orxPIVOT / orxNULL
*/
orxVECTOR *orxFASTCALL orxGraphic_GetPivot(const orxGRAPHIC *_pstGraphic, orxVECTOR *_pvPivot)
{
orxVECTOR *pvResult;
/* Checks */
orxASSERT(sstGraphic.u32Flags & orxGRAPHIC_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstGraphic);
orxASSERT(_pvPivot != orxNULL);
/* Has pivot? */
if(orxStructure_TestFlags(_pstGraphic, orxGRAPHIC_KU32_FLAG_HAS_PIVOT) != orxFALSE)
{
/* Copies it */
orxVector_Copy(_pvPivot, &(_pstGraphic->vPivot));
/* Updates result */
pvResult = _pvPivot;
}
else
{
/* Clears it */
orxVector_Copy(_pvPivot, &orxVECTOR_0);
/* Updates result */
pvResult = orxNULL;
}
/* Done! */
return pvResult;
}
示例6: orxClock_Restart
/** Restarts a clock
* @param[in] _pstClock Concerned clock
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxClock_Restart(orxCLOCK *_pstClock)
{
orxSTATUS eResult;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
/* Not locked? */
if(!orxStructure_TestFlags(_pstClock, orxCLOCK_KU32_FLAG_UPDATE_LOCK))
{
/* Sends event */
orxEVENT_SEND(orxEVENT_TYPE_CLOCK, orxCLOCK_EVENT_RESTART, _pstClock, orxNULL, orxNULL);
/* Restarts clock */
_pstClock->stClockInfo.fTime = _pstClock->stClockInfo.fDT = _pstClock->fPartialDT = orxFLOAT_0;
/* Updates result */
eResult = orxSTATUS_SUCCESS;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_CLOCK, "Couldn't restart this clock <%P> as it's currenlty locked/in use.", _pstClock);
/* Updates result */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例7: orxASSERT
/** Finds a clock function storage
* @param[in] _pstClock Concerned clock
* @param[in] _pfnCallback Concerned callback
* @return orxCLOCK_FUNCTION_STORAGE / orxNULL
*/
static orxINLINE orxCLOCK_FUNCTION_STORAGE *orxClock_FindFunctionStorage(const orxCLOCK *_pstClock, const orxCLOCK_FUNCTION _pfnCallback)
{
orxCLOCK_FUNCTION_STORAGE *pstFunctionStorage;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
orxASSERT(_pfnCallback != orxNULL);
/* Finds matching function storage */
for(pstFunctionStorage = (orxCLOCK_FUNCTION_STORAGE *)orxLinkList_GetFirst(&(_pstClock->stFunctionList));
pstFunctionStorage != orxNULL;
pstFunctionStorage = (orxCLOCK_FUNCTION_STORAGE *)orxLinkList_GetNext(&(pstFunctionStorage->stNode)))
{
/* Match? */
if(pstFunctionStorage->pfnCallback == _pfnCallback)
{
/* Found */
break;
}
}
/* Done! */
return pstFunctionStorage;
}
示例8: orxClock_RemoveTimer
/** Removes a timer function from a clock
* @param[in] _pstClock Concerned clock
* @param[in] _pfnCallback Concerned timer callback to remove
* @param[in] _fDelay Delay between 2 calls of the timer to remove, -1.0f for removing all occurrences regardless of their respective delay
* @param[in] _pContext Context of the timer to remove, orxNULL for removing all occurrences regardless of their context
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxClock_RemoveTimer(orxCLOCK *_pstClock, const orxCLOCK_FUNCTION _pfnCallback, orxFLOAT _fDelay, void *_pContext)
{
orxCLOCK_TIMER_STORAGE *pstTimerStorage;
orxSTATUS eResult = orxSTATUS_SUCCESS;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
orxASSERT(_pfnCallback != orxNULL);
/* For all stored timers */
for(pstTimerStorage = (orxCLOCK_TIMER_STORAGE *)orxLinkList_GetFirst(&(_pstClock->stTimerList));
pstTimerStorage != orxNULL;
pstTimerStorage = (orxCLOCK_TIMER_STORAGE *)orxLinkList_GetNext(&(pstTimerStorage->stNode)))
{
/* Matches criteria? */
if((pstTimerStorage->pfnCallback == _pfnCallback)
&& ((_fDelay < orxFLOAT_0)
|| (pstTimerStorage->fDelay == _fDelay))
&& ((_pContext == orxNULL)
|| (pstTimerStorage->pContext == _pContext)))
{
/* Marks it for deletion */
pstTimerStorage->s32Repetition = 0;
}
}
/* Done! */
return eResult;
}
示例9: orxClock_SetContext
/** Sets a callback function context
* @param[in] _pstClock Concerned clock
* @param[in] _pfnCallback Concerned callback
* @param[in] _pContext Context that will be transmitted to the callback when called
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxClock_SetContext(orxCLOCK *_pstClock, const orxCLOCK_FUNCTION _pfnCallback, void *_pContext)
{
orxCLOCK_FUNCTION_STORAGE *pstFunctionStorage;
orxSTATUS eResult = orxSTATUS_SUCCESS;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
orxASSERT(_pfnCallback != orxNULL);
/* Finds clock function storage */
pstFunctionStorage = orxClock_FindFunctionStorage(_pstClock, _pfnCallback);
/* Found? */
if(pstFunctionStorage != orxNULL)
{
/* Sets context */
pstFunctionStorage->pContext = _pContext;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_CLOCK, "Couldn't find clock function storage.");
/* Not found */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例10: orxClock_GetContext
/** Gets a callback function context
* @param[in] _pstClock Concerned clock
* @param[in] _pfnCallback Concerned callback
* @return Registered context
*/
void *orxFASTCALL orxClock_GetContext(const orxCLOCK *_pstClock, const orxCLOCK_FUNCTION _pfnCallback)
{
orxCLOCK_FUNCTION_STORAGE *pstFunctionStorage;
void *pContext = orxNULL;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
orxASSERT(_pfnCallback != orxNULL);
/* Finds clock function storage */
pstFunctionStorage = orxClock_FindFunctionStorage(_pstClock, _pfnCallback);
/* Found? */
if(pstFunctionStorage != orxNULL)
{
/* Gets context */
pContext = pstFunctionStorage->pContext;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_CLOCK, "Couldn't find clock function storage.");
}
/* Done! */
return pContext;
}
示例11: orxClock_Unregister
/** Unregisters a callback function from a clock
* @param[in] _pstClock Concerned clock
* @param[in] _fnCallback Callback to remove
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxClock_Unregister(orxCLOCK *_pstClock, const orxCLOCK_FUNCTION _pfnCallback)
{
orxCLOCK_FUNCTION_STORAGE *pstFunctionStorage;
orxSTATUS eResult = orxSTATUS_SUCCESS;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
orxASSERT(_pfnCallback != orxNULL);
/* Finds clock function storage */
pstFunctionStorage = orxClock_FindFunctionStorage(_pstClock, _pfnCallback);
/* Found? */
if(pstFunctionStorage != orxNULL)
{
/* Removes it from list */
orxLinkList_Remove(&(pstFunctionStorage->stNode));
/* Removes it from bank */
orxBank_Free(_pstClock->pstFunctionBank, pstFunctionStorage);
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_CLOCK, "Couldn't find clock function storage.");
/* Not found */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例12: orxClock_SetTickSize
/** Sets a clock tick size
* @param[in] _pstClock Concerned clock
* @param[in] _fTickSize Tick size
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxClock_SetTickSize(orxCLOCK *_pstClock, orxFLOAT _fTickSize)
{
orxSTATUS eResult;
/* Checks */
orxASSERT(sstClock.u32Flags & orxCLOCK_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstClock);
/* Valid modifier value? */
if(_fTickSize >= orxFLOAT_0)
{
/* Updates clock tick size*/
_pstClock->stClockInfo.fTickSize = _fTickSize;
/* Updates result */
eResult = orxSTATUS_SUCCESS;
}
else
{
/* Logs message */
orxDEBUG_PRINT(orxDEBUG_LEVEL_CLOCK, "<%g> is an invalid tick size.", _fTickSize);
/* Updates result */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例13: orxGraphic_SetPivot
/** Sets graphic pivot
* @param[in] _pstGraphic Concerned graphic
* @param[in] _pvPivot Pivot to set
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxGraphic_SetPivot(orxGRAPHIC *_pstGraphic, const orxVECTOR *_pvPivot)
{
orxSTATUS eResult = orxSTATUS_SUCCESS;
/* Checks */
orxASSERT(sstGraphic.u32Flags & orxGRAPHIC_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstGraphic);
/* Valid pivot? */
if(_pvPivot != orxNULL)
{
/* Stores it */
orxVector_Copy(&(_pstGraphic->vPivot), _pvPivot);
/* Updates status */
orxStructure_SetFlags(_pstGraphic, orxGRAPHIC_KU32_FLAG_HAS_PIVOT, orxGRAPHIC_KU32_FLAG_RELATIVE_PIVOT);
}
else
{
/* Stores it */
orxVector_Copy(&(_pstGraphic->vPivot), &orxVECTOR_0);
/* Updates status */
orxStructure_SetFlags(_pstGraphic, orxGRAPHIC_KU32_FLAG_NONE, orxGRAPHIC_KU32_FLAG_HAS_PIVOT | orxGRAPHIC_KU32_FLAG_RELATIVE_PIVOT);
}
/* Done! */
return eResult;
}
示例14: orxFXPointer_SetTime
/** FXPointer time set accessor
* @param[in] _pstFXPointer Concerned FXPointer
* @param[in] _fTime Time to set
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxFXPointer_SetTime(orxFXPOINTER *_pstFXPointer, orxFLOAT _fTime)
{
orxSTATUS eResult;
/* Checks */
orxASSERT(sstFXPointer.u32Flags & orxFXPOINTER_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstFXPointer);
/* Valid? */
if(_fTime >= orxFLOAT_0)
{
/* Stores timestamp */
_pstFXPointer->fTime = _fTime;
/* Updates result */
eResult = orxSTATUS_SUCCESS;
}
else
{
/* Updates result */
eResult = orxSTATUS_FAILURE;
}
/* Done! */
return eResult;
}
示例15: orxSoundPointer_Stop
/** Stops all related sounds
* @param[in] _pstSoundPointer Concerned SoundPointer
* @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
*/
orxSTATUS orxFASTCALL orxSoundPointer_Stop(orxSOUNDPOINTER *_pstSoundPointer)
{
orxU32 i;
orxSTATUS eResult = orxSTATUS_SUCCESS;
/* Checks */
orxASSERT(sstSoundPointer.u32Flags & orxSOUNDPOINTER_KU32_STATIC_FLAG_READY);
orxSTRUCTURE_ASSERT(_pstSoundPointer);
/* For all sounds */
for(i = 0; i < orxSOUNDPOINTER_KU32_SOUND_NUMBER; i++)
{
orxSOUND *pstSound;
/* Gets sound */
pstSound = _pstSoundPointer->astSoundList[i].pstSound;
/* Valid? */
if(pstSound != orxNULL)
{
/* Updates its flags */
orxFLAG_SET(_pstSoundPointer->astSoundList[i].u32Flags, orxSOUNDPOINTER_HOLDER_KU32_FLAG_NONE, orxSOUNDPOINTER_HOLDER_KU32_FLAG_AUTO_PLAY);
/* Stops it */
orxSound_Stop(pstSound);
/* Delegates update to the sound */
orxStructure_Update(pstSound, orxStructure_GetOwner(_pstSoundPointer), orxNULL);
}
}
/* Done! */
return eResult;
}