diff options
| author | Eblo <7004497+Eblo@users.noreply.github.com> | 2025-11-06 08:45:46 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-06 08:45:46 -0500 |
| commit | fefee554a733f06dc60272521c19fdc76fdcc702 (patch) | |
| tree | 5246b6778c7d8ca783bab37530e3504474640099 /mm/src | |
| parent | 8c9e6dca046941bebcb5d68170c686388e2596dd (diff) | |
| parent | f45acdd794712fefa0fae0bca86dcac22e040f09 (diff) | |
Merge pull request #1321 from HarbourMasters/develop-mion
Merge develop-mion->develop
Diffstat (limited to 'mm/src')
| -rw-r--r-- | mm/src/code/z_actor.c | 2 | ||||
| -rw-r--r-- | mm/src/code/z_en_item00.c | 102 |
2 files changed, 52 insertions, 52 deletions
diff --git a/mm/src/code/z_actor.c b/mm/src/code/z_actor.c index 00c473524..8c86e337e 100644 --- a/mm/src/code/z_actor.c +++ b/mm/src/code/z_actor.c @@ -3116,7 +3116,7 @@ void Actor_DrawLensActors(PlayState* play, s32 numLensActors, Actor** lensActors POLY_XLU_DISP = gfx; // BENTODO: Since actor masking is diabled for actors that would normally // be "hidden", we are opting to just not render them at all - if (play->roomCtx.curRoom.lensMode == LENS_MODE_HIDE_ACTORS) { + if (play->roomCtx.curRoom.lensMode == LENS_MODE_SHOW_ACTORS) { Actor_Draw(play, *lensActor); } gfx = POLY_XLU_DISP; diff --git a/mm/src/code/z_en_item00.c b/mm/src/code/z_en_item00.c index 12233a36f..3af9d8133 100644 --- a/mm/src/code/z_en_item00.c +++ b/mm/src/code/z_en_item00.c @@ -918,9 +918,6 @@ s16 func_800A7650(s16 dropId) { } Actor* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, u32 params) { - if (!(GameInteractor_Should(VB_ENEMY_DROP_COLLECTIBLE, true, *spawnPos))) { - return; - } s32 pad; Actor* spawnedActor = NULL; @@ -932,61 +929,64 @@ Actor* Item_DropCollectible(PlayState* play, Vec3f* spawnPos, u32 params) { s32 paramFF = params & 0xFF; s32 i; - params &= 0x7FFF; - newParamFF = params & 0xFF; - - if (paramFF == ITEM00_3_HEARTS) { - for (i = 0; i < 3; i++) { - spawnedActor = Item_DropCollectible(play, spawnPos, param7F00 | ITEM00_RECOVERY_HEART | param8000); - } - } else if (paramFF == ITEM00_MUSHROOM_CLOUD) { - param7F00 >>= 8; - if (!Flags_GetCollectible(play, param7F00)) { - Actor_Spawn(&play->actorCtx, play, ACTOR_OBJ_KINOKO, spawnPos->x, spawnPos->y, spawnPos->z, 0, 0, 0, - param7F00); - } - } else if (((paramFF == ITEM00_FLEXIBLE) || (newParamFF == ITEM00_BIG_FAIRY)) && (param10000 == 0)) { + if ((GameInteractor_Should(VB_ENEMY_DROP_COLLECTIBLE, true, *spawnPos))) { + params &= 0x7FFF; newParamFF = params & 0xFF; - if (newParamFF == ITEM00_FLEXIBLE) { - spawnedActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f, - spawnPos->z, 0, 0, 0, FAIRY_PARAMS(FAIRY_TYPE_2, true, param7F00 >> 8)); - if (!Flags_GetCollectible(play, (param7F00 >> 8) & 0x7F)) { - SoundSource_PlaySfxAtFixedWorldPos(play, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY); + + if (paramFF == ITEM00_3_HEARTS) { + for (i = 0; i < 3; i++) { + spawnedActor = Item_DropCollectible(play, spawnPos, param7F00 | ITEM00_RECOVERY_HEART | param8000); } - } else { - spawnedActor = Actor_Spawn( - &play->actorCtx, play, ACTOR_EN_ELFORG, spawnPos->x, spawnPos->y + 40.0f, spawnPos->z, 0, 0, 0, - STRAY_FAIRY_PARAMS((param7F00 >> 8) & 0x7F, STRAY_FAIRY_AREA_CLOCK_TOWN, STRAY_FAIRY_TYPE_COLLECTIBLE)); - if (param20000 == 0) { + } else if (paramFF == ITEM00_MUSHROOM_CLOUD) { + param7F00 >>= 8; + if (!Flags_GetCollectible(play, param7F00)) { + Actor_Spawn(&play->actorCtx, play, ACTOR_OBJ_KINOKO, spawnPos->x, spawnPos->y, spawnPos->z, 0, 0, 0, + param7F00); + } + } else if (((paramFF == ITEM00_FLEXIBLE) || (newParamFF == ITEM00_BIG_FAIRY)) && (param10000 == 0)) { + newParamFF = params & 0xFF; + if (newParamFF == ITEM00_FLEXIBLE) { + spawnedActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ELF, spawnPos->x, spawnPos->y + 40.0f, + spawnPos->z, 0, 0, 0, FAIRY_PARAMS(FAIRY_TYPE_2, true, param7F00 >> 8)); if (!Flags_GetCollectible(play, (param7F00 >> 8) & 0x7F)) { SoundSource_PlaySfxAtFixedWorldPos(play, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY); } - } - } - } else { - if (param8000 == 0) { - params = func_800A7650(newParamFF); - } - if ((s32)params != ITEM00_NO_DROP) { - spawnedActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ITEM00, spawnPos->x, spawnPos->y, spawnPos->z, 0, - 0, 0, (s32)params | param8000 | param7F00); - if ((spawnedActor != NULL) && (param8000 == 0)) { - if (param10000 == 0) { - spawnedActor->velocity.y = 8.0f; - } else { - spawnedActor->velocity.y = -2.0f; + } else { + spawnedActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ELFORG, spawnPos->x, spawnPos->y + 40.0f, + spawnPos->z, 0, 0, 0, + STRAY_FAIRY_PARAMS((param7F00 >> 8) & 0x7F, STRAY_FAIRY_AREA_CLOCK_TOWN, + STRAY_FAIRY_TYPE_COLLECTIBLE)); + if (param20000 == 0) { + if (!Flags_GetCollectible(play, (param7F00 >> 8) & 0x7F)) { + SoundSource_PlaySfxAtFixedWorldPos(play, spawnPos, 40, NA_SE_EV_BUTTERFRY_TO_FAIRY); + } } - spawnedActor->speed = 2.0f; - spawnedActor->gravity = -0.9f; - spawnedActor->world.rot.y = Rand_CenteredFloat(0x10000); - Actor_SetScale(spawnedActor, 0.0f); - ((EnItem00*)spawnedActor)->actionFunc = func_800A6780; - ((EnItem00*)spawnedActor)->unk152 = 0xDC; - if ((spawnedActor->params != ITEM00_SMALL_KEY) && (spawnedActor->params != ITEM00_HEART_PIECE) && - (spawnedActor->params != ITEM00_HEART_CONTAINER)) { - spawnedActor->room = -1; + } + } else { + if (param8000 == 0) { + params = func_800A7650(newParamFF); + } + if ((s32)params != ITEM00_NO_DROP) { + spawnedActor = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_ITEM00, spawnPos->x, spawnPos->y, + spawnPos->z, 0, 0, 0, (s32)params | param8000 | param7F00); + if ((spawnedActor != NULL) && (param8000 == 0)) { + if (param10000 == 0) { + spawnedActor->velocity.y = 8.0f; + } else { + spawnedActor->velocity.y = -2.0f; + } + spawnedActor->speed = 2.0f; + spawnedActor->gravity = -0.9f; + spawnedActor->world.rot.y = Rand_CenteredFloat(0x10000); + Actor_SetScale(spawnedActor, 0.0f); + ((EnItem00*)spawnedActor)->actionFunc = func_800A6780; + ((EnItem00*)spawnedActor)->unk152 = 0xDC; + if ((spawnedActor->params != ITEM00_SMALL_KEY) && (spawnedActor->params != ITEM00_HEART_PIECE) && + (spawnedActor->params != ITEM00_HEART_CONTAINER)) { + spawnedActor->room = -1; + } + spawnedActor->flags |= 0x0010; } - spawnedActor->flags |= 0x0010; } } } |
