diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2021-07-14 14:15:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-14 14:15:12 -0400 |
commit | 2162e948d1889cbf5c651b9747dab1194323f2da (patch) | |
tree | 57a826d56544031e7193ec180ca003c704efd654 /src/item_menu.c | |
parent | 05559a2fcff5262b6a0c694e745e8dbdb5905a10 (diff) | |
parent | 6333c3957edf9130ac44ac7fd152a8563621f1a5 (diff) |
Merge pull request #831 from PikalaxALT/more_matching
Match more functions
Diffstat (limited to 'src/item_menu.c')
-rw-r--r-- | src/item_menu.c | 623 |
1 files changed, 120 insertions, 503 deletions
diff --git a/src/item_menu.c b/src/item_menu.c index b05bf2e49..33b4e1243 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -145,12 +145,9 @@ struct PocketScrollState gBagPocketScrollStates[5]; struct ItemSlot *gCurrentBagPocketItemSlots; // selected pocket item slots extern const u8 Event_NoRegisteredItem[]; -// TODO: decompile the debug code so we can use static in this file -#define static - -extern const struct CompressedSpriteSheet sMaleBagSpriteSheet; -extern const struct CompressedSpriteSheet sFemaleBagSpriteSheet; -extern const struct CompressedSpritePalette sBagSpritePalette; +static const struct CompressedSpriteSheet sMaleBagSpriteSheet; +static const struct CompressedSpriteSheet sFemaleBagSpriteSheet; +static const struct CompressedSpritePalette sBagSpritePalette; const struct BagPocket gBagPockets[NUM_BAG_POCKETS] = { @@ -1782,547 +1779,167 @@ void sub_80A53F8(void) SetMainCallback2(sub_80A53CC); } -#ifdef NONMATCHING static void sub_80A5414(u8 taskId) { TaskFunc r5 = NULL; + if (sub_80A78A0()) + { + while (1) + { + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) + { + if ((sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection - 1] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-1); + } + break; + } + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) + { + if ((!(sPopupMenuSelection & 1)) && sPopupMenuActionList[sPopupMenuSelection + 1] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(1); + } + break; + } + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT) + { + if ((sPopupMenuSelection >= 2) && sPopupMenuActionList[sPopupMenuSelection - 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(-2); + } + break; + } + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT) + { + if ((sPopupMenuSelection < 2) && sPopupMenuActionList[sPopupMenuSelection + 2] != 8) + { + PlaySE(SE_SELECT); + sPopupMenuSelection = MoveMenuCursor3(2); + } + break; + } + if (gMain.newKeys & A_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func; + r5(taskId); + break; + } + if (gMain.newKeys & B_BUTTON) + { + gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[3]].func; + r5(taskId); + break; + } + break; + } + } + if (r5 == NULL) + { + if (sReturnLocation == RETURN_TO_FIELD_5) + { + if (sPopupMenuSelection == 0) + sub_8072DDC(12); + else if (sPopupMenuSelection < 2) + sub_8072DCC(47); + else + sub_8072DCC(48); + } + else + { + if (sPopupMenuSelection < 2) + sub_8072DCC(47); + else + sub_8072DCC(48); + } + } +} - if (sub_80A78A0() != 0) +static void sub_80A5600(u8 taskId) +{ + TaskFunc r5 = NULL; + + while (1) { - if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x40) + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_UP) { - if ((sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection - 1] == 8) + if (sPopupMenuSelection != 0 && sPopupMenuActionList[sPopupMenuSelection - 1] != 8) { PlaySE(SE_SELECT); sPopupMenuSelection = MoveMenuCursor3(-1); } + break; } - //_080A546C - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x80) + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_DOWN) { - if (!(sPopupMenuSelection & 1) && sPopupMenuActionList[sPopupMenuSelection + 1] != 8) + if (sPopupMenuSelection != gUnknown_02038564 - 1 && sPopupMenuSelection != 2 && sPopupMenuActionList[sPopupMenuSelection + 1] != 8) { PlaySE(SE_SELECT); sPopupMenuSelection = MoveMenuCursor3(1); } + break; } - //_080A549C - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x20) + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_LEFT) { - if (sPopupMenuSelection > 1 && sPopupMenuActionList[sPopupMenuSelection - 2] != 8) + if ((sPopupMenuSelection >= 3) && sPopupMenuActionList[sPopupMenuSelection - 3] != 8) { PlaySE(SE_SELECT); - sPopupMenuSelection = MoveMenuCursor3(-2); + sPopupMenuSelection = MoveMenuCursor3(-3); } + break; } - //_080A54CC - else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x10) + if ((gMain.newAndRepeatedKeys & DPAD_ANY) == DPAD_RIGHT) { - if (sPopupMenuSelection <= 1 && sPopupMenuActionList[sPopupMenuSelection + 2] != 8) + if ((sPopupMenuSelection < 3) && sPopupMenuActionList[sPopupMenuSelection + 3] != 8) { PlaySE(SE_SELECT); - sPopupMenuSelection = MoveMenuCursor3(2); + sPopupMenuSelection = MoveMenuCursor3(3); } + break; } - //_080A5500 - else if (!(gMain.newKeys & A_BUTTON)) + if (gMain.newKeys & A_BUTTON) { - if (gMain.newKeys & B_BUTTON) - { - gTasks[taskId].data[10] = 0; - sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); - sub_80A4DA4(gBGTilemapBuffers[1]); - r5 = sItemPopupMenuActions[sPopupMenuActionList[3]].func; - r5(taskId); - } + gTasks[taskId].data[10] = 0; + sub_80A4DA4(gBGTilemapBuffers[1]); + r5 = sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func; + r5(taskId); + break; } - else + if (gMain.newKeys & B_BUTTON) { - //_080A5590 gTasks[taskId].data[10] = 0; + sub_80A48E8(taskId, gBagPocketScrollStates[sCurrentBagPocket].cursorPos, gBagPocketScrollStates[sCurrentBagPocket].cursorPos); sub_80A4DA4(gBGTilemapBuffers[1]); - r5 = sItemPopupMenuActions[sPopupMenuActionList[sPopupMenuSelection]].func; + r5 = sItemPopupMenuActions[sPopupMenuActionList[5]].func; r5(taskId); + break; } + break; } - //_080A5552 if (r5 == NULL) { - if (sReturnLocation == RETURN_TO_FIELD_5) + if (sPopupMenuSelection == 0) { - if (sPopupMenuSelection == 0) - { - sub_8072DDC(12); - return; - } - //_080A55D4 - //else - //{ - if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) - sub_8072DCC(0x2F); - else - sub_8072DCC(0x30); - //} + sub_8072DDC(12); + } + else if (sPopupMenuSelection < 3) + { + sub_8072DCC(47); } - //_080A55E0 else { - if (sPopupMenuSelection == 0 || sPopupMenuSelection == 1) - sub_8072DCC(0x2F); - else - sub_8072DCC(0x30); + sub_8072DCC(48); } } } -#else -NAKED -static void sub_80A5414(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - movs r5, 0\n\ - bl sub_80A78A0\n\ - cmp r0, 0\n\ - bne _080A5426\n\ - b _080A5552\n\ -_080A5426:\n\ - ldr r2, _080A5460 @ =gMain\n\ - ldrh r0, [r2, 0x30]\n\ - movs r1, 0xF0\n\ - ands r1, r0\n\ - cmp r1, 0x40\n\ - bne _080A546C\n\ - ldr r4, _080A5464 @ =sPopupMenuSelection\n\ - ldrb r1, [r4]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080A5440\n\ - b _080A5552\n\ -_080A5440:\n\ - ldrb r1, [r4]\n\ - ldr r0, _080A5468 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - subs r1, 0x1\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x8\n\ - bne _080A5452\n\ - b _080A5552\n\ -_080A5452:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - b _080A54EE\n\ - .align 2, 0\n\ -_080A5460: .4byte gMain\n\ -_080A5464: .4byte sPopupMenuSelection\n\ -_080A5468: .4byte sPopupMenuActionList\n\ -_080A546C:\n\ - cmp r1, 0x80\n\ - bne _080A549C\n\ - ldr r4, _080A5494 @ =sPopupMenuSelection\n\ - ldrb r1, [r4]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080A5552\n\ - ldrb r1, [r4]\n\ - ldr r0, _080A5498 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x1]\n\ - cmp r0, 0x8\n\ - beq _080A5552\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x1\n\ - b _080A54EE\n\ - .align 2, 0\n\ -_080A5494: .4byte sPopupMenuSelection\n\ -_080A5498: .4byte sPopupMenuActionList\n\ -_080A549C:\n\ - cmp r1, 0x20\n\ - bne _080A54CC\n\ - ldr r4, _080A54C4 @ =sPopupMenuSelection\n\ - ldrb r0, [r4]\n\ - cmp r0, 0x1\n\ - bls _080A5552\n\ - adds r1, r0, 0\n\ - ldr r0, _080A54C8 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - subs r1, 0x2\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x8\n\ - beq _080A5552\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x2\n\ - negs r0, r0\n\ - b _080A54EE\n\ - .align 2, 0\n\ -_080A54C4: .4byte sPopupMenuSelection\n\ -_080A54C8: .4byte sPopupMenuActionList\n\ -_080A54CC:\n\ - cmp r1, 0x10\n\ - bne _080A5500\n\ - ldr r4, _080A54F8 @ =sPopupMenuSelection\n\ - ldrb r0, [r4]\n\ - cmp r0, 0x1\n\ - bhi _080A5552\n\ - adds r1, r0, 0\n\ - ldr r0, _080A54FC @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x2]\n\ - cmp r0, 0x8\n\ - beq _080A5552\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x2\n\ -_080A54EE:\n\ - bl MoveMenuCursor3\n\ - strb r0, [r4]\n\ - b _080A5552\n\ - .align 2, 0\n\ -_080A54F8: .4byte sPopupMenuSelection\n\ -_080A54FC: .4byte sPopupMenuActionList\n\ -_080A5500:\n\ - ldrh r1, [r2, 0x2E]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080A5590\n\ - movs r0, 0x2\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080A5552\n\ - ldr r1, _080A5570 @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - strh r5, [r0, 0x1C]\n\ - ldr r1, _080A5574 @ =gBagPocketScrollStates\n\ - ldr r0, _080A5578 @ =sCurrentBagPocket\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r2, [r0]\n\ - adds r0, r4, 0\n\ - adds r1, r2, 0\n\ - bl sub_80A48E8\n\ - ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800\n\ - bl sub_80A4DA4\n\ - ldr r1, _080A5580 @ =sItemPopupMenuActions\n\ - ldr r0, _080A5584 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0x3]\n\ - lsls r0, 3\n\ - adds r1, 0x4\n\ - adds r0, r1\n\ - ldr r5, [r0]\n\ - adds r0, r4, 0\n\ - bl _call_via_r5\n\ -_080A5552:\n\ - cmp r5, 0\n\ - bne _080A55FA\n\ - ldr r0, _080A5588 @ =sReturnLocation\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x5\n\ - bne _080A55E0\n\ - ldr r0, _080A558C @ =sPopupMenuSelection\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _080A55D4\n\ - movs r0, 0xC\n\ - bl sub_8072DDC\n\ - b _080A55FA\n\ - .align 2, 0\n\ -_080A5570: .4byte gTasks\n\ -_080A5574: .4byte gBagPocketScrollStates\n\ -_080A5578: .4byte sCurrentBagPocket\n\ -_080A557C: .4byte gBGTilemapBuffers + 0x800\n\ -_080A5580: .4byte sItemPopupMenuActions\n\ -_080A5584: .4byte sPopupMenuActionList\n\ -_080A5588: .4byte sReturnLocation\n\ -_080A558C: .4byte sPopupMenuSelection\n\ -_080A5590:\n\ - ldr r1, _080A55C0 @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - strh r5, [r0, 0x1C]\n\ - ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800\n\ - bl sub_80A4DA4\n\ - ldr r1, _080A55C8 @ =sItemPopupMenuActions\n\ - ldr r0, _080A55CC @ =sPopupMenuSelection\n\ - ldrb r2, [r0]\n\ - ldr r0, _080A55D0 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r0, r2\n\ - ldrb r0, [r0]\n\ - lsls r0, 3\n\ - adds r1, 0x4\n\ - adds r0, r1\n\ - ldr r5, [r0]\n\ - adds r0, r4, 0\n\ - bl _call_via_r5\n\ - b _080A5552\n\ - .align 2, 0\n\ -_080A55C0: .4byte gTasks\n\ -_080A55C4: .4byte gBGTilemapBuffers + 0x800\n\ -_080A55C8: .4byte sItemPopupMenuActions\n\ -_080A55CC: .4byte sPopupMenuSelection\n\ -_080A55D0: .4byte sPopupMenuActionList\n\ -_080A55D4:\n\ - cmp r0, 0x1\n\ - bls _080A55E8\n\ - movs r0, 0x30\n\ - bl sub_8072DCC\n\ - b _080A55FA\n\ -_080A55E0:\n\ - ldr r0, _080A55F0 @ =sPopupMenuSelection\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x1\n\ - bhi _080A55F4\n\ -_080A55E8:\n\ - movs r0, 0x2F\n\ - bl sub_8072DCC\n\ - b _080A55FA\n\ - .align 2, 0\n\ -_080A55F0: .4byte sPopupMenuSelection\n\ -_080A55F4:\n\ - movs r0, 0x30\n\ - bl sub_8072DCC\n\ -_080A55FA:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} -#endif - -NAKED -static void sub_80A5600(u8 taskId) -{ - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - movs r5, 0\n\ - ldr r2, _080A563C @ =gMain\n\ - ldrh r0, [r2, 0x30]\n\ - movs r1, 0xF0\n\ - ands r1, r0\n\ - cmp r1, 0x40\n\ - bne _080A5648\n\ - ldr r4, _080A5640 @ =sPopupMenuSelection\n\ - ldrb r0, [r4]\n\ - cmp r0, 0\n\ - bne _080A561E\n\ - b _080A5736\n\ -_080A561E:\n\ - adds r1, r0, 0\n\ - ldr r0, _080A5644 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - subs r1, 0x1\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x8\n\ - bne _080A5630\n\ - b _080A5736\n\ -_080A5630:\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - b _080A56D2\n\ - .align 2, 0\n\ -_080A563C: .4byte gMain\n\ -_080A5640: .4byte sPopupMenuSelection\n\ -_080A5644: .4byte sPopupMenuActionList\n\ -_080A5648:\n\ - cmp r1, 0x80\n\ - bne _080A5680\n\ - ldr r4, _080A5674 @ =sPopupMenuSelection\n\ - ldrb r1, [r4]\n\ - ldr r0, _080A5678 @ =gUnknown_02038564\n\ - ldrb r0, [r0]\n\ - subs r0, 0x1\n\ - cmp r1, r0\n\ - beq _080A5736\n\ - cmp r1, 0x2\n\ - beq _080A5736\n\ - ldr r0, _080A567C @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r0, r1, r0\n\ - ldrb r0, [r0, 0x1]\n\ - cmp r0, 0x8\n\ - beq _080A5736\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x1\n\ - b _080A56D2\n\ - .align 2, 0\n\ -_080A5674: .4byte sPopupMenuSelection\n\ -_080A5678: .4byte gUnknown_02038564\n\ -_080A567C: .4byte sPopupMenuActionList\n\ -_080A5680:\n\ - cmp r1, 0x20\n\ - bne _080A56B0\n\ - ldr r4, _080A56A8 @ =sPopupMenuSelection\n\ - ldrb r0, [r4]\n\ - cmp r0, 0x2\n\ - bls _080A5736\n\ - adds r1, r0, 0\n\ - ldr r0, _080A56AC @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - subs r1, 0x3\n\ - ldrb r0, [r1]\n\ - cmp r0, 0x8\n\ - beq _080A5736\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x3\n\ - negs r0, r0\n\ - b _080A56D2\n\ - .align 2, 0\n\ -_080A56A8: .4byte sPopupMenuSelection\n\ -_080A56AC: .4byte sPopupMenuActionList\n\ -_080A56B0:\n\ - cmp r1, 0x10\n\ - bne _080A56E4\n\ - ldr r4, _080A56DC @ =sPopupMenuSelection\n\ - ldrb r0, [r4]\n\ - cmp r0, 0x2\n\ - bhi _080A5736\n\ - adds r1, r0, 0\n\ - ldr r0, _080A56E0 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r1, r0\n\ - ldrb r0, [r1, 0x3]\n\ - cmp r0, 0x8\n\ - beq _080A5736\n\ - movs r0, 0x5\n\ - bl PlaySE\n\ - movs r0, 0x3\n\ -_080A56D2:\n\ - bl MoveMenuCursor3\n\ - strb r0, [r4]\n\ - b _080A5736\n\ - .align 2, 0\n\ -_080A56DC: .4byte sPopupMenuSelection\n\ -_080A56E0: .4byte sPopupMenuActionList\n\ -_080A56E4:\n\ - ldrh r1, [r2, 0x2E]\n\ - movs r0, 0x1\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - bne _080A5768\n\ - movs r0, 0x2\n\ - ands r0, r1\n\ - cmp r0, 0\n\ - beq _080A5736\n\ - ldr r1, _080A574C @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - strh r5, [r0, 0x1C]\n\ - ldr r1, _080A5750 @ =gBagPocketScrollStates\n\ - ldr r0, _080A5754 @ =sCurrentBagPocket\n\ - ldrb r0, [r0]\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - lsls r0, 2\n\ - adds r0, r1\n\ - ldrb r2, [r0]\n\ - adds r0, r4, 0\n\ - adds r1, r2, 0\n\ - bl sub_80A48E8\n\ - ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800\n\ - bl sub_80A4DA4\n\ - ldr r1, _080A575C @ =sItemPopupMenuActions\n\ - ldr r0, _080A5760 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - ldrb r0, [r0, 0x5]\n\ - lsls r0, 3\n\ - adds r1, 0x4\n\ - adds r0, r1\n\ - ldr r5, [r0]\n\ - adds r0, r4, 0\n\ - bl _call_via_r5\n\ -_080A5736:\n\ - cmp r5, 0\n\ - bne _080A57BE\n\ - ldr r0, _080A5764 @ =sPopupMenuSelection\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _080A57AC\n\ - movs r0, 0xC\n\ - bl sub_8072DDC\n\ - b _080A57BE\n\ - .align 2, 0\n\ -_080A574C: .4byte gTasks\n\ -_080A5750: .4byte gBagPocketScrollStates\n\ -_080A5754: .4byte sCurrentBagPocket\n\ -_080A5758: .4byte gBGTilemapBuffers + 0x800\n\ -_080A575C: .4byte sItemPopupMenuActions\n\ -_080A5760: .4byte sPopupMenuActionList\n\ -_080A5764: .4byte sPopupMenuSelection\n\ -_080A5768:\n\ - ldr r1, _080A5798 @ =gTasks\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r1\n\ - strh r5, [r0, 0x1C]\n\ - ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800\n\ - bl sub_80A4DA4\n\ - ldr r1, _080A57A0 @ =sItemPopupMenuActions\n\ - ldr r0, _080A57A4 @ =sPopupMenuSelection\n\ - ldrb r2, [r0]\n\ - ldr r0, _080A57A8 @ =sPopupMenuActionList\n\ - ldr r0, [r0]\n\ - adds r0, r2\n\ - ldrb r0, [r0]\n\ - lsls r0, 3\n\ - adds r1, 0x4\n\ - adds r0, r1\n\ - ldr r5, [r0]\n\ - adds r0, r4, 0\n\ - bl _call_via_r5\n\ - b _080A5736\n\ - .align 2, 0\n\ -_080A5798: .4byte gTasks\n\ -_080A579C: .4byte gBGTilemapBuffers + 0x800\n\ -_080A57A0: .4byte sItemPopupMenuActions\n\ -_080A57A4: .4byte sPopupMenuSelection\n\ -_080A57A8: .4byte sPopupMenuActionList\n\ -_080A57AC:\n\ - cmp r0, 0x2\n\ - bhi _080A57B8\n\ - movs r0, 0x2F\n\ - bl sub_8072DCC\n\ - b _080A57BE\n\ -_080A57B8:\n\ - movs r0, 0x30\n\ - bl sub_8072DCC\n\ -_080A57BE:\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .syntax divided\n"); -} static void sub_80A57C4(void) { |