Split out item fragment code.

This commit is contained in:
yenatch 2014-05-25 19:48:35 -07:00
parent db569956ef
commit 41906725d0
2 changed files with 56 additions and 57 deletions

55
engine/overworld/item.asm Normal file
View file

@ -0,0 +1,55 @@
PickupItem:
call EnableAutoTextBoxDrawing
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld b, a
ld hl, W_MISSABLEOBJECTLIST
.missableObjectsListLoop
ld a, [hli]
cp $ff
ret z
cp b
jr z, .isMissable
inc hl
jr .missableObjectsListLoop
.isMissable
ld a, [hl]
ld [$ffdb], a
ld hl, W_MAPSPRITEEXTRADATA
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
dec a
add a
ld d, 0
ld e, a
add hl, de
ld a, [hl]
ld b, a ; item
ld c, 1 ; quantity
call GiveItem
jr nc, .BagFull
ld a, [$ffdb]
ld [$cc4d], a
ld a, $11 ; RemoveMissableObject
call Predef
ld a, 1
ld [$cc3c], a
ld hl, FoundItemText
jr .print
.BagFull
ld hl, NoMoreRoomForItemText
.print
call PrintText
ret
FoundItemText:
TX_FAR _FoundItemText
db $0B
db "@"
NoMoreRoomForItemText:
TX_FAR _NoMoreRoomForItemText
db "@"

View file

@ -487,63 +487,7 @@ TestBattle:
ld [H_AUTOBGTRANSFERENABLED], a ld [H_AUTOBGTRANSFERENABLED], a
jr .loop jr .loop
INCLUDE "engine/overworld/item.asm"
PickupItem:
call EnableAutoTextBoxDrawing
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
ld b, a
ld hl, W_MISSABLEOBJECTLIST
.missableObjectsListLoop
ld a, [hli]
cp $ff
ret z
cp b
jr z, .isMissable
inc hl
jr .missableObjectsListLoop
.isMissable
ld a, [hl]
ld [$ffdb], a
ld hl, W_MAPSPRITEEXTRADATA
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
dec a
add a
ld d, 0
ld e, a
add hl, de
ld a, [hl]
ld b, a ; item
ld c, 1 ; quantity
call GiveItem
jr nc, .BagFull
ld a, [$ffdb]
ld [$cc4d], a
ld a, $11 ; RemoveMissableObject
call Predef
ld a, 1
ld [$cc3c], a
ld hl, FoundItemText
jr .print
.BagFull
ld hl, NoMoreRoomForItemText
.print
call PrintText
ret
FoundItemText:
TX_FAR _FoundItemText
db $0B
db "@"
NoMoreRoomForItemText:
TX_FAR _NoMoreRoomForItemText
db "@"
INCLUDE "engine/overworld/movement.asm" INCLUDE "engine/overworld/movement.asm"
INCLUDE "engine/cable_club.asm" INCLUDE "engine/cable_club.asm"