summaryrefslogtreecommitdiff
path: root/asm/intro.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/intro.s')
-rw-r--r--asm/intro.s4841
1 files changed, 0 insertions, 4841 deletions
diff --git a/asm/intro.s b/asm/intro.s
deleted file mode 100644
index 24b7bb9b6..000000000
--- a/asm/intro.s
+++ /dev/null
@@ -1,4841 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80EC5A4
-sub_80EC5A4: @ 80EC5A4
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80EC5A4
-
- thumb_func_start sub_80EC5B8
-sub_80EC5B8: @ 80EC5B8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080EC5CA
- ldr r0, _080EC5D0 @ =sub_80EC870
- bl SetMainCallback2
-_080EC5CA:
- pop {r0}
- bx r0
- .align 2, 0
-_080EC5D0: .4byte sub_80EC870
- thumb_func_end sub_80EC5B8
-
- thumb_func_start load_copyright_graphics
-load_copyright_graphics: @ 80EC5D4
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _080EC610 @ =gUnknown_8402280
- movs r6, 0xC0
- lsls r6, 19
- adds r3, r6
- adds r1, r3, 0
- bl LZ77UnCompVram
- ldr r0, _080EC614 @ =gUnknown_84024E4
- adds r4, r6
- adds r1, r4, 0
- bl LZ77UnCompVram
- ldr r0, _080EC618 @ =gUnknown_8402260
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC610: .4byte gUnknown_8402280
-_080EC614: .4byte gUnknown_84024E4
-_080EC618: .4byte gUnknown_8402260
- thumb_func_end load_copyright_graphics
-
- thumb_func_start SerialCb_CopyrightScreen
-SerialCb_CopyrightScreen: @ 80EC61C
- push {lr}
- ldr r0, _080EC628 @ =gUnknown_203AAD4
- bl GameCubeMultiBoot_HandleSerialInterrupt
- pop {r0}
- bx r0
- .align 2, 0
-_080EC628: .4byte gUnknown_203AAD4
- thumb_func_end SerialCb_CopyrightScreen
-
- thumb_func_start sub_80EC62C
-sub_80EC62C: @ 80EC62C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, _080EC64C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r5, r0, r1
- ldrb r4, [r5]
- cmp r4, 0x8C
- bne _080EC640
- b _080EC778
-_080EC640:
- cmp r4, 0x8C
- bgt _080EC650
- cmp r4, 0
- beq _080EC65E
- b _080EC732
- .align 2, 0
-_080EC64C: .4byte gMain
-_080EC650:
- cmp r4, 0x8D
- bne _080EC656
- b _080EC7A4
-_080EC656:
- cmp r4, 0x8E
- bne _080EC65C
- b _080EC808
-_080EC65C:
- b _080EC732
-_080EC65E:
- movs r0, 0
- bl SetVBlankCallback
- 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, 0xA0
- lsls r1, 19
- ldr r2, _080EC74C @ =0x00007fff
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- add r0, sp, 0x4
- strh r4, [r0]
- ldr r1, _080EC750 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080EC754 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- str r4, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080EC758 @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r1]
- ldr r0, _080EC75C @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _080EC760 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- movs r1, 0xE0
- lsls r1, 6
- movs r0, 0
- movs r2, 0
- bl load_copyright_graphics
- bl ScanlineEffect_Stop
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- ldr r1, _080EC764 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0xE0
- lsls r1, 3
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, _080EC768 @ =sub_80EC5A4
- bl SetVBlankCallback
- movs r1, 0xA0
- lsls r1, 1
- movs r0, 0
- bl SetGpuReg
- ldr r0, _080EC76C @ =SerialCb_CopyrightScreen
- bl SetSerialCallback
- ldr r0, _080EC770 @ =gUnknown_203AAD4
- bl GameCubeMultiBoot_Init
-_080EC732:
- bl UpdatePaletteFade
- ldr r0, _080EC774 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, _080EC770 @ =gUnknown_203AAD4
- bl GameCubeMultiBoot_Main
- b _080EC812
- .align 2, 0
-_080EC74C: .4byte 0x00007fff
-_080EC750: .4byte 0x040000d4
-_080EC754: .4byte 0x8100c000
-_080EC758: .4byte 0x85000100
-_080EC75C: .4byte 0x05000002
-_080EC760: .4byte 0x810001ff
-_080EC764: .4byte 0x0000ffff
-_080EC768: .4byte sub_80EC5A4
-_080EC76C: .4byte SerialCb_CopyrightScreen
-_080EC770: .4byte gUnknown_203AAD4
-_080EC774: .4byte gMain
-_080EC778:
- ldr r4, _080EC7A0 @ =gUnknown_203AAD4
- adds r0, r4, 0
- bl GameCubeMultiBoot_Main
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _080EC812
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _080EC812
- .align 2, 0
-_080EC7A0: .4byte gUnknown_203AAD4
-_080EC7A4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080EC812
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldr r5, _080EC7E4 @ =gUnknown_203AAD4
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _080EC7F4
- ldrb r0, [r5, 0x2]
- cmp r0, 0x2
- bne _080EC7FE
- ldr r6, _080EC7E8 @ =0x020000ac
- ldr r4, [r6]
- ldr r0, _080EC7EC @ =0x65366347
- cmp r4, r0
- bne _080EC7DC
- ldr r0, _080EC7F0 @ =gMultiBootProgram_PokemonColosseum_Start
- movs r1, 0x80
- lsls r1, 18
- movs r2, 0xA0
- lsls r2, 9
- bl CpuSet
- str r4, [r6]
-_080EC7DC:
- adds r0, r5, 0
- bl GameCubeMultiBoot_ExecuteProgram
- b _080EC7FE
- .align 2, 0
-_080EC7E4: .4byte gUnknown_203AAD4
-_080EC7E8: .4byte 0x020000ac
-_080EC7EC: .4byte 0x65366347
-_080EC7F0: .4byte gMultiBootProgram_PokemonColosseum_Start
-_080EC7F4:
- bl GameCubeMultiBoot_Quit
- ldr r0, _080EC804 @ =SerialCB
- bl SetSerialCallback
-_080EC7FE:
- movs r0, 0
- b _080EC814
- .align 2, 0
-_080EC804: .4byte SerialCB
-_080EC808:
- bl sub_800B388
- ldr r0, _080EC81C @ =sub_80EC5B8
- bl SetMainCallback2
-_080EC812:
- movs r0, 0x1
-_080EC814:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080EC81C: .4byte sub_80EC5B8
- thumb_func_end sub_80EC62C
-
- thumb_func_start c2_copyright_1
-c2_copyright_1: @ 80EC820
- push {lr}
- bl sub_80EC62C
- lsls r0, 24
- cmp r0, 0
- bne _080EC858
- bl ResetMenuAndMonGlobals
- bl Save_ResetSaveCounters
- movs r0, 0
- bl Save_LoadGameData
- ldr r0, _080EC85C @ =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EC846
- cmp r0, 0x2
- bne _080EC84A
-_080EC846:
- bl Sav2_ClearSetDefault
-_080EC84A:
- ldr r0, _080EC860 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- lsls r0, 31
- lsrs r0, 31
- bl SetPokemonCryStereo
-_080EC858:
- pop {r0}
- bx r0
- .align 2, 0
-_080EC85C: .4byte gSaveFileStatus
-_080EC860: .4byte gSaveBlock2Ptr
- thumb_func_end c2_copyright_1
-
- thumb_func_start sub_80EC864
-sub_80EC864: @ 80EC864
- push {lr}
- bl sub_80EC62C
- pop {r0}
- bx r0
- thumb_func_end sub_80EC864
-
- thumb_func_start sub_80EC870
-sub_80EC870: @ 80EC870
- push {r4,lr}
- sub sp, 0xC
- ldr r0, _080EC88C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _080EC944
- cmp r4, 0x1
- bgt _080EC890
- cmp r4, 0
- beq _080EC8A0
- b _080EC894
- .align 2, 0
-_080EC88C: .4byte gMain
-_080EC890:
- cmp r4, 0x2
- beq _080EC988
-_080EC894:
- ldr r0, _080EC928 @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080EC8A0:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, _080EC92C @ =gHeap
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl ResetTempTileDataBuffers
- bl sub_80ECA00
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080EC930 @ =0x040000d4
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080EC934 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080EC938 @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r2, [r0]
- str r0, [r1]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080EC93C @ =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0
- movs r1, 0
- bl FillPalette
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _080EC940 @ =gUnknown_840BB80
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- b _080EC9B8
- .align 2, 0
-_080EC928: .4byte gMain
-_080EC92C: .4byte gHeap
-_080EC930: .4byte 0x040000d4
-_080EC934: .4byte 0x8100c000
-_080EC938: .4byte 0x85000100
-_080EC93C: .4byte 0x81000200
-_080EC940: .4byte gUnknown_840BB80
-_080EC944:
- ldr r0, _080EC978 @ =gUnknown_8402630
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080EC97C @ =gUnknown_8402650
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080EC980 @ =gUnknown_8402668
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _080EC984 @ =gUnknown_840270C
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _080EC9B8
- .align 2, 0
-_080EC978: .4byte gUnknown_8402630
-_080EC97C: .4byte gUnknown_8402650
-_080EC980: .4byte gUnknown_8402668
-_080EC984: .4byte gUnknown_840270C
-_080EC988:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _080EC9C6
- bl sub_80ECA70
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _080EC9B0 @ =sub_80EC9D4
- bl SetMainCallback2
- ldr r0, _080EC9B4 @ =sub_80EC9EC
- bl SetVBlankCallback
- b _080EC9C6
- .align 2, 0
-_080EC9B0: .4byte sub_80EC9D4
-_080EC9B4: .4byte sub_80EC9EC
-_080EC9B8:
- ldr r1, _080EC9D0 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EC9C6:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC9D0: .4byte gMain
- thumb_func_end sub_80EC870
-
- thumb_func_start sub_80EC9D4
-sub_80EC9D4: @ 80EC9D4
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80EC9D4
-
- thumb_func_start sub_80EC9EC
-sub_80EC9EC: @ 80EC9EC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80EC9EC
-
- thumb_func_start sub_80ECA00
-sub_80ECA00: @ 80ECA00
- push {lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- 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 r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- pop {r0}
- bx r0
- thumb_func_end sub_80ECA00
-
- thumb_func_start sub_80ECA70
-sub_80ECA70: @ 80ECA70
- push {r4,lr}
- ldr r0, _080ECA9C @ =0x000028bc
- bl Alloc
- adds r4, r0, 0
- ldr r1, _080ECAA0 @ =sub_80ECAF0
- bl sub_80ECAA8
- ldr r0, _080ECAA4 @ =sub_80ECAB0
- movs r1, 0x3
- bl CreateTask
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x5]
- movs r1, 0
- adds r2, r4, 0
- bl SetWordTaskArg
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECA9C: .4byte 0x000028bc
-_080ECAA0: .4byte sub_80ECAF0
-_080ECAA4: .4byte sub_80ECAB0
- thumb_func_end sub_80ECA70
-
- thumb_func_start sub_80ECAA8
-sub_80ECAA8: @ 80ECAA8
- str r1, [r0]
- movs r1, 0
- strb r1, [r0, 0x4]
- bx lr
- thumb_func_end sub_80ECAA8
-
- thumb_func_start sub_80ECAB0
-sub_80ECAB0: @ 80ECAB0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetWordTaskArg
- adds r4, r0, 0
- ldr r0, _080ECAE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xD
- ands r0, r1
- cmp r0, 0
- beq _080ECAD8
- ldr r0, [r4]
- ldr r1, _080ECAEC @ =sub_80EDBE8
- cmp r0, r1
- beq _080ECAD8
- adds r0, r4, 0
- bl sub_80ECAA8
-_080ECAD8:
- ldr r1, [r4]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECAE8: .4byte gMain
-_080ECAEC: .4byte sub_80EDBE8
- thumb_func_end sub_80ECAB0
-
- thumb_func_start sub_80ECAF0
-sub_80ECAF0: @ 80ECAF0
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _080ECB02
- cmp r0, 0x1
- beq _080ECB78
- b _080ECB8A
-_080ECB02:
- ldr r0, _080ECB68 @ =gUnknown_840BBA8
- bl InitWindows
- ldr r0, _080ECB6C @ =gUnknown_840272C
- ldr r1, _080ECB70 @ =0x0000043c
- adds r4, r5, r1
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r0, _080ECB74 @ =gUnknown_84028F8
- adds r1, r5, 0
- adds r1, 0x3C
- bl LZ77UnCompWram
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x90
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x28
- bl BlitBitmapToWindow
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080ECB8A
- .align 2, 0
-_080ECB68: .4byte gUnknown_840BBA8
-_080ECB6C: .4byte gUnknown_840272C
-_080ECB70: .4byte 0x0000043c
-_080ECB74: .4byte gUnknown_84028F8
-_080ECB78:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _080ECB8A
- ldr r1, _080ECB94 @ =sub_80ECB98
- adds r0, r5, 0
- bl sub_80ECAA8
-_080ECB8A:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECB94: .4byte sub_80ECB98
- thumb_func_end sub_80ECAF0
-
- thumb_func_start sub_80ECB98
-sub_80ECB98: @ 80ECB98
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrb r5, [r4, 0x4]
- cmp r5, 0x1
- beq _080ECBE2
- cmp r5, 0x1
- bgt _080ECBAC
- cmp r5, 0
- beq _080ECBB2
- b _080ECC32
-_080ECBAC:
- cmp r5, 0x2
- beq _080ECBFC
- b _080ECC32
-_080ECBB2:
- movs r1, 0x80
- lsls r1, 7
- movs r0, 0
- bl SetGpuRegBits
- movs r1, 0xFC
- lsls r1, 6
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- strh r5, [r4, 0x12]
- b _080ECBF4
-_080ECBE2:
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
-_080ECBF4:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080ECC32
-_080ECBFC:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2F
- bls _080ECC0E
- movs r0, 0x30
- strh r0, [r4, 0x12]
-_080ECC0E:
- ldrh r0, [r4, 0x12]
- movs r1, 0x50
- subs r1, r0
- lsls r1, 8
- adds r0, 0x50
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x46
- bl SetGpuReg
- ldrh r0, [r4, 0x12]
- cmp r0, 0x30
- bne _080ECC32
- ldr r1, _080ECC38 @ =sub_80ECC3C
- adds r0, r4, 0
- bl sub_80ECAA8
-_080ECC32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECC38: .4byte sub_80ECC3C
- thumb_func_end sub_80ECB98
-
- thumb_func_start sub_80ECC3C
-sub_80ECC3C: @ 80ECC3C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrb r5, [r4, 0x4]
- cmp r5, 0x1
- beq _080ECC68
- cmp r5, 0x1
- bgt _080ECC50
- cmp r5, 0
- beq _080ECC56
- b _080ECC9C
-_080ECC50:
- cmp r5, 0x2
- beq _080ECC86
- b _080ECC9C
-_080ECC56:
- ldr r0, _080ECC64 @ =0x00000141
- bl PlaySE
- bl sub_80EDC40
- strh r5, [r4, 0x12]
- b _080ECC7E
- .align 2, 0
-_080ECC64: .4byte 0x00000141
-_080ECC68:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bne _080ECC9C
- bl sub_80EDDF0
- movs r0, 0
- strh r0, [r4, 0x12]
-_080ECC7E:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080ECC9C
-_080ECC86:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5A
- bne _080ECC9C
- ldr r1, _080ECCA4 @ =sub_80ECCA8
- adds r0, r4, 0
- bl sub_80ECAA8
-_080ECC9C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECCA4: .4byte sub_80ECCA8
- thumb_func_end sub_80ECC3C
-
- thumb_func_start sub_80ECCA8
-sub_80ECCA8: @ 80ECCA8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x5
- bhi _080ECD54
- lsls r0, 2
- ldr r1, _080ECCC0 @ =_080ECCC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECCC0: .4byte _080ECCC4
- .align 2, 0
-_080ECCC4:
- .4byte _080ECCDC
- .4byte _080ECCE6
- .4byte _080ECCF6
- .4byte _080ECD18
- .4byte _080ECD20
- .4byte _080ECD3E
-_080ECCDC:
- bl sub_80EDED8
- movs r0, 0
- strh r0, [r4, 0x12]
- b _080ECD36
-_080ECCE6:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x27
- bls _080ECD54
- b _080ECD36
-_080ECCF6:
- ldr r1, _080ECD14 @ =0x00003f44
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0x10
- movs r2, 0x10
- movs r3, 0
- bl StartBlendTask
- b _080ECD36
- .align 2, 0
-_080ECD14: .4byte 0x00003f44
-_080ECD18:
- movs r0, 0x2
- bl ShowBg
- b _080ECD36
-_080ECD20:
- bl IsBlendTaskActive
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080ECD54
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- strh r5, [r4, 0x12]
-_080ECD36:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080ECD54
-_080ECD3E:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x32
- bls _080ECD54
- ldr r1, _080ECD5C @ =sub_80ECD60
- adds r0, r4, 0
- bl sub_80ECAA8
-_080ECD54:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECD5C: .4byte sub_80ECD60
- thumb_func_end sub_80ECCA8
-
- thumb_func_start sub_80ECD60
-sub_80ECD60: @ 80ECD60
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- ldrb r0, [r6, 0x4]
- cmp r0, 0x7
- bls _080ECD6E
- b _080ECE96
-_080ECD6E:
- lsls r0, 2
- ldr r1, _080ECD78 @ =_080ECD7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECD78: .4byte _080ECD7C
- .align 2, 0
-_080ECD7C:
- .4byte _080ECD9C
- .4byte _080ECDC4
- .4byte _080ECDCC
- .4byte _080ECE10
- .4byte _080ECE26
- .4byte _080ECE52
- .4byte _080ECE64
- .4byte _080ECE78
-_080ECD9C:
- ldr r1, _080ECDC0 @ =0x00003f50
- movs r0, 0x50
- bl SetGpuReg
- movs r5, 0x10
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x10
- movs r3, 0
- bl StartBlendTask
- strh r4, [r6, 0x8]
- strh r5, [r6, 0xA]
- strh r4, [r6, 0x12]
- b _080ECE70
- .align 2, 0
-_080ECDC0: .4byte 0x00003f50
-_080ECDC4:
- bl sub_80EDF68
- str r0, [r6, 0x14]
- b _080ECE70
-_080ECDCC:
- bl IsBlendTaskActive
- lsls r0, 24
- cmp r0, 0
- bne _080ECE96
- adds r1, r6, 0
- adds r1, 0x3C
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0
- movs r2, 0x38
- movs r3, 0x6
- bl BlitBitmapToWindow
- ldr r0, _080ECE0C @ =0x0000043c
- adds r1, r6, r0
- movs r0, 0x90
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r2, 0
- movs r3, 0x28
- bl BlitBitmapToWindow
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _080ECE70
- .align 2, 0
-_080ECE0C: .4byte 0x0000043c
-_080ECE10:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080ECE96
- ldr r0, [r6, 0x14]
- bl DestroySprite
- strh r4, [r6, 0x12]
- b _080ECE70
-_080ECE26:
- ldrh r0, [r6, 0x12]
- adds r0, 0x1
- strh r0, [r6, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5A
- bls _080ECE96
- movs r0, 0x50
- movs r1, 0x4
- bl SetGpuRegBits
- movs r0, 0x14
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x10
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl StartBlendTask
- b _080ECE70
-_080ECE52:
- bl IsBlendTaskActive
- lsls r0, 24
- cmp r0, 0
- bne _080ECE96
- movs r0, 0x2
- bl HideBg
- b _080ECE70
-_080ECE64:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0
- strh r0, [r6, 0x12]
-_080ECE70:
- ldrb r0, [r6, 0x4]
- adds r0, 0x1
- strb r0, [r6, 0x4]
- b _080ECE96
-_080ECE78:
- ldrh r0, [r6, 0x12]
- adds r0, 0x1
- strh r0, [r6, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bls _080ECE96
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r1, _080ECEA0 @ =sub_80ECEA4
- adds r0, r6, 0
- bl sub_80ECAA8
-_080ECE96:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECEA0: .4byte sub_80ECEA4
- thumb_func_end sub_80ECD60
-
- thumb_func_start sub_80ECEA4
-sub_80ECEA4: @ 80ECEA4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r0, [r5, 0x4]
- cmp r0, 0x5
- bls _080ECEB2
- b _080ED094
-_080ECEB2:
- lsls r0, 2
- ldr r1, _080ECEBC @ =_080ECEC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECEBC: .4byte _080ECEC0
- .align 2, 0
-_080ECEC0:
- .4byte _080ECED8
- .4byte _080ECF64
- .4byte _080ECFA4
- .4byte _080ECFD8
- .4byte _080ED000
- .4byte _080ED064
-_080ECED8:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, _080ECF48 @ =gUnknown_8402D34
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080ECF4C @ =gUnknown_84048CC
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r2, _080ECF50 @ =0x00007fff
- movs r0, 0x6
- movs r1, 0x10
- bl BlendPalettes
- ldr r1, _080ECF54 @ =gUnknown_840BB88
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, _080ECF58 @ =gUnknown_84048EC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ECF5C @ =gUnknown_8404F7C
- movs r0, 0x1
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x3
- bl HideBg
- bl sub_80EEBE4
- ldr r0, _080ECF60 @ =sub_80EC9EC
- bl SetVBlankCallback
- b _080ECFF0
- .align 2, 0
-_080ECF48: .4byte gUnknown_8402D34
-_080ECF4C: .4byte gUnknown_84048CC
-_080ECF50: .4byte 0x00007fff
-_080ECF54: .4byte gUnknown_840BB88
-_080ECF58: .4byte gUnknown_84048EC
-_080ECF5C: .4byte gUnknown_8404F7C
-_080ECF60: .4byte sub_80EC9EC
-_080ECF64:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080ECF72
- b _080ED094
-_080ECF72:
- ldr r1, _080ECF9C @ =gUnknown_8402D54
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ECFA0 @ =gUnknown_8403FE8
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- bl ResetBgPositions
- movs r0, 0x1
- bl ShowBg
- b _080ECFF0
- .align 2, 0
-_080ECF9C: .4byte gUnknown_8402D54
-_080ECFA0: .4byte gUnknown_8403FE8
-_080ECFA4:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _080ED094
- movs r0, 0
- bl ShowBg
- ldr r0, _080ECFD0 @ =sub_80ED0AC
- movs r1, 0
- bl CreateTask
- movs r1, 0x2
- negs r1, r1
- ldr r0, _080ECFD4 @ =0x00007fff
- str r0, [sp]
- movs r0, 0x6
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080ECFF0
- .align 2, 0
-_080ECFD0: .4byte sub_80ED0AC
-_080ECFD4: .4byte 0x00007fff
-_080ECFD8:
- ldr r0, _080ECFF8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080ED094
- ldr r0, _080ECFFC @ =0x00000115
- bl m4aSongNumStart
- strh r4, [r5, 0x12]
-_080ECFF0:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080ED094
- .align 2, 0
-_080ECFF8: .4byte gPaletteFade
-_080ECFFC: .4byte 0x00000115
-_080ED000:
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bne _080ED01A
- ldr r0, _080ED054 @ =sub_80ED140
- movs r1, 0
- bl CreateTask
- bl sub_80ED118
-_080ED01A:
- ldrh r0, [r5, 0x12]
- cmp r0, 0x1D
- bls _080ED094
- movs r0, 0x2
- negs r0, r0
- ldr r2, _080ED058 @ =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- ldr r0, _080ED05C @ =sub_80ED0AC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _080ED054 @ =sub_80ED140
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r1, _080ED060 @ =sub_80ED188
- adds r0, r5, 0
- bl sub_80ECAA8
- b _080ED094
- .align 2, 0
-_080ED054: .4byte sub_80ED140
-_080ED058: .4byte 0x00007fff
-_080ED05C: .4byte sub_80ED0AC
-_080ED060: .4byte sub_80ED188
-_080ED064:
- ldr r0, _080ED09C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED094
- ldr r0, _080ED0A0 @ =sub_80ED0AC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _080ED0A4 @ =sub_80ED140
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r1, _080ED0A8 @ =sub_80ED188
- adds r0, r5, 0
- bl sub_80ECAA8
-_080ED094:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED09C: .4byte gPaletteFade
-_080ED0A0: .4byte sub_80ED0AC
-_080ED0A4: .4byte sub_80ED140
-_080ED0A8: .4byte sub_80ED188
- thumb_func_end sub_80ECEA4
-
- thumb_func_start sub_80ED0AC
-sub_80ED0AC: @ 80ED0AC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080ED114 @ =gTasks+0x8
- adds r4, r1, r0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080ED0EC
- movs r1, 0
- strh r1, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080ED0DE
- strh r1, [r4, 0x2]
-_080ED0DE:
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r1, 15
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
-_080ED0EC:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080ED10C
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r4, 0x6]
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0
- movs r2, 0x2
- bl ChangeBgY
-_080ED10C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED114: .4byte gTasks+0x8
- thumb_func_end sub_80ED0AC
-
- thumb_func_start sub_80ED118
-sub_80ED118: @ 80ED118
- push {lr}
- ldr r0, _080ED138 @ =sub_80ED0AC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED13C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0xC]
- pop {r0}
- bx r0
- .align 2, 0
-_080ED138: .4byte sub_80ED0AC
-_080ED13C: .4byte gTasks
- thumb_func_end sub_80ED118
-
- thumb_func_start sub_80ED140
-sub_80ED140: @ 80ED140
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080ED184 @ =gTasks+0x8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080ED17E
- movs r0, 0
- strh r0, [r1]
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bgt _080ED170
- adds r0, r2, 0x1
- strh r0, [r1, 0x2]
-_080ED170:
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- lsls r1, 15
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgY
-_080ED17E:
- pop {r0}
- bx r0
- .align 2, 0
-_080ED184: .4byte gTasks+0x8
- thumb_func_end sub_80ED140
-
- thumb_func_start sub_80ED188
-sub_80ED188: @ 80ED188
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- ldrb r0, [r7, 0x4]
- cmp r0, 0x6
- bls _080ED19A
- b _080ED3F6
-_080ED19A:
- lsls r0, 2
- ldr r1, _080ED1A4 @ =_080ED1A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED1A4: .4byte _080ED1A8
- .align 2, 0
-_080ED1A8:
- .4byte _080ED1C4
- .4byte _080ED214
- .4byte _080ED32C
- .4byte _080ED350
- .4byte _080ED360
- .4byte _080ED3BC
- .4byte _080ED3D2
-_080ED1C4:
- movs r0, 0x2
- negs r0, r0
- ldr r2, _080ED204 @ =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- ldr r1, _080ED208 @ =gUnknown_840BB90
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r1, _080ED20C @ =gUnknown_8405414
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED210 @ =gUnknown_8405890
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- movs r0, 0x3
- bl ShowBg
- b _080ED3CA
- .align 2, 0
-_080ED204: .4byte 0x00007fff
-_080ED208: .4byte gUnknown_840BB90
-_080ED20C: .4byte gUnknown_8405414
-_080ED210: .4byte gUnknown_8405890
-_080ED214:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080ED222
- b _080ED3F6
-_080ED222:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, _080ED2FC @ =gUnknown_84053B4
- movs r1, 0x10
- movs r2, 0x60
- bl LoadPalette
- ldr r0, _080ED300 @ =gUnknown_8405DA4
- movs r1, 0x50
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080ED304 @ =gUnknown_8406634
- movs r1, 0x60
- movs r2, 0x20
- bl LoadPalette
- movs r5, 0x2
- negs r5, r5
- ldr r0, _080ED308 @ =0x00007fff
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x10
- mov r2, r8
- bl BlendPalettes
- ldr r1, _080ED30C @ =gUnknown_8405B28
- str r6, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED310 @ =gUnknown_8405CDC
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED314 @ =gUnknown_8406654
- str r6, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED318 @ =gUnknown_84071D0
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED31C @ =gUnknown_8405DC4
- str r6, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED320 @ =gUnknown_840644C
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- bl ResetBgPositions
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r1, 0xE7
- lsls r1, 9
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- movs r1, 0xA0
- lsls r1, 6
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgY
- ldr r0, _080ED324 @ =sub_80ED40C
- movs r1, 0
- bl CreateTask
- adds r0, r7, 0
- bl sub_80ED444
- adds r0, r5, 0
- movs r1, 0x10
- mov r2, r8
- bl BlendPalettes
- ldr r0, _080ED328 @ =sub_80EC9EC
- bl SetVBlankCallback
- b _080ED3CA
- .align 2, 0
-_080ED2FC: .4byte gUnknown_84053B4
-_080ED300: .4byte gUnknown_8405DA4
-_080ED304: .4byte gUnknown_8406634
-_080ED308: .4byte 0x00007fff
-_080ED30C: .4byte gUnknown_8405B28
-_080ED310: .4byte gUnknown_8405CDC
-_080ED314: .4byte gUnknown_8406654
-_080ED318: .4byte gUnknown_84071D0
-_080ED31C: .4byte gUnknown_8405DC4
-_080ED320: .4byte gUnknown_840644C
-_080ED324: .4byte sub_80ED40C
-_080ED328: .4byte sub_80EC9EC
-_080ED32C:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _080ED3F6
- movs r1, 0x2
- negs r1, r1
- ldr r0, _080ED34C @ =0x00007fff
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080ED3CA
- .align 2, 0
-_080ED34C: .4byte 0x00007fff
-_080ED350:
- ldr r0, _080ED35C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- b _080ED3C0
- .align 2, 0
-_080ED35C: .4byte gPaletteFade
-_080ED360:
- ldrh r0, [r7, 0x12]
- adds r0, 0x1
- strh r0, [r7, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3B
- bls _080ED3F6
- movs r0, 0
- strh r0, [r7, 0x12]
- ldr r0, _080ED3B4 @ =sub_80ED40C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- adds r0, r7, 0
- bl sub_80ED4A0
- ldr r0, _080ED3B8 @ =sub_80ED428
- movs r1, 0
- bl CreateTask
- movs r1, 0x80
- lsls r1, 9
- movs r0, 0x3
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- bl HideBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- b _080ED3CA
- .align 2, 0
-_080ED3B4: .4byte sub_80ED40C
-_080ED3B8: .4byte sub_80ED428
-_080ED3BC:
- bl IsDma3ManagerBusyWithBgCopy
-_080ED3C0:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080ED3F6
- strh r0, [r7, 0x12]
-_080ED3CA:
- ldrb r0, [r7, 0x4]
- adds r0, 0x1
- strb r0, [r7, 0x4]
- b _080ED3F6
-_080ED3D2:
- ldrh r0, [r7, 0x12]
- adds r0, 0x1
- strh r0, [r7, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3B
- bls _080ED3F6
- ldr r0, _080ED404 @ =sub_80ED428
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r1, _080ED408 @ =sub_80ED4C0
- adds r0, r7, 0
- bl sub_80ECAA8
-_080ED3F6:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED404: .4byte sub_80ED428
-_080ED408: .4byte sub_80ED4C0
- thumb_func_end sub_80ED188
-
- thumb_func_start sub_80ED40C
-sub_80ED40C: @ 80ED40C
- push {lr}
- movs r0, 0x3
- movs r1, 0xE0
- movs r2, 0x2
- bl ChangeBgX
- movs r1, 0x88
- lsls r1, 1
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgX
- pop {r0}
- bx r0
- thumb_func_end sub_80ED40C
-
- thumb_func_start sub_80ED428
-sub_80ED428: @ 80ED428
- push {lr}
- movs r0, 0x2
- movs r1, 0x20
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0x24
- movs r2, 0x2
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_80ED428
-
- thumb_func_start sub_80ED444
-sub_80ED444: @ 80ED444
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- str r0, [r4, 0x1C]
- str r0, [r4, 0x20]
- ldr r0, _080ED494 @ =gUnknown_840BDA8
- movs r1, 0xA8
- movs r2, 0x50
- movs r3, 0xB
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080ED46E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080ED498 @ =gSprites
- adds r0, r1
- str r0, [r4, 0x20]
-_080ED46E:
- ldr r0, _080ED49C @ =gUnknown_840BDC0
- movs r1, 0x48
- movs r2, 0x50
- movs r3, 0xC
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080ED48E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080ED498 @ =gSprites
- adds r0, r1
- str r0, [r4, 0x1C]
-_080ED48E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED494: .4byte gUnknown_840BDA8
-_080ED498: .4byte gSprites
-_080ED49C: .4byte gUnknown_840BDC0
- thumb_func_end sub_80ED444
-
- thumb_func_start sub_80ED4A0
-sub_80ED4A0: @ 80ED4A0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x1C]
- cmp r0, 0
- beq _080ED4AE
- bl DestroySprite
-_080ED4AE:
- ldr r0, [r4, 0x20]
- cmp r0, 0
- beq _080ED4B8
- bl DestroySprite
-_080ED4B8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ED4A0
-
- thumb_func_start sub_80ED4C0
-sub_80ED4C0: @ 80ED4C0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r4, [r5, 0x4]
- cmp r4, 0x1
- beq _080ED59C
- cmp r4, 0x1
- bgt _080ED4D6
- cmp r4, 0
- beq _080ED4E4
- b _080ED68A
-_080ED4D6:
- cmp r4, 0x2
- bne _080ED4DC
- b _080ED5FC
-_080ED4DC:
- cmp r4, 0x3
- bne _080ED4E2
- b _080ED658
-_080ED4E2:
- b _080ED68A
-_080ED4E4:
- ldr r0, _080ED584 @ =gUnknown_8407430
- movs r1, 0x10
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _080ED588 @ =gUnknown_8405DA4
- movs r1, 0x50
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- negs r0, r0
- ldr r2, _080ED58C @ =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- ldr r1, _080ED590 @ =gUnknown_840BBA0
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, _080ED594 @ =gUnknown_8407470
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED598 @ =gUnknown_8407A50
- movs r0, 0x1
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- movs r0, 0x1
- bl ShowBg
- movs r0, 0
- bl HideBg
- movs r0, 0x2
- bl HideBg
- movs r0, 0x3
- bl HideBg
- bl ResetBgPositions
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x48
- movs r1, 0x12
- bl SetGpuRegBits
- movs r0, 0x48
- movs r1, 0x1
- bl ClearGpuRegBits
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuRegBits
- movs r1, 0x82
- lsls r1, 6
- movs r0, 0x44
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0x78
- bl SetGpuReg
- b _080ED68A
- .align 2, 0
-_080ED584: .4byte gUnknown_8407430
-_080ED588: .4byte gUnknown_8405DA4
-_080ED58C: .4byte 0x00007fff
-_080ED590: .4byte gUnknown_840BBA0
-_080ED594: .4byte gUnknown_8407470
-_080ED598: .4byte gUnknown_8407A50
-_080ED59C:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080ED68A
- ldr r1, _080ED5EC @ =gUnknown_8407B9C
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED5F0 @ =gUnknown_8408D98
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _080ED5F4 @ =gUnknown_203AB00
- movs r0, 0x4
- strh r0, [r1]
- ldr r1, _080ED5F8 @ =gUnknown_203AB02
- movs r0, 0x34
- strh r0, [r1]
- movs r1, 0xC0
- lsls r1, 5
- movs r0, 0
- movs r2, 0
- bl ChangeBgX
- movs r1, 0xF8
- lsls r1, 9
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
- b _080ED642
- .align 2, 0
-_080ED5EC: .4byte gUnknown_8407B9C
-_080ED5F0: .4byte gUnknown_8408D98
-_080ED5F4: .4byte gUnknown_203AB00
-_080ED5F8: .4byte gUnknown_203AB02
-_080ED5FC:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080ED68A
- movs r0, 0x2
- negs r0, r0
- ldr r2, _080ED64C @ =0x00007fff
- movs r1, 0
- bl BlendPalettes
- movs r0, 0
- bl ShowBg
- ldr r0, _080ED650 @ =sub_80ED714
- movs r1, 0
- bl CreateTask
- adds r0, r5, 0
- bl sub_80EE4F8
- ldr r0, [r5, 0x18]
- movs r1, 0
- movs r2, 0xB4
- movs r3, 0x34
- bl sub_80EE528
- ldr r0, _080ED654 @ =sub_80EE200
- movs r1, 0
- bl CreateTask
- bl sub_80ED6D8
- strh r4, [r5, 0x12]
-_080ED642:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080ED68A
- .align 2, 0
-_080ED64C: .4byte 0x00007fff
-_080ED650: .4byte sub_80ED714
-_080ED654: .4byte sub_80EE200
-_080ED658:
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bne _080ED66C
- adds r0, r5, 0
- bl sub_80ED7D4
-_080ED66C:
- adds r0, r5, 0
- bl sub_80EE5C8
- cmp r0, 0
- bne _080ED68A
- ldr r0, _080ED694 @ =sub_80EE200
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080ED68A
- ldr r1, _080ED698 @ =sub_80ED898
- adds r0, r5, 0
- bl sub_80ECAA8
-_080ED68A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED694: .4byte sub_80EE200
-_080ED698: .4byte sub_80ED898
- thumb_func_end sub_80ED4C0
-
- thumb_func_start sub_80ED69C
-sub_80ED69C: @ 80ED69C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED6C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080ED6C8
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0x1
- movs r2, 0x2
- bl ChangeBgX
- b _080ED6D2
- .align 2, 0
-_080ED6C4: .4byte gTasks
-_080ED6C8:
- movs r0, 0x1
- movs r1, 0x20
- movs r2, 0x2
- bl ChangeBgX
-_080ED6D2:
- pop {r0}
- bx r0
- thumb_func_end sub_80ED69C
-
- thumb_func_start sub_80ED6D8
-sub_80ED6D8: @ 80ED6D8
- push {lr}
- ldr r0, _080ED6E8 @ =sub_80ED69C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080ED6E8: .4byte sub_80ED69C
- thumb_func_end sub_80ED6D8
-
- thumb_func_start sub_80ED6EC
-sub_80ED6EC: @ 80ED6EC
- push {lr}
- ldr r0, _080ED70C @ =sub_80ED69C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED710 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080ED70C: .4byte sub_80ED69C
-_080ED710: .4byte gTasks
- thumb_func_end sub_80ED6EC
-
- thumb_func_start sub_80ED714
-sub_80ED714: @ 80ED714
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080ED75C @ =gTasks+0x8
- adds r2, r1, r0
- movs r0, 0
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _080ED758
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080ED758
- strh r1, [r2, 0x2]
- ldrh r0, [r2, 0x4]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r2, 0x4]
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- lsls r1, 15
- movs r0, 0xF8
- lsls r0, 9
- adds r1, r0
- movs r0, 0
- movs r2, 0
- bl ChangeBgY
-_080ED758:
- pop {r0}
- bx r0
- .align 2, 0
-_080ED75C: .4byte gTasks+0x8
- thumb_func_end sub_80ED714
-
- thumb_func_start sub_80ED760
-sub_80ED760: @ 80ED760
- push {lr}
- ldr r0, _080ED780 @ =sub_80ED714
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED784 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080ED780: .4byte sub_80ED714
-_080ED784: .4byte gTasks
- thumb_func_end sub_80ED760
-
- thumb_func_start sub_80ED788
-sub_80ED788: @ 80ED788
- push {lr}
- ldr r0, _080ED7A8 @ =sub_80ED714
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED7AC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080ED7A8: .4byte sub_80ED714
-_080ED7AC: .4byte gTasks
- thumb_func_end sub_80ED788
-
- thumb_func_start sub_80ED7B0
-sub_80ED7B0: @ 80ED7B0
- push {lr}
- ldr r0, _080ED7CC @ =sub_80ED714
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ED7D0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xC]
- pop {r1}
- bx r1
- .align 2, 0
-_080ED7CC: .4byte sub_80ED714
-_080ED7D0: .4byte gTasks
- thumb_func_end sub_80ED7B0
-
- thumb_func_start sub_80ED7D4
-sub_80ED7D4: @ 80ED7D4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080ED800 @ =gUnknown_840BDFC
- movs r1, 0x94
- lsls r1, 1
- movs r2, 0x70
- movs r3, 0x7
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080ED80C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080ED804 @ =gSprites
- adds r0, r1
- str r0, [r4, 0x24]
- ldr r1, _080ED808 @ =sub_80ED818
- str r1, [r0, 0x1C]
- b _080ED810
- .align 2, 0
-_080ED800: .4byte gUnknown_840BDFC
-_080ED804: .4byte gSprites
-_080ED808: .4byte sub_80ED818
-_080ED80C:
- movs r0, 0
- str r0, [r4, 0x24]
-_080ED810:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ED7D4
-
- thumb_func_start sub_80ED818
-sub_80ED818: @ 80ED818
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r2, 0
- adds r4, 0x2E
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _080ED848
- cmp r0, 0x1
- bgt _080ED832
- cmp r0, 0
- beq _080ED838
- b _080ED892
-_080ED832:
- cmp r0, 0x2
- beq _080ED866
- b _080ED892
-_080ED838:
- ldrh r0, [r2, 0x20]
- lsls r0, 5
- strh r0, [r4, 0x2]
- movs r0, 0xA0
- strh r0, [r4, 0x4]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_080ED848:
- ldrh r0, [r4, 0x2]
- ldrh r1, [r4, 0x4]
- subs r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r2, 0x20]
- cmp r0, 0x34
- bgt _080ED892
- bl sub_80ED6EC
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ED892
-_080ED866:
- ldrh r0, [r4, 0x2]
- subs r0, 0x20
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r2, 0x20]
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _080ED892
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- adds r0, r2, 0
- bl DestroySprite
-_080ED892:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ED818
-
- thumb_func_start sub_80ED898
-sub_80ED898: @ 80ED898
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0xF
- bls _080ED8A6
- b _080EDA98
-_080ED8A6:
- lsls r0, 2
- ldr r1, _080ED8B0 @ =_080ED8B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED8B0: .4byte _080ED8B4
- .align 2, 0
-_080ED8B4:
- .4byte _080ED8F4
- .4byte _080ED8F8
- .4byte _080ED910
- .4byte _080ED918
- .4byte _080ED936
- .4byte _080ED946
- .4byte _080ED95E
- .4byte _080ED97C
- .4byte _080ED998
- .4byte _080ED9A0
- .4byte _080ED9BA
- .4byte _080ED9D2
- .4byte _080ED9DC
- .4byte _080EDA1C
- .4byte _080EDA5C
- .4byte _080EDA7C
-_080ED8F4:
- movs r0, 0
- b _080EDA6C
-_080ED8F8:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bhi _080ED908
- b _080EDAC4
-_080ED908:
- adds r0, r4, 0
- bl sub_80EE5E4
- b _080EDA6E
-_080ED910:
- adds r0, r4, 0
- bl sub_80EE850
- b _080EDA64
-_080ED918:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bhi _080ED928
- b _080EDAC4
-_080ED928:
- bl sub_80ED760
- adds r0, r4, 0
- bl sub_80EDF94
- movs r0, 0
- b _080EDA6C
-_080ED936:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _080ED93E
- b _080EDAC4
-_080ED93E:
- adds r0, r4, 0
- bl sub_80EE6A4
- b _080EDA6E
-_080ED946:
- adds r0, r4, 0
- bl sub_80EE850
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080ED956
- b _080EDAC4
-_080ED956:
- bl sub_80ED788
- strh r5, [r4, 0x12]
- b _080EDA6E
-_080ED95E:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bhi _080ED96E
- b _080EDAC4
-_080ED96E:
- ldr r0, [r4, 0x18]
- movs r1, 0x8
- movs r2, 0xC
- movs r3, 0x5
- bl sub_80EE970
- b _080EDA6E
-_080ED97C:
- adds r0, r4, 0
- bl sub_80EE850
- lsls r0, 24
- cmp r0, 0
- beq _080ED98A
- b _080EDAC4
-_080ED98A:
- ldr r0, [r4, 0x18]
- movs r1, 0x8
- movs r2, 0xC
- movs r3, 0x5
- bl sub_80EE970
- b _080EDA6E
-_080ED998:
- adds r0, r4, 0
- bl sub_80EE850
- b _080EDA64
-_080ED9A0:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x14
- bhi _080ED9B0
- b _080EDAC4
-_080ED9B0:
- adds r0, r4, 0
- bl sub_80EEA94
- movs r0, 0
- b _080EDA6C
-_080ED9BA:
- bl sub_80ED7B0
- lsls r0, 24
- cmp r0, 0
- beq _080ED9C6
- b _080EDAC4
-_080ED9C6:
- bl sub_80ED760
- adds r0, r4, 0
- bl sub_80EDAF0
- b _080EDA6E
-_080ED9D2:
- movs r0, 0
- bl HideBg
- movs r0, 0
- b _080EDA6C
-_080ED9DC:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x30
- bne _080ED9FA
- ldr r0, _080EDA18 @ =0x00007fff
- str r0, [sp]
- movs r0, 0x6
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080ED9FA:
- ldrh r0, [r4, 0x12]
- cmp r0, 0x78
- bls _080EDAC4
- adds r0, r4, 0
- bl sub_80EDB70
- adds r0, r4, 0
- bl sub_80EDBAC
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- movs r0, 0
- b _080EDAC2
- .align 2, 0
-_080EDA18: .4byte 0x00007fff
-_080EDA1C:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _080EDAC4
- add r1, sp, 0x4
- ldr r2, _080EDA50 @ =0x00007fff
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080EDA54 @ =gPlttBufferUnfaded + 0x20
- ldr r2, _080EDA58 @ =0x01000020
- add r0, sp, 0x4
- bl CpuSet
- movs r1, 0x2
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080EDA6E
- .align 2, 0
-_080EDA50: .4byte 0x00007fff
-_080EDA54: .4byte gPlttBufferUnfaded + 0x20
-_080EDA58: .4byte 0x01000020
-_080EDA5C:
- ldr r0, _080EDA78 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
-_080EDA64:
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080EDAC4
-_080EDA6C:
- strh r0, [r4, 0x12]
-_080EDA6E:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080EDAC4
- .align 2, 0
-_080EDA78: .4byte gPaletteFade
-_080EDA7C:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _080EDAC4
- ldr r1, _080EDA94 @ =sub_80EDBE8
- adds r0, r4, 0
- bl sub_80ECAA8
- b _080EDAC4
- .align 2, 0
-_080EDA94: .4byte sub_80EDBE8
-_080EDA98:
- ldr r0, _080EDACC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080EDAC4
- ldr r0, _080EDAD0 @ =0xffff0064
- ldr r2, _080EDAD4 @ =0x00007fff
- movs r1, 0
- bl BlendPalettes
- ldr r1, [r4, 0x18]
- movs r0, 0
- strh r0, [r1, 0x24]
- ldr r1, [r4, 0x18]
- movs r0, 0xB4
- strh r0, [r1, 0x20]
- movs r0, 0x1
- strb r0, [r4, 0x4]
- movs r0, 0x1E
-_080EDAC2:
- strh r0, [r4, 0x12]
-_080EDAC4:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDACC: .4byte gMain
-_080EDAD0: .4byte 0xffff0064
-_080EDAD4: .4byte 0x00007fff
- thumb_func_end sub_80ED898
-
- thumb_func_start sub_80EDAD8
-sub_80EDAD8: @ 80EDAD8
- push {lr}
- ldrb r3, [r0, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- bl CalcCenterToCornerVec
- pop {r0}
- bx r0
- thumb_func_end sub_80EDAD8
-
- thumb_func_start sub_80EDAF0
-sub_80EDAF0: @ 80EDAF0
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
-_080EDAF6:
- movs r6, 0x1
- ands r6, r5
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 20
- lsrs r2, r5, 31
- adds r2, r5, r2
- asrs r2, 1
- lsls r2, 22
- movs r0, 0xC4
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- movs r0, 0x90
- lsls r0, 15
- adds r2, r0
- asrs r2, 16
- ldr r0, _080EDB68 @ =gUnknown_840BE4C
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080EDB5C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080EDB6C @ =gSprites
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- lsls r1, r5, 2
- adds r0, r7, 0
- adds r0, 0x28
- adds r2, r0, r1
- str r4, [r2]
- cmp r6, 0
- beq _080EDB56
- ldrb r0, [r4, 0x1]
- movs r1, 0x3F
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r4, 0x1]
-_080EDB56:
- ldr r0, [r2]
- bl sub_80EDAD8
-_080EDB5C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080EDAF6
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDB68: .4byte gUnknown_840BE4C
-_080EDB6C: .4byte gSprites
- thumb_func_end sub_80EDAF0
-
- thumb_func_start sub_80EDB70
-sub_80EDB70: @ 80EDB70
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x18]
- ldrh r0, [r1, 0x24]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldr r1, [r4, 0x18]
- ldrh r0, [r1, 0x26]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
- ldr r0, [r4, 0x18]
- movs r1, 0
- movs r2, 0x2A
- bl sub_8007FFC
- ldr r0, [r4, 0x18]
- ldr r1, _080EDBA4 @ =SpriteCallbackDummy
- str r1, [r0, 0x1C]
- movs r1, 0x1
- bl StartSpriteAffineAnim
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDBA4: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EDB70
-
- thumb_func_start nullsub_83
-nullsub_83: @ 80EDBA8
- bx lr
- thumb_func_end nullsub_83
-
- thumb_func_start sub_80EDBAC
-sub_80EDBAC: @ 80EDBAC
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r6, 0
- ldr r5, _080EDBE0 @ =gUnknown_840BBB8
-_080EDBB4:
- lsls r0, r6, 2
- adds r4, r7, 0
- adds r4, 0x28
- adds r4, r0
- ldr r0, [r4]
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, [r4]
- ldr r1, _080EDBE4 @ =nullsub_83
- str r1, [r0, 0x1C]
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- bl sub_8007FFC
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080EDBB4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDBE0: .4byte gUnknown_840BBB8
-_080EDBE4: .4byte nullsub_83
- thumb_func_end sub_80EDBAC
-
- thumb_func_start sub_80EDBE8
-sub_80EDBE8: @ 80EDBE8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080EDBF8
- cmp r0, 0x1
- beq _080EDC0C
- b _080EDC34
-_080EDBF8:
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0
- movs r1, 0
- bl FillPalette
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080EDC34
-_080EDC0C:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _080EDC34
- ldrb r0, [r4, 0x5]
- bl DestroyTask
- adds r0, r4, 0
- bl Free
- movs r0, 0x2
- bl DisableInterrupts
- movs r0, 0
- bl SetHBlankCallback
- ldr r0, _080EDC3C @ =CB2_InitTitleScreen
- bl SetMainCallback2
-_080EDC34:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDC3C: .4byte CB2_InitTitleScreen
- thumb_func_end sub_80EDBE8
-
- thumb_func_start sub_80EDC40
-sub_80EDC40: @ 80EDC40
- push {r4-r6,lr}
- movs r5, 0
- ldr r4, _080EDCE4 @ =gUnknown_840BBC0
-_080EDC46:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- bls _080EDC46
- ldr r0, _080EDCE8 @ =gUnknown_840BBE8
- bl LoadSpritePalettes
- ldr r6, _080EDCEC @ =gUnknown_203AB0E
- movs r0, 0x60
- strh r0, [r6]
- ldr r5, _080EDCF0 @ =gUnknown_203AB10
- movs r0, 0x10
- strh r0, [r5]
- ldr r1, _080EDCF4 @ =gUnknown_203AB12
- movs r0, 0x7
- strh r0, [r1]
- ldr r0, _080EDCF8 @ =gUnknown_203AB14
- movs r2, 0x5
- strh r2, [r0]
- ldr r1, _080EDCFC @ =gUnknown_203AB16
- movs r0, 0x8
- strh r0, [r1]
- ldr r1, _080EDD00 @ =gUnknown_203AB18
- movs r0, 0x5A
- strh r0, [r1]
- ldr r1, _080EDD04 @ =gUnknown_203AB1A
- movs r0, 0x78
- strh r0, [r1]
- ldr r0, _080EDD08 @ =gUnknown_203AB1E
- movs r1, 0x1
- strh r1, [r0]
- ldr r0, _080EDD0C @ =gUnknown_203AB20
- strh r1, [r0]
- ldr r0, _080EDD10 @ =gUnknown_203AB22
- strh r2, [r0]
- ldr r0, _080EDD14 @ =gUnknown_203AB24
- strh r2, [r0]
- ldr r4, _080EDD18 @ =gUnknown_203AB28
- ldr r0, [r4]
- cmp r0, 0
- bne _080EDCA2
- ldr r0, _080EDD1C @ =0x151b9245
- str r0, [r4]
-_080EDCA2:
- ldr r0, _080EDD20 @ =gUnknown_840BC6C
- movs r1, 0xF8
- movs r2, 0x37
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080EDCDE
- ldr r0, _080EDD24 @ =gSprites
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r2, r3, r0
- movs r1, 0xF8
- lsls r1, 4
- strh r1, [r2, 0x2E]
- movs r1, 0xDC
- lsls r1, 2
- strh r1, [r2, 0x30]
- ldrh r1, [r6]
- strh r1, [r2, 0x32]
- ldrh r1, [r5]
- strh r1, [r2, 0x34]
- adds r0, r3
- adds r0, 0x3A
- ldr r1, [r4]
- bl StoreWordInTwoHalfwords
-_080EDCDE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDCE4: .4byte gUnknown_840BBC0
-_080EDCE8: .4byte gUnknown_840BBE8
-_080EDCEC: .4byte gUnknown_203AB0E
-_080EDCF0: .4byte gUnknown_203AB10
-_080EDCF4: .4byte gUnknown_203AB12
-_080EDCF8: .4byte gUnknown_203AB14
-_080EDCFC: .4byte gUnknown_203AB16
-_080EDD00: .4byte gUnknown_203AB18
-_080EDD04: .4byte gUnknown_203AB1A
-_080EDD08: .4byte gUnknown_203AB1E
-_080EDD0C: .4byte gUnknown_203AB20
-_080EDD10: .4byte gUnknown_203AB22
-_080EDD14: .4byte gUnknown_203AB24
-_080EDD18: .4byte gUnknown_203AB28
-_080EDD1C: .4byte 0x151b9245
-_080EDD20: .4byte gUnknown_840BC6C
-_080EDD24: .4byte gSprites
- thumb_func_end sub_80EDC40
-
- thumb_func_start sub_80EDD28
-sub_80EDD28: @ 80EDD28
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, _080EDDCC @ =gUnknown_203AB12
- ldrh r0, [r0]
- ands r2, r0
- adds r2, 0x2
- lsls r2, 16
- lsrs r4, r2, 16
- ldr r1, _080EDDD0 @ =gUnknown_203AB2C
- ldrh r0, [r1]
- adds r2, r0, 0
- adds r0, r2, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080EDD5C
- movs r6, 0x3
- negs r6, r6
- adds r0, r6, 0
- strh r0, [r1]
-_080EDD5C:
- lsls r1, r5, 16
- asrs r1, 16
- lsls r0, r4, 16
- asrs r7, r0, 16
- adds r1, r7
- lsls r0, r3, 16
- asrs r0, 16
- lsls r2, 16
- asrs r6, r2, 16
- adds r0, r6
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- ldr r0, _080EDDD4 @ =0xffff0000
- adds r1, r0
- lsrs r1, 16
- cmp r1, 0xEE
- bhi _080EDDC6
- ldr r0, _080EDDD8 @ =gUnknown_840BC84
- lsls r1, r3, 16
- asrs r5, r1, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080EDDC6
- ldr r0, _080EDDDC @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r0, _080EDDE0 @ =gUnknown_203AB22
- ldrh r0, [r0]
- lsls r4, r0
- strh r4, [r1, 0x2E]
- ldr r2, _080EDDE4 @ =gUnknown_203AB24
- adds r0, r5, 0
- ldrh r2, [r2]
- lsls r0, r2
- strh r0, [r1, 0x30]
- ldr r0, _080EDDE8 @ =gUnknown_203AB1E
- ldrh r0, [r0]
- muls r0, r7
- strh r0, [r1, 0x32]
- ldr r0, _080EDDEC @ =gUnknown_203AB20
- ldrh r0, [r0]
- muls r0, r6
- strh r0, [r1, 0x34]
-_080EDDC6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDDCC: .4byte gUnknown_203AB12
-_080EDDD0: .4byte gUnknown_203AB2C
-_080EDDD4: .4byte 0xffff0000
-_080EDDD8: .4byte gUnknown_840BC84
-_080EDDDC: .4byte gSprites
-_080EDDE0: .4byte gUnknown_203AB22
-_080EDDE4: .4byte gUnknown_203AB24
-_080EDDE8: .4byte gUnknown_203AB1E
-_080EDDEC: .4byte gUnknown_203AB20
- thumb_func_end sub_80EDD28
-
- thumb_func_start sub_80EDDF0
-sub_80EDDF0: @ 80EDDF0
- push {lr}
- ldr r0, _080EDE00 @ =sub_80EDE04
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080EDE00: .4byte sub_80EDE04
- thumb_func_end sub_80EDDF0
-
- thumb_func_start sub_80EDE04
-sub_80EDE04: @ 80EDE04
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- ldr r1, _080EDEB0 @ =gTasks+0x8
- adds r0, r1
- mov r8, r0
- ldrh r1, [r0, 0x4]
- adds r1, 0x1
- strh r1, [r0, 0x4]
- ldrh r0, [r0, 0x6]
- adds r0, 0x1
- mov r2, r8
- strh r0, [r2, 0x6]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x6
- ble _080EDECA
- movs r0, 0
- strh r0, [r2, 0x4]
- ldrb r6, [r2]
- ldr r0, _080EDEB4 @ =gUnknown_840BC84
- ldr r1, _080EDEB8 @ =gUnknown_840BC08
- lsls r6, 2
- adds r6, r1
- movs r3, 0
- ldrsh r1, [r6, r3]
- movs r3, 0x2
- ldrsh r2, [r6, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _080EDEBC @ =gSprites
- adds r7, r4, r5
- adds r0, r7, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _080EDEC0 @ =sub_80EE40C
- str r0, [r4]
- ldrh r0, [r6, 0x2]
- lsls r0, 4
- strh r0, [r7, 0x30]
- movs r0, 0x78
- strh r0, [r7, 0x32]
- mov r1, r8
- ldrh r0, [r1, 0x2]
- strh r0, [r7, 0x34]
- lsls r0, 16
- cmp r0, 0
- bge _080EDE88
- movs r0, 0x1
- strh r0, [r7, 0x34]
-_080EDE88:
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _080EDECA
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080EDEC4
- mov r0, r9
- bl DestroyTask
- b _080EDECA
- .align 2, 0
-_080EDEB0: .4byte gTasks+0x8
-_080EDEB4: .4byte gUnknown_840BC84
-_080EDEB8: .4byte gUnknown_840BC08
-_080EDEBC: .4byte gSprites
-_080EDEC0: .4byte sub_80EE40C
-_080EDEC4:
- movs r0, 0
- mov r3, r8
- strh r0, [r3]
-_080EDECA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EDE04
-
- thumb_func_start sub_80EDED8
-sub_80EDED8: @ 80EDED8
- push {lr}
- ldr r0, _080EDEE8 @ =sub_80EDEEC
- movs r1, 0x2
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080EDEE8: .4byte sub_80EDEEC
- thumb_func_end sub_80EDED8
-
- thumb_func_start sub_80EDEEC
-sub_80EDEEC: @ 80EDEEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080EDF5C @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080EDF44
- ldrh r1, [r4, 0x2]
- ldrb r2, [r4, 0x2]
- adds r0, r1, 0x4
- strh r0, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bls _080EDF1A
- subs r0, r1, 0x5
- strh r0, [r4, 0x2]
-_080EDF1A:
- ldr r0, _080EDF60 @ =gUnknown_840BCBC
- ldr r1, _080EDF64 @ =gUnknown_840BC08
- lsls r2, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- movs r3, 0x3
- bl CreateSprite
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080EDF44
- adds r0, r5, 0
- bl DestroyTask
-_080EDF44:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _080EDF56
- movs r0, 0
- strh r0, [r4]
-_080EDF56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDF5C: .4byte gTasks+0x8
-_080EDF60: .4byte gUnknown_840BCBC
-_080EDF64: .4byte gUnknown_840BC08
- thumb_func_end sub_80EDEEC
-
- thumb_func_start sub_80EDF68
-sub_80EDF68: @ 80EDF68
- push {lr}
- ldr r0, _080EDF8C @ =gUnknown_840BCDC
- movs r1, 0x78
- movs r2, 0x46
- movs r3, 0x4
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080EDF90 @ =gSprites
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_080EDF8C: .4byte gUnknown_840BCDC
-_080EDF90: .4byte gSprites
- thumb_func_end sub_80EDF68
-
- thumb_func_start sub_80EDF94
-sub_80EDF94: @ 80EDF94
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r4, 0x6]
- ldr r0, _080EDFD0 @ =sub_80EE024
- movs r1, 0x4
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x5
- adds r2, r4, 0
- bl SetWordTaskArg
- ldr r0, _080EDFD4 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0x40
- strh r0, [r4, 0xE]
- movs r0, 0
- bl GetBgX
- strh r0, [r4, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDFD0: .4byte sub_80EE024
-_080EDFD4: .4byte gTasks
- thumb_func_end sub_80EDF94
-
- thumb_func_start sub_80EDFD8
-sub_80EDFD8: @ 80EDFD8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 15
- movs r0, 0xF8
- lsls r0, 9
- adds r4, r0
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- mov r1, r8
- movs r2, 0
- bl ChangeBgX
- lsls r5, 8
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl ChangeBgX
- lsls r6, 8
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0x2
- bl ChangeBgY
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80EDFD8
-
- thumb_func_start sub_80EE024
-sub_80EE024: @ 80EE024
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080EE048 @ =gTasks+0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bhi _080EE11C
- lsls r0, 2
- ldr r1, _080EE04C @ =_080EE050
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE048: .4byte gTasks+0x8
-_080EE04C: .4byte _080EE050
- .align 2, 0
-_080EE050:
- .4byte _080EE068
- .4byte _080EE07A
- .4byte _080EE094
- .4byte _080EE0BC
- .4byte _080EE0EE
- .4byte _080EE114
-_080EE068:
- movs r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0
- strh r0, [r5, 0x2]
- movs r0, 0x6
- strh r0, [r5, 0x10]
- movs r0, 0x20
- strh r0, [r5, 0x12]
- b _080EE10C
-_080EE07A:
- ldrh r0, [r5, 0x6]
- subs r0, 0x2
- strh r0, [r5, 0x6]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080EE11C
- movs r0, 0
- strh r0, [r5, 0x2]
- b _080EE10C
-_080EE094:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bne _080EE0AE
- adds r0, r2, 0
- movs r1, 0x5
- bl GetWordTaskArg
- movs r1, 0x1
- strb r1, [r0, 0x6]
-_080EE0AE:
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0xF
- ble _080EE11C
- movs r0, 0
- strh r0, [r5, 0x2]
- b _080EE10C
-_080EE0BC:
- ldrh r0, [r5, 0x6]
- adds r0, 0x8
- strh r0, [r5, 0x6]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080EE0E0
- bl sub_80EE160
- movs r0, 0x20
- strh r0, [r5, 0x10]
- movs r0, 0x30
- strh r0, [r5, 0x12]
- movs r0, 0x3
- strh r0, [r5, 0xE]
-_080EE0E0:
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- cmp r0, 0x7
- ble _080EE11C
- movs r0, 0
- strh r0, [r5, 0x2]
- b _080EE10C
-_080EE0EE:
- ldrh r0, [r5, 0x6]
- subs r0, 0x8
- strh r0, [r5, 0x6]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080EE11C
- movs r1, 0
- strh r1, [r5, 0xE]
- movs r0, 0x40
- strh r0, [r5, 0x6]
- strh r1, [r5, 0x2]
-_080EE10C:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080EE11C
-_080EE114:
- adds r0, r2, 0
- bl DestroyTask
- b _080EE156
-_080EE11C:
- movs r4, 0x6
- ldrsh r3, [r5, r4]
- ldr r4, _080EE15C @ =gSineTable
- adds r0, r3, 0
- adds r0, 0x40
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x12
- ldrsh r0, [r5, r2]
- muls r1, r0
- asrs r1, 8
- negs r1, r1
- movs r0, 0x10
- ldrsh r2, [r5, r0]
- lsls r3, 1
- adds r3, r4
- movs r4, 0
- ldrsh r0, [r3, r4]
- muls r0, r2
- asrs r0, 8
- subs r2, r0
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- movs r4, 0x8
- ldrsh r3, [r5, r4]
- bl sub_80EDFD8
-_080EE156:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE15C: .4byte gSineTable
- thumb_func_end sub_80EE024
-
- thumb_func_start sub_80EE160
-sub_80EE160: @ 80EE160
- push {r4,lr}
- ldr r4, _080EE1BC @ =gUnknown_840BE8C
- adds r0, r4, 0
- movs r1, 0x84
- movs r2, 0x4E
- movs r3, 0x6
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x84
- movs r2, 0x76
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080EE1B4
- ldr r0, _080EE1C0 @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldrb r2, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r4, 0x3]
- adds r0, r4, 0
- bl sub_80EDAD8
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080EE1B4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE1BC: .4byte gUnknown_840BE8C
-_080EE1C0: .4byte gSprites
- thumb_func_end sub_80EE160
-
- thumb_func_start sub_80EE1C4
-sub_80EE1C4: @ 80EE1C4
- push {lr}
- adds r3, r0, 0
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080EE1FA
- adds r0, r3, 0
- bl DestroySprite
-_080EE1FA:
- pop {r0}
- bx r0
- thumb_func_end sub_80EE1C4
-
- thumb_func_start sub_80EE200
-sub_80EE200: @ 80EE200
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080EE220 @ =gTasks+0x8
- adds r1, r0, r1
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080EE224
- cmp r0, 0x1
- beq _080EE232
- b _080EE28A
- .align 2, 0
-_080EE220: .4byte gTasks+0x8
-_080EE224:
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- strh r0, [r1, 0x2]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE232:
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080EE250
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0x10
- ble _080EE250
- adds r0, r2, 0
- subs r0, 0x10
- strh r0, [r1, 0x2]
-_080EE250:
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- movs r0, 0
- movs r2, 0x1
- bl ChangeBgX
- ldr r5, _080EE290 @ =gUnknown_203AB30
- str r0, [r5]
- ldr r1, _080EE294 @ =0x00007fff
- cmp r0, r1
- bls _080EE270
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
-_080EE270:
- ldr r1, [r5]
- ldr r0, _080EE298 @ =0x0000eeff
- cmp r1, r0
- bls _080EE28A
- movs r1, 0xEF
- lsls r1, 8
- movs r0, 0
- movs r2, 0
- bl ChangeBgX
- adds r0, r4, 0
- bl DestroyTask
-_080EE28A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE290: .4byte gUnknown_203AB30
-_080EE294: .4byte 0x00007fff
-_080EE298: .4byte 0x0000eeff
- thumb_func_end sub_80EE200
-
- thumb_func_start sub_80EE29C
-sub_80EE29C: @ 80EE29C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x2E]
- ldrh r0, [r5, 0x32]
- subs r2, r0
- strh r2, [r5, 0x2E]
- ldrh r1, [r5, 0x34]
- ldrh r0, [r5, 0x30]
- adds r1, r0
- strh r1, [r5, 0x30]
- ldrh r0, [r5, 0x36]
- adds r0, 0x30
- strh r0, [r5, 0x36]
- lsls r2, 16
- asrs r2, 20
- strh r2, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldr r1, _080EE340 @ =gSineTable
- lsls r0, 16
- asrs r0, 20
- adds r0, 0x40
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- strh r0, [r5, 0x38]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- ldr r1, _080EE344 @ =gUnknown_203AB16
- ldrh r1, [r1]
- bl __modsi3
- cmp r0, 0
- beq _080EE324
- adds r4, r5, 0
- adds r4, 0x3A
- adds r0, r4, 0
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r1, [sp]
- ldr r0, _080EE348 @ =0x41c64e6d
- muls r1, r0
- ldr r3, _080EE34C @ =0x00006073
- adds r1, r3
- str r1, [sp]
- adds r0, r4, 0
- bl StoreWordInTwoHalfwords
- ldr r2, [sp]
- lsrs r2, 16
- str r2, [sp]
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x26]
- ldrh r3, [r5, 0x22]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- bl sub_80EDD28
-_080EE324:
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bge _080EE336
- adds r0, r5, 0
- bl DestroySprite
-_080EE336:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE340: .4byte gSineTable
-_080EE344: .4byte gUnknown_203AB16
-_080EE348: .4byte 0x41c64e6d
-_080EE34C: .4byte 0x00006073
- thumb_func_end sub_80EE29C
-
- thumb_func_start sub_80EE350
-sub_80EE350: @ 80EE350
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- strh r0, [r4, 0x2E]
- ldrh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- adds r0, r2, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r1, 0x1
- strh r1, [r4, 0x36]
- ldrh r0, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x2E]
- ldr r1, _080EE3F8 @ =gUnknown_203AB22
- ldrh r1, [r1]
- asrs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldr r1, _080EE3FC @ =gUnknown_203AB24
- ldrh r1, [r1]
- asrs r0, r1
- strh r0, [r4, 0x22]
- ldr r1, _080EE400 @ =gUnknown_203AB1C
- ldrh r0, [r1]
- cmp r0, 0
- beq _080EE3A4
- lsls r0, r2, 16
- cmp r0, 0
- bge _080EE3A4
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- ldrh r1, [r1]
- asrs r0, r1
- strh r0, [r4, 0x26]
-_080EE3A4:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- ldr r0, _080EE404 @ =gUnknown_203AB18
- ldrh r0, [r0]
- cmp r1, r0
- ble _080EE3DC
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- ldr r0, _080EE408 @ =gUnknown_203AB1A
- ldrh r0, [r0]
- cmp r1, r0
- ble _080EE3DC
- adds r0, r4, 0
- bl DestroySprite
-_080EE3DC:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0xA0
- bls _080EE3F0
- adds r0, r4, 0
- bl DestroySprite
-_080EE3F0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE3F8: .4byte gUnknown_203AB22
-_080EE3FC: .4byte gUnknown_203AB24
-_080EE400: .4byte gUnknown_203AB1C
-_080EE404: .4byte gUnknown_203AB18
-_080EE408: .4byte gUnknown_203AB1A
- thumb_func_end sub_80EE350
-
- thumb_func_start sub_80EE40C
-sub_80EE40C: @ 80EE40C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080EE490
- subs r0, r1, 0x1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- cmp r0, 0x56
- ble _080EE438
- movs r0, 0x4A
- strh r0, [r4, 0x22]
- movs r0, 0x94
- lsls r0, 3
- strh r0, [r4, 0x30]
-_080EE438:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080EE4D4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080EE46C
- ldrh r0, [r4, 0x20]
- adds r1, r0, 0
- adds r1, 0x1A
- strh r1, [r4, 0x20]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xBC
- ble _080EE486
- movs r2, 0xBC
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r0, 0x1
- b _080EE484
-_080EE46C:
- ldrh r0, [r4, 0x20]
- adds r1, r0, 0
- subs r1, 0x1A
- strh r1, [r4, 0x20]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x33
- bgt _080EE486
- movs r0, 0x68
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r0, 0
-_080EE484:
- strh r0, [r4, 0x2E]
-_080EE486:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _080EE4D4
-_080EE490:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080EE49E
- adds r0, r4, 0
- bl DestroySprite
-_080EE49E:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080EE4B4
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_080EE4B4:
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- ble _080EE4D4
- adds r0, r4, 0
- bl DestroySprite
-_080EE4D4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80EE40C
-
- thumb_func_start sub_80EE4DC
-sub_80EE4DC: @ 80EE4DC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080EE4F2
- adds r0, r2, 0
- bl DestroySprite
-_080EE4F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80EE4DC
-
- thumb_func_start sub_80EE4F8
-sub_80EE4F8: @ 80EE4F8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080EE520 @ =gUnknown_840BD88
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080EE524 @ =gSprites
- adds r1, r0
- str r1, [r4, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE520: .4byte gUnknown_840BD88
-_080EE524: .4byte gSprites
- thumb_func_end sub_80EE4F8
-
- thumb_func_start sub_80EE528
-sub_80EE528: @ 80EE528
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- adds r0, r2, 0
- adds r5, r3, 0
- lsls r1, 16
- lsls r0, 16
- lsls r5, 16
- lsrs r5, 16
- lsrs r2, r1, 16
- mov r9, r2
- asrs r1, 16
- lsls r2, r1, 4
- movs r3, 0
- mov r8, r3
- strh r2, [r4, 0x2E]
- lsrs r6, r0, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 4
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r6, [r4, 0x34]
- mov r0, r8
- strh r0, [r4, 0x36]
- mov r2, r9
- strh r2, [r4, 0x20]
- movs r0, 0x64
- strh r0, [r4, 0x22]
- ldr r0, _080EE57C @ =sub_80EE580
- str r0, [r4, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE57C: .4byte sub_80EE580
- thumb_func_end sub_80EE528
-
- thumb_func_start sub_80EE580
-sub_80EE580: @ 80EE580
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x36]
- adds r0, 0x1
- strh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080EE5A0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0x1
- ble _080EE5A0
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
-_080EE5A0:
- ldrh r0, [r2, 0x30]
- ldrh r4, [r2, 0x2E]
- adds r0, r4
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- ldrh r3, [r2, 0x34]
- movs r4, 0x34
- ldrsh r1, [r2, r4]
- cmp r0, r1
- blt _080EE5BE
- strh r3, [r2, 0x20]
- ldr r0, _080EE5C4 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080EE5BE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE5C4: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EE580
-
- thumb_func_start sub_80EE5C8
-sub_80EE5C8: @ 80EE5C8
- push {lr}
- movs r2, 0
- ldr r0, [r0, 0x18]
- ldr r1, [r0, 0x1C]
- ldr r0, _080EE5E0 @ =sub_80EE580
- cmp r1, r0
- bne _080EE5D8
- movs r2, 0x1
-_080EE5D8:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080EE5E0: .4byte sub_80EE580
- thumb_func_end sub_80EE5C8
-
- thumb_func_start sub_80EE5E4
-sub_80EE5E4: @ 80EE5E4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x18]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, [r4, 0x18]
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r0, [r4, 0x18]
- strh r1, [r0, 0x30]
- ldr r1, [r4, 0x18]
- movs r0, 0x3
- strh r0, [r1, 0x26]
- ldr r1, [r4, 0x18]
- ldr r0, _080EE60C @ =sub_80EE610
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE60C: .4byte sub_80EE610
- thumb_func_end sub_80EE5E4
-
- thumb_func_start sub_80EE610
-sub_80EE610: @ 80EE610
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080EE646
- cmp r5, 0x1
- bgt _080EE626
- cmp r5, 0
- beq _080EE62C
- b _080EE69A
-_080EE626:
- cmp r5, 0x2
- beq _080EE65C
- b _080EE69A
-_080EE62C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080EE69A
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- strh r5, [r4, 0x26]
- b _080EE654
-_080EE646:
- movs r0, 0x21
- movs r1, 0x3F
- movs r2, 0x1
- bl PlayCry3
- movs r0, 0
- strh r0, [r4, 0x30]
-_080EE654:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080EE69A
-_080EE65C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080EE67C
- movs r0, 0
- strh r0, [r4, 0x32]
- movs r1, 0
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080EE67A
- movs r1, 0x1
-_080EE67A:
- strh r1, [r4, 0x26]
-_080EE67C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x30
- ble _080EE69A
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r0, _080EE6A0 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080EE69A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE6A0: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EE610
-
- thumb_func_start sub_80EE6A4
-sub_80EE6A4: @ 80EE6A4
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080EE6F0 @ =gUnknown_203AB0A
- movs r0, 0x10
- strh r0, [r1]
- ldr r1, _080EE6F4 @ =gUnknown_203AB04
- movs r0, 0x3
- strh r0, [r1]
- ldr r1, _080EE6F8 @ =gUnknown_203AB08
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, _080EE6FC @ =gUnknown_203AB06
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r4, 0x18]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, [r4, 0x18]
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r0, [r4, 0x18]
- strh r1, [r0, 0x30]
- ldr r0, [r4, 0x18]
- strh r1, [r0, 0x32]
- ldr r0, [r4, 0x18]
- strh r1, [r0, 0x34]
- ldr r0, [r4, 0x18]
- strh r1, [r0, 0x36]
- ldr r1, [r4, 0x18]
- movs r0, 0x28
- strh r0, [r1, 0x3C]
- ldr r1, [r4, 0x18]
- ldr r0, _080EE700 @ =sub_80EE704
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE6F0: .4byte gUnknown_203AB0A
-_080EE6F4: .4byte gUnknown_203AB04
-_080EE6F8: .4byte gUnknown_203AB08
-_080EE6FC: .4byte gUnknown_203AB06
-_080EE700: .4byte sub_80EE704
- thumb_func_end sub_80EE6A4
-
- thumb_func_start sub_80EE704
-sub_80EE704: @ 80EE704
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080EE740
- cmp r0, 0x1
- bgt _080EE71A
- cmp r0, 0
- beq _080EE726
- b _080EE846
-_080EE71A:
- cmp r0, 0x2
- beq _080EE7C4
- cmp r0, 0x3
- bne _080EE724
- b _080EE824
-_080EE724:
- b _080EE846
-_080EE726:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _080EE736
- b _080EE846
-_080EE736:
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- b _080EE818
-_080EE740:
- ldrh r2, [r4, 0x3C]
- ldrh r3, [r4, 0x32]
- adds r1, r2, r3
- movs r5, 0
- strh r1, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x8
- strh r0, [r4, 0x34]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x24]
- ldr r1, _080EE7B0 @ =gSineTable
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _080EE7B4 @ =gUnknown_203AB04
- ldrh r0, [r0]
- muls r0, r1
- ldr r1, _080EE7B8 @ =gUnknown_203AB08
- ldrh r1, [r1]
- asrs r0, r1
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- ldr r0, _080EE7BC @ =gUnknown_203AB06
- ldrh r0, [r0]
- cmp r1, r0
- ble _080EE78C
- strh r5, [r4, 0x38]
- subs r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_080EE78C:
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080EE846
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- strh r5, [r4, 0x30]
- ldr r0, _080EE7C0 @ =0x00004757
- strh r0, [r4, 0x3A]
- movs r0, 0x1C
- strh r0, [r4, 0x3C]
- b _080EE818
- .align 2, 0
-_080EE7B0: .4byte gSineTable
-_080EE7B4: .4byte gUnknown_203AB04
-_080EE7B8: .4byte gUnknown_203AB08
-_080EE7BC: .4byte gUnknown_203AB06
-_080EE7C0: .4byte 0x00004757
-_080EE7C4:
- ldrh r0, [r4, 0x3C]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r1, r0, 20
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080EE804
- ldrh r0, [r4, 0x20]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r3, 0x3A
- ldrsh r2, [r4, r3]
- bl sub_80EE864
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- ldr r0, _080EE820 @ =0x41c64e6d
- muls r0, r1
- strh r0, [r4, 0x3A]
-_080EE804:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- ble _080EE846
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0x30]
-_080EE818:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080EE846
- .align 2, 0
-_080EE820: .4byte 0x41c64e6d
-_080EE824:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080EE846
- ldr r0, _080EE84C @ =gUnknown_203AB0A
- ldrh r1, [r0]
- ldrh r2, [r4, 0x24]
- negs r2, r2
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- movs r3, 0x4
- bl sub_80EE970
-_080EE846:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE84C: .4byte gUnknown_203AB0A
- thumb_func_end sub_80EE704
-
- thumb_func_start sub_80EE850
-sub_80EE850: @ 80EE850
- ldr r0, [r0, 0x18]
- ldr r1, [r0, 0x1C]
- ldr r0, _080EE860 @ =SpriteCallbackDummy
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .align 2, 0
-_080EE860: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EE850
-
- thumb_func_start sub_80EE864
-sub_80EE864: @ 80EE864
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r2, 16
- lsrs r5, r2, 16
- movs r6, 0
- lsls r0, 16
- ldr r2, _080EE8D4 @ =0xffea0000
- adds r2, r0
- mov r8, r2
- lsls r1, 16
- movs r0, 0xC0
- lsls r0, 13
- adds r7, r1, r0
-_080EE880:
- ldr r0, _080EE8D8 @ =gUnknown_840BEC4
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080EE8C4
- ldr r0, _080EE8DC @ =gSprites
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- movs r1, 0xD
- bl __modsi3
- adds r0, 0x8
- strh r0, [r4, 0x34]
- adds r0, r5, 0
- movs r1, 0x3
- bl __modsi3
- strh r0, [r4, 0x36]
- strh r6, [r4, 0x3C]
- ldr r0, _080EE8E0 @ =0x41c64e6d
- muls r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
-_080EE8C4:
- adds r6, 0x1
- cmp r6, 0x1
- ble _080EE880
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE8D4: .4byte 0xffea0000
-_080EE8D8: .4byte gUnknown_840BEC4
-_080EE8DC: .4byte gSprites
-_080EE8E0: .4byte 0x41c64e6d
- thumb_func_end sub_80EE864
-
- thumb_func_start sub_80EE8E4
-sub_80EE8E4: @ 80EE8E4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080EE8FA
- cmp r0, 0x1
- beq _080EE90C
- b _080EE93E
-_080EE8FA:
- ldrh r0, [r5, 0x20]
- lsls r0, 4
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x22]
- lsls r0, 4
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_080EE90C:
- ldrh r1, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- subs r1, r0
- strh r1, [r4, 0x2]
- ldrh r0, [r4, 0x8]
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r4, 0x4]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x20]
- ldrh r0, [r4, 0x4]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080EE93E
- adds r0, r5, 0
- bl DestroySprite
-_080EE93E:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080EE96A
- movs r0, 0
- strh r0, [r4, 0xE]
- adds r3, r5, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080EE96A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80EE8E4
-
- thumb_func_start sub_80EE970
-sub_80EE970: @ 80EE970
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r2, 0
- adds r6, r3, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- movs r1, 0
- mov r8, r1
- mov r1, r8
- strh r1, [r4, 0x2E]
- strh r5, [r4, 0x30]
- ldrh r1, [r4, 0x24]
- lsls r1, 4
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 12
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4, 0x34]
- mov r0, r8
- strh r0, [r4, 0x36]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r5, 0
- bl __divsi3
- strh r0, [r4, 0x38]
- mov r1, r8
- strh r1, [r4, 0x3A]
- strh r6, [r4, 0x3C]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, _080EE9D0 @ =sub_80EE9D4
- str r0, [r4, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE9D0: .4byte sub_80EE9D4
- thumb_func_end sub_80EE970
-
- thumb_func_start sub_80EE9D4
-sub_80EE9D4: @ 80EE9D4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080EEA08
- cmp r5, 0x1
- bgt _080EE9EA
- cmp r5, 0
- beq _080EE9F0
- b _080EEA88
-_080EE9EA:
- cmp r5, 0x2
- beq _080EEA6E
- b _080EEA88
-_080EE9F0:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080EEA88
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- b _080EEA64
-_080EEA08:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- beq _080EEA4C
- ldrh r1, [r4, 0x34]
- ldrh r2, [r4, 0x32]
- adds r1, r2
- strh r1, [r4, 0x32]
- ldrh r0, [r4, 0x38]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x24]
- ldr r1, _080EEA48 @ =gSineTable
- lsls r0, 16
- asrs r0, 20
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- asrs r0, r1
- negs r0, r0
- strh r0, [r4, 0x26]
- b _080EEA88
- .align 2, 0
-_080EEA48: .4byte gSineTable
-_080EEA4C:
- ldrh r0, [r4, 0x32]
- lsrs r0, 4
- strh r0, [r4, 0x24]
- strh r5, [r4, 0x26]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- beq _080EEA84
-_080EEA64:
- strh r5, [r4, 0x3A]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080EEA88
-_080EEA6E:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080EEA88
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_080EEA84:
- ldr r0, _080EEA90 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080EEA88:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EEA90: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EE9D4
-
- thumb_func_start sub_80EEA94
-sub_80EEA94: @ 80EEA94
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x18]
- movs r2, 0
- strh r2, [r0, 0x2E]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x30]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x32]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x34]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x36]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x38]
- ldr r1, [r4, 0x18]
- ldrh r0, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r1, 0x20]
- ldr r0, [r4, 0x18]
- strh r2, [r0, 0x24]
- ldr r1, _080EEAF4 @ =gUnknown_203AB0C
- movs r0, 0x24
- strh r0, [r1]
- ldr r1, _080EEAF8 @ =gUnknown_203AB06
- movs r0, 0x28
- strh r0, [r1]
- ldr r1, _080EEAFC @ =gUnknown_203AB04
- movs r0, 0x3
- strh r0, [r1]
- ldr r1, _080EEB00 @ =gUnknown_203AB08
- movs r0, 0x4
- strh r0, [r1]
- ldr r1, [r4, 0x18]
- movs r0, 0x24
- strh r0, [r1, 0x3C]
- ldr r0, [r4, 0x18]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r1, [r4, 0x18]
- ldr r0, _080EEB04 @ =sub_80EEB08
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EEAF4: .4byte gUnknown_203AB0C
-_080EEAF8: .4byte gUnknown_203AB06
-_080EEAFC: .4byte gUnknown_203AB04
-_080EEB00: .4byte gUnknown_203AB08
-_080EEB04: .4byte sub_80EEB08
- thumb_func_end sub_80EEA94
-
- thumb_func_start sub_80EEB08
-sub_80EEB08: @ 80EEB08
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080EEB58
- cmp r0, 0x1
- bgt _080EEB1E
- cmp r0, 0
- beq _080EEB24
- b _080EEBCE
-_080EEB1E:
- cmp r0, 0x2
- beq _080EEB84
- b _080EEBCE
-_080EEB24:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080EEB4A
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ands r0, r1
- cmp r0, 0
- beq _080EEB44
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- b _080EEB48
-_080EEB44:
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
-_080EEB48:
- strh r0, [r4, 0x24]
-_080EEB4A:
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- cmp r0, 0x11
- ble _080EEBCE
- movs r0, 0
- strh r0, [r4, 0x30]
- b _080EEB78
-_080EEB58:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _080EEB80 @ =gUnknown_203AB06
- ldrh r1, [r1]
- cmp r0, r1
- blt _080EEBCE
- adds r0, r4, 0
- movs r1, 0x4
- bl StartSpriteAnim
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
-_080EEB78:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080EEBCE
- .align 2, 0
-_080EEB80: .4byte gUnknown_203AB06
-_080EEB84:
- ldrh r2, [r4, 0x3C]
- ldrh r1, [r4, 0x30]
- adds r0, r2, r1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 20
- negs r1, r0
- strh r1, [r4, 0x24]
- ldr r1, _080EEBD4 @ =gSineTable
- lsls r0, 1
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _080EEBD8 @ =gUnknown_203AB04
- ldrh r0, [r0]
- muls r0, r1
- ldr r1, _080EEBDC @ =gUnknown_203AB08
- ldrh r1, [r1]
- asrs r0, r1
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080EEBC0
- subs r0, r2, 0x1
- strh r0, [r4, 0x3C]
-_080EEBC0:
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 20
- cmp r0, 0x3F
- ble _080EEBCE
- ldr r0, _080EEBE0 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080EEBCE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EEBD4: .4byte gSineTable
-_080EEBD8: .4byte gUnknown_203AB04
-_080EEBDC: .4byte gUnknown_203AB08
-_080EEBE0: .4byte SpriteCallbackDummy
- thumb_func_end sub_80EEB08
-
- thumb_func_start sub_80EEBE4
-sub_80EEBE4: @ 80EEBE4
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _080EEC04 @ =gUnknown_840BEDC
-_080EEBEA:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x6
- bls _080EEBEA
- ldr r0, _080EEC08 @ =gUnknown_840BF14
- bl LoadSpritePalettes
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EEC04: .4byte gUnknown_840BEDC
-_080EEC08: .4byte gUnknown_840BF14
- thumb_func_end sub_80EEBE4
-
- .align 2, 0 @ Don't pad with nop.