diff options
Diffstat (limited to 'docs/design_flaws.md')
-rw-r--r-- | docs/design_flaws.md | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/docs/design_flaws.md b/docs/design_flaws.md index 4b24a0cc3..c7a032702 100644 --- a/docs/design_flaws.md +++ b/docs/design_flaws.md @@ -152,21 +152,22 @@ Don't enforce `org $4000` in pokecrystal.link. Modify `GetFrontpicPointer`: -```asm +```diff ld a, [wCurPartySpecies] cp UNOWN jr z, .unown ld a, [wCurPartySpecies] - ld hl, PokemonPicPointers ++ ld hl, PokemonPicPointers ld d, BANK(PokemonPicPointers) jr .ok .unown ld a, [wUnownLetter] - ld hl, UnownPicPointers ++ ld hl, UnownPicPointers ld d, BANK(UnownPicPointers) .ok +- ld hl, PokemonPicPointers ; UnownPicPointers dec a ld bc, 6 call AddNTimes @@ -175,13 +176,15 @@ Modify `GetFrontpicPointer`: And `GetMonBackpic`: ```asm +- ; These are assumed to be at the same address in their respective banks. +- ld hl, PokemonPicPointers ; UnownPicPointers ld a, b - ld hl, PokemonPicPointers ++ ld hl, PokemonPicPointers ld d, BANK(PokemonPicPointers) cp UNOWN jr nz, .ok ld a, c - ld hl, UnownPicPointers ++ ld hl, UnownPicPointers ld d, BANK(UnownPicPointers) .ok dec a @@ -268,12 +271,26 @@ INCBIN "gfx/footprints/wartortle.1bpp" Modify `Pokedex_LoadAnyFootprint`: -```asm +```diff +- push hl ld e, l ld d, h ld hl, vTiles2 tile $62 - lb bc, BANK(Footprints), 4 +- lb bc, BANK(Footprints), 2 ++ lb bc, BANK(Footprints), 4 call Request1bpp +- pop hl +- +- ; Whoever was editing footprints forgot to fix their +- ; tile editor. Now each bottom half is 8 tiles off. +- ld de, 8 tiles +- add hl, de +- +- ld e, l +- ld d, h +- ld hl, vTiles2 tile $64 +- lb bc, BANK(Footprints), 2 +- call Request1bpp ``` @@ -341,10 +358,19 @@ Move `ITEM_C3` and `ITEM_DC` above all the TMs in every table of item data. Modify engine/items/items.asm: -```asm +```diff GetTMHMNumber:: ; Return the number of a TM/HM by item id c. ld a, c +-; Skip any dummy items. +- cp ITEM_C3 ; TM04-05 +- jr c, .done +- cp ITEM_DC ; TM28-29 +- jr c, .skip +- dec a +-.skip +- dec a +-.done sub TM01 inc a ld c, a @@ -353,6 +379,16 @@ GetTMHMNumber:: GetNumberedTMHM: ; Return the item id of a TM/HM by number c. ld a, c +-; Skip any gaps. +- cp ITEM_C3 - (TM01 - 1) +- jr c, .done +- cp ITEM_DC - (TM01 - 1) - 1 +- jr c, .skip_one +-.skip_two +- inc a +-.skip_one +- inc a +-.done add TM01 dec a ld c, a |