Skip the Mweep cutscene (#4646)
* Skip the Mweep cutscene * Fix bug: Ruto's letter was not removed from bottle
This commit is contained in:
@@ -437,17 +437,23 @@ void EnKz_SetupMweep(EnKz* this, PlayState* play) {
|
||||
Vec3f pos;
|
||||
Vec3f initPos;
|
||||
|
||||
this->cutsceneCamera = Play_CreateSubCamera(play);
|
||||
this->gameplayCamera = play->activeCamera;
|
||||
Play_ChangeCameraStatus(play, this->gameplayCamera, CAM_STAT_WAIT);
|
||||
Play_ChangeCameraStatus(play, this->cutsceneCamera, CAM_STAT_ACTIVE);
|
||||
bool shouldPlayCutscene = GameInteractor_Should(VB_PLAY_MWEEP_CS, true);
|
||||
|
||||
if (shouldPlayCutscene) {
|
||||
this->cutsceneCamera = Play_CreateSubCamera(play);
|
||||
this->gameplayCamera = play->activeCamera;
|
||||
Play_ChangeCameraStatus(play, this->gameplayCamera, CAM_STAT_WAIT);
|
||||
Play_ChangeCameraStatus(play, this->cutsceneCamera, CAM_STAT_ACTIVE);
|
||||
}
|
||||
pos = this->actor.world.pos;
|
||||
initPos = this->actor.home.pos;
|
||||
pos.y += 60.0f;
|
||||
initPos.y += -100.0f;
|
||||
initPos.z += 260.0f;
|
||||
Play_CameraSetAtEye(play, this->cutsceneCamera, &pos, &initPos);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
|
||||
if (shouldPlayCutscene) {
|
||||
Play_CameraSetAtEye(play, this->cutsceneCamera, &pos, &initPos);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, 8);
|
||||
}
|
||||
this->actor.speedXZ = 0.1f * CVarGetFloat(CVAR_ENHANCEMENT("MweepSpeed"), 1.0f);
|
||||
this->actionFunc = EnKz_Mweep;
|
||||
}
|
||||
@@ -462,7 +468,9 @@ void EnKz_Mweep(EnKz* this, PlayState* play) {
|
||||
pos.y += 60.0f;
|
||||
initPos.y += -100.0f;
|
||||
initPos.z += 260.0f;
|
||||
Play_CameraSetAtEye(play, this->cutsceneCamera, &pos, &initPos);
|
||||
if (GameInteractor_Should(VB_PLAY_MWEEP_CS, true)) {
|
||||
Play_CameraSetAtEye(play, this->cutsceneCamera, &pos, &initPos);
|
||||
}
|
||||
if ((EnKz_FollowPath(this, play) == 1) && (this->waypoint == 0)) {
|
||||
Animation_ChangeByInfo(&this->skelanime, sAnimationInfo, ENKZ_ANIM_1);
|
||||
Inventory_ReplaceItem(play, ITEM_LETTER_RUTO, ITEM_BOTTLE);
|
||||
@@ -477,9 +485,11 @@ void EnKz_Mweep(EnKz* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnKz_StopMweep(EnKz* this, PlayState* play) {
|
||||
Play_ChangeCameraStatus(play, this->gameplayCamera, CAM_STAT_ACTIVE);
|
||||
Play_ClearCamera(play, this->cutsceneCamera);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, 7);
|
||||
if (GameInteractor_Should(VB_PLAY_MWEEP_CS, true)) {
|
||||
Play_ChangeCameraStatus(play, this->gameplayCamera, CAM_STAT_ACTIVE);
|
||||
Play_ClearCamera(play, this->cutsceneCamera);
|
||||
Player_SetCsActionWithHaltedActors(play, &this->actor, 7);
|
||||
}
|
||||
this->actionFunc = EnKz_Wait;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user