This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    banjo_kazooie:sprites [2025/04/12 13:01] snowboundmage2 [Sprite Asset]  | 
                
                    banjo_kazooie:sprites [2025/05/01 12:05] (current) snowboundmage2 removed emojis for easier reading  | 
            ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| ---- | ---- | ||
| - | ===== 🢩 Overview ===== | + | ===== Overview ===== | 
| This format is used for static or animated sprite graphics in the ROM. Depending on frame count, it can store a simple image or a complex animation. | This format is used for static or animated sprite graphics in the ROM. Depending on frame count, it can store a simple image or a complex animation. | ||
| Line 13: | Line 13: | ||
| ---- | ---- | ||
| - | ===== 📘 Reference Table ===== | + | ===== Reference Table ===== | 
| - | ==== 🥇 File Header (offsets 0x00–0x03) ==== | + | ==== File Header (offsets 0x00–0x03) ==== | 
| ^ Field ^ Offset ^ Type ^ Description  ^ | ^ Field ^ Offset ^ Type ^ Description  ^ | ||
| Line 21: | Line 21: | ||
| | Format ID | 0x02 | `uint16_t` | Format identifier  | | | Format ID | 0x02 | `uint16_t` | Format identifier  | | ||
| - | ==== 🎨 Format ID Mappings ==== | + | ==== Format ID Mappings ==== | 
| ^ Format ID ^ Enum ^ Description  ^ Bits per Pixel ^ | ^ Format ID ^ Enum ^ Description  ^ Bits per Pixel ^ | ||
| Line 28: | Line 28: | ||
| | 0x0020  | I4 | 4-bit intensity  | 4 | | | 0x0020  | I4 | 4-bit intensity  | 4 | | ||
| | 0x0040  | I8 | 8-bit intensity  | 8 | | | 0x0040  | I8 | 8-bit intensity  | 8 | | ||
| + | | 0x0100  | IA4 | 4-bit intensity(with alpha)  | 4 | | ||
| + | | 0x0200  | IA8 | 8-bit intensity(with alpha)  | 8 | | ||
| | 0x0400  | RGBA16  | 16-bit RGBA (5-5-5-1 format) | 16 | | | 0x0400  | RGBA16  | 16-bit RGBA (5-5-5-1 format) | 16 | | ||
| | 0x0800  | RGBA32  | 32-bit RGBA | 32 | | | 0x0800  | RGBA32  | 32-bit RGBA | 32 | | ||
| Line 33: | Line 35: | ||
| ---- | ---- | ||
| - | ===== 🖼 Single Chunk Sprite Layout ===== | + | ===== Single Chunk Sprite Layout ===== | 
| Used if `frameCount > 256` (`0x0100`). | Used if `frameCount > 256` (`0x0100`). | ||
| Line 53: | Line 55: | ||
| ---- | ---- | ||
| - | ===== 🎞 Multi-Frame Sprite Layout ===== | + | ===== Multi-Frame Sprite Layout ===== | 
| Used if `frameCount ≤ 256` (`0x0100`). | Used if `frameCount ≤ 256` (`0x0100`). | ||
| - | ==== 📂 Frame Table ==== | + | ==== Frame Table ==== | 
| * Offset: `0x10` | * Offset: `0x10` | ||
| Line 63: | Line 65: | ||
| * Each entry contains a **relative** 32-bit offset from the start of the frame data block. | * Each entry contains a **relative** 32-bit offset from the start of the frame data block. | ||
| - | ==== 🧱 Frame Data Block ==== | + | ==== Frame Data Block ==== | 
| Starts at: `0x10 + (frameCount × 4)` | Starts at: `0x10 + (frameCount × 4)` | ||
| Line 96: | Line 98: | ||
| ---- | ---- | ||
| - | ===== 🧠 Design Rationale ===== | + | ===== Design Rationale ===== | 
| === Format ID and Versatility === | === Format ID and Versatility === | ||
| Line 124: | Line 126: | ||
| ---- | ---- | ||
| - | ===== ✅ Validation Checklist ===== | + | ===== Validation Checklist ===== | 
| Use the following to verify whether a file matches this format: | Use the following to verify whether a file matches this format: | ||
| Line 137: | Line 139: | ||
| ---- | ---- | ||
| - | ===== 📌 Notes ===== | + | ===== Notes ===== | 
| * All integers are stored in **big-endian** format. | * All integers are stored in **big-endian** format. | ||