diff --git a/include/z64player.h b/include/z64player.h index 41d317bc13..939c51dc52 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -882,8 +882,9 @@ typedef enum PlayerCueId { #define PLAYER_STATE1_20 (1 << 5) // #define PLAYER_STATE1_40 (1 << 6) -// -#define PLAYER_STATE1_80 (1 << 7) +// Player has died. Note that this gets set when the death cutscene has started, after landing from the air. +// This also gets set when either deku/zora forms touches lava floor, or goron form enters water and the scene resets. +#define PLAYER_STATE1_DEAD (1 << 7) // #define PLAYER_STATE1_100 (1 << 8) // diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 4d15beb510..73cf309c8e 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -511,7 +511,7 @@ void Attention_Draw(Attention* attention, PlayState* play) { Player* player = GET_PLAYER(play); Actor* actor; // used for both the reticle actor and arrow hover actor - if (player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | + if (player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000)) { return; } @@ -1439,7 +1439,7 @@ void Player_MountHorse(PlayState* play, Player* player, Actor* horse) { } bool func_800B7200(Player* player) { - return (player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_20000000)) || + return (player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) || (player->csAction != PLAYER_CSACTION_NONE); } @@ -2206,7 +2206,7 @@ s32 Actor_OfferGetItem(Actor* actor, PlayState* play, GetItemId getItemId, f32 x Player* player = GET_PLAYER(play); if (!(player->stateFlags1 & - (PLAYER_STATE1_80 | PLAYER_STATE1_1000 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + (PLAYER_STATE1_DEAD | PLAYER_STATE1_1000 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000)) && (Player_GetExplosiveHeld(player) <= PLAYER_EXPLOSIVE_NONE)) { if ((actor->xzDistToPlayer <= xzRange) && (fabsf(actor->playerHeightRel) <= fabsf(yRange))) { @@ -2294,7 +2294,7 @@ s32 Actor_HasRider(PlayState* play, Actor* horse) { s32 Actor_SetRideActor(PlayState* play, Actor* horse, s32 mountSide) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_CARRYING_ACTOR | PLAYER_STATE1_1000 | + if (!(player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_CARRYING_ACTOR | PLAYER_STATE1_1000 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000))) { player->rideActor = horse; @@ -2626,33 +2626,33 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) { u32 sCategoryFreezeMasks[ACTORCAT_MAX] = { /* ACTORCAT_SWITCH */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, /* ACTORCAT_BG */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, /* ACTORCAT_PLAYER */ PLAYER_STATE1_200, /* ACTORCAT_EXPLOSIVES */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_400 | + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000, /* ACTORCAT_NPC */ - PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200, + PLAYER_STATE1_2 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200, /* ACTORCAT_ENEMY */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000, /* ACTORCAT_PROP */ - PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + PLAYER_STATE1_2 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, /* ACTORCAT_ITEMACTION */ PLAYER_STATE1_2, /* ACTORCAT_MISC */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000, /* ACTORCAT_BOSS */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_400 | + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000, /* ACTORCAT_DOOR */ PLAYER_STATE1_2, /* ACTORCAT_CHEST */ - PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, }; void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index c311202b25..88e2a57c3f 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -645,7 +645,7 @@ void func_80123140(PlayState* play, Player* player) { } bool Player_InBlockingCsMode(PlayState* play, Player* player) { - return (player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_20000000)) || + return (player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_20000000)) || (player->csAction != PLAYER_CSACTION_NONE) || (play->transitionTrigger == TRANS_TRIGGER_START) || (play->transitionMode != TRANS_MODE_OFF) || (player->stateFlags1 & PLAYER_STATE1_1) || (player->stateFlags3 & PLAYER_STATE3_80) || play->actorCtx.isOverrideInputOn; @@ -1943,7 +1943,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_80) || play->unk_18844) { + (player->stateFlags1 & PLAYER_STATE1_DEAD) || play->unk_18844) { return; } diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index 16dc647643..2fb25ddd30 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -110,7 +110,7 @@ s32 ArmsHook_CheckForCancel(ArmsHook* this) { if (Player_IsHoldingHookshot(player)) { if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_TALK) || - (player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_4000000))) { + (player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_4000000))) { this->timer = 0; ArmsHook_DetachHookFromActor(this); Math_Vec3f_Copy(&this->actor.world.pos, &player->rightHandWorld.pos); diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index dcc378a370..78b747e077 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -646,7 +646,7 @@ void DoorShutter_Update(Actor* thisx, PlayState* play) { DoorShutter* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || + if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || (this->actionFunc == DoorShutter_SetupType)) { this->actionFunc(this, play); diff --git a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c index a03974679b..cea997c7f9 100644 --- a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c +++ b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c @@ -233,7 +233,7 @@ void DoorSpiral_Update(Actor* thisx, PlayState* play) { DoorSpiral* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || + if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || (this->actionFunc == func_809A2DB0)) { this->actionFunc(this, play); } diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c index 4974eb3f85..6f3df23901 100644 --- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c +++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c @@ -1438,7 +1438,7 @@ void EnGoroiwa_Update(Actor* thisx, PlayState* play) { CollisionPoly* tmp; if (!(player->stateFlags1 & - (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { + (PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { if (this->unk_1CC > 0) { this->unk_1CC--; } diff --git a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c index e36d67c3ab..f1d3069547 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c @@ -98,7 +98,7 @@ void EnNutsball_Update(Actor* thisx, PlayState* play2) { CollisionPoly* poly; if (!(player->stateFlags1 & - (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { + (PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { this->timer--; if (this->timer < 0) { this->actor.velocity.y += this->actor.gravity; diff --git a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c index a690881bff..0ac0733dce 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -946,7 +946,7 @@ void EnOkuta_Projectile_Update(Actor* thisx, PlayState* play) { Vec3f prevPos; s32 canRestorePrevPos = false; - if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | + if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { this->actionFunc(this, play); Actor_MoveWithoutGravity(&this->actor); diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index 575573e028..f9aaef1837 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -751,7 +751,7 @@ s32 EnRailgibud_PlayerInRangeWithCorrectState(EnRailgibud* this, PlayState* play } if ((Actor_WorldDistXYZToPoint(&player->actor, &this->actor.home.pos) < 100.0f) && - !(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + !(player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { return true; diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c index e76c0e0959..973c347113 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -656,8 +656,8 @@ void EnRd_WalkToPlayer(EnRd* this, PlayState* play) { } if ((ABS_ALT(yaw) < 0x1554) && (Actor_WorldDistXYZToActor(&this->actor, &player->actor) <= 150.0f)) { - if (!(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | - PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && + if (!(player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | + PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { if (this->playerStunWaitTimer == 0) { if (!(this->flags & EN_RD_FLAG_CANNOT_FREEZE_PLAYER)) { @@ -738,7 +738,7 @@ void EnRd_WalkToHome(EnRd* this, PlayState* play) { this->actor.world.rot.y = this->actor.shape.rot.y; SkelAnime_Update(&this->skelAnime); - if (!(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + if (!(player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000)) && (player->transformation != PLAYER_FORM_GORON) && (player->transformation != PLAYER_FORM_DEKU) && diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index 5f7a803563..143034a6b8 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -904,7 +904,7 @@ s32 EnTalkGibud_PlayerInRangeWithCorrectState(EnTalkGibud* this, PlayState* play Player* player = GET_PLAYER(play); if ((Actor_WorldDistXYZToPoint(&player->actor, &this->actor.home.pos) < 150.0f) && - !(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + !(player->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { return true; diff --git a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c index 412a74032f..e3abd28633 100644 --- a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c +++ b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c @@ -137,7 +137,7 @@ void ObjMoonStone_Update(Actor* thisx, PlayState* play) { ObjMoonStone* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000))) { + if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_DEAD | PLAYER_STATE1_200 | PLAYER_STATE1_10000000))) { this->actionFunc(this, play); } } diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 305bf22095..d1ec573f0a 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -4634,7 +4634,7 @@ void func_80831F34(PlayState* play, Player* this, PlayerAnimationHeader* anim) { this->skelAnime.endFrame = 84.0f; } - this->stateFlags1 |= PLAYER_STATE1_80; + this->stateFlags1 |= PLAYER_STATE1_DEAD; func_8082DAD4(this); Player_AnimSfx_PlayVoice(this, NA_SE_VO_LI_DOWN); @@ -4894,7 +4894,7 @@ void func_80832888(Player* this, PlayState* play) { } if ((play->csCtx.state != CS_STATE_IDLE) || (this->csAction != PLAYER_CSACTION_NONE) || - (this->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_20000000)) || (this->stateFlags3 & PLAYER_STATE3_80)) { + (this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) || (this->stateFlags3 & PLAYER_STATE3_80)) { this->unk_738 = 0; } else if (heldZ || (this->stateFlags2 & PLAYER_STATE2_LOCK_ON_WITH_SWITCH) || (this->autoLockOnActor != NULL)) { if (this->unk_738 <= 5) { @@ -5303,7 +5303,8 @@ s32 (*sActionHandlerFuncs[PLAYER_ACTION_HANDLER_MAX])(Player* this, PlayState* p * */ s32 Player_TryActionHandlerList(PlayState* play, Player* this, s8* actionHandlerList, s32 updateUpperBody) { - if (!(this->stateFlags1 & (PLAYER_STATE1_1 | PLAYER_STATE1_80 | PLAYER_STATE1_20000000)) && !func_8082DA90(play)) { + if (!(this->stateFlags1 & (PLAYER_STATE1_1 | PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) && + !func_8082DA90(play)) { if (updateUpperBody) { sUpperBodyIsBusy = Player_UpdateUpperBody(this, play); if (Player_Action_64 == this->actionFunc) { @@ -5838,12 +5839,12 @@ void func_80834104(PlayState* play, Player* this) { } void func_80834140(PlayState* play, Player* this, PlayerAnimationHeader* anim) { - if (!(this->stateFlags1 & PLAYER_STATE1_80)) { + if (!(this->stateFlags1 & PLAYER_STATE1_DEAD)) { func_80834104(play, this); if (func_8082DA90(play)) { this->av2.actionVar2 = -30; } - this->stateFlags1 |= PLAYER_STATE1_80; + this->stateFlags1 |= PLAYER_STATE1_DEAD; PlayerAnimation_Change(play, &this->skelAnime, anim, PLAYER_ANIM_NORMAL_SPEED, 0.0f, 84.0f, ANIMMODE_ONCE, -6.0f); this->av1.actionVar1 = 1; @@ -5915,7 +5916,7 @@ s32 Player_UpdateBodyBurn(PlayState* play, Player* this) { this->bodyIsBurning = false; } - return this->stateFlags1 & PLAYER_STATE1_80; + return this->stateFlags1 & PLAYER_STATE1_DEAD; } s32 func_808344C0(PlayState* play, Player* this) { @@ -6326,7 +6327,7 @@ s32 Player_HandleExitsAndVoids(PlayState* play, Player* this, CollisionPoly* pol s32 sp34; s32 sp30; - if ((this == GET_PLAYER(play)) && !(this->stateFlags1 & PLAYER_STATE1_80) && !func_8082DA90(play) && + if ((this == GET_PLAYER(play)) && !(this->stateFlags1 & PLAYER_STATE1_DEAD) && !func_8082DA90(play) && (this->csAction == PLAYER_CSACTION_NONE) && !(this->stateFlags1 & PLAYER_STATE1_1)) { exitIndexPlusOne = 0; @@ -10518,7 +10519,7 @@ void func_80840770(PlayState* play, Player* this) { } else if (gSaveContext.healthAccumulator == 0) { Player_StopCutscene(this); - this->stateFlags1 &= ~PLAYER_STATE1_80; + this->stateFlags1 &= ~PLAYER_STATE1_DEAD; if (this->stateFlags1 & PLAYER_STATE1_8000000) { func_808353DC(play, this); } else { @@ -11495,7 +11496,7 @@ void Player_ProcessSceneCollision(PlayState* play, Player* this) { ceilingCheckHeight = this->ageProperties->ceilingCheckHeight; if (this->stateFlags1 & (PLAYER_STATE1_20000000 | PLAYER_STATE1_80000000)) { - if ((!(this->stateFlags1 & PLAYER_STATE1_80) && !(this->stateFlags2 & PLAYER_STATE2_4000) && + if ((!(this->stateFlags1 & PLAYER_STATE1_DEAD) && !(this->stateFlags2 & PLAYER_STATE2_4000) && (this->stateFlags1 & PLAYER_STATE1_80000000)) || spAC) { updBgCheckInfoFlags = UPDBGCHECKINFO_FLAG_8 | UPDBGCHECKINFO_FLAG_10 | UPDBGCHECKINFO_FLAG_20; @@ -12418,7 +12419,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { } else if (this->pushedSpeed != 0.0f) { Math_StepToF(&this->pushedSpeed, 0.0f, (this->stateFlags1 & PLAYER_STATE1_8000000) ? 0.5f : 2.0f); } - if (!(this->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_20000000)) && + if (!(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_20000000)) && !(this->stateFlags3 & PLAYER_STATE3_80) && (Player_Action_80 != this->actionFunc)) { func_8083BB4C(play, this); if (!Play_InCsMode(play)) { @@ -12633,7 +12634,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { Collider_UpdateCylinder(&this->actor, &this->cylinder); if (!(this->stateFlags2 & PLAYER_STATE2_4000)) { - if (!(this->stateFlags1 & (PLAYER_STATE1_4 | PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | + if (!(this->stateFlags1 & (PLAYER_STATE1_4 | PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_800000)) && !(this->stateFlags3 & PLAYER_STATE3_10000000)) { if ((Player_Action_93 != this->actionFunc) && (Player_Action_73 != this->actionFunc) && @@ -12644,7 +12645,8 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { CollisionCheck_SetOC(play, &play->colChkCtx, &this->cylinder.base); } } - if (!(this->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_4000000)) && (this->invincibilityTimer <= 0)) { + if (!(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_4000000)) && + (this->invincibilityTimer <= 0)) { if ((Player_Action_93 != this->actionFunc) && ((Player_Action_96 != this->actionFunc) || (this->av1.actionVar1 != 1))) { if (this->cylinder.base.atFlags != AT_NONE) { @@ -12661,7 +12663,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { func_801229FC(this); Math_Vec3f_Copy(&this->actor.home.pos, &this->actor.world.pos); - if ((this->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000)) || + if ((this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000)) || (this != GET_PLAYER(play))) { this->actor.colChkInfo.mass = MASS_IMMOVABLE; } else { @@ -13160,7 +13162,7 @@ void func_808475B4(Player* this) { temp_fv0 = CLAMP(temp_fv0, -0.4f, -0.1f); sp4 = temp_fv0 - ((this->actor.velocity.y <= 0.0f) ? 0.0f : this->actor.velocity.y * 0.5f); } else { - if (!(this->stateFlags1 & PLAYER_STATE1_80) && (this->currentBoots >= PLAYER_BOOTS_ZORA_UNDERWATER) && + if (!(this->stateFlags1 & PLAYER_STATE1_DEAD) && (this->currentBoots >= PLAYER_BOOTS_ZORA_UNDERWATER) && (this->actor.velocity.y >= -5.0f)) { sp4 = -0.3f; } else if ((this->transformation == PLAYER_FORM_DEKU) && (this->actor.velocity.y < 0.0f)) { @@ -20837,7 +20839,7 @@ void func_8085B170(PlayState* play, Player* this) { s32 Player_GrabPlayer(PlayState* play, Player* this) { if (!Player_InBlockingCsMode(play, this) && (this->invincibilityTimer >= 0) && !func_801240DC(this)) { - if (!(this->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_100000 | + if (!(this->stateFlags1 & (PLAYER_STATE1_DEAD | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000 | PLAYER_STATE1_800000))) { if (!(this->stateFlags2 & PLAYER_STATE2_80) && !(this->stateFlags3 & PLAYER_STATE3_80)) { func_8085B170(play, this);