Fix Ruto softlock with fast text (fixes #96) (#1732) (#1745)

(cherry picked from commit e7ea2a3ae1)

Co-authored-by: Rozelette <Rozelette@users.noreply.github.com>
This commit is contained in:
mergify[bot] 2022-10-11 17:17:41 +02:00 committed by GitHub
parent c00edb928b
commit 43b7ca96d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 3 deletions

View File

@ -1246,7 +1246,7 @@ namespace GameMenuBar {
UIWidgets::Tooltip("The Kokiri are mystical beings that fade into view when approached\nEnabling this will remove their draw distance");
}
UIWidgets::PaddedEnhancementCheckbox("Skip Text", "gSkipText", true, false);
UIWidgets::Tooltip("Holding down B skips text\nKnown to cause a cutscene softlock in Water Temple\nSoftlock can be fixed by pressing D-Right in Debug mode");
UIWidgets::Tooltip("Holding down B skips text");
UIWidgets::PaddedEnhancementCheckbox("Free Camera", "gFreeCamera", true, false);
UIWidgets::Tooltip("Enables camera control\nNote: You must remap C buttons off of the right stick in the controller config menu, and map the camera stick to the right stick.");

View File

@ -634,13 +634,13 @@ s32 func_80AF383C(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF3878(EnRu2* this, GlobalContext* globalCtx) {
if (func_80AF383C(this, globalCtx) && !Gameplay_InCsMode(globalCtx)) {
this->action = 16;
OnePointCutscene_Init(globalCtx, 3130, -99, &this->actor, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(globalCtx, 3130, -99, &this->actor, MAIN_CAM);
}
}
void func_80AF38D0(EnRu2* this, GlobalContext* globalCtx) {
this->action = 16;
OnePointCutscene_Init(globalCtx, 3130, -99, &this->actor, MAIN_CAM);
this->subCamId = OnePointCutscene_Init(globalCtx, 3130, -99, &this->actor, MAIN_CAM);
}
void func_80AF390C(EnRu2* this, GlobalContext* globalCtx) {
@ -703,6 +703,7 @@ void func_80AF3ADC(EnRu2* this, GlobalContext* globalCtx) {
void func_80AF3B74(EnRu2* this, GlobalContext* globalCtx) {
if (this->unk_2C0 > ((((u16)(kREG(3) + 0x28)) + ((u16)(kREG(2) + 0x96))) & 0xFFFF)) {
Actor_Kill(&this->actor);
OnePointCutscene_EndCutscene(globalCtx, this->subCamId);
}
}
@ -789,6 +790,7 @@ void EnRu2_Init(Actor* thisx, GlobalContext* globalCtx) {
this->unk_2C2 = 0;
this->unk_2C3 = TEXT_STATE_DONE_FADING;
this->subCamId = 0;
}
void func_80AF3F14(EnRu2* this, GlobalContext* globalCtx) {

View File

@ -27,6 +27,7 @@ typedef struct EnRu2 {
/* 0x02C3 */ u8 unk_2C3;
/* 0x02C4 */ f32 unk_2C4;
/* 0x02C8 */ ColliderCylinder collider;
/* 0x02C8 */ s16 subCamId;
} EnRu2; // size = 0x0314
#endif