Split Skip Pickup Messages (#5648)
Some checks failed
generate-builds / generate-soh-otr (push) Has been cancelled
generate-builds / build-macos (push) Has been cancelled
generate-builds / build-linux (push) Has been cancelled
generate-builds / build-windows (push) Has been cancelled

* Split Skip Pickup Messages

following ZFG's comment https://youtube.com/clip/UgkxF-LDaR-zyTkqSkqtP3dkLrCca_KGScIw?si=RJY9SIG8QKSiWgVl

splits the Skip Pickup Messages time saver for consumables and bottle pickups

* CVar updates I missed

* another cvar I missed
This commit is contained in:
OtherBlue 2025-07-03 01:35:49 -03:00 committed by GitHub
parent 32683e2a74
commit dfa10383e4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 5 deletions

View file

@ -353,9 +353,12 @@ void SohMenu::AddMenuEnhancements() {
"Door Switch CS, Water Temple Dragon Switch CS, and the Box Skip One Point in Jabu.")); "Door Switch CS, Water Temple Dragon Switch CS, and the Box Skip One Point in Jabu."));
AddWidget(path, "Text", WIDGET_SEPARATOR_TEXT); AddWidget(path, "Text", WIDGET_SEPARATOR_TEXT);
AddWidget(path, "Skip Pickup Messages", WIDGET_CVAR_CHECKBOX) AddWidget(path, "Skip Bottle Pickup Messages", WIDGET_CVAR_CHECKBOX)
.CVar(CVAR_ENHANCEMENT("FastBottles"))
.Options(CheckboxOptions().Tooltip("Skip Pickup Messages for Bottle Swipes."));
AddWidget(path, "Skip Consumable Item Pickup Messages", WIDGET_CVAR_CHECKBOX)
.CVar(CVAR_ENHANCEMENT("FastDrops")) .CVar(CVAR_ENHANCEMENT("FastDrops"))
.Options(CheckboxOptions().Tooltip("Skip Pickup Messages for new Consumable Items and Bottle Swipes.")); .Options(CheckboxOptions().Tooltip("Skip Pickup Messages for new Consumable Items."));
AddWidget(path, "Skip Forced Dialog", WIDGET_CVAR_COMBOBOX) AddWidget(path, "Skip Forced Dialog", WIDGET_CVAR_COMBOBOX)
.CVar(CVAR_ENHANCEMENT("TimeSavers.SkipForcedDialog")) .CVar(CVAR_ENHANCEMENT("TimeSavers.SkipForcedDialog"))
.Options(ComboboxOptions() .Options(ComboboxOptions()

View file

@ -14697,7 +14697,7 @@ void Player_Action_SwingBottle(Player* this, PlayState* play) {
if (LinkAnimation_Update(play, &this->skelAnime)) { if (LinkAnimation_Update(play, &this->skelAnime)) {
if (this->av1.bottleCatchType != BOTTLE_CATCH_NONE) { if (this->av1.bottleCatchType != BOTTLE_CATCH_NONE) {
if (!this->av2.startedTextbox) { if (!this->av2.startedTextbox) {
if (CVarGetInteger(CVAR_ENHANCEMENT("FastDrops"), 0)) { if (CVarGetInteger(CVAR_ENHANCEMENT("FastBottles"), 0)) {
this->av1.bottleCatchType = BOTTLE_CATCH_NONE; this->av1.bottleCatchType = BOTTLE_CATCH_NONE;
} else { } else {
// 1 is subtracted because `sBottleCatchInfo` does not have an entry for `BOTTLE_CATCH_NONE` // 1 is subtracted because `sBottleCatchInfo` does not have an entry for `BOTTLE_CATCH_NONE`
@ -14740,13 +14740,13 @@ void Player_Action_SwingBottle(Player* this, PlayState* play) {
this->av1.bottleCatchType = i + 1; this->av1.bottleCatchType = i + 1;
this->av2.startedTextbox = false; this->av2.startedTextbox = false;
if (!CVarGetInteger(CVAR_ENHANCEMENT("FastDrops"), 0)) { if (!CVarGetInteger(CVAR_ENHANCEMENT("FastBottles"), 0)) {
this->stateFlags1 |= PLAYER_STATE1_IN_ITEM_CS | PLAYER_STATE1_IN_CUTSCENE; this->stateFlags1 |= PLAYER_STATE1_IN_ITEM_CS | PLAYER_STATE1_IN_CUTSCENE;
} }
this->interactRangeActor->parent = &this->actor; this->interactRangeActor->parent = &this->actor;
Player_UpdateBottleHeld(play, this, catchInfo->itemId, ABS(catchInfo->itemAction)); Player_UpdateBottleHeld(play, this, catchInfo->itemId, ABS(catchInfo->itemAction));
if (!CVarGetInteger(CVAR_ENHANCEMENT("FastDrops"), 0)) { if (!CVarGetInteger(CVAR_ENHANCEMENT("FastBottles"), 0)) {
Player_AnimPlayOnceAdjusted(play, this, swingEntry->catchAnimation); Player_AnimPlayOnceAdjusted(play, this, swingEntry->catchAnimation);
func_80835EA4(play, 4); func_80835EA4(play, 4);
} }