Player State Docs (#3280)

* state flags 1

* state flags 2

* state flags 3

* fill array
This commit is contained in:
inspectredc
2024-02-16 01:17:28 +00:00
committed by GitHub
parent 460ec1bb03
commit 46aea3aa7c
88 changed files with 375 additions and 347 deletions
+18 -18
View File
@@ -522,7 +522,7 @@ s32 Camera_GetWaterBoxDataIdx(Camera* camera, f32* waterY) {
return -1;
}
if (!(camera->player->stateFlags1 & 0x8000000)) {
if (!(camera->player->stateFlags1 & PLAYER_STATE1_IN_WATER)) {
// player is not swimming
*waterY = BGCHECK_Y_MIN;
return -1;
@@ -1031,7 +1031,7 @@ s32 Camera_CalcAtForParallel(Camera* camera, VecSph* arg1, f32 yOffset, f32* arg
}
if (camera->playerGroundY == camera->playerPosRot.pos.y || camera->player->actor.gravity > -0.1f ||
camera->player->stateFlags1 & 0x200000) {
camera->player->stateFlags1 & PLAYER_STATE1_CLIMBING_LADDER) {
*arg3 = Camera_LERPCeilF(playerPosRot->pos.y, *arg3, PCT(OREG(43)), 0.1f);
phi_f20 = playerPosRot->pos.y - *arg3;
posOffsetTarget.y -= phi_f20;
@@ -1134,7 +1134,7 @@ s32 Camera_CalcAtForLockOn(Camera* camera, VecSph* eyeAtDir, Vec3f* targetPos, f
tmpPos0.z = tmpPos0.z + lookFromOffset.z;
if (camera->playerGroundY == camera->playerPosRot.pos.y || camera->player->actor.gravity > -0.1f ||
camera->player->stateFlags1 & 0x200000) {
camera->player->stateFlags1 & PLAYER_STATE1_CLIMBING_LADDER) {
*yPosOffset = Camera_LERPCeilF(playerPosRot->pos.y, *yPosOffset, PCT(OREG(43)), 0.1f);
yPosDelta = playerPosRot->pos.y - *yPosOffset;
tmpPos0.y -= yPosDelta;
@@ -2203,7 +2203,7 @@ s32 Camera_Parallel1(Camera* camera) {
}
if (camera->playerGroundY == camera->playerPosRot.pos.y || camera->player->actor.gravity > -0.1f ||
camera->player->stateFlags1 & 0x200000) {
camera->player->stateFlags1 & PLAYER_STATE1_CLIMBING_LADDER) {
anim->yTarget = playerPosRot->pos.y;
sp6A = 0;
} else {
@@ -2907,7 +2907,7 @@ s32 Camera_Battle1(Camera* camera) {
sp78 = batt1->swingPitchFinal;
fov = batt1->fov;
if (camera->player->stateFlags1 & 0x1000) {
if (camera->player->stateFlags1 & PLAYER_STATE1_CHARGING_SPIN_ATTACK) {
// charging sword.
anim->unk_10 = Camera_LERPCeilF(PCT(OREG(12)) * 0.5f, anim->unk_10, PCT(OREG(25)), 0.1f);
camera->xzOffsetUpdateRate = Camera_LERPCeilF(0.2f, camera->xzOffsetUpdateRate, PCT(OREG(25)), 0.1f);
@@ -2978,7 +2978,7 @@ s32 Camera_Battle1(Camera* camera) {
}
if (camera->playerGroundY == camera->playerPosRot.pos.y || camera->player->actor.gravity > -0.1f ||
camera->player->stateFlags1 & 0x200000) {
camera->player->stateFlags1 & PLAYER_STATE1_CLIMBING_LADDER) {
isOffGround = false;
anim->yPosOffset = playerPosRot->pos.y;
} else {
@@ -3303,7 +3303,7 @@ s32 Camera_KeepOn1(Camera* camera) {
anim->unk_0C = NULL;
cont:
if (camera->playerGroundY == camera->playerPosRot.pos.y || camera->player->actor.gravity > -0.1f ||
camera->player->stateFlags1 & 0x200000) {
camera->player->stateFlags1 & PLAYER_STATE1_CLIMBING_LADDER) {
anim->unk_08 = playerPosRot->pos.y;
sp80 = 0;
} else {
@@ -3724,7 +3724,7 @@ s32 Camera_KeepOn4(Camera* camera) {
keep4->unk_04 = playerHeight * 1.6f * yNormal;
keep4->unk_08 = -2.0f;
keep4->unk_0C = 120.0f;
keep4->unk_10 = player->stateFlags1 & 0x8000000 ? 0.0f : 20.0f;
keep4->unk_10 = player->stateFlags1 & PLAYER_STATE1_IN_WATER ? 0.0f : 20.0f;
keep4->unk_1C = 0x3212;
keep4->unk_1E = 0x1E;
keep4->unk_18 = 50.0f;
@@ -4982,7 +4982,7 @@ s32 Camera_Unique0(Camera* camera) {
camera->animState++;
}
if (player->stateFlags1 & 0x20000000) {
if (player->stateFlags1 & PLAYER_STATE1_IN_CUTSCENE) {
anim->initalPos = playerPosRot->pos;
}
@@ -4990,7 +4990,7 @@ s32 Camera_Unique0(Camera* camera) {
if (anim->animTimer > 0) {
anim->animTimer--;
anim->initalPos = playerPosRot->pos;
} else if ((!(player->stateFlags1 & 0x20000000)) &&
} else if ((!(player->stateFlags1 & PLAYER_STATE1_IN_CUTSCENE)) &&
((OLib_Vec3fDistXZ(&playerPosRot->pos, &anim->initalPos) >= 10.0f) ||
CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_A) ||
CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_B) ||
@@ -5018,7 +5018,7 @@ s32 Camera_Unique0(Camera* camera) {
anim->initalPos = playerPosRot->pos;
}
if ((!(player->stateFlags1 & 0x20000000)) &&
if ((!(player->stateFlags1 & PLAYER_STATE1_IN_CUTSCENE)) &&
((0.001f < camera->xzSpeed) || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_A) ||
CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_B) ||
CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_CLEFT) ||
@@ -5235,7 +5235,7 @@ s32 Camera_Unique9(Camera* camera) {
D_8011D3AC = anim->curKeyFrame->unk_01 & 0xF;
} else if ((anim->curKeyFrame->unk_01 & 0xF0) == 0xC0) {
Camera_UpdateInterface(0xF000 | ((anim->curKeyFrame->unk_01 & 0xF) << 8));
} else if (camera->player->stateFlags1 & 0x8000000 && player->currentBoots != PLAYER_BOOTS_IRON) {
} else if (camera->player->stateFlags1 & PLAYER_STATE1_IN_WATER && player->currentBoots != PLAYER_BOOTS_IRON) {
func_8002DF38(camera->play, camera->target, 8);
osSyncPrintf("camera: demo: player demo set WAIT\n");
} else {
@@ -5610,7 +5610,7 @@ s32 Camera_Unique9(Camera* camera) {
// Set the player's position
camera->player->actor.world.pos.x = anim->playerPos.x;
camera->player->actor.world.pos.z = anim->playerPos.z;
if (camera->player->stateFlags1 & 0x8000000 && player->currentBoots != PLAYER_BOOTS_IRON) {
if (camera->player->stateFlags1 & PLAYER_STATE1_IN_WATER && player->currentBoots != PLAYER_BOOTS_IRON) {
camera->player->actor.world.pos.y = anim->playerPos.y;
}
} else {
@@ -6171,16 +6171,16 @@ s32 Camera_Demo5(Camera* camera) {
sDemo5PrevSfxFrame = camera->play->state.frames;
if (camera->player->stateFlags1 & 0x8000000 && (player->currentBoots != PLAYER_BOOTS_IRON)) {
if (camera->player->stateFlags1 & PLAYER_STATE1_IN_WATER && (player->currentBoots != PLAYER_BOOTS_IRON)) {
// swimming, and not iron boots
player->stateFlags1 |= 0x20000000;
player->stateFlags1 |= PLAYER_STATE1_IN_CUTSCENE;
// env frozen
player->actor.freezeTimer = camera->timer;
} else {
sp4A = playerhead.rot.y - playerTargetGeo.yaw;
if (camera->target->category == ACTORCAT_PLAYER) {
pad = camera->play->state.frames - sDemo5PrevAction12Frame;
if (player->stateFlags1 & 0x800) {
if (player->stateFlags1 & PLAYER_STATE1_ITEM_OVER_HEAD) {
// holding object over head.
func_8002DF54(camera->play, camera->target, 8);
} else if (ABS(pad) > 3000) {
@@ -7240,7 +7240,7 @@ s32 Camera_UpdateWater(Camera* camera) {
}
if (camera->unk_14C & 0x200) {
if (player->stateFlags2 & 0x800) {
if (player->stateFlags2 & PLAYER_STATE2_DIVING) {
Camera_ChangeSettingFlags(camera, CAM_SET_PIVOT_WATER_SURFACE, 6);
camera->unk_14C |= (s16)0x8000;
} else if (camera->unk_14C & (s16)0x8000) {
@@ -7730,7 +7730,7 @@ void Camera_Finish(Camera* camera) {
if ((camera->parentCamIdx == MAIN_CAM) && (camera->csId != 0)) {
player->actor.freezeTimer = 0;
player->stateFlags1 &= ~0x20000000;
player->stateFlags1 &= ~PLAYER_STATE1_IN_CUTSCENE;
if (player->csAction != 0) {
func_8002DF54(camera->play, &player->actor, 7);