mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-07-10 23:22:38 -04:00
Enhancement, add SoT blocks to one point cutscene skip (#6848)
This commit is contained in:
@@ -697,6 +697,13 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VB_PLAY_TIMEBLOCK_CS: {
|
||||
if (CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), IS_RANDO)) {
|
||||
// Todo: Preferable if possible to turn camera as if SoT block cutscene
|
||||
*should = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VB_PLAY_GORON_FREE_CS: {
|
||||
if (CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), IS_RANDO)) {
|
||||
*should = false;
|
||||
|
||||
@@ -1743,6 +1743,14 @@ typedef enum {
|
||||
// - `*EnDaiku`
|
||||
VB_PLAY_CARPENTER_FREE_CS,
|
||||
|
||||
// #### `result`
|
||||
// ```c
|
||||
// true if one point cutscene skip not enabled, or not randomizer
|
||||
// ```
|
||||
// #### `args`
|
||||
// - none
|
||||
VB_PLAY_TIMEBLOCK_CS,
|
||||
|
||||
// #### `result`
|
||||
// Close enough & various cutscene checks
|
||||
// ```c
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_obj_timeblock.h"
|
||||
#include "objects/object_timeblock/object_timeblock.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
|
||||
#define FLAGS \
|
||||
(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_UPDATE_CULLING_DISABLED | ACTOR_FLAG_UPDATE_DURING_OCARINA | \
|
||||
@@ -218,8 +219,11 @@ void ObjTimeblock_Normal(ObjTimeblock* this, PlayState* play) {
|
||||
ObjTimeblock_SpawnDemoEffect(this, play);
|
||||
this->demoEffectTimer = 160;
|
||||
|
||||
// Possibly points the camera to this actor
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
if (GameInteractor_Should(VB_PLAY_TIMEBLOCK_CS, true, this)) {
|
||||
// Possibly points the camera to this actor
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
}
|
||||
|
||||
// "◯◯◯◯ Time Block Attention Camera (frame counter %d)\n"
|
||||
osSyncPrintf("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames);
|
||||
|
||||
@@ -277,7 +281,11 @@ void ObjTimeblock_AltBehaviorVisible(ObjTimeblock* this, PlayState* play) {
|
||||
this->demoEffectFirstPartTimer = 12;
|
||||
ObjTimeblock_SpawnDemoEffect(this, play);
|
||||
this->demoEffectTimer = 160;
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
|
||||
if (GameInteractor_Should(VB_PLAY_TIMEBLOCK_CS, true, this)) {
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
}
|
||||
|
||||
// "Time Block Attention Camera (frame counter)"
|
||||
osSyncPrintf("◯◯◯◯ Time Block 注目カメラ (frame counter %d)\n", play->state.frames);
|
||||
ObjTimeblock_ToggleSwitchFlag(play, this->dyna.actor.params & 0x3F);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "z_obj_warp2block.h"
|
||||
#include "objects/object_timeblock/object_timeblock.h"
|
||||
#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
|
||||
#include "vt.h"
|
||||
|
||||
#define FLAGS \
|
||||
@@ -280,7 +281,9 @@ void func_80BA2610(ObjWarp2block* this, PlayState* play) {
|
||||
if ((func_80BA2304(this, play) != 0) && (this->unk_16C <= 0)) {
|
||||
ObjWarp2block_Spawn(this, play);
|
||||
this->unk_16C = 0xA0;
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
if (GameInteractor_Should(VB_PLAY_TIMEBLOCK_CS, true, this)) {
|
||||
OnePointCutscene_Attention(play, &this->dyna.actor);
|
||||
}
|
||||
this->unk_170 = 0xC;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user