summaryrefslogtreecommitdiff
path: root/engine/overworld/hidden_items.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/overworld/hidden_items.asm')
-rwxr-xr-xengine/overworld/hidden_items.asm161
1 files changed, 0 insertions, 161 deletions
diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm
deleted file mode 100755
index e40b0ac7..00000000
--- a/engine/overworld/hidden_items.asm
+++ /dev/null
@@ -1,161 +0,0 @@
-HiddenItems:
- ld hl, HiddenItemCoords
- call FindHiddenItemOrCoinsIndex
- ld [wHiddenItemOrCoinsIndex], a
- ld hl, wObtainedHiddenItemsFlags
- ld a, [wHiddenItemOrCoinsIndex]
- ld c, a
- ld b, FLAG_TEST
- predef FlagActionPredef
- ld a, c
- and a
- ret nz
- call EnableAutoTextBoxDrawing
- ld a, 1
- ld [wDoNotWaitForButtonPressAfterDisplayingText], a
- ld a, [wHiddenObjectFunctionArgument] ; item ID
- ld [wd11e], a
- call GetItemName
- tx_pre_jump FoundHiddenItemText
-
-INCLUDE "data/hidden_item_coords.asm"
-
-FoundHiddenItemText::
- TX_FAR _FoundHiddenItemText
- TX_ASM
- ld a, [wHiddenObjectFunctionArgument] ; item ID
- ld b, a
- ld c, 1
- call GiveItem
- jr nc, .bagFull
- ld hl, wObtainedHiddenItemsFlags
- ld a, [wHiddenItemOrCoinsIndex]
- ld c, a
- ld b, FLAG_SET
- predef FlagActionPredef
- ld a, SFX_GET_ITEM_2
- call PlaySoundWaitForCurrent
- call WaitForSoundToFinish
- jp TextScriptEnd
-.bagFull
- call WaitForTextScrollButtonPress ; wait for button press
- xor a
- ld [wDoNotWaitForButtonPressAfterDisplayingText], a
- ld hl, HiddenItemBagFullText
- call PrintText
- jp TextScriptEnd
-
-HiddenItemBagFullText::
- TX_FAR _HiddenItemBagFullText
- db "@"
-
-HiddenCoins:
- ld b, COIN_CASE
- predef GetQuantityOfItemInBag
- ld a, b
- and a
- ret z
- ld hl, HiddenCoinCoords
- call FindHiddenItemOrCoinsIndex
- ld [wHiddenItemOrCoinsIndex], a
- ld hl, wObtainedHiddenCoinsFlags
- ld a, [wHiddenItemOrCoinsIndex]
- ld c, a
- ld b, FLAG_TEST
- predef FlagActionPredef
- ld a, c
- and a
- ret nz
- xor a
- ld [hUnusedCoinsByte], a
- ld [hCoins], a
- ld [hCoins + 1], a
- ld a, [wHiddenObjectFunctionArgument]
- sub COIN
- cp 10
- jr z, .bcd10
- cp 20
- jr z, .bcd20
- cp 40
- jr z, .bcd20 ; should be bcd40
- jr .bcd100
-.bcd10
- ld a, $10
- ld [hCoins + 1], a
- jr .bcdDone
-.bcd20
- ld a, $20
- ld [hCoins + 1], a
- jr .bcdDone
-.bcd40 ; due to a typo, this is never used
- ld a, $40
- ld [hCoins + 1], a
- jr .bcdDone
-.bcd100
- ld a, $1
- ld [hCoins], a
-.bcdDone
- ld de, wPlayerCoins + 1
- ld hl, hCoins + 1
- ld c, $2
- predef AddBCDPredef
- ld hl, wObtainedHiddenCoinsFlags
- ld a, [wHiddenItemOrCoinsIndex]
- ld c, a
- ld b, FLAG_SET
- predef FlagActionPredef
- call EnableAutoTextBoxDrawing
- ld a, [wPlayerCoins]
- cp $99
- jr nz, .roomInCoinCase
- ld a, [wPlayerCoins + 1]
- cp $99
- jr nz, .roomInCoinCase
- tx_pre_id DroppedHiddenCoinsText
- jr .done
-.roomInCoinCase
- tx_pre_id FoundHiddenCoinsText
-.done
- jp PrintPredefTextID
-
-INCLUDE "data/hidden_coins.asm"
-
-FoundHiddenCoinsText::
- TX_FAR _FoundHiddenCoinsText
- TX_SFX_ITEM_2
- db "@"
-
-DroppedHiddenCoinsText::
- TX_FAR _FoundHiddenCoins2Text
- TX_SFX_ITEM_2
- TX_FAR _DroppedHiddenCoinsText
- db "@"
-
-FindHiddenItemOrCoinsIndex:
- ld a, [wHiddenObjectY]
- ld d, a
- ld a, [wHiddenObjectX]
- ld e, a
- ld a, [wCurMap]
- ld b, a
- ld c, -1
-.loop
- inc c
- ld a, [hli]
- cp $ff ; end of the list?
- ret z ; if so, we're done here
- cp b
- jr nz, .next1
- ld a, [hli]
- cp d
- jr nz, .next2
- ld a, [hli]
- cp e
- jr nz, .loop
- ld a, c
- ret
-.next1
- inc hl
-.next2
- inc hl
- jr .loop