diff --git a/src/code/entities/04_facade.asm b/src/code/entities/04_facade.asm index e6028fc3..4d1b7cb4 100644 --- a/src/code/entities/04_facade.asm +++ b/src/code/entities/04_facade.asm @@ -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 diff --git a/src/code/entities/04_genie.asm b/src/code/entities/04_genie.asm index ef7bdb69..0a20990d 100644 --- a/src/code/entities/04_genie.asm +++ b/src/code/entities/04_genie.asm @@ -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 diff --git a/src/code/entities/04_moldorm.asm b/src/code/entities/04_moldorm.asm index 95f41a62..78d33360 100644 --- a/src/code/entities/04_moldorm.asm +++ b/src/code/entities/04_moldorm.asm @@ -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 diff --git a/src/code/entities/04_slime_eye.asm b/src/code/entities/04_slime_eye.asm index 7e59f80e..71746692 100644 --- a/src/code/entities/04_slime_eye.asm +++ b/src/code/entities/04_slime_eye.asm @@ -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 diff --git a/src/code/entities/05_angler_fish.asm b/src/code/entities/05_angler_fish.asm index af7dab53..0d6b7a37 100644 --- a/src/code/entities/05_angler_fish.asm +++ b/src/code/entities/05_angler_fish.asm @@ -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 diff --git a/src/code/entities/05_ghoma.asm b/src/code/entities/05_ghoma.asm index 6edeb073..929c885a 100644 --- a/src/code/entities/05_ghoma.asm +++ b/src/code/entities/05_ghoma.asm @@ -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 diff --git a/src/code/entities/05_hot_head.asm b/src/code/entities/05_hot_head.asm index 2648ac91..64d48e33 100644 --- a/src/code/entities/05_hot_head.asm +++ b/src/code/entities/05_hot_head.asm @@ -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 diff --git a/src/code/entities/05_slime_eel.asm b/src/code/entities/05_slime_eel.asm index 8d71c382..2e8a0e6e 100644 --- a/src/code/entities/05_slime_eel.asm +++ b/src/code/entities/05_slime_eel.asm @@ -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