#### NIFF 1.0 Specification

## 3. Binary Format

### 3.14 TexList

#### 3) TexDataArea

When TEX_ANIM_OFF is specified

u32 | tex_img_width
u32 | tex_img_height
u32 | tex_tile_width
u32 | tex_tile_height
u32 | tex_offset_x
u32 | tex_offset_y
u32 | tex_img_index

TexDataArea Area Memory Map

u32 tex_img_width | Width of texture image data.
u32 tex_img_height | Height of texture image data.
u32 tex_tile_width | Width of texture image data to be used.
u32 tex_tile_height | Height of texture image data to be used.
u32 tex_offset_x | Texture offset X coordinate of upper left texture tile.
u32 tex_offset_y | Texture offset Y coordinate of upper left texture tile.
u32 tex_img_index | Index number of texture image data contained in TexImgList.

When texture animation is performed

u32 | tex_img_width
u32 | tex_img_height
u32 | tex_tile_scale_num
u32 | tex_tile_offset_num
u32 | tex_tile_img_num
u32 | tex_tile_scale_key(0)
...
u32 | tex_tile_scale_key(tex_tile_scale_num - 1)
u32 | tex_tile_width(0)
...
u32 | tex_tile_width(tex_tile_scale_num - 1)
u32 | tex_tile_height(0)
...
u32 | tex_tile_height(tex_tile_scale_num - 1)
u32 | tex_tile_offset_key(0)
...
u32 | tex_tile_offset_key(tex_tile_offset_num - 1)
u32 | tex_tile_offset_x(0)
...
u32 | tex_tile_offset_x(tex_tile_offset_num - 1)
u32 | tex_tile_offset_y(0)
...
u32 | tex_tile_offset_y(tex_tile_offset_num - 1)
u32 | tex_tile_img_key(0)
...
u32 | tex_tile_img_key(tex_tile_img_num - 1)
u32 | tex_tile_img_index(0)
...
u32 | tex_tile_img_index(tex_tile_img_num - 1)

TexDataArea Area Memory Map

u32 tex_img_width | Width of texture image data to be used.
u32 tex_img_height | Height of texture image data to be used.
u32 tex_tile_scale_num | When TEX_ANIM_SCROLL_SCALE or TEX_ANIM_SCROLL_SCALE_KEY is specified, 'scaling animation' of the texture data is performed. When texture scaling animation is not performed, set the following flag.
    TEX_TILE_SCALE_NONE     0x00000001
When key frame animation is performed, specify the number of the key.
u32 tex_tile_offset_num | When TEX_ANIM_SCROLL_OFFSET or TEX_ANIM_SCROLL_OFFSET_KEY is specified, 'scrolling animation' of the texture data is performed. When texture scrolling animation is not performed, set the following flag.
    TEX_TILE_OFFSET_NONE    0x00000001
When performing key frame animation, specify the number of the key.
u32 tex_tile_img_num | When TEX_ANIM_FLIPBOOK or TEX_ANIM_FLIPBOOK_KEY is specified, it executes 'flip book animation' by switching the texture image. When flip book animation is not executed, set the following flag.
    TEX_FLIPBOOK_NONE       0x00000001
When key frame animation is not performed, specify the number of the key.
u32 tex_tile_scale_key | Specifies the number of the key frame in a sequence when TEX_ANIM_SCROLL_SCALE_KEY is specified. Otherwise, the flag is ignored.
u32 tex_tile_width | Specifies the width of the texture tile data. If tex_tile_scale_num = TEX_TILE_SCALE_NONE, specify tex_tile_width(0) to use this area as static data storage.
u32 tex_tile_height | Specifies the height of the texture tile data. If tex_tile_scale_num = TEX_TILE_SCALE_NONE, specify tex_tile_height(0) to use this area as static data storage.
u32 tex_tile_offset_key | Specifies the number of the key frame in a sequence when TEX_ANIM_SCROLL_OFFSET_KEY is specified. Otherwise, this flag is ignorned.
u32 tex_tile_offset_x | Texture offset X coordinate of the upper left tile. If tex_tile_offset_num = TEX_TILE_OFFSET_NONE, specify tex_tile_offset_x(0) to use this area as static data storage.
u32 tex_tile_offset_y | Texture offset Y coordinate of the upper left tile. If tex_tile_offset_num = TEX_TILE_OFFSET_NONE, specify tex_tile_offset_y(0) to use this area as static data storage.
u32 tex_tile_img_key | Specifies the number of the key frame in a sequence when TEX_ANIM_FLIPBOOK_KEY is specified. Otherwise, this flag is ignored.
u32 tex_tile_img_index | Index number of texture image data in TexImgList. If tex_tile_img_num = TEX_FLIPBOOK_NONE, specify tex_tile_img_index(0) to use this area as static data storage.

Copyright 1997-1999 NINTENDO Co., Ltd. All rights reserved.