diff --git a/include/functions.h b/include/functions.h index 6c5b1333de..38d7454fd7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -690,7 +690,7 @@ s32 func_800B874C(Actor* actor, PlayState* play, f32 xzRange, f32 yRange); s32 func_800B8804(Actor* actor, PlayState* play, f32 xzRange); s32 func_800B886C(Actor* actor, PlayState* play); void Actor_GetScreenPos(PlayState* play, Actor* actor, s16* x, s16* y); -s32 func_800B8934(PlayState* play, Actor* actor); +s32 Actor_OnScreen(PlayState* play, Actor* actor); s32 Actor_HasParent(Actor* actor, PlayState* play); s32 Actor_PickUp(Actor* actor, PlayState* play, s32 getItemId, f32 xzRange, f32 yRange); s32 Actor_PickUpNearby(Actor* actor, PlayState* play, s32 getItemId); @@ -1105,8 +1105,8 @@ Camera* Camera_Alloc(View* view, CollisionContext* bg, PlayState* play); void Camera_Free(Camera* camera); void Camera_Init(Camera* camera, View* view, CollisionContext* bg, PlayState* play); // void func_800DDFE0(void); -void func_800DE0EC(Camera* camera, Actor* actor); -// s32 func_800DE308(Camera* camera, UNK_TYPE2 uParm2); +void Camera_InitPlayerSettings(Camera* camera, Player* player); +s32 Camera_ChangeStatus(Camera* camera, s16 status); // void func_800DE324(void); // void func_800DE62C(void); // void func_800DE840(void); @@ -1127,7 +1127,7 @@ void Camera_GetCamDir(Vec3s* dst, Camera* camera); s16 Camera_GetCamDirPitch(Camera* camera); s16 Camera_GetCamDirYaw(Camera* camera); void Camera_AddQuake(Camera* camera, s32 arg1, s16 y, s32 countdown); -void func_800DFD78(Camera* camera, s32 paramFlag, void* value); +s32 Camera_SetViewParam(Camera* camera, s32 viewFlag, void* param); // UNK_TYPE4 func_800DFEF0(s32 param_1, u16 param_2); // UNK_TYPE4 func_800DFF18(Camera* iParm1, UNK_TYPE2 uParm2); // UNK_TYPE4 func_800DFF34(s32 param_1); @@ -1135,7 +1135,7 @@ void func_800DFD78(Camera* camera, s32 paramFlag, void* value); s16 Camera_SetFlags(Camera* iParm1, s16 flags); s16 Camera_ClearFlags(Camera* camera, s16 flags); s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 bgCamDataId, f32 arg3, s16 timer1, s16 timer2, s16 timer3); -// UNK_TYPE4 func_800E007C(Camera* param_1, Camera* param_2); +s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera); // UNK_TYPE4 func_800E01AC(void); Vec3f* Camera_GetQuakeOffset(Vec3f* dst, Camera* camera); // void func_800E01DC(s32 param_1, u32 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6); @@ -2574,18 +2574,18 @@ void func_80165690(void); // void func_80165EC0(void); // void func_80166060(void); Gfx* func_801660B8(PlayState* play, Gfx* gfx); -void Play_Fini(GameState* thisx); +void Play_Destroy(GameState* thisx); // void func_801663C4(void); // void func_80166644(void); // void func_801668B4(void); void func_80166968(PlayState* play, Camera* camera); void func_80166B30(PlayState* play); -void func_80167814(PlayState* play); +void Play_Update(PlayState* play); void func_80167DE4(PlayState* play); // void func_80167F0C(void); void Play_Draw(PlayState* play); void func_80168DAC(PlayState* play); -void Play_Update(PlayState* play); +void Play_Main(PlayState* play); s32 Play_InCsMode(PlayState* play); f32 func_80169100(PlayState* play, MtxF* mtx, CollisionPoly** arg2, s32* arg3, Vec3f* feetPosPtr); // void func_801691F0(void); @@ -2593,19 +2593,19 @@ void* Play_LoadScene(PlayState* play, RomFile* entry); void func_8016927C(PlayState* play, s16 sParm2); // void func_801692C4(PlayState* play, UNK_TYPE1 uParm2); // void Play_SceneInit(PlayState* play, s32 sceneIndex, UNK_TYPE1 param_3); -UNK_RET func_80169474(PlayState* play, Vec3f* v1, Vec3f* v2); -s32 Play_CreateSubCamera(PlayState* play); -s32 Play_GetActiveCamId(PlayState* play); -void Play_CameraChangeStatus(PlayState* play, s16 camId, s16 status); +void Play_GetScreenPos(PlayState* play, Vec3f* worldPos, Vec3f* screenPos); +s16 Play_CreateSubCamera(PlayState* play); +s16 Play_GetActiveCamId(PlayState* play); +s32 Play_ChangeCameraStatus(PlayState* play, s16 camId, s16 status); void Play_ClearCamera(PlayState* play, s16 camId); Camera* Play_GetCamera(PlayState* play, s16 camId); -s32 Play_CameraSetAtEye(PlayState* play, s16 camId, Vec3f* at, Vec3f* eye); -void Play_CameraSetAtEyeUp(PlayState* play, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up); -void Play_CameraSetFov(PlayState* play, s16 camId, f32 fov); -void Play_CameraSetRoll(PlayState* play, s16 camId, s16 roll); +s32 Play_SetCameraAtEye(PlayState* play, s16 camId, Vec3f* at, Vec3f* eye); +s32 Play_SetCameraAtEyeUp(PlayState* play, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up); +s32 Play_SetCameraFov(PlayState* play, s16 camId, f32 fov); +s32 Play_SetCameraRoll(PlayState* play, s16 camId, s16 roll); void Play_CopyCamera(PlayState* play, s16 dstCamId, s16 srcCamId); -// void func_80169A50(void); -void Play_CameraChangeSetting(PlayState* play, s16 camId, s16 setting); +s32 func_80169A50(PlayState* play, s16 camId, Player* player, s16 setting); +s32 Play_ChangeCameraSetting(PlayState* play, s16 camId, s16 setting); void func_80169AFC(PlayState* play, s16 camId, s16 arg2); u16 Play_GetActorCsCamSetting(PlayState* play, s32 csCamDataIndex); Vec3s* Play_GetActorCsCamFuncData(PlayState* play, s32 csCamDataIndex); diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 9ca8ffd6e0..751327552c 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -393,11 +393,7 @@ void func_800B4B50(Actor* actor, Lights* mapper, PlayState* play) { void Actor_GetProjectedPos(PlayState* play, Vec3f* worldPos, Vec3f* projectedPos, f32* invW) { SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, worldPos, projectedPos, invW); - if (*invW < 1.0f) { - *invW = 1.0f; - } else { - *invW = 1.0f / *invW; - } + *invW = (*invW < 1.0f) ? 1.0f : (1.0f / *invW); } void Target_SetPos(TargetContext* targetCtx, s32 index, f32 x, f32 y, f32 z) { @@ -507,11 +503,11 @@ void Actor_DrawZTarget(TargetContext* targetCtx, PlayState* play) { Actor_GetProjectedPos(play, &targetCtx->targetCenterPos, &projectedPos, &invW); - projectedPos.x = (160 * (projectedPos.x * invW)) * var1; - projectedPos.x = CLAMP(projectedPos.x, -320.0f, 320.0f); + projectedPos.x = ((SCREEN_WIDTH / 2) * (projectedPos.x * invW)) * var1; + projectedPos.x = CLAMP(projectedPos.x, -SCREEN_WIDTH, SCREEN_WIDTH); - projectedPos.y = (120 * (projectedPos.y * invW)) * var1; - projectedPos.y = CLAMP(projectedPos.y, -240.0f, 240.0f); + projectedPos.y = ((SCREEN_HEIGHT / 2) * (projectedPos.y * invW)) * var1; + projectedPos.y = CLAMP(projectedPos.y, -SCREEN_HEIGHT, SCREEN_HEIGHT); projectedPos.z = projectedPos.z * var1; @@ -588,8 +584,8 @@ void func_800B5814(TargetContext* targetCtx, Player* player, Actor* actor, GameS PlayState* play = (PlayState*)gameState; Actor* sp68 = NULL; s32 category; - Vec3f sp58; - f32 sp54; + Vec3f projectedPos; + f32 invW; if ((player->unk_730 != 0) && (player->unk_AE3[player->unk_ADE] == 2)) { targetCtx->unk_94 = NULL; @@ -641,8 +637,9 @@ void func_800B5814(TargetContext* targetCtx, Player* player, Actor* actor, GameS } if (actor != NULL && targetCtx->unk4B == 0) { - Actor_GetProjectedPos(play, &actor->focus.pos, &sp58, &sp54); - if ((sp58.z <= 0.0f) || (fabsf(sp58.x * sp54) >= 1.0f) || (fabsf(sp58.y * sp54) >= 1.0f)) { + Actor_GetProjectedPos(play, &actor->focus.pos, &projectedPos, &invW); + if ((projectedPos.z <= 0.0f) || (fabsf(projectedPos.x * invW) >= 1.0f) || + (fabsf(projectedPos.y * invW) >= 1.0f)) { actor = NULL; } } @@ -1963,14 +1960,15 @@ s32 func_800B886C(Actor* actor, PlayState* play) { void Actor_GetScreenPos(PlayState* play, Actor* actor, s16* x, s16* y) { Vec3f projectedPos; - f32 w; + f32 invW; - Actor_GetProjectedPos(play, &actor->focus.pos, &projectedPos, &w); - *x = PROJECTED_TO_SCREEN_X(projectedPos, w); - *y = PROJECTED_TO_SCREEN_Y(projectedPos, w); + Actor_GetProjectedPos(play, &actor->focus.pos, &projectedPos, &invW); + + *x = PROJECTED_TO_SCREEN_X(projectedPos, invW); + *y = PROJECTED_TO_SCREEN_Y(projectedPos, invW); } -s32 func_800B8934(PlayState* play, Actor* actor) { +s32 Actor_OnScreen(PlayState* play, Actor* actor) { Vec3f projectedPos; f32 invW; s32 pad[2]; @@ -4058,7 +4056,7 @@ s32 func_800BD2B4(PlayState* play, Actor* actor, s16* arg2, f32 arg3, u16 (*text } else if (*arg2) { *arg2 = arg5(play, actor); return false; - } else if (!func_800B8934(play, actor)) { + } else if (!Actor_OnScreen(play, actor)) { return false; } else if (!func_800B8614(actor, play, arg3)) { return false; diff --git a/src/code/z_camera.c b/src/code/z_camera.c index 63a06b512c..20420d6efb 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -372,9 +372,9 @@ s32 Camera_GetWaterBoxBgCamSetting(Camera* camera, f32* waterY) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE0E0.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE0EC.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_InitPlayerSettings.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE308.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ChangeStatus.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DE324.s") @@ -416,7 +416,7 @@ s32 Camera_GetWaterBoxBgCamSetting(Camera* camera, f32* waterY) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_AddQuake.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFD78.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_SetViewParam.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800DFEF0.s") @@ -432,7 +432,7 @@ s32 Camera_GetWaterBoxBgCamSetting(Camera* camera, f32* waterY) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_ChangeDoorCam.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E007C.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/Camera_Copy.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_camera/func_800E01AC.s") diff --git a/src/code/z_game_dlftbls.c b/src/code/z_game_dlftbls.c index 2df62a054b..a79c732d8d 100644 --- a/src/code/z_game_dlftbls.c +++ b/src/code/z_game_dlftbls.c @@ -17,7 +17,7 @@ GameStateOverlay gGameStateOverlayTable[] = { GAMESTATE_OVERLAY_INTERNAL(TitleSetup_Init, TitleSetup_Destroy, sizeof(GameState)), GAMESTATE_OVERLAY(select, MapSelect_Init, MapSelect_Destroy, sizeof(MapSelectState)), GAMESTATE_OVERLAY(title, Title_Init, Title_Destroy, sizeof(TitleContext)), - GAMESTATE_OVERLAY_INTERNAL(Play_Init, Play_Fini, sizeof(PlayState)), + GAMESTATE_OVERLAY_INTERNAL(Play_Init, Play_Destroy, sizeof(PlayState)), GAMESTATE_OVERLAY(opening, Opening_Init, Opening_Destroy, sizeof(OpeningContext)), GAMESTATE_OVERLAY(file_choose, FileChoose_Init, FileChoose_Destroy, sizeof(FileChooseContext)), GAMESTATE_OVERLAY(daytelop, Daytelop_Init, Daytelop_Destroy, sizeof(DaytelopContext)), diff --git a/src/code/z_lights.c b/src/code/z_lights.c index 92e9beb307..e3e732eb39 100644 --- a/src/code/z_lights.c +++ b/src/code/z_lights.c @@ -379,22 +379,22 @@ void Lights_GlowCheck(PlayState* play) { LightPoint* params = &light->info->params.point; if (light->info->type == LIGHT_POINT_GLOW) { - Vec3f pos; + Vec3f worldPos; Vec3f projectedPos; f32 invW; - pos.x = params->x; - pos.y = params->y; - pos.z = params->z; - Actor_GetProjectedPos(play, &pos, &projectedPos, &invW); + worldPos.x = params->x; + worldPos.y = params->y; + worldPos.z = params->z; + Actor_GetProjectedPos(play, &worldPos, &projectedPos, &invW); params->drawGlow = 0; if ((projectedPos.z > 1) && (fabsf(projectedPos.x * invW) < 1) && (fabsf(projectedPos.y * invW) < 1)) { - s32 wX = PROJECTED_TO_SCREEN_X(projectedPos, invW); - s32 wY = PROJECTED_TO_SCREEN_Y(projectedPos, invW); - s32 wZ = (s32)((projectedPos.z * invW) * 16352) + 16352; - s32 zBuf = func_80178A94(wX, wY); + s32 screenPosX = PROJECTED_TO_SCREEN_X(projectedPos, invW); + s32 screenPosY = PROJECTED_TO_SCREEN_Y(projectedPos, invW); + s32 wZ = (s32)((projectedPos.z * invW) * 16352.0f) + 16352; + s32 zBuf = func_80178A94(screenPosX, screenPosY); if (wZ < zBuf) { params->drawGlow = 1; diff --git a/src/code/z_play.c b/src/code/z_play.c index 6d90048f59..014fb62793 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -34,7 +34,7 @@ #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801660B8.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Fini.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Destroy.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_801663C4.s") @@ -46,7 +46,7 @@ #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80166B30.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80167814.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Update.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80167DE4.s") @@ -56,7 +56,7 @@ #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80168DAC.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Update.s") +#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_Main.s") s32 Play_InCsMode(PlayState* this) { return (this->csCtx.state != 0) || Player_InCsMode(this); @@ -74,39 +74,217 @@ s32 Play_InCsMode(PlayState* this) { #pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_SceneInit.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169474.s") +void Play_GetScreenPos(PlayState* this, Vec3f* worldPos, Vec3f* screenPos) { + f32 invW; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CreateSubCamera.s") + // screenPos temporarily stores the projectedPos + Actor_GetProjectedPos(this, worldPos, screenPos, &invW); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_GetActiveCamId.s") + screenPos->x = (SCREEN_WIDTH / 2) + (screenPos->x * invW * (SCREEN_WIDTH / 2)); + screenPos->y = (SCREEN_HEIGHT / 2) - (screenPos->y * invW * (SCREEN_HEIGHT / 2)); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraChangeStatus.s") +s16 Play_CreateSubCamera(PlayState* this) { + s16 subCamId; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_ClearCamera.s") + for (subCamId = CAM_ID_SUB_FIRST; subCamId < NUM_CAMS; subCamId++) { + if (this->cameraPtrs[subCamId] == NULL) { + break; + } + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_ClearAllSubCameras.s") + // if no subCameras available + if (subCamId == NUM_CAMS) { + return CAM_ID_NONE; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_GetCamera.s") + this->cameraPtrs[subCamId] = &this->subCameras[subCamId - CAM_ID_SUB_FIRST]; + Camera_Init(this->cameraPtrs[subCamId], &this->view, &this->colCtx, this); + this->cameraPtrs[subCamId]->camId = subCamId; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraSetAtEye.s") + return subCamId; +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraSetAtEyeUp.s") +s16 Play_GetActiveCamId(PlayState* this) { + return this->activeCamId; +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraSetFov.s") +s32 Play_ChangeCameraStatus(PlayState* this, s16 camId, s16 status) { + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraSetRoll.s") + if (status == CAM_STATUS_ACTIVE) { + this->activeCamId = camIdx; + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CopyCamera.s") + return Camera_ChangeStatus(this->cameraPtrs[camIdx], status); +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169A50.s") +void Play_ClearCamera(PlayState* this, s16 camId) { + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraChangeSetting.s") + if (this->cameraPtrs[camIdx] != NULL) { + Camera_ChangeStatus(this->cameraPtrs[camIdx], CAM_STATUS_INACTIVE); + this->cameraPtrs[camIdx] = NULL; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169AFC.s") +void Play_ClearAllSubCameras(PlayState* this) { + s16 subCamId; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/Play_CameraGetUID.s") + for (subCamId = CAM_ID_SUB_FIRST; subCamId < NUM_CAMS; subCamId++) { + if (this->cameraPtrs[subCamId] != NULL) { + Play_ClearCamera(this, subCamId); + } + } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_play/func_80169BF8.s") + this->activeCamId = CAM_ID_MAIN; +} + +Camera* Play_GetCamera(PlayState* this, s16 camId) { + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + + return this->cameraPtrs[camIdx]; +} + +/** + * @return bit-packed success if each of the params were applied + */ +s32 Play_SetCameraAtEye(PlayState* this, s16 camId, Vec3f* at, Vec3f* eye) { + s32 successfullySet = 0; + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + Camera* camera = this->cameraPtrs[camIdx]; + + successfullySet |= Camera_SetViewParam(camera, CAM_VIEW_AT, at); + successfullySet <<= 1; + successfullySet |= Camera_SetViewParam(camera, CAM_VIEW_EYE, eye); + + camera->dist = Math3D_Distance(at, eye); + + if (camera->focalActor != NULL) { + camera->atActorOffset.x = at->x - camera->focalActor->world.pos.x; + camera->atActorOffset.y = at->y - camera->focalActor->world.pos.y; + camera->atActorOffset.z = at->z - camera->focalActor->world.pos.z; + } else { + camera->atActorOffset.x = camera->atActorOffset.y = camera->atActorOffset.z = 0.0f; + } + + camera->atLerpStepScale = 0.01f; + + return successfullySet; +} + +/** + * @return bit-packed success if each of the params were applied + */ +s32 Play_SetCameraAtEyeUp(PlayState* this, s16 camId, Vec3f* at, Vec3f* eye, Vec3f* up) { + s32 successfullySet = 0; + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + Camera* camera = this->cameraPtrs[camIdx]; + + successfullySet |= Camera_SetViewParam(camera, CAM_VIEW_AT, at); + successfullySet <<= 1; + successfullySet |= Camera_SetViewParam(camera, CAM_VIEW_EYE, eye); + successfullySet <<= 1; + successfullySet |= Camera_SetViewParam(camera, CAM_VIEW_UP, up); + + camera->dist = Math3D_Distance(at, eye); + + if (camera->focalActor != NULL) { + camera->atActorOffset.x = at->x - camera->focalActor->world.pos.x; + camera->atActorOffset.y = at->y - camera->focalActor->world.pos.y; + camera->atActorOffset.z = at->z - camera->focalActor->world.pos.z; + } else { + camera->atActorOffset.x = camera->atActorOffset.y = camera->atActorOffset.z = 0.0f; + } + + camera->atLerpStepScale = 0.01f; + + return successfullySet; +} + +/** + * @return true if the fov was successfully set + */ +s32 Play_SetCameraFov(PlayState* this, s16 camId, f32 fov) { + s32 successfullySet = Camera_SetViewParam(this->cameraPtrs[camId], CAM_VIEW_FOV, &fov) & 1; + + if (1) {} + return successfullySet; +} + +s32 Play_SetCameraRoll(PlayState* this, s16 camId, s16 roll) { + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + Camera* camera = this->cameraPtrs[camIdx]; + + camera->roll = roll; + + return 1; +} + +void Play_CopyCamera(PlayState* this, s16 destCamId, s16 srcCamId) { + s16 srcCamId2 = (srcCamId == CAM_ID_NONE) ? this->activeCamId : srcCamId; + s16 destCamId1 = (destCamId == CAM_ID_NONE) ? this->activeCamId : destCamId; + + Camera_Copy(this->cameraPtrs[destCamId1], this->cameraPtrs[srcCamId2]); +} + +// Same as Play_ChangeCameraSetting but also calls Camera_InitPlayerSettings +s32 func_80169A50(PlayState* this, s16 camId, Player* player, s16 setting) { + Camera* camera; + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + + camera = this->cameraPtrs[camIdx]; + Camera_InitPlayerSettings(camera, player); + return Camera_ChangeSetting(camera, setting); +} + +s32 Play_ChangeCameraSetting(PlayState* this, s16 camId, s16 setting) { + return Camera_ChangeSetting(Play_GetCamera(this, camId), setting); +} + +// Related to bosses and fishing +void func_80169AFC(PlayState* this, s16 camId, s16 timer) { + s16 camIdx = (camId == CAM_ID_NONE) ? this->activeCamId : camId; + s16 i; + + Play_ClearCamera(this, camIdx); + + for (i = CAM_ID_SUB_FIRST; i < NUM_CAMS; i++) { + if (this->cameraPtrs[i] != NULL) { + Play_ClearCamera(this, i); + } + } + + if (timer <= 0) { + Play_ChangeCameraStatus(this, CAM_ID_MAIN, CAM_STATUS_ACTIVE); + this->cameraPtrs[CAM_ID_MAIN]->childCamId = this->cameraPtrs[CAM_ID_MAIN]->doorTimer2 = 0; + } +} + +s16 Play_GetCameraUID(PlayState* this, s16 camId) { + Camera* camera = this->cameraPtrs[camId]; + + if (camera != NULL) { + return camera->uid; + } else { + return -1; + } +} + +// Unused in both MM and OoT, purpose is very unclear +s16 func_80169BF8(PlayState* this, s16 camId, s16 uid) { + Camera* camera = this->cameraPtrs[camId]; + + if (camera != NULL) { + return 0; + } else if (camera->uid != uid) { + return 0; + } else if (camera->status != CAM_STATUS_ACTIVE) { + return 2; + } else { + return 1; + } +} u16 Play_GetActorCsCamSetting(PlayState* this, s32 csCamDataIndex) { ActorCsCamInfo* actorCsCamList = &this->actorCsCamList[csCamDataIndex]; diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 98a237b100..100cb3f8ab 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -706,8 +706,8 @@ void func_80123E90(PlayState* play, Actor* actor) { player->unk_730 = actor; player->unk_A78 = actor; player->stateFlags1 |= PLAYER_STATE1_10000; - func_800DFD78(Play_GetCamera(play, CAM_ID_MAIN), 8, actor); - Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), 9); + Camera_SetViewParam(Play_GetCamera(play, CAM_ID_MAIN), CAM_VIEW_TARGET, actor); + Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_FOLLOWTARGET); } s32 func_80123F14(PlayState* play) { diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.c b/src/overlays/actors/ovl_Boss_02/z_boss_02.c index 8a1d3e76b5..3ed675c5fe 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.c +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.c @@ -1634,8 +1634,8 @@ void func_809DD934(Boss02* this, PlayState* play) { if (player->stateFlags1 & 0x100) { Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); func_8016566C(150); this->unk_1D14 = 0; this->subCamAtVel = 0.0f; @@ -2032,7 +2032,7 @@ void func_809DD934(Boss02* this, PlayState* play) { this->unk_1D54 = Math_SinS(this->unk_1D14 * 1512) * this->unk_1D58; Matrix_RotateZF(this->unk_1D54, MTXMODE_APPLY); Matrix_MultVecY(1.0f, &this->subCamUp); - Play_CameraSetAtEyeUp(play, this->subCamId, &this->subCamAt, &this->subCamEye, &this->subCamUp); + Play_SetCameraAtEyeUp(play, this->subCamId, &this->subCamAt, &this->subCamEye, &this->subCamUp); ShrinkWindow_SetLetterboxTarget(27); } } @@ -2060,8 +2060,8 @@ void func_809DEAC4(Boss02* this, PlayState* play) { } Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); this->unk_1D20 = 2; this->unk_1D1C = 0; @@ -2157,8 +2157,8 @@ void func_809DEAC4(Boss02* this, PlayState* play) { if (ActorCutscene_GetCurrentIndex() == -1) { Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); this->unk_1D20 = 101; this->unk_1D1C = 0; this->subCamAtVel = 1.0f; @@ -2238,7 +2238,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) { if ((this->unk_1D20 != 0) && (this->subCamId != SUB_CAM_ID_DONE)) { subCamEye = this->subCamEye; subCamEye.y += sp58 * D_809DF5B0; - Play_CameraSetAtEyeUp(play, this->subCamId, &this->subCamAt, &subCamEye, &this->subCamUp); + Play_SetCameraAtEyeUp(play, this->subCamId, &this->subCamAt, &subCamEye, &this->subCamUp); this->subCamUp.z = this->subCamUp.x = 0.0f; this->subCamUp.y = 1.0f; ShrinkWindow_SetLetterboxTarget(27); diff --git a/src/overlays/actors/ovl_Boss_03/z_boss_03.c b/src/overlays/actors/ovl_Boss_03/z_boss_03.c index 33c6b6fc7d..32258b61de 100644 --- a/src/overlays/actors/ovl_Boss_03/z_boss_03.c +++ b/src/overlays/actors/ovl_Boss_03/z_boss_03.c @@ -1151,8 +1151,8 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) { Cutscene_Start(play, &play->csCtx); func_800B7298(play, &this->actor, 7); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); this->actor.world.rot.y = -0x7B30; this->prevPlayerPos.y = 1850.0f; @@ -1409,8 +1409,8 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) { } if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); - Play_CameraSetFov(play, this->subCamId, this->subCamFov); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraFov(play, this->subCamId, this->subCamFov); } } @@ -1451,8 +1451,8 @@ void Boss03_DeathCutscene(Boss03* this, PlayState* play) { Cutscene_Start(play, &play->csCtx); func_800B7298(play, &this->actor, 1); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); this->unk_2BE = Math_FAtan2F(this->actor.world.pos.z, this->actor.world.pos.x); // Player is above water && Player is standing on ground @@ -1643,7 +1643,7 @@ void Boss03_DeathCutscene(Boss03* this, PlayState* play) { } if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); } } @@ -1665,8 +1665,8 @@ void Boss03_SpawnSmallFishesCutscene(Boss03* this, PlayState* play) { Cutscene_Start(play, &play->csCtx); func_800B7298(play, &this->actor, 1); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); this->csState = 1; this->unk_2BE = 0xBB8; @@ -1734,7 +1734,7 @@ void Boss03_SpawnSmallFishesCutscene(Boss03* this, PlayState* play) { } if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); } } diff --git a/src/overlays/actors/ovl_Boss_04/z_boss_04.c b/src/overlays/actors/ovl_Boss_04/z_boss_04.c index 2fb1e79b78..3524efa53c 100644 --- a/src/overlays/actors/ovl_Boss_04/z_boss_04.c +++ b/src/overlays/actors/ovl_Boss_04/z_boss_04.c @@ -260,8 +260,8 @@ void func_809EC568(Boss04* this, PlayState* play) { this->unk_704 = 0; Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); func_800B7298(play, &this->actor, 7); player->actor.world.pos.x = this->unk_6E8; player->actor.world.pos.z = this->unk_6F0 + 410.0f; @@ -405,8 +405,8 @@ void func_809EC568(Boss04* this, PlayState* play) { } Math_Vec3f_Copy(&subCamAt, &this->subCamAt); subCamAt.y += Math_SinS(this->subCamAtOscillator * 0x4000) * this->subCamAtOscillator * 1.5f; - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &this->subCamEye); - Play_CameraSetFov(play, this->subCamId, this->subCamFov); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &this->subCamEye); + Play_SetCameraFov(play, this->subCamId, this->subCamFov); Math_ApproachF(&this->subCamFov, 60.0f, 0.1f, 1.0f); } this->actor.shape.rot.y = this->actor.yawTowardsPlayer; diff --git a/src/overlays/actors/ovl_Boss_06/z_boss_06.c b/src/overlays/actors/ovl_Boss_06/z_boss_06.c index f6e78b7840..045a769953 100644 --- a/src/overlays/actors/ovl_Boss_06/z_boss_06.c +++ b/src/overlays/actors/ovl_Boss_06/z_boss_06.c @@ -201,8 +201,8 @@ void func_809F24C8(Boss06* this, PlayState* play) { Cutscene_Start(play, &play->csCtx); func_800B7298(play, &this->actor, 7); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); D_809F4970->unk_151 = 1; this->unk_1C9 = 1; this->unk_1C8 = 1; @@ -340,7 +340,7 @@ void func_809F24C8(Boss06* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { ShrinkWindow_SetLetterboxTarget(27); - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); } } #else diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c index 8aba01fc05..64c42a1cec 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -515,11 +515,11 @@ void DemoKakyo_DrawLostWoodsSparkle(Actor* thisx, PlayState* play2) { worldPos.y = this->effects[i].posBase.y + this->effects[i].posOffset.y; worldPos.z = this->effects[i].posBase.z + this->effects[i].posOffset.z; - func_80169474(play, &worldPos, &screenPos); // unnamed Play_ function, func_800C016C from OoT + Play_GetScreenPos(play, &worldPos, &screenPos); // checking if particle is on screen - if (screenPos.x >= 0.0f && screenPos.x < SCREEN_WIDTH && screenPos.y >= 0.0f && - screenPos.y < SCREEN_HEIGHT) { + if ((screenPos.x >= 0.0f) && (screenPos.x < SCREEN_WIDTH) && (screenPos.y >= 0.0f) && + (screenPos.y < SCREEN_HEIGHT)) { Matrix_Translate(worldPos.x, worldPos.y, worldPos.z, MTXMODE_NEW); scaleAlpha = this->effects[i].alpha / 50.0f; if (scaleAlpha > 1.0f) { @@ -604,11 +604,11 @@ void DemoKankyo_DrawMoonAndGiant(Actor* thisx, PlayState* play2) { worldPos.y = this->effects[i].posBase.y + this->effects[i].posOffset.y; worldPos.z = this->effects[i].posBase.z + this->effects[i].posOffset.z; - func_80169474(play, &worldPos, &screenPos); // unnamed Play_ function, func_800C016C from OoT + Play_GetScreenPos(play, &worldPos, &screenPos); // checking if effect is on screen - if (screenPos.x >= 0.0f && screenPos.x < SCREEN_WIDTH && screenPos.y >= 0.0f && - screenPos.y < SCREEN_HEIGHT) { + if ((screenPos.x >= 0.0f) && (screenPos.x < SCREEN_WIDTH) && (screenPos.y >= 0.0f) && + (screenPos.y < SCREEN_HEIGHT)) { Matrix_Translate(worldPos.x, worldPos.y, worldPos.z, MTXMODE_NEW); alphaScale = this->effects[i].alpha / 50.0f; if (alphaScale > 1.0f) { diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index 3d84f53560..5688dd43ce 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -1152,9 +1152,10 @@ void DmStk_WaitForTelescope(DmStk* this, PlayState* play) { Vec3f screenPos; if (!(gSaveContext.save.weekEventReg[74] & 0x20)) { - func_80169474(play, &this->actor.world.pos, &screenPos); + Play_GetScreenPos(play, &this->actor.world.pos, &screenPos); if (play->view.fovy < 25.0f) { - if ((screenPos.x >= 70.0f) && (screenPos.x < 250.0f) && (screenPos.y >= 30.0f) && (screenPos.y < 210.0f)) { + if ((screenPos.x >= 70.0f) && (screenPos.x < (SCREEN_WIDTH - 70.0f)) && (screenPos.y >= 30.0f) && + (screenPos.y < (SCREEN_HEIGHT - 30.0f))) { func_800FE484(); this->actionFunc = DmStk_StartTelescopeCutscene; } diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c index 1022d45f82..bb3f28bee6 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -131,7 +131,7 @@ void EnBigokuta_SetupCutsceneCamera(EnBigokuta* this, PlayState* play, Vec3f* su ActorCutscene_Start(this->picto.actor.cutscene, &this->picto.actor); this->subCamId = ActorCutscene_GetCurrentSubCamId(this->picto.actor.cutscene); - Play_CameraSetAtEye(play, this->subCamId, subCamAt, subCamEye); + Play_SetCameraAtEye(play, this->subCamId, subCamAt, subCamEye); angle = BINANG_SUB(Actor_YawToPoint(&this->picto.actor, subCamEye), this->picto.actor.home.rot.y); if (angle > 0) { @@ -150,7 +150,7 @@ void EnBigokuta_MoveCamera(EnBigokuta* this, PlayState* play) { Math_Vec3f_StepTo(&subCam->eye, &this->subCamEye, 20.0f); Math_Vec3f_StepTo(&subCam->at, &this->subCamAt, 20.0f); - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCam->eye); } void EnBigokuta_ResetCamera(EnBigokuta* this, PlayState* play) { @@ -158,7 +158,7 @@ void EnBigokuta_ResetCamera(EnBigokuta* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { subCam = Play_GetCamera(play, this->subCamId); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); this->subCamId = SUB_CAM_ID_DONE; ActorCutscene_Stop(this->picto.actor.cutscene); } diff --git a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c index 74e58ee76e..e0585b8f5f 100644 --- a/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c +++ b/src/overlays/actors/ovl_En_Bigpo/z_en_bigpo.c @@ -278,7 +278,7 @@ void EnBigpo_LowerCutsceneSubCamera(EnBigpo* this, PlayState* play) { subCam->eye.x -= 1.5f * Math_SinS(this->actor.yawTowardsPlayer); subCam->eye.z -= 1.5f * Math_CosS(this->actor.yawTowardsPlayer); } - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); } } @@ -338,7 +338,7 @@ void EnBigpo_SpawnCutsceneStage1(EnBigpo* this, PlayState* play) { subCamEye.x = ((this->actor.world.pos.x - this->fires[0].pos.x) * 1.8f) + this->actor.world.pos.x; subCamEye.y = this->actor.world.pos.y + 150.0f; subCamEye.z = ((this->actor.world.pos.z - this->fires[0].pos.z) * 1.8f) + this->actor.world.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); } this->actionFunc = EnBigpo_SpawnCutsceneStage2; } @@ -460,7 +460,7 @@ void EnBigpo_SpawnCutsceneStage8(EnBigpo* this, PlayState* play) { this->idleTimer--; if (this->idleTimer == 0) { subCam = Play_GetCamera(play, this->subCamId); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); this->subCamId = SUB_CAM_ID_DONE; if (this->actor.params == ENBIGPO_SUMMONED) { dampe = SubS_FindActor(play, NULL, ACTORCAT_NPC, ACTOR_EN_TK); @@ -957,7 +957,7 @@ void EnBigpo_SetupFlameCirclePositions(EnBigpo* this, PlayState* play) { subCamEye.x = (Math_SinS(this->actor.yawTowardsPlayer) * 360.0f) + this->actor.world.pos.x; subCamEye.y = this->actor.world.pos.y + 150.0f; subCamEye.z = (Math_CosS(this->actor.yawTowardsPlayer) * 360.0f) + this->actor.world.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); } this->actionFunc = EnBigpo_DoNothing; diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c index 6f48cdb7a0..f953f17ab5 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c @@ -795,7 +795,7 @@ void EnBigslime_UpdateCameraGrabPlayer(EnBigslime* this, PlayState* play) { Math_StepToF(&subCamAt.y, GBT_ROOM_5_MIN_Y + 87.5f, 10.0f); Math_StepToF(&subCamAt.z, this->actor.world.pos.z, 10.0f); - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); } /** @@ -810,7 +810,7 @@ void EnBigslime_JerkCameraPlayerHit(EnBigslime* this, PlayState* play) { Math_Vec3f_Diff(&subCam->eye, &subCam->at, &subCamEye); Math_Vec3f_Scale(&subCamEye, 0.9f); Math_Vec3f_Sum(&subCamEye, &subCam->at, &subCamEye); - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCamEye); } /** @@ -828,7 +828,7 @@ void EnBigslime_UpdateCameraIntroCs(EnBigslime* this, PlayState* play, s32 notic subCamEye.z = Math_CosS(yawOffset) * zoom + subCam->at.z; subCamEye.y = subCam->at.y + -4.0f + (noticeTimer * 2.0f); - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCamEye); } /** @@ -836,7 +836,7 @@ void EnBigslime_UpdateCameraIntroCs(EnBigslime* this, PlayState* play, s32 notic * center of the roof. This is used when the minislimes merges into bigslime. */ void EnBigslime_UpdateCameraFormingBigslime(EnBigslime* this, PlayState* play) { - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &Play_GetCamera(play, this->subCamId)->eye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &Play_GetCamera(play, this->subCamId)->eye); } void EnBigslime_EndCutscene(EnBigslime* this, PlayState* play) { @@ -844,7 +844,7 @@ void EnBigslime_EndCutscene(EnBigslime* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { subCam = Play_GetCamera(play, this->subCamId); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); this->subCamId = SUB_CAM_ID_DONE; ActorCutscene_Stop(this->cutscene); this->cutscene = ActorCutscene_GetAdditionalCutscene(this->actor.cutscene); @@ -1495,7 +1495,7 @@ void EnBigslime_SetupCutsceneGrabPlayer(EnBigslime* this, PlayState* play) { Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN); s16 yaw; - Play_CameraSetAtEye(play, this->subCamId, &mainCam->at, &mainCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &mainCam->at, &mainCam->eye); this->grabPlayerTimer = 15; this->wavySurfaceTimer = 0; this->bigslimeCollider[0].base.atFlags &= ~AT_ON; @@ -2343,7 +2343,7 @@ void EnBigslime_SetupCutsceneDefeat(EnBigslime* this, PlayState* play) { subCamEye.x = (Math_SinS(yawOffset) * 250.0f) + subCamAt.x; subCamEye.y = subCamAt.y + 60.0f; subCamEye.z = (Math_CosS(yawOffset) * 250.0f) + subCamAt.z; - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); for (i = 0; i < MINISLIME_NUM_SPAWN; i++) { this->minislime[i]->actor.params = MINISLIME_DEFEAT_IDLE; @@ -2370,7 +2370,7 @@ void EnBigslime_CutsceneDefeat(EnBigslime* this, PlayState* play) { subCamAt.x = this->actor.world.pos.x; subCamAt.y = this->actor.world.pos.y + 40.0f; subCamAt.z = this->actor.world.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCam->eye); } } @@ -2410,7 +2410,7 @@ void EnBigslime_GekkoDespawn(EnBigslime* this, PlayState* play) { Math_Vec3f_Diff(&subCam->eye, &this->subCamDistToFrog, &subCamEye); subCamEye.y -= 1.8f; subCamAt.y -= 1.7f; - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); } } @@ -2466,7 +2466,7 @@ void EnBigslime_FrogSpawn(EnBigslime* this, PlayState* play) { subCamEye.x = subCam->at.x + (this->subCamDistToFrog.x * subCamZoom); subCamEye.z = subCam->at.z + (this->subCamDistToFrog.z * subCamZoom); subCamEye.y = subCam->at.y + (this->subCamDistToFrog.y * subCamZoom); - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCamEye); if (this->spawnFrogTimer == 0) { EnBigslime_EndCutscene(this, play); diff --git a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c index 6c80198379..c457a623e3 100644 --- a/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c +++ b/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.c @@ -558,8 +558,8 @@ void EnClearTag_UpdateCamera(EnClearTag* this, PlayState* play) { case 1: Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, this->subCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE); func_800B7298(play, &this->actor, 4); mainCam = Play_GetCamera(play, CAM_ID_MAIN); this->subCamEye.x = mainCam->eye.x; @@ -595,7 +595,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, PlayState* play) { } if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); } } diff --git a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c index c9719f613d..eb77191503 100644 --- a/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c +++ b/src/overlays/actors/ovl_En_Dinofos/z_en_dinofos.c @@ -365,7 +365,7 @@ void func_8089ABF4(EnDinofos* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { Camera* subCam = Play_GetCamera(play, this->subCamId); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); this->subCamId = SUB_CAM_ID_DONE; ActorCutscene_Stop(this->actor.cutscene); if (this->actor.colChkInfo.health == 0) { @@ -488,7 +488,7 @@ void func_8089B288(EnDinofos* this, PlayState* play) { this->unk_290--; Math_Vec3f_StepTo(&subCam->eye, &this->unk_2BC, this->unk_2AC); Math_Vec3f_StepTo(&subCam->at, &this->unk_2C8, this->unk_2A8); - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCam->eye); if (this->unk_290 == 0) { func_8089B320(this); } @@ -522,7 +522,7 @@ void func_8089B3D4(EnDinofos* this, PlayState* play) { subCamAt.y = subCam->at.y; } - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCam->eye); if (this->actor.bgCheckFlags & 1) { func_8089B4A4(this); } @@ -547,7 +547,7 @@ void func_8089B580(EnDinofos* this, PlayState* play) { this->unk_290++; if (this->unk_290 < 8) { - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); } if (this->skelAnime.curFrame > 35.0f) { @@ -556,7 +556,7 @@ void func_8089B580(EnDinofos* this, PlayState* play) { } Math_Vec3f_StepTo(&subCam->eye, &this->unk_2BC, 10.0f); - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCam->eye); if (this->skelAnime.curFrame <= 55.0f) { func_800B9010(&this->actor, NA_SE_EN_DODO_J_FIRE - SFX_FLAG); } @@ -1215,7 +1215,7 @@ void func_8089D318(EnDinofos* this, PlayState* play) { subCamEye.x = (Math_SinS(this->actor.shape.rot.y) * 150.0f) + this->actor.focus.pos.x; subCamEye.y = this->actor.focus.pos.y; subCamEye.z = (Math_CosS(this->actor.shape.rot.y) * 150.0f) + this->actor.focus.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); func_8089CFAC(this); } else { func_8089B100(this, play); diff --git a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c index ece3c09034..76c2e08978 100644 --- a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c +++ b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c @@ -449,7 +449,7 @@ void EnDragon_SetSubCamEyeAt(EnDragon* this, PlayState* play, Vec3f subCamEye, V this->subCamId = ActorCutscene_GetCurrentSubCamId(this->actor.cutscene); Math_Vec3f_Copy(&this->subCamEye, &subCamEye); Math_Vec3f_Copy(&this->subCamAt, &subCamAt); - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); } void EnDragon_SetupGrab(EnDragon* this, PlayState* play) { diff --git a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c index f0e2d5c42e..6b8ae91aa8 100644 --- a/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c +++ b/src/overlays/actors/ovl_En_Fish2/z_en_fish2.c @@ -823,7 +823,7 @@ void func_80B2A094(EnFish2* this, PlayState* play) { Math_Vec3f_Copy(&this->subCamAt, &subCamEye); } - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); if ((this->unk_350 == NULL) || (this->unk_350->update == NULL)) { this->unk_350 = NULL; this->unk_2B0++; @@ -857,7 +857,7 @@ void func_80B2A23C(EnFish2* this, PlayState* play) { Math_Vec3f_Copy(&this->subCamAt, &subCamAt); } - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); if ((this->unk_2B4 == 0) && (D_80B2B2E4 == 3)) { D_80B2B2E0 = D_80B2B2EC = D_80B2B2E4 = 0; diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 0aabfc969b..59e3abdb4f 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -5156,8 +5156,8 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) { case 1: sSubCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, sSubCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, sSubCamId, CAM_STATUS_ACTIVE); mainCam = Play_GetCamera(play, CAM_ID_MAIN); sSubCamEye.x = mainCam->eye.x; sSubCamEye.y = mainCam->eye.y; @@ -5283,8 +5283,8 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) { case 10: Cutscene_Start(play, &play->csCtx); sSubCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, sSubCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, sSubCamId, CAM_STATUS_ACTIVE); func_800B7298(play, &this->actor, 4); mainCam = Play_GetCamera(play, CAM_ID_MAIN); @@ -5324,8 +5324,8 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) { case 20: Cutscene_Start(play, &play->csCtx); sSubCamId = Play_CreateSubCamera(play); - Play_CameraChangeStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); - Play_CameraChangeStatus(play, sSubCamId, CAM_STATUS_ACTIVE); + Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); + Play_ChangeCameraStatus(play, sSubCamId, CAM_STATUS_ACTIVE); func_800B7298(play, &this->actor, 4); mainCam = Play_GetCamera(play, CAM_ID_MAIN); @@ -5432,7 +5432,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) { } if (sSubCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, sSubCamId, &sSubCamAt, &sSubCamEye); + Play_SetCameraAtEye(play, sSubCamId, &sSubCamAt, &sSubCamEye); Math_ApproachF(&sSubCamVelFactor, 1.0f, 1.0f, 0.02f); if (sSubCamEye.y <= (WATER_SURFACE_Y(play) + 1.0f)) { diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index f3ec0c245c..230a848cf3 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -138,8 +138,8 @@ s32 func_808F8CCC(EnHorseGameCheck* this, PlayState* play2) { this->unk_17C = -1; Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FREE0); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &mainCamAt, &mainCamEye); - Play_CameraSetFov(play, CAM_ID_MAIN, 45.0f); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &mainCamAt, &mainCamEye); + Play_SetCameraFov(play, CAM_ID_MAIN, 45.0f); func_800FE484(); return false; } diff --git a/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/src/overlays/actors/ovl_En_Ik/z_en_ik.c index f1f8aff6ed..a1c33264eb 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -647,7 +647,7 @@ void EnIk_SetupReactToAttack(EnIk* this, s32 arg1) { void EnIk_ReactToAttack(EnIk* this, PlayState* play) { Math_StepToF(&this->actor.speedXZ, 0.0f, 1.0f); if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &Play_GetCamera(play, this->subCamId)->eye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &Play_GetCamera(play, this->subCamId)->eye); } if (SkelAnime_Update(&this->skelAnime)) { if (this->subCamId != SUB_CAM_ID_DONE) { @@ -742,7 +742,7 @@ void EnIk_PlayCutscene(EnIk* this, PlayState* play) { subCamEye.x = (Math_SinS((this->actor.shape.rot.y - 0x2000)) * 120.0f) + this->actor.focus.pos.x; subCamEye.y = this->actor.focus.pos.y + 20.0f; subCamEye.z = (Math_CosS((this->actor.shape.rot.y - 0x2000)) * 120.0f) + this->actor.focus.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); } if (this->actor.colChkInfo.health != 0) { EnIk_SetupReactToAttack(this, false); diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index e7d37de266..da51baa4cf 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -1240,7 +1240,7 @@ s32 func_808F5728(PlayState* play, EnIn* this, s32 arg2, s32* arg3) { } return 0; } - if (!func_800B8934(play, &this->actor)) { + if (!Actor_OnScreen(play, &this->actor)) { return 0; } yawDiff = ABS_ALT(BINANG_SUB(this->actor.yawTowardsPlayer, this->actor.shape.rot.y)); diff --git a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c index 556fea9ec5..56bf0e0f08 100644 --- a/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c +++ b/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c @@ -1370,10 +1370,10 @@ s32 func_80B456A8(PlayState* play, Vec3f* worldPos) { Actor_GetProjectedPos(play, worldPos, &projectedPos, &invW); if (((projectedPos.z > 1.0f) && (fabsf(projectedPos.x * invW) < 1.0f)) && (fabsf(projectedPos.y * invW) < 1.0f)) { - s32 wX = PROJECTED_TO_SCREEN_X(projectedPos, invW); - s32 wY = PROJECTED_TO_SCREEN_Y(projectedPos, invW); - s32 wZ = (s32)(projectedPos.z * invW * 16352.0f) + 0x3FE0; - s32 zBuf = func_80178A94(wX, wY); + s32 screenPosX = PROJECTED_TO_SCREEN_X(projectedPos, invW); + s32 screenPosY = PROJECTED_TO_SCREEN_Y(projectedPos, invW); + s32 wZ = (s32)(projectedPos.z * invW * 16352.0f) + 16352; + s32 zBuf = func_80178A94(screenPosX, screenPosY); if (wZ < zBuf) { return true; } diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index bc48b6ee03..119131d48a 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -265,8 +265,8 @@ void func_8096FAAC(EnKakasi* this, PlayState* play) { Math_ApproachF(&this->subCamFov, this->subCamFovNext, 0.3f, 10.0f); - Play_CameraSetAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); - Play_CameraSetFov(play, this->subCamId, this->subCamFov); + Play_SetCameraAtEye(play, this->subCamId, &this->subCamAt, &this->subCamEye); + Play_SetCameraFov(play, this->subCamId, this->subCamFov); } } diff --git a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c index 420d40b780..5feb502459 100644 --- a/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c +++ b/src/overlays/actors/ovl_En_Pametfrog/z_en_pametfrog.c @@ -332,7 +332,7 @@ void EnPametfrog_ShakeCamera(EnPametfrog* this, PlayState* play, f32 magShakeXZ, subCamEye.x = (Math_SinS(subCamYaw) * magShakeXZ) + subCam->at.x; subCamEye.y = subCam->at.y + magShakeY; subCamEye.z = (Math_CosS(subCamYaw) * magShakeXZ) + subCam->at.z; - Play_CameraSetAtEye(play, this->subCamId, &subCam->at, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCam->at, &subCamEye); } void EnPametfrog_StopCutscene(EnPametfrog* this, PlayState* play) { @@ -340,7 +340,7 @@ void EnPametfrog_StopCutscene(EnPametfrog* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { subCam = Play_GetCamera(play, this->subCamId); - Play_CameraSetAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); + Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye); this->subCamId = SUB_CAM_ID_DONE; ActorCutscene_Stop(this->cutscene); func_800B724C(play, &this->actor, 6); @@ -509,7 +509,7 @@ void EnPametfrog_SetupFallOffSnapper(EnPametfrog* this, PlayState* play) { subCamEye.x = (Math_SinS(yaw) * 300.0f) + this->actor.focus.pos.x; subCamEye.y = this->actor.focus.pos.y + 100.0f; subCamEye.z = (Math_CosS(yaw) * 300.0f) + this->actor.focus.pos.z; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.focus.pos, &subCamEye); Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_FROG_DAMAGE); this->actionFunc = EnPametfrog_FallOffSnapper; } @@ -839,7 +839,7 @@ void EnPametfrog_SetupFallInAir(EnPametfrog* this, PlayState* play) { subCamEye.x = this->actor.world.pos.x + (xzDist * this->unk_2DC.x); subCamEye.y = (this->actor.world.pos.y + this->actor.home.pos.y) * 0.5f; subCamEye.z = this->actor.world.pos.z + (xzDist * this->unk_2DC.z); - Play_CameraSetAtEye(play, this->subCamId, &this->actor.world.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.world.pos, &subCamEye); } this->actionFunc = EnPametfrog_FallInAir; @@ -857,7 +857,7 @@ void EnPametfrog_FallInAir(EnPametfrog* this, PlayState* play) { } else { this->spinYaw += 0xF00; if (this->subCamId != SUB_CAM_ID_DONE) { - Play_CameraSetAtEye(play, this->subCamId, &this->actor.world.pos, + Play_SetCameraAtEye(play, this->subCamId, &this->actor.world.pos, &Play_GetCamera(play, this->subCamId)->eye); } @@ -906,7 +906,7 @@ void EnPametfrog_SetupDefeatGekko(EnPametfrog* this, PlayState* play) { subCamEye.x = this->actor.child->focus.pos.x + 150.0f * Math_SinS(yaw); subCamEye.y = this->actor.child->focus.pos.y + 20.0f; subCamEye.z = this->actor.child->focus.pos.z + 150.0f * Math_CosS(yaw); - Play_CameraSetAtEye(play, this->subCamId, &this->actor.child->focus.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.child->focus.pos, &subCamEye); this->actor.params = GEKKO_DEFEAT; this->timer = 38; this->actionFunc = EnPametfrog_DefeatGekko; @@ -931,7 +931,7 @@ void EnPametfrog_SetupDefeatSnapper(EnPametfrog* this, PlayState* play) { subCamEye.x = this->actor.world.pos.x + Math_SinS(yaw) * 150.0f; subCamEye.y = this->actor.world.pos.y + 20.0f; subCamEye.z = this->actor.world.pos.z + Math_CosS(yaw) * 150.0f; - Play_CameraSetAtEye(play, this->subCamId, &this->actor.world.pos, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &this->actor.world.pos, &subCamEye); this->timer = 20; this->actionFunc = EnPametfrog_DefeatSnapper; } @@ -1189,7 +1189,7 @@ void EnPametfrog_SetupCallSnapper(EnPametfrog* this, PlayState* play) { subCamEye.y = subCamAt.y + 4.0f; // Zooms in on Gekko - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); this->timer = 0; this->actor.hintId = 0x5F; this->actionFunc = EnPametfrog_CallSnapper; @@ -1221,7 +1221,7 @@ void EnPametfrog_SetupSnapperSpawn(EnPametfrog* this, PlayState* play) { subCamEye.z = (Math_CosS(yaw) * 500.0f) + subCamAt.z; // Zooms in on Snapper spawn point - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); this->quake = Quake_Add(GET_ACTIVE_CAM(play), 6); Quake_SetSpeed(this->quake, 18000); Quake_SetQuakeValues(this->quake, 2, 0, 0, 0); diff --git a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c index b7a417531b..fce03f2b8e 100644 --- a/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c +++ b/src/overlays/actors/ovl_En_Scopecrow/z_en_scopecrow.c @@ -214,11 +214,12 @@ f32 func_80BCD4D0(Path* path, s32 count, Vec3f* arg2, Vec3s* arg3) { } void func_80BCD590(EnScopecrow* this, PlayState* play) { - Vec3f sp1C; + Vec3f screenPos; - func_80169474(play, &this->actor.world.pos, &sp1C); + Play_GetScreenPos(play, &this->actor.world.pos, &screenPos); - if ((sp1C.x >= 130.0f) && (sp1C.x < 190.0f) && (sp1C.y >= 90.0f) && (sp1C.y < 150.0f)) { + if ((screenPos.x >= 130.0f) && (screenPos.x < (SCREEN_WIDTH - 130.0f)) && (screenPos.y >= 90.0f) && + (screenPos.y < (SCREEN_HEIGHT - 90.0f))) { this->actor.draw = EnScopecrow_Draw; this->actionFunc = func_80BCD640; } diff --git a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c index 2954bc0410..b110161d59 100644 --- a/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c +++ b/src/overlays/actors/ovl_En_Scopenuts/z_en_scopenuts.c @@ -190,11 +190,11 @@ s16 func_80BCAF0C(EnScopenuts* this) { } void func_80BCAFA8(EnScopenuts* this, PlayState* play) { - Vec3f sp1C; + Vec3f screenPos; - func_80169474(play, &this->actor.world.pos, &sp1C); - if ((sp1C.x >= 130.0f) && (sp1C.x < 190.0f) && (sp1C.y >= 90.0f)) { - if (sp1C.y < 150.0f) { + Play_GetScreenPos(play, &this->actor.world.pos, &screenPos); + if ((screenPos.x >= 130.0f) && (screenPos.x < (SCREEN_WIDTH - 130.0f)) && (screenPos.y >= 90.0f)) { + if (screenPos.y < (SCREEN_HEIGHT - 90.0f)) { this->actor.draw = EnScopenuts_Draw; this->unk_348 = 10; SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimations, 10); diff --git a/src/overlays/actors/ovl_En_Test6/z_en_test6.c b/src/overlays/actors/ovl_En_Test6/z_en_test6.c index cc96be0207..17587b32a1 100644 --- a/src/overlays/actors/ovl_En_Test6/z_en_test6.c +++ b/src/overlays/actors/ovl_En_Test6/z_en_test6.c @@ -577,7 +577,7 @@ void func_80A91760(EnTest6* this, PlayState* play) { VEC3F_LERPIMPDST(&subCamEye, &subCam->eye, &sp54, sp4C); - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); } else if ((this->unk_27A < 11) && (this->unk_27A > 0)) { subCam->fov += (mainCam->fov - subCam->fov) / this->unk_27A; } @@ -750,9 +750,9 @@ void func_80A92188(EnTest6* this, PlayState* play) { } else if (this->unk_27A < 16) { subCamId = ActorCutscene_GetCurrentSubCamId(play->playerActorCsIds[8]); - Play_CameraSetAtEyeUp(play, subCamId, &this->subCamAt, &this->subCamEye, &sSubCamUp); - Play_CameraSetFov(play, subCamId, this->subCamFov); - Play_CameraSetRoll(play, subCamId, 0); + Play_SetCameraAtEyeUp(play, subCamId, &this->subCamAt, &this->subCamEye, &sSubCamUp); + Play_SetCameraFov(play, subCamId, this->subCamFov); + Play_SetCameraRoll(play, subCamId, 0); } switch (this->unk_27A) { diff --git a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c index 3969f9c6e9..21302d5121 100644 --- a/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c +++ b/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.c @@ -359,17 +359,18 @@ void func_80966FEC(EnWeatherTag* this, PlayState* play) { // type 4_2 pirates fortres only? void func_80967060(EnWeatherTag* this, PlayState* play) { - Vec3f vec1; - Vec3f vec2; + Vec3f worldPos; + Vec3f screenPos; - vec1.x = 1055.0f; - vec1.y = -145.0f; - vec1.z = 181.0f; + worldPos.x = 1055.0f; + worldPos.y = -145.0f; + worldPos.z = 181.0f; - func_80169474(play, &vec1, &vec2); + Play_GetScreenPos(play, &worldPos, &screenPos); if (play->view.fovy < 25.0f) { - if ((vec2.x >= 70.0f) && (vec2.x < 250.0f) && (vec2.y >= 30.0f) && (vec2.y < 210.0f)) { + if ((screenPos.x >= 70.0f) && (screenPos.x < (SCREEN_WIDTH - 70.0f)) && (screenPos.y >= 30.0f) && + (screenPos.y < (SCREEN_HEIGHT - 30.0f))) { EnWeatherTag_SetupAction(this, func_80967148); } } diff --git a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c index 5a733ecba2..6e5b447721 100644 --- a/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c +++ b/src/overlays/actors/ovl_Obj_Wturn/z_obj_wturn.c @@ -76,7 +76,7 @@ void func_808A7AAC(ObjWturn* this, PlayState* play) { subCamEye.x = (Math_SinS(this->actor.shape.rot.y) * 150.0f) + subCamAt.x; subCamEye.z = (Math_CosS(this->actor.shape.rot.y) * 150.0f) + subCamAt.z; subCamEye.y = subCamAt.y + 4.0f; - Play_CameraSetAtEye(play, this->subCamId, &subCamAt, &subCamEye); + Play_SetCameraAtEye(play, this->subCamId, &subCamAt, &subCamEye); this->actionFunc = func_808A7BA0; } @@ -85,7 +85,7 @@ void func_808A7BA0(ObjWturn* this, PlayState* play) { func_808A7C04(this, play); } func_800B8FE8(&this->actor, NA_SE_EV_EARTHQUAKE - SFX_FLAG); - Play_CameraSetRoll(play, this->subCamId, this->actor.shape.rot.z); + Play_SetCameraRoll(play, this->subCamId, this->actor.shape.rot.z); } void func_808A7C04(ObjWturn* this, PlayState* play) { @@ -107,7 +107,7 @@ void func_808A7C78(ObjWturn* this, PlayState* play) { this->unk_14A++; player->actor.world.pos.y = this->actor.world.pos.y + this->unk_14A * 4.0f; - Play_CameraSetAtEyeUp(play, this->subCamId, &player->actor.focus.pos, &subCam->eye, &sSubCamUp); + Play_SetCameraAtEyeUp(play, this->subCamId, &player->actor.focus.pos, &subCam->eye, &sSubCamUp); if (this->unk_14A == 1) { play->transitionType = TRANS_TYPE_64; gSaveContext.nextTransitionType = TRANS_TYPE_03; diff --git a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c index 0b4e2014e7..a21e6c4f18 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -501,8 +501,8 @@ void ObjectKankyo_Draw(Actor* thisx, PlayState* play) { void func_808DD3C8(Actor* thisx, PlayState* play2) { PlayState* play = play2; ObjectKankyo* this = THIS; - Vec3f spC4; - Vec3f spB8; + Vec3f worldPos; + Vec3f screenPos; s16 i; u8 pad2; u8 spB4; @@ -535,12 +535,14 @@ void func_808DD3C8(Actor* thisx, PlayState* play2) { } for (i = 0; i < sp68; i++) { - spC4.x = this->unk_14C[i].unk_00 + this->unk_14C[i].unk_0C; - spC4.y = this->unk_14C[i].unk_04 + this->unk_14C[i].unk_10; - spC4.z = this->unk_14C[i].unk_08 + this->unk_14C[i].unk_14; - func_80169474(play, &spC4, &spB8); + worldPos.x = this->unk_14C[i].unk_00 + this->unk_14C[i].unk_0C; + worldPos.y = this->unk_14C[i].unk_04 + this->unk_14C[i].unk_10; + worldPos.z = this->unk_14C[i].unk_08 + this->unk_14C[i].unk_14; - if ((spB8.x >= 0.0f) && (spB8.x < 320.0f) && (spB8.y >= 0.0f) && (spB8.y < 240.0f)) { + Play_GetScreenPos(play, &worldPos, &screenPos); + + if ((screenPos.x >= 0.0f) && (screenPos.x < SCREEN_WIDTH) && (screenPos.y >= 0.0f) && + (screenPos.y < SCREEN_HEIGHT)) { if (!spB4) { spB4 = true; @@ -555,10 +557,10 @@ void func_808DD3C8(Actor* thisx, PlayState* play2) { gSPSegment(POLY_XLU_DISP++, 0x08, Lib_SegmentedToVirtual(gDust5Tex)); } - Matrix_Translate(spC4.x, spC4.y, spC4.z, MTXMODE_NEW); + Matrix_Translate(worldPos.x, worldPos.y, worldPos.z, MTXMODE_NEW); tempf = (i & 7) * 0.008f; Matrix_Scale(0.05f + tempf, 0.05f + tempf, 0.05f + tempf, MTXMODE_APPLY); - temp_f2 = Math_Vec3f_DistXYZ(&spC4, &play->view.eye) / 300.0f; + temp_f2 = Math_Vec3f_DistXYZ(&worldPos, &play->view.eye) / 300.0f; temp_f2 = ((1.0f < temp_f2) ? 0.0f : (((1.0f - temp_f2) > 1.0f) ? 1.0f : 1.0f - temp_f2)); gDPPipeSync(POLY_XLU_DISP++); @@ -577,8 +579,8 @@ void func_808DD3C8(Actor* thisx, PlayState* play2) { void func_808DD970(Actor* thisx, PlayState* play2) { f32 temp_f0; f32 temp_f20; - Vec3f spBC; - Vec3f spB0; + Vec3f worldPos; + Vec3f screenPos; f32 tempf; s16 i; f32 phi_f26; @@ -607,15 +609,17 @@ void func_808DD970(Actor* thisx, PlayState* play2) { OPEN_DISPS(play->state.gfxCtx); for (i = 0; i < this->unk_114C; i++) { - spBC.x = this->unk_14C[i].unk_00 + this->unk_14C[i].unk_0C; - spBC.y = this->unk_14C[i].unk_04 + this->unk_14C[i].unk_10; - spBC.z = this->unk_14C[i].unk_08 + this->unk_14C[i].unk_14; - func_80169474(play, &spBC, &spB0); + worldPos.x = this->unk_14C[i].unk_00 + this->unk_14C[i].unk_0C; + worldPos.y = this->unk_14C[i].unk_04 + this->unk_14C[i].unk_10; + worldPos.z = this->unk_14C[i].unk_08 + this->unk_14C[i].unk_14; - if ((spB0.x >= 0.0f) && (spB0.x < 320.0f) && (spB0.y >= 0.0f) && (spB0.y < 240.0f)) { - Matrix_Translate(spBC.x, spBC.y, spBC.z, MTXMODE_NEW); + Play_GetScreenPos(play, &worldPos, &screenPos); + + if ((screenPos.x >= 0.0f) && (screenPos.x < SCREEN_WIDTH) && (screenPos.y >= 0.0f) && + (screenPos.y < SCREEN_HEIGHT)) { + Matrix_Translate(worldPos.x, worldPos.y, worldPos.z, MTXMODE_NEW); Matrix_Scale(0.03f, 0.03f, 0.03f, MTXMODE_APPLY); - temp_f0 = Math_Vec3f_DistXYZ(&spBC, &play->view.eye); + temp_f0 = Math_Vec3f_DistXYZ(&worldPos, &play->view.eye); temp_f0 = (u8)(255.0f * phi_f26) * (1.0f - (temp_f0 / 300.0f)); gDPPipeSync(POLY_XLU_DISP++); diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index 751248e6fd..54c70c1cd0 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -783,7 +783,7 @@ 0x800B882C:("func_800B882C",), 0x800B886C:("func_800B886C",), 0x800B8898:("Actor_GetScreenPos",), - 0x800B8934:("func_800B8934",), + 0x800B8934:("Actor_OnScreen",), 0x800B89F8:("Actor_HasParent",), 0x800B8A1C:("Actor_PickUp",), 0x800B8B84:("Actor_PickUpNearby",), @@ -1258,8 +1258,8 @@ 0x800DDDD0:("Camera_Init",), 0x800DDFE0:("func_800DDFE0",), 0x800DE0E0:("func_800DE0E0",), - 0x800DE0EC:("func_800DE0EC",), - 0x800DE308:("func_800DE308",), + 0x800DE0EC:("Camera_InitPlayerSettings",), + 0x800DE308:("Camera_ChangeStatus",), 0x800DE324:("func_800DE324",), 0x800DE62C:("func_800DE62C",), 0x800DE840:("func_800DE840",), @@ -1280,7 +1280,7 @@ 0x800DFCB4:("Camera_GetCamDirPitch",), 0x800DFCDC:("Camera_GetCamDirYaw",), 0x800DFD04:("Camera_AddQuake",), - 0x800DFD78:("func_800DFD78",), + 0x800DFD78:("Camera_SetViewParam",), 0x800DFEF0:("func_800DFEF0",), 0x800DFF18:("func_800DFF18",), 0x800DFF34:("func_800DFF34",), @@ -1288,7 +1288,7 @@ 0x800DFF60:("Camera_SetFlags",), 0x800DFF84:("Camera_ClearFlags",), 0x800DFFAC:("Camera_ChangeDoorCam",), - 0x800E007C:("func_800E007C",), + 0x800E007C:("Camera_Copy",), 0x800E01AC:("func_800E01AC",), 0x800E01B8:("Camera_GetQuakeOffset",), 0x800E01DC:("func_800E01DC",), @@ -2986,18 +2986,18 @@ 0x80165EC0:("func_80165EC0",), 0x80166060:("func_80166060",), 0x801660B8:("func_801660B8",), - 0x8016613C:("Play_Fini",), + 0x8016613C:("Play_Destroy",), 0x801663C4:("func_801663C4",), 0x80166644:("func_80166644",), 0x801668B4:("func_801668B4",), 0x80166968:("func_80166968",), 0x80166B30:("func_80166B30",), - 0x80167814:("func_80167814",), + 0x80167814:("Play_Update",), 0x80167DE4:("func_80167DE4",), 0x80167F0C:("func_80167F0C",), 0x80168090:("Play_Draw",), 0x80168DAC:("func_80168DAC",), - 0x80168F64:("Play_Update",), + 0x80168F64:("Play_Main",), 0x801690CC:("Play_InCsMode",), 0x80169100:("func_80169100",), 0x801691F0:("func_801691F0",), @@ -3005,22 +3005,22 @@ 0x8016927C:("func_8016927C",), 0x801692C4:("func_801692C4",), 0x801693D4:("Play_SceneInit",), - 0x80169474:("func_80169474",), + 0x80169474:("Play_GetScreenPos",), 0x801694DC:("Play_CreateSubCamera",), 0x80169584:("Play_GetActiveCamId",), - 0x80169590:("Play_CameraChangeStatus",), + 0x80169590:("Play_ChangeCameraStatus",), 0x80169600:("Play_ClearCamera",), 0x80169668:("Play_ClearAllSubCameras",), 0x801696D4:("Play_GetCamera",), - 0x8016970C:("Play_CameraSetAtEye",), - 0x8016981C:("Play_CameraSetAtEyeUp",), - 0x80169940:("Play_CameraSetFov",), - 0x80169988:("Play_CameraSetRoll",), + 0x8016970C:("Play_SetCameraAtEye",), + 0x8016981C:("Play_SetCameraAtEyeUp",), + 0x80169940:("Play_SetCameraFov",), + 0x80169988:("Play_SetCameraRoll",), 0x801699D4:("Play_CopyCamera",), 0x80169A50:("func_80169A50",), - 0x80169AC0:("Play_CameraChangeSetting",), + 0x80169AC0:("Play_ChangeCameraSetting",), 0x80169AFC:("func_80169AFC",), - 0x80169BC4:("Play_CameraGetUID",), + 0x80169BC4:("Play_GetCameraUID",), 0x80169BF8:("func_80169BF8",), 0x80169C64:("Play_GetActorCsCamSetting",), 0x80169C84:("Play_GetActorCsCamFuncData",), diff --git a/tools/namefixer.py b/tools/namefixer.py index da595fb89d..21430d5374 100755 --- a/tools/namefixer.py +++ b/tools/namefixer.py @@ -138,7 +138,8 @@ wordReplace = { "func_800BE22C": "Actor_ApplyDamage", "Audio_PlaySoundAtPosition": "SoundSource_PlaySfxAtFixedWorldPos", "func_800F0590": "SoundSource_PlaySfxEachFrameAtFixedWorldPos", - "func_8016970C": "Play_CameraSetAtEye", + "func_8016970C": "Play_SetCameraAtEye", + "Play_CameraSetAtEye": "Play_SetCameraAtEye", "func_800BBA88": "Enemy_StartFinishingBlow", "ShrinkWindow_Step": "ShrinkWindow_Update", "ShrinkWindow_Fini": "ShrinkWindow_Destroy", @@ -451,17 +452,25 @@ wordReplace = { "func_800DFFAC": "Camera_ChangeDoorCam", "func_801694DC": "Play_CreateSubCamera", "Play_GetActiveCameraIndex": "Play_GetActiveCamId", - "func_80169590": "Play_CameraChangeStatus", + "func_80169590": "Play_ChangeCameraStatus", + "Play_CameraChangeStatus": "Play_ChangeCameraStatus", "func_80169600": "Play_ClearCamera", "func_80169668": "Play_ClearAllSubCameras", - "func_8016981C": "Play_CameraSetAtEyeUp", - "func_80169940": "Play_CameraSetFov", - "func_80169988": "Play_CameraSetRoll", + "func_8016981C": "Play_SetCameraAtEyeUp", + "func_80169940": "Play_SetCameraFov", + "func_80169988": "Play_SetCameraRoll", + "Play_CameraSetAtEyeUp": "Play_SetCameraAtEyeUp", + "Play_CameraSetFov": "Play_SetCameraFov", + "Play_CameraSetRoll": "Play_SetCameraRoll", "func_801699D4": "Play_CopyCamera", - "func_80169AC0": "Play_CameraChangeSetting", - "func_80169BC4": "Play_CameraGetUID", + "func_80169AC0": "Play_ChangeCameraSetting", + "Play_CameraChangeSetting": "Play_ChangeCameraSetting", + "func_80169BC4": "Play_GetCameraUID", + "Play_CameraGetUID": "Play_GetCameraUID", "func_80169C64": "Play_GetActorCsCamSetting", + "Play_GetCsCamDataSetting": "Play_GetActorCsCamSetting", "func_80169C84": "Play_GetActorCsCamFuncData", + "Play_GetCsCamDataVec3s": "Play_GetActorCsCamFuncData", "convert_scene_number_among_shared_scenes": "Play_GetOriginalSceneNumber", "func_80169D40": "Play_SaveCycleSceneFlags", "func_80169DCC": "Play_SetRespawnData", diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 35f03b8086..1167eeb167 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -297,7 +297,7 @@ asm/non_matchings/code/z_actor/func_800B8804.s,func_800B8804,0x800B8804,0xA asm/non_matchings/code/z_actor/func_800B882C.s,func_800B882C,0x800B882C,0x10 asm/non_matchings/code/z_actor/func_800B886C.s,func_800B886C,0x800B886C,0xB asm/non_matchings/code/z_actor/Actor_GetScreenPos.s,Actor_GetScreenPos,0x800B8898,0x27 -asm/non_matchings/code/z_actor/func_800B8934.s,func_800B8934,0x800B8934,0x31 +asm/non_matchings/code/z_actor/Actor_OnScreen.s,Actor_OnScreen,0x800B8934,0x31 asm/non_matchings/code/z_actor/Actor_HasParent.s,Actor_HasParent,0x800B89F8,0x9 asm/non_matchings/code/z_actor/Actor_PickUp.s,Actor_PickUp,0x800B8A1C,0x5A asm/non_matchings/code/z_actor/Actor_PickUpNearby.s,Actor_PickUpNearby,0x800B8B84,0xB @@ -772,8 +772,8 @@ asm/non_matchings/code/z_camera/Camera_Free.s,Camera_Free,0x800DDDA8,0xA asm/non_matchings/code/z_camera/Camera_Init.s,Camera_Init,0x800DDDD0,0x84 asm/non_matchings/code/z_camera/func_800DDFE0.s,func_800DDFE0,0x800DDFE0,0x40 asm/non_matchings/code/z_camera/func_800DE0E0.s,func_800DE0E0,0x800DE0E0,0x3 -asm/non_matchings/code/z_camera/func_800DE0EC.s,func_800DE0EC,0x800DE0EC,0x87 -asm/non_matchings/code/z_camera/func_800DE308.s,func_800DE308,0x800DE308,0x7 +asm/non_matchings/code/z_camera/Camera_InitPlayerSettings.s,Camera_InitPlayerSettings,0x800DE0EC,0x87 +asm/non_matchings/code/z_camera/Camera_ChangeStatus.s,Camera_ChangeStatus,0x800DE308,0x7 asm/non_matchings/code/z_camera/func_800DE324.s,func_800DE324,0x800DE324,0xC2 asm/non_matchings/code/z_camera/func_800DE62C.s,func_800DE62C,0x800DE62C,0x85 asm/non_matchings/code/z_camera/func_800DE840.s,func_800DE840,0x800DE840,0x14 @@ -794,7 +794,7 @@ asm/non_matchings/code/z_camera/Camera_GetCamDir.s,Camera_GetCamDir,0x800DFC90,0 asm/non_matchings/code/z_camera/Camera_GetCamDirPitch.s,Camera_GetCamDirPitch,0x800DFCB4,0xA asm/non_matchings/code/z_camera/Camera_GetCamDirYaw.s,Camera_GetCamDirYaw,0x800DFCDC,0xA asm/non_matchings/code/z_camera/Camera_AddQuake.s,Camera_AddQuake,0x800DFD04,0x1D -asm/non_matchings/code/z_camera/func_800DFD78.s,func_800DFD78,0x800DFD78,0x5E +asm/non_matchings/code/z_camera/Camera_SetViewParam.s,Camera_SetViewParam,0x800DFD78,0x5E asm/non_matchings/code/z_camera/func_800DFEF0.s,func_800DFEF0,0x800DFEF0,0xA asm/non_matchings/code/z_camera/func_800DFF18.s,func_800DFF18,0x800DFF18,0x7 asm/non_matchings/code/z_camera/func_800DFF34.s,func_800DFF34,0x800DFF34,0x4 @@ -802,7 +802,7 @@ asm/non_matchings/code/z_camera/func_800DFF44.s,func_800DFF44,0x800DFF44,0x7 asm/non_matchings/code/z_camera/Camera_SetFlags.s,Camera_SetFlags,0x800DFF60,0x9 asm/non_matchings/code/z_camera/Camera_ClearFlags.s,Camera_ClearFlags,0x800DFF84,0xA asm/non_matchings/code/z_camera/Camera_ChangeDoorCam.s,Camera_ChangeDoorCam,0x800DFFAC,0x34 -asm/non_matchings/code/z_camera/func_800E007C.s,func_800E007C,0x800E007C,0x4C +asm/non_matchings/code/z_camera/Camera_Copy.s,Camera_Copy,0x800E007C,0x4C asm/non_matchings/code/z_camera/func_800E01AC.s,func_800E01AC,0x800E01AC,0x3 asm/non_matchings/code/z_camera/Camera_GetQuakeOffset.s,Camera_GetQuakeOffset,0x800E01B8,0x9 asm/non_matchings/code/z_camera/func_800E01DC.s,func_800E01DC,0x800E01DC,0x13 @@ -2500,18 +2500,18 @@ asm/non_matchings/code/z_play/func_80165E7C.s,func_80165E7C,0x80165E7C,0x11 asm/non_matchings/code/z_play/func_80165EC0.s,func_80165EC0,0x80165EC0,0x68 asm/non_matchings/code/z_play/func_80166060.s,func_80166060,0x80166060,0x16 asm/non_matchings/code/z_play/func_801660B8.s,func_801660B8,0x801660B8,0x21 -asm/non_matchings/code/z_play/Play_Fini.s,Play_Fini,0x8016613C,0xA2 +asm/non_matchings/code/z_play/Play_Destroy.s,Play_Destroy,0x8016613C,0xA2 asm/non_matchings/code/z_play/func_801663C4.s,func_801663C4,0x801663C4,0xA0 asm/non_matchings/code/z_play/func_80166644.s,func_80166644,0x80166644,0x9C asm/non_matchings/code/z_play/func_801668B4.s,func_801668B4,0x801668B4,0x2D asm/non_matchings/code/z_play/func_80166968.s,func_80166968,0x80166968,0x72 asm/non_matchings/code/z_play/func_80166B30.s,func_80166B30,0x80166B30,0x339 -asm/non_matchings/code/z_play/func_80167814.s,func_80167814,0x80167814,0x174 +asm/non_matchings/code/z_play/Play_Update.s,Play_Update,0x80167814,0x174 asm/non_matchings/code/z_play/func_80167DE4.s,func_80167DE4,0x80167DE4,0x4A asm/non_matchings/code/z_play/func_80167F0C.s,func_80167F0C,0x80167F0C,0x61 asm/non_matchings/code/z_play/Play_Draw.s,Play_Draw,0x80168090,0x347 asm/non_matchings/code/z_play/func_80168DAC.s,func_80168DAC,0x80168DAC,0x6E -asm/non_matchings/code/z_play/Play_Update.s,Play_Update,0x80168F64,0x5A +asm/non_matchings/code/z_play/Play_Main.s,Play_Main,0x80168F64,0x5A asm/non_matchings/code/z_play/Play_InCsMode.s,Play_InCsMode,0x801690CC,0xD asm/non_matchings/code/z_play/func_80169100.s,func_80169100,0x80169100,0x3C asm/non_matchings/code/z_play/func_801691F0.s,func_801691F0,0x801691F0,0xC @@ -2519,22 +2519,22 @@ asm/non_matchings/code/z_play/Play_LoadScene.s,Play_LoadScene,0x80169220,0x17 asm/non_matchings/code/z_play/func_8016927C.s,func_8016927C,0x8016927C,0x12 asm/non_matchings/code/z_play/func_801692C4.s,func_801692C4,0x801692C4,0x44 asm/non_matchings/code/z_play/Play_SceneInit.s,Play_SceneInit,0x801693D4,0x28 -asm/non_matchings/code/z_play/func_80169474.s,func_80169474,0x80169474,0x1A +asm/non_matchings/code/z_play/Play_GetScreenPos.s,Play_GetScreenPos,0x80169474,0x1A asm/non_matchings/code/z_play/Play_CreateSubCamera.s,Play_CreateSubCamera,0x801694DC,0x2A asm/non_matchings/code/z_play/Play_GetActiveCamId.s,Play_GetActiveCamId,0x80169584,0x3 -asm/non_matchings/code/z_play/Play_CameraChangeStatus.s,Play_CameraChangeStatus,0x80169590,0x1C +asm/non_matchings/code/z_play/Play_ChangeCameraStatus.s,Play_ChangeCameraStatus,0x80169590,0x1C asm/non_matchings/code/z_play/Play_ClearCamera.s,Play_ClearCamera,0x80169600,0x1A asm/non_matchings/code/z_play/Play_ClearAllSubCameras.s,Play_ClearAllSubCameras,0x80169668,0x1B asm/non_matchings/code/z_play/Play_GetCamera.s,Play_GetCamera,0x801696D4,0xE -asm/non_matchings/code/z_play/Play_CameraSetAtEye.s,Play_CameraSetAtEye,0x8016970C,0x44 -asm/non_matchings/code/z_play/Play_CameraSetAtEyeUp.s,Play_CameraSetAtEyeUp,0x8016981C,0x49 -asm/non_matchings/code/z_play/Play_CameraSetFov.s,Play_CameraSetFov,0x80169940,0x12 -asm/non_matchings/code/z_play/Play_CameraSetRoll.s,Play_CameraSetRoll,0x80169988,0x13 +asm/non_matchings/code/z_play/Play_SetCameraAtEye.s,Play_SetCameraAtEye,0x8016970C,0x44 +asm/non_matchings/code/z_play/Play_SetCameraAtEyeUp.s,Play_SetCameraAtEyeUp,0x8016981C,0x49 +asm/non_matchings/code/z_play/Play_SetCameraFov.s,Play_SetCameraFov,0x80169940,0x12 +asm/non_matchings/code/z_play/Play_SetCameraRoll.s,Play_SetCameraRoll,0x80169988,0x13 asm/non_matchings/code/z_play/Play_CopyCamera.s,Play_CopyCamera,0x801699D4,0x1F asm/non_matchings/code/z_play/func_80169A50.s,func_80169A50,0x80169A50,0x1C -asm/non_matchings/code/z_play/Play_CameraChangeSetting.s,Play_CameraChangeSetting,0x80169AC0,0xF +asm/non_matchings/code/z_play/Play_ChangeCameraSetting.s,Play_ChangeCameraSetting,0x80169AC0,0xF asm/non_matchings/code/z_play/func_80169AFC.s,func_80169AFC,0x80169AFC,0x32 -asm/non_matchings/code/z_play/Play_CameraGetUID.s,Play_CameraGetUID,0x80169BC4,0xD +asm/non_matchings/code/z_play/Play_GetCameraUID.s,Play_GetCameraUID,0x80169BC4,0xD asm/non_matchings/code/z_play/func_80169BF8.s,func_80169BF8,0x80169BF8,0x1B asm/non_matchings/code/z_play/Play_GetActorCsCamSetting.s,Play_GetActorCsCamSetting,0x80169C64,0x8 asm/non_matchings/code/z_play/Play_GetActorCsCamFuncData.s,Play_GetActorCsCamFuncData,0x80169C84,0xE