aboutsummaryrefslogtreecommitdiffstats
path: root/engine/items/itemfinder.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/items/itemfinder.asm')
-rwxr-xr-xengine/items/itemfinder.asm34
1 files changed, 18 insertions, 16 deletions
diff --git a/engine/items/itemfinder.asm b/engine/items/itemfinder.asm
index d7e5b3ce..5da72388 100755
--- a/engine/items/itemfinder.asm
+++ b/engine/items/itemfinder.asm
@@ -1,16 +1,16 @@
HiddenItemNear: ; 7481f (1d:481f)
ld hl, HiddenItemCoords
- ld b, $0
-.asm_74824
- ld de, $0003
+ ld b, 0
+.loop
+ ld de, 3
ld a, [W_CURMAP]
call IsInRestOfArray
ret nc ; return if current map has no hidden items
push bc
push hl
- ld hl, wd6f0
+ ld hl, wObtainedHiddenItemsFlags
ld c, b
- ld b, $2
+ ld b, FLAG_TEST
predef FlagActionPredef
ld a, c
pop hl
@@ -22,28 +22,30 @@ HiddenItemNear: ; 7481f (1d:481f)
inc hl
ld e, [hl]
inc hl
- jr nz, .asm_74824 ; 0x74845 $dd
+ jr nz, .loop ; if the item has already been obtained
+; check if the item is within 4-5 tiles (depending on the direction of item)
ld a, [W_YCOORD]
- call Func_7486b
+ call Sub5ClampTo0
cp d
- jr nc, .asm_74824 ; 0x7484e $d4
+ jr nc, .loop
ld a, [W_YCOORD]
- add $4
+ add 4
cp d
- jr c, .asm_74824 ; 0x74856 $cc
+ jr c, .loop
ld a, [W_XCOORD]
- call Func_7486b
+ call Sub5ClampTo0
cp e
- jr nc, .asm_74824 ; 0x7485f $c3
+ jr nc, .loop
ld a, [W_XCOORD]
- add $5
+ add 5
cp e
- jr c, .asm_74824 ; 0x74867 $bb
+ jr c, .loop
scf
ret
-Func_7486b: ; 7486b (1d:486b)
- sub $5
+Sub5ClampTo0: ; 7486b (1d:486b)
+; subtract 5 but clamp to 0
+ sub 5
cp $f0
ret c
xor a