summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authordjevangelia <263709373+djevangelia@users.noreply.github.com>2026-08-08 23:12:31 +0200
committerGitHub <noreply@github.com>2026-08-08 21:12:31 +0000
commitf2f4413bff84b10e46b3d6843a6f945527af92e5 (patch)
tree116b735e389729dc760be518a4d565534f4b8681 /soh/src/code
parent982f598e012be511d5eefc32dee691be1334eb21 (diff)
Decomp, some camera names (#7043)
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_actor.c2
-rw-r--r--soh/src/code/z_bgcheck.c35
-rw-r--r--soh/src/code/z_camera.c102
-rw-r--r--soh/src/code/z_onepointdemo.c16
-rw-r--r--soh/src/code/z_play.c2
-rw-r--r--soh/src/code/z_player_lib.c4
-rw-r--r--soh/src/code/z_room.c2
7 files changed, 83 insertions, 80 deletions
diff --git a/soh/src/code/z_actor.c b/soh/src/code/z_actor.c
index 067b1bee8..ec24a7af1 100644
--- a/soh/src/code/z_actor.c
+++ b/soh/src/code/z_actor.c
@@ -3497,7 +3497,7 @@ Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, PlayState* play) {
if ((player != NULL) && (actor == player->focusActor)) {
Player_ReleaseLockOn(player);
- Camera_ChangeMode(Play_GetCamera(play, Play_GetActiveCamId(play)), 0);
+ Camera_RequestMode(Play_GetCamera(play, Play_GetActiveCamId(play)), CAM_MODE_NORMAL);
}
if (actor == actorCtx->targetCtx.arrowPointedActor) {
diff --git a/soh/src/code/z_bgcheck.c b/soh/src/code/z_bgcheck.c
index 536947a05..d3c183571 100644
--- a/soh/src/code/z_bgcheck.c
+++ b/soh/src/code/z_bgcheck.c
@@ -3865,25 +3865,26 @@ u32 SurfaceType_GetData(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId,
* SurfaceType return CamData Index
*/
u32 SurfaceType_GetCamDataIndex(CollisionContext* colCtx, CollisionPoly* poly, s32 bgId) {
-
return SurfaceType_GetData(colCtx, poly, bgId, 0) & 0xFF;
}
/**
- * CamData return cameraSType
+ * BgCam get setting of bgCam
*/
-u16 func_80041A4C(CollisionContext* colCtx, u32 camId, s32 bgId) {
- u16 result;
+u16 BgCheck_GetBgCamSettingImpl(CollisionContext* colCtx, u32 bgCamIndex, s32 bgId) {
+ u16 camSetting;
CollisionHeader* colHeader;
- CamData* camData;
+ CamData* bgCamList;
colHeader = BgCheck_GetCollisionHeader(colCtx, bgId);
if (colHeader == NULL) {
- return 0;
+ return CAM_SET_NONE;
}
- camData = colHeader->cameraDataList;
- result = camData[camId].cameraSType;
- return result;
+
+ bgCamList = colHeader->cameraDataList;
+ camSetting = bgCamList[bgCamIndex].cameraSType;
+
+ return camSetting;
}
/**
@@ -3905,7 +3906,7 @@ u16 SurfaceType_GetCameraSType(CollisionContext* colCtx, CollisionPoly* poly, s3
if (surfaceTypes == PHYSICAL_TO_VIRTUAL(gSegments[0])) {
return 0;
}
- return func_80041A4C(colCtx, SurfaceType_GetCamDataIndex(colCtx, poly, bgId), bgId);
+ return BgCheck_GetBgCamSettingImpl(colCtx, SurfaceType_GetCamDataIndex(colCtx, poly, bgId), bgId);
}
/**
@@ -3951,18 +3952,20 @@ u16 SurfaceType_GetNumCameras(CollisionContext* colCtx, CollisionPoly* poly, s32
/**
* CamData Get camPosData
*/
-Vec3s* func_80041C10(CollisionContext* colCtx, s32 camId, s32 bgId) {
+Vec3s* BgCheck_GetBgCamFuncDataImpl(CollisionContext* colCtx, s32 bgCamIndex, s32 bgId) {
CollisionHeader* colHeader = BgCheck_GetCollisionHeader(colCtx, bgId);
- CamData* cameraDataList;
+ CamData* bgCamList;
if (colHeader == NULL) {
return NULL;
}
- cameraDataList = colHeader->cameraDataList;
- if (cameraDataList == PHYSICAL_TO_VIRTUAL(gSegments[0])) {
+
+ bgCamList = colHeader->cameraDataList;
+ if (bgCamList == PHYSICAL_TO_VIRTUAL(gSegments[0])) {
return NULL;
}
- return (Vec3s*)SEGMENTED_TO_VIRTUAL(cameraDataList[camId].camPosData);
+
+ return (Vec3s*)SEGMENTED_TO_VIRTUAL(bgCamList[bgCamIndex].camPosData);
}
/**
@@ -3984,7 +3987,7 @@ Vec3s* SurfaceType_GetCamPosData(CollisionContext* colCtx, CollisionPoly* poly,
if (surfaceTypes == PHYSICAL_TO_VIRTUAL(gSegments[0])) {
return NULL;
}
- return func_80041C10(colCtx, SurfaceType_GetCamDataIndex(colCtx, poly, bgId), bgId);
+ return BgCheck_GetBgCamFuncDataImpl(colCtx, SurfaceType_GetCamDataIndex(colCtx, poly, bgId), bgId);
}
/**
diff --git a/soh/src/code/z_camera.c b/soh/src/code/z_camera.c
index 663b4602d..f23665c22 100644
--- a/soh/src/code/z_camera.c
+++ b/soh/src/code/z_camera.c
@@ -12,7 +12,7 @@
#include "soh/Enhancements/savestate_serialize.h"
s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags);
-s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags);
+s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange);
s32 Camera_QRegInit(void);
s32 Camera_UpdateWater(Camera* camera);
@@ -449,17 +449,17 @@ f32 Camera_GetFloorYLayer(Camera* camera, Vec3f* norm, Vec3f* pos, s32* bgId) {
}
/**
- * Returns the CameraSettingType of the camera at index `camDataIdx`
+ * Returns the CameraSettingType of the camera at index `bgCamIndex`
*/
-s16 Camera_GetCamDataSetting(Camera* camera, s32 camDataIdx) {
- return func_80041A4C(&camera->play->colCtx, camDataIdx, BGCHECK_SCENE);
+s16 Camera_GetBgCamSetting(Camera* camera, s32 bgCamIndex) {
+ return BgCheck_GetBgCamSettingImpl(&camera->play->colCtx, bgCamIndex, BGCHECK_SCENE);
}
/**
- * Returns the scene camera info for the current camera data index
+ * Returns the bgCamFuncData using the current bgCam index
*/
Vec3s* Camera_GetCamBGData(Camera* camera) {
- return func_80041C10(&camera->play->colCtx, camera->camDataIdx, BGCHECK_SCENE);
+ return BgCheck_GetBgCamFuncDataImpl(&camera->play->colCtx, camera->camDataIdx, BGCHECK_SCENE);
}
/**
@@ -474,7 +474,7 @@ s32 Camera_GetDataIdxForPoly(Camera* camera, s32* bgId, CollisionPoly* poly) {
Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); // unused.
camDataIdx = SurfaceType_GetCamDataIndex(&camera->play->colCtx, poly, *bgId);
- if (func_80041A4C(&camera->play->colCtx, camDataIdx, *bgId) == CAM_SET_NONE) {
+ if (BgCheck_GetBgCamSettingImpl(&camera->play->colCtx, camDataIdx, *bgId) == CAM_SET_NONE) {
ret = -1;
} else {
ret = camDataIdx;
@@ -2980,7 +2980,7 @@ s32 Camera_Battle1(Camera* camera) {
VT_COL(YELLOW, BLACK) "camera: warning: battle: target is not valid, change parallel\n" VT_RST);
}
camera->target = NULL;
- Camera_ChangeMode(camera, CAM_MODE_TARGET);
+ Camera_RequestMode(camera, CAM_MODE_TARGET);
return true;
}
@@ -2996,7 +2996,7 @@ s32 Camera_Battle1(Camera* camera) {
} else {
osSyncPrintf("camera: battle: target actor name " VT_COL(RED, WHITE) "%d" VT_RST "\n", anim->target->id);
camera->target = NULL;
- Camera_ChangeMode(camera, CAM_MODE_TARGET);
+ Camera_RequestMode(camera, CAM_MODE_TARGET);
return true;
}
anim->animTimer = OREG(23) + OREG(24);
@@ -3260,7 +3260,7 @@ s32 Camera_KeepOn1(Camera* camera) {
VT_COL(YELLOW, BLACK) "camera: warning: keepon: target is not valid, change parallel\n" VT_RST);
}
camera->target = NULL;
- Camera_ChangeMode(camera, CAM_MODE_TARGET);
+ Camera_RequestMode(camera, CAM_MODE_TARGET);
return 1;
}
@@ -3493,7 +3493,7 @@ s32 Camera_KeepOn3(Camera* camera) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: talk: target is not valid, change parallel\n" VT_RST);
}
camera->target = NULL;
- Camera_ChangeMode(camera, CAM_MODE_TARGET);
+ Camera_RequestMode(camera, CAM_MODE_TARGET);
return 1;
}
if (camera->animState == 0 || camera->animState == 0xA || camera->animState == 0x14) {
@@ -3987,7 +3987,7 @@ s32 Camera_KeepOn0(Camera* camera) {
VT_COL(YELLOW, BLACK) "camera: warning: talk: target is not valid, change normal camera\n" VT_RST);
}
camera->target = NULL;
- Camera_ChangeMode(camera, CAM_MODE_NORMAL);
+ Camera_RequestMode(camera, CAM_MODE_NORMAL);
return true;
}
@@ -5622,7 +5622,7 @@ s32 Camera_Unique9(Camera* camera) {
// Change the parent camera (or default)'s mode to normal
s32 camIdx = camera->parentCamIdx <= SUBCAM_NONE ? CAM_ID_MAIN : camera->parentCamIdx;
- Camera_ChangeModeFlags(camera->play->cameraPtrs[camIdx], CAM_MODE_NORMAL, 1);
+ Camera_RequestModeImpl(camera->play->cameraPtrs[camIdx], CAM_MODE_NORMAL, true);
}
case 18: {
// copy the current camera to the parent (or default)'s camera.
@@ -7810,56 +7810,56 @@ s32 func_8005A02C(Camera* camera) {
return true;
}
-s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
- static s32 modeChangeFlags = 0;
+s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange) {
+ static s32 sModeRequestFlags = 0;
if (QREG(89)) {
- osSyncPrintf("+=+(%d)+=+ recive request -> %s\n", camera->play->state.frames, sCameraModeNames[mode]);
+ osSyncPrintf("+=+(%d)+=+ recive request -> %s\n", camera->play->state.frames, sCameraModeNames[requestedMode]);
}
- if (camera->unk_14C & 0x20 && flags == 0) {
+ if (camera->unk_14C & 0x20 && !forceModeChange) {
camera->unk_14A |= 0x20;
return -1;
}
- if (!((sCameraSettings[camera->setting].unk_00 & 0x3FFFFFFF) & (1 << mode))) {
- if (mode == CAM_MODE_FIRST_PERSON) {
+ if (!((sCameraSettings[camera->setting].unk_00 & 0x3FFFFFFF) & (1 << requestedMode))) {
+ if (requestedMode == CAM_MODE_FIRST_PERSON) {
osSyncPrintf("camera: error sound\n");
Sfx_PlaySfxCentered(NA_SE_SY_ERROR);
}
if (camera->mode != CAM_MODE_NORMAL) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: change camera mode: force NORMAL: %s %s refused\n" VT_RST,
- sCameraSettingNames[camera->setting], sCameraModeNames[mode]);
+ sCameraSettingNames[camera->setting], sCameraModeNames[requestedMode]);
camera->mode = CAM_MODE_NORMAL;
Camera_CopyDataToRegs(camera, camera->mode);
func_8005A02C(camera);
- return 0xC0000000 | mode;
+ return 0xC0000000 | requestedMode;
} else {
camera->unk_14A |= 0x20;
camera->unk_14A |= 2;
return 0;
}
} else {
- if (mode == camera->mode && flags == 0) {
+ if (requestedMode == camera->mode && !forceModeChange) {
camera->unk_14A |= 0x20;
camera->unk_14A |= 2;
return -1;
}
camera->unk_14A |= 0x20;
camera->unk_14A |= 2;
- Camera_CopyDataToRegs(camera, mode);
- modeChangeFlags = 0;
- switch (mode) {
+ Camera_CopyDataToRegs(camera, requestedMode);
+ sModeRequestFlags = 0;
+ switch (requestedMode) {
case CAM_MODE_FIRST_PERSON:
- modeChangeFlags = 0x20;
+ sModeRequestFlags = 0x20;
break;
case CAM_MODE_BATTLE:
- modeChangeFlags = 4;
+ sModeRequestFlags = 4;
break;
case CAM_MODE_FOLLOWTARGET:
if (camera->target != NULL && camera->target->id != ACTOR_EN_BOOM) {
- modeChangeFlags = 8;
+ sModeRequestFlags = 8;
}
break;
case CAM_MODE_TARGET:
@@ -7867,51 +7867,51 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
case CAM_MODE_Z_AIM:
case CAM_MODE_HANGZ:
case CAM_MODE_PUSHPULL:
- modeChangeFlags = 2;
+ sModeRequestFlags = 2;
break;
}
switch (camera->mode) {
case CAM_MODE_FIRST_PERSON:
- if (modeChangeFlags & 0x20) {
+ if (sModeRequestFlags & 0x20) {
camera->animState = 0xA;
}
break;
case CAM_MODE_TARGET:
- if (modeChangeFlags & 0x10) {
+ if (sModeRequestFlags & 0x10) {
camera->animState = 0xA;
}
- modeChangeFlags |= 1;
+ sModeRequestFlags |= 1;
break;
case CAM_MODE_CHARGE:
- modeChangeFlags |= 1;
+ sModeRequestFlags |= 1;
break;
case CAM_MODE_FOLLOWTARGET:
- if (modeChangeFlags & 8) {
+ if (sModeRequestFlags & 8) {
camera->animState = 0xA;
}
- modeChangeFlags |= 1;
+ sModeRequestFlags |= 1;
break;
case CAM_MODE_BATTLE:
- if (modeChangeFlags & 4) {
+ if (sModeRequestFlags & 4) {
camera->animState = 0xA;
}
- modeChangeFlags |= 1;
+ sModeRequestFlags |= 1;
break;
case CAM_MODE_Z_AIM:
case CAM_MODE_HANGZ:
case CAM_MODE_PUSHPULL:
- modeChangeFlags |= 1;
+ sModeRequestFlags |= 1;
break;
case CAM_MODE_NORMAL:
- if (modeChangeFlags & 0x10) {
+ if (sModeRequestFlags & 0x10) {
camera->animState = 0xA;
}
break;
}
- modeChangeFlags &= ~0x10;
+ sModeRequestFlags &= ~0x10;
if (camera->status == CAM_STAT_ACTIVE) {
- switch (modeChangeFlags) {
+ switch (sModeRequestFlags) {
case 1:
Sfx_PlaySfxCentered(0);
break;
@@ -7933,20 +7933,20 @@ s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) {
// Clear free look if an action is performed that would move the camera (targeting, first person, talking)
if (CVarGetInteger(CVAR_SETTING("FreeLook.Enabled"), 0) && SetCameraManual(camera) == 1 &&
- ((mode >= CAM_MODE_TARGET && mode <= CAM_MODE_BATTLE) ||
- (mode >= CAM_MODE_FIRST_PERSON && mode <= CAM_MODE_CLIMBZ) || mode == CAM_MODE_HANGZ ||
- mode == CAM_MODE_FOLLOWBOOMERANG)) {
+ ((requestedMode >= CAM_MODE_TARGET && requestedMode <= CAM_MODE_BATTLE) ||
+ (requestedMode >= CAM_MODE_FIRST_PERSON && requestedMode <= CAM_MODE_CLIMBZ) ||
+ requestedMode == CAM_MODE_HANGZ || requestedMode == CAM_MODE_FOLLOWBOOMERANG)) {
camera->play->manualCamera = false;
}
func_8005A02C(camera);
- camera->mode = mode;
- return 0x80000000 | mode;
+ camera->mode = requestedMode;
+ return 0x80000000 | requestedMode;
}
}
-s32 Camera_ChangeMode(Camera* camera, s16 mode) {
- return Camera_ChangeModeFlags(camera, mode, 0);
+s32 Camera_RequestMode(Camera* camera, s16 mode) {
+ return Camera_RequestModeImpl(camera, mode, false);
}
s32 Camera_CheckValidMode(Camera* camera, s16 mode) {
@@ -8015,7 +8015,7 @@ s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) {
camera->setting = setting;
- if (Camera_ChangeModeFlags(camera, camera->mode, 1) >= 0) {
+ if (Camera_RequestModeImpl(camera, camera->mode, true) >= 0) {
Camera_CopyDataToRegs(camera, camera->mode);
}
@@ -8039,7 +8039,7 @@ s32 Camera_ChangeDataIdx(Camera* camera, s32 camDataIdx) {
}
if (!(camera->unk_14A & 0x40)) {
- newCameraSetting = Camera_GetCamDataSetting(camera, camDataIdx);
+ newCameraSetting = Camera_GetBgCamSetting(camera, camDataIdx);
camera->unk_14A |= 0x40;
settingChangeSuccessful = Camera_ChangeSettingFlags(camera, newCameraSetting, 5) >= 0;
if (settingChangeSuccessful || sCameraSettings[camera->setting].unk_00 & 0x80000000) {
@@ -8230,7 +8230,7 @@ s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 camDataIdx, f32 a
Camera_RequestSetting(camera, CAM_SET_DOORC);
osSyncPrintf(".... change default door camera (set %d)\n", CAM_SET_DOORC);
} else {
- s32 setting = Camera_GetCamDataSetting(camera, camDataIdx);
+ s32 setting = Camera_GetBgCamSetting(camera, camDataIdx);
camera->unk_14A |= 0x40;
diff --git a/soh/src/code/z_onepointdemo.c b/soh/src/code/z_onepointdemo.c
index c036f7652..62194a758 100644
--- a/soh/src/code/z_onepointdemo.c
+++ b/soh/src/code/z_onepointdemo.c
@@ -603,7 +603,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
break;
case 3190:
Play_CameraChangeSetting(play, camIdx, CAM_SET_FOREST_DEFEAT_POE);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
Player_SetCsAction(play, actor, 0xC);
break;
case 3230:
@@ -863,14 +863,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrameCnt = 6;
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
break;
case 4150:
csInfo->keyFrames = D_801228A4;
csInfo->keyFrameCnt = 5;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
break;
case 4160:
@@ -878,7 +878,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrameCnt = 4;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
break;
case 4170:
@@ -886,7 +886,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrameCnt = 2;
Player_SetCsActionWithHaltedActors(play, NULL, 8);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
break;
case 4190:
@@ -894,7 +894,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrameCnt = 8;
Player_SetCsAction(play, &player->actor, 8);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
break;
case 4200:
@@ -902,7 +902,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 camIdx, s16 csId, Actor* actor
csInfo->keyFrameCnt = 3;
Player_SetCsAction(play, &player->actor, 8);
- Camera_ChangeMode(mainCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(mainCam, CAM_MODE_NORMAL);
func_800C0808(play, camIdx, player, CAM_SET_CS_C);
break;
case 4210:
@@ -1319,7 +1319,7 @@ s32 OnePointCutscene_Attention(PlayState* play, Actor* actor) {
parentCam = play->cameraPtrs[CAM_ID_MAIN];
if (parentCam->mode == CAM_MODE_FOLLOWBOOMERANG) {
osSyncPrintf(VT_COL(YELLOW, BLACK) "actor attention demo camera: change mode BOOKEEPON -> NORMAL\n" VT_RST);
- Camera_ChangeMode(parentCam, CAM_MODE_NORMAL);
+ Camera_RequestMode(parentCam, CAM_MODE_NORMAL);
}
// Finds the camera of the first actor attention demo with a lower category actor, or the first non-attention demo
diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c
index 843fa301e..fd0822323 100644
--- a/soh/src/code/z_play.c
+++ b/soh/src/code/z_play.c
@@ -586,7 +586,7 @@ void Play_Init(GameState* thisx) {
player = GET_PLAYER(play);
Camera_InitPlayerSettings(&play->mainCamera, player);
- Camera_ChangeMode(&play->mainCamera, CAM_MODE_NORMAL);
+ Camera_RequestMode(&play->mainCamera, CAM_MODE_NORMAL);
// OTRTODO: Bounds check cameraDataList to guard against scenes spawning the player with
// an out of bounds background camera index. This requires adding an extra field to the
diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c
index bf93c117c..c9d5ba5d8 100644
--- a/soh/src/code/z_player_lib.c
+++ b/soh/src/code/z_player_lib.c
@@ -746,8 +746,8 @@ void Player_SetAutoLockOnActor(PlayState* play, Actor* actor) {
this->focusActor = actor;
this->autoLockOnActor = actor;
this->stateFlags1 |= PLAYER_STATE1_FRIENDLY_ACTOR_FOCUS;
- Camera_SetParam(Play_GetCamera(play, 0), 8, actor);
- Camera_ChangeMode(Play_GetCamera(play, 0), 2);
+ Camera_SetParam(Play_GetCamera(play, CAM_ID_MAIN), 8, actor);
+ Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), 2);
}
s32 func_8008EF30(PlayState* play) {
diff --git a/soh/src/code/z_room.c b/soh/src/code/z_room.c
index 68bb0e5b1..cfdedcdaa 100644
--- a/soh/src/code/z_room.c
+++ b/soh/src/code/z_room.c
@@ -416,7 +416,7 @@ BgImage* func_80096A74(PolygonType1* polygon1, PlayState* play) {
camId = camera->camDataIdx;
if (GameInteractor_Should(VB_SHOULD_LOAD_BG_IMAGE, true, &camId)) {
// jfifid
- camId2 = func_80041C10(&play->colCtx, camId, BGCHECK_SCENE)[2].y;
+ camId2 = BgCheck_GetBgCamFuncDataImpl(&play->colCtx, camId, BGCHECK_SCENE)[2].y;
if (camId2 >= 0) {
camId = camId2;
}