diff options
author | YamaArashi <shadow962@live.com> | 2017-01-15 17:14:00 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2017-01-15 17:14:00 -0800 |
commit | 0f27bfba8ddfa194fcb0f2242ccd138799b3f806 (patch) | |
tree | 300a9055a98a40784ce6fe9973ec89f7bb226f07 /asm/field_region_map.s | |
parent | 3c6e4dba69d8ab1fa819b81435af60de9eb829ea (diff) |
split more code
Diffstat (limited to 'asm/field_region_map.s')
-rw-r--r-- | asm/field_region_map.s | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/asm/field_region_map.s b/asm/field_region_map.s new file mode 100644 index 000000000..67fc08a2b --- /dev/null +++ b/asm/field_region_map.s @@ -0,0 +1,325 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_817018C +sub_817018C: @ 817018C + push {r4,r5,lr} + adds r5, r0, 0 + movs r0, 0 + bl SetVBlankCallback + ldr r4, =gUnknown_0203BCD0 + movs r0, 0x89 + lsls r0, 4 + bl Alloc + str r0, [r4] + ldr r1, =0x0000088c + adds r2, r0, r1 + movs r1, 0 + strh r1, [r2] + str r5, [r0] + ldr r0, =sub_81701C4 + bl SetMainCallback2 + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_817018C + + thumb_func_start sub_81701C4 +sub_81701C4: @ 81701C4 + push {lr} + movs r0, 0 + movs r1, 0 + bl SetGpuReg + 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 + bl ResetAllObjectData + bl ResetObjectPaletteAllocator + movs r0, 0 + bl ResetBgsAndClearDma3BusyFlags + ldr r1, =gUnknown_085E5068 + movs r0, 0x1 + movs r2, 0x2 + bl InitBgsFromTemplates + ldr r0, =gUnknown_085E5070 + bl InitWindows + bl DeactivateAllTextPrinters + movs r0, 0 + movs r1, 0x27 + movs r2, 0xD0 + bl sub_809882C + bl clear_scheduled_bg_copies_to_vram + ldr r0, =sub_8170274 + bl SetMainCallback2 + ldr r0, =sub_8170260 + bl SetVBlankCallback + pop {r0} + bx r0 + .pool + thumb_func_end sub_81701C4 + + thumb_func_start sub_8170260 +sub_8170260: @ 8170260 + push {lr} + bl LoadOamFromSprites + bl ProcessObjectCopyRequests + bl copy_pal_bg_faded_to_pal_ram + pop {r0} + bx r0 + thumb_func_end sub_8170260 + + thumb_func_start sub_8170274 +sub_8170274: @ 8170274 + push {lr} + bl sub_8170290 + bl CallObjectCallbacks + bl PrepareSpritesForOamLoad + bl fade_and_return_progress_probably + bl do_scheduled_bg_tilemap_copies_to_vram + pop {r0} + bx r0 + thumb_func_end sub_8170274 + + thumb_func_start sub_8170290 +sub_8170290: @ 8170290 + push {r4,r5,lr} + sub sp, 0xC + ldr r1, =gUnknown_0203BCD0 + ldr r0, [r1] + ldr r2, =0x0000088c + adds r0, r2 + ldrh r0, [r0] + adds r4, r1, 0 + cmp r0, 0x6 + bls _081702A6 + b _08170416 +_081702A6: + lsls r0, 2 + ldr r1, =_081702BC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .pool + .align 2, 0 +_081702BC: + .4byte _081702D8 + .4byte _08170300 + .4byte _08170358 + .4byte _08170380 + .4byte _08170394 + .4byte _081703C0 + .4byte _081703E8 +_081702D8: + ldr r0, [r4] + adds r0, 0x8 + movs r1, 0 + bl sub_8122CDC + movs r0, 0 + movs r1, 0 + bl sub_8124288 + movs r0, 0x1 + movs r1, 0x1 + bl sub_81240D4 + ldr r1, [r4] + ldr r0, =0x0000088c + adds r1, r0 + b _081703D8 + .pool +_08170300: + movs r0, 0x1 + movs r1, 0 + movs r2, 0x27 + movs r3, 0xD + bl SetWindowBorderStyle + ldr r5, =gUnknown_085EE8F1 + movs r0, 0x1 + adds r1, r5, 0 + movs r2, 0x38 + bl GetStringCenterAlignXOffset + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0x1 + str r0, [sp] + movs r4, 0 + str r4, [sp, 0x4] + str r4, [sp, 0x8] + movs r1, 0x1 + adds r2, r5, 0 + bl Print + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + movs r0, 0 + movs r1, 0 + movs r2, 0x27 + movs r3, 0xD + bl SetWindowBorderStyle + bl sub_8170428 + movs r0, 0x1 + negs r0, r0 + str r4, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + b _081703CC + .pool +_08170358: + movs r1, 0x82 + lsls r1, 5 + movs r0, 0 + bl SetGpuRegBits + movs r0, 0 + bl ShowBg + movs r0, 0x2 + bl ShowBg + ldr r0, =gUnknown_0203BCD0 + ldr r1, [r0] + ldr r0, =0x0000088c + adds r1, r0 + b _081703D8 + .pool +_08170380: + ldr r0, =gUnknown_02037FD4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08170416 + ldr r1, [r4] + b _081703D4 + .pool +_08170394: + bl sub_81230AC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bne _081703A6 + bl sub_8170428 + b _08170416 +_081703A6: + cmp r0, 0x3 + blt _08170416 + cmp r0, 0x5 + bgt _08170416 + ldr r0, =gUnknown_0203BCD0 + ldr r1, [r0] + ldr r0, =0x0000088c + adds r1, r0 + b _081703D8 + .pool +_081703C0: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 +_081703CC: + bl pal_fade_maybe + ldr r0, =gUnknown_0203BCD0 + ldr r1, [r0] +_081703D4: + ldr r2, =0x0000088c + adds r1, r2 +_081703D8: + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + b _08170416 + .pool +_081703E8: + ldr r0, =gUnknown_02037FD4 + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _08170416 + bl sub_812305C + ldr r4, =gUnknown_0203BCD0 + ldr r0, [r4] + ldr r0, [r0] + bl SetMainCallback2 + ldr r0, [r4] + cmp r0, 0 + beq _08170412 + bl Free + str r5, [r4] +_08170412: + bl FreeAllWindowBuffers +_08170416: + add sp, 0xC + pop {r4,r5} + pop {r0} + bx r0 + .pool + thumb_func_end sub_8170290 + + thumb_func_start sub_8170428 +sub_8170428: @ 8170428 + push {r4,lr} + sub sp, 0xC + ldr r4, =gUnknown_0203BCD0 + ldr r0, [r4] + ldrb r0, [r0, 0xA] + cmp r0, 0 + beq _08170460 + movs r0, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + ldr r2, [r4] + adds r2, 0xC + movs r0, 0x1 + str r0, [sp] + movs r0, 0 + str r0, [sp, 0x4] + str r0, [sp, 0x8] + movs r1, 0x1 + movs r3, 0 + bl Print + movs r0, 0 + bl schedule_bg_copy_tilemap_to_vram + b _08170470 + .pool +_08170460: + movs r0, 0 + movs r1, 0x11 + bl FillWindowPixelBuffer + movs r0, 0 + movs r1, 0x3 + bl CopyWindowToVram +_08170470: + add sp, 0xC + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8170428 + + .align 2, 0 @ Don't pad with nop. |