summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Allow-tiles-to-have-different-attributes-in-different-blocks-(including-X-and-Y-flip).md12
-rw-r--r--screenshots/hex-edit-attributes.pngbin0 -> 33021 bytes
-rw-r--r--screenshots/polished-map-redplusplus-goldenrod-city.pngbin0 -> 16760 bytes
3 files changed, 10 insertions, 2 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 8bff6e3..b166cfb 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
@@ -21,8 +21,8 @@ First, a quick overview of how tilesets work:
- The [gfx/tilesets/\*.png](../tree/master/gfx/tilesets/) files are the tileset graphics. Each tile is 8x8 pixels, and a tileset can have up to 192 tiles. (Although they can be [expanded to 255](Expand-tilesets-from-192-to-255-tiles).)
- The [gfx/tilesets/\*_palette_map.asm](../tree/master/gfx/tilesets/) files assign a color to each tile. There are eight possible colors, declared at the bottom of [constants/tileset_constants.asm](../blob/master/constants/tileset_constants.asm), although `TEXT` is not useful since it's reserved for textboxes.
-- The [data/tilesets/\*_metatiles.bin](../tree/data/tilesets/) files define the blocks. Each block has 16 bytes declaring the tiles it's composed of, from top-left to bottom-right.
-- The [data/tilesets/\*_collision.asm](../tree/data/tilesets/) files assign collisions to the four quadrants of each block where NPCs can walk (or bump, slide, warp, Surf, etc, as the case may be). Valid collision values are declared in [constants/collision_constants.asm](../blob/master/constants/collision_constants.asm).
+- The [data/tilesets/\*_metatiles.bin](../tree/master/data/tilesets/) files define the blocks. Each block has 16 bytes declaring the tiles it's composed of, from top-left to bottom-right.
+- The [data/tilesets/\*_collision.asm](../tree/master/data/tilesets/) files assign collisions to the four quadrants of each block where NPCs can walk (or bump, slide, warp, Surf, etc, as the case may be). Valid collision values are declared in [constants/collision_constants.asm](../blob/master/constants/collision_constants.asm).
- The [maps/\*.blk](../tree/master/maps/) files define the maps. Each one has *W*x*H* bytes declaring the blocks it's composed of, from top-left to bottom-right. (The width and height of each map are declared in [constants/map_constants.asm](../blob/master/constants/map_constants.asm).)
(The \*.bin and \*.blk files are binary data, so unlike \*.asm files, a text editor won't work for them. You'll need a hex editor, or a program like [Polished Map](https://github.com/Rangi42/polished-map) that can edit maps and tilesets.)
@@ -1008,3 +1008,11 @@ Case in point: here's Goldenrod City from [Red++ 3](https://github.com/TheFakeMa
[![Screenshot](screenshots/redplusplus-goldenrod-city.png)](screenshots/redplusplus-goldenrod-city.png)
The same tiles can appear in different colors, like lit `YELLOW` and unlit `BROWN` windows using a single tile. Trees are horizontally symmetrical, as are some roofs and walls, so they only needed half as many tiles. Vertical symmetry is also useful, like for the pattern on the Dept. Store's roof. And with the priority attribute, NPCs can walk behind things like treetops or some rooftops. (They'd show through white highlights on some roof tiles, since that hue is transparent, but it works for the Pokémon Center roof.) All the tiles that saved, plus [expanding tilesets from 192 to 255 tiles](Expand-tilesets-from-192-to-255-tiles), allowed a wide variety of unique buildings and decorations.
+
+The downside to this is that editing attributes will be a pain in the neck. You can use [Polished Map](https://github.com/Rangi42/polished-map) with the **Monochrome** option (meant for [pokered](https://github.com/pret/pokered/)) to edit maps and tilesets, but none of the attribute data will be applied—which is especially inconvenient if you have flipped tiles. For example, here's how that Goldenrod City map looks in it:
+
+[![Screenshot](screenshots/polished-map-redplusplus-goldenrod-city.png)](screenshots/polished-map-redplusplus-goldenrod-city.png)
+
+If your hex editor supports coloring by value, that can make editing a lot easier. For example, here's Hex Workshop (not a free program) using eight background colors for the different tile colors, eight more for flipped tiles, and yellow foreground text for priority tiles:
+
+[![Screenshot](screenshots/hex-edit-attributes.png)](screenshots/hex-edit-attributes.png)
diff --git a/screenshots/hex-edit-attributes.png b/screenshots/hex-edit-attributes.png
new file mode 100644
index 0000000..5e15a95
--- /dev/null
+++ b/screenshots/hex-edit-attributes.png
Binary files differ
diff --git a/screenshots/polished-map-redplusplus-goldenrod-city.png b/screenshots/polished-map-redplusplus-goldenrod-city.png
new file mode 100644
index 0000000..6ef383f
--- /dev/null
+++ b/screenshots/polished-map-redplusplus-goldenrod-city.png
Binary files differ