User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
banjo_kazooie_gruntys_revenge:rooms [2016/10/18 08:01]
jesse [20: Tileset 1] Bits in subscript now
banjo_kazooie_gruntys_revenge:rooms [2025/10/18 21:21] (current)
Line 25: Line 25:
 | 5 | 80CF514 | 81748A8 | 1 | 3 | UPPERFARM |  | | 5 | 80CF514 | 81748A8 | 1 | 3 | UPPERFARM |  |
 | 6 | 80CF51C | 8199534 | FF | A | MUMBOHUT | Mumbo'​s hut | | 6 | 80CF51C | 8199534 | FF | A | MUMBOHUT | Mumbo'​s hut |
-| 7 | 80CF524 | 81A62D4 | 0 | 4 | HONEYB | | +| 7 | 80CF524 | 81A62D4 | 0 | 4 | HONEYB | Honey B's hive 
-| 8 | 80CF52C | 81ADCE8 | 2 | 2 | BEACHSTART | Breachull ​beach |+| 8 | 80CF52C | 81ADCE8 | 2 | 2 | BEACHSTART | Breechull ​beach |
 | 9 | 80CF534 | 81E205C | 2 | C | UNDERCORAL |  | | 9 | 80CF534 | 81E205C | 2 | C | UNDERCORAL |  |
 | 10 | 80CF53C | 83BAEB8 | 5 | 5 | OCTOSHOOT |  | | 10 | 80CF53C | 83BAEB8 | 5 | 5 | OCTOSHOOT |  |
Line 59: Line 59:
 ===== Room header ===== ===== Room header =====
  
-The room header is 0x64 bytes long+The room header is 0x64 bytes long. This data is copied to RAM at 0x3003344.
  
 ^ Offset ^ Length ^ Description ^ ^ Offset ^ Length ^ Description ^
Line 66: Line 66:
 | 0x04 | 2 | Tiledata 2 count | | 0x04 | 2 | Tiledata 2 count |
 | 0x06 | 2 | Tileset 2 count | | 0x06 | 2 | Tileset 2 count |
-| 0x08 | 2 |  |+| 0x08 | 2 | Amount of layers on |
 | 0x0A | 2 | Tilemap X length | | 0x0A | 2 | Tilemap X length |
 | 0x0C | 2 | Tilemap Y length | | 0x0C | 2 | Tilemap Y length |
-| 0x0E | |  |+| 0x0E | |  ​
 +| 0x0F | 1 | Compression method used (0 = no compression,​ 1 = LZ77, 2 = huff) |
 | 0x10 | 4 |  | | 0x10 | 4 |  |
 | 0x14 | 1 | Layer 1 Tileset (00 = set 1, 01 = set 2) | | 0x14 | 1 | Layer 1 Tileset (00 = set 1, 01 = set 2) |
Line 80: Line 81:
 | 0x24 | 4 | Tiledata 2 pointer | | 0x24 | 4 | Tiledata 2 pointer |
 | 0x28 | 4 | Tileset 2 pointer | | 0x28 | 4 | Tileset 2 pointer |
-| 0x2C | 4 | Tile animations pointer | +| 0x2C | 4 | Tile animations ​pointer | 
-| 0x30 | 4 |  |+| 0x30 | 4 | Tile animations 2 pointer ​|
 | 0x34 | 4 | Collision pointer | | 0x34 | 4 | Collision pointer |
 | 0x38 | 4 | Textbar NPC | | 0x38 | 4 | Textbar NPC |
Line 116: Line 117:
  
 ==== 2C: Tile animations ==== ==== 2C: Tile animations ====
 +
 +Tile animations store its own tiledata. In game the animated tiledata is first put in VRAM and then the other tile data.
 +
 +Block structure
 +^ Size ^ Description ^
 +| 4 | Number of tile animations | 
 +| 8 * n | Tile animation index |
 +| 16 * n | Tiledata | 
 +
 +=== Tile animation index ===
 +
 +Each entry is 8 bytes long.
 +
 +''​[<​color darkred>​FF FF</​color>​] [<color darkgreen>​SS SS</​color>​] [<color darkblue>​PP PP PP PP</​color>​]''​
 +
 +| <color darkred>​F</​color>​ | Number of frames |
 +| <color darkgreen>​S</​color>​ | Frames per second |
 +| <color darkblue>​P</​color>​ | tiledata pointer |
 +
 +=== Tiledata ===
 +
 +Each entry is 1 block 8x8 of tiledata.
 +See Tileset 1
  
 ==== 34: Collision ​ ==== ==== 34: Collision ​ ====