mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 23:22:26 +13:00
Add subdirectories to engine/ similar to pokecrystal
This commit is contained in:
parent
5559d51c86
commit
f275790aec
124 changed files with 342 additions and 346 deletions
161
engine/events/hidden_items.asm
Executable file
161
engine/events/hidden_items.asm
Executable file
|
|
@ -0,0 +1,161 @@
|
|||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue