1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-25 09:45:02 +00:00

OnePointCutscene Cleanup (#1467)

* cleanup

* more cleanup

* attention cs

* remove comment
This commit is contained in:
engineer124 2022-12-18 20:09:13 -05:00 committed by GitHub
parent 2ae64683a5
commit 70bbcebbfe
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 116 additions and 107 deletions

View file

@ -1275,7 +1275,7 @@ typedef struct {
} OnePointCsFull; // size = 0x28
typedef struct {
/* 0x0 */ s32 keyFrameCnt;
/* 0x0 */ s32 keyFrameCount;
/* 0x4 */ OnePointCsFull* keyFrames;
} OnePointCsInfo; // size = 0x8

View file

@ -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;
}

View file

@ -2669,7 +2669,7 @@ Vec3f D_8011D678[] = {
};
/*******************************************************
* OnePoint initalization values for Demo5
* OnePoint initalization values for Attention Cutscenes (Demo5)
********************************************************/
s32 sDemo5PrevSfxFrame = -200;

View file

@ -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;