summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/item_menu.s1139
-rw-r--r--data/item_menu.s15
-rw-r--r--include/item_menu.h6
-rw-r--r--src/item_menu.c816
-rw-r--r--src/player_pc.c3
-rw-r--r--test.txt3
6 files changed, 815 insertions, 1167 deletions
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 2061aa1b0..c5d01dcdb 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -6,1145 +6,6 @@
.text
- thumb_func_start sub_80A52C4
-sub_80A52C4: @ 80A52C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- adds r4, r3, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A52F4 @ =gTasks + 0x8
- adds r1, r0
- ldr r0, _080A52F8 @ =gMain
- ldrh r0, [r0, 0x30]
- movs r2, 0xF0
- ands r2, r0
- cmp r2, 0x40
- bne _080A52FC
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _080A533E
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- b _080A5340
- .align 2, 0
-_080A52F4: .4byte gTasks + 0x8
-_080A52F8: .4byte gMain
-_080A52FC:
- cmp r2, 0x80
- bne _080A5312
- ldrh r2, [r1, 0x2]
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- beq _080A530E
- subs r0, r2, 0x1
- b _080A5340
-_080A530E:
- strh r3, [r1, 0x2]
- b _080A5342
-_080A5312:
- cmp r2, 0x10
- bne _080A532A
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0xA
- cmp r0, r3
- bge _080A5326
- ldrh r0, [r1, 0x2]
- adds r0, 0xA
- b _080A5340
-_080A5326:
- strh r4, [r1, 0x2]
- b _080A5342
-_080A532A:
- cmp r2, 0x20
- bne _080A5346
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- ble _080A533E
- adds r0, r2, 0
- subs r0, 0xA
- b _080A5340
-_080A533E:
- movs r0, 0x1
-_080A5340:
- strh r0, [r1, 0x2]
-_080A5342:
- movs r0, 0x1
- b _080A5348
-_080A5346:
- movs r0, 0
-_080A5348:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A52C4
-
- thumb_func_start sub_80A5350
-sub_80A5350: @ 80A5350
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080A539C @ =gTasks + 0x8
- adds r4, r1, r2
- ldr r1, _080A53A0 @ =gUnknown_02038560
- ldrb r1, [r1]
- ldr r2, _080A53A4 @ =gUnknown_03005D24
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x2]
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53C0
- ldr r0, _080A53A8 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A53AC
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
- b _080A53BC
- .align 2, 0
-_080A539C: .4byte gTasks + 0x8
-_080A53A0: .4byte gUnknown_02038560
-_080A53A4: .4byte gUnknown_03005D24
-_080A53A8: .4byte gUnknown_02038559
-_080A53AC:
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
-_080A53BC:
- movs r0, 0x1
- b _080A53C2
-_080A53C0:
- movs r0, 0
-_080A53C2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5350
-
- thumb_func_start sub_80A53CC
-sub_80A53CC: @ 80A53CC
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53EA
- bl sub_80A3770
- ldr r0, _080A53F0 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A53F4 @ =gUnknown_02038563
- strb r0, [r1]
-_080A53EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080A53F0: .4byte sub_80A50C8
-_080A53F4: .4byte gUnknown_02038563
- thumb_func_end sub_80A53CC
-
- thumb_func_start sub_80A53F8
-sub_80A53F8: @ 80A53F8
- push {lr}
- ldr r0, _080A540C @ =gUnknown_03000701
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A5410 @ =sub_80A53CC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A540C: .4byte gUnknown_03000701
-_080A5410: .4byte sub_80A53CC
- thumb_func_end sub_80A53F8
-
- thumb_func_start sub_80A5414
-sub_80A5414: @ 80A5414
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl sub_80A78A0
- cmp r0, 0
- bne _080A5426
- b _080A5552
-_080A5426:
- ldr r2, _080A5460 @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A546C
- ldr r4, _080A5464 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5440
- b _080A5552
-_080A5440:
- ldrb r1, [r4]
- ldr r0, _080A5468 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5452
- b _080A5552
-_080A5452:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A5460: .4byte gMain
-_080A5464: .4byte gUnknown_03000700
-_080A5468: .4byte gUnknown_03000704
-_080A546C:
- cmp r1, 0x80
- bne _080A549C
- ldr r4, _080A5494 @ =gUnknown_03000700
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5552
- ldrb r1, [r4]
- ldr r0, _080A5498 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A54EE
- .align 2, 0
-_080A5494: .4byte gUnknown_03000700
-_080A5498: .4byte gUnknown_03000704
-_080A549C:
- cmp r1, 0x20
- bne _080A54CC
- ldr r4, _080A54C4 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bls _080A5552
- adds r1, r0, 0
- ldr r0, _080A54C8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x2
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A54C4: .4byte gUnknown_03000700
-_080A54C8: .4byte gUnknown_03000704
-_080A54CC:
- cmp r1, 0x10
- bne _080A5500
- ldr r4, _080A54F8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080A5552
- adds r1, r0, 0
- ldr r0, _080A54FC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
-_080A54EE:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5552
- .align 2, 0
-_080A54F8: .4byte gUnknown_03000700
-_080A54FC: .4byte gUnknown_03000704
-_080A5500:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5590
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5552
- ldr r1, _080A5570 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5574 @ =gUnknown_03005D10
- ldr r0, _080A5578 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A557C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A5580 @ =gUnknown_083C1640
- ldr r0, _080A5584 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5552:
- cmp r5, 0
- bne _080A55FA
- ldr r0, _080A5588 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A55E0
- ldr r0, _080A558C @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A55D4
- movs r0, 0xC
- bl sub_8072DDC
- b _080A55FA
- .align 2, 0
-_080A5570: .4byte gTasks
-_080A5574: .4byte gUnknown_03005D10
-_080A5578: .4byte gUnknown_02038559
-_080A557C: .4byte gBGTilemapBuffers + 0x800
-_080A5580: .4byte gUnknown_083C1640
-_080A5584: .4byte gUnknown_03000704
-_080A5588: .4byte gUnknown_03000701
-_080A558C: .4byte gUnknown_03000700
-_080A5590:
- ldr r1, _080A55C0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A55C4 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A55C8 @ =gUnknown_083C1640
- ldr r0, _080A55CC @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A55D0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5552
- .align 2, 0
-_080A55C0: .4byte gTasks
-_080A55C4: .4byte gBGTilemapBuffers + 0x800
-_080A55C8: .4byte gUnknown_083C1640
-_080A55CC: .4byte gUnknown_03000700
-_080A55D0: .4byte gUnknown_03000704
-_080A55D4:
- cmp r0, 0x1
- bls _080A55E8
- movs r0, 0x30
- bl sub_8072DCC
- b _080A55FA
-_080A55E0:
- ldr r0, _080A55F0 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A55F4
-_080A55E8:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A55FA
- .align 2, 0
-_080A55F0: .4byte gUnknown_03000700
-_080A55F4:
- movs r0, 0x30
- bl sub_8072DCC
-_080A55FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5414
-
- thumb_func_start sub_80A5600
-sub_80A5600: @ 80A5600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- ldr r2, _080A563C @ =gMain
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A5648
- ldr r4, _080A5640 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A561E
- b _080A5736
-_080A561E:
- adds r1, r0, 0
- ldr r0, _080A5644 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5630
- b _080A5736
-_080A5630:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A563C: .4byte gMain
-_080A5640: .4byte gUnknown_03000700
-_080A5644: .4byte gUnknown_03000704
-_080A5648:
- cmp r1, 0x80
- bne _080A5680
- ldr r4, _080A5674 @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A5678 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5736
- cmp r1, 0x2
- beq _080A5736
- ldr r0, _080A567C @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A56D2
- .align 2, 0
-_080A5674: .4byte gUnknown_03000700
-_080A5678: .4byte gUnknown_02038564
-_080A567C: .4byte gUnknown_03000704
-_080A5680:
- cmp r1, 0x20
- bne _080A56B0
- ldr r4, _080A56A8 @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bls _080A5736
- adds r1, r0, 0
- ldr r0, _080A56AC @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x3
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A56A8: .4byte gUnknown_03000700
-_080A56AC: .4byte gUnknown_03000704
-_080A56B0:
- cmp r1, 0x10
- bne _080A56E4
- ldr r4, _080A56DC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0x2
- bhi _080A5736
- adds r1, r0, 0
- ldr r0, _080A56E0 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
-_080A56D2:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5736
- .align 2, 0
-_080A56DC: .4byte gUnknown_03000700
-_080A56E0: .4byte gUnknown_03000704
-_080A56E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5768
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5736
- ldr r1, _080A574C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5750 @ =gUnknown_03005D10
- ldr r0, _080A5754 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5758 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A575C @ =gUnknown_083C1640
- ldr r0, _080A5760 @ =gUnknown_03000704
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5736:
- cmp r5, 0
- bne _080A57BE
- ldr r0, _080A5764 @ =gUnknown_03000700
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A57AC
- movs r0, 0xC
- bl sub_8072DDC
- b _080A57BE
- .align 2, 0
-_080A574C: .4byte gTasks
-_080A5750: .4byte gUnknown_03005D10
-_080A5754: .4byte gUnknown_02038559
-_080A5758: .4byte gBGTilemapBuffers + 0x800
-_080A575C: .4byte gUnknown_083C1640
-_080A5760: .4byte gUnknown_03000704
-_080A5764: .4byte gUnknown_03000700
-_080A5768:
- ldr r1, _080A5798 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A579C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A57A0 @ =gUnknown_083C1640
- ldr r0, _080A57A4 @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A57A8 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5736
- .align 2, 0
-_080A5798: .4byte gTasks
-_080A579C: .4byte gBGTilemapBuffers + 0x800
-_080A57A0: .4byte gUnknown_083C1640
-_080A57A4: .4byte gUnknown_03000700
-_080A57A8: .4byte gUnknown_03000704
-_080A57AC:
- cmp r0, 0x2
- bhi _080A57B8
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A57BE
-_080A57B8:
- movs r0, 0x30
- bl sub_8072DCC
-_080A57BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5600
-
- thumb_func_start sub_80A57C4
-sub_80A57C4: @ 80A57C4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, _080A57EC @ =gUnknown_03000704
- ldr r0, _080A57F0 @ =gUnknown_02038559
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r4, _080A57F4 @ =gUnknown_083C16AE
- adds r1, r4
- str r1, [r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bne _080A57FC
- ldr r1, _080A57F8 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A57EC: .4byte gUnknown_03000704
-_080A57F0: .4byte gUnknown_02038559
-_080A57F4: .4byte gUnknown_083C16AE
-_080A57F8: .4byte gUnknown_02038564
-_080A57FC:
- ldr r0, _080A581C @ =gScriptItemId
- ldrh r0, [r0]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A5824
- adds r0, r4, 0
- adds r0, 0x8
- str r0, [r5]
- ldr r1, _080A5820 @ =gUnknown_02038564
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A581C: .4byte gScriptItemId
-_080A5820: .4byte gUnknown_02038564
-_080A5824:
- ldr r1, _080A5880 @ =gUnknown_02038564
- movs r0, 0x2
- strb r0, [r1]
- movs r5, 0x7
-_080A582C:
- adds r6, r1, 0
- ldr r0, _080A5884 @ =gBGTilemapBuffers + 0x800
- adds r4, r5, 0x1
- ldrb r1, [r6]
- lsls r1, 25
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0x7
- adds r2, r4, 0
- movs r3, 0x6
- bl sub_80A4008
- ldrb r3, [r6]
- lsls r3, 1
- adds r3, 0x1
- adds r3, r5, r3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- adds r1, r5, 0
- movs r2, 0xD
- bl MenuDrawTextWindow
- movs r0, 0
- adds r1, r5, 0
- bl sub_80A7834
- ldrb r3, [r6]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5880: .4byte gUnknown_02038564
-_080A5884: .4byte gBGTilemapBuffers + 0x800
- thumb_func_end sub_80A57C4
-
- thumb_func_start sub_80A5888
-sub_80A5888: @ 80A5888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80A78A0
- cmp r0, 0
- beq _080A5988
- ldr r2, _080A58B8 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A58C0
- ldr r4, _080A58BC @ =gUnknown_03000700
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A58E2
- .align 2, 0
-_080A58B8: .4byte gMain
-_080A58BC: .4byte gUnknown_03000700
-_080A58C0:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080A58F4
- ldr r4, _080A58EC @ =gUnknown_03000700
- ldrb r1, [r4]
- ldr r0, _080A58F0 @ =gUnknown_02038564
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A58E2:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A5988
- .align 2, 0
-_080A58EC: .4byte gUnknown_03000700
-_080A58F0: .4byte gUnknown_02038564
-_080A58F4:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A5964
- ldr r1, _080A5948 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x1C]
- ldr r1, _080A594C @ =gUnknown_03005D10
- ldr r0, _080A5950 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5954 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r1, _080A5958 @ =gUnknown_083C1640
- ldr r0, _080A595C @ =gUnknown_03000700
- ldrb r2, [r0]
- ldr r0, _080A5960 @ =gUnknown_03000704
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5988
- .align 2, 0
-_080A5948: .4byte gTasks
-_080A594C: .4byte gUnknown_03005D10
-_080A5950: .4byte gUnknown_02038559
-_080A5954: .4byte gBGTilemapBuffers + 0x800
-_080A5958: .4byte gUnknown_083C1640
-_080A595C: .4byte gUnknown_03000700
-_080A5960: .4byte gUnknown_03000704
-_080A5964:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5988
- ldr r1, _080A5990 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r0, _080A5994 @ =gBGTilemapBuffers + 0x800
- bl sub_80A4DA4
- ldr r0, _080A5998 @ =gUnknown_083C1640
- ldr r1, [r0, 0x14]
- adds r0, r5, 0
- bl _call_via_r1
-_080A5988:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5990: .4byte gTasks
-_080A5994: .4byte gBGTilemapBuffers + 0x800
-_080A5998: .4byte gUnknown_083C1640
- thumb_func_end sub_80A5888
-
- thumb_func_start sub_80A599C
-sub_80A599C: @ 80A599C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A59C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A59C8 @ =sub_805469C
- lsrs r2, r3, 16
- movs r4, 0
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- ldr r1, _080A59CC @ =gLastFieldPokeMenuOpened
- strb r4, [r1]
- bl sub_80A5AE4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59C4: .4byte gTasks
-_080A59C8: .4byte sub_805469C
-_080A59CC: .4byte gLastFieldPokeMenuOpened
- thumb_func_end sub_80A599C
-
- thumb_func_start sub_80A59D0
-sub_80A59D0: @ 80A59D0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A5A3C @ =gUnknown_03000700
- movs r0, 0
- strb r0, [r1]
- ldr r7, _080A5A40 @ =gUnknown_03000701
- ldrb r0, [r7]
- cmp r0, 0x5
- bne _080A59E8
- movs r0, 0x1
- strb r0, [r1]
-_080A59E8:
- ldr r1, _080A5A44 @ =gTasks
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r6, r0, r1
- ldr r3, _080A5A48 @ =gUnknown_03005D10
- ldr r2, _080A5A4C @ =gUnknown_02038559
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r6, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5A54
- ldrb r0, [r7]
- cmp r0, 0x5
- beq _080A5A54
- bl sub_80A57C4
- ldr r0, _080A5A50 @ =sub_80A5888
- str r0, [r6]
- b _080A5A9C
- .align 2, 0
-_080A5A3C: .4byte gUnknown_03000700
-_080A5A40: .4byte gUnknown_03000701
-_080A5A44: .4byte gTasks
-_080A5A48: .4byte gUnknown_03005D10
-_080A5A4C: .4byte gUnknown_02038559
-_080A5A50: .4byte sub_80A5888
-_080A5A54:
- ldr r0, _080A5A7C @ =gBGTilemapBuffers + 0x800
- bl sub_80A4BF0
- ldr r0, _080A5A80 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5A6E
- ldr r0, _080A5A84 @ =gUnknown_03000701
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A5A90
-_080A5A6E:
- ldr r0, _080A5A88 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5A8C @ =sub_80A5414
- b _080A5A9A
- .align 2, 0
-_080A5A7C: .4byte gBGTilemapBuffers + 0x800
-_080A5A80: .4byte gUnknown_02038559
-_080A5A84: .4byte gUnknown_03000701
-_080A5A88: .4byte gTasks
-_080A5A8C: .4byte sub_80A5414
-_080A5A90:
- ldr r0, _080A5AA4 @ =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5AA8 @ =sub_80A5600
-_080A5A9A:
- str r0, [r1]
-_080A5A9C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5AA4: .4byte gTasks
-_080A5AA8: .4byte sub_80A5600
- thumb_func_end sub_80A59D0
-
- thumb_func_start sub_80A5AAC
-sub_80A5AAC: @ 80A5AAC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080A5ADC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5AE0 @ =HandleItemMenuPaletteFade
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ADC: .4byte gTasks
-_080A5AE0: .4byte HandleItemMenuPaletteFade
- thumb_func_end sub_80A5AAC
-
- thumb_func_start sub_80A5AE4
-sub_80A5AE4: @ 80A5AE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5AAC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5AE4
-
- thumb_func_start HandleItemMenuPaletteFade
-HandleItemMenuPaletteFade: @ 80A5B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5B38 @ =gTasks + 0x8
- adds r2, r0, r1
- ldr r0, _080A5B3C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A5B32
- ldrh r0, [r2, 0x10]
- lsls r0, 16
- ldrh r1, [r2, 0x12]
- orrs r0, r1
- bl SetMainCallback2
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_080A5B32:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5B38: .4byte gTasks + 0x8
-_080A5B3C: .4byte gPaletteFade
- thumb_func_end HandleItemMenuPaletteFade
-
- thumb_func_start sub_80A5B40
-sub_80A5B40: @ 80A5B40
- push {lr}
-_080A5B42:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B68
- bl ResetTasks
- ldr r0, _080A5B60 @ =sub_80A50C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5B64 @ =gUnknown_02038563
- strb r0, [r1]
- b _080A5B74
- .align 2, 0
-_080A5B60: .4byte sub_80A50C8
-_080A5B64: .4byte gUnknown_02038563
-_080A5B68:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B42
-_080A5B74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B40
-
- thumb_func_start sub_80A5B78
-sub_80A5B78: @ 80A5B78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080A5BB0 @ =gScriptItemId
- ldrh r0, [r5]
- bl ItemId_GetFieldFunc
- cmp r0, 0
- beq _080A5BF2
- movs r0, 0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A5BB4
- ldrh r0, [r5]
- bl ItemId_GetType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5BB4
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A5BF2
- .align 2, 0
-_080A5BB0: .4byte gScriptItemId
-_080A5BB4:
- ldr r1, _080A5BE0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _080A5BE4 @ =gUnknown_02038559
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- beq _080A5BEC
- ldr r0, _080A5BE8 @ =gScriptItemId
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5BF2
- .align 2, 0
-_080A5BE0: .4byte gTasks
-_080A5BE4: .4byte gUnknown_02038559
-_080A5BE8: .4byte gScriptItemId
-_080A5BEC:
- adds r0, r4, 0
- bl sub_80C9C7C
-_080A5BF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B78
-
thumb_func_start sub_80A5BF8
sub_80A5BF8: @ 80A5BF8
push {r4,lr}
diff --git a/data/item_menu.s b/data/item_menu.s
index 05bd3ea48..99c69c1ba 100644
--- a/data/item_menu.s
+++ b/data/item_menu.s
@@ -3,21 +3,6 @@
.section .rodata
-@ 6-byte entries; format of entry is unknown
-gUnknown_083C1690:: @ 83C1690
- .byte 0, 1, 6, 2, 0, 0
- .byte 6, 1, 8, 2, 0, 0
- .byte 0, 8, 6, 2, 0, 0
- .byte 7, 0, 1, 8, 6, 2
- .byte 0, 8, 3, 2, 0, 0
-
-gUnknown_083C16AE:: @ 83C16AE
- .byte 6, 2
- .byte 6, 2
- .byte 6, 2
- .byte 6, 2
- .byte 2, 0
-
gUnknown_083C16B8:: @ 83C16B8
.byte 7, 9, 8, 2
diff --git a/include/item_menu.h b/include/item_menu.h
index 301836ac8..bbe4ac94a 100644
--- a/include/item_menu.h
+++ b/include/item_menu.h
@@ -6,9 +6,11 @@
void sub_80A3684(void);
void ClearBag(void);
void sub_80A3E0C(void);
-void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32);
+//void sub_80A3FA0(u16 *, u32, u32, u32, u32, u32);
+void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f);
void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
-void sub_80A418C(u16, enum StringConvertMode, int, int, int);
+//void sub_80A418C(u16, enum StringConvertMode, int, int, int);
+void sub_80A418C(u16 a, enum StringConvertMode b, u8 c, u8 d, u8 e);
void sub_80A53F8(void);
void HandleItemMenuPaletteFade(u8);
void sub_80A5B40(void);
diff --git a/src/item_menu.c b/src/item_menu.c
index de47cbd17..31da81e03 100644
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -1,10 +1,12 @@
#include "global.h"
#include "data2.h"
#include "decompress.h"
+#include "field_effect.h"
#include "field_player_avatar.h"
#include "graphics.h"
#include "item.h"
#include "items.h"
+#include "item_menu.h"
#include "item_use.h"
#include "mail_data.h"
#include "main.h"
@@ -41,6 +43,7 @@ extern u8 gUnknown_0203855B;
extern u8 gUnknown_0203855C;
extern u8 gUnknown_02038560;
extern u8 gUnknown_02038562;
+extern u8 gUnknown_02038563;
extern u8 gUnknown_02038564;
extern u8 gUnknown_03000700;
extern u8 gUnknown_03000701;
@@ -56,6 +59,8 @@ extern void sub_809D104(u16 *, u16, u16, const u8 *, u16, u16, u16, u16);
extern void PauseVerticalScrollIndicator();
extern u8 sub_80F9284(void);
extern void sub_808B5B4();
+extern u8 sub_80F92F4();
+extern void sub_80C9C7C(u8);
extern const struct CompressedSpriteSheet gUnknown_083C1CC8;
extern const struct CompressedSpriteSheet gUnknown_083C1CD0;
@@ -95,8 +100,6 @@ const struct MenuAction2 gUnknown_083C1640[] =
{OtherText_Confirm, sub_80A69E0},
};
-extern const u8 gUnknown_083C1690[][6];
-/*
const u8 gUnknown_083C1690[][6] =
{
{0, 1, 6, 2, 0, 0},
@@ -105,7 +108,18 @@ const u8 gUnknown_083C1690[][6] =
{7, 0, 1, 8, 6, 2},
{0, 8, 3, 2, 0, 0},
};
-*/
+
+const u8 gUnknown_083C16AE[][2] =
+{
+ {6, 2},
+ {6, 2},
+ {6, 2},
+ {6, 2},
+ {2, 0},
+};
+
+//const u8 gUnknown_083C16B8[] = {7, 9, 8, 2};
+
extern const TaskFunc gUnknown_083C16BC[][2];
void sub_80A34E8(void);
@@ -126,6 +140,9 @@ void ItemListMenu_InitDescription(s16);
void ItemListMenu_ChangeDescription(s16, int);
void sub_80A4F68(u8);
void sub_80A50C8(u8);
+void sub_80A5AE4(u8);
+void sub_80A5BF8(u8);
+void HandleItemMenuPaletteFade(u8);
void ItemListMenu_InitMenu(void);
void sub_80A73C0(void);
void sub_80A73F0(void);
@@ -140,6 +157,7 @@ void sub_80A76A0(void);
void sub_80A770C(void);
void sub_80A7828(void);
void sub_80A7834();
+int sub_80A78A0();
void sub_80A78B8(void);
void sub_80A797C(void);
void CreateBagSprite(void);
@@ -303,7 +321,7 @@ bool8 sub_80A317C(void)
bool8 sub_80A34B4(void)
{
- do
+ while (1)
{
if (sub_80A317C() == TRUE)
{
@@ -311,10 +329,13 @@ bool8 sub_80A34B4(void)
ResetTasks();
return TRUE;
}
- } while (sub_80F9344() != 1);
+ if (sub_80F9344() == TRUE)
+ break;
+ }
return FALSE;
}
+
void sub_80A34E8(void)
{
sub_80F9368();
@@ -837,7 +858,7 @@ void sub_80A413C(void)
sub_80A405C(gUnknown_03005D10[gUnknown_02038559].unk0);
}
-void sub_80A4164(u8 *a, u16 b, int c, u8 d)
+void sub_80A4164(u8 *a, u16 b, enum StringConvertMode c, u8 d)
{
*a++ = CHAR_MULT_SIGN;
a[0] = EXT_CTRL_CODE_BEGIN;
@@ -847,7 +868,7 @@ void sub_80A4164(u8 *a, u16 b, int c, u8 d)
ConvertIntToDecimalStringN(a, b, c, d);
}
-void sub_80A418C(u16 a, int b, u8 c, u8 d, u8 e)
+void sub_80A418C(u16 a, enum StringConvertMode b, u8 c, u8 d, u8 e)
{
sub_80A4164(gStringVar1, a, b, e);
MenuPrint(gStringVar1, c, d);
@@ -1437,7 +1458,7 @@ void sub_80A4BF0(u16 *a)
{
MenuDrawTextWindow(0, 7, 13, 12);
sub_80A4008(a, 1, 8, 12, 4);
- if (sub_80F9344() == 1 && gUnknown_03000701 == 5)
+ if (sub_80F9344() == TRUE && gUnknown_03000701 == 5)
{
sub_80A7834(1, 0);
}
@@ -1686,3 +1707,782 @@ void sub_80A50C8(u8 taskId)
}
}
}
+
+bool8 sub_80A52C4(u8 taskId, u16 b)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x40)
+ {
+ if (taskData[1] != b)
+ taskData[1]++;
+ else
+ taskData[1] = 1;
+ return TRUE;
+ }
+
+ if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x80)
+ {
+ if (taskData[1] != 1)
+ taskData[1]--;
+ else
+ taskData[1] = b;
+ return TRUE;
+ }
+
+ if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x10)
+ {
+ if (taskData[1] + 10 < b)
+ taskData[1] += 10;
+ else
+ taskData[1] = b;
+ return TRUE;
+ }
+
+ if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x20)
+ {
+ if (taskData[1] > 10)
+ taskData[1] -= 10;
+ else
+ taskData[1] = 1;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+bool8 sub_80A5350(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ if (sub_80A52C4(taskId, gUnknown_03005D24[gUnknown_02038560].quantity) == TRUE)
+ {
+ if (gUnknown_02038559 + 1 == 4) // if (gUnknown_02038559 == 3)
+ sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 3);
+ else
+ sub_80A418C(taskData[1], 1, taskData[2], taskData[3], 2);
+ return TRUE;
+ }
+ return FALSE;
+}
+
+void sub_80A53CC(void)
+{
+ if (sub_80A34B4() == TRUE)
+ {
+ sub_80A3770();
+ gUnknown_02038563 = CreateTask(sub_80A50C8, 0);
+ }
+}
+
+void sub_80A53F8(void)
+{
+ gUnknown_03000701 = 0;
+ SetMainCallback2(sub_80A53CC);
+}
+
+#ifdef NONMATCHING
+void sub_80A5414(u8 taskId)
+{
+ TaskFunc r5 = NULL;
+
+ if (sub_80A78A0() != 0)
+ {
+ if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x40)
+ {
+ if ((gUnknown_03000700 & 1) && gUnknown_03000704[gUnknown_03000700 - 1] == 8)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor3(-1);
+ }
+ }
+ //_080A546C
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x80)
+ {
+ if (!(gUnknown_03000700 & 1) && gUnknown_03000704[gUnknown_03000700 + 1] != 8)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor3(1);
+ }
+ }
+ //_080A549C
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x20)
+ {
+ if (gUnknown_03000700 > 1 && gUnknown_03000704[gUnknown_03000700 - 2] != 8)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor3(-2);
+ }
+ }
+ //_080A54CC
+ else if ((gMain.newAndRepeatedKeys & DPAD_ANY) == 0x10)
+ {
+ if (gUnknown_03000700 <= 1 && gUnknown_03000704[gUnknown_03000700 + 2] != 8)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor3(2);
+ }
+ }
+ //_080A5500
+ else if (!(gMain.newKeys & A_BUTTON))
+ {
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].data[10] = 0;
+ sub_80A48E8(taskId, gUnknown_03005D10[gUnknown_02038559].unk0, gUnknown_03005D10[gUnknown_02038559].unk0);
+ sub_80A4DA4(gBGTilemapBuffers[1]);
+ r5 = gUnknown_083C1640[gUnknown_03000704[3]].func;
+ r5(taskId);
+ }
+ }
+ else
+ {
+ //_080A5590
+ gTasks[taskId].data[10] = 0;
+ sub_80A4DA4(gBGTilemapBuffers[1]);
+ r5 = gUnknown_083C1640[gUnknown_03000704[gUnknown_03000700]].func;
+ r5(taskId);
+ }
+ }
+ //_080A5552
+ if (r5 == NULL)
+ {
+ if (gUnknown_03000701 == 5)
+ {
+ if (gUnknown_03000700 == 0)
+ {
+ sub_8072DDC(12);
+ return;
+ }
+ //_080A55D4
+ //else
+ //{
+ if (gUnknown_03000700 == 0 || gUnknown_03000700 == 1)
+ sub_8072DCC(0x2F);
+ else
+ sub_8072DCC(0x30);
+ //}
+ }
+ //_080A55E0
+ else
+ {
+ if (gUnknown_03000700 == 0 || gUnknown_03000700 == 1)
+ sub_8072DCC(0x2F);
+ else
+ sub_8072DCC(0x30);
+ }
+ }
+}
+#else
+__attribute__((naked))
+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 @ =gUnknown_03000700\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 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A5468: .4byte gUnknown_03000704\n\
+_080A546C:\n\
+ cmp r1, 0x80\n\
+ bne _080A549C\n\
+ ldr r4, _080A5494 @ =gUnknown_03000700\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 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A5498: .4byte gUnknown_03000704\n\
+_080A549C:\n\
+ cmp r1, 0x20\n\
+ bne _080A54CC\n\
+ ldr r4, _080A54C4 @ =gUnknown_03000700\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x1\n\
+ bls _080A5552\n\
+ adds r1, r0, 0\n\
+ ldr r0, _080A54C8 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A54C8: .4byte gUnknown_03000704\n\
+_080A54CC:\n\
+ cmp r1, 0x10\n\
+ bne _080A5500\n\
+ ldr r4, _080A54F8 @ =gUnknown_03000700\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x1\n\
+ bhi _080A5552\n\
+ adds r1, r0, 0\n\
+ ldr r0, _080A54FC @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A54FC: .4byte gUnknown_03000704\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 @ =gUnknown_03005D10\n\
+ ldr r0, _080A5578 @ =gUnknown_02038559\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 @ =gUnknown_083C1640\n\
+ ldr r0, _080A5584 @ =gUnknown_03000704\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 @ =gUnknown_03000701\n\
+ ldrb r0, [r0]\n\
+ cmp r0, 0x5\n\
+ bne _080A55E0\n\
+ ldr r0, _080A558C @ =gUnknown_03000700\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 gUnknown_03005D10\n\
+_080A5578: .4byte gUnknown_02038559\n\
+_080A557C: .4byte gBGTilemapBuffers + 0x800\n\
+_080A5580: .4byte gUnknown_083C1640\n\
+_080A5584: .4byte gUnknown_03000704\n\
+_080A5588: .4byte gUnknown_03000701\n\
+_080A558C: .4byte gUnknown_03000700\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 @ =gUnknown_083C1640\n\
+ ldr r0, _080A55CC @ =gUnknown_03000700\n\
+ ldrb r2, [r0]\n\
+ ldr r0, _080A55D0 @ =gUnknown_03000704\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 gUnknown_083C1640\n\
+_080A55CC: .4byte gUnknown_03000700\n\
+_080A55D0: .4byte gUnknown_03000704\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 @ =gUnknown_03000700\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 gUnknown_03000700\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
+
+__attribute__((naked))
+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 @ =gUnknown_03000700\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 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A5644: .4byte gUnknown_03000704\n\
+_080A5648:\n\
+ cmp r1, 0x80\n\
+ bne _080A5680\n\
+ ldr r4, _080A5674 @ =gUnknown_03000700\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 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A5678: .4byte gUnknown_02038564\n\
+_080A567C: .4byte gUnknown_03000704\n\
+_080A5680:\n\
+ cmp r1, 0x20\n\
+ bne _080A56B0\n\
+ ldr r4, _080A56A8 @ =gUnknown_03000700\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x2\n\
+ bls _080A5736\n\
+ adds r1, r0, 0\n\
+ ldr r0, _080A56AC @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A56AC: .4byte gUnknown_03000704\n\
+_080A56B0:\n\
+ cmp r1, 0x10\n\
+ bne _080A56E4\n\
+ ldr r4, _080A56DC @ =gUnknown_03000700\n\
+ ldrb r0, [r4]\n\
+ cmp r0, 0x2\n\
+ bhi _080A5736\n\
+ adds r1, r0, 0\n\
+ ldr r0, _080A56E0 @ =gUnknown_03000704\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 gUnknown_03000700\n\
+_080A56E0: .4byte gUnknown_03000704\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 @ =gUnknown_03005D10\n\
+ ldr r0, _080A5754 @ =gUnknown_02038559\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 @ =gUnknown_083C1640\n\
+ ldr r0, _080A5760 @ =gUnknown_03000704\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 @ =gUnknown_03000700\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 gUnknown_03005D10\n\
+_080A5754: .4byte gUnknown_02038559\n\
+_080A5758: .4byte gBGTilemapBuffers + 0x800\n\
+_080A575C: .4byte gUnknown_083C1640\n\
+_080A5760: .4byte gUnknown_03000704\n\
+_080A5764: .4byte gUnknown_03000700\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 @ =gUnknown_083C1640\n\
+ ldr r0, _080A57A4 @ =gUnknown_03000700\n\
+ ldrb r2, [r0]\n\
+ ldr r0, _080A57A8 @ =gUnknown_03000704\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 gUnknown_083C1640\n\
+_080A57A4: .4byte gUnknown_03000700\n\
+_080A57A8: .4byte gUnknown_03000704\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");
+}
+
+void sub_80A57C4(void)
+{
+ u8 r5;
+
+ gUnknown_03000704 = gUnknown_083C16AE[gUnknown_02038559];
+ if (gUnknown_02038559 == 4)
+ {
+ gUnknown_02038564 = 1;
+ r5 = 9;
+ }
+ else if (sub_80F92F4(gScriptItemId) == 0)
+ {
+ gUnknown_03000704 = gUnknown_083C16AE[4];
+ gUnknown_02038564 = 1;
+ r5 = 9;
+ }
+ else
+ {
+ gUnknown_02038564 = 2;
+ r5 = 7;
+ }
+ sub_80A4008(gBGTilemapBuffers[1], 7, r5 + 1, 6, gUnknown_02038564 * 2);
+ MenuDrawTextWindow(6, r5, 13, gUnknown_02038564 * 2 + 1 + r5);
+ sub_80A7834(0, r5);
+ InitMenu(0, 7, r5 + 1, gUnknown_02038564, 0, 6);
+}
+
+void sub_80A5888(u8 taskId)
+{
+ if (sub_80A78A0() != 0)
+ {
+ if (gMain.newAndRepeatedKeys & DPAD_UP)
+ {
+ if (gUnknown_03000700 != 0)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor(-1);
+ }
+ }
+ else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
+ {
+ if (gUnknown_03000700 != gUnknown_02038564 - 1)
+ {
+ PlaySE(SE_SELECT);
+ gUnknown_03000700 = MoveMenuCursor(1);
+ }
+ }
+ else if (gMain.newKeys & A_BUTTON)
+ {
+ gTasks[taskId].data[10] = 0;
+ sub_80A48E8(taskId, gUnknown_03005D10[gUnknown_02038559].unk0, gUnknown_03005D10[gUnknown_02038559].unk0);
+ sub_80A4DA4(gBGTilemapBuffers[1]);
+ gUnknown_083C1640[gUnknown_03000704[gUnknown_03000700]].func(taskId);
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].data[10] = 0;
+ sub_80A4DA4(gBGTilemapBuffers[1]);
+ gUnknown_083C1640[2].func(taskId);
+ }
+ }
+}
+
+void sub_80A599C(u8 taskId)
+{
+ gTasks[taskId].data[8] = (u32)sub_805469C >> 16;
+ gTasks[taskId].data[9] = (u32)sub_805469C;
+ gLastFieldPokeMenuOpened = 0;
+ sub_80A5AE4(taskId);
+}
+
+void sub_80A59D0(u8 taskId)
+{
+ gUnknown_03000700 = 0;
+ if (gUnknown_03000701 == 5)
+ gUnknown_03000700 = 1;
+ gTasks[taskId].data[10] = gUnknown_03005D10[gUnknown_02038559].unk1 + gUnknown_03005D10[gUnknown_02038559].unk0 + 1;
+ sub_80A48E8(taskId, gUnknown_03005D10[gUnknown_02038559].unk0, gUnknown_03005D10[gUnknown_02038559].unk0);
+ sub_80A73FC();
+ if (sub_80F9344() == TRUE && gUnknown_03000701 != 5)
+ {
+ sub_80A57C4();
+ gTasks[taskId].func = sub_80A5888;
+ }
+ else
+ {
+ sub_80A4BF0(gBGTilemapBuffers[1]);
+ if (gUnknown_02038559 != 3 || gUnknown_03000701 == 5)
+ gTasks[taskId].func = sub_80A5414;
+ else
+ gTasks[taskId].func = sub_80A5600;
+ }
+}
+
+void sub_80A5AAC(u8 taskId)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ gTasks[taskId].func = HandleItemMenuPaletteFade;
+}
+
+void sub_80A5AE4(u8 taskId)
+{
+ PlaySE(SE_SELECT);
+ sub_80A5AAC(taskId);
+}
+
+void HandleItemMenuPaletteFade(u8 taskId)
+{
+ s16 *taskData = gTasks[taskId].data;
+
+ if (!gPaletteFade.active)
+ {
+ MainCallback cb = (MainCallback)((u16)taskData[8] << 16 | (u16)taskData[9]);
+
+ SetMainCallback2(cb);
+ gpu_pal_allocator_reset__manage_upper_four();
+ DestroyTask(taskId);
+ }
+}
+
+void sub_80A5B40(void)
+{
+ while (1)
+ {
+ if (sub_80A317C() == TRUE)
+ {
+ ResetTasks();
+ gUnknown_02038563 = CreateTask(sub_80A50C8, 0);
+ break;
+ }
+ if (sub_80F9344() == TRUE)
+ break;
+ }
+}
+
+void sub_80A5B78(u8 taskId)
+{
+ if (ItemId_GetFieldFunc(gScriptItemId) != NULL)
+ {
+ PlaySE(SE_SELECT);
+ if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gScriptItemId) == 1)
+ {
+ sub_80A5BF8(taskId);
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 0;
+ if (gUnknown_02038559 != 3)
+ ItemId_GetFieldFunc(gScriptItemId)(taskId);
+ else
+ sub_80C9C7C(taskId);
+ }
+ }
+}
+
+/*
+void sub_80A5BF8(u8 taskId)
+{
+ sub_80A73FC();
+ sub_80A7590();
+ DisplayCannotUseItemMessage(taskId, gOtherText_NoPokemon, CleanUpItemMenuMessage, 1);
+}
+*/ \ No newline at end of file
diff --git a/src/player_pc.c b/src/player_pc.c
index 61a260630..b432f260e 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -30,9 +30,6 @@ extern void LoadScrollIndicatorPalette(void);
extern void ClearMailStruct(struct MailStruct *);
extern u8 sub_807D770(void);
extern void sub_808B020(void);
-extern void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
-extern void sub_80A418C(u16, enum StringConvertMode, int, int, int);
-extern void sub_80A6A30(void);
extern void sub_80F944C(void);
extern u8 *gPcItemMenuOptionOrder;
diff --git a/test.txt b/test.txt
new file mode 100644
index 000000000..9f8cd4c45
--- /dev/null
+++ b/test.txt
@@ -0,0 +1,3 @@
+1341064 bytes total
+589880 bytes in src (43.9859693497104%)
+751184 bytes in asm (56.0140306502896%)