mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
100 lines
1.8 KiB
NASM
100 lines
1.8 KiB
NASM
NamePointers::
|
|
; entries correspond to *_NAME constants
|
|
dw MonsterNames
|
|
dw MoveNames
|
|
dw UnusedBadgeNames
|
|
dw ItemNames
|
|
dw wPartyMonOT ; player's OT names list
|
|
dw wEnemyMonOT ; enemy's OT names list
|
|
dw TrainerNames
|
|
|
|
GetName::
|
|
; arguments:
|
|
; [wd0b5] = which name
|
|
; [wNameListType] = which list
|
|
; [wPredefBank] = bank of list
|
|
;
|
|
; returns pointer to name in de
|
|
ld a, [wd0b5]
|
|
ld [wd11e], a
|
|
|
|
; TM names are separate from item names.
|
|
; BUG: This applies to all names instead of just items.
|
|
assert NUM_POKEMON_INDEXES < HM01, \
|
|
"A bug in GetName will get TM/HM names for Pokémon above ${x:HM01}."
|
|
assert NUM_ATTACKS < HM01, \
|
|
"A bug in GetName will get TM/HM names for moves above ${x:HM01}."
|
|
assert NUM_TRAINERS < HM01, \
|
|
"A bug in GetName will get TM/HM names for trainers above ${x:HM01}."
|
|
cp HM01
|
|
jp nc, GetMachineName
|
|
|
|
ldh a, [hLoadedROMBank]
|
|
push af
|
|
push hl
|
|
push bc
|
|
push de
|
|
ld a, [wNameListType]
|
|
dec a
|
|
jr nz, .otherEntries
|
|
; 1 = MONSTER_NAME
|
|
call GetMonName
|
|
ld hl, NAME_LENGTH
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
jr .gotPtr
|
|
.otherEntries
|
|
; 2-7 = other names
|
|
ld a, [wPredefBank]
|
|
ldh [hLoadedROMBank], a
|
|
ld [MBC1RomBank], a
|
|
ld a, [wNameListType]
|
|
dec a
|
|
add a
|
|
ld d, 0
|
|
ld e, a
|
|
jr nc, .skip
|
|
inc d
|
|
.skip
|
|
ld hl, NamePointers
|
|
add hl, de
|
|
ld a, [hli]
|
|
ldh [hSwapTemp + 1], a
|
|
ld a, [hl]
|
|
ldh [hSwapTemp], a
|
|
ldh a, [hSwapTemp]
|
|
ld h, a
|
|
ldh a, [hSwapTemp + 1]
|
|
ld l, a
|
|
ld a, [wd0b5]
|
|
ld b, a ; wanted entry
|
|
ld c, 0 ; entry counter
|
|
.nextName
|
|
ld d, h
|
|
ld e, l
|
|
.nextChar
|
|
ld a, [hli]
|
|
cp "@"
|
|
jr nz, .nextChar
|
|
inc c
|
|
ld a, b
|
|
cp c
|
|
jr nz, .nextName
|
|
ld h, d
|
|
ld l, e
|
|
ld de, wcd6d
|
|
ld bc, NAME_BUFFER_LENGTH
|
|
call CopyData
|
|
.gotPtr
|
|
ld a, e
|
|
ld [wUnusedCF8D], a
|
|
ld a, d
|
|
ld [wUnusedCF8D + 1], a
|
|
pop de
|
|
pop bc
|
|
pop hl
|
|
pop af
|
|
ldh [hLoadedROMBank], a
|
|
ld [MBC1RomBank], a
|
|
ret
|