summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortomtee <33041004+t0mtee@users.noreply.github.com>2025-04-23 22:47:01 +0100
committerEblo <7004497+Eblo@users.noreply.github.com>2025-09-16 21:40:33 -0400
commit9d000a0c6dad70e6eb8b6805cf9df128132f4f8c (patch)
tree789ad1b774acb72799de66fcb5c3288f1cf80611
parentd6e9161854d3ed8d41bf04cf2cb0a1af0e78dc28 (diff)
Document inconsistent empty C-button disabling bug (#1810)
* Document inconsistent empty C-button disabling bug * Fixed formatting
-rw-r--r--mm/src/code/z_parameter.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/src/code/z_parameter.c b/mm/src/code/z_parameter.c
index 5ad5b7343..ba8a20199 100644
--- a/mm/src/code/z_parameter.c
+++ b/mm/src/code/z_parameter.c
@@ -3359,6 +3359,10 @@ void Interface_UpdateButtonsPart2(PlayState* play) {
if (GET_PLAYER_FORM == player->transformation) {
for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) {
// Individual C button
+ //! @bug When C-buttons are empty, their item code is 255. However, gPlayerFormItemRestrictions's second
+ //! dimension has only been allocated 114 elements. This leads to inconsistent behaviour when checking
+ //! the status of empty C-buttons - for most forms, the C-buttons are enabled when empty, however for
+ //! Deku Link only, empty C-buttons are disabled.
ItemId itemId = GET_CUR_FORM_BTN_ITEM(i);
if (GameInteractor_Should(VB_ITEM_BE_RESTRICTED, !gPlayerFormItemRestrictions[GET_PLAYER_FORM][itemId],
&itemId)) {