summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md22
1 files changed, 5 insertions, 17 deletions
diff --git a/Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md b/Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md
index 449615e..3e61eb6 100644
--- a/Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md
+++ b/Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md
@@ -379,26 +379,12 @@ Edit [wram.asm](../blob/master/wram.asm) again:
```
```diff
- wTileset::
- wTilesetBank:: db ; d1d9
- wTilesetAddress:: dw ; d1da
- wTilesetBlocksBank:: db ; d1dc
- wTilesetBlocksAddress:: dw ; d1dd
- wTilesetCollisionBank:: db ; d1df
- wTilesetCollisionAddress:: dw ; d1e0
- wTilesetAttributesBank:: db
- wTilesetAttributesAddress:: dw
- wTilesetAnim:: dw ; bank 3f ; d1e2
- wTilesetEnd::
-+
-+wTilesetDataAddress:: dw
-```
-
-```diff
- ds 3
-+ ds 2
++wTilesetDataAddress:: dw
wLinkBattleRNs:: ds 10 ; d1fa
+
+ ...
```
```diff
@@ -426,6 +412,8 @@ And edit [pokecrystal.link](../blob/master/pokecrystal.link):
As we'll see next, `wSurroundingTiles` stores the tile IDs of all the blocks surrounding the player on-screen. (It gets updated when the player moves, of course.) The screen is 20x18 tiles, so 6x5 blocks are needed to cover it; each block has 4x4 tiles, so that's 480 bytes of tile data. Now that each of those tiles can have its own attributes, we need to introduce `wSurroundingAttributes` to play a similar role for attribute data. However, there's not enough free space in WRAM0 for both `wSurroundingTiles` and `wSurroundingAttributes`, so we have to put `wSurroundingAttributes` in a different bank, and for convenience we move `wSurroundingTiles` to the same bank. WRAMX 4 happens to be unused, so that's where they go.
+(We also introduce `wTilesetDataAddress`, which will store either `wTilesetBlocksAddress` when writing to `wSurroundingTiles`, or `wTilesetAttributesAddress` when writing to `wSurroundingAttributes`.)
+
## 7. Continue changing how tile attributes are loaded