From e55e909477cf2f068780c1bf95e0584e675f6383 Mon Sep 17 00:00:00 2001 From: fig02 Date: Thu, 17 Oct 2024 21:44:35 -0400 Subject: Document `ACTOR_FLAG_UPDATE_DURING_OCARINA` and `PLAYER_STATE2_USING_OCARINA` (#2277) * Document ACTOR_FLAG_UPDATE_DURING_OCARINA * document PLAYER_STATE2_USING_OCARINA * format * comment tweak * treat var as flag --- src/code/z_actor.c | 12 ++++++------ src/code/z_player_call.c | 5 +++-- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'src/code') diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 49ee7e943..cbefaea19 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -2338,7 +2338,7 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { Actor* actor; Player* player; u32* categoryFreezeMaskP; - u32 requiredActorFlag; + u32 freezeExceptionFlag; u32 canFreezeCategory; Actor* sp74; ActorEntry* actorEntry; @@ -2351,7 +2351,7 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { } sp74 = NULL; - requiredActorFlag = 0; + freezeExceptionFlag = 0; if (play->numActorEntries != 0) { actorEntry = &play->actorEntryList[0]; @@ -2377,8 +2377,8 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { categoryFreezeMaskP = &sCategoryFreezeMasks[0]; - if (player->stateFlags2 & PLAYER_STATE2_27) { - requiredActorFlag = ACTOR_FLAG_25; + if (player->stateFlags2 & PLAYER_STATE2_USING_OCARINA) { + freezeExceptionFlag = ACTOR_FLAG_UPDATE_DURING_OCARINA; } if ((player->stateFlags1 & PLAYER_STATE1_TALKING) && ((player->actor.textId & 0xFF00) != 0x600)) { @@ -2406,8 +2406,8 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { } else if (!Object_IsLoaded(&play->objectCtx, actor->objectSlot)) { Actor_Kill(actor); actor = actor->next; - } else if ((requiredActorFlag && !(actor->flags & requiredActorFlag)) || - (!requiredActorFlag && canFreezeCategory && + } else if ((freezeExceptionFlag != 0 && !(actor->flags & freezeExceptionFlag)) || + (freezeExceptionFlag == 0 && canFreezeCategory && !((sp74 == actor) || (actor == player->naviActor) || (actor == player->heldActor) || (&player->actor == actor->parent)))) { CollisionCheck_ResetDamage(&actor->colChkInfo); diff --git a/src/code/z_player_call.c b/src/code/z_player_call.c index 64680a0d0..6859e5731 100644 --- a/src/code/z_player_call.c +++ b/src/code/z_player_call.c @@ -1,7 +1,8 @@ #include "global.h" -#define FLAGS \ - (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5 | ACTOR_FLAG_25 | ACTOR_FLAG_26) +#define FLAGS \ + (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_4 | ACTOR_FLAG_5 | \ + ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_26) #pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128" \ "ntsc-1.2:128 pal-1.1:128" -- cgit v1.2.3