#include "ultra64.h" #include "global.h" typedef struct { s16 val; s16 param; } CameraModeValue; typedef struct { s16 funcIdx; s16 valueCnt; CameraModeValue* values; } CameraMode; typedef struct { union { u32 unk_00; struct { u32 unk_bit0 : 1; u32 unk_bit1 : 1; u32 validModes : 30; }; }; CameraMode* cameraModes; } CameraSetting; /*==================================================================*/ // Data s16 sOREGInit[] = { 0, 1, 5, 5, 5, 14500, 20, 16, 150, 25, 150, 6, 10, 10, 0, 0, 1, 100, 250, 120, 80, 30, 120, 4, 1, 50, 20, 1800, 50, 50, 50, 20, 20, -10, -5460, -9100, -6, 8, 15, 75, 60, 12, 110, 40, 50, 250, -10, 30, 30, 70, 20, 20, 20, }; 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; char sCameraSettingNames[][12] = { "NONE ", "NORMAL0 ", "NORMAL1 ", "DUNGEON0 ", "DUNGEON1 ", "NORMAL3 ", "HORSE0 ", "BOSS_GOMA ", "BOSS_DODO ", "BOSS_BARI ", "BOSS_FGANON", "BOSS_BAL ", "BOSS_SHADES", "BOSS_MOFA ", "BOSS_TWIN0 ", "BOSS_TWIN1 ", "BOSS_GANON1", "BOSS_GANON2", "TOWER0 ", "TOWER1 ", "FIXED0 ", "FIXED1 ", "CIRCLE0 ", "CIRCLE2 ", "CIRCLE3 ", "PREREND0 ", "PREREND1 ", "PREREND3 ", "DOOR0 ", "DOORC ", "RAIL3 ", "START0 ", "START1 ", "FREE0 ", "FREE2 ", "CIRCLE4 ", "CIRCLE5 ", "DEMO0 ", "DEMO1 ", "MORI1 ", "ITEM0 ", "ITEM1 ", "DEMO3 ", "DEMO4 ", "UFOBEAN ", "LIFTBEAN ", "SCENE0 ", "SCENE1 ", "HIDAN1 ", "HIDAN2 ", "MORI2 ", "MORI3 ", "TAKO ", "SPOT05A ", "SPOT05B ", "HIDAN3 ", "ITEM2 ", "CIRCLE6 ", "NORMAL2 ", "FISHING ", "DEMOC ", "UO_FIBER ", "DUNGEON2 ", "TEPPEN ", "CIRCLE7 ", "NORMAL4 ", }; char sCameraModeNames[][12] = { "NORMAL ", "PARALLEL ", "KEEPON ", "TALK ", "BATTLE ", "CLIMB ", "SUBJECT ", "BOWARROW ", "BOWARROWZ ", "FOOKSHOT ", "BOOMERANG ", "PACHINCO ", "CLIMBZ ", "JUMP ", "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 }; CameraModeValue D_8011B20C[] = { /* CAM_FUNC_UNIQ0 CAM_FUNC_FIXD3 CAM_FUNC_SPEC6 CAM_FUNC_SPEC7 */ { 0x0000, 9 }, // flags }; CameraModeValue sSetPR0ModeKeepTalkVals[] = { /* CAM_FUNC_FIXD3 */ { 0x2000, 9 }, // flags }; CameraModeValue sSetPR1ModeNormVals[] = { /* CAM_FUNC_UNIQ7 */ { 60, 7 }, // fov { 0x0000, 9 }, // flags }; CameraModeValue sSetPR1ModeKeepVals[] = { /* CAM_FUNC_UNIQ7 */ { 60, 7 }, // fov { 0x2000, 9 }, // flags }; CameraModeValue sSetPreRend1ModeTalkVals[] = { /* CAM_FUNC_KEEP0 */ { 30, 24 }, // fovScale { 0, 25 }, // yawScale { 4, 4 }, // timerInit { 0x3500, 9 }, // flags }; CameraModeValue sSetDoor0ModeNormVals[] = { /* CAM_FUNC_UNIQ3 */ { -40, 0 }, // yOffset { 60, 7 }, // fov { 0x3200, 9 }, // flags }; CameraModeValue sSetDoorCModeNormVals[] = { /* CAM_FUNC_SPEC9 */ { -5, 0 }, // yOffset { 60, 7 }, // unk_04 (unused) { 0x3202, 9 }, // flags }; CameraModeValue sSetDoorCModeParaVals[] = { /* CAM_FUNC_SPEC9 */ { -5, 0 }, // yOffset { 60, 7 }, // unk_04 (unused) { 0x320A, 9 }, // flags }; 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 D_8011B270[] = { /* CAM_FUNC_UNIQ0 */ { 0x0001, 9 }, // flags }; CameraModeValue sSetFree0ModeNormVals[] = { /* CAM_FUNC_UNIQ6 */ { 0xFF00, 9 }, // flags }; CameraModeValue sSetFree1ModeNormVals[] = { /* CAM_FUNC_UNIQ6 */ { 0xFF01, 9 }, // flags }; CameraModeValue sSetCirc4ModeNormVals[] = { /* CAM_FUNC_FIXD2 */ { -40, 0 }, // yOffset { 100, 4 }, // eyeStepScale { 80, 5 }, // posStepScale { 60, 7 }, // fov { 0x0000, 9 }, // flags }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT, { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_BOOMFOLLLOW }; 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 }; CameraMode sCamSetDoor0Modes[] = { { CAM_FUNC_UNIQ3, 3, sSetDoor0ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetDoorCModes[] = { { CAM_FUNC_SPEC9, 3, sSetDoorCModeNormVals }, // CAM_MODE_NORMAL { CAM_FUNC_SPEC9, 3, sSetDoorCModeParaVals }, // CAM_MODE_TARGET }; CameraMode sCamSetRail3Modes[] = { { CAM_FUNC_SUBJ4, 6, sSetRail3ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetStart0Modes[] = { { CAM_FUNC_UNIQ0, 1, D_8011B20C }, // CAM_MODE_NORMAL }; CameraMode sCamSetStart1Modes[] = { { CAM_FUNC_UNIQ0, 1, D_8011B270 }, // CAM_MODE_NORMAL }; CameraMode sCamSetFree0Modes[] = { { CAM_FUNC_UNIQ6, 1, sSetFree0ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetFree1Modes[] = { { CAM_FUNC_UNIQ6, 1, sSetFree1ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetCirc4Modes[] = { { CAM_FUNC_FIXD2, 5, sSetCirc4ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetCirc5Modes[] = { { CAM_FUNC_UNIQ2, 4, D_8011B290 }, // CAM_MODE_NORMAL { CAM_FUNC_UNIQ2, 4, D_8011B2A0 }, // CAM_MODE_TARGET }; CameraMode sCamSetDemo0Modes[] = { { CAM_FUNC_DEMO1, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; CameraMode sCamSetDemo1Modes[] = { { CAM_FUNC_DEMO2, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; 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 sCamSetItem0Modes[] = { { CAM_FUNC_DEMO3, 3, D_8011B2E4 }, // CAM_MODE_NORMAL }; CameraMode sCamSetItem1Modes[] = { { CAM_FUNC_DEMO4, 3, D_8011B2E4 }, // CAM_MODE_NORMAL }; CameraMode sCamSetDemo3Modes[] = { { CAM_FUNC_DEMO9, 1, sSetDemo3ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetDemo4Modes[] = { { CAM_FUNC_DEMO5, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_BOOMFOLLLOW }; CameraMode sCamSetScene0Modes[] = { { CAM_FUNC_SPEC9, 3, sSetScn0ModeNormVals }, // CAM_MODE_NORMAL }; CameraMode sCamSetScene1Modes[] = { { CAM_FUNC_UNIQ2, 4, D_8011B4A8 }, // CAM_MODE_NORMAL }; CameraMode sCamSetHidan1Modes[] = { { CAM_FUNC_SPEC7, 1, D_8011B20C }, // CAM_MODE_NORMAL }; CameraMode sCamSetHidan2Modes[] = { { CAM_FUNC_SPEC4, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; CameraMode sCamSetMori2Modes[] = { { CAM_FUNC_UNIQ5, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; CameraMode sCamSetMori3Modes[] = { { CAM_FUNC_DEMO6, 1, D_8011B2B0 }, // CAM_MODE_NORMAL }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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 sCamSetItem2Modes[] = { { CAM_FUNC_KEEP4, 9, D_8011B730 }, // CAM_MODE_NORMAL }; CameraMode sCamSetCirc6Modes[] = { { CAM_FUNC_SPEC0, 2, sSetCirc6ModeNormVals }, // CAM_MODE_NORMAL }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_FOOKSHOT { 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_BOOMFOLLLOW }; 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_HORSE0 { { 0x051FFFFF }, sCamSetBossGomaModes }, // CAM_SET_BOSS_GOMA { { 0x051FFFFF }, sCamSetBossDodoModes }, // CAM_SET_BOSS_DODO { { 0x051FFFFF }, sCamSetBossBariModes }, // CAM_SET_BOSS_BARI { { 0x051FFFFF }, sCamSetBossFGanonModes }, // CAM_SET_BOSS_FGANON { { 0x051FFFFF }, sCamSetBossBalModes }, // CAM_SET_BOSS_BAL { { 0x051FFFFF }, sCamSetBossShadesModes }, // CAM_SET_BOSS_SHADES { { 0x051FFFFF }, sCamSetBossMofaModes }, // CAM_SET_BOSS_MOFA { { 0x051FFFFF }, sCamSetBossTwin0Modes }, // CAM_SET_TWIN0 { { 0x051FFFFF }, sCamSetBossTwin1Modes }, // CAM_SET_TWIN1 { { 0x051FFFFF }, sCamSetBossGanon1Modes }, // CAM_SET_BOSS_GANON1 { { 0x051FFFFF }, sCamSetBossGanon2Modes }, // CAM_SET_BOSS_GANON2 { { 0x851FFFFF }, sCamSetTower0Modes }, // CAM_SET_TOWER0 { { 0x851FFFFF }, sCamSetTower1Modes }, // CAM_SET_TOWER1 { { 0x8500000D }, sCamSetFixed0Modes }, // CAM_SET_FIXED0 { { 0x85000001 }, sCamSetFixed1Modes }, // CAM_SET_FIXED1 { { 0x85000001 }, sCamSetCirc0Modes }, // CAM_SET_CIRCLE0 { { 0x85000001 }, sCamSetCirc2Modes }, // CAM_SET_CIRCLE2 { { 0x851E1FFF }, sCamSetCirc3Modes }, // CAM_SET_CIRCLE3 { { 0x8C00000D }, sCamSetPreRend0Modes }, // CAM_SET_PREREND0 { { 0x8C00000D }, sCamSetPreRend1Modes }, // CAM_SET_PREREND1 { { 0x8C000001 }, sCamSetPreRend3Modes }, // CAM_SET_PREREND3 { { 0xC5000001 }, sCamSetDoor0Modes }, // CAM_SET_DOOR0 { { 0xC5000003 }, sCamSetDoorCModes }, // CAM_SET_DOORC { { 0xC5000001 }, sCamSetRail3Modes }, // CAM_SET_RAIL3 { { 0xC5000001 }, sCamSetStart0Modes }, // CAM_SET_START0 { { 0xC5000001 }, sCamSetStart1Modes }, // CAM_SET_START1 { { 0x05000001 }, sCamSetFree0Modes }, // CAM_SET_FREE0 { { 0x05000001 }, sCamSetFree1Modes }, // CAM_SET_FREE2 { { 0x85000001 }, sCamSetCirc4Modes }, // CAM_SET_CIRCLE4 { { 0x05000003 }, sCamSetCirc5Modes }, // CAM_SET_CIRCLE5 { { 0xCE000001 }, sCamSetDemo0Modes }, // CAM_SET_DEMO0 { { 0x4E000001 }, sCamSetDemo1Modes }, // CAM_SET_DEMO1 { { 0x05000009 }, sCamSetMori1Modes }, // CAM_SET_MORI1 { { 0x45000001 }, sCamSetItem0Modes }, // CAM_SET_ITEM0 { { 0x45000001 }, sCamSetItem1Modes }, // CAM_SET_ITEM1 { { 0x45000001 }, sCamSetDemo3Modes }, // CAM_SET_DEMO3 { { 0x45000001 }, sCamSetDemo4Modes }, // CAM_SET_DEMO4 { { 0x451FFFFF }, sCamSetUFOBeanModes }, // CAM_SET_UFOBEAN { { 0x451FFFFF }, sCamSetLiftBeanModes }, // CAM_SET_LIFTBEAN { { 0xC5000001 }, sCamSetScene0Modes }, // CAM_SET_SCENE0 { { 0x45000001 }, sCamSetScene1Modes }, // CAM_SET_SCENE1 { { 0x05000001 }, sCamSetHidan1Modes }, // CAM_SET_HIDAN1 { { 0x45000001 }, sCamSetHidan2Modes }, // CAM_SET_HIDAN2 { { 0x45000001 }, sCamSetMori2Modes }, // CAM_SET_MORI2 { { 0x45000001 }, sCamSetMori3Modes }, // CAM_SET_MORI3 { { 0x451FFFFF }, sCamSetTakoModes }, // CAM_SET_TAKO { { 0x05000033 }, sCamSetSpot05AModes }, // CAM_SET_SPOT05A { { 0x05000033 }, sCamSetSpot05BModes }, // CAM_SET_SPOT05B { { 0x05000033 }, sCamSetHidan3Modes }, // CAM_SET_HIDAN3 { { 0x4A000001 }, sCamSetItem2Modes }, // CAM_SET_ITEM2 { { 0x05000001 }, sCamSetCirc6Modes }, // CAM_SET_CIRCLE6 { { 0x051FFFFF }, sCamSetNorm2Modes }, // CAM_SET_NORMAL2 { { 0x0501E05F }, sCamSetFishingModes }, // CAM_SET_FISHING { { 0x45000001 }, sCamSetDemoCModes }, // CAM_SET_DEMOC { { 0x051FFFFF }, sCamSetUOFiberModes }, // CAM_SET_UO_FIBER { { 0x051FFFFF }, sCamSetDungeon2Modes }, // CAM_SET_DUNGEON2 { { 0x051FFFFF }, sCamSetTeppenModes }, // CAM_SET_TEPPEN { { 0xC5000ECD }, sCamSetCirc7Modes }, // CAM_SET_CIRCLE7 { { 0x051FFFFF }, sCamSetNorm4Modes }, // CAM_SET_NORMAL4 }; s32 Camera_Normal0(Camera* camera); s32 Camera_Normal1(Camera* camera); s32 Camera_Normal2(Camera* camera); s32 Camera_Normal3(Camera* camera); s32 Camera_Normal4(Camera* camera); s32 Camera_Parallel0(Camera* camera); s32 Camera_Parallel1(Camera* camera); s32 Camera_Parallel2(Camera* camera); s32 Camera_Parallel3(Camera* camera); s32 Camera_Parallel4(Camera* camera); s32 Camera_KeepOn0(Camera* camera); s32 Camera_KeepOn1(Camera* camera); s32 Camera_KeepOn2(Camera* camera); s32 Camera_KeepOn3(Camera* camera); s32 Camera_KeepOn4(Camera* camera); s32 Camera_Subj0(Camera* camera); s32 Camera_Subj1(Camera* camera); s32 Camera_Subj2(Camera* camera); s32 Camera_Subj3(Camera* camera); s32 Camera_Subj4(Camera* camera); s32 Camera_Jump0(Camera* camera); s32 Camera_Jump1(Camera* camera); s32 Camera_Jump2(Camera* camera); s32 Camera_Jump3(Camera* camera); s32 Camera_Jump4(Camera* camera); s32 Camera_Battle0(Camera* camera); s32 Camera_Battle1(Camera* camera); s32 Camera_Battle2(Camera* camera); s32 Camera_Battle3(Camera* camera); s32 Camera_Battle4(Camera* camera); s32 Camera_Fixed0(Camera* camera); s32 Camera_Fixed1(Camera* camera); s32 Camera_Fixed2(Camera* camera); s32 Camera_Fixed3(Camera* camera); s32 Camera_Fixed4(Camera* camera); s32 Camera_Data0(Camera* camera); s32 Camera_Data1(Camera* camera); s32 Camera_Data2(Camera* camera); s32 Camera_Data3(Camera* camera); s32 Camera_Data4(Camera* camera); s32 Camera_Unique0(Camera* camera); s32 Camera_Unique1(Camera* camera); s32 Camera_Unique2(Camera* camera); s32 Camera_Unique3(Camera* camera); s32 Camera_Unique4(Camera* camera); s32 Camera_Unique5(Camera* camera); s32 Camera_Unique6(Camera* camera); s32 Camera_Unique7(Camera* camera); s32 Camera_Unique8(Camera* camera); s32 Camera_Unique9(Camera* camera); s32 Camera_Demo0(Camera* camera); s32 Camera_Demo1(Camera* camera); s32 Camera_Demo2(Camera* camera); s32 Camera_Demo3(Camera* camera); s32 Camera_Demo4(Camera* camera); s32 Camera_Demo5(Camera* camera); s32 Camera_Demo6(Camera* camera); s32 Camera_Demo7(Camera* camera); s32 Camera_Demo8(Camera* camera); s32 Camera_Demo9(Camera* camera); s32 Camera_Special0(Camera* camera); s32 Camera_Special1(Camera* camera); s32 Camera_Special2(Camera* camera); s32 Camera_Special3(Camera* camera); s32 Camera_Special4(Camera* camera); s32 Camera_Special5(Camera* camera); s32 Camera_Special6(Camera* camera); s32 Camera_Special7(Camera* camera); s32 Camera_Special8(Camera* camera); s32 Camera_Special9(Camera* camera); s32 (*sCameraFunctions[])(Camera*) = { NULL, Camera_Normal0, Camera_Normal1, Camera_Normal2, Camera_Normal3, Camera_Normal4, Camera_Parallel0, Camera_Parallel1, Camera_Parallel2, Camera_Parallel3, Camera_Parallel4, Camera_KeepOn0, Camera_KeepOn1, Camera_KeepOn2, Camera_KeepOn3, Camera_KeepOn4, Camera_Subj0, Camera_Subj1, Camera_Subj2, Camera_Subj3, Camera_Subj4, Camera_Jump0, Camera_Jump1, Camera_Jump2, Camera_Jump3, Camera_Jump4, Camera_Battle0, Camera_Battle1, Camera_Battle2, Camera_Battle3, Camera_Battle4, Camera_Fixed0, Camera_Fixed1, Camera_Fixed2, Camera_Fixed3, Camera_Fixed4, Camera_Data0, Camera_Data1, Camera_Data2, Camera_Data3, Camera_Data4, Camera_Unique0, Camera_Unique1, Camera_Unique2, Camera_Unique3, Camera_Unique4, Camera_Unique5, Camera_Unique6, Camera_Unique7, Camera_Unique8, Camera_Unique9, Camera_Demo0, Camera_Demo1, Camera_Demo2, Camera_Demo3, Camera_Demo4, Camera_Demo5, Camera_Demo6, Camera_Demo7, Camera_Demo8, Camera_Demo9, Camera_Special0, Camera_Special1, Camera_Special2, Camera_Special3, Camera_Special4, Camera_Special5, Camera_Special6, Camera_Special7, Camera_Special8, Camera_Special9, }; s32 sInitRegs = 1; s32 gDbgCamEnabled = 0; s32 sDbgModeIdx = -1; s16 sNextUID = 0; s32 sCameraInterfaceFlags = 1; s32 sCameraInterfaceAlpha = 0x02; s32 sCameraShrinkWindowVal = 0x20; s32 D_8011D3AC = -1; s16 D_8011D3B0[] = { 0x0AAA, 0xF556, 0x1555, 0xEAAB, 0x2AAA, 0xD556, 0x3FFF, 0xC001, 0x5555, 0xAAAB, 0x6AAA, 0x9556, 0x7FFF, 0x0000, }; s16 D_8011D3CC[] = { 0x0000, 0x02C6, 0x058C, 0x0000, 0x0000, 0xFD3A, 0x0000, 0x0852, 0x0000, 0x0000, 0x0B18, 0x02C6, 0xFA74, 0x0000, }; s32 sUpdateCameraDirection = 0; s32 D_8011D3EC = 0; s32 D_8011D3F0 = 0; s32 sDemo5PrevAction12Frame = -16; char sCameraFunctionNames[][8] = { "NONE ", "NORM0()", "NORM1()", "NORM2()", "NORM3()", "NORM4()", "PARA0()", "PARA1()", "PARA2()", "PARA3()", "PARA4()", "KEEP0()", "KEEP1()", "KEEP2()", "KEEP3()", "KEEP4()", "SUBJ0()", "SUBJ1()", "SUBJ2()", "SUBJ3()", "SUBJ4()", "JUMP0()", "JUMP1()", "JUMP2()", "JUMP3()", "JUMP4()", "BATT0()", "BATT1()", "BATT2()", "BATT3()", "BATT4()", "FIXD0()", "FIXD1()", "FIXD2()", "FIXD3()", "FIXD4()", "DATA0()", "DATA1()", "DATA2()", "DATA3()", "DATA4()", "UNIQ0()", "UNIQ1()", "UNIQ2()", "UNIQ3()", "UNIQ4()", "UNIQ5()", "UNIQ6()", "UNIQ7()", "UNIQ8()", "UNIQ9()", "DEMO0()", "DEMO1()", "DEMO2()", "DEMO3()", "DEMO4()", "DEMO5()", "DEMO6()", "DEMO7()", "DEMO8()", "DEMO9()", "SPEC0()", "SPEC1()", "SPEC2()", "SPEC3()", "SPEC4()", "SPEC5()", "SPEC6()", "SPEC7()", "SPEC8()", "SPEC9()", "", "", "", "", "", }; VecSph D_8011D658[] = { { 50.0f, 0xEE3A, 0xD558 }, { 75.0f, 0x0000, 0x8008 }, { 80.0f, 0xEE3A, 0x8008 }, { 15.0f, 0xEE3A, 0x8008 }, }; Vec3f D_8011D678[] = { { 0.0f, 40.0f, 20.0f }, { 0.0f, 40.0f, 0.0f }, { 0.0f, 3.0f, -3.0f }, { 0.0f, 3.0f, -3.0 }, }; /******************************************************* * OnePoint initalization values for Demo5 ********************************************************/ s32 sDemo5PrevSfxFrame = -200; // target is player, far from eye OnePointCsFull D_8011D6AC[] = { { // initflags & 0x00FF (at): 2, atTarget is view lookAt + atInit // initFlags & 0xFF00 (eye): none // action: 15, copy at, eye, roll, fov to camera // result: eye remains in the same locaiton, at is View's lookAt 0x8F, 0xFF, 0x0002, 0x0001, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }, { // initFlags & 0x00FF (at): 3, atTarget is camera's current at + atInit // initFlags & 0xFF00 (eye): 3, eyeTarget is the camera's current eye + eyeInit // action: interplate eye and at. // result: eye and at's y interpolate to become +20 from their current location. 0x81, 0xFF, 0x0303, 0x0013, 0x0000, 45.0f, 1.0f, { 0.0f, 20.0f, 0.0f }, { 0.0f, 20.0f, 0.0f } }, { // initFlags & 0x00FF (at): 0 none // initFlags & 0xFF00 (eye): 0 none // action: 18, copy this camera to default camera. 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // target is player close to current eye OnePointCsFull D_8011D724[] = { { 0x8F, 0xFF, 0x2424, 0x0001, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 10.0f, -20.0f } }, { 0x81, 0xFF, 0x2121, 0x0013, 0x0000, 50.0f, 1.0f, { 0.0f, -10.0f, 0.0f }, { 0.0f, 0.0f, 60.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // target is close to player OnePointCsFull D_8011D79C[] = { { 0xCF, 0xFF, 0x0002, 0x0001, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }, { 0xC1, 0xFF, 0x0303, 0x0013, 0x0000, 45.0f, 1.0f, { 0.0f, -20.0f, 0.0f }, { 0.0f, -10.0f, 5.0f } }, { 0xC1, 0xFF, 0x0303, 0x0009, 0x0000, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 10.0f, 0.0f }, }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // target is within 300 units of eye, and player is within 30 units of eye OnePointCsFull D_8011D83C[] = { { 0x83, 0xFF, 0x2141, 0x0014, 0x0000, 45.0f, 0.2f, { 0.0f, 0.0f, 10.0f }, { 0.0f, 0.0f, 10.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // target is within 700 units of eye, angle between player/eye and target/eye is less than // 76.9 degrees. The x/y coordinates of the target on screen is between (21, 41) and (300, 200), // and the player is farther than 30 units of the eye OnePointCsFull D_8011D88C[] = { { 0x81, 0xFF, 0x0303, 0x0014, 0x0000, 45.0f, 1.0f, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // same as above, but the target is NOT within the screen area. OnePointCsFull D_8011D8DC[] = { { 0x8F, 0xFF, 0x0404, 0x0014, 0x0001, 50.0f, 1.0f, { 0.0f, 5.0f, 10.0f }, { 0.0f, 10.0f, -80.0f } }, { 0x82, 0xFF, 0x2121, 0x0005, 0x0000, 60.0f, 1.0f, { 0.0f, 5.0f, 0.0f }, { 5.0f, 5.0f, -200.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // target is a door. OnePointCsFull D_8011D954[] = { { 0x0F, 0xFF, 0xC1C1, 0x0014, 0x0000, 60.0f, 1.0f, { 0.0f, 0.0f, 50.0f }, { 0.0f, 0.0f, 250.0f } }, { 0x83, 0xFF, 0x05B1, 0x0005, 0x0000, 60.0f, 0.1f, { 0.0f, 10.0f, 50.0f }, { 0.0f, 10.0f, 100.0f } }, { 0x82, 0xFF, 0x2121, 0x0005, 0x0002, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; // otherwise OnePointCsFull D_8011D9F4[] = { { 0x8F, 0xFF, 0x0504, 0x0014, 0x0002, 60.0f, 1.0f, { 0.0f, 5.0f, 50.0f }, { 0.0f, 20.0f, 300.0f } }, { 0x82, 0xFF, 0x2121, 0x0005, 0x0002, 60.0f, 1.0f, { 0.0f, 10.0f, 0.0f }, { 0.0f, 20.0f, -150.0f } }, { 0x12, 0xFF, 0x0000, 0x0001, 0x0000, 60.0f, 1.0f, { -1.0f, -1.0f, -1.0f }, { -1.0f, -1.0f, -1.0f } }, }; Vec3f D_8011DA6C[] = { { 3050.0f, 700.0f, 0.0f }, { 1755.0f, 3415.0f, -380.0f }, { -3120.0f, 3160.0f, 245.0f }, { 0.0f, -10.0f, 240.0f } }; Vec3f D_8011DA9C[] = { { 3160.0f, 2150.0f, 0.0f }, { 1515.0f, 4130.0f, -835.0f }, { -3040.0f, 4135.0f, 230.0f }, { -50.0f, 600.0f, -75.0f }, }; f32 D_8011DACC[] = { 1570.0f, 3680.0f, 3700.0f, 395.0f }; f32 D_8011DADC[] = { 320.0f, 320.0f, 320.0f, 0.0f }; s16 D_8011DAEC[] = { -2000, -1000, 0, 0, 0, 0, 0, 0 }; s16 D_8011DAFC[] = { CAM_SET_NORMAL0, CAM_SET_NORMAL1, CAM_SET_NORMAL2, CAM_SET_DUNGEON0, CAM_SET_DUNGEON1, CAM_SET_DUNGEON2, }; GlobalContext* D_8015BD7C; DbCamera D_8015BD80; CollisionPoly* playerFloorPoly;