summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarge-117 <108380086+Sarge-117@users.noreply.github.com>2022-10-19 18:51:42 -0700
committerGitHub <noreply@github.com>2022-10-19 21:51:42 -0400
commit4173eadae2291b2853a268e965097c9305f126d5 (patch)
tree543e3b8a931723c7cc64fc15840b4e00b3bdd53f
parent1b6dd8a0fe418cfcf8e00c44fa6db59ee568726b (diff)
Fix tunics/boots on C-buttons not always being enabled (#1782)
* Always enable C-buttons with equipment * Fix for it still sometimes being disables
-rw-r--r--soh/src/code/z_parameter.c24
1 files changed, 15 insertions, 9 deletions
diff --git a/soh/src/code/z_parameter.c b/soh/src/code/z_parameter.c
index dd150913b..02f9395f5 100644
--- a/soh/src/code/z_parameter.c
+++ b/soh/src/code/z_parameter.c
@@ -949,15 +949,7 @@ void func_80083108(GlobalContext* globalCtx) {
gSaveContext.buttonStatus[0] = BTN_DISABLED;
for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) {
- if ((gSaveContext.equips.buttonItems[i] >= ITEM_SHIELD_DEKU) &&
- (gSaveContext.equips.buttonItems[i] <= ITEM_BOOTS_HOVER)) {
- // Equipment on c-buttons is always enabled
- if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_DISABLED) {
- sp28 = 1;
- }
-
- gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] = BTN_ENABLED;
- } else if (func_8008F2F8(globalCtx) == 2) {
+ if (func_8008F2F8(globalCtx) == 2) {
if ((gSaveContext.equips.buttonItems[i] != ITEM_HOOKSHOT) &&
(gSaveContext.equips.buttonItems[i] != ITEM_LONGSHOT)) {
if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) {
@@ -1100,6 +1092,18 @@ void func_80083108(GlobalContext* globalCtx) {
}
}
+ for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) {
+ if ((gSaveContext.equips.buttonItems[i] >= ITEM_SHIELD_DEKU) &&
+ (gSaveContext.equips.buttonItems[i] <= ITEM_BOOTS_HOVER)) {
+ // Equipment on c-buttons is always enabled
+ if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_DISABLED) {
+ sp28 = 1;
+ }
+
+ gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] = BTN_ENABLED;
+ }
+ }
+
if (interfaceCtx->restrictions.bottles != 0) {
for (i = 1; i < ARRAY_COUNT(gSaveContext.equips.buttonItems); i++) {
if ((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) &&
@@ -1253,6 +1257,8 @@ void func_80083108(GlobalContext* globalCtx) {
(gSaveContext.equips.buttonItems[i] != ITEM_OCARINA_TIME) &&
!((gSaveContext.equips.buttonItems[i] >= ITEM_BOTTLE) &&
(gSaveContext.equips.buttonItems[i] <= ITEM_POE)) &&
+ !((gSaveContext.equips.buttonItems[i] >= ITEM_SHIELD_DEKU) && // Never disable equipment
+ (gSaveContext.equips.buttonItems[i] <= ITEM_BOOTS_HOVER)) && // (tunics/boots) on C-buttons
!((gSaveContext.equips.buttonItems[i] >= ITEM_WEIRD_EGG) &&
(gSaveContext.equips.buttonItems[i] <= ITEM_CLAIM_CHECK))) {
if ((globalCtx->sceneNum != SCENE_TAKARAYA) ||