summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2018-10-27 22:04:25 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2018-10-27 22:04:25 -0400
commit9d7e6565e521cfe7214185046d88306a409e2c85 (patch)
treec4c74789da700bcef502c91b7ebd3de68a9669ca
parent079110b5308858715a322920a02537def90fdeb5 (diff)
Improve the outdoor sprite system (TODO)
-rw-r--r--Improve-the-outdoor-sprite-system.md16
-rw-r--r--Tutorials.md1
-rw-r--r--screenshots/192-tiles-vram.pngbin15146 -> 15240 bytes
-rw-r--r--screenshots/255-tiles-vram.pngbin15134 -> 15228 bytes
-rw-r--r--screenshots/outdoor-sprites-improved-vram.pngbin0 -> 13239 bytes
-rw-r--r--screenshots/outdoor-sprites-vram.pngbin0 -> 15029 bytes
6 files changed, 17 insertions, 0 deletions
diff --git a/Improve-the-outdoor-sprite-system.md b/Improve-the-outdoor-sprite-system.md
new file mode 100644
index 0000000..6eea597
--- /dev/null
+++ b/Improve-the-outdoor-sprite-system.md
@@ -0,0 +1,16 @@
+In [the tutorial to add a new map](Add-a-new-map-and-landmark), we covered the concept of **outdoor sprite sets**. Outdoor maps—those with a `TOWN` or `ROUTE` environment—can only use sprites from their map group's set of usable sprites.
+
+The outdoor sprite sets are defined in [data/maps/outdoor_sprites.asm](../blob/master/data/maps/outdoor_sprites.asm). However, they're done in a way that's difficult to edit: each set has 23 sprites defined, even if not all of them are used. Furthermore, given the way VRAM works, there's only room for nine sprites to have walking frames, but it's not clear which nine sprites in a set will end up in VRAM bank 1 and have their walking graphics loaded.
+
+This tutorial will improve the outdoor sprite sets by making them variable-length lists ending in 0, instead of needing to have 23 entries. The existing sprite sets for pokecrystal's maps will be optimized to work with this new format.
+
+
+## TOC
+
+
+TODO
+
+
+![Screenshot](screenshots/outdoor-sprites-vram.png)
+
+![Screenshot](screenshots/outdoor-sprites-improved-vram.png)
diff --git a/Tutorials.md b/Tutorials.md
index dfb4d32..465b44b 100644
--- a/Tutorials.md
+++ b/Tutorials.md
@@ -44,6 +44,7 @@ Tutorials may use diff syntax to show edits:
- [Allow map tiles to appear above sprites (so NPCs can walk behind tiles) with `PRIORITY` colors](Allow-map-tiles-to-appear-above-sprites-\(so-NPCs-can-walk-behind-tiles\)-with-PRIORITY-colors)
- [Allow tiles to have different attributes in different blocks (including X and Y flip)](Allow-tiles-to-have-different-attributes-in-different-blocks-\(including-X-and-Y-flip\))
- [Allow more than 15 `object_event`s per map](Allow-more-than-15-object_events-per-map)
+- [Improve the outdoor sprite system](Improve-the-outdoor-sprite-system)
- [Increase Pokémon sprite animation size](Increase-Pokémon-sprite-animation-size)
- [Allow more trainer parties, with individual DVs, stat experience, and nicknames](Allow-more-trainer-parties,-with-individual-DVs,-stat-experience,-and-nicknames)
- [Colored trainer card badges](Colored-trainer-card-badges)
diff --git a/screenshots/192-tiles-vram.png b/screenshots/192-tiles-vram.png
index fd2288f..05d905a 100644
--- a/screenshots/192-tiles-vram.png
+++ b/screenshots/192-tiles-vram.png
Binary files differ
diff --git a/screenshots/255-tiles-vram.png b/screenshots/255-tiles-vram.png
index 73bdf23..8777f49 100644
--- a/screenshots/255-tiles-vram.png
+++ b/screenshots/255-tiles-vram.png
Binary files differ
diff --git a/screenshots/outdoor-sprites-improved-vram.png b/screenshots/outdoor-sprites-improved-vram.png
new file mode 100644
index 0000000..8a9d29e
--- /dev/null
+++ b/screenshots/outdoor-sprites-improved-vram.png
Binary files differ
diff --git a/screenshots/outdoor-sprites-vram.png b/screenshots/outdoor-sprites-vram.png
new file mode 100644
index 0000000..edd3eae
--- /dev/null
+++ b/screenshots/outdoor-sprites-vram.png
Binary files differ