diff --git a/src/code/cutscene_manager.c b/src/code/cutscene_manager.c index 0fafd2b1a..55461b1f6 100644 --- a/src/code/cutscene_manager.c +++ b/src/code/cutscene_manager.c @@ -186,7 +186,7 @@ s16 CutsceneManager_MarkNextCutscenes(void) { s32 j; s32 count = 0; s16 csIdMax = CS_ID_NONE; - s16 priorityMax = SDC_MAX; // lower number means higher priority + s16 priorityMax = SHT_MAX; // lower number means higher priority s16 csId; s16 priority; @@ -540,12 +540,14 @@ s16 CutsceneManager_FindEntranceCsId(void) { s32 csId; for (csId = 0; csId < sSceneCutsceneCount; csId++) { - //! FAKE: - if ((sSceneCutsceneList[csId].scriptIndex != CS_SCRIPT_ID_NONE) && - (sSceneCutsceneList[csId].scriptIndex < (play = sCutsceneMgr.play)->csCtx.scriptListCount) && - (sCutsceneMgr.play->spawn == - sCutsceneMgr.play->csCtx.scriptList[sSceneCutsceneList[csId].scriptIndex].spawn)) { - return csId; + if (sSceneCutsceneList[csId].scriptIndex != CS_SCRIPT_ID_NONE) { + PlayState* play = sCutsceneMgr.play; + + if ((sSceneCutsceneList[csId].scriptIndex < play->csCtx.scriptListCount) && + (sCutsceneMgr.play->spawn == + sCutsceneMgr.play->csCtx.scriptList[sSceneCutsceneList[csId].scriptIndex].spawn)) { + return csId; + } } } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 8b3317529..9d1c46310 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -2479,10 +2479,20 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { } else if (!Object_IsLoaded(&play->objectCtx, actor->objectSlot)) { Actor_Kill(actor); actor = actor->next; - } else if ((freezeExceptionFlag != 0 && !(actor->flags & freezeExceptionFlag)) || - (freezeExceptionFlag == 0 && canFreezeCategory && - !((sp74 == actor) || (player->naviActor == actor) || (player->heldActor == actor) || - (actor->parent == &player->actor)))) { + } else if +#if ENABLE_CUTSCENE_IMPROVEMENTS + ((freezeExceptionFlag && !(actor->flags & freezeExceptionFlag)) || + ((!freezeExceptionFlag) && (!(actor->flags & ACTOR_FLAG_FREEZE_EXCEPTION)) && canFreezeCategory && + (actor != sp74) && (actor != player->heldActor) && (actor != player->naviActor) && + (actor->parent != &player->actor))) + +#else + ((freezeExceptionFlag != 0 && !(actor->flags & freezeExceptionFlag)) || + (freezeExceptionFlag == 0 && canFreezeCategory && + !((sp74 == actor) || (player->naviActor == actor) || (player->heldActor == actor) || + (actor->parent == &player->actor)))) +#endif + { CollisionCheck_ResetDamage(&actor->colChkInfo); actor = actor->next; } else if (actor->update == NULL) {