Many, many tweaks (Move Relearner!)

- Move Deleter and Move Relearner are added, featuring updated code from Shin Pokered, which took the code from Mateo's Red++ hack. They replace the Trader in Celadon University. The code has been updated quite a bit to fit the modern standards of pokered.
- The Trader has been moved to the trade room in Cinnabar Lab, which is thematically appropriate.
- Eevee's L1 learnset now appropriately features Tail Whip; this was a mistake made by Martha when porting Yellow learnsets.
- Fast Text cursor slot is fixed
- New ROM Bank stores the new maps as it got full when adding the move relearner/deleter - Maps 21 will still have space though.
- WRAM has been fiddled with, please please read the notes if you edit the Move Relearner area, it needs quite a bit of space.
- Wild data for Mt. Moon and Route 22 has been tweaked a little bit.
This commit is contained in:
May Evans 2023-04-02 19:56:44 +01:00
parent 67132fefcb
commit bd23dfa61e
20 changed files with 647 additions and 36 deletions

View file

@ -115,7 +115,7 @@ DisplayListMenuIDLoop::
jr nz, .skipMultiplying
; if it's an item menu
sla c ; item entries are 2 bytes long, so multiply by 2
.skipMultiplying
.skipMultiplying ; this function is modified using something from shin pokered; tldr it makes the move relearner/deleter work. it works and runs faster than my own solution, so I won't question it.
ld a, [wListPointer]
ld l, a
ld a, [wListPointer + 1]
@ -126,12 +126,17 @@ DisplayListMenuIDLoop::
ld a, [hl]
ld [wcf91], a
ld a, [wListMenuID]
and a ; PCPOKEMONLISTMENU?
and a ; is it a PC pokemon list?
jr z, .pokemonList
push hl
call GetItemPrice
pop hl
ld a, [wListMenuID]
ld a,[wListMenuID]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;needed to make Mateo's move deleter/relearner work
cp a, MOVESLISTMENU
jr z, .skipStoringItemName
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cp ITEMLISTMENU
jr nz, .skipGettingQuantity
; if it's an item menu
@ -143,8 +148,6 @@ DisplayListMenuIDLoop::
ld [wd0b5], a
ld a, BANK(ItemNames)
ld [wPredefBank], a
ld a, ITEM_NAME
ld [wNameListType], a
call GetName
jr .storeChosenEntry
.pokemonList
@ -159,13 +162,14 @@ DisplayListMenuIDLoop::
call GetPartyMonName
.storeChosenEntry ; store the menu entry that the player chose and return
ld de, wcd6d
call CopyToStringBuffer
call CopyToStringBuffer ; copy name to wcf4b - finding the translation for CopyToC49 or whatever it was wasn't enjoyable
.skipStoringItemName ;skip here if skipping storing item name
ld a, CHOSE_MENU_ITEM
ld [wMenuExitMethod], a
ld a, [wCurrentMenuItem]
ld [wChosenMenuItem], a
xor a
ldh [hJoy7], a ; joypad state update flag
ld [hJoy7], a ; joypad state update flag
ld hl, wd730
res 6, [hl] ; turn on letter printing delay
jp BankswitchBack