summaryrefslogtreecommitdiff
path: root/home.asm
diff options
context:
space:
mode:
Diffstat (limited to 'home.asm')
-rw-r--r--home.asm233
1 files changed, 5 insertions, 228 deletions
diff --git a/home.asm b/home.asm
index 90dc8345..b7b2bc65 100644
--- a/home.asm
+++ b/home.asm
@@ -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