summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libultraship/libultraship/ImGuiImpl.cpp4
-rw-r--r--soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/libultraship/libultraship/ImGuiImpl.cpp b/libultraship/libultraship/ImGuiImpl.cpp
index 79dbef375..6b04209ba 100644
--- a/libultraship/libultraship/ImGuiImpl.cpp
+++ b/libultraship/libultraship/ImGuiImpl.cpp
@@ -1301,6 +1301,8 @@ namespace SohImGui {
Tooltip("The default response to Kaepora Gaebora is always that you understood what he said");
PaddedEnhancementCheckbox("Fast Ocarina Playback", "gFastOcarinaPlayback", true, false);
Tooltip("Skip the part where the Ocarina playback is called when you play a song");
+ PaddedEnhancementCheckbox("Skip Scarecrow Song", "gSkipScarecrow", true, false);
+ Tooltip("Pierre appears when Ocarina is pulled out. Requires learning scarecrow song.");
PaddedEnhancementCheckbox("Instant Putaway", "gInstantPutaway", true, false);
Tooltip("Allow Link to put items away without having to wait around");
PaddedEnhancementCheckbox("Instant Boomerang Recall", "gFastBoomerang", true, false);
@@ -2479,6 +2481,8 @@ namespace SohImGui {
CVar_SetS32("gVisualAgony", 1);
// Pull grave during the day
CVar_SetS32("gDayGravePull", 1);
+ // Pull out Ocarina to Summon Scarecrow
+ CVar_SetS32("gSkipScarecrow", 0);
// Pause link animation (0 to 16)
CVar_SetS32("gPauseLiveLink", 16);
diff --git a/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
index 3469d4d6b..a7be7866d 100644
--- a/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
+++ b/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
@@ -118,9 +118,10 @@ void func_80A90264(EnKakasi2* this, GlobalContext* globalCtx) {
this->unk_194++;
- if ((BREG(1) != 0) && (this->actor.xzDistToPlayer < this->maxSpawnDistance.x) &&
- (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < this->maxSpawnDistance.y)) {
-
+ if (((BREG(1) != 0) || ((CVar_GetS32("gSkipScarecrow", 0) != 0) &&
+ (globalCtx->msgCtx.ocarinaAction == OCARINA_ACTION_FREE_PLAY) && gSaveContext.scarecrowSpawnSongSet)) &&
+ (this->actor.xzDistToPlayer < this->maxSpawnDistance.x) &&
+ (fabsf(player->actor.world.pos.y - this->actor.world.pos.y) < this->maxSpawnDistance.y)){
this->actor.draw = func_80A90948;
Collider_InitCylinder(globalCtx, &this->collider);
Collider_SetCylinder(globalCtx, &this->collider, &this->actor, &sCylinderInit);