#### NIFF 1.0 Specification

## 3. Binary Format

### 3.11 TriList

#### 1) TriList Area

> TriList is the list that contains triangle data. Triangles are constructed by referencing the vertex groups in VtxList. Mapping of TriList is as follows.

TriListHeader | u32 | tri_list_tag
u32 | tri_list_header_size
u32 | tri_list_size
u32 | tri_group_num
u32 | nintendo_extension_block_size
u32 | user_extension_block_size
u32 | tri_group_num_byte(0)
...
u32 | tri_group_num_byte(tri_group_num - 1)
| TriGroup(0)
...
TriGroup(tri_group_num - 1)
NintendoExtensionBloock
UserExtensionBlock

TriList Area Memory Map

u32 tri_list_tag | Tag indicating TriList. Set the following flag.
    TAG_TRI_LIST    0x00080000
u32 tri_list_header_size | Size of TriListHeader area
u32 tri_list_size | Size of TriList area
u32 tri_group_num | Total number of TriGroup in the TriList
u32 nintendo_extension_block_size | Nintendo extension block size
u32 user_extension_block_size | User extension block size
u32 tri_group_num_byte | Number of bytes corresponding to TriGroup
TriGroup | Triangle list per one shape
NintendoExtensionBlock | Nintendo extension block
UserExtensionBlock | User extension block

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