summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2022-05-13 04:35:31 +1000
committerGitHub <noreply@github.com>2022-05-12 20:35:31 +0200
commitbf56c94f0fdd31774441c9a4473c392af069ce3e (patch)
tree1ecd06b6ae04f5d6c97093e1a31546d71c4a5d88 /src/code
parent92aef346f2bd7167b892beddafd0959801df0e3c (diff)
Document Sub-Cameras (#989)
* Copying SubCam Changes from PR 908, made it to the end of bosses * Finish copying over PR * format * More cleanup * clean-up * PR Suggestions, Clean-Up, Improvement in CS * Remove substructs from fd/fd2 * format * Improve fishing * minor fix * Make CutsceneCameraDir more general * `sActiveCamMove` -> `sCamMove` * Fix conflict with object kankyo * Add CAM_ID_MAIN to object_kankyo * Improve cam cutscenes further * Revert cutscene cmd names (better for a separate PR) * At -> LookAt in the context of Cutscenes * Missed naming in diving game * Format * Fill in Ganon2 Names (now that it's matching) * format * `sActiveCamId` -> `sReturnToCamId` * activeCamId -> returnToCamId * Discord Discussions * FIRST * Move macro to bottom, comments * More suggestions * PR suggestion, cleanup comment * Oops * add comments * Adjust comment * Change edge-case * whoops Co-authored-by: fig02 <fig02srl@gmail.com>
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_actor.c2
-rw-r--r--src/code/z_camera.c86
-rw-r--r--src/code/z_demo.c122
-rw-r--r--src/code/z_horse.c2
-rw-r--r--src/code/z_message_PAL.c4
-rw-r--r--src/code/z_onepointdemo.c540
-rw-r--r--src/code/z_play.c68
-rw-r--r--src/code/z_player_lib.c4
-rw-r--r--src/code/z_quake.c14
-rw-r--r--src/code/z_room.c37
10 files changed, 439 insertions, 440 deletions
diff --git a/src/code/z_actor.c b/src/code/z_actor.c
index 4f6c2bf26..b0b5aba84 100644
--- a/src/code/z_actor.c
+++ b/src/code/z_actor.c
@@ -1010,7 +1010,7 @@ void func_8002DE04(GlobalContext* globalCtx, Actor* actorA, Actor* actorB) {
void func_8002DE74(GlobalContext* globalCtx, Player* player) {
if ((globalCtx->roomCtx.curRoom.unk_03 != 4) && func_800C0CB8(globalCtx)) {
- Camera_ChangeSetting(Gameplay_GetCamera(globalCtx, MAIN_CAM), CAM_SET_HORSE);
+ Camera_ChangeSetting(Gameplay_GetCamera(globalCtx, CAM_ID_MAIN), CAM_SET_HORSE);
}
}
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index 33b377aeb..a00611af3 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -722,7 +722,7 @@ void Camera_CopyDataToRegs(Camera* camera, s16 mode) {
s32 i;
if (PREG(82)) {
- osSyncPrintf("camera: res: stat (%d/%d/%d)\n", camera->thisIdx, camera->setting, mode);
+ osSyncPrintf("camera: res: stat (%d/%d/%d)\n", camera->camId, camera->setting, mode);
}
values = sCameraSettings[camera->setting].cameraModes[mode].values;
@@ -3345,7 +3345,7 @@ s32 Camera_KeepOn3(Camera* camera) {
if (RELOAD_PARAMS(camera)) {
if (camera->globalCtx->view.unk_124 == 0) {
camera->unk_14C |= 0x20;
- camera->globalCtx->view.unk_124 = camera->thisIdx | 0x50;
+ camera->globalCtx->view.unk_124 = camera->camId | 0x50;
return 1;
}
camera->unk_14C &= ~0x20;
@@ -3525,7 +3525,7 @@ s32 Camera_KeepOn4(Camera* camera) {
if (camera->globalCtx->view.unk_124 == 0) {
camera->unk_14C |= 0x20;
camera->unk_14C &= ~(0x4 | 0x2);
- camera->globalCtx->view.unk_124 = camera->thisIdx | 0x50;
+ camera->globalCtx->view.unk_124 = camera->camId | 0x50;
return 1;
}
rwData->unk_14 = *temp_s0;
@@ -3538,7 +3538,7 @@ s32 Camera_KeepOn4(Camera* camera) {
camera->animState = 20;
camera->unk_14C |= 0x20;
camera->unk_14C &= ~(0x4 | 0x2);
- camera->globalCtx->view.unk_124 = camera->thisIdx | 0x50;
+ camera->globalCtx->view.unk_124 = camera->camId | 0x50;
return 1;
}
@@ -4205,7 +4205,7 @@ s32 Camera_Subj3(Camera* camera) {
playerHeight = Player_GetHeight(camera->player);
if (camera->globalCtx->view.unk_124 == 0) {
- camera->globalCtx->view.unk_124 = camera->thisIdx | 0x50;
+ camera->globalCtx->view.unk_124 = camera->camId | 0x50;
return true;
}
@@ -4334,7 +4334,7 @@ s32 Camera_Subj4(Camera* camera) {
}
if (camera->globalCtx->view.unk_124 == 0) {
- camera->globalCtx->view.unk_124 = (camera->thisIdx | 0x50);
+ camera->globalCtx->view.unk_124 = (camera->camId | 0x50);
rwData->unk_24 = camera->xzSpeed;
return true;
}
@@ -5137,7 +5137,7 @@ s32 Camera_Unique9(Camera* camera) {
}
} else {
// We've gone through all the keyframes.
- if (camera->thisIdx != MAIN_CAM) {
+ if (camera->camId != CAM_ID_MAIN) {
camera->timer = 0;
}
return true;
@@ -5475,20 +5475,20 @@ s32 Camera_Unique9(Camera* camera) {
break;
case 19: {
// Change the parent camera (or default)'s mode to normal
- s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
+ s32 camIdx = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId;
Camera_ChangeModeFlags(camera->globalCtx->cameraPtrs[camIdx], CAM_MODE_NORMAL, 1);
}
case 18: {
// copy the current camera to the parent (or default)'s camera.
- s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
+ s32 camIdx = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId;
Camera* cam = camera->globalCtx->cameraPtrs[camIdx];
*eye = *eyeNext;
Camera_Copy(cam, camera);
}
default:
- if (camera->thisIdx != MAIN_CAM) {
+ if (camera->camId != CAM_ID_MAIN) {
camera->timer = 0;
}
}
@@ -5911,7 +5911,7 @@ s32 Camera_Demo5(Camera* camera) {
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);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D6AC[2].timerInit;
@@ -5921,7 +5921,7 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D724[1].timerInit = camera->timer - 1;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D724;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D724);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D724[2].timerInit;
@@ -5944,7 +5944,7 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D79C[1].timerInit = camera->timer - 1;
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D79C[2].timerInit + D_8011D79C[3].timerInit;
@@ -5955,7 +5955,7 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D83C[0].timerInit = camera->timer;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D83C;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D83C);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D83C[1].timerInit;
@@ -5969,7 +5969,7 @@ s32 Camera_Demo5(Camera* camera) {
D_8011D88C[0].timerInit = camera->timer;
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D88C;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D88C);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
} else {
camera->timer += D_8011D88C[1].timerInit;
@@ -5987,7 +5987,7 @@ s32 Camera_Demo5(Camera* camera) {
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);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D8DC[1].timerInit + D_8011D8DC[2].timerInit;
@@ -6024,7 +6024,7 @@ s32 Camera_Demo5(Camera* camera) {
}
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D954;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D954);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
} else {
camera->timer += D_8011D954[2].timerInit + D_8011D954[3].timerInit;
@@ -6049,7 +6049,7 @@ s32 Camera_Demo5(Camera* camera) {
}
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D9F4;
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D9F4);
- if (camera->parentCamIdx != MAIN_CAM) {
+ if (camera->parentCamId != CAM_ID_MAIN) {
if (camera->globalCtx->state.frames & 1) {
D_8011D9F4[0].rollTargetInit = -D_8011D9F4[0].rollTargetInit;
D_8011D9F4[1].rollTargetInit = -D_8011D9F4[1].rollTargetInit;
@@ -6111,7 +6111,7 @@ s32 Camera_Demo6(Camera* camera) {
s16 stateTimers[4];
Demo6ReadWriteData* rwData = &camera->paramData.demo6.rwData;
- mainCam = Gameplay_GetCamera(camera->globalCtx, MAIN_CAM);
+ mainCam = Gameplay_GetCamera(camera->globalCtx, CAM_ID_MAIN);
camFocus = camera->target;
stateTimers[1] = 0x37;
stateTimers[2] = 0x46;
@@ -6216,7 +6216,7 @@ s32 Camera_Demo9(Camera* camera) {
f32* camFOV = &camera->fov;
Demo9ReadWriteData* rwData = &camera->paramData.demo9.rwData;
- mainCam = Gameplay_GetCamera(camera->globalCtx, MAIN_CAM);
+ mainCam = Gameplay_GetCamera(camera->globalCtx, CAM_ID_MAIN);
mainCamPlayerPosRot = &mainCam->playerPosRot;
if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) {
values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
@@ -6306,7 +6306,7 @@ s32 Camera_Demo9(Camera* camera) {
if (rwData->finishAction == 0x2000) {
// finish action = 0x2000, run OnePointCs 0x3FC (Dramatic Return to Link)
onePointTimer = onePointCamData->initTimer < 50 ? 5 : onePointCamData->initTimer / 5;
- OnePointCutscene_Init(camera->globalCtx, 1020, onePointTimer, NULL, camera->parentCamIdx);
+ OnePointCutscene_Init(camera->globalCtx, 1020, onePointTimer, NULL, camera->parentCamId);
}
} else {
// finish action = 0x1000, copy the current camera's values to the
@@ -7019,7 +7019,7 @@ void Camera_InitPlayerSettings(Camera* camera, Player* player) {
Camera_QRegInit();
osSyncPrintf(VT_FGCOL(BLUE) "camera: personalize ---" VT_RST "\n");
- if (camera->thisIdx == MAIN_CAM) {
+ if (camera->camId == CAM_ID_MAIN) {
Camera_UpdateWater(camera);
}
}
@@ -7035,7 +7035,7 @@ s16 Camera_ChangeStatus(Camera* camera, s16 status) {
}
if (PREG(82)) {
- osSyncPrintf("camera: res: stat (%d/%d/%d)\n", camera->thisIdx, camera->setting, camera->mode);
+ osSyncPrintf("camera: res: stat (%d/%d/%d)\n", camera->camId, camera->setting, camera->mode);
}
if (status == CAM_STAT_ACTIVE && camera->status != CAM_STAT_ACTIVE) {
@@ -7058,7 +7058,7 @@ void Camera_PrintSettings(Camera* camera) {
char sp48[8];
s32 i;
- if ((OREG(0) & 1) && (camera->globalCtx->activeCamera == camera->thisIdx) && !gDbgCamEnabled) {
+ if ((OREG(0) & 1) && (camera->globalCtx->activeCamId == camera->camId) && !gDbgCamEnabled) {
for (i = 0; i < NUM_CAMS; i++) {
if (camera->globalCtx->cameraPtrs[i] == NULL) {
sp58[i] = '-';
@@ -7090,7 +7090,7 @@ void Camera_PrintSettings(Camera* camera) {
sp58[i] = '\0';
sp48[i] = '\0';
- sp48[camera->globalCtx->activeCamera] = 'a';
+ sp48[camera->globalCtx->activeCamId] = 'a';
func_8006376C(3, 0x16, 5, sp58);
func_8006376C(3, 0x16, 1, sp48);
func_8006376C(3, 0x17, 5, "S:");
@@ -7260,7 +7260,7 @@ s32 Camera_UpdateHotRoom(Camera* camera) {
s32 Camera_DbgChangeMode(Camera* camera) {
s32 changeDir = 0;
- if (!gDbgCamEnabled && camera->globalCtx->activeCamera == MAIN_CAM) {
+ if (!gDbgCamEnabled && camera->globalCtx->activeCamId == CAM_ID_MAIN) {
if (CHECK_BTN_ALL(D_8015BD7C->state.input[2].press.button, BTN_CUP)) {
osSyncPrintf("attention sound URGENCY\n");
func_80078884(NA_SE_SY_ATTENTION_URGENCY);
@@ -7387,7 +7387,7 @@ Vec3s Camera_Update(Camera* camera) {
QuakeCamCalc quake;
Player* player;
- player = camera->globalCtx->cameraPtrs[MAIN_CAM]->player;
+ player = camera->globalCtx->cameraPtrs[CAM_ID_MAIN]->player;
if (R_DBG_CAM_UPDATE) {
osSyncPrintf("camera: in %x\n", camera);
@@ -7494,7 +7494,7 @@ Vec3s Camera_Update(Camera* camera) {
if ((gSaveContext.gameMode != 0) && (gSaveContext.gameMode != 3)) {
sCameraInterfaceFlags = 0;
Camera_UpdateInterface(sCameraInterfaceFlags);
- } else if ((D_8011D3F0 != 0) && (camera->thisIdx == MAIN_CAM)) {
+ } else if ((D_8011D3F0 != 0) && (camera->camId == CAM_ID_MAIN)) {
D_8011D3F0--;
sCameraInterfaceFlags = 0x3200;
Camera_UpdateInterface(sCameraInterfaceFlags);
@@ -7626,13 +7626,13 @@ Vec3s Camera_Update(Camera* camera) {
* When the camera's timer is 0, change the camera to its parent
*/
void Camera_Finish(Camera* camera) {
- Camera* mainCam = camera->globalCtx->cameraPtrs[MAIN_CAM];
+ Camera* mainCam = camera->globalCtx->cameraPtrs[CAM_ID_MAIN];
Player* player = GET_PLAYER(camera->globalCtx);
if (camera->timer == 0) {
- Gameplay_ChangeCameraStatus(camera->globalCtx, camera->parentCamIdx, CAM_STAT_ACTIVE);
+ Gameplay_ChangeCameraStatus(camera->globalCtx, camera->parentCamId, CAM_STAT_ACTIVE);
- if ((camera->parentCamIdx == MAIN_CAM) && (camera->csId != 0)) {
+ if ((camera->parentCamId == CAM_ID_MAIN) && (camera->csId != 0)) {
player->actor.freezeTimer = 0;
player->stateFlags1 &= ~PLAYER_STATE1_29;
@@ -7644,23 +7644,23 @@ void Camera_Finish(Camera* camera) {
mainCam->unk_14C |= 8;
}
- if (CHILD_CAM(camera)->parentCamIdx == camera->thisIdx) {
- CHILD_CAM(camera)->parentCamIdx = camera->parentCamIdx;
+ if (CHILD_CAM(camera)->parentCamId == camera->camId) {
+ CHILD_CAM(camera)->parentCamId = camera->parentCamId;
}
- if (PARENT_CAM(camera)->childCamIdx == camera->thisIdx) {
- PARENT_CAM(camera)->childCamIdx = camera->childCamIdx;
+ if (PARENT_CAM(camera)->childCamId == camera->camId) {
+ PARENT_CAM(camera)->childCamId = camera->childCamId;
}
- if (PARENT_CAM(camera)->thisIdx == MAIN_CAM) {
+ if (PARENT_CAM(camera)->camId == CAM_ID_MAIN) {
PARENT_CAM(camera)->animState = 0;
}
- camera->childCamIdx = camera->parentCamIdx = SUBCAM_FREE;
+ camera->childCamId = camera->parentCamId = CAM_ID_MAIN;
camera->timer = -1;
camera->globalCtx->envCtx.fillScreen = false;
- Gameplay_ClearCamera(camera->globalCtx, camera->thisIdx);
+ Gameplay_ClearCamera(camera->globalCtx, camera->camId);
}
}
@@ -7871,7 +7871,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
}
osSyncPrintf(VT_SGR("1") "%06u:" VT_RST " camera: change camera[%d] set %s\n", camera->globalCtx->state.frames,
- camera->thisIdx, sCameraSettingNames[camera->setting]);
+ camera->camId, sCameraSettingNames[camera->setting]);
return setting;
}
@@ -7901,7 +7901,7 @@ s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx) {
//! @bug: This is likely checking the wrong value. The actual return of Camera_ChangeSettingFlags or
// camDataIdx would make more sense.
osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera ID (%d) !! (%d|%d|%d)\n" VT_RST, camDataIdx,
- camera->thisIdx, 0x32, newCameraSetting);
+ camera->camId, 0x32, newCameraSetting);
}
return 0x80000000 | camDataIdx;
}
@@ -8197,10 +8197,10 @@ s32 func_8005B198(void) {
s16 func_8005B1A4(Camera* camera) {
camera->unk_14C |= 0x8;
- if ((camera->thisIdx == MAIN_CAM) && (camera->globalCtx->activeCamera != MAIN_CAM)) {
+ if ((camera->camId == CAM_ID_MAIN) && (camera->globalCtx->activeCamId != CAM_ID_MAIN)) {
GET_ACTIVE_CAM(camera->globalCtx)->unk_14C |= 0x8;
- return camera->globalCtx->activeCamera;
+ return camera->globalCtx->activeCamId;
}
- return camera->thisIdx;
+ return camera->camId;
}
diff --git a/src/code/z_demo.c b/src/code/z_demo.c
index 3db79f423..c2c6e9d06 100644
--- a/src/code/z_demo.c
+++ b/src/code/z_demo.c
@@ -96,7 +96,7 @@ void* D_8011E304[] = {
u16 D_8015FCC0;
u16 D_8015FCC2;
u16 D_8015FCC4;
-s16 D_8015FCC6;
+s16 sReturnToCamId;
u8 D_8015FCC8;
s16 sQuakeIndex;
u16 D_8015FCCC; // only written to, never read
@@ -1330,8 +1330,8 @@ void Cutscene_Command_TransitionFX(GlobalContext* globalCtx, CutsceneContext* cs
}
}
-// Command 0x1 & 0x5: Camera Positions
-s32 Cutscene_Command_CameraPositions(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cmd, u8 relativeToLink) {
+// Command 0x1 & 0x5: Camera Eye Points
+s32 Cutscene_Command_CameraEyePoints(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cmd, u8 relativeToLink) {
s32 shouldContinue = 1;
CsCmdBase* cmdBase = (CsCmdBase*)cmd;
s32 size;
@@ -1342,16 +1342,16 @@ s32 Cutscene_Command_CameraPositions(GlobalContext* globalCtx, CutsceneContext*
if ((cmdBase->startFrame < csCtx->frames) && (csCtx->frames < cmdBase->endFrame) &&
((csCtx->unk_18 < cmdBase->startFrame) || (csCtx->unk_18 >= 0xF000))) {
csCtx->unk_1B = 1;
- csCtx->cameraPosition = (CutsceneCameraPoint*)cmd;
+ csCtx->subCamEyePoints = (CutsceneCameraPoint*)cmd;
if (csCtx->unk_1A != 0) {
csCtx->unk_18 = cmdBase->startFrame;
if (D_8015FCC8 != 0) {
- Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_CS_0);
- Gameplay_ChangeCameraStatus(globalCtx, D_8015FCC6, CAM_STAT_WAIT);
- Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
- Camera_ResetAnim(Gameplay_GetCamera(globalCtx, csCtx->unk_14));
- Camera_SetCSParams(Gameplay_GetCamera(globalCtx, csCtx->unk_14), csCtx->cameraFocus,
- csCtx->cameraPosition, GET_PLAYER(globalCtx), relativeToLink);
+ Gameplay_CameraChangeSetting(globalCtx, csCtx->subCamId, CAM_SET_CS_0);
+ Gameplay_ChangeCameraStatus(globalCtx, sReturnToCamId, CAM_STAT_WAIT);
+ Gameplay_ChangeCameraStatus(globalCtx, csCtx->subCamId, CAM_STAT_ACTIVE);
+ Camera_ResetAnim(Gameplay_GetCamera(globalCtx, csCtx->subCamId));
+ Camera_SetCSParams(Gameplay_GetCamera(globalCtx, csCtx->subCamId), csCtx->subCamLookAtPoints,
+ csCtx->subCamEyePoints, GET_PLAYER(globalCtx), relativeToLink);
}
}
}
@@ -1367,8 +1367,8 @@ s32 Cutscene_Command_CameraPositions(GlobalContext* globalCtx, CutsceneContext*
return size;
}
-// Command 0x2 & 0x6: Camera Focus Points
-s32 Cutscene_Command_CameraFocus(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cmd, u8 relativeToLink) {
+// Command 0x2 & 0x6: Camera At Points
+s32 Cutscene_Command_CameraLookAtPoints(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cmd, u8 relativeToLink) {
s32 shouldContinue = 1;
CsCmdBase* cmdBase = (CsCmdBase*)cmd;
s32 size;
@@ -1379,16 +1379,16 @@ s32 Cutscene_Command_CameraFocus(GlobalContext* globalCtx, CutsceneContext* csCt
if ((cmdBase->startFrame < csCtx->frames) && (csCtx->frames < cmdBase->endFrame) &&
((D_8015FCC0 < cmdBase->startFrame) || (D_8015FCC0 >= 0xF000))) {
csCtx->unk_1A = 1;
- csCtx->cameraFocus = (CutsceneCameraPoint*)cmd;
+ csCtx->subCamLookAtPoints = (CutsceneCameraPoint*)cmd;
if (csCtx->unk_1B != 0) {
D_8015FCC0 = cmdBase->startFrame;
if (D_8015FCC8 != 0) {
- Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_CS_0);
- Gameplay_ChangeCameraStatus(globalCtx, D_8015FCC6, CAM_STAT_WAIT);
- Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
- Camera_ResetAnim(Gameplay_GetCamera(globalCtx, csCtx->unk_14));
- Camera_SetCSParams(Gameplay_GetCamera(globalCtx, csCtx->unk_14), csCtx->cameraFocus,
- csCtx->cameraPosition, GET_PLAYER(globalCtx), relativeToLink);
+ Gameplay_CameraChangeSetting(globalCtx, csCtx->subCamId, CAM_SET_CS_0);
+ Gameplay_ChangeCameraStatus(globalCtx, sReturnToCamId, CAM_STAT_WAIT);
+ Gameplay_ChangeCameraStatus(globalCtx, csCtx->subCamId, CAM_STAT_ACTIVE);
+ Camera_ResetAnim(Gameplay_GetCamera(globalCtx, csCtx->subCamId));
+ Camera_SetCSParams(Gameplay_GetCamera(globalCtx, csCtx->subCamId), csCtx->subCamLookAtPoints,
+ csCtx->subCamEyePoints, GET_PLAYER(globalCtx), relativeToLink);
}
}
}
@@ -1410,7 +1410,7 @@ s32 Cutscene_Command_07(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
s32 size;
Vec3f sp3C;
Vec3f sp30;
- Camera* sp2C;
+ Camera* subCam;
f32 sp28;
cmd += 8;
@@ -1419,25 +1419,25 @@ s32 Cutscene_Command_07(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
if ((cmdBase->startFrame < csCtx->frames) && (csCtx->frames < cmdBase->endFrame) &&
((D_8015FCC2 < cmdBase->startFrame) || (D_8015FCC2 >= 0xF000))) {
csCtx->unk_1B = 1;
- csCtx->cameraPosition = (CutsceneCameraPoint*)cmd;
+ csCtx->subCamEyePoints = (CutsceneCameraPoint*)cmd;
if (csCtx->unk_1A != 0) {
D_8015FCC2 = cmdBase->startFrame;
if (D_8015FCC8 != 0) {
- sp2C = Gameplay_GetCamera(globalCtx, csCtx->unk_14);
- sp2C->player = NULL;
- Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
- Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
- Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_FREE0);
- sp28 = csCtx->cameraFocus->cameraRoll * 1.40625f;
- Camera_SetParam(sp2C, 64, &sp28);
- sp3C.x = csCtx->cameraFocus->pos.x;
- sp3C.y = csCtx->cameraFocus->pos.y;
- sp3C.z = csCtx->cameraFocus->pos.z;
- sp30.x = csCtx->cameraPosition->pos.x;
- sp30.y = csCtx->cameraPosition->pos.y;
- sp30.z = csCtx->cameraPosition->pos.z;
- Gameplay_CameraSetAtEye(globalCtx, csCtx->unk_14, &sp3C, &sp30);
- Gameplay_CameraSetFov(globalCtx, csCtx->unk_14, csCtx->cameraPosition->viewAngle);
+ subCam = Gameplay_GetCamera(globalCtx, csCtx->subCamId);
+ subCam->player = NULL;
+ Gameplay_ChangeCameraStatus(globalCtx, CAM_ID_MAIN, CAM_STAT_WAIT);
+ Gameplay_ChangeCameraStatus(globalCtx, csCtx->subCamId, CAM_STAT_ACTIVE);
+ Gameplay_CameraChangeSetting(globalCtx, csCtx->subCamId, CAM_SET_FREE0);
+ sp28 = csCtx->subCamLookAtPoints->cameraRoll * 1.40625f;
+ Camera_SetParam(subCam, 64, &sp28);
+ sp3C.x = csCtx->subCamLookAtPoints->pos.x;
+ sp3C.y = csCtx->subCamLookAtPoints->pos.y;
+ sp3C.z = csCtx->subCamLookAtPoints->pos.z;
+ sp30.x = csCtx->subCamEyePoints->pos.x;
+ sp30.y = csCtx->subCamEyePoints->pos.y;
+ sp30.z = csCtx->subCamEyePoints->pos.z;
+ Gameplay_CameraSetAtEye(globalCtx, csCtx->subCamId, &sp3C, &sp30);
+ Gameplay_CameraSetFov(globalCtx, csCtx->subCamId, csCtx->subCamEyePoints->viewAngle);
}
}
}
@@ -1453,7 +1453,7 @@ s32 Cutscene_Command_08(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
s32 size;
Vec3f sp3C;
Vec3f sp30;
- Camera* sp2C;
+ Camera* subCam;
f32 sp28;
cmd += 8;
@@ -1462,23 +1462,23 @@ s32 Cutscene_Command_08(GlobalContext* globalCtx, CutsceneContext* csCtx, u8* cm
if ((cmdBase->startFrame < csCtx->frames) && (csCtx->frames < cmdBase->endFrame) &&
((D_8015FCC4 < cmdBase->startFrame) || (D_8015FCC4 >= 0xF000))) {
csCtx->unk_1A = 1;
- csCtx->cameraFocus = (CutsceneCameraPoint*)cmd;
+ csCtx->subCamLookAtPoints = (CutsceneCameraPoint*)cmd;
if (csCtx->unk_1B != 0) {
D_8015FCC4 = cmdBase->startFrame;
if (D_8015FCC8 != 0) {
- sp2C = Gameplay_GetCamera(globalCtx, csCtx->unk_14);
- sp2C->player = NULL;
- Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_WAIT);
- Gameplay_ChangeCameraStatus(globalCtx, csCtx->unk_14, CAM_STAT_ACTIVE);
- Gameplay_CameraChangeSetting(globalCtx, csCtx->unk_14, CAM_SET_FREE0);
- sp3C.x = csCtx->cameraFocus->pos.x;
- sp3C.y = csCtx->cameraFocus->pos.y;
- sp3C.z = csCtx->cameraFocus->pos.z;
- sp30.x = csCtx->cameraPosition->pos.x;
- sp30.y = csCtx->cameraPosition->pos.y;
- sp30.z = csCtx->cameraPosition->pos.z;
- Gameplay_CameraSetAtEye(globalCtx, csCtx->unk_14, &sp3C, &sp30);
- Gameplay_CameraSetFov(globalCtx, csCtx->unk_14, csCtx->cameraPosition->viewAngle);
+ subCam = Gameplay_GetCamera(globalCtx, csCtx->subCamId);
+ subCam->player = NULL;
+ Gameplay_ChangeCameraStatus(globalCtx, CAM_ID_MAIN, CAM_STAT_WAIT);
+ Gameplay_ChangeCameraStatus(globalCtx, csCtx->subCamId, CAM_STAT_ACTIVE);
+ Gameplay_CameraChangeSetting(globalCtx, csCtx->subCamId, CAM_SET_FREE0);
+ sp3C.x = csCtx->subCamLookAtPoints->pos.x;
+ sp3C.y = csCtx->subCamLookAtPoints->pos.y;
+ sp3C.z = csCtx->subCamLookAtPoints->pos.z;
+ sp30.x = csCtx->subCamEyePoints->pos.x;
+ sp30.y = csCtx->subCamEyePoints->pos.y;
+ sp30.z = csCtx->subCamEyePoints->pos.z;
+ Gameplay_CameraSetAtEye(globalCtx, csCtx->subCamId, &sp3C, &sp30);
+ Gameplay_CameraSetFov(globalCtx, csCtx->subCamId, csCtx->subCamEyePoints->viewAngle);
}
}
}
@@ -1859,16 +1859,16 @@ void Cutscene_ProcessCommands(GlobalContext* globalCtx, CutsceneContext* csCtx,
}
break;
case CS_CMD_CAM_EYE:
- cutscenePtr += Cutscene_Command_CameraPositions(globalCtx, csCtx, (void*)cutscenePtr, 0);
+ cutscenePtr += Cutscene_Command_CameraEyePoints(globalCtx, csCtx, (void*)cutscenePtr, 0);
break;
case CS_CMD_CAM_EYE_REL_TO_PLAYER:
- cutscenePtr += Cutscene_Command_CameraPositions(globalCtx, csCtx, (void*)cutscenePtr, 1);
+ cutscenePtr += Cutscene_Command_CameraEyePoints(globalCtx, csCtx, (void*)cutscenePtr, 1);
break;
case CS_CMD_CAM_AT:
- cutscenePtr += Cutscene_Command_CameraFocus(globalCtx, csCtx, (void*)cutscenePtr, 0);
+ cutscenePtr += Cutscene_Command_CameraLookAtPoints(globalCtx, csCtx, (void*)cutscenePtr, 0);
break;
case CS_CMD_CAM_AT_REL_TO_PLAYER:
- cutscenePtr += Cutscene_Command_CameraFocus(globalCtx, csCtx, (void*)cutscenePtr, 1);
+ cutscenePtr += Cutscene_Command_CameraLookAtPoints(globalCtx, csCtx, (void*)cutscenePtr, 1);
break;
case CS_CMD_07:
cutscenePtr += Cutscene_Command_07(globalCtx, csCtx, (void*)cutscenePtr, 0);
@@ -1967,12 +1967,12 @@ void func_80068DC0(GlobalContext* globalCtx, CutsceneContext* csCtx) {
case 0x028E:
case 0x0292:
case 0x0476:
- Gameplay_CopyCamera(globalCtx, D_8015FCC6, csCtx->unk_14);
+ Gameplay_CopyCamera(globalCtx, sReturnToCamId, csCtx->subCamId);
}
- Gameplay_ChangeCameraStatus(globalCtx, D_8015FCC6, CAM_STAT_ACTIVE);
- Gameplay_ClearCamera(globalCtx, csCtx->unk_14);
- func_8005B1A4(globalCtx->cameraPtrs[D_8015FCC6]);
+ Gameplay_ChangeCameraStatus(globalCtx, sReturnToCamId, CAM_STAT_ACTIVE);
+ Gameplay_ClearCamera(globalCtx, csCtx->subCamId);
+ func_8005B1A4(globalCtx->cameraPtrs[sReturnToCamId]);
}
Audio_SetCutsceneFlag(0);
@@ -2011,10 +2011,10 @@ void func_80068ECC(GlobalContext* globalCtx, CutsceneContext* csCtx) {
D_8015FCC4 = 0xFFFF;
csCtx->unk_1A = 0;
csCtx->unk_1B = 0;
- D_8015FCC6 = globalCtx->activeCamera;
+ sReturnToCamId = globalCtx->activeCamId;
if (D_8015FCC8 != 0) {
- csCtx->unk_14 = Gameplay_CreateSubCamera(globalCtx);
+ csCtx->subCamId = Gameplay_CreateSubCamera(globalCtx);
}
if (gSaveContext.cutsceneTrigger == 0) {
diff --git a/src/code/z_horse.c b/src/code/z_horse.c
index 072ef3187..8a3deac6e 100644
--- a/src/code/z_horse.c
+++ b/src/code/z_horse.c
@@ -223,7 +223,7 @@ void func_8006D684(GlobalContext* globalCtx, Player* player) {
sp54.y = player->actor.world.pos.y + 100.0f;
sp54.z = player->actor.world.pos.z;
- Gameplay_CameraSetAtEye(globalCtx, globalCtx->activeCamera, &player->actor.world.pos, &sp54);
+ Gameplay_CameraSetAtEye(globalCtx, globalCtx->activeCamId, &player->actor.world.pos, &sp54);
} else {
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_HORSE, D_8011F9B8[i].pos.x,
D_8011F9B8[i].pos.y, D_8011F9B8[i].pos.z, 0, D_8011F9B8[i].angle, 0,
diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c
index 38968e59a..18fd1d732 100644
--- a/src/code/z_message_PAL.c
+++ b/src/code/z_message_PAL.c
@@ -3275,13 +3275,13 @@ void Message_Update(GlobalContext* globalCtx) {
}
if (globalCtx->csCtx.state == 0) {
osSyncPrintf(VT_FGCOL(GREEN));
- osSyncPrintf("day_time=%x active_camera=%d ", gSaveContext.cutsceneIndex, globalCtx->activeCamera);
+ osSyncPrintf("day_time=%x active_camera=%d ", gSaveContext.cutsceneIndex, globalCtx->activeCamId);
if (msgCtx->textId != 0x2061 && msgCtx->textId != 0x2025 && msgCtx->textId != 0x208C &&
((msgCtx->textId < 0x88D || msgCtx->textId >= 0x893) || msgCtx->choiceIndex != 0) &&
(msgCtx->textId != 0x3055 && gSaveContext.cutsceneIndex < 0xFFF0)) {
osSyncPrintf("=== day_time=%x ", ((void)0, gSaveContext.cutsceneIndex));
- if (globalCtx->activeCamera == MAIN_CAM) {
+ if (globalCtx->activeCamId == CAM_ID_MAIN) {
if (gSaveContext.unk_13EE == 0 || gSaveContext.unk_13EE == 1 || gSaveContext.unk_13EE == 2) {
gSaveContext.unk_13EE = 0x32;
}
diff --git a/src/code/z_onepointdemo.c b/src/code/z_onepointdemo.c
index ea2bec75a..a4d6edeb1 100644
--- a/src/code/z_onepointdemo.c
+++ b/src/code/z_onepointdemo.c
@@ -56,10 +56,10 @@ void OnePointCutscene_SetCsCamPoints(Camera* camera, s16 actionParameters, s16 i
onePointCamData->initTimer = initTimer;
}
-s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Actor* actor, s16 timer) {
- Camera* csCam = globalCtx->cameraPtrs[camIdx];
- Camera* childCam = globalCtx->cameraPtrs[csCam->childCamIdx];
- Camera* mainCam = globalCtx->cameraPtrs[MAIN_CAM];
+s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 subCamId, s16 csId, Actor* actor, s16 timer) {
+ Camera* subCam = globalCtx->cameraPtrs[subCamId];
+ Camera* childCam = globalCtx->cameraPtrs[subCam->childCamId];
+ Camera* mainCam = globalCtx->cameraPtrs[CAM_ID_MAIN];
Player* player = mainCam->player;
VecSph spD0;
s32 i;
@@ -68,7 +68,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
PosRot spA0;
PosRot sp8C;
f32 tempRand;
- OnePointCsInfo* csInfo = &csCam->paramData.uniq9.csInfo;
+ OnePointCsInfo* csInfo = &subCam->paramData.uniq9.csInfo;
switch (csId) {
case 1020:
@@ -82,13 +82,13 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
D_801208EC[1].eyeTargetInit = mainCam->eye;
D_801208EC[1].fovTargetInit = mainCam->fov;
D_801208EC[1].timerInit = timer - 1;
- csCam->timer = timer + 1;
+ subCam->timer = timer + 1;
D_801208EC[1].lerpStepScale = 1.0f / (0.5f * timer);
csInfo->keyFrames = D_801208EC;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 1030:
D_80120964[0].atTargetInit = globalCtx->view.at;
@@ -101,7 +101,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80120964;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 5000:
D_801209B4[0].atTargetInit = D_801209B4[1].atTargetInit = globalCtx->view.at;
@@ -115,17 +115,17 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801209B4;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 5010:
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_ATTENTION);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &mainCam->at, &mainCam->eye);
- csCam->roll = 0;
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_ATTENTION);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &mainCam->at, &mainCam->eye);
+ subCam->roll = 0;
break;
case 9500:
csInfo->keyFrames = D_80120A54;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 2260:
D_80120ACC[0].atTargetInit.x = D_80120ACC[2].atTargetInit.x =
@@ -137,7 +137,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80120ACC;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 2270:
csInfo->keyFrames = D_80120B94;
@@ -152,11 +152,11 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
}
}
- D_80120B94[camIdx - 1].eyeTargetInit.y =
+ D_80120B94[subCamId - 1].eyeTargetInit.y =
((mainCam->globalCtx->state.frames & 1) ? 3.0f : -3.0f) + Rand_ZeroOne();
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 5);
+ i = Quake_Add(subCam, 5);
Quake_SetSpeed(i, 400);
Quake_SetQuakeValues(i, 4, 5, 40, 0x3C);
Quake_SetCountdown(i, 1600);
@@ -173,11 +173,11 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
D_80120D4C[i].eyeTargetInit.z = (Rand_ZeroOne() * 40.0f) + 80.0f;
}
}
- D_80120D4C[camIdx - 1].eyeTargetInit.y =
+ D_80120D4C[subCamId - 1].eyeTargetInit.y =
((mainCam->globalCtx->state.frames & 1) ? 3.0f : -3.0f) + Rand_ZeroOne();
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 5);
+ i = Quake_Add(subCam, 5);
Quake_SetSpeed(i, 400);
Quake_SetQuakeValues(i, 2, 3, 200, 0x32);
Quake_SetCountdown(i, 9999);
@@ -186,9 +186,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80120E64;
csInfo->keyFrameCnt = 8;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 5);
+ i = Quake_Add(subCam, 5);
Quake_SetSpeed(i, 400);
Quake_SetQuakeValues(i, 2, 2, 50, 0);
Quake_SetCountdown(i, 280);
@@ -202,15 +202,15 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80120FA4;
csInfo->keyFrameCnt = 6;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 2340:
csInfo->keyFrames = D_80121094;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 5);
+ i = Quake_Add(subCam, 5);
Quake_SetSpeed(i, 400);
Quake_SetQuakeValues(i, 2, 2, 50, 0);
Quake_SetCountdown(i, 60);
@@ -219,7 +219,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012110C;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 2200: {
s16 sp82;
@@ -255,8 +255,8 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801211D4;
csInfo->keyFrameCnt = 2;
}
- Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_UNK3);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ Gameplay_ChangeCameraStatus(globalCtx, CAM_ID_MAIN, CAM_STAT_UNK3);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
} break;
case 2290: {
Actor* rideActor = player->rideActor;
@@ -269,7 +269,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121224;
csInfo->keyFrameCnt = 6;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
} break;
case 5120:
func_8002DF54(globalCtx, NULL, 8);
@@ -277,7 +277,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121314;
csInfo->keyFrameCnt = 1;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4510:
D_8012133C[0].eyeTargetInit = actor->world.pos;
@@ -287,7 +287,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012133C;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4500:
Actor_GetFocus(&spA0, actor);
@@ -298,13 +298,13 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spD0.pitch = 0x3E8;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
func_8002DF54(globalCtx, NULL, 8);
- csCam->roll = 0;
- csCam->fov = 50.0f;
- if (csCam->childCamIdx != SUBCAM_FREE) {
- OnePointCutscene_EndCutscene(globalCtx, csCam->childCamIdx);
+ subCam->roll = 0;
+ subCam->fov = 50.0f;
+ if (subCam->childCamId != CAM_ID_MAIN) {
+ OnePointCutscene_EndCutscene(globalCtx, subCam->childCamId);
}
break;
case 2210:
@@ -319,29 +319,29 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801213B4;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 1010:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &childCam->at, &childCam->eye);
- Gameplay_CameraSetFov(globalCtx, camIdx, childCam->fov);
- Gameplay_SetCameraRoll(globalCtx, camIdx, childCam->roll);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &childCam->at, &childCam->eye);
+ Gameplay_CameraSetFov(globalCtx, subCamId, childCam->fov);
+ Gameplay_SetCameraRoll(globalCtx, subCamId, childCam->roll);
break;
case 9601:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_CS_3);
- Gameplay_CameraChangeSetting(globalCtx, MAIN_CAM, mainCam->prevSetting);
- OnePointCutscene_SetCsCamPoints(csCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120398);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_CS_3);
+ Gameplay_CameraChangeSetting(globalCtx, CAM_ID_MAIN, mainCam->prevSetting);
+ OnePointCutscene_SetCsCamPoints(subCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120398);
break;
case 9602:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_CS_3);
- Gameplay_CameraChangeSetting(globalCtx, MAIN_CAM, mainCam->prevSetting);
- OnePointCutscene_SetCsCamPoints(csCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120434);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_CS_3);
+ Gameplay_CameraChangeSetting(globalCtx, CAM_ID_MAIN, mainCam->prevSetting);
+ OnePointCutscene_SetCsCamPoints(subCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120434);
break;
case 4175:
csInfo->keyFrames = D_8012147C;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4180:
spC0.x = -1881.0f;
@@ -350,10 +350,10 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spB4.x = -1979.0f;
spB4.y = 703.0f;
spB4.z = -269.0f;
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 6;
- csCam->fov = 75.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 6;
+ subCam->fov = 75.0f;
func_8002DF54(globalCtx, NULL, 8);
break;
case 3040:
@@ -363,7 +363,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012151C;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3020:
D_8012156C[1].timerInit = timer - 1;
@@ -380,7 +380,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012156C;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
func_8002DF54(globalCtx, NULL, 8);
break;
case 3010:
@@ -389,15 +389,15 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801215BC;
csInfo->keyFrameCnt = 1;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3070:
csInfo->keyFrames = D_801215E4;
csInfo->keyFrameCnt = 10;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 22000);
Quake_SetQuakeValues(i, 2, 0, 200, 0);
Quake_SetCountdown(i, 10);
@@ -406,7 +406,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121774;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3090:
func_8002DF54(globalCtx, NULL, 8);
@@ -414,17 +414,17 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121814;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3100:
VEC_SET(spB4, 0.0f, -280.0f, -1400.0f);
Actor_GetFocus(&spA0, actor);
spC0 = spA0.pos;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_PIVOT_VERTICAL);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0;
- csCam->fov = 70.0f;
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_PIVOT_VERTICAL);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0;
+ subCam->fov = 70.0f;
func_8002DF54(globalCtx, NULL, 8);
break;
case 3380:
@@ -433,9 +433,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 2;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 24000);
Quake_SetQuakeValues(i, 2, 0, 0, 0);
Quake_SetCountdown(i, 160);
@@ -445,12 +445,12 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 2;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3050:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_CS_3);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_CS_3);
func_8002DF54(globalCtx, &player->actor, 5);
- OnePointCutscene_SetCsCamPoints(csCam, D_80120304 | 0x2000, D_80120300, D_8012013C, D_8012021C);
+ OnePointCutscene_SetCsCamPoints(subCam, D_80120304 | 0x2000, D_80120300, D_8012013C, D_8012021C);
func_80078884(NA_SE_SY_CORRECT_CHIME);
OnePointCutscene_Vec3sToVec3f(&mainCam->at, &D_8012013C[D_801202FC - 2].pos);
OnePointCutscene_Vec3sToVec3f(&mainCam->eye, &D_8012021C[D_801202FC - 2].pos);
@@ -474,20 +474,20 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
break;
case 3120:
csInfo->keyFrames = D_80121954[-(timer + 101)];
- csCam->timer = 100;
- csCam->unk_14C |= 2;
+ subCam->timer = 100;
+ subCam->unk_14C |= 2;
csInfo->keyFrameCnt = 2;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3130:
csInfo->keyFrames = D_80121A44;
csInfo->keyFrameCnt = 12;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
- csCam->unk_14C |= 2;
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
+ subCam->unk_14C |= 2;
break;
case 3140:
D_80121C24[0].atTargetInit = globalCtx->view.at;
@@ -497,7 +497,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121C24;
csInfo->keyFrameCnt = 7;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3150:
spC0.x = 1890.0f;
@@ -506,10 +506,10 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spB4.x = 1729.0f;
spB4.y = 995.0f;
spB4.z = -1405.0f;
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0x50;
- csCam->fov = 55.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0x50;
+ subCam->fov = 55.0f;
func_8002DF38(globalCtx, &player->actor, 8);
break;
case 3170:
@@ -521,11 +521,11 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
Actor_GetWorld(&spA0, &player->actor);
spD0.yaw = OnePointCutscene_Vec3fYaw(&spC0, &spA0.pos) - 0x7D0;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- Gameplay_CopyCamera(globalCtx, MAIN_CAM, camIdx);
- csCam->roll = -1;
- csCam->fov = 55.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ Gameplay_CopyCamera(globalCtx, CAM_ID_MAIN, subCamId);
+ subCam->roll = -1;
+ subCam->fov = 55.0f;
func_8002DF38(globalCtx, actor, 1);
break;
case 3160:
@@ -535,10 +535,10 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spD0.yaw = spA0.rot.y;
spD0.r = 150.0f;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0;
- csCam->fov = 55.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0;
+ subCam->fov = 55.0f;
func_8002DF38(globalCtx, &player->actor, 8);
break;
case 3180:
@@ -549,14 +549,14 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spD0.yaw = spA0.rot.y;
spD0.pitch = -0xAF0;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0;
- csCam->fov = 60.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0;
+ subCam->fov = 60.0f;
func_8002DF38(globalCtx, actor, 1);
break;
case 3190:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FOREST_DEFEAT_POE);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FOREST_DEFEAT_POE);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
func_8002DF38(globalCtx, actor, 0xC);
break;
@@ -567,10 +567,10 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spB4.x = 80.0f;
spB4.y = 445.0f;
spB4.z = -1425.0f;
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0x1E;
- csCam->fov = 75.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0x1E;
+ subCam->fov = 75.0f;
func_8002DF38(globalCtx, &player->actor, 8);
Actor_GetWorldPosShapeRot(&spA0, actor);
Actor_GetFocus(&sp8C, &player->actor);
@@ -581,9 +581,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spD0.pitch = 0x5DC;
spD0.r = 120.0f;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraSetAtEye(globalCtx, MAIN_CAM, &spC0, &spB4);
+ Gameplay_CameraSetAtEye(globalCtx, CAM_ID_MAIN, &spC0, &spB4);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 22000);
Quake_SetQuakeValues(i, 1, 0, 0, 0);
Quake_SetCountdown(i, 90);
@@ -596,25 +596,25 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
spD0.yaw = spA0.rot.y + 0x7FFF;
spD0.r = 300.0f;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0;
- csCam->fov = 45.0f;
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0;
+ subCam->fov = 45.0f;
func_8002DF38(globalCtx, &player->actor, 8);
break;
case 3220:
Actor_GetFocus(&spA0, actor);
spC0 = spA0.pos;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_PIVOT_VERTICAL);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_PIVOT_VERTICAL);
Actor_GetWorld(&spA0, &player->actor);
OLib_Vec3fDiffToVecSphGeo(&spD0, &spC0, &spA0.pos);
spD0.yaw += 0x3E8;
spD0.r = 400.0f;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
spB4.y = spA0.pos.y + 60.0f;
- Gameplay_CameraSetAtEye(globalCtx, camIdx, &spC0, &spB4);
- csCam->roll = 0;
- csCam->fov = 75.0f;
+ Gameplay_CameraSetAtEye(globalCtx, subCamId, &spC0, &spB4);
+ subCam->roll = 0;
+ subCam->fov = 75.0f;
player->actor.shape.rot.y = player->actor.world.rot.y = player->currentYaw = spD0.yaw + 0x7FFF;
func_8002DF54(globalCtx, NULL, 8);
break;
@@ -625,31 +625,31 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 3;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 6001:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_CS_3);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_CS_3);
func_8002DF54(globalCtx, NULL, 8);
Actor_GetWorld(&spA0, actor);
if (spA0.pos.z > -750.0f) {
- OnePointCutscene_SetCsCamPoints(csCam, D_801208E8, D_801208E4, D_801206A0, D_80120820);
+ OnePointCutscene_SetCsCamPoints(subCam, D_801208E8, D_801208E4, D_801206A0, D_80120820);
} else {
- OnePointCutscene_SetCsCamPoints(csCam, D_801208E8, D_801208E4, D_801206A0, D_80120760);
+ OnePointCutscene_SetCsCamPoints(subCam, D_801208E8, D_801208E4, D_801206A0, D_80120760);
}
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 0, 0, 20, 0);
Quake_SetCountdown(i, D_801208E4 - 10);
break;
case 3400:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_CS_3);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_CS_3);
func_8002DF38(globalCtx, &player->actor, 8);
- OnePointCutscene_SetCsCamPoints(csCam, D_8012069C | 0x2000, D_80120698, D_801204D4, D_801205B4);
+ OnePointCutscene_SetCsCamPoints(subCam, D_8012069C | 0x2000, D_80120698, D_801204D4, D_801205B4);
OnePointCutscene_Vec3sToVec3f(&mainCam->eye, &D_801205B4[D_80120694 - 2].pos);
OnePointCutscene_Vec3sToVec3f(&mainCam->at, &D_801204D4[D_80120694 - 2].pos);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 0x4E20);
Quake_SetQuakeValues(i, 1, 0, 50, 0);
Quake_SetCountdown(i, D_80120698 - 20);
@@ -661,14 +661,14 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 9;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3310:
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FIRE_STAIRCASE);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FIRE_STAIRCASE);
func_8002DF54(globalCtx, NULL, 8);
- Gameplay_CopyCamera(globalCtx, camIdx, MAIN_CAM);
+ Gameplay_CopyCamera(globalCtx, subCamId, CAM_ID_MAIN);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 2, 0, 0, 0);
Quake_SetCountdown(i, timer);
@@ -683,9 +683,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80121F1C;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 12000);
Quake_SetQuakeValues(i, 0, 0, 1000, 0);
Quake_SetCountdown(i, 5);
@@ -699,9 +699,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 4;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 12000);
Quake_SetQuakeValues(i, 0, 0, 1000, 0);
Quake_SetCountdown(i, 5);
@@ -711,7 +711,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 3;
func_8002DF38(globalCtx, &player->actor, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3350:
D_801220D4[0].atTargetInit = globalCtx->view.at;
@@ -730,23 +730,23 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801220D4;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3330:
csInfo->keyFrames = D_8012219C;
csInfo->keyFrameCnt = 7;
func_8002DF38(globalCtx, &player->actor, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3410:
csInfo->keyFrames = D_801222B4;
csInfo->keyFrameCnt = 5;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 4, 0, 0, 0);
Quake_SetCountdown(i, 20);
@@ -756,9 +756,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 2;
func_8002DF38(globalCtx, &player->actor, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 2, 0, 0, 0);
Quake_SetCountdown(i, 10);
@@ -768,11 +768,11 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 6;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
player->stateFlags1 |= PLAYER_STATE1_29;
player->actor.freezeTimer = 90;
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 2, 0, 0, 0);
Quake_SetCountdown(i, 10);
@@ -782,9 +782,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 7;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 1);
+ i = Quake_Add(subCam, 1);
Quake_SetSpeed(i, 32000);
Quake_SetQuakeValues(i, 1, 0, 10, 0);
Quake_SetCountdown(i, 20);
@@ -794,7 +794,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 5;
player->actor.shape.rot.y = player->actor.world.rot.y = player->currentYaw = 0x3FFC;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
func_8002DF54(globalCtx, NULL, 8);
break;
case 4110:
@@ -802,7 +802,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 3;
func_8002DF38(globalCtx, &player->actor, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4120:
func_8002DF54(globalCtx, NULL, 8);
@@ -810,13 +810,13 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80122714;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4140:
csInfo->keyFrames = D_801227B4;
csInfo->keyFrameCnt = 6;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
break;
case 4150:
@@ -825,7 +825,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
func_8002DF54(globalCtx, NULL, 8);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4160:
csInfo->keyFrames = D_8012296C;
@@ -833,7 +833,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
func_8002DF54(globalCtx, NULL, 8);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4170:
csInfo->keyFrames = D_80122A0C;
@@ -841,7 +841,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
func_8002DF54(globalCtx, NULL, 8);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4190:
csInfo->keyFrames = D_80122A5C;
@@ -849,7 +849,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
func_8002DF38(globalCtx, &player->actor, 8);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4200:
csInfo->keyFrames = D_80122B9C;
@@ -857,7 +857,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
func_8002DF38(globalCtx, &player->actor, 8);
Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4210:
player->actor.freezeTimer = timer;
@@ -865,9 +865,9 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80122C14;
csInfo->keyFrameCnt = 1;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 12000);
Quake_SetQuakeValues(i, 0, 1, 100, 0);
Quake_SetCountdown(i, timer - 80);
@@ -876,10 +876,10 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = (player->actor.world.pos.z < -15.0f) ? D_80122C3C : D_80122C64;
csInfo->keyFrameCnt = 1;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
func_8002DF38(globalCtx, &player->actor, 1);
- i = Quake_Add(csCam, 3);
+ i = Quake_Add(subCam, 3);
Quake_SetSpeed(i, 12000);
Quake_SetQuakeValues(i, 0, 1, 10, 0);
Quake_SetCountdown(i, timer - 10);
@@ -889,7 +889,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrameCnt = 1;
func_8002DF54(globalCtx, NULL, 8);
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3260:
func_8002DF54(globalCtx, NULL, 8);
@@ -898,7 +898,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80122CB4;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 3261:
func_8002DF54(globalCtx, NULL, 8);
@@ -907,19 +907,19 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80122D04;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 8010:
csInfo->keyFrames = D_80122D54;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 8002:
csInfo->keyFrames = D_80122DCC;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 8700:
Actor_GetFocus(&spA0, actor);
@@ -930,7 +930,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80122E44[timer & 1];
csInfo->keyFrameCnt = 7;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 1100: {
s32 tempDiff = globalCtx->state.frames - sPrevFrameCs1100;
@@ -948,18 +948,18 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012313C;
csInfo->keyFrameCnt = 3;
}
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
sPrevFrameCs1100 = globalCtx->state.frames;
} break;
case 9806:
- csCam->timer = -99;
+ subCam->timer = -99;
if (func_800C0CB8(globalCtx)) {
- func_800C0808(globalCtx, camIdx, player, CAM_SET_TURN_AROUND);
- csCam->data2 = 0xC;
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_TURN_AROUND);
+ subCam->data2 = 0xC;
} else {
- Gameplay_CopyCamera(globalCtx, camIdx, MAIN_CAM);
- Gameplay_CameraChangeSetting(globalCtx, camIdx, CAM_SET_FREE2);
+ Gameplay_CopyCamera(globalCtx, subCamId, CAM_ID_MAIN);
+ Gameplay_CameraChangeSetting(globalCtx, subCamId, CAM_SET_FREE2);
}
break;
case 9908:
@@ -982,7 +982,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801231B4;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
} else {
D_80123254[1].timerInit = timer - 1;
D_80123254[0].fovTargetInit = mainCam->fov;
@@ -992,7 +992,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80123254;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
}
break;
case 1000:
@@ -1003,58 +1003,58 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801232A4;
csInfo->keyFrameCnt = 1;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 8603:
csInfo->keyFrames = D_801232CC;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 8604:
csInfo->keyFrames = D_80123394;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4000:
csInfo->keyFrames = D_8012345C;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4010:
csInfo->keyFrames = D_801234FC;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4011:
csInfo->keyFrames = D_801235C4;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4020:
csInfo->keyFrames = D_8012368C;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4021:
csInfo->keyFrames = D_8012372C;
csInfo->keyFrameCnt = 4;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 4022:
- csCam->timer = D_801237CC[0].timerInit + D_801237CC[3].timerInit + D_801237CC[1].timerInit +
- D_801237CC[2].timerInit + D_801237CC[4].timerInit;
+ subCam->timer = D_801237CC[0].timerInit + D_801237CC[3].timerInit + D_801237CC[1].timerInit +
+ D_801237CC[2].timerInit + D_801237CC[4].timerInit;
csInfo->keyFrames = D_801237CC;
csInfo->keyFrameCnt = 5;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 9703:
D_80123894[0].atTargetInit = globalCtx->view.at;
@@ -1068,7 +1068,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_80123894;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 9704:
D_8012390C[0].atTargetInit = globalCtx->view.at;
@@ -1078,7 +1078,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012390C;
csInfo->keyFrameCnt = 2;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 9705:
D_8012395C[0].atTargetInit = globalCtx->view.at;
@@ -1088,7 +1088,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_8012395C;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, player, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, player, CAM_SET_CS_C);
break;
case 5110:
D_801239D4[1].timerInit = 10;
@@ -1096,7 +1096,7 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
csInfo->keyFrames = D_801239D4;
csInfo->keyFrameCnt = 3;
- func_800C0808(globalCtx, camIdx, (Player*)actor, CAM_SET_CS_C);
+ func_800C0808(globalCtx, subCamId, (Player*)actor, CAM_SET_CS_C);
break;
default:
osSyncPrintf(VT_COL(RED, WHITE) "onepointdemo camera: demo number not found !! (%d)\n" VT_RST, csId);
@@ -1105,143 +1105,143 @@ s32 OnePointCutscene_SetInfo(GlobalContext* globalCtx, s16 camIdx, s16 csId, Act
return 0;
}
-s16 OnePointCutscene_SetAsChild(GlobalContext* globalCtx, s16 newCamIdx, s16 parentCamIdx) {
- s16 prevCamIdx = globalCtx->cameraPtrs[parentCamIdx]->childCamIdx;
+s16 OnePointCutscene_SetAsChild(GlobalContext* globalCtx, s16 newCamId, s16 parentCamId) {
+ s16 prevCamId = globalCtx->cameraPtrs[parentCamId]->childCamId;
- globalCtx->cameraPtrs[newCamIdx]->parentCamIdx = parentCamIdx;
- globalCtx->cameraPtrs[parentCamIdx]->childCamIdx = newCamIdx;
+ globalCtx->cameraPtrs[newCamId]->parentCamId = parentCamId;
+ globalCtx->cameraPtrs[parentCamId]->childCamId = newCamId;
- return prevCamIdx;
+ return prevCamId;
}
/**
* Removes a cutscene camera from the list. Returns the parent cam if the removed camera is active, otherwise returns
- * SUBCAM_NONE
+ * CAM_ID_NONE
*/
-s32 OnePointCutscene_RemoveCamera(GlobalContext* globalCtx, s16 camIdx) {
- Camera* camera = globalCtx->cameraPtrs[camIdx];
- s32 nextCamIdx;
+s32 OnePointCutscene_RemoveCamera(GlobalContext* globalCtx, s16 subCamId) {
+ Camera* subCam = globalCtx->cameraPtrs[subCamId];
+ s32 nextCamId;
- if (camera->thisIdx == CHILD_CAM(camera)->parentCamIdx) {
- CHILD_CAM(camera)->parentCamIdx = camera->parentCamIdx;
+ if (subCam->camId == CHILD_CAM(subCam)->parentCamId) {
+ CHILD_CAM(subCam)->parentCamId = subCam->parentCamId;
}
- if (camera->thisIdx == PARENT_CAM(camera)->childCamIdx) {
- PARENT_CAM(camera)->childCamIdx = camera->childCamIdx;
+ if (subCam->camId == PARENT_CAM(subCam)->childCamId) {
+ PARENT_CAM(subCam)->childCamId = subCam->childCamId;
}
- nextCamIdx = (globalCtx->activeCamera == camIdx) ? camera->parentCamIdx : SUBCAM_NONE;
- camera->parentCamIdx = MAIN_CAM;
- camera->childCamIdx = camera->parentCamIdx;
- camera->timer = -1;
- Gameplay_ClearCamera(camera->globalCtx, camera->thisIdx);
- return nextCamIdx;
+ nextCamId = (globalCtx->activeCamId == subCamId) ? subCam->parentCamId : CAM_ID_NONE;
+ subCam->parentCamId = CAM_ID_MAIN;
+ subCam->childCamId = subCam->parentCamId;
+ subCam->timer = -1;
+ Gameplay_ClearCamera(subCam->globalCtx, subCam->camId);
+ return nextCamId;
}
-#define vChildCamIdx temp2
-#define vCsStatus temp1
-#define vCurCamIdx temp2
-#define vNextCamIdx temp1
+#define vChildCamId temp2
+#define vSubCamStatus temp1
+#define vCurCamId temp2
+#define vNextCamId temp1
/**
* Creates a cutscene subcamera with the specified ID, duration, and targeted actor. The camera is placed into the
* cutscene queue in front of the specified camera, then all lower priority demos in front of it are removed from the
* queue.
*/
-s16 OnePointCutscene_Init(GlobalContext* globalCtx, s16 csId, s16 timer, Actor* actor, s16 parentCamIdx) {
+s16 OnePointCutscene_Init(GlobalContext* globalCtx, s16 csId, s16 timer, Actor* actor, s16 parentCamId) {
s16 temp1;
s16 temp2;
- s16 csCamIdx;
- Camera* csCam;
+ s16 subCamId;
+ Camera* subCam;
- if (parentCamIdx == SUBCAM_ACTIVE) {
- parentCamIdx = globalCtx->activeCamera;
+ if (parentCamId == CAM_ID_NONE) {
+ parentCamId = globalCtx->activeCamId;
}
- csCamIdx = Gameplay_CreateSubCamera(globalCtx);
- if (csCamIdx == SUBCAM_NONE) {
+ subCamId = Gameplay_CreateSubCamera(globalCtx);
+ if (subCamId == CAM_ID_NONE) {
osSyncPrintf(VT_COL(RED, WHITE) "onepoint demo: error: too many cameras ... give up! type=%d\n" VT_RST, csId);
- return SUBCAM_NONE;
+ return CAM_ID_NONE;
}
// Inserts the cutscene camera into the cutscene queue in front of parentCam
- vChildCamIdx = globalCtx->cameraPtrs[parentCamIdx]->childCamIdx;
- vCsStatus = CAM_STAT_ACTIVE;
- if (vChildCamIdx >= SUBCAM_FIRST) {
- OnePointCutscene_SetAsChild(globalCtx, vChildCamIdx, csCamIdx);
- vCsStatus = CAM_STAT_WAIT;
+ vChildCamId = globalCtx->cameraPtrs[parentCamId]->childCamId;
+ vSubCamStatus = CAM_STAT_ACTIVE;
+ if (vChildCamId >= CAM_ID_SUB_FIRST) {
+ OnePointCutscene_SetAsChild(globalCtx, vChildCamId, subCamId);
+ vSubCamStatus = CAM_STAT_WAIT;
} else {
Interface_ChangeAlpha(2);
}
- OnePointCutscene_SetAsChild(globalCtx, csCamIdx, parentCamIdx);
+ OnePointCutscene_SetAsChild(globalCtx, subCamId, parentCamId);
- csCam = globalCtx->cameraPtrs[csCamIdx];
+ subCam = globalCtx->cameraPtrs[subCamId];
- csCam->timer = timer;
- csCam->target = actor;
+ subCam->timer = timer;
+ subCam->target = actor;
- csCam->at = globalCtx->view.at;
- csCam->eye = globalCtx->view.eye;
- csCam->fov = globalCtx->view.fovy;
+ subCam->at = globalCtx->view.at;
+ subCam->eye = globalCtx->view.eye;
+ subCam->fov = globalCtx->view.fovy;
- csCam->csId = csId;
+ subCam->csId = csId;
- if (parentCamIdx == MAIN_CAM) {
- Gameplay_ChangeCameraStatus(globalCtx, parentCamIdx, CAM_STAT_UNK3);
+ if (parentCamId == CAM_ID_MAIN) {
+ Gameplay_ChangeCameraStatus(globalCtx, parentCamId, CAM_STAT_UNK3);
} else {
- Gameplay_ChangeCameraStatus(globalCtx, parentCamIdx, CAM_STAT_WAIT);
+ Gameplay_ChangeCameraStatus(globalCtx, parentCamId, CAM_STAT_WAIT);
}
- OnePointCutscene_SetInfo(globalCtx, csCamIdx, csId, actor, timer);
- Gameplay_ChangeCameraStatus(globalCtx, csCamIdx, vCsStatus);
+ OnePointCutscene_SetInfo(globalCtx, subCamId, csId, actor, timer);
+ Gameplay_ChangeCameraStatus(globalCtx, subCamId, vSubCamStatus);
// Removes all lower priority cutscenes in front of this cutscene from the queue.
- vCurCamIdx = csCamIdx;
- vNextCamIdx = globalCtx->cameraPtrs[csCamIdx]->childCamIdx;
+ vCurCamId = subCamId;
+ vNextCamId = globalCtx->cameraPtrs[subCamId]->childCamId;
- while (vNextCamIdx >= SUBCAM_FIRST) {
- s16 nextCsId = globalCtx->cameraPtrs[vNextCamIdx]->csId;
- s16 thisCsId = globalCtx->cameraPtrs[csCamIdx]->csId;
+ while (vNextCamId >= CAM_ID_SUB_FIRST) {
+ s16 nextCsId = globalCtx->cameraPtrs[vNextCamId]->csId;
+ s16 thisCsId = globalCtx->cameraPtrs[subCamId]->csId;
if ((nextCsId / 100) < (thisCsId / 100)) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "onepointdemo camera[%d]: killed 'coz low priority (%d < %d)\n" VT_RST,
- vNextCamIdx, nextCsId, thisCsId);
- if (globalCtx->cameraPtrs[vNextCamIdx]->csId != 5010) {
- if ((vNextCamIdx = OnePointCutscene_RemoveCamera(globalCtx, vNextCamIdx)) != SUBCAM_NONE) {
- Gameplay_ChangeCameraStatus(globalCtx, vNextCamIdx, CAM_STAT_ACTIVE);
+ vNextCamId, nextCsId, thisCsId);
+ if (globalCtx->cameraPtrs[vNextCamId]->csId != 5010) {
+ if ((vNextCamId = OnePointCutscene_RemoveCamera(globalCtx, vNextCamId)) != CAM_ID_NONE) {
+ Gameplay_ChangeCameraStatus(globalCtx, vNextCamId, CAM_STAT_ACTIVE);
}
} else {
- vCurCamIdx = vNextCamIdx;
- OnePointCutscene_EndCutscene(globalCtx, vNextCamIdx);
+ vCurCamId = vNextCamId;
+ OnePointCutscene_EndCutscene(globalCtx, vNextCamId);
}
} else {
- vCurCamIdx = vNextCamIdx;
+ vCurCamId = vNextCamId;
}
- vNextCamIdx = globalCtx->cameraPtrs[vCurCamIdx]->childCamIdx;
+ vNextCamId = globalCtx->cameraPtrs[vCurCamId]->childCamId;
}
- return csCamIdx;
+ return subCamId;
}
/**
- * Ends the cutscene in camIdx by setting its timer to 0. For attention cutscenes, it is set to 5 instead.
+ * Ends the cutscene in subCamId by setting its timer to 0. For attention cutscenes, it is set to 5 instead.
*/
-s16 OnePointCutscene_EndCutscene(GlobalContext* globalCtx, s16 camIdx) {
- if (camIdx == SUBCAM_ACTIVE) {
- camIdx = globalCtx->activeCamera;
+s16 OnePointCutscene_EndCutscene(GlobalContext* globalCtx, s16 subCamId) {
+ if (subCamId == CAM_ID_NONE) {
+ subCamId = globalCtx->activeCamId;
}
- if (globalCtx->cameraPtrs[camIdx] != NULL) {
- osSyncPrintf("onepointdemo camera[%d]: delete timer=%d next=%d\n", camIdx, globalCtx->cameraPtrs[camIdx]->timer,
- globalCtx->cameraPtrs[camIdx]->parentCamIdx);
- if (globalCtx->cameraPtrs[camIdx]->csId == 5010) {
- globalCtx->cameraPtrs[camIdx]->timer = 5;
+ if (globalCtx->cameraPtrs[subCamId] != NULL) {
+ osSyncPrintf("onepointdemo camera[%d]: delete timer=%d next=%d\n", subCamId,
+ globalCtx->cameraPtrs[subCamId]->timer, globalCtx->cameraPtrs[subCamId]->parentCamId);
+ if (globalCtx->cameraPtrs[subCamId]->csId == 5010) {
+ globalCtx->cameraPtrs[subCamId]->timer = 5;
} else {
- globalCtx->cameraPtrs[camIdx]->timer = 0;
+ globalCtx->cameraPtrs[subCamId]->timer = 0;
}
}
- return camIdx;
+ return subCamId;
}
#define vTargetCat temp1
-#define vParentCamIdx temp1
+#define vParentCamId temp1
#define vLastHigherCat temp2
-#define vCsCamIdx temp2
+#define vSubCamId temp2
/**
* Adds an attention cutscene to the cutscene queue.
@@ -1254,11 +1254,11 @@ s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor) {
if (sDisableAttention) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "actor attention demo camera: canceled by other camera\n" VT_RST);
- return SUBCAM_NONE;
+ return CAM_ID_NONE;
}
sUnused = -1;
- parentCam = globalCtx->cameraPtrs[MAIN_CAM];
+ parentCam = globalCtx->cameraPtrs[CAM_ID_MAIN];
if (parentCam->mode == CAM_MODE_FOLLOWBOOMERANG) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "actor attention demo camera: change mode BOOKEEPON -> NORMAL\n" VT_RST);
Camera_ChangeMode(parentCam, CAM_MODE_NORMAL);
@@ -1268,8 +1268,8 @@ s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor) {
// after at least one attention demo.
vLastHigherCat = -1;
- while (parentCam->childCamIdx != SUBCAM_FREE) {
- parentCam = globalCtx->cameraPtrs[parentCam->childCamIdx];
+ while (parentCam->childCamId != CAM_ID_MAIN) {
+ parentCam = globalCtx->cameraPtrs[parentCam->childCamId];
if (parentCam == NULL) {
break;
} else if (parentCam->setting != CAM_SET_CS_ATTENTION) {
@@ -1288,7 +1288,7 @@ s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor) {
}
// Actorcat is only undefined if the actor is in a higher category than all other attention cutscenes. In this case,
// it goes in the first position of the list. Otherwise, it goes in the index found in the loop.
- vParentCamIdx = (vLastHigherCat == -1) ? MAIN_CAM : parentCam->thisIdx;
+ vParentCamId = (vLastHigherCat == -1) ? CAM_ID_MAIN : parentCam->camId;
switch (actor->category) {
case ACTORCAT_SWITCH:
@@ -1319,18 +1319,18 @@ s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor) {
// If the previous attention cutscene has an actor in the same category, skip this actor.
if (actor->category == vLastHigherCat) {
osSyncPrintf("→ " VT_FGCOL(MAGENTA) "×" VT_RST " (%d)\n", actor->id);
- return SUBCAM_NONE;
+ return CAM_ID_NONE;
}
osSyncPrintf("→ " VT_FGCOL(BLUE) "○" VT_RST " (%d)\n", actor->id);
- vCsCamIdx = OnePointCutscene_Init(globalCtx, 5010, timer, actor, vParentCamIdx);
- if (vCsCamIdx == SUBCAM_NONE) {
+ vSubCamId = OnePointCutscene_Init(globalCtx, 5010, timer, actor, vParentCamId);
+ if (vSubCamId == CAM_ID_NONE) {
osSyncPrintf(VT_COL(RED, WHITE) "actor attention demo: give up! \n" VT_RST, actor->id);
- return SUBCAM_NONE;
+ return CAM_ID_NONE;
} else {
- s32* data = (s32*)&globalCtx->cameraPtrs[vCsCamIdx]->data1;
+ s32* data = (s32*)&globalCtx->cameraPtrs[vSubCamId]->data1;
*data = NA_SE_SY_CORRECT_CHIME;
- return vCsCamIdx;
+ return vSubCamId;
}
}
@@ -1338,14 +1338,14 @@ s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor) {
* Adds an attention cutscene to the cutscene queue with the specified sound effect
*/
s32 OnePointCutscene_AttentionSetSfx(GlobalContext* globalCtx, Actor* actor, s32 sfxId) {
- s32 csCamIdx = OnePointCutscene_Attention(globalCtx, actor);
+ s32 subCamId = OnePointCutscene_Attention(globalCtx, actor);
- if (csCamIdx != SUBCAM_NONE) {
- s32* data = (s32*)&globalCtx->cameraPtrs[csCamIdx]->data1;
+ if (subCamId != CAM_ID_NONE) {
+ s32* data = (s32*)&globalCtx->cameraPtrs[subCamId]->data1;
*data = sfxId;
}
- return csCamIdx;
+ return subCamId;
}
// unused
@@ -1359,10 +1359,10 @@ void OnePointCutscene_DisableAttention(void) {
}
s32 OnePointCutscene_CheckForCategory(GlobalContext* globalCtx, s32 actorCategory) {
- Camera* parentCam = globalCtx->cameraPtrs[MAIN_CAM];
+ Camera* parentCam = globalCtx->cameraPtrs[CAM_ID_MAIN];
- while (parentCam->childCamIdx != SUBCAM_FREE) {
- parentCam = globalCtx->cameraPtrs[parentCam->childCamIdx];
+ while (parentCam->childCamId != CAM_ID_MAIN) {
+ parentCam = globalCtx->cameraPtrs[parentCam->childCamId];
if ((parentCam == NULL) || (parentCam->setting != CAM_SET_CS_ATTENTION)) {
break;
} else if (actorCategory == parentCam->target->category) {
diff --git a/src/code/z_play.c b/src/code/z_play.c
index 9d55cd40f..9f283fee7 100644
--- a/src/code/z_play.c
+++ b/src/code/z_play.c
@@ -230,9 +230,9 @@ void Gameplay_Init(GameState* thisx) {
Camera_ChangeStatus(&globalCtx->subCameras[i], CAM_STAT_UNK100);
}
- globalCtx->cameraPtrs[MAIN_CAM] = &globalCtx->mainCamera;
- globalCtx->cameraPtrs[MAIN_CAM]->uid = 0;
- globalCtx->activeCamera = MAIN_CAM;
+ globalCtx->cameraPtrs[CAM_ID_MAIN] = &globalCtx->mainCamera;
+ globalCtx->cameraPtrs[CAM_ID_MAIN]->uid = 0;
+ globalCtx->activeCamId = CAM_ID_MAIN;
func_8005AC48(&globalCtx->mainCamera, 0xFF);
Sram_Init(globalCtx, &globalCtx->sramCtx);
func_80112098(globalCtx);
@@ -1047,14 +1047,14 @@ skip:
s32 pad3[5];
s32 i;
- globalCtx->nextCamera = globalCtx->activeCamera;
+ globalCtx->nextCamId = globalCtx->activeCamId;
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3806);
}
for (i = 0; i < NUM_CAMS; i++) {
- if ((i != globalCtx->nextCamera) && (globalCtx->cameraPtrs[i] != NULL)) {
+ if ((i != globalCtx->nextCamId) && (globalCtx->cameraPtrs[i] != NULL)) {
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3809);
}
@@ -1063,7 +1063,7 @@ skip:
}
}
- Camera_Update(globalCtx->cameraPtrs[globalCtx->nextCamera]);
+ Camera_Update(globalCtx->cameraPtrs[globalCtx->nextCamId]);
if (1 && HREG(63)) {
LOG_NUM("1", 1, "../z_play.c", 3814);
@@ -1547,7 +1547,7 @@ void func_800C016C(GlobalContext* globalCtx, Vec3f* src, Vec3f* dest) {
s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx) {
s16 i;
- for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
+ for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) {
if (globalCtx->cameraPtrs[i] == NULL) {
break;
}
@@ -1555,38 +1555,38 @@ s16 Gameplay_CreateSubCamera(GlobalContext* globalCtx) {
if (i == NUM_CAMS) {
osSyncPrintf(VT_COL(RED, WHITE) "camera control: error: fulled sub camera system area\n" VT_RST);
- return SUBCAM_NONE;
+ return CAM_ID_NONE;
}
osSyncPrintf("camera control: " VT_BGCOL(CYAN) " " VT_COL(WHITE, BLUE) " create new sub camera [%d] " VT_BGCOL(
CYAN) " " VT_RST "\n",
i);
- globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - SUBCAM_FIRST];
+ globalCtx->cameraPtrs[i] = &globalCtx->subCameras[i - CAM_ID_SUB_FIRST];
Camera_Init(globalCtx->cameraPtrs[i], &globalCtx->view, &globalCtx->colCtx, globalCtx);
- globalCtx->cameraPtrs[i]->thisIdx = i;
+ globalCtx->cameraPtrs[i]->camId = i;
return i;
}
s16 Gameplay_GetActiveCamId(GlobalContext* globalCtx) {
- return globalCtx->activeCamera;
+ return globalCtx->activeCamId;
}
s16 Gameplay_ChangeCameraStatus(GlobalContext* globalCtx, s16 camId, s16 status) {
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
if (status == CAM_STAT_ACTIVE) {
- globalCtx->activeCamera = camIdx;
+ globalCtx->activeCamId = camIdx;
}
return Camera_ChangeStatus(globalCtx->cameraPtrs[camIdx], status);
}
void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId) {
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
- if (camIdx == MAIN_CAM) {
+ if (camIdx == CAM_ID_MAIN) {
osSyncPrintf(VT_COL(RED, WHITE) "camera control: error: never clear camera !!\n" VT_RST);
}
@@ -1602,26 +1602,26 @@ void Gameplay_ClearCamera(GlobalContext* globalCtx, s16 camId) {
}
void Gameplay_ClearAllSubCameras(GlobalContext* globalCtx) {
- s16 i;
+ s16 subCamId;
- for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
- if (globalCtx->cameraPtrs[i] != NULL) {
- Gameplay_ClearCamera(globalCtx, i);
+ for (subCamId = CAM_ID_SUB_FIRST; subCamId < NUM_CAMS; subCamId++) {
+ if (globalCtx->cameraPtrs[subCamId] != NULL) {
+ Gameplay_ClearCamera(globalCtx, subCamId);
}
}
- globalCtx->activeCamera = MAIN_CAM;
+ globalCtx->activeCamId = CAM_ID_MAIN;
}
Camera* Gameplay_GetCamera(GlobalContext* globalCtx, s16 camId) {
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
return globalCtx->cameraPtrs[camIdx];
}
s32 Gameplay_CameraSetAtEye(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3f* eye) {
s32 ret = 0;
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
@@ -1647,7 +1647,7 @@ s32 Gameplay_CameraSetAtEye(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3
s32 Gameplay_CameraSetAtEyeUp(GlobalContext* globalCtx, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up) {
s32 ret = 0;
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
Player* player;
@@ -1681,7 +1681,7 @@ s32 Gameplay_CameraSetFov(GlobalContext* globalCtx, s16 camId, f32 fov) {
}
s32 Gameplay_SetCameraRoll(GlobalContext* globalCtx, s16 camId, s16 roll) {
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
Camera* camera = globalCtx->cameraPtrs[camIdx];
camera->roll = roll;
@@ -1689,16 +1689,16 @@ s32 Gameplay_SetCameraRoll(GlobalContext* globalCtx, s16 camId, s16 roll) {
return 1;
}
-void Gameplay_CopyCamera(GlobalContext* globalCtx, s16 camId1, s16 camId2) {
- s16 camIdx2 = (camId2 == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId2;
- s16 camIdx1 = (camId1 == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId1;
+void Gameplay_CopyCamera(GlobalContext* globalCtx, s16 destCamId, s16 srcCamId) {
+ s16 srcCamId2 = (srcCamId == CAM_ID_NONE) ? globalCtx->activeCamId : srcCamId;
+ s16 destCamId1 = (destCamId == CAM_ID_NONE) ? globalCtx->activeCamId : destCamId;
- Camera_Copy(globalCtx->cameraPtrs[camIdx1], globalCtx->cameraPtrs[camIdx2]);
+ Camera_Copy(globalCtx->cameraPtrs[destCamId1], globalCtx->cameraPtrs[srcCamId2]);
}
s32 func_800C0808(GlobalContext* globalCtx, s16 camId, Player* player, s16 setting) {
Camera* camera;
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
camera = globalCtx->cameraPtrs[camIdx];
Camera_InitPlayerSettings(camera, player);
@@ -1710,12 +1710,12 @@ s32 Gameplay_CameraChangeSetting(GlobalContext* globalCtx, s16 camId, s16 settin
}
void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2) {
- s16 camIdx = (camId == SUBCAM_ACTIVE) ? globalCtx->activeCamera : camId;
+ s16 camIdx = (camId == CAM_ID_NONE) ? globalCtx->activeCamId : camId;
s16 i;
Gameplay_ClearCamera(globalCtx, camIdx);
- for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
+ for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) {
if (globalCtx->cameraPtrs[i] != NULL) {
osSyncPrintf(
VT_COL(RED, WHITE) "camera control: error: return to main, other camera left. %d cleared!!\n" VT_RST,
@@ -1725,10 +1725,10 @@ void func_800C08AC(GlobalContext* globalCtx, s16 camId, s16 arg2) {
}
if (arg2 <= 0) {
- Gameplay_ChangeCameraStatus(globalCtx, MAIN_CAM, CAM_STAT_ACTIVE);
- globalCtx->cameraPtrs[MAIN_CAM]->childCamIdx = globalCtx->cameraPtrs[MAIN_CAM]->parentCamIdx = SUBCAM_FREE;
+ Gameplay_ChangeCameraStatus(globalCtx, CAM_ID_MAIN, CAM_STAT_ACTIVE);
+ globalCtx->cameraPtrs[CAM_ID_MAIN]->childCamId = globalCtx->cameraPtrs[CAM_ID_MAIN]->parentCamId = CAM_ID_MAIN;
} else {
- OnePointCutscene_Init(globalCtx, 1020, arg2, NULL, MAIN_CAM);
+ OnePointCutscene_Init(globalCtx, 1020, arg2, NULL, CAM_ID_MAIN);
}
}
diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c
index 4ac8516f8..9c9a6a075 100644
--- a/src/code/z_player_lib.c
+++ b/src/code/z_player_lib.c
@@ -616,8 +616,8 @@ void func_8008EEAC(GlobalContext* globalCtx, Actor* actor) {
this->unk_664 = actor;
this->unk_684 = actor;
this->stateFlags1 |= PLAYER_STATE1_16;
- Camera_SetParam(Gameplay_GetCamera(globalCtx, 0), 8, actor);
- Camera_ChangeMode(Gameplay_GetCamera(globalCtx, 0), 2);
+ Camera_SetParam(Gameplay_GetCamera(globalCtx, CAM_ID_MAIN), 8, actor);
+ Camera_ChangeMode(Gameplay_GetCamera(globalCtx, CAM_ID_MAIN), CAM_MODE_FOLLOWTARGET);
}
s32 func_8008EF30(GlobalContext* globalCtx) {
diff --git a/src/code/z_quake.c b/src/code/z_quake.c
index 257d6627b..ac9290e09 100644
--- a/src/code/z_quake.c
+++ b/src/code/z_quake.c
@@ -148,13 +148,13 @@ s16 Quake_GetFreeIndex(void) {
return ret;
}
-QuakeRequest* Quake_AddImpl(Camera* cam, u32 callbackIdx) {
+QuakeRequest* Quake_AddImpl(Camera* camera, u32 callbackIdx) {
s16 idx = Quake_GetFreeIndex();
QuakeRequest* req = &sQuakeRequest[idx];
__osMemset(req, 0, sizeof(QuakeRequest));
- req->cam = cam;
- req->camPtrIdx = cam->thisIdx;
+ req->cam = camera;
+ req->camPtrIdx = camera->camId;
req->callbackIdx = callbackIdx;
req->unk_1C = 1;
req->randIdx = ((s16)(Rand_ZeroOne() * (f32)0x10000) & ~3) + idx;
@@ -291,8 +291,8 @@ void Quake_Init(void) {
sQuakeRequestCount = 0;
}
-s16 Quake_Add(Camera* cam, u32 callbackIdx) {
- return Quake_AddImpl(cam, callbackIdx)->randIdx;
+s16 Quake_Add(Camera* camera, u32 callbackIdx) {
+ return Quake_AddImpl(camera, callbackIdx)->randIdx;
}
u32 Quake_RemoveFromIdx(s16 idx) {
@@ -347,8 +347,8 @@ s16 Quake_Calc(Camera* camera, QuakeCamCalc* camData) {
req->camPtrIdx);
Quake_Remove(req);
} else {
- temp = &camera->thisIdx;
- eq = req->cam->thisIdx != *temp;
+ temp = &camera->camId;
+ eq = req->cam->camId != *temp;
absSpeedDiv = ABS(req->speed) / (f32)0x8000;
if (sQuakeCallbacks[req->callbackIdx](req, &shake) == 0) {
Quake_Remove(req);
diff --git a/src/code/z_room.c b/src/code/z_room.c
index d1446872f..77f718c73 100644
--- a/src/code/z_room.c
+++ b/src/code/z_room.c
@@ -307,7 +307,7 @@ void func_8009638C(Gfx** displayList, void* source, void* tlut, u16 width, u16 h
// Room Draw Polygon Type 1 - Single Format
void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
- Camera* camera;
+ Camera* activeCam;
Gfx* spA8;
PolygonType1* polygon1;
PolygonDlist* polygonDlist;
@@ -318,8 +318,8 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 628);
- camera = GET_ACTIVE_CAM(globalCtx);
- isFixedCamera = camera->setting == CAM_SET_PREREND_FIXED;
+ activeCam = GET_ACTIVE_CAM(globalCtx);
+ isFixedCamera = (activeCam->setting == CAM_SET_PREREND_FIXED);
polygon1 = &room->mesh->polygon1;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
drawBg = (flags & 1) && isFixedCamera && polygon1->single.source && !(SREG(25) & 1);
@@ -341,7 +341,7 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
{
Vec3f sp60;
spA8 = POLY_OPA_DISP;
- Camera_GetSkyboxOffset(&sp60, camera);
+ Camera_GetSkyboxOffset(&sp60, activeCam);
func_8009638C(&spA8, polygon1->single.source, polygon1->single.tlut, polygon1->single.width,
polygon1->single.height, polygon1->single.fmt, polygon1->single.siz,
polygon1->single.mode0, polygon1->single.tlutCount,
@@ -364,34 +364,33 @@ void func_80096680(GlobalContext* globalCtx, Room* room, u32 flags) {
}
BgImage* func_80096A74(PolygonType1* polygon1, GlobalContext* globalCtx) {
- Camera* camera;
- s32 camId;
- s16 camId2;
+ Camera* activeCam = GET_ACTIVE_CAM(globalCtx);
+ s32 camDataIdx;
+ s16 camDataIdx2;
Player* player;
BgImage* bgImage;
s32 i;
- camera = GET_ACTIVE_CAM(globalCtx);
- camId = camera->camDataIdx;
+ camDataIdx = activeCam->camDataIdx;
// jfifid
- camId2 = func_80041C10(&globalCtx->colCtx, camId, BGCHECK_SCENE)[2].y;
- if (camId2 >= 0) {
- camId = camId2;
+ camDataIdx2 = func_80041C10(&globalCtx->colCtx, camDataIdx, BGCHECK_SCENE)[2].y;
+ if (camDataIdx2 >= 0) {
+ camDataIdx = camDataIdx2;
}
player = GET_PLAYER(globalCtx);
- player->actor.params = (player->actor.params & 0xFF00) | camId;
+ player->actor.params = (player->actor.params & 0xFF00) | camDataIdx;
bgImage = SEGMENTED_TO_VIRTUAL(polygon1->multi.list);
for (i = 0; i < polygon1->multi.count; i++) {
- if (bgImage->id == camId) {
+ if (bgImage->id == camDataIdx) {
return bgImage;
}
bgImage++;
}
// "z_room.c: Data consistent with camera id does not exist camid=%d"
- osSyncPrintf(VT_COL(RED, WHITE) "z_room.c:カメラIDに一致するデータが存在しません camid=%d\n" VT_RST, camId);
+ osSyncPrintf(VT_COL(RED, WHITE) "z_room.c:カメラIDに一致するデータが存在しません camid=%d\n" VT_RST, camDataIdx);
LogUtils_HungupThread("../z_room.c", 726);
return NULL;
@@ -399,7 +398,7 @@ BgImage* func_80096A74(PolygonType1* polygon1, GlobalContext* globalCtx) {
// Room Draw Polygon Type 1 - Multi Format
void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
- Camera* camera;
+ Camera* activeCam;
Gfx* gfx;
PolygonType1* polygon1;
BgImage* bgImage;
@@ -411,8 +410,8 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_room.c", 752);
- camera = GET_ACTIVE_CAM(globalCtx);
- isFixedCamera = camera->setting == CAM_SET_PREREND_FIXED;
+ activeCam = GET_ACTIVE_CAM(globalCtx);
+ isFixedCamera = (activeCam->setting == CAM_SET_PREREND_FIXED);
polygon1 = &room->mesh->polygon1;
polygonDlist = SEGMENTED_TO_VIRTUAL(polygon1->dlist);
bgImage = func_80096A74(polygon1, globalCtx);
@@ -436,7 +435,7 @@ void func_80096B6C(GlobalContext* globalCtx, Room* room, u32 flags) {
Vec3f skyboxOffset;
gfx = POLY_OPA_DISP;
- Camera_GetSkyboxOffset(&skyboxOffset, camera);
+ Camera_GetSkyboxOffset(&skyboxOffset, activeCam);
func_8009638C(&gfx, bgImage->source, bgImage->tlut, bgImage->width, bgImage->height, bgImage->fmt,
bgImage->siz, bgImage->mode0, bgImage->tlutCount,
(skyboxOffset.x + skyboxOffset.z) * 1.2f + skyboxOffset.y * 0.6f,