diff options
author | YamaArashi <shadow962@live.com> | 2016-11-01 10:08:48 -0700 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-11-01 10:16:34 -0700 |
commit | 6f0e42a91aeeedd64725ce57e3dad6a38421d8e9 (patch) | |
tree | dcea69ec49430f004c17ff71b77587cafd78c69a /asm/berry_tag_screen.s | |
parent | fef81187dce23adc635d7f4b7fd82298eab09ec2 (diff) |
split asm files
Diffstat (limited to 'asm/berry_tag_screen.s')
-rw-r--r-- | asm/berry_tag_screen.s | 1538 |
1 files changed, 1538 insertions, 0 deletions
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s new file mode 100644 index 000000000..64f8a69e1 --- /dev/null +++ b/asm/berry_tag_screen.s @@ -0,0 +1,1538 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_8177C14 +sub_8177C14: @ 8177C14 + push {r4,lr} + ldr r4, =0x0203bcf4 + ldr r0, =0x0000180c + bl AllocZeroed + str r0, [r4] + ldr r0, =0x0203ce7c + ldrh r0, [r0] + bl ItemIdToBerryType + ldr r1, [r4] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0xC0 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + ldr r0, =sub_8177C84 + bl SetMainCallback2 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8177C14 + + thumb_func_start sub_8177C54 +sub_8177C54: @ 8177C54 + push {lr} + bl RunTasks + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl do_scheduled_bg_tilemap_copies_to_vram + bl fade_and_return_progress_probably + pop {r0} + bx r0 + thumb_func_end sub_8177C54 + + thumb_func_start sub_8177C70 +sub_8177C70: @ 8177C70 + push {lr} + bl LoadOamFromSprites + bl ProcessObjectCopyRequests + bl copy_pal_bg_faded_to_pal_ram + pop {r0} + bx r0 + thumb_func_end sub_8177C70 + + thumb_func_start sub_8177C84 +sub_8177C84: @ 8177C84 + push {lr} +_08177C86: + bl sub_81221EC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08177CAA + bl sub_8177CB0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08177CAA + bl sub_81221AC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08177C86 +_08177CAA: + pop {r0} + bx r0 + thumb_func_end sub_8177C84 + + thumb_func_start sub_8177CB0 +sub_8177CB0: @ 8177CB0 + push {lr} + sub sp, 0x4 + ldr r0, =0x030022c0 + movs r1, 0x87 + lsls r1, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0xF + bls _08177CC4 + b _08177DF4 +_08177CC4: + lsls r0, 2 + ldr r1, =_08177CD8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08177CD8: + .4byte _08177D18 + .4byte _08177D26 + .4byte _08177D2C + .4byte _08177D40 + .4byte _08177D46 + .4byte _08177D4C + .4byte _08177D5C + .4byte _08177D78 + .4byte _08177D84 + .4byte _08177D8A + .4byte _08177D90 + .4byte _08177D96 + .4byte _08177D9C + .4byte _08177DA6 + .4byte _08177DB4 + .4byte _08177DC2 +_08177D18: + bl SetVBlankHBlankCallbacksToNull + bl sub_8121DA0 + bl clear_scheduled_bg_copies_to_vram + b _08177DDC +_08177D26: + bl remove_some_task + b _08177DDC +_08177D2C: + bl sub_80A1A74 + ldr r2, =0x02037fd4 + ldrb r0, [r2, 0x8] + movs r1, 0x80 + orrs r0, r1 + b _08177DDA + .pool +_08177D40: + bl ResetAllObjectData + b _08177DDC +_08177D46: + bl ResetObjectPaletteAllocator + b _08177DDC +_08177D4C: + bl sub_81221AC + lsls r0, 24 + cmp r0, 0 + bne _08177DDC + bl ResetTasks + b _08177DDC +_08177D5C: + bl sub_8177E14 + ldr r0, =0x0203bcf4 + ldr r0, [r0] + ldr r1, =0x00001808 + adds r0, r1 + movs r1, 0 + strh r1, [r0] + b _08177DDC + .pool +_08177D78: + bl sub_8177E88 + lsls r0, 24 + cmp r0, 0 + beq _08177E0C + b _08177DDC +_08177D84: + bl sub_8178008 + b _08177DDC +_08177D8A: + bl sub_8178090 + b _08177DDC +_08177D90: + bl sub_81780F4 + b _08177DDC +_08177D96: + bl sub_8178338 + b _08177DDC +_08177D9C: + bl sub_817839C + bl sub_8178404 + b _08177DDC +_08177DA6: + ldr r0, =sub_8178654 + movs r1, 0 + bl CreateTask + b _08177DDC + .pool +_08177DB4: + movs r0, 0x1 + negs r0, r0 + movs r1, 0x10 + movs r2, 0 + bl sub_80A2A20 + b _08177DDC +_08177DC2: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl pal_fade_maybe + ldr r2, =0x02037fd4 + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 +_08177DDA: + strb r0, [r2, 0x8] +_08177DDC: + ldr r1, =0x030022c0 + movs r0, 0x87 + lsls r0, 3 + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08177E0C + .pool +_08177DF4: + ldr r0, =sub_8177C70 + bl SetVBlankCallback + ldr r0, =sub_8177C54 + bl SetMainCallback2 + movs r0, 0x1 + b _08177E0E + .pool +_08177E0C: + movs r0, 0 +_08177E0E: + add sp, 0x4 + pop {r1} + bx r1 + thumb_func_end sub_8177CB0 + + thumb_func_start sub_8177E14 +sub_8177E14: @ 8177E14 + push {r4,lr} + movs r0, 0 + bl ResetBgsAndClearDma3BusyFlags + ldr r1, =gUnknown_085EFCF0 + movs r0, 0 + movs r2, 0x4 + bl InitBgsFromTemplates + ldr r4, =0x0203bcf4 + ldr r1, [r4] + movs r0, 0x2 + bl SetBgTilemapBuffer + ldr r1, [r4] + movs r0, 0x80 + lsls r0, 4 + adds r1, r0 + movs r0, 0x3 + bl SetBgTilemapBuffer + bl sub_8121E10 + movs r0, 0x2 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x3 + bl schedule_bg_copy_tilemap_to_vram + movs r1, 0x82 + lsls r1, 5 + movs r0, 0 + bl SetGpuReg + movs r0, 0x50 + movs r1, 0 + bl SetGpuReg + movs r0, 0 + bl ShowBg + movs r0, 0x1 + bl ShowBg + movs r0, 0x2 + bl ShowBg + movs r0, 0x3 + bl ShowBg + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8177E14 + + thumb_func_start sub_8177E88 +sub_8177E88: @ 8177E88 + push {r4-r7,lr} + sub sp, 0x4 + ldr r1, =0x0203bcf4 + ldr r0, [r1] + ldr r2, =0x00001808 + adds r0, r2 + ldrh r0, [r0] + adds r7, r1, 0 + cmp r0, 0x5 + bls _08177E9E + b _08177FEC +_08177E9E: + lsls r0, 2 + ldr r1, =_08177EB4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_08177EB4: + .4byte _08177ECC + .4byte _08177EF8 + .4byte _08177F1C + .4byte _08177F3C + .4byte _08177FA8 + .4byte _08177FC8 +_08177ECC: + bl reset_temp_tile_data_buffers + ldr r1, =gUnknown_08D9BB44 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r2, 0 + movs r3, 0 + bl decompress_and_copy_tile_data_to_vram + ldr r0, =0x0203bcf4 + ldr r1, [r0] + ldr r0, =0x00001808 + adds r1, r0 + b _08177FD6 + .pool +_08177EF8: + bl free_temp_tile_data_buffers_if_possible + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08177F06 + b _08177FFC +_08177F06: + ldr r0, =gUnknown_08D9BF98 + ldr r4, =0x0203bcf4 + ldr r1, [r4] + bl LZDecompressWram + ldr r1, [r4] + b _08177FD2 + .pool +_08177F1C: + ldr r0, =gUnknown_08D9C13C + ldr r1, [r7] + movs r2, 0x80 + lsls r2, 5 + adds r1, r2 + bl LZDecompressWram + ldr r1, [r7] + ldr r0, =0x00001808 + adds r1, r0 + b _08177FD6 + .pool +_08177F3C: + ldr r0, =0x03005d90 + ldr r0, [r0] + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08177F78 + movs r2, 0 + ldr r6, =0x0203bcf4 + movs r5, 0x80 + lsls r5, 4 + ldr r4, =0x00004042 + ldr r3, =0x000003ff +_08177F52: + ldr r0, [r6] + lsls r1, r2, 1 + adds r0, r5 + adds r0, r1 + strh r4, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r3 + bls _08177F52 + b _08177F98 + .pool +_08177F78: + movs r2, 0 + ldr r6, =0x0203bcf4 + movs r5, 0x80 + lsls r5, 4 + ldr r4, =0x00005042 + ldr r3, =0x000003ff +_08177F84: + ldr r0, [r6] + lsls r1, r2, 1 + adds r0, r5 + adds r0, r1 + strh r4, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r3 + bls _08177F84 +_08177F98: + ldr r1, [r7] + b _08177FD2 + .pool +_08177FA8: + ldr r0, =gUnknown_08D9BEF0 + movs r1, 0 + movs r2, 0xC0 + bl decompress_palette + ldr r0, =0x0203bcf4 + ldr r1, [r0] + ldr r0, =0x00001808 + adds r1, r0 + b _08177FD6 + .pool +_08177FC8: + ldr r0, =gUnknown_0857FDEC + bl LoadCompressedObjectPic + ldr r0, =0x0203bcf4 + ldr r1, [r0] +_08177FD2: + ldr r2, =0x00001808 + adds r1, r2 +_08177FD6: + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + b _08177FFC + .pool +_08177FEC: + ldr r0, =gUnknown_0857FDF4 + bl LoadCompressedObjectPalette + movs r0, 0x1 + b _08177FFE + .pool +_08177FFC: + movs r0, 0 +_08177FFE: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8177E88 + + thumb_func_start sub_8178008 +sub_8178008: @ 8178008 + push {r4,lr} + ldr r0, =gUnknown_085EFD28 + bl InitWindows + bl DeactivateAllTextPrinters + ldr r0, =gUnknown_085EFD00 + movs r1, 0xF0 + movs r2, 0x20 + bl gpu_pal_apply + movs r4, 0 +_08178020: + lsls r0, r4, 24 + lsrs r0, 24 + bl PutWindowTilemap + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x3 + bls _08178020 + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0x1 + bl schedule_bg_copy_tilemap_to_vram + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178008 + + thumb_func_start sub_817804C +sub_817804C: @ 817804C + push {r4-r6,lr} + sub sp, 0x14 + ldr r6, [sp, 0x24] + ldr r5, [sp, 0x28] + lsls r0, 24 + lsrs r0, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + lsls r5, 24 + lsrs r5, 24 + movs r4, 0 + str r4, [sp] + str r4, [sp, 0x4] + lsls r4, r5, 1 + adds r4, r5 + ldr r5, =gUnknown_085EFD20 + adds r4, r5 + str r4, [sp, 0x8] + lsls r6, 24 + asrs r6, 24 + str r6, [sp, 0xC] + str r1, [sp, 0x10] + movs r1, 0x1 + bl AddTextPrinterParametrized2 + add sp, 0x14 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_817804C + + thumb_func_start sub_8178090 +sub_8178090: @ 8178090 + push {r4,lr} + sub sp, 0x8 + movs r0, 0 + bl GetBgTilemapBuffer + ldr r1, =0x0203bcf4 + ldr r1, [r1] + movs r2, 0x80 + lsls r2, 5 + adds r1, r2 + movs r2, 0x80 + lsls r2, 4 + bl memcpy + movs r0, 0x3 + movs r1, 0xFF + bl FillWindowPixelBuffer + ldr r4, =gUnknown_085E926B + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x40 + bl GetStringCenterAlignXOffset + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + movs r0, 0 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + movs r0, 0x3 + adds r1, r4, 0 + movs r3, 0x1 + bl sub_817804C + movs r0, 0x3 + bl PutWindowTilemap + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178090 + + thumb_func_start sub_81780F4 +sub_81780F4: @ 81780F4 + push {lr} + bl sub_8178110 + bl sub_8178174 + bl itemid_copy_name + bl sub_81782D0 + bl sub_8178304 + pop {r0} + bx r0 + thumb_func_end sub_81780F4 + + thumb_func_start sub_8178110 +sub_8178110: @ 8178110 + push {r4-r6,lr} + sub sp, 0x8 + ldr r5, =0x0203bcf4 + ldr r0, [r5] + movs r4, 0xC0 + lsls r4, 5 + adds r0, r4 + ldrb r0, [r0] + bl GetBerryInfo + adds r6, r0, 0 + ldr r0, =0x02021cc4 + ldr r1, [r5] + adds r1, r4 + ldrh r1, [r1] + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r0, =0x02021dc4 + adds r1, r6, 0 + bl CopyString + ldr r4, =0x02021fc4 + ldr r1, =gUnknown_085E9263 + adds r0, r4, 0 + bl ExpandStringRefs + movs r0, 0 + str r0, [sp] + str r0, [sp, 0x4] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x1 + bl sub_817804C + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178110 + + thumb_func_start sub_8178174 +sub_8178174: @ 8178174 + push {r4-r7,lr} + sub sp, 0xC + ldr r0, =0x0203bcf4 + ldr r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + bl GetBerryInfo + adds r4, r0, 0 + ldr r2, =gUnknown_085E9225 + movs r7, 0x1 + str r7, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r6, 0 + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r3, 0 + bl Print + ldrh r0, [r4, 0x8] + cmp r0, 0 + beq _08178230 + adds r1, r0, 0 + lsls r0, r1, 5 + subs r0, r1 + lsls r0, 2 + adds r0, r1 + lsls r0, 3 + movs r1, 0xFE + bl __divsi3 + adds r5, r0, 0 + movs r1, 0xA + bl __umodsi3 + cmp r0, 0x4 + bls _081781C8 + adds r5, 0xA +_081781C8: + adds r0, r5, 0 + movs r1, 0x64 + bl __umodsi3 + movs r1, 0xA + bl __udivsi3 + adds r4, r0, 0 + adds r0, r5, 0 + movs r1, 0x64 + bl __udivsi3 + adds r5, r0, 0 + ldr r0, =0x02021cc4 + adds r1, r5, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r0, =0x02021dc4 + adds r1, r4, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalString + ldr r4, =0x02021fc4 + ldr r1, =gUnknown_085E9233 + adds r0, r4, 0 + bl ExpandStringRefs + str r7, [sp] + str r6, [sp, 0x4] + str r6, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x28 + bl Print + b _08178242 + .pool +_08178230: + ldr r2, =gUnknown_085E8D34 + str r7, [sp] + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r3, 0x28 + bl Print +_08178242: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178174 + + thumb_func_start itemid_copy_name +itemid_copy_name: @ 8178250 + push {r4-r6,lr} + sub sp, 0xC + ldr r0, =0x0203bcf4 + ldr r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + bl GetBerryInfo + adds r6, r0, 0 + ldr r2, =gUnknown_085E922C + movs r5, 0x11 + str r5, [sp] + movs r0, 0xFF + str r0, [sp, 0x4] + movs r4, 0 + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r3, 0 + bl Print + ldrb r0, [r6, 0x7] + cmp r0, 0 + beq _081782B0 + ldr r0, =gBerryFirmnessStringPointers + ldrb r1, [r6, 0x7] + subs r1, 0x1 + lsls r1, 2 + adds r1, r0 + ldr r2, [r1] + str r5, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r3, 0x28 + bl Print + b _081782C2 + .pool +_081782B0: + ldr r2, =gUnknown_085E8D34 + str r5, [sp] + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x1 + movs r1, 0x1 + movs r3, 0x28 + bl Print +_081782C2: + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end itemid_copy_name + + thumb_func_start sub_81782D0 +sub_81782D0: @ 81782D0 + push {lr} + sub sp, 0xC + ldr r0, =0x0203bcf4 + ldr r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + bl GetBerryInfo + ldr r2, [r0, 0xC] + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x2 + movs r1, 0x1 + movs r3, 0 + bl Print + add sp, 0xC + pop {r0} + bx r0 + .pool + thumb_func_end sub_81782D0 + + thumb_func_start sub_8178304 +sub_8178304: @ 8178304 + push {lr} + sub sp, 0xC + ldr r0, =0x0203bcf4 + ldr r0, [r0] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + bl GetBerryInfo + ldr r2, [r0, 0x10] + movs r0, 0x11 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r0, 0x2 + movs r1, 0x1 + movs r3, 0 + bl Print + add sp, 0xC + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178304 + + thumb_func_start sub_8178338 +sub_8178338: @ 8178338 + push {r4,lr} + ldr r4, =0x0203bcf4 + ldr r0, [r4] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x38 + movs r2, 0x40 + bl sub_80D50D4 + ldr r1, [r4] + ldr r2, =0x00001802 + adds r1, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178338 + + thumb_func_start sub_817836C +sub_817836C: @ 817836C + push {lr} + ldr r0, =0x0203bcf4 + ldr r0, [r0] + ldr r1, =0x00001802 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + bl RemoveObjectAndFreeTiles + bl sub_80D510C + pop {r0} + bx r0 + .pool + thumb_func_end sub_817836C + + thumb_func_start sub_817839C +sub_817839C: @ 817839C + push {r4,lr} + movs r0, 0x40 + bl sub_80D518C + ldr r4, =0x0203bcf4 + ldr r1, [r4] + ldr r2, =0x00001803 + adds r1, r2 + strb r0, [r1] + movs r0, 0x68 + bl sub_80D518C + ldr r1, [r4] + ldr r2, =0x00001804 + adds r1, r2 + strb r0, [r1] + movs r0, 0x90 + bl sub_80D518C + ldr r1, [r4] + ldr r2, =0x00001805 + adds r1, r2 + strb r0, [r1] + movs r0, 0xB8 + bl sub_80D518C + ldr r1, [r4] + ldr r2, =0x00001806 + adds r1, r2 + strb r0, [r1] + movs r0, 0xE0 + bl sub_80D518C + ldr r1, [r4] + ldr r2, =0x00001807 + adds r1, r2 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_817839C + + thumb_func_start sub_8178404 +sub_8178404: @ 8178404 + push {r4,r5,lr} + ldr r4, =0x0203bcf4 + ldr r0, [r4] + movs r1, 0xC0 + lsls r1, 5 + adds r0, r1 + ldrb r0, [r0] + bl GetBerryInfo + adds r5, r0, 0 + ldrb r0, [r5, 0x15] + cmp r0, 0 + beq _08178448 + ldr r3, =0x02020630 + ldr r0, [r4] + ldr r1, =0x00001803 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + b _08178462 + .pool +_08178448: + ldr r3, =0x02020630 + ldr r0, [r4] + ldr r1, =0x00001803 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_08178462: + strb r1, [r0] + adds r4, r3, 0 + ldrb r0, [r5, 0x16] + cmp r0, 0 + beq _0817849C + ldr r3, =0x0203bcf4 + ldr r0, [r3] + ldr r1, =0x00001804 + adds r0, r1 + ldrb r1, [r0] + 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 + b _081784B6 + .pool +_0817849C: + ldr r3, =0x0203bcf4 + ldr r0, [r3] + ldr r1, =0x00001804 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_081784B6: + strb r1, [r0] + ldrb r0, [r5, 0x17] + cmp r0, 0 + beq _081784E8 + ldr r0, [r3] + ldr r1, =0x00001805 + adds r0, r1 + ldrb r1, [r0] + 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 + b _08178500 + .pool +_081784E8: + ldr r0, [r3] + ldr r1, =0x00001805 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_08178500: + strb r1, [r0] + ldrb r0, [r5, 0x18] + cmp r0, 0 + beq _0817852C + ldr r0, [r3] + ldr r1, =0x00001806 + adds r0, r1 + ldrb r1, [r0] + 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 + b _08178544 + .pool +_0817852C: + ldr r0, [r3] + ldr r1, =0x00001806 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_08178544: + strb r1, [r0] + ldrb r0, [r5, 0x19] + cmp r0, 0 + beq _08178570 + ldr r0, [r3] + ldr r1, =0x00001807 + adds r0, r1 + ldrb r1, [r0] + 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 + b _08178588 + .pool +_08178570: + ldr r0, [r3] + ldr r1, =0x00001807 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 +_08178588: + strb r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178404 + + thumb_func_start sub_8178594 +sub_8178594: @ 8178594 + push {r4,lr} + movs r4, 0 +_08178598: + ldr r0, =0x0203bcf4 + ldr r0, [r0] + ldr r1, =0x00001803 + adds r0, r1 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, =0x02020630 + adds r0, r1 + bl RemoveObjectAndFreeTiles + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _08178598 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178594 + + thumb_func_start sub_81785D0 +sub_81785D0: @ 81785D0 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl audio_play + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl pal_fade_maybe + ldr r1, =0x03005e00 + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_8178610 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81785D0 + + thumb_func_start sub_8178610 +sub_8178610: @ 8178610 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08178642 + bl sub_817836C + bl sub_8178594 + ldr r0, =0x0203bcf4 + ldr r0, [r0] + bl Free + bl FreeAllWindowBuffers + ldr r0, =bag_menu_mail_related + bl SetMainCallback2 + adds r0, r4, 0 + bl DestroyTask +_08178642: + pop {r4} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178610 + + thumb_func_start sub_8178654 +sub_8178654: @ 8178654 + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + adds r4, r2, 0 + ldr r0, =0x02037fd4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _081786A6 + ldr r3, =0x030022c0 + ldrh r0, [r3, 0x30] + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0x40 + bne _08178688 + movs r1, 0x1 + negs r1, r1 + adds r0, r2, 0 + bl sub_81786AC + b _081786A6 + .pool +_08178688: + cmp r1, 0x80 + bne _08178696 + adds r0, r2, 0 + movs r1, 0x1 + bl sub_81786AC + b _081786A6 +_08178696: + ldrh r1, [r3, 0x2E] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + beq _081786A6 + adds r0, r4, 0 + bl sub_81785D0 +_081786A6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8178654 + + thumb_func_start sub_81786AC +sub_81786AC: @ 81786AC + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r2, =0x03005e08 + adds r4, r0, r2 + ldr r2, =0x0203ce58 + ldrh r0, [r2, 0xE] + ldrh r2, [r2, 0x18] + adds r0, r2 + lsls r0, 16 + asrs r0, 16 + lsrs r7, r1, 24 + asrs r6, r1, 24 + adds r0, r6 + cmp r0, 0x2D + bhi _08178718 + lsls r1, r0, 16 + lsrs r1, 16 + movs r0, 0x4 + bl bag_pocket_get_itemid + lsls r0, 16 + cmp r0, 0 + beq _08178718 + cmp r6, 0 + bge _081786F4 + movs r0, 0x2 + b _081786F6 + .pool +_081786F4: + movs r0, 0x1 +_081786F6: + strh r0, [r4, 0x2] + movs r0, 0 + strh r0, [r4] + movs r0, 0x5 + bl audio_play + lsls r0, r7, 24 + asrs r0, 24 + bl sub_8178728 + ldr r1, =0x03005e00 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, =sub_81787AC + str r1, [r0] +_08178718: + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81786AC + + thumb_func_start sub_8178728 +sub_8178728: @ 8178728 + push {r4-r6,lr} + ldr r5, =0x0203ce70 + adds r6, r5, 0 + subs r6, 0xA + lsls r0, 24 + asrs r4, r0, 24 + cmp r4, 0 + ble _08178764 + ldrh r0, [r6] + cmp r0, 0x3 + bls _08178752 + ldrh r1, [r5] + adds r1, 0x8 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x4 + bl bag_pocket_get_itemid + lsls r0, 16 + cmp r0, 0 + bne _08178760 +_08178752: + ldrh r0, [r6] + adds r0, r4 + strh r0, [r6] + b _0817877A + .pool +_08178760: + ldrh r0, [r5] + b _08178776 +_08178764: + ldrh r1, [r6] + cmp r1, 0x3 + bhi _08178770 + ldrh r0, [r5] + cmp r0, 0 + bne _08178776 +_08178770: + adds r0, r1, r4 + strh r0, [r6] + b _0817877A +_08178776: + adds r0, r4 + strh r0, [r5] +_0817877A: + ldrh r1, [r6] + ldrh r5, [r5] + adds r1, r5 + lsls r1, 16 + lsrs r1, 16 + movs r0, 0x4 + bl bag_pocket_get_itemid + lsls r0, 16 + lsrs r0, 16 + bl ItemIdToBerryType + ldr r1, =0x0203bcf4 + ldr r1, [r1] + lsls r0, 24 + lsrs r0, 24 + movs r2, 0xC0 + lsls r2, 5 + adds r1, r2 + strh r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8178728 + + thumb_func_start sub_81787AC +sub_81787AC: @ 81787AC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r0, 2 + add r0, r8 + lsls r0, 3 + ldr r1, =0x03005e08 + adds r6, r0, r1 + ldrh r0, [r6] + adds r0, 0x10 + movs r1, 0xFF + ands r0, r1 + strh r0, [r6] + movs r1, 0x2 + ldrsh r0, [r6, r1] + cmp r0, 0x1 + bne _08178828 + movs r2, 0 + ldrsh r0, [r6, r2] + cmp r0, 0x70 + beq _08178888 + cmp r0, 0x70 + bgt _081787FE + cmp r0, 0x40 + beq _0817881A + cmp r0, 0x40 + bgt _081787F4 + cmp r0, 0x30 + beq _08178898 + b _081788A6 + .pool +_081787F4: + cmp r0, 0x50 + beq _0817888E + cmp r0, 0x60 + beq _08178820 + b _081788A6 +_081787FE: + cmp r0, 0xA0 + beq _08178824 + cmp r0, 0xA0 + bgt _08178810 + cmp r0, 0x80 + beq _08178882 + cmp r0, 0x90 + beq _08178878 + b _081788A6 +_08178810: + cmp r0, 0xB0 + beq _08178872 + cmp r0, 0xC0 + beq _0817886C + b _081788A6 +_0817881A: + bl sub_8178110 + b _081788A6 +_08178820: + movs r0, 0x1 + b _0817889A +_08178824: + movs r0, 0x2 + b _0817889A +_08178828: + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0x70 + beq _0817887E + cmp r0, 0x70 + bgt _0817884C + cmp r0, 0x40 + beq _0817886C + cmp r0, 0x40 + bgt _08178842 + cmp r0, 0x30 + beq _08178868 + b _081788A6 +_08178842: + cmp r0, 0x50 + beq _08178872 + cmp r0, 0x60 + beq _08178878 + b _081788A6 +_0817884C: + cmp r0, 0xA0 + beq _0817888E + cmp r0, 0xA0 + bgt _0817885E + cmp r0, 0x80 + beq _08178882 + cmp r0, 0x90 + beq _08178888 + b _081788A6 +_0817885E: + cmp r0, 0xB0 + beq _08178898 + cmp r0, 0xC0 + beq _081788A2 + b _081788A6 +_08178868: + movs r0, 0x2 + b _0817889A +_0817886C: + bl sub_8178304 + b _081788A6 +_08178872: + bl sub_81782D0 + b _081788A6 +_08178878: + bl sub_8178404 + b _081788A6 +_0817887E: + movs r0, 0x1 + b _0817889A +_08178882: + bl itemid_copy_name + b _081788A6 +_08178888: + bl sub_8178174 + b _081788A6 +_0817888E: + bl sub_817836C + bl sub_8178338 + b _081788A6 +_08178898: + movs r0, 0 +_0817889A: + movs r1, 0 + bl FillWindowPixelBuffer + b _081788A6 +_081788A2: + bl sub_8178110 +_081788A6: + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r0, 0x1 + bne _081788B8 + ldrh r0, [r6] + negs r0, r0 + lsls r0, 16 + lsrs r5, r0, 16 + b _081788BA +_081788B8: + ldrh r5, [r6] +_081788BA: + ldr r2, =0x02020630 + ldr r3, =0x0203bcf4 + ldr r0, [r3] + ldr r1, =0x00001802 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + strh r5, [r0, 0x26] + movs r4, 0 + adds r7, r2, 0 + ldr r2, =0x00001803 +_081788D6: + ldr r0, [r3] + adds r0, r2 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r5, [r0, 0x26] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _081788D6 + movs r4, 0x80 + lsls r4, 5 + ldrb r2, [r6, 0x2] + movs r0, 0x1 + adds r1, r4, 0 + bl ChangeBgY + ldrb r2, [r6, 0x2] + movs r0, 0x2 + adds r1, r4, 0 + bl ChangeBgY + movs r2, 0 + ldrsh r0, [r6, r2] + cmp r0, 0 + bne _08178922 + ldr r0, =0x03005e00 + mov r2, r8 + lsls r1, r2, 2 + add r1, r8 + lsls r1, 3 + adds r1, r0 + ldr r0, =sub_8178654 + str r0, [r1] +_08178922: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_81787AC + + .align 2, 0 @ Don't pad with nop. |