Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "interact button" enums: C, BC, BCA #1228

Open
wants to merge 30 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
39d48bb
IBTN_
Dragorn421 Oct 12, 2022
1fbd18c
format
Dragorn421 Oct 12, 2022
1ada65c
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Oct 15, 2022
204a5a9
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Oct 24, 2022
196b376
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Nov 14, 2022
7deffb6
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Nov 16, 2022
d82b8b1
format
Dragorn421 Nov 16, 2022
fdcbffb
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Nov 17, 2022
1282860
More `iconItemSegment` cleanup
Dragorn421 Nov 17, 2022
8c18464
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Nov 23, 2022
d8a2dc3
revert formatting macros.h
Dragorn421 Nov 23, 2022
a373328
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Nov 30, 2022
64f3b43
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Dec 11, 2022
d1b0a33
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Dec 13, 2022
576b045
a bit more `ibtn_bc_` usage
Dragorn421 Dec 13, 2022
88fcd61
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Dec 19, 2022
13e4df8
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Dec 30, 2022
6fe01ef
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Jan 13, 2023
e6e22ae
Merge branch 'master' (early part) into doc_button_indices_in_save_st…
Dragorn421 Aug 15, 2023
8b126a9
Merge branch 'master' (early part) into doc_button_indices_in_save_st…
Dragorn421 Aug 15, 2023
0bc99f6
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Aug 15, 2023
28bd807
format and fix whitespace
Dragorn421 Aug 15, 2023
283d654
format two macros
Dragorn421 Aug 15, 2023
729972a
Merge branch 'master' into doc_button_indices_in_save_structs
Dragorn421 Sep 19, 2023
1a037a9
format
Dragorn421 Sep 19, 2023
e9b49ef
Merge branch 'main' into doc_button_indices_in_save_structs
Dragorn421 Sep 27, 2023
584b1bc
IBTN_x_ -> INTERACT_x_BTN_
Dragorn421 Sep 27, 2023
269cb92
run formatter
Dragorn421 Sep 27, 2023
7310c2d
Merge branch 'main' into doc_button_indices_in_save_structs
Dragorn421 Oct 15, 2023
e624269
Merge branch 'main' into doc_button_indices_in_save_structs
Dragorn421 Jan 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
19 changes: 10 additions & 9 deletions include/macros.h
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,16 @@
#define SET_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] |= (1 << ((flag) & 0xF)))
#define CLEAR_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] &= ~(1 << ((flag) & 0xF)))

#define B_BTN_ITEM ((gSaveContext.buttonStatus[0] == ITEM_NONE) \
? ITEM_NONE \
: (gSaveContext.save.info.equips.buttonItems[0] == ITEM_GIANTS_KNIFE) \
? ITEM_SWORD_BIGGORON \
: gSaveContext.save.info.equips.buttonItems[0])

#define C_BTN_ITEM(button) ((gSaveContext.buttonStatus[(button) + 1] != BTN_DISABLED) \
? gSaveContext.save.info.equips.buttonItems[(button) + 1] \
: ITEM_NONE)
#define B_BTN_ITEM \
((gSaveContext.buttonStatus[INTERACT_BCA_BTN_B] == ITEM_NONE) ? ITEM_NONE \
: (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] == ITEM_GIANTS_KNIFE) \
? ITEM_SWORD_BIGGORON \
: gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B])

#define C_BTN_ITEM(button) \
((gSaveContext.buttonStatus[INTERACT_C_BTN_TO_BCA_BTN(button)] != BTN_DISABLED) \
? gSaveContext.save.info.equips.buttonItems[INTERACT_C_BTN_TO_BC_BTN(button)] \
: ITEM_NONE)

#define CHECK_BTN_ALL(state, combo) (~((state) | ~(combo)) == 0)
#define CHECK_BTN_ANY(state, combo) (((state) & (combo)) != 0)
Expand Down
39 changes: 36 additions & 3 deletions include/z64save.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,42 @@ typedef enum {
#define MAGIC_NORMAL_METER 0x30
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)

typedef enum {
/* 0 */ INTERACT_BC_BTN_B,
/* 1 */ INTERACT_BC_BTN_C_LEFT,
/* 2 */ INTERACT_BC_BTN_C_DOWN,
/* 3 */ INTERACT_BC_BTN_C_RIGHT,
/* 4 */ INTERACT_BC_BTN_MAX
} InteractBCButton;

#define INTERACT_BC_BTN_C_FIRST INTERACT_BC_BTN_C_LEFT
#define INTERACT_BC_BTN_C_LAST INTERACT_BC_BTN_C_RIGHT

typedef enum {
/* 0 */ INTERACT_C_BTN_C_LEFT,
/* 1 */ INTERACT_C_BTN_C_DOWN,
/* 2 */ INTERACT_C_BTN_C_RIGHT,
/* 3 */ INTERACT_C_BTN_MAX
} InteractCButton;

#define INTERACT_C_BTN_TO_BC_BTN(btnsC) ((btnsC) + 1)
#define INTERACT_BC_BTN_TO_C_BTN(btnsBC) ((btnsBC) - 1)

typedef enum {
/* 0 */ INTERACT_BCA_BTN_B,
/* 1 */ INTERACT_BCA_BTN_C_LEFT,
/* 2 */ INTERACT_BCA_BTN_C_DOWN,
/* 3 */ INTERACT_BCA_BTN_C_RIGHT,
/* 4 */ INTERACT_BCA_BTN_A,
/* 5 */ INTERACT_BCA_BTN_MAX
} InteractBCAButton;

#define INTERACT_C_BTN_TO_BCA_BTN(btnsC) ((btnsC) + 1)
#define INTERACT_BC_BTN_TO_BCA_BTN(btnsBC) (btnsBC)

typedef struct {
/* 0x00 */ u8 buttonItems[4];
/* 0x04 */ u8 cButtonSlots[3];
/* 0x00 */ u8 buttonItems[INTERACT_BC_BTN_MAX];
/* 0x04 */ u8 cButtonSlots[INTERACT_C_BTN_MAX];
/* 0x08 */ u16 equipment; // a mask where each nibble corresponds to a type of equipment `EquipmentType`, and each nibble is a piece `EquipValue*`
} ItemEquips; // size = 0x0A

Expand Down Expand Up @@ -262,7 +295,7 @@ typedef struct {
/* 0x13DE */ char unk_13DE[0x0002];
/* 0x13E0 */ u8 seqId;
/* 0x13E1 */ u8 natureAmbienceId;
/* 0x13E2 */ u8 buttonStatus[5];
/* 0x13E2 */ u8 buttonStatus[INTERACT_BCA_BTN_MAX];
/* 0x13E7 */ u8 forceRisingButtonAlphas; // if btn alphas are updated through Interface_DimButtonAlphas, instead update them through Interface_RaiseButtonAlphas
/* 0x13E8 */ u16 nextHudVisibilityMode; // triggers the hud to change visibility mode to the requested value. Reset to HUD_VISIBILITY_NO_CHANGE when target is reached
/* 0x13EA */ u16 hudVisibilityMode; // current hud visibility mode
Expand Down
2 changes: 1 addition & 1 deletion src/code/code_80097A00.c
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ u8 Inventory_DeleteEquipment(PlayState* play, s16 equipment) {
}

if (equipment == EQUIP_TYPE_SWORD) {
gSaveContext.save.info.equips.buttonItems[0] = ITEM_NONE;
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] = ITEM_NONE;
gSaveContext.save.info.infTable[INFTABLE_1DX_INDEX] = 1;
}

Expand Down
115 changes: 58 additions & 57 deletions src/code/z_construct.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ void Interface_Destroy(PlayState* play) {
Map_Destroy(play);
}

#define ICON_ITEM_SEGMENT_SIZE (4 * ITEM_ICON_SIZE)
#define ICON_ITEM_SEGMENT_SIZE (INTERACT_BC_BTN_MAX * ITEM_ICON_SIZE)

void Interface_Init(PlayState* play) {
InterfaceContext* interfaceCtx = &play->interfaceCtx;
Expand Down Expand Up @@ -80,38 +80,39 @@ void Interface_Init(PlayState* play) {

ASSERT(interfaceCtx->iconItemSegment != NULL, "parameter->icon_itemSegment != NULL", "../z_construct.c", 193);

PRINTF("Register_Item[%x, %x, %x, %x]\n", gSaveContext.save.info.equips.buttonItems[0],
gSaveContext.save.info.equips.buttonItems[1], gSaveContext.save.info.equips.buttonItems[2],
gSaveContext.save.info.equips.buttonItems[3]);
PRINTF("Register_Item[%x, %x, %x, %x]\n", gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B],
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_LEFT],
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_DOWN],
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_RIGHT]);

if (gSaveContext.save.info.equips.buttonItems[0] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (INTERACT_BC_BTN_B * ITEM_ICON_SIZE),

GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE,
"../z_construct.c", 198);
} else if (gSaveContext.save.info.equips.buttonItems[0] != 0xFF) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B]),
ITEM_ICON_SIZE, "../z_construct.c", 198);
} else if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] != 0xFF) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (INTERACT_BC_BTN_B * ITEM_ICON_SIZE),

GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE,
"../z_construct.c", 203);
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B]),
ITEM_ICON_SIZE, "../z_construct.c", 203);
}

if (gSaveContext.save.info.equips.buttonItems[1] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (1 * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[1]), ITEM_ICON_SIZE,
"../z_construct.c", 209);
if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_LEFT] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (INTERACT_BC_BTN_C_LEFT * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_LEFT]),
ITEM_ICON_SIZE, "../z_construct.c", 209);
}

if (gSaveContext.save.info.equips.buttonItems[2] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (2 * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[2]), ITEM_ICON_SIZE,
"../z_construct.c", 214);
if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_DOWN] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (INTERACT_BC_BTN_C_DOWN * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_DOWN]),
ITEM_ICON_SIZE, "../z_construct.c", 214);
}

if (gSaveContext.save.info.equips.buttonItems[3] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (3 * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[3]), ITEM_ICON_SIZE,
"../z_construct.c", 219);
if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_RIGHT] < 0xF0) {
DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (INTERACT_BC_BTN_C_RIGHT * ITEM_ICON_SIZE),
GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_C_RIGHT]),
ITEM_ICON_SIZE, "../z_construct.c", 219);
}

PRINTF("EVENT=%d\n", ((void)0, gSaveContext.timerState));
Expand Down Expand Up @@ -159,12 +160,12 @@ void Interface_Init(PlayState* play) {

interfaceCtx->unk_23C = interfaceCtx->unk_242 = 0;

R_ITEM_BTN_X(0) = B_BUTTON_X;
R_ITEM_BTN_X(INTERACT_BC_BTN_B) = B_BUTTON_X;
R_B_BTN_COLOR(0) = 255;
R_B_BTN_COLOR(1) = 30;
R_B_BTN_COLOR(2) = 30;
R_ITEM_ICON_X(0) = B_BUTTON_X;
R_ITEM_AMMO_X(0) = B_BUTTON_X + 2;
R_ITEM_ICON_X(INTERACT_BC_BTN_B) = B_BUTTON_X;
R_ITEM_AMMO_X(INTERACT_BC_BTN_B) = B_BUTTON_X + 2;
R_A_BTN_X = A_BUTTON_X;
R_A_ICON_X = A_BUTTON_X;
R_A_BTN_COLOR(0) = 0;
Expand Down Expand Up @@ -326,28 +327,28 @@ void Regs_InitDataImpl(void) {
ZREG(64) = 20;
ZREG(65) = 21;
ZREG(66) = 122;
R_ITEM_BTN_X(1) = C_LEFT_BUTTON_X;
R_ITEM_BTN_X(2) = C_DOWN_BUTTON_X;
R_ITEM_BTN_X(3) = C_RIGHT_BUTTON_X;
R_ITEM_BTN_Y(0) = B_BUTTON_Y;
R_ITEM_BTN_Y(1) = C_LEFT_BUTTON_Y;
R_ITEM_BTN_Y(2) = C_DOWN_BUTTON_Y;
R_ITEM_BTN_Y(3) = C_RIGHT_BUTTON_Y;
R_ITEM_BTN_DD(0) = 575;
R_ITEM_BTN_DD(1) = 620;
R_ITEM_BTN_DD(2) = 620;
R_ITEM_BTN_DD(3) = 620;
R_ITEM_ICON_X(1) = C_LEFT_BUTTON_X;
R_ITEM_ICON_X(2) = C_DOWN_BUTTON_X;
R_ITEM_ICON_X(3) = C_RIGHT_BUTTON_X;
R_ITEM_ICON_Y(0) = B_BUTTON_Y;
R_ITEM_ICON_Y(1) = C_LEFT_BUTTON_Y;
R_ITEM_ICON_Y(2) = C_DOWN_BUTTON_Y;
R_ITEM_ICON_Y(3) = C_RIGHT_BUTTON_Y;
R_ITEM_ICON_DD(0) = 550;
R_ITEM_ICON_DD(1) = 680;
R_ITEM_ICON_DD(2) = 680;
R_ITEM_ICON_DD(3) = 680;
R_ITEM_BTN_X(INTERACT_BC_BTN_C_LEFT) = C_LEFT_BUTTON_X;
R_ITEM_BTN_X(INTERACT_BC_BTN_C_DOWN) = C_DOWN_BUTTON_X;
R_ITEM_BTN_X(INTERACT_BC_BTN_C_RIGHT) = C_RIGHT_BUTTON_X;
R_ITEM_BTN_Y(INTERACT_BC_BTN_B) = B_BUTTON_Y;
R_ITEM_BTN_Y(INTERACT_BC_BTN_C_LEFT) = C_LEFT_BUTTON_Y;
R_ITEM_BTN_Y(INTERACT_BC_BTN_C_DOWN) = C_DOWN_BUTTON_Y;
R_ITEM_BTN_Y(INTERACT_BC_BTN_C_RIGHT) = C_RIGHT_BUTTON_Y;
R_ITEM_BTN_DD(INTERACT_BC_BTN_B) = 575;
R_ITEM_BTN_DD(INTERACT_BC_BTN_C_LEFT) = 620;
R_ITEM_BTN_DD(INTERACT_BC_BTN_C_DOWN) = 620;
R_ITEM_BTN_DD(INTERACT_BC_BTN_C_RIGHT) = 620;
R_ITEM_ICON_X(INTERACT_BC_BTN_C_LEFT) = C_LEFT_BUTTON_X;
R_ITEM_ICON_X(INTERACT_BC_BTN_C_DOWN) = C_DOWN_BUTTON_X;
R_ITEM_ICON_X(INTERACT_BC_BTN_C_RIGHT) = C_RIGHT_BUTTON_X;
R_ITEM_ICON_Y(INTERACT_BC_BTN_B) = B_BUTTON_Y;
R_ITEM_ICON_Y(INTERACT_BC_BTN_C_LEFT) = C_LEFT_BUTTON_Y;
R_ITEM_ICON_Y(INTERACT_BC_BTN_C_DOWN) = C_DOWN_BUTTON_Y;
R_ITEM_ICON_Y(INTERACT_BC_BTN_C_RIGHT) = C_RIGHT_BUTTON_Y;
R_ITEM_ICON_DD(INTERACT_BC_BTN_B) = 550;
R_ITEM_ICON_DD(INTERACT_BC_BTN_C_LEFT) = 680;
R_ITEM_ICON_DD(INTERACT_BC_BTN_C_DOWN) = 680;
R_ITEM_ICON_DD(INTERACT_BC_BTN_C_RIGHT) = 680;
ZREG(94) = 1;
ZREG(95) = 0;
XREG(0) = 26;
Expand Down Expand Up @@ -592,14 +593,14 @@ void Regs_InitDataImpl(void) {
VREG(73) = 0;
VREG(74) = 0;
VREG(75) = 0;
R_ITEM_ICON_WIDTH(0) = 30;
R_ITEM_ICON_WIDTH(1) = 24;
R_ITEM_ICON_WIDTH(2) = 24;
R_ITEM_ICON_WIDTH(3) = 24;
R_ITEM_BTN_WIDTH(0) = 29;
R_ITEM_BTN_WIDTH(1) = 27;
R_ITEM_BTN_WIDTH(2) = 27;
R_ITEM_BTN_WIDTH(3) = 27;
R_ITEM_ICON_WIDTH(INTERACT_BC_BTN_B) = 30;
R_ITEM_ICON_WIDTH(INTERACT_BC_BTN_C_LEFT) = 24;
R_ITEM_ICON_WIDTH(INTERACT_BC_BTN_C_DOWN) = 24;
R_ITEM_ICON_WIDTH(INTERACT_BC_BTN_C_RIGHT) = 24;
R_ITEM_BTN_WIDTH(INTERACT_BC_BTN_B) = 29;
R_ITEM_BTN_WIDTH(INTERACT_BC_BTN_C_LEFT) = 27;
R_ITEM_BTN_WIDTH(INTERACT_BC_BTN_C_DOWN) = 27;
R_ITEM_BTN_WIDTH(INTERACT_BC_BTN_C_RIGHT) = 27;
VREG(84) = 0;
VREG(85) = 50;
VREG(86) = 0;
Expand Down
25 changes: 14 additions & 11 deletions src/code/z_game_over.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ void GameOver_Update(PlayState* play) {
INV_CONTENT(gSpoilingItemReverts[i]) = gSpoilingItemReverts[i];

// search c buttons for the found spoiling item and revert if necessary
for (j = 1; j < ARRAY_COUNT(gSaveContext.save.info.equips.buttonItems); j++) {
for (j = INTERACT_BC_BTN_C_FIRST; j <= INTERACT_BC_BTN_C_LAST; j++) {
if (gSaveContext.save.info.equips.buttonItems[j] == gSpoilingItems[i]) {
gSaveContext.save.info.equips.buttonItems[j] = gSpoilingItemReverts[i];
Interface_LoadItemIcon1(play, j);
Expand All @@ -48,15 +48,16 @@ void GameOver_Update(PlayState* play) {
}

// restore "temporary B" to the B Button if not a sword item
if (gSaveContext.save.info.equips.buttonItems[0] != ITEM_SWORD_KOKIRI &&
gSaveContext.save.info.equips.buttonItems[0] != ITEM_SWORD_MASTER &&
gSaveContext.save.info.equips.buttonItems[0] != ITEM_SWORD_BIGGORON &&
gSaveContext.save.info.equips.buttonItems[0] != ITEM_GIANTS_KNIFE) {

if (gSaveContext.buttonStatus[0] != BTN_ENABLED) {
gSaveContext.save.info.equips.buttonItems[0] = gSaveContext.buttonStatus[0];
if (gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] != ITEM_SWORD_KOKIRI &&
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] != ITEM_SWORD_MASTER &&
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] != ITEM_SWORD_BIGGORON &&
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] != ITEM_GIANTS_KNIFE) {

if (gSaveContext.buttonStatus[INTERACT_BCA_BTN_B] != BTN_ENABLED) {
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] =
gSaveContext.buttonStatus[INTERACT_BCA_BTN_B];
} else {
gSaveContext.save.info.equips.buttonItems[0] = ITEM_NONE;
gSaveContext.save.info.equips.buttonItems[INTERACT_BC_BTN_B] = ITEM_NONE;
}
}

Expand All @@ -68,8 +69,10 @@ void GameOver_Update(PlayState* play) {
gSaveContext.eventInf[1] = 0;
gSaveContext.eventInf[2] = 0;
gSaveContext.eventInf[3] = 0;
gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] =
gSaveContext.buttonStatus[3] = gSaveContext.buttonStatus[4] = BTN_ENABLED;
gSaveContext.buttonStatus[INTERACT_BCA_BTN_B] = gSaveContext.buttonStatus[INTERACT_BCA_BTN_C_LEFT] =
gSaveContext.buttonStatus[INTERACT_BCA_BTN_C_DOWN] =
gSaveContext.buttonStatus[INTERACT_BCA_BTN_C_RIGHT] =
gSaveContext.buttonStatus[INTERACT_BCA_BTN_A] = BTN_ENABLED;
gSaveContext.forceRisingButtonAlphas = gSaveContext.nextHudVisibilityMode = gSaveContext.hudVisibilityMode =
gSaveContext.hudVisibilityModeTimer = 0; // false, HUD_VISIBILITY_NO_CHANGE

Expand Down