diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/item_menu.s | 2 | ||||
-rw-r--r-- | asm/shop.s | 3563 |
2 files changed, 1 insertions, 3564 deletions
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/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. |