summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Expand-tilesets-from-192-to-255-tiles.md25
1 files changed, 9 insertions, 16 deletions
diff --git a/Expand-tilesets-from-192-to-255-tiles.md b/Expand-tilesets-from-192-to-255-tiles.md
index 9ba8192..6177403 100644
--- a/Expand-tilesets-from-192-to-255-tiles.md
+++ b/Expand-tilesets-from-192-to-255-tiles.md
@@ -7,16 +7,7 @@ VRAM is divided into six areas, each 128 tiles large. The bottom-left and bottom
It's fairly simple to use $E0 to $FF for 32 more map tiles. We can also use $60 to $7E by moving the necessary text tiles into the main font area, leaving only $7F for the space character and allowing 255 map tiles.
-## Contents
-
-1. [Load tile graphics into four more VRAM rows](#1-load-tile-graphics-into-four-more-vram-rows)
-2. [Update the tilesets' graphics](#2-update-the-tilesets-graphics)
-3. [Update the tilesets' palette maps](#3-update-the-tilesets-palette-maps)
-4. [Change which tiles hide sprites behind them](#4-change-which-tiles-hide-sprites-behind-them)
-5. [Edit the font graphics](#5-edit-the-font-graphics)
-6. [Delete the unused font graphics](#6-delete-the-unused-font-graphics)
-7. [Update the character set](#7-update-the-character-set)
-8. [Change some hard-coded tile placements](#8-change-some-hard-coded-tile-placements)
+## TOC
## 1. Load tile graphics into four more VRAM rows
@@ -63,14 +54,14 @@ Edit [home/map.asm](../blob/master/home/map.asm).
Now instead of loading tileset graphics into tiles $00–$5F and $80–$DF, they'll be loaded into $00–$7E and $80–$FF. That's nearly four more rows, or 63 more tiles, usable for maps. (Note that only the first $7F tiles are loaded instead of the full $80; tile $7F, is not loaded because the space character goes there.)
-## 2. Update the tilesets' graphics
+## 2. Update the tilesets' graphics to not skip tiles $60–$7F
Edit all the [gfx/tilesets/\*.png](../tree/master/gfx/tilesets/) files with more than six rows of tiles. In each case, we need to add two rows of blank tiles for the $60–$7F range (that is, the seventh and eighth rows). Here's one example, [gfx/tilesets/johto_modern.png](../blob/master/gfx/tilesets/johto_modern.png):
![gfx/tilesets/johto_modern.png](screenshots/255-tiles_gfx-tilesets-johto_modern.png)
-## 3. Update the tilesets' palette maps
+## 3. Update the tilesets' palette maps to not skip tiles $60–$7F
Edit all 37 [gfx/tilesets/\*_palette_map.asm](../tree/master/gfx/tilesets/) files. In each case, we need to replace the 16 `$ff` bytes that were placeholders for $60–$7F to be four `tilepal` lines.
@@ -115,7 +106,7 @@ Here's one example, [gfx/tilesets/johto_modern_palette_map.asm](../blob/master/g
The `ROOF` values are for tiles $60–$7E, which can be used for maps, and the `TEXT` value is for $7F, the space character.
-## 4. Change which tiles hide sprites behind them
+## 4. Don't hide sprites behind tiles tiles $60–$7F or $E0–$FF
By default, sprites will disappear when they're behind (on top of) tiles $60–$6F or $D0–$FF, as well as the regular font tiles. This is so they won't appear on top of textboxes. We need to change this to hide sprites behind *any* text tile, instead of assuming certain IDs are always for text.
@@ -153,7 +144,7 @@ Edit [engine/overworld/map_objects.asm](../blob/master/engine/overworld/map_obje
```
-## 5. Edit the font graphics
+## 5. Move necessary text tiles to the main font graphics
Of the 32 tiles in the $60–$7F range, only 18 are actually used:
@@ -162,7 +153,7 @@ Of the 32 tiles in the $60–$7F range, only 18 are actually used:
- The telephone in [gfx/font/phone_icon.png](../blob/master/gfx/font/phone_icon.png)
- The bold **V**, bold **S**, and small colon in the top row of [gfx/font/font_extra.png](../blob/master/gfx/font/font_extra.png)
- The “PO”, “Ké”, curly quotes, and ellipsis in the bottom row of [gfx/font/font_extra.png](../blob/master/gfx/font/font_extra.png)
-- The six textbox frame characters and space character in the bottom row of [gfx/font/font_extra.png](../blob/master/gfx/font/font_extra.png) (actually loaded from [gfx/frames/\*.png](../tree/master/gfx/frames/)
+- The six textbox frame characters and space character in the bottom row of [gfx/font/font_extra.png](../blob/master/gfx/font/font_extra.png) (actually loaded from [gfx/frames/\*.png](../tree/master/gfx/frames/))
Meanwhile, the six ümläuted letters in [gfx/font/font.png](../blob/master/gfx/font/font.png) are unused, and the decimal point character is identical to the period. So replace them like this:
@@ -176,6 +167,8 @@ And [gfx/font/overworld.png](../blob/master/gfx/font/overworld.png):
![gfx/font/overworld.png](screenshots/255-tiles_gfx-font-overworld.png)
+Note that the textbox frames aren't present in these graphics. That's because they would be overwritten by whichever frame is actually chosen, so it would waste space to replicate them here.
+
## 6. Delete the unused font graphics
@@ -552,7 +545,7 @@ Edit [engine/events/halloffame.asm](../blob/master/engine/events/halloffame.asm)
And edit [engine/link/link_2.asm](../blob/master/engine/link/link_2.asm):
-```
+```diff
LinkTextbox2: ; 4d35b
...