diff options
| author | yenatch <yenatch@gmail.com> | 2014-07-12 09:02:49 -0400 |
|---|---|---|
| committer | yenatch <yenatch@gmail.com> | 2014-07-12 09:02:49 -0400 |
| commit | fb11ff7e55be56cef9234c8443614f04f2157a1e (patch) | |
| tree | a6aa8d0745bd07d0b80090491b5e4b6652de4420 /engine/overworld/item.asm | |
| parent | Pull a lot of engine out of main.asm (diff) | |
| parent | Update INSTALL.md (diff) | |
| download | pokeyellow-fb11ff7e55be56cef9234c8443614f04f2157a1e.tar.gz pokeyellow-fb11ff7e55be56cef9234c8443614f04f2157a1e.tar.xz pokeyellow-fb11ff7e55be56cef9234c8443614f04f2157a1e.zip | |
Merge pull request #48 from yenatch/master
Clean up post-split main.asm. Get rid of static wram addresses. Lay out a foundation for Yellow.
Diffstat (limited to 'engine/overworld/item.asm')
| -rw-r--r-- | engine/overworld/item.asm | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/engine/overworld/item.asm b/engine/overworld/item.asm new file mode 100644 index 00000000..a69ec106 --- /dev/null +++ b/engine/overworld/item.asm @@ -0,0 +1,54 @@ +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 [wcc4d], a + predef HideObject + ld a, 1 + ld [wcc3c], 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 "@" |
