From 99448002e1e393e347b19e4d519f658d13438e3f Mon Sep 17 00:00:00 2001 From: PokeCodec <67983839+PokeCodec@users.noreply.github.com> Date: Fri, 4 Sep 2020 10:18:32 -0400 Subject: Refactor InitStateHandlers so each key in the reset combo is checked --- src/main.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 454fefc5c..4e52216a4 100644 --- a/src/main.c +++ b/src/main.c @@ -81,8 +81,6 @@ void InitIntrHandlers(void); static void WaitForVBlank(void); void EnableVCountIntrAtLine150(void); -#define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON) - void AgbMain() { #if MODERN @@ -136,9 +134,11 @@ void AgbMain() { ReadKeys(); - if (gSoftResetDisabled == FALSE + if (!gSoftResetDisabled && (gMain.heldKeysRaw & A_BUTTON) - && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) + && (gMain.heldKeysRaw & B_BUTTON) + && (gMain.heldKeysRaw & START_BUTTON) + && (gMain.heldKeysRaw & SELECT_BUTTON)) //The reset key combo A + B + START + SELECT { rfu_REQ_stopMode(); rfu_waitREQComplete(); @@ -262,9 +262,7 @@ static void ReadKeys(void) if (keyInput != 0 && gMain.heldKeys == keyInput) { - gMain.keyRepeatCounter--; - - if (gMain.keyRepeatCounter == 0) + if (--gMain.keyRepeatCounter == 0) { gMain.newAndRepeatedKeys = keyInput; gMain.keyRepeatCounter = gKeyRepeatContinueDelay; @@ -343,7 +341,7 @@ static void VBlankIntr(void) { if (gWirelessCommType != 0) RfuVSync(); - else if (gLinkVSyncDisabled == FALSE) + else if (!gLinkVSyncDisabled) LinkVSync(); gMain.vblankCounter1++; -- cgit v1.2.3 From da582d5258703eb52d8cadb4cbaef4ee7031b833 Mon Sep 17 00:00:00 2001 From: PokeCodec <67983839+PokeCodec@users.noreply.github.com> Date: Fri, 4 Sep 2020 20:41:29 -0400 Subject: Make JOY Macros match --- src/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 4e52216a4..238bd8243 100644 --- a/src/main.c +++ b/src/main.c @@ -135,10 +135,10 @@ void AgbMain() ReadKeys(); if (!gSoftResetDisabled - && (gMain.heldKeysRaw & A_BUTTON) - && (gMain.heldKeysRaw & B_BUTTON) - && (gMain.heldKeysRaw & START_BUTTON) - && (gMain.heldKeysRaw & SELECT_BUTTON)) //The reset key combo A + B + START + SELECT + && JOY_HELD_RAW(A_BUTTON) + && JOY_HELD_RAW(B_BUTTON) + && JOY_HELD_RAW(START_BUTTON) + && JOY_HELD_RAW(SELECT_BUTTON)) //The reset key combo A + B + START + SELECT { rfu_REQ_stopMode(); rfu_waitREQComplete(); -- cgit v1.2.3 From 28ef2fb774bf596a3e7f81055453304e0d2ce066 Mon Sep 17 00:00:00 2001 From: PokeCodec <67983839+PokeCodec@users.noreply.github.com> Date: Fri, 4 Sep 2020 21:11:55 -0400 Subject: Switch to button macros --- src/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 238bd8243..b3b76b1fb 100644 --- a/src/main.c +++ b/src/main.c @@ -280,10 +280,10 @@ static void ReadKeys(void) // Remap L to A if the L=A option is enabled. if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) { - if (gMain.newKeys & L_BUTTON) + if (JOY_NEW(L_BUTTON)) gMain.newKeys |= A_BUTTON; - if (gMain.heldKeys & L_BUTTON) + if (JOY_HELD(L_BUTTON)) gMain.heldKeys |= A_BUTTON; } -- cgit v1.2.3 From 7dc95a0103af08c95c9093b6efa6c77af77a2538 Mon Sep 17 00:00:00 2001 From: aaaaaa123456789 Date: Sun, 13 Sep 2020 04:22:50 -0300 Subject: Undo PokeCodec's PRs This commit undoes most of PokeCodec's PRs after the debate in chat. Some harmless or completely superseded PRs have been left alone, as there is not much benefit in attempting to undo them. Reverts #1104, #1108, #1115, #1118, #1119, #1124, #1126, #1127, #1132, #1136, #1137, #1139, #1140, #1144, #1148, #1149, #1150, #1153, #1155, #1177, #1179, #1180, #1181, #1182 and #1183. --- src/main.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index b3b76b1fb..454fefc5c 100644 --- a/src/main.c +++ b/src/main.c @@ -81,6 +81,8 @@ void InitIntrHandlers(void); static void WaitForVBlank(void); void EnableVCountIntrAtLine150(void); +#define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON) + void AgbMain() { #if MODERN @@ -134,11 +136,9 @@ void AgbMain() { ReadKeys(); - if (!gSoftResetDisabled - && JOY_HELD_RAW(A_BUTTON) - && JOY_HELD_RAW(B_BUTTON) - && JOY_HELD_RAW(START_BUTTON) - && JOY_HELD_RAW(SELECT_BUTTON)) //The reset key combo A + B + START + SELECT + if (gSoftResetDisabled == FALSE + && (gMain.heldKeysRaw & A_BUTTON) + && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) { rfu_REQ_stopMode(); rfu_waitREQComplete(); @@ -262,7 +262,9 @@ static void ReadKeys(void) if (keyInput != 0 && gMain.heldKeys == keyInput) { - if (--gMain.keyRepeatCounter == 0) + gMain.keyRepeatCounter--; + + if (gMain.keyRepeatCounter == 0) { gMain.newAndRepeatedKeys = keyInput; gMain.keyRepeatCounter = gKeyRepeatContinueDelay; @@ -280,10 +282,10 @@ static void ReadKeys(void) // Remap L to A if the L=A option is enabled. if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) { - if (JOY_NEW(L_BUTTON)) + if (gMain.newKeys & L_BUTTON) gMain.newKeys |= A_BUTTON; - if (JOY_HELD(L_BUTTON)) + if (gMain.heldKeys & L_BUTTON) gMain.heldKeys |= A_BUTTON; } @@ -341,7 +343,7 @@ static void VBlankIntr(void) { if (gWirelessCommType != 0) RfuVSync(); - else if (!gLinkVSyncDisabled) + else if (gLinkVSyncDisabled == FALSE) LinkVSync(); gMain.vblankCounter1++; -- cgit v1.2.3 From bacc831aa91d059936bd7c852bf0a0fb44d8f27a Mon Sep 17 00:00:00 2001 From: aaaaaa123456789 Date: Mon, 2 Nov 2020 22:02:39 -0300 Subject: Re-apply joypad macros (minus merge conflicts) --- src/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 454fefc5c..ab0c23284 100644 --- a/src/main.c +++ b/src/main.c @@ -282,10 +282,10 @@ static void ReadKeys(void) // Remap L to A if the L=A option is enabled. if (gSaveBlock2Ptr->optionsButtonMode == OPTIONS_BUTTON_MODE_L_EQUALS_A) { - if (gMain.newKeys & L_BUTTON) + if (JOY_NEW(L_BUTTON)) gMain.newKeys |= A_BUTTON; - if (gMain.heldKeys & L_BUTTON) + if (JOY_HELD(L_BUTTON)) gMain.heldKeys |= A_BUTTON; } -- cgit v1.2.3 From c70c44fa48282632ec7457d4f2bbb5a19a4d70c9 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 6 Nov 2020 12:29:40 -0500 Subject: Simplify RAM reset adaptation for modern --- src/main.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index ab0c23284..9fd1d0a35 100644 --- a/src/main.c +++ b/src/main.c @@ -85,25 +85,9 @@ void EnableVCountIntrAtLine150(void); void AgbMain() { -#if MODERN // Modern compilers are liberal with the stack on entry to this function, // so RegisterRamReset may crash if it resets IWRAM. - RegisterRamReset(RESET_ALL & ~RESET_IWRAM); - asm("mov\tr1, #0xC0\n" - "\tlsl\tr1, r1, #0x12\n" - "\tmov r2, #0xFC\n" - "\tlsl r2, r2, #0x7\n" - "\tadd\tr2, r1, r2\n" - "\tmov\tr0, #0\n" - "\tmov\tr3, r0\n" - "\tmov\tr4, r0\n" - "\tmov\tr5, r0\n" - ".LCU0:\n" - "\tstmia r1!, {r0, r3, r4, r5}\n" - "\tcmp\tr1, r2\n" - "\tbcc\t.LCU0\n" - ); -#else +#if !MODERN RegisterRamReset(RESET_ALL); #endif //MODERN *(vu16 *)BG_PLTT = 0x7FFF; -- cgit v1.2.3