diff --git a/include/z64camera.h b/include/z64camera.h index dad8a19ecc..f99b024e47 100644 --- a/include/z64camera.h +++ b/include/z64camera.h @@ -1275,7 +1275,7 @@ typedef struct { } OnePointCsFull; // size = 0x28 typedef struct { - /* 0x0 */ s32 keyFrameCnt; + /* 0x0 */ s32 keyFrameCount; /* 0x4 */ OnePointCsFull* keyFrames; } OnePointCsInfo; // size = 0x8 diff --git a/src/code/z_camera.c b/src/code/z_camera.c index af63cc0772..100783217f 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -5189,6 +5189,9 @@ s32 Camera_Unique8(Camera* camera) { return Camera_Noop(camera); } +/** + * OnePoint Cutscene + */ s32 Camera_Unique9(Camera* camera) { Vec3f atTarget; Vec3f eyeTarget; @@ -5248,7 +5251,7 @@ s32 Camera_Unique9(Camera* camera) { if (rwData->keyFrameTimer == 0) { rwData->isNewKeyFrame = true; rwData->curKeyFrameIdx++; - if (rwData->curKeyFrameIdx < ONEPOINT_CS_INFO(camera)->keyFrameCnt) { + if (rwData->curKeyFrameIdx < ONEPOINT_CS_INFO(camera)->keyFrameCount) { rwData->curKeyFrame = &ONEPOINT_CS_INFO(camera)->keyFrames[rwData->curKeyFrameIdx]; rwData->keyFrameTimer = rwData->curKeyFrame->timerInit; @@ -5558,7 +5561,7 @@ s32 Camera_Unique9(Camera* camera) { scratchGeo.yaw = Camera_LERPCeilS(rwData->atEyeOffsetTarget.yaw, eyeNextAtOffset.yaw, rwData->curKeyFrame->lerpStepScale, 1); Camera_AddVecGeoToVec3f(eyeNext, at, &scratchGeo); - goto setAtFOVRoll; + goto setAtFovRoll; case ONEPOINT_CS_ACTION_ID_3: // linear interplation of eye/at/fov/roll using the step scale using eyeTarget @@ -5571,7 +5574,7 @@ s32 Camera_Unique9(Camera* camera) { FALLTHROUGH; case ONEPOINT_CS_ACTION_ID_11: case ONEPOINT_CS_ACTION_ID_12: - setAtFOVRoll: + setAtFovRoll: // linear interpolation of at/fov/roll using the step scale. camera->at.x = Camera_LERPCeilF(rwData->atTarget.x, camera->at.x, rwData->curKeyFrame->lerpStepScale, 1.0f); camera->at.y = Camera_LERPCeilF(rwData->atTarget.y, camera->at.y, rwData->curKeyFrame->lerpStepScale, 1.0f); @@ -5618,15 +5621,15 @@ s32 Camera_Unique9(Camera* camera) { case ONEPOINT_CS_ACTION_ID_19: { // Change the parent camera (or default)'s mode to normal - s32 camIdx = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId; + s32 camId = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId; - Camera_ChangeModeFlags(camera->play->cameraPtrs[camIdx], CAM_MODE_NORMAL, 1); + Camera_ChangeModeFlags(camera->play->cameraPtrs[camId], CAM_MODE_NORMAL, 1); } FALLTHROUGH; case ONEPOINT_CS_ACTION_ID_18: { // copy the current camera to the parent (or default)'s camera. - s32 camIdx = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId; - Camera* cam = camera->play->cameraPtrs[camIdx]; + s32 camId = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId; + Camera* cam = camera->play->cameraPtrs[camId]; *eye = *eyeNext; Camera_Copy(cam, camera); @@ -6015,7 +6018,7 @@ s32 Camera_Demo4(Camera* camera) { } /** - * Sets up a cutscene for Camera_Uniq9 + * Sets up a OnePoint attention cutscene */ s32 Camera_Demo5(Camera* camera) { f32 eyeTargetDist; @@ -6037,6 +6040,7 @@ s32 Camera_Demo5(Camera* camera) { Actor_GetFocus(&playerhead, &camera->player->actor); player = camera->player; sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_LARGE, CAM_HUD_VISIBILITY_NOTHING_ALT, 0); + if ((camera->target == NULL) || (camera->target->update == NULL)) { if (camera->target == NULL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: attention: target is not valid, stop!\n" VT_RST); @@ -6044,6 +6048,7 @@ s32 Camera_Demo5(Camera* camera) { camera->target = NULL; return true; } + Actor_GetFocus(&camera->targetPosRot, camera->target); OLib_Vec3fDiffToVecGeo(&playerTargetGeo, &camera->targetPosRot.pos, &camera->playerPosRot.pos); D_8011D3AC = camera->target->category; @@ -6051,6 +6056,7 @@ s32 Camera_Demo5(Camera* camera) { eyeTargetDist = OLib_Vec3fDist(&camera->targetPosRot.pos, &camera->eye); OLib_Vec3fDiffToVecGeo(&eyePlayerGeo, &playerhead.pos, &camera->eyeNext); sp4A = eyePlayerGeo.yaw - playerTargetGeo.yaw; + if (camera->target->category == ACTORCAT_PLAYER) { // camera is targeting a(the) player actor if (eyePlayerGeo.r > 30.0f) { @@ -6058,9 +6064,9 @@ s32 Camera_Demo5(Camera* camera) { D_8011D6AC[1].atTargetInit.z = Rand_ZeroOne() * 10.0f; D_8011D6AC[1].eyeTargetInit.x = Rand_ZeroOne() * 10.0f; ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D6AC; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D6AC); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D6AC); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt--; + ONEPOINT_CS_INFO(camera)->keyFrameCount--; } else { camera->timer += D_8011D6AC[2].timerInit; } @@ -6068,9 +6074,9 @@ s32 Camera_Demo5(Camera* camera) { D_8011D724[1].eyeTargetInit.x = Rand_ZeroOne() * 10.0f; D_8011D724[1].timerInit = camera->timer - 1; ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D724; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D724); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D724); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt--; + ONEPOINT_CS_INFO(camera)->keyFrameCount--; } else { camera->timer += D_8011D724[2].timerInit; } @@ -6078,9 +6084,9 @@ s32 Camera_Demo5(Camera* camera) { } else if (playerTargetGeo.r < 30.0f) { // distance between player and target is less than 30 units. ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D79C; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D79C); - if ((targetScreenPosX < 0x15) || (targetScreenPosX >= 0x12C) || (targetScreenPosY < 0x29) || - (targetScreenPosY >= 0xC8)) { + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D79C); + if ((targetScreenPosX <= 20) || (targetScreenPosX >= SCREEN_WIDTH - 20) || (targetScreenPosY <= 40) || + (targetScreenPosY >= SCREEN_HEIGHT - 40)) { D_8011D79C[0].actionFlags = ONEPOINT_CS_ACTION(ONEPOINT_CS_ACTION_ID_1, true, false); D_8011D79C[0].atTargetInit.y = -30.0f; D_8011D79C[0].atTargetInit.x = 0.0f; @@ -6093,7 +6099,7 @@ s32 Camera_Demo5(Camera* camera) { D_8011D79C[1].timerInit = camera->timer - 1; if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2; + ONEPOINT_CS_INFO(camera)->keyFrameCount -= 2; } else { camera->timer += D_8011D79C[2].timerInit + D_8011D79C[3].timerInit; } @@ -6102,9 +6108,9 @@ s32 Camera_Demo5(Camera* camera) { // and the distance fromthe camera's current position to the player is less than 30 units D_8011D83C[0].timerInit = camera->timer; ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D83C; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D83C); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D83C); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt--; + ONEPOINT_CS_INFO(camera)->keyFrameCount--; } else { camera->timer += D_8011D83C[1].timerInit; } @@ -6112,13 +6118,13 @@ s32 Camera_Demo5(Camera* camera) { // The distance between the camera's current position and the target is less than 700 units // and the angle between the camera's position and the player, and the player to the target // is less than ~76.9 degrees - if (targetScreenPosX >= 0x15 && targetScreenPosX < 0x12C && targetScreenPosY >= 0x29 && - targetScreenPosY < 0xC8 && eyePlayerGeo.r > 30.0f) { + if ((targetScreenPosX > 20) && (targetScreenPosX < SCREEN_WIDTH - 20) && (targetScreenPosY > 40) && + (targetScreenPosY < SCREEN_HEIGHT - 40) && (eyePlayerGeo.r > 30.0f)) { D_8011D88C[0].timerInit = camera->timer; ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D88C; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D88C); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D88C); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt--; + ONEPOINT_CS_INFO(camera)->keyFrameCount--; } else { camera->timer += D_8011D88C[1].timerInit; } @@ -6134,9 +6140,9 @@ s32 Camera_Demo5(Camera* camera) { D_8011D8DC[0].timerInit = camera->timer; D_8011D8DC[1].timerInit = (s16)(eyeTargetDist * 0.005f) + 8; ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D8DC; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D8DC); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D8DC); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2; + ONEPOINT_CS_INFO(camera)->keyFrameCount -= 2; } else { camera->timer += D_8011D8DC[1].timerInit + D_8011D8DC[2].timerInit; } @@ -6171,9 +6177,9 @@ s32 Camera_Demo5(Camera* camera) { D_8011D954[2].timerInit = (s16)(eyeTargetDist * 0.004f) + 6; } ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D954; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D954); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D954); if (camera->parentCamId != CAM_ID_MAIN) { - ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2; + ONEPOINT_CS_INFO(camera)->keyFrameCount -= 2; } else { camera->timer += D_8011D954[2].timerInit + D_8011D954[3].timerInit; } @@ -6196,13 +6202,13 @@ s32 Camera_Demo5(Camera* camera) { D_8011D9F4[1].timerInit = t + 8; } ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D9F4; - ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D9F4); + ONEPOINT_CS_INFO(camera)->keyFrameCount = ARRAY_COUNT(D_8011D9F4); if (camera->parentCamId != CAM_ID_MAIN) { if (camera->play->state.frames & 1) { D_8011D9F4[0].rollTargetInit = -D_8011D9F4[0].rollTargetInit; D_8011D9F4[1].rollTargetInit = -D_8011D9F4[1].rollTargetInit; } - ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2; + ONEPOINT_CS_INFO(camera)->keyFrameCount -= 2; } else { camera->timer += D_8011D9F4[1].timerInit + D_8011D9F4[2].timerInit; D_8011D9F4[0].rollTargetInit = D_8011D9F4[1].rollTargetInit = 0; @@ -6240,7 +6246,9 @@ s32 Camera_Demo5(Camera* camera) { sDemo5PrevAction12Frame = camera->play->state.frames; Camera_ChangeSettingFlags(camera, CAM_SET_CS_C, (4 | 1)); + Camera_Unique9(camera); + return true; } diff --git a/src/code/z_camera_data.inc.c b/src/code/z_camera_data.inc.c index 6a3de36890..b4360ffeba 100644 --- a/src/code/z_camera_data.inc.c +++ b/src/code/z_camera_data.inc.c @@ -2669,7 +2669,7 @@ Vec3f D_8011D678[] = { }; /******************************************************* - * OnePoint initalization values for Demo5 + * OnePoint initalization values for Attention Cutscenes (Demo5) ********************************************************/ s32 sDemo5PrevSfxFrame = -200; diff --git a/src/code/z_onepointdemo.c b/src/code/z_onepointdemo.c index 6f2bd9c38d..bf1a2a7521 100644 --- a/src/code/z_onepointdemo.c +++ b/src/code/z_onepointdemo.c @@ -89,7 +89,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801208EC[1].lerpStepScale = 1.0f / (0.5f * timer); csInfo->keyFrames = D_801208EC; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_801208EC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -103,7 +103,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80120964[1].timerInit = timer - 1; csInfo->keyFrames = D_80120964; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120964); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -118,12 +118,13 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801209B4[1].atTargetInit.y += 20.0f; csInfo->keyFrames = D_801209B4; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_801209B4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; - case 5010: + case 5010: // attention cutscene + // Setup keyFrames in `Camera_Demo5` Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_ATTENTION); Play_SetCameraAtEye(play, subCamId, &mainCam->at, &mainCam->eye); subCam->roll = 0; @@ -131,7 +132,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 9500: csInfo->keyFrames = D_80120A54; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120A54); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -143,16 +144,16 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act ((mainCam->play->state.frames & 1) ? 20.0f : -20.0f) + (Rand_ZeroOne() * 5.0f); csInfo->keyFrames = D_80120ACC; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120ACC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 2270: csInfo->keyFrames = D_80120B94; - csInfo->keyFrameCnt = 11; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120B94); - for (i = 0; i < csInfo->keyFrameCnt - 3; i++) { + for (i = 0; i < csInfo->keyFrameCount - 3; i++) { if (D_80120B94[i].actionFlags != ONEPOINT_CS_ACTION(ONEPOINT_CS_ACTION_ID_15, false, true)) { D_80120B94[i].atTargetInit.x = Rand_ZeroOne() * 5.0f; D_80120B94[i].atTargetInit.z = (Rand_ZeroOne() * 30.0f) + 10.0f; @@ -173,9 +174,9 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 2280: csInfo->keyFrames = D_80120D4C; - csInfo->keyFrameCnt = 7; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120D4C); - for (i = 0; i < csInfo->keyFrameCnt - 3; i++) { + for (i = 0; i < csInfo->keyFrameCount - 3; i++) { if (D_80120D4C[i].actionFlags != ONEPOINT_CS_ACTION(ONEPOINT_CS_ACTION_ID_15, false, true)) { D_80120D4C[i].atTargetInit.x = Rand_ZeroOne() * 20.0f; D_80120D4C[i].atTargetInit.z = (Rand_ZeroOne() * 40.0f) + 10.0f; @@ -195,7 +196,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 2220: csInfo->keyFrames = D_80120E64; - csInfo->keyFrameCnt = 8; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120E64); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -212,14 +213,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act } csInfo->keyFrames = D_80120FA4; - csInfo->keyFrameCnt = 6; + csInfo->keyFrameCount = ARRAY_COUNT(D_80120FA4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 2340: csInfo->keyFrames = D_80121094; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121094); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -231,7 +232,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 2350: csInfo->keyFrames = D_8012110C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012110C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -255,7 +256,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80121184[0].fovTargetInit = mainCam->fov * 0.75f; csInfo->keyFrames = D_80121184; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121184); } else { D_801211D4[0].atTargetInit.x = actor->focus.pos.x; D_801211D4[0].atTargetInit.y = actor->focus.pos.y - 5.0f; @@ -268,7 +269,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801211D4[0].eyeTargetInit.z = (actor->focus.pos.z + (120.0f * spC0.z)) - (Rand_ZeroOne() * 20.0f); csInfo->keyFrames = D_801211D4; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_801211D4); } Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_UNK3); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -283,7 +284,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act } csInfo->keyFrames = D_80121224; - csInfo->keyFrameCnt = 6; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121224); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); } break; @@ -292,7 +293,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); csInfo->keyFrames = D_80121314; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121314); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -303,7 +304,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); csInfo->keyFrames = D_8012133C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012133C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -337,7 +338,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); csInfo->keyFrames = D_801213B4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801213B4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -365,7 +366,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4175: csInfo->keyFrames = D_8012147C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012147C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -389,7 +390,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_8012151C[0].timerInit = timer - 1; csInfo->keyFrames = D_8012151C; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012151C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -407,7 +408,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_8012156C[1].eyeTargetInit.x += tempRand; csInfo->keyFrames = D_8012156C; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012156C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); func_8002DF54(play, NULL, PLAYER_CSMODE_8); @@ -417,14 +418,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801215BC[0].timerInit = timer; csInfo->keyFrames = D_801215BC; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_801215BC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 3070: csInfo->keyFrames = D_801215E4; - csInfo->keyFrameCnt = 10; + csInfo->keyFrameCount = ARRAY_COUNT(D_801215E4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -436,7 +437,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3080: csInfo->keyFrames = D_80121774; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121774); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -445,7 +446,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); csInfo->keyFrames = D_80121814; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121814); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -465,7 +466,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3380: case 3065: csInfo->keyFrames = D_801218B4; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_801218B4); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -478,7 +479,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3060: csInfo->keyFrames = D_80121904; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121904); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -514,7 +515,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrames = D_80121954[-(timer + 101)]; subCam->timer = 100; subCam->stateFlags |= CAM_STATE_1; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121954[0]); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -522,7 +523,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3130: csInfo->keyFrames = D_80121A44; - csInfo->keyFrameCnt = 12; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121A44); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -535,7 +536,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80121C24[0].fovTargetInit = play->view.fovy; csInfo->keyFrames = D_80121C24; - csInfo->keyFrameCnt = 7; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121C24); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -671,7 +672,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80121D3C[2].timerInit = timer - 5; csInfo->keyFrames = D_80121D3C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121D3C); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -710,7 +711,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act player->actor.shape.rot.y = player->actor.world.rot.y = player->currentYaw = -0x3FD9; csInfo->keyFrames = D_80121DB4; - csInfo->keyFrameCnt = 9; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121DB4); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -735,7 +736,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act player->actor.shape.rot.y = player->actor.world.rot.y = player->currentYaw = spA0.rot.y; csInfo->keyFrames = D_80121F1C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121F1C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -751,7 +752,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80121FBC[0].fovTargetInit = play->view.fovy; csInfo->keyFrames = D_80121FBC; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_80121FBC); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -764,7 +765,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3360: csInfo->keyFrames = D_8012205C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012205C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -785,14 +786,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); csInfo->keyFrames = D_801220D4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801220D4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 3330: csInfo->keyFrames = D_8012219C; - csInfo->keyFrameCnt = 7; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012219C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -800,7 +801,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3410: csInfo->keyFrames = D_801222B4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801222B4); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -813,7 +814,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3450: csInfo->keyFrames = D_8012237C; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012237C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -826,7 +827,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3440: csInfo->keyFrames = D_801223CC; - csInfo->keyFrameCnt = 6; + csInfo->keyFrameCount = ARRAY_COUNT(D_801223CC); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -841,7 +842,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3430: csInfo->keyFrames = D_801224BC; - csInfo->keyFrameCnt = 7; + csInfo->keyFrameCount = ARRAY_COUNT(D_801224BC); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -854,7 +855,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4100: csInfo->keyFrames = D_801225D4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801225D4); player->actor.shape.rot.y = player->actor.world.rot.y = player->currentYaw = 0x3FFC; Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -863,7 +864,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4110: csInfo->keyFrames = D_8012269C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012269C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -873,14 +874,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act func_8002DF54(play, NULL, PLAYER_CSMODE_8); D_80122714[1].timerInit = 80; csInfo->keyFrames = D_80122714; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122714); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4140: csInfo->keyFrames = D_801227B4; - csInfo->keyFrameCnt = 6; + csInfo->keyFrameCount = ARRAY_COUNT(D_801227B4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -888,7 +889,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4150: csInfo->keyFrames = D_801228A4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801228A4); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -897,7 +898,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4160: csInfo->keyFrames = D_8012296C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012296C); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -906,7 +907,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4170: csInfo->keyFrames = D_80122A0C; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122A0C); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -915,7 +916,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4190: csInfo->keyFrames = D_80122A5C; - csInfo->keyFrameCnt = 8; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122A5C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -924,7 +925,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4200: csInfo->keyFrames = D_80122B9C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122B9C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_8); Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); @@ -935,7 +936,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act player->actor.freezeTimer = timer; csInfo->keyFrames = D_80122C14; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122C14); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -947,7 +948,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4220: csInfo->keyFrames = (player->actor.world.pos.z < -15.0f) ? D_80122C3C : D_80122C64; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122C3C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); func_8002DF38(play, &player->actor, PLAYER_CSMODE_1); @@ -960,7 +961,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 4221: csInfo->keyFrames = D_80122C8C; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122C8C); func_8002DF54(play, NULL, PLAYER_CSMODE_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); @@ -971,7 +972,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80122CB4[1].timerInit = timer - 5; csInfo->keyFrames = D_80122CB4; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122CB4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -981,21 +982,21 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80122D04[1].timerInit = timer - 10; csInfo->keyFrames = D_80122D04; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122D04); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 8010: csInfo->keyFrames = D_80122D54; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122D54); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 8002: csInfo->keyFrames = D_80122DCC; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122DCC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1007,7 +1008,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80122E44[timer & 1][5].atTargetInit = mainCam->at; csInfo->keyFrames = D_80122E44[timer & 1]; - csInfo->keyFrameCnt = 7; + csInfo->keyFrameCount = ARRAY_COUNT(D_80122E44[0]); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1017,7 +1018,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act if ((tempDiff > 3600) || (tempDiff < -3600)) { csInfo->keyFrames = D_80123074; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_80123074); } else { if (play->state.frames & 1) { D_8012313C[0].rollTargetInit = -D_8012313C[0].rollTargetInit; @@ -1026,7 +1027,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_8012313C[1].atTargetInit.y = -D_8012313C[1].atTargetInit.y; } csInfo->keyFrames = D_8012313C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012313C); } Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); sPrevFrameCs1100 = play->state.frames; @@ -1062,7 +1063,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801231B4[3].timerInit = timer - 50; csInfo->keyFrames = D_801231B4; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_801231B4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); } else { @@ -1072,7 +1073,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80123254[0].eyeTargetInit = D_80123254[1].eyeTargetInit = mainCam->eye; csInfo->keyFrames = D_80123254; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_80123254); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); } @@ -1084,56 +1085,56 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801232A4[0].fovTargetInit = play->view.fovy; csInfo->keyFrames = D_801232A4; - csInfo->keyFrameCnt = 1; + csInfo->keyFrameCount = ARRAY_COUNT(D_801232A4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 8603: csInfo->keyFrames = D_801232CC; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801232CC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 8604: csInfo->keyFrames = D_80123394; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_80123394); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4000: csInfo->keyFrames = D_8012345C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012345C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4010: csInfo->keyFrames = D_801234FC; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801234FC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4011: csInfo->keyFrames = D_801235C4; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801235C4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4020: csInfo->keyFrames = D_8012368C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012368C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; case 4021: csInfo->keyFrames = D_8012372C; - csInfo->keyFrameCnt = 4; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012372C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1143,7 +1144,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801237CC[2].timerInit + D_801237CC[4].timerInit; csInfo->keyFrames = D_801237CC; - csInfo->keyFrameCnt = 5; + csInfo->keyFrameCount = ARRAY_COUNT(D_801237CC); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1158,7 +1159,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act } csInfo->keyFrames = D_80123894; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_80123894); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1169,7 +1170,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_8012390C[0].fovTargetInit = play->view.fovy; csInfo->keyFrames = D_8012390C; - csInfo->keyFrameCnt = 2; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012390C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1180,7 +1181,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_8012395C[0].fovTargetInit = play->view.fovy; csInfo->keyFrames = D_8012395C; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_8012395C); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1189,7 +1190,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801239D4[1].timerInit = 10; csInfo->keyFrames = D_801239D4; - csInfo->keyFrameCnt = 3; + csInfo->keyFrameCount = ARRAY_COUNT(D_801239D4); Play_InitCameraDataUsingPlayer(play, subCamId, (Player*)actor, CAM_SET_CS_C); break;