mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-10-21 10:51:32 -04:00
[Bugfix] Restore Ganondorf Lights Hint (#7363)
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
|
||||
#include <libultraship/bridge/consolevariablebridge.h>
|
||||
|
||||
#include "soh/Enhancements/custom-message/CustomMessageTypes.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor.h"
|
||||
#include "soh/Enhancements/randomizer/SeedContext.h"
|
||||
#include "soh/ShipInit.hpp"
|
||||
|
||||
extern "C" {
|
||||
@@ -29,7 +31,13 @@ void RegisterGanonIntros() {
|
||||
}
|
||||
});
|
||||
|
||||
COND_VB_SHOULD(VB_PLAY_GANONDORF_INTRO_CS, CVAR_VALUE || IS_RANDO || IS_BOSS_RUSH, { *should = false; });
|
||||
COND_VB_SHOULD(VB_PLAY_GANONDORF_INTRO_CS, CVAR_VALUE || IS_RANDO || IS_BOSS_RUSH, {
|
||||
va_arg(args, void*);
|
||||
u16 textId = va_arg(args, int);
|
||||
if (textId != TEXT_GANONDORF || !IS_RANDO || !RAND_GET_OPTION(RSK_GANONDORF_HINT)) {
|
||||
*should = false;
|
||||
}
|
||||
});
|
||||
|
||||
// Skip Ganon rising from the rubble, transforming and landing. Skip to knocking sword away.
|
||||
COND_VB_SHOULD(VB_PLAY_GANON_INTRO_CS, CVAR_VALUE, {
|
||||
|
||||
@@ -2234,6 +2234,7 @@ typedef enum {
|
||||
// ```
|
||||
// #### `args`
|
||||
// - `*BossGanon`
|
||||
// - `u16` text ID
|
||||
VB_PLAY_GANONDORF_INTRO_CS,
|
||||
|
||||
// #### `result`
|
||||
|
||||
@@ -918,7 +918,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
|
||||
this->csTimer = 0;
|
||||
this->csCamFov = 60.0f;
|
||||
BossGanon_SetIntroCsCamera(this, 12);
|
||||
if (GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this)) {
|
||||
if (GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this, 0x70CB)) {
|
||||
Message_StartTextbox(play, 0x70CB, NULL);
|
||||
}
|
||||
}
|
||||
@@ -942,7 +942,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
|
||||
|
||||
this->csState = 19;
|
||||
this->csTimer = 0;
|
||||
if (GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this)) {
|
||||
if (GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this, 0x70CC)) {
|
||||
Message_StartTextbox(play, 0x70CC, NULL);
|
||||
}
|
||||
Animation_MorphToPlayOnce(&this->skelAnime, &gGanondorfRaiseHandStartAnim, -5.0f);
|
||||
@@ -985,7 +985,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
|
||||
}
|
||||
|
||||
if ((this->csTimer > 80) && (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) {
|
||||
if (!GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this)) {
|
||||
if (!GameInteractor_Should(VB_PLAY_GANONDORF_INTRO_CS, true, this, 0)) {
|
||||
this->timers[2] = 30;
|
||||
this->csCamAt.x = this->unk_1FC.x - 10.0f;
|
||||
this->csCamAt.y = this->unk_1FC.y + 30.0f;
|
||||
|
||||
Reference in New Issue
Block a user