mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-08-22 07:04:54 -04:00
Bugfix, child Hookshot first person in Hylia lab (#6847)
This commit is contained in:
+28
-28
@@ -2715,8 +2715,8 @@ s32 Camera_Jump3(Camera* camera) {
|
||||
anim->mode = CAM_MODE_NORMAL;
|
||||
modeSwitch = true;
|
||||
}
|
||||
} else if (((camera->waterYPos - eye->y) > OREG(45)) && (anim->mode != CAM_MODE_BOOMERANG)) {
|
||||
anim->mode = CAM_MODE_BOOMERANG;
|
||||
} else if (((camera->waterYPos - eye->y) > OREG(45)) && (anim->mode != CAM_MODE_AIM_BOOMERANG)) {
|
||||
anim->mode = CAM_MODE_AIM_BOOMERANG;
|
||||
modeSwitch = true;
|
||||
}
|
||||
|
||||
@@ -5281,7 +5281,7 @@ s32 Camera_Unique9(Camera* camera) {
|
||||
}
|
||||
} else {
|
||||
// We've gone through all the keyframes.
|
||||
if (camera->thisIdx != MAIN_CAM) {
|
||||
if (camera->thisIdx != CAM_ID_MAIN) {
|
||||
camera->timer = 0;
|
||||
}
|
||||
return true;
|
||||
@@ -5618,20 +5618,20 @@ s32 Camera_Unique9(Camera* camera) {
|
||||
break;
|
||||
case 19: {
|
||||
// Change the parent camera (or default)'s mode to normal
|
||||
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
|
||||
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? CAM_ID_MAIN : camera->parentCamIdx;
|
||||
|
||||
Camera_ChangeModeFlags(camera->play->cameraPtrs[camIdx], CAM_MODE_NORMAL, 1);
|
||||
}
|
||||
case 18: {
|
||||
// copy the current camera to the parent (or default)'s camera.
|
||||
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? MAIN_CAM : camera->parentCamIdx;
|
||||
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? CAM_ID_MAIN : camera->parentCamIdx;
|
||||
Camera* cam = camera->play->cameraPtrs[camIdx];
|
||||
|
||||
*eye = *eyeNext;
|
||||
Camera_Copy(cam, camera);
|
||||
}
|
||||
default:
|
||||
if (camera->thisIdx != MAIN_CAM) {
|
||||
if (camera->thisIdx != CAM_ID_MAIN) {
|
||||
camera->timer = 0;
|
||||
}
|
||||
}
|
||||
@@ -6052,7 +6052,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
D_8011D6AC[1].eyeTargetInit.x = Rand_ZeroOne() * 10.0f;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D6AC;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D6AC);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
|
||||
} else {
|
||||
camera->timer += D_8011D6AC[2].timerInit;
|
||||
@@ -6062,7 +6062,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
D_8011D724[1].timerInit = camera->timer - 1;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D724;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D724);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
|
||||
} else {
|
||||
camera->timer += D_8011D724[2].timerInit;
|
||||
@@ -6084,7 +6084,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
|
||||
D_8011D79C[1].timerInit = camera->timer - 1;
|
||||
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
|
||||
} else {
|
||||
camera->timer += D_8011D79C[2].timerInit + D_8011D79C[3].timerInit;
|
||||
@@ -6095,7 +6095,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
D_8011D83C[0].timerInit = camera->timer;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D83C;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D83C);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
|
||||
} else {
|
||||
camera->timer += D_8011D83C[1].timerInit;
|
||||
@@ -6108,7 +6108,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
D_8011D88C[0].timerInit = camera->timer;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D88C;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D88C);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt--;
|
||||
} else {
|
||||
camera->timer += D_8011D88C[1].timerInit;
|
||||
@@ -6126,7 +6126,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
D_8011D8DC[1].timerInit = (s16)(eyeTargetDist * 0.005f) + 8;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D8DC;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D8DC);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
|
||||
} else {
|
||||
camera->timer += D_8011D8DC[1].timerInit + D_8011D8DC[2].timerInit;
|
||||
@@ -6163,7 +6163,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
}
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D954;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D954);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt -= 2;
|
||||
} else {
|
||||
camera->timer += D_8011D954[2].timerInit + D_8011D954[3].timerInit;
|
||||
@@ -6188,7 +6188,7 @@ s32 Camera_Demo5(Camera* camera) {
|
||||
}
|
||||
ONEPOINT_CS_INFO(camera)->keyFrames = D_8011D9F4;
|
||||
ONEPOINT_CS_INFO(camera)->keyFrameCnt = ARRAY_COUNT(D_8011D9F4);
|
||||
if (camera->parentCamIdx != MAIN_CAM) {
|
||||
if (camera->parentCamIdx != CAM_ID_MAIN) {
|
||||
if (camera->play->state.frames & 1) {
|
||||
D_8011D9F4[0].rollTargetInit = -D_8011D9F4[0].rollTargetInit;
|
||||
D_8011D9F4[1].rollTargetInit = -D_8011D9F4[1].rollTargetInit;
|
||||
@@ -6250,7 +6250,7 @@ s32 Camera_Demo6(Camera* camera) {
|
||||
s16 stateTimers[4];
|
||||
Vec3f* at = &camera->at;
|
||||
|
||||
mainCam = Play_GetCamera(camera->play, MAIN_CAM);
|
||||
mainCam = Play_GetCamera(camera->play, CAM_ID_MAIN);
|
||||
camFocus = camera->target;
|
||||
stateTimers[1] = 0x37;
|
||||
stateTimers[2] = 0x46;
|
||||
@@ -6355,7 +6355,7 @@ s32 Camera_Demo9(Camera* camera) {
|
||||
f32* camFOV = &camera->fov;
|
||||
Demo9Anim* anim = &demo9->anim;
|
||||
|
||||
mainCam = Play_GetCamera(camera->play, MAIN_CAM);
|
||||
mainCam = Play_GetCamera(camera->play, CAM_ID_MAIN);
|
||||
mainCamPlayerPosRot = &mainCam->playerPosRot;
|
||||
if (RELOAD_PARAMS) {
|
||||
values = sCameraSettings[camera->setting].cameraModes[camera->mode].values;
|
||||
@@ -7156,7 +7156,7 @@ void Camera_InitPlayerSettings(Camera* camera, Player* player) {
|
||||
Camera_QRegInit();
|
||||
osSyncPrintf(VT_FGCOL(BLUE) "camera: personalize ---" VT_RST "\n");
|
||||
|
||||
if (camera->thisIdx == MAIN_CAM) {
|
||||
if (camera->thisIdx == CAM_ID_MAIN) {
|
||||
Camera_UpdateWater(camera);
|
||||
}
|
||||
}
|
||||
@@ -7398,7 +7398,7 @@ s32 Camera_UpdateHotRoom(Camera* camera) {
|
||||
s32 Camera_DbgChangeMode(Camera* camera) {
|
||||
s32 changeDir = 0;
|
||||
|
||||
if (!gDbgCamEnabled && camera->play->activeCamera == MAIN_CAM) {
|
||||
if (!gDbgCamEnabled && camera->play->activeCamera == CAM_ID_MAIN) {
|
||||
if (CHECK_BTN_ALL(D_8015BD7C->state.input[2].press.button, BTN_CUP)) {
|
||||
osSyncPrintf("attention sound URGENCY\n");
|
||||
Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_URGENCY);
|
||||
@@ -7525,7 +7525,7 @@ Vec3s Camera_Update(Camera* camera) {
|
||||
QuakeCamCalc quake;
|
||||
Player* player;
|
||||
|
||||
player = camera->play->cameraPtrs[MAIN_CAM]->player;
|
||||
player = camera->play->cameraPtrs[CAM_ID_MAIN]->player;
|
||||
|
||||
if (R_DBG_CAM_UPDATE) {
|
||||
osSyncPrintf("camera: in %x\n", camera);
|
||||
@@ -7631,7 +7631,7 @@ Vec3s Camera_Update(Camera* camera) {
|
||||
if ((gSaveContext.gameMode != GAMEMODE_NORMAL) && (gSaveContext.gameMode != GAMEMODE_END_CREDITS)) {
|
||||
sCameraInterfaceFlags = 0;
|
||||
Camera_UpdateInterface(sCameraInterfaceFlags);
|
||||
} else if ((D_8011D3F0 != 0) && (camera->thisIdx == MAIN_CAM)) {
|
||||
} else if ((D_8011D3F0 != 0) && (camera->thisIdx == CAM_ID_MAIN)) {
|
||||
D_8011D3F0--;
|
||||
sCameraInterfaceFlags = 0x3200;
|
||||
Camera_UpdateInterface(sCameraInterfaceFlags);
|
||||
@@ -7764,13 +7764,13 @@ Vec3s Camera_Update(Camera* camera) {
|
||||
* When the camera's timer is 0, change the camera to its parent
|
||||
*/
|
||||
void Camera_Finish(Camera* camera) {
|
||||
Camera* mainCam = camera->play->cameraPtrs[MAIN_CAM];
|
||||
Camera* mainCam = camera->play->cameraPtrs[CAM_ID_MAIN];
|
||||
Player* player = GET_PLAYER(camera->play);
|
||||
|
||||
if (camera->timer == 0) {
|
||||
Play_ChangeCameraStatus(camera->play, camera->parentCamIdx, CAM_STAT_ACTIVE);
|
||||
|
||||
if ((camera->parentCamIdx == MAIN_CAM) && (camera->csId != 0)) {
|
||||
if ((camera->parentCamIdx == CAM_ID_MAIN) && (camera->csId != 0)) {
|
||||
player->actor.freezeTimer = 0;
|
||||
player->stateFlags1 &= ~PLAYER_STATE1_IN_CUTSCENE;
|
||||
|
||||
@@ -7790,7 +7790,7 @@ void Camera_Finish(Camera* camera) {
|
||||
PARENT_CAM(camera)->childCamIdx = camera->childCamIdx;
|
||||
}
|
||||
|
||||
if (PARENT_CAM(camera)->thisIdx == MAIN_CAM) {
|
||||
if (PARENT_CAM(camera)->thisIdx == CAM_ID_MAIN) {
|
||||
PARENT_CAM(camera)->animState = 0;
|
||||
}
|
||||
|
||||
@@ -7821,7 +7821,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
|
||||
}
|
||||
|
||||
if (!((sCameraSettings[camera->setting].unk_00 & 0x3FFFFFFF) & (1 << mode))) {
|
||||
if (mode == CAM_MODE_FIRSTPERSON) {
|
||||
if (mode == CAM_MODE_FIRST_PERSON) {
|
||||
osSyncPrintf("camera: error sound\n");
|
||||
Sfx_PlaySfxCentered(NA_SE_SY_ERROR);
|
||||
}
|
||||
@@ -7849,7 +7849,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
|
||||
Camera_CopyDataToRegs(camera, mode);
|
||||
modeChangeFlags = 0;
|
||||
switch (mode) {
|
||||
case CAM_MODE_FIRSTPERSON:
|
||||
case CAM_MODE_FIRST_PERSON:
|
||||
modeChangeFlags = 0x20;
|
||||
break;
|
||||
case CAM_MODE_BATTLE:
|
||||
@@ -7870,7 +7870,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
|
||||
}
|
||||
|
||||
switch (camera->mode) {
|
||||
case CAM_MODE_FIRSTPERSON:
|
||||
case CAM_MODE_FIRST_PERSON:
|
||||
if (modeChangeFlags & 0x20) {
|
||||
camera->animState = 0xA;
|
||||
}
|
||||
@@ -7932,7 +7932,7 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
|
||||
// Clear free look if an action is performed that would move the camera (targeting, first person, talking)
|
||||
if (CVarGetInteger(CVAR_SETTING("FreeLook.Enabled"), 0) && SetCameraManual(camera) == 1 &&
|
||||
((mode >= CAM_MODE_TARGET && mode <= CAM_MODE_BATTLE) ||
|
||||
(mode >= CAM_MODE_FIRSTPERSON && mode <= CAM_MODE_CLIMBZ) || mode == CAM_MODE_HANGZ ||
|
||||
(mode >= CAM_MODE_FIRST_PERSON && mode <= CAM_MODE_CLIMBZ) || mode == CAM_MODE_HANGZ ||
|
||||
mode == CAM_MODE_FOLLOWBOOMERANG)) {
|
||||
camera->play->manualCamera = false;
|
||||
}
|
||||
@@ -8346,7 +8346,7 @@ s32 func_8005B198() {
|
||||
s16 func_8005B1A4(Camera* camera) {
|
||||
camera->unk_14C |= 0x8;
|
||||
|
||||
if ((camera->thisIdx == MAIN_CAM) && (camera->play->activeCamera != MAIN_CAM)) {
|
||||
if ((camera->thisIdx == CAM_ID_MAIN) && (camera->play->activeCamera != CAM_ID_MAIN)) {
|
||||
GET_ACTIVE_CAM(camera->play)->unk_14C |= 0x8;
|
||||
return camera->play->activeCamera;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user