Bugfix, child Hookshot first person in Hylia lab (#6847)

This commit is contained in:
djevangelia
2026-07-08 21:58:24 +02:00
committed by GitHub
parent 2fc787d64b
commit 73df35c6ab
100 changed files with 363 additions and 326 deletions
+1 -1
View File
@@ -1423,7 +1423,7 @@ typedef struct PlayState {
/* 0x000B0 */ void* sceneSegment;
/* 0x000B8 */ View view;
/* 0x001E0 */ Camera mainCamera;
/* 0x0034C */ Camera subCameras[NUM_CAMS - SUBCAM_FIRST];
/* 0x0034C */ Camera subCameras[NUM_CAMS - CAM_ID_SUB_FIRST];
/* 0x00790 */ Camera* cameraPtrs[NUM_CAMS];
/* 0x007A0 */ s16 activeCamera;
/* 0x007A2 */ s16 nextCamera;
+7 -6
View File
@@ -11,8 +11,9 @@
#define CAM_STAT_UNK100 0x100
#define NUM_CAMS 4
#define MAIN_CAM 0
#define SUBCAM_FIRST 1
#define CAM_ID_MAIN 0
#define CAM_ID_SUB_FIRST 1
#define SUBCAM_FREE 0
#define SUBCAM_NONE -1
#define SUBCAM_ACTIVE -1
@@ -98,12 +99,12 @@ typedef enum {
/* 0x03 */ CAM_MODE_TALK,
/* 0x04 */ CAM_MODE_BATTLE,
/* 0x05 */ CAM_MODE_CLIMB,
/* 0x06 */ CAM_MODE_FIRSTPERSON, // "SUBJECT"
/* 0x07 */ CAM_MODE_BOWARROW,
/* 0x06 */ CAM_MODE_FIRST_PERSON, // "SUBJECT"
/* 0x07 */ CAM_MODE_AIM_ADULT,
/* 0x08 */ CAM_MODE_BOWARROWZ,
/* 0x09 */ CAM_MODE_HOOKSHOT, // "FOOKSHOT"
/* 0x0A */ CAM_MODE_BOOMERANG,
/* 0x0B */ CAM_MODE_SLINGSHOT, // "PACHINCO"
/* 0x0A */ CAM_MODE_AIM_BOOMERANG,
/* 0x0B */ CAM_MODE_AIM_CHILD, // "PACHINCO"
/* 0x0C */ CAM_MODE_CLIMBZ,
/* 0x0D */ CAM_MODE_JUMP,
/* 0x0E */ CAM_MODE_HANG,
+27
View File
@@ -6,6 +6,7 @@ extern "C" {
#include "functions.h"
#include "variables.h"
#include "src/overlays/actors/ovl_En_Go2/z_en_go2.h"
#include "include/z64camera.h"
#include "src/overlays/actors/ovl_En_Test/z_en_test.h"
extern void Player_UseItem(PlayState*, Player*, s32);
extern PlayState* gPlayState;
@@ -78,6 +79,32 @@ void RegisterAlwaysOnFixes() {
func_800F5B58();
}
});
// Handle first person aiming camera settings
COND_VB_SHOULD(VB_CHANGE_AIMING_CAMERA, true, {
s8* heldItemAction = va_arg(args, s8*);
s32* camMode = va_arg(args, s32*);
if (*heldItemAction == PLAYER_IA_BOW) {
if (CVarGetInteger(CVAR_ENHANCEMENT("BowSlingshotAmmoFix"), false) ||
CVarGetInteger(CVAR_ENHANCEMENT("EquipmentAlwaysVisible"), false)) {
*camMode = CAM_MODE_AIM_ADULT;
}
} else if (*heldItemAction == PLAYER_IA_SLINGSHOT) {
if (CVarGetInteger(CVAR_ENHANCEMENT("BowSlingshotAmmoFix"), false) ||
CVarGetInteger(CVAR_ENHANCEMENT("EquipmentAlwaysVisible"), false)) {
*camMode = CAM_MODE_AIM_CHILD;
}
} else if (*heldItemAction == PLAYER_IA_HOOKSHOT || *heldItemAction == PLAYER_IA_LONGSHOT) {
if (gPlayState->sceneNum == SCENE_LAKESIDE_LABORATORY) {
*camMode = CAM_MODE_AIM_ADULT; // Fix child Hookshot aiming in lab (CAM_MODE_AIM_CHILD is invalid there)
}
} else if (*heldItemAction == PLAYER_IA_BOOMERANG) {
if (CVarGetInteger(CVAR_ENHANCEMENT("BoomerangFirstPerson"), false)) {
*camMode = CAM_MODE_FIRST_PERSON;
}
}
});
}
static RegisterShipInitFunc initAlwaysOnFixes(RegisterAlwaysOnFixes, { "" });
+3 -3
View File
@@ -47,11 +47,11 @@ static void StartControl(PlayState* play) {
if (sState.subCamId == SUBCAM_NONE)
return;
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sState.subCamId, CAM_STAT_ACTIVE);
// Initialize camera vectors from main camera for smooth transition
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sState.cameraEye = mainCam->eye;
sState.cameraAt = mainCam->at;
@@ -69,7 +69,7 @@ static void StopControl(PlayState* play) {
return;
if (sState.subCamId != SUBCAM_NONE) {
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Play_ClearCamera(play, sState.subCamId);
sState.subCamId = SUBCAM_NONE;
}
@@ -26,14 +26,14 @@ extern "C" void ExitCrawlspace(Player* player, PlayState* play) {
LinkAnimation_Change(play, &player->skelAnime, animExit, ((CVAR_CRAWL_SPEED_VALUE + 1.0f) / 2.0f), 0.0f,
Animation_GetLastFrame(animExit), ANIMMODE_ONCE, 0.0f);
Player_StartAnimMovement(play, player, 0x9D);
OnePointCutscene_Init(play, 9601, 999, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 9601, 999, NULL, CAM_ID_MAIN);
} else {
// Leaving a crawlspace backwards
player->actor.shape.rot.y = player->actor.wallYaw;
LinkAnimation_Change(play, &player->skelAnime, animEnter, -1.0f * ((CVAR_CRAWL_SPEED_VALUE + 1.0f) / 2.0f),
Animation_GetLastFrame(animEnter), 0.0f, ANIMMODE_ONCE, 0.0f);
Player_StartAnimMovement(play, player, 0x9D);
OnePointCutscene_Init(play, 9602, 999, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 9602, 999, NULL, CAM_ID_MAIN);
}
}
@@ -833,7 +833,7 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
// The second argument determines whether the vanilla code should be run anyway. It
// should be set to `true` ONLY IF said code calls `Play_ClearCamera`, false otherwise.
bool clearCamera = (bool)va_arg(args, int);
*should = clearCamera && enHeishi2->cameraId != MAIN_CAM;
*should = clearCamera && enHeishi2->cameraId != CAM_ID_MAIN;
}
break;
}
@@ -3260,6 +3260,15 @@ typedef enum {
// - `*EnGo2` (Goron Link)
VB_PREVENT_GORON_LINK_SOFTLOCK,
// #### `result`
// ```c
// sets `camMode` to new mode if applicable
// ```
// #### `args`
// - `s32` player->heldItemAction
// - `s32*` camMode
VB_CHANGE_AIMING_CAMERA,
// true
// ```
// #### `args`
+1 -1
View File
@@ -1457,7 +1457,7 @@ void Actor_SwapHookshotAttachment(PlayState* play, Actor* actorA, Actor* actorB)
void Actor_RequestHorseCameraSetting(PlayState* play, Player* player) {
if ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_4) && func_800C0CB8(play)) {
Camera_ChangeSetting(Play_GetCamera(play, MAIN_CAM), CAM_SET_HORSE);
Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_HORSE);
}
}
+28 -28
View File
@@ -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;
}
+2 -2
View File
@@ -1520,7 +1520,7 @@ size_t Cutscene_Command_07(PlayState* play, CutsceneContext* csCtx, u8* cmd, u8
if (D_8015FCC8 != 0) {
sp2C = Play_GetCamera(play, csCtx->unk_14);
sp2C->player = NULL;
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, csCtx->unk_14, CAM_STAT_ACTIVE);
Play_CameraChangeSetting(play, csCtx->unk_14, CAM_SET_FREE0);
sp28 = csCtx->cameraFocus->cameraRoll * 1.40625f;
@@ -1563,7 +1563,7 @@ size_t Cutscene_Command_08(PlayState* play, CutsceneContext* csCtx, u8* cmd, u8
if (D_8015FCC8 != 0) {
sp2C = Play_GetCamera(play, csCtx->unk_14);
sp2C->player = NULL;
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, csCtx->unk_14, CAM_STAT_ACTIVE);
Play_CameraChangeSetting(play, csCtx->unk_14, CAM_SET_FREE0);
sp3C.x = csCtx->cameraFocus->pos.x;
+1 -1
View File
@@ -4670,7 +4670,7 @@ void Message_Update(PlayState* play) {
((msgCtx->textId < 0x88D || msgCtx->textId >= 0x893) || msgCtx->choiceIndex != 0) &&
(msgCtx->textId != 0x3055 && gSaveContext.cutsceneIndex < 0xFFF0)) {
osSyncPrintf("=== day_time=%x ", ((void)0, gSaveContext.cutsceneIndex));
if (play->activeCamera == MAIN_CAM) {
if (play->activeCamera == CAM_ID_MAIN) {
if (gSaveContext.unk_13EE == 0 || gSaveContext.unk_13EE == 1 || gSaveContext.unk_13EE == 2) {
gSaveContext.unk_13EE = 0x32;
}
+15 -15
View File
@@ -60,7 +60,7 @@ void OnePointCutscene_SetCsCamPoints(Camera* camera, s16 actionParameters, s16 i
s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor, s16 timer) {
Camera* csCam = play->cameraPtrs[camIdx];
Camera* childCam = play->cameraPtrs[csCam->childCamIdx];
Camera* mainCam = play->cameraPtrs[MAIN_CAM];
Camera* mainCam = play->cameraPtrs[CAM_ID_MAIN];
Player* player = mainCam->player;
VecSph spD0;
s32 i;
@@ -255,7 +255,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrames = D_801211D4;
csInfo->keyFrameCnt = 2;
}
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_UNK3);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_UNK3);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
} break;
case 2290: {
@@ -329,7 +329,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
break;
case 9601:
Play_CameraChangeSetting(play, camIdx, CAM_SET_CS_3);
Play_CameraChangeSetting(play, MAIN_CAM, mainCam->prevSetting);
Play_CameraChangeSetting(play, CAM_ID_MAIN, mainCam->prevSetting);
if (GameInteractor_Should(VB_CRAWL_SPEED_EXIT_CS, true, csCam, csId, D_80120430, D_8012042C, D_80120308,
D_80120398)) {
OnePointCutscene_SetCsCamPoints(csCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120398);
@@ -337,7 +337,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
break;
case 9602:
Play_CameraChangeSetting(play, camIdx, CAM_SET_CS_3);
Play_CameraChangeSetting(play, MAIN_CAM, mainCam->prevSetting);
Play_CameraChangeSetting(play, CAM_ID_MAIN, mainCam->prevSetting);
if (GameInteractor_Should(VB_CRAWL_SPEED_EXIT_CS, true, csCam, csId, D_80120430, D_8012042C, D_80120308,
D_80120434)) {
OnePointCutscene_SetCsCamPoints(csCam, D_80120430 | 0x1000, D_8012042C, D_80120308, D_80120434);
@@ -529,7 +529,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
Play_CameraChangeSetting(play, camIdx, CAM_SET_FREE2);
Play_CameraSetAtEye(play, camIdx, &spC0, &spB4);
Play_CopyCamera(play, MAIN_CAM, camIdx);
Play_CopyCamera(play, CAM_ID_MAIN, camIdx);
csCam->roll = -1;
csCam->fov = 55.0f;
Player_SetCsAction(play, actor, 1);
@@ -587,7 +587,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
spD0.pitch = 0x5DC;
spD0.r = 120.0f;
OnePointCutscene_AddVecSphToVec3f(&spB4, &spC0, &spD0);
Play_CameraSetAtEye(play, MAIN_CAM, &spC0, &spB4);
Play_CameraSetAtEye(play, CAM_ID_MAIN, &spC0, &spB4);
i = Quake_Add(csCam, 3);
Quake_SetSpeed(i, 22000);
@@ -672,7 +672,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
case 3310:
Play_CameraChangeSetting(play, camIdx, CAM_SET_FIRE_STAIRCASE);
Player_SetCsActionWithHaltedActors(play, NULL, 8);
Play_CopyCamera(play, camIdx, MAIN_CAM);
Play_CopyCamera(play, camIdx, CAM_ID_MAIN);
i = Quake_Add(csCam, 1);
Quake_SetSpeed(i, 32000);
@@ -966,7 +966,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
func_800C0808(play, camIdx, player, CAM_SET_TURN_AROUND);
csCam->data2 = 0xC;
} else {
Play_CopyCamera(play, camIdx, MAIN_CAM);
Play_CopyCamera(play, camIdx, CAM_ID_MAIN);
Play_CameraChangeSetting(play, camIdx, CAM_SET_FREE2);
}
break;
@@ -1137,7 +1137,7 @@ s32 OnePointCutscene_RemoveCamera(PlayState* play, s16 camIdx) {
PARENT_CAM(camera)->childCamIdx = camera->childCamIdx;
}
nextCamIdx = (play->activeCamera == camIdx) ? camera->parentCamIdx : SUBCAM_NONE;
camera->parentCamIdx = MAIN_CAM;
camera->parentCamIdx = CAM_ID_MAIN;
camera->childCamIdx = camera->parentCamIdx;
camera->timer = -1;
Play_ClearCamera(camera->play, camera->thisIdx);
@@ -1183,7 +1183,7 @@ s16 OnePointCutscene_Init(PlayState* play, s16 csId, s16 timer, Actor* actor, s1
vChildCamIdx = play->cameraPtrs[parentCamIdx]->childCamIdx;
vCsStatus = CAM_STAT_ACTIVE;
if (vChildCamIdx >= SUBCAM_FIRST) {
if (vChildCamIdx >= CAM_ID_SUB_FIRST) {
OnePointCutscene_SetAsChild(play, vChildCamIdx, csCamIdx);
vCsStatus = CAM_STAT_WAIT;
} else {
@@ -1202,7 +1202,7 @@ s16 OnePointCutscene_Init(PlayState* play, s16 csId, s16 timer, Actor* actor, s1
csCam->csId = csId;
if (parentCamIdx == MAIN_CAM) {
if (parentCamIdx == CAM_ID_MAIN) {
Play_ChangeCameraStatus(play, parentCamIdx, CAM_STAT_UNK3);
} else {
Play_ChangeCameraStatus(play, parentCamIdx, CAM_STAT_WAIT);
@@ -1214,7 +1214,7 @@ s16 OnePointCutscene_Init(PlayState* play, s16 csId, s16 timer, Actor* actor, s1
vCurCamIdx = csCamIdx;
vNextCamIdx = play->cameraPtrs[csCamIdx]->childCamIdx;
while (vNextCamIdx >= SUBCAM_FIRST) {
while (vNextCamIdx >= CAM_ID_SUB_FIRST) {
s16 nextCsId = play->cameraPtrs[vNextCamIdx]->csId;
s16 thisCsId = play->cameraPtrs[csCamIdx]->csId;
@@ -1276,7 +1276,7 @@ s32 OnePointCutscene_Attention(PlayState* play, Actor* actor) {
}
sUnused = -1;
parentCam = play->cameraPtrs[MAIN_CAM];
parentCam = play->cameraPtrs[CAM_ID_MAIN];
if (parentCam->mode == CAM_MODE_FOLLOWBOOMERANG) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "actor attention demo camera: change mode BOOKEEPON -> NORMAL\n" VT_RST);
Camera_ChangeMode(parentCam, CAM_MODE_NORMAL);
@@ -1306,7 +1306,7 @@ s32 OnePointCutscene_Attention(PlayState* play, Actor* actor) {
}
// Actorcat is only undefined if the actor is in a higher category than all other attention cutscenes. In this case,
// it goes in the first position of the list. Otherwise, it goes in the index found in the loop.
vParentCamIdx = (vLastHigherCat == -1) ? MAIN_CAM : parentCam->thisIdx;
vParentCamIdx = (vLastHigherCat == -1) ? CAM_ID_MAIN : parentCam->thisIdx;
switch (actor->category) {
case ACTORCAT_SWITCH:
@@ -1377,7 +1377,7 @@ void OnePointCutscene_DisableAttention() {
}
s32 OnePointCutscene_CheckForCategory(PlayState* play, s32 category) {
Camera* parentCam = play->cameraPtrs[MAIN_CAM];
Camera* parentCam = play->cameraPtrs[CAM_ID_MAIN];
while (parentCam->childCamIdx != SUBCAM_FREE) {
parentCam = play->cameraPtrs[parentCam->childCamIdx];
+12 -12
View File
@@ -406,9 +406,9 @@ void Play_Init(GameState* thisx) {
Camera_ChangeStatus(&play->subCameras[i], CAM_STAT_UNK100);
}
play->cameraPtrs[MAIN_CAM] = &play->mainCamera;
play->cameraPtrs[MAIN_CAM]->uid = 0;
play->activeCamera = MAIN_CAM;
play->cameraPtrs[CAM_ID_MAIN] = &play->mainCamera;
play->cameraPtrs[CAM_ID_MAIN]->uid = 0;
play->activeCamera = CAM_ID_MAIN;
func_8005AC48(&play->mainCamera, 0xFF);
// Sram_Init(this, &this->sramCtx);
Regs_InitData(play);
@@ -1863,7 +1863,7 @@ void func_800C016C(PlayState* play, Vec3f* src, Vec3f* dest) {
s16 Play_CreateSubCamera(PlayState* play) {
s16 i;
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) {
if (play->cameraPtrs[i] == NULL) {
break;
}
@@ -1878,7 +1878,7 @@ s16 Play_CreateSubCamera(PlayState* play) {
CYAN) " " VT_RST "\n",
i);
play->cameraPtrs[i] = &play->subCameras[i - SUBCAM_FIRST];
play->cameraPtrs[i] = &play->subCameras[i - CAM_ID_SUB_FIRST];
Camera_Init(play->cameraPtrs[i], &play->view, &play->colCtx, play);
play->cameraPtrs[i]->thisIdx = i;
@@ -1902,7 +1902,7 @@ s16 Play_ChangeCameraStatus(PlayState* play, s16 camId, s16 status) {
void Play_ClearCamera(PlayState* play, s16 camId) {
s16 camIdx = (camId == SUBCAM_ACTIVE) ? play->activeCamera : camId;
if (camIdx == MAIN_CAM) {
if (camIdx == CAM_ID_MAIN) {
osSyncPrintf(VT_COL(RED, WHITE) "camera control: error: never clear camera !!\n" VT_RST);
}
@@ -1920,13 +1920,13 @@ void Play_ClearCamera(PlayState* play, s16 camId) {
void Play_ClearAllSubCameras(PlayState* play) {
s16 i;
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) {
if (play->cameraPtrs[i] != NULL) {
Play_ClearCamera(play, i);
}
}
play->activeCamera = MAIN_CAM;
play->activeCamera = CAM_ID_MAIN;
}
Camera* Play_GetCamera(PlayState* play, s16 camId) {
@@ -2030,7 +2030,7 @@ void func_800C08AC(PlayState* play, s16 camId, s16 arg2) {
Play_ClearCamera(play, camIdx);
for (i = SUBCAM_FIRST; i < NUM_CAMS; i++) {
for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) {
if (play->cameraPtrs[i] != NULL) {
osSyncPrintf(
VT_COL(RED, WHITE) "camera control: error: return to main, other camera left. %d cleared!!\n" VT_RST,
@@ -2040,10 +2040,10 @@ void func_800C08AC(PlayState* play, s16 camId, s16 arg2) {
}
if (arg2 <= 0) {
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
play->cameraPtrs[MAIN_CAM]->childCamIdx = play->cameraPtrs[MAIN_CAM]->parentCamIdx = SUBCAM_FREE;
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
play->cameraPtrs[CAM_ID_MAIN]->childCamIdx = play->cameraPtrs[CAM_ID_MAIN]->parentCamIdx = SUBCAM_FREE;
} else {
OnePointCutscene_Init(play, 1020, arg2, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 1020, arg2, NULL, CAM_ID_MAIN);
}
}
@@ -179,7 +179,7 @@ void BgBdanObjects_OctoPlatform_WaitForRutoToStartCutscene(BgBdanObjects* this,
if (this->dyna.actor.xzDistToPlayer < 250.0f) {
BgBdanObjects_SetContactRu1(this, 1);
this->timer = 20;
OnePointCutscene_Init(play, 3070, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3070, -99, &this->dyna.actor, CAM_ID_MAIN);
player->actor.world.pos.x = -1130.0f;
player->actor.world.pos.y = -1025.0f;
player->actor.world.pos.z = -3300.0f;
@@ -256,7 +256,7 @@ void BgBdanObjects_OctoPlatform_DescendWithBigOcto(BgBdanObjects* this, PlayStat
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_U);
this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + 140.0f;
this->actionFunc = BgBdanObjects_OctoPlatform_WaitForBigOctoToStartBattle;
OnePointCutscene_Init(play, 3080, -99, this->dyna.actor.child, MAIN_CAM);
OnePointCutscene_Init(play, 3080, -99, this->dyna.actor.child, CAM_ID_MAIN);
player->actor.world.pos.x = -1130.0f;
player->actor.world.pos.y = -1025.0f;
player->actor.world.pos.z = -3500.0f;
@@ -329,7 +329,7 @@ void BgBdanObjects_WaitForPlayerInRange(BgBdanObjects* this, PlayState* play) {
if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->dyna.actor.xzDistToPlayer < 120.0f) {
this->actionFunc = BgBdanObjects_RaiseToUpperPosition;
OnePointCutscene_Init(play, 3090, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3090, -99, &this->dyna.actor, CAM_ID_MAIN);
}
}
}
@@ -353,21 +353,21 @@ void BgBdanObjects_ElevatorOscillate(BgBdanObjects* this, PlayState* play) {
}
if (this->switchFlag == 0) {
if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
this->cameraSetting = play->cameraPtrs[MAIN_CAM]->setting;
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_NORMAL2);
func_8005AD1C(play->cameraPtrs[MAIN_CAM], 4);
this->cameraSetting = play->cameraPtrs[CAM_ID_MAIN]->setting;
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2);
func_8005AD1C(play->cameraPtrs[CAM_ID_MAIN], 4);
this->switchFlag = 10;
}
} else {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_NORMAL2);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2);
if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->switchFlag != 0) {
this->switchFlag--;
}
}
if (this->switchFlag == 0) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], this->cameraSetting);
func_8005ACFC(play->cameraPtrs[MAIN_CAM], 4);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], this->cameraSetting);
func_8005ACFC(play->cameraPtrs[CAM_ID_MAIN], 4);
}
}
this->dyna.actor.world.pos.y =
@@ -416,7 +416,7 @@ void BgBdanObjects_WaitForPlayerOnTop(BgBdanObjects* this, PlayState* play) {
this->timer = 50;
this->actionFunc = BgBdanObjects_FallToLowerPos;
this->dyna.actor.home.pos.y -= 200.0f;
OnePointCutscene_Init(play, 3100, 51, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3100, 51, &this->dyna.actor, CAM_ID_MAIN);
}
}
@@ -430,7 +430,7 @@ void BgBdanObjects_FallToLowerPos(BgBdanObjects* this, PlayState* play) {
if (this->timer == 0) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_U);
this->actionFunc = BgBdanObjects_DoNothing;
Play_CopyCamera(play, MAIN_CAM, SUBCAM_ACTIVE);
Play_CopyCamera(play, CAM_ID_MAIN, SUBCAM_ACTIVE);
} else {
Actor_PlaySfx_Flagged(&this->dyna.actor, NA_SE_EV_BUYOSTAND_FALL - SFX_FLAG);
}
@@ -92,7 +92,7 @@ void BgDdanJd_Idle(BgDdanJd* this, PlayState* play) {
this->state = STATE_GO_MIDDLE_FROM_BOTTOM;
this->idleTimer = 0;
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + MOVE_HEIGHT_MIDDLE;
OnePointCutscene_Init(play, 3060, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3060, -99, &this->dyna.actor, CAM_ID_MAIN);
}
if (this->idleTimer == 0) {
this->idleTimer = IDLE_FRAMES;
@@ -161,7 +161,7 @@ void BgDdanJd_Move(BgDdanJd* this, PlayState* play) {
this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + MOVE_HEIGHT_MIDDLE;
this->idleTimer = 0;
this->actionFunc = BgDdanJd_Idle;
OnePointCutscene_Init(play, 3060, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3060, -99, &this->dyna.actor, CAM_ID_MAIN);
} else if (Math_StepToF(&this->dyna.actor.world.pos.y, this->targetY, this->ySpeed)) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_PILLAR_MOVE_STOP);
this->actionFunc = BgDdanJd_Idle;
@@ -105,7 +105,7 @@ void BgDdanKd_CheckForExplosions(BgDdanKd* this, PlayState* play) {
if ((explosive != NULL) && (this->prevExplosive != NULL) && (explosive != this->prevExplosive) &&
(Math_Vec3f_DistXZ(&this->prevExplosivePos, &explosive->world.pos) > 80.0f)) {
BgDdanKd_SetupAction(this, BgDdanKd_LowerStairs);
OnePointCutscene_Init(play, 3050, 999, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3050, 999, &this->dyna.actor, CAM_ID_MAIN);
} else {
if (this->timer != 0) {
this->timer--;
@@ -163,14 +163,14 @@ void BgDodoago_WaitExplosives(BgDodoago* this, PlayState* play) {
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
BgDodoago_SetupAction(this, BgDodoago_OpenJaw);
OnePointCutscene_Init(play, 3380, 160, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3380, 160, &this->dyna.actor, CAM_ID_MAIN);
} else if (play->roomCtx.unk_74[this->state] == 0) {
OnePointCutscene_Init(play, 3065, 40, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3065, 40, &this->dyna.actor, CAM_ID_MAIN);
BgDodoago_SetupAction(this, BgDodoago_LightOneEye);
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
} else {
OnePointCutscene_Init(play, 3065, 20, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3065, 20, &this->dyna.actor, CAM_ID_MAIN);
Audio_PlaySoundGeneral(NA_SE_SY_ERROR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
sBgDodoagoTimer += 30;
@@ -305,9 +305,9 @@ void BgDyYoseizo_ChooseType(BgDyYoseizo* this, PlayState* play) {
play->envCtx.unk_BF = 2;
if (play->sceneNum == SCENE_GREAT_FAIRYS_FOUNTAIN_MAGIC) {
OnePointCutscene_Init(play, 8603, -99, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 8603, -99, NULL, CAM_ID_MAIN);
} else {
OnePointCutscene_Init(play, 8604, -99, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 8604, -99, NULL, CAM_ID_MAIN);
};
Audio_PlayActorSound2(&this->actor, NA_SE_EV_GREAT_FAIRY_APPEAR);
@@ -109,7 +109,7 @@ void BgHakaHuta_SpawnEnemies(BgHakaHuta* this, PlayState* play) {
if (Flags_GetSwitch(play, this->dyna.actor.params) && !Player_InCsMode(play)) {
this->counter = 25;
this->actionFunc = BgHakaHuta_Open;
OnePointCutscene_Init(play, 6001, 999, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 6001, 999, &this->dyna.actor, CAM_ID_MAIN);
if (this->unk_16A == 2) {
if (GameInteractor_Should(VB_HAKA_HUTA_SPAWN_KEESE, true, this, play)) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_FIREFLY,
@@ -97,7 +97,7 @@ void BgHakaShip_WaitForSong(BgHakaShip* this, PlayState* play) {
this->counter = 130;
this->actionFunc = BgHakaShip_CutsceneStationary;
osSyncPrintf("シーン 外輪船 ... アァクション!!\n");
OnePointCutscene_Init(play, 3390, 999, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3390, 999, &this->dyna.actor, CAM_ID_MAIN);
}
}
}
@@ -274,7 +274,7 @@ void BgHakaZou_WaitForHit(BgHakaZou* this, PlayState* play) {
if (this->dyna.actor.params == STA_GIANT_BIRD_STATUE) {
this->timer = 20;
this->actionFunc = BgHakaZou_BirdStatueAnim_Explode;
OnePointCutscene_Init(play, 3400, 999, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3400, 999, &this->dyna.actor, CAM_ID_MAIN);
} else if (this->dyna.actor.params == 2) {
BgHakaZou_SpawnRubbleParticles(this, play);
this->dyna.actor.draw = NULL;
@@ -324,13 +324,13 @@ void BgHeavyBlock_Wait(BgHeavyBlock* this, PlayState* play) {
switch (this->dyna.actor.params & 0xFF) {
case HEAVYBLOCK_BREAKABLE:
OnePointCutscene_Init(play, 4020, 270, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4020, 270, &this->dyna.actor, CAM_ID_MAIN);
break;
case HEAVYBLOCK_UNBREAKABLE:
OnePointCutscene_Init(play, 4021, 220, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4021, 220, &this->dyna.actor, CAM_ID_MAIN);
break;
case HEAVYBLOCK_UNBREAKABLE_OUTSIDE_CASTLE:
OnePointCutscene_Init(play, 4022, 210, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4022, 210, &this->dyna.actor, CAM_ID_MAIN);
break;
}
@@ -129,11 +129,11 @@ void BgHidanCurtain_WaitForSwitchOn(BgHidanCurtain* this, PlayState* play) {
if (Flags_GetSwitch(play, this->actor.params)) {
if (this->type == 1) {
this->actionFunc = BgHidanCurtain_WaitForCutscene;
OnePointCutscene_Init(play, 3350, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3350, -99, &this->actor, CAM_ID_MAIN);
this->timer = 50;
} else if (this->type == 3) {
this->actionFunc = BgHidanCurtain_WaitForCutscene;
OnePointCutscene_Init(play, 3360, 60, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3360, 60, &this->actor, CAM_ID_MAIN);
this->timer = 30;
} else {
this->actionFunc = BgHidanCurtain_TurnOff;
@@ -210,8 +210,8 @@ void BgHidanCurtain_Update(Actor* thisx, PlayState* play2) {
BgHidanCurtainParams* hcParams = &sHCParams[this->size];
f32 riseProgress;
if ((play->cameraPtrs[MAIN_CAM]->setting == CAM_SET_SLOW_CHEST_CS) ||
(play->cameraPtrs[MAIN_CAM]->setting == CAM_SET_TURN_AROUND)) {
if ((play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_SLOW_CHEST_CS) ||
(play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_TURN_AROUND)) {
this->collider.base.atFlags &= ~AT_HIT;
} else {
if (this->collider.base.atFlags & AT_HIT) {
@@ -130,10 +130,10 @@ void BgHidanFslift_Update(Actor* thisx, PlayState* play) {
if (this->cameraSetting == 0) {
this->cameraSetting = 3;
}
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FIRE_PLATFORM);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FIRE_PLATFORM);
} else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->cameraSetting != 0) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
this->cameraSetting = 0;
}
@@ -123,7 +123,7 @@ void BgHidanFwbig_UpdatePosition(BgHidanFwbig* this) {
void BgHidanFwbig_WaitForSwitch(BgHidanFwbig* this, PlayState* play) {
if (Flags_GetSwitch(play, this->actor.params)) {
this->actionFunc = BgHidanFwbig_WaitForCs;
OnePointCutscene_Init(play, 3340, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3340, -99, &this->actor, CAM_ID_MAIN);
this->timer = 35;
}
}
@@ -181,7 +181,7 @@ void BgHidanFwbig_WaitForPlayer(BgHidanFwbig* this, PlayState* play) {
if (player->actor.world.pos.x < 1150.0f) {
this->actionFunc = BgHidanFwbig_Rise;
OnePointCutscene_Init(play, 3290, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3290, -99, &this->actor, CAM_ID_MAIN);
}
}
@@ -279,7 +279,7 @@ void func_80888734(BgHidanHamstep* this) {
void func_808887C4(BgHidanHamstep* this, PlayState* play) {
if (this->collider.base.acFlags & AC_HIT) {
OnePointCutscene_Init(play, 3310, 100, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3310, 100, &this->dyna.actor, CAM_ID_MAIN);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_HAMMER_SWITCH);
this->collider.base.acFlags = AC_NONE;
BgHidanHamstep_SetupAction(this, 1);
@@ -268,10 +268,10 @@ void func_8088B79C(BgHidanRock* this, PlayState* play) {
if (this->unk_169 == 0) {
this->unk_169 = 3;
}
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FIRE_PLATFORM);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FIRE_PLATFORM);
} else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->unk_169 != 0) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
this->unk_169 = 0;
}
@@ -321,10 +321,10 @@ void func_8088B990(BgHidanRock* this, PlayState* play) {
if (this->unk_169 == 0) {
this->unk_169 = 3;
}
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FIRE_PLATFORM);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FIRE_PLATFORM);
} else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->unk_169 != 0) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
this->unk_169 = 0;
}
@@ -113,10 +113,10 @@ void BgHidanSyoku_Update(Actor* thisx, PlayState* play) {
if (this->unk_168 == 0) {
this->unk_168 = 3;
}
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FIRE_PLATFORM);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FIRE_PLATFORM);
} else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) {
if (this->unk_168 != 0) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
this->unk_168 = 0;
}
@@ -190,9 +190,9 @@ void BgJya1flift_Update(Actor* thisx, PlayState* play2) {
tempIsRiding = DynaPolyActor_IsPlayerOnTop(&this->dyna) ? true : false;
if ((this->actionFunc == BgJya1flift_Move) || (this->actionFunc == BgJya1flift_DelayMove)) {
if (tempIsRiding) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FIRE_PLATFORM);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FIRE_PLATFORM);
} else if (!tempIsRiding && this->isLinkRiding) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
}
this->isLinkRiding = tempIsRiding;
@@ -144,7 +144,7 @@ void BgJyaBombchuiwa_SetupWaitForExplosion(BgJyaBombchuiwa* this, PlayState* pla
void BgJyaBombchuiwa_WaitForExplosion(BgJyaBombchuiwa* this, PlayState* play) {
if ((this->collider.base.acFlags & AC_HIT) || (this->timer > 0)) {
if (this->timer == 0) {
OnePointCutscene_Init(play, 3410, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3410, -99, &this->actor, CAM_ID_MAIN);
}
this->timer++;
if (this->timer > 10) {
@@ -81,7 +81,7 @@ void func_80899880(BgJyaKanaami* this) {
void func_80899894(BgJyaKanaami* this, PlayState* play) {
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F) || this->unk_16A > 0) {
if (this->dyna.actor.world.pos.x > -1000.0f && this->unk_16A == 0) {
OnePointCutscene_Init(play, 3450, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3450, -99, &this->dyna.actor, CAM_ID_MAIN);
}
this->unk_16A += 1;
if (this->unk_16A >= 0xA) {
@@ -104,7 +104,7 @@ void BgJyaLift_DelayMove(BgJyaLift* this, PlayState* play) {
Randomizer_GetSettingValue(RSK_SUNLIGHT_ARROWS)) ||
(GET_PLAYER(play)->actor.world.pos.x > -19.0f && GET_PLAYER(play)->actor.world.pos.x < 139.0f &&
GET_PLAYER(play)->actor.world.pos.z > -1172.0f && GET_PLAYER(play)->actor.world.pos.z < -1009.0f)) {
OnePointCutscene_Init(play, 3430, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3430, -99, &this->dyna.actor, CAM_ID_MAIN);
}
BgJyaLift_SetupMove(this);
}
@@ -147,10 +147,10 @@ void BgJyaLift_Update(Actor* thisx, PlayState* play2) {
}
if ((this->dyna.interactFlags & DYNA_INTERACT_PLAYER_ABOVE) &&
((this->unk_16B & DYNA_INTERACT_PLAYER_ABOVE) == 0)) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DIRECTED_YAW);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DIRECTED_YAW);
} else if (((this->dyna.interactFlags) & 4) == 0 && ((this->unk_16B & 4)) &&
(play->cameraPtrs[MAIN_CAM]->setting == CAM_SET_DIRECTED_YAW)) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
(play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_DIRECTED_YAW)) {
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
this->unk_16B = this->dyna.interactFlags;
@@ -194,7 +194,7 @@ void BgJyaMegami_DetectLight(BgJyaMegami* this, PlayState* play) {
Flags_SetSwitch(play, this->dyna.actor.params & 0x3F);
BgJyaMegami_SetupExplode(this);
SoundSource_PlaySfxAtFixedWorldPos(play, &this->dyna.actor.world.pos, 100, NA_SE_EV_FACE_EXPLOSION);
OnePointCutscene_Init(play, 3440, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3440, -99, &this->dyna.actor, CAM_ID_MAIN);
} else {
if (this->lightTimer < 8) {
this->crumbleIndex = 0;
@@ -95,7 +95,7 @@ void BgMizuShutter_Destroy(BgMizuShutter* thisx, PlayState* play) {
void BgMizuShutter_WaitForSwitch(BgMizuShutter* this, PlayState* play) {
if (Flags_GetSwitch(play, (u16)this->dyna.actor.params & 0x3F)) {
if (ABS(this->dyna.actor.world.rot.x) > 0x2C60) {
OnePointCutscene_Init(play, 4510, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4510, -99, &this->dyna.actor, CAM_ID_MAIN);
} else {
OnePointCutscene_Attention(play, &this->dyna.actor);
}
@@ -173,7 +173,7 @@ void BgMizuWater_WaitForAction(BgMizuWater* this, PlayState* play) {
waterLevelActionIndex = BgMizuWater_GetWaterLevelActionIndex(this->actor.params, play);
if (waterLevelActionIndex != 0) {
if (prevSwitchFlag != sWaterLevels[waterLevelActionIndex].switchFlag) {
OnePointCutscene_Init(play, 3120, -100 - waterLevelActionIndex, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 3120, -100 - waterLevelActionIndex, NULL, CAM_ID_MAIN);
this->actor.params = sWaterLevels[waterLevelActionIndex].switchFlag;
this->targetY = sWaterLevels[waterLevelActionIndex].yDiff + this->baseY;
}
@@ -152,7 +152,7 @@ void BgMoriBigst_StalfosFight(BgMoriBigst* this, PlayState* play) {
((this->dyna.actor.home.pos.y - 5.0f) <= GET_PLAYER(play)->actor.world.pos.y)) {
BgMoriBigst_SetupFall(this, play);
if (GameInteractor_Should(VB_PLAY_ONEPOINT_ACTOR_CS, true, this)) {
OnePointCutscene_Init(play, 3220, 72, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3220, 72, &this->dyna.actor, CAM_ID_MAIN);
}
}
}
@@ -168,7 +168,7 @@ void BgMoriBigst_Fall(BgMoriBigst* this, PlayState* play) {
BgMoriBigst_SetupLanding(this, play);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_STONE_BOUND);
if (GameInteractor_Should(VB_PLAY_ONEPOINT_ACTOR_CS, true, this)) {
OnePointCutscene_Init(play, 1020, 8, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 1020, 8, &this->dyna.actor, CAM_ID_MAIN);
Player_SetCsAction(play, NULL, 0x3C);
}
}
@@ -170,8 +170,8 @@ void BgMoriElevator_MoveIntoGround(BgMoriElevator* this, PlayState* play) {
void func_808A1CF4(BgMoriElevator* this, PlayState* play) {
this->actionFunc = BgMoriElevator_MoveAboveGround;
OnePointCutscene_Init(play, 3230, 70, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 1020, 15, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3230, 70, &this->dyna.actor, CAM_ID_MAIN);
OnePointCutscene_Init(play, 1020, 15, &this->dyna.actor, CAM_ID_MAIN);
}
void BgMoriElevator_MoveAboveGround(BgMoriElevator* this, PlayState* play) {
@@ -135,7 +135,7 @@ void BgMoriHashira4_GateWait(BgMoriHashira4* this, PlayState* play) {
if (this->gateTimer > 30) {
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_OPEN);
BgMoriHashira4_SetupAction(this, BgMoriHashira4_GateOpen);
OnePointCutscene_Init(play, 6010, 20, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 6010, 20, &this->dyna.actor, CAM_ID_MAIN);
sUnkTimer++;
}
}
@@ -183,7 +183,7 @@ void func_808A3C8C(BgMoriHineri* this, PlayState* play) {
f0 = 1100.0f - (player->actor.world.pos.z - this->dyna.actor.world.pos.z);
this->dyna.actor.shape.rot.z = CLAMP(f0, 0.0f, 1000.0f) * 16.384f;
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON1);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1);
if (this->dyna.actor.params != 0) {
this->dyna.actor.shape.rot.z = -this->dyna.actor.shape.rot.z;
}
@@ -197,13 +197,13 @@ void func_808A3D58(BgMoriHineri* this, PlayState* play) {
this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom;
this->actionFunc = func_808A3E54;
mainCamChildIdx = play->cameraPtrs[MAIN_CAM]->childCamIdx;
mainCamChildIdx = play->cameraPtrs[CAM_ID_MAIN]->childCamIdx;
if ((mainCamChildIdx != SUBCAM_FREE) &&
(play->cameraPtrs[mainCamChildIdx]->setting == CAM_SET_CS_TWISTED_HALLWAY)) {
OnePointCutscene_EndCutscene(play, mainCamChildIdx);
}
OnePointCutscene_Init(play, 3260, 40, &this->dyna.actor, MAIN_CAM);
sBgMoriHineriNextCamIdx = OnePointCutscene_Init(play, 3261, 40, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3260, 40, &this->dyna.actor, CAM_ID_MAIN);
sBgMoriHineriNextCamIdx = OnePointCutscene_Init(play, 3261, 40, &this->dyna.actor, CAM_ID_MAIN);
}
}
@@ -211,12 +211,12 @@ void func_808A3E54(BgMoriHineri* this, PlayState* play) {
s8 objBankIndex;
if (play->activeCamera == sBgMoriHineriNextCamIdx) {
if (sBgMoriHineriNextCamIdx != MAIN_CAM) {
if (sBgMoriHineriNextCamIdx != CAM_ID_MAIN) {
objBankIndex = this->dyna.actor.objBankIndex;
this->dyna.actor.objBankIndex = this->moriHineriObjIdx;
this->moriHineriObjIdx = objBankIndex;
this->dyna.actor.params ^= 1;
sBgMoriHineriNextCamIdx = MAIN_CAM;
sBgMoriHineriNextCamIdx = CAM_ID_MAIN;
Sfx_PlaySfxCentered(NA_SE_SY_TRE_BOX_APPEAR);
} else {
this->dyna.actor.draw = NULL;
@@ -224,7 +224,7 @@ void func_808A3E54(BgMoriHineri* this, PlayState* play) {
sBgMoriHineriNextCamIdx = SUBCAM_NONE;
}
}
if ((sBgMoriHineriNextCamIdx >= SUBCAM_FIRST) &&
if ((sBgMoriHineriNextCamIdx >= CAM_ID_SUB_FIRST) &&
((GET_ACTIVE_CAM(play)->eye.z - this->dyna.actor.world.pos.z) < 1100.0f)) {
Actor_PlaySfx_FlaggedCentered2(&this->dyna.actor, NA_SE_EV_FLOOR_ROLLING - SFX_FLAG);
}
@@ -119,10 +119,10 @@ void BgMoriIdomizu_Main(BgMoriIdomizu* this, PlayState* play) {
this->targetWaterLevel = 184.0f;
}
if (switchFlagSet && !this->prevSwitchFlagSet) {
OnePointCutscene_Init(play, 3240, 70, thisx, MAIN_CAM);
OnePointCutscene_Init(play, 3240, 70, thisx, CAM_ID_MAIN);
this->drainTimer = 90;
} else if (!switchFlagSet && this->prevSwitchFlagSet) {
OnePointCutscene_Init(play, 3240, 70, thisx, MAIN_CAM);
OnePointCutscene_Init(play, 3240, 70, thisx, CAM_ID_MAIN);
this->drainTimer = 90;
thisx->world.pos.y = 0.0f;
}
@@ -207,13 +207,13 @@ void BgMoriRakkatenjo_Update(Actor* thisx, PlayState* play) {
if (BgMoriRakkatenjo_IsLinkUnder(this, play)) {
if (sCamSetting == CAM_SET_NONE) {
osSyncPrintf("camera changed (mori rakka tenjyo) ... \n");
sCamSetting = play->cameraPtrs[MAIN_CAM]->setting;
Camera_SetCameraData(play->cameraPtrs[MAIN_CAM], 1, &this->dyna.actor, NULL, 0, 0, 0);
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_FOREST_BIRDS_EYE);
sCamSetting = play->cameraPtrs[CAM_ID_MAIN]->setting;
Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 1, &this->dyna.actor, NULL, 0, 0, 0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FOREST_BIRDS_EYE);
}
} else if (sCamSetting != CAM_SET_NONE) {
osSyncPrintf("camera changed (previous) ... \n");
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON1);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1);
sCamSetting = 0;
}
}
@@ -239,7 +239,7 @@ void BgPoEvent_BlockWait(BgPoEvent* this, PlayState* play) {
this->dyna.actor.world.pos.y = 833.0f;
if (sBgPoEventPuzzleState == 0x3F) {
if (this->type == 1) {
OnePointCutscene_Init(play, 3150, 65, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 3150, 65, NULL, CAM_ID_MAIN);
}
this->timer = 45;
this->actionFunc = BgPoEvent_BlockShake;
@@ -342,7 +342,7 @@ void BgPoEvent_BlockIdle(BgPoEvent* this, PlayState* play) {
this->dyna.actor.world.pos.y - 30.0f, this->dyna.actor.world.pos.z + 30.0f, 0,
this->dyna.actor.shape.rot.y, 0, this->dyna.actor.params + 0x300);
if (amy != NULL) {
OnePointCutscene_Init(play, 3170, 30, amy, MAIN_CAM);
OnePointCutscene_Init(play, 3170, 30, amy, CAM_ID_MAIN);
}
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
gSaveContext.timerState = TIMER_STATE_STOP;
@@ -539,12 +539,12 @@ void BgPoEvent_PaintingPresent(BgPoEvent* this, PlayState* play) {
if (!BgPoEvent_NextPainting(this)) {
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_PO_SISTERS, thisx->world.pos.x, thisx->world.pos.y - 40.0f,
thisx->world.pos.z, 0, thisx->shape.rot.y, 0, thisx->params + ((this->type - 1) << 8));
OnePointCutscene_Init(play, 3160, 80, thisx, MAIN_CAM);
OnePointCutscene_Init(play, 3160, 80, thisx, CAM_ID_MAIN);
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
} else {
Audio_PlayActorSound2(thisx, NA_SE_EN_PO_LAUGH2);
OnePointCutscene_Init(play, 3160, 35, thisx, MAIN_CAM);
OnePointCutscene_Init(play, 3160, 35, thisx, CAM_ID_MAIN);
}
if (thisx->parent != NULL) {
thisx->parent->child = NULL;
@@ -74,7 +74,7 @@ void BgSpot03Taki_HandleWaterfallState(BgSpot03Taki* this, PlayState* play) {
if (Flags_GetSwitch(play, this->switchFlag)) {
this->state = WATERFALL_OPENING_ANIMATED;
this->timer = 40;
OnePointCutscene_Init(play, 4100, -99, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 4100, -99, NULL, CAM_ID_MAIN);
}
} else if (this->state == WATERFALL_OPENING_IDLE) {
this->timer--;
@@ -326,7 +326,7 @@ void BgSpot06Objects_LockWait(BgSpot06Objects* this, PlayState* play) {
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
Flags_SetSwitch(play, this->switchFlag);
OnePointCutscene_Init(play, 4120, 170, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4120, 170, &this->dyna.actor, CAM_ID_MAIN);
} else {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base);
}
@@ -96,7 +96,7 @@ void func_808B2970(BgSpot11Oasis* this) {
void func_808B2980(BgSpot11Oasis* this, PlayState* play) {
if (Flags_GetEnv(play, 5) && func_808B280C(play)) {
OnePointCutscene_Init(play, 4150, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4150, -99, &this->actor, CAM_ID_MAIN);
func_808B29E0(this);
}
}
@@ -84,7 +84,7 @@ void func_808B30C0(BgSpot12Gate* this) {
void func_808B30D8(BgSpot12Gate* this, PlayState* play) {
if (Flags_GetSwitch(play, this->dyna.actor.params & 0x3F)) {
func_808B3134(this);
OnePointCutscene_Init(play, 4160, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4160, -99, &this->dyna.actor, CAM_ID_MAIN);
}
}
@@ -85,7 +85,7 @@ void func_808B357C(BgSpot12Saku* this, PlayState* play) {
if (GameInteractor_Should(VB_GTG_GATE_BE_OPEN, Flags_GetSwitch(play, this->dyna.actor.params & 0x3F))) {
func_808B35E4(this);
this->timer = 20;
OnePointCutscene_Init(play, 4170, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4170, -99, &this->dyna.actor, CAM_ID_MAIN);
}
}
@@ -407,7 +407,7 @@ void func_808B57E0(BgSpot16Bombstone* this, PlayState* play) {
currentBomb = sPlayerBomb;
if (currentBomb->timer > 0) {
sTimer = currentBomb->timer + 20;
OnePointCutscene_Init(play, 4180, sTimer, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 4180, sTimer, NULL, CAM_ID_MAIN);
}
}
} else if (player->stateFlags1 & PLAYER_STATE1_CARRYING_ACTOR) {
@@ -437,7 +437,7 @@ void func_808B5950(BgSpot16Bombstone* this, PlayState* play) {
func_808B561C(this, play);
OnePointCutscene_Init(play, 4180, 50, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 4180, 50, NULL, CAM_ID_MAIN);
Flags_SetSwitch(play, this->switchFlag);
Flags_SetEventChkInf(EVENTCHKINF_BOMBED_DODONGOS_CAVERN_ENTRANCE);
@@ -178,7 +178,7 @@ void BgSpot18Basket_SetupInactive(BgSpot18Basket* this) {
void BgSpot18Basket_Inactive(BgSpot18Basket* this, PlayState* play) {
if (Flags_GetSwitch(play, (this->dyna.actor.params >> 8) & 0x3F)) {
OnePointCutscene_Init(play, 4220, 80, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4220, 80, &this->dyna.actor, CAM_ID_MAIN);
BgSpot18Basket_SetupActivation(this);
}
}
@@ -228,7 +228,7 @@ void BgSpot18Basket_Spinning(BgSpot18Basket* this, PlayState* play) {
if (positionDiff > 120.0f && positionDiff < 200.0f) {
if (Math3D_Dist2DSq(colliderBaseAc->world.pos.z, this->colliderJntSph.base.ac->world.pos.x,
this->dyna.actor.world.pos.z, this->dyna.actor.world.pos.x) < SQ(32.0f)) {
OnePointCutscene_Init(play, 4210, 240, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4210, 240, &this->dyna.actor, CAM_ID_MAIN);
BgSpot18Basket_SetupExplosionCs(this);
func_8003EBF8(play, &play->colCtx.dyna, this->dyna.bgId);
}
@@ -100,7 +100,7 @@ void func_808B9618(BgSpot18Shutter* this, PlayState* play) {
this->actionFunc = func_808B9698;
} else {
this->actionFunc = func_808B971C;
OnePointCutscene_Init(play, 4221, 140, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 4221, 140, &this->dyna.actor, CAM_ID_MAIN);
}
}
}
@@ -63,9 +63,9 @@ void BgSstFloor_Update(BgSstFloor* thisx, PlayState* play) {
colHeader->vtxList = SEGMENTED_TO_VIRTUAL(colHeader->vtxList);
if (DynaPolyActor_IsPlayerAbove(&this->dyna) && (this->dyna.actor.yDistToPlayer < 1000.0f)) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BOSS_BONGO);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BOSS_BONGO);
} else {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
}
if (DynaPolyActor_IsPlayerOnTop(&this->dyna) && (player->fallDistance > 1000.0f)) {
@@ -142,7 +142,7 @@ void BgYdanHasi_SetupThreeBlocks(BgYdanHasi* this, PlayState* play) {
this->timer = 260;
this->dyna.actor.draw = BgYdanHasi_Draw;
this->actionFunc = BgYdanHasi_UpdateThreeBlocks;
OnePointCutscene_Init(play, 3040, 30, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3040, 30, &this->dyna.actor, CAM_ID_MAIN);
}
}
@@ -151,7 +151,7 @@ void func_808BF078(BgYdanMaruta* this, PlayState* play) {
Flags_SetSwitch(play, this->switchFlag);
Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME);
this->actionFunc = func_808BF108;
OnePointCutscene_Init(play, 3010, 50, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3010, 50, &this->dyna.actor, CAM_ID_MAIN);
} else {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base);
}
@@ -406,7 +406,7 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, PlayState* play) {
} else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) {
Actor_WorldToActorCoords(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip);
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, CAM_ID_MAIN);
Math_Vec3f_Copy(&this->dyna.actor.home.pos, &player->meleeWeaponInfo[0].tip);
BgYdanSp_BurnWeb(this, play);
}
@@ -427,7 +427,7 @@ void BossDodongo_IntroCutscene(BossDodongo* this, PlayState* play) {
Vec3f sp48;
player = GET_PLAYER(play);
camera = Play_GetCamera(play, MAIN_CAM);
camera = Play_GetCamera(play, CAM_ID_MAIN);
if (this->unk_196 != 0) {
this->unk_196--;
@@ -1556,9 +1556,9 @@ void BossDodongo_DeathCutscene(BossDodongo* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 1);
this->cutsceneCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_UNK3);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_UNK3);
Play_ChangeCameraStatus(play, this->cutsceneCamera, CAM_STAT_ACTIVE);
camera = Play_GetCamera(play, MAIN_CAM);
camera = Play_GetCamera(play, CAM_ID_MAIN);
this->cameraEye.x = camera->eye.x;
this->cameraEye.y = camera->eye.y;
this->cameraEye.z = camera->eye.z;
@@ -1857,15 +1857,15 @@ void BossDodongo_DeathCutscene(BossDodongo* this, PlayState* play) {
}
}
if (this->unk_1DA == 600) {
camera = Play_GetCamera(play, MAIN_CAM);
camera = Play_GetCamera(play, CAM_ID_MAIN);
camera->eye = this->cameraEye;
camera->eyeNext = this->cameraEye;
camera->at = this->cameraAt;
func_800C08AC(play, this->cutsceneCamera, 0);
this->unk_1BC = 0;
this->cutsceneCamera = MAIN_CAM;
this->cutsceneCamera = CAM_ID_MAIN;
this->csState = 100;
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
func_80064534(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 7);
if (GameInteractor_Should(VB_SPAWN_BLUE_WARP, true, this)) {
@@ -1888,7 +1888,7 @@ void BossDodongo_DeathCutscene(BossDodongo* this, PlayState* play) {
}
break;
}
if (this->cutsceneCamera != MAIN_CAM) {
if (this->cutsceneCamera != CAM_ID_MAIN) {
Play_CameraSetAtEye(play, this->cutsceneCamera, &this->cameraAt, &this->cameraEye);
}
}
@@ -311,7 +311,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
if (this->introState != BFD_CS_NONE) {
Player* player2 = GET_PLAYER(play);
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
switch (this->introState) {
case BFD_CS_WAIT:
@@ -328,7 +328,7 @@ void BossFd_Fly(BossFd* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->introCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->introCamera, CAM_STAT_ACTIVE);
player2->actor.world.pos.x = 380.0f;
player2->actor.world.pos.y = 100.0f;
@@ -651,7 +651,7 @@ void BossFd2_Death(BossFd2* this, PlayState* play) {
Vec3f sp70;
Vec3f sp64;
BossFd* bossFd = (BossFd*)this->actor.parent;
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
f32 pad3;
f32 pad2;
f32 pad1;
@@ -665,7 +665,7 @@ void BossFd2_Death(BossFd2* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 1);
this->deathCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->deathCamera, CAM_STAT_ACTIVE);
this->camData.eye = mainCam->eye;
this->camData.at = mainCam->at;
@@ -569,7 +569,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csCamIndex = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamIndex, CAM_STAT_ACTIVE);
this->csCamFov = 60.0f;
@@ -1149,7 +1149,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
}
if (this->csTimer == 120) {
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
mainCam->eye = this->csCamEye;
mainCam->eyeNext = this->csCamEye;
mainCam->at = this->csCamAt;
@@ -1271,7 +1271,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csCamIndex = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamIndex, CAM_STAT_ACTIVE);
this->actor.world.pos.x = 0.0f;
@@ -1550,7 +1550,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csCamIndex = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamIndex, CAM_STAT_ACTIVE);
Animation_MorphToPlayOnce(&this->skelAnime, &gGanondorfCollapseAnim, 0.0f);
this->fwork[1] = Animation_GetLastFrame(&gGanondorfDefeatedStartAnim);
@@ -1849,7 +1849,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) {
this->csCamAt.z = (sBossGanonZelda->actor.world.pos.z - 25.0f) + 80.0f;
if (this->csTimer > 50) {
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
mainCam->eye = this->csCamEye;
mainCam->eyeNext = this->csCamEye;
@@ -4774,7 +4774,7 @@ void BossGanon_UpdateEffects(PlayState* play) {
}
} else if (eff->type == GDF_EFF_LIGHTNING) {
if (eff->unk_3C == 0.0f) {
eff->unk_44 = BINANG_TO_RAD(Camera_GetInputDirYaw(Play_GetCamera(play, MAIN_CAM)));
eff->unk_44 = BINANG_TO_RAD(Camera_GetInputDirYaw(Play_GetCamera(play, CAM_ID_MAIN)));
} else {
eff->unk_44 = M_PI / 2;
}
@@ -234,7 +234,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
sBossGanon2Zelda = (EnZl3*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_ZL3, 970.0f,
1086.0f, -200.0f, 0, 0, 0, 1);
@@ -359,7 +359,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
Math_ApproachF(&this->subCamEye.z, -20.0f, 0.1f, this->unk_410.x * 170.0f);
Math_ApproachF(&this->unk_410.x, 0.04f, 1.0f, 0.0005f);
if (this->csTimer == 100) {
Camera* camera = Play_GetCamera(play, MAIN_CAM);
Camera* camera = Play_GetCamera(play, CAM_ID_MAIN);
camera->eye = this->subCamEye;
camera->eyeNext = this->subCamEye;
@@ -380,7 +380,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
this->csTimer = 0;
func_80064520(play, &play->csCtx);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
} else {
break;
@@ -585,7 +585,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
sp8D = true;
}
if (this->csTimer >= 60) {
Camera* camera = Play_GetCamera(play, MAIN_CAM);
Camera* camera = Play_GetCamera(play, CAM_ID_MAIN);
camera->eye = this->subCamEye;
camera->eyeNext = this->subCamEye;
@@ -915,7 +915,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_MGANON_ROAR);
}
if (Animation_OnFrame(&this->skelAnime, this->unk_194)) {
Camera* camera = Play_GetCamera(play, MAIN_CAM);
Camera* camera = Play_GetCamera(play, CAM_ID_MAIN);
camera->eye = this->subCamEye;
camera->eyeNext = this->subCamEye;
@@ -1332,7 +1332,7 @@ void func_80900890(BossGanon2* this, PlayState* play) {
f32 temp_f12;
f32 temp_f2;
sp4C = Play_GetCamera(play, MAIN_CAM);
sp4C = Play_GetCamera(play, CAM_ID_MAIN);
player = GET_PLAYER(play);
SkelAnime_Update(&this->skelAnime);
this->csTimer++;
@@ -1342,7 +1342,7 @@ void func_80900890(BossGanon2* this, PlayState* play) {
case 0:
func_80064520(play, &play->csCtx);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csState = 1;
@@ -1385,7 +1385,7 @@ void func_80900890(BossGanon2* this, PlayState* play) {
Message_StartTextbox(play, 0x70D7, NULL);
}
if ((this->unk_1A2[1] < 30) && (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) {
temp_v0 = Play_GetCamera(play, MAIN_CAM);
temp_v0 = Play_GetCamera(play, CAM_ID_MAIN);
temp_v0->eye = this->subCamEye;
temp_v0->eyeNext = this->subCamEye;
temp_v0->at = this->subCamAt;
@@ -1399,7 +1399,7 @@ void func_80900890(BossGanon2* this, PlayState* play) {
case 10:
func_80064520(play, &play->csCtx);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
this->csState = 11;
this->unk_334 = 1;
@@ -1416,7 +1416,7 @@ void func_80900890(BossGanon2* this, PlayState* play) {
this->subCamAt.y = (player->actor.world.pos.y + 60.0f) - 25.0f;
this->subCamAt.z = player->actor.world.pos.z;
if (this->csTimer == 80) {
temp_v0_2 = Play_GetCamera(play, MAIN_CAM);
temp_v0_2 = Play_GetCamera(play, CAM_ID_MAIN);
temp_v0_2->eye = this->subCamEye;
temp_v0_2->eyeNext = this->subCamEye;
temp_v0_2->at = this->subCamAt;
@@ -1537,7 +1537,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
case 0:
func_80064520(play, &play->csCtx);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csState = 1;
@@ -1672,7 +1672,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
this->subCamAt.y = player->actor.world.pos.y + 40.0f;
this->subCamAt.z = player->actor.world.pos.z;
if (this->csTimer == 166) {
temp_v0_2 = Play_GetCamera(play, MAIN_CAM);
temp_v0_2 = Play_GetCamera(play, CAM_ID_MAIN);
temp_v0_2->eye = this->subCamEye;
temp_v0_2->eyeNext = this->subCamEye;
temp_v0_2->at = this->subCamAt;
@@ -1694,7 +1694,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
GameInteractor_ExecuteOnBossDefeat(&this->actor);
if (GameInteractor_Should(VB_SLAY_GANON, true)) {
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
this->csState = 7;
this->csTimer = 0;
@@ -919,7 +919,7 @@ void BossGanondrof_Death(BossGanondrof* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 1);
this->deathCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
osSyncPrintf("7\n");
Play_ChangeCameraStatus(play, this->deathCamera, CAM_STAT_ACTIVE);
osSyncPrintf("8\n");
@@ -792,7 +792,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Math_ApproachS(&player->actor.shape.rot.y, this->grabPosRot.rot.y, 2, 0x7D0);
Math_ApproachS(&player->actor.shape.rot.z, this->grabPosRot.rot.z, 2, 0x7D0);
if (this->timers[0] == 0) {
camera1 = Play_GetCamera(play, MAIN_CAM);
camera1 = Play_GetCamera(play, CAM_ID_MAIN);
this->work[MO_TENT_ACTION_STATE] = MO_TENT_SHAKE;
this->tentMaxAngle = .001f;
this->fwork[MO_TENT_SWING_RATE_X] = this->fwork[MO_TENT_SWING_RATE_Z] =
@@ -803,7 +803,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Audio_ResetIncreasingTranspose();
func_80064520(play, &play->csCtx);
this->csCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamera, CAM_STAT_ACTIVE);
this->cameraEye = camera1->eye;
this->cameraAt = camera1->at;
@@ -923,7 +923,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Math_ApproachF(&this->cameraAt.z, player->actor.world.pos.z, 0.5f, 50.0f);
Play_CameraSetAtEye(play, this->csCamera, &this->cameraAt, &this->cameraEye);
if (player->actor.world.pos.y <= 42.0f) {
camera2 = Play_GetCamera(play, MAIN_CAM);
camera2 = Play_GetCamera(play, CAM_ID_MAIN);
camera2->eye = this->cameraEye;
camera2->eyeNext = this->cameraEye;
camera2->at = this->cameraAt;
@@ -1233,7 +1233,7 @@ void BossMo_IntroCs(BossMo* this, PlayState* play) {
f32 sp7C;
f32 sp78;
Player* player = GET_PLAYER(play);
Camera* camera = Play_GetCamera(play, MAIN_CAM);
Camera* camera = Play_GetCamera(play, CAM_ID_MAIN);
Vec3f bubblePos;
Vec3f bubblePos2;
Camera* camera2;
@@ -1261,7 +1261,7 @@ void BossMo_IntroCs(BossMo* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamera, CAM_STAT_ACTIVE);
this->actor.speedXZ = 0.0f;
this->csState = MO_INTRO_START;
@@ -1471,7 +1471,7 @@ void BossMo_IntroCs(BossMo* this, PlayState* play) {
sMorphaTent1->timers[0] = 50;
}
if (this->timers[2] == 20) {
camera2 = Play_GetCamera(play, MAIN_CAM);
camera2 = Play_GetCamera(play, CAM_ID_MAIN);
camera2->eye = this->cameraEye;
camera2->eyeNext = this->cameraEye;
camera2->at = this->cameraAt;
@@ -1536,7 +1536,7 @@ void BossMo_DeathCs(BossMo* this, PlayState* play) {
f32 sp7C;
Vec3f sp70;
Vec3f sp64;
Camera* camera = Play_GetCamera(play, MAIN_CAM);
Camera* camera = Play_GetCamera(play, CAM_ID_MAIN);
Vec3f velocity;
Vec3f pos;
@@ -1545,7 +1545,7 @@ void BossMo_DeathCs(BossMo* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->csCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->csCamera, CAM_STAT_ACTIVE);
this->csState = MO_DEATH_MO_CORE_BURST;
this->cameraEye = camera->eye;
@@ -397,7 +397,7 @@ void BossSst_HeadSetupIntro(BossSst* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
sCutsceneCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCutsceneCamera, CAM_STAT_ACTIVE);
Math_Vec3f_Copy(&sCameraAt, &player->actor.world.pos);
if (Flags_GetEventChkInf(EVENTCHKINF_BEGAN_BONGO_BONGO_BATTLE)) {
@@ -432,9 +432,9 @@ void BossSst_HeadIntro(BossSst* this, PlayState* play) {
sCameraAt.y += 30.0f;
sCameraAt.z += 300.0f;
Play_CameraSetAtEye(play, sCutsceneCamera, &sCameraAt, &sCameraEye);
Play_CopyCamera(play, MAIN_CAM, sCutsceneCamera);
Play_CopyCamera(play, CAM_ID_MAIN, sCutsceneCamera);
Play_ChangeCameraStatus(play, sCutsceneCamera, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Play_ClearCamera(play, sCutsceneCamera);
Flags_SetEventChkInf(EVENTCHKINF_BEGAN_BONGO_BONGO_BATTLE);
BossSst_HeadSetupNeutral(this);
@@ -1036,9 +1036,9 @@ void BossSst_HeadSetupDeath(BossSst* this, PlayState* play) {
sHands[RIGHT]->colliderJntSph.base.ocFlags1 &= ~OC1_ON;
Audio_QueueSeqCmd(0x1 << 28 | SEQ_PLAYER_BGM_MAIN << 24 | 0x100FF);
sCutsceneCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCutsceneCamera, CAM_STAT_ACTIVE);
Play_CopyCamera(play, sCutsceneCamera, MAIN_CAM);
Play_CopyCamera(play, sCutsceneCamera, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, &player->actor, 8);
func_80064520(play, &play->csCtx);
Math_Vec3f_Copy(&sCameraEye, &GET_ACTIVE_CAM(play)->eye);
@@ -1197,9 +1197,9 @@ void BossSst_HeadFinish(BossSst* this, PlayState* play) {
if (this->effectMode == BONGO_NULL) {
if (this->timer < -170) {
BossSst_UpdateDeathCamera(this, play);
Play_CopyCamera(play, MAIN_CAM, sCutsceneCamera);
Play_CopyCamera(play, CAM_ID_MAIN, sCutsceneCamera);
Play_ChangeCameraStatus(play, sCutsceneCamera, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Play_ClearCamera(play, sCutsceneCamera);
Player_SetCsActionWithHaltedActors(play, &GET_PLAYER(play)->actor, 7);
func_80064534(play, &play->csCtx);
@@ -1685,7 +1685,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, PlayState* play) {
}
if (this->timers[2] == 1) {
Camera* cam = Play_GetCamera(play, MAIN_CAM);
Camera* cam = Play_GetCamera(play, CAM_ID_MAIN);
cam->eye = this->subCamEye;
cam->eyeNext = this->subCamEye;
@@ -2247,7 +2247,7 @@ void BossTw_TwinrovaIntroCS(BossTw* this, PlayState* play) {
}
if (this->work[CS_TIMER_1] == 260) {
Camera* cam = Play_GetCamera(play, MAIN_CAM);
Camera* cam = Play_GetCamera(play, CAM_ID_MAIN);
cam->eye = this->subCamEye;
cam->eyeNext = this->subCamEye;
@@ -2600,7 +2600,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, PlayState* play) {
s16 i;
Vec3f spD0;
Player* player = GET_PLAYER(play);
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
SkelAnime_Update(&this->skelAnime);
this->work[UNK_S8] += 20;
@@ -2794,7 +2794,7 @@ void BossTw_TwinrovaDeathCS(BossTw* this, PlayState* play) {
Actor_SetScale(&sKoumePtr->actor, sKoumePtr->actor.scale.x);
Actor_SetScale(&sKotakePtr->actor, sKoumePtr->actor.scale.x);
if (this->work[CS_TIMER_2] >= 1020) {
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
mainCam->eye = this->subCamEye;
mainCam->eyeNext = this->subCamEye;
mainCam->at = this->subCamAt;
@@ -671,7 +671,7 @@ void BossVa_Init(Actor* thisx, PlayState* play2) {
play->envCtx.screenFillColor[3] = 0xD2;
func_80064520(play, &play->csCtx);
sCsCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCsCamera, CAM_STAT_ACTIVE);
sCameraNextEye.x = sCameraEye.x = 140.0f;
sCameraNextEye.y = sCameraEye.y = 205.0f;
@@ -815,7 +815,7 @@ void BossVa_BodyIntro(BossVa* this, PlayState* play) {
if (sCsCamera == SUBCAM_FREE) {
sCsCamera = Play_CreateSubCamera(play);
}
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCsCamera, CAM_STAT_ACTIVE);
sCameraNextEye.x = sCameraEye.x = 13.0f;
@@ -857,7 +857,7 @@ void BossVa_BodyIntro(BossVa* this, PlayState* play) {
if (sCsCamera == SUBCAM_FREE) {
sCsCamera = Play_CreateSubCamera(play);
}
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCsCamera, CAM_STAT_ACTIVE);
sCameraNextEye.x = sCameraEye.x = 13.0f;
@@ -1036,7 +1036,7 @@ void BossVa_BodyIntro(BossVa* this, PlayState* play) {
Play_ClearCamera(play, sCsCamera);
sCsCamera = 0;
func_80064534(play, &play->csCtx);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, &this->actor, 7);
sCsState++;
Flags_SetEventChkInf(EVENTCHKINF_BEGAN_BARINA_BATTLE);
@@ -1559,7 +1559,7 @@ void BossVa_BodyDeath(BossVa* this, PlayState* play) {
Player_SetCsActionWithHaltedActors(play, &this->actor, 1);
func_80064520(play, &play->csCtx);
sCsCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sCsCamera, CAM_STAT_ACTIVE);
sCameraNextAt.x = this->actor.world.pos.x;
@@ -1652,7 +1652,7 @@ void BossVa_BodyDeath(BossVa* this, PlayState* play) {
Play_ClearCamera(play, sCsCamera);
sCsCamera = 0;
func_80064534(play, &play->csCtx);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
camera->eyeNext = camera->eye = sCameraEye;
@@ -434,8 +434,8 @@ void DoorShutter_InitOpeningDoorCam(DoorShutter* this, PlayState* play) {
DoorShutter_SetupAction(this, DoorShutter_Open);
this->gfxType = sp38;
this->barsClosedAmount = 0.0f;
Camera_ChangeDoorCam(play->cameraPtrs[MAIN_CAM], &this->dyna.actor, player->cv.slidingDoorBgCamIndex, 0.0f, 12,
sp34, 10);
Camera_ChangeDoorCam(play->cameraPtrs[CAM_ID_MAIN], &this->dyna.actor, player->cv.slidingDoorBgCamIndex, 0.0f,
12, sp34, 10);
}
}
@@ -496,7 +496,7 @@ void DoorWarp1_ChildWarpIdle(DoorWarp1* this, PlayState* play) {
Audio_PlaySoundGeneral(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
OnePointCutscene_Init(play, 0x25E7, 999, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 0x25E7, 999, &this->actor, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, &this->actor, 10);
player->unk_450.x = this->actor.world.pos.x;
@@ -597,7 +597,7 @@ void func_80999EE0(DoorWarp1* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (this->rutoWarpState == WARP_BLUE_RUTO_STATE_3) {
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
sRutoWarpSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, sRutoWarpSubCamId, CAM_STAT_ACTIVE);
@@ -621,7 +621,7 @@ void func_80999FE4(DoorWarp1* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) {
Audio_PlaySoundGeneral(NA_SE_EV_LINK_WARP, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
OnePointCutscene_Init(play, 0x25E9, 999, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 0x25E9, 999, &this->actor, CAM_ID_MAIN);
Play_CopyCamera(play, -1, sRutoWarpSubCamId);
Play_ChangeCameraStatus(play, sRutoWarpSubCamId, CAM_STAT_WAIT);
this->rutoWarpState = WARP_BLUE_RUTO_STATE_WARPING;
@@ -695,7 +695,7 @@ void DoorWarp1_AdultWarpIdle(DoorWarp1* this, PlayState* play) {
if (GameInteractor_Should(VB_BLUE_WARP_CONSIDER_ADULT_IN_RANGE, DoorWarp1_PlayerInRange(this, play), this)) {
player = GET_PLAYER(play);
OnePointCutscene_Init(play, 0x25E8, 999, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 0x25E8, 999, &this->actor, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, &this->actor, 10);
player->unk_450.x = this->actor.world.pos.x;
player->unk_450.z = this->actor.world.pos.z;
@@ -647,8 +647,8 @@ void func_809BE26C(EnBigokuta* this, PlayState* play) {
}
if (this->unk_198 == 0 && Math_StepToF(&this->actor.scale.y, 0.0f, 0.001f)) {
Flags_SetClear(play, this->actor.room);
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_DUNGEON0);
func_8005ACFC(play->cameraPtrs[MAIN_CAM], 4);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0);
func_8005ACFC(play->cameraPtrs[CAM_ID_MAIN], 4);
SoundSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 50, NA_SE_EN_OCTAROCK_BUBLE);
Item_DropCollectibleRandom(play, &this->actor, &this->actor.world.pos, 0xB0);
Actor_Kill(&this->actor);
@@ -785,8 +785,8 @@ void EnBigokuta_Update(Actor* thisx, PlayState* play2) {
this->actionFunc(this, play);
func_809BD2E4(this);
func_809BE568(this);
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BIG_OCTO);
func_8005AD1C(play->cameraPtrs[MAIN_CAM], 4);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BIG_OCTO);
func_8005AD1C(play->cameraPtrs[CAM_ID_MAIN], 4);
if (this->cylinder[0].base.atFlags & AT_ON) {
if (this->actionFunc != func_809BE058) {
@@ -337,7 +337,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, PlayState* play) {
this->actor.textId = 0x1B;
Message_ContinueTextbox(play, this->actor.textId);
this->dialogState = TEXT_STATE_EVENT;
OnePointCutscene_Init(play, 8010, -99, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 8010, -99, NULL, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, NULL, 8);
this->actionFunc = EnBomBowMan_SetupChooseShowPrize;
}
@@ -373,7 +373,7 @@ void func_809C41FC(EnBomBowlMan* this, PlayState* play) {
this->actor.textId = 0x1B;
Message_ContinueTextbox(play, this->actor.textId);
this->dialogState = TEXT_STATE_EVENT;
OnePointCutscene_Init(play, 8010, -99, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 8010, -99, NULL, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, NULL, 8);
this->actionFunc = EnBomBowMan_SetupChooseShowPrize;
} else {
@@ -54,7 +54,7 @@ void EnBomBowlPit_DetectHit(EnBomBowlPit* this, PlayState* play) {
EnBomChu* chu;
Vec3f chuPosDiff;
if (play->cameraPtrs[MAIN_CAM]->setting == CAM_SET_CHU_BOWLING) {
if (play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_CHU_BOWLING) {
chu = (EnBomChu*)play->actorCtx.actorLists[ACTORCAT_EXPLOSIVE].head;
while (chu != NULL) {
@@ -73,7 +73,7 @@ void EnBomBowlPit_DetectHit(EnBomBowlPit* this, PlayState* play) {
chu->timer = 1;
this->camId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->camId, CAM_STAT_ACTIVE);
this->subCamAtMaxVelFrac.x = this->subCamAtMaxVelFrac.y = this->subCamAtMaxVelFrac.z = 0.1f;
@@ -170,7 +170,7 @@ void EnBomBowlPit_SetupGivePrize(EnBomBowlPit* this, PlayState* play) {
}
Play_ClearCamera(play, this->camId);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, NULL, 8);
this->actionFunc = EnBomBowlPit_GivePrize;
}
@@ -295,7 +295,7 @@ void EnBox_FallOnSwitchFlag(EnBox* this, PlayState* play) {
if (this->unk_1A8 >= 0) {
EnBox_SetupAction(this, EnBox_Fall);
this->subCamId = OnePointCutscene_Init(play, 4500, 9999, &this->dyna.actor, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(play, 4500, 9999, &this->dyna.actor, CAM_ID_MAIN);
func_8003EC50(play, &play->colCtx.dyna, this->dyna.bgId);
} else if (this->unk_1A8 >= -11) {
this->unk_1A8++;
@@ -610,7 +610,7 @@ void EnClearTag_Update(Actor* thisx, PlayState* play2) {
this->cutsceneMode = CLEAR_TAG_CUTSCENE_MODE_PLAY;
func_80064520(play, &play->csCtx);
this->cameraId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->cameraId, CAM_STAT_ACTIVE);
case CLEAR_TAG_CUTSCENE_MODE_PLAY:
// Update the Arwing cutscene camera to spin around in a circle.
@@ -473,7 +473,7 @@ void EnDaiku_InitSubCamera(EnDaiku* this, PlayState* play) {
this->subCamAtTarget.z = this->subCamAt.z = this->actor.world.pos.z;
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye);
@@ -506,7 +506,7 @@ void EnDaiku_EscapeSuccess(EnDaiku* this, PlayState* play) {
if (GameInteractor_Should(VB_PLAY_CARPENTER_FREE_CS, true, this)) {
Play_ClearCamera(play, this->subCamId);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
}
this->subCamActive = false;
@@ -137,7 +137,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) {
}
} else {
if ((Player_GetMask(play) != 0) && (this->subCamera == SUBCAM_FREE)) {
this->subCamera = OnePointCutscene_Init(play, 2220, -99, &this->scrubs[3]->actor, MAIN_CAM);
this->subCamera = OnePointCutscene_Init(play, 2220, -99, &this->scrubs[3]->actor, CAM_ID_MAIN);
}
this->debugArrowTimer = 0;
if (this->judgeTimer == 40) {
@@ -176,7 +176,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) {
if (this->subCamera != SUBCAM_FREE) {
this->subCamera = SUBCAM_FREE;
reaction = DNT_SIGNAL_LOOK;
OnePointCutscene_Init(play, 2340, -99, &this->leader->actor, MAIN_CAM);
OnePointCutscene_Init(play, 2340, -99, &this->leader->actor, CAM_ID_MAIN);
}
break;
}
@@ -215,7 +215,7 @@ void EnDntDemo_Judge(EnDntDemo* this, PlayState* play) {
case DNT_ACTION_ATTACK:
if (this->subCamera != SUBCAM_FREE) {
this->subCamera = SUBCAM_FREE;
OnePointCutscene_Init(play, 2350, -99, &this->scrubs[3]->actor, MAIN_CAM);
OnePointCutscene_Init(play, 2350, -99, &this->scrubs[3]->actor, CAM_ID_MAIN);
}
Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_ENEMY | 0x800);
break;
@@ -122,7 +122,7 @@ void EnDntJiji_Wait(EnDntJiji* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
if ((this->timer == 1) && (this->actor.xzDistToPlayer < 150.0f) && !Play_InCsMode(play) &&
!(player->stateFlags1 & PLAYER_STATE1_CARRYING_ACTOR)) {
OnePointCutscene_Init(play, 2230, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 2230, -99, &this->actor, CAM_ID_MAIN);
this->timer = 0;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
this->actionFunc = EnDntJiji_SetupUnburrow;
@@ -257,7 +257,7 @@ void EnDntNomal_TargetWait(EnDntNomal* this, PlayState* play) {
if (!GameInteractor_Should(VB_PLAY_ONEPOINT_ACTOR_CS, true, &this->actor)) {
this->actionFunc = EnDntNomal_TargetGivePrize;
} else {
OnePointCutscene_Init(play, 4140, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4140, -99, &this->actor, CAM_ID_MAIN);
Player_SetCsActionWithHaltedActors(play, &this->actor, 1);
this->timer4 = 50;
this->actionFunc = EnDntNomal_SetupTargetUnburrow;
+1 -1
View File
@@ -404,7 +404,7 @@ void func_809FE638(EnDu* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (!(player->stateFlags1 & PLAYER_STATE1_IN_CUTSCENE)) {
OnePointCutscene_Init(play, 3330, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3330, -99, &this->actor, CAM_ID_MAIN);
player->actor.shape.rot.y = player->actor.world.rot.y = this->actor.world.rot.y + 0x7FFF;
Audio_PlayFanfare(NA_BGM_APPEAR);
EnDu_SetupAction(this, func_809FE6CC);
+1 -1
View File
@@ -612,7 +612,7 @@ void EnFr_Idle(EnFr* this, PlayState* play) {
play->msgCtx.ocarinaMode = OCARINA_MODE_00;
}
OnePointCutscene_Init(play, 4110, ~0x62, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4110, ~0x62, &this->actor, CAM_ID_MAIN);
play->msgCtx.msgMode = MSGMODE_PAUSED;
player->actor.world.pos.x = this->actor.world.pos.x; // x = 990.0f
player->actor.world.pos.y = this->actor.world.pos.y; // y = 205.0f
+3 -3
View File
@@ -425,7 +425,7 @@ void func_80A3F0E4(EnGo* this) {
s32 EnGo_IsCameraModified(EnGo* this, PlayState* play) {
f32 xyzDistSq;
s16 yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y;
Camera* mainCam = play->cameraPtrs[MAIN_CAM];
Camera* mainCam = play->cameraPtrs[CAM_ID_MAIN];
if (fabsf(yawDiff) > 10920.0f) {
return 0;
@@ -779,7 +779,7 @@ void EnGo_CurledUp(EnGo* this, PlayState* play) {
EnGo_SetupAction(this, EnGo_WakeUp);
if ((this->actor.params & 0xF0) == 0x90) {
OnePointCutscene_Init(play, 4200, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4200, -99, &this->actor, CAM_ID_MAIN);
}
}
}
@@ -871,7 +871,7 @@ void EnGo_BiggoronActionFunc(EnGo* this, PlayState* play) {
EnGo_SetupAction(this, EnGo_Eyedrops);
play->msgCtx.msgMode = MSGMODE_PAUSED;
gSaveContext.subTimerState = SUBTIMER_STATE_OFF;
OnePointCutscene_Init(play, 4190, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4190, -99, &this->actor, CAM_ID_MAIN);
} else {
this->interactInfo.talkState = NPC_TALK_STATE_IDLE;
EnGo_SetupAction(this, EnGo_GetItem);
@@ -1163,7 +1163,7 @@ f32 EnGo2_GetTargetXZSpeed(EnGo2* this) {
}
s32 EnGo2_IsCameraModified(EnGo2* this, PlayState* play) {
Camera* camera = play->cameraPtrs[MAIN_CAM];
Camera* camera = play->cameraPtrs[CAM_ID_MAIN];
if ((this->actor.params & 0x1F) == GORON_DMT_BIGGORON) {
if (EnGo2_IsWakingUp(this)) {
@@ -1338,7 +1338,7 @@ void EnGo2_WakeUp(EnGo2* this, PlayState* play) {
}
}
if ((this->actor.params & 0x1F) == GORON_DMT_BIGGORON) {
OnePointCutscene_Init(play, 4200, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4200, -99, &this->actor, CAM_ID_MAIN);
Animation_ChangeByInfo(&this->skelAnime, sAnimationInfo, ENGO2_ANIM_10);
this->skelAnime.playSpeed = 0.5f;
} else {
@@ -1496,7 +1496,7 @@ void EnGo2_GoronFireCamera(EnGo2* this, PlayState* play) {
s16 yaw;
this->camId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->camId, CAM_STAT_ACTIVE);
Path_CopyLastPoint(this->path, &this->at);
yaw = Math_Vec3f_Yaw(&this->actor.world.pos, &this->at) + 0xE38;
@@ -1510,7 +1510,7 @@ void EnGo2_GoronFireCamera(EnGo2* this, PlayState* play) {
}
void EnGo2_GoronFireClearCamera(EnGo2* this, PlayState* play) {
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Play_ClearCamera(play, this->camId);
}
@@ -1860,7 +1860,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) {
this->goronState++;
func_800F483C(0x28, 5);
if (GameInteractor_Should(VB_PLAY_EYEDROPS_CS, true)) {
OnePointCutscene_Init(play, 4190, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4190, -99, &this->actor, CAM_ID_MAIN);
}
break;
case 1:
@@ -319,7 +319,7 @@ void func_80A5372C(EnHeishi2* this, PlayState* play) {
if (GameInteractor_Should(VB_PLAY_GATE_OPENING_OR_CLOSING_CS, true, this, false)) {
this->unk_2F2[0] = 200;
this->cameraId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->cameraId, CAM_STAT_ACTIVE);
this->subCamEye.x = 947.0f;
this->subCamEye.y = 1195.0f;
@@ -345,7 +345,7 @@ void func_80A53850(EnHeishi2* this, PlayState* play) {
if ((this->unk_2F2[0] == 0) || (gate->unk_168 == 0)) {
if (GameInteractor_Should(VB_PLAY_GATE_OPENING_OR_CLOSING_CS, true, this, true)) {
Play_ClearCamera(play, this->cameraId);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
}
Message_CloseTextbox(play);
this->unk_30C = 1;
@@ -490,7 +490,7 @@ void func_80A53DF8(EnHeishi2* this, PlayState* play) {
if (GameInteractor_Should(VB_PLAY_GATE_OPENING_OR_CLOSING_CS, true, this, false)) {
this->unk_2F2[0] = 200;
this->cameraId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->cameraId, CAM_STAT_ACTIVE);
this->subCamEyeInit.x = -71.0f;
this->subCamEye.x = -71.0f;
@@ -520,7 +520,7 @@ void func_80A53F30(EnHeishi2* this, PlayState* play) {
if ((this->unk_2F2[0] == 0) || (gate->openingState == 0)) {
if (GameInteractor_Should(VB_PLAY_GATE_OPENING_OR_CLOSING_CS, true, this, true)) {
Play_ClearCamera(play, this->cameraId);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
}
if ((this->unk_30A != 2)) {
if (this->unk_30A == 0) {
+1 -1
View File
@@ -450,7 +450,7 @@ void func_80A79C78(EnIn* this, PlayState* play) {
Vec3s zeroVec = { 0, 0, 0 };
this->camId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->camId, CAM_STAT_ACTIVE);
sp48.x = this->actor.world.pos.x;
sp48.y = this->actor.world.pos.y + 60.0f;
@@ -214,7 +214,7 @@ void func_80A8F75C(EnKakasi* this, PlayState* play) {
if (absyawTowardsPlayer < 0x4300) {
if (!this->unk_194) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN);
func_8010BD58(play, OCARINA_ACTION_SCARECROW_LONG_RECORDING);
this->unk_19A = 0;
@@ -267,7 +267,7 @@ void func_80A8F9C8(EnKakasi* this, PlayState* play) {
if (this->camId != SUBCAM_NONE) {
func_8005B1A4(play->cameraPtrs[this->camId]);
}
this->camId = OnePointCutscene_Init(play, 2270, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2270, -99, &this->actor, CAM_ID_MAIN);
play->msgCtx.msgMode = MSGMODE_PAUSED;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
func_8010BD58(play, OCARINA_ACTION_SCARECROW_LONG_PLAYBACK);
@@ -296,7 +296,7 @@ void func_80A8FAA4(EnKakasi* this, PlayState* play) {
this->actionFunc = func_80A8FBB8;
OnePointCutscene_EndCutscene(play, this->camId);
this->camId = SUBCAM_NONE;
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN);
func_8005B1A4(play->cameraPtrs[this->camId]);
}
}
@@ -233,7 +233,7 @@ void func_80A91348(EnKakasi3* this, PlayState* play) {
if (!this->unk_194) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN);
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->dialogState = TEXT_STATE_EVENT;
this->unk_1B8 = 0.0f;
@@ -248,7 +248,7 @@ void func_80A91348(EnKakasi3* this, PlayState* play) {
} else if (gSaveContext.scarecrowSpawnSongSet && !this->unk_195) {
if (player->stateFlags2 & PLAYER_STATE2_ATTEMPT_PLAY_FOR_ACTOR) {
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN);
play->msgCtx.msgMode = MSGMODE_PAUSED;
this->dialogState = TEXT_STATE_EVENT;
this->unk_1B8 = 0.0f;
@@ -315,7 +315,7 @@ void func_80A91760(EnKakasi3* this, PlayState* play) {
play->msgCtx.msgMode = MSGMODE_PAUSED;
func_8010BD58(play, OCARINA_ACTION_SCARECROW_PLAYBACK);
this->actionFunc = func_80A917FC;
this->camId = OnePointCutscene_Init(play, 2280, -99, &this->actor, MAIN_CAM);
this->camId = OnePointCutscene_Init(play, 2280, -99, &this->actor, CAM_ID_MAIN);
}
}
@@ -761,7 +761,7 @@ void func_80AB6F04(EnNiw* this, PlayState* play) {
}
void func_80AB70A0(EnNiw* this, PlayState* play) {
OnePointCutscene_Init(play, 2290, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 2290, -99, &this->actor, CAM_ID_MAIN);
this->timer5 = 100;
this->unk_2A2 = 1;
this->actionFunc = func_80AB70F8;
@@ -279,7 +279,7 @@ s32 EnOwl_CheckInitTalk(EnOwl* this, PlayState* play, u16 textId, f32 targetDist
this->actionFlags &= ~0x40;
}
}
this->cameraIdx = OnePointCutscene_Init(play, 8700, timer, &this->actor, MAIN_CAM);
this->cameraIdx = OnePointCutscene_Init(play, 8700, timer, &this->actor, CAM_ID_MAIN);
return true;
} else {
this->actor.textId = textId;
@@ -389,7 +389,7 @@ void func_80AD99D4(EnPoSisters* this, PlayState* play) {
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
this->unk_199 = 0;
this->actionFunc = func_80ADAFC0;
OnePointCutscene_Init(play, 3190, 999, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3190, 999, &this->actor, CAM_ID_MAIN);
}
void func_80AD9A54(EnPoSisters* this, PlayState* play) {
@@ -470,7 +470,7 @@ void func_80AD9DF0(EnPoSisters* this, PlayState* play) {
this->unk_198 = 1;
this->unk_199 &= ~0x80;
this->actionFunc = func_80ADB4B0;
OnePointCutscene_Init(play, 3180, 156, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 3180, 156, &this->actor, CAM_ID_MAIN);
}
void func_80AD9E60(EnPoSisters* this) {
@@ -1049,7 +1049,7 @@ void func_80ADBC88(EnPoSisters* this, PlayState* play) {
}
if (this->unk_19A == 30) {
if (this->unk_194 == 0) {
OnePointCutscene_Init(play, 3140, 999, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 3140, 999, NULL, CAM_ID_MAIN);
}
D_80ADD784 = 1;
}
@@ -769,7 +769,7 @@ s32 EnRu2_IsPlayerInRangeForEncounter(EnRu2* this, PlayState* play) {
void EnRu2_CheckRangeToStartEncounter(EnRu2* this, PlayState* play) {
if (EnRu2_IsPlayerInRangeForEncounter(this, play) && !Play_InCsMode(play)) {
this->action = ENRU2_WATER_TEMPLE_ENCOUNTER_BEGINNING;
this->subCamId = OnePointCutscene_Init(play, 3130, -99, &this->actor, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(play, 3130, -99, &this->actor, CAM_ID_MAIN);
}
}
@@ -778,7 +778,7 @@ void EnRu2_CheckRangeToStartEncounter(EnRu2* this, PlayState* play) {
*/
void EnRu2_StartEncounter(EnRu2* this, PlayState* play) {
this->action = ENRU2_WATER_TEMPLE_ENCOUNTER_BEGINNING;
this->subCamId = OnePointCutscene_Init(play, 3130, -99, &this->actor, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(play, 3130, -99, &this->actor, CAM_ID_MAIN);
}
/**
@@ -258,7 +258,7 @@ void func_80AFC478(EnSiofuki* this, PlayState* play) {
if (Flags_GetSwitch(play, ((u16)this->dyna.actor.params >> 6) & 0x3F)) {
this->timer = 20;
this->actionFunc = func_80AFC3C8;
OnePointCutscene_Init(play, 5010, 40, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 5010, 40, &this->dyna.actor, CAM_ID_MAIN);
}
if (Flags_GetTreasure(play, (u16)this->dyna.actor.params & 0x3F)) {
+1 -1
View File
@@ -339,7 +339,7 @@ s32 func_80B0C9F0(EnSw* this, PlayState* play) {
Enemy_StartFinishingBlow(play, &this->actor);
if (((this->actor.params & 0xE000) >> 0xD) != 0) {
if (CVarGetInteger(CVAR_ENHANCEMENT("GSCutscene"), 0)) {
OnePointCutscene_Init(play, 2200, 90, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 2200, 90, &this->actor, CAM_ID_MAIN);
}
this->skelAnime.playSpeed = 8.0f;
if ((play->state.frames & 1) == 0) {
@@ -305,7 +305,7 @@ void EnSyatekiMan_WaitForGame(EnSyatekiMan* this, PlayState* play) {
SkelAnime_Update(&this->skelAnime);
gallery = ((EnSyatekiItm*)this->actor.parent);
if ((gallery->actor.update != NULL) && (gallery->signal == ENSYATEKI_END)) {
this->csCam = OnePointCutscene_Init(play, 8002, -99, &this->actor, MAIN_CAM);
this->csCam = OnePointCutscene_Init(play, 8002, -99, &this->actor, CAM_ID_MAIN);
switch (gallery->hitCount) {
case 10:
this->gameResult = SYATEKI_RESULT_WINNER;
+1 -1
View File
@@ -464,7 +464,7 @@ void EnTa_RunAwayStart(EnTa* this, PlayState* play) {
void EnTa_TalkAwakeInCastle(EnTa* this, PlayState* play) {
if (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) {
s16 csCamIdx = OnePointCutscene_Init(play, 4175, -99, &this->actor, MAIN_CAM);
s16 csCamIdx = OnePointCutscene_Init(play, 4175, -99, &this->actor, CAM_ID_MAIN);
EnTa_SetupAction(this, EnTa_RunAwayStart, EnTa_AnimRepeatCurrent);
this->timer = 5;
Flags_SetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE);
@@ -72,7 +72,7 @@ void EnWallTubo_DetectChu(EnWallTubo* this, PlayState* play) {
s16 quakeIndex;
if (this->chuGirl->minigamePlayStatus != 0) {
if (play->cameraPtrs[MAIN_CAM]->setting == CAM_SET_CHU_BOWLING) {
if (play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_CHU_BOWLING) {
chu = (EnBomChu*)play->actorCtx.actorLists[ACTORCAT_EXPLOSIVE].head;
while (chu != NULL) {
@@ -272,7 +272,7 @@ void EnWallmas_SetupTakePlayer(EnWallmas* this, PlayState* play) {
this->yTarget = this->actor.yDistToPlayer;
Player_SetCsAction(play, &this->actor, 0x25);
OnePointCutscene_Init(play, 9500, 9999, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 9500, 9999, &this->actor, CAM_ID_MAIN);
}
void EnWallmas_ProximityOrSwitchInit(EnWallmas* this) {
@@ -174,7 +174,7 @@ void func_80B4B010(EnZl1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gChildZelda1Anim_10B38, 1.0f, 0.0f,
Animation_GetLastFrame(&gChildZelda1Anim_10B38), ANIMMODE_ONCE_INTERP, -10.0f);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STAT_ACTIVE);
func_800C0808(play, this->subCamId, player, CAM_SET_FREE0);
play->envCtx.screenFillColor[0] = 255;
@@ -523,8 +523,8 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) {
}
case 2:
if (Actor_HasParent(&this->actor, play)) {
Play_CopyCamera(play, MAIN_CAM, this->subCamId);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_ACTIVE);
Play_CopyCamera(play, CAM_ID_MAIN, this->subCamId);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE);
Play_ClearCamera(play, this->subCamId);
this->actor.parent = NULL;
this->unk_1E2++;
@@ -1052,7 +1052,7 @@ void func_80B559C4(EnZl3* this) {
}
void func_80B55A58(EnZl3* this, PlayState* play) {
if (play->activeCamera == MAIN_CAM) {
if (play->activeCamera == CAM_ID_MAIN) {
func_80B537E8(this);
}
}
@@ -1786,7 +1786,7 @@ void func_80B5764C(EnZl3* this, PlayState* play) {
s32 unk_314 = this->unk_314 + 1;
if ((unk_314 == 1) && !Play_InCsMode(play)) {
OnePointCutscene_Init(play, 1000, 40, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 1000, 40, &this->actor, CAM_ID_MAIN);
}
}
}
@@ -2041,14 +2041,14 @@ void func_80B58014(EnZl3* this, PlayState* play) {
this->action = 29;
func_80B538B0(this);
} else if (func_80B57C8C(this) && func_80B57F84(this, play)) {
OnePointCutscene_Init(play, 4000, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4000, -99, &this->actor, CAM_ID_MAIN);
this->unk_3D0 = 0;
} else if (func_80B576C8(this, play) && func_80B575B0(this, play) && !Play_InCsMode(play)) {
this->action = 0x1F;
this->unk_3CC = 0.0f;
func_80B537E8(this);
this->unk_3D8 = 1;
OnePointCutscene_Init(play, 4010, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4010, -99, &this->actor, CAM_ID_MAIN);
} else if (!func_80B57C8C(this) && !func_80B576C8(this, play) && func_80B57564(this, play)) {
func_80B54E14(this, &gZelda2Anime2Anim_009BE4, 0, -8.0f, 0);
func_80B5764C(this, play);
@@ -2120,7 +2120,7 @@ void func_80B584B4(EnZl3* this, PlayState* play) {
if (D_80B5A4BC == 0) {
if ((nearbyEnTest == NULL) && (!Play_InCsMode(play))) {
this->action = 33;
OnePointCutscene_Init(play, 4011, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4011, -99, &this->actor, CAM_ID_MAIN);
} else if (invincibilityTimer > 0) {
func_80B54E14(this, &gZelda2Anime2Anim_003FF8, 0, -12.0f, 0);
D_80B5A4BC = 1;
@@ -2131,7 +2131,7 @@ void func_80B584B4(EnZl3* this, PlayState* play) {
func_80B54E14(this, &gZelda2Anime2Anim_007664, 0, -12.0f, 0);
D_80B5A4BC = 0;
this->action = 33;
OnePointCutscene_Init(play, 4011, -99, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 4011, -99, &this->actor, CAM_ID_MAIN);
} else if (invincibilityTimer <= 0) {
func_80B54E14(this, &gZelda2Anime2Anim_007664, 0, -12.0f, 0);
D_80B5A4BC = 0;
@@ -155,7 +155,7 @@ void EnfHG_Intro(EnfHG* this, PlayState* play) {
func_80064520(play, &play->csCtx);
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
this->cutsceneCamera = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, this->cutsceneCamera, CAM_STAT_ACTIVE);
this->cutsceneState = INTRO_FENCE;
this->timers[0] = 60;
+10 -10
View File
@@ -5396,9 +5396,9 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
Camera* mainCam;
sSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sSubCamId, CAM_STAT_ACTIVE);
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sCameraEye.x = mainCam->eye.x;
sCameraEye.y = mainCam->eye.y;
sCameraEye.z = mainCam->eye.z;
@@ -5506,7 +5506,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
break;
case 3: {
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
mainCam->eye = sCameraEye;
mainCam->eyeNext = sCameraEye;
@@ -5527,10 +5527,10 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
func_80064520(play, &play->csCtx);
sSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sSubCamId, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, &this->actor, 5);
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sCameraEye.x = mainCam->eye.x;
sCameraEye.y = mainCam->eye.y;
sCameraEye.z = mainCam->eye.z;
@@ -5554,7 +5554,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
// #endregion
if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) {
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
mainCam->eye = sCameraEye;
mainCam->eyeNext = sCameraEye;
@@ -5575,10 +5575,10 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
func_80064520(play, &play->csCtx);
sSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, MAIN_CAM, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT);
Play_ChangeCameraStatus(play, sSubCamId, CAM_STAT_ACTIVE);
Player_SetCsActionWithHaltedActors(play, &this->actor, 5);
mainCam = Play_GetCamera(play, MAIN_CAM);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sCameraEye.x = mainCam->eye.x;
sCameraEye.y = mainCam->eye.y;
sCameraEye.z = mainCam->eye.z;
@@ -5652,7 +5652,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE) ||
(Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) {
if (Message_ShouldAdvance(play)) {
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
Message_CloseTextbox(play);
if (play->msgCtx.choiceIndex == 0) {
@@ -5810,7 +5810,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) {
if ((u8)sStormStrength > 0) {
s32 pad;
Camera* mainCam = Play_GetCamera(play, MAIN_CAM);
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
s16 i;
s32 pad1;
Vec3f pos;
@@ -639,7 +639,7 @@ void ObjBean_WaitForWater(ObjBean* this, PlayState* play) {
(this->dyna.actor.xzDistToPlayer < 50.0f)) {
ObjBean_SetupGrowWaterPhase1(this);
D_80B90E30 = this;
OnePointCutscene_Init(play, 2210, -99, &this->dyna.actor, MAIN_CAM);
OnePointCutscene_Init(play, 2210, -99, &this->dyna.actor, CAM_ID_MAIN);
this->dyna.actor.flags |= ACTOR_FLAG_UPDATE_CULLING_DISABLED;
return;
}
@@ -758,9 +758,9 @@ void ObjBean_WaitForPlayer(ObjBean* this, PlayState* play) {
if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { // Player is standing on
ObjBean_SetupFly(this);
if (play->sceneNum == SCENE_LOST_WOODS) { // Lost woods
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BEAN_LOST_WOODS);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS);
} else {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BEAN_GENERIC);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC);
}
}
ObjBean_UpdatePosition(this);
@@ -783,7 +783,7 @@ void ObjBean_Fly(ObjBean* this, PlayState* play) {
ObjBean_SetupWaitForStepOff(this);
this->dyna.actor.flags &= ~ACTOR_FLAG_UPDATE_CULLING_DISABLED; // Never stop updating (disable)
camera = play->cameraPtrs[MAIN_CAM];
camera = play->cameraPtrs[CAM_ID_MAIN];
if ((camera->setting == CAM_SET_BEAN_LOST_WOODS) || (camera->setting == CAM_SET_BEAN_GENERIC)) {
Camera_ChangeSetting(camera, CAM_SET_NORMAL0);
@@ -794,12 +794,12 @@ void ObjBean_Fly(ObjBean* this, PlayState* play) {
Actor_PlaySfx_Flagged(&this->dyna.actor, NA_SE_PL_PLANT_MOVE - SFX_FLAG);
if (play->sceneNum == SCENE_LOST_WOODS) {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BEAN_LOST_WOODS);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS);
} else {
Camera_ChangeSetting(play->cameraPtrs[MAIN_CAM], CAM_SET_BEAN_GENERIC);
Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC);
}
} else if (this->stateFlags & BEAN_STATE_PLAYER_ON_TOP) {
camera = play->cameraPtrs[MAIN_CAM];
camera = play->cameraPtrs[CAM_ID_MAIN];
if ((camera->setting == CAM_SET_BEAN_LOST_WOODS) || (camera->setting == CAM_SET_BEAN_GENERIC)) {
Camera_ChangeSetting(camera, CAM_SET_NORMAL0);
@@ -120,7 +120,7 @@ void ObjIcePoly_Idle(ObjIcePoly* this, PlayState* play) {
if (this->colliderIce.base.acFlags & AC_HIT) {
this->meltTimer = -this->colliderIce.info.acHitInfo->toucher.damage;
this->actor.focus.rot.y = this->actor.yawTowardsPlayer;
OnePointCutscene_Init(play, 5120, 40, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 5120, 40, &this->actor, CAM_ID_MAIN);
this->actionFunc = ObjIcePoly_Melt;
} else if (this->actor.parent != NULL) {
this->actor.parent->freezeTimer = 40;
@@ -2612,7 +2612,7 @@ void Player_UpdateItems(Player* this, PlayState* play) {
!(this->stateFlags1 & PLAYER_STATE1_START_CHANGING_HELD_ITEM)) &&
((this->heldItemAction == this->itemAction) || (this->stateFlags1 & PLAYER_STATE1_SHIELDING)) &&
(gSaveContext.health != 0) && (play->csCtx.state == CS_STATE_IDLE) && (this->csAction == 0) &&
(play->shootingGalleryStatus == 0) && (play->activeCamera == MAIN_CAM) &&
(play->shootingGalleryStatus == 0) && (play->activeCamera == CAM_ID_MAIN) &&
(play->transitionTrigger != TRANS_TRIGGER_START) && (gSaveContext.timerState != TIMER_STATE_STOP)) {
Player_ProcessItemButtons(this, play);
}
@@ -3542,7 +3542,7 @@ void func_80836448(PlayState* play, Player* this, LinkAnimationHeader* anim) {
gSaveContext.natureAmbienceId = NATURE_ID_DISABLED;
}
OnePointCutscene_Init(play, 9806, cond ? 120 : 60, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 9806, cond ? 120 : 60, &this->actor, CAM_ID_MAIN);
ShrinkWindow_SetVal(0x20);
}
}
@@ -5833,33 +5833,33 @@ void func_8083AA10(Player* this, PlayState* play) {
}
}
/**
* Sets camera mode for first person, depending on what weapon is held if any.
* (This causes the "flickering" with action swap with ranged items, as player
* cannot be first person with a non-ranged weapon.)
* @return new camera mode, `CAM_MODE_NORMAL` if failed
*/
s32 func_8083AD4C(PlayState* play, Player* this) {
s32 camMode;
if (this->unk_6AD == 2) {
if (func_8002DD6C(this)) {
bool shouldUseBowCamera = LINK_IS_ADULT;
if (CVarGetInteger(CVAR_ENHANCEMENT("BowSlingshotAmmoFix"), 0) ||
CVarGetInteger(CVAR_ENHANCEMENT("EquipmentAlwaysVisible"), 0)) {
shouldUseBowCamera = this->heldItemAction != PLAYER_IA_SLINGSHOT;
}
camMode = shouldUseBowCamera ? CAM_MODE_BOWARROW : CAM_MODE_SLINGSHOT;
} else {
// #region SOH [Enhancement]
if (CVarGetInteger(CVAR_ENHANCEMENT("BoomerangFirstPerson"), 0)) {
camMode = CAM_MODE_FIRSTPERSON;
// #endregion
if (LINK_IS_ADULT) {
camMode = CAM_MODE_AIM_ADULT;
} else {
camMode = CAM_MODE_BOOMERANG;
camMode = CAM_MODE_AIM_CHILD;
}
} else {
camMode = CAM_MODE_AIM_BOOMERANG;
}
} else {
camMode = CAM_MODE_FIRSTPERSON;
camMode = CAM_MODE_FIRST_PERSON;
}
return Camera_ChangeMode(Play_GetCamera(play, 0), camMode);
// Check if aiming camera mode should be overridden due to player settings
GameInteractor_Should(VB_CHANGE_AIMING_CAMERA, true, &this->heldItemAction, &camMode);
return Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), camMode);
}
/**
@@ -5927,7 +5927,7 @@ void func_8083AF44(PlayState* play, Player* this, s32 magicSpell) {
}
if (magicSpell == 5) {
this->subCamId = OnePointCutscene_Init(play, 1100, -101, NULL, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(play, 1100, -101, NULL, CAM_ID_MAIN);
} else {
func_80835EA4(play, 10);
}
@@ -7753,7 +7753,7 @@ s32 Player_TryLeavingCrawlspace(Player* this, PlayState* play) {
this->actor.shape.rot.y = this->actor.wallYaw + 0x8000;
Player_AnimPlayOnce(play, this, &gPlayerAnim_link_child_tunnel_end);
Player_StartAnimMovement(play, this, 0x9D);
OnePointCutscene_Init(play, 9601, 999, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 9601, 999, NULL, CAM_ID_MAIN);
} else {
// Leaving a crawlspace backwards
this->actor.shape.rot.y = this->actor.wallYaw;
@@ -7761,7 +7761,7 @@ s32 Player_TryLeavingCrawlspace(Player* this, PlayState* play) {
Animation_GetLastFrame(&gPlayerAnim_link_child_tunnel_start), 0.0f,
ANIMMODE_ONCE, 0.0f);
Player_StartAnimMovement(play, this, 0x9D);
OnePointCutscene_Init(play, 9602, 999, NULL, MAIN_CAM);
OnePointCutscene_Init(play, 9602, 999, NULL, CAM_ID_MAIN);
}
}
@@ -9477,7 +9477,7 @@ void func_80843AE8(PlayState* play, Player* this) {
this->av2.actionVar2 = 60;
Player_SpawnFairy(play, this, &this->actor.world.pos, &D_808545E4, FAIRY_REVIVE_DEATH);
Player_PlaySfx(this, NA_SE_EV_FIATY_HEAL - SFX_FLAG);
OnePointCutscene_Init(play, 9908, 125, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 9908, 125, &this->actor, CAM_ID_MAIN);
} else if (play->gameOverCtx.state == GAMEOVER_DEATH_WAIT_GROUND) {
play->gameOverCtx.state = GAMEOVER_DEATH_DELAY_MENU;
if (!CVarGetInteger(CVAR_ENHANCEMENT("PersistentMasks"), 0)) {
@@ -10668,7 +10668,7 @@ void Player_StartMode_Grotto(PlayState* play, Player* this) {
Player_SetupAction(play, this, Player_Action_8084F9C0, 0);
this->stateFlags1 |= PLAYER_STATE1_IN_CUTSCENE;
this->fallStartHeight = this->actor.world.pos.y;
OnePointCutscene_Init(play, 5110, 40, &this->actor, MAIN_CAM);
OnePointCutscene_Init(play, 5110, 40, &this->actor, CAM_ID_MAIN);
}
void Player_StartMode_KnockedOver(PlayState* play, Player* this) {
@@ -11460,7 +11460,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) {
if (CVarGetInteger(CVAR_ENHANCEMENT("BoomerangFirstPerson"), 0)) {
// Avoid camera jumps by switching to normal cam to exit the first person camera,
// before following the boomerang
if (Play_GetCamera(play, 0)->mode == CAM_MODE_FIRSTPERSON) {
if (Play_GetCamera(play, 0)->mode == CAM_MODE_FIRST_PERSON) {
camMode = CAM_MODE_NORMAL;
} else {
camMode = CAM_MODE_FOLLOWBOOMERANG;