summaryrefslogtreecommitdiff
path: root/asm/wallclock.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/wallclock.s')
-rw-r--r--asm/wallclock.s1515
1 files changed, 1515 insertions, 0 deletions
diff --git a/asm/wallclock.s b/asm/wallclock.s
new file mode 100644
index 000000000..caf2e3007
--- /dev/null
+++ b/asm/wallclock.s
@@ -0,0 +1,1515 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_81347B4
+sub_81347B4: @ 81347B4
+ push {lr}
+ bl LoadOamFromSprites
+ bl ProcessObjectCopyRequests
+ bl copy_pal_bg_faded_to_pal_ram
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81347B4
+
+ thumb_func_start LoadWallClockGraphics
+LoadWallClockGraphics: @ 81347C8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ movs r0, 0
+ bl SetVBlankCallback
+ movs r0, 0
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0xE
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0xC
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0xA
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x8
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r3, 0xC0
+ lsls r3, 19
+ movs r4, 0xC0
+ lsls r4, 9
+ add r0, sp, 0x4
+ mov r8, r0
+ mov r2, sp
+ movs r6, 0
+ ldr r1, =0x040000d4
+ movs r5, 0x80
+ lsls r5, 5
+ ldr r7, =0x81000800
+ movs r0, 0x81
+ lsls r0, 24
+ mov r12, r0
+_0813486C:
+ strh r6, [r2]
+ mov r0, sp
+ str r0, [r1]
+ str r3, [r1, 0x4]
+ str r7, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ adds r3, r5
+ subs r4, r5
+ cmp r4, r5
+ bhi _0813486C
+ strh r6, [r2]
+ mov r2, sp
+ str r2, [r1]
+ str r3, [r1, 0x4]
+ lsrs r0, r4, 1
+ mov r2, r12
+ orrs r0, r2
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ movs r0, 0xE0
+ lsls r0, 19
+ movs r3, 0x80
+ lsls r3, 3
+ movs r4, 0
+ str r4, [sp, 0x4]
+ ldr r2, =0x040000d4
+ mov r1, r8
+ str r1, [r2]
+ str r0, [r2, 0x4]
+ lsrs r0, r3, 2
+ movs r1, 0x85
+ lsls r1, 24
+ orrs r0, r1
+ str r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xA0
+ lsls r1, 19
+ mov r0, sp
+ strh r4, [r0]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ lsrs r3, 1
+ movs r0, 0x81
+ lsls r0, 24
+ orrs r3, r0
+ str r3, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ ldr r0, =gUnknown_08DCC05C
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZ77UnCompVram
+ ldr r0, =0x020375e0
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _081348FC
+ ldr r0, =gUnknown_08DCC01C
+ movs r1, 0
+ movs r2, 0x20
+ bl gpu_pal_apply
+ b _08134906
+ .pool
+_081348FC:
+ ldr r0, =gUnknown_08DCC03C
+ movs r1, 0
+ movs r2, 0x20
+ bl gpu_pal_apply
+_08134906:
+ bl sub_8098C64
+ movs r1, 0xE0
+ movs r2, 0x20
+ bl gpu_pal_apply
+ ldr r0, =gUnknown_085B21D4
+ movs r1, 0xC0
+ movs r2, 0x8
+ bl gpu_pal_apply
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, =gUnknown_085B21FC
+ movs r0, 0
+ movs r2, 0x3
+ bl InitBgsFromTemplates
+ ldr r0, =gUnknown_085B21DC
+ bl InitWindows
+ bl DeactivateAllTextPrinters
+ movs r1, 0x94
+ lsls r1, 2
+ movs r0, 0
+ movs r2, 0xD0
+ bl sub_809882C
+ bl clear_scheduled_bg_copies_to_vram
+ bl remove_some_task
+ bl ResetTasks
+ bl ResetAllObjectData
+ bl sub_80A1A74
+ bl ResetObjectPaletteAllocator
+ ldr r0, =gUnknown_085B2208
+ bl LoadCompressedObjectPic
+ ldr r0, =gUnknown_085B2218
+ bl LoadTaggedObjectPalettes
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end LoadWallClockGraphics
+
+ thumb_func_start sub_813498C
+sub_813498C: @ 813498C
+ push {lr}
+ sub sp, 0x4
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl pal_fade_maybe
+ movs r0, 0x1
+ bl EnableInterrupts
+ ldr r0, =sub_81347B4
+ bl SetVBlankCallback
+ ldr r0, =sub_8134C9C
+ bl SetMainCallback2
+ movs r0, 0x50
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x52
+ movs r1, 0
+ bl SetGpuReg
+ movs r0, 0x54
+ movs r1, 0
+ bl SetGpuReg
+ movs r1, 0x82
+ lsls r1, 5
+ movs r0, 0
+ bl SetGpuReg
+ movs r0, 0
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ movs r0, 0x3
+ bl ShowBg
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_813498C
+
+ thumb_func_start Cb2_StartWallClock
+Cb2_StartWallClock: @ 81349F4
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0xC
+ bl LoadWallClockGraphics
+ ldr r0, =gUnknown_08DCC648
+ ldr r1, =0x06003800
+ bl LZ77UnCompVram
+ ldr r0, =sub_8134CB8
+ movs r1, 0
+ bl CreateTask
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r1, =0x03005e00
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ mov r8, r1
+ movs r1, 0xA
+ strh r1, [r0, 0xC]
+ mov r2, r8
+ strh r2, [r0, 0xE]
+ strh r2, [r0, 0x10]
+ strh r2, [r0, 0x12]
+ strh r2, [r0, 0x14]
+ strh r2, [r0, 0x8]
+ movs r1, 0x96
+ lsls r1, 1
+ strh r1, [r0, 0xA]
+ ldr r0, =gUnknown_085B2250
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x1
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =0x02020630
+ mov r9, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r9
+ strh r6, [r1, 0x2E]
+ ldrb r2, [r1, 0x1]
+ movs r5, 0x4
+ negs r5, r5
+ adds r0, r5, 0
+ ands r0, r2
+ movs r2, 0x1
+ mov r10, r2
+ mov r2, r10
+ orrs r0, r2
+ strb r0, [r1, 0x1]
+ ldrb r2, [r1, 0x3]
+ movs r4, 0x3F
+ negs r4, r4
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1, 0x3]
+ ldr r0, =gUnknown_085B2268
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r9
+ strh r6, [r1, 0x2E]
+ ldrb r0, [r1, 0x1]
+ ands r5, r0
+ mov r0, r10
+ orrs r5, r0
+ strb r5, [r1, 0x1]
+ ldrb r0, [r1, 0x3]
+ ands r4, r0
+ movs r0, 0x2
+ orrs r4, r0
+ strb r4, [r1, 0x3]
+ ldr r0, =gUnknown_085B22A0
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x2
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r9
+ strh r6, [r1, 0x2E]
+ movs r0, 0x2D
+ strh r0, [r1, 0x30]
+ ldr r0, =gUnknown_085B22B8
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x2
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ add r1, r9
+ strh r6, [r1, 0x2E]
+ movs r0, 0x5A
+ strh r0, [r1, 0x30]
+ bl sub_813498C
+ ldr r2, =gUnknown_085EFAE0
+ movs r0, 0x1
+ str r0, [sp]
+ mov r1, r8
+ str r1, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl Print
+ movs r0, 0x1
+ bl PutWindowTilemap
+ movs r0, 0x2
+ bl schedule_bg_copy_tilemap_to_vram
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end Cb2_StartWallClock
+
+ thumb_func_start Cb2_ViewWallClock
+Cb2_ViewWallClock: @ 8134B44
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ bl LoadWallClockGraphics
+ ldr r0, =gUnknown_08DCC908
+ ldr r1, =0x06003800
+ bl LZ77UnCompVram
+ ldr r0, =sub_8134F10
+ movs r1, 0
+ bl CreateTask
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r0, r7, 0
+ bl sub_8135130
+ ldr r1, =0x03005e00
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ bne _08134B9C
+ movs r2, 0x2D
+ mov r10, r2
+ movs r0, 0x5A
+ str r0, [sp, 0xC]
+ b _08134BA4
+ .pool
+_08134B9C:
+ movs r1, 0x5A
+ mov r10, r1
+ movs r2, 0x87
+ str r2, [sp, 0xC]
+_08134BA4:
+ ldr r0, =gUnknown_085B2250
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x1
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r6, =0x02020630
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ movs r0, 0
+ mov r9, r0
+ strh r7, [r1, 0x2E]
+ ldrb r2, [r1, 0x1]
+ movs r5, 0x4
+ negs r5, r5
+ adds r0, r5, 0
+ ands r0, r2
+ movs r2, 0x1
+ mov r8, r2
+ mov r2, r8
+ orrs r0, r2
+ strb r0, [r1, 0x1]
+ ldrb r2, [r1, 0x3]
+ movs r4, 0x3F
+ negs r4, r4
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1, 0x3]
+ ldr r0, =gUnknown_085B2268
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ strh r7, [r1, 0x2E]
+ ldrb r0, [r1, 0x1]
+ ands r5, r0
+ mov r0, r8
+ orrs r5, r0
+ strb r5, [r1, 0x1]
+ ldrb r0, [r1, 0x3]
+ ands r4, r0
+ movs r0, 0x2
+ orrs r4, r0
+ strb r4, [r1, 0x3]
+ ldr r0, =gUnknown_085B22A0
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x2
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ strh r7, [r1, 0x2E]
+ mov r2, r10
+ strh r2, [r1, 0x30]
+ ldr r0, =gUnknown_085B22B8
+ movs r1, 0x78
+ movs r2, 0x50
+ movs r3, 0x2
+ bl AddObjectToFront
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r6
+ strh r7, [r1, 0x2E]
+ mov r0, sp
+ ldrh r0, [r0, 0xC]
+ strh r0, [r1, 0x30]
+ bl sub_813498C
+ ldr r2, =gUnknown_085EFAE8
+ movs r0, 0x1
+ str r0, [sp]
+ mov r1, r9
+ str r1, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl Print
+ movs r0, 0x1
+ bl PutWindowTilemap
+ movs r0, 0x2
+ bl schedule_bg_copy_tilemap_to_vram
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end Cb2_ViewWallClock
+
+ thumb_func_start sub_8134C9C
+sub_8134C9C: @ 8134C9C
+ 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_8134C9C
+
+ thumb_func_start sub_8134CB8
+sub_8134CB8: @ 8134CB8
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =0x02037fd4
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08134CD8
+ ldr r0, =0x03005e00
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_8134CE8
+ str r0, [r1]
+_08134CD8:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134CB8
+
+ thumb_func_start sub_8134CE8
+sub_8134CE8: @ 8134CE8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, =0x03005e00
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r5, r0, r1
+ movs r1, 0x8
+ ldrsh r0, [r5, r1]
+ movs r1, 0x6
+ bl __modsi3
+ lsls r0, 16
+ cmp r0, 0
+ beq _08134D1C
+ ldrh r0, [r5, 0x8]
+ ldrb r1, [r5, 0x10]
+ ldrb r2, [r5, 0x14]
+ bl sub_8134FFC
+ strh r0, [r5, 0x8]
+ b _08134DBE
+ .pool
+_08134D1C:
+ movs r2, 0xE
+ ldrsh r1, [r5, r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 1
+ strh r0, [r5, 0x8]
+ movs r3, 0xC
+ ldrsh r0, [r5, r3]
+ movs r1, 0xC
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 16
+ lsls r4, r0, 4
+ subs r4, r0
+ lsls r4, 1
+ movs r1, 0xE
+ ldrsh r0, [r5, r1]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 2
+ adds r1, r0
+ adds r4, r1
+ strh r4, [r5, 0xA]
+ ldr r2, =0x030022c0
+ ldrh r0, [r2, 0x2E]
+ movs r3, 0x1
+ adds r1, r3, 0
+ ands r1, r0
+ cmp r1, 0
+ beq _08134D70
+ ldr r0, =sub_8134DC4
+ str r0, [r5]
+ b _08134DBE
+ .pool
+_08134D70:
+ strh r1, [r5, 0x10]
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _08134D7E
+ strh r3, [r5, 0x10]
+_08134D7E:
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08134D8C
+ movs r0, 0x2
+ strh r0, [r5, 0x10]
+_08134D8C:
+ ldrh r1, [r5, 0x10]
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _08134DBC
+ ldrh r2, [r5, 0x14]
+ movs r3, 0x14
+ ldrsh r0, [r5, r3]
+ cmp r0, 0xFE
+ bgt _08134DA4
+ adds r0, r2, 0x1
+ strh r0, [r5, 0x14]
+_08134DA4:
+ ldrh r0, [r5, 0x8]
+ lsls r1, 24
+ lsrs r1, 24
+ ldrb r2, [r5, 0x14]
+ bl sub_8134FFC
+ strh r0, [r5, 0x8]
+ ldrb r1, [r5, 0x10]
+ adds r0, r6, 0
+ bl sub_813504C
+ b _08134DBE
+_08134DBC:
+ strh r0, [r5, 0x14]
+_08134DBE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8134CE8
+
+ thumb_func_start sub_8134DC4
+sub_8134DC4: @ 8134DC4
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r5, 0x94
+ lsls r5, 2
+ movs r0, 0
+ movs r1, 0
+ adds r2, r5, 0
+ movs r3, 0xD
+ bl SetWindowBorderStyle
+ ldr r2, =gUnknown_085EFAC6
+ 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 PutWindowTilemap
+ movs r0, 0
+ bl schedule_bg_copy_tilemap_to_vram
+ ldr r0, =gUnknown_085B21F4
+ adds r1, r5, 0
+ movs r2, 0xD
+ movs r3, 0x1
+ bl CreateYesNoMenu
+ ldr r1, =0x03005e00
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, =c3_80BF560
+ str r1, [r0]
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134DC4
+
+ thumb_func_start c3_80BF560
+c3_80BF560: @ 8134E30
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8198C58
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _08134E56
+ cmp r1, 0
+ bgt _08134E50
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _08134E74
+ b _08134E96
+_08134E50:
+ cmp r1, 0x1
+ beq _08134E74
+ b _08134E96
+_08134E56:
+ movs r0, 0x5
+ bl audio_play
+ ldr r0, =0x03005e00
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_8134EA4
+ b _08134E94
+ .pool
+_08134E74:
+ movs r0, 0x5
+ bl audio_play
+ movs r0, 0
+ movs r1, 0
+ bl sub_8198070
+ movs r0, 0
+ bl ClearWindowTilemap
+ ldr r0, =0x03005e00
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_8134CE8
+_08134E94:
+ str r0, [r1]
+_08134E96:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end c3_80BF560
+
+ thumb_func_start sub_8134EA4
+sub_8134EA4: @ 8134EA4
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =0x03005e00
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ adds r4, r1
+ movs r1, 0xC
+ ldrsh r0, [r4, r1]
+ movs r2, 0xE
+ ldrsh r1, [r4, r2]
+ bl GameFreakRTC_CalcRTCToLocalDelta_DayZero
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl pal_fade_maybe
+ ldr r0, =c2_080111BC
+ str r0, [r4]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134EA4
+
+ thumb_func_start c2_080111BC
+c2_080111BC: @ 8134EE8
+ push {lr}
+ ldr r0, =0x02037fd4
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08134F02
+ bl FreeAllWindowBuffers
+ ldr r0, =0x030022c0
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+_08134F02:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end c2_080111BC
+
+ thumb_func_start sub_8134F10
+sub_8134F10: @ 8134F10
+ push {lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r0, =0x02037fd4
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08134F30
+ ldr r0, =0x03005e00
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_8134F40
+ str r0, [r1]
+_08134F30:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134F10
+
+ thumb_func_start sub_8134F40
+sub_8134F40: @ 8134F40
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8135130
+ ldr r0, =0x030022c0
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _08134F66
+ ldr r0, =0x03005e00
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, =sub_8134F78
+ str r0, [r1]
+_08134F66:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134F40
+
+ thumb_func_start sub_8134F78
+sub_8134F78: @ 8134F78
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ 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_8134FB0
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134F78
+
+ thumb_func_start sub_8134FB0
+sub_8134FB0: @ 8134FB0
+ push {lr}
+ ldr r0, =0x02037fd4
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08134FC6
+ ldr r0, =0x030022c0
+ ldr r0, [r0, 0x8]
+ bl SetMainCallback2
+_08134FC6:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8134FB0
+
+ thumb_func_start sub_8134FD4
+sub_8134FD4: @ 8134FD4
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r0, 0
+ cmp r0, 0x3C
+ bls _08134FE4
+ movs r0, 0x6
+ b _08134FF6
+_08134FE4:
+ cmp r0, 0x1E
+ bls _08134FEC
+ movs r0, 0x3
+ b _08134FF6
+_08134FEC:
+ cmp r1, 0xA
+ bhi _08134FF4
+ movs r0, 0x1
+ b _08134FF6
+_08134FF4:
+ movs r0, 0x2
+_08134FF6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8134FD4
+
+ thumb_func_start sub_8134FFC
+sub_8134FFC: @ 8134FFC
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r2, 0
+ bl sub_8134FD4
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r5, 0x1
+ beq _0813501E
+ cmp r5, 0x2
+ beq _08135030
+ b _08135044
+_0813501E:
+ cmp r4, 0
+ beq _08135026
+ subs r0, r4, r1
+ b _0813503C
+_08135026:
+ movs r2, 0xB4
+ lsls r2, 1
+ adds r0, r2, 0
+ subs r0, r1
+ b _0813503C
+_08135030:
+ movs r0, 0xB4
+ lsls r0, 1
+ subs r0, r1
+ cmp r4, r0
+ bge _08135042
+ adds r0, r4, r1
+_0813503C:
+ lsls r0, 16
+ lsrs r4, r0, 16
+ b _08135044
+_08135042:
+ movs r4, 0
+_08135044:
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8134FFC
+
+ thumb_func_start sub_813504C
+sub_813504C: @ 813504C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ cmp r4, 0x1
+ beq _08135060
+ cmp r4, 0x2
+ beq _081350A0
+ b _081350DE
+_08135060:
+ ldr r0, =0x03005e00
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xE]
+ movs r5, 0xE
+ ldrsh r0, [r1, r5]
+ cmp r0, 0
+ ble _08135080
+ subs r0, r2, 0x1
+ strh r0, [r1, 0xE]
+ b _081350DE
+ .pool
+_08135080:
+ movs r0, 0x3B
+ strh r0, [r1, 0xE]
+ ldrh r2, [r1, 0xC]
+ movs r6, 0xC
+ ldrsh r0, [r1, r6]
+ cmp r0, 0
+ ble _08135092
+ subs r0, r2, 0x1
+ b _08135094
+_08135092:
+ movs r0, 0x17
+_08135094:
+ strh r0, [r1, 0xC]
+ adds r0, r3, 0
+ adds r1, r4, 0
+ bl sub_81350E8
+ b _081350DE
+_081350A0:
+ ldr r0, =0x03005e00
+ lsls r1, r3, 2
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r0
+ ldrh r2, [r1, 0xE]
+ movs r5, 0xE
+ ldrsh r0, [r1, r5]
+ cmp r0, 0x3A
+ bgt _081350C0
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xE]
+ b _081350DE
+ .pool
+_081350C0:
+ movs r5, 0
+ strh r5, [r1, 0xE]
+ ldrh r2, [r1, 0xC]
+ movs r6, 0xC
+ ldrsh r0, [r1, r6]
+ cmp r0, 0x16
+ bgt _081350D4
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xC]
+ b _081350D6
+_081350D4:
+ strh r5, [r1, 0xC]
+_081350D6:
+ adds r0, r3, 0
+ adds r1, r4, 0
+ bl sub_81350E8
+_081350DE:
+ movs r0, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_813504C
+
+ thumb_func_start sub_81350E8
+sub_81350E8: @ 81350E8
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r3, r1, 24
+ ldr r2, =0x03005e00
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrb r0, [r1, 0xC]
+ cmp r3, 0x1
+ beq _0813510C
+ cmp r3, 0x2
+ beq _0813511E
+ b _0813512A
+ .pool
+_0813510C:
+ cmp r0, 0xB
+ beq _08135116
+ cmp r0, 0x17
+ beq _0813511A
+ b _0813512A
+_08135116:
+ movs r0, 0
+ b _08135128
+_0813511A:
+ strh r3, [r1, 0x12]
+ b _0813512A
+_0813511E:
+ cmp r0, 0
+ beq _08135128
+ cmp r0, 0xC
+ bne _0813512A
+ movs r0, 0x1
+_08135128:
+ strh r0, [r1, 0x12]
+_0813512A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81350E8
+
+ thumb_func_start sub_8135130
+sub_8135130: @ 8135130
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl GameFreakRTC_CalcLocalDateTime
+ ldr r1, =0x03005e00
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r6, r0, r1
+ ldr r5, =0x03005cf8
+ movs r0, 0x2
+ ldrsb r0, [r5, r0]
+ strh r0, [r6, 0xC]
+ movs r0, 0x3
+ ldrsb r0, [r5, r0]
+ strh r0, [r6, 0xE]
+ movs r0, 0xE
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 1
+ strh r0, [r6, 0x8]
+ movs r1, 0xC
+ ldrsh r0, [r6, r1]
+ movs r1, 0xC
+ bl __modsi3
+ lsls r0, 16
+ asrs r0, 16
+ lsls r4, r0, 4
+ subs r4, r0
+ lsls r4, 1
+ movs r1, 0xE
+ ldrsh r0, [r6, r1]
+ movs r1, 0xA
+ bl __divsi3
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 2
+ adds r1, r0
+ adds r4, r1
+ strh r4, [r6, 0xA]
+ movs r0, 0x2
+ ldrsb r0, [r5, r0]
+ cmp r0, 0xB
+ bgt _081351A0
+ movs r0, 0
+ b _081351A2
+ .pool
+_081351A0:
+ movs r0, 0x1
+_081351A2:
+ strh r0, [r6, 0x12]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8135130
+
+ thumb_func_start sub_81351AC
+sub_81351AC: @ 81351AC
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldr r2, =0x03005e00
+ movs r0, 0x2E
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r4, [r0, 0x8]
+ adds r7, r4, 0
+ adds r0, r4, 0
+ bl sine2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _081351D4
+ adds r0, 0xF
+_081351D4:
+ lsls r0, 12
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ bl cosine2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _081351E8
+ adds r0, 0xF
+_081351E8:
+ lsls r1, r0, 12
+ lsrs r1, 16
+ lsls r3, r5, 16
+ lsrs r2, r3, 16
+ negs r3, r3
+ lsrs r3, 16
+ str r1, [sp]
+ movs r0, 0
+ bl SetSpriteTransformationMatrix
+ ldr r1, =gUnknown_085B22D0
+ lsls r2, r7, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 16
+ lsrs r3, r0, 16
+ adds r1, 0x1
+ adds r2, r1
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r3, 0x80
+ bls _08135224
+ movs r1, 0xFF
+ lsls r1, 8
+ adds r0, r1, 0
+ orrs r3, r0
+_08135224:
+ cmp r2, 0x80
+ bls _08135230
+ movs r1, 0xFF
+ lsls r1, 8
+ adds r0, r1, 0
+ orrs r2, r0
+_08135230:
+ strh r3, [r6, 0x24]
+ strh r2, [r6, 0x26]
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81351AC
+
+ thumb_func_start sub_8135244
+sub_8135244: @ 8135244
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ ldr r2, =0x03005e00
+ movs r0, 0x2E
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrh r4, [r0, 0xA]
+ adds r7, r4, 0
+ adds r0, r4, 0
+ bl sine2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _0813526C
+ adds r0, 0xF
+_0813526C:
+ lsls r0, 12
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ bl cosine2
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0
+ bge _08135280
+ adds r0, 0xF
+_08135280:
+ lsls r1, r0, 12
+ lsrs r1, 16
+ lsls r3, r5, 16
+ lsrs r2, r3, 16
+ negs r3, r3
+ lsrs r3, 16
+ str r1, [sp]
+ movs r0, 0x1
+ bl SetSpriteTransformationMatrix
+ ldr r1, =gUnknown_085B22D0
+ lsls r2, r7, 1
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ lsls r0, 16
+ lsrs r3, r0, 16
+ adds r1, 0x1
+ adds r2, r1
+ movs r0, 0
+ ldrsb r0, [r2, r0]
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r3, 0x80
+ bls _081352BC
+ movs r1, 0xFF
+ lsls r1, 8
+ adds r0, r1, 0
+ orrs r3, r0
+_081352BC:
+ cmp r2, 0x80
+ bls _081352C8
+ movs r1, 0xFF
+ lsls r1, 8
+ adds r0, r1, 0
+ orrs r2, r0
+_081352C8:
+ strh r3, [r6, 0x24]
+ strh r2, [r6, 0x26]
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8135244
+
+ thumb_func_start sub_81352DC
+sub_81352DC: @ 81352DC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, =0x03005e00
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0813531C
+ ldrh r1, [r4, 0x30]
+ adds r0, r1, 0
+ subs r0, 0x3C
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _08135308
+ adds r0, r1, 0x5
+ strh r0, [r4, 0x30]
+_08135308:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x3B
+ bgt _0813533C
+ adds r0, r1, 0x1
+ b _0813533A
+ .pool
+_0813531C:
+ ldrh r1, [r4, 0x30]
+ adds r0, r1, 0
+ subs r0, 0x2E
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _0813532E
+ subs r0, r1, 0x5
+ strh r0, [r4, 0x30]
+_0813532E:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x4B
+ ble _0813533C
+ subs r0, r1, 0x1
+_0813533A:
+ strh r0, [r4, 0x30]
+_0813533C:
+ ldrh r0, [r4, 0x30]
+ bl cosine2
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r0, r1, 1
+ cmp r0, 0
+ bge _08135354
+ ldr r1, =0x00000fff
+ adds r0, r1
+_08135354:
+ asrs r0, 12
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x30]
+ bl sine2
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r0, r1, 1
+ cmp r0, 0
+ bge _08135370
+ ldr r2, =0x00000fff
+ adds r0, r2
+_08135370:
+ asrs r0, 12
+ strh r0, [r4, 0x26]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81352DC
+
+ thumb_func_start sub_8135380
+sub_8135380: @ 8135380
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, =0x03005e00
+ movs r0, 0x2E
+ ldrsh r1, [r4, r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _081353C0
+ ldrh r1, [r4, 0x30]
+ adds r0, r1, 0
+ subs r0, 0x69
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _081353AC
+ adds r0, r1, 0x5
+ strh r0, [r4, 0x30]
+_081353AC:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x68
+ bgt _081353E0
+ adds r0, r1, 0x1
+ b _081353DE
+ .pool
+_081353C0:
+ ldrh r1, [r4, 0x30]
+ adds r0, r1, 0
+ subs r0, 0x5B
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1D
+ bhi _081353D2
+ subs r0, r1, 0x5
+ strh r0, [r4, 0x30]
+_081353D2:
+ ldrh r1, [r4, 0x30]
+ movs r2, 0x30
+ ldrsh r0, [r4, r2]
+ cmp r0, 0x78
+ ble _081353E0
+ subs r0, r1, 0x1
+_081353DE:
+ strh r0, [r4, 0x30]
+_081353E0:
+ ldrh r0, [r4, 0x30]
+ bl cosine2
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r0, r1, 1
+ cmp r0, 0
+ bge _081353F8
+ ldr r1, =0x00000fff
+ adds r0, r1
+_081353F8:
+ asrs r0, 12
+ strh r0, [r4, 0x24]
+ ldrh r0, [r4, 0x30]
+ bl sine2
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, r0, 4
+ subs r1, r0
+ lsls r0, r1, 1
+ cmp r0, 0
+ bge _08135414
+ ldr r2, =0x00000fff
+ adds r0, r2
+_08135414:
+ asrs r0, 12
+ strh r0, [r4, 0x26]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8135380
+
+ .align 2, 0 @ Don't pad with nop.