Document DropHeartContainer and BossDestructionHandler for banks 4 and 5

This commit is contained in:
Tobias V. Langhoff 2022-11-04 20:12:06 +01:00
parent df4572c453
commit 05bb48b174
8 changed files with 23 additions and 18 deletions

View File

@ -109,7 +109,7 @@ func_004_50E1::
func_004_50E9::
call GetEntityTransitionCountdown ; $50E9: $CD $05 $0C
jp z, DropHeartContainer ; $50EC: $CA $51 $57
jp z, DropHeartContainer_04 ; $50EC: $CA $51 $57
label_004_50EF:
and $07 ; $50EF: $E6 $07

View File

@ -482,7 +482,7 @@ GenieKilledHandler1::
GenieKilledHandler2::
call GetEntityTransitionCountdown ; $4311: $CD $05 $0C
jp z, DropHeartContainer ; $4314: $CA $51 $57
jp z, DropHeartContainer_04 ; $4314: $CA $51 $57
jp label_004_50EF ; $4317: $C3 $EF $50

View File

@ -39,7 +39,7 @@ MoldormEntityHandler::
._00 dw MoldormDestructionFlashInitHandler
._01 dw MoldormDestructionFlash1Handler
._02 dw MoldormDestructionFlash2Handler
._03 dw BossDestructionHandler
._03 dw BossDestructionHandler_04
MoldormDestructionFlashInitHandler::
call GetEntityTransitionCountdown ; $56D5: $CD $05 $0C
@ -87,9 +87,10 @@ Data_004_5715::
db $F8, $FA, $00, $06, $08, $06, $00, $FA
; Loop until boss destruction animation is done, then call to load heart
BossDestructionHandler::
; Used from 4 different bosses: Moldorm, Genie, Slime Eye, Facade
BossDestructionHandler_04::
call GetEntityTransitionCountdown ; $571D
jp z, DropHeartContainer ; $5720: $CA $51 $57
jp z, DropHeartContainer_04 ; $5720: $CA $51 $57
and $03 ; $5723: $E6 $03
jr nz, .return ; $5725: $20 $29
@ -123,8 +124,8 @@ BossDestructionHandler::
ret ; $5750: $C9
; Load heart container value to load when boss is killed
; Used from 4 different bossses.
DropHeartContainer::
; Used from 4 different bosses: Moldorm, Genie, Slime Eye, Facade
DropHeartContainer_04::
ld a, ENTITY_HEART_CONTAINER ; $5751: $3E $36
call SpawnNewEntity_trampoline ; $5753: $CD $86 $3B
ldh a, [hMultiPurpose0] ; $5756: $F0 $D7

View File

@ -545,7 +545,7 @@ jr_004_4E2E:
cp $FF ; $4E45: $FE $FF
jr nz, jr_004_4E2E ; $4E47: $20 $E5
jp DropHeartContainer ; $4E49: $C3 $51 $57
jp DropHeartContainer_04 ; $4E49: $C3 $51 $57
jr_004_4E4C:
jp ClearEntityStatusBank04 ; $4E4C: $C3 $7A $6D

View File

@ -48,7 +48,7 @@ func_005_55AB::
jp label_005_7550 ; $55B9: $C3 $50 $75
label_005_55BC:
call func_005_7585 ; $55BC: $CD $85 $75
call DropHeartContainer_05 ; $55BC: $CD $85 $75
ld hl, wEntitiesPrivateCountdown3Table ; $55BF: $21 $80 $C4
add hl, de ; $55C2: $19
ld [hl], $08 ; $55C3: $36 $08

View File

@ -492,7 +492,7 @@ label_005_7E9D:
ldh [hNoiseSfx], a ; $7E9F: $E0 $F4
ldh a, [hActiveEntityType] ; $7EA1: $F0 $EB
cp ENTITY_EVIL_EAGLE ; $7EA3: $FE $63
jp z, label_005_758C ; $7EA5: $CA $8C $75
jp z, DropHeartContainer_05.evilEagle ; $7EA5: $CA $8C $75
call DidKillEnemy ; $7EA8: $CD $50 $3F
ld e, $0F ; $7EAB: $1E $0F

View File

@ -62,7 +62,7 @@ func_005_634D::
jp label_005_7550 ; $635B: $C3 $50 $75
label_005_635E:
call func_005_7585 ; $635E: $CD $85 $75
call DropHeartContainer_05 ; $635E: $CD $85 $75
ld hl, wEntitiesPosXTable ; $6361: $21 $00 $C2
add hl, de ; $6364: $19
ldh a, [hLinkPositionX] ; $6365: $F0 $98

View File

@ -832,7 +832,7 @@ func_005_72E6::
._01 dw func_005_7363 ; $72F1
._02 dw func_005_7425 ; $72F3
._03 dw func_005_74B1 ; $72F5
._04 dw func_005_753C ; $72F7
._04 dw BossDestructionHandler_05 ; $72F7
Data_005_72F9::
db $09, $0A, $0B, $0B, $0B, $0B
@ -1180,10 +1180,12 @@ func_005_7535::
ld [wD200], a ; $7536: $EA $00 $D2
jp ClearEntityStatus_05 ; $7539: $C3 $4B $7B
func_005_753C::
; Loop until boss destruction animation is done, then call to load heart
; Used from 4 different bosses: Slime Eel, Anglerfish, Evil Eagle, Hot Head
BossDestructionHandler_05::
call func_005_79A7 ; $753C: $CD $A7 $79
call GetEntityTransitionCountdown ; $753F: $CD $05 $0C
jp z, func_005_7585 ; $7542: $CA $85 $75
jp z, DropHeartContainer_05 ; $7542: $CA $85 $75
ld hl, wEntitiesFlashCountdownTable ; $7545: $21 $20 $C4
add hl, bc ; $7548: $09
@ -1225,12 +1227,14 @@ label_005_7570:
ldh [hNoiseSfx], a ; $7582: $E0 $F4
ret ; $7584: $C9
func_005_7585::
; Load heart container value to load when boss is killed
; Used from 4 different bosses: Slime Eel, Anglerfish, Evil Eagle, Hot Head
DropHeartContainer_05::
ld a, ENTITY_HEART_CONTAINER ; $7585: $3E $36
call SpawnNewEntity_trampoline ; $7587: $CD $86 $3B
jr jr_005_7599 ; $758A: $18 $0D
jr .notEvilEagle ; $758A: $18 $0D
label_005_758C:
.evilEagle:
ld a, ENTITY_HEART_CONTAINER ; $758C: $3E $36
call SpawnNewEntity_trampoline ; $758E: $CD $86 $3B
ld a, $48 ; $7591: $3E $48
@ -1238,7 +1242,7 @@ label_005_758C:
ld a, $10 ; $7595: $3E $10
ldh [hMultiPurpose1], a ; $7597: $E0 $D8
jr_005_7599:
.notEvilEagle:
ldh a, [hMultiPurpose1] ; $7599: $F0 $D8
ld hl, wEntitiesPosYTable ; $759B: $21 $10 $C2
add hl, de ; $759E: $19