summaryrefslogtreecommitdiff
path: root/src/field/item_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/field/item_menu.c')
-rw-r--r--src/field/item_menu.c552
1 files changed, 43 insertions, 509 deletions
diff --git a/src/field/item_menu.c b/src/field/item_menu.c
index 9fa3fd6cb..05fd3be53 100644
--- a/src/field/item_menu.c
+++ b/src/field/item_menu.c
@@ -289,24 +289,6 @@ static void sub_80A6618(u8);
const struct YesNoFuncTable gUnknown_083C16FC = {sub_80A65AC, sub_80A6618};
-#if DEBUG
-const struct {u16 item; u8 unk;} gUnknown_Debug_083EBC68[12+48] =
-{
- {ITEM_POKE_BALL, 10},
- {ITEM_ULTRA_BALL, 15},
- {ITEM_GREAT_BALL, 20},
- {ITEM_MASTER_BALL, 25},
- {ITEM_ACRO_BIKE, 1 },
- {ITEM_OLD_ROD, 1 },
- {ITEM_GOOD_ROD, 1 },
- {ITEM_SUPER_ROD, 1 },
- {ITEM_POKEBLOCK_CASE, 1 },
- {ITEM_WAILMER_PAIL, 1 },
- {ITEM_ITEMFINDER, 1 },
- {ITEM_NONE, 1 },
-};
-#endif
-
void sub_80A34E8(void);
static bool8 LoadBagGraphicsMultistep(void);
static void sub_80A362C(void);
@@ -393,390 +375,6 @@ static void sub_80A3134(void)
DmaCopy16Defvars(3, gBGTilemapBuffers[2], (void *)(VRAM + 0x6000), 0x800);
}
-#if DEBUG
-__attribute__((naked))
-static bool8 SetupBagMultistep(void)
-{
- asm("\
- push {r4, r5, lr}\n\
- add sp, sp, #0xfffffffc\n\
- ldr r0, ._5 @ gMain\n\
- ldr r1, ._5 + 4 @ 0x43c\n\
- add r0, r0, r1\n\
- ldrb r0, [r0]\n\
- cmp r0, #0x10\n\
- bls ._3 @cond_branch\n\
- b ._66\n\
-._3:\n\
- lsl r0, r0, #0x2\n\
- ldr r1, ._5 + 8 @ \n\
- add r0, r0, r1\n\
- ldr r0, [r0]\n\
- mov pc, r0\n\
-._6:\n\
- .align 2, 0\n\
-._5:\n\
- .word gMain\n\
- .word 0x43c\n\
- .word ._7\n\
-._7:\n\
- .word ._8\n\
- .word ._9\n\
- .word ._10\n\
- .word ._11\n\
- .word ._12\n\
- .word ._13\n\
- .word ._14\n\
- .word ._15\n\
- .word ._16\n\
- .word ._17\n\
- .word ._18\n\
- .word ._19\n\
- .word ._20\n\
- .word ._21\n\
- .word ._22\n\
- .word ._23\n\
- .word ._24\n\
-._8:\n\
- bl ClearVideoCallbacks\n\
- bl sub_80A34E8\n\
- b ._61\n\
-._9:\n\
- bl ScanlineEffect_Stop\n\
- ldr r1, ._27 @ gMain\n\
- ldr r0, ._27 + 4 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._28:\n\
- .align 2, 0\n\
-._27:\n\
- .word gMain\n\
- .word 0x43c\n\
-._10:\n\
- bl gpu_pal_allocator_reset__manage_upper_four\n\
- b ._61\n\
-._11:\n\
- bl ClearBGTilemapBuffers\n\
- ldr r0, ._31 @ \n\
- ldr r1, ._31 + 4 @ \n\
- add r0, r0, r1\n\
- mov r1, #0x0\n\
- strb r1, [r0]\n\
- b ._61\n\
-._32:\n\
- .align 2, 0\n\
-._31:\n\
- .word +0x2000000\n\
- .word 0x1ffff\n\
-._12:\n\
- bl ResetPaletteFade\n\
- ldr r2, ._34 @ gPaletteFade\n\
- ldrb r0, [r2, #0x8]\n\
- mov r1, #0x80\n\
- orr r0, r0, r1\n\
- strb r0, [r2, #0x8]\n\
- ldr r1, ._34 + 4 @ gMain\n\
- ldr r0, ._34 + 8 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._35:\n\
- .align 2, 0\n\
-._34:\n\
- .word gPaletteFade\n\
- .word gMain\n\
- .word 0x43c\n\
-._13:\n\
- bl ResetSpriteData\n\
- b ._61\n\
-._14:\n\
- bl LoadBagGraphicsMultistep\n\
- lsl r0, r0, #0x18\n\
- cmp r0, #0\n\
- bne ._37 @cond_branch\n\
- b ._66\n\
-._37:\n\
- ldr r1, ._40 @ gMain\n\
- ldr r0, ._40 + 4 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._41:\n\
- .align 2, 0\n\
-._40:\n\
- .word gMain\n\
- .word 0x43c\n\
-._15:\n\
- ldr r0, ._43 @ gWindowTemplate_81E6DFC\n\
- bl Text_LoadWindowTemplate\n\
- b ._61\n\
-._44:\n\
- .align 2, 0\n\
-._43:\n\
- .word gWindowTemplate_81E6DFC\n\
-._16:\n\
- ldr r0, ._46 @ gWindowTemplate_81E6DFC\n\
- bl MultistepInitMenuWindowBegin\n\
- ldr r1, ._46 + 4 @ gMain\n\
- ldr r0, ._46 + 8 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._47:\n\
- .align 2, 0\n\
-._46:\n\
- .word gWindowTemplate_81E6DFC\n\
- .word gMain\n\
- .word 0x43c\n\
-._17:\n\
- bl MultistepInitMenuWindowContinue\n\
- cmp r0, #0\n\
- bne ._48 @cond_branch\n\
- b ._66\n\
-._48:\n\
- b ._61\n\
-._18:\n\
- bl ClearVerticalScrollIndicatorPalettes\n\
- bl LoadScrollIndicatorPalette\n\
- mov r0, #0x0\n\
- mov r1, #0xac\n\
- mov r2, #0xc\n\
- bl CreateVerticalScrollIndicators\n\
- mov r0, #0x1\n\
- mov r1, #0xac\n\
- mov r2, #0x94\n\
- bl CreateVerticalScrollIndicators\n\
- mov r0, #0x2\n\
- mov r1, #0x1c\n\
- mov r2, #0x58\n\
- bl CreateVerticalScrollIndicators\n\
- mov r0, #0x3\n\
- mov r1, #0x64\n\
- mov r2, #0x58\n\
- bl CreateVerticalScrollIndicators\n\
- mov r0, #0x0\n\
- mov r1, #0x2\n\
- bl SetVerticalScrollIndicatorPriority\n\
- mov r0, #0x1\n\
- mov r1, #0x2\n\
- bl SetVerticalScrollIndicatorPriority\n\
- mov r0, #0x2\n\
- mov r1, #0x2\n\
- bl SetVerticalScrollIndicatorPriority\n\
- mov r0, #0x3\n\
- mov r1, #0x2\n\
- bl SetVerticalScrollIndicatorPriority\n\
- ldr r0, ._53 @ sReturnLocation\n\
- ldrb r0, [r0]\n\
- sub r0, r0, #0x4\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x18\n\
- cmp r0, #0x1\n\
- bhi ._51 @cond_branch\n\
- mov r0, #0x2\n\
- mov r1, #0x1\n\
- bl SetVerticalScrollIndicators\n\
- mov r0, #0x3\n\
- mov r1, #0x1\n\
- bl SetVerticalScrollIndicators\n\
-._51:\n\
- ldr r1, ._53 + 4 @ gMain\n\
- ldr r0, ._53 + 8 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._54:\n\
- .align 2, 0\n\
-._53:\n\
- .word sReturnLocation\n\
- .word gMain\n\
- .word 0x43c\n\
-._19:\n\
- ldr r1, ._56 @ gUnknown_0203855A\n\
- mov r0, #0x10\n\
- strb r0, [r1]\n\
- ldr r4, ._56 + 4 @ gBGTilemapBuffers\n\
- ldr r5, ._56 + 8 @ sCurrentBagPocket\n\
- ldrb r1, [r5]\n\
- add r1, r1, #0x1\n\
- lsl r1, r1, #0x18\n\
- lsr r1, r1, #0x18\n\
- add r0, r4, #0\n\
- bl sub_80A39B8\n\
- ldrb r1, [r5]\n\
- add r0, r4, #0\n\
- bl DrawPocketIndicatorDots\n\
- bl UpdateAllBagPockets\n\
- ldr r4, ._56 + 12 @ gBagPockets\n\
- ldr r0, [r4, #0x10]\n\
- ldr r1, [r4, #0x14]\n\
- bl SortItemSlots\n\
- ldr r0, [r4, #0x18]\n\
- ldr r1, [r4, #0x1c]\n\
- bl SortItemSlots\n\
- bl sub_80A3D40\n\
- ldr r1, ._56 + 16 @ gCurrentBagPocketItemSlots\n\
- mov r0, #0x0\n\
- ldsb r0, [r5, r0]\n\
- lsl r0, r0, #0x3\n\
- add r0, r0, r4\n\
- ldr r0, [r0]\n\
- str r0, [r1]\n\
- bl sub_80A362C\n\
- b ._61\n\
-._57:\n\
- .align 2, 0\n\
-._56:\n\
- .word gUnknown_0203855A\n\
- .word gBGTilemapBuffers+0x1000\n\
- .word sCurrentBagPocket\n\
- .word gBagPockets\n\
- .word gCurrentBagPocketItemSlots\n\
-._20:\n\
- ldr r0, ._59 @ 0xffff\n\
- mov r1, #0x0\n\
- mov r2, #0x7\n\
- bl sub_80A48E8\n\
- ldr r1, ._59 + 4 @ gBagPocketScrollStates\n\
- ldr r4, ._59 + 8 @ sCurrentBagPocket\n\
- mov r0, #0x0\n\
- ldsb r0, [r4, r0]\n\
- lsl r0, r0, #0x2\n\
- add r0, r0, r1\n\
- ldrb r1, [r0, #0x1]\n\
- ldrb r0, [r0]\n\
- add r1, r1, r0\n\
- ldr r0, ._59 + 12 @ gCurrentBagPocketItemSlots\n\
- ldr r0, [r0]\n\
- lsl r1, r1, #0x2\n\
- add r1, r1, r0\n\
- mov r2, #0x0\n\
- ldsh r0, [r1, r2]\n\
- bl ItemListMenu_InitDescription\n\
- bl ItemListMenu_InitMenu\n\
- ldr r1, ._59 + 16 @ gUnknown_0203855B\n\
- ldrb r0, [r4]\n\
- add r0, r0, #0x1\n\
- strb r0, [r1]\n\
- ldr r1, ._59 + 20 @ gUnknown_0203855C\n\
- mov r0, #0x0\n\
- strb r0, [r1]\n\
- ldr r1, ._59 + 24 @ gMain\n\
- ldr r0, ._59 + 28 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._60:\n\
- .align 2, 0\n\
-._59:\n\
- .word 0xffff\n\
- .word gBagPocketScrollStates\n\
- .word sCurrentBagPocket\n\
- .word gCurrentBagPocketItemSlots\n\
- .word gUnknown_0203855B\n\
- .word gUnknown_0203855C\n\
- .word gMain\n\
- .word 0x43c\n\
-._21:\n\
- bl CreateBagSprite\n\
- mov r0, #0x0\n\
- bl CreateBagPokeballSprite\n\
- bl sub_80A3740\n\
- b ._61\n\
-._22:\n\
- ldr r3, ._63 @ 0x4000208\n\
- ldrh r2, [r3]\n\
- mov r0, #0x0\n\
- strh r0, [r3]\n\
- ldr r4, ._63 + 4 @ 0x4000200\n\
- ldrh r0, [r4]\n\
- mov r1, #0x1\n\
- orr r0, r0, r1\n\
- strh r0, [r4]\n\
- strh r2, [r3]\n\
- ldr r2, ._63 + 8 @ 0x4000004\n\
- ldrh r0, [r2]\n\
- mov r1, #0x8\n\
- orr r0, r0, r1\n\
- strh r0, [r2]\n\
- mov r0, #0x1\n\
- neg r0, r0\n\
- mov r1, #0x0\n\
- str r1, [sp]\n\
- mov r2, #0x10\n\
- mov r3, #0x0\n\
- bl BeginNormalPaletteFade\n\
- ldr r2, ._63 + 12 @ gPaletteFade\n\
- ldrb r1, [r2, #0x8]\n\
- mov r0, #0x7f\n\
- and r0, r0, r1\n\
- strb r0, [r2, #0x8]\n\
- ldr r1, ._63 + 16 @ gMain\n\
- ldr r0, ._63 + 20 @ 0x43c\n\
- add r1, r1, r0\n\
- b ._62\n\
-._64:\n\
- .align 2, 0\n\
-._63:\n\
- .word 0x4000208\n\
- .word 0x4000200\n\
- .word 0x4000004\n\
- .word gPaletteFade\n\
- .word gMain\n\
- .word 0x43c\n\
-._23:\n\
- bl sub_8055870\n\
- cmp r0, #0x1\n\
- beq ._66 @cond_branch\n\
-._61:\n\
- ldr r1, ._67 @ gMain\n\
- ldr r2, ._67 + 4 @ 0x43c\n\
- add r1, r1, r2\n\
-._62:\n\
- ldrb r0, [r1]\n\
- add r0, r0, #0x1\n\
- strb r0, [r1]\n\
- b ._66\n\
-._68:\n\
- .align 2, 0\n\
-._67:\n\
- .word gMain\n\
- .word 0x43c\n\
-._24:\n\
- ldr r0, ._71 @ sub_80A3134\n\
- bl SetVBlankCallback\n\
- ldr r0, ._71 + 4 @ sub_80A3118\n\
- bl SetMainCallback2\n\
- bl sub_80A751C\n\
- bl sub_80A7630\n\
- bl sub_80A770C\n\
- bl sub_80A7828\n\
- bl sub_80A78B8\n\
- ldr r0, ._71 + 8 @ gLinkOpen\n\
- ldrb r0, [r0]\n\
- cmp r0, #0x1\n\
- bne ._69 @cond_branch\n\
- ldr r0, ._71 + 12 @ 0x600f5e0\n\
- mov r1, #0x80\n\
- lsl r1, r1, #0x8\n\
- ldr r2, ._71 + 16 @ 0x600f800\n\
- mov r3, #0x0\n\
- bl debug_sub_8008218\n\
-._69:\n\
- mov r0, #0x1\n\
- b ._70\n\
-._72:\n\
- .align 2, 0\n\
-._71:\n\
- .word sub_80A3134+1\n\
- .word sub_80A3118+1\n\
- .word gLinkOpen\n\
- .word 0x600f5e0\n\
- .word 0x600f800\n\
-._66:\n\
- mov r0, #0x0\n\
-._70:\n\
- add sp, sp, #0x4\n\
- pop {r4, r5}\n\
- pop {r1}\n\
- bx r1");
-}
-#else
static bool8 SetupBagMultistep(void)
{
u32 index;
@@ -897,11 +495,14 @@ static bool8 SetupBagMultistep(void)
sub_80A770C();
sub_80A7828();
sub_80A78B8();
+#if DEBUG
+ if (gLinkOpen == TRUE)
+ debug_sub_8008218((void *)(VRAM + 0xF5E0), (void *)0x8000, (void *)(VRAM + 0xF800), 0);
+#endif
return TRUE;
}
return FALSE;
}
-#endif
static bool8 sub_80A34B4(void)
{
@@ -1029,76 +630,42 @@ void ClearBag(void)
}
#if DEBUG
-__attribute__((naked))
-void debug_sub_80A3714()
-{
- asm("\
- push {r4, r5, r6, lr}\n\
- add sp, sp, #0xfffffff4\n\
- mov r5, #0x0\n\
- ldr r2, ._138 @ gUnknown_Debug_083EBC68\n\
- mov r1, #0x0\n\
-._134:\n\
- lsl r0, r5, #0x1\n\
- add r0, r0, sp\n\
- strh r1, [r0]\n\
- add r0, r5, #1\n\
- lsl r0, r0, #0x10\n\
- lsr r5, r0, #0x10\n\
- cmp r5, #0x4\n\
- bls ._134 @cond_branch\n\
- mov r5, #0x0\n\
- ldrh r0, [r2]\n\
- cmp r0, #0\n\
- beq ._136 @cond_branch\n\
- add r6, r2, #0\n\
-._137:\n\
- lsl r4, r5, #0x2\n\
- add r4, r4, r6\n\
- ldrh r0, [r4]\n\
- bl ItemId_GetPocket\n\
- lsl r0, r0, #0x18\n\
- lsr r0, r0, #0x8\n\
- ldr r1, ._138 + 4 @ 0xffff0000\n\
- add r0, r0, r1\n\
- lsr r0, r0, #0x10\n\
- ldr r1, ._138 + 8 @ gBagPockets\n\
- lsl r2, r0, #0x3\n\
- add r2, r2, r1\n\
- lsl r0, r0, #0x1\n\
- mov r1, sp\n\
- add r3, r1, r0\n\
- ldrh r1, [r3]\n\
- ldr r0, [r2]\n\
- lsl r1, r1, #0x2\n\
- add r1, r1, r0\n\
- ldr r0, [r4]\n\
- str r0, [r1]\n\
- ldrh r0, [r3]\n\
- add r0, r0, #0x1\n\
- strh r0, [r3]\n\
- add r0, r5, #1\n\
- lsl r0, r0, #0x10\n\
- lsr r5, r0, #0x10\n\
- cmp r5, #0x3b\n\
- bhi ._136 @cond_branch\n\
- lsl r0, r5, #0x2\n\
- add r0, r0, r6\n\
- ldrh r0, [r0]\n\
- cmp r0, #0\n\
- bne ._137 @cond_branch\n\
-._136:\n\
- add sp, sp, #0xc\n\
- pop {r4, r5, r6}\n\
- pop {r0}\n\
- bx r0\n\
-._139:\n\
- .align 2, 0\n\
-._138:\n\
- .word gUnknown_Debug_083EBC68\n\
- .word 0xffff0000\n\
- .word gBagPockets");
+
+const struct ItemSlot gUnknown_Debug_083EBC68[60] =
+{
+ {ITEM_POKE_BALL, 10},
+ {ITEM_ULTRA_BALL, 15},
+ {ITEM_GREAT_BALL, 20},
+ {ITEM_MASTER_BALL, 25},
+ {ITEM_ACRO_BIKE, 1 },
+ {ITEM_OLD_ROD, 1 },
+ {ITEM_GOOD_ROD, 1 },
+ {ITEM_SUPER_ROD, 1 },
+ {ITEM_POKEBLOCK_CASE, 1 },
+ {ITEM_WAILMER_PAIL, 1 },
+ {ITEM_ITEMFINDER, 1 },
+ {ITEM_NONE, 1 },
+};
+
+void debug_sub_80A3714(void)
+{
+ u16 arr[5];
+ u16 i;
+
+ for (i = 0; i < 5; i++)
+ arr[i] = 0;
+ for (i = 0; i < ARRAY_COUNT(gUnknown_Debug_083EBC68); i++)
+ {
+ u16 pocket;
+
+ if (gUnknown_Debug_083EBC68[i].itemId == ITEM_NONE)
+ break;
+ pocket = ItemId_GetPocket(gUnknown_Debug_083EBC68[i].itemId) - 1;
+ gBagPockets[pocket].itemSlots[arr[pocket]] = gUnknown_Debug_083EBC68[i];
+ arr[pocket]++;
+ }
}
+
#endif
static void sub_80A3740(void)
@@ -4040,49 +3607,16 @@ static void sub_80A73FC(void)
MenuCursor_Destroy814AD44();
}
-#if DEBUG
-__attribute__((naked))
-static void sub_80A740C(void)
-{
- asm("\
- push {lr}\n\
- add sp, sp, #0xfffffffc\n\
- bl sub_80A75E4\n\
- bl sub_80A7768\n\
- bl sub_80A7420\n\
- ldr r0, ._931 @ gLinkOpen\n\
- ldrb r0, [r0]\n\
- cmp r0, #0x1\n\
- bne ._930 @cond_branch\n\
- ldr r0, ._931 + 4 @ gLink\n\
- ldr r1, ._931 + 8 @ 0xfbd\n\
- add r0, r0, r1\n\
- ldrb r0, [r0]\n\
- mov r1, #0x0\n\
- str r1, [sp]\n\
- mov r1, #0x1\n\
- mov r2, #0x1\n\
- mov r3, #0x2\n\
- bl debug_sub_8008264\n\
-._930:\n\
- add sp, sp, #0x4\n\
- pop {r0}\n\
- bx r0\n\
-._932:\n\
- .align 2, 0\n\
-._931:\n\
- .word gLinkOpen\n\
- .word gLink\n\
- .word 0xfbd");
-}
-#else
static void sub_80A740C(void)
{
sub_80A75E4();
sub_80A7768();
sub_80A7420();
-}
+#if DEBUG
+ if (gLinkOpen == TRUE)
+ debug_sub_8008264(gLink.recvQueue.count, 1, 1, 2, 0);
#endif
+}
static void sub_80A7420(void)
{