diff options
Diffstat (limited to 'home.asm')
-rw-r--r-- | home.asm | 233 |
1 files changed, 5 insertions, 228 deletions
@@ -1,5 +1,9 @@ INCLUDE "constants.asm" +SECTION "NULL", ROM0 + +NULL:: + ; rst vectors INCLUDE "home/rst.asm" INCLUDE "home/interrupts.asm" @@ -252,234 +256,7 @@ GetWeekday:: ret INCLUDE "home/pokedex_flags.asm" - -NamesPointers:: ; 35ee (0:35ee) - dba PokemonNames - dba MoveNames - dbw 0, 0 - dba ItemNames - dbw 0, wPartyMonOT - dbw 0, $de7d - dba TrainerClassNames - dba DoPlayerMovement - -GetName:: ; 3606 - ldh a, [hROMBank] - push af - push hl - push bc - push de - ld a, [wce61] - cp $1 - jr nz, .asm_3624 - ld a, [wCurSpecies] - ld [wd151], a - call GetPokemonName - ld hl, $b - add hl, de - ld e, l - ld d, h - jr .asm_3646 -.asm_3624 - ld a, [wce61] - dec a - ld e, a - ld d, $0 - ld hl, NamesPointers - add hl, de - add hl, de - add hl, de - ld a, [hli] - rst Bankswitch - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wCurSpecies] - dec a - call GetNthString - ld de, wStringBuffer1 - ld bc, $d - call CopyBytes -.asm_3646 - ld a, e - ld [wcffe], a - ld a, d - ld [wcfff], a - pop de - pop bc - pop hl - pop af - rst Bankswitch - ret - -GetNthString:: ; 3654 (0:3654) - and a - ret z - push bc - ld b, a - ld c, "@" -.asm_365a - ld a, [hli] - cp c - jr nz, .asm_365a - dec b - jr nz, .asm_365a - pop bc - ret - -GetBasePokemonName:: - push hl - call GetPokemonName - ld hl, wStringBuffer1 -.loop - ld a, [hl] - cp "@" - jr z, .quit - cp "♂" - jr z, .end - cp "♀" - jr z, .end - inc hl - jr .loop -.end - ld [hl], "@" -.quit - pop hl - ret - -GetPokemonName:: ; 367e (0:367e) - ldh a, [hROMBank] - push af - push hl - ld a, BANK(PokemonNames) - rst Bankswitch - ld a, [wd151] - dec a - ld hl, PokemonNames - ld e, a - ld d, $0 -rept MON_NAME_LENGTH +- 1 - add hl, de -endr - ld de, wStringBuffer1 - push de - ld bc, MON_NAME_LENGTH - 1 - call CopyBytes - ld hl, wStringBuffer1 + MON_NAME_LENGTH - 1 - ld [hl], "@" - pop de - pop hl - pop af - rst Bankswitch - ret - -GetItemName:: - push hl - push bc - ld a, [wd151] - cp TM01 - jr nc, .TM - ld [wCurSpecies], a - ld a, $4 - ld [wce61], a - call GetName - jr .copied - -.TM - call GetTMHMName -.copied - ld de, wStringBuffer1 - pop bc - pop hl - ret - -GetTMHMName:: ; 36cc (0:36cc) - push hl - push de - push bc - ld a, [wd151] - push af - cp HM01 - push af - jr c, .TM - ld hl, .HMText ; $3721 - ld bc, $2 - jr .copy - -.TM - ld hl, .TMText ; $371e - ld bc, $2 -.copy - ld de, wStringBuffer1 - call CopyBytes - push de - ld a, [wd151] - ld c, a - callfar GetTMHMNumber - pop de - pop af - ld a, c - jr c, .not_hm - sub NUM_TMS -.not_hm - ld b, "0" -.mod10 - sub 10 - jr c, .done_mod - inc b - jr .mod10 - -.done_mod - add 10 - push af - ld a, b - ld [de], a - inc de - pop af - ld b, "0" - add b - ld [de], a - inc de - ld a, "@" - ld [de], a - pop af - ld [wd151], a - pop bc - pop de - pop hl - ret - -.TMText db "TM@" -.HMText db "HM@" - -IsHM:: - cp HM01 - jr c, .not_HM - scf - ret - -.not_HM - and a - ret - -IsHMMove:: - ld hl, .HMMoves - ld de, $1 - jp IsInArray - -.HMMoves - db CUT, FLY, SURF, STRENGTH, FLASH, WATERFALL, WHIRLPOOL, $FF - -GetMoveName:: - push hl - ld a, $2 - ld [wce61], a - ld a, [wd151] - ld [wCurSpecies], a - call GetName - ld de, wStringBuffer1 - pop hl - ret +INCLUDE "home/names.asm" ScrollingMenu:: call CopyMenuData |