NNSG3dAnmObjInitFuncArray

構文

#include <nnsys/g3d/anm.h>

typedef void (*NNSG3dAnimInitFunc)(NNSG3dAnmObj*, void*, const NNSG3dResMdl*);

typedef struct
{
    u8                  category0;
    u8                  dummy_;
    u16                 category1;
    NNSG3dAnimInitFunc  func;
}
NNSG3dAnmObjInitFunc;

NNSG3dAnmObjInitFunc NNS_G3dAnmObjInitFuncArray[NNS_G3D_ANMFMT_MAX];

説明

NNS_G3dAnmObjInit関数でNNSG3dAnmObj構造体を初期化する際、アニメーションリソースの種類毎に処理を振り分ける必要があります。NNS_G3dAnmObjInitFuncArrayはそのための配列で、配列の要素(NNSG3dAnmObjInitFunc)はNNSG3dAnimInitFunc型の関数へのポインタになっています。NNSG3dAnimInitFunc型の関数は、実際にアニメーションフォーマットに適するようにNNSG3dAnmObj構造体を初期化します。新しいアニメーションフォーマットをG3Dに追加する場合は、この配列に要素を追加することでNNS_G3dAnmObjInit関数を利用した初期化が可能になります。

なお、NNSG3dAnmObjInitFunc構造体のcategory0, category1は、NNSG3dResAnmHeader構造体のcategory0, category1と比較されます。NNSG3dResAnmHeader構造体はアニメーションリソース内のデータ構造です。

参照

NNS_G3dAnmObjInit

履歴

2004/10/19 初版