Decompile and Document Camera `z_play` functions (#933)

* Document z_play camera functions

* cleanup function names

* PR Suggestion

* Fix master merge, add comments

* fix merge

* small fix

Co-authored-by: angie <angheloalf95@gmail.com>
This commit is contained in:
engineer124 2022-08-09 20:01:55 -04:00 committed by GitHub
parent b716e76d3e
commit a80637fd59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
36 changed files with 432 additions and 240 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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")

View File

@ -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)),

View File

@ -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;

View File

@ -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];

View File

@ -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) {

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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

View File

@ -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) {

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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;

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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) {

View File

@ -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;

View File

@ -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)) {

View File

@ -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;
}

View File

@ -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);

View File

@ -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));

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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++);

View File

@ -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",),

View File

@ -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",

View File

@ -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

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
297 asm/non_matchings/code/z_actor/func_800B882C.s func_800B882C 0x800B882C 0x10
298 asm/non_matchings/code/z_actor/func_800B886C.s func_800B886C 0x800B886C 0xB
299 asm/non_matchings/code/z_actor/Actor_GetScreenPos.s Actor_GetScreenPos 0x800B8898 0x27
300 asm/non_matchings/code/z_actor/func_800B8934.s asm/non_matchings/code/z_actor/Actor_OnScreen.s func_800B8934 Actor_OnScreen 0x800B8934 0x31
301 asm/non_matchings/code/z_actor/Actor_HasParent.s Actor_HasParent 0x800B89F8 0x9
302 asm/non_matchings/code/z_actor/Actor_PickUp.s Actor_PickUp 0x800B8A1C 0x5A
303 asm/non_matchings/code/z_actor/Actor_PickUpNearby.s Actor_PickUpNearby 0x800B8B84 0xB
772 asm/non_matchings/code/z_camera/Camera_Init.s Camera_Init 0x800DDDD0 0x84
773 asm/non_matchings/code/z_camera/func_800DDFE0.s func_800DDFE0 0x800DDFE0 0x40
774 asm/non_matchings/code/z_camera/func_800DE0E0.s func_800DE0E0 0x800DE0E0 0x3
775 asm/non_matchings/code/z_camera/func_800DE0EC.s asm/non_matchings/code/z_camera/Camera_InitPlayerSettings.s func_800DE0EC Camera_InitPlayerSettings 0x800DE0EC 0x87
776 asm/non_matchings/code/z_camera/func_800DE308.s asm/non_matchings/code/z_camera/Camera_ChangeStatus.s func_800DE308 Camera_ChangeStatus 0x800DE308 0x7
777 asm/non_matchings/code/z_camera/func_800DE324.s func_800DE324 0x800DE324 0xC2
778 asm/non_matchings/code/z_camera/func_800DE62C.s func_800DE62C 0x800DE62C 0x85
779 asm/non_matchings/code/z_camera/func_800DE840.s func_800DE840 0x800DE840 0x14
794 asm/non_matchings/code/z_camera/Camera_GetCamDirPitch.s Camera_GetCamDirPitch 0x800DFCB4 0xA
795 asm/non_matchings/code/z_camera/Camera_GetCamDirYaw.s Camera_GetCamDirYaw 0x800DFCDC 0xA
796 asm/non_matchings/code/z_camera/Camera_AddQuake.s Camera_AddQuake 0x800DFD04 0x1D
797 asm/non_matchings/code/z_camera/func_800DFD78.s asm/non_matchings/code/z_camera/Camera_SetViewParam.s func_800DFD78 Camera_SetViewParam 0x800DFD78 0x5E
798 asm/non_matchings/code/z_camera/func_800DFEF0.s func_800DFEF0 0x800DFEF0 0xA
799 asm/non_matchings/code/z_camera/func_800DFF18.s func_800DFF18 0x800DFF18 0x7
800 asm/non_matchings/code/z_camera/func_800DFF34.s func_800DFF34 0x800DFF34 0x4
802 asm/non_matchings/code/z_camera/Camera_SetFlags.s Camera_SetFlags 0x800DFF60 0x9
803 asm/non_matchings/code/z_camera/Camera_ClearFlags.s Camera_ClearFlags 0x800DFF84 0xA
804 asm/non_matchings/code/z_camera/Camera_ChangeDoorCam.s Camera_ChangeDoorCam 0x800DFFAC 0x34
805 asm/non_matchings/code/z_camera/func_800E007C.s asm/non_matchings/code/z_camera/Camera_Copy.s func_800E007C Camera_Copy 0x800E007C 0x4C
806 asm/non_matchings/code/z_camera/func_800E01AC.s func_800E01AC 0x800E01AC 0x3
807 asm/non_matchings/code/z_camera/Camera_GetQuakeOffset.s Camera_GetQuakeOffset 0x800E01B8 0x9
808 asm/non_matchings/code/z_camera/func_800E01DC.s func_800E01DC 0x800E01DC 0x13
2500 asm/non_matchings/code/z_play/func_80165EC0.s func_80165EC0 0x80165EC0 0x68
2501 asm/non_matchings/code/z_play/func_80166060.s func_80166060 0x80166060 0x16
2502 asm/non_matchings/code/z_play/func_801660B8.s func_801660B8 0x801660B8 0x21
2503 asm/non_matchings/code/z_play/Play_Fini.s asm/non_matchings/code/z_play/Play_Destroy.s Play_Fini Play_Destroy 0x8016613C 0xA2
2504 asm/non_matchings/code/z_play/func_801663C4.s func_801663C4 0x801663C4 0xA0
2505 asm/non_matchings/code/z_play/func_80166644.s func_80166644 0x80166644 0x9C
2506 asm/non_matchings/code/z_play/func_801668B4.s func_801668B4 0x801668B4 0x2D
2507 asm/non_matchings/code/z_play/func_80166968.s func_80166968 0x80166968 0x72
2508 asm/non_matchings/code/z_play/func_80166B30.s func_80166B30 0x80166B30 0x339
2509 asm/non_matchings/code/z_play/func_80167814.s asm/non_matchings/code/z_play/Play_Update.s func_80167814 Play_Update 0x80167814 0x174
2510 asm/non_matchings/code/z_play/func_80167DE4.s func_80167DE4 0x80167DE4 0x4A
2511 asm/non_matchings/code/z_play/func_80167F0C.s func_80167F0C 0x80167F0C 0x61
2512 asm/non_matchings/code/z_play/Play_Draw.s Play_Draw 0x80168090 0x347
2513 asm/non_matchings/code/z_play/func_80168DAC.s func_80168DAC 0x80168DAC 0x6E
2514 asm/non_matchings/code/z_play/Play_Update.s asm/non_matchings/code/z_play/Play_Main.s Play_Update Play_Main 0x80168F64 0x5A
2515 asm/non_matchings/code/z_play/Play_InCsMode.s Play_InCsMode 0x801690CC 0xD
2516 asm/non_matchings/code/z_play/func_80169100.s func_80169100 0x80169100 0x3C
2517 asm/non_matchings/code/z_play/func_801691F0.s func_801691F0 0x801691F0 0xC
2519 asm/non_matchings/code/z_play/func_8016927C.s func_8016927C 0x8016927C 0x12
2520 asm/non_matchings/code/z_play/func_801692C4.s func_801692C4 0x801692C4 0x44
2521 asm/non_matchings/code/z_play/Play_SceneInit.s Play_SceneInit 0x801693D4 0x28
2522 asm/non_matchings/code/z_play/func_80169474.s asm/non_matchings/code/z_play/Play_GetScreenPos.s func_80169474 Play_GetScreenPos 0x80169474 0x1A
2523 asm/non_matchings/code/z_play/Play_CreateSubCamera.s Play_CreateSubCamera 0x801694DC 0x2A
2524 asm/non_matchings/code/z_play/Play_GetActiveCamId.s Play_GetActiveCamId 0x80169584 0x3
2525 asm/non_matchings/code/z_play/Play_CameraChangeStatus.s asm/non_matchings/code/z_play/Play_ChangeCameraStatus.s Play_CameraChangeStatus Play_ChangeCameraStatus 0x80169590 0x1C
2526 asm/non_matchings/code/z_play/Play_ClearCamera.s Play_ClearCamera 0x80169600 0x1A
2527 asm/non_matchings/code/z_play/Play_ClearAllSubCameras.s Play_ClearAllSubCameras 0x80169668 0x1B
2528 asm/non_matchings/code/z_play/Play_GetCamera.s Play_GetCamera 0x801696D4 0xE
2529 asm/non_matchings/code/z_play/Play_CameraSetAtEye.s asm/non_matchings/code/z_play/Play_SetCameraAtEye.s Play_CameraSetAtEye Play_SetCameraAtEye 0x8016970C 0x44
2530 asm/non_matchings/code/z_play/Play_CameraSetAtEyeUp.s asm/non_matchings/code/z_play/Play_SetCameraAtEyeUp.s Play_CameraSetAtEyeUp Play_SetCameraAtEyeUp 0x8016981C 0x49
2531 asm/non_matchings/code/z_play/Play_CameraSetFov.s asm/non_matchings/code/z_play/Play_SetCameraFov.s Play_CameraSetFov Play_SetCameraFov 0x80169940 0x12
2532 asm/non_matchings/code/z_play/Play_CameraSetRoll.s asm/non_matchings/code/z_play/Play_SetCameraRoll.s Play_CameraSetRoll Play_SetCameraRoll 0x80169988 0x13
2533 asm/non_matchings/code/z_play/Play_CopyCamera.s Play_CopyCamera 0x801699D4 0x1F
2534 asm/non_matchings/code/z_play/func_80169A50.s func_80169A50 0x80169A50 0x1C
2535 asm/non_matchings/code/z_play/Play_CameraChangeSetting.s asm/non_matchings/code/z_play/Play_ChangeCameraSetting.s Play_CameraChangeSetting Play_ChangeCameraSetting 0x80169AC0 0xF
2536 asm/non_matchings/code/z_play/func_80169AFC.s func_80169AFC 0x80169AFC 0x32
2537 asm/non_matchings/code/z_play/Play_CameraGetUID.s asm/non_matchings/code/z_play/Play_GetCameraUID.s Play_CameraGetUID Play_GetCameraUID 0x80169BC4 0xD
2538 asm/non_matchings/code/z_play/func_80169BF8.s func_80169BF8 0x80169BF8 0x1B
2539 asm/non_matchings/code/z_play/Play_GetActorCsCamSetting.s Play_GetActorCsCamSetting 0x80169C64 0x8
2540 asm/non_matchings/code/z_play/Play_GetActorCsCamFuncData.s Play_GetActorCsCamFuncData 0x80169C84 0xE