mirror of
https://github.com/rvtr/TwlIPL_commit-99.git
synced 2025-10-31 06:21:11 -04:00
313 lines
9.7 KiB
C
Executable File
313 lines
9.7 KiB
C
Executable File
/*---------------------------------------------------------------------------*
|
||
Project: NITRO-System - include - nnsys - g2d
|
||
File: g2d_Animation_inline.h
|
||
|
||
Copyright 2004-2008 Nintendo. All rights reserved.
|
||
|
||
These coded instructions, statements, and computer programs contain
|
||
proprietary information of Nintendo of America Inc. and/or Nintendo
|
||
Company Ltd., and are protected by Federal copyright law. They may
|
||
not be disclosed to third parties or copied or duplicated in any form,
|
||
in whole or in part, without the prior written consent of Nintendo.
|
||
|
||
$Revision: 172 $
|
||
*---------------------------------------------------------------------------*/
|
||
|
||
#ifndef NNS_G2D_ANIMATION_INLINE_H_
|
||
#define NNS_G2D_ANIMATION_INLINE_H_
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
//------------------------------------------------------------------------------
|
||
// inline functions
|
||
//------------------------------------------------------------------------------
|
||
|
||
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dGetAnimCtrlType
|
||
|
||
Description: アニメーションコントローラ の アニメ種類を取得します。
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: コントローラの種類
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE NNSG2dAnimationType NNS_G2dGetAnimCtrlType
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
if( pAnimCtrl->pAnimSequence != NULL )
|
||
{
|
||
return NNS_G2dGetAnimSequenceAnimType( pAnimCtrl->pAnimSequence );
|
||
}else{
|
||
return NNS_G2D_ANIMATIONTYPE_MAX;
|
||
}
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dSetAnimCtrlSpeed
|
||
|
||
Description: アニメーションコントローラ の アニメスピードを設定します
|
||
|
||
Arguments: pAnimCtrl : アニメーションコントローラ 実体
|
||
speed : スピード
|
||
|
||
|
||
Returns: なし
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dSetAnimCtrlSpeed
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl,
|
||
fx32 speed
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
pAnimCtrl->speed = speed;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dGetAnimCtrlSpeed
|
||
|
||
Description: アニメーションコントローラ の アニメスピードを取得します
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: アニメスピード
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE fx32 NNS_G2dGetAnimCtrlSpeed
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
return pAnimCtrl->speed;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dStartAnimCtrl
|
||
|
||
Description: アニメーションコントローラ の アニメ再生をスタートします。
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: なし
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dStartAnimCtrl
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
pAnimCtrl->bActive = TRUE;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dStopAnimCtrl
|
||
|
||
Description: アニメーションコントローラ の アニメ再生を終了します。
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: コントローラの種類
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dStopAnimCtrl
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
pAnimCtrl->bActive = FALSE;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dIsAnimCtrlActive
|
||
|
||
Description: アニメーションコントローラ が アニメ再生中か調査します。
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: アニメ再生中ならTRUE
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE BOOL NNS_G2dIsAnimCtrlActive
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
return pAnimCtrl->bActive;
|
||
}
|
||
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dSetAnimCtrlPlayModeOverridden
|
||
|
||
Description: ファイル情報で設定されたアニメーションシーケンスの再生方式を
|
||
オーバーライドします。
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
playMode : アニメ再生方式
|
||
|
||
|
||
Returns: なし
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dSetAnimCtrlPlayModeOverridden
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl,
|
||
NNSG2dAnimationPlayMode playMode
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
NNS_G2D_MINMAX_ASSERT( playMode, NNS_G2D_ANIMATIONPLAYMODE_FORWARD,
|
||
NNS_G2D_ANIMATIONPLAYMODE_REVERSE_LOOP );
|
||
|
||
pAnimCtrl->overriddenPlayMode = playMode;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dResetAnimCtrlPlayModeOverridden
|
||
|
||
Description: オーバーライドされたアニメ再生方式を元に戻します。
|
||
(ファイル情報で設定された再生方式に戻します)
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: なし
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dResetAnimCtrlPlayModeOverridden
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
pAnimCtrl->overriddenPlayMode = NNS_G2D_ANIMATIONPLAYMODE_INVALID;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dGetAnimCtrlCurrentTime
|
||
|
||
Description: アニメーションコントローラ の 現在のアニメフレーム表示時間を取得します
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
|
||
Returns: 現在のアニメフレーム表示時間
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE fx32 NNS_G2dGetAnimCtrlCurrentTime
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
return pAnimCtrl->currentTime;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dSetAnimCtrlCurrentTime
|
||
|
||
Description: アニメーションコントローラ の 現在のアニメフレーム表示時間を設定します
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
time : 現在のアニメフレーム表示時間
|
||
|
||
|
||
Returns: なし
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE void NNS_G2dSetAnimCtrlCurrentTime
|
||
(
|
||
NNSG2dAnimController* pAnimCtrl,
|
||
fx32 time
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
pAnimCtrl->currentTime = time;
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dGetAnimCtrlCurrentElemIdxVal
|
||
|
||
Description: アニメーションコントローラ の
|
||
現在のアニメ結果からインデックスの値を取得します
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
Returns: 現在のアニメ結果のインデックス値
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE u16 NNS_G2dGetAnimCtrlCurrentElemIdxVal
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
//
|
||
// どの形式のアニメーションであっても、先頭の2バイトは必ず、
|
||
// インデックス値として利用されています。
|
||
//
|
||
{
|
||
const NNSG2dAnimData* pAnmRes
|
||
= (const NNSG2dAnimData*)pAnimCtrl->pCurrent->pContent;
|
||
|
||
return (*pAnmRes);
|
||
}
|
||
}
|
||
|
||
/*---------------------------------------------------------------------------*
|
||
Name: NNS_G2dGetAnimCtrlCurrentAnimSequence
|
||
|
||
Description: アニメーションコントローラ の
|
||
現在のアニメーションシーケンスを取得します
|
||
|
||
Arguments: pAnimCtrl: アニメーションコントローラ 実体
|
||
|
||
|
||
Returns: 現在のアニメーションシーケンス
|
||
|
||
*---------------------------------------------------------------------------*/
|
||
NNS_G2D_INLINE const NNSG2dAnimSequence*
|
||
NNS_G2dGetAnimCtrlCurrentAnimSequence
|
||
(
|
||
const NNSG2dAnimController* pAnimCtrl
|
||
)
|
||
{
|
||
NNS_G2D_NULL_ASSERT( pAnimCtrl );
|
||
return pAnimCtrl->pAnimSequence;
|
||
}
|
||
|
||
|
||
#ifdef __cplusplus
|
||
} /* extern "C" */
|
||
#endif
|
||
|
||
|
||
#endif // NNS_G2D_ANIMATION_INLINE_H_
|
||
|