diff options
-rw-r--r-- | Define-the-Old-Pokédex-Order.md | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/Define-the-Old-Pokédex-Order.md b/Define-the-Old-Pokédex-Order.md new file mode 100644 index 0000000..c2fe8c2 --- /dev/null +++ b/Define-the-Old-Pokédex-Order.md @@ -0,0 +1,73 @@ +[PLEASE EDIT] This tutorial is to be able to give the Old Pokédex order a different order other than by using the index order of the Pokémon themselves. + + +## Contents + +1. [Define Old Pokédex Order](#1-define-old-pokédex-order) +2. [Edit how the old order gets found](#2-edit-how-the-old-order-gets-found) +3. [Include in the ROM](#3-include-in-the-rom) + +## 1. Define Old Pokédex Order + +Create **data/pokemon/dex_order_old.asm**. Pretty much the same as [constants/pokemon_constants.asm](../blob/master/constants/pokemon_constants.asm). + +```diff ++OldPokedexOrder: ++ db BULBASAUR ++ db IVYSAUR ++ db VENUSAUR +... ++ db LUGIA ++ db HO_OH ++ db CELEBI +``` + +## 2. Edit how the old order gets found + +Edit [engine/pokedex/pokedex.asm](../blob/master/engine/pokedex/pokedex.asm) + +```diff +Pokedex_OrderMonsByMode: +... + .NewMode: + ld de, NewPokedexOrder ++.do_dex + ld hl, wPokedexOrder + ld c, NUM_POKEMON + .loopnew + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .loopnew + call .FindLastSeen + ret + + .OldMode: +- ld hl, wPokedexOrder +- ld a, $1 +- ld c, NUM_POKEMON +-.loopold +- ld [hli], a +- inc a +- dec c +- jr nz, .loopold +- call .FindLastSeen +- ret ++ ld de, OldPokedexOrder ++ jr .do_dex +``` + +## Include in ROM + +Edit [engine/pokedex/pokedex.asm](../blob/master/engine/pokedex/pokedex.asm) + +```diff + INCLUDE "data/pokemon/dex_order_alpha.asm" + + INCLUDE "data/pokemon/dex_order_new.asm" ++ ++INCLUDE "data/pokemon/dex_order_old.asm" + + Pokedex_DisplayModeDescription: +```
\ No newline at end of file |