mirror of https://github.com/zeldaret/mm.git
Document Update Actor Flags (#1762)
* name flags, TODO: comments * comments * improve comments * small cleanup * cleanup comment
This commit is contained in:
parent
971d95b550
commit
a6675d7327
|
|
@ -553,10 +553,15 @@ typedef enum DoorLockType {
|
|||
// When chosen as the next lock-on actor, this flag is unset.
|
||||
#define ACTOR_FLAG_FOCUS_ACTOR_REFINDABLE (1 << 19)
|
||||
|
||||
//
|
||||
#define ACTOR_FLAG_100000 (1 << 20)
|
||||
//
|
||||
#define ACTOR_FLAG_200000 (1 << 21)
|
||||
// Actor can update even if Player is currently in one of the `sCategoryFreezeMasks` states.
|
||||
// Typically an actor will halt while the player is in one of the `sCategoryFreezeMasks` states (depending on category).
|
||||
// This flag allows a given actor to be an exception.
|
||||
#define ACTOR_FLAG_FREEZE_EXCEPTION (1 << 20)
|
||||
|
||||
// Actor can update even if the Song of Soaring Cutscene or the Song of Time Cutscene is playing.
|
||||
// Typically an actor will halt while the Song of Soaring Cutscene or the Song of Time Cutscene is playing.
|
||||
// This flag allows a given actor to be an exception.
|
||||
#define ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS (1 << 21)
|
||||
|
||||
// Specifies whether the actor can (not) use fake point lights, in the event that ucode point lights are not compatible with its display lists.
|
||||
// In F3DZEX2 versions that predate MM, microcode point lights didn't exist so `PointLight_t` could not be used.
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ typedef struct PlayState {
|
|||
/* 0x187FC */ MtxF billboardMtxF;
|
||||
/* 0x1883C */ Mtx* billboardMtx;
|
||||
/* 0x18840 */ u32 gameplayFrames;
|
||||
/* 0x18844 */ u8 unk_18844; // bool
|
||||
/* 0x18844 */ u8 soaringCsOrSoTCsPlaying; // Either the Song of Soaring Cutscene or the Song of Time Cutscene is playing.
|
||||
/* 0x18845 */ u8 haltAllActors;
|
||||
/* 0x18846 */ s16 numSetupActors;
|
||||
/* 0x18848 */ RoomList roomList;
|
||||
|
|
|
|||
|
|
@ -2556,9 +2556,8 @@ typedef struct {
|
|||
/* 0x0C */ u32 canFreezeCategory;
|
||||
/* 0x10 */ Actor* talkActor;
|
||||
/* 0x14 */ Player* player;
|
||||
/* 0x18 */ u32 unk_18; // Bitmask of actor flags. The actor will only have main called if it has at least 1
|
||||
// flag set that matches this bitmask
|
||||
} UpdateActor_Params; // size = 0x1C
|
||||
/* 0x18 */ u32 updateActorFlagsMask; // Actor will update only if at least 1 actor flag is set in this bitmask
|
||||
} UpdateActor_Params; // size = 0x1C
|
||||
|
||||
Actor* Actor_UpdateActor(UpdateActor_Params* params) {
|
||||
PlayState* play = params->play;
|
||||
|
|
@ -2591,7 +2590,7 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) {
|
|||
Actor_Kill(actor);
|
||||
} else if (((params->freezeExceptionFlag != 0) && !(actor->flags & params->freezeExceptionFlag)) ||
|
||||
(((!params->freezeExceptionFlag) != 0) &&
|
||||
(!(actor->flags & ACTOR_FLAG_100000) ||
|
||||
(!(actor->flags & ACTOR_FLAG_FREEZE_EXCEPTION) ||
|
||||
((actor->category == ACTORCAT_EXPLOSIVES) && (params->player->stateFlags1 & PLAYER_STATE1_200))) &&
|
||||
params->canFreezeCategory && (actor != params->talkActor) && (actor != params->player->heldActor) &&
|
||||
(actor->parent != ¶ms->player->actor))) {
|
||||
|
|
@ -2605,7 +2604,7 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) {
|
|||
actor->yawTowardsPlayer = Actor_WorldYawTowardActor(actor, ¶ms->player->actor);
|
||||
actor->flags &= ~ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT;
|
||||
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & params->unk_18)) {
|
||||
if ((DECR(actor->freezeTimer) == 0) && (actor->flags & params->updateActorFlagsMask)) {
|
||||
if (actor == params->player->focusActor) {
|
||||
actor->isLockedOn = true;
|
||||
} else {
|
||||
|
|
@ -2677,10 +2676,11 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) {
|
|||
params.player = player;
|
||||
params.play = play;
|
||||
|
||||
if (play->unk_18844) {
|
||||
params.unk_18 = ACTOR_FLAG_200000;
|
||||
if (play->soaringCsOrSoTCsPlaying) {
|
||||
params.updateActorFlagsMask = ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS;
|
||||
} else {
|
||||
params.unk_18 = ACTOR_FLAG_200000 | ACTOR_FLAG_INSIDE_CULLING_VOLUME | ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
params.updateActorFlagsMask = ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS | ACTOR_FLAG_INSIDE_CULLING_VOLUME |
|
||||
ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
}
|
||||
|
||||
Actor_SpawnSetupActors(play, actorCtx);
|
||||
|
|
@ -3136,13 +3136,14 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
|
|||
Gfx* sp58;
|
||||
ActorListEntry* actorEntry;
|
||||
Actor* actor;
|
||||
s32 actorFlags;
|
||||
s32 drawActorFlagsMask;
|
||||
s32 category;
|
||||
|
||||
if (play->unk_18844) {
|
||||
actorFlags = ACTOR_FLAG_200000;
|
||||
if (play->soaringCsOrSoTCsPlaying) {
|
||||
drawActorFlagsMask = ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS;
|
||||
} else {
|
||||
actorFlags = ACTOR_FLAG_200000 | ACTOR_FLAG_INSIDE_CULLING_VOLUME | ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
drawActorFlagsMask = ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS | ACTOR_FLAG_INSIDE_CULLING_VOLUME |
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
}
|
||||
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
|
@ -3170,7 +3171,7 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
|
|||
}
|
||||
|
||||
actor->isDrawn = false;
|
||||
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & actorFlags)) {
|
||||
if ((actor->init == NULL) && (actor->draw != NULL) && (actor->flags & drawActorFlagsMask)) {
|
||||
if ((actor->flags & ACTOR_FLAG_REACT_TO_LENS) &&
|
||||
((play->roomCtx.curRoom.lensMode == LENS_MODE_SHOW_ACTORS) ||
|
||||
(play->actorCtx.lensMaskSize == LENS_MASK_ACTIVE_SIZE) ||
|
||||
|
|
@ -3212,7 +3213,7 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) {
|
|||
gSPBranchList(ref2, &tmp2[1]);
|
||||
POLY_XLU_DISP = &tmp2[1];
|
||||
|
||||
if (!play->unk_18844) {
|
||||
if (!play->soaringCsOrSoTCsPlaying) {
|
||||
Lights_DrawGlow(play);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ void CutsceneManager_End(void) {
|
|||
|
||||
switch (sCutsceneMgr.startMethod) {
|
||||
case CS_START_2:
|
||||
sCutsceneMgr.targetActor->flags &= ~ACTOR_FLAG_100000;
|
||||
sCutsceneMgr.targetActor->flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
FALLTHROUGH;
|
||||
case CS_START_1:
|
||||
Player_SetCsActionWithHaltedActors(sCutsceneMgr.play, NULL, PLAYER_CSACTION_END);
|
||||
|
|
@ -359,7 +359,7 @@ s16 CutsceneManager_StartWithPlayerCs(s16 csId, Actor* actor) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Start an actor cutscene, activate Player Cutscene Action "Wait", turn on ACTOR_FLAG_100000
|
||||
* Start an actor cutscene, activate Player Cutscene Action "Wait", turn on ACTOR_FLAG_FREEZE_EXCEPTION
|
||||
*/
|
||||
s16 CutsceneManager_StartWithPlayerCsAndSetFlag(s16 csId, Actor* actor) {
|
||||
s16 startCsId = CutsceneManager_Start(csId, actor);
|
||||
|
|
@ -370,7 +370,7 @@ s16 CutsceneManager_StartWithPlayerCsAndSetFlag(s16 csId, Actor* actor) {
|
|||
CutsceneManager_Stop(sCutsceneMgr.csId);
|
||||
}
|
||||
if (actor != NULL) {
|
||||
actor->flags |= ACTOR_FLAG_100000;
|
||||
actor->flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
sCutsceneMgr.startMethod = CS_START_2;
|
||||
} else {
|
||||
sCutsceneMgr.startMethod = CS_START_1;
|
||||
|
|
|
|||
|
|
@ -1277,7 +1277,7 @@ void Play_DrawMain(PlayState* this) {
|
|||
goto PostWorldDraw;
|
||||
}
|
||||
|
||||
if (!this->unk_18844) {
|
||||
if (!this->soaringCsOrSoTCsPlaying) {
|
||||
if (1) {
|
||||
if (((u32)this->skyboxId != SKYBOX_NONE) && !this->envCtx.skyboxDisabled) {
|
||||
if ((this->skyboxId == SKYBOX_NORMAL_SKY) || (this->skyboxId == SKYBOX_3)) {
|
||||
|
|
@ -2270,7 +2270,7 @@ void Play_Init(GameState* thisx) {
|
|||
this->worldCoverAlpha = 0;
|
||||
this->bgCoverAlpha = 0;
|
||||
this->haltAllActors = false;
|
||||
this->unk_18844 = false;
|
||||
this->soaringCsOrSoTCsPlaying = false;
|
||||
|
||||
if (gSaveContext.gameMode != GAMEMODE_TITLE_SCREEN) {
|
||||
if (gSaveContext.nextTransitionType == TRANS_NEXT_TYPE_DEFAULT) {
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_200000 | ACTOR_FLAG_UPDATE_DURING_OCARINA | \
|
||||
ACTOR_FLAG_CAN_PRESS_SWITCHES | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA | ACTOR_FLAG_CAN_PRESS_SWITCHES | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
ActorFunc sPlayerCallInitFunc;
|
||||
ActorFunc sPlayerCallDestroyFunc;
|
||||
|
|
|
|||
|
|
@ -1961,7 +1961,7 @@ void Player_AdjustSingleLeg(PlayState* play, Player* player, SkelAnime* skelAnim
|
|||
f32 sp7C;
|
||||
|
||||
if ((player->stateFlags3 & PLAYER_STATE3_1) || !(player->actor.scale.y >= 0.0f) ||
|
||||
(player->stateFlags1 & PLAYER_STATE1_DEAD) || play->unk_18844) {
|
||||
(player->stateFlags1 & PLAYER_STATE1_DEAD) || play->soaringCsOrSoTCsPlaying) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void BgIknvObj_Init(Actor* thisx, PlayState* play) {
|
|||
case IKNV_OBJ_WATERWHEEL:
|
||||
this->dList = object_iknv_obj_DL_013058;
|
||||
this->actionFunc = BgIknvObj_UpdateWaterwheel;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_100000;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ void EnBom_Init(Actor* thisx, PlayState* play) {
|
|||
this->collider2.elements[0].dim.worldSphere.center.y = this->actor.world.pos.y;
|
||||
this->collider2.elements[0].dim.worldSphere.center.z = this->actor.world.pos.z;
|
||||
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
|
||||
if (Actor_HasParent(&this->actor, play)) {
|
||||
this->actionFunc = EnBom_WaitForRelease;
|
||||
|
|
@ -301,11 +301,11 @@ void EnBom_Move(EnBom* this, PlayState* play) {
|
|||
}
|
||||
|
||||
void EnBom_WaitForRelease(EnBom* this, PlayState* play) {
|
||||
// if parent is NULL bomb has been released
|
||||
// if parent pointer is NULL, the bomb has been released
|
||||
if (Actor_HasNoParent(&this->actor, play)) {
|
||||
this->actionFunc = EnBom_Move;
|
||||
this->actor.room = play->roomCtx.curRoom.num;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.bgCheckFlags &= ~BGCHECKFLAG_GROUND;
|
||||
Math_Vec3s_ToVec3f(&this->actor.prevPos, &this->actor.home.rot);
|
||||
if (this->isPowderKeg) {
|
||||
|
|
@ -555,7 +555,7 @@ void EnBom_Update(Actor* thisx, PlayState* play) {
|
|||
Camera_AddQuake(&play->mainCamera, 2, 11, 8);
|
||||
thisx->params = BOMB_TYPE_EXPLOSION;
|
||||
this->timer = 10;
|
||||
thisx->flags |= (ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_100000);
|
||||
thisx->flags |= (ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION);
|
||||
this->actionFunc = EnBom_Explode;
|
||||
if (this->isPowderKeg) {
|
||||
gSaveContext.powderKegTimer = 0;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ void func_80C05B3C(EnBombal* this, PlayState* play) {
|
|||
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_75_40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_73_10) &&
|
||||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_85_02)) {
|
||||
player->stateFlags1 |= ACTOR_FLAG_DRAW_CULLING_DISABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
}
|
||||
this->actionFunc = func_80C05C44;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_100000)
|
||||
#define FLAGS (ACTOR_FLAG_FREEZE_EXCEPTION)
|
||||
|
||||
void EnColMan_Init(Actor* thisx, PlayState* play);
|
||||
void EnColMan_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -318,7 +318,7 @@ void EnDinofos_Init(Actor* thisx, PlayState* play) {
|
|||
if (this->actor.csId == CS_ID_NONE) {
|
||||
EnDinofos_SetupIdle(this);
|
||||
} else {
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.gravity = 0.0f;
|
||||
this->actor.velocity.y = 0.0f;
|
||||
sCsId = thisx->csId;
|
||||
|
|
@ -613,7 +613,7 @@ void EnDinofos_IntroCutsceneYell(EnDinofos* this, PlayState* play) {
|
|||
|
||||
if (SkelAnime_Update(&this->skelAnime)) {
|
||||
EnDinofos_EndCutscene(this, play);
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.csId = CS_ID_NONE;
|
||||
EnDinofos_SetupIdle(this);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -629,7 +629,7 @@ void EnDragon_Attack(EnDragon* this, PlayState* play) {
|
|||
player->av2.actionVar2 = 100;
|
||||
}
|
||||
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
|
||||
if ((this->state != DEEP_PYTHON_ATTACK_STATE_START) && (curFrame >= this->animEndFrame)) {
|
||||
this->timer = 3;
|
||||
|
|
@ -752,7 +752,7 @@ void EnDragon_UpdateDamage(EnDragon* this, PlayState* play) {
|
|||
Actor_PlaySfx(&this->actor, NA_SE_EN_UTSUBO_DEAD);
|
||||
this->actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->action = DEEP_PYTHON_ACTION_SETUP_DEAD;
|
||||
this->actionFunc = EnDragon_SetupDead;
|
||||
}
|
||||
|
|
@ -765,7 +765,7 @@ void EnDragon_UpdateDamage(EnDragon* this, PlayState* play) {
|
|||
(playerImpactType == PLAYER_IMPACT_ZORA_BARRIER))) {
|
||||
this->actor.speed = 0.0f;
|
||||
this->action = DEEP_PYTHON_ACTION_GRAB;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actionFunc = EnDragon_SetupGrab;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1063,7 +1063,7 @@ void EnEgol_Damaged(EnEgol* this, PlayState* play) {
|
|||
Actor_PlaySfx(&this->actor, NA_SE_EN_EYEGOLE_DEAD);
|
||||
this->actor.flags |= ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actionFunc = EnEgol_StartDeathCutscene;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
#include "overlays/actors/ovl_En_Wallmas/z_en_wallmas.h"
|
||||
#include "overlays/actors/ovl_En_Pr2/z_en_pr2.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000 | ACTOR_FLAG_LOCK_ON_DISABLED)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_LOCK_ON_DISABLED)
|
||||
|
||||
void EnEncount1_Init(Actor* thisx, PlayState* play);
|
||||
void EnEncount1_Update(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@
|
|||
#include "z_en_guard_nuts.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
void EnGuardNuts_Init(Actor* thisx, PlayState* play);
|
||||
void EnGuardNuts_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
|
||||
#include "z_en_hg.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000 | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnHg_Init(Actor* thisx, PlayState* play);
|
||||
void EnHg_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -347,7 +347,7 @@ void EnJso_SetupIntroCutscene(EnJso* this) {
|
|||
this->csId = parent->csId;
|
||||
this->swordState = EN_JSO_SWORD_STATE_NONE_DRAWN;
|
||||
this->action = EN_JSO_ACTION_INTRO_CUTSCENE;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actionFunc = EnJso_IntroCutscene;
|
||||
}
|
||||
|
||||
|
|
@ -582,7 +582,7 @@ void EnJso_IntroCutscene(EnJso* this, PlayState* play) {
|
|||
this->robeRightRot.y = this->robeRightRot.z = 0;
|
||||
this->cutsceneState = EN_JSO_INTRO_CS_STATE_DONE_OR_STARTED;
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.flags &= ~ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||
|
|
@ -1166,7 +1166,7 @@ void EnJso_SetupFallDownAndTalk(EnJso* this, PlayState* play) {
|
|||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_NPC);
|
||||
this->actor.flags &= ~ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->action = EN_JSO_ACTION_FALL_DOWN_AND_TALK;
|
||||
this->actionFunc = EnJso_FallDownAndTalk;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_100000 | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
void EnJso2_Init(Actor* thisx, PlayState* play);
|
||||
void EnJso2_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
@ -732,7 +732,7 @@ void EnJso2_IntroCutscene(EnJso2* this, PlayState* play) {
|
|||
if (curFrame >= this->animEndFrame) {
|
||||
CutsceneManager_Stop(this->actor.csId);
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.gravity = -3.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
|
|
@ -751,7 +751,7 @@ void EnJso2_IntroCutscene(EnJso2* this, PlayState* play) {
|
|||
void EnJso2_SetupAppear(EnJso2* this) {
|
||||
this->swordState = EN_JSO2_SWORD_STATE_NONE_DRAWN;
|
||||
this->bodyCollider.base.acFlags |= AC_HARD;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
EnJso2_ChangeAnim(this, EN_JSO2_ANIM_APPEAR_AND_DRAW_SWORDS);
|
||||
this->actionFunc = EnJso2_Appear;
|
||||
}
|
||||
|
|
@ -1333,7 +1333,7 @@ void EnJso2_SetupDeathCutscene(EnJso2* this) {
|
|||
this->cutsceneState = EN_JSO2_DEATH_CS_STATE_STARTED;
|
||||
this->cutsceneTimer = 0;
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->timer = 30;
|
||||
this->action = EN_JSO2_ACTION_BLOW_UP;
|
||||
this->actionFunc = EnJso2_DeathCutscene;
|
||||
|
|
|
|||
|
|
@ -9,8 +9,9 @@
|
|||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/effects/ovl_Effect_Ss_Hitmark/z_eff_ss_hitmark.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_FREEZE_EXCEPTION)
|
||||
|
||||
void EnKaizoku_Init(Actor* thisx, PlayState* play);
|
||||
void EnKaizoku_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
@ -614,7 +615,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) {
|
|||
CutsceneManager_Stop(this->csId);
|
||||
this->unk_59C = 0;
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->picto.actor.flags &= ~ACTOR_FLAG_LOCK_ON_DISABLED;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_ATTENTION_ENABLED;
|
||||
func_80B872A4(this);
|
||||
|
|
@ -1670,7 +1671,7 @@ void func_80B894C0(EnKaizoku* this, PlayState* play) {
|
|||
void func_80B8960C(EnKaizoku* this, PlayState* play) {
|
||||
Vec3f sp24;
|
||||
|
||||
this->picto.actor.flags |= ACTOR_FLAG_100000;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
Matrix_RotateYS(this->picto.actor.yawTowardsPlayer, MTXMODE_NEW);
|
||||
Matrix_MultVecZ(-10.0f, &sp24);
|
||||
Math_Vec3f_Copy(&this->unk_3C4, &sp24);
|
||||
|
|
@ -1778,7 +1779,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) {
|
|||
if ((gSaveContext.save.saveInfo.playerData.health <= 0x10) && (this->action != KAIZOKU_ACTION_16)) {
|
||||
this->unk_2D0 = 2;
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_100000;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
|
||||
if (!CutsceneManager_IsNext(this->csId)) {
|
||||
CutsceneManager_Queue(this->csId);
|
||||
|
|
@ -1796,7 +1797,7 @@ void func_80B89A08(EnKaizoku* this, PlayState* play) {
|
|||
Health_ChangeBy(play, 0x10);
|
||||
this->unk_2D0 = 2;
|
||||
this->subCamId = SUB_CAM_ID_DONE;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_100000;
|
||||
this->picto.actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
|
||||
if (!CutsceneManager_IsNext(this->csId)) {
|
||||
CutsceneManager_Queue(this->csId);
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@
|
|||
#include "attributes.h"
|
||||
#include "overlays/actors/ovl_En_Ma_Yts/z_en_ma_yts.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_FREEZE_EXCEPTION | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnMaYto_Init(Actor* thisx, PlayState* play);
|
||||
void EnMaYto_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -6,8 +6,9 @@
|
|||
|
||||
#include "z_en_ma_yts.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_FREEZE_EXCEPTION | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnMaYts_Init(Actor* thisx, PlayState* play);
|
||||
void EnMaYts_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -584,7 +584,7 @@ void EnPamera_Draw(Actor* thisx, PlayState* play) {
|
|||
void func_80BD9840(EnPamera* this, PlayState* play) {
|
||||
this->actor.update = func_80BDA344;
|
||||
this->actor.flags |= ACTOR_FLAG_UPDATE_DURING_OCARINA;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_75_20) || CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE)) {
|
||||
func_80BD9E60(this);
|
||||
func_80BD9938(this);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
#include "assets/objects/object_bal/object_bal.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnPaper_Init(Actor* thisx, PlayState* play);
|
||||
void EnPaper_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@
|
|||
|
||||
#include "z_en_po_composer.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000 | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnPoComposer_Init(Actor* thisx, PlayState* play);
|
||||
void EnPoComposer_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@
|
|||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/actors/ovl_En_Ma4/z_en_ma4.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_100000 | \
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | \
|
||||
ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
void EnPoFusen_Init(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ void EnRailSkb_Init(Actor* thisx, PlayState* play) {
|
|||
}
|
||||
|
||||
if ((play->sceneId == SCENE_BOTI) && (gSaveContext.sceneLayer == 1) && (play->csCtx.scriptIndex == 0)) {
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
}
|
||||
|
||||
func_80B70FA0(this);
|
||||
|
|
@ -847,7 +847,7 @@ void func_80B72190(EnRailSkb* this, PlayState* play) {
|
|||
void func_80B723F8(EnRailSkb* this) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.hintId = TATL_HINT_ID_NONE;
|
||||
this->actor.textId = 0;
|
||||
}
|
||||
|
|
@ -948,14 +948,14 @@ void func_80B72880(EnRailSkb* this, PlayState* play) {
|
|||
if (Player_GetMask(play) == PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.hintId = TATL_HINT_ID_NONE;
|
||||
this->actor.textId = 0;
|
||||
func_80B71650(this);
|
||||
}
|
||||
} else if (Player_GetMask(play) != PLAYER_MASK_CAPTAIN) {
|
||||
this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY);
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.flags |= (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE);
|
||||
this->actor.hintId = TATL_HINT_ID_STALCHILD;
|
||||
this->actor.textId = 0;
|
||||
|
|
|
|||
|
|
@ -1111,7 +1111,7 @@ void EnRailgibud_InitCutsceneGibdo(EnRailgibud* this, PlayState* play) {
|
|||
|
||||
EnRailgibud_InitCueType(this);
|
||||
this->cueId = 99;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
|
||||
|
||||
ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 28.0f);
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ void EnSkb_Init(Actor* thisx, PlayState* play) {
|
|||
this->actor.floorHeight = this->actor.world.pos.y;
|
||||
|
||||
if ((play->sceneId == SCENE_BOTI) && (gSaveContext.sceneLayer == 1) && (play->csCtx.scriptIndex == 0)) {
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
}
|
||||
|
||||
switch (this->unk_3D6) {
|
||||
|
|
@ -264,7 +264,7 @@ void EnSkb_Init(Actor* thisx, PlayState* play) {
|
|||
break;
|
||||
|
||||
default:
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
this->actor.hintId = TATL_HINT_ID_STALCHILD;
|
||||
func_8099495C(this, play);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -835,7 +835,7 @@ void EnTalkGibud_Talk(EnTalkGibud* this, PlayState* play) {
|
|||
}
|
||||
player->stateFlags1 |= PLAYER_STATE1_20;
|
||||
player->stateFlags1 |= PLAYER_STATE1_20000000;
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
EnTalkGibud_SetupDisappear(this);
|
||||
} else {
|
||||
EnTalkGibud_SetupPassiveIdle(this);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
#include "overlays/gamestates/ovl_daytelop/z_daytelop.h"
|
||||
#include "overlays/actors/ovl_En_Horse/z_en_horse.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_100000)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION)
|
||||
|
||||
void EnTest4_Init(Actor* thisx, PlayState* play);
|
||||
void EnTest4_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -12,9 +12,9 @@
|
|||
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_200000 | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnTest6_Init(Actor* thisx, PlayState* play2);
|
||||
void EnTest6_Destroy(Actor* thisx, PlayState* play2);
|
||||
|
|
@ -452,7 +452,7 @@ void EnTest6_StopInvertedSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Player* player = GET_PLAYER(play);
|
||||
|
||||
player->actor.freezeTimer = 0;
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_SONG_WARP]);
|
||||
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
|
||||
EnTest6_DisableMotionBlur();
|
||||
|
|
@ -534,7 +534,7 @@ void EnTest6_InvertedSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Distortion_Request(DISTORTION_TYPE_SONG_OF_TIME);
|
||||
Distortion_SetDuration(80);
|
||||
|
||||
play->unk_18844 = true;
|
||||
play->soaringCsOrSoTCsPlaying = true;
|
||||
this->cueId = SOTCS_CUEID_INV_CLOCKS;
|
||||
}
|
||||
break;
|
||||
|
|
@ -596,7 +596,7 @@ void EnTest6_InvertedSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
this->speed = 0.1f;
|
||||
EnTest6_DisableMotionBlur();
|
||||
Distortion_RemoveRequest(DISTORTION_TYPE_SONG_OF_TIME);
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
if (this->invSoTParticles != NULL) {
|
||||
ZeldaArena_Free(this->invSoTParticles);
|
||||
}
|
||||
|
|
@ -706,7 +706,7 @@ void EnTest6_StopDoubleSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Player* player = GET_PLAYER(play);
|
||||
|
||||
player->actor.freezeTimer = 0;
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_SONG_WARP]);
|
||||
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
|
||||
EnTest6_DisableMotionBlur();
|
||||
|
|
@ -757,7 +757,7 @@ void EnTest6_DoubleSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Environment_LerpDiffuseColor(play, &sDoubleSoTCsDiffuseColor, 1.0f);
|
||||
Environment_LerpFogColor(play, &sDoubleSoTCsFogColor, 1.0f);
|
||||
Environment_LerpFog(play, sDoubleSoTCsFogNear, sDoubleSoTCsZFar, 1.0f);
|
||||
play->unk_18844 = true;
|
||||
play->soaringCsOrSoTCsPlaying = true;
|
||||
}
|
||||
|
||||
if (this->timer == 15) {
|
||||
|
|
@ -765,7 +765,7 @@ void EnTest6_DoubleSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Environment_LerpDiffuseColor(play, &sDoubleSoTCsDiffuseColor, 0.0f);
|
||||
Environment_LerpFogColor(play, &sDoubleSoTCsFogColor, 0.0f);
|
||||
Environment_LerpFog(play, sDoubleSoTCsFogNear, sDoubleSoTCsZFar, 0.0f);
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
}
|
||||
|
||||
if (this->screenFillAlpha >= 20) {
|
||||
|
|
@ -773,7 +773,7 @@ void EnTest6_DoubleSoTCutscene(EnTest6* this, PlayState* play) {
|
|||
Environment_LerpDiffuseColor(play, &sDoubleSoTCsDiffuseColor, this->doubleSoTEnvLerp);
|
||||
Environment_LerpFogColor(play, &sDoubleSoTCsFogColor, this->doubleSoTEnvLerp);
|
||||
Environment_LerpFog(play, sDoubleSoTCsFogNear, sDoubleSoTCsZFar, this->doubleSoTEnvLerp);
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
}
|
||||
|
||||
Actor_PlaySfx_Flagged2(&player->actor, NA_SE_PL_FLYING_AIR - SFX_FLAG);
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@
|
|||
#include "z_en_test7.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_100000 | ACTOR_FLAG_200000 | \
|
||||
ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | \
|
||||
ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void EnTest7_Init(Actor* thisx, PlayState* play2);
|
||||
void EnTest7_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
@ -425,7 +425,7 @@ void EnTest7_StartWarpCs(EnTest7* this, PlayState* play) {
|
|||
} else {
|
||||
CutsceneManager_Start(play->playerCsIds[PLAYER_CS_ID_SONG_WARP], NULL);
|
||||
EnTest7_SetupAction(this, EnTest7_WarpCsPart1);
|
||||
play->unk_18844 = true;
|
||||
play->soaringCsOrSoTCsPlaying = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -592,7 +592,7 @@ void EnTest7_WarpCsPart5(EnTest7* this, PlayState* play) {
|
|||
R_PLAY_FILL_SCREEN_G = 255;
|
||||
R_PLAY_FILL_SCREEN_B = 255;
|
||||
R_PLAY_FILL_SCREEN_ALPHA = 255;
|
||||
play->unk_18844 = false;
|
||||
play->soaringCsOrSoTCsPlaying = false;
|
||||
this->flags &= ~OWL_WARP_FLAGS_DRAW_LENS_FLARE;
|
||||
EnTest7_SetupAction(this, EnTest7_WarpCsPart6);
|
||||
Play_DisableMotionBlur();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@
|
|||
|
||||
#include "z_en_viewer.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_200000)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_DRAW_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_UPDATE_DURING_SOARING_AND_SOT_CS)
|
||||
|
||||
void EnViewer_Init(Actor* thisx, PlayState* play);
|
||||
void EnViewer_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@
|
|||
#include "overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.h"
|
||||
#include "overlays/actors/ovl_En_Wiz_Brock/z_en_wiz_brock.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_100000 | ACTOR_FLAG_LOCK_ON_DISABLED | \
|
||||
ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE | ACTOR_FLAG_UPDATE_CULLING_DISABLED | \
|
||||
ACTOR_FLAG_DRAW_CULLING_DISABLED | ACTOR_FLAG_IGNORE_QUAKE | ACTOR_FLAG_FREEZE_EXCEPTION | \
|
||||
ACTOR_FLAG_LOCK_ON_DISABLED | ACTOR_FLAG_MINIMAP_ICON_ENABLED)
|
||||
|
||||
void EnWiz_Init(Actor* thisx, PlayState* play);
|
||||
void EnWiz_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
@ -336,7 +336,7 @@ void EnWiz_Init(Actor* thisx, PlayState* play) {
|
|||
if ((this->type == EN_WIZ_TYPE_FIRE) || (this->type == EN_WIZ_TYPE_FIRE_NO_BGM)) {
|
||||
this->actor.colChkInfo.damageTable = &sFireWizrobeDamageTable;
|
||||
this->actor.colChkInfo.health = 8;
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
} else {
|
||||
this->actor.colChkInfo.damageTable = &sIceWizrobeDamageTable;
|
||||
this->actor.colChkInfo.health = 6;
|
||||
|
|
@ -676,7 +676,7 @@ void EnWiz_StartIntroCutscene(EnWiz* this, PlayState* play) {
|
|||
if (CutsceneManager_IsNext(this->actor.csId)) {
|
||||
CutsceneManager_StartWithPlayerCsAndSetFlag(this->actor.csId, &this->actor);
|
||||
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->actor.csId);
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
EnWiz_SetupAppear(this, play);
|
||||
} else {
|
||||
CutsceneManager_Queue(this->actor.csId);
|
||||
|
|
@ -840,7 +840,7 @@ void EnWiz_SetupSecondPhaseCutscene(EnWiz* this, PlayState* play) {
|
|||
} else {
|
||||
CutsceneManager_StartWithPlayerCsAndSetFlag(secondPhaseCsId, &this->actor);
|
||||
this->subCamId = CutsceneManager_GetCurrentSubCamId(secondPhaseCsId);
|
||||
this->actor.flags |= ACTOR_FLAG_100000;
|
||||
this->actor.flags |= ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
EnWiz_ChangeAnim(this, EN_WIZ_ANIM_DANCE, false);
|
||||
this->action = EN_WIZ_ACTION_RUN_BETWEEN_PLATFORMS;
|
||||
this->nextPlatformIndex = 1;
|
||||
|
|
@ -891,7 +891,7 @@ void EnWiz_SecondPhaseCutscene(EnWiz* this, PlayState* play) {
|
|||
this->fightState = EN_WIZ_FIGHT_STATE_SECOND_PHASE_GHOSTS_COPY_WIZROBE;
|
||||
this->timer = 0;
|
||||
CutsceneManager_Stop(CutsceneManager_GetAdditionalCsId(this->actor.csId));
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
EnWiz_SetupDisappear(this);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1043,7 +1043,7 @@ void EnWiz_Disappear(EnWiz* this, PlayState* play) {
|
|||
if ((this->introCutsceneState == EN_WIZ_INTRO_CS_DISAPPEAR) && (this->introCutsceneTimer == 0)) {
|
||||
this->introCutsceneState = EN_WIZ_INTRO_CS_END;
|
||||
CutsceneManager_Stop(this->actor.csId);
|
||||
this->actor.flags &= ~ACTOR_FLAG_100000;
|
||||
this->actor.flags &= ~ACTOR_FLAG_FREEZE_EXCEPTION;
|
||||
}
|
||||
|
||||
if (this->introCutsceneState != EN_WIZ_INTRO_CS_DISAPPEAR) {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include "z_obj_hgdoor.h"
|
||||
#include "assets/objects/object_hgdoor/object_hgdoor.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_100000)
|
||||
#define FLAGS (ACTOR_FLAG_FREEZE_EXCEPTION)
|
||||
|
||||
void ObjHgdoor_Init(Actor* thisx, PlayState* play);
|
||||
void ObjHgdoor_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include "z_obj_moon_stone.h"
|
||||
#include "assets/objects/object_gi_reserve00/object_gi_reserve00.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION)
|
||||
|
||||
void ObjMoonStone_Init(Actor* thisx, PlayState* play);
|
||||
void ObjMoonStone_Destroy(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
#include "z_obj_wturn.h"
|
||||
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_100000 | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
#define FLAGS (ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_FREEZE_EXCEPTION | ACTOR_FLAG_UPDATE_DURING_OCARINA)
|
||||
|
||||
void ObjWturn_Init(Actor* thisx, PlayState* play);
|
||||
void ObjWturn_Update(Actor* thisx, PlayState* play);
|
||||
|
|
|
|||
|
|
@ -12535,7 +12535,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
|
|||
func_808484F0(this);
|
||||
}
|
||||
|
||||
if ((play->unk_18844 == 0) && !(this->skelAnime.moveFlags & ANIM_FLAG_80)) {
|
||||
if (!play->soaringCsOrSoTCsPlaying && !(this->skelAnime.moveFlags & ANIM_FLAG_80)) {
|
||||
if (!(this->stateFlags1 & PLAYER_STATE1_2) && (this->actor.parent == NULL)) {
|
||||
func_80844784(play, this);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue