Decompile 7 pokedex.c functions, and add JOY_*_EXACT macros

This commit is contained in:
Marcus Huderle 2025-02-02 11:04:04 -06:00
parent e824290b26
commit 499e642b77
7 changed files with 157 additions and 398 deletions

View File

@ -5,380 +5,6 @@
.text
thumb_func_start sub_4EF0
sub_4EF0: @ 0x08004EF0
push {r4, r5, r6, lr}
ldr r6, _08004F38 @ =gUnknown_0202C58C
movs r0, #0
ldrsh r4, [r6, r0]
cmp r4, #0
bne _08004F32
ldr r0, _08004F3C @ =gUnknown_0201A440
strh r4, [r0]
ldr r0, _08004F40 @ =gUnknown_0202BF0C
strh r4, [r0]
ldr r5, _08004F44 @ =gUnknown_0202C5B0
movs r1, #0
ldrsh r0, [r5, r1]
cmp r0, #0
beq _08004F32
movs r0, SE_SELECT
bl m4aSongNumStart
ldrh r0, [r5]
subs r0, #5
strh r0, [r5]
lsls r0, r0, #0x10
cmp r0, #0
bge _08004F22
strh r4, [r5]
_08004F22:
ldr r1, _08004F48 @ =gUnknown_0202ADE0
ldr r0, _08004F4C @ =gUnknown_0202A57C
ldrh r0, [r0]
ldrh r5, [r5]
adds r0, r0, r5
strh r0, [r1]
movs r0, #9
strh r0, [r6]
_08004F32:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_08004F38: .4byte gUnknown_0202C58C
_08004F3C: .4byte gUnknown_0201A440
_08004F40: .4byte gUnknown_0202BF0C
_08004F44: .4byte gUnknown_0202C5B0
_08004F48: .4byte gUnknown_0202ADE0
_08004F4C: .4byte gUnknown_0202A57C
thumb_func_start sub_4F50
sub_4F50: @ 0x08004F50
push {r4, r5, r6, lr}
ldr r6, _08004FAC @ =gUnknown_0202C58C
movs r0, #0
ldrsh r1, [r6, r0]
cmp r1, #0
bne _08004FA6
ldr r0, _08004FB0 @ =gUnknown_0201A440
strh r1, [r0]
ldr r0, _08004FB4 @ =gUnknown_0202BF0C
strh r1, [r0]
ldr r4, _08004FB8 @ =gUnknown_0202C5B0
movs r2, #0
ldrsh r1, [r4, r2]
ldr r5, _08004FBC @ =gUnknown_0202A574
movs r2, #0
ldrsh r0, [r5, r2]
subs r0, #5
cmp r1, r0
beq _08004FA6
movs r0, SE_SELECT
bl m4aSongNumStart
ldrh r0, [r4]
adds r0, #5
strh r0, [r4]
movs r0, #0
ldrsh r1, [r4, r0]
movs r2, #0
ldrsh r0, [r5, r2]
subs r0, #5
cmp r1, r0
ble _08004F96
ldrh r0, [r5]
subs r0, #5
strh r0, [r4]
_08004F96:
ldr r1, _08004FC0 @ =gUnknown_0202ADE0
ldr r0, _08004FC4 @ =gUnknown_0202A57C
ldrh r0, [r0]
ldrh r4, [r4]
adds r0, r0, r4
strh r0, [r1]
movs r0, #9
strh r0, [r6]
_08004FA6:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_08004FAC: .4byte gUnknown_0202C58C
_08004FB0: .4byte gUnknown_0201A440
_08004FB4: .4byte gUnknown_0202BF0C
_08004FB8: .4byte gUnknown_0202C5B0
_08004FBC: .4byte gUnknown_0202A574
_08004FC0: .4byte gUnknown_0202ADE0
_08004FC4: .4byte gUnknown_0202A57C
thumb_func_start sub_4FC8
sub_4FC8: @ 0x08004FC8
push {r4, r5, lr}
ldr r5, _08005048 @ =gMain
ldrh r2, [r5, #0x1c]
movs r1, #0x88
lsls r1, r1, #2
adds r0, r1, #0
ands r0, r2
cmp r0, r1
bne _08005022
ldrh r1, [r5, #0x18]
movs r0, #0x80
lsls r0, r0, #1
ands r0, r1
cmp r0, #0
beq _08005022
ldr r2, _0800504C @ =gUnknown_02002830
movs r0, #0x28
strb r0, [r2]
ldr r1, _08005050 @ =gUnknown_02002831
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #3
bne _08005022
movs r4, #0
strb r4, [r1]
strb r4, [r2]
movs r0, SE_UNKNOWN_0x68
bl m4aSongNumStart
ldr r1, _08005054 @ =gUnknown_0202BEC4
movs r0, #1
strb r0, [r1]
ldr r1, _08005058 @ =gUnknown_0202BEFC
movs r0, #4
strb r0, [r1]
ldr r0, _0800505C @ =gUnknown_0202BF04
strb r4, [r0]
ldr r1, _08005060 @ =gUnknown_0202A588
movs r0, #0
strh r0, [r1]
movs r0, #0xb
strb r0, [r5, #3]
_08005022:
ldr r2, _0800504C @ =gUnknown_02002830
ldrb r1, [r2]
movs r0, #0
ldrsb r0, [r2, r0]
cmp r0, #0
ble _08005040
subs r0, r1, #1
strb r0, [r2]
lsls r0, r0, #0x18
cmp r0, #0
bgt _08005040
movs r1, #0
strb r1, [r2]
ldr r0, _08005050 @ =gUnknown_02002831
strb r1, [r0]
_08005040:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_08005048: .4byte gMain
_0800504C: .4byte gUnknown_02002830
_08005050: .4byte gUnknown_02002831
_08005054: .4byte gUnknown_0202BEC4
_08005058: .4byte gUnknown_0202BEFC
_0800505C: .4byte gUnknown_0202BF04
_08005060: .4byte gUnknown_0202A588
thumb_func_start sub_5064
sub_5064: @ 0x08005064
ldr r1, _080050A8 @ =gUnknown_0202A1C0
ldr r0, _080050AC @ =gUnknown_0202ADE0
movs r2, #0
ldrsh r0, [r0, r2]
lsls r2, r0, #1
adds r1, r2, r1
movs r3, #0
ldrsh r0, [r1, r3]
cmp r0, #4
bne _08005110
ldr r0, _080050B0 @ =gUnknown_086A61BC
adds r0, r2, r0
movs r2, #0
ldrsh r1, [r0, r2]
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
bne _080050C8
ldr r1, _080050B4 @ =gUnknown_0202A588
movs r0, #0
strh r0, [r1]
ldr r1, _080050B8 @ =gUnknown_0202A55C
movs r0, #1
strh r0, [r1]
ldr r0, _080050BC @ =gUnknown_0202A568
movs r1, #0
strh r1, [r0]
strh r1, [r0, #2]
ldr r0, _080050C0 @ =gUnknown_0201A440
strh r1, [r0]
ldr r0, _080050C4 @ =gUnknown_0202BF0C
strh r1, [r0]
b _08005124
.align 2, 0
_080050A8: .4byte gUnknown_0202A1C0
_080050AC: .4byte gUnknown_0202ADE0
_080050B0: .4byte gUnknown_086A61BC
_080050B4: .4byte gUnknown_0202A588
_080050B8: .4byte gUnknown_0202A55C
_080050BC: .4byte gUnknown_0202A568
_080050C0: .4byte gUnknown_0201A440
_080050C4: .4byte gUnknown_0202BF0C
_080050C8:
cmp r1, #0x63
bgt _080050F0
ldr r0, _080050E4 @ =gUnknown_0202A588
movs r1, #0
strh r1, [r0]
ldr r0, _080050E8 @ =gUnknown_0202A55C
strh r1, [r0]
ldr r1, _080050EC @ =gUnknown_0202A568
movs r2, #0
movs r0, #1
strh r0, [r1]
strh r2, [r1, #2]
b _08005124
.align 2, 0
_080050E4: .4byte gUnknown_0202A588
_080050E8: .4byte gUnknown_0202A55C
_080050EC: .4byte gUnknown_0202A568
_080050F0:
ldr r0, _08005104 @ =gUnknown_0202A588
movs r1, #0
strh r1, [r0]
ldr r0, _08005108 @ =gUnknown_0202A55C
strh r1, [r0]
ldr r1, _0800510C @ =gUnknown_0202A568
movs r0, #0
strh r0, [r1]
movs r0, #1
b _08005122
.align 2, 0
_08005104: .4byte gUnknown_0202A588
_08005108: .4byte gUnknown_0202A55C
_0800510C: .4byte gUnknown_0202A568
_08005110:
ldr r1, _08005128 @ =gUnknown_0202A588
movs r0, #0
strh r0, [r1]
ldr r1, _0800512C @ =gUnknown_0202A55C
movs r0, #1
strh r0, [r1]
ldr r1, _08005130 @ =gUnknown_0202A568
movs r0, #0
strh r0, [r1]
_08005122:
strh r0, [r1, #2]
_08005124:
bx lr
.align 2, 0
_08005128: .4byte gUnknown_0202A588
_0800512C: .4byte gUnknown_0202A55C
_08005130: .4byte gUnknown_0202A568
thumb_func_start sub_5134
sub_5134: @ 0x08005134
ldr r1, _08005160 @ =gUnknown_0202A1C0
ldr r0, _08005164 @ =gUnknown_0202ADE0
movs r2, #0
ldrsh r0, [r0, r2]
lsls r2, r0, #1
adds r1, r2, r1
movs r3, #0
ldrsh r0, [r1, r3]
cmp r0, #4
bne _08005170
ldr r0, _08005168 @ =gUnknown_086A61BC
adds r0, r2, r0
movs r2, #0
ldrsh r1, [r0, r2]
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
beq _08005170
cmp r1, #0x63
bgt _0800516C
movs r0, #1
b _08005172
.align 2, 0
_08005160: .4byte gUnknown_0202A1C0
_08005164: .4byte gUnknown_0202ADE0
_08005168: .4byte gUnknown_086A61BC
_0800516C:
movs r0, #2
b _08005172
_08005170:
movs r0, #0
_08005172:
bx lr
thumb_func_start sub_5174
sub_5174: @ 0x08005174
push {r4, lr}
ldr r4, _080051BC @ =gUnknown_0202C5B0
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_6CA0
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_6F30
ldr r4, _080051C0 @ =gUnknown_0202ADE0
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_681C
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_6F78
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_8974
movs r1, #0
ldrsh r0, [r4, r1]
bl sub_8A78
ldr r0, _080051C4 @ =gUnknown_0202BF00
movs r1, #0
strh r1, [r0]
ldr r0, _080051C8 @ =gUnknown_0201A448
strh r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080051BC: .4byte gUnknown_0202C5B0
_080051C0: .4byte gUnknown_0202ADE0
_080051C4: .4byte gUnknown_0202BF00
_080051C8: .4byte gUnknown_0201A448
thumb_func_start sub_51CC
sub_51CC: @ 0x080051CC
push {lr}
bl sub_5134
lsls r0, r0, #0x18
cmp r0, #0
bne _080051E8
ldr r0, _080051E4 @ =gUnknown_0202ADE0
movs r1, #0
ldrsh r0, [r0, r1]
bl sub_6F78
b _080051F2
.align 2, 0
_080051E4: .4byte gUnknown_0202ADE0
_080051E8:
ldr r0, _080051F8 @ =gUnknown_0202ADE0
movs r1, #0
ldrsh r0, [r0, r1]
bl sub_8974
_080051F2:
pop {r0}
bx r0
.align 2, 0
_080051F8: .4byte gUnknown_0202ADE0
thumb_func_start sub_51FC
sub_51FC: @ 0x080051FC
push {r4, r5, r6, r7, lr}

View File

@ -352,13 +352,6 @@ extern void sub_3FAC(void);
//extern ? sub_4BB4();
//extern ? sub_4C80();
//extern ? sub_4D50();
//extern ? sub_4EF0();
//extern ? sub_4F50();
//extern ? sub_4FC8();
//extern ? sub_5064();
//extern ? sub_5134();
//extern ? sub_5174();
//extern ? sub_51CC();
extern void sub_51FC(void);
extern void sub_599C(void);
extern void sub_5E60(void);

View File

@ -65,8 +65,11 @@
// Macros for checking the joypad
#define TEST_BUTTON(field, button) ((field) & (button))
#define TEST_BUTTON_EXACT(field, button) (((field) & (button)) == (button))
#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button)
#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button)
#define JOY_NEW_EXACT(button) TEST_BUTTON_EXACT(gMain.newKeys, button)
#define JOY_HELD_EXACT(button) TEST_BUTTON_EXACT(gMain.heldKeys, button)
enum
{

View File

@ -86,7 +86,7 @@ static void sub_8C38(void)
void sub_8C7C(void)
{
sub_8F94();
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_02002850 = 1;
gFieldSelectData.nextMainState = STATE_INTRO;

View File

@ -547,7 +547,7 @@ void sub_D4B8(void)
}
}
if((JOY_HELD(L_BUTTON | DPAD_LEFT)) == (L_BUTTON | DPAD_LEFT))
if(JOY_HELD_EXACT(L_BUTTON | DPAD_LEFT))
{
if(JOY_NEW(R_BUTTON))
{

View File

@ -7,11 +7,11 @@
#include "types.h"
#include "variables.h"
void sub_4F50(void);
void sub_5174(void);
void sub_4EF0(void);
static void sub_4E34(void);
static void sub_4D74(void);
static void sub_4E34(void);
static void sub_4EF0(void);
void sub_4F50(void);
void sub_4FC8(void);
void sub_5064(void);
void sub_51CC(void);
@ -793,3 +793,140 @@ static void sub_4E34(void)
gUnknown_02019C24 = 1;
}
static void sub_4EF0(void)
{
if (gUnknown_0202C58C != 0)
return;
gUnknown_0201A440 = 0;
gUnknown_0202BF0C = 0;
if (gUnknown_0202C5B0 == 0)
return;
m4aSongNumStart(SE_SELECT);
gUnknown_0202C5B0 -= 5;
if (gUnknown_0202C5B0 < 0)
gUnknown_0202C5B0 = 0;
gUnknown_0202ADE0 = gUnknown_0202C5B0 + gUnknown_0202A57C;
gUnknown_0202C58C = 9;
}
void sub_4F50(void)
{
if (gUnknown_0202C58C != 0)
return;
gUnknown_0201A440 = 0;
gUnknown_0202BF0C = 0;
if (gUnknown_0202C5B0 == gUnknown_0202A574 - 5)
return;
m4aSongNumStart(SE_SELECT);
gUnknown_0202C5B0 += 5;
if (gUnknown_0202C5B0 > gUnknown_0202A574 - 5)
gUnknown_0202C5B0 = gUnknown_0202A574 - 5;
gUnknown_0202ADE0 = gUnknown_0202C5B0 + gUnknown_0202A57C;
gUnknown_0202C58C = 9;
}
void sub_4FC8(void)
{
if (JOY_HELD_EXACT(L_BUTTON | DPAD_LEFT) && JOY_NEW(R_BUTTON))
{
gUnknown_02002830 = 40;
if (++gUnknown_02002831 == 3)
{
gUnknown_02002831 = 0;
gUnknown_02002830 = 0;
m4aSongNumStart(SE_UNKNOWN_0x68);
gUnknown_0202BEC4 = 1;
gUnknown_0202BEFC = 4;
gUnknown_0202BF04 = 0;
gUnknown_0202A588 = 0;
gMain.subState = 11;
}
}
if (gUnknown_02002830 > 0)
{
gUnknown_02002830--;
if (gUnknown_02002830 <= 0)
{
gUnknown_02002830 = 0;
gUnknown_02002831 = 0;
}
}
}
void sub_5064(void)
{
if (gUnknown_0202A1C0[gUnknown_0202ADE0] == 4)
{
if (gUnknown_086A61BC[gUnknown_0202ADE0] == -1)
{
gUnknown_0202A588 = 0;
gUnknown_0202A55C = 1;
gUnknown_0202A568[0] = 0;
gUnknown_0202A568[1] = 0;
gUnknown_0201A440 = 0;
gUnknown_0202BF0C = 0;
}
else if (gUnknown_086A61BC[gUnknown_0202ADE0] < 100)
{
gUnknown_0202A588 = 0;
gUnknown_0202A55C = 0;
gUnknown_0202A568[0] = 1;
gUnknown_0202A568[1] = 0;
}
else
{
gUnknown_0202A588 = 0;
gUnknown_0202A55C = 0;
gUnknown_0202A568[0] = 0;
gUnknown_0202A568[1] = 1;
}
}
else
{
gUnknown_0202A588 = 0;
gUnknown_0202A55C = 1;
gUnknown_0202A568[0] = 0;
gUnknown_0202A568[1] = 0;
}
}
u8 sub_5134(void)
{
if (gUnknown_0202A1C0[gUnknown_0202ADE0] == 4 && gUnknown_086A61BC[gUnknown_0202ADE0] != -1)
{
if (gUnknown_086A61BC[gUnknown_0202ADE0] < 100)
return 1;
return 2;
}
return 0;
}
void sub_5174(void)
{
sub_6CA0(gUnknown_0202C5B0);
sub_6F30(gUnknown_0202C5B0);
sub_681C(gUnknown_0202ADE0);
sub_6F78(gUnknown_0202ADE0);
sub_8974(gUnknown_0202ADE0);
sub_8A78(gUnknown_0202ADE0);
gUnknown_0202BF00 = 0;
gUnknown_0201A448 = 0;
}
void sub_51CC(void)
{
if (sub_5134() == 0)
sub_6F78(gUnknown_0202ADE0);
else
sub_8974(gUnknown_0202ADE0);
}

View File

@ -124,7 +124,7 @@ void sub_10AC0(void)
gTitlescreen.idleFramesCounter = 0;
gTitlescreen.idleFadeoutCounter = 1;
gUnknown_020028A4 = 0;
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
gUnknown_020028A5 = 1;
else
gUnknown_020028A5 = 0;
@ -134,7 +134,7 @@ void sub_10AC0(void)
void TitleScreen1_WaitForStartButton(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
if (!gUnknown_020028A5)
{
@ -195,7 +195,7 @@ void TitleScreen1_WaitForStartButton(void)
void TitleScreen2_8010CF0(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -225,7 +225,7 @@ void TitleScreen2_8010CF0(void)
void TitleScreen9_8010D84(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -256,7 +256,7 @@ void TitleScreen9_8010D84(void)
void TitleScreen3_8010E00(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -306,7 +306,7 @@ void TitleScreen3_8010E00(void)
void TitleScreen4_MenuInputNoSavedGame(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -364,7 +364,7 @@ void TitleScreen4_MenuInputNoSavedGame(void)
void TitleScreen7_8011020(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -405,7 +405,7 @@ void TitleScreen7_8011020(void)
void TitleScreen5_MenuInputSavedGame(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -463,7 +463,7 @@ void TitleScreen5_MenuInputSavedGame(void)
void TitleScreen8_8011228(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -510,7 +510,7 @@ void TitleScreen8_8011228(void)
void TitleScreen6_AnimCloseMenu(void)
{
if ((JOY_HELD(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON)) == (A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
if (JOY_HELD_EXACT(A_BUTTON | B_BUTTON | SELECT_BUTTON | START_BUTTON))
{
gUnknown_020028A4 = 1;
gTitlescreen.unk6 = 9;
@ -596,7 +596,7 @@ void TitleScreen11_80114B4(void)
static void sub_114FC(void)
{
// To delete save file, press R_BUTTON 3 times while holding L_BUTTON And DPAD_LEFT.
if ((JOY_HELD(L_BUTTON | DPAD_LEFT)) == (L_BUTTON | DPAD_LEFT))
if (JOY_HELD_EXACT(L_BUTTON | DPAD_LEFT))
{
if (JOY_NEW(R_BUTTON))
{
@ -626,7 +626,7 @@ static void sub_1157C(void)
{
// To access the e-reader screen, alternate pressing R_BUTTON and L_BUTTON 6 times while holding DPAD_RIGHT.
s16 buttonMask = gEReaderAccessButtonSequence[gEReaderAccessStep];
if (JOY_HELD(DPAD_RIGHT) && (JOY_NEW(buttonMask)) == buttonMask)
if (JOY_HELD(DPAD_RIGHT) && JOY_NEW_EXACT(buttonMask))
{
gEReaderAccessCounter = 40;
gEReaderAccessStep++;