mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Tweak FreeLock reset logic (#721)
This commit is contained in:
@@ -21,24 +21,26 @@ extern s32 sCameraInterfaceFlags;
|
||||
static bool sCanFreeLook = false;
|
||||
|
||||
void UpdateFreeLookState(Camera* camera) {
|
||||
if (CAM_MODE_TARGET <= camera->mode && camera->mode <= CAM_MODE_BATTLE) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
|
||||
if (CAM_MODE_FIRSTPERSON <= camera->mode && camera->mode <= CAM_MODE_CLIMBZ) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
|
||||
if (camera->mode == CAM_MODE_HANGZ) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
|
||||
if (CAM_MODE_BOOMERANG <= camera->mode && camera->mode <= CAM_MODE_ZORAFINZ) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
|
||||
if (gPlayState != nullptr && Player_InCsMode(gPlayState)) {
|
||||
sCanFreeLook = false;
|
||||
switch (camera->mode) {
|
||||
case CAM_MODE_BOWARROWZ:
|
||||
case CAM_MODE_FIRSTPERSON:
|
||||
case CAM_MODE_FOLLOWBOOMERANG:
|
||||
case CAM_MODE_ZORAFIN:
|
||||
case CAM_MODE_FOLLOWTARGET:
|
||||
case CAM_MODE_TARGET:
|
||||
case CAM_MODE_TALK:
|
||||
case CAM_MODE_SLINGSHOT:
|
||||
case CAM_MODE_BOWARROW:
|
||||
case CAM_MODE_BATTLE:
|
||||
case CAM_MODE_DEKUHIDE:
|
||||
case CAM_MODE_CLIMBZ:
|
||||
case CAM_MODE_HOOKSHOT:
|
||||
case CAM_MODE_HANGZ:
|
||||
case CAM_MODE_DEKUFLYZ:
|
||||
case CAM_MODE_BOOMERANG:
|
||||
case CAM_MODE_CHARGEZ:
|
||||
case CAM_MODE_ZORAFINZ:
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,6 +147,10 @@ bool Camera_CanFreeLook(Camera* camera) {
|
||||
if (CHECK_BTN_ALL(sCamPlayState->state.input[0].press.button, BTN_Z)) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
// Reset camera during cutscenes
|
||||
if (gPlayState != nullptr && Player_InCsMode(gPlayState)) {
|
||||
sCanFreeLook = false;
|
||||
}
|
||||
|
||||
return sCanFreeLook;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user