User Tools

Site Tools


banjo_kazooie:sprites

This is an old revision of the document!


Sprite Data

This page documents the binary layout of a sprite file used in the Banjo Kazooie game (based on the n64 rom) . All multi-byte values are stored in big endian.

Sprite File Binary Layout

The sprite file begins with a 16-byte header, followed by a frame offset table, and then the actual frame data.

Header Section (First 0x10 bytes)

Offset Bytes Big Endian Value Description
0x00 00 01 0x0001 Frame count = 1
0x02 01 00 0x0100 Format ID = 0x100
0x04 FF FF FF FF 0xFFFFFFFF Likely unused or sentinel
0x08 00 BE 0x00BE = 190 Possibly a default width?
0x0A 00 BE 0x00BE = 190 Possibly a default height?
0x0C 00 00 00 00 0x00000000 Padding or flags

At offset `0x10`, the frame offset table begins.

Frame Offset Table (0x10–0x14)

Offset Bytes Big Endian Value Description
0x10 00 00 00 04 0x00000004 Offset to Frame 0: `0x04 + 0x14 = 0x18`

The frame offset table contains a single `uint32_t`, pointing to the first frame header. Since there's only one frame, the table is 4 bytes long.

Frame 0 Header (starts at 0x18)

Offset Bytes Big Endian Value Description
0x18 00 00 0 X position
0x1A 00 00 0 Y position
0x1C 03 91 0x0391 = 913 Width in pixels
0x1E 00 13 0x0013 = 19 Height in pixels
0x20 00 3E 0x003E = 62 Chunk count
0x22 00 00 Unknown or padding

More details on chunk data may follow after offset `0x24`.


banjo_kazooie/sprites.1744459850.txt.gz · Last modified: 2025/04/12 12:10 by snowboundmage2