diff options
-rw-r--r-- | Improve-the-outdoor-sprite-system.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Improve-the-outdoor-sprite-system.md b/Improve-the-outdoor-sprite-system.md index 42efdef..24b521f 100644 --- a/Improve-the-outdoor-sprite-system.md +++ b/Improve-the-outdoor-sprite-system.md @@ -439,7 +439,7 @@ The comments make it clear which maps the set applies to; and the order matches Some things to note about the new system: - If you can walk across a map connection from one map group to another, those groups now share an outdoor sprite set. Sprites and tilesets are only reloaded when you warp to a different map, not when you cross a connection, so this is necessary. Previously, connected sets like `OlivineGroupSprites` and `CianwoodGroupSprites` used separate lists which had to be kept in sync. -- Removing the `LoadAndSortSprites` also affects indoor maps. If a map's `object_event`s use many different sprites, make sure to put the walking ones first. +- Removing the `LoadAndSortSprites` also affects indoor maps. If a map's `object_event`s use so many sprites that some get loaded in VRAM0, make sure that the walking ones come first and have their walking frames in VRAM1. We're technically done at this point, but the new system makes a few sprites redundant. Let's see how that works. @@ -473,7 +473,7 @@ At first glance, it makes sense why these variable sprites exist. They're a neat ...Except, all three of those are used in outdoor sprite sets with enough room for more walking sprites! Out of a maximum 9 walking sprites, `VioletGroupSprites` and `EcruteakGroupSprites` only use 8; `AzaleaGroupSprites` uses 6; and `OlivineGroupSprites` and `CianwoodGroupSprites` use 8. -It turns out that Crystal doesn't need these variable sprites, but Gold and Silver did. Crystal is exclusive to the GameBoy Color, so it has twice as much VRAM, and it's able to load walking frames for every sprite in bank 1 while still having room for standing-still sprites in bank 0. But Gold and Silver supported the Super GameBoy, which only had one VRAM bank; so still sprites like `SPRITE_POKE_BALL` and `SPRITE_SLOWPOKE` used up the same space budget as walking sprites. +It turns out that Crystal doesn't need these variable sprites, but Gold and Silver did. Crystal is exclusive to the GameBoy Color, so it has twice as much VRAM, and it's able to load walking frames for every sprite in VRAM1 while still having room for standing-still sprites in VRAM0. But Gold and Silver supported the Super GameBoy, which only had one VRAM bank; so still sprites like `SPRITE_POKE_BALL` and `SPRITE_SLOWPOKE` used up the same space budget as walking sprites. Anyway, the point is that we don't need them any more. So you can completely delete those three variable sprites: |