diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_interface.s | 4 | ||||
-rw-r--r-- | asm/item_menu.s | 2 | ||||
-rw-r--r-- | asm/pokeball.s | 2896 | ||||
-rw-r--r-- | asm/shop.s | 3563 |
4 files changed, 3 insertions, 6462 deletions
diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 7a0e37966..753b1696b 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -709,11 +709,11 @@ _080480A4: .4byte sub_8048128 GetHealthboxElementGfxPtr: @ 80480A8 lsls r0, 24 lsrs r0, 19 - ldr r1, _080480B4 @ =gUnknown_8D11BC4 + ldr r1, _080480B4 @ =gHealthboxElementsGfxTable adds r0, r1 bx lr .align 2, 0 -_080480B4: .4byte gUnknown_8D11BC4 +_080480B4: .4byte gHealthboxElementsGfxTable thumb_func_end GetHealthboxElementGfxPtr thumb_func_start sub_80480B8 diff --git a/asm/item_menu.s b/asm/item_menu.s index 3f662656e..06ac697bc 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5484,7 +5484,7 @@ sub_810A9D4: @ 810A9D4 mov r2, r8 ldrh r1, [r2, 0x10] movs r2, 0x2 - bl sub_809C09C + bl RecordItemPurchase mov r3, r8 ldrb r0, [r3] ldr r4, _0810AAE4 @ =gUnknown_203ACFC diff --git a/asm/pokeball.s b/asm/pokeball.s deleted file mode 100644 index 1b8196529..000000000 --- a/asm/pokeball.s +++ /dev/null @@ -1,2896 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start DoPokeballSendOutAnimation -DoPokeballSendOutAnimation: @ 804A938 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0804A98C @ =gDoingBattleAnim - movs r0, 0x1 - strb r0, [r1] - ldr r0, _0804A990 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r6, _0804A994 @ =gActiveBattler - ldrb r1, [r6] - ldr r2, [r0, 0x4] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0804A998 @ =sub_804A9A0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0804A99C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0804A98C: .4byte gDoingBattleAnim -_0804A990: .4byte gBattleSpritesDataPtr -_0804A994: .4byte gActiveBattler -_0804A998: .4byte sub_804A9A0 -_0804A99C: .4byte gTasks - thumb_func_end DoPokeballSendOutAnimation - - thumb_func_start sub_804A9A0 -sub_804A9A0: @ 804A9A0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - ldr r1, _0804A9D4 @ =gTasks - ldr r2, [sp] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0804A9D8 - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - b _0804ABB8 - .align 2, 0 -_0804A9D4: .4byte gTasks -_0804A9D8: - ldrh r0, [r1, 0xC] - mov r9, r0 - ldrb r6, [r1, 0xE] - adds r0, r6, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0804AA04 - ldr r1, _0804A9FC @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804AA00 @ =gEnemyParty - b _0804AA12 - .align 2, 0 -_0804A9FC: .4byte gBattlerPartyIndexes -_0804AA00: .4byte gEnemyParty -_0804AA04: - ldr r1, _0804AA50 @ =gBattlerPartyIndexes - lsls r0, r6, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804AA54 @ =gPlayerParty -_0804AA12: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl LoadBallGfx - ldr r0, _0804AA58 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804AA60 - ldr r4, _0804AA5C @ =gLinkPlayers - adds r0, r6, 0 - bl GetBattlerMultiplayerId - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x13] - mov r10, r1 - b _0804AA68 - .align 2, 0 -_0804AA50: .4byte gBattlerPartyIndexes -_0804AA54: .4byte gPlayerParty -_0804AA58: .4byte gBattleTypeFlags -_0804AA5C: .4byte gLinkPlayers -_0804AA60: - ldr r0, _0804AAB8 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - mov r10, r0 -_0804AA68: - lsls r0, r5, 1 - adds r0, r5 - lsls r0, 3 - ldr r1, _0804AABC @ =gBallSpriteTemplates - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - mov r8, r0 - ldr r4, _0804AAC0 @ =gSprites - add r4, r8 - movs r0, 0x80 - strh r0, [r4, 0x2E] - movs r1, 0 - strh r1, [r4, 0x30] - mov r2, r9 - strh r2, [r4, 0x3C] - mov r3, r9 - cmp r3, 0xFE - beq _0804AAF8 - cmp r3, 0xFF - bne _0804AB38 - ldr r0, _0804AAC4 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 9 - ands r0, r1 - cmp r0, 0 - beq _0804AAC8 - movs r5, 0x20 - movs r4, 0x40 - b _0804AACE - .align 2, 0 -_0804AAB8: .4byte gSaveBlock2Ptr -_0804AABC: .4byte gBallSpriteTemplates -_0804AAC0: .4byte gSprites -_0804AAC4: .4byte gBattleTypeFlags -_0804AAC8: - mov r0, r10 - movs r5, 0x30 - movs r4, 0x46 -_0804AACE: - ldr r0, _0804AAEC @ =gBattlerTarget - strb r6, [r0] - ldr r2, _0804AAF0 @ =gSprites - lsls r3, r7, 4 - adds r1, r3, r7 - lsls r1, 2 - adds r0, r1, r2 - strh r5, [r0, 0x20] - strh r4, [r0, 0x22] - adds r2, 0x1C - adds r1, r2 - ldr r0, _0804AAF4 @ =SpriteCB_PlayerMonSendOut_1 - str r0, [r1] - b _0804AB48 - .align 2, 0 -_0804AAEC: .4byte gBattlerTarget -_0804AAF0: .4byte gSprites -_0804AAF4: .4byte SpriteCB_PlayerMonSendOut_1 -_0804AAF8: - adds r0, r6, 0 - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - adds r0, r6, 0 - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x22] - ldr r0, _0804AB2C @ =gBattlerTarget - strb r6, [r0] - movs r1, 0 - strh r1, [r4, 0x2E] - ldr r0, _0804AB30 @ =gSprites - adds r0, 0x1C - add r0, r8 - ldr r1, _0804AB34 @ =SpriteCB_OpponentMonSendOut - str r1, [r0] - b _0804AB46 - .align 2, 0 -_0804AB2C: .4byte gBattlerTarget -_0804AB30: .4byte gSprites -_0804AB34: .4byte SpriteCB_OpponentMonSendOut -_0804AB38: - movs r0, 0x1 - bl GetBattlerAtPosition - ldr r1, _0804AB64 @ =gBattlerTarget - strb r0, [r1] - movs r2, 0x1 - str r2, [sp, 0x4] -_0804AB46: - adds r3, r5, 0 -_0804AB48: - ldr r0, _0804AB68 @ =gSprites - adds r1, r3, r7 - lsls r1, 2 - adds r4, r1, r0 - ldr r5, _0804AB64 @ =gBattlerTarget - ldrb r0, [r5] - strh r0, [r4, 0x3A] - ldr r3, [sp, 0x4] - cmp r3, 0 - bne _0804AB6C - ldr r0, [sp] - bl DestroyTask - b _0804ABB8 - .align 2, 0 -_0804AB64: .4byte gBattlerTarget -_0804AB68: .4byte gSprites -_0804AB6C: - movs r0, 0x22 - strh r0, [r4, 0x2E] - ldrb r0, [r5] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r4, 0x36] - ldr r0, _0804ABC8 @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl InitAnimArcTranslation - mov r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x6] - ldr r1, _0804ABCC @ =gTasks - ldr r2, [sp] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r5] - strh r1, [r0, 0x10] - ldr r1, _0804ABD0 @ =TaskDummy - str r1, [r0] - movs r0, 0x36 - bl PlaySE -_0804ABB8: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804ABC8: .4byte 0x0000ffd8 -_0804ABCC: .4byte gTasks -_0804ABD0: .4byte TaskDummy - thumb_func_end sub_804A9A0 - - thumb_func_start SpriteCB_TestBallThrow -SpriteCB_TestBallThrow: @ 804ABD4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - bl TranslateAnimHorizontalArc - lsls r0, 24 - cmp r0, 0 - beq _0804AC74 - ldrb r6, [r7, 0x6] - ldr r1, _0804AC80 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x10] - ldrb r0, [r0, 0xC] - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - strh r0, [r7, 0x22] - strh r1, [r7, 0x24] - strh r1, [r7, 0x26] - strh r1, [r7, 0x38] - adds r0, r5, 0 - bl GetBankPokeballItemId - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - adds r4, r0, 0 - ldrh r0, [r7, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - movs r0, 0 - adds r1, r5, 0 - movs r2, 0xE - adds r3, r4, 0 - bl LaunchBallFadeMonTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2E] - strh r5, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - adds r0, r6, 0 - bl DestroyTask - ldr r0, _0804AC84 @ =sub_804AC88 - str r0, [r7, 0x1C] -_0804AC74: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804AC80: .4byte gTasks -_0804AC84: .4byte sub_804AC88 - thumb_func_end SpriteCB_TestBallThrow - - thumb_func_start sub_804AC88 -sub_804AC88: @ 804AC88 - ldr r1, _0804AC90 @ =sub_804AC94 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_0804AC90: .4byte sub_804AC94 - thumb_func_end sub_804AC88 - - thumb_func_start sub_804AC94 -sub_804AC94: @ 804AC94 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - movs r7, 0 - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804ACEE - strh r7, [r6, 0x38] - ldr r0, _0804ACF4 @ =sub_804AD00 - str r0, [r6, 0x1C] - ldr r5, _0804ACF8 @ =gBattlerSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804ACFC @ =gSprites - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x30] -_0804ACEE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804ACF4: .4byte sub_804AD00 -_0804ACF8: .4byte gBattlerSpriteIds -_0804ACFC: .4byte gSprites - thumb_func_end sub_804AC94 - - thumb_func_start sub_804AD00 -sub_804AD00: @ 804AD00 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _0804AD18 - movs r0, 0x35 - bl PlaySE -_0804AD18: - ldr r6, _0804AD64 @ =gSprites - ldr r5, _0804AD68 @ =gBattlerSpriteIds - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804AD70 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r2, 0x3A - ldrsh r0, [r4, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, _0804AD6C @ =sub_804AD98 - str r0, [r4, 0x1C] - b _0804AD90 - .align 2, 0 -_0804AD64: .4byte gSprites -_0804AD68: .4byte gBattlerSpriteIds -_0804AD6C: .4byte sub_804AD98 -_0804AD70: - ldrh r0, [r1, 0x30] - adds r0, 0x60 - strh r0, [r1, 0x30] - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] -_0804AD90: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_804AD00 - - thumb_func_start sub_804AD98 -sub_804AD98: @ 804AD98 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804ADE0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _0804ADE0 - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, _0804ADE8 @ =sub_804ADEC - str r0, [r4, 0x1C] -_0804ADE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804ADE8: .4byte sub_804ADEC - thumb_func_end sub_804AD98 - - thumb_func_start sub_804ADEC -sub_804ADEC: @ 804ADEC - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _0804AE02 - cmp r1, 0x1 - beq _0804AE76 - b _0804AEA2 -_0804AE02: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _0804AEA2 - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, _0804AE4C @ =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _0804AE3E - movs r5, 0x1 -_0804AE3E: - cmp r0, 0x2 - beq _0804AE5E - cmp r0, 0x2 - bgt _0804AE50 - cmp r0, 0x1 - beq _0804AE56 - b _0804AE6E - .align 2, 0 -_0804AE4C: .4byte 0x00000101 -_0804AE50: - cmp r0, 0x3 - beq _0804AE66 - b _0804AE6E -_0804AE56: - movs r0, 0x31 - bl PlaySE - b _0804AEA2 -_0804AE5E: - movs r0, 0x32 - bl PlaySE - b _0804AEA2 -_0804AE66: - movs r0, 0x33 - bl PlaySE - b _0804AEA2 -_0804AE6E: - movs r0, 0x34 - bl PlaySE - b _0804AEA2 -_0804AE76: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _0804AEA2 - strh r5, [r4, 0x38] - ldr r0, _0804AEC8 @ =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_0804AEA2: - cmp r5, 0 - beq _0804AEDA - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0804AED0 - ldr r0, _0804AECC @ =sub_804B268 - str r0, [r4, 0x1C] - b _0804AEDA - .align 2, 0 -_0804AEC8: .4byte 0xffffff00 -_0804AECC: .4byte sub_804B268 -_0804AED0: - ldr r0, _0804AEE0 @ =sub_804AEE4 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_0804AEDA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804AEE0: .4byte sub_804AEE4 - thumb_func_end sub_804ADEC - - thumb_func_start sub_804AEE4 -sub_804AEE4: @ 804AEE4 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _0804AF18 - movs r0, 0 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _0804AF20 @ =sub_804AF24 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_0804AF18: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804AF20: .4byte sub_804AF24 - thumb_func_end sub_804AEE4 - - thumb_func_start sub_804AF24 -sub_804AF24: @ 804AF24 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x4 - bhi _0804B024 - lsls r0, r1, 2 - ldr r1, _0804AF3C @ =_0804AF40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804AF3C: .4byte _0804AF40 - .align 2, 0 -_0804AF40: - .4byte _0804AF54 - .4byte _0804AF86 - .4byte _0804AF54 - .4byte _0804AFDA - .4byte _0804B024 -_0804AF54: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _0804B06A - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - movs r0, 0 - strh r0, [r4, 0x38] - b _0804B06A -_0804AF86: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _0804AFCC - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _0804AFC2 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _0804B06A -_0804AFC2: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _0804B06A -_0804AFCC: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _0804B06A -_0804AFDA: - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r2, [r4, 0x34] - adds r0, r2 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _0804AFFC - ldr r0, _0804AFF8 @ =sub_804B268 - str r0, [r4, 0x1C] - b _0804B06A - .align 2, 0 -_0804AFF8: .4byte sub_804B268 -_0804AFFC: - cmp r1, 0x4 - bne _0804B010 - cmp r0, 0x3 - bne _0804B010 - ldr r0, _0804B00C @ =sub_804B484 - str r0, [r4, 0x1C] - b _0804B016 - .align 2, 0 -_0804B00C: .4byte sub_804B484 -_0804B010: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_0804B016: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _0804B06A -_0804B024: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _0804B06A - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, _0804B058 @ =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0804B05C - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _0804B064 - .align 2, 0 -_0804B058: .4byte 0xffffff00 -_0804B05C: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0804B064: - movs r0, 0x17 - bl PlaySE -_0804B06A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_804AF24 - - thumb_func_start Task_PlayCryWhenReleasedFromBall -Task_PlayCryWhenReleasedFromBall: @ 804B070 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _0804B0A4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - ldrb r7, [r0, 0xC] - ldrb r5, [r0, 0xA] - ldrh r6, [r0, 0x8] - movs r3, 0xE - ldrsh r1, [r0, r3] - lsls r3, r1, 16 - ldrh r1, [r0, 0x10] - orrs r3, r1 - movs r1, 0x26 - ldrsh r0, [r0, r1] - cmp r0, 0x20 - bhi _0804B130 - lsls r0, 2 - ldr r1, _0804B0A8 @ =_0804B0AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804B0A4: .4byte gTasks -_0804B0A8: .4byte _0804B0AC - .align 2, 0 -_0804B0AC: - .4byte _0804B130 - .4byte _0804B14E - .4byte _0804B174 - .4byte _0804B1CE - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B190 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B130 - .4byte _0804B1E0 - .4byte _0804B1F8 - .4byte _0804B220 -_0804B130: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x18] - movs r3, 0x18 - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bgt _0804B148 - adds r0, r2, 0x1 - strh r0, [r1, 0x18] - b _0804B262 -_0804B148: - adds r0, r7, 0x1 - strh r0, [r1, 0x26] - b _0804B262 -_0804B14E: - adds r0, r3, 0 - bl ShouldPlayNormalPokeCry - cmp r0, 0x1 - bne _0804B166 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry3 - b _0804B1C6 -_0804B166: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry3 - b _0804B1C6 -_0804B174: - bl StopCryAndClearCrySongs - ldr r1, _0804B18C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x1C] - movs r1, 0x14 - strh r1, [r0, 0x26] - b _0804B262 - .align 2, 0 -_0804B18C: .4byte gTasks -_0804B190: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - bne _0804B232 - adds r0, r3, 0 - bl ShouldPlayNormalPokeCry - cmp r0, 0x1 - bne _0804B1BA - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0x1 - bl PlayCry4 - b _0804B1C6 -_0804B1BA: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xC - bl PlayCry4 -_0804B1C6: - adds r0, r4, 0 - bl DestroyTask - b _0804B262 -_0804B1CE: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x1C] - movs r1, 0x1E - strh r1, [r0, 0x26] - b _0804B262 -_0804B1E0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r3, 0x1C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0804B232 - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] -_0804B1F8: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _0804B262 - bl StopCryAndClearCrySongs - ldr r0, _0804B21C @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _0804B262 - .align 2, 0 -_0804B21C: .4byte gTasks -_0804B220: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r7, 0x1C - ldrsh r0, [r1, r7] - cmp r0, 0 - beq _0804B238 -_0804B232: - subs r0, r2, 0x1 - strh r0, [r1, 0x1C] - b _0804B262 -_0804B238: - adds r0, r3, 0 - bl ShouldPlayNormalPokeCry - cmp r0, 0x1 - bne _0804B250 - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0 - bl PlayCry4 - b _0804B25C -_0804B250: - lsls r1, r5, 24 - asrs r1, 24 - adds r0, r6, 0 - movs r2, 0xB - bl PlayCry4 -_0804B25C: - adds r0, r4, 0 - bl DestroyTask -_0804B262: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end Task_PlayCryWhenReleasedFromBall - - thumb_func_start sub_804B268 -sub_804B268: @ 804B268 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - bl GetBankPokeballItemId - lsls r0, 16 - lsrs r0, 16 - bl ItemIdToBallId - adds r4, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl LaunchBallStarsTask - ldrh r1, [r6, 0x3A] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0xE - adds r3, r4, 0 - bl LaunchBallFadeMonTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x2E] - ldr r0, _0804B2FC @ =HandleBallAnimEnd - str r0, [r6, 0x1C] - ldr r0, _0804B300 @ =gMain - ldr r1, _0804B304 @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0804B2DA - b _0804B420 -_0804B2DA: - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0804B310 - ldr r1, _0804B308 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0804B30C @ =gEnemyParty - adds r7, r1, r0 - movs r3, 0x19 - mov r9, r3 - b _0804B324 - .align 2, 0 -_0804B2FC: .4byte HandleBallAnimEnd -_0804B300: .4byte gMain -_0804B304: .4byte 0x00000439 -_0804B308: .4byte gBattlerPartyIndexes -_0804B30C: .4byte gEnemyParty -_0804B310: - ldr r1, _0804B388 @ =gBattlerPartyIndexes - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _0804B38C @ =gPlayerParty - adds r7, r1, r0 - movs r0, 0xE7 - mov r9, r0 -_0804B324: - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0804B34E - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _0804B3A6 -_0804B34E: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0804B3A6 - ldr r0, _0804B390 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804B3A6 - ldr r0, _0804B394 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0804B39C - bl IsBGMPlaying - lsls r0, 24 - cmp r0, 0 - beq _0804B3A6 - ldr r0, _0804B398 @ =gMPlayInfo_BGM - bl m4aMPlayStop - b _0804B3A6 - .align 2, 0 -_0804B388: .4byte gBattlerPartyIndexes -_0804B38C: .4byte gPlayerParty -_0804B390: .4byte gBattleSpritesDataPtr -_0804B394: .4byte gBattleTypeFlags -_0804B398: .4byte gMPlayInfo_BGM -_0804B39C: - ldr r0, _0804B3C4 @ =gMPlayInfo_BGM - ldr r1, _0804B3C8 @ =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_0804B3A6: - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0804B3C0 - ldr r0, _0804B3CC @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0804B3D0 -_0804B3C0: - movs r4, 0 - b _0804B3F2 - .align 2, 0 -_0804B3C4: .4byte gMPlayInfo_BGM -_0804B3C8: .4byte 0x0000ffff -_0804B3CC: .4byte gBattleSpritesDataPtr -_0804B3D0: - movs r0, 0 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _0804B3EC - movs r0, 0x1 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _0804B3F0 -_0804B3EC: - movs r4, 0x1 - b _0804B3F2 -_0804B3F0: - movs r4, 0x2 -_0804B3F2: - ldr r0, _0804B474 @ =Task_PlayCryWhenReleasedFromBall - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0804B478 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - mov r3, r8 - strh r3, [r1, 0x8] - mov r3, r9 - lsls r0, r3, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - lsrs r0, r7, 16 - strh r0, [r1, 0xE] - strh r7, [r1, 0x10] - strh r2, [r1, 0x26] -_0804B420: - ldr r5, _0804B47C @ =gBattlerSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804B480 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r3, 0x3A - ldrsh r0, [r6, r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B474: .4byte Task_PlayCryWhenReleasedFromBall -_0804B478: .4byte gTasks -_0804B47C: .4byte gBattlerSpriteIds -_0804B480: .4byte gSprites - thumb_func_end sub_804B268 - - thumb_func_start sub_804B484 -sub_804B484: @ 804B484 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, _0804B4A0 @ =sub_804B5C8 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .align 2, 0 -_0804B4A0: .4byte sub_804B5C8 - thumb_func_end sub_804B484 - - thumb_func_start HandleBallAnimEnd -HandleBallAnimEnd: @ 804B4A4 - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _0804B508 @ =gSprites - ldr r0, _0804B50C @ =gBattlerSpriteIds - adds r3, r6, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804B4E6 - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0804B4E6: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804B510 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r7, 0x1 - b _0804B52C - .align 2, 0 -_0804B508: .4byte gSprites -_0804B50C: .4byte gBattlerSpriteIds -_0804B510: - ldr r2, _0804B5B4 @ =0xfffffee0 - adds r0, r2, 0 - ldrh r2, [r1, 0x30] - adds r0, r2 - strh r0, [r1, 0x30] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_0804B52C: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804B5AE - cmp r7, 0 - beq _0804B5AE - ldr r2, _0804B5B8 @ =gSprites - ldr r0, _0804B5BC @ =gBattlerSpriteIds - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x26] - ldr r0, _0804B5C0 @ =gDoingBattleAnim - strb r2, [r0] - ldr r4, _0804B5C4 @ =gBattleSpritesDataPtr - ldr r0, [r4] - ldr r0, [r0, 0x4] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite - movs r3, 0 - ldr r0, [r4] - ldr r2, [r0, 0x4] - movs r5, 0x8 - movs r4, 0x3 -_0804B586: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _0804B592 - adds r3, 0x1 -_0804B592: - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _0804B586 - cmp r3, 0x4 - bne _0804B5AE - movs r4, 0 -_0804B5A0: - lsls r0, r4, 24 - lsrs r0, 24 - bl FreeBallGfx - adds r4, 0x1 - cmp r4, 0xB - ble _0804B5A0 -_0804B5AE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B5B4: .4byte 0xfffffee0 -_0804B5B8: .4byte gSprites -_0804B5BC: .4byte gBattlerSpriteIds -_0804B5C0: .4byte gDoingBattleAnim -_0804B5C4: .4byte gBattleSpritesDataPtr - thumb_func_end HandleBallAnimEnd - - thumb_func_start sub_804B5C8 -sub_804B5C8: @ 804B5C8 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _0804B666 - cmp r1, 0x5F - bne _0804B600 - ldr r0, _0804B5F8 @ =gDoingBattleAnim - movs r1, 0 - strb r1, [r0] - bl m4aMPlayAllStop - ldr r0, _0804B5FC @ =0x0000013f - bl PlaySE - b _0804B666 - .align 2, 0 -_0804B5F8: .4byte gDoingBattleAnim -_0804B5FC: .4byte 0x0000013f -_0804B600: - ldr r0, _0804B66C @ =0x0000013b - cmp r1, r0 - bne _0804B666 - ldr r5, _0804B670 @ =gSprites - ldr r4, _0804B674 @ =gBattlerSpriteIds - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r6, 0 - bl DestroySpriteAndFreeResources - ldr r0, _0804B678 @ =gMain - ldr r1, _0804B67C @ =0x00000439 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804B666 - ldr r0, _0804B680 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_0804B666: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B66C: .4byte 0x0000013b -_0804B670: .4byte gSprites -_0804B674: .4byte gBattlerSpriteIds -_0804B678: .4byte gMain -_0804B67C: .4byte 0x00000439 -_0804B680: .4byte gBattleSpritesDataPtr - thumb_func_end sub_804B5C8 - - thumb_func_start SpriteCB_PlayerMonSendOut_1 -SpriteCB_PlayerMonSendOut_1: @ 804B684 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x19 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x36] - ldr r0, _0804B6CC @ =0x0000ffe2 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x6] - adds r0, r4, 0 - bl InitAnimArcTranslation - ldr r0, _0804B6D0 @ =SpriteCB_PlayerMonSendOut_2 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804B6CC: .4byte 0x0000ffe2 -_0804B6D0: .4byte SpriteCB_PlayerMonSendOut_2 - thumb_func_end SpriteCB_PlayerMonSendOut_1 - - thumb_func_start SpriteCB_PlayerMonSendOut_2 -SpriteCB_PlayerMonSendOut_2: @ 804B6D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - movs r1, 0xFF - mov r8, r1 - lsrs r0, 8 - subs r0, 0x23 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2C - bhi _0804B7C8 - ldrh r1, [r5, 0x6] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - bne _0804B736 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - movs r1, 0x2 - negs r1, r1 - adds r4, r1, 0 - ands r0, r4 - orrs r6, r0 - strh r6, [r5, 0x30] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - ands r0, r4 - orrs r7, r0 - strh r7, [r5, 0x32] - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAffineAnim -_0804B736: - ldrh r4, [r5, 0x2E] - adds r0, r5, 0 - bl AnimTranslateLinear - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, r1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 24 - mov r2, r8 - ands r0, r2 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r5, 0x6] - adds r0, r1 - strh r0, [r5, 0x6] - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _0804B786 - strh r4, [r5, 0x2E] - b _0804B78E -_0804B786: - lsls r0, r4, 16 - asrs r0, 16 - subs r0, 0x1 - strh r0, [r5, 0x2E] -_0804B78E: - ldrh r0, [r5, 0x3C] - lsrs r0, 8 - cmp r0, 0x4F - ble _0804B834 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x2 - negs r1, r1 - adds r2, r1, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r5, 0x30] - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - ands r0, r2 - orrs r0, r7 - strh r0, [r5, 0x32] - b _0804B834 -_0804B7C8: - adds r0, r5, 0 - bl TranslateAnimHorizontalArc - lsls r0, 24 - cmp r0, 0 - beq _0804B834 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldrb r0, [r5, 0x6] - strh r0, [r5, 0x3A] - strh r1, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0804B828 - ldr r0, _0804B820 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804B828 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x2 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0804B828 - ldr r0, _0804B824 @ =SpriteCB_ReleaseMon2FromBall - b _0804B82A - .align 2, 0 -_0804B820: .4byte gBattleSpritesDataPtr -_0804B824: .4byte SpriteCB_ReleaseMon2FromBall -_0804B828: - ldr r0, _0804B840 @ =sub_804B268 -_0804B82A: - str r0, [r5, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_0804B834: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804B840: .4byte sub_804B268 - thumb_func_end SpriteCB_PlayerMonSendOut_2 - - thumb_func_start SpriteCB_ReleaseMon2FromBall -SpriteCB_ReleaseMon2FromBall: @ 804B844 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0804B85E - movs r0, 0 - strh r0, [r2, 0x2E] - ldr r0, _0804B864 @ =sub_804B268 - str r0, [r2, 0x1C] -_0804B85E: - pop {r0} - bx r0 - .align 2, 0 -_0804B864: .4byte sub_804B268 - thumb_func_end SpriteCB_ReleaseMon2FromBall - - thumb_func_start SpriteCB_OpponentMonSendOut -SpriteCB_OpponentMonSendOut: @ 804B868 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _0804B8BC - movs r0, 0 - strh r0, [r5, 0x2E] - bl IsDoubleBattle - lsls r0, 24 - cmp r0, 0 - beq _0804B8B8 - ldr r0, _0804B8B0 @ =gBattleSpritesDataPtr - ldr r0, [r0] - ldr r0, [r0, 0x8] - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0804B8B8 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x3 - bl GetBattlerAtPosition - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0804B8B8 - ldr r0, _0804B8B4 @ =SpriteCB_ReleaseMon2FromBall - b _0804B8BA - .align 2, 0 -_0804B8B0: .4byte gBattleSpritesDataPtr -_0804B8B4: .4byte SpriteCB_ReleaseMon2FromBall -_0804B8B8: - ldr r0, _0804B8C4 @ =sub_804B268 -_0804B8BA: - str r0, [r5, 0x1C] -_0804B8BC: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804B8C4: .4byte sub_804B268 - thumb_func_end SpriteCB_OpponentMonSendOut - - thumb_func_start LaunchBallStarsTaskForPokeball -LaunchBallStarsTaskForPokeball: @ 804B8C8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl LaunchBallStarsTask - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end LaunchBallStarsTaskForPokeball - - thumb_func_start LaunchBallFadeMonTaskForPokeball -LaunchBallFadeMonTaskForPokeball: @ 804B8F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - bl LaunchBallFadeMonTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end LaunchBallFadeMonTaskForPokeball - - thumb_func_start CreatePokeballSpriteToReleaseMon -CreatePokeballSpriteToReleaseMon: @ 804B908 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - mov r9, r2 - mov r10, r3 - ldr r6, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r0, [sp, 0x2C] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0804B9D4 @ =gUnknown_826056C - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _0804B9D8 @ =gUnknown_82605CC - bl LoadCompressedSpritePaletteUsingHeap - ldr r0, _0804B9DC @ =gBallSpriteTemplates - mov r1, r9 - mov r2, r10 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0804B9E0 @ =gSprites - mov r8, r3 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r1, r4, r3 - strh r5, [r1, 0x2E] - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - add r2, r8 - ldrh r0, [r2, 0x20] - strh r0, [r1, 0x38] - ldrh r0, [r2, 0x22] - strh r0, [r1, 0x3A] - mov r0, r9 - strh r0, [r2, 0x20] - mov r3, r10 - strh r3, [r2, 0x22] - strh r7, [r1, 0x30] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x32] - mov r3, sp - ldrh r3, [r3, 0x30] - strh r3, [r1, 0x34] - ldr r3, [sp, 0x30] - lsrs r0, r3, 16 - strh r0, [r1, 0x36] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r6 - strb r0, [r1, 0x5] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _0804B9E4 @ =sub_804B9E8 - str r0, [r4] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - 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 -_0804B9D4: .4byte gUnknown_826056C -_0804B9D8: .4byte gUnknown_82605CC -_0804B9DC: .4byte gBallSpriteTemplates -_0804B9E0: .4byte gSprites -_0804B9E4: .4byte sub_804B9E8 - thumb_func_end CreatePokeballSpriteToReleaseMon - - thumb_func_start sub_804B9E8 -sub_804B9E8: @ 804B9E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0804BA94 - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r4, [r6, 0x34] - ldrh r0, [r6, 0x36] - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0804BA22 - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _0804BA24 -_0804BA22: - movs r5, 0 -_0804BA24: - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r5, 0 - bl LaunchBallStarsTaskForPokeball - movs r0, 0x1 - mov r1, r8 - adds r2, r4, 0 - bl LaunchBallFadeMonTaskForPokeball - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x30] - ldr r0, _0804BA8C @ =sub_804BAA4 - str r0, [r6, 0x1C] - ldr r0, _0804BA90 @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - movs r0, 0x80 - lsls r0, 5 - strh r0, [r4, 0x30] - strh r5, [r6, 0x3C] - b _0804BA98 - .align 2, 0 -_0804BA8C: .4byte sub_804BAA4 -_0804BA90: .4byte gSprites -_0804BA94: - subs r0, r1, 0x1 - strh r0, [r6, 0x30] -_0804BA98: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804B9E8 - - thumb_func_start sub_804BAA4 -sub_804BAA4: @ 804BAA4 - push {r4-r7,lr} - adds r4, r0, 0 - movs r0, 0 - mov r12, r0 - movs r6, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804BACE - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0804BACE: - ldr r0, _0804BB5C @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r5, r1, r0 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804BAF0 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r1, 0x1 - mov r12, r1 -_0804BAF0: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r7, 0x20 - ldrsh r1, [r4, r7] - subs r0, r1 - movs r1, 0x3C - ldrsh r2, [r4, r1] - muls r0, r2 - cmp r0, 0 - bge _0804BB06 - adds r0, 0x7F -_0804BB06: - asrs r0, 7 - ldrh r7, [r4, 0x20] - adds r0, r7 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r7, 0x22 - ldrsh r1, [r4, r7] - subs r0, r1 - muls r0, r2 - cmp r0, 0 - bge _0804BB22 - adds r0, 0x7F -_0804BB22: - asrs r0, 7 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r3, [r5, 0x20] - strh r0, [r5, 0x22] - ldrh r2, [r4, 0x3C] - movs r7, 0x3C - ldrsh r0, [r4, r7] - cmp r0, 0x7F - bgt _0804BB64 - ldr r1, _0804BB60 @ =gSineTable - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0804BB48 - adds r0, 0x7 -_0804BB48: - asrs r0, 3 - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - adds r1, r2, 0x4 - strh r1, [r4, 0x3C] - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _0804BB72 - .align 2, 0 -_0804BB5C: .4byte gSprites -_0804BB60: .4byte gSineTable -_0804BB64: - ldrh r0, [r4, 0x38] - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x3A] - strh r0, [r5, 0x22] - strh r6, [r5, 0x24] - strh r6, [r5, 0x26] - movs r6, 0x1 -_0804BB72: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804BB90 - mov r2, r12 - cmp r2, 0 - beq _0804BB90 - cmp r6, 0 - beq _0804BB90 - adds r0, r4, 0 - bl DestroySpriteAndFreeResources -_0804BB90: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804BAA4 - - thumb_func_start CreateTradePokeballSprite -CreateTradePokeballSprite: @ 804BB98 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x20] - ldr r4, [sp, 0x24] - ldr r0, [sp, 0x28] - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _0804BC3C @ =gUnknown_826056C - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _0804BC40 @ =gUnknown_82605CC - bl LoadCompressedSpritePaletteUsingHeap - ldr r0, _0804BC44 @ =gBallSpriteTemplates - adds r1, r6, 0 - mov r2, r8 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0804BC48 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r2, r3, r6 - mov r1, r10 - strh r1, [r2, 0x2E] - mov r4, r9 - strh r4, [r2, 0x30] - strh r7, [r2, 0x32] - mov r1, sp - ldrh r1, [r1, 0x2C] - strh r1, [r2, 0x34] - ldr r4, [sp, 0x2C] - lsrs r1, r4, 16 - strh r1, [r2, 0x36] - movs r1, 0x3 - ands r5, r1 - lsls r5, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r5 - strb r1, [r2, 0x5] - adds r6, 0x1C - adds r3, r6 - ldr r1, _0804BC4C @ =sub_804BC50 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804BC3C: .4byte gUnknown_826056C -_0804BC40: .4byte gUnknown_82605CC -_0804BC44: .4byte gBallSpriteTemplates -_0804BC48: .4byte gSprites -_0804BC4C: .4byte sub_804BC50 - thumb_func_end CreateTradePokeballSprite - - thumb_func_start sub_804BC50 -sub_804BC50: @ 804BC50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0804BCE8 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r5, [r4, 0x34] - ldrh r0, [r4, 0x36] - lsls r0, 16 - orrs r5, r0 - adds r0, r4, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0804BC8A - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _0804BC8C -_0804BC8A: - movs r6, 0 -_0804BC8C: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r6, 0 - bl LaunchBallStarsTaskForPokeball - movs r0, 0x1 - mov r1, r8 - adds r2, r5, 0 - bl LaunchBallFadeMonTaskForPokeball - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x30] - ldr r0, _0804BCE0 @ =sub_804BCF8 - str r0, [r4, 0x1C] - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, _0804BCE4 @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - strh r5, [r4, 0x30] - b _0804BCEC - .align 2, 0 -_0804BCE0: .4byte sub_804BCF8 -_0804BCE4: .4byte gSprites -_0804BCE8: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_0804BCEC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804BC50 - - thumb_func_start sub_804BCF8 -sub_804BCF8: @ 804BCF8 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _0804BD10 - movs r0, 0x35 - bl PlaySE -_0804BD10: - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0804BD4C @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804BD54 - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r5, 0x38] - ldr r0, _0804BD50 @ =sub_804BD6C - str r0, [r5, 0x1C] - b _0804BD64 - .align 2, 0 -_0804BD4C: .4byte gSprites -_0804BD50: .4byte sub_804BD6C -_0804BD54: - ldrh r0, [r4, 0x30] - adds r0, 0x60 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - asrs r0, 8 - strh r0, [r4, 0x26] -_0804BD64: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_804BCF8 - - thumb_func_start sub_804BD6C -sub_804BD6C: @ 804BD6C - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0804BD80 - ldr r0, _0804BD84 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0804BD80: - pop {r0} - bx r0 - .align 2, 0 -_0804BD84: .4byte SpriteCallbackDummy - thumb_func_end sub_804BD6C - - thumb_func_start DestroySpriteAndFreeResources2 -DestroySpriteAndFreeResources2: @ 804BD88 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end DestroySpriteAndFreeResources2 - - thumb_func_start sub_804BD94 -sub_804BD94: @ 804BD94 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _0804BE14 @ =gHealthboxSpriteIds - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _0804BE18 @ =gSprites - adds r4, r0, r6 - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x73 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - ldr r0, _0804BE1C @ =sub_804BE48 - str r0, [r4, 0x1C] - adds r0, r5, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0804BDE2 - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_0804BDE2: - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - adds r0, r5, 0 - bl GetBattlerPosition - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0804BE0C - ldr r0, _0804BE20 @ =sub_804BE24 - str r0, [r4, 0x1C] -_0804BE0C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804BE14: .4byte gHealthboxSpriteIds -_0804BE18: .4byte gSprites -_0804BE1C: .4byte sub_804BE48 -_0804BE20: .4byte sub_804BE24 - thumb_func_end sub_804BD94 - - thumb_func_start sub_804BE24 -sub_804BE24: @ 804BE24 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _0804BE3E - movs r0, 0 - strh r0, [r1, 0x30] - ldr r0, _0804BE44 @ =sub_804BE48 - str r0, [r1, 0x1C] -_0804BE3E: - pop {r0} - bx r0 - .align 2, 0 -_0804BE44: .4byte sub_804BE48 - thumb_func_end sub_804BE24 - - thumb_func_start sub_804BE48 -sub_804BE48: @ 804BE48 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - ldrh r1, [r2, 0x30] - subs r0, r1 - strh r0, [r2, 0x26] - ldr r0, [r2, 0x24] - cmp r0, 0 - bne _0804BE66 - ldr r0, _0804BE6C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0804BE66: - pop {r0} - bx r0 - .align 2, 0 -_0804BE6C: .4byte SpriteCallbackDummy - thumb_func_end sub_804BE48 - - thumb_func_start DoHitAnimHealthboxEffect -DoHitAnimHealthboxEffect: @ 804BE70 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0804BEA8 @ =SpriteCB_HitAnimHealthoxEffect - adds r0, r5, 0 - bl CreateInvisibleSpriteWithCallback - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0804BEAC @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _0804BEB0 @ =gHealthboxSpriteIds - adds r4, r0 - ldrb r0, [r4] - strh r0, [r3, 0x30] - adds r2, 0x1C - adds r1, r2 - str r5, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0804BEA8: .4byte SpriteCB_HitAnimHealthoxEffect -_0804BEAC: .4byte gSprites -_0804BEB0: .4byte gHealthboxSpriteIds - thumb_func_end DoHitAnimHealthboxEffect - - thumb_func_start SpriteCB_HitAnimHealthoxEffect -SpriteCB_HitAnimHealthoxEffect: @ 804BEB4 - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0804BEF0 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r0, [r3, 0x2E] - movs r2, 0 - strh r0, [r1, 0x26] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _0804BEEC - strh r2, [r1, 0x24] - strh r2, [r1, 0x26] - adds r0, r3, 0 - bl DestroySprite -_0804BEEC: - pop {r0} - bx r0 - .align 2, 0 -_0804BEF0: .4byte gSprites - thumb_func_end SpriteCB_HitAnimHealthoxEffect - - thumb_func_start LoadBallGfx -LoadBallGfx: @ 804BEF4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0804BF50 @ =gUnknown_826056C - lsls r6, r4, 3 - adds r5, r6, r0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _0804BF54 @ =0xffff0000 - cmp r0, r1 - bne _0804BF1C - adds r0, r5, 0 - bl LoadCompressedSpriteSheetUsingHeap - ldr r0, _0804BF58 @ =gUnknown_82605CC - adds r0, r6, r0 - bl LoadCompressedSpritePaletteUsingHeap -_0804BF1C: - cmp r4, 0x6 - beq _0804BF48 - cmp r4, 0x6 - blt _0804BF2C - cmp r4, 0xB - bgt _0804BF2C - cmp r4, 0xA - bge _0804BF48 -_0804BF2C: - ldr r1, _0804BF50 @ =gUnknown_826056C - lsls r0, r4, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - ldr r0, _0804BF5C @ =gFile_graphics_interface_ball_Open_sheet - lsrs r1, 11 - ldr r2, _0804BF60 @ =0x06010100 - adds r1, r2 - bl LZDecompressVram -_0804BF48: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804BF50: .4byte gUnknown_826056C -_0804BF54: .4byte 0xffff0000 -_0804BF58: .4byte gUnknown_82605CC -_0804BF5C: .4byte gFile_graphics_interface_ball_Open_sheet -_0804BF60: .4byte 0x06010100 - thumb_func_end LoadBallGfx - - thumb_func_start FreeBallGfx -FreeBallGfx: @ 804BF64 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _0804BF88 @ =gUnknown_826056C - lsrs r4, 21 - adds r0, r4, r0 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, _0804BF8C @ =gUnknown_82605CC - adds r4, r0 - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804BF88: .4byte gUnknown_826056C -_0804BF8C: .4byte gUnknown_82605CC - thumb_func_end FreeBallGfx - - thumb_func_start GetBankPokeballItemId -GetBankPokeballItemId: @ 804BF90 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - beq _0804BFBC - ldr r1, _0804BFB4 @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804BFB8 @ =gEnemyParty - b _0804BFCA - .align 2, 0 -_0804BFB4: .4byte gBattlerPartyIndexes -_0804BFB8: .4byte gEnemyParty -_0804BFBC: - ldr r1, _0804BFDC @ =gBattlerPartyIndexes - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0804BFE0 @ =gPlayerParty -_0804BFCA: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0804BFDC: .4byte gBattlerPartyIndexes -_0804BFE0: .4byte gPlayerParty - thumb_func_end GetBankPokeballItemId - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/shop.s b/asm/shop.s deleted file mode 100644 index ca92ff4b7..000000000 --- a/asm/shop.s +++ /dev/null @@ -1,3563 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809AAB0 -sub_809AAB0: @ 809AAB0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - bl sub_809AB7C - ldr r4, _0809AAE8 @ =gUnknown_2039934 - movs r1, 0xF - ands r1, r0 - ldrb r2, [r4, 0x16] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x16] - movs r0, 0 - strh r0, [r4, 0xC] - bl ContextNpcGetTextColor - lsls r0, 24 - cmp r0, 0 - bne _0809AAF0 - ldrh r0, [r4, 0x16] - ldr r1, _0809AAEC @ =0xfffffe0f - ands r1, r0 - movs r0, 0x40 - b _0809AAF8 - .align 2, 0 -_0809AAE8: .4byte gUnknown_2039934 -_0809AAEC: .4byte 0xfffffe0f -_0809AAF0: - ldrh r0, [r4, 0x16] - ldr r1, _0809AB68 @ =0xfffffe0f - ands r1, r0 - movs r0, 0x50 -_0809AAF8: - orrs r1, r0 - strh r1, [r4, 0x16] - ldr r4, _0809AB6C @ =gUnknown_2039950 - ldr r0, _0809AB70 @ =gUnknown_83DF0BC - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStdWindowBorderStyle - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r4] - movs r6, 0x10 - str r6, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - ldr r1, _0809AB74 @ =gUnknown_83DF09C - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x2 - bl PrintTextArray - ldrb r0, [r4] - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl CopyWindowToVram - ldr r0, _0809AB78 @ =sub_809AC10 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809AB68: .4byte 0xfffffe0f -_0809AB6C: .4byte gUnknown_2039950 -_0809AB70: .4byte gUnknown_83DF0BC -_0809AB74: .4byte gUnknown_83DF09C -_0809AB78: .4byte sub_809AC10 - thumb_func_end sub_809AAB0 - - thumb_func_start sub_809AB7C -sub_809AB7C: @ 809AB7C - push {r4,r5,lr} - cmp r0, 0 - beq _0809AB8C - lsls r0, 24 - lsrs r0, 24 - b _0809ABCE -_0809AB88: - movs r0, 0x1 - b _0809ABCE -_0809AB8C: - movs r4, 0 - ldr r1, _0809ABD4 @ =gUnknown_2039934 - ldrh r0, [r1, 0x10] - cmp r4, r0 - bcs _0809ABCC - ldr r0, [r1, 0x4] - ldrh r0, [r0] - cmp r0, 0 - beq _0809ABCC - adds r5, r1, 0 -_0809ABA0: - ldr r1, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0809AB88 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r5, 0x10] - cmp r4, r0 - bcs _0809ABCC - ldr r0, [r5, 0x4] - lsls r1, r4, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0809ABA0 -_0809ABCC: - movs r0, 0 -_0809ABCE: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809ABD4: .4byte gUnknown_2039934 - thumb_func_end sub_809AB7C - - thumb_func_start sub_809ABD8 -sub_809ABD8: @ 809ABD8 - push {lr} - adds r1, r0, 0 - ldr r2, _0809AC00 @ =gUnknown_2039934 - str r1, [r2, 0x4] - movs r0, 0 - strh r0, [r2, 0x10] - ldrh r0, [r1] - cmp r0, 0 - beq _0809ABFC -_0809ABEA: - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x10] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0809ABEA -_0809ABFC: - pop {r0} - bx r0 - .align 2, 0 -_0809AC00: .4byte gUnknown_2039934 - thumb_func_end sub_809ABD8 - - thumb_func_start sub_809AC04 -sub_809AC04: @ 809AC04 - ldr r1, _0809AC0C @ =gUnknown_2039934 - str r0, [r1] - bx lr - .align 2, 0 -_0809AC0C: .4byte gUnknown_2039934 - thumb_func_end sub_809AC04 - - thumb_func_start sub_809AC10 -sub_809AC10: @ 809AC10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809AC52 - adds r0, 0x1 - cmp r1, r0 - bne _0809AC3C - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_809ACF8 - b _0809AC52 -_0809AC3C: - ldr r4, _0809AC58 @ =gUnknown_83DF09C - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_0809AC52: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809AC58: .4byte gUnknown_83DF09C - thumb_func_end sub_809AC10 - - thumb_func_start sub_809AC5C -sub_809AC5C: @ 809AC5C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0809AC8C @ =sub_809AE14 - adds r0, r4, 0 - movs r1, 0xE - bl SetWordTaskArg - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _0809AC90 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809AC94 @ =sub_809AD40 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AC8C: .4byte sub_809AE14 -_0809AC90: .4byte gTasks -_0809AC94: .4byte sub_809AD40 - thumb_func_end sub_809AC5C - - thumb_func_start sub_809AC98 -sub_809AC98: @ 809AC98 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0809ACC8 @ =sub_809ACD4 - adds r0, r4, 0 - movs r1, 0xE - bl SetWordTaskArg - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _0809ACCC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809ACD0 @ =sub_809AD40 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ACC8: .4byte sub_809ACD4 -_0809ACCC: .4byte gTasks -_0809ACD0: .4byte sub_809AD40 - thumb_func_end sub_809AC98 - - thumb_func_start sub_809ACD4 -sub_809ACD4: @ 809ACD4 - push {lr} - ldr r2, _0809ACEC @ =CB2_ReturnToField - movs r0, 0x2 - movs r1, 0x3 - bl GoToBagMenu - ldr r1, _0809ACF0 @ =gFieldCallback - ldr r0, _0809ACF4 @ =sub_809AD74 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809ACEC: .4byte CB2_ReturnToField -_0809ACF0: .4byte gFieldCallback -_0809ACF4: .4byte sub_809AD74 - thumb_func_end sub_809ACD4 - - thumb_func_start sub_809ACF8 -sub_809ACF8: @ 809ACF8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809AD24 - bl sub_809C138 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0809AD20 @ =gUnknown_2039934 - ldr r0, [r0] - cmp r0, 0 - beq _0809AD1A - bl _call_via_r0 -_0809AD1A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD20: .4byte gUnknown_2039934 - thumb_func_end sub_809ACF8 - - thumb_func_start sub_809AD24 -sub_809AD24: @ 809AD24 - push {r4,lr} - ldr r4, _0809AD3C @ =gUnknown_2039950 - ldrb r0, [r4] - movs r1, 0x2 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD3C: .4byte gUnknown_2039950 - thumb_func_end sub_809AD24 - - thumb_func_start sub_809AD40 -sub_809AD40: @ 809AD40 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809AD70 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809AD68 - adds r0, r4, 0 - movs r1, 0xE - bl GetWordTaskArg - bl SetMainCallback2 - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl DestroyTask -_0809AD68: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD70: .4byte gPaletteFade - thumb_func_end sub_809AD40 - - thumb_func_start sub_809AD74 -sub_809AD74: @ 809AD74 - push {lr} - bl sub_807DC00 - ldr r0, _0809AD88 @ =sub_809AD8C - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0809AD88: .4byte sub_809AD8C - thumb_func_end sub_809AD74 - - thumb_func_start sub_809AD8C -sub_809AD8C: @ 809AD8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsWeatherNotFadingIn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809ADB2 - bl sub_809B56C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0809ADB8 @ =gUnknown_841689E - ldr r3, _0809ADBC @ =sub_809ADC0 - adds r0, r4, 0 - bl DisplayItemMessageOnField -_0809ADB2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ADB8: .4byte gUnknown_841689E -_0809ADBC: .4byte sub_809ADC0 - thumb_func_end sub_809AD8C - - thumb_func_start sub_809ADC0 -sub_809ADC0: @ 809ADC0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809ADE0 @ =gUnknown_2039934 - ldrb r0, [r0, 0x16] - lsls r0, 28 - lsrs r0, 28 - bl sub_809AAB0 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ADE0: .4byte gUnknown_2039934 - thumb_func_end sub_809ADC0 - - thumb_func_start sub_809ADE4 -sub_809ADE4: @ 809ADE4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl DoScheduledBgTilemapCopiesToVram - pop {r0} - bx r0 - thumb_func_end sub_809ADE4 - - thumb_func_start sub_809AE00 -sub_809AE00: @ 809AE00 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_809AE00 - - thumb_func_start sub_809AE14 -sub_809AE14: @ 809AE14 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, _0809AE90 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r5, r0, r1 - ldrb r4, [r5] - cmp r4, 0 - beq _0809AEAC - cmp r4, 0x1 - bne _0809AE2C - b _0809AF54 -_0809AE2C: - ldr r0, _0809AE94 @ =gUnknown_2039934 - movs r5, 0 - strh r5, [r0, 0xC] - strh r5, [r0, 0xE] - bl sub_809B15C - bl sub_809B690 - ldr r0, _0809AE98 @ =sub_809BBC0 - movs r1, 0x8 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809AE9C @ =gMultiuseListMenuTemplate - movs r1, 0 - movs r2, 0 - bl ListMenuInit - ldr r2, _0809AEA0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _0809AEA4 @ =sub_809AE00 - bl SetVBlankCallback - ldr r0, _0809AEA8 @ =sub_809ADE4 - bl SetMainCallback2 - b _0809AF64 - .align 2, 0 -_0809AE90: .4byte gMain -_0809AE94: .4byte gUnknown_2039934 -_0809AE98: .4byte sub_809BBC0 -_0809AE9C: .4byte gMultiuseListMenuTemplate -_0809AEA0: .4byte gTasks -_0809AEA4: .4byte sub_809AE00 -_0809AEA8: .4byte sub_809ADE4 -_0809AEAC: - bl SetVBlankHBlankCallbacksToNull - str r4, [sp, 0x8] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _0809AF4C @ =0x01000100 - add r0, sp, 0x8 - bl CpuFastSet - bl ScanlineEffect_Stop - bl ResetTempTileDataBuffers - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl ClearScheduledBgCopiesToVram - bl ResetItemMenuIconState - bl sub_809AF6C - lsls r0, 24 - cmp r0, 0 - beq _0809AF64 - bl sub_809B188 - lsls r0, 24 - cmp r0, 0 - beq _0809AF64 - bl sub_809AFD0 - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, _0809AF50 @ =gUnknown_2039934 - ldrb r0, [r0, 0x16] - lsls r0, 28 - lsrs r0, 28 - bl BuyMenuInitWindows - bl sub_809B080 - b _0809AF5E - .align 2, 0 -_0809AF4C: .4byte 0x01000100 -_0809AF50: .4byte gUnknown_2039934 -_0809AF54: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - bne _0809AF64 -_0809AF5E: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] -_0809AF64: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809AE14 - - thumb_func_start sub_809AF6C -sub_809AF6C: @ 809AF6C - push {r4,r5,lr} - ldr r4, _0809AFB0 @ =gUnknown_2039954 - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFB4 @ =gUnknown_2039958 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFB8 @ =gUnknown_203995C - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFBC @ =gUnknown_2039960 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - movs r0, 0x1 - b _0809AFCA - .align 2, 0 -_0809AFB0: .4byte gUnknown_2039954 -_0809AFB4: .4byte gUnknown_2039958 -_0809AFB8: .4byte gUnknown_203995C -_0809AFBC: .4byte gUnknown_2039960 -_0809AFC0: - bl sub_809B604 - bl sub_809B670 - movs r0, 0 -_0809AFCA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809AF6C - - thumb_func_start sub_809AFD0 -sub_809AFD0: @ 809AFD0 - push {lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0809B070 @ =gUnknown_83DF0C4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _0809B074 @ =gUnknown_2039958 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _0809B078 @ =gUnknown_2039960 - ldr r1, [r0] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r0, _0809B07C @ =gUnknown_203995C - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - .align 2, 0 -_0809B070: .4byte gUnknown_83DF0C4 -_0809B074: .4byte gUnknown_2039958 -_0809B078: .4byte gUnknown_2039960 -_0809B07C: .4byte gUnknown_203995C - thumb_func_end sub_809AFD0 - - thumb_func_start sub_809B080 -sub_809B080: @ 809B080 - push {r4,lr} - sub sp, 0x4 - ldr r1, _0809B0B0 @ =gUnknown_8E85DC8 - movs r2, 0x90 - lsls r2, 3 - movs r3, 0xF7 - lsls r3, 2 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - bl DecompressAndCopyTileDataToVram - ldr r0, _0809B0B4 @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B0C0 - ldr r0, _0809B0B8 @ =gUnknown_8E85EFC - ldr r1, _0809B0BC @ =gUnknown_2039954 - ldr r1, [r1] - bl LZDecompressWram - b _0809B0CA - .align 2, 0 -_0809B0B0: .4byte gUnknown_8E85DC8 -_0809B0B4: .4byte gUnknown_2039934 -_0809B0B8: .4byte gUnknown_8E85EFC -_0809B0BC: .4byte gUnknown_2039954 -_0809B0C0: - ldr r0, _0809B100 @ =gUnknown_8E86038 - ldr r1, _0809B104 @ =gUnknown_2039954 - ldr r1, [r1] - bl LZDecompressWram -_0809B0CA: - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - ldr r0, _0809B108 @ =gUnknown_8E86170 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x20 - movs r1, 0x60 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B100: .4byte gUnknown_8E86038 -_0809B104: .4byte gUnknown_2039954 -_0809B108: .4byte gUnknown_8E86170 - thumb_func_end sub_809B080 - - thumb_func_start sub_809B10C -sub_809B10C: @ 809B10C - push {lr} - sub sp, 0x8 - movs r2, 0x6 - cmp r0, 0 - bne _0809B118 - movs r2, 0xB -_0809B118: - ldr r0, _0809B138 @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B13C - movs r0, 0x6 - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xE - movs r3, 0x1E - bl SetBgTilemapPalette - b _0809B14E - .align 2, 0 -_0809B138: .4byte gUnknown_2039934 -_0809B13C: - movs r0, 0x8 - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xC - movs r3, 0x1E - bl SetBgTilemapPalette -_0809B14E: - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_809B10C - - thumb_func_start sub_809B15C -sub_809B15C: @ 809B15C - push {lr} - bl sub_809B764 - bl sub_809BAFC - bl BuyMenuDrawMoneyBox - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x3 - bl ScheduleBgCopyTilemapToVram - pop {r0} - bx r0 - thumb_func_end sub_809B15C - - thumb_func_start sub_809B188 -sub_809B188: @ 809B188 - push {r4-r7,lr} - ldr r7, _0809B1C0 @ =gUnknown_2039964 - ldr r4, _0809B1C4 @ =gUnknown_2039934 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - lsls r0, 3 - bl Alloc - str r0, [r7] - cmp r0, 0 - beq _0809B1B2 - ldr r5, _0809B1C8 @ =gUnknown_2039968 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r1, 0xD - muls r0, r1 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _0809B1CC -_0809B1B2: - bl sub_809B604 - bl sub_809B670 - movs r0, 0 - b _0809B2F0 - .align 2, 0 -_0809B1C0: .4byte gUnknown_2039964 -_0809B1C4: .4byte gUnknown_2039934 -_0809B1C8: .4byte gUnknown_2039968 -_0809B1CC: - movs r6, 0 - b _0809B1F2 -_0809B1D0: - lsls r1, r6, 3 - ldr r0, [r7] - adds r0, r1 - ldr r2, [r4, 0x4] - lsls r1, r6, 1 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0xD - adds r3, r6, 0 - muls r3, r2 - ldr r2, [r5] - adds r2, r3 - bl sub_809B300 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0809B1F2: - ldrh r0, [r4, 0x10] - cmp r6, r0 - bcc _0809B1D0 - ldr r5, _0809B2C8 @ =gUnknown_2039968 - movs r0, 0xD - adds r4, r6, 0 - muls r4, r0 - ldr r0, [r5] - adds r0, r4 - ldr r1, _0809B2CC @ =gFameCheckerText_Cancel - bl StringCopy - ldr r0, _0809B2D0 @ =gUnknown_2039964 - ldr r2, [r0] - lsls r1, r6, 3 - adds r1, r2 - ldr r0, [r5] - adds r0, r4 - str r0, [r1] - movs r0, 0x2 - negs r0, r0 - str r0, [r1, 0x4] - ldr r5, _0809B2D4 @ =gMultiuseListMenuTemplate - str r2, [r5] - ldr r6, _0809B2D8 @ =gUnknown_2039934 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0xC] - movs r0, 0x4 - strb r0, [r5, 0x10] - strb r1, [r5, 0x11] - movs r0, 0x9 - strb r0, [r5, 0x12] - movs r0, 0x1 - strb r0, [r5, 0x13] - ldrb r1, [r5, 0x16] - subs r0, 0x9 - ands r0, r1 - movs r1, 0x39 - negs r1, r1 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x16] - ldrb r2, [r5, 0x14] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r3, 0x2 - orrs r0, r3 - strb r0, [r5, 0x14] - ldrb r2, [r5, 0x17] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, 0x17] - ldrb r0, [r5, 0x15] - ands r1, r0 - strb r1, [r5, 0x15] - movs r0, 0x2 - movs r1, 0x5 - bl GetFontAttribute - lsls r0, 4 - ldrb r2, [r5, 0x14] - movs r4, 0xF - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x14] - movs r0, 0x2 - movs r1, 0x7 - bl GetFontAttribute - lsls r0, 4 - ldrb r2, [r5, 0x15] - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x15] - ldr r0, _0809B2DC @ =sub_809B320 - str r0, [r5, 0x4] - ldr r0, _0809B2E0 @ =sub_809B408 - str r0, [r5, 0x8] - ldrb r2, [r5, 0x16] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r5, 0x16] - ldrb r0, [r5, 0x17] - ands r1, r0 - strb r1, [r5, 0x17] - ldrb r0, [r6, 0x16] - ands r4, r0 - movs r1, 0x6 - cmp r4, 0x1 - bne _0809B2BC - movs r1, 0x5 -_0809B2BC: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - cmp r0, r1 - ble _0809B2E4 - strh r1, [r5, 0xE] - b _0809B2E6 - .align 2, 0 -_0809B2C8: .4byte gUnknown_2039968 -_0809B2CC: .4byte gFameCheckerText_Cancel -_0809B2D0: .4byte gUnknown_2039964 -_0809B2D4: .4byte gMultiuseListMenuTemplate -_0809B2D8: .4byte gUnknown_2039934 -_0809B2DC: .4byte sub_809B320 -_0809B2E0: .4byte sub_809B408 -_0809B2E4: - strh r0, [r5, 0xE] -_0809B2E6: - ldr r0, _0809B2F8 @ =gUnknown_2039934 - ldr r1, _0809B2FC @ =gMultiuseListMenuTemplate - ldrh r1, [r1, 0xE] - strh r1, [r0, 0x12] - movs r0, 0x1 -_0809B2F0: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809B2F8: .4byte gUnknown_2039934 -_0809B2FC: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_809B188 - - thumb_func_start sub_809B300 -sub_809B300: @ 809B300 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl CopyItemName - str r6, [r4] - str r5, [r4, 0x4] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809B300 - - thumb_func_start sub_809B320 -sub_809B320: @ 809B320 - push {r4-r7,lr} - sub sp, 0x14 - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0809B334 - movs r0, 0x5 - bl PlaySE -_0809B334: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809B348 - lsls r0, r5, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r7, r0, 0 - b _0809B34A -_0809B348: - ldr r7, _0809B384 @ =gUnknown_8416757 -_0809B34A: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r6, _0809B388 @ =gUnknown_2039934 - ldrb r0, [r6, 0x16] - movs r4, 0xF - ands r4, r0 - cmp r4, 0x1 - beq _0809B3D8 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - movs r0, 0x1 - eors r0, r1 - bl DestroyItemMenuIcon - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809B38C - lsls r0, r5, 16 - lsrs r0, 16 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - bl CreateItemMenuIcon - b _0809B398 - .align 2, 0 -_0809B384: .4byte gUnknown_8416757 -_0809B388: .4byte gUnknown_2039934 -_0809B38C: - ldr r0, _0809B3D0 @ =0x00000177 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - bl CreateItemMenuIcon -_0809B398: - ldr r3, _0809B3D4 @ =gUnknown_2039934 - ldrb r2, [r3, 0x17] - lsls r0, r2, 29 - lsrs r0, 30 - movs r1, 0x1 - eors r1, r0 - lsls r1, 1 - movs r0, 0x7 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x17] - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x2 - adds r2, r7, 0 - movs r3, 0 - bl BuyMenuPrint - b _0809B400 - .align 2, 0 -_0809B3D0: .4byte 0x00000177 -_0809B3D4: .4byte gUnknown_2039934 -_0809B3D8: - movs r0, 0x6 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl sub_809B494 - movs r0, 0x3 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x2 - adds r2, r7, 0 - movs r3, 0x2 - bl BuyMenuPrint -_0809B400: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809B320 - - thumb_func_start sub_809B408 -sub_809B408: @ 809B408 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809B480 - ldr r4, _0809B488 @ =gStringVar1 - lsls r0, r1, 16 - lsrs r0, 16 - bl itemid_get_market_price - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x4 - subs r1, r0 - ldr r2, _0809B48C @ =gStringVar4 - adds r0, r1, 0 - subs r1, 0x1 - cmp r0, 0 - beq _0809B45C - movs r3, 0 -_0809B450: - strb r3, [r2] - adds r2, 0x1 - adds r0, r1, 0 - subs r1, 0x1 - cmp r0, 0 - bne _0809B450 -_0809B45C: - ldr r1, _0809B490 @ =gText_PokedollarVar1 - adds r0, r2, 0 - bl StringExpandPlaceholders - ldr r2, _0809B48C @ =gStringVar4 - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - movs r3, 0x69 - bl BuyMenuPrint -_0809B480: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B488: .4byte gStringVar1 -_0809B48C: .4byte gStringVar4 -_0809B490: .4byte gText_PokedollarVar1 - thumb_func_end sub_809B408 - - thumb_func_start sub_809B494 -sub_809B494: @ 809B494 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r7, r0 - beq _0809B528 - ldr r4, _0809B514 @ =gStringVar1 - ldr r0, _0809B518 @ =0xfffffee0 - adds r1, r7, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _0809B51C @ =gStringVar4 - ldr r1, _0809B520 @ =gOtherText_UnkF9_08_Clear_01 - adds r0, r5, 0 - bl StringCopy - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r6, 0x1 - str r6, [sp, 0x10] - movs r0, 0x6 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0 - bl BuyMenuPrint - lsls r0, r7, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _0809B524 @ =gMoveNames - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - movs r0, 0x10 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x6 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl BuyMenuPrint - b _0809B55C - .align 2, 0 -_0809B514: .4byte gStringVar1 -_0809B518: .4byte 0xfffffee0 -_0809B51C: .4byte gStringVar4 -_0809B520: .4byte gOtherText_UnkF9_08_Clear_01 -_0809B524: .4byte gMoveNames -_0809B528: - ldr r2, _0809B564 @ =gText_ThreeHyphens - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r5, 0x1 - str r5, [sp, 0x10] - movs r0, 0x6 - movs r1, 0 - movs r3, 0 - bl BuyMenuPrint - ldr r2, _0809B568 @ =gUnknown_8416217 - movs r0, 0x10 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r5, [sp, 0x10] - movs r0, 0x6 - movs r1, 0x2 - movs r3, 0 - bl BuyMenuPrint -_0809B55C: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809B564: .4byte gText_ThreeHyphens -_0809B568: .4byte gUnknown_8416217 - thumb_func_end sub_809B494 - - thumb_func_start sub_809B56C -sub_809B56C: @ 809B56C - ldr r0, _0809B578 @ =gUnknown_2039934 - ldrh r0, [r0, 0x16] - lsls r0, 23 - lsrs r0, 27 - bx lr - .align 2, 0 -_0809B578: .4byte gUnknown_2039934 - thumb_func_end sub_809B56C - - thumb_func_start sub_809B57C -sub_809B57C: @ 809B57C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_809B59C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809B57C - - thumb_func_start sub_809B59C -sub_809B59C: @ 809B59C - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _0809B5E0 - movs r0, 0x2 - movs r1, 0 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0x4 - movs r1, 0 - movs r2, 0x1 - adds r3, r5, 0 - bl FillWindowPixelRect - movs r0, 0x4 - movs r1, 0x2 - bl CopyWindowToVram - b _0809B5F8 -_0809B5E0: - ldr r2, _0809B600 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x4 - movs r1, 0x2 - movs r3, 0x1 - bl BuyMenuPrint -_0809B5F8: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809B600: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_809B59C - - thumb_func_start sub_809B604 -sub_809B604: @ 809B604 - push {lr} - ldr r0, _0809B658 @ =gUnknown_2039954 - ldr r0, [r0] - cmp r0, 0 - beq _0809B612 - bl Free -_0809B612: - ldr r0, _0809B65C @ =gUnknown_2039958 - ldr r0, [r0] - cmp r0, 0 - beq _0809B61E - bl Free -_0809B61E: - ldr r0, _0809B660 @ =gUnknown_203995C - ldr r0, [r0] - cmp r0, 0 - beq _0809B62A - bl Free -_0809B62A: - ldr r0, _0809B664 @ =gUnknown_2039960 - ldr r0, [r0] - cmp r0, 0 - beq _0809B636 - bl Free -_0809B636: - ldr r0, _0809B668 @ =gUnknown_2039964 - ldr r0, [r0] - cmp r0, 0 - beq _0809B642 - bl Free -_0809B642: - ldr r0, _0809B66C @ =gUnknown_2039968 - ldr r0, [r0] - cmp r0, 0 - beq _0809B64E - bl Free -_0809B64E: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0809B658: .4byte gUnknown_2039954 -_0809B65C: .4byte gUnknown_2039958 -_0809B660: .4byte gUnknown_203995C -_0809B664: .4byte gUnknown_2039960 -_0809B668: .4byte gUnknown_2039964 -_0809B66C: .4byte gUnknown_2039968 - thumb_func_end sub_809B604 - - thumb_func_start sub_809B670 -sub_809B670: @ 809B670 - push {lr} - ldr r0, _0809B684 @ =gFieldCallback - ldr r1, _0809B688 @ =sub_809AD74 - str r1, [r0] - ldr r0, _0809B68C @ =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0809B684: .4byte gFieldCallback -_0809B688: .4byte sub_809AD74 -_0809B68C: .4byte CB2_ReturnToField - thumb_func_end sub_809B670 - - thumb_func_start sub_809B690 -sub_809B690: @ 809B690 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0809B6C0 @ =gUnknown_2039934 - ldrb r1, [r4, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B6C4 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0xE - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x68 - b _0809B6E2 - .align 2, 0 -_0809B6C0: .4byte gUnknown_2039934 -_0809B6C4: - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0xE - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x58 -_0809B6E2: - bl AddScrollIndicatorArrowPairParameterized - lsls r0, 3 - ldrb r2, [r4, 0x17] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x17] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809B690 - - thumb_func_start sub_809B6FC -sub_809B6FC: @ 809B6FC - push {r4,lr} - sub sp, 0x10 - ldr r4, _0809B738 @ =gUnknown_2039934 - movs r0, 0x1 - strh r0, [r4, 0x18] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0x18 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - lsls r0, 3 - ldrb r2, [r4, 0x17] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x17] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B738: .4byte gUnknown_2039934 - thumb_func_end sub_809B6FC - - thumb_func_start sub_809B73C -sub_809B73C: @ 809B73C - push {r4,lr} - ldr r4, _0809B760 @ =gUnknown_2039934 - ldrb r1, [r4, 0x17] - movs r0, 0xF8 - ands r0, r1 - cmp r0, 0xF8 - beq _0809B758 - lsrs r0, r1, 3 - bl RemoveScrollIndicatorArrowPair - ldrb r0, [r4, 0x17] - movs r1, 0xF8 - orrs r0, r1 - strb r0, [r4, 0x17] -_0809B758: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B760: .4byte gUnknown_2039934 - thumb_func_end sub_809B73C - - thumb_func_start sub_809B764 -sub_809B764: @ 809B764 - push {lr} - bl sub_809B92C - bl sub_809BA40 - bl sub_809B778 - pop {r0} - bx r0 - thumb_func_end sub_809B764 - - thumb_func_start sub_809B778 -sub_809B778: @ 809B778 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _0809B804 @ =gMapHeader - ldr r0, [r0] - mov r9, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r1, sp - mov r0, sp - ldrh r0, [r0] - subs r0, 0x2 - strh r0, [r1] - ldrh r0, [r4] - subs r0, 0x3 - strh r0, [r4] - movs r1, 0 - mov r10, r4 -_0809B7AA: - movs r4, 0 - lsls r1, 16 - mov r8, r1 - asrs r7, r1, 16 -_0809B7B2: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r6 - mov r2, r10 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r1, r7 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - ldrh r0, [r0] - adds r0, r6, r0 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - ldrh r1, [r2] - adds r1, r7, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0809B808 @ =0x0000027f - cmp r5, r0 - bhi _0809B80C - mov r1, r9 - ldr r0, [r1, 0x10] - lsls r1, r5, 4 - ldr r2, [r0, 0xC] - adds r2, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_809B850 - b _0809B822 - .align 2, 0 -_0809B804: .4byte gMapHeader -_0809B808: .4byte 0x0000027f -_0809B80C: - mov r2, r9 - ldr r0, [r2, 0x14] - ldr r2, _0809B84C @ =0xfffffd80 - adds r1, r5, r2 - lsls r1, 4 - ldr r2, [r0, 0xC] - adds r2, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_809B850 -_0809B822: - movs r3, 0x80 - lsls r3, 9 - adds r0, r4, r3 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0809B7B2 - adds r0, r3, 0 - add r0, r8 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _0809B7AA - 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 -_0809B84C: .4byte 0xfffffd80 - thumb_func_end sub_809B778 - - thumb_func_start sub_809B850 -sub_809B850: @ 809B850 - push {r4-r6,lr} - adds r6, r2, 0 - lsls r3, 24 - lsrs r3, 24 - adds r2, r3, 0 - lsls r0, 17 - lsrs r5, r0, 16 - lsls r1, 22 - movs r0, 0x80 - lsls r0, 15 - adds r1, r0 - lsrs r1, 16 - cmp r3, 0x1 - beq _0809B8A0 - cmp r3, 0x1 - bgt _0809B876 - cmp r3, 0 - beq _0809B87C - b _0809B8F6 -_0809B876: - cmp r2, 0x2 - beq _0809B8D0 - b _0809B8F6 -_0809B87C: - ldr r0, _0809B898 @ =gUnknown_2039960 - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B89C @ =gUnknown_2039958 - b _0809B8B8 - .align 2, 0 -_0809B898: .4byte gUnknown_2039960 -_0809B89C: .4byte gUnknown_2039958 -_0809B8A0: - ldr r0, _0809B8C8 @ =gUnknown_203995C - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B8CC @ =gUnknown_2039960 -_0809B8B8: - ldr r0, [r0] - adds r3, r6, 0 - adds r3, 0x8 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809B904 - b _0809B8F6 - .align 2, 0 -_0809B8C8: .4byte gUnknown_203995C -_0809B8CC: .4byte gUnknown_2039960 -_0809B8D0: - ldr r0, _0809B8FC @ =gUnknown_203995C - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B900 @ =gUnknown_2039958 - ldr r0, [r0] - adds r3, r6, 0 - adds r3, 0x8 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809B904 -_0809B8F6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B8FC: .4byte gUnknown_203995C -_0809B900: .4byte gUnknown_2039958 - thumb_func_end sub_809B850 - - thumb_func_start sub_809B904 -sub_809B904: @ 809B904 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1, 0x2] - adds r2, r1, 0 - adds r2, 0x40 - ldrh r0, [r3, 0x4] - strh r0, [r2] - adds r1, 0x42 - ldrh r0, [r3, 0x6] - strh r0, [r1] - bx lr - thumb_func_end sub_809B904 - - thumb_func_start sub_809B92C -sub_809B92C: @ 809B92C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r9, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r5, 0 - ldr r2, _0809B9DC @ =gUnknown_20398B4 - movs r1, 0x10 -_0809B958: - lsls r0, r5, 3 - adds r0, r2 - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0809B958 - movs r5, 0 - ldr r6, _0809B9E0 @ =gUnknown_20398BA - subs r1, r6, 0x6 - mov r8, r1 -_0809B970: - movs r4, 0 - adds r2, r5, 0x1 - mov r10, r2 -_0809B976: - mov r1, sp - ldr r3, _0809B9E4 @ =0x0000fffd - adds r0, r3, 0 - ldrh r1, [r1] - adds r0, r1 - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0809B9E8 @ =0x0000fffe - adds r1, r2, 0 - mov r3, sp - ldrh r3, [r3, 0x2] - adds r1, r3 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _0809BA1C - mov r0, r9 - lsls r2, r0, 3 - mov r1, r8 - adds r0, r2, r1 - movs r7, 0 - strh r3, [r0] - mov r0, r8 - adds r0, 0x2 - adds r0, r2, r0 - strh r4, [r0] - ldr r1, _0809B9EC @ =gUnknown_20398B8 - adds r0, r2, r1 - strh r5, [r0] - ldr r1, _0809B9F0 @ =gMapObjects - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x2 - beq _0809BA00 - cmp r0, 0x2 - bgt _0809B9F4 - cmp r0, 0x1 - beq _0809B9FA - b _0809BA0C - .align 2, 0 -_0809B9DC: .4byte gUnknown_20398B4 -_0809B9E0: .4byte gUnknown_20398BA -_0809B9E4: .4byte 0x0000fffd -_0809B9E8: .4byte 0x0000fffe -_0809B9EC: .4byte gUnknown_20398B8 -_0809B9F0: .4byte gMapObjects -_0809B9F4: - cmp r0, 0x3 - beq _0809BA06 - b _0809BA0C -_0809B9FA: - adds r0, r2, r6 - strh r7, [r0] - b _0809BA12 -_0809BA00: - adds r1, r2, r6 - movs r0, 0x1 - b _0809BA10 -_0809BA06: - adds r1, r2, r6 - movs r0, 0x2 - b _0809BA10 -_0809BA0C: - adds r1, r2, r6 - movs r0, 0x3 -_0809BA10: - strh r0, [r1] -_0809BA12: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0809BA1C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _0809B976 - mov r2, r10 - lsls r0, r2, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0809B970 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809B92C - - thumb_func_start sub_809BA40 -sub_809BA40: @ 809BA40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r6, 0 - ldr r7, _0809BAE8 @ =gUnknown_20398B4 - ldr r0, _0809BAEC @ =gMapObjects - mov r8, r0 - adds r1, r7, 0x6 - mov r9, r1 -_0809BA56: - lsls r5, r6, 3 - adds r4, r5, r7 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - beq _0809BACE - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - movs r1, 0 - ldrsh r2, [r4, r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - add r1, r8 - ldrb r4, [r1, 0x5] - adds r1, r7, 0x2 - adds r1, r5, r1 - ldrh r2, [r1] - lsls r2, 20 - ldr r1, _0809BAF0 @ =0xfff80000 - adds r2, r1 - asrs r2, 16 - adds r1, r7, 0x4 - adds r1, r5, r1 - ldrh r3, [r1] - lsls r3, 4 - movs r1, 0xA - ldrsh r0, [r0, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - subs r0, 0x30 - subs r3, r0 - lsls r3, 16 - asrs r3, 16 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - ldr r1, _0809BAF4 @ =SpriteCallbackDummy - bl AddPseudoEventObject - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0809BAF8 @ =gSprites - adds r2, r0 - mov r1, r9 - adds r0, r5, r1 - ldrb r1, [r0] - adds r0, r2, 0 - bl StartSpriteAnim -_0809BACE: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0809BA56 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BAE8: .4byte gUnknown_20398B4 -_0809BAEC: .4byte gMapObjects -_0809BAF0: .4byte 0xfff80000 -_0809BAF4: .4byte SpriteCallbackDummy -_0809BAF8: .4byte gSprites - thumb_func_end sub_809BA40 - - thumb_func_start sub_809BAFC -sub_809BAFC: @ 809BAFC - push {r4-r6,lr} - ldr r0, _0809BB34 @ =gUnknown_2039958 - ldr r4, [r0] - ldr r0, _0809BB38 @ =gUnknown_2039954 - ldr r3, [r0] - movs r1, 0 - ldr r0, _0809BB3C @ =0x0000b3dc - adds r6, r0, 0 - ldr r5, _0809BB40 @ =0x000003ff -_0809BB0E: - lsls r0, r1, 16 - asrs r2, r0, 16 - lsls r1, r2, 1 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _0809BB22 - adds r1, r4 - adds r0, r6 - strh r0, [r1] -_0809BB22: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, r5 - ble _0809BB0E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BB34: .4byte gUnknown_2039958 -_0809BB38: .4byte gUnknown_2039954 -_0809BB3C: .4byte 0x0000b3dc -_0809BB40: .4byte 0x000003ff - thumb_func_end sub_809BAFC - - thumb_func_start sub_809BB44 -sub_809BB44: @ 809BB44 - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0809BBAC @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _0809BBB0 @ =gUnknown_2039934 - ldr r3, [r0, 0x8] - movs r0, 0xFF - str r0, [sp] - movs r0, 0x3 - movs r1, 0x36 - movs r2, 0xA - bl PrintMoneyAmount - ldr r0, _0809BBB4 @ =gStringVar1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, _0809BBB8 @ =gStringVar4 - ldr r1, _0809BBBC @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl BuyMenuPrint - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809BBAC: .4byte gTasks+0x8 -_0809BBB0: .4byte gUnknown_2039934 -_0809BBB4: .4byte gStringVar1 -_0809BBB8: .4byte gStringVar4 -_0809BBBC: .4byte gText_TimesStrVar1 - thumb_func_end sub_809BB44 - - thumb_func_start sub_809BBC0 -sub_809BBC0: @ 809BBC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0809BC00 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0809BC04 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809BC8E - ldrb r0, [r5, 0xE] - bl ListMenu_ProcessInput - adds r4, r0, 0 - ldrb r0, [r5, 0xE] - ldr r7, _0809BC08 @ =gUnknown_2039942 - subs r2, r7, 0x2 - adds r1, r7, 0 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0809BC0C - adds r0, 0x1 - cmp r4, r0 - bne _0809BC1A - b _0809BC8E - .align 2, 0 -_0809BC00: .4byte gTasks+0x8 -_0809BC04: .4byte gPaletteFade -_0809BC08: .4byte gUnknown_2039942 -_0809BC0C: - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_809C004 - b _0809BC8E -_0809BC1A: - movs r0, 0x5 - bl PlaySE - strh r4, [r5, 0xA] - movs r0, 0x5 - bl ClearWindowTilemap - bl sub_809B73C - ldrb r0, [r5, 0xE] - movs r1, 0x2 - bl sub_809B57C - movs r0, 0x1 - bl sub_809B10C - lsls r0, r4, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl itemid_get_market_price - adds r1, r0, 0 - adds r0, r7, 0 - subs r0, 0xE - lsls r1, 16 - lsrs r1, 16 - str r1, [r0, 0x8] - ldr r0, _0809BC70 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0xA4 - lsls r2, 2 - adds r0, r2 - bl IsEnoughMoney - lsls r0, 24 - cmp r0, 0 - bne _0809BC7C - ldr r1, _0809BC74 @ =gUnknown_8416842 - ldr r2, _0809BC78 @ =sub_809BF98 - adds r0, r6, 0 - bl BuyMenuDisplayMessage - b _0809BC8E - .align 2, 0 -_0809BC70: .4byte gSaveBlock1Ptr -_0809BC74: .4byte gUnknown_8416842 -_0809BC78: .4byte sub_809BF98 -_0809BC7C: - ldr r1, _0809BC94 @ =gStringVar1 - adds r0, r4, 0 - bl CopyItemName - ldr r1, _0809BC98 @ =gUnknown_8416766 - ldr r2, _0809BC9C @ =sub_809BCA0 - adds r0, r6, 0 - bl BuyMenuDisplayMessage -_0809BC8E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BC94: .4byte gStringVar1 -_0809BC98: .4byte gUnknown_8416766 -_0809BC9C: .4byte sub_809BCA0 - thumb_func_end sub_809BBC0 - - thumb_func_start sub_809BCA0 -sub_809BCA0: @ 809BCA0 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - ldr r0, _0809BD40 @ =gTasks+0x8 - adds r5, r0 - ldrh r0, [r5, 0xA] - bl BagGetQuantityByItemId - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1 - movs r1, 0 - bl BuyMenuQuantityBoxThinBorder - ldr r0, _0809BD44 @ =gStringVar1 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r6, _0809BD48 @ =gStringVar4 - ldr r1, _0809BD4C @ =gUnknown_8416749 - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - movs r4, 0x1 - str r4, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r6, 0 - movs r3, 0 - bl BuyMenuPrint - strh r4, [r5, 0x2] - movs r0, 0x3 - movs r1, 0 - bl BuyMenuQuantityBoxNormalBorder - adds r0, r7, 0 - bl sub_809BB44 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0809BD50 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r4, r0, 0 - ldrh r0, [r5, 0xA] - bl itemid_get_market_price - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0809BD58 - ldr r1, _0809BD54 @ =gUnknown_2039934 - movs r0, 0x63 - b _0809BD5E - .align 2, 0 -_0809BD40: .4byte gTasks+0x8 -_0809BD44: .4byte gStringVar1 -_0809BD48: .4byte gStringVar4 -_0809BD4C: .4byte gUnknown_8416749 -_0809BD50: .4byte gSaveBlock1Ptr -_0809BD54: .4byte gUnknown_2039934 -_0809BD58: - ldr r1, _0809BD80 @ =gUnknown_2039934 - lsls r0, r2, 24 - lsrs r0, 24 -_0809BD5E: - strh r0, [r1, 0x14] - cmp r2, 0x1 - beq _0809BD68 - bl sub_809B6FC -_0809BD68: - ldr r0, _0809BD84 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _0809BD88 @ =sub_809BD8C - str r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BD80: .4byte gUnknown_2039934 -_0809BD84: .4byte gTasks -_0809BD88: .4byte sub_809BD8C - thumb_func_end sub_809BCA0 - - thumb_func_start sub_809BD8C -sub_809BD8C: @ 809BD8C - 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, _0809BDCC @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0x2 - ldr r6, _0809BDD0 @ =gUnknown_2039934 - ldrh r1, [r6, 0x14] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809BDD4 - ldrh r0, [r4, 0xA] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 16 - movs r2, 0x2 - ldrsh r1, [r4, r2] - muls r0, r1 - str r0, [r6, 0x8] - adds r0, r5, 0 - bl sub_809BB44 - b _0809BE88 - .align 2, 0 -_0809BDCC: .4byte gTasks+0x8 -_0809BDD0: .4byte gUnknown_2039934 -_0809BDD4: - ldr r0, _0809BE3C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809BE54 - movs r0, 0x5 - bl PlaySE - bl sub_809B73C - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x1 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - ldrh r0, [r4, 0xA] - ldr r1, _0809BE40 @ =gStringVar1 - bl CopyItemName - ldr r0, _0809BE44 @ =gStringVar2 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0809BE48 @ =gStringVar3 - ldr r1, [r6, 0x8] - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - ldr r1, _0809BE4C @ =gUnknown_841678E - ldr r2, _0809BE50 @ =sub_809BE90 - adds r0, r5, 0 - bl BuyMenuDisplayMessage - b _0809BE88 - .align 2, 0 -_0809BE3C: .4byte gMain -_0809BE40: .4byte gStringVar1 -_0809BE44: .4byte gStringVar2 -_0809BE48: .4byte gStringVar3 -_0809BE4C: .4byte gUnknown_841678E -_0809BE50: .4byte sub_809BE90 -_0809BE54: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809BE88 - movs r0, 0x5 - bl PlaySE - bl sub_809B73C - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x1 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - adds r0, r7, 0 - bl sub_809BF98 -_0809BE88: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809BD8C - - thumb_func_start sub_809BE90 -sub_809BE90: @ 809BE90 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809BEA0 @ =gUnknown_83DF0B4 - bl BuyMenuConfirmPurchase - pop {r0} - bx r0 - .align 2, 0 -_0809BEA0: .4byte gUnknown_83DF0B4 - thumb_func_end sub_809BE90 - - thumb_func_start sub_809BEA4 -sub_809BEA4: @ 809BEA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809BEE8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x4 - bl PutWindowTilemap - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x2] - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809BEF4 - ldr r1, _0809BEEC @ =gUnknown_84167E7 - ldr r2, _0809BEF0 @ =sub_809BF0C - adds r0, r5, 0 - bl BuyMenuDisplayMessage - adds r0, r5, 0 - bl nullsub_52 - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x2] - movs r2, 0x1 - bl sub_809C09C - b _0809BEFE - .align 2, 0 -_0809BEE8: .4byte gTasks+0x8 -_0809BEEC: .4byte gUnknown_84167E7 -_0809BEF0: .4byte sub_809BF0C -_0809BEF4: - ldr r1, _0809BF04 @ =gUnknown_8416861 - ldr r2, _0809BF08 @ =sub_809BF98 - adds r0, r5, 0 - bl BuyMenuDisplayMessage -_0809BEFE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809BF04: .4byte gUnknown_8416861 -_0809BF08: .4byte sub_809BF98 - thumb_func_end sub_809BEA4 - - thumb_func_start sub_809BF0C -sub_809BF0C: @ 809BF0C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x26 - bl IncrementGameStat - ldr r6, _0809BF58 @ =gSaveBlock1Ptr - ldr r0, [r6] - movs r5, 0xA4 - lsls r5, 2 - adds r0, r5 - ldr r1, _0809BF5C @ =gUnknown_2039934 - ldr r1, [r1, 0x8] - bl RemoveMoney - movs r0, 0xF8 - bl PlaySE - ldr r0, [r6] - adds r0, r5 - bl GetMoney - adds r1, r0, 0 - movs r0, 0 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - ldr r1, _0809BF60 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809BF64 @ =sub_809BF68 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BF58: .4byte gSaveBlock1Ptr -_0809BF5C: .4byte gUnknown_2039934 -_0809BF60: .4byte gTasks -_0809BF64: .4byte sub_809BF68 - thumb_func_end sub_809BF0C - - thumb_func_start sub_809BF68 -sub_809BF68: @ 809BF68 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809BF94 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809BF82 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809BF8E -_0809BF82: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_809BF98 -_0809BF8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809BF94: .4byte gMain - thumb_func_end sub_809BF68 - - thumb_func_start sub_809BF98 -sub_809BF98: @ 809BF98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _0809BFF8 @ =gTasks+0x8 - adds r4, r5, r6 - movs r0, 0x2 - movs r1, 0 - bl ClearDialogWindowAndFrameToTransparent - ldrb r0, [r4, 0xE] - movs r1, 0x1 - bl sub_809B57C - movs r0, 0 - bl sub_809B10C - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - ldr r0, _0809BFFC @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _0809BFDC - movs r0, 0x6 - bl PutWindowTilemap -_0809BFDC: - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_809B690 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0809C000 @ =sub_809BBC0 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BFF8: .4byte gTasks+0x8 -_0809BFFC: .4byte gUnknown_2039934 -_0809C000: .4byte sub_809BBC0 - thumb_func_end sub_809BF98 - - thumb_func_start sub_809C004 -sub_809C004: @ 809C004 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0809C03C @ =gFieldCallback - ldr r0, _0809C040 @ =sub_809AD74 - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0809C044 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809C048 @ =sub_809C04C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C03C: .4byte gFieldCallback -_0809C040: .4byte sub_809AD74 -_0809C044: .4byte gTasks -_0809C048: .4byte sub_809C04C - thumb_func_end sub_809C004 - - thumb_func_start sub_809C04C -sub_809C04C: @ 809C04C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809C088 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _0809C08C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809C082 - ldrb r0, [r2, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_809B604 - ldr r0, _0809C090 @ =CB2_ReturnToField - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0809C082: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C088: .4byte gTasks+0x8 -_0809C08C: .4byte gPaletteFade -_0809C090: .4byte CB2_ReturnToField - thumb_func_end sub_809C04C - - thumb_func_start nullsub_52 -nullsub_52: @ 809C094 - bx lr - thumb_func_end nullsub_52 - - thumb_func_start nullsub_53 -nullsub_53: @ 809C098 - bx lr - thumb_func_end nullsub_53 - - thumb_func_start sub_809C09C -sub_809C09C: @ 809C09C - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r1, _0809C0B8 @ =gUnknown_203996C - ldrb r2, [r1, 0xA] - cmp r2, r5 - bne _0809C0BC - adds r4, r1, 0 - b _0809C0D4 - .align 2, 0 -_0809C0B8: .4byte gUnknown_203996C -_0809C0BC: - ldrb r0, [r1, 0x16] - cmp r0, r5 - bne _0809C0C8 - adds r4, r1, 0 - adds r4, 0xC - b _0809C0D4 -_0809C0C8: - adds r4, r1, 0 - adds r4, 0xC - cmp r2, 0 - bne _0809C0D2 - adds r4, r1, 0 -_0809C0D2: - strb r5, [r4, 0xA] -_0809C0D4: - ldrh r0, [r4, 0x4] - cmp r0, 0 - beq _0809C0DE - movs r0, 0x1 - strb r0, [r4, 0x9] -_0809C0DE: - strh r3, [r4, 0x4] - ldrh r1, [r4, 0x6] - ldr r0, _0809C128 @ =0x000003e6 - cmp r1, r0 - bhi _0809C0F8 - adds r0, r6, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809C12C @ =0x000003e7 - cmp r0, r1 - bls _0809C0F8 - strh r1, [r4, 0x6] -_0809C0F8: - ldr r1, [r4] - ldr r0, _0809C130 @ =0x000f423e - cmp r1, r0 - bhi _0809C120 - adds r0, r3, 0 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 16 - subs r1, r5, 0x1 - asrs r0, r1 - adds r1, r0, 0 - muls r1, r6 - ldr r0, [r4] - adds r0, r1 - str r0, [r4] - ldr r1, _0809C134 @ =0x000f423f - cmp r0, r1 - bls _0809C120 - str r1, [r4] -_0809C120: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809C128: .4byte 0x000003e6 -_0809C12C: .4byte 0x000003e7 -_0809C130: .4byte 0x000f423e -_0809C134: .4byte 0x000f423f - thumb_func_end sub_809C09C - - thumb_func_start sub_809C138 -sub_809C138: @ 809C138 - push {r4,lr} - ldr r4, _0809C160 @ =gUnknown_203996C - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _0809C14A - adds r0, 0x24 - adds r1, r4, 0 - bl sub_8113550 -_0809C14A: - ldrb r0, [r4, 0x16] - cmp r0, 0 - beq _0809C15A - adds r0, 0x24 - adds r1, r4, 0 - adds r1, 0xC - bl sub_8113550 -_0809C15A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C160: .4byte gUnknown_203996C - thumb_func_end sub_809C138 - - thumb_func_start CreatePokemartMenu -CreatePokemartMenu: @ 809C164 - push {r4,lr} - bl sub_809ABD8 - movs r0, 0 - bl sub_809AAB0 - ldr r0, _0809C194 @ =EnableBothScriptContexts - bl sub_809AC04 - bl nullsub_53 - ldr r4, _0809C198 @ =gUnknown_203996C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x18 - bl memset - ldr r0, _0809C19C @ =gMapHeader - ldrb r0, [r0, 0x14] - strb r0, [r4, 0x8] - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C194: .4byte EnableBothScriptContexts -_0809C198: .4byte gUnknown_203996C -_0809C19C: .4byte gMapHeader - thumb_func_end CreatePokemartMenu - - thumb_func_start CreateDecorationShop1Menu -CreateDecorationShop1Menu: @ 809C1A0 - push {lr} - bl sub_809ABD8 - movs r0, 0x2 - bl sub_809AAB0 - ldr r0, _0809C1B8 @ =EnableBothScriptContexts - bl sub_809AC04 - pop {r0} - bx r0 - .align 2, 0 -_0809C1B8: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop1Menu - - thumb_func_start CreateDecorationShop2Menu -CreateDecorationShop2Menu: @ 809C1BC - push {lr} - bl sub_809ABD8 - movs r0, 0x3 - bl sub_809AAB0 - ldr r0, _0809C1D4 @ =EnableBothScriptContexts - bl sub_809AC04 - pop {r0} - bx r0 - .align 2, 0 -_0809C1D4: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop2Menu - - thumb_func_start sub_809C1D8 -sub_809C1D8: @ 809C1D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - ldr r2, _0809C26C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x10] - subs r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r1, 0xA] - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809C29C - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp] - asrs r1, 16 - str r1, [sp, 0x4] - lsls r0, r1, 1 - mov r1, r9 - adds r7, r0, r1 -_0809C22C: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r2, [sp] - adds r6, r2, r0 -_0809C238: - ldr r0, [sp, 0xC] - asrs r1, r0, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r2, 0 - ldrsh r1, [r7, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0809C280 - ldr r0, [sp, 0x4] - cmp r0, 0x2 - beq _0809C270 - ldrh r0, [r7, 0x2] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _0809C280 - .align 2, 0 -_0809C26C: .4byte gTasks -_0809C270: - mov r1, r9 - ldrh r0, [r1] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_0809C280: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C238 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C22C - b _0809C324 -_0809C29C: - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp, 0x8] - asrs r7, r1, 16 -_0809C2AC: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r1, [sp, 0x8] - adds r6, r1, r0 -_0809C2B8: - ldr r2, [sp, 0xC] - asrs r1, r2, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x2 - subs r1, r7 - lsls r1, 1 - add r1, r9 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0809C30A - cmp r7, 0x2 - beq _0809C2FA - movs r0, 0x1 - subs r0, r7 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _0809C30A -_0809C2FA: - mov r1, r9 - ldrh r0, [r1, 0x4] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_0809C30A: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C2B8 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C2AC -_0809C324: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809C1D8 - - thumb_func_start sub_809C334 -sub_809C334: @ 809C334 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _0809C35C @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x1 - strh r0, [r4, 0x6] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bhi _0809C3CE - lsls r0, 2 - ldr r1, _0809C360 @ =_0809C364 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C35C: .4byte gTasks+0x8 -_0809C360: .4byte _0809C364 - .align 2, 0 -_0809C364: - .4byte _0809C380 - .4byte _0809C388 - .4byte _0809C390 - .4byte _0809C398 - .4byte _0809C3A0 - .4byte _0809C3B4 - .4byte _0809C3C4 -_0809C380: - ldr r1, _0809C384 @ =gUnknown_83DF0D4 - b _0809C3B6 - .align 2, 0 -_0809C384: .4byte gUnknown_83DF0D4 -_0809C388: - ldr r1, _0809C38C @ =gUnknown_83DF0DA - b _0809C3B6 - .align 2, 0 -_0809C38C: .4byte gUnknown_83DF0DA -_0809C390: - ldr r1, _0809C394 @ =gUnknown_83DF0E0 - b _0809C3A2 - .align 2, 0 -_0809C394: .4byte gUnknown_83DF0E0 -_0809C398: - ldr r1, _0809C39C @ =gUnknown_83DF0E6 - b _0809C3B6 - .align 2, 0 -_0809C39C: .4byte gUnknown_83DF0E6 -_0809C3A0: - ldr r1, _0809C3B0 @ =gUnknown_83DF0EC -_0809C3A2: - movs r2, 0xC0 - lsls r2, 4 - adds r0, r3, 0 - bl sub_809C1D8 - b _0809C3CE - .align 2, 0 -_0809C3B0: .4byte gUnknown_83DF0EC -_0809C3B4: - ldr r1, _0809C3C0 @ =gUnknown_83DF0F2 -_0809C3B6: - adds r0, r3, 0 - movs r2, 0 - bl sub_809C1D8 - b _0809C3CE - .align 2, 0 -_0809C3C0: .4byte gUnknown_83DF0F2 -_0809C3C4: - ldr r1, _0809C3F8 @ =gUnknown_83DF0F8 - adds r0, r3, 0 - movs r2, 0 - bl sub_809C1D8 -_0809C3CE: - ldrh r0, [r4] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4] - adds r5, r0, 0 - cmp r5, 0 - bne _0809C3F2 - bl DrawWholeMapView - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strh r0, [r4, 0x2] - strh r5, [r4, 0x6] -_0809C3F2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C3F8: .4byte gUnknown_83DF0F8 - thumb_func_end sub_809C334 - - thumb_func_start sub_809C3FC -sub_809C3FC: @ 809C3FC - push {r4-r7,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0809C440 @ =sub_809C334 - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809C444 @ =gTasks+0x8 - adds r7, r0, r1 - adds r0, r7, 0 - adds r0, 0x8 - adds r1, r7, 0 - adds r1, 0xA - bl PlayerGetDestCoords - movs r0, 0 - strh r0, [r7] - strh r0, [r7, 0x2] - strh r5, [r7, 0x4] - adds r0, r4, 0 - bl _call_via_r6 - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809C440: .4byte sub_809C334 -_0809C444: .4byte gTasks+0x8 - thumb_func_end sub_809C3FC - - thumb_func_start sub_809C448 -sub_809C448: @ 809C448 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_809C3FC - ldr r1, _0809C45C @ =gUnknown_2039984 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809C45C: .4byte gUnknown_2039984 - thumb_func_end sub_809C448 - - thumb_func_start sub_809C460 -sub_809C460: @ 809C460 - push {lr} - ldr r0, _0809C470 @ =gUnknown_2039984 - ldrb r0, [r0] - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_0809C470: .4byte gUnknown_2039984 - thumb_func_end sub_809C460 - - thumb_func_start sub_809C474 -sub_809C474: @ 809C474 - push {lr} - ldr r2, _0809C498 @ =gTasks - ldr r0, _0809C49C @ =gUnknown_2039984 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809C4A0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x2 - bne _0809C4A0 - movs r0, 0 - b _0809C4A2 - .align 2, 0 -_0809C498: .4byte gTasks -_0809C49C: .4byte gUnknown_2039984 -_0809C4A0: - movs r0, 0x1 -_0809C4A2: - pop {r1} - bx r1 - thumb_func_end sub_809C474 - - thumb_func_start sub_809C4A8 -sub_809C4A8: @ 809C4A8 - push {r4,lr} - ldr r0, _0809C4E0 @ =sub_809C500 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809C4E4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r2, 0x8 - adds r1, r2 - adds r0, r1, 0x4 - adds r1, 0x6 - bl PlayerGetDestCoords - ldr r0, _0809C4E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0809C4EC - ldrh r0, [r4, 0xC] - adds r0, 0x6 - b _0809C4F0 - .align 2, 0 -_0809C4E0: .4byte sub_809C500 -_0809C4E4: .4byte gTasks -_0809C4E8: .4byte gSpecialVar_0x8004 -_0809C4EC: - ldrh r0, [r4, 0xC] - subs r0, 0x1 -_0809C4F0: - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x5 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809C4A8 - - thumb_func_start sub_809C500 -sub_809C500: @ 809C500 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809C544 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0809C588 - ldrh r1, [r4, 0x2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809C550 - movs r2, 0x4 - ldrsh r0, [r4, r2] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C548 @ =0x00000eb5 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C54C @ =0x00000eb7 - bl MapGridSetMetatileIdAt - b _0809C56E - .align 2, 0 -_0809C544: .4byte gTasks+0x8 -_0809C548: .4byte 0x00000eb5 -_0809C54C: .4byte 0x00000eb7 -_0809C550: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C5EC @ =0x00000eb6 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C5F0 @ =0x00000eb8 - bl MapGridSetMetatileIdAt -_0809C56E: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - bl CurrentMapDrawMetatileAt -_0809C588: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0809C5E6 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _0809C5E6 - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C5F4 @ =0x00000e8a - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C5F8 @ =0x00000e96 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - bl DestroyTask -_0809C5E6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C5EC: .4byte 0x00000eb6 -_0809C5F0: .4byte 0x00000eb8 -_0809C5F4: .4byte 0x00000e8a -_0809C5F8: .4byte 0x00000e96 - thumb_func_end sub_809C500 - - thumb_func_start sub_809C5FC -sub_809C5FC: @ 809C5FC - push {r4,lr} - ldr r0, _0809C638 @ =sub_809C640 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809C63C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r2, 0x8 - adds r1, r2 - adds r0, r1, 0x4 - adds r1, 0x6 - bl PlayerGetDestCoords - ldrh r0, [r4, 0xC] - adds r0, 0x4 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x5 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C638: .4byte sub_809C640 -_0809C63C: .4byte gTasks - thumb_func_end sub_809C5FC - - thumb_func_start sub_809C640 -sub_809C640: @ 809C640 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809C6A8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0809C6F2 - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809C6BA - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C6AC @ =0x00000e85 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - ldr r2, _0809C6B0 @ =0x00000eb4 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - bl CurrentMapDrawMetatileAt - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bne _0809C6B4 - adds r0, r5, 0 - bl DestroyTask - b _0809C70A - .align 2, 0 -_0809C6A8: .4byte gTasks+0x8 -_0809C6AC: .4byte 0x00000e85 -_0809C6B0: .4byte 0x00000eb4 -_0809C6B4: - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] -_0809C6BA: - movs r2, 0x4 - ldrsh r0, [r4, r2] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C710 @ =0x00000eb9 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - ldr r2, _0809C714 @ =0x00000eba - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - bl CurrentMapDrawMetatileAt -_0809C6F2: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0809C70A - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_0809C70A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C710: .4byte 0x00000eb9 -_0809C714: .4byte 0x00000eba - thumb_func_end sub_809C640 - - .align 2, 0 @ Don't pad with nop. |