pokered/engine/overworld/card_key.asm

109 lines
1.6 KiB
NASM
Raw Normal View History

2014-05-22 22:13:20 +00:00
PrintCardKeyText: ; 52673 (14:6673)
ld hl, SilphCoMapList
ld a, [W_CURMAP]
ld b, a
.asm_5267a
ld a, [hli]
cp $ff
ret z
cp b
jr nz, .asm_5267a
ld a, $35
call Predef ; indirect jump to Func_c586 (c586 (3:4586))
ld a, [$cfc6]
cp $18
jr z, .asm_5269c
cp $24
jr z, .asm_5269c
ld b, a
ld a, [W_CURMAP]
cp SILPH_CO_11F
ret nz
ld a, b
cp $5e
ret nz
.asm_5269c
ld b, CARD_KEY
call IsItemInBag
jr z, .asm_526dc
call Func_526fd
push de
ld a, $1
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call PrintPredefTextID
pop de
srl d
ld a, d
ld b, a
ld [$d73f], a
srl e
ld a, e
ld c, a
ld [$d740], a
ld a, [W_CURMAP] ; $d35e
cp SILPH_CO_11F
jr nz, .asm_526c8
ld a, $3
jr .asm_526ca
.asm_526c8
ld a, $e
.asm_526ca
ld [$d09f], a
ld a, $17
call Predef ; indirect jump to Func_ee9e
ld hl, $d126
set 5, [hl]
ld a, (SFX_1f_57 - SFX_Headers_1f) / 3
jp PlaySound
.asm_526dc
ld a, $2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
jp PrintPredefTextID
SilphCoMapList: ; 526e3 (14:66e3)
db SILPH_CO_2F
db SILPH_CO_3F
db SILPH_CO_4F
db SILPH_CO_5F
db SILPH_CO_6F
db SILPH_CO_7F
db SILPH_CO_8F
db SILPH_CO_9F
db SILPH_CO_10F
db SILPH_CO_11F
db $FF
CardKeySuccessText: ; 526ee (14:66ee)
TX_FAR _CardKeySuccessText1
db $0b
TX_FAR _CardKeySuccessText2
db "@"
CardKeyFailText: ; 526f8 (14:66f8)
TX_FAR _CardKeyFailText
db "@"
Func_526fd: ; 526fd (14:66fd)
ld a, [W_YCOORD] ; $d361
ld d, a
ld a, [W_XCOORD] ; $d362
ld e, a
ld a, [$c109]
and a
jr nz, .asm_5270d
inc d
ret
.asm_5270d
cp $4
jr nz, .asm_52713
dec d
ret
.asm_52713
cp $8
jr nz, .asm_52719
dec e
ret
.asm_52719
inc e
ret