pokefirered/asm/berry_pouch.s
2019-09-30 17:33:57 -04:00

1151 lines
21 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_813E320
sub_813E320: @ 813E320
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0813E374 @ =gUnknown_203F388
ldrb r0, [r0]
adds r0, 0x9
lsls r0, 24
lsrs r0, 24
bl sub_813EA98
movs r0, 0x6
bl sub_813EA98
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
ldr r1, _0813E378 @ =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldrb r0, [r0, 0x8]
movs r1, 0x1
bl sub_813D4B0
adds r0, r4, 0
bl sub_813DBB4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813E374: .4byte gUnknown_203F388
_0813E378: .4byte gTasks
thumb_func_end sub_813E320
thumb_func_start sub_813E37C
sub_813E37C: @ 813E37C
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
lsls r0, r5, 2
adds r0, r5
lsls r6, r0, 3
ldr r7, _0813E3C4 @ =gTasks+0x8
adds r0, r6, r7
ldrh r1, [r0, 0x2]
movs r0, 0x5
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl sub_80BF6A8
lsls r0, 24
cmp r0, 0
bne _0813E3D8
ldr r1, _0813E3C8 @ =gStringVar1
adds r0, r4, 0
bl CopyItemName
ldr r4, _0813E3CC @ =gStringVar4
ldr r1, _0813E3D0 @ =gUnknown_8416374
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, _0813E3D4 @ =sub_813E290
adds r0, r5, 0
movs r1, 0x2
adds r2, r4, 0
bl DisplayItemMessageInBerryPouch
b _0813E3EA
.align 2, 0
_0813E3C4: .4byte gTasks+0x8
_0813E3C8: .4byte gStringVar1
_0813E3CC: .4byte gStringVar4
_0813E3D0: .4byte gUnknown_8416374
_0813E3D4: .4byte sub_813E290
_0813E3D8:
ldr r0, _0813E3F0 @ =gUnknown_203F36C
ldr r1, [r0]
ldr r0, _0813E3F4 @ =c2_8123744
str r0, [r1]
adds r0, r7, 0
subs r0, 0x8
adds r0, r6, r0
ldr r1, _0813E3F8 @ =BerryPouch_StartFadeToExitCallback
str r1, [r0]
_0813E3EA:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813E3F0: .4byte gUnknown_203F36C
_0813E3F4: .4byte c2_8123744
_0813E3F8: .4byte BerryPouch_StartFadeToExitCallback
thumb_func_end sub_813E37C
thumb_func_start sub_813E3FC
sub_813E3FC: @ 813E3FC
lsls r0, 24
lsrs r0, 24
ldr r1, _0813E418 @ =gUnknown_203F36C
ldr r2, [r1]
ldr r1, _0813E41C @ =sub_808CE60
str r1, [r2]
ldr r2, _0813E420 @ =gTasks
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
adds r1, r2
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 BerryPouch_StartFadeToExitCallback
thumb_func_end sub_813E3FC
thumb_func_start sub_813E428
sub_813E428: @ 813E428
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
adds r7, r5, 0
lsls r0, r5, 2
adds r0, r5
lsls r0, 3
ldr r1, _0813E470 @ =gTasks+0x8
adds r4, r0, r1
ldr r6, _0813E474 @ =gSpecialVar_ItemId
ldrh r0, [r6]
bl itemid_get_market_price
lsls r0, 16
cmp r0, 0
bne _0813E488
ldrh r0, [r6]
ldr r1, _0813E478 @ =gStringVar1
bl CopyItemName
ldr r4, _0813E47C @ =gStringVar4
ldr r1, _0813E480 @ =gText_OhNoICantBuyThat
adds r0, r4, 0
bl StringExpandPlaceholders
bl sub_80BF8E4
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r3, _0813E484 @ =sub_813E2B8
adds r0, r5, 0
adds r2, r4, 0
bl DisplayItemMessageInBerryPouch
b _0813E4CE
.align 2, 0
_0813E470: .4byte gTasks+0x8
_0813E474: .4byte gSpecialVar_ItemId
_0813E478: .4byte gStringVar1
_0813E47C: .4byte gStringVar4
_0813E480: .4byte gText_OhNoICantBuyThat
_0813E484: .4byte sub_813E2B8
_0813E488:
movs r0, 0x1
strh r0, [r4, 0x10]
movs r1, 0x4
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _0813E4A0
bl sub_813EBD4
adds r0, r5, 0
bl sub_813E4E4
b _0813E4CE
_0813E4A0:
cmp r0, 0x63
ble _0813E4A8
movs r0, 0x63
strh r0, [r4, 0x4]
_0813E4A8:
ldrh r0, [r6]
ldr r1, _0813E4D4 @ =gStringVar1
bl CopyItemName
ldr r4, _0813E4D8 @ =gStringVar4
ldr r1, _0813E4DC @ =gText_HowManyWouldYouLikeToSell
adds r0, r4, 0
bl StringExpandPlaceholders
bl sub_80BF8E4
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r3, _0813E4E0 @ =sub_813E5B8
adds r0, r7, 0
adds r2, r4, 0
bl DisplayItemMessageInBerryPouch
_0813E4CE:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813E4D4: .4byte gStringVar1
_0813E4D8: .4byte gStringVar4
_0813E4DC: .4byte gText_HowManyWouldYouLikeToSell
_0813E4E0: .4byte sub_813E5B8
thumb_func_end sub_813E428
thumb_func_start sub_813E4E4
sub_813E4E4: @ 813E4E4
push {r4-r6,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, _0813E540 @ =gTasks+0x8
adds r4, r0
ldr r6, _0813E544 @ =gStringVar3
ldrh r1, [r4, 0x2]
movs r0, 0x5
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r0, 16
bl itemid_get_market_price
lsls r0, 16
lsrs r0, 17
movs r2, 0x10
ldrsh r1, [r4, r2]
muls r1, r0
adds r0, r6, 0
movs r2, 0
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r4, _0813E548 @ =gStringVar4
ldr r1, _0813E54C @ =gText_ICanPayThisMuch_WouldThatBeOkay
adds r0, r4, 0
bl StringExpandPlaceholders
bl sub_80BF8E4
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
ldr r3, _0813E550 @ =sub_813E554
adds r0, r5, 0
adds r2, r4, 0
bl DisplayItemMessageInBerryPouch
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813E540: .4byte gTasks+0x8
_0813E544: .4byte gStringVar3
_0813E548: .4byte gStringVar4
_0813E54C: .4byte gText_ICanPayThisMuch_WouldThatBeOkay
_0813E550: .4byte sub_813E554
thumb_func_end sub_813E4E4
thumb_func_start sub_813E554
sub_813E554: @ 813E554
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _0813E564 @ =gUnknown_8464374
bl sub_813EBA8
pop {r0}
bx r0
.align 2, 0
_0813E564: .4byte gUnknown_8464374
thumb_func_end sub_813E554
thumb_func_start sub_813E568
sub_813E568: @ 813E568
push {r4,r5,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, _0813E5B4 @ =gTasks+0x8
adds r4, r0
movs r0, 0x2
bl sub_813EA98
movs r0, 0x5
bl sub_813EACC
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
ldrb r0, [r4]
movs r1, 0x1
bl sub_813D4B0
adds r0, r5, 0
bl sub_813DBB4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813E5B4: .4byte gTasks+0x8
thumb_func_end sub_813E568
thumb_func_start sub_813E5B8
sub_813E5B8: @ 813E5B8
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x14
lsls r0, 24
lsrs r0, 24
lsls r5, r0, 2
adds r5, r0
lsls r5, 3
ldr r6, _0813E654 @ =gTasks+0x8
adds r0, r5, r6
mov r9, r0
movs r0, 0x1
bl sub_813EA08
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0813E658 @ =gStringVar1
movs r1, 0x1
movs r2, 0x2
movs r3, 0x2
bl ConvertIntToDecimalStringN
ldr r2, _0813E65C @ =gStringVar4
mov r8, r2
ldr r1, _0813E660 @ =gText_TimesStrVar1
mov r0, r8
bl StringExpandPlaceholders
movs r0, 0xA
str r0, [sp]
movs r1, 0x1
str r1, [sp, 0x4]
movs r0, 0
str r0, [sp, 0x8]
movs r0, 0xFF
str r0, [sp, 0xC]
str r1, [sp, 0x10]
adds r0, r4, 0
movs r1, 0
mov r2, r8
movs r3, 0x4
bl sub_813E9A0
mov r3, r9
ldrh r1, [r3, 0x2]
movs r0, 0x5
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r0, 16
bl itemid_get_market_price
lsls r0, 16
lsrs r0, 17
mov r2, r9
movs r3, 0x10
ldrsh r1, [r2, r3]
muls r0, r1
bl sub_813E668
bl sub_813EBD4
bl sub_813D64C
subs r6, 0x8
adds r5, r6
ldr r0, _0813E664 @ =sub_813E690
str r0, [r5]
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813E654: .4byte gTasks+0x8
_0813E658: .4byte gStringVar1
_0813E65C: .4byte gStringVar4
_0813E660: .4byte gText_TimesStrVar1
_0813E664: .4byte sub_813E690
thumb_func_end sub_813E5B8
thumb_func_start sub_813E668
sub_813E668: @ 813E668
push {r4,lr}
sub sp, 0x4
adds r4, r0, 0
movs r0, 0x1
bl sub_813EB10
lsls r0, 24
lsrs r0, 24
movs r1, 0
str r1, [sp]
movs r1, 0x38
movs r2, 0xA
adds r3, r4, 0
bl PrintMoneyAmount
add sp, 0x4
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_813E668
thumb_func_start sub_813E690
sub_813E690: @ 813E690
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
ldr r1, _0813E6E0 @ =gTasks+0x8
adds r5, r0, r1
adds r0, r5, 0
adds r0, 0x10
ldrh r1, [r5, 0x4]
bl AdjustQuantityAccordingToDPadInput
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0813E6E4
movs r0, 0x10
ldrsh r1, [r5, r0]
movs r0, 0x1
movs r2, 0x2
bl sub_813D9F8
ldrh r1, [r5, 0x2]
movs r0, 0x5
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r0, 16
bl itemid_get_market_price
lsls r0, 16
lsrs r0, 17
movs r2, 0x10
ldrsh r1, [r5, r2]
muls r0, r1
bl sub_813E668
b _0813E762
.align 2, 0
_0813E6E0: .4byte gTasks+0x8
_0813E6E4:
ldr r0, _0813E714 @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0813E718
movs r0, 0x5
bl PlaySE
movs r0, 0x1
bl sub_813EA98
movs r0, 0
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
bl sub_813D684
adds r0, r4, 0
bl sub_813E4E4
b _0813E762
.align 2, 0
_0813E714: .4byte gMain
_0813E718:
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _0813E762
movs r0, 0x5
bl PlaySE
movs r0, 0x1
bl sub_813EA98
movs r0, 0x2
bl sub_813EA98
movs r0, 0x5
bl sub_813EACC
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
bl sub_813D684
ldrb r0, [r5]
movs r1, 0x1
bl sub_813D4B0
adds r0, r6, 0
bl sub_813DBB4
_0813E762:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_813E690
thumb_func_start sub_813E768
sub_813E768: @ 813E768
push {r4-r6,lr}
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 2
adds r4, r5
lsls r4, 3
ldr r0, _0813E7D4 @ =gTasks+0x8
adds r4, r0
movs r0, 0
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
ldr r0, _0813E7D8 @ =gSpecialVar_ItemId
ldrh r0, [r0]
ldr r1, _0813E7DC @ =gStringVar1
bl CopyItemName
ldr r6, _0813E7E0 @ =gStringVar3
ldrh r1, [r4, 0x2]
movs r0, 0x5
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r0, 16
bl itemid_get_market_price
lsls r0, 16
lsrs r0, 17
movs r2, 0x10
ldrsh r1, [r4, r2]
muls r1, r0
adds r0, r6, 0
movs r2, 0
movs r3, 0x6
bl ConvertIntToDecimalStringN
ldr r4, _0813E7E4 @ =gStringVar4
ldr r1, _0813E7E8 @ =gText_TurnedOverItemsWorthYen
adds r0, r4, 0
bl StringExpandPlaceholders
ldr r3, _0813E7EC @ =sub_813E7F0
adds r0, r5, 0
movs r1, 0x2
adds r2, r4, 0
bl DisplayItemMessageInBerryPouch
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_0813E7D4: .4byte gTasks+0x8
_0813E7D8: .4byte gSpecialVar_ItemId
_0813E7DC: .4byte gStringVar1
_0813E7E0: .4byte gStringVar3
_0813E7E4: .4byte gStringVar4
_0813E7E8: .4byte gText_TurnedOverItemsWorthYen
_0813E7EC: .4byte sub_813E7F0
thumb_func_end sub_813E768
thumb_func_start sub_813E7F0
sub_813E7F0: @ 813E7F0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
lsls r0, 24
lsrs r0, 24
lsls r6, r0, 2
adds r6, r0
lsls r6, 3
ldr r0, _0813E8BC @ =gTasks+0x8
mov r9, r0
adds r1, r6, 0
add r1, r9
mov r8, r1
movs r0, 0xF8
bl PlaySE
ldr r5, _0813E8C0 @ =gSpecialVar_ItemId
ldrh r0, [r5]
mov r2, r8
ldrh r1, [r2, 0x10]
bl RemoveBagItem
ldr r7, _0813E8C4 @ =gSaveBlock1Ptr
ldr r4, [r7]
movs r3, 0xA4
lsls r3, 2
mov r10, r3
add r4, r10
ldrh r0, [r5]
bl itemid_get_market_price
lsls r0, 16
lsrs r0, 17
mov r2, r8
movs r3, 0x10
ldrsh r1, [r2, r3]
muls r1, r0
adds r0, r4, 0
bl AddMoney
ldrh r0, [r5]
mov r2, r8
ldrh r1, [r2, 0x10]
movs r2, 0x2
bl sub_809C09C
mov r3, r8
ldrb r0, [r3]
ldr r4, _0813E8C8 @ =gUnknown_203F370 + 10
subs r2, r4, 0x2
adds r1, r4, 0
bl DestroyListMenuTask
bl sub_813D8AC
bl sub_813D6F4
bl sub_813D204
ldr r0, _0813E8CC @ =gMultiuseListMenuTemplate
subs r4, 0xA
ldrh r1, [r4, 0xA]
ldrh r2, [r4, 0x8]
bl ListMenuInit
lsls r0, 24
lsrs r0, 24
mov r1, r8
strh r0, [r1]
movs r1, 0x2
bl sub_813D4B0
movs r0, 0x2
bl sub_813EB10
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, [r7]
add r0, r10
bl GetMoney
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
bl PrintMoneyAmountInMoneyBox
movs r2, 0x8
negs r2, r2
add r9, r2
add r6, r9
ldr r0, _0813E8D0 @ =sub_813E8D4
str r0, [r6]
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813E8BC: .4byte gTasks+0x8
_0813E8C0: .4byte gSpecialVar_ItemId
_0813E8C4: .4byte gSaveBlock1Ptr
_0813E8C8: .4byte gUnknown_203F370 + 10
_0813E8CC: .4byte gMultiuseListMenuTemplate
_0813E8D0: .4byte sub_813E8D4
thumb_func_end sub_813E7F0
thumb_func_start sub_813E8D4
sub_813E8D4: @ 813E8D4
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0813E90C @ =gMain
ldrh r1, [r0, 0x2E]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0813E8EE
movs r0, 0x2
ands r0, r1
cmp r0, 0
beq _0813E906
_0813E8EE:
movs r0, 0x5
bl PlaySE
movs r0, 0x2
bl sub_813EA98
movs r0, 0x2
bl PutWindowTilemap
adds r0, r4, 0
bl sub_813E2B8
_0813E906:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813E90C: .4byte gMain
thumb_func_end sub_813E8D4
thumb_func_start sub_813E910
sub_813E910: @ 813E910
push {r4,lr}
ldr r0, _0813E994 @ =gUnknown_84643B8
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
bl TextWindow_SetUserSelectedFrame
movs r0, 0
movs r1, 0x13
movs r2, 0xD0
bl TextWindow_LoadResourcesStdFrame0
movs r0, 0
movs r1, 0xA
movs r2, 0xC0
bl TextWindow_SetStdFrame0_WithPal
ldr r0, _0813E998 @ =gTMCaseMainWindowPalette
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
movs r4, 0
_0813E946:
adds r0, r4, 0
movs r1, 0
bl FillWindowPixelBuffer
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x2
bls _0813E946
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0x2
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
movs r4, 0
ldr r3, _0813E99C @ =gUnknown_203F38C
movs r2, 0xFF
_0813E97C:
adds r0, r4, r3
ldrb r1, [r0]
orrs r1, r2
strb r1, [r0]
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xD
bls _0813E97C
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813E994: .4byte gUnknown_84643B8
_0813E998: .4byte gTMCaseMainWindowPalette
_0813E99C: .4byte gUnknown_203F38C
thumb_func_end sub_813E910
thumb_func_start sub_813E9A0
sub_813E9A0: @ 813E9A0
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x14
mov r9, r3
ldr r3, [sp, 0x30]
ldr r4, [sp, 0x34]
ldr r6, [sp, 0x38]
ldr r5, [sp, 0x3C]
mov r8, r5
ldr r5, [sp, 0x40]
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
mov r7, r9
lsls r7, 24
lsrs r7, 24
mov r9, r7
lsls r3, 24
lsrs r3, 24
lsls r4, 24
lsrs r4, 24
lsls r6, 24
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
str r4, [sp]
str r6, [sp, 0x4]
lsls r4, r5, 1
adds r4, r5
ldr r5, _0813EA04 @ =gUnknown_8464448
adds r4, r5
str r4, [sp, 0x8]
mov r4, r8
lsls r4, 24
asrs r4, 24
str r4, [sp, 0xC]
str r2, [sp, 0x10]
mov r2, r9
bl AddTextPrinterParameterized4
add sp, 0x14
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813EA04: .4byte gUnknown_8464448
thumb_func_end sub_813E9A0
thumb_func_start sub_813EA08
sub_813EA08: @ 813EA08
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _0813EA4C @ =gUnknown_203F38C
adds r5, r4, r0
ldrb r0, [r5]
cmp r0, 0xFF
bne _0813EA6C
lsls r0, r4, 3
ldr r1, _0813EA50 @ =gUnknown_84643D8
adds r0, r1
bl AddWindow
strb r0, [r5]
cmp r4, 0x2
beq _0813EA38
cmp r4, 0x6
beq _0813EA38
cmp r4, 0x7
beq _0813EA38
cmp r4, 0x8
beq _0813EA38
cmp r4, 0x9
bne _0813EA54
_0813EA38:
ldr r0, _0813EA4C @ =gUnknown_203F38C
adds r0, r4, r0
ldrb r0, [r0]
movs r1, 0
movs r2, 0xA
movs r3, 0xC
bl DrawStdFrameWithCustomTileAndPalette
b _0813EA60
.align 2, 0
_0813EA4C: .4byte gUnknown_203F38C
_0813EA50: .4byte gUnknown_84643D8
_0813EA54:
ldrb r0, [r5]
movs r1, 0
movs r2, 0x1
movs r3, 0xE
bl DrawStdFrameWithCustomTileAndPalette
_0813EA60:
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
ldr r0, _0813EA74 @ =gUnknown_203F38C
adds r0, r4, r0
ldrb r0, [r0]
_0813EA6C:
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0813EA74: .4byte gUnknown_203F38C
thumb_func_end sub_813EA08
thumb_func_start sub_813EA78
sub_813EA78: @ 813EA78
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _0813EA94 @ =gUnknown_203F38C
adds r0, r1
ldrb r0, [r0]
movs r1, 0
movs r2, 0x1
movs r3, 0xE
bl DrawStdFrameWithCustomTileAndPalette
pop {r0}
bx r0
.align 2, 0
_0813EA94: .4byte gUnknown_203F38C
thumb_func_end sub_813EA78
thumb_func_start sub_813EA98
sub_813EA98: @ 813EA98
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0813EAC8 @ =gUnknown_203F38C
adds r4, r0
ldrb r0, [r4]
movs r1, 0
bl ClearStdWindowAndFrameToTransparent
ldrb r0, [r4]
bl ClearWindowTilemap
ldrb r0, [r4]
bl RemoveWindow
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
movs r0, 0xFF
strb r0, [r4]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813EAC8: .4byte gUnknown_203F38C
thumb_func_end sub_813EA98
thumb_func_start sub_813EACC
sub_813EACC: @ 813EACC
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _0813EB0C @ =gUnknown_203F38C
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0xFF
beq _0813EB04
movs r1, 0
bl ClearDialogWindowAndFrameToTransparent
ldrb r0, [r4]
bl ClearWindowTilemap
ldrb r0, [r4]
bl RemoveWindow
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0
bl ScheduleBgCopyTilemapToVram
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
movs r0, 0xFF
strb r0, [r4]
_0813EB04:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813EB0C: .4byte gUnknown_203F38C
thumb_func_end sub_813EACC
thumb_func_start sub_813EB10
sub_813EB10: @ 813EB10
lsls r0, 24
lsrs r0, 24
ldr r1, _0813EB1C @ =gUnknown_203F38C
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
_0813EB1C: .4byte gUnknown_203F38C
thumb_func_end sub_813EB10
thumb_func_start DisplayItemMessageInBerryPouch
DisplayItemMessageInBerryPouch: @ 813EB20
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x10
adds r7, r2, 0
mov r8, r3
lsls r0, 24
lsrs r6, r0, 24
lsls r1, 24
lsrs r5, r1, 24
ldr r4, _0813EB74 @ =gUnknown_203F38C
ldrb r0, [r4, 0x5]
cmp r0, 0xFF
bne _0813EB44
ldr r0, _0813EB78 @ =gUnknown_84643D8 + 0x28
bl AddWindow
strb r0, [r4, 0x5]
_0813EB44:
bl GetTextSpeedSetting
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4, 0x5]
str r5, [sp]
str r0, [sp, 0x4]
str r7, [sp, 0x8]
mov r0, r8
str r0, [sp, 0xC]
adds r0, r6, 0
movs r2, 0x13
movs r3, 0xD
bl DisplayMessageAndContinueTask
movs r0, 0x2
bl ScheduleBgCopyTilemapToVram
add sp, 0x10
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0813EB74: .4byte gUnknown_203F38C
_0813EB78: .4byte gUnknown_84643D8 + 0x28
thumb_func_end DisplayItemMessageInBerryPouch
thumb_func_start sub_813EB7C
sub_813EB7C: @ 813EB7C
push {lr}
sub sp, 0x10
adds r3, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _0813EBA4 @ =gUnknown_84643D8 + 0x18
movs r2, 0x2
str r2, [sp]
movs r2, 0x1
str r2, [sp, 0x4]
movs r2, 0xE
str r2, [sp, 0x8]
str r3, [sp, 0xC]
movs r2, 0x2
movs r3, 0
bl CreateYesNoMenuWithCallbacks
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_0813EBA4: .4byte gUnknown_84643D8 + 0x18
thumb_func_end sub_813EB7C
thumb_func_start sub_813EBA8
sub_813EBA8: @ 813EBA8
push {lr}
sub sp, 0x10
adds r3, r1, 0
lsls r0, 24
lsrs r0, 24
ldr r1, _0813EBD0 @ =gUnknown_84643D8 + 0x20
movs r2, 0x2
str r2, [sp]
movs r2, 0x1
str r2, [sp, 0x4]
movs r2, 0xE
str r2, [sp, 0x8]
str r3, [sp, 0xC]
movs r2, 0x2
movs r3, 0
bl CreateYesNoMenuWithCallbacks
add sp, 0x10
pop {r0}
bx r0
.align 2, 0
_0813EBD0: .4byte gUnknown_84643D8 + 0x20
thumb_func_end sub_813EBA8
thumb_func_start sub_813EBD4
sub_813EBD4: @ 813EBD4
push {r4,lr}
movs r0, 0x2
bl sub_813EA08
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldr r0, _0813EC04 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xA4
lsls r1, 2
adds r0, r1
bl GetMoney
adds r3, r0, 0
adds r0, r4, 0
movs r1, 0xA
movs r2, 0xC
bl PrintMoneyAmountInMoneyBoxWithBorder
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813EC04: .4byte gSaveBlock1Ptr
thumb_func_end sub_813EBD4
thumb_func_start sub_813EC08
sub_813EC08: @ 813EC08
push {lr}
ldr r0, _0813EC20 @ =gUnknown_84644B8
movs r1, 0x28
movs r2, 0x4C
movs r3, 0
bl CreateSprite
ldr r1, _0813EC24 @ =gUnknown_203F39C
strb r0, [r1]
pop {r0}
bx r0
.align 2, 0
_0813EC20: .4byte gUnknown_84644B8
_0813EC24: .4byte gUnknown_203F39C
thumb_func_end sub_813EC08
thumb_func_start sub_813EC28
sub_813EC28: @ 813EC28
push {r4,lr}
ldr r0, _0813EC58 @ =gUnknown_203F39C
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, _0813EC5C @ =gSprites
adds r4, r0, r1
adds r0, r4, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _0813EC52
adds r0, r4, 0
movs r1, 0x1
bl StartSpriteAffineAnim
ldr r0, _0813EC60 @ =sub_813EC64
str r0, [r4, 0x1C]
_0813EC52:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813EC58: .4byte gUnknown_203F39C
_0813EC5C: .4byte gSprites
_0813EC60: .4byte sub_813EC64
thumb_func_end sub_813EC28
thumb_func_start sub_813EC64
sub_813EC64: @ 813EC64
push {r4,lr}
adds r4, r0, 0
adds r0, 0x3F
ldrb r1, [r0]
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _0813EC80
adds r0, r4, 0
movs r1, 0
bl StartSpriteAffineAnim
ldr r0, _0813EC88 @ =SpriteCallbackDummy
str r0, [r4, 0x1C]
_0813EC80:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813EC88: .4byte SpriteCallbackDummy
thumb_func_end sub_813EC64
.align 2, 0 @ Don't pad with nop.