pokered/engine/give_pokemon.asm
yenatch 40c17c906b Remove most static wram addresses. Use labels instead.
For unknown addresses, use "w<address>".

Label overleads are still an issue.
2014-05-26 22:04:39 -07:00

81 lines
1.3 KiB
NASM
Executable file

_GivePokemon: ; 4fda5 (13:7da5)
call EnableAutoTextBoxDrawing
xor a
ld [wccd3], a
ld a, [W_NUMINPARTY] ; W_NUMINPARTY
cp $6
jr c, .asm_4fe01
ld a, [W_NUMINBOX] ; wda80
cp $14
jr nc, .asm_4fdf9
xor a
ld [W_ENEMYBATTSTATUS3], a ; W_ENEMYBATTSTATUS3
ld a, [wcf91]
ld [W_ENEMYMONID], a
callab Func_3eb01
call SetPokedexOwnedFlag
callab Func_e7a4
ld hl, wcf4b
ld a, [wd5a0]
and $7f
cp $9
jr c, .asm_4fdec
sub $9
ld [hl], $f7
inc hl
add $f6
jr .asm_4fdee
.asm_4fdec
add $f7
.asm_4fdee
ld [hli], a
ld [hl], $50
ld hl, SetToBoxText
call PrintText
scf
ret
.asm_4fdf9
ld hl, BoxIsFullText
call PrintText
and a
ret
.asm_4fe01
call SetPokedexOwnedFlag
call AddPokemonToParty
ld a, $1
ld [wcc3c], a
ld [wccd3], a
scf
ret
SetPokedexOwnedFlag: ; 4fe11 (13:7e11)
ld a, [wcf91]
push af
ld [wd11e], a
ld a, $3a
call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
ld a, [wd11e]
dec a
ld c, a
ld hl, wPokedexOwned ; wPokedexOwned
ld b, $1
ld a, $10 ; FlagActionPredef
call Predef
pop af
ld [wd11e], a
call GetMonName
ld hl, GotMonText
jp PrintText
GotMonText: ; 4fe39 (13:7e39)
TX_FAR _GotMonText
db $0b
db "@"
SetToBoxText: ; 4fe3f (13:7e3f)
TX_FAR _SetToBoxText
db "@"
BoxIsFullText: ; 4fe44 (13:7e44)
TX_FAR _BoxIsFullText
db "@"