From 2ab028b46579f3e9c23f87a8af4e520240fdcbf0 Mon Sep 17 00:00:00 2001 From: tomtee <33041004+t0mtee@users.noreply.github.com> Date: Wed, 23 Apr 2025 22:47:01 +0100 Subject: [PATCH] Document inconsistent empty C-button disabling bug (#1810) * Document inconsistent empty C-button disabling bug * Fixed formatting --- src/code/z_parameter.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 4c6ac58e5d..5a96c8a72c 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -2044,6 +2044,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. if (!gPlayerFormItemRestrictions[GET_PLAYER_FORM][GET_CUR_FORM_BTN_ITEM(i)]) { // Item not usable in current playerForm if (gSaveContext.buttonStatus[i] != BTN_DISABLED) {