pokered/engine/battle/bank_e_misc.asm

123 lines
2 KiB
NASM
Raw Normal View History

2015-04-01 15:27:51 +00:00
; formats a string at wMovesString that lists the moves at wMoves
FormatMovesString: ; 39b87 (e:5b87)
ld hl, wMoves
ld de, wMovesString
ld b, $0
.printMoveNameLoop
ld a, [hli]
and a ; end of move list?
jr z, .printDashLoop ; print dashes when no moves are left
push hl
ld [wd0b5], a
ld a, BANK(MoveNames)
ld [wPredefBank], a
ld a, MOVE_NAME
ld [wNameListType], a
call GetName
ld hl, wcd6d
.copyNameLoop
ld a, [hli]
cp $50
jr z, .doneCopyingName
ld [de], a
inc de
jr .copyNameLoop
.doneCopyingName
ld a, b
2015-07-15 06:16:06 +00:00
ld [wNumMovesMinusOne], a
2015-04-01 15:27:51 +00:00
inc b
ld a, $4e ; line break
ld [de], a
inc de
pop hl
ld a, b
cp NUM_MOVES
jr z, .done
jr .printMoveNameLoop
.printDashLoop
ld a, "-"
ld [de], a
inc de
inc b
ld a, b
cp NUM_MOVES
jr z, .done
ld a, $4e ; line break
ld [de], a
inc de
jr .printDashLoop
.done
ld a, "@"
ld [de], a
ret
; XXX this is called in a few places, but it doesn't appear to do anything useful
InitList: ; 39bd5 (e:5bd5)
2015-07-13 06:00:48 +00:00
ld a, [wInitListType]
cp INIT_ENEMYOT_LIST
jr nz, .notEnemy
2015-04-01 15:27:51 +00:00
ld hl, wEnemyPartyCount
ld de, wEnemyMonOT
ld a, ENEMYOT_NAME
jr .done
.notEnemy
2015-07-13 06:00:48 +00:00
cp INIT_PLAYEROT_LIST
jr nz, .notPlayer
2015-04-01 15:27:51 +00:00
ld hl, wPartyCount
ld de, wPartyMonOT
ld a, PLAYEROT_NAME
jr .done
.notPlayer
2015-07-13 06:00:48 +00:00
cp INIT_MON_LIST
jr nz, .notMonster
2015-07-15 06:16:06 +00:00
ld hl, wItemList
2015-04-01 15:27:51 +00:00
ld de, MonsterNames
ld a, MONSTER_NAME
jr .done
.notMonster
2015-07-13 06:00:48 +00:00
cp INIT_BAG_ITEM_LIST
jr nz, .notBag
2015-04-01 15:27:51 +00:00
ld hl, wNumBagItems
ld de, ItemNames
ld a, ITEM_NAME
jr .done
.notBag
2015-07-15 06:16:06 +00:00
ld hl, wItemList
2015-04-01 15:27:51 +00:00
ld de, ItemNames
ld a, ITEM_NAME
.done
2015-04-01 15:27:51 +00:00
ld [wNameListType], a
ld a, l
2015-07-15 06:16:06 +00:00
ld [wListPointer], a
2015-04-01 15:27:51 +00:00
ld a, h
2015-07-15 06:16:06 +00:00
ld [wListPointer + 1], a
2015-04-01 15:27:51 +00:00
ld a, e
ld [wcf8d], a
ld a, d
ld [wcf8e], a
ld bc, ItemPrices
ld a, c
ld [wItemPrices], a
ld a, b
ld [wItemPrices + 1], a
ret
; get species of mon e in list [wcc49] for LoadMonData
GetMonSpecies: ; 39c37 (e:5c37)
ld hl, wPartySpecies
ld a, [wcc49]
and a
jr z, .getSpecies
dec a
jr z, .enemyParty
ld hl, wBoxSpecies
jr .getSpecies
.enemyParty
ld hl, wEnemyPartyMons
.getSpecies
ld d, 0
add hl, de
ld a, [hl]
ld [wcf91], a
2015-06-02 03:15:02 +00:00
ret