summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDiegoisawesome <diego@domoreaweso.me>2018-12-31 16:09:45 -0600
committerDiegoisawesome <diego@domoreaweso.me>2018-12-31 16:09:45 -0600
commit439fa13e9460db41054aa97fe178a4212299ec83 (patch)
tree34632df1e0382c551d6dc35770d54bd2391a57d2 /asm
parent530a20354c56642647a67bfd1bf17dc71ff960a2 (diff)
Start porting/decompiling roulette
Diffstat (limited to 'asm')
-rw-r--r--asm/roulette.s2213
1 files changed, 1 insertions, 2212 deletions
diff --git a/asm/roulette.s b/asm/roulette.s
index 4174924e6..bfd4c7c7f 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -5,2217 +5,6 @@
.text
- thumb_func_start sub_8140238
-sub_8140238: @ 8140238
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xB8
- ldrb r0, [r1]
- cmp r0, 0
- beq _0814025A
- adds r0, r1, 0
- bl task_tutorial_controls_fadein
-_0814025A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140238
-
- thumb_func_start sub_8140264
-sub_8140264: @ 8140264
- push {r4,lr}
- sub sp, 0x4
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8142814
- ldr r4, =gUnknown_0203AB88
- ldr r0, [r4]
- ldrh r0, [r0, 0x26]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x14
- bl SetGpuReg
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _081402A0
- ldrh r1, [r1, 0x34]
- movs r0, 0x52
- bl SetGpuReg
-_081402A0:
- ldr r2, [r4]
- movs r3, 0x2A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _081402C0
- ldr r1, =0x040000d4
- ldr r3, =0x0000133c
- adds r0, r2, r3
- str r0, [r1]
- ldr r0, =0x060021c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- strh r0, [r2, 0x2A]
-_081402C0:
- ldr r0, [r4]
- movs r2, 0x28
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _081402EC
- cmp r1, 0x1
- ble _08140374
- cmp r1, 0x2
- beq _08140324
- cmp r1, 0xFF
- beq _08140348
- b _08140374
- .pool
-_081402EC:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- ldr r1, =0x040000d4
- ldr r2, [r4]
- movs r3, 0xCF
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r2, 0x28]
- b _08140374
- .pool
-_08140324:
- ldr r1, =0x040000d4
- movs r2, 0xCF
- lsls r2, 2
- adds r0, r2
- str r0, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x800001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _08140374
- .pool
-_08140348:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- bl SetBgAttribute
- movs r0, 0
- bl ShowBg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r3, sp
- str r3, [r1]
- ldr r0, =0x0600f9c0
- str r0, [r1, 0x4]
- ldr r0, =0x810001a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0x28]
-_08140374:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140264
-
- thumb_func_start sub_8140388
-sub_8140388: @ 8140388
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
- str r5, [sp]
- ldr r4, =gUnknown_0203AB88
- movs r0, 0xE6
- lsls r0, 6
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B6140
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r4]
- movs r0, 0xBE
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r2, =0x0000117c
- adds r1, r2
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x0000317c
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_085B614C
- bl InitWindows
- bl sub_8197200
- ldr r0, =gUnknown_0203AB8C
- strb r5, [r0]
- ldr r0, =gUnknown_085B5DFC
- mov r1, sp
- bl malloc_and_decompress
- ldr r1, [r4]
- ldr r2, =0x0000397c
- adds r1, r2
- str r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140388
-
- thumb_func_start sub_8140418
-sub_8140418: @ 8140418
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- ldr r4, =0x0000397c
- adds r0, r4
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- adds r0, r4
- movs r4, 0
- str r4, [r0]
- bl FreeAllWindowBuffers
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r0, [r5]
- movs r2, 0xE6
- lsls r2, 6
- movs r1, 0
- bl memset
- ldr r0, [r5]
- bl Free
- str r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140418
-
- thumb_func_start sub_8140470
-sub_8140470: @ 8140470
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gUnknown_085B6418
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- ldr r5, =gUnknown_0203AB88
- ldr r3, [r5]
- ldr r4, =gSpecialVar_0x8004
- ldrb r0, [r4]
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3, 0x4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x4]
- ldrh r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081404AA
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x4]
-_081404AA:
- ldr r1, [r5]
- ldr r2, =gUnknown_085B6348
- ldrb r0, [r1, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r2
- ldrb r0, [r0, 0x3]
- adds r1, 0x22
- strb r0, [r1]
- ldr r1, [r5]
- ldrb r0, [r1, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r2
- ldrb r0, [r0, 0x4]
- adds r1, 0x23
- strb r0, [r1]
- ldr r2, [r5]
- ldr r3, =gUnknown_085B6344
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 30
- lsrs r0, 30
- lsrs r1, 7
- lsls r1, 1
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r2, 0x19]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r5]
- ldrb r0, [r0, 0x19]
- cmp r0, 0x1
- bne _08140520
- ldr r4, =gPlttBufferUnfaded
- ldr r3, =gPlttBufferFaded
- mov r0, sp
- ldrh r2, [r0]
- b _08140528
- .pool
-_08140520:
- ldr r4, =gPlttBufferUnfaded
- ldr r3, =gPlttBufferFaded
- mov r0, sp
- ldrh r2, [r0, 0x2]
-_08140528:
- adds r0, r3, 0
- adds r0, 0xA2
- strh r2, [r0]
- ldr r1, =0x0000ffff
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3]
- ands r0, r1
- adds r2, r4, 0
- adds r2, 0xA2
- strh r0, [r2]
- ands r0, r1
- strh r0, [r4]
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0xB8
- bl sub_8151678
- movs r4, 0
-_0814054E:
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- adds r0, 0xB8
- lsls r2, r4, 3
- ldr r1, =gUnknown_085B6388
- adds r2, r1
- adds r1, r4, 0
- bl sub_815168C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xC
- bls _0814054E
- movs r4, 0
-_0814056C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- beq _081405AC
- adds r0, 0x2
- cmp r1, r0
- bne _081405B6
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- movs r2, 0x1
- b _081405B2
- .pool
-_081405AC:
- ldr r0, [r5]
- ldrb r1, [r0, 0x2]
- movs r2, 0x2
-_081405B2:
- orrs r1, r2
- strb r1, [r0, 0x2]
-_081405B6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0814056C
- bl RtcCalcLocalTime
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8140470
-
- thumb_func_start sub_81405CC
-sub_81405CC: @ 81405CC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _081405E0
- b _081407F8
-_081405E0:
- lsls r0, 2
- ldr r1, =_081405F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081405F4:
- .4byte _08140618
- .4byte _08140630
- .4byte _08140650
- .4byte _08140662
- .4byte _0814069C
- .4byte _081406C0
- .4byte _081406E0
- .4byte _08140750
- .4byte _0814077A
-_08140618:
- movs r0, 0
- bl SetVBlankCallback
- bl ScanlineEffect_Stop
- bl SetVBlankHBlankCallbacksToNull
- bl ResetVramOamAndBgCntRegs
- bl ResetAllBgsCoordinates
- b _081407F8
-_08140630:
- bl sub_8140388
- bl DeactivateAllTextPrinters
- movs r1, 0x90
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000060a
- movs r0, 0x52
- bl SetGpuReg
- b _081407F8
- .pool
-_08140650:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl reset_temp_tile_data_buffers
- b _081407F8
-_08140662:
- ldr r0, =gUnknown_085B5BFC
- movs r2, 0xE0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, =gRouletteMenuTiles
- movs r4, 0
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gRouletteWheelTiles
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _081407F8
- .pool
-_0814069C:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- beq _081406A8
- b _08140806
-_081406A8:
- bl sub_8140470
- ldr r1, =gUnknown_085B5FA0
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _081407F8
- .pool
-_081406C0:
- movs r0, 0
- bl sub_8142C0C
- bl sub_81439C8
- bl sub_814391C
- bl sub_8143314
- bl sub_8142CD0
- bl sub_8142F7C
- bl sub_81431E4
- b _081407F8
-_081406E0:
- bl AnimateSprites
- bl BuildOamBuffer
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl sub_8143514
- movs r0, 0x6
- bl sub_814372C
- movs r0, 0
- bl sub_81436D0
- movs r0, 0
- bl sub_81424FC
- ldr r4, =gUnknown_0203AB8C
- ldrb r0, [r4]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r4]
- ldr r2, =gUnknown_082A5B89
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gSpriteCoordOffsetX
- movs r2, 0x3C
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =gSpriteCoordOffsetY
- strh r5, [r0]
- b _081407F8
- .pool
-_08140750:
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- b _081407F8
-_0814077A:
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_8140264
- bl SetVBlankCallback
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginHardwarePaletteFade
- ldr r0, =sub_81408A8
- movs r1, 0
- bl CreateTask
- ldr r5, =gUnknown_0203AB88
- ldr r1, [r5]
- adds r1, 0xA4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0x6
- strh r0, [r4, 0x14]
- bl GetCoins
- strh r0, [r4, 0x22]
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- bl sub_80EDE84
- ldr r0, =sub_8140814
- movs r1, 0x1
- bl CreateTask
- ldr r1, [r5]
- adds r1, 0xA5
- strb r0, [r1]
- ldr r0, =sub_8140238
- bl SetMainCallback2
- b _08140806
- .pool
-_081407F8:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08140806:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81405CC
-
- thumb_func_start sub_8140814
-sub_8140814: @ 8140814
- push {r4-r6,lr}
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- adds r0, 0x21
- ldrb r2, [r0]
- adds r1, r2, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x23
- lsls r2, 24
- lsrs r2, 24
- adds r6, r3, 0
- ldrb r0, [r0]
- cmp r2, r0
- bne _0814085A
- adds r1, 0x21
- movs r0, 0
- strb r0, [r1]
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0x22
- ldrb r1, [r3]
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bge _0814085A
- ldrb r1, [r3]
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r2, 0x24]
-_0814085A:
- adds r4, r6, 0
- ldr r0, [r4]
- ldrh r0, [r0, 0x24]
- bl Sin2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r4]
- ldrh r0, [r0, 0x24]
- bl Cos2
- lsls r0, 16
- lsrs r1, r0, 16
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0
- bge _0814087E
- adds r0, 0xF
-_0814087E:
- lsls r0, 12
- lsrs r5, r0, 16
- ldr r3, [r6]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0
- bge _0814088E
- adds r0, 0xF
-_0814088E:
- asrs r0, 4
- strh r0, [r3, 0x32]
- strh r0, [r3, 0x2C]
- strh r5, [r3, 0x2E]
- lsls r0, r5, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r3, 0x30]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140814
-
- thumb_func_start sub_81408A8
-sub_81408A8: @ 81408A8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081408FE
- movs r1, 0x90
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000808
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x14]
- adds r0, r4, 0
- bl sub_8141FF4
- bl sub_8142070
- bl sub_8143A40
- movs r0, 0
- bl sub_81424FC
- movs r0, 0x6
- bl sub_814372C
- ldr r1, =sub_8140968
- ldr r2, =0x0000ffff
- adds r0, r4, 0
- movs r3, 0x3
- bl sub_8141F7C
-_081408FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81408A8
-
- thumb_func_start sub_8140914
-sub_8140914: @ 8140914
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl DisplayYesNoMenu
- ldr r5, =gUnknown_0203AB8C
- ldrb r0, [r5]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r5]
- ldr r2, =gUnknown_082A5C13
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl AddTextPrinterParameterized
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, =gUnknown_085B6410
- adds r0, r4, 0
- bl sub_8121F68
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140914
-
- thumb_func_start sub_8140968
-sub_8140968: @ 8140968
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl sub_819746C
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8140BD0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140968
-
- thumb_func_start sub_8140994
-sub_8140994: @ 8140994
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0xA5
- ldrb r0, [r0]
- bl DestroyTask
- adds r0, r4, 0
- bl sub_8141DE4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140994
-
- thumb_func_start sub_81409B8
-sub_81409B8: @ 81409B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _081409CA
- b _08140AE8
-_081409CA:
- lsls r0, r4, 2
- ldr r1, =_081409D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081409D8:
- .4byte _08140A18
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A3C
- .4byte _08140A90
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140A90
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140AE8
- .4byte _08140A90
-_08140A18:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r1
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- b _08140B4E
- .pool
-_08140A3C:
- lsls r0, r4, 1
- adds r0, r4
- adds r0, 0xE
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x10
- str r1, [sp]
- movs r6, 0xD
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =0x00000232
- adds r1, r0
- movs r0, 0x3
- str r0, [sp]
- str r6, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r8
- movs r3, 0x7
- bl sub_8152058
- b _08140B4E
- .pool
-_08140A90:
- subs r0, r4, 0x1
- movs r1, 0x5
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0xA
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r6, 0x10
- str r6, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0xA0
- lsls r0, 2
- adds r1, r0
- str r6, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0xE
- adds r3, r7, 0
- bl sub_8152058
- b _08140B4E
- .pool
-_08140AE8:
- adds r0, r4, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0xE
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- subs r0, r4, 0x1
- movs r1, 0x5
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- adds r1, 0x7
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0xD
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x7
- bl sub_8152008
- ldr r0, [r5]
- adds r4, r0, r4
- ldr r1, =0x0000397c
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 2
- adds r1, r0
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r2, r8
- adds r3, r7, 0
- bl sub_8152058
-_08140B4E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81409B8
-
- thumb_func_start sub_8140B64
-sub_8140B64: @ 8140B64
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x10]
- bl sub_81436D0
- ldrb r0, [r4, 0x10]
- bl sub_81409B8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140B64
-
- thumb_func_start sub_8140B8C
-sub_8140B8C: @ 8140B8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203AB88
- ldr r2, [r5]
- movs r6, 0
- movs r1, 0x1
- strh r1, [r2, 0x28]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x10]
- bl sub_81409B8
- ldr r0, [r5]
- adds r0, 0x23
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x21
- strb r6, [r0]
- ldr r0, =sub_8141040
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140B8C
-
- thumb_func_start sub_8140BD0
-sub_8140BD0: @ 8140BD0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gUnknown_0203AB88
- ldr r0, [r1]
- ldr r2, [r0, 0x8]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08140C30
- movs r3, 0xB
- ldr r5, =gUnknown_085B6154
- adds r0, r5, 0
- adds r0, 0xE4
- ldr r0, [r0]
- ands r2, r0
- ldr r0, =gTasks
- mov r12, r0
- lsls r7, r6, 2
- cmp r2, 0
- beq _08140C6E
- adds r4, r1, 0
- adds r5, 0x8
-_08140BFE:
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r3, r0, 16
- asrs r2, r0, 16
- cmp r2, 0xD
- bgt _08140C6E
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140BFE
- b _08140C6E
- .pool
-_08140C30:
- movs r3, 0x6
- ldr r5, =gUnknown_085B6154
- adds r0, r5, 0
- adds r0, 0x80
- ldr r0, [r0]
- ands r2, r0
- ldr r0, =gTasks
- mov r12, r0
- lsls r7, r6, 2
- cmp r2, 0
- beq _08140C6E
- adds r4, r1, 0
- adds r5, 0x8
-_08140C4A:
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r3, r0, 16
- asrs r2, r0, 16
- cmp r2, 0x9
- bgt _08140C6E
- ldr r1, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- ldr r1, [r1, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140C4A
-_08140C6E:
- adds r4, r7, r6
- lsls r4, 3
- add r4, r12
- movs r5, 0
- strh r3, [r4, 0x10]
- adds r0, r6, 0
- bl sub_8141FF4
- ldrb r0, [r4, 0x10]
- bl sub_81424FC
- ldrb r0, [r4, 0x10]
- bl sub_81436D0
- ldrb r0, [r4, 0x10]
- bl sub_8142284
- strh r5, [r4, 0xA]
- ldr r0, =sub_8140B8C
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140BD0
-
- thumb_func_start sub_8140CA8
-sub_8140CA8: @ 8140CA8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r6, 0
- movs r7, 0
- ldr r1, =gUnknown_085B641E
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldrb r0, [r4]
- mov r8, r0
- cmp r5, 0
- blt _08140D1C
- cmp r5, 0x1
- bgt _08140CF4
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl __modsi3
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0xF0
- lsls r2, 20
- adds r1, r0, r2
- lsrs r7, r1, 24
- cmp r0, 0
- bne _08140D1C
- movs r6, 0x5
- b _08140D1C
- .pool
-_08140CF4:
- cmp r5, 0x3
- bgt _08140D1C
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r2, 0x80
- lsls r2, 19
- adds r0, r1, r2
- lsrs r7, r0, 24
- cmp r1, 0
- bne _08140D1C
- movs r6, 0x1
-_08140D1C:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r2, [r4]
- adds r0, r2
- strh r0, [r4]
- lsls r1, r6, 24
- asrs r3, r1, 24
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 24
- cmp r0, r3
- bge _08140D3E
- asrs r0, r2, 24
- strh r0, [r4]
-_08140D3E:
- movs r0, 0
- ldrsh r1, [r4, r0]
- asrs r0, r2, 24
- cmp r1, r0
- ble _08140D4A
- strh r3, [r4]
-_08140D4A:
- mov r1, r8
- lsls r0, r1, 24
- movs r2, 0
- ldrsh r1, [r4, r2]
- asrs r0, 24
- cmp r1, r0
- bne _08140D5C
- movs r0, 0
- b _08140D5E
-_08140D5C:
- movs r0, 0x1
-_08140D5E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8140CA8
-
- thumb_func_start sub_8140D6C
-sub_8140D6C: @ 8140D6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r9, r0
- movs r5, 0
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08140DA8
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DA8
- b _08140F3A
-_08140DA8:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08140DCE
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x1
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DCE
- b _08140F3A
-_08140DCE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08140DF4
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x2
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140DF4
- b _08140F3A
-_08140DF4:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08140E1A
- movs r5, 0x1
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x8
- movs r1, 0x3
- bl sub_8140CA8
- lsls r0, 24
- cmp r0, 0
- bne _08140E1A
- b _08140F3A
-_08140E1A:
- cmp r5, 0
- bne _08140E20
- b _08140F3A
-_08140E20:
- ldr r0, =gTasks
- lsls r6, r7, 2
- adds r4, r6, r7
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x10]
- bl sub_81424FC
- adds r0, r7, 0
- bl sub_8140B64
- mov r1, r9
- strh r1, [r4, 0xA]
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203AB88
- ldr r0, [r5]
- adds r0, 0xB8
- ldr r1, =0x0000ffff
- bl sub_8151A9C
- ldr r5, [r5]
- movs r2, 0xB8
- lsls r2, 1
- adds r3, r5, r2
- ldrb r2, [r3]
- movs r1, 0x7F
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xB2
- lsls r0, 1
- adds r3, r5, r0
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- movs r0, 0xAC
- lsls r0, 1
- adds r2, r5, r0
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldrb r0, [r4, 0x10]
- bl sub_8142284
- movs r4, 0
- mov r9, r6
- ldr r1, =gSprites
- mov r12, r1
- movs r2, 0x8
- add r2, r12
- mov r10, r2
-_08140E8C:
- ldr r0, =gUnknown_0203AB88
- ldr r5, [r0]
- adds r0, r4, 0
- adds r0, 0x29
- adds r6, r5, 0
- adds r6, 0x3C
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r12
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x40
- add r0, r10
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- ldr r2, =0x000003ff
- mov r8, r2
- mov r0, r8
- ands r1, r0
- ldrh r2, [r3, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08140E8C
- ldr r0, =gTasks
- mov r2, r9
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r3, [r1, 0x10]
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _08140F3A
- ldr r2, =gUnknown_085B6154
- movs r0, 0x10
- ldrsh r1, [r1, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r5, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08140F3A
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, 0x29
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x40
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldrh r2, [r2]
- adds r1, r2
- mov r2, r8
- ands r1, r2
- ldrh r2, [r3, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
-_08140F3A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140D6C
-
- thumb_func_start sub_8140F6C
-sub_8140F6C: @ 8140F6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80EECA4
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- movs r0, 0xFF
- strh r0, [r1, 0x28]
- ldrb r2, [r1, 0x19]
- cmp r2, 0x1
- bne _08140F90
- adds r0, r1, 0
- adds r0, 0x23
- strb r2, [r0]
- b _08140F96
- .pool
-_08140F90:
- adds r1, 0x23
- movs r0, 0
- strb r0, [r1]
-_08140F96:
- ldr r0, =gUnknown_0203AB88
- ldr r0, [r0]
- adds r0, 0x21
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x20
- strh r1, [r0, 0xA]
- ldr r1, =sub_81410FC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140F6C
-
- thumb_func_start sub_8140FC4
-sub_8140FC4: @ 8140FC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_0203AB88
- ldr r2, [r4]
- ldrb r1, [r2, 0x1A]
- lsls r1, 28
- lsrs r1, 28
- adds r2, 0x1B
- adds r2, r1
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r3
- ldrh r0, [r5, 0x10]
- strb r0, [r2]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8142758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 28
- lsrs r0, 28
- adds r1, 0x1B
- adds r1, r0
- ldrb r0, [r1]
- bl sub_81436D0
- ldr r0, [r4]
- ldrb r1, [r0, 0x19]
- ldrh r0, [r5, 0x22]
- subs r0, r1
- strh r0, [r5, 0x22]
- lsls r0, 16
- cmp r0, 0
- bge _08141024
- movs r0, 0
- strh r0, [r5, 0x22]
-_08141024:
- ldrh r0, [r5, 0x22]
- bl sub_8143514
- ldr r0, =sub_8140F6C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8140FC4
-
- thumb_func_start sub_8141040
-sub_8141040: @ 8141040
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8140D6C
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- beq _08141076
- cmp r0, 0x1E
- bgt _0814106C
- cmp r0, 0
- beq _08141072
- b _0814108A
- .pool
-_0814106C:
- cmp r0, 0x3B
- beq _08141084
- b _0814108A
-_08141072:
- ldrb r0, [r4, 0x10]
- b _08141078
-_08141076:
- movs r0, 0
-_08141078:
- bl sub_81409B8
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _0814109A
-_08141084:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _0814109A
-_0814108A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_0814109A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081410F2
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldr r2, =gUnknown_085B6154
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _081410E8
- movs r0, 0x16
- bl PlaySE
- b _081410F2
- .pool
-_081410E8:
- movs r0, 0x5F
- bl m4aSongNumStart
- ldr r0, =sub_8140FC4
- str r0, [r4]
-_081410F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8141040
-
- thumb_func_start sub_81410FC
-sub_81410FC: @ 81410FC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0xA]
- subs r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- ble _08141168
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08141128
- ldr r1, =gSpriteCoordOffsetX
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
-_08141128:
- ldr r0, =gUnknown_0203AB88
- ldr r1, [r0]
- ldrh r0, [r1, 0x26]
- adds r0, 0x4
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x68
- bne _08141180
- ldr r2, =gSprites
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- b _08141180
- .pool
-_08141168:
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_8142E70
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_8143038
- ldr r0, =sub_8141344
- str r0, [r4]
- movs r0, 0
- strh r0, [r4, 0xA]
-_08141180:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81410FC
-
- thumb_func_start sub_814118C
-sub_814118C: @ 814118C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_0203AB88
- ldr r3, [r0]
- ldrb r2, [r3, 0x2]
- adds r5, r0, 0
- cmp r2, 0x2
- bgt _081411AC
- cmp r2, 0x1
- bge _081411B2
- b _08141280
- .pool
-_081411AC:
- cmp r2, 0x3
- beq _08141214
- b _08141280
-_081411B2:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _081411E4
- cmp r4, 0xB
- bls _081411CC
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141296
-_081411CC:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081411E4:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08141200
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141200:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- b _0814133A
- .pool
-_08141214:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bhi _08141248
- cmp r4, 0x5
- bls _0814122E
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141296
-_0814122E:
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141248:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08141268
- cmp r4, 0x6
- bls _08141268
- ldr r0, =gUnknown_085B6348
- ldrb r1, [r3, 0x4]
- lsls r1, 30
- lsrs r1, 25
- adds r1, r0
- ldrb r0, [r1, 0x2]
- lsrs r0, 2
- b _0814133A
- .pool
-_08141268:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_08141280:
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _081412B8
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081412A0
-_08141296:
- movs r0, 0x1
- b _0814133A
- .pool
-_081412A0:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081412B8:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081412F0
- cmp r4, 0xC
- bls _081412DC
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsrs r0, 1
- b _0814133A
- .pool
-_081412DC:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- b _0814133A
- .pool
-_081412F0:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08141328
- cmp r4, 0xC
- bls _08141314
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x2]
- b _0814133A
- .pool
-_08141314:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x1]
- b _0814133A
- .pool
-_08141328:
- ldr r1, =gUnknown_085B6348
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- lsls r0, 30
- lsrs r0, 25
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 25
- lsrs r0, 24
-_0814133A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814118C
-
- thumb_func_start sub_8141344
-sub_8141344: @ 8141344
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r4, 0
- ldr r1, =gUnknown_085B6422
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl Random
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r7, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, =gUnknown_0203AB88
- ldr r0, [r3]
- ldr r2, =gTasks
- mov r5, r10
- lsls r1, r5, 2
- add r1, r10
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0x14]
- adds r0, 0x7C
- strb r2, [r0]
- ldr r0, [r3]
- adds r2, r0, 0
- adds r2, 0x7F
- strb r4, [r2]
- subs r2, 0x1
- strb r4, [r2]
- adds r0, 0x7D
- strb r4, [r0]
- ldrh r0, [r1, 0x18]
- adds r1, r7, 0
- bl sub_814118C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r7, 0
- bl __modsi3
- lsrs r4, 25
- subs r0, r4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- movs r5, 0x1
- cmp r0, 0xC
- bgt _081413C8
- movs r5, 0
-_081413C8:
- cmp r6, 0x4F
- bhi _081413E0
- lsls r0, r5, 25
- b _081413EA
- .pool
-_081413E0:
- lsls r1, r5, 24
- asrs r1, 24
- movs r0, 0x1
- subs r0, r1
- lsls r0, 25
-_081413EA:
- lsrs r5, r0, 24
- ldr r0, _08141530 @ =gUnknown_0203AB88
- ldr r6, [r0]
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 25
- ldr r1, _08141534 @ =gUnknown_085B6348
- adds r0, r1
- lsls r4, 24
- asrs r4, 24
- ldrh r0, [r0, 0x1A]
- adds r4, r0
- adds r0, r6, 0
- adds r0, 0x80
- strh r4, [r0]
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _0814141C
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
-_0814141C:
- ldr r1, _0814153C @ =0x40A00000
- bl __divsf3
- bl __fixunssfsi
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- movs r2, 0x82
- adds r2, r6
- mov r8, r2
- strh r0, [r2]
- adds r0, r6, 0
- adds r0, 0x84
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- movs r0, 0x88
- adds r0, r6
- mov r9, r0
- movs r0, 0x1
- ands r0, r7
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r1
- lsls r0, 1
- add r0, sp
- movs r1, 0
- ldrsh r4, [r0, r1]
- adds r0, r4, 0
- bl __floatsisf
- cmp r4, 0
- bge _08141468
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
-_08141468:
- mov r2, r9
- str r0, [r2]
- adds r7, r6, 0
- adds r7, 0x8C
- ldrb r0, [r6, 0x4]
- lsls r0, 30
- lsrs r0, 25
- ldr r5, _08141534 @ =gUnknown_085B6348
- adds r0, r5
- movs r1, 0x18
- ldrsh r4, [r0, r1]
- adds r0, r4, 0
- bl __floatsisf
- adds r5, r0, 0
- cmp r4, 0
- bge _08141492
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r5, r0, 0
-_08141492:
- str r5, [r7]
- adds r7, r6, 0
- adds r7, 0x90
- ldr r1, _08141540 @ =0x3F000000
- adds r0, r5, 0
- bl __mulsf3
- adds r1, r5, 0
- bl __subsf3
- adds r5, r0, 0
- mov r2, r8
- movs r0, 0
- ldrsh r4, [r2, r0]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _081414C2
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_081414C2:
- adds r0, r5, 0
- adds r1, r2, 0
- bl __divsf3
- str r0, [r7]
- adds r1, r6, 0
- adds r1, 0x94
- ldr r0, _08141544 @ =0x42880000
- str r0, [r1]
- adds r1, 0x8
- ldr r0, _08141548 @ =0x00000000
- str r0, [r1]
- adds r5, r6, 0
- adds r5, 0x98
- mov r1, r8
- movs r2, 0
- ldrsh r4, [r1, r2]
- adds r0, r4, 0
- bl __floatsisf
- adds r2, r0, 0
- cmp r4, 0
- bge _081414F8
- ldr r1, _08141538 @ =0x47800000
- bl __addsf3
- adds r2, r0, 0
-_081414F8:
- ldr r0, _0814154C @ =0x41000000
- adds r1, r2, 0
- bl __divsf3
- bl __negsf2
- str r0, [r5]
- adds r1, r6, 0
- adds r1, 0xA0
- ldr r0, _08141550 @ =0x42100000
- str r0, [r1]
- ldr r1, _08141554 @ =gTasks
- mov r5, r10
- lsls r0, r5, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldr r1, _08141558 @ =sub_814155C
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08141530:
- .4byte gUnknown_0203AB88
-_08141534:
- .4byte gUnknown_085B6348
-_08141538:
- .4byte 0x47800000
-_0814153C:
- .4byte 0x40A00000
-_08141540:
- .4byte 0x3F000000
-_08141544:
- .4byte 0x42880000
-_08141548:
- .4byte 0x00000000
-_0814154C:
- .4byte 0x41000000
-_08141550:
- .4byte 0x42100000
-_08141554:
- .4byte gTasks
-_08141558:
- .4byte sub_814155C
- thumb_func_end sub_8141344
-
thumb_func_start sub_814155C
sub_814155C: @ 814155C
push {r4,lr}
@@ -4505,7 +2294,7 @@ sub_81428C4: @ 81428C4
bl DisplayYesNoMenu
ldr r1, =gUnknown_085B6408
adds r0, r4, 0
- bl sub_8121F68
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0