# NNSG3dAnmObjInitFuncArray

## Syntax

      #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];

## Description

When initializing the `NNSG3dAnmObj` structure with the `NNS_G3dAnmObjInit` function, processes must be allocated to each type of animation resource. `NNS_G3dAnmObjInitFuncArray` is an array used for that allocation. The elements of the array (`NNSG3dAnmObjInitFunc`) will be pointers to `NNSG3dAnimInitFunc`–type functions. The `NNSG3dAnimInitFunc`–type functions initialize the `NNSG3dAnmObj` structure so that it will be suitable as an actual animation format. When adding a new animation format to G3D by adding an element to this array, the initialization used by the `NNS_G3dAnmObjInit` becomes possible.
Bear in mind that `category0` and `category1` of the `NNSG3dAnmObjInitFunc` structure are compared with `category0` and `category1` of the `NNSG3dResAnmHeader` structure. `NNSG3dResAnmHeader` is a data structure inside the animation resource.

## See Also

`NNS_G3dAnmObjInit`

## Revision History

2004/10/19 Initial version.

CONFIDENTIAL