User Tools

Site Tools


banjo_tooie:model_data

This is an old revision of the document!


Model Data

Banjo-Tooie uses a file-system in which most resources are packed into file blocks throughout the ROM, and are unpacked into RAM when needed. Among these are the model files, each with their own syntax and load-lines. This page's purpose is to cover the syntax and properties of said model files. Note that it is very similar to Banjo-Kazooie's model format, just with more features like collision changes, optimised texture headers, and F3DEX2 instead of F3DEX.

Address Value/Syntax Description
0x00000000 [00 00 00 0B] START
0x00000004 [aa aa aa aa] Geometry Layout Offset
0x00000008 [bb bb cc cc] bb=Texture Setup Offset (Usually 00 50), cc=Geo Type*
0x0000000C [dd dd dd dd] Display List Setup Offset
0x00000010 [ee ee ee ee] Vertex Store Setup Offset
0x00000014 [00 00 00 00] ?
0x00000018 [ff ff ff ff] Animation Setup
0x0000001C [gg gg gg gg] Collision Setup
0x00000020 [hh hh hh hh] Effects Setup End Address
0x00000024 [hh hh hh hh] Effects Setup
0x00000028 [ii ii ii ii] Vertex-Bone Mapping
0x0000002C [jj jj jj jj] Texure Animation Setup
0x00000030 [00 00 00 00] ?
0x00000034 [00 00 kk kk] Related to external textures???
0x00000038 [ll ll ll ll] Vertex Normals
0x00000044 [nn nn oo oo] nnnn= Tri count, oooo= vert count

*Geo Types: 0000=normal, 0002= Trilinear MipMapping (RGBA16), 0004=Env mapping


Texture Setup

Offset from TexSetup Start Value/Syntax Description
0x00000000 [aa aa aa aa] Amount of data in bytes to load (including command)
0x00000004 [bb bb cc 00] bb=Texture Count, cc=External Textures(01y 00n)
0x00000008 [dd dd dd dd] Texture[i] segment address from texture data start OR External Texture Index*
0x0000000C [ee ff xx yy] Texture[i] ee = 0x80 for MIP Mapping (00 otherwise), ff =type*, xxyy=Pixel Grid

*Types: 01=CI4, 02=CI8, 04=RGBA16, 08=RGBA32, 0x10=IA8,

*External texture indices start at FileID 0x1EF6, 0 indexed.

Example: 00 00 13 28 80 04 20 20

External texture file ID= 1EF6+1328 = 321E
This will load an RGBA16 32x32 mipmapped texture from FileID 0x321E.

Display List Setup

Offset from DLSetup Start Value/Syntax Description
0x00000000 [aa aa aa aa 00 00 00 00] F3DEX2 Command Count
0x00000008 F3DEX2 F3DEX2 Display List

Vertex Store Setup

Offset from VTXSetup Start Value/Syntax Description
0x00000000 [aa aa bb bb cc cc] Draw distance: Negative Coords
0x00000006 [dd dd ee ee ff ff] Draw distance: Positive Coords
0x0000000C [xx xx yy yy zz zz] Object Coordinate Range
0x00000012 [jj jj] Collision range? (Enemies, Objects)
0x00000014 [kk kk] Collision range? (Banjo)
0x00000016 [ll ll] Vertex Count*2

banjo_tooie/model_data.1587588604.txt.gz · Last modified: 2020/04/22 20:50 by pfedak