summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2022-01-11 12:51:57 +1100
committerGitHub <noreply@github.com>2022-01-10 20:51:57 -0500
commit67f6b50de3d2679c066d2d9b5363a7140e7b9ee2 (patch)
tree9ceac4e645c76585e3e78784543bc93bb143dddb /src/code
parent9e5a9d7dc9fa356c49919d0fa132f25ebfd69102 (diff)
Document Parts of Camera Data (#1054)
* Add Data enum and fill ARRAY_COUNT * Clean-Up * Document camera settings * Document scenes further * Minor edit * Cleanup * More cleanup * Oof, that was tedious * Align function look-up tables * Remove comments * format * Cleanup * formatter gone wrong, hid comments from me * format * Dragorn PR Review 1 * Change approach to camera data using macros * Clean up function and data map * Cleanup Comments
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_camera.c45
-rw-r--r--src/code/z_camera_data.c4994
2 files changed, 1934 insertions, 3105 deletions
diff --git a/src/code/z_camera.c b/src/code/z_camera.c
index 041d0f9e7..dfbf8a049 100644
--- a/src/code/z_camera.c
+++ b/src/code/z_camera.c
@@ -701,7 +701,7 @@ f32 Camera_ClampLERPScale(Camera* camera, f32 maxLERPScale) {
return ret;
}
-void Camera_CopyModeValuesToPREG(Camera* camera, s16 mode) {
+void Camera_CopyDataToRegs(Camera* camera, s16 mode) {
CameraModeValue* values;
CameraModeValue* valueP;
s32 i;
@@ -714,9 +714,9 @@ void Camera_CopyModeValuesToPREG(Camera* camera, s16 mode) {
for (i = 0; i < sCameraSettings[camera->setting].cameraModes[mode].valueCnt; i++) {
valueP = &values[i];
- PREG(valueP->param) = valueP->val;
+ PREG(valueP->dataType) = valueP->val;
if (PREG(82)) {
- osSyncPrintf("camera: res: PREG(%02d) = %d\n", valueP->param, valueP->val);
+ osSyncPrintf("camera: res: PREG(%02d) = %d\n", valueP->dataType, valueP->val);
}
}
camera->animState = 0;
@@ -729,9 +729,9 @@ s32 Camera_CopyPREGToModeValues(Camera* camera) {
for (i = 0; i < sCameraSettings[camera->setting].cameraModes[camera->mode].valueCnt; i++) {
valueP = &values[i];
- valueP->val = PREG(valueP->param);
+ valueP->val = R_CAM_DATA(valueP->dataType);
if (PREG(82)) {
- osSyncPrintf("camera: res: %d = PREG(%02d)\n", valueP->val, valueP->param);
+ osSyncPrintf("camera: res: %d = PREG(%02d)\n", valueP->val, valueP->dataType);
}
}
return true;
@@ -999,7 +999,7 @@ s32 func_80045B08(Camera* camera, VecSph* eyeAtDir, f32 yExtra, s16 arg3) {
/**
* Adjusts the camera's at position for Camera_Parallel1
*/
-s32 Camera_CalcAtForParallel(Camera* camera, VecSph* arg1, f32 arg2, f32* arg3, s16 arg4) {
+s32 Camera_CalcAtForParallel(Camera* camera, VecSph* arg1, f32 yOffset, f32* arg3, s16 arg4) {
Vec3f* at = &camera->at;
Vec3f posOffsetTarget;
Vec3f atTarget;
@@ -1013,7 +1013,7 @@ s32 Camera_CalcAtForParallel(Camera* camera, VecSph* arg1, f32 arg2, f32* arg3,
temp_f0_4 = Player_GetHeight(camera->player);
posOffsetTarget.x = 0.0f;
- posOffsetTarget.y = temp_f0_4 + arg2;
+ posOffsetTarget.y = temp_f0_4 + yOffset;
posOffsetTarget.z = 0.0f;
if (PREG(76) && arg4) {
@@ -1974,8 +1974,7 @@ s32 Camera_Parallel1(Camera* camera) {
CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
f32 yNormal = (1.0f + PCT(OREG(46))) - (PCT(OREG(46)) * (68.0f / playerHeight));
- para1->unk_00 = NEXTPCT * playerHeight * yNormal;
- ;
+ para1->yOffset = NEXTPCT * playerHeight * yNormal;
para1->distTarget = NEXTPCT * playerHeight * yNormal;
para1->pitchTarget = DEGF_TO_BINANG(NEXTSETTING);
para1->yawTarget = DEGF_TO_BINANG(NEXTSETTING);
@@ -2068,7 +2067,7 @@ s32 Camera_Parallel1(Camera* camera) {
}
if (!(para1->interfaceFlags & 0x80) && !sp6A) {
- Camera_CalcAtForParallel(camera, &atToEyeNextDir, para1->unk_00, &anim->yTarget, para1->interfaceFlags & 1);
+ Camera_CalcAtForParallel(camera, &atToEyeNextDir, para1->yOffset, &anim->yTarget, para1->interfaceFlags & 1);
} else {
func_800458D4(camera, &atToEyeNextDir, para1->unk_18, &anim->yTarget, para1->interfaceFlags & 1);
}
@@ -4007,7 +4006,7 @@ s32 Camera_Fixed3(Camera* camera) {
if (camera->animState == 0) {
anim->updDirTimer = 5;
- R_CAM_FIXED3_FOV = anim->fov;
+ R_CAM_DATA(CAM_DATA_FOV) = anim->fov;
camera->animState++;
}
@@ -4030,7 +4029,7 @@ s32 Camera_Fixed3(Camera* camera) {
Camera_Vec3fVecSphGeoAdd(at, eye, &atSph);
sCameraInterfaceFlags = fixd3->interfaceFlags;
- anim->fov = R_CAM_FIXED3_FOV;
+ anim->fov = R_CAM_DATA(CAM_DATA_FOV);
camera->roll = 0;
camera->fov = anim->fov * 0.01f;
camera->atLERPStepScale = 0.0f;
@@ -6789,8 +6788,8 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, GlobalCon
OREG(i) = sOREGInit[i];
}
- for (i = 0; i < sPREGInitCnt; i++) {
- PREG(i) = sPREGInit[i];
+ for (i = 0; i < sCamDataRegsInitCount; i++) {
+ R_CAM_DATA(i) = sCamDataRegsInit[i];
}
DbCamera_Reset(camera, &D_8015BD80);
@@ -6945,7 +6944,7 @@ void Camera_InitPlayerSettings(Camera* camera, Player* player) {
camera->paramFlags = 0;
camera->nextCamDataIdx = -1;
camera->atLERPStepScale = 1.0f;
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
Camera_QRegInit();
osSyncPrintf(VT_FGCOL(BLUE) "camera: personalize ---" VT_RST "\n");
@@ -6972,9 +6971,9 @@ s16 Camera_ChangeStatus(Camera* camera, s16 status) {
values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
for (i = 0; i < sCameraSettings[camera->setting].cameraModes[camera->mode].valueCnt; i++) {
valueP = &values[i];
- PREG(valueP->param) = valueP->val;
+ R_CAM_DATA(valueP->dataType) = valueP->val;
if (PREG(82)) {
- osSyncPrintf("camera: change camera status: PREG(%02d) = %d\n", valueP->param, valueP->val);
+ osSyncPrintf("camera: change camera status: PREG(%02d) = %d\n", valueP->dataType, valueP->val);
}
}
}
@@ -7615,7 +7614,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: change camera mode: force NORMAL: %s %s refused\n" VT_RST,
sCameraSettingNames[camera->setting], sCameraModeNames[mode]);
camera->mode = CAM_MODE_NORMAL;
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
func_8005A02C(camera);
return 0xC0000000 | mode;
} else {
@@ -7631,7 +7630,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
}
camera->unk_14A |= 0x20;
camera->unk_14A |= 2;
- Camera_CopyModeValuesToPREG(camera, mode);
+ Camera_CopyDataToRegs(camera, mode);
modeChangeFlags = 0;
switch (mode) {
case CAM_MODE_FIRSTPERSON:
@@ -7790,7 +7789,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
camera->setting = setting;
if (Camera_ChangeModeFlags(camera, camera->mode, 1) >= 0) {
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
}
osSyncPrintf(VT_SGR("1") "%06u:" VT_RST " camera: change camera[%d] set %s\n", camera->globalCtx->state.frames,
@@ -7819,7 +7818,7 @@ s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx) {
if (settingChangeSuccessful || sCameraSettings[camera->setting].unk_00 & 0x80000000) {
camera->camDataIdx = camDataIdx;
camera->unk_14A |= 4;
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
} else if (settingChangeSuccessful < -1) {
//! @bug: This is likely checking the wrong value. The actual return of Camera_ChangeSettingFlags or
// camDataIdx would make more sense.
@@ -7994,7 +7993,7 @@ s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 camDataIdx, f32 a
doorParams->camDataIdx = camDataIdx;
if (camDataIdx == -99) {
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
return -99;
}
@@ -8014,7 +8013,7 @@ s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 camDataIdx, f32 a
osSyncPrintf("....change door camera ID %d (set %d)\n", camera->camDataIdx, camera->setting);
}
- Camera_CopyModeValuesToPREG(camera, camera->mode);
+ Camera_CopyDataToRegs(camera, camera->mode);
return -1;
}
diff --git a/src/code/z_camera_data.c b/src/code/z_camera_data.c
index 18307b033..1f457888e 100644
--- a/src/code/z_camera_data.c
+++ b/src/code/z_camera_data.c
@@ -3,7 +3,7 @@
typedef struct {
s16 val;
- s16 param;
+ s16 dataType;
} CameraModeValue;
typedef struct {
@@ -34,11 +34,37 @@ s16 sOREGInit[] = {
s16 sOREGInitCnt = 53;
-s16 sPREGInit[] = {
- -20, 200, 300, 10, 12, 10, 35, 60, 60, 3, 0, -40, 20, 25, 45, -5, 15, 15, 20, 0, 0, 0, 6, 60, 30, 0, 5,
-};
-
-s16 sPREGInitCnt = 27;
+s16 sCamDataRegsInit[CAM_DATA_MAX] = {
+ -20, // CAM_DATA_Y_OFFSET
+ 200, // CAM_DATA_EYE_DIST
+ 300, // CAM_DATA_EYE_DIST_NEXT
+ 10, // CAM_DATA_PITCH_TARGET
+ 12, // CAM_DATA_YAW_UPDATE_RATE_TARGET
+ 10, // CAM_DATA_XZ_UPDATE_RATE_TARGET
+ 35, // CAM_DATA_MAX_YAW_UPDATE
+ 60, // CAM_DATA_FOV
+ 60, // CAM_DATA_AT_LERP_STEP_SCALE
+ 3, // CAM_DATA_FLAGS
+ 0, // CAM_DATA_YAW_TARGET
+ -40, // CAM_DATA_GROUND_Y_OFFSET
+ 20, // CAM_DATA_GROUND_AT_LERP_STEP_SCALE
+ 25, // CAM_DATA_SWING_YAW_INIT
+ 45, // CAM_DATA_SWING_YAW_FINAL
+ -5, // CAM_DATA_SWING_PITCH_INIT
+ 15, // CAM_DATA_SWING_PITCH_FINAL
+ 15, // CAM_DATA_SWING_PITCH_ADJ
+ 20, // CAM_DATA_MIN_MAX_DIST_FACTOR
+ 0, // CAM_DATA_AT_OFFSET_X
+ 0, // CAM_DATA_AT_OFFSET_Y
+ 0, // CAM_DATA_AT_OFFSET_Z
+ 6, // CAM_DATA_UNK_22
+ 60, // CAM_DATA_UNK_23
+ 30, // CAM_DATA_FOV_SCALE
+ 0, // CAM_DATA_YAW_SCALE
+ 5, // CAM_DATA_UNK_26
+};
+
+s16 sCamDataRegsInitCount = ARRAY_COUNT(sCamDataRegsInit);
char sCameraSettingNames[][12] = {
"NONE ", "NORMAL0 ", "NORMAL1 ", "DUNGEON0 ", "DUNGEON1 ", "NORMAL3 ", "HORSE0 ",
@@ -59,3188 +85,1992 @@ char sCameraModeNames[][12] = {
"HANG ", "HANGZ ", "FREEFALL ", "CHARGE ", "STILL ", "PUSHPULL ", "BOOKEEPON ",
};
-CameraModeValue D_8011A3A0[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 10, 3 }, // pitchtarget
- { 12, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 35, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011A3C8[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 250, 1 }, // distTarget
- { 0, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 } // unk_1C
-};
-
-CameraModeValue D_8011A3F4[] = {
- /* CAM_FUNC_KEEP1 */
- { -20, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 140, 2 }, // unk_08
- { 25, 13 }, // unk_0C
- { 45, 14 }, // unk_10
- { -5, 15 }, // unk_14
- { 15, 16 }, // unk_18
- { 15, 17 }, // unk_1C
- { 45, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2001, 9 }, // flags
- { -50, 11 }, // unk_28
- { 30, 12 }, // unk_2C
-};
-
-CameraModeValue D_8011A428[] = {
- /* CAM_FUNC_KEEP3 */
- { -30, 0 }, // yOffset
- { 70, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3500, 9 }, // flags
-};
-
-CameraModeValue D_8011A458[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 180, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 50, 7 }, // fov
- { 80, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011A488[] = {
- /* CAM_FUNC_JUMP2 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // minDist
- { 300, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 5, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A4AC[] = {
- /* CAM_FUNC_SUBJ3 */
- { 0, 0 }, // eyeNextYOffset
- { 5, 1 }, // eyeDist
- { 50, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { 0, 19 }, // atOffset.x
- { 0, 20 }, // atOffset.y
- { 0, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A4D0[] = {
- /* CAM_FUNC_SUBJ3 */
- { -7, 0 }, // eyeNextYOffset
- { 14, 1 }, // eyeDist
- { 50, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { 0, 19 }, // atOffset.x
- { -30, 20 }, // atOffset.y
- { -5, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A4F4[] = {
- /* CAM_FUNC_SUBJ3 */
- { 20, 0 }, // eyeNextYOffset
- { 70, 1 }, // eyeDist
- { 70, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { -120, 19 }, // atOffset.x
- { 20, 20 }, // atOffset.y
- { 0, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A518[] = {
- /* CAM_FUNC_SPEC5 */
- { -20, 0 }, // yOffset
- { 80, 1 }, // eyeDist
- { 250, 2 }, // minDistForRot
- { 45, 3 }, // timerInit
- { 60, 7 }, // pitch
- { 40, 8 }, // fovTarget
- { 6, 22 }, // atMaxLERPScale
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A538[] = {
- /* CAM_FUNC_SUBJ3 */
- { 5, 0 }, // eyeNextYOffset
- { 50, 1 }, // eyeDist
- { 50, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { 0, 19 }, // atOffset.x
- { 0, 20 }, // atOffset.y
- { 0, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A55C[] = {
- /* CAM_FUNC_SUBJ3 */
- { -7, 0 }, // eyeNextYOffset
- { 14, 1 }, // eyeDist
- { 50, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { -9, 19 }, // atOffset.x
- { -63, 20 }, // atOffset.y
- { -30, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A580[] = {
- /* CAM_FUNC_JUMP2 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // minDist
- { 300, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 999, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x2006, 9 }, // flags
-};
-
-CameraModeValue D_8011A5A4[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 12, 4 }, // yawUpdateRateTarget
- { 35, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A5C4[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A5E0[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A5FC[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 15, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A61C[] = {
- /* CAM_FUNC_BATT4 */
- { -20, 0 }, // yOffset
- { 300, 1 }, // rTarget
- { 50, 3 }, // pitchTarget
- { 2, 4 }, // lerpUpdateRate
- { 80, 7 }, // fovTarget
- { 20, 8 }, // atLERPTarget
- { 0xF000, 9 }, // flags
-};
-
-CameraModeValue D_8011A638[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 100, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 100, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 5, 8 }, // atLERPScaleMax
- { 0xF003, 9 }, // flags
-};
-
-CameraModeValue D_8011A660[] = {
- /* CAM_FUNC_PARA1 */
- { 0, 0 }, // unk_00
- { 250, 1 }, // distTarget
- { 25, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 30, 8 }, // unk_14
- { 0x206A, 9 }, // flags
- { -20, 11 }, // unk_18
- { 30, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011A68C[] = {
- /* CAM_FUNC_KEEP1 */
- { -5, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 140, 2 }, // unk_08
- { 5, 13 }, // unk_0C
- { 85, 14 }, // unk_10
- { 10, 15 }, // unk_14
- { 5, 16 }, // unk_18
- { 25, 17 }, // unk_1C
- { 45, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2001, 9 }, // flags
- { -15, 11 }, // unk_28
- { 30, 12 }, // unk_2C
-};
-
-CameraModeValue sSetNorm1ModeNormVals[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 400, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 12, 4 }, // unk_0C
- { 20, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue sSetNorm1ModeParaVals[] = {
- /* CAM_FUNC_PARA1 */
- { 0, 0 }, // unk_00
- { 250, 1 }, // distTarget
- { 0, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x2002, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011A714[] = {
- /* CAM_FUNC_KEEP1 */
- { -20, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 140, 2 }, // unk_08
- { 25, 13 }, // unk_0C
- { 45, 14 }, // unk_10
- { -5, 15 }, // unk_14
- { 15, 16 }, // unk_18
- { 15, 17 }, // unk_1C
- { 45, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2001, 9 }, // flags
- { -50, 11 }, // unk_28
- { 20, 12 }, // unk_2C
-};
-
-CameraModeValue D_8011A748[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 250, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 50, 7 }, // fov
- { 65, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011A778[] = {
- /* CAM_FUNC_SPEC5 */
- { -20, 0 }, // yOffset
- { 80, 1 }, // eyeDist
- { 250, 2 }, // minDistForRot
- { 6, 22 }, // timerInit
- { 45, 3 }, // pitch
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atMaxLERPScale
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A798[] = {
- /* CAM_FUNC_JUMP1 */
- { 0, 0 }, // atYOffset
- { 250, 1 }, // distMin
- { 400, 2 }, // distMax
- { 15, 4 }, // yawUpdateRateTarget
- { 50, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 30, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A7B8[] = {
- /* CAM_FUNC_JUMP1 */
- { 0, 0 }, // atYOffset
- { 200, 1 }, // distMin
- { 400, 2 }, // distMax
- { 30, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A7D8[] = {
- /* CAM_FUNC_JUMP2 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // minDist
- { 400, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 5, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A7FC[] = {
- /* CAM_FUNC_JUMP2 */
- { -20, 0 }, // atYOffset
- { 250, 1 }, // minDist
- { 400, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 999, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x2006, 9 }, // flags
-};
-
-CameraModeValue D_8011A820[] = {
- /* CAM_FUNC_BATT4 */
- { 0, 0 }, // yOffset
- { 300, 1 }, // rTarget
- { 50, 3 }, // pitchTarget
- { 2, 4 }, // lerpUpdateRate
- { 80, 7 }, // fovTarget
- { 20, 8 }, // atLERPTarget
- { 0xF000, 9 }, // flags
-};
-
-CameraModeValue D_8011A83C[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 400, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A858[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 400, 1 }, // distMin
- { 400, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011A874[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 400, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 100, 4 }, // unk_0C
- { 20, 5 }, // unk_10
- { 100, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 5, 8 }, // atLERPScaleMax
- { 0xF003, 9 }, // flags
-};
-
-CameraModeValue D_8011A89C[] = {
- /* CAM_FUNC_NORM1 */
- { -10, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 5, 3 }, // pitchTarget
- { 10, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 30, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011A8C4[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 150, 1 }, // distTarget
- { 0, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011A8F0[] = {
- /* CAM_FUNC_KEEP1 */
- { -20, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 140, 2 }, // unk_08
- { 25, 13 }, // unk_0C
- { 45, 14 }, // unk_10
- { -5, 15 }, // unk_14
- { 15, 16 }, // unk_18
- { 15, 17 }, // unk_1C
- { 45, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2001, 9 }, // flags
- { -40, 11 }, // unk_28
- { 20, 12 }, // unk_2C
-};
-
-CameraModeValue D_8011A924[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 180, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 80, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOnGround (PCT)
-};
-
-CameraModeValue D_8011A954[] = {
- /* CAM_FUNC_JUMP1 */
- { -10, 0 }, // atYOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 10, 4 }, // yawUpdateRateTarget
- { 50, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A974[] = {
- /* CAM_FUNC_JUMP1 */
- { -10, 0 }, // atYOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 10, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A994[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 150, 1 }, // minDist
- { 250, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 5, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011A9B8[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 250, 1 }, // minDist
- { 250, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 999, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x2006, 9 }, // flags
-};
-
-CameraModeValue D_8011A9DC[] = {
- /* CAM_FUNC_BATT4 */
- { -10, 0 }, // yOffset
- { 300, 1 }, // rTarget
- { 50, 3 }, // pitchTarget
- { 2, 4 }, // lerpUpdateRate
- { 80, 7 }, // fovTarget
- { 20, 8 }, // atLERPTarget
- { 0xF000, 9 }, // flags
-};
-
-CameraModeValue D_8011A9F8[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011AA14[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset */
- { 250, 1 }, // distMin */
- { 250, 2 }, // distMax */
- { 70, 3 }, // pitchTarget */
- { 45, 7 }, // fovTarget */
- { 10, 8 }, // atLERPScaleMax */
- { 0x2000, 9 }, // flags */
-};
-
-CameraModeValue D_8011AA30[] = {
- /* CAM_FUNC_NORM1 */
- { -10, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 5, 3 }, // pitchTarget
- { 100, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 100, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 5, 8 }, // atLERPScaleMax
- { 0xF003, 9 }, // flags
-};
-
-CameraModeValue D_8011AA58[] = {
- /* CAM_FUNC_NORM1 */
- { -40, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 150, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 10, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 30, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011AA80[] = {
- /* CAM_FUNC_KEEP3 */
- { -20, 0 }, // yOffset
- { 70, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3500, 9 }, // flags
-};
-
-CameraModeValue D_8011AAB0[] = {
- /* CAM_FUNC_JUMP1 */
- { -40, 0 }, // atYOffset
- { 150, 1 }, // distMin
- { 150, 2 }, // distMax
- { 10, 4 }, // yawUpdateRateTarget
- { 50, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011AAD0[] = {
- /* CAM_FUNC_JUMP1 */
- { -40, 0 }, // atYOffset
- { 150, 1 }, // distMin
- { 180, 2 }, // distMax
- { 12, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011AAF0[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 150, 1 }, // minDist
- { 150, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 5, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011AB14[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 150, 1 }, // minDist
- { 150, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 999, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x2006, 9 }, // flags
-};
-
-CameraModeValue D_8011AB38[] = {
- /* CAM_FUNC_BATT4 */
- { -40, 0 }, // yOffset
- { 200, 1 }, // rTarget
- { 50, 3 }, // pitchTarget
- { 2, 4 }, // lerpUpdateRate
- { 80, 7 }, // fovTarget
- { 20, 8 }, // atLERPTarget
- { 0xF000, 9 }, // flags
-};
-
-CameraModeValue D_8011AB54[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset */
- { 150, 1 }, // distMin */
- { 150, 2 }, // distMax */
- { 40, 3 }, // pitchTarget */
- { 60, 7 }, // fovTarget */
- { 10, 8 }, // atLERPScaleMax */
- { 0x0000, 9 }, // flags */
-};
-
-CameraModeValue D_8011AB70[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 150, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011AB8C[] = {
- /* CAM_FUNC_NORM1 */
- { -40, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 150, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 100, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 100, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 5, 8 }, // atLERPScaleMax
- { 0xF003, 9 }, // flags
-};
-
-CameraModeValue D_8011ABB4[] = {
- /* CAM_FUNC_PARA1 */
- { -40, 0 }, // unk_00
- { 180, 1 }, // distTarget
- { 25, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 60, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x206A, 9 }, // flags
- { -20, 11 }, // unk_18
- { 30, 12 }, // unk_1C
-};
-
-CameraModeValue sSetNorm3ModeNormVals[] = {
- /* CAM_FUNC_JUMP3 */
- { -20, 0 }, // yOffset
- { 280, 1 }, // distMin
- { 300, 2 }, // distMax
- { 20, 3 }, // pitchTarget
- { 15, 4 }, // swingUpdateRate
- { 5, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 100, 8 }, // unk_1C
- { 0x0004, 9 }, // flags
-};
-
-CameraModeValue D_8011AC08[] = {
- /* CAM_FUNC_PARA1 */
- { -50, 0 }, // unk_00
- { 250, 1 }, // distTarget
- { 70, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 15, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 60, 7 }, // fovTarget
- { 100, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -50, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011AC34[] = {
- /* CAM_FUNC_KEEP3 */
- { -30, 0 }, // yOffset
- { 70, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 10, 15 }, // swingPitchInitial
- { 20, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3500, 9 }, // flags
-};
-
-CameraModeValue sSetNorm3ModeBoomVals[] = {
- /* CAM_FUNC_JUMP3 */
- /* mode is BOOMERANG, but these values are for when the eye
- * >= OREG(45) units below the surface of the water.
- */
- { -40, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { -5, 3 }, // pitchTarget
- { 18, 4 }, // swingUpdateRate
- { 5, 5 }, // unk_10
- { 60, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 40, 8 }, // unk_1C
- { 0x0005, 9 }, // flags
-};
-
-CameraModeValue sSetHrse0ModeNormVals[] = {
- /* CAM_FUNC_NORM3 */
- { -50, 0 }, // yOffset */
- { 220, 1 }, // distMin */
- { 250, 2 }, // distMax */
- { 10, 3 }, // pitchTarget */
- { 16, 4 }, // yawUpdateSpeed */
- { 20, 5 }, // unk_10 */
- { 60, 7 }, // fovTarget */
- { 100, 8 }, // maxAtLERPScale */
- { 0x0600, 9 }, // flags */
-};
-
-CameraModeValue sSetHrse0ModeParaVals[] = {
- /* CAM_FUNC_NORM3 */
- { -40, 0 }, // yOffset
- { 180, 1 }, // distMin
- { 220, 2 }, // distMax
- { -2, 3 }, // pitchTarget
- { 12, 4 }, // yawUpdateSpeed
- { 100, 5 }, // unk_10
- { 45, 7 }, // fovTarget
- { 100, 8 }, // maxAtLERPScale
- { 0x2600, 9 }, // flags
-};
-
-CameraModeValue D_8011ACD4[] = {
- /* CAM_FUNC_SUBJ3 */
- { -7, 0 }, // eyeNextYOffset
- { 14, 1 }, // eyeDist
- { 100, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { 0, 19 }, // atOffset.x
- { -30, 20 }, // atOffset.y
- { -5, 21 }, // atOffset.z
- { 40, 7 }, // fovTarget
- { 0x2600, 9 }, // flags
-};
-
-CameraModeValue D_8011ACF8[] = {
- /* CAM_FUNC_KEEP1 */
- { -60, 0 }, // unk_00
- { 180, 1 }, // unk_04
- { 220, 2 }, // unk_08
- { 25, 13 }, // unk_0C
- { 45, 14 }, // unk_10
- { -5, 15 }, // unk_14
- { 15, 16 }, // unk_18
- { 15, 17 }, // unk_1C
- { 45, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2601, 9 }, // flags
- { -60, 11 }, // unk_28
- { 20, 12 }, // unk_2C
-};
-
-CameraModeValue D_8011AD2C[] = {
- /* CAM_FUNC_KEEP3 */
- { -60, 0 }, // yOffset
- { 140, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3500, 9 }, // flags
-};
-
-CameraModeValue D_8011AD5C[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 15, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0001, 9 }, // flags
-};
-
-CameraModeValue D_8011AD84[] = {
- /* CAM_FUNC_BATT1 */
- { -30, 0 }, // yOffset (PCT) */
- { 150, 1 }, // distance */
- { 10, 13 }, // swingYawInitial */
- { 40, 14 }, // swingYawFinal */
- { -10, 15 }, // swingPitchInitial */
- { 0, 16 }, // swingPitchFinal */
- { 25, 17 }, // swingPitchAdj (PCT) */
- { 60, 7 }, // fov */
- { 40, 8 }, // atLERPScaleOnGround (PCT) */
- { 0x2002, 9 }, // flags */
- { -50, 11 }, // yOffsetOffGround (PCT) */
- { 20, 12 }, // atLERPScaleOffGround (PCT) */
-};
-
-CameraModeValue D_8011ADB4[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 300, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 12, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 70, 6 }, // unk_14
- { 70, 7 }, // fovTarget
- { 40, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011ADDC[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 160, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 60, 14 }, // swingYawFinal
- { -5, 15 }, // swingPitchInitial
- { 0, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 70, 7 }, // fov
- { 50, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AE0C[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 300, 2 }, // distMax
- { -5, 3 }, // pitchTarget
- { 15, 4 }, // unk_0C
- { 5, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 70, 7 }, // fovTarget
- { 70, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011AE34[] = {
- /* CAM_FUNC_BATT1 */
- { -30, 0 }, // yOffset (PCT)
- { 125, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 0, 16 }, // swingPitchFinal
- { 50, 17 }, // swingPitchAdj (PCT)
- { 60, 7 }, // fov
- { 50, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -50, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AE64[] = {
- /* CAM_FUNC_NORM1 */
- { 10, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 15, 4 }, // unk_0C
- { 15, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 100, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011AE8C[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 200, 1 }, // distance
- { 45, 13 }, // swingYawInitial
- { 40, 14 }, // swingYawFinal
- { 5, 15 }, // swingPitchInitial
- { -5, 16 }, // swingPitchFinal
- { 35, 17 }, // swingPitchAdj (PCT)
- { 60, 7 }, // fov
- { 100, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 60, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AEBC[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 16, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011AEE4[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 200, 1 }, // distance
- { 20, 13 }, // swingYawInitial
- { 60, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 15, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 50, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AF14[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 20, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0083, 9 }, // flags
-};
-
-CameraModeValue D_8011AF3C[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 200, 1 }, // distance
- { 20, 13 }, // swingYawInitial
- { 60, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 15, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 50, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2082, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AF6C[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 20, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 80, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0083, 9 }, // flags
-};
-
-CameraModeValue D_8011AF94[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 100, 1 }, // distMin
- { 150, 2 }, // distMax
- { -10, 3 }, // pitchTarget
- { 15, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 80, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011AFBC[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 200, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { -10, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 70, 7 }, // fov
- { 40, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011AFEC[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 300, 2 }, // distMax
- { 0, 3 }, // pitchTarget
- { 20, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011B014[] = {
- /* CAM_FUNC_BATT1 */
- { 0, 0 }, // yOffset (PCT)
- { 400, 1 }, // distance
- { 0, 13 }, // swingYawInitial
- { 60, 14 }, // swingYawFinal
- { -10, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 40, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -20, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011B044[] = {
- /* CAM_FUNC_NORM1 */
- { -10, 0 }, // yOffset
- { 150, 1 }, // distMin
- { 200, 2 }, // distMax
- { -10, 3 }, // pitchTarget
- { 12, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011B06C[] = {
- /* CAM_FUNC_NORM1 */
- { 40, 0 }, // yOffset
- { 330, 1 }, // distMin
- { 330, 2 }, // distMax
- { -5, 3 }, // pitchTarget
- { 15, 4 }, // unk_0C
- { 15, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 100, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B094[] = {
- /* CAM_FUNC_BATT4 */
- { -40, 0 }, // yOffset
- { 250, 1 }, // rTarget
- { 0, 3 }, // pitchTarget
- { 2, 4 }, // lerpUpdateRate
- { 80, 7 }, // fovTarget
- { 20, 8 }, // atLERPTarget
- { 0xF000, 9 }, // flags
-};
-
-CameraModeValue D_8011B0B0[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 20, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 40, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011B0D8[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 180, 1 }, // distance
- { 20, 13 }, // swingYawInitial
- { 60, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 50, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-/*start here */
-CameraModeValue D_8011B108[] = {
- /* CAM_FUNC_NORM2 */
- { 0, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 280, 2 }, // unk_08
- { 60, 23 }, // unk_1C
- { 8, 4 }, // unk_0C
- { 40, 6 }, // unk_10
- { 60, 7 }, // unk_14
- { 50, 8 }, // unk_18
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B12C[] = {
- /* CAM_FUNC_NORM2 */
- { 0, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { 280, 2 }, // unk_08
- { 60, 23 }, // unk_1C
- { 8, 4 }, // unk_0C
- { 40, 6 }, // unk_10
- { 60, 7 }, // unk_14
- { 50, 8 }, // unk_18
- { 0x0080, 9 }, // flags
-};
-
-CameraModeValue D_8011B150[] = {
- /* CAM_FUNC_NORM2 */
- { 0, 0 }, // unk_00
- { 270, 1 }, // unk_04
- { 300, 2 }, // unk_08
- { 120, 23 }, // unk_1C
- { 8, 4 }, // unk_0C
- { 60, 6 }, // unk_10
- { 60, 7 }, // unk_14
- { 100, 8 }, // unk_18
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B174[] = {
- /* CAM_FUNC_NORM2 */
- { 0, 0 }, // unk_00
- { 270, 1 }, // unk_04
- { 300, 2 }, // unk_08
- { 120, 23 }, // unk_1C
- { 6, 4 }, // unk_0C
- { 60, 6 }, // unk_10
- { 60, 7 }, // unk_14
- { 100, 8 }, // unk_18
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue sSetFixd0ModeNormVals[] = {
- /* CAM_FUNC_FIXD1 */
- { -40, 0 }, // yOffset
- { 100, 4 }, // lerpStep
- { 60, 7 }, // fov
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B1A8[] = {
- /* CAM_FUNC_FIXD1 */
- { -40, 0 }, // yOffset
- { 100, 4 }, // lerpStep
- { 60, 7 }, // fov
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011B1B8[] = {
- /* CAM_FUNC_FIXD1 */
- { -40, 0 }, // yOffset
- { 100, 4 }, // lerpStep
- { 60, 7 }, // fov
- { 0x3500, 9 }, // flags
-};
-
-CameraModeValue D_8011B1C8[] = {
- /* CAM_FUNC_FIXD1 */
- { -40, 0 }, // yOffset
- { 25, 4 }, // lerpStep
- { 60, 7 }, // fov
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue sSetCirc0ModeNormVals[] = {
- /* CAM_FUNC_FIXD2 */
- { -40, 0 }, // yOffset
- { 50, 4 }, // eyeStepScale
- { 80, 5 }, // posStepScale
- { 60, 7 }, // fov
- { 0x0001, 9 }, // flags
-};
-
-CameraModeValue sSetCirc2ModeNormVals[] = {
- /* CAM_FUNC_DATA4 */
- { -40, 0 }, // yOffset
- { 60, 7 }, // fov
- { 0x3F00, 9 }, // flags
-};
-
-CameraModeValue D_8011B1F8[] = {
- /* CAM_FUNC_FIXD4 */
- { -40, 0 }, // yOffset
- { 50, 4 }, // speedToEyePos
- { 80, 5 }, // followSpeed
- { 60, 7 }, // fov
- { 0x0004, 9 }, // flags
+/**
+ *=====================================================================
+ * General Data: NORMAL0 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetNormal0ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 200, 300, 10, 12, 10, 35, 60, 60, 0x0003),
+};
+
+CameraModeValue sSetNormal0ModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 250, 0, 0, 5, 5, 45, 50, 0x200A, -40, 20),
+};
+
+CameraModeValue sSetNormal0ModeFollowTargetData[] = {
+ CAM_FUNCDATA_KEEP1(-20, 120, 140, 25, 45, -5, 15, 15, 45, 50, 0x2001, -50, 30),
+};
+
+CameraModeValue sSetNormal0ModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-30, 70, 200, 40, 10, 0, 5, 70, 45, 50, 10, 0x3500),
+};
+
+CameraModeValue sSetNormal0ModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 180, 10, 80, 0, 10, 25, 50, 80, 0x2002, -40, 25),
+};
+
+CameraModeValue sSetNormal0ModeClimbData[] = {
+ CAM_FUNCDATA_JUMP2(-20, 200, 300, 20, 5, 5, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetNormal0ModeFirstPersonData[] = {
+ CAM_FUNCDATA_SUBJ3(0, 5, 50, 10, 0, 0, 0, 45, 0x0000),
+};
+
+CameraModeValue sSetNormal0ModeBowArrowData[] = {
+ CAM_FUNCDATA_SUBJ3(-7, 14, 50, 10, 0, -30, -5, 45, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeBowArrowZData[] = {
+ CAM_FUNCDATA_SUBJ3(20, 70, 70, 10, -120, 20, 0, 45, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeHookshotData[] = {
+ CAM_FUNCDATA_SPEC5_ALT(-20, 80, 250, 45, 60, 40, 6, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeBoomerangData[] = {
+ CAM_FUNCDATA_SUBJ3(5, 50, 50, 10, 0, 0, 0, 45, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeSlingshotData[] = {
+ CAM_FUNCDATA_SUBJ3(-7, 14, 50, 10, -9, -63, -30, 45, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeClimbZData[] = {
+ CAM_FUNCDATA_JUMP2(-20, 200, 300, 20, 999, 5, 60, 40, 0x2006),
+};
+
+CameraModeValue sSetNormal0ModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 200, 300, 12, 35, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetNormal0ModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 200, 300, 40, 60, 10, 0x0000),
+};
+
+CameraModeValue sSetNormal0ModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 300, 300, 70, 45, 10, 0x2000),
+};
+
+CameraModeValue sSetNormal0ModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 200, 300, 15, 80, 60, 20, 0x0000),
+};
+
+CameraModeValue sSetNormal0ModeChargeData[] = {
+ CAM_FUNCDATA_BATT4(-20, 300, 50, 2, 80, 20, 0xF000),
+};
+
+CameraModeValue sSetNormal0ModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-20, 200, 300, 10, 100, 10, 100, 60, 5, 0xF003),
+};
+
+CameraModeValue sSetNormal0ModePushPullData[] = {
+ CAM_FUNCDATA_PARA1(0, 250, 25, 0, 5, 5, 70, 30, 0x206A, -20, 30),
+};
+
+CameraModeValue sSetNormal0ModeFollowBoomerangData[] = {
+ CAM_FUNCDATA_KEEP1(-5, 120, 140, 5, 85, 10, 5, 25, 45, 50, 0x2001, -15, 30),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: NORMAL1 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetNormal1ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(0, 200, 400, 10, 12, 20, 40, 60, 60, 0x0003),
+};
+
+CameraModeValue sSetNormal1ModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(0, 250, 0, 0, 5, 5, 45, 50, 0x2002, -40, 20),
+};
+
+CameraModeValue sSetNormal1ModeFollowTargetData[] = {
+ CAM_FUNCDATA_KEEP1(-20, 120, 140, 25, 45, -5, 15, 15, 45, 50, 0x2001, -50, 20),
+};
+
+CameraModeValue sSetNormal1ModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 250, 10, 80, 0, 10, 25, 50, 65, 0x2002, -40, 25),
};
-CameraModeValue D_8011B20C[] = {
- /* CAM_FUNC_UNIQ0
- CAM_FUNC_FIXD3
- CAM_FUNC_SPEC6
- CAM_FUNC_SPEC7 */
- { 0x0000, 9 }, // flags
+CameraModeValue sSetNormal1ModeHookshotData[] = {
+ CAM_FUNCDATA_SPEC5(-20, 80, 250, 6, 45, 60, 40, 0x2000),
};
-CameraModeValue sSetPR0ModeKeepTalkVals[] = {
- /* CAM_FUNC_FIXD3 */
- { 0x2000, 9 }, // flags
+CameraModeValue sSetNormal1ModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(0, 250, 400, 15, 50, 60, 30, 0x0000),
};
-CameraModeValue sSetPR1ModeNormVals[] = {
- /* CAM_FUNC_UNIQ7 */
- { 60, 7 }, // fov
- { 0x0000, 9 }, // flags
+CameraModeValue sSetNormal1ModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(0, 200, 400, 30, 80, 60, 20, 0x0000),
};
-CameraModeValue sSetPR1ModeKeepVals[] = {
- /* CAM_FUNC_UNIQ7 */
- { 60, 7 }, // fov
- { 0x2000, 9 }, // flags
+CameraModeValue sSetNormal1ModeClimbData[] = {
+ CAM_FUNCDATA_JUMP2(-20, 200, 400, 20, 5, 5, 60, 40, 0x0000),
};
-CameraModeValue sSetPreRend1ModeTalkVals[] = {
- /* CAM_FUNC_KEEP0 */
- { 30, 24 }, // fovScale
- { 0, 25 }, // yawScale
- { 4, 4 }, // timerInit
- { 0x3500, 9 }, // flags
+CameraModeValue sSetNormal1ModeClimbZData[] = {
+ CAM_FUNCDATA_JUMP2(-20, 250, 400, 20, 999, 5, 60, 40, 0x2006),
};
-CameraModeValue sSetDoor0ModeNormVals[] = {
- /* CAM_FUNC_UNIQ3 */
- { -40, 0 }, // yOffset
- { 60, 7 }, // fov
- { 0x3200, 9 }, // flags
+CameraModeValue sSetNormal1ModeChargeData[] = {
+ CAM_FUNCDATA_BATT4(0, 300, 50, 2, 80, 20, 0xF000),
};
-CameraModeValue sSetDoorCModeNormVals[] = {
- /* CAM_FUNC_SPEC9 */
- { -5, 0 }, // yOffset
- { 60, 7 }, // unk_04 (unused)
- { 0x3202, 9 }, // flags
+CameraModeValue sSetNormal1ModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 200, 400, 40, 60, 10, 0x0000),
};
-CameraModeValue sSetDoorCModeParaVals[] = {
- /* CAM_FUNC_SPEC9 */
- { -5, 0 }, // yOffset
- { 60, 7 }, // unk_04 (unused)
- { 0x320A, 9 }, // flags
+CameraModeValue sSetNormal1ModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 400, 400, 70, 45, 10, 0x2000),
};
-CameraModeValue sSetRail3ModeNormVals[] = {
- /* CAM_FUNC_SUBJ4
- Camera_Subj4 only reads one setting which is used for flags. */
- { 0, 0 }, // flags
- { 2, 1 }, // unused
- { 30, 2 }, // unused
- { 10, 4 }, // unused
- { 45, 7 }, // unused
- { 0x3200, 9 }, // unused
+CameraModeValue sSetNormal1ModeStillData[] = {
+ CAM_FUNCDATA_NORM1(0, 200, 400, 10, 100, 20, 100, 60, 5, 0xF003),
};
-CameraModeValue D_8011B270[] = {
- /* CAM_FUNC_UNIQ0 */
- { 0x0001, 9 }, // flags
+/**
+ *=====================================================================
+ * Custom Data: DUNGEON0 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDungeon0ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-10, 150, 250, 5, 10, 5, 30, 60, 60, 0x0003),
};
-CameraModeValue sSetFree0ModeNormVals[] = {
- /* CAM_FUNC_UNIQ6 */
- { 0xFF00, 9 }, // flags
+CameraModeValue sSetDungeon0ModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 150, 0, 0, 5, 5, 45, 50, 0x200A, -40, 20),
};
-CameraModeValue sSetFree1ModeNormVals[] = {
- /* CAM_FUNC_UNIQ6 */
- { 0xFF01, 9 }, // flags
+CameraModeValue sSetDungeon0ModeFollowTargetData[] = {
+ CAM_FUNCDATA_KEEP1(-20, 120, 140, 25, 45, -5, 15, 15, 45, 50, 0x2001, -40, 20),
+};
+
+CameraModeValue sSetDungeon0ModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 180, 10, 80, 0, 10, 25, 45, 80, 0x2002, -40, 25),
+};
+
+CameraModeValue sSetDungeon0ModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-10, 150, 250, 10, 50, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon0ModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(-10, 150, 250, 10, 80, 60, 20, 0x0000),
+};
+
+CameraModeValue sSetDungeon0ModeClimbData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 150, 250, 20, 5, 5, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon0ModeClimbZData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 250, 250, 20, 999, 5, 60, 40, 0x2006),
+};
+
+CameraModeValue sSetDungeon0ModeChargeData[] = {
+ CAM_FUNCDATA_BATT4(-10, 300, 50, 2, 80, 20, 0xF000),
+};
+
+CameraModeValue sSetDungeon0ModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 150, 250, 40, 60, 10, 0x0000),
+};
+
+CameraModeValue sSetDungeon0ModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 250, 250, 70, 45, 10, 0x2000),
+};
+
+CameraModeValue sSetDungeon0ModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-10, 150, 250, 5, 100, 5, 100, 60, 5, 0xF003),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: DUNGEON1 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDungeon1ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-40, 150, 150, 0, 10, 5, 30, 60, 60, 0x0003),
};
-CameraModeValue sSetCirc4ModeNormVals[] = {
- /* CAM_FUNC_FIXD2 */
- { -40, 0 }, // yOffset
- { 100, 4 }, // eyeStepScale
- { 80, 5 }, // posStepScale
- { 60, 7 }, // fov
- { 0x0000, 9 }, // flags
+CameraModeValue sSetDungeon1ModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-20, 70, 200, 40, 10, 0, 5, 70, 45, 50, 10, 0x3500),
+};
+
+CameraModeValue sSetDungeon1ModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-40, 150, 150, 10, 50, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon1ModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(-40, 150, 180, 12, 80, 60, 20, 0x0000),
+};
+
+CameraModeValue sSetDungeon1ModeClimbData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 150, 150, 20, 5, 5, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon1ModeClimbZData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 150, 150, 20, 999, 5, 60, 40, 0x2006),
+};
+
+CameraModeValue sSetDungeon1ModeChargeData[] = {
+ CAM_FUNCDATA_BATT4(-40, 200, 50, 2, 80, 20, 0xF000),
+};
+
+CameraModeValue sSetDungeon1ModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 150, 150, 40, 60, 10, 0x0000),
+};
+
+CameraModeValue sSetDungeon1ModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 150, 150, 70, 45, 10, 0x2000),
+};
+
+CameraModeValue sSetDungeon1ModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-40, 150, 150, 0, 100, 5, 100, 60, 5, 0xF003),
+};
+
+CameraModeValue sSetDungeon1ModePushPullData[] = {
+ CAM_FUNCDATA_PARA1(-40, 180, 25, 0, 5, 5, 60, 50, 0x206A, -20, 30),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: NORMAL3 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetNormal3ModeNormalData[] = {
+ CAM_FUNCDATA_JUMP3(-20, 280, 300, 20, 15, 5, 40, 60, 100, 0x0004),
+};
+
+CameraModeValue sSetNormal3ModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-50, 250, 70, 0, 15, 5, 60, 100, 0x200A, -50, 20),
+};
+
+CameraModeValue sSetNormal3ModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-30, 70, 200, 40, 10, 10, 20, 70, 45, 10, 10, 0x3500),
+};
+
+/* These values are for when the eye
+ * >= OREG(45) units below the surface of the water.
+ */
+CameraModeValue sSetNormal3ModeBoomerangData[] = {
+ CAM_FUNCDATA_JUMP3(-40, 150, 250, -5, 18, 5, 60, 60, 40, 0x0005),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: HORSE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetHorseModeNormalData[] = {
+ CAM_FUNCDATA_NORM3(-50, 220, 250, 10, 16, 20, 60, 100, 0x0600),
+};
+
+CameraModeValue sSetHorseModeTargetData[] = {
+ CAM_FUNCDATA_NORM3(-40, 180, 220, -2, 12, 100, 45, 100, 0x2600),
+};
+
+CameraModeValue sSetHorseModeBowArrowData[] = {
+ CAM_FUNCDATA_SUBJ3(-7, 14, 100, 10, 0, -30, -5, 40, 0x2600),
+};
+
+CameraModeValue sSetHorseModeFollowTargetData[] = {
+ CAM_FUNCDATA_KEEP1(-60, 180, 220, 25, 45, -5, 15, 15, 45, 50, 0x2601, -60, 20),
+};
+
+CameraModeValue sSetHorseModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-60, 140, 200, 40, 10, 0, 5, 70, 45, 50, 10, 0x3500),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_GOHMA Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossGohmaModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 150, 250, 0, 15, 5, 40, 60, 60, 0x0001),
+};
+
+CameraModeValue sSetBossGohmaModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-30, 150, 10, 40, -10, 0, 25, 60, 40, 0x2002, -50, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_DODONGO Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossDodongoModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(0, 150, 300, 0, 12, 5, 70, 70, 40, 0x0003),
+};
+
+CameraModeValue sSetBossDodongoModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 160, 10, 60, -5, 0, 25, 70, 50, 0x2002, -40, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_BARINADE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossBarinadeModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 150, 300, -5, 15, 5, 40, 70, 70, 0x0003),
+};
+
+CameraModeValue sSetBossBarinadeModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-30, 125, 10, 10, 0, 0, 50, 60, 50, 0x2002, -50, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_PHANTOM_GANON Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossPhantomGanonModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(10, 150, 250, 0, 15, 15, 40, 60, 100, 0x0003),
+};
+
+CameraModeValue sSetBossPhantomGanonModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 200, 45, 40, 5, -5, 35, 60, 100, 0x2002, -40, 60),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_VOLVAGIA Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossVolvagiaModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 10, 16, 10, 40, 60, 80, 0x0003),
+};
+
+CameraModeValue sSetBossVolvagiaModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 200, 20, 60, 0, 10, 15, 45, 50, 0x2002, -40, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_BONGO Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossBongoModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 10, 20, 10, 40, 60, 80, 0x0083),
+};
+
+CameraModeValue sSetBossBongoModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 200, 20, 60, 0, 10, 15, 45, 50, 0x2082, -40, 20),
+};
+
+CameraModeValue sSetBossBongoModeJumpData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 10, 20, 10, 80, 60, 80, 0x0083),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_MORPHA Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossMorphaModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 100, 150, -10, 15, 10, 40, 80, 60, 0x0003),
+};
+
+CameraModeValue sSetBossMorphaModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 200, 10, 80, -10, 10, 25, 70, 40, 0x2002, -40, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: TWINROVA Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossTwinrovaPlatformModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 150, 300, 0, 20, 10, 40, 60, 80, 0x0003),
+};
+
+CameraModeValue sSetBossTwinrovaModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(0, 400, 0, 60, -10, 5, 25, 45, 40, 0x2002, -20, 20),
+};
+
+CameraModeValue sSetBossTwinrovaFloorModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-10, 150, 200, -10, 12, 10, 40, 60, 50, 0x0003),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_GANONDORF Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossGanondorfModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(40, 330, 330, -5, 15, 15, 40, 60, 100, 0x0000),
+};
+
+CameraModeValue sSetBossGanondorfModeChargeData[] = {
+ CAM_FUNCDATA_BATT4(-40, 250, 0, 2, 80, 20, 0xF000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BOSS_GANON Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBossGanonModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 10, 20, 10, 40, 60, 80, 0x0003),
+};
+
+CameraModeValue sSetBossGanonModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 180, 20, 60, 0, 10, 25, 45, 50, 0x2002, -40, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: TOWER_CLIMB Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetTowerClimbModeNormalData[] = {
+ CAM_FUNCDATA_NORM2(0, 120, 280, 60, 8, 40, 60, 50, 0x0000),
+};
+
+CameraModeValue sSetTowerClimbModeJumpData[] = {
+ CAM_FUNCDATA_NORM2(0, 120, 280, 60, 8, 40, 60, 50, 0x0080),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: TOWER_UNUSED Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetTowerUnusedModeNormalData[] = {
+ CAM_FUNCDATA_NORM2(0, 270, 300, 120, 8, 60, 60, 100, 0x0000),
+};
+
+CameraModeValue sSetTowerUnusedModeJumpData[] = {
+ CAM_FUNCDATA_NORM2(0, 270, 300, 120, 6, 60, 60, 100, 0x0000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: MARKET_BALCONY Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetMarketBalconyModeNormalData[] = {
+ CAM_FUNCDATA_FIXD1(-40, 100, 60, 0x0000),
+};
+
+CameraModeValue sSetMarketBalconyModeFollowTargetData[] = {
+ CAM_FUNCDATA_FIXD1(-40, 100, 60, 0x2000),
+};
+
+CameraModeValue sSetMarketBalconyModeTalkData[] = {
+ CAM_FUNCDATA_FIXD1(-40, 100, 60, 0x3500),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: CHU_BOWLING Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetChuBowlingModeNormalData[] = {
+ CAM_FUNCDATA_FIXD1(-40, 25, 60, 0x0000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_CRAWLSPACE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotCrawlspaceModeNormalData[] = {
+ CAM_FUNCDATA_FIXD2(-40, 50, 80, 60, 0x0001),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_SHOP_BROWSING Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotShopBrowsingModeNormalData[] = {
+ CAM_FUNCDATA_DATA4(-40, 60, 0x3F00),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_IN_FRONT and PIVOT_FROM_SIDE
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotInFrontAndFromSideModeNormalData[] = {
+ CAM_FUNCDATA_FIXD4(-40, 50, 80, 60, 0x0004),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: No data, all flags off
+ *=====================================================================
+ */
+
+CameraModeValue sDataOnlyNullFlags[] = {
+ CAM_FUNCDATA_FLAGS(0x0000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PREREND_FIXED Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPrerendFixedModeFollowTargetData[] = {
+ CAM_FUNCDATA_FLAGS(0x2000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PREREND_PIVOT Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPrerendPivotModeNormalData[] = {
+ CAM_FUNCDATA_UNIQ7(60, 0x0000),
+};
+
+CameraModeValue sSetPrerendPivotModeFollowTargetData[] = {
+ CAM_FUNCDATA_UNIQ7(60, 0x2000),
+};
+
+CameraModeValue sSetPrerendPivotModeTalkData[] = {
+ CAM_FUNCDATA_KEEP0(30, 0, 4, 0x3500),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: DOOR0 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDoor0ModeNormalData[] = {
+ CAM_FUNCDATA_UNIQ3(-40, 60, 0x3200),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: DOORC Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDoorCModeNormalData[] = {
+ CAM_FUNCDATA_SPEC9(-5, 60, 0x3202),
+};
+
+CameraModeValue sSetDoorCModeTargetData[] = {
+ CAM_FUNCDATA_SPEC9(-5, 60, 0x320A),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: CRAWLSPACE Setting
+ *=====================================================================
+ */
+
+// Camera_Subj4 only reads one setting which is used for flags
+CameraModeValue sSetCrawlspaceModeNormalData[] = {
+ CAM_FUNCDATA_SUBJ4(0x0000, 2, 30, 10, 45, 0x3200),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: START1 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetStart1ModeNormalData[] = {
+ CAM_FUNCDATA_FLAGS(0x0001),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: FREE0 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetFree0ModeNormalData[] = {
+ CAM_FUNCDATA_FLAGS(0xFF00),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: FREE1 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetFree1ModeNormalData[] = {
+ CAM_FUNCDATA_FLAGS(0xFF01),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_CORNER Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotCornerModeNormalData[] = {
+ CAM_FUNCDATA_FIXD2(-40, 100, 80, 60, 0x0000),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_WATER_SURFACE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotWaterSurfaceModeNormalData[] = {
+ CAM_FUNCDATA_UNIQ2(-40, 60, 60, 0x0002),
+};
+
+CameraModeValue sSetPivotWaterSurfaceModeTargetData[] = {
+ CAM_FUNCDATA_UNIQ2(-30, 45, 100, 0x2001),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: Various cutscene settings
+ *=====================================================================
+ */
+
+CameraModeValue sDataOnlyInterfaceFlags[] = {
+ CAM_FUNCDATA_FLAGS(0x3200),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: FOREST_BIRDS_EYE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetForestBirdsEyeModeNormalData[] = {
+ CAM_FUNCDATA_PARA1(-50, 450, 40, 180, 5, 5, 70, 30, 0x000C, -50, 20),
+};
+
+CameraModeValue sSetForestBirdsEyeModeTalkData[] = {
+ CAM_FUNCDATA_FLAGS(0x3501),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: SLOW_CHEST_CS Setting
+ *=====================================================================
+ */
+
+// Also set to but unused by function Demo4
+CameraModeValue sSetSlowChestCsModeNormalData[] = {
+ CAM_FUNCDATA_DEMO3(60, 30, 0x3200),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: CS_3 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetCs3ModeNormalData[] = {
+ CAM_FUNCDATA_FLAGS(0x3212),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BEAN_GENERIC Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBeanGenericModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-50, 300, 300, 50, 20, 10, 50, 70, 40, 0x0002),
+};
+
+CameraModeValue sSetBeanGenericModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-50, 300, 10, 0, 5, 5, 45, 50, 0x200A, -40, 20),
+};
+
+CameraModeValue sSetBeanGenericModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-50, 300, 300, 12, 35, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetBeanGenericModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 300, 300, 60, 70, 30, 0x0000),
+};
+
+CameraModeValue sSetBeanGenericModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 300, 300, 70, 50, 30, 0x2000),
+};
+
+CameraModeValue sSetBeanGenericModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-20, 300, 350, 50, 100, 10, 100, 70, 30, 0xF002),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BEAN_LOST_WOODS Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBeanLostWoodsModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-50, 200, 200, 20, 16, 10, 50, 60, 50, 0x0002),
+};
+
+CameraModeValue sSetBeanLostWoodsModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-50, 200, 40, 0, 5, 5, 45, 50, 0x200A, -40, 20),
+};
+
+CameraModeValue sSetBeanLostWoodsModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-50, 150, 250, 12, 35, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetBeanLostWoodsModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 200, 200, 40, 60, 30, 0x0000),
+};
+
+CameraModeValue sSetBeanLostWoodsModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 200, 200, 60, 50, 30, 0x2000),
+};
+
+CameraModeValue sSetBeanLostWoodsModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-20, 200, 250, 20, 100, 10, 100, 60, 30, 0xF002),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: SCENE_UNUSED Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetSceneUnusedModeNormalData[] = {
+ CAM_FUNCDATA_SPEC9(-30, 60, 0x010A),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: SCENE_TRANSITION Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetSceneTransitionModeNormalData[] = {
+ CAM_FUNCDATA_UNIQ2(-20, 150, 60, 0x0210),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: BIG_OCTO Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetBigOctoModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(0, 400, 500, 35, 14, 5, 20, 60, 40, 0x0012),
+};
+
+CameraModeValue sSetBigOctoModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 250, 5, 10, 30, 20, 25, 45, 60, 0x2002, -40, 25),
+};
+
+CameraModeValue sSetBigOctoModeStillData[] = {
+ CAM_FUNCDATA_NORM1(0, 300, 500, 60, 8, 5, 60, 60, 30, 0x0012),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: MEADOW_BIRDS_EYE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetMeadowBirdsEyeModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 80, 20, 10, 70, 70, 80, 0x0012),
+};
+
+CameraModeValue sSetMeadowBirdsEyeModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 500, 80, 0, 5, 5, 70, 80, 0x201A, -40, 40),
+};
+
+CameraModeValue sSetMeadowBirdsEyeModeBattleData[] = {
+ CAM_FUNCDATA_PARA1(-20, 500, 80, 0, 5, 5, 60, 80, 0x201A, -40, 40),
+};
+
+CameraModeValue sSetMeadowBirdsEyeModeClimbData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 80, 20, 10, 80, 60, 20, 0x0012),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: MEADOW_UNUSED Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetMeadowUnusedModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 750, 750, 80, 20, 10, 70, 70, 80, 0x0012),
+};
+
+CameraModeValue sSetMeadowUnusedModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 750, 80, 0, 5, 5, 70, 80, 0x201A, -40, 40),
+};
+
+CameraModeValue sSetMeadowUnusedModeBattleData[] = {
+ CAM_FUNCDATA_PARA1(-20, 750, 80, 0, 5, 5, 70, 80, 0x200A, -40, 40),
+};
+
+CameraModeValue sSetMeadowUnusedModeClimbData[] = {
+ CAM_FUNCDATA_NORM1(-20, 750, 750, 80, 20, 10, 80, 70, 20, 0x0012),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: FIRE_BIRDS_EYE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetFireBirdsEyeModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 80, 20, 10, 70, 70, 80, 0x0002),
+};
+
+CameraModeValue sSetFireBirdsEyeModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 500, 80, 0, 5, 5, 70, 80, 0x200A, -40, 40),
+};
+
+CameraModeValue sSetFireBirdsEyeModeBattleData[] = {
+ CAM_FUNCDATA_PARA1(-20, 500, 80, 0, 5, 5, 60, 80, 0x200A, -40, 40),
+};
+
+CameraModeValue sSetFireBirdsEyeModeClimbData[] = {
+ CAM_FUNCDATA_NORM1(-20, 500, 500, 80, 20, 10, 80, 60, 20, 0x0002),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: TURN_AROUND Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetTurnAroundModeNormalData[] = {
+ CAM_FUNCDATA_KEEP4(-30, 120, -10, 170, 0, 60, 0x2502, 25, 6),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: PIVOT_VERTICAL Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetPivotVerticalModeNormalData[] = {
+ CAM_FUNCDATA_SPEC0(20, 0x3200),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: NORMAL2/4 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetNormal2and4ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 200, 300, 10, 12, 10, 35, 60, 60, 0x0002),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: FISHING Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetFishingModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(0, 200, 300, 20, 12, 10, 35, 55, 60, 0x0F02),
+};
+
+CameraModeValue sSetFishingModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 250, 0, 0, 5, 5, 45, 50, 0x2F0A, -40, 20),
+};
+
+CameraModeValue sSetFishingModeFollowTargetData[] = {
+ CAM_FUNCDATA_BATT1(-20, 250, 0, 80, 0, 0, 25, 55, 80, 0x2F02, -40, 25),
+};
+
+CameraModeValue sSetFishingModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-30, 70, 200, 40, 10, 0, 5, 70, 45, 50, 10, 0x3F20),
+};
+
+CameraModeValue sSetFishingModeFirstPersonData[] = {
+ CAM_FUNCDATA_SUBJ3(0, 5, 50, 10, 0, 0, 0, 45, 0x0F00),
+};
+
+CameraModeValue sSetFishingModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 200, 300, 12, 35, 60, 40, 0x0F00),
+};
+
+CameraModeValue sSetFishingModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 200, 300, 15, 80, 60, 20, 0x0F00),
+};
+
+CameraModeValue sSetFishingModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-80, 200, 300, 40, 60, 10, 0x0F00),
+};
+
+CameraModeValue sSetFishingModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-120, 300, 300, 70, 45, 10, 0x2F00),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: CS_C Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetCsCModeNormalData[] = {
+ CAM_FUNCDATA_FLAGS(0x3F00),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: JABU_TENTACLE Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetJabuTentacleModeNormalData[] = {
+ CAM_FUNCDATA_NORM1_ALT(30, 200, 300, -20, 15, 5, 50, 70, 70, 0x0003),
+};
+
+CameraModeValue sSetJabuTentacleModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-30, 160, 10, 10, 0, 0, 70, 60, 40, 0x2002, -50, 20),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: DUNGEON2 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDungeon2ModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-20, 350, 350, 20, 15, 5, 30, 60, 60, 0x0003),
+};
+
+CameraModeValue sSetDungeon2ModeTargetData[] = {
+ CAM_FUNCDATA_PARA1(-20, 200, 0, 0, 5, 5, 45, 50, 0x200A, -40, 20),
+};
+
+CameraModeValue sSetDungeon2ModeBattleData[] = {
+ CAM_FUNCDATA_BATT1(-20, 180, 10, 80, -10, 10, 25, 45, 80, 0x2002, -40, 25),
+};
+
+CameraModeValue sSetDungeon2ModeJumpData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 350, 350, 10, 50, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon2ModeFreeFallData[] = {
+ CAM_FUNCDATA_JUMP1(-20, 350, 350, 15, 80, 60, 20, 0x0000),
+};
+
+CameraModeValue sSetDungeon2ModeClimbData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 350, 350, 20, 5, 5, 60, 40, 0x0000),
+};
+
+CameraModeValue sSetDungeon2ModeClimbZData[] = {
+ CAM_FUNCDATA_JUMP2(-40, 350, 350, 20, 999, 5, 60, 40, 0x2006),
+};
+
+CameraModeValue sSetDungeon2ModeHangData[] = {
+ CAM_FUNCDATA_UNIQ1(-50, 350, 350, 40, 60, 10, 0x0000),
+};
+
+CameraModeValue sSetDungeon2ModeHangZData[] = {
+ CAM_FUNCDATA_UNIQ1(-100, 350, 350, 70, 45, 10, 0x2000),
+};
+
+CameraModeValue sSetDungeon2ModeStillData[] = {
+ CAM_FUNCDATA_NORM1(-10, 350, 350, 20, 100, 5, 100, 60, 5, 0xF003),
+};
+
+CameraModeValue sSetDungeon2ModePushPullData[] = {
+ CAM_FUNCDATA_PARA1(0, 280, 25, 0, 5, 5, 70, 30, 0x206A, -20, 30),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: DIRECTED_YAW Setting
+ *=====================================================================
+ */
+
+CameraModeValue sSetDirectedYawModeNormalData[] = {
+ CAM_FUNCDATA_NORM1(-10, 280, 320, -8, 20, 10, 80, 60, 80, 0x0002),
+};
+
+CameraModeValue sSetDirectedYawModeFollowTargetData[] = {
+ CAM_FUNCDATA_KEEP1(-20, 180, 200, 35, 45, 0, -5, 20, 50, 50, 0x2001, -50, 30),
+};
+
+CameraModeValue sSetDirectedYawModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-80, 200, 250, 30, 10, -8, -8, 30, 50, 50, 10, 0x3520),
+};
+
+/**
+ *=====================================================================
+ * Custom Data: NORMAL4 Setting
+ *=====================================================================
+ */
+
+CameraModeValue sNormal4ModeTalkData[] = {
+ CAM_FUNCDATA_KEEP3(-30, 70, 200, 40, 10, 0, 5, 70, 45, 50, 10, 0x35A0),
+};
+
+/**
+ * =====================================================================
+ * CAMERA SETTINGS: USAGE OF FUNCTIONS AND DATA FOR SPECIFIC MODES
+ * =====================================================================
+ */
+
+#define CAM_SETTING_MODE_ENTRY(func, data) \
+ { func, ARRAY_COUNT(data), data }
+
+CameraMode sCamSetNormal0Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
-CameraModeValue D_8011B290[] = {
- /* CAM_FUNC_UNIQ2 */
- { -40, 0 }, // yOffset
- { 60, 1 }, // distTarget
- { 60, 7 }, // fovTarget
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B2A0[] = {
- /* CAM_FUNC_UNIQ2 */
- { -30, 0 }, // yOffset
- { 45, 1 }, // distTarget
- { 100, 7 }, // fovTarget
- { 0x2001, 9 }, // flags
-};
-
-CameraModeValue D_8011B2B0[] = {
- /* CAM_FUNC_DEMO1
- CAM_FUNC_DEMO4 (Not actually used in Camera_Demo4)
- CAM_FUNC_DEMO6
- CAM_FUNC_SPEC4 */
- { 0x3200, 9 }, // flags
-};
-
-CameraModeValue sSetMori1ModeNormVals[] = {
- /* CAM_FUNC_PARA1 */
- { -50, 0 }, // unk_00
- { 450, 1 }, // distTarget
- { 40, 3 }, // pitchTarget3
- { 180, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 30, 8 }, // unk_14
- { 0x000C, 9 }, // flags
- { -50, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B2E0[] = {
- /* CAM_FUNC_PARA3 */
- { 0x3501, 9 }, // flags
-};
-
-CameraModeValue D_8011B2E4[] = {
- /* CAM_FUNC_DEMO3
- CAM_FUNC_DEMO4 (not actually used in Camera_Demo4) */
- { 60, 7 }, // fov
- { 30, 8 }, // unk_04
- { 0x3200, 9 }, // flags
-};
-
-CameraModeValue sSetDemo3ModeNormVals[] = {
- /* CAM_FUNC_DEMO9 */
- { 0x3212, 9 }, // flags
-};
-
-CameraModeValue D_8011B2F4[] = {
- /* CAM_FUNC_NORM1 */
- { -50, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 50, 3 }, // pitchTarget
- { 20, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 50, 6 }, // unk_14
- { 70, 7 }, // fovTarget
- { 40, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B31C[] = {
- /* CAM_FUNC_PARA1 */
- { -50, 0 }, // unk_00
- { 300, 1 }, // distTarget
- { 10, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B348[] = {
- /* CAM_FUNC_JUMP1 */
- { -50, 0 }, // atYOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 12, 4 }, // yawUpdateRateTarget
- { 35, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B368[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 60, 3 }, // fovTarget
- { 70, 7 }, // pitchTarget
- { 30, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B384[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 50, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011B3A0[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 350, 2 }, // distMax
- { 50, 3 }, // pitchTarget
- { 100, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 100, 6 }, // unk_14
- { 70, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0xF002, 9 }, // flags
-};
-
-CameraModeValue D_8011B3C8[] = {
- /* CAM_FUNC_NORM1 */
- { -50, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 200, 2 }, // distMax
- { 20, 3 }, // pitchTarget
- { 16, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 50, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B3F0[] = {
- /* CAM_FUNC_PARA1 */
- { -50, 0 }, // unk_00
- { 200, 1 }, // distTarget
- { 40, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B41C[] = {
- /* CAM_FUNC_JUMP1 */
- { -50, 0 }, // atYOffset
- { 150, 1 }, // distMin
- { 250, 2 }, // distMax
- { 12, 4 }, // yawUpdateRateTarget
- { 35, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B43C[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 200, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B458[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 200, 2 }, // distMax
- { 60, 3 }, // pitchtarget
- { 50, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011B474[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 250, 2 }, // distMax
- { 20, 3 }, // unk_0C
- { 100, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 100, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0xF002, 9 }, // flags
-};
-
-CameraModeValue sSetScn0ModeNormVals[] = {
- /* CAM_FUNC_SPEC9 */
- { -30, 0 }, // yOffset
- { 60, 7 }, // unk_04 (unused)
- { 0x10A, 9 }, // flags
-};
-
-CameraModeValue D_8011B4A8[] = {
- /* CAM_FUNC_UNIQ2 */
- { -20, 0 }, // yOffset
- { 150, 1 }, // distTarget
- { 60, 7 }, // fovTarget
- { 0x0210, 9 }, // flags
-};
-
-CameraModeValue D_8011B4B8[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 400, 1 }, // distMin
- { 500, 2 }, // distMax
- { 35, 3 }, // unk_0C
- { 14, 4 }, // unk_10
- { 5, 5 }, // unk_14
- { 20, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B4E0[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 250, 1 }, // distance
- { 5, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 30, 15 }, // swingPitchInitial
- { 20, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 60, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011B510[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 500, 2 }, // distMax
- { 60, 3 }, // unk_0C
- { 8, 4 }, // unk_10
- { 5, 5 }, // unk_14
- { 60, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 30, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B538[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 70, 6 }, // pitchTarget
- { 70, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B560[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 500, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x201A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B58C[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 500, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 60, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x201A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B5B8[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 80, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 20, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B5E0[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 750, 1 }, // distMin
- { 750, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 70, 6 }, // pitchTarget
- { 70, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B608[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 750, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x201A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B634[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 750, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B660[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 750, 1 }, // distMin
- { 750, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 80, 6 }, // pitchTarget
- { 70, 7 }, // fovTarget
- { 20, 8 }, // atLERPScaleMax
- { 0x0012, 9 }, // flags
-};
-
-CameraModeValue D_8011B688[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 70, 6 }, // pitchTarget
- { 70, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B6B0[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 500, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B6DC[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 500, 1 }, // distTarget
- { 80, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 60, 7 }, // fovTarget
- { 80, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 40, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B708[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 500, 1 }, // distMin
- { 500, 2 }, // distMax
- { 80, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 80, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 20, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B730[] = {
- /* CAM_FUNC_KEEP4 */
- { -30, 0 }, // unk_00
- { 120, 1 }, // unk_04
- { -10, 3 }, // unk_08
- { 170, 10 }, // unk_0C
- { 0, 21 }, // unk_10
- { 60, 7 }, // unk_18
- { 0x2502, 9 }, // flags
- { 25, 4 }, // unk_14
- { 6, 22 }, // unk_1E
-};
-
-CameraModeValue sSetCirc6ModeNormVals[] = {
- /* CAM_FUNC_SPEC0 */
- { 20, 4 }, // lerpATScale
- { 0x3200, 9 }, // flags
-};
-
-CameraModeValue D_8011B75C[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 10, 3 }, // pitchTarget
- { 12, 4 }, // unk_0C
- { 10, 5 }, // unk_10
- { 35, 6 }, // unk_14
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011B784[] = {
- /* CAM_FUNC_NORM1 */
- { 0, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 20, 3 }, // unk_0C
- { 12, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 35, 6 }, // pitchTarget
- { 55, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0F02, 9 }, // flags
-};
-
-CameraModeValue D_8011B7AC[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 250, 1 }, // distTarget
- { 0, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x2F0A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011B7D8[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 250, 1 }, // distance
- { 0, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 0, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 55, 7 }, // fov
- { 80, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2F02, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011B808[] = {
- /* CAM_FUNC_KEEP3 */
- { -30, 0 }, // yOffset
- { 70, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3F20, 9 }, // flags
-};
-
-CameraModeValue D_8011B838[] = {
- /* CAM_FUNC_SUBJ3 */
- { 0, 0 }, // eyeNextYOffset
- { 5, 1 }, // eyeDist
- { 50, 2 }, // eyeNextDist
- { 10, 4 }, // unk_0C
- { 0, 19 }, // atOffset.x
- { 0, 20 }, // atOffset.y
- { 0, 21 }, // atOffset.z
- { 45, 7 }, // fovTarget
- { 0x0F00, 9 }, // flags
-};
-
-CameraModeValue D_8011B85C[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 12, 4 }, // yawUpdateRateTarget
- { 35, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0F00, 9 }, // flags
-};
-
-CameraModeValue D_8011B87C[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 15, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0F00, 9 }, // flags
-};
-
-CameraModeValue D_8011B89C[] = {
- /* CAM_FUNC_UNIQ1 */
- { -80, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x0F00, 9 }, // flags
-};
-
-CameraModeValue D_8011B8B8[] = {
- /* CAM_FUNC_UNIQ1 */
- { -120, 0 }, // yOffset
- { 300, 1 }, // distMin
- { 300, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x2F00, 9 }, // flags
-};
-
-CameraModeValue sSetDemoCModeNormVals[] = {
- /* CAM_FUNC_UNIQ9 */
- { 0x3F00, 9 }, /* flags */
-};
-
-CameraModeValue D_8011B8D8[] = {
- /* CAM_FUNC_NORM1 */
- { 30, 0 }, // yOffset
- { 200, 1 }, // distMin
- { 300, 2 }, // distMax
- { -20, 3 }, // unk_0C
- { 15, 4 }, // unk_10
- { 5, 26 }, // unk_14
- { 50, 6 }, // pitchTarget
- { 70, 7 }, // fovTarget
- { 70, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011B900[] = {
- /* CAM_FUNC_BATT1 */
- { -30, 0 }, // yOffset (PCT)
- { 160, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 0, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj (PCT)
- { 60, 7 }, // fov
- { 40, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -50, 11 }, // yOffsetOffGround (PCT)
- { 20, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011B930[] = {
- /* CAM_FUNC_NORM1 */
- { -20, 0 }, // yOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 20, 3 }, // unk_0C
- { 15, 4 }, // unk_10
- { 5, 5 }, // unk_14
- { 30, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 60, 8 }, // atLERPScaleMax
- { 0x0003, 9 }, // flags
-};
-
-CameraModeValue D_8011B958[] = {
- /* CAM_FUNC_PARA1 */
- { -20, 0 }, // unk_00
- { 200, 1 }, // distTarget
- { 0, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 45, 7 }, // fovTarget
- { 50, 8 }, // unk_14
- { 0x200A, 9 }, // flags
- { -40, 11 }, // unk_18
- { 20, 12 }, // unk_1C
-};
-
-CameraModeValue sSetDung2ModeBattVals[] = {
- /* CAM_FUNC_BATT1 */
- { -20, 0 }, // yOffset (PCT)
- { 180, 1 }, // distance
- { 10, 13 }, // swingYawInitial
- { 80, 14 }, // swingYawFinal
- { -10, 15 }, // swingPitchInitial
- { 10, 16 }, // swingPitchFinal
- { 25, 17 }, // swingPitchAdj (PCT)
- { 45, 7 }, // fov
- { 80, 8 }, // atLERPScaleOnGround (PCT)
- { 0x2002, 9 }, // flags
- { -40, 11 }, // yOffsetOffGround (PCT)
- { 25, 12 }, // atLERPScaleOffGround (PCT)
-};
-
-CameraModeValue D_8011B9B4[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 10, 4 }, // yawUpdateRateTarget
- { 50, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 40, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B9D4[] = {
- /* CAM_FUNC_JUMP1 */
- { -20, 0 }, // atYOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 15, 4 }, // yawUpdateRateTarget
- { 80, 6 }, // maxYawUpdate
- { 60, 7 }, // unk_14
- { 20, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011B9F4[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 350, 1 }, // minDist
- { 350, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 5, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011BA18[] = {
- /* CAM_FUNC_JUMP2 */
- { -40, 0 }, // atYOffset
- { 350, 1 }, // minDist
- { 350, 2 }, // maxDist
- { 20, 18 }, // minMaxDistFactor
- { 999, 4 }, // yawUpdRateTarget
- { 5, 5 }, // xzUpdRateTarget
- { 60, 7 }, // fovTarget
- { 40, 8 }, // atLERPStepScale
- { 0x2006, 9 }, // flags
-};
-
-CameraModeValue D_8011BA3C[] = {
- /* CAM_FUNC_UNIQ1 */
- { -50, 0 }, // yOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 40, 3 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x0000, 9 }, // flags
-};
-
-CameraModeValue D_8011BA58[] = {
- /* CAM_FUNC_UNIQ1 */
- { -100, 0 }, // yOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 70, 3 }, // pitchTarget
- { 45, 7 }, // fovTarget
- { 10, 8 }, // atLERPScaleMax
- { 0x2000, 9 }, // flags
-};
-
-CameraModeValue D_8011BA74[] = {
- /* CAM_FUNC_NORM1 */
- { -10, 0 }, // yOffset
- { 350, 1 }, // distMin
- { 350, 2 }, // distMax
- { 20, 3 }, // unk_0C
- { 100, 4 }, // unk_10
- { 5, 5 }, // unk_14
- { 100, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 5, 8 }, // atLERPScaleMax
- { 0xF003, 9 }, // flags
-};
-
-CameraModeValue D_8011BA9C[] = {
- /* CAM_FUNC_PARA1 */
- { 0, 0 }, // unk_00
- { 280, 1 }, // distTarget
- { 25, 3 }, // pitchTarget
- { 0, 10 }, // yawTarget
- { 5, 4 }, // unk_08
- { 5, 5 }, // unk_0C
- { 70, 7 }, // fovTarget
- { 30, 8 }, // unk_14
- { 0x206A, 9 }, // flags
- { -20, 11 }, // unk_18
- { 30, 12 }, // unk_1C
-};
-
-CameraModeValue D_8011BAC8[] = {
- /* CAM_FUNC_NORM1 */
- { -10, 0 }, // yOffset
- { 280, 1 }, // distMin
- { 320, 2 }, // distMax
- { -8, 3 }, // unk_0C
- { 20, 4 }, // unk_10
- { 10, 5 }, // unk_14
- { 80, 6 }, // pitchTarget
- { 60, 7 }, // fovTarget
- { 80, 8 }, // atLERPScaleMax
- { 0x0002, 9 }, // flags
-};
-
-CameraModeValue D_8011BAF0[] = {
- /* CAM_FUNC_KEEP1 */
- { -20, 0 }, // unk_00
- { 180, 1 }, // unk_04
- { 200, 2 }, // unk_08
- { 35, 13 }, // unk_0C
- { 45, 14 }, // unk_10
- { 0, 15 }, // unk_14
- { -5, 16 }, // unk_18
- { 20, 17 }, // unk_1C
- { 50, 7 }, // unk_20
- { 50, 8 }, // unk_24
- { 0x2001, 9 }, // flags
- { -50, 11 }, // unk_28
- { 30, 12 }, // unk_2C
-};
-
-CameraModeValue D_8011BB24[] = {
- /* CAM_FUNC_KEEP3 */
- { -80, 0 }, // yOffset
- { 200, 1 }, // minDist
- { 250, 2 }, // maxDist
- { 30, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { -8, 15 }, // swingPitchInitial
- { -8, 16 }, // swingPitchFinal
- { 30, 17 }, // swingPitchAdj
- { 50, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x3520, 9 }, // flags
-};
-
-CameraModeValue D_8011BB54[] = {
- /* CAM_FUNC_KEEP3 */
- { -30, 0 }, // yOffset
- { 70, 1 }, // minDist
- { 200, 2 }, // maxDist
- { 40, 13 }, // swingYawInitial
- { 10, 14 }, // swingYawFinal
- { 0, 15 }, // swingPitchInitial
- { 5, 16 }, // swingPitchFinal
- { 70, 17 }, // swingPitchAdj
- { 45, 7 }, // fovTarget
- { 50, 8 }, // atLERPScaleMax
- { 10, 4 }, // initTimer
- { 0x35A0, 9 }, // flags
-};
-
-CameraMode sCamSetNorm0Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011A3A0 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A458 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5FC }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetNorm1Modes[] = {
- { CAM_FUNC_NORM1, 10, sSetNorm1ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, sSetNorm1ModeParaVals }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A714 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A7D8 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A778 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A7FC }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A798 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A83C }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A858 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A7B8 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A820 }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A874 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+CameraMode sCamSetNormal1Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal1ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal1ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal1ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal1ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal1ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal1ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal1ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal1ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal1ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal1ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal1ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal1ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
CameraMode sCamSetDungeon0Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011A89C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A8C4 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A8F0 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A924 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A994 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A778 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A9B8 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A954 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A9F8 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011AA14 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A974 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A9DC }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011AA30 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon0ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetDungeon0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetDungeon0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal1ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon0ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetDungeon0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
CameraMode sCamSetDungeon1Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AA58 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A8C4 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A714 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011AA80 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A924 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011AAF0 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A778 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011AB14 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011AAB0 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011AB54 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011AB70 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011AAD0 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011AB38 }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011AB8C }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011ABB4 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetNorm3Modes[] = {
- { CAM_FUNC_JUMP3, 10, sSetNorm3ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011AC08 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011AC34 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A458 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_JUMP3, 10, sSetNorm3ModeBoomVals }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
-};
-
-CameraMode sCamSetHorse0Modes[] = {
- { CAM_FUNC_NORM3, 9, sSetHrse0ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_NORM3, 9, sSetHrse0ModeParaVals }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011ACF8 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011AD2C }, // CAM_MODE_TALK
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BATTLE
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_CLIMB
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011ACD4 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
-};
-
-CameraMode sCamSetBossGomaModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AD5C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AD84 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A9DC }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossDodoModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011ADB4 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011ADDC }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossBariModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AE0C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AE34 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossFGanonModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AE64 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AE8C }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossBalModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AEBC }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AEE4 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossShadesModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AF14 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AF3C }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_NORM1, 10, D_8011AF6C }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_NORM1, 10, D_8011AF6C }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossMofaModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AF94 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AFBC }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFAL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossTwin0Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011AFEC }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B014 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFAL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossTwin1Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B044 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B014 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFAL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossGanon1Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B06C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011AE8C }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFAL
- { CAM_FUNC_BATT4, 7, D_8011B094 }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetBossGanon2Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B0B0 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B0D8 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT,
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFAL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetTower0Modes[] = {
- { CAM_FUNC_NORM2, 9, D_8011B108 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A458 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_NORM2, 9, D_8011B12C }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetTower1Modes[] = {
- { CAM_FUNC_NORM2, 9, D_8011B150 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A458 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_NORM2, 9, D_8011B174 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetFixed0Modes[] = {
- { CAM_FUNC_FIXD1, 4, sSetFixd0ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_TARGET
- { CAM_FUNC_FIXD1, 4, D_8011B1A8 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_FIXD1, 4, D_8011B1B8 }, // CAM_MODE_TALK
-};
-
-CameraMode sCamSetFixed1Modes[] = {
- { CAM_FUNC_FIXD1, 4, D_8011B1C8 }, // CAM_MODE_NORMAL
-};
-
-CameraMode sCamSetCirc0Modes[] = {
- { CAM_FUNC_FIXD2, 5, sSetCirc0ModeNormVals }, // CAM_MODE_NORMAL
-};
-
-CameraMode sCamSetCirc2Modes[] = {
- { CAM_FUNC_DATA4, 3, sSetCirc2ModeNormVals }, // CAM_MODE_NORMAL
-};
-
-CameraMode sCamSetCirc3Modes[] = {
- { CAM_FUNC_FIXD4, 5, D_8011B1F8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_JUMP
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_HANG
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_HANGZ
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetPreRend0Modes[] = {
- { CAM_FUNC_FIXD3, 1, D_8011B20C }, // CAM_MODE_NORMAL
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_TARGET
- { CAM_FUNC_FIXD3, 1, sSetPR0ModeKeepTalkVals }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_FIXD3, 1, sSetPR0ModeKeepTalkVals }, // CAM_MODE_TALK
-};
-
-CameraMode sCamSetPreRend1Modes[] = {
- { CAM_FUNC_UNIQ7, 2, sSetPR1ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_TARGET
- { CAM_FUNC_UNIQ7, 2, sSetPR1ModeKeepVals }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP0, 4, sSetPreRend1ModeTalkVals }, // CAM_MODE_TALK
-};
-
-CameraMode sCamSetPreRend3Modes[] = {
- { CAM_FUNC_SPEC6, 1, D_8011B20C }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon1ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal1ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetDungeon1ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetDungeon0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon1ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal1ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon1ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon1ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon1ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon1ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon1ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetDungeon1ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon1ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon1ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetNormal3Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP3, sSetNormal3ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal3ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal3ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP3, sSetNormal3ModeBoomerangData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+};
+
+CameraMode sCamSetHorseModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM3, sSetHorseModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM3, sSetHorseModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetHorseModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetHorseModeTalkData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetHorseModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+};
+
+CameraMode sCamSetBossGohmaModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossGohmaModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossGohmaModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetDungeon0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossDodongoModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossDodongoModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossDodongoModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossBarinadeModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossBarinadeModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossBarinadeModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossPhantomGanonModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossPhantomGanonModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossPhantomGanonModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossVolvagiaModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossVolvagiaModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossVolvagiaModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossBongoModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossBongoModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossBongoModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossBongoModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossBongoModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossMorphaModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossMorphaModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossMorphaModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossTwinrovaPlatformModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossTwinrovaPlatformModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossTwinrovaModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossTwinrovaFloorModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossTwinrovaFloorModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossTwinrovaModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossGanondorfModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossGanondorfModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossPhantomGanonModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetBossGanondorfModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetBossGanonModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBossGanonModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBossGanonModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetTowerClimbModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM2, sSetTowerClimbModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM2, sSetTowerClimbModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetTowerUnusedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM2, sSetTowerUnusedModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM2, sSetTowerUnusedModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetMarketBalconyModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD1, sSetMarketBalconyModeNormalData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD1, sSetMarketBalconyModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD1, sSetMarketBalconyModeTalkData),
+};
+
+CameraMode sCamSetChuBowlingModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD1, sSetChuBowlingModeNormalData),
+};
+
+CameraMode sCamSetPivotCrawlspaceModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD2, sSetPivotCrawlspaceModeNormalData),
+};
+
+CameraMode sCamSetPivotShopBrowsingModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DATA4, sSetPivotShopBrowsingModeNormalData),
+};
+
+CameraMode sCamSetPivotInFrontModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD4, sSetPivotInFrontAndFromSideModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetPreRendFixedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD3, sDataOnlyNullFlags),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD3, sSetPrerendFixedModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD3, sSetPrerendFixedModeFollowTargetData),
+};
+
+CameraMode sCamSetPreRendPivotModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ7, sSetPrerendPivotModeNormalData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ7, sSetPrerendPivotModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP0, sSetPrerendPivotModeTalkData),
+};
+
+CameraMode sCamSetPreRendSideScrollModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC6, sDataOnlyNullFlags),
};
CameraMode sCamSetDoor0Modes[] = {
- { CAM_FUNC_UNIQ3, 3, sSetDoor0ModeNormVals }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ3, sSetDoor0ModeNormalData),
};
CameraMode sCamSetDoorCModes[] = {
- { CAM_FUNC_SPEC9, 3, sSetDoorCModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_SPEC9, 3, sSetDoorCModeParaVals }, // CAM_MODE_TARGET
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC9, sSetDoorCModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC9, sSetDoorCModeTargetData),
};
-CameraMode sCamSetRail3Modes[] = {
- { CAM_FUNC_SUBJ4, 6, sSetRail3ModeNormVals }, // CAM_MODE_NORMAL
+CameraMode sCamSetCrawlspaceModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ4, sSetCrawlspaceModeNormalData),
};
CameraMode sCamSetStart0Modes[] = {
- { CAM_FUNC_UNIQ0, 1, D_8011B20C }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ0, sDataOnlyNullFlags),
};
CameraMode sCamSetStart1Modes[] = {
- { CAM_FUNC_UNIQ0, 1, D_8011B270 }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ0, sSetStart1ModeNormalData),
};
CameraMode sCamSetFree0Modes[] = {
- { CAM_FUNC_UNIQ6, 1, sSetFree0ModeNormVals }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ6, sSetFree0ModeNormalData),
};
CameraMode sCamSetFree1Modes[] = {
- { CAM_FUNC_UNIQ6, 1, sSetFree1ModeNormVals }, // CAM_MODE_NORMAL
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ6, sSetFree1ModeNormalData),
};
-CameraMode sCamSetCirc4Modes[] = {
- { CAM_FUNC_FIXD2, 5, sSetCirc4ModeNormVals }, // CAM_MODE_NORMAL
+CameraMode sCamSetPivotCornerModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD2, sSetPivotCornerModeNormalData),
};
-CameraMode sCamSetCirc5Modes[] = {
- { CAM_FUNC_UNIQ2, 4, D_8011B290 }, // CAM_MODE_NORMAL
- { CAM_FUNC_UNIQ2, 4, D_8011B2A0 }, // CAM_MODE_TARGET
+CameraMode sCamSetPivotDivingModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ2, sSetPivotWaterSurfaceModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ2, sSetPivotWaterSurfaceModeTargetData),
};
-CameraMode sCamSetDemo0Modes[] = {
- { CAM_FUNC_DEMO1, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetCs0Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO1, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetDemo1Modes[] = {
- { CAM_FUNC_DEMO2, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetCsTwistedHallwayModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO2, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetMori1Modes[] = {
- { CAM_FUNC_PARA1, 11, sSetMori1ModeNormVals }, // CAM_MODE_NORMAL
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_TARGET
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_PARA3, 1, D_8011B2E0 }, // CAM_MODE_TALK
+CameraMode sCamSetForestBirdsEyeModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetForestBirdsEyeModeNormalData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA3, sSetForestBirdsEyeModeTalkData),
};
-CameraMode sCamSetItem0Modes[] = {
- { CAM_FUNC_DEMO3, 3, D_8011B2E4 }, // CAM_MODE_NORMAL
+CameraMode sCamSetSlowChestCsModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO3, sSetSlowChestCsModeNormalData),
};
-CameraMode sCamSetItem1Modes[] = {
- { CAM_FUNC_DEMO4, 3, D_8011B2E4 }, // CAM_MODE_NORMAL
+CameraMode sCamSetItemUnusedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO4, sSetSlowChestCsModeNormalData),
};
-CameraMode sCamSetDemo3Modes[] = {
- { CAM_FUNC_DEMO9, 1, sSetDemo3ModeNormVals }, // CAM_MODE_NORMAL
+CameraMode sCamSetCs3Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO9, sSetCs3ModeNormalData),
};
-CameraMode sCamSetDemo4Modes[] = {
- { CAM_FUNC_DEMO5, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetCsAttentionModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO5, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetUFOBeanModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B2F4 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B31C }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011B348 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011B368 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011B384 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011B3A0 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+CameraMode sCamSetBeanGenericModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBeanGenericModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetBeanGenericModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetBeanGenericModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetBeanGenericModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetBeanGenericModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBeanGenericModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
-CameraMode sCamSetLiftBeanModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B3C8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B3F0 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011B41C }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011B43C }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011B458 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011B474 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+CameraMode sCamSetBeanLostWoodsModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBeanLostWoodsModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetBeanLostWoodsModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetBeanLostWoodsModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetBeanLostWoodsModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetBeanLostWoodsModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBeanLostWoodsModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
-CameraMode sCamSetScene0Modes[] = {
- { CAM_FUNC_SPEC9, 3, sSetScn0ModeNormVals }, // CAM_MODE_NORMAL
+CameraMode sCamSetSceneUnusedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC9, sSetSceneUnusedModeNormalData),
};
-CameraMode sCamSetScene1Modes[] = {
- { CAM_FUNC_UNIQ2, 4, D_8011B4A8 }, // CAM_MODE_NORMAL
+CameraMode sCamSetSceneTransitionModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ2, sSetSceneTransitionModeNormalData),
};
-CameraMode sCamSetHidan1Modes[] = {
- { CAM_FUNC_SPEC7, 1, D_8011B20C }, // CAM_MODE_NORMAL
+CameraMode sCamSetFirePlatformModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC7, sDataOnlyNullFlags),
};
-CameraMode sCamSetHidan2Modes[] = {
- { CAM_FUNC_SPEC4, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetFireStaircaseModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC4, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetMori2Modes[] = {
- { CAM_FUNC_UNIQ5, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetForestUnusedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ5, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetMori3Modes[] = {
- { CAM_FUNC_DEMO6, 1, D_8011B2B0 }, // CAM_MODE_NORMAL
+CameraMode sCamSetForestDefeatPoeModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_DEMO6, sDataOnlyInterfaceFlags),
};
-CameraMode sCamSetTakoModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B4B8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A8C4 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A8F0 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B4E0 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A994 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A778 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A9B8 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A954 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A9F8 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011AA14 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A974 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A9DC }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011B510 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetSpot05AModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B538 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B560 }, // CAM_MODE_TARGET
- { 0, 0, NULL }, // CAM_MODE_FOLLOWTARGET
- { 0, 0, NULL }, // CAM_MODE_TALK
- { CAM_FUNC_PARA1, 11, D_8011B58C }, // CAM_MODE_BATTLE
- { CAM_FUNC_NORM1, 10, D_8011B5B8 }, // CAM_MODE_CLIMB
-};
-
-CameraMode sCamSetSpot05BModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B5E0 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B608 }, // CAM_MODE_TARGET
- { 0, 0, NULL }, // CAM_MODE_FOLLOWTARGET
- { 0, 0, NULL }, // CAM_MODE_TALK
- { CAM_FUNC_PARA1, 11, D_8011B634 }, // CAM_MODE_BATTLE
- { CAM_FUNC_NORM1, 10, D_8011B660 }, // CAM_MODE_CLIMB
-};
-
-CameraMode sCamSetHidan3Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B688 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B6B0 }, // CAM_MODE_TARGET
- { 0, 0, NULL }, // CAM_MODE_FOLLOWTARGET
- { 0, 0, NULL }, // CAM_MODE_TALK
- { CAM_FUNC_PARA1, 11, D_8011B6DC }, // CAM_MODE_BATTLE
- { CAM_FUNC_NORM1, 10, D_8011B708 }, // CAM_MODE_CLIMB
+CameraMode sCamSetBigOctoModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBigOctoModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetDungeon0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetBigOctoModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal1ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon0ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetDungeon0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetBigOctoModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetMeadowBirdsEyeModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetMeadowBirdsEyeModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetMeadowBirdsEyeModeTargetData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetMeadowBirdsEyeModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetMeadowBirdsEyeModeClimbData),
+};
+
+CameraMode sCamSetMeadowUnusedModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetMeadowUnusedModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetMeadowUnusedModeTargetData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetMeadowUnusedModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetMeadowUnusedModeClimbData),
+};
+
+CameraMode sCamSetFireBirdsEyeModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetFireBirdsEyeModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetFireBirdsEyeModeTargetData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetFireBirdsEyeModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetFireBirdsEyeModeClimbData),
};
-CameraMode sCamSetItem2Modes[] = {
- { CAM_FUNC_KEEP4, 9, D_8011B730 }, // CAM_MODE_NORMAL
+CameraMode sCamSetTurnAroundModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP4, sSetTurnAroundModeNormalData),
};
-CameraMode sCamSetCirc6Modes[] = {
- { CAM_FUNC_SPEC0, 2, sSetCirc6ModeNormVals }, // CAM_MODE_NORMAL
+CameraMode sCamSetPivotVerticalModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC0, sSetPivotVerticalModeNormalData),
};
CameraMode sCamSetNorm2Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B75C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal2and4ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
CameraMode sCamSetFishingModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B784 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B7AC }, // CAM_MODE_TARGET
- { CAM_FUNC_BATT1, 12, D_8011B7D8 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011B808 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B7D8 }, // CAM_MODE_BATTLE
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011B838 }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BOWARROW
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011B85C }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011B89C }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011B8B8 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011B87C }, // CAM_MODE_FREEFALL
-};
-
-CameraMode sCamSetDemoCModes[] = {
- { CAM_FUNC_UNIQ9, 1, sSetDemoCModeNormVals }, // CAM_MODE_NORMAL
-};
-
-CameraMode sCamSetUOFiberModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B8D8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011B900 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetFishingModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetFishingModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetFishingModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetFishingModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetFishingModeFollowTargetData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetFishingModeFirstPersonData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetFishingModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetFishingModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetFishingModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetFishingModeFreeFallData),
+};
+
+CameraMode sCamSetCsCModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ9, sSetCsCModeNormalData),
+};
+
+CameraMode sCamSetJabuTentacleModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetJabuTentacleModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetJabuTentacleModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
CameraMode sCamSetDungeon2Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B930 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011B958 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A8F0 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, sSetDung2ModeBattVals }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011B9F4 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A778 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011BA18 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011B9B4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011BA3C }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011BA58 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011B9D4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011BA74 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011BA9C }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetTeppenModes[] = {
- { CAM_FUNC_NORM1, 10, D_8011BAC8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011BAF0 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011BB24 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A458 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
-};
-
-CameraMode sCamSetCirc7Modes[] = {
- { CAM_FUNC_FIXD4, 5, D_8011B1F8 }, // CAM_MODE_NORMAL
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_TARGET
- { CAM_FUNC_FIXD4, 5, D_8011B1F8 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011A428 }, // CAM_MODE_TALK
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BATTLE
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_NONE, 0, NULL }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
-};
-
-CameraMode sCamSetNorm4Modes[] = {
- { CAM_FUNC_NORM1, 10, D_8011B75C }, // CAM_MODE_NORMAL
- { CAM_FUNC_PARA1, 11, D_8011A3C8 }, // CAM_MODE_TARGET
- { CAM_FUNC_KEEP1, 13, D_8011A3F4 }, // CAM_MODE_FOLLOWTARGET
- { CAM_FUNC_KEEP3, 12, D_8011BB54 }, // CAM_MODE_TALK
- { CAM_FUNC_BATT1, 12, D_8011A748 }, // CAM_MODE_BATTLE
- { CAM_FUNC_JUMP2, 9, D_8011A488 }, // CAM_MODE_CLIMB
- { CAM_FUNC_SUBJ3, 9, D_8011A4AC }, // CAM_MODE_FIRSTPERSON
- { CAM_FUNC_SUBJ3, 9, D_8011A4D0 }, // CAM_MODE_BOWARROW
- { CAM_FUNC_SUBJ3, 9, D_8011A4F4 }, // CAM_MODE_BOWARROWZ
- { CAM_FUNC_SPEC5, 8, D_8011A518 }, // CAM_MODE_HOOKSHOT
- { CAM_FUNC_SUBJ3, 9, D_8011A538 }, // CAM_MODE_BOOMERANG
- { CAM_FUNC_SUBJ3, 9, D_8011A55C }, // CAM_MODE_SLINGSHOT
- { CAM_FUNC_JUMP2, 9, D_8011A580 }, // CAM_MODE_CLIMBZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_JUMP
- { CAM_FUNC_UNIQ1, 7, D_8011A5C4 }, // CAM_MODE_HANG
- { CAM_FUNC_UNIQ1, 7, D_8011A5E0 }, // CAM_MODE_HANGZ
- { CAM_FUNC_JUMP1, 8, D_8011A5A4 }, // CAM_MODE_FREEFALL
- { CAM_FUNC_BATT4, 7, D_8011A61C }, // CAM_MODE_CHARGE
- { CAM_FUNC_NORM1, 10, D_8011A638 }, // CAM_MODE_STILL
- { CAM_FUNC_PARA1, 11, D_8011A660 }, // CAM_MODE_PUSHPULL
- { CAM_FUNC_KEEP1, 13, D_8011A68C }, // CAM_MODE_FOLLOWBOOMERANG
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon2ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon2ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetDungeon0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetDungeon2ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon2ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal1ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetDungeon2ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon2ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon2ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetDungeon2ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetDungeon2ModeFreeFallData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDungeon2ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetDungeon2ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetDirectedYawModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetDirectedYawModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetDirectedYawModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetDirectedYawModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal0ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
+};
+
+CameraMode sCamSetPivotFromSideModes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD4, sSetPivotInFrontAndFromSideModeNormalData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_FIXD4, sSetPivotInFrontAndFromSideModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sSetNormal0ModeTalkData),
+ { CAM_FUNC_NONE, 0, NULL },
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ { CAM_FUNC_NONE, 0, NULL },
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+};
+
+CameraMode sCamSetNormal4Modes[] = {
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal2and4ModeNormalData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModeTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowTargetData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP3, sNormal4ModeTalkData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT1, sSetNormal1ModeBattleData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeFirstPersonData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBowArrowZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SPEC5, sSetNormal0ModeHookshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeBoomerangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_SUBJ3, sSetNormal0ModeSlingshotData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP2, sSetNormal0ModeClimbZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_UNIQ1, sSetNormal0ModeHangZData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_JUMP1, sSetNormal0ModeJumpData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_BATT4, sSetNormal0ModeChargeData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_NORM1, sSetNormal0ModeStillData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_PARA1, sSetNormal0ModePushPullData),
+ CAM_SETTING_MODE_ENTRY(CAM_FUNC_KEEP1, sSetNormal0ModeFollowBoomerangData),
};
CameraSetting sCameraSettings[] = {
- { { 0x00000000 }, NULL }, // CAM_SET_NONE
- { { 0x051FFFFF }, sCamSetNorm0Modes }, // CAM_SET_NORMAL0
- { { 0x051FFFFF }, sCamSetNorm1Modes }, // CAM_SET_NORMAL1
- { { 0x051FFFFF }, sCamSetDungeon0Modes }, // CAM_SET_DUNGEON0
- { { 0x051FFFFF }, sCamSetDungeon1Modes }, // CAM_SET_DUNGEON1
- { { 0x050FF7FF }, sCamSetNorm3Modes }, // CAM_SET_NORMAL3
- { { 0x8500018F }, sCamSetHorse0Modes }, // CAM_SET_HORSE
- { { 0x051FFFFF }, sCamSetBossGomaModes }, // CAM_SET_BOSS_GOHMA
- { { 0x051FFFFF }, sCamSetBossDodoModes }, // CAM_SET_BOSS_DODONGO
- { { 0x051FFFFF }, sCamSetBossBariModes }, // CAM_SET_BOSS_BARINADE
- { { 0x051FFFFF }, sCamSetBossFGanonModes }, // CAM_SET_BOSS_PHANTOM_GANON
- { { 0x051FFFFF }, sCamSetBossBalModes }, // CAM_SET_BOSS_VOLVAGIA
- { { 0x051FFFFF }, sCamSetBossShadesModes }, // CAM_SET_BOSS_BONGO
- { { 0x051FFFFF }, sCamSetBossMofaModes }, // CAM_SET_BOSS_MORPHA
- { { 0x051FFFFF }, sCamSetBossTwin0Modes }, // CAM_SET_BOSS_TWINROVA_PLATFORM
- { { 0x051FFFFF }, sCamSetBossTwin1Modes }, // CAM_SET_BOSS_TWINROVA_FLOOR
- { { 0x051FFFFF }, sCamSetBossGanon1Modes }, // CAM_SET_BOSS_GANONDORF
- { { 0x051FFFFF }, sCamSetBossGanon2Modes }, // CAM_SET_BOSS_GANON
- { { 0x851FFFFF }, sCamSetTower0Modes }, // CAM_SET_TOWER_CLIMB
- { { 0x851FFFFF }, sCamSetTower1Modes }, // CAM_SET_TOWER_UNUSED
- { { 0x8500000D }, sCamSetFixed0Modes }, // CAM_SET_MARKET_BALCONY
- { { 0x85000001 }, sCamSetFixed1Modes }, // CAM_SET_CHU_BOWLING
- { { 0x85000001 }, sCamSetCirc0Modes }, // CAM_SET_PIVOT_CRAWLSPACE
- { { 0x85000001 }, sCamSetCirc2Modes }, // CAM_SET_PIVOT_SHOP_BROWSING
- { { 0x851E1FFF }, sCamSetCirc3Modes }, // CAM_SET_PIVOT_IN_FRONT
- { { 0x8C00000D }, sCamSetPreRend0Modes }, // CAM_SET_PREREND_FIXED
- { { 0x8C00000D }, sCamSetPreRend1Modes }, // CAM_SET_PREREND_PIVET
- { { 0x8C000001 }, sCamSetPreRend3Modes }, // CAM_SET_PREREND_SIDE_SCROLL
- { { 0xC5000001 }, sCamSetDoor0Modes }, // CAM_SET_DOOR0
- { { 0xC5000003 }, sCamSetDoorCModes }, // CAM_SET_DOORC
- { { 0xC5000001 }, sCamSetRail3Modes }, // CAM_SET_CRAWLSPACE
- { { 0xC5000001 }, sCamSetStart0Modes }, // CAM_SET_START0
- { { 0xC5000001 }, sCamSetStart1Modes }, // CAM_SET_START1
- { { 0x05000001 }, sCamSetFree0Modes }, // CAM_SET_FREE0
- { { 0x05000001 }, sCamSetFree1Modes }, // CAM_SET_FREE2
- { { 0x85000001 }, sCamSetCirc4Modes }, // CAM_SET_PIVOT_CORNER
- { { 0x05000003 }, sCamSetCirc5Modes }, // CAM_SET_PIVOT_WATER_SURFACE
- { { 0xCE000001 }, sCamSetDemo0Modes }, // CAM_SET_CS_0
- { { 0x4E000001 }, sCamSetDemo1Modes }, // CAM_SET_CS_TWISTED_HALLWAY
- { { 0x05000009 }, sCamSetMori1Modes }, // CAM_SET_FOREST_BIRDS_EYE
- { { 0x45000001 }, sCamSetItem0Modes }, // CAM_SET_SLOW_CHEST_CS
- { { 0x45000001 }, sCamSetItem1Modes }, // CAM_SET_ITEM_UNUSED
- { { 0x45000001 }, sCamSetDemo3Modes }, // CAM_SET_CS_3
- { { 0x45000001 }, sCamSetDemo4Modes }, // CAM_SET_CS_ATTENTION
- { { 0x451FFFFF }, sCamSetUFOBeanModes }, // CAM_SET_BEAN_GENERIC
- { { 0x451FFFFF }, sCamSetLiftBeanModes }, // CAM_SET_BEAN_LOST_WOODS
- { { 0xC5000001 }, sCamSetScene0Modes }, // CAM_SET_SCENE_UNUSED
- { { 0x45000001 }, sCamSetScene1Modes }, // CAM_SET_SCENE_TRANSITION
- { { 0x05000001 }, sCamSetHidan1Modes }, // CAM_SET_FIRE_PLATFORM
- { { 0x45000001 }, sCamSetHidan2Modes }, // CAM_SET_FIRE_STAIRCASE
- { { 0x45000001 }, sCamSetMori2Modes }, // CAM_SET_FOREST_UNUSED
- { { 0x45000001 }, sCamSetMori3Modes }, // CAM_SET_FOREST_DEFEAT_POE
- { { 0x451FFFFF }, sCamSetTakoModes }, // CAM_SET_BIG_OCTO
- { { 0x05000033 }, sCamSetSpot05AModes }, // CAM_SET_MEADOW_BIRDS_EYE
- { { 0x05000033 }, sCamSetSpot05BModes }, // CAM_SET_MEADOW_UNUSED
- { { 0x05000033 }, sCamSetHidan3Modes }, // CAM_SET_FIRE_BIRDS_EYE
- { { 0x4A000001 }, sCamSetItem2Modes }, // CAM_SET_TURN_AROUND
- { { 0x05000001 }, sCamSetCirc6Modes }, // CAM_SET_PIVOT_VERTICAL
- { { 0x051FFFFF }, sCamSetNorm2Modes }, // CAM_SET_NORMAL2
- { { 0x0501E05F }, sCamSetFishingModes }, // CAM_SET_FISHING
- { { 0x45000001 }, sCamSetDemoCModes }, // CAM_SET_CS_C
- { { 0x051FFFFF }, sCamSetUOFiberModes }, // CAM_SET_JABU_TENTACLE
- { { 0x051FFFFF }, sCamSetDungeon2Modes }, // CAM_SET_DUNGEON2
- { { 0x051FFFFF }, sCamSetTeppenModes }, // CAM_SET_DIRECTED_YAW
- { { 0xC5000ECD }, sCamSetCirc7Modes }, // CAM_SET_PIVOT_FROM_SIDE
- { { 0x051FFFFF }, sCamSetNorm4Modes }, // CAM_SET_NORMAL4
+ { { 0x00000000 }, NULL },
+ { { 0x051FFFFF }, sCamSetNormal0Modes },
+ { { 0x051FFFFF }, sCamSetNormal1Modes },
+ { { 0x051FFFFF }, sCamSetDungeon0Modes },
+ { { 0x051FFFFF }, sCamSetDungeon1Modes },
+ { { 0x050FF7FF }, sCamSetNormal3Modes },
+ { { 0x8500018F }, sCamSetHorseModes },
+ { { 0x051FFFFF }, sCamSetBossGohmaModes },
+ { { 0x051FFFFF }, sCamSetBossDodongoModes },
+ { { 0x051FFFFF }, sCamSetBossBarinadeModes },
+ { { 0x051FFFFF }, sCamSetBossPhantomGanonModes },
+ { { 0x051FFFFF }, sCamSetBossVolvagiaModes },
+ { { 0x051FFFFF }, sCamSetBossBongoModes },
+ { { 0x051FFFFF }, sCamSetBossMorphaModes },
+ { { 0x051FFFFF }, sCamSetBossTwinrovaPlatformModes },
+ { { 0x051FFFFF }, sCamSetBossTwinrovaFloorModes },
+ { { 0x051FFFFF }, sCamSetBossGanondorfModes },
+ { { 0x051FFFFF }, sCamSetBossGanonModes },
+ { { 0x851FFFFF }, sCamSetTowerClimbModes },
+ { { 0x851FFFFF }, sCamSetTowerUnusedModes },
+ { { 0x8500000D }, sCamSetMarketBalconyModes },
+ { { 0x85000001 }, sCamSetChuBowlingModes },
+ { { 0x85000001 }, sCamSetPivotCrawlspaceModes },
+ { { 0x85000001 }, sCamSetPivotShopBrowsingModes },
+ { { 0x851E1FFF }, sCamSetPivotInFrontModes },
+ { { 0x8C00000D }, sCamSetPreRendFixedModes },
+ { { 0x8C00000D }, sCamSetPreRendPivotModes },
+ { { 0x8C000001 }, sCamSetPreRendSideScrollModes },
+ { { 0xC5000001 }, sCamSetDoor0Modes },
+ { { 0xC5000003 }, sCamSetDoorCModes },
+ { { 0xC5000001 }, sCamSetCrawlspaceModes },
+ { { 0xC5000001 }, sCamSetStart0Modes },
+ { { 0xC5000001 }, sCamSetStart1Modes },
+ { { 0x05000001 }, sCamSetFree0Modes },
+ { { 0x05000001 }, sCamSetFree1Modes },
+ { { 0x85000001 }, sCamSetPivotCornerModes },
+ { { 0x05000003 }, sCamSetPivotDivingModes },
+ { { 0xCE000001 }, sCamSetCs0Modes },
+ { { 0x4E000001 }, sCamSetCsTwistedHallwayModes },
+ { { 0x05000009 }, sCamSetForestBirdsEyeModes },
+ { { 0x45000001 }, sCamSetSlowChestCsModes },
+ { { 0x45000001 }, sCamSetItemUnusedModes },
+ { { 0x45000001 }, sCamSetCs3Modes },
+ { { 0x45000001 }, sCamSetCsAttentionModes },
+ { { 0x451FFFFF }, sCamSetBeanGenericModes },
+ { { 0x451FFFFF }, sCamSetBeanLostWoodsModes },
+ { { 0xC5000001 }, sCamSetSceneUnusedModes },
+ { { 0x45000001 }, sCamSetSceneTransitionModes },
+ { { 0x05000001 }, sCamSetFirePlatformModes },
+ { { 0x45000001 }, sCamSetFireStaircaseModes },
+ { { 0x45000001 }, sCamSetForestUnusedModes },
+ { { 0x45000001 }, sCamSetForestDefeatPoeModes },
+ { { 0x451FFFFF }, sCamSetBigOctoModes },
+ { { 0x05000033 }, sCamSetMeadowBirdsEyeModes },
+ { { 0x05000033 }, sCamSetMeadowUnusedModes },
+ { { 0x05000033 }, sCamSetFireBirdsEyeModes },
+ { { 0x4A000001 }, sCamSetTurnAroundModes },
+ { { 0x05000001 }, sCamSetPivotVerticalModes },
+ { { 0x051FFFFF }, sCamSetNorm2Modes },
+ { { 0x0501E05F }, sCamSetFishingModes },
+ { { 0x45000001 }, sCamSetCsCModes },
+ { { 0x051FFFFF }, sCamSetJabuTentacleModes },
+ { { 0x051FFFFF }, sCamSetDungeon2Modes },
+ { { 0x051FFFFF }, sCamSetDirectedYawModes },
+ { { 0xC5000ECD }, sCamSetPivotFromSideModes },
+ { { 0x051FFFFF }, sCamSetNormal4Modes },
};
s32 Camera_Normal0(Camera* camera);