mirror of
https://github.com/thornAvery/kep-hack.git
synced 2025-09-17 02:40:50 +12:00
Split out item fragment code.
This commit is contained in:
parent
db569956ef
commit
41906725d0
55
engine/overworld/item.asm
Normal file
55
engine/overworld/item.asm
Normal 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 "@"
|
58
main.asm
58
main.asm
|
@ -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"
|
||||||
|
|
Loading…
Reference in a new issue