diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-06-30 19:04:29 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-06-30 19:04:29 -0400 |
commit | d273861b4f5738e03a724492691a86d7976d78d2 (patch) | |
tree | 4be121373e9f2c3f758fe9bf28977c8a9310be75 | |
parent | c489cc6c3d4513c1fe42a7cde73955d10540596e (diff) |
Group things together
-rw-r--r-- | Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md | 32 |
1 files changed, 10 insertions, 22 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 4996675..6fee8d4 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 @@ -315,7 +315,7 @@ tileset: MACRO ENDM ``` -And edit [wram.asm](../blob/master/wram.asm): +Edit [wram.asm](../blob/master/wram.asm): ```diff wTileset:: @@ -333,6 +333,14 @@ And edit [wram.asm](../blob/master/wram.asm): wTilesetEnd:: ``` +And edit [constants/tileset_constants.asm](../blob/master/constants/tileset_constants.asm): + +```diff + ; wTileset struct size +-TILESET_LENGTH EQU 15 ++TILESET_LENGTH EQU 14 +``` + Now each tileset will be associated with the correct attribute data. @@ -710,26 +718,6 @@ It will rename every \*.blk file to \*.ablk. (If you're not using Git, then just This has no effect on the ROM itself; it's just so that we can have a clean separation of .blk files associated with Polished Map, and .ablk associated with Polished Map++. -## 10. Fix TILESET_LENGTH - -If you try to build now, you'll most likely notice an error looking something like this: - -`Assertion failed: Tilesets: expected 37 entries, each 15 bytes` - -to fix this, just edit [constants/tileset_constants.asm](../blob/master/constants/tileset_constants.asm): - -```diff - const TILESET_OMANYTE_WORD_ROOM ; 23 - const TILESET_AERODACTYL_WORD_ROOM ; 24 -NUM_TILESETS EQU const_value - 1 - -; wTileset struct size --TILESET_LENGTH EQU 15 -+TILESET_LENGTH EQU 14 - -; roof length (see gfx/tilesets/roofs) -``` - *Now* we're done! `make` works, and all the maps look the same as before—but now they're capable of looking very different. The pokecrystal map engine didn't support flipped, recolored, or priority tiles, so of course the tileset graphics were not designed to take advantage of those features. But now you can. And all of those engine features *did* exist in Gen 3, so if you're devamping tiles from RSE or FRLG, they'll benefit from this change. @@ -759,7 +747,7 @@ And the tileset itself is a colorless image: Note that Polished Map++ assumes you have also [expanded the tilesets to 255 tiles](Expand-tilesets-from-192-to-255-tiles). If you don't apply that tutorial, your maps will look incorrect. -## 11. Use up to 512 tiles in a tileset +## 10. Use up to 512 tiles in a tileset If you were paying attention during the review of how VRAM works, you'll have noticed that technically a map can use 512 different tiles. The tile ID goes from 0 to 255, and the bank bit is 0 or 1; 256 × 2 = 512. |