summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/berry_crush.s2
-rw-r--r--asm/berry_crush_2.s4
-rw-r--r--asm/berry_pouch.s54
-rw-r--r--asm/bike.s10
-rw-r--r--asm/item.s1853
-rw-r--r--asm/item_menu.s86
-rw-r--r--asm/item_use.s2410
-rw-r--r--asm/new_game.s2
-rw-r--r--asm/overworld.s4
-rw-r--r--asm/party_menu.s12
-rw-r--r--asm/player_pc.s4
-rw-r--r--asm/pokemon_special_anim.s2
-rw-r--r--asm/shop.s2
-rw-r--r--asm/start_menu.s4
14 files changed, 93 insertions, 4356 deletions
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
index eb5e8d08d..42de36a1f 100644
--- a/asm/berry_crush.s
+++ b/asm/berry_crush.s
@@ -265,7 +265,7 @@ sub_814B8F0: @ 814B8F0
ldr r1, _0814B910 @ =sub_814B860
movs r0, 0x5
movs r2, 0
- bl sub_813CD50
+ bl InitBerryPouch
pop {r0}
bx r0
.align 2, 0
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s
index f5195a671..172724d0f 100644
--- a/asm/berry_crush_2.s
+++ b/asm/berry_crush_2.s
@@ -2758,7 +2758,7 @@ _0814D03C:
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r4, _0814D080 @ =gStringVar2
- bl sub_815EFA0
+ bl GetBerryPowder
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -2963,7 +2963,7 @@ _0814D1D0:
bl memset
cmp r4, 0
bne _0814D202
- bl sub_8099FAC
+ bl CheckHasAtLeastOneBerry
lsls r0, 24
cmp r0, 0
beq _0814D1FE
diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s
index 63ad10a0c..ab157ab99 100644
--- a/asm/berry_pouch.s
+++ b/asm/berry_pouch.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_813CD50
-sub_813CD50: @ 813CD50
+ thumb_func_start InitBerryPouch
+InitBerryPouch: @ 813CD50
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -92,7 +92,7 @@ _0813CDF0: .4byte gTextFlags
_0813CDF4: .4byte gSpecialVar_ItemId
_0813CDF8: .4byte sub_813CE30
_0813CDFC: .4byte 0x0000080c
- thumb_func_end sub_813CD50
+ thumb_func_end InitBerryPouch
thumb_func_start sub_813CE00
sub_813CE00: @ 813CE00
@@ -1358,8 +1358,8 @@ _0813D800: .4byte gUnknown_203F37C
_0813D804: .4byte gUnknown_203F380
thumb_func_end sub_813D7CC
- thumb_func_start sub_813D808
-sub_813D808: @ 813D808
+ thumb_func_start BerryPouch_StartFadeToExitCallback
+BerryPouch_StartFadeToExitCallback: @ 813D808
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -1387,7 +1387,7 @@ sub_813D808: @ 813D808
.align 2, 0
_0813D83C: .4byte gTasks
_0813D840: .4byte sub_813D844
- thumb_func_end sub_813D808
+ thumb_func_end BerryPouch_StartFadeToExitCallback
thumb_func_start sub_813D844
sub_813D844: @ 813D844
@@ -1443,7 +1443,7 @@ sub_813D8AC: @ 813D8AC
push {r4,lr}
ldr r4, _0813D904 @ =gBagPockets + 0x20
adds r0, r4, 0
- bl sub_809A720
+ bl SortAndCompactBagPocket
ldr r3, _0813D908 @ =gUnknown_203F36C
ldr r1, [r3]
movs r0, 0
@@ -1510,15 +1510,15 @@ _0813D92C:
bx r0
thumb_func_end sub_813D8AC
- thumb_func_start sub_813D934
-sub_813D934: @ 813D934
+ thumb_func_start BerryPouch_SetExitCallback
+BerryPouch_SetExitCallback: @ 813D934
ldr r1, _0813D93C @ =gUnknown_203F36C
ldr r1, [r1]
str r0, [r1]
bx lr
.align 2, 0
_0813D93C: .4byte gUnknown_203F36C
- thumb_func_end sub_813D934
+ thumb_func_end BerryPouch_SetExitCallback
thumb_func_start sub_813D940
sub_813D940: @ 813D940
@@ -1767,7 +1767,7 @@ _0813DB46:
strh r0, [r1]
_0813DB48:
adds r0, r6, 0
- bl sub_813D808
+ bl BerryPouch_StartFadeToExitCallback
b _0813DB9E
.align 2, 0
_0813DB50: .4byte gUnknown_203F36C
@@ -2124,7 +2124,7 @@ sub_813DE0C: @ 813DE0C
cmp r0, 0
bne _0813DE68
adds r0, r5, 0
- bl sub_80A2238
+ bl FieldUseFunc_OakStopsYou
b _0813DEB0
.align 2, 0
_0813DE5C: .4byte gUnknown_203F388
@@ -2577,7 +2577,7 @@ _0813E248:
adds r0, r4
lsls r0, 3
adds r0, r1
- ldr r1, _0813E270 @ =sub_813D808
+ ldr r1, _0813E270 @ =BerryPouch_StartFadeToExitCallback
str r1, [r0]
_0813E25E:
pop {r4}
@@ -2587,7 +2587,7 @@ _0813E25E:
_0813E264: .4byte gUnknown_203F36C
_0813E268: .4byte sub_8126EDC
_0813E26C: .4byte gTasks
-_0813E270: .4byte sub_813D808
+_0813E270: .4byte BerryPouch_StartFadeToExitCallback
thumb_func_end sub_813E200
thumb_func_start sub_813E274
@@ -2598,7 +2598,7 @@ sub_813E274: @ 813E274
ldr r2, _0813E288 @ =gText_ThereIsNoPokemon
ldr r3, _0813E28C @ =sub_813E290
movs r1, 0x2
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
pop {r0}
bx r0
.align 2, 0
@@ -2745,7 +2745,7 @@ sub_813E37C: @ 813E37C
adds r0, r5, 0
movs r1, 0x2
adds r2, r4, 0
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
b _0813E3EA
.align 2, 0
_0813E3C4: .4byte gTasks+0x8
@@ -2761,7 +2761,7 @@ _0813E3D8:
adds r0, r7, 0
subs r0, 0x8
adds r0, r6, r0
- ldr r1, _0813E3F8 @ =sub_813D808
+ ldr r1, _0813E3F8 @ =BerryPouch_StartFadeToExitCallback
str r1, [r0]
_0813E3EA:
pop {r4-r7}
@@ -2770,7 +2770,7 @@ _0813E3EA:
.align 2, 0
_0813E3F0: .4byte gUnknown_203F36C
_0813E3F4: .4byte c2_8123744
-_0813E3F8: .4byte sub_813D808
+_0813E3F8: .4byte BerryPouch_StartFadeToExitCallback
thumb_func_end sub_813E37C
thumb_func_start sub_813E3FC
@@ -2786,14 +2786,14 @@ sub_813E3FC: @ 813E3FC
adds r1, r0
lsls r1, 3
adds r1, r2
- ldr r0, _0813E424 @ =sub_813D808
+ ldr r0, _0813E424 @ =BerryPouch_StartFadeToExitCallback
str r0, [r1]
bx lr
.align 2, 0
_0813E418: .4byte gUnknown_203F36C
_0813E41C: .4byte sub_808CE60
_0813E420: .4byte gTasks
-_0813E424: .4byte sub_813D808
+_0813E424: .4byte BerryPouch_StartFadeToExitCallback
thumb_func_end sub_813E3FC
thumb_func_start sub_813E428
@@ -2827,7 +2827,7 @@ sub_813E428: @ 813E428
ldr r3, _0813E484 @ =sub_813E2B8
adds r0, r5, 0
adds r2, r4, 0
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
b _0813E4CE
.align 2, 0
_0813E470: .4byte gTasks+0x8
@@ -2867,7 +2867,7 @@ _0813E4A8:
ldr r3, _0813E4E0 @ =sub_813E5B8
adds r0, r7, 0
adds r2, r4, 0
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
_0813E4CE:
pop {r4-r7}
pop {r0}
@@ -2917,7 +2917,7 @@ sub_813E4E4: @ 813E4E4
ldr r3, _0813E550 @ =sub_813E554
adds r0, r5, 0
adds r2, r4, 0
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
pop {r4-r6}
pop {r0}
bx r0
@@ -3213,7 +3213,7 @@ sub_813E768: @ 813E768
adds r0, r5, 0
movs r1, 0x2
adds r2, r4, 0
- bl sub_813EB20
+ bl DisplayItemMessageInBerryPouch
pop {r4-r6}
pop {r0}
bx r0
@@ -3622,8 +3622,8 @@ sub_813EB10: @ 813EB10
_0813EB1C: .4byte gUnknown_203F38C
thumb_func_end sub_813EB10
- thumb_func_start sub_813EB20
-sub_813EB20: @ 813EB20
+ thumb_func_start DisplayItemMessageInBerryPouch
+DisplayItemMessageInBerryPouch: @ 813EB20
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -3666,7 +3666,7 @@ _0813EB44:
.align 2, 0
_0813EB74: .4byte gUnknown_203F38C
_0813EB78: .4byte gUnknown_8464400
- thumb_func_end sub_813EB20
+ thumb_func_end DisplayItemMessageInBerryPouch
thumb_func_start sub_813EB7C
sub_813EB7C: @ 813EB7C
diff --git a/asm/bike.s b/asm/bike.s
index c85537d3d..b731e51c0 100644
--- a/asm/bike.s
+++ b/asm/bike.s
@@ -713,8 +713,8 @@ _080BD5C2:
bx r1
thumb_func_end player_should_look_direction_be_enforced_upon_movement
- thumb_func_start sub_80BD5C8
-sub_80BD5C8: @ 80BD5C8
+ thumb_func_start StartTransitionToFlipBikeState
+StartTransitionToFlipBikeState: @ 80BD5C8
push {r4,lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -738,8 +738,8 @@ _080BD5F4: .4byte gPlayerAvatar
_080BD5F8:
adds r0, r2, 0
bl SetPlayerAvatarTransitionFlags
- movs r4, 0x8D
- lsls r4, 1
+ movs r4, 0x8D @ BGM_FRLG_BICYCLE
+ lsls r4, 1 @ BGM_FRLG_BICYCLE
adds r0, r4, 0
bl sub_8056124
cmp r0, 0
@@ -752,7 +752,7 @@ _080BD618:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_80BD5C8
+ thumb_func_end StartTransitionToFlipBikeState
thumb_func_start sub_80BD620
sub_80BD620: @ 80BD620
diff --git a/asm/item.s b/asm/item.s
deleted file mode 100644
index 5dd58333d..000000000
--- a/asm/item.s
+++ /dev/null
@@ -1,1853 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetBagItemQuantity
-GetBagItemQuantity: @ 8099DA0
- adds r1, r0, 0
- ldr r0, _08099DB8 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r2, 0xF2
- lsls r2, 4
- adds r0, r2
- ldr r0, [r0]
- ldrh r1, [r1]
- eors r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_08099DB8: .4byte gSaveBlock2Ptr
- thumb_func_end GetBagItemQuantity
-
- thumb_func_start sub_8099DBC
-sub_8099DBC: @ 8099DBC
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _08099DD4 @ =gSaveBlock2Ptr
- ldr r2, [r2]
- movs r3, 0xF2
- lsls r3, 4
- adds r2, r3
- ldr r2, [r2]
- eors r1, r2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08099DD4: .4byte gSaveBlock2Ptr
- thumb_func_end sub_8099DBC
-
- thumb_func_start GetBagItemId
-GetBagItemId: @ 8099DD8
- ldrh r0, [r0]
- bx lr
- thumb_func_end GetBagItemId
-
- thumb_func_start sub_8099DDC
-sub_8099DDC: @ 8099DDC
- strh r1, [r0]
- bx lr
- thumb_func_end sub_8099DDC
-
- thumb_func_start ApplyNewEncryptionKeyToBagItems
-ApplyNewEncryptionKeyToBagItems: @ 8099DE0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- movs r1, 0
- ldr r0, _08099E34 @ =gBagPockets
- mov r9, r0
-_08099DF2:
- movs r6, 0
- lsls r5, r1, 3
- mov r2, r9
- adds r0, r5, r2
- adds r7, r1, 0x1
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _08099E20
- ldr r2, _08099E34 @ =gBagPockets
-_08099E04:
- adds r4, r5, r2
- lsls r1, r6, 2
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x2
- mov r1, r8
- str r2, [sp]
- bl ApplyNewEncryptionKeyToHword
- adds r6, 0x1
- ldr r2, [sp]
- ldrb r4, [r4, 0x4]
- cmp r6, r4
- bcc _08099E04
-_08099E20:
- adds r1, r7, 0
- cmp r1, 0x4
- bls _08099DF2
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099E34: .4byte gBagPockets
- thumb_func_end ApplyNewEncryptionKeyToBagItems
-
- thumb_func_start ApplyNewEncryptionKeyToBagItems_
-ApplyNewEncryptionKeyToBagItems_: @ 8099E38
- push {lr}
- bl ApplyNewEncryptionKeyToBagItems
- pop {r0}
- bx r0
- thumb_func_end ApplyNewEncryptionKeyToBagItems_
-
- thumb_func_start sub_8099E44
-sub_8099E44: @ 8099E44
- ldr r1, _08099E84 @ =gBagPockets
- ldr r0, _08099E88 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0xC4
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1]
- movs r0, 0x2A
- strb r0, [r1, 0x4]
- adds r3, 0xA8
- adds r0, r2, r3
- str r0, [r1, 0x8]
- movs r0, 0x1E
- strb r0, [r1, 0xC]
- adds r3, 0x78
- adds r0, r2, r3
- str r0, [r1, 0x10]
- movs r0, 0xD
- strb r0, [r1, 0x14]
- adds r3, 0x34
- adds r0, r2, r3
- str r0, [r1, 0x18]
- movs r0, 0x3A
- strb r0, [r1, 0x1C]
- ldr r0, _08099E8C @ =0x0000054c
- adds r2, r0
- str r2, [r1, 0x20]
- adds r1, 0x24
- movs r0, 0x2B
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08099E84: .4byte gBagPockets
-_08099E88: .4byte gSaveBlock1Ptr
-_08099E8C: .4byte 0x0000054c
- thumb_func_end sub_8099E44
-
- thumb_func_start CopyItemName
-CopyItemName: @ 8099E90
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08099EB8
- movs r0, 0x2B
- bl sub_809C8A0
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _08099EB4 @ =gUnknown_84162BD
- adds r0, r4, 0
- bl StringAppend
- b _08099EC4
- .align 2, 0
-_08099EB4: .4byte gUnknown_84162BD
-_08099EB8:
- bl ItemId_GetName
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
-_08099EC4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CopyItemName
-
- thumb_func_start sub_8099ECC
-sub_8099ECC: @ 8099ECC
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _08099EF0 @ =gBagPockets
- lsrs r0, 21
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _08099EFE
- ldr r3, [r0]
-_08099EE0:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _08099EF4
- lsls r0, r2, 24
- asrs r0, 24
- b _08099F02
- .align 2, 0
-_08099EF0: .4byte gBagPockets
-_08099EF4:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _08099EE0
-_08099EFE:
- movs r0, 0x1
- negs r0, r0
-_08099F02:
- pop {r1}
- bx r1
- thumb_func_end sub_8099ECC
-
- thumb_func_start sub_8099F08
-sub_8099F08: @ 8099F08
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _08099F2C @ =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _08099F3A
- ldr r3, [r0]
-_08099F1E:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _08099F30
- movs r0, 0x1
- b _08099F3C
- .align 2, 0
-_08099F2C: .4byte gBagPockets
-_08099F30:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _08099F1E
-_08099F3A:
- movs r0, 0
-_08099F3C:
- pop {r1}
- bx r1
- thumb_func_end sub_8099F08
-
- thumb_func_start CheckBagHasItem
-CheckBagHasItem: @ 8099F40
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _08099F5C
- b _08099FA4
-_08099F58:
- movs r0, 0x1
- b _08099FA6
-_08099F5C:
- adds r0, r4, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- movs r2, 0
- ldr r1, _08099F94 @ =gBagPockets
- lsrs r0, 21
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _08099FA4
- adds r3, r0, 0
-_08099F76:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r4
- bne _08099F98
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcs _08099F58
- b _08099FA4
- .align 2, 0
-_08099F94: .4byte gBagPockets
-_08099F98:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3, 0x4]
- cmp r2, r0
- bcc _08099F76
-_08099FA4:
- movs r0, 0
-_08099FA6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasItem
-
- thumb_func_start sub_8099FAC
-sub_8099FAC: @ 8099FAC
- push {r4,lr}
- ldr r0, _08099FC0 @ =0x0000016d
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08099FD4
- b _08099FF0
- .align 2, 0
-_08099FC0: .4byte 0x0000016d
-_08099FC4:
- ldr r1, _08099FD0 @ =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
- b _08099FF6
- .align 2, 0
-_08099FD0: .4byte gSpecialVar_Result
-_08099FD4:
- movs r4, 0x85
-_08099FD6:
- adds r0, r4, 0
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08099FC4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xAF
- bls _08099FD6
-_08099FF0:
- ldr r0, _08099FFC @ =gSpecialVar_Result
- strh r1, [r0]
- movs r0, 0
-_08099FF6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08099FFC: .4byte gSpecialVar_Result
- thumb_func_end sub_8099FAC
-
- thumb_func_start CheckBagHasSpace
-CheckBagHasSpace: @ 809A000
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- adds r0, r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _0809A050
- adds r0, r4, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r1, _0809A054 @ =gBagPockets
- lsls r0, r5, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _0809A068
- adds r3, r0, 0
-_0809A032:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r4
- bne _0809A05C
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- adds r0, r6
- ldr r1, _0809A058 @ =0x000003e7
- cmp r0, r1
- ble _0809A07A
-_0809A050:
- movs r0, 0
- b _0809A07C
- .align 2, 0
-_0809A054: .4byte gBagPockets
-_0809A058: .4byte 0x000003e7
-_0809A05C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3, 0x4]
- cmp r2, r0
- bcc _0809A032
-_0809A068:
- adds r0, r5, 0
- bl sub_8099ECC
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0809A050
-_0809A07A:
- movs r0, 0x1
-_0809A07C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasSpace
-
- thumb_func_start AddBagItem
-AddBagItem: @ 809A084
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _0809A0A2
- b _0809A1CA
-_0809A0A2:
- adds r0, r6, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r1, _0809A0E0 @ =gBagPockets
- lsls r0, r7, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _0809A0F4
- adds r5, r0, 0
-_0809A0BE:
- ldr r0, [r5]
- lsls r4, r2, 2
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _0809A0E8
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- mov r2, r8
- adds r1, r0, r2
- ldr r0, _0809A0E4 @ =0x000003e7
- cmp r1, r0
- ble _0809A1B8
- b _0809A1CA
- .align 2, 0
-_0809A0E0: .4byte gBagPockets
-_0809A0E4: .4byte 0x000003e7
-_0809A0E8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r2, r0
- bcc _0809A0BE
-_0809A0F4:
- cmp r7, 0x3
- bne _0809A132
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _0809A132
- movs r0, 0x1
- bl sub_8099ECC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809A1CA
- ldr r2, _0809A1AC @ =gBagPockets
- ldr r0, [r2, 0x8]
- lsls r1, 2
- adds r0, r1, r0
- strh r4, [r0]
- ldr r0, [r2, 0x8]
- adds r0, r1
- adds r0, 0x2
- movs r1, 0x1
- bl sub_8099DBC
-_0809A132:
- cmp r7, 0x4
- bne _0809A174
- ldr r4, _0809A1B0 @ =0x0000016d
- adds r0, r4, 0
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _0809A174
- movs r0, 0x1
- bl sub_8099ECC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809A1CA
- ldr r2, _0809A1AC @ =gBagPockets
- ldr r0, [r2, 0x8]
- lsls r1, 2
- adds r0, r1, r0
- strh r4, [r0]
- ldr r0, [r2, 0x8]
- adds r0, r1
- adds r0, 0x2
- movs r1, 0x1
- bl sub_8099DBC
- ldr r0, _0809A1B4 @ =0x00000847
- bl FlagSet
-_0809A174:
- ldr r0, _0809A1B0 @ =0x0000016d
- cmp r6, r0
- bne _0809A180
- ldr r0, _0809A1B4 @ =0x00000847
- bl FlagSet
-_0809A180:
- adds r0, r7, 0
- bl sub_8099ECC
- lsls r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0809A1CA
- ldr r0, _0809A1AC @ =gBagPockets
- lsls r1, r7, 3
- adds r1, r0
- ldr r0, [r1]
- lsls r2, 2
- adds r0, r2, r0
- strh r6, [r0]
- ldr r0, [r1]
- adds r0, r2
- adds r0, 0x2
- mov r1, r8
- b _0809A1C2
- .align 2, 0
-_0809A1AC: .4byte gBagPockets
-_0809A1B0: .4byte 0x0000016d
-_0809A1B4: .4byte 0x00000847
-_0809A1B8:
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
-_0809A1C2:
- bl sub_8099DBC
- movs r0, 0x1
- b _0809A1CC
-_0809A1CA:
- movs r0, 0
-_0809A1CC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddBagItem
-
- thumb_func_start RemoveBagItem
-RemoveBagItem: @ 809A1D8
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _0809A258
- cmp r4, 0
- beq _0809A258
- adds r0, r4, 0
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- movs r2, 0
- ldr r1, _0809A248 @ =gBagPockets
- lsrs r0, 21
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _0809A258
- adds r6, r0, 0
-_0809A20C:
- ldr r0, [r6]
- lsls r5, r2, 2
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, r4
- bne _0809A24C
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r7
- bcc _0809A258
- subs r0, r7
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r6]
- adds r0, r5
- adds r0, 0x2
- adds r1, r4, 0
- bl sub_8099DBC
- cmp r4, 0
- bne _0809A242
- ldr r0, [r6]
- adds r0, r5, r0
- strh r4, [r0]
-_0809A242:
- movs r0, 0x1
- b _0809A25A
- .align 2, 0
-_0809A248: .4byte gBagPockets
-_0809A24C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r6, 0x4]
- cmp r2, r0
- bcc _0809A20C
-_0809A258:
- movs r0, 0
-_0809A25A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemoveBagItem
-
- thumb_func_start GetPocketByItemId
-GetPocketByItemId: @ 809A260
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetPocketByItemId
-
- thumb_func_start ClearItemSlots
-ClearItemSlots: @ 809A274
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- movs r4, 0
- lsrs r1, 24
- cmp r4, r1
- bcs _0809A29E
- adds r5, r1, 0
- movs r7, 0
-_0809A286:
- lsls r0, r4, 2
- adds r0, r6
- strh r7, [r0]
- adds r0, 0x2
- movs r1, 0
- bl sub_8099DBC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _0809A286
-_0809A29E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ClearItemSlots
-
- thumb_func_start sub_809A2A4
-sub_809A2A4: @ 809A2A4
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0xA6
- lsls r5, 2
-_0809A2AC:
- ldr r0, _0809A2D8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r3, r4, 2
- adds r1, r0, r3
- adds r1, r5
- movs r2, 0
- strh r2, [r1]
- adds r3, r5
- adds r0, r3
- adds r0, 0x2
- movs r1, 0
- bl sub_8099DDC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0809A2AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A2D8: .4byte gSaveBlock1Ptr
- thumb_func_end sub_809A2A4
-
- thumb_func_start sub_809A2DC
-sub_809A2DC: @ 809A2DC
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809A300 @ =gBagPockets
-_0809A2E2:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl ClearItemSlots
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _0809A2E2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A300: .4byte gBagPockets
- thumb_func_end sub_809A2DC
-
- thumb_func_start sub_809A304
-sub_809A304: @ 809A304
- push {lr}
- movs r1, 0
- ldr r0, _0809A324 @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0xA6
- lsls r3, 2
-_0809A310:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2, r0
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809A328
- adds r0, r1, 0
- b _0809A338
- .align 2, 0
-_0809A324: .4byte gSaveBlock1Ptr
-_0809A328:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- ble _0809A310
- movs r0, 0x1
- negs r0, r0
-_0809A338:
- pop {r1}
- bx r1
- thumb_func_end sub_809A304
-
- thumb_func_start sub_809A33C
-sub_809A33C: @ 809A33C
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, _0809A370 @ =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0xA6
- lsls r4, 2
-_0809A34A:
- lsls r0, r1, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809A35C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0809A35C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bls _0809A34A
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A370: .4byte gSaveBlock1Ptr
- thumb_func_end sub_809A33C
-
- thumb_func_start CheckPCHasItem
-CheckPCHasItem: @ 809A374
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_0809A380:
- ldr r0, _0809A3AC @ =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r1, r4, 2
- adds r0, r2, r1
- movs r3, 0xA6
- lsls r3, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r6
- bne _0809A3B4
- adds r0, r1, r2
- ldr r1, _0809A3B0 @ =0x0000029a
- adds r0, r1
- bl GetBagItemId
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _0809A3B4
- movs r0, 0x1
- b _0809A3C0
- .align 2, 0
-_0809A3AC: .4byte gSaveBlock1Ptr
-_0809A3B0: .4byte 0x0000029a
-_0809A3B4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1D
- bls _0809A380
- movs r0, 0
-_0809A3C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckPCHasItem
-
- thumb_func_start AddPCItem
-AddPCItem: @ 809A3C8
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- movs r3, 0
- ldr r6, _0809A404 @ =gSaveBlock1Ptr
-_0809A3D6:
- ldr r2, [r6]
- lsls r1, r3, 2
- adds r0, r2, r1
- movs r7, 0xA6
- lsls r7, 2
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r4
- bne _0809A40C
- adds r0, r7, 0
- adds r4, r1, r0
- adds r0, r2, r4
- adds r0, 0x2
- bl GetBagItemId
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, r5
- ldr r0, _0809A408 @ =0x000003e7
- cmp r1, r0
- ble _0809A444
- b _0809A456
- .align 2, 0
-_0809A404: .4byte gSaveBlock1Ptr
-_0809A408: .4byte 0x000003e7
-_0809A40C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1D
- bls _0809A3D6
- bl sub_809A304
- lsls r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0809A456
- ldr r0, _0809A440 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r2, 2
- adds r1, r0, r2
- movs r3, 0xA6
- lsls r3, 2
- adds r1, r3
- strh r4, [r1]
- adds r2, r3
- adds r0, r2
- adds r0, 0x2
- adds r1, r5, 0
- b _0809A44E
- .align 2, 0
-_0809A440: .4byte gSaveBlock1Ptr
-_0809A444:
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2
-_0809A44E:
- bl sub_8099DDC
- movs r0, 0x1
- b _0809A458
-_0809A456:
- movs r0, 0
-_0809A458:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddPCItem
-
- thumb_func_start RemoveItemFromPC
-RemoveItemFromPC: @ 809A460
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- cmp r2, 0
- beq _0809A4D8
- movs r4, 0
- ldr r0, _0809A4E4 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r3, 0xA6
- lsls r3, 2
- adds r1, r3
- ldrh r1, [r1]
- adds r7, r0, 0
- cmp r1, r2
- beq _0809A49E
- adds r5, r7, 0
-_0809A48A:
- adds r4, 0x1
- cmp r4, 0x1D
- bhi _0809A49E
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, r1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r2
- bne _0809A48A
-_0809A49E:
- cmp r4, 0x1E
- beq _0809A4D8
- lsls r6, r4, 2
- movs r0, 0xA6
- lsls r0, 2
- adds r4, r6, r0
- ldr r0, [r7]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemId
- mov r1, r8
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r7]
- adds r0, r4
- adds r0, 0x2
- adds r1, r5, 0
- bl sub_8099DDC
- cmp r5, 0
- bne _0809A4D8
- ldr r0, [r7]
- adds r0, r6
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r1
- strh r5, [r0]
-_0809A4D8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A4E4: .4byte gSaveBlock1Ptr
- thumb_func_end RemoveItemFromPC
-
- thumb_func_start ItemPcCompaction
-ItemPcCompaction: @ 809A4E8
- push {r4-r7,lr}
- movs r2, 0
-_0809A4EC:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r6, r1, 0
- cmp r4, 0x1D
- bhi _0809A52E
- ldr r0, _0809A53C @ =gSaveBlock1Ptr
- mov r12, r0
- lsls r5, r2, 2
- movs r7, 0xA6
- lsls r7, 2
-_0809A502:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809A524
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r0
- adds r2, r1, r5
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_0809A524:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _0809A502
-_0809A52E:
- lsls r0, r6, 16
- lsrs r2, r0, 16
- cmp r2, 0x1C
- bls _0809A4EC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A53C: .4byte gSaveBlock1Ptr
- thumb_func_end ItemPcCompaction
-
- thumb_func_start sub_809A540
-sub_809A540: @ 809A540
- push {lr}
- ldr r0, _0809A55C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _0809A560 @ =0x00000296
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r3, _0809A564 @ =0x00000103
- cmp r2, r3
- beq _0809A568
- movs r0, 0x88
- lsls r0, 1
- cmp r2, r0
- beq _0809A570
- b _0809A572
- .align 2, 0
-_0809A55C: .4byte gSaveBlock1Ptr
-_0809A560: .4byte 0x00000296
-_0809A564: .4byte 0x00000103
-_0809A568:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r1]
- b _0809A572
-_0809A570:
- strh r3, [r1]
-_0809A572:
- pop {r0}
- bx r0
- thumb_func_end sub_809A540
-
- thumb_func_start sub_809A578
-sub_809A578: @ 809A578
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end sub_809A578
-
- thumb_func_start sub_809A584
-sub_809A584: @ 809A584
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- subs r0, r1, 0x1
- cmp r2, r0
- bge _0809A5D8
- adds r6, r1, 0
- mov r9, r0
-_0809A59E:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r7, r1, 0
- cmp r4, r6
- bcs _0809A5D0
- lsls r0, r2, 2
- mov r1, r8
- adds r5, r1, r0
-_0809A5B0:
- adds r0, r5, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- bne _0809A5C6
- lsls r1, r4, 2
- add r1, r8
- adds r0, r5, 0
- bl sub_809A578
-_0809A5C6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r6
- bcc _0809A5B0
-_0809A5D0:
- lsls r0, r7, 16
- lsrs r2, r0, 16
- cmp r2, r9
- blt _0809A59E
-_0809A5D8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809A584
-
- thumb_func_start sub_809A5E4
-sub_809A5E4: @ 809A5E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- movs r4, 0
- bl sub_809A720
- movs r3, 0
- ldrb r0, [r5, 0x4]
- cmp r3, r0
- bcs _0809A676
- movs r6, 0xA9
- lsls r6, 1
-_0809A604:
- ldr r0, [r5]
- lsls r1, r3, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r7, r1, 0
- cmp r0, 0
- bne _0809A622
- adds r0, r2, 0x2
- str r3, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- ldr r3, [sp]
- cmp r0, 0
- beq _0809A70A
-_0809A622:
- ldr r0, [r5]
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, r6
- bls _0809A66A
- adds r0, r1, 0x2
- str r3, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- ldr r3, [sp]
- cmp r0, 0
- beq _0809A66A
- adds r0, r3, 0x1
- b _0809A642
-_0809A640:
- adds r0, r4, 0x1
-_0809A642:
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r1, [r5, 0x4]
- cmp r4, r1
- bcs _0809A676
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0809A640
- adds r0, r1, 0x2
- str r3, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- ldr r3, [sp]
- cmp r0, 0
- bne _0809A640
- b _0809A676
-_0809A66A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r2, [r5, 0x4]
- cmp r3, r2
- bcc _0809A604
-_0809A676:
- movs r6, 0
- lsls r7, r3, 2
- subs r4, r3
- mov r10, r4
- lsls r3, 1
- mov r9, r3
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcs _0809A6A6
-_0809A688:
- lsls r4, r6, 2
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- ldr r1, [r5]
- adds r4, r1
- strh r0, [r4, 0x2]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r1, [r5, 0x4]
- cmp r6, r1
- bcc _0809A688
-_0809A6A6:
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- bl AllocZeroed
- mov r8, r0
- ldr r0, [r5]
- adds r0, r7
- mov r1, r10
- lsls r2, r1, 1
- ldr r4, _0809A71C @ =0x001fffff
- ands r2, r4
- mov r1, r8
- bl CpuSet
- ldr r0, [r5]
- mov r2, r10
- lsls r1, r2, 2
- add r1, r8
- mov r2, r9
- ands r2, r4
- mov r9, r2
- bl CpuSet
- ldr r1, [r5]
- ldrb r2, [r5, 0x4]
- lsls r2, 1
- ands r2, r4
- mov r0, r8
- bl CpuSet
- movs r6, 0
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcs _0809A704
-_0809A6EA:
- lsls r0, r6, 2
- ldr r1, [r5]
- adds r1, r0
- adds r0, r1, 0x2
- ldrh r1, [r1, 0x2]
- bl sub_8099DBC
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r1, [r5, 0x4]
- cmp r6, r1
- bcc _0809A6EA
-_0809A704:
- mov r0, r8
- bl Free
-_0809A70A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A71C: .4byte 0x001fffff
- thumb_func_end sub_809A5E4
-
- thumb_func_start sub_809A720
-sub_809A720: @ 809A720
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r3, 0
- b _0809A786
-_0809A72C:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r2
- bcs _0809A780
- lsls r7, r3, 2
-_0809A73A:
- ldr r0, [r6]
- adds r0, r7
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsls r4, r5, 2
- cmp r0, 0
- beq _0809A76A
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- beq _0809A774
- ldr r0, [r6]
- adds r1, r7, r0
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bls _0809A774
-_0809A76A:
- ldr r1, [r6]
- adds r0, r1, r7
- adds r1, r4
- bl sub_809A578
-_0809A774:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r5, r0
- bcc _0809A73A
-_0809A780:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_0809A786:
- ldrb r2, [r6, 0x4]
- cmp r3, r2
- bcc _0809A72C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809A720
-
- thumb_func_start BagGetItemIdByPocketPosition
-BagGetItemIdByPocketPosition: @ 809A798
- lsls r0, 24
- lsls r1, 16
- ldr r2, _0809A7B0 @ =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldrh r0, [r1]
- bx lr
- .align 2, 0
-_0809A7B0: .4byte gBagPockets
- thumb_func_end BagGetItemIdByPocketPosition
-
- thumb_func_start BagGetQuantityByPocketPosition
-BagGetQuantityByPocketPosition: @ 809A7B4
- push {lr}
- lsls r0, 24
- lsls r1, 16
- ldr r2, _0809A7D8 @ =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- lsrs r1, 14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_0809A7D8: .4byte gBagPockets
- thumb_func_end BagGetQuantityByPocketPosition
-
- thumb_func_start sub_809A7DC
-sub_809A7DC: @ 809A7DC
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 21
- ldr r1, _0809A7F4 @ =gUnknown_2039884
- adds r3, r0, r1
- movs r2, 0
- b _0809A816
- .align 2, 0
-_0809A7F4: .4byte gUnknown_2039884
-_0809A7F8:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r4
- bne _0809A810
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- b _0809A81E
-_0809A810:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_0809A816:
- ldrb r0, [r3, 0x4]
- cmp r2, r0
- bcc _0809A7F8
- movs r0, 0
-_0809A81E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809A7DC
-
- thumb_func_start sub_809A824
-sub_809A824: @ 809A824
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _0809A894 @ =0xfea30000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xD
- bls _0809A85A
- movs r0, 0xB7
- lsls r0, 1
- cmp r5, r0
- beq _0809A85A
- adds r0, 0x2
- cmp r5, r0
- beq _0809A85A
- adds r0, 0x1
- cmp r5, r0
- beq _0809A85A
- adds r0, 0x3
- cmp r5, r0
- beq _0809A85A
- adds r0, 0x1
- cmp r5, r0
- beq _0809A85A
- adds r0, 0x1
- cmp r5, r0
- bne _0809A88C
-_0809A85A:
- ldr r0, _0809A898 @ =0x00000169
- cmp r5, r0
- bne _0809A86E
- ldr r0, _0809A89C @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x81
- lsls r0, 2
- cmp r1, r0
- bne _0809A88C
-_0809A86E:
- movs r0, 0x4
- bl Alloc
- adds r4, r0, 0
- strh r5, [r4]
- ldr r0, _0809A8A0 @ =gMapHeader
- ldrb r0, [r0, 0x14]
- strb r0, [r4, 0x2]
- movs r0, 0x28
- adds r1, r4, 0
- bl sub_8113550
- adds r0, r4, 0
- bl Free
-_0809A88C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A894: .4byte 0xfea30000
-_0809A898: .4byte 0x00000169
-_0809A89C: .4byte gSaveBlock1Ptr
-_0809A8A0: .4byte gMapHeader
- thumb_func_end sub_809A824
-
- thumb_func_start SanitizeItemId
-SanitizeItemId: @ 809A8A4
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xBB
- lsls r0, 1
- cmp r1, r0
- bhi _0809A8B6
- adds r0, r1, 0
- b _0809A8B8
-_0809A8B6:
- movs r0, 0
-_0809A8B8:
- pop {r1}
- bx r1
- thumb_func_end SanitizeItemId
-
- thumb_func_start ItemId_GetName
-ItemId_GetName: @ 809A8BC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, _0809A8D8 @ =gItems
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_0809A8D8: .4byte gItems
- thumb_func_end ItemId_GetName
-
- thumb_func_start itemid_get_number
-itemid_get_number: @ 809A8DC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A8FC @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A8FC: .4byte gItems
- thumb_func_end itemid_get_number
-
- thumb_func_start itemid_get_market_price
-itemid_get_market_price: @ 809A900
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A920 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A920: .4byte gItems
- thumb_func_end itemid_get_market_price
-
- thumb_func_start ItemId_GetHoldEffect
-ItemId_GetHoldEffect: @ 809A924
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A944 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A944: .4byte gItems
- thumb_func_end ItemId_GetHoldEffect
-
- thumb_func_start ItemId_GetHoldEffectParam
-ItemId_GetHoldEffectParam: @ 809A948
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A968 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A968: .4byte gItems
- thumb_func_end ItemId_GetHoldEffectParam
-
- thumb_func_start ItemId_GetDescription
-ItemId_GetDescription: @ 809A96C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A98C @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A98C: .4byte gItems
- thumb_func_end ItemId_GetDescription
-
- thumb_func_start itemid_is_unique
-itemid_is_unique: @ 809A990
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A9B0 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A9B0: .4byte gItems
- thumb_func_end itemid_is_unique
-
- thumb_func_start itemid_get_x19
-itemid_get_x19: @ 809A9B4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A9D4 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A9D4: .4byte gItems
- thumb_func_end itemid_get_x19
-
- thumb_func_start ItemId_GetPocket
-ItemId_GetPocket: @ 809A9D8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809A9F8 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A9F8: .4byte gItems
- thumb_func_end ItemId_GetPocket
-
- thumb_func_start ItemId_GetType
-ItemId_GetType: @ 809A9FC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809AA1C @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AA1C: .4byte gItems
- thumb_func_end ItemId_GetType
-
- thumb_func_start ItemId_GetFieldFunc
-ItemId_GetFieldFunc: @ 809AA20
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809AA40 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AA40: .4byte gItems
- thumb_func_end ItemId_GetFieldFunc
-
- thumb_func_start ItemId_GetBattleUsage
-ItemId_GetBattleUsage: @ 809AA44
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809AA64 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AA64: .4byte gItems
- thumb_func_end ItemId_GetBattleUsage
-
- thumb_func_start ItemId_GetBattleFunc
-ItemId_GetBattleFunc: @ 809AA68
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809AA88 @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AA88: .4byte gItems
- thumb_func_end ItemId_GetBattleFunc
-
- thumb_func_start ItemId_GetSecondaryId
-ItemId_GetSecondaryId: @ 809AA8C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0809AAAC @ =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AAAC: .4byte gItems
- thumb_func_end ItemId_GetSecondaryId
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 4bad1609c..bdefc393f 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -138,8 +138,8 @@ _08107EB0: .4byte gUnknown_203AD10
_08107EB4: .4byte gUnknown_203ACFC
thumb_func_end sub_8107DB4
- thumb_func_start UseFameCheckerFromMenu
-UseFameCheckerFromMenu: @ 8107EB8
+ thumb_func_start ReturnToBagFromKeyItem
+ReturnToBagFromKeyItem: @ 8107EB8
push {lr}
ldr r2, _08107EC8 @ =sub_80568A8
movs r0, 0
@@ -149,7 +149,7 @@ UseFameCheckerFromMenu: @ 8107EB8
bx r0
.align 2, 0
_08107EC8: .4byte sub_80568A8
- thumb_func_end UseFameCheckerFromMenu
+ thumb_func_end ReturnToBagFromKeyItem
thumb_func_start sub_8107ECC
sub_8107ECC: @ 8107ECC
@@ -1739,8 +1739,8 @@ _08108B48: .4byte gUnknown_203AD18
_08108B4C: .4byte gUnknown_203AD1C
thumb_func_end sub_8108B04
- thumb_func_start sub_8108B50
-sub_8108B50: @ 8108B50
+ thumb_func_start ItemMenu_StartFadeToExitCallback
+ItemMenu_StartFadeToExitCallback: @ 8108B50
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
@@ -1768,7 +1768,7 @@ sub_8108B50: @ 8108B50
.align 2, 0
_08108B84: .4byte gTasks
_08108B88: .4byte sub_8108B8C
- thumb_func_end sub_8108B50
+ thumb_func_end ItemMenu_StartFadeToExitCallback
thumb_func_start sub_8108B8C
sub_8108B8C: @ 8108B8C
@@ -2069,7 +2069,7 @@ sub_8108DC8: @ 8108DC8
adds r4, r1, r0
ldr r0, [r4]
ldrb r1, [r4, 0x4]
- bl sub_809A584
+ bl BagPocketCompaction
ldr r3, _08108E40 @ =gUnknown_203AD10
ldr r0, [r3]
adds r0, 0xA
@@ -2150,8 +2150,8 @@ _08108E58:
bx r0
thumb_func_end sub_8108E54
- thumb_func_start sub_8108E70
-sub_8108E70: @ 8108E70
+ thumb_func_start DisplayItemMessageInBag
+DisplayItemMessageInBag: @ 8108E70
push {r4-r6,lr}
mov r6, r9
mov r5, r8
@@ -2202,17 +2202,17 @@ sub_8108E70: @ 8108E70
bx r0
.align 2, 0
_08108EDC: .4byte gTasks+0x8
- thumb_func_end sub_8108E70
+ thumb_func_end DisplayItemMessageInBag
- thumb_func_start sub_8108EE0
-sub_8108EE0: @ 8108EE0
+ thumb_func_start ItemMenu_SetExitCallback
+ItemMenu_SetExitCallback: @ 8108EE0
ldr r1, _08108EE8 @ =gUnknown_203AD10
ldr r1, [r1]
str r0, [r1]
bx lr
.align 2, 0
_08108EE8: .4byte gUnknown_203AD10
- thumb_func_end sub_8108EE0
+ thumb_func_end ItemMenu_SetExitCallback
thumb_func_start sub_8108EEC
sub_8108EEC: @ 8108EEC
@@ -2376,12 +2376,12 @@ _08109018:
adds r0, r6
lsls r0, 3
adds r0, r1
- ldr r1, _08109040 @ =sub_8108B50
+ ldr r1, _08109040 @ =ItemMenu_StartFadeToExitCallback
b _081090C4
.align 2, 0
_08109038: .4byte gSpecialVar_ItemId
_0810903C: .4byte gTasks
-_08109040: .4byte sub_8108B50
+_08109040: .4byte ItemMenu_StartFadeToExitCallback
_08109044:
movs r0, 0x5
bl PlaySE
@@ -2402,13 +2402,13 @@ _08109044:
adds r0, r6
lsls r0, 3
adds r0, r1
- ldr r1, _08109080 @ =sub_8108B50
+ ldr r1, _08109080 @ =ItemMenu_StartFadeToExitCallback
b _081090C4
.align 2, 0
_08109074: .4byte gUnknown_203AD10
_08109078: .4byte gSpecialVar_ItemId
_0810907C: .4byte gTasks
-_08109080: .4byte sub_8108B50
+_08109080: .4byte ItemMenu_StartFadeToExitCallback
_08109084:
bl sub_8108978
ldrb r0, [r7]
@@ -4376,7 +4376,7 @@ sub_810A0A8: @ 810A0A8
ldr r3, _0810A11C @ =sub_810A1D0
adds r0, r4, 0
movs r1, 0x2
- bl sub_8108E70
+ bl DisplayItemMessageInBag
b _0810A166
.align 2, 0
_0810A110: .4byte gTasks+0x8
@@ -4404,13 +4404,13 @@ _0810A13E:
mov r0, r8
subs r0, 0x8
adds r0, r6, r0
- ldr r1, _0810A15C @ =sub_8108B50
+ ldr r1, _0810A15C @ =ItemMenu_StartFadeToExitCallback
str r1, [r0]
b _0810A166
.align 2, 0
_0810A154: .4byte gUnknown_203AD10
_0810A158: .4byte sub_8126EDC
-_0810A15C: .4byte sub_8108B50
+_0810A15C: .4byte ItemMenu_StartFadeToExitCallback
_0810A160:
adds r0, r7, 0
bl sub_810A18C
@@ -4430,7 +4430,7 @@ sub_810A170: @ 810A170
ldr r2, _0810A184 @ =gText_ThereIsNoPokemon
ldr r3, _0810A188 @ =sub_810A1D0
movs r1, 0x2
- bl sub_8108E70
+ bl DisplayItemMessageInBag
pop {r0}
bx r0
.align 2, 0
@@ -4456,7 +4456,7 @@ sub_810A18C: @ 810A18C
adds r0, r4, 0
movs r1, 0x2
adds r2, r5, 0
- bl sub_8108E70
+ bl DisplayItemMessageInBag
pop {r4,r5}
pop {r0}
bx r0
@@ -4697,7 +4697,7 @@ sub_810A370: @ 810A370
ldr r3, _0810A3C8 @ =sub_810A1D0
adds r0, r5, 0
movs r1, 0x2
- bl sub_8108E70
+ bl DisplayItemMessageInBag
b _0810A426
.align 2, 0
_0810A3BC: .4byte gTasks+0x8
@@ -4719,9 +4719,9 @@ _0810A3DC:
bne _0810A3F8
ldr r0, _0810A3F4 @ =sub_810A448
_0810A3E4:
- bl sub_8108EE0
+ bl ItemMenu_SetExitCallback
adds r0, r5, 0
- bl sub_8108B50
+ bl ItemMenu_StartFadeToExitCallback
b _0810A426
.align 2, 0
_0810A3F0: .4byte 0x0000016d
@@ -4740,11 +4740,11 @@ _0810A3F8:
mov r0, r9
subs r0, 0x8
adds r0, r7, r0
- ldr r1, _0810A41C @ =sub_8108B50
+ ldr r1, _0810A41C @ =ItemMenu_StartFadeToExitCallback
str r1, [r0]
b _0810A426
.align 2, 0
-_0810A41C: .4byte sub_8108B50
+_0810A41C: .4byte ItemMenu_StartFadeToExitCallback
_0810A420:
adds r0, r5, 0
bl sub_810A18C
@@ -4776,7 +4776,7 @@ sub_810A448: @ 810A448
ldr r1, _0810A458 @ =sub_810A45C
movs r0, 0x1
movs r2, 0
- bl sub_813CD50
+ bl InitBerryPouch
pop {r0}
bx r0
.align 2, 0
@@ -4826,7 +4826,7 @@ sub_810A468: @ 810A468
ldr r3, _0810A4C0 @ =sub_810A1D0
adds r0, r5, 0
movs r1, 0x2
- bl sub_8108E70
+ bl DisplayItemMessageInBag
b _0810A51E
.align 2, 0
_0810A4B4: .4byte gTasks+0x8
@@ -4848,9 +4848,9 @@ _0810A4D4:
bne _0810A4F0
ldr r0, _0810A4EC @ =sub_810A540
_0810A4DC:
- bl sub_8108EE0
+ bl ItemMenu_SetExitCallback
adds r0, r5, 0
- bl sub_8108B50
+ bl ItemMenu_StartFadeToExitCallback
b _0810A51E
.align 2, 0
_0810A4E8: .4byte 0x0000016d
@@ -4869,11 +4869,11 @@ _0810A4F0:
mov r0, r9
subs r0, 0x8
adds r0, r7, r0
- ldr r1, _0810A514 @ =sub_8108B50
+ ldr r1, _0810A514 @ =ItemMenu_StartFadeToExitCallback
str r1, [r0]
b _0810A51E
.align 2, 0
-_0810A514: .4byte sub_8108B50
+_0810A514: .4byte ItemMenu_StartFadeToExitCallback
_0810A518:
adds r0, r5, 0
bl sub_810A18C
@@ -4905,7 +4905,7 @@ sub_810A540: @ 810A540
ldr r1, _0810A550 @ =sub_810A554
movs r0, 0x3
movs r2, 0
- bl sub_813CD50
+ bl InitBerryPouch
pop {r0}
bx r0
.align 2, 0
@@ -4954,9 +4954,9 @@ _0810A598:
bne _0810A5B4
ldr r0, _0810A5B0 @ =sub_810A668
_0810A5A0:
- bl sub_8108EE0
+ bl ItemMenu_SetExitCallback
adds r0, r5, 0
- bl sub_8108B50
+ bl ItemMenu_StartFadeToExitCallback
b _0810A63E
.align 2, 0
_0810A5AC: .4byte 0x0000016d
@@ -4981,7 +4981,7 @@ _0810A5B4:
ldr r3, _0810A5F4 @ =sub_810A1F8
adds r0, r5, 0
adds r2, r4, 0
- bl sub_8108E70
+ bl DisplayItemMessageInBag
b _0810A63E
.align 2, 0
_0810A5E8: .4byte gStringVar1
@@ -5019,7 +5019,7 @@ _0810A618:
ldr r3, _0810A650 @ =sub_810A770
adds r0, r7, 0
adds r2, r4, 0
- bl sub_8108E70
+ bl DisplayItemMessageInBag
_0810A63E:
pop {r4-r7}
pop {r0}
@@ -5050,7 +5050,7 @@ sub_810A668: @ 810A668
ldr r1, _0810A678 @ =sub_810A67C
movs r0, 0x2
movs r2, 0
- bl sub_813CD50
+ bl InitBerryPouch
pop {r0}
bx r0
.align 2, 0
@@ -5112,7 +5112,7 @@ sub_810A690: @ 810A690
ldr r3, _0810A708 @ =sub_810A70C
adds r0, r5, 0
adds r2, r4, 0
- bl sub_8108E70
+ bl DisplayItemMessageInBag
pop {r4-r6}
pop {r0}
bx r0
@@ -5426,7 +5426,7 @@ sub_810A940: @ 810A940
adds r0, r5, 0
movs r1, 0x2
adds r2, r4, 0
- bl sub_8108E70
+ bl DisplayItemMessageInBag
pop {r4-r6}
pop {r0}
bx r0
@@ -5803,7 +5803,7 @@ _0810ACEC:
ldr r3, _0810AD0C @ =sub_810A1D0
adds r0, r4, 0
movs r1, 0x2
- bl sub_8108E70
+ bl DisplayItemMessageInBag
_0810ACF8:
add sp, 0x14
pop {r3,r4}
@@ -6860,7 +6860,7 @@ _0810B564:
ldr r0, _0810B5B4 @ =ItemUseCB_Medicine
str r0, [r1]
ldr r0, _0810B5B8 @ =sub_81279A4
- bl sub_8108EE0
+ bl ItemMenu_SetExitCallback
mov r0, r9
subs r0, 0x8
add r0, r8
diff --git a/asm/item_use.s b/asm/item_use.s
deleted file mode 100644
index 723eb5ee6..000000000
--- a/asm/item_use.s
+++ /dev/null
@@ -1,2410 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80A0FBC
-sub_80A0FBC: @ 80A0FBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A0FD8 @ =gSpecialVar_ItemId
- ldrh r0, [r1]
- cmp r0, 0xAF
- bne _080A0FE0
- ldr r0, _080A0FDC @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x10]
- b _080A0FE6
- .align 2, 0
-_080A0FD8: .4byte gSpecialVar_ItemId
-_080A0FDC: .4byte gTasks
-_080A0FE0:
- ldrh r0, [r1]
- bl ItemId_GetType
-_080A0FE6:
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1010 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080A1018
- ldr r0, _080A1014 @ =gUnknown_83E2954
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_813D934
- adds r0, r5, 0
- bl sub_813D808
- b _080A1032
- .align 2, 0
-_080A1010: .4byte gSpecialVar_ItemId
-_080A1014: .4byte gUnknown_83E2954
-_080A1018:
- ldr r0, _080A1038 @ =gUnknown_83E2954
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_8108EE0
- cmp r4, 0x1
- bne _080A102C
- bl sub_8108CB4
-_080A102C:
- adds r0, r5, 0
- bl sub_8108B50
-_080A1032:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1038: .4byte gUnknown_83E2954
- thumb_func_end sub_80A0FBC
-
- thumb_func_start sub_80A103C
-sub_80A103C: @ 80A103C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080A1064 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080A1070
- ldr r1, _080A1068 @ =gFieldCallback
- ldr r0, _080A106C @ =sub_80A1084
- str r0, [r1]
- adds r0, r2, 0
- bl sub_80A0FBC
- b _080A107A
- .align 2, 0
-_080A1064: .4byte gTasks
-_080A1068: .4byte gFieldCallback
-_080A106C: .4byte sub_80A1084
-_080A1070:
- ldr r0, _080A1080 @ =gUnknown_2039998
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
-_080A107A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A1080: .4byte gUnknown_2039998
- thumb_func_end sub_80A103C
-
- thumb_func_start sub_80A1084
-sub_80A1084: @ 80A1084
- push {lr}
- bl sub_807DC00
- ldr r0, _080A1098 @ =sub_80A109C
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080A1098: .4byte sub_80A109C
- thumb_func_end sub_80A1084
-
- thumb_func_start sub_80A109C
-sub_80A109C: @ 80A109C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807AA70
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A10B8
- ldr r0, _080A10C0 @ =gUnknown_2039998
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080A10B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A10C0: .4byte gUnknown_2039998
- thumb_func_end sub_80A109C
-
- thumb_func_start sub_80A10C4
-sub_80A10C4: @ 80A10C4
- push {r4-r7,lr}
- adds r4, r1, 0
- adds r1, r3, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r5, _080A10F0 @ =gStringVar4
- adds r0, r5, 0
- bl StringExpandPlaceholders
- cmp r4, 0
- bne _080A10F8
- ldr r3, _080A10F4 @ =sub_810A1F8
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8108E70
- b _080A1104
- .align 2, 0
-_080A10F0: .4byte gStringVar4
-_080A10F4: .4byte sub_810A1F8
-_080A10F8:
- ldr r3, _080A110C @ =sub_80A112C
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl DisplayItemMessageOnField
-_080A1104:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A110C: .4byte sub_80A112C
- thumb_func_end sub_80A10C4
-
- thumb_func_start sub_80A1110
-sub_80A1110: @ 80A1110
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080A1128 @ =gUnknown_8416425
- movs r2, 0x4
- bl sub_80A10C4
- pop {r0}
- bx r0
- .align 2, 0
-_080A1128: .4byte gUnknown_8416425
- thumb_func_end sub_80A1110
-
- thumb_func_start sub_80A112C
-sub_80A112C: @ 80A112C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80696C0
- bl ScriptContext2_Disable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A112C
-
- thumb_func_start sub_80A1150
-sub_80A1150: @ 80A1150
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080A1168
- movs r0, 0x1
- b _080A117E
-_080A1168:
- adds r0, r4, 0
- bl ItemId_GetFieldFunc
- ldr r1, _080A1178 @ =sub_80A1750
- cmp r0, r1
- beq _080A117C
- movs r0, 0
- b _080A117E
- .align 2, 0
-_080A1178: .4byte sub_80A1750
-_080A117C:
- movs r0, 0x2
-_080A117E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1150
-
- thumb_func_start sub_80A1184
-sub_80A1184: @ 80A1184
- ldr r1, _080A118C @ =gFieldCallback2
- ldr r0, _080A1190 @ =sub_80A1194
- str r0, [r1]
- bx lr
- .align 2, 0
-_080A118C: .4byte gFieldCallback2
-_080A1190: .4byte sub_80A1194
- thumb_func_end sub_80A1184
-
- thumb_func_start sub_80A1194
-sub_80A1194: @ 80A1194
- push {lr}
- bl player_bitmagic
- bl ScriptContext2_Enable
- bl sub_807DC00
- ldr r0, _080A11B8 @ =sub_80A11C0
- movs r1, 0xA
- bl CreateTask
- ldr r1, _080A11BC @ =gUnknown_2031DE0
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080A11B8: .4byte sub_80A11C0
-_080A11BC: .4byte gUnknown_2031DE0
- thumb_func_end sub_80A1194
-
- thumb_func_start sub_80A11C0
-sub_80A11C0: @ 80A11C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807AA70
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A11E0
- bl UnfreezeMapObjects
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
-_080A11E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A11C0
-
- thumb_func_start sub_80A11E8
-sub_80A11E8: @ 80A11E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A1204 @ =sub_80A1208
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1204: .4byte sub_80A1208
- thumb_func_end sub_80A11E8
-
- thumb_func_start sub_80A1208
-sub_80A1208: @ 80A1208
- push {lr}
- sub sp, 0x24
- mov r1, sp
- ldr r0, _080A1224 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, _080A1228 @ =UseFameCheckerFromMenu
- mov r0, sp
- movs r2, 0
- bl sub_80BEBEC
- add sp, 0x24
- pop {r0}
- bx r0
- .align 2, 0
-_080A1224: .4byte gSpecialVar_ItemId
-_080A1228: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A1208
-
- thumb_func_start sub_80A122C
-sub_80A122C: @ 80A122C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x83
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A129A
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_17
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A129A
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_18
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A129A
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_15
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A129A
- adds r0, r4, 0
- bl MetatileBehavior_ReturnFalse_16
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A12BC
-_080A129A:
- ldr r1, _080A12B4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0xE]
- ldr r3, _080A12B8 @ =gUnknown_8416451
- adds r0, r5, 0
- movs r2, 0x2
- bl sub_80A10C4
- b _080A12F6
- .align 2, 0
-_080A12B4: .4byte gTasks
-_080A12B8: .4byte gUnknown_8416451
-_080A12BC:
- bl sub_8055C9C
- cmp r0, 0x1
- bne _080A12E4
- bl sub_80BD540
- lsls r0, 24
- cmp r0, 0
- bne _080A12E4
- ldr r1, _080A12DC @ =gUnknown_2039998
- ldr r0, _080A12E0 @ =sub_80A1304
- str r0, [r1]
- adds r0, r5, 0
- bl sub_80A103C
- b _080A12F6
- .align 2, 0
-_080A12DC: .4byte gUnknown_2039998
-_080A12E0: .4byte sub_80A1304
-_080A12E4:
- ldr r0, _080A1300 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r5, 0
- bl sub_80A1110
-_080A12F6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1300: .4byte gTasks
- thumb_func_end sub_80A122C
-
- thumb_func_start sub_80A1304
-sub_80A1304: @ 80A1304
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080A131C
- movs r0, 0xB
- bl PlaySE
-_080A131C:
- movs r0, 0x6
- bl sub_80BD5C8
- bl sub_80696C0
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1304
-
- thumb_func_start sub_80A1338
-sub_80A1338: @ 80A1338
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80A137C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A1360
- ldr r1, _080A1358 @ =gUnknown_2039998
- ldr r0, _080A135C @ =ItemUseOnFieldCB_Rod
- str r0, [r1]
- adds r0, r4, 0
- bl sub_80A103C
- b _080A1372
- .align 2, 0
-_080A1358: .4byte gUnknown_2039998
-_080A135C: .4byte ItemUseOnFieldCB_Rod
-_080A1360:
- ldr r0, _080A1378 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl sub_80A1110
-_080A1372:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1378: .4byte gTasks
- thumb_func_end sub_80A1338
-
- thumb_func_start sub_80A137C
-sub_80A137C: @ 80A137C
- push {r4-r6,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _080A1404
- movs r0, 0x10
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080A1404
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080A13D4
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- cmp r0, 0
- beq _080A1404
-_080A13D0:
- movs r0, 0x1
- b _080A1406
-_080A13D4:
- adds r0, r5, 0
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- beq _080A13F4
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridIsImpassableAt
- lsls r0, 24
- cmp r0, 0
- beq _080A13D0
-_080A13F4:
- lsls r0, r6, 24
- lsrs r0, 24
- bl MetatileBehavior_ReturnFalse_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A13D0
-_080A1404:
- movs r0, 0
-_080A1406:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A137C
-
- thumb_func_start ItemUseOnFieldCB_Rod
-ItemUseOnFieldCB_Rod: @ 80A1410
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A1434 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetSecondaryId
- lsls r0, 24
- lsrs r0, 24
- bl sub_805D2C0
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1434: .4byte gSpecialVar_ItemId
- thumb_func_end ItemUseOnFieldCB_Rod
-
- thumb_func_start ItemUseOutOfBattle_Itemfinder
-ItemUseOutOfBattle_Itemfinder: @ 80A1438
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x27
- bl IncrementGameStat
- ldr r1, _080A1458 @ =gUnknown_2039998
- ldr r0, _080A145C @ =sub_813EC8C
- str r0, [r1]
- adds r0, r4, 0
- bl sub_80A103C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1458: .4byte gUnknown_2039998
-_080A145C: .4byte sub_813EC8C
- thumb_func_end ItemUseOutOfBattle_Itemfinder
-
- thumb_func_start sub_80A1460
-sub_80A1460: @ 80A1460
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A14B4 @ =gStringVar1
- bl GetCoins
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, _080A14B8 @ =gStringVar4
- ldr r1, _080A14BC @ =gUnknown_8416537
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080A14C0 @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A14C4 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A14C8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A14D0
- ldr r3, _080A14CC @ =sub_810A1F8
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_8108E70
- b _080A14DC
- .align 2, 0
-_080A14B4: .4byte gStringVar1
-_080A14B8: .4byte gStringVar4
-_080A14BC: .4byte gUnknown_8416537
-_080A14C0: .4byte gSpecialVar_ItemId
-_080A14C4: .4byte 0x0000ffff
-_080A14C8: .4byte gTasks
-_080A14CC: .4byte sub_810A1F8
-_080A14D0:
- ldr r3, _080A14E4 @ =sub_80A112C
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl DisplayItemMessageOnField
-_080A14DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A14E4: .4byte sub_80A112C
- thumb_func_end sub_80A1460
-
- thumb_func_start sub_80A14E8
-sub_80A14E8: @ 80A14E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A1538 @ =gStringVar1
- bl sub_815EFA0
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r4, _080A153C @ =gStringVar4
- ldr r1, _080A1540 @ =gUnknown_8416644
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080A1544 @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A1548 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A154C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A1554
- ldr r3, _080A1550 @ =sub_810A1F8
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_8108E70
- b _080A1560
- .align 2, 0
-_080A1538: .4byte gStringVar1
-_080A153C: .4byte gStringVar4
-_080A1540: .4byte gUnknown_8416644
-_080A1544: .4byte gSpecialVar_ItemId
-_080A1548: .4byte 0x0000ffff
-_080A154C: .4byte gTasks
-_080A1550: .4byte sub_810A1F8
-_080A1554:
- ldr r3, _080A1568 @ =sub_80A112C
- adds r0, r5, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl DisplayItemMessageOnField
-_080A1560:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1568: .4byte sub_80A112C
- thumb_func_end sub_80A14E8
-
- thumb_func_start sub_80A156C
-sub_80A156C: @ 80A156C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- movs r4, 0
- b _080A1598
-_080A1578:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080A15D0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x11
- adds r2, r4, 0
- movs r3, 0
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- cmp r0, 0
- bne _080A1592
- movs r6, 0x1
-_080A1592:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080A1598:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _080A1578
- cmp r6, 0
- beq _080A1600
- ldr r0, _080A15D4 @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A15D8 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A15DC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A15E8
- ldr r2, _080A15E0 @ =gUnknown_8416690
- ldr r3, _080A15E4 @ =sub_80A1648
- b _080A1616
- .align 2, 0
-_080A15D0: .4byte gPlayerParty
-_080A15D4: .4byte gSpecialVar_ItemId
-_080A15D8: .4byte 0x0000ffff
-_080A15DC: .4byte gTasks
-_080A15E0: .4byte gUnknown_8416690
-_080A15E4: .4byte sub_80A1648
-_080A15E8:
- ldr r2, _080A15F8 @ =gUnknown_8416690
- ldr r3, _080A15FC @ =sub_80A1648
- adds r0, r5, 0
- movs r1, 0x2
- bl DisplayItemMessageOnField
- b _080A1638
- .align 2, 0
-_080A15F8: .4byte gUnknown_8416690
-_080A15FC: .4byte sub_80A1648
-_080A1600:
- ldr r0, _080A1620 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A162C
- ldr r2, _080A1624 @ =gUnknown_841665C
- ldr r3, _080A1628 @ =sub_810A1F8
-_080A1616:
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8108E70
- b _080A1638
- .align 2, 0
-_080A1620: .4byte gTasks
-_080A1624: .4byte gUnknown_841665C
-_080A1628: .4byte sub_810A1F8
-_080A162C:
- ldr r2, _080A1640 @ =gUnknown_841665C
- ldr r3, _080A1644 @ =sub_80A112C
- adds r0, r5, 0
- movs r1, 0x2
- bl DisplayItemMessageOnField
-_080A1638:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1640: .4byte gUnknown_841665C
-_080A1644: .4byte sub_80A112C
- thumb_func_end sub_80A156C
-
- thumb_func_start sub_80A1648
-sub_80A1648: @ 80A1648
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xB
- bl PlayFanfareByFanfareNum
- ldr r1, _080A166C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A1670 @ =sub_80A1674
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A166C: .4byte gTasks
-_080A1670: .4byte sub_80A1674
- thumb_func_end sub_80A1648
-
- thumb_func_start sub_80A1674
-sub_80A1674: @ 80A1674
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _080A16C0
- ldr r0, _080A16A8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A16B4
- ldr r2, _080A16AC @ =gUnknown_84166A7
- ldr r3, _080A16B0 @ =sub_810A1F8
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
- b _080A16C0
- .align 2, 0
-_080A16A8: .4byte gTasks
-_080A16AC: .4byte gUnknown_84166A7
-_080A16B0: .4byte sub_810A1F8
-_080A16B4:
- ldr r2, _080A16C8 @ =gUnknown_84166A7
- ldr r3, _080A16CC @ =sub_80A112C
- adds r0, r5, 0
- movs r1, 0x2
- bl DisplayItemMessageOnField
-_080A16C0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A16C8: .4byte gUnknown_84166A7
-_080A16CC: .4byte sub_80A112C
- thumb_func_end sub_80A1674
-
- thumb_func_start sub_80A16D0
-sub_80A16D0: @ 80A16D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A0FBC
- pop {r0}
- bx r0
- thumb_func_end sub_80A16D0
-
- thumb_func_start sub_80A16E0
-sub_80A16E0: @ 80A16E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A16F4 @ =gUnknown_3005E98
- ldr r1, _080A16F8 @ =sub_81252D0
- str r1, [r2]
- bl sub_80A16D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A16F4: .4byte gUnknown_3005E98
-_080A16F8: .4byte sub_81252D0
- thumb_func_end sub_80A16E0
-
- thumb_func_start sub_80A16FC
-sub_80A16FC: @ 80A16FC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1710 @ =gUnknown_3005E98
- ldr r1, _080A1714 @ =sub_81256F8
- str r1, [r2]
- bl sub_80A16D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A1710: .4byte gUnknown_3005E98
-_080A1714: .4byte sub_81256F8
- thumb_func_end sub_80A16FC
-
- thumb_func_start sub_80A1718
-sub_80A1718: @ 80A1718
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A172C @ =gUnknown_3005E98
- ldr r1, _080A1730 @ =dp05_pp_up
- str r1, [r2]
- bl sub_80A16D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A172C: .4byte gUnknown_3005E98
-_080A1730: .4byte dp05_pp_up
- thumb_func_end sub_80A1718
-
- thumb_func_start sub_80A1734
-sub_80A1734: @ 80A1734
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1748 @ =gUnknown_3005E98
- ldr r1, _080A174C @ =dp05_rare_candy
- str r1, [r2]
- bl sub_80A16D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A1748: .4byte gUnknown_3005E98
-_080A174C: .4byte dp05_rare_candy
- thumb_func_end sub_80A1734
-
- thumb_func_start sub_80A1750
-sub_80A1750: @ 80A1750
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1764 @ =gUnknown_3005E98
- ldr r1, _080A1768 @ =sub_8126B60
- str r1, [r2]
- bl sub_80A16D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A1764: .4byte gUnknown_3005E98
-_080A1768: .4byte sub_8126B60
- thumb_func_end sub_80A1750
-
- thumb_func_start sub_80A176C
-sub_80A176C: @ 80A176C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1780 @ =gUnknown_3005E98
- ldr r1, _080A1784 @ =sub_8126894
- str r1, [r2]
- bl sub_80A0FBC
- pop {r0}
- bx r0
- .align 2, 0
-_080A1780: .4byte gUnknown_3005E98
-_080A1784: .4byte sub_8126894
- thumb_func_end sub_80A176C
-
- thumb_func_start sub_80A1788
-sub_80A1788: @ 80A1788
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A17B0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A17B8
- ldr r0, _080A17B4 @ =sub_80A17D4
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- b _080A17C8
- .align 2, 0
-_080A17B0: .4byte gTasks
-_080A17B4: .4byte sub_80A17D4
-_080A17B8:
- bl sub_80CCB68
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080A17D0 @ =sub_80A17E8
- str r0, [r5]
-_080A17C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A17D0: .4byte sub_80A17E8
- thumb_func_end sub_80A1788
-
- thumb_func_start sub_80A17D4
-sub_80A17D4: @ 80A17D4
- push {lr}
- ldr r1, _080A17E4 @ =UseFameCheckerFromMenu
- movs r0, 0
- movs r2, 0
- bl InitTMCase
- pop {r0}
- bx r0
- .align 2, 0
-_080A17E4: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A17D4
-
- thumb_func_start sub_80A17E8
-sub_80A17E8: @ 80A17E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1818 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A1812
- bl CleanupOverworldWindowsAndTilemaps
- bl sub_80A1184
- ldr r1, _080A181C @ =CB2_ReturnToField
- movs r0, 0
- movs r2, 0x1
- bl InitTMCase
- adds r0, r4, 0
- bl DestroyTask
-_080A1812:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1818: .4byte gPaletteFade
-_080A181C: .4byte CB2_ReturnToField
- thumb_func_end sub_80A17E8
-
- thumb_func_start sub_80A1820
-sub_80A1820: @ 80A1820
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A1848 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A1850
- ldr r0, _080A184C @ =sub_80A186C
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- b _080A1860
- .align 2, 0
-_080A1848: .4byte gTasks
-_080A184C: .4byte sub_80A186C
-_080A1850:
- bl sub_80CCB68
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080A1868 @ =sub_80A1880
- str r0, [r5]
-_080A1860:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1868: .4byte sub_80A1880
- thumb_func_end sub_80A1820
-
- thumb_func_start sub_80A186C
-sub_80A186C: @ 80A186C
- push {lr}
- ldr r1, _080A187C @ =UseFameCheckerFromMenu
- movs r0, 0
- movs r2, 0
- bl sub_813CD50
- pop {r0}
- bx r0
- .align 2, 0
-_080A187C: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A186C
-
- thumb_func_start sub_80A1880
-sub_80A1880: @ 80A1880
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A18B0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A18AA
- bl CleanupOverworldWindowsAndTilemaps
- bl sub_80A1184
- ldr r1, _080A18B4 @ =CB2_ReturnToField
- movs r0, 0
- movs r2, 0x1
- bl sub_813CD50
- adds r0, r4, 0
- bl DestroyTask
-_080A18AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A18B0: .4byte gPaletteFade
-_080A18B4: .4byte CB2_ReturnToField
- thumb_func_end sub_80A1880
-
- thumb_func_start sub_80A18B8
-sub_80A18B8: @ 80A18B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A18D4 @ =sub_80A18D8
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A18D4: .4byte sub_80A18D8
- thumb_func_end sub_80A18B8
-
- thumb_func_start sub_80A18D8
-sub_80A18D8: @ 80A18D8
- push {lr}
- ldr r1, _080A18E8 @ =sub_8107ECC
- movs r0, 0x4
- movs r2, 0
- bl sub_813CD50
- pop {r0}
- bx r0
- .align 2, 0
-_080A18E8: .4byte sub_8107ECC
- thumb_func_end sub_80A18D8
-
- thumb_func_start sub_80A18EC
-sub_80A18EC: @ 80A18EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1920 @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A1924 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A1928 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A1930
- ldr r0, _080A192C @ =sub_80A194C
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- b _080A1940
- .align 2, 0
-_080A1920: .4byte gSpecialVar_ItemId
-_080A1924: .4byte 0x0000ffff
-_080A1928: .4byte gTasks
-_080A192C: .4byte sub_80A194C
-_080A1930:
- bl sub_80CCB68
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080A1948 @ =sub_80A1960
- str r0, [r5]
-_080A1940:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1948: .4byte sub_80A1960
- thumb_func_end sub_80A18EC
-
- thumb_func_start sub_80A194C
-sub_80A194C: @ 80A194C
- push {lr}
- ldr r1, _080A195C @ =UseFameCheckerFromMenu
- movs r0, 0
- bl InitTeachyTvController
- pop {r0}
- bx r0
- .align 2, 0
-_080A195C: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A194C
-
- thumb_func_start sub_80A1960
-sub_80A1960: @ 80A1960
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1990 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A1988
- bl CleanupOverworldWindowsAndTilemaps
- bl sub_80A1184
- ldr r1, _080A1994 @ =CB2_ReturnToField
- movs r0, 0
- bl InitTeachyTvController
- adds r0, r4, 0
- bl DestroyTask
-_080A1988:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1990: .4byte gPaletteFade
-_080A1994: .4byte CB2_ReturnToField
- thumb_func_end sub_80A1960
-
- thumb_func_start sub_80A1998
-sub_80A1998: @ 80A1998
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A19C0 @ =0x00004020
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080A19CC
- movs r0, 0x29
- bl PlaySE
- ldr r0, _080A19C4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A19C8 @ =sub_80A19E8
- str r0, [r1]
- b _080A19D8
- .align 2, 0
-_080A19C0: .4byte 0x00004020
-_080A19C4: .4byte gTasks
-_080A19C8: .4byte sub_80A19E8
-_080A19CC:
- ldr r2, _080A19E0 @ =gUnknown_841659E
- ldr r3, _080A19E4 @ =sub_810A1F8
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
-_080A19D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A19E0: .4byte gUnknown_841659E
-_080A19E4: .4byte sub_810A1F8
- thumb_func_end sub_80A1998
-
- thumb_func_start sub_80A19E8
-sub_80A19E8: @ 80A19E8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080A1A2A
- ldr r4, _080A1A30 @ =gSpecialVar_ItemId
- ldrh r2, [r4]
- ldr r3, _080A1A34 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r5, _080A1A38 @ =0x00004020
- ldrh r0, [r4]
- bl ItemId_GetHoldEffectParam
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl VarSet
- bl sub_80A1A44
- ldr r2, _080A1A3C @ =gStringVar4
- ldr r3, _080A1A40 @ =sub_810A1F8
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8108E70
-_080A1A2A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1A30: .4byte gSpecialVar_ItemId
-_080A1A34: .4byte 0x0000ffff
-_080A1A38: .4byte 0x00004020
-_080A1A3C: .4byte gStringVar4
-_080A1A40: .4byte sub_810A1F8
- thumb_func_end sub_80A19E8
-
- thumb_func_start sub_80A1A44
-sub_80A1A44: @ 80A1A44
- push {r4,lr}
- ldr r4, _080A1A84 @ =gSpecialVar_ItemId
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- ldrh r0, [r4]
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- bl sub_8108DC8
- ldrh r0, [r4]
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- bl sub_81089F4
- ldrh r0, [r4]
- ldr r1, _080A1A88 @ =gStringVar2
- bl CopyItemName
- ldr r0, _080A1A8C @ =gStringVar4
- ldr r1, _080A1A90 @ =gUnknown_841658C
- bl StringExpandPlaceholders
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1A84: .4byte gSpecialVar_ItemId
-_080A1A88: .4byte gStringVar2
-_080A1A8C: .4byte gStringVar4
-_080A1A90: .4byte gUnknown_841658C
- thumb_func_end sub_80A1A44
-
- thumb_func_start sub_80A1A94
-sub_80A1A94: @ 80A1A94
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, _080A1AD4 @ =gSpecialVar_ItemId
- ldrh r2, [r5]
- ldr r3, _080A1AD8 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldrh r0, [r5]
- cmp r0, 0x2B
- bne _080A1AF4
- ldr r0, _080A1ADC @ =0x00000803
- bl FlagSet
- ldr r0, _080A1AE0 @ =0x00000804
- bl FlagClear
- ldrh r0, [r5]
- ldr r1, _080A1AE4 @ =gStringVar2
- bl CopyItemName
- ldr r0, _080A1AE8 @ =gStringVar4
- ldr r1, _080A1AEC @ =gUnknown_84165D2
- bl StringExpandPlaceholders
- ldr r1, _080A1AF0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- b _080A1B1A
- .align 2, 0
-_080A1AD4: .4byte gSpecialVar_ItemId
-_080A1AD8: .4byte 0x0000ffff
-_080A1ADC: .4byte 0x00000803
-_080A1AE0: .4byte 0x00000804
-_080A1AE4: .4byte gStringVar2
-_080A1AE8: .4byte gStringVar4
-_080A1AEC: .4byte gUnknown_84165D2
-_080A1AF0: .4byte gTasks
-_080A1AF4:
- cmp r0, 0x2A
- bne _080A1B26
- ldr r0, _080A1B2C @ =0x00000804
- bl FlagSet
- ldr r0, _080A1B30 @ =0x00000803
- bl FlagClear
- ldrh r0, [r5]
- ldr r1, _080A1B34 @ =gStringVar2
- bl CopyItemName
- ldr r0, _080A1B38 @ =gStringVar4
- ldr r1, _080A1B3C @ =gUnknown_8416600
- bl StringExpandPlaceholders
- ldr r1, _080A1B40 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
-_080A1B1A:
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A1B44 @ =sub_80A1B48
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0x18]
-_080A1B26:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1B2C: .4byte 0x00000804
-_080A1B30: .4byte 0x00000803
-_080A1B34: .4byte gStringVar2
-_080A1B38: .4byte gStringVar4
-_080A1B3C: .4byte gUnknown_8416600
-_080A1B40: .4byte gTasks
-_080A1B44: .4byte sub_80A1B48
- thumb_func_end sub_80A1A94
-
- thumb_func_start sub_80A1B48
-sub_80A1B48: @ 80A1B48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1B80 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080A1B78
- movs r0, 0x6E
- bl PlaySE
- ldr r2, _080A1B84 @ =gStringVar4
- ldr r3, _080A1B88 @ =sub_810A1F8
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
-_080A1B78:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1B80: .4byte gTasks
-_080A1B84: .4byte gStringVar4
-_080A1B88: .4byte sub_810A1F8
- thumb_func_end sub_80A1B48
-
- thumb_func_start sub_80A1B8C
-sub_80A1B8C: @ 80A1B8C
- push {lr}
- ldr r0, _080A1BA0 @ =gMapHeader
- ldrb r1, [r0, 0x19]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A1BA4
- movs r0, 0
- b _080A1BA6
- .align 2, 0
-_080A1BA0: .4byte gMapHeader
-_080A1BA4:
- movs r0, 0x1
-_080A1BA6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A1B8C
-
- thumb_func_start ItemUseOutOfBattle_EscapeRope
-ItemUseOutOfBattle_EscapeRope: @ 80A1BAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80A1B8C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A1BEC
- ldr r0, _080A1BDC @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r0, _080A1BE0 @ =gMapHeader
- ldrb r3, [r0, 0x14]
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A1BE4 @ =gUnknown_2039998
- ldr r0, _080A1BE8 @ =sub_80A1C08
- str r0, [r1]
- adds r0, r4, 0
- bl sub_80A103C
- b _080A1BFE
- .align 2, 0
-_080A1BDC: .4byte gSpecialVar_ItemId
-_080A1BE0: .4byte gMapHeader
-_080A1BE4: .4byte gUnknown_2039998
-_080A1BE8: .4byte sub_80A1C08
-_080A1BEC:
- ldr r0, _080A1C04 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl sub_80A1110
-_080A1BFE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1C04: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_EscapeRope
-
- thumb_func_start sub_80A1C08
-sub_80A1C08: @ 80A1C08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8054D70
- bl sub_80A1A44
- ldr r1, _080A1C38 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r2, _080A1C3C @ =gStringVar4
- ldr r3, _080A1C40 @ =sub_80A1C44
- adds r0, r4, 0
- movs r1, 0x2
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1C38: .4byte gTasks
-_080A1C3C: .4byte gStringVar4
-_080A1C40: .4byte sub_80A1C44
- thumb_func_end sub_80A1C08
-
- thumb_func_start sub_80A1C44
-sub_80A1C44: @ 80A1C44
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetInitialPlayerAvatarState
- bl sub_8085620
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1C44
-
- thumb_func_start sub_80A1C60
-sub_80A1C60: @ 80A1C60
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A1C88 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A1C90
- ldr r0, _080A1C8C @ =sub_80A1CAC
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- b _080A1CA0
- .align 2, 0
-_080A1C88: .4byte gTasks
-_080A1C8C: .4byte sub_80A1CAC
-_080A1C90:
- bl sub_80CCB68
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080A1CA8 @ =sub_80A1CC0
- str r0, [r5]
-_080A1CA0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1CA8: .4byte sub_80A1CC0
- thumb_func_end sub_80A1C60
-
- thumb_func_start sub_80A1CAC
-sub_80A1CAC: @ 80A1CAC
- push {lr}
- ldr r1, _080A1CBC @ =UseFameCheckerFromMenu
- movs r0, 0
- bl sub_80BFF50
- pop {r0}
- bx r0
- .align 2, 0
-_080A1CBC: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A1CAC
-
- thumb_func_start sub_80A1CC0
-sub_80A1CC0: @ 80A1CC0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1CF0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A1CE8
- bl CleanupOverworldWindowsAndTilemaps
- bl sub_80A1184
- ldr r1, _080A1CF4 @ =CB2_ReturnToField
- movs r0, 0
- bl sub_80BFF50
- adds r0, r4, 0
- bl DestroyTask
-_080A1CE8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1CF0: .4byte gPaletteFade
-_080A1CF4: .4byte CB2_ReturnToField
- thumb_func_end sub_80A1CC0
-
- thumb_func_start sub_80A1CF8
-sub_80A1CF8: @ 80A1CF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1D2C @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A1D30 @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r1, _080A1D34 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A1D3C
- ldr r0, _080A1D38 @ =sub_80A1D58
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
- b _080A1D4C
- .align 2, 0
-_080A1D2C: .4byte gSpecialVar_ItemId
-_080A1D30: .4byte 0x0000ffff
-_080A1D34: .4byte gTasks
-_080A1D38: .4byte sub_80A1D58
-_080A1D3C:
- bl sub_80CCB68
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080A1D54 @ =sub_80A1D68
- str r0, [r5]
-_080A1D4C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1D54: .4byte sub_80A1D68
- thumb_func_end sub_80A1CF8
-
- thumb_func_start sub_80A1D58
-sub_80A1D58: @ 80A1D58
- push {lr}
- ldr r0, _080A1D64 @ =UseFameCheckerFromMenu
- bl UseFameChecker
- pop {r0}
- bx r0
- .align 2, 0
-_080A1D64: .4byte UseFameCheckerFromMenu
- thumb_func_end sub_80A1D58
-
- thumb_func_start sub_80A1D68
-sub_80A1D68: @ 80A1D68
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1D94 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A1D8E
- bl CleanupOverworldWindowsAndTilemaps
- bl sub_80A1184
- ldr r0, _080A1D98 @ =CB2_ReturnToField
- bl UseFameChecker
- adds r0, r4, 0
- bl DestroyTask
-_080A1D8E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1D94: .4byte gPaletteFade
-_080A1D98: .4byte CB2_ReturnToField
- thumb_func_end sub_80A1D68
-
- thumb_func_start sub_80A1D9C
-sub_80A1D9C: @ 80A1D9C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080A1DE8 @ =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x3
- beq _080A1DB2
- cmp r0, 0x1
- beq _080A1DB2
- cmp r0, 0x2
- bne _080A1DD2
-_080A1DB2:
- ldr r0, _080A1DEC @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bne _080A1DF4
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080A1DD2
- cmp r0, 0x61
- beq _080A1DD2
- cmp r0, 0x6D
- beq _080A1DD2
- cmp r0, 0x79
- bne _080A1DF4
-_080A1DD2:
- ldr r0, _080A1DF0 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r2, 0
- bl sub_80A1110
- b _080A1E00
- .align 2, 0
-_080A1DE8: .4byte gMapHeader
-_080A1DEC: .4byte gSaveBlock1Ptr
-_080A1DF0: .4byte gTasks
-_080A1DF4:
- ldr r1, _080A1E04 @ =gUnknown_2039998
- ldr r0, _080A1E08 @ =Task_VsSeeker_0
- str r0, [r1]
- adds r0, r2, 0
- bl sub_80A103C
-_080A1E00:
- pop {r0}
- bx r0
- .align 2, 0
-_080A1E04: .4byte gUnknown_2039998
-_080A1E08: .4byte Task_VsSeeker_0
- thumb_func_end sub_80A1D9C
-
- thumb_func_start sub_80A1E0C
-sub_80A1E0C: @ 80A1E0C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A112C
- pop {r0}
- bx r0
- thumb_func_end sub_80A1E0C
-
- thumb_func_start sub_80A1E1C
-sub_80A1E1C: @ 80A1E1C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsPlayerPartyAndPokemonStorageFull
- lsls r0, 24
- cmp r0, 0
- bne _080A1E48
- ldr r0, _080A1E44 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- bl sub_8108CB4
- adds r0, r4, 0
- bl sub_8108B50
- b _080A1E54
- .align 2, 0
-_080A1E44: .4byte gSpecialVar_ItemId
-_080A1E48:
- ldr r2, _080A1E5C @ =gUnknown_8416631
- ldr r3, _080A1E60 @ =sub_810A1F8
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
-_080A1E54:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1E5C: .4byte gUnknown_8416631
-_080A1E60: .4byte sub_810A1F8
- thumb_func_end sub_80A1E1C
-
- thumb_func_start sub_80A1E64
-sub_80A1E64: @ 80A1E64
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8108CB4
- adds r0, r4, 0
- bl sub_8108B50
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1E64
-
- thumb_func_start sub_80A1E7C
-sub_80A1E7C: @ 80A1E7C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A1EBC @ =gBattlerPartyIndexes
- ldr r0, _080A1EC0 @ =gBattlerInMenuId
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r1, _080A1EC4 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080A1EC8 @ =gSpecialVar_ItemId
- ldrh r1, [r1]
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080A1ED4
- ldr r2, _080A1ECC @ =gUnknown_84169DC
- ldr r3, _080A1ED0 @ =sub_810A1F8
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
- b _080A1EE4
- .align 2, 0
-_080A1EBC: .4byte gBattlerPartyIndexes
-_080A1EC0: .4byte gBattlerInMenuId
-_080A1EC4: .4byte gPlayerParty
-_080A1EC8: .4byte gSpecialVar_ItemId
-_080A1ECC: .4byte gUnknown_84169DC
-_080A1ED0: .4byte sub_810A1F8
-_080A1ED4:
- ldr r0, _080A1EEC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x18]
- ldr r0, _080A1EF0 @ =sub_80A1EF4
- str r0, [r1]
-_080A1EE4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1EEC: .4byte gTasks
-_080A1EF0: .4byte sub_80A1EF4
- thumb_func_end sub_80A1E7C
-
- thumb_func_start sub_80A1EF4
-sub_80A1EF4: @ 80A1EF4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, _080A1F3C @ =gTasks+0x8
- adds r1, r0
- ldrh r0, [r1, 0x10]
- adds r0, 0x1
- strh r0, [r1, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080A1F36
- ldr r0, _080A1F40 @ =gSpecialVar_ItemId
- ldrh r4, [r0]
- movs r0, 0x1
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x1
- bl RemoveBagItem
- adds r0, r4, 0
- bl sub_8042DA4
- adds r2, r0, 0
- ldr r3, _080A1F44 @ =sub_80A1F48
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8108E70
-_080A1F36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1F3C: .4byte gTasks+0x8
-_080A1F40: .4byte gSpecialVar_ItemId
-_080A1F44: .4byte sub_80A1F48
- thumb_func_end sub_80A1EF4
-
- thumb_func_start sub_80A1F48
-sub_80A1F48: @ 80A1F48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1F74 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A1F62
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A1F6C
-_080A1F62:
- bl sub_8108CB4
- adds r0, r4, 0
- bl sub_8108B50
-_080A1F6C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1F74: .4byte gMain
- thumb_func_end sub_80A1F48
-
- thumb_func_start sub_80A1F78
-sub_80A1F78: @ 80A1F78
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A1F9C @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080A1FA4
- ldr r0, _080A1FA0 @ =sub_81279E0
- bl sub_813D934
- adds r0, r4, 0
- bl sub_813D808
- b _080A1FB0
- .align 2, 0
-_080A1F9C: .4byte gSpecialVar_ItemId
-_080A1FA0: .4byte sub_81279E0
-_080A1FA4:
- ldr r0, _080A1FB8 @ =sub_81279E0
- bl sub_8108EE0
- adds r0, r4, 0
- bl sub_8108B50
-_080A1FB0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1FB8: .4byte sub_81279E0
- thumb_func_end sub_80A1F78
-
- thumb_func_start sub_80A1FBC
-sub_80A1FBC: @ 80A1FBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1FD0 @ =gUnknown_3005E98
- ldr r1, _080A1FD4 @ =ItemUseCB_Medicine
- str r1, [r2]
- bl sub_80A1F78
- pop {r0}
- bx r0
- .align 2, 0
-_080A1FD0: .4byte gUnknown_3005E98
-_080A1FD4: .4byte ItemUseCB_Medicine
- thumb_func_end sub_80A1FBC
-
- thumb_func_start sub_80A1FD8
-sub_80A1FD8: @ 80A1FD8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A1FEC @ =gUnknown_3005E98
- ldr r1, _080A1FF0 @ =sub_8126894
- str r1, [r2]
- bl sub_80A1F78
- pop {r0}
- bx r0
- .align 2, 0
-_080A1FEC: .4byte gUnknown_3005E98
-_080A1FF0: .4byte sub_8126894
- thumb_func_end sub_80A1FD8
-
- thumb_func_start sub_80A1FF4
-sub_80A1FF4: @ 80A1FF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A2008 @ =gUnknown_3005E98
- ldr r1, _080A200C @ =sub_81256F8
- str r1, [r2]
- bl sub_80A1F78
- pop {r0}
- bx r0
- .align 2, 0
-_080A2008: .4byte gUnknown_3005E98
-_080A200C: .4byte sub_81256F8
- thumb_func_end sub_80A1FF4
-
- thumb_func_start sub_80A2010
-sub_80A2010: @ 80A2010
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A2044 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080A2058
- bl sub_80A1A44
- ldr r0, _080A2048 @ =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldr r3, _080A204C @ =0x0000ffff
- movs r0, 0x4
- movs r1, 0
- bl ItemUse_SetQuestLogEvent
- ldr r2, _080A2050 @ =gStringVar4
- ldr r3, _080A2054 @ =sub_8108B50
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8108E70
- b _080A2060
- .align 2, 0
-_080A2044: .4byte gBattleTypeFlags
-_080A2048: .4byte gSpecialVar_ItemId
-_080A204C: .4byte 0x0000ffff
-_080A2050: .4byte gStringVar4
-_080A2054: .4byte sub_8108B50
-_080A2058:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A1110
-_080A2060:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2010
-
- thumb_func_start ItemUseOutOfBattle_EnigmaBerry
-ItemUseOutOfBattle_EnigmaBerry: @ 80A2068
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A208C @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x14
- bls _080A2082
- b _080A2174
-_080A2082:
- lsls r0, 2
- ldr r1, _080A2090 @ =_080A2094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A208C: .4byte gSpecialVar_ItemId
-_080A2090: .4byte _080A2094
- .align 2, 0
-_080A2094:
- .4byte _080A2120
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A2174
- .4byte _080A2174
- .4byte _080A2104
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A20E8
- .4byte _080A2174
- .4byte _080A213C
- .4byte _080A213C
- .4byte _080A2158
-_080A20E8:
- ldr r0, _080A2100 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A16E0
- b _080A2188
- .align 2, 0
-_080A2100: .4byte gTasks
-_080A2104:
- ldr r0, _080A211C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A176C
- b _080A2188
- .align 2, 0
-_080A211C: .4byte gTasks
-_080A2120:
- ldr r0, _080A2138 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A1734
- b _080A2188
- .align 2, 0
-_080A2138: .4byte gTasks
-_080A213C:
- ldr r0, _080A2154 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A1718
- b _080A2188
- .align 2, 0
-_080A2154: .4byte gTasks
-_080A2158:
- ldr r0, _080A2170 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A16FC
- b _080A2188
- .align 2, 0
-_080A2170: .4byte gTasks
-_080A2174:
- ldr r0, _080A2190 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x4
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl sub_80A2238
-_080A2188:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2190: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_EnigmaBerry
-
- thumb_func_start ItemUseInBattle_EnigmaBerry
-ItemUseInBattle_EnigmaBerry: @ 80A2194
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A21B4 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _080A222C
- lsls r0, 2
- ldr r1, _080A21B8 @ =_080A21BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A21B4: .4byte gSpecialVar_ItemId
-_080A21B8: .4byte _080A21BC
- .align 2, 0
-_080A21BC:
- .4byte _080A2214
- .4byte _080A222C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A221C
- .4byte _080A222C
- .4byte _080A221C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A222C
- .4byte _080A2224
-_080A2214:
- adds r0, r4, 0
- bl sub_80A1E7C
- b _080A2232
-_080A221C:
- adds r0, r4, 0
- bl sub_80A1FBC
- b _080A2232
-_080A2224:
- adds r0, r4, 0
- bl sub_80A1FF4
- b _080A2232
-_080A222C:
- adds r0, r4, 0
- bl sub_80A2238
-_080A2232:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemUseInBattle_EnigmaBerry
-
- thumb_func_start sub_80A2238
-sub_80A2238: @ 80A2238
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080A2268 @ =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080A2278
- ldr r4, _080A226C @ =gStringVar4
- ldr r1, _080A2270 @ =gUnknown_8416425
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, _080A2274 @ =sub_813E2B8
- adds r0, r5, 0
- movs r1, 0x4
- adds r2, r4, 0
- bl sub_813EB20
- b _080A228A
- .align 2, 0
-_080A2268: .4byte gSpecialVar_ItemId
-_080A226C: .4byte gStringVar4
-_080A2270: .4byte gUnknown_8416425
-_080A2274: .4byte sub_813E2B8
-_080A2278:
- ldr r0, _080A2290 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r5, 0
- bl sub_80A1110
-_080A228A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2290: .4byte gTasks
- thumb_func_end sub_80A2238
-
- thumb_func_start ItemUse_SetQuestLogEvent
-ItemUse_SetQuestLogEvent: @ 80A2294
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x8
- bl Alloc
- adds r6, r0, 0
- strh r4, [r6]
- strh r5, [r6, 0x6]
- cmp r7, 0
- beq _080A22C8
- adds r0, r7, 0
- movs r1, 0x41
- bl GetMonData
- b _080A22CA
-_080A22C8:
- ldr r0, _080A22E4 @ =0x0000ffff
-_080A22CA:
- strh r0, [r6, 0x4]
- mov r0, r8
- adds r1, r6, 0
- bl sub_8113550
- adds r0, r6, 0
- bl Free
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A22E4: .4byte 0x0000ffff
- thumb_func_end ItemUse_SetQuestLogEvent
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/new_game.s b/asm/new_game.s
index 63bfd9523..234fefcd7 100644
--- a/asm/new_game.s
+++ b/asm/new_game.s
@@ -262,7 +262,7 @@ sub_8054A60: @ 8054A60
ldr r1, _08054B68 @ =0x00000296
adds r0, r1
strh r5, [r0]
- bl sub_809A2DC
+ bl ClearItemSlotsInAllBagPockets
bl sub_80EB658
bl sub_809C794
bl sub_80BDD34
diff --git a/asm/overworld.s b/asm/overworld.s
index 87f146d39..ee0e8aa6d 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -2441,7 +2441,7 @@ _08055E40:
lsls r0, 24
cmp r0, 0
beq _08055E5A
- ldr r5, _08055E74 @ =0x00000131
+ ldr r5, _08055E74 @ =0x00000131 @ BGM_FRLG_SURF
adds r0, r5, 0
bl sub_8056124
cmp r0, 0
@@ -2511,7 +2511,7 @@ _08055EA8:
bl GetCurrentMapMusic
lsls r0, 16
lsrs r6, r0, 16
- ldr r5, _08055F08 @ =0x00000131
+ ldr r5, _08055F08 @ =0x00000131 @ BGM_FRLG_SURF
cmp r6, r5
beq _08055F14
movs r0, 0x8
diff --git a/asm/party_menu.s b/asm/party_menu.s
index d873fb9aa..2c3623442 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -1274,7 +1274,7 @@ _0811F47C:
cmp r0, 0x3
bne _0811F492
adds r0, r4, 0
- bl sub_80A1150
+ bl GetItemCompatibilityRule
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -12617,7 +12617,7 @@ sub_8124DB0: @ 8124DB0
movs r0, 0x6
movs r1, 0
movs r2, 0xFF
- bl sub_813CD50
+ bl InitBerryPouch
pop {r0}
bx r0
thumb_func_end sub_8124DB0
@@ -12644,7 +12644,7 @@ sub_8124DE0: @ 8124DE0
push {r4,lr}
ldr r4, _08124E0C @ =gSpecialVar_ItemId
ldrh r0, [r4]
- bl sub_80A1150
+ bl GetItemCompatibilityRule
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -13730,8 +13730,8 @@ _081256F2:
bx r0
thumb_func_end sub_81256C0
- thumb_func_start sub_81256F8
-sub_81256F8: @ 81256F8
+ thumb_func_start ItemUseCB_PpRestore
+ItemUseCB_PpRestore: @ 81256F8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -13802,7 +13802,7 @@ _0812577E:
_08125784: .4byte gUnknown_203B0A0
_08125788: .4byte gTasks
_0812578C: .4byte sub_81256C0
- thumb_func_end sub_81256F8
+ thumb_func_end ItemUseCB_PpRestore
thumb_func_start sub_8125790
sub_8125790: @ 8125790
diff --git a/asm/player_pc.s b/asm/player_pc.s
index d0fd38a8c..f9d781513 100644
--- a/asm/player_pc.s
+++ b/asm/player_pc.s
@@ -9,7 +9,7 @@
sub_80EB658: @ 80EB658
push {r4-r6,lr}
movs r4, 0
- bl sub_809A2A4
+ bl ClearPCItemSlots
ldr r1, _080EB6A8 @ =gUnknown_8402220
ldrh r0, [r1]
cmp r0, 0
@@ -727,7 +727,7 @@ sub_80EBC38: @ 80EBC38
lsls r6, r0, 3
ldr r7, _080EBC6C @ =gTasks+0x8
adds r4, r6, r7
- bl sub_809A33C
+ bl CountItemsInPC
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x4]
diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s
index 8a14c09c3..94d451a73 100644
--- a/asm/pokemon_special_anim.s
+++ b/asm/pokemon_special_anim.s
@@ -558,7 +558,7 @@ _0811C9AA:
adds r0, r4, 0
adds r0, 0x96
ldrh r0, [r0]
- bl sub_80A1150
+ bl GetItemCompatibilityRule
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
diff --git a/asm/shop.s b/asm/shop.s
index dfe2544d1..c59fb15df 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -2259,7 +2259,7 @@ sub_809BCA0: @ 809BCA0
ldr r0, _0809BD40 @ =gTasks+0x8
adds r5, r0
ldrh r0, [r5, 0xA]
- bl sub_809A7DC
+ bl BagGetQuantityByItemId
adds r4, r0, 0
lsls r4, 16
lsrs r4, 16
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 358eb7283..9dc9fbab6 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -911,14 +911,14 @@ _0806F498:
bl PlayRainStoppingSoundEffect
bl sub_806EF18
bl CleanupOverworldWindowsAndTilemaps
- ldr r0, _0806F4B0 @ =UseFameCheckerFromMenu
+ ldr r0, _0806F4B0 @ =ReturnToBagFromKeyItem
bl SetMainCallback2
movs r0, 0x1
_0806F4AC:
pop {r1}
bx r1
.align 2, 0
-_0806F4B0: .4byte UseFameCheckerFromMenu
+_0806F4B0: .4byte ReturnToBagFromKeyItem
thumb_func_end sub_806F480
thumb_func_start sub_806F4B4