summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorCameron Hall <camthesaxman@users.noreply.github.com>2016-11-25 13:32:45 -0600
committerYamaArashi <YamaArashi@users.noreply.github.com>2016-11-25 11:32:45 -0800
commite30044965f85abdbbcc80e37b1151bb7b7d786cb (patch)
treed1d0574119a1a7da8ff692a9b84e4345b056fdc5 /asm
parentbc912a7a7378dce12ebea75b82bbcf6d7c1e3524 (diff)
Decompile more intro functions (#108)
* start decompiling intro task * ignore Thumbs.db * decompile more code * actually ignore Thumbs.db * decompile more functions * fix sapphire * sort of fix task_intro_7 * name some functions and variables * more cleanup
Diffstat (limited to 'asm')
-rw-r--r--asm/rom_813BA94.s2007
-rw-r--r--asm/rom_8148B8C.s24
2 files changed, 22 insertions, 2009 deletions
diff --git a/asm/rom_813BA94.s b/asm/rom_813BA94.s
index e11d5fad9..7e966cf91 100644
--- a/asm/rom_813BA94.s
+++ b/asm/rom_813BA94.s
@@ -6,1993 +6,6 @@
.text
- thumb_func_start task_intro_1
-task_intro_1: @ 813BA94
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, _0813BC18 @ =gUnknown_02039318
- bl Random
- movs r1, 0x1
- ands r1, r0
- strh r1, [r4]
- bl intro_reset_and_hide_bgs
- ldr r0, _0813BC1C @ =REG_BG3VOFS
- movs r6, 0
- strh r6, [r0]
- ldr r1, _0813BC20 @ =REG_BG2VOFS
- movs r0, 0x50
- strh r0, [r1]
- subs r1, 0x4
- movs r0, 0x18
- strh r0, [r1]
- subs r1, 0x4
- movs r0, 0x28
- strh r0, [r1]
- ldr r0, _0813BC24 @ =gUnknown_08407764
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0813BC28 @ =gUnknown_08406B74
- ldr r1, _0813BC2C @ =0x06008000
- bl LZ77UnCompVram
- ldr r1, _0813BC30 @ =0x06008800
- add r0, sp, 0x8
- strh r6, [r0]
- ldr r4, _0813BC34 @ =0x040000d4
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r5, _0813BC38 @ =0x81000400
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0813BC3C @ =gUnknown_08406F28
- ldr r1, _0813BC40 @ =0x06009000
- bl LZ77UnCompVram
- ldr r1, _0813BC44 @ =0x06009800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0813BC48 @ =gUnknown_0840725C
- ldr r1, _0813BC4C @ =0x0600a000
- bl LZ77UnCompVram
- ldr r1, _0813BC50 @ =0x0600a800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0813BC54 @ =gUnknown_0840754C
- ldr r1, _0813BC58 @ =0x0600b000
- bl LZ77UnCompVram
- ldr r1, _0813BC5C @ =0x0600b800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0813BC60 @ =gUnknown_08406974
- movs r5, 0x80
- lsls r5, 2
- movs r1, 0
- adds r2, r5, 0
- bl LoadPalette
- ldr r1, _0813BC64 @ =REG_BG3CNT
- ldr r2, _0813BC68 @ =0x00009603
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r3, _0813BC6C @ =0x00009402
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _0813BC70 @ =0x00009201
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- movs r3, 0x90
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0813BC74 @ =gUnknown_0840B008
- bl LoadCompressedObjectPic
- ldr r0, _0813BC78 @ =gUnknown_0840B018
- bl LoadCompressedObjectPic
- ldr r0, _0813BC7C @ =gUnknown_0840B028
- bl LoadSpritePalettes
- ldr r4, _0813BC80 @ =gPlttBufferUnfaded + 0x200
- movs r0, 0xF0
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- movs r2, 0xE1
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- movs r2, 0xF
- bl CpuSet
- movs r3, 0xD2
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0xE
- bl CpuSet
- movs r0, 0xC3
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xD
- bl CpuSet
- movs r2, 0xB4
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- movs r2, 0xC
- bl CpuSet
- movs r3, 0xA5
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0xB
- bl CpuSet
- movs r0, 0x96
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xA
- bl CpuSet
- movs r1, 0xE
- negs r1, r1
- movs r0, 0x78
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0xEC
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_813D584
- ldr r2, _0813BC84 @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, _0813BC88 @ =task_intro_2
- str r0, [r1]
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813BC18: .4byte gUnknown_02039318
-_0813BC1C: .4byte REG_BG3VOFS
-_0813BC20: .4byte REG_BG2VOFS
-_0813BC24: .4byte gUnknown_08407764
-_0813BC28: .4byte gUnknown_08406B74
-_0813BC2C: .4byte 0x06008000
-_0813BC30: .4byte 0x06008800
-_0813BC34: .4byte 0x040000d4
-_0813BC38: .4byte 0x81000400
-_0813BC3C: .4byte gUnknown_08406F28
-_0813BC40: .4byte 0x06009000
-_0813BC44: .4byte 0x06009800
-_0813BC48: .4byte gUnknown_0840725C
-_0813BC4C: .4byte 0x0600a000
-_0813BC50: .4byte 0x0600a800
-_0813BC54: .4byte gUnknown_0840754C
-_0813BC58: .4byte 0x0600b000
-_0813BC5C: .4byte 0x0600b800
-_0813BC60: .4byte gUnknown_08406974
-_0813BC64: .4byte REG_BG3CNT
-_0813BC68: .4byte 0x00009603
-_0813BC6C: .4byte 0x00009402
-_0813BC70: .4byte 0x00009201
-_0813BC74: .4byte gUnknown_0840B008
-_0813BC78: .4byte gUnknown_0840B018
-_0813BC7C: .4byte gUnknown_0840B028
-_0813BC80: .4byte gPlttBufferUnfaded + 0x200
-_0813BC84: .4byte gTasks
-_0813BC88: .4byte task_intro_2
- thumb_func_end task_intro_1
-
- thumb_func_start task_intro_2
-task_intro_2: @ 813BC8C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0813BCE0 @ =sub_813B784
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0813BCE4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813BCE8 @ =sub_813BCF0
- str r1, [r0]
- ldr r0, _0813BCEC @ =gUnknown_03005ED0
- str r5, [r0]
- movs r0, 0xCF
- lsls r0, 1
- bl m4aSongNumStart
- bl ResetSerial
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813BCE0: .4byte sub_813B784
-_0813BCE4: .4byte gTasks
-_0813BCE8: .4byte sub_813BCF0
-_0813BCEC: .4byte gUnknown_03005ED0
- thumb_func_end task_intro_2
-
- thumb_func_start sub_813BCF0
-sub_813BCF0: @ 813BCF0
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldr r4, _0813BDD4 @ =gUnknown_03005ED0
- ldr r0, [r4]
- cmp r0, 0x4C
- bne _0813BD1E
- ldr r2, _0813BDD8 @ =gSprites
- ldr r1, _0813BDDC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r6, 0x8
- ldrsh r1, [r0, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0813BD1E:
- ldr r0, [r4]
- cmp r0, 0xFB
- bne _0813BD40
- ldr r2, _0813BDD8 @ =gSprites
- ldr r1, _0813BDDC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
-_0813BD40:
- ldr r1, [r4]
- movs r0, 0xB8
- lsls r0, 1
- cmp r1, r0
- bne _0813BD60
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x70
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x30
- movs r1, 0
- movs r3, 0x5
- bl sub_813D584
-_0813BD60:
- ldr r1, [r4]
- movs r0, 0xC0
- lsls r0, 1
- cmp r1, r0
- bne _0813BD80
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x80
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0xC8
- movs r1, 0x3C
- movs r3, 0x9
- bl sub_813D584
-_0813BD80:
- ldr r1, [r4]
- movs r0, 0x8C
- lsls r0, 2
- cmp r1, r0
- bne _0813BDA0
- ldr r0, _0813BDE0 @ =sub_813CCE8
- movs r1, 0
- bl CreateTask
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x78
- movs r1, 0x50
- bl sub_813D954
-_0813BDA0:
- ldr r1, [r4]
- ldr r0, _0813BDE4 @ =0x000002e3
- cmp r1, r0
- bls _0813BDCA
- ldr r1, _0813BDDC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x50
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x18
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- movs r1, 0x28
- strh r1, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldr r1, _0813BDE8 @ =task_intro_4
- str r1, [r0]
-_0813BDCA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813BDD4: .4byte gUnknown_03005ED0
-_0813BDD8: .4byte gSprites
-_0813BDDC: .4byte gTasks
-_0813BDE0: .4byte sub_813CCE8
-_0813BDE4: .4byte 0x000002e3
-_0813BDE8: .4byte task_intro_4
- thumb_func_end sub_813BCF0
-
- thumb_func_start task_intro_4
-task_intro_4: @ 813BDEC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r4, r2, 0
- ldr r0, _0813BE80 @ =gUnknown_03005ED0
- ldr r3, [r0]
- ldr r0, _0813BE84 @ =0x00000387
- cmp r3, r0
- bhi _0813BEAC
- ldr r0, _0813BE88 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- lsls r0, 16
- ldrh r2, [r1, 0xC]
- adds r0, r2
- ldr r2, _0813BE8C @ =0xffff4000
- adds r0, r2
- asrs r2, r0, 16
- strh r2, [r1, 0xA]
- strh r0, [r1, 0xC]
- ldr r0, _0813BE90 @ =REG_BG2VOFS
- strh r2, [r0]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- lsls r0, 16
- ldrh r2, [r1, 0x10]
- adds r0, r2
- ldr r2, _0813BE94 @ =0xffff0000
- adds r0, r2
- asrs r2, r0, 16
- strh r2, [r1, 0xE]
- strh r0, [r1, 0x10]
- ldr r0, _0813BE98 @ =REG_BG1VOFS
- strh r2, [r0]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- lsls r0, 16
- ldrh r2, [r1, 0x14]
- adds r0, r2
- ldr r2, _0813BE9C @ =0xfffe8000
- adds r0, r2
- asrs r2, r0, 16
- strh r2, [r1, 0x12]
- strh r0, [r1, 0x14]
- ldr r0, _0813BEA0 @ =REG_BG0VOFS
- strh r2, [r0]
- movs r0, 0xDC
- lsls r0, 2
- cmp r3, r0
- bne _0813BED2
- ldr r0, _0813BEA4 @ =gSpriteTemplate_840AFF0
- movs r1, 0xC8
- movs r2, 0xA0
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813BEA8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _0813BED2
- .align 2, 0
-_0813BE80: .4byte gUnknown_03005ED0
-_0813BE84: .4byte 0x00000387
-_0813BE88: .4byte gTasks
-_0813BE8C: .4byte 0xffff4000
-_0813BE90: .4byte REG_BG2VOFS
-_0813BE94: .4byte 0xffff0000
-_0813BE98: .4byte REG_BG1VOFS
-_0813BE9C: .4byte 0xfffe8000
-_0813BEA0: .4byte REG_BG0VOFS
-_0813BEA4: .4byte gSpriteTemplate_840AFF0
-_0813BEA8: .4byte gSprites
-_0813BEAC:
- ldr r0, _0813BEDC @ =0x000003ef
- cmp r3, r0
- bls _0813BED2
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813BEE0 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0813BEE4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813BEE8 @ =sub_813BEEC
- str r1, [r0]
-_0813BED2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813BEDC: .4byte 0x000003ef
-_0813BEE0: .4byte 0x0000ffff
-_0813BEE4: .4byte gTasks
-_0813BEE8: .4byte sub_813BEEC
- thumb_func_end task_intro_4
-
- thumb_func_start sub_813BEEC
-sub_813BEEC: @ 813BEEC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0813BF10 @ =gUnknown_03005ED0
- ldr r1, [r0]
- ldr r0, _0813BF14 @ =0x00000402
- cmp r1, r0
- bls _0813BF0A
- ldr r0, _0813BF18 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813BF1C @ =task_intro_6
- str r0, [r1]
-_0813BF0A:
- pop {r0}
- bx r0
- .align 2, 0
-_0813BF10: .4byte gUnknown_03005ED0
-_0813BF14: .4byte 0x00000402
-_0813BF18: .4byte gTasks
-_0813BF1C: .4byte task_intro_6
- thumb_func_end sub_813BEEC
-
- thumb_func_start task_intro_6
-task_intro_6: @ 813BF20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl intro_reset_and_hide_bgs
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _0813BF60 @ =gUnknown_02039358
- movs r1, 0
- strh r1, [r0]
- ldr r0, _0813BF64 @ =gUnknown_0203935A
- strh r1, [r0]
- .ifdef SAPPHIRE
- movs r0, 0
- .else
- movs r0, 0x1
- .endif
- bl load_intro_part2_graphics
- ldr r1, _0813BF68 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813BF6C @ =sub_813BF70
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813BF60: .4byte gUnknown_02039358
-_0813BF64: .4byte gUnknown_0203935A
-_0813BF68: .4byte gTasks
-_0813BF6C: .4byte sub_813BF70
- thumb_func_end task_intro_6
-
- thumb_func_start sub_813BF70
-sub_813BF70: @ 813BF70
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0813BF88 @ =gUnknown_02039318
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813BF90
- ldr r0, _0813BF8C @ =gIntro2BrendanSpriteSheet
- bl LoadCompressedObjectPic
- b _0813BF96
- .align 2, 0
-_0813BF88: .4byte gUnknown_02039318
-_0813BF8C: .4byte gIntro2BrendanSpriteSheet
-_0813BF90:
- ldr r0, _0813BFBC @ =gIntro2MaySpriteSheet
- bl LoadCompressedObjectPic
-_0813BF96:
- ldr r0, _0813BFC0 @ =gIntro2BicycleSpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _0813BFC4 @ =gIntro2LatiasSpriteSheet, =gIntro2LatiosSpriteSheet
- bl LoadCompressedObjectPic
- ldr r0, _0813BFC8 @ =gIntro2SpritePalettes
- bl LoadSpritePalettes
- ldr r0, _0813BFCC @ =gUnknown_02039318
- ldrh r0, [r0]
- cmp r0, 0
- bne _0813BFD0
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x64
- bl sub_8149310
- b _0813BFDA
- .align 2, 0
-_0813BFBC: .4byte gIntro2MaySpriteSheet
-_0813BFC0: .4byte gIntro2BicycleSpriteSheet
- .ifdef SAPPHIRE
-_0813BFC4: .4byte gIntro2LatiasSpriteSheet
- .else
-_0813BFC4: .4byte gIntro2LatiosSpriteSheet
- .endif
-_0813BFC8: .4byte gIntro2SpritePalettes
-_0813BFCC: .4byte gUnknown_02039318
-_0813BFD0:
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x64
- bl sub_8149368
-_0813BFDA:
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _0813C060 @ =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r2, 0
- adds r5, 0x1C
- adds r3, r0, r5
- ldr r1, _0813C064 @ =sub_813D788
- str r1, [r3]
- adds r2, 0x8
- adds r0, r2
- ldr r1, _0813C068 @ =gUnknown_0840AE80
- str r1, [r0]
- ldr r0, _0813C06C @ =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- strh r6, [r4, 0xA]
- movs r0, 0x40
- negs r0, r0
- movs r1, 0x3C
- .ifdef SAPPHIRE
- bl sapphire_sub_81494A0
- .else
- bl sub_8149424
- .endif
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- ldr r1, _0813C070 @ =sub_813D880
- str r1, [r0]
- strh r6, [r4, 0xC]
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813C074 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0813C078 @ =sub_813B784
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 7
- .ifdef SAPPHIRE
- movs r0, 0
- movs r2, 0x40
- .else
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x1
- .endif
- movs r3, 0x10
- bl sub_8148EC0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- .ifdef SAPPHIRE
- movs r0, 0
- .else
- movs r0, 0x1
- .endif
- bl sub_8148C78
- ldr r0, _0813C07C @ =sub_813C080
- str r0, [r4]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C060: .4byte gSprites
-_0813C064: .4byte sub_813D788
-_0813C068: .4byte gUnknown_0840AE80
-_0813C06C: .4byte gTasks
-_0813C070: .4byte sub_813D880
-_0813C074: .4byte 0x0000ffff
-_0813C078: .4byte sub_813B784
-_0813C07C: .4byte sub_813C080
- thumb_func_end sub_813BF70
-
- thumb_func_start sub_813C080
-sub_813C080: @ 813C080
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, _0813C1BC @ =gUnknown_03005ED0
- ldr r1, [r5]
- ldr r0, _0813C1C0 @ =0x0000071f
- cmp r1, r0
- bls _0813C0B4
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813C1C4 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x10
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0813C1C8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813C1CC @ =sub_813C1F4
- str r1, [r0]
-_0813C0B4:
- ldr r1, [r5]
- ldr r0, _0813C1D0 @ =0x00000455
- ldr r3, _0813C1C8 @ =gTasks
- cmp r1, r0
- bne _0813C0D8
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0813C0D8:
- ldr r1, [r5]
- ldr r0, _0813C1D8 @ =0x000004be
- cmp r1, r0
- bne _0813C0FA
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
-_0813C0FA:
- ldr r1, [r5]
- ldr r0, _0813C1DC @ =0x00000572
- cmp r1, r0
- bne _0813C11C
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xC
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0813C11C:
- ldr r1, [r5]
- ldr r0, _0813C1E0 @ =0x00000576
- cmp r1, r0
- bne _0813C13E
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
-_0813C13E:
- ldr r1, [r5]
- ldr r0, _0813C1E4 @ =0x00000632
- cmp r1, r0
- bne _0813C160
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x2E]
-_0813C160:
- ldr r1, [r5]
- ldr r0, _0813C1E8 @ =0x000006bf
- cmp r1, r0
- bne _0813C182
- ldr r2, _0813C1D4 @ =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r4, 0xA
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0, 0x2E]
-_0813C182:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 18
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0x30
- bl Sin
- ldr r1, _0813C1EC @ =gUnknown_0203935A
- strh r0, [r1]
- ldrh r2, [r4, 0xE]
- movs r7, 0xE
- ldrsh r1, [r4, r7]
- ldr r0, _0813C1F0 @ =0x000001ff
- cmp r1, r0
- bgt _0813C1AE
- adds r0, r2, 0x1
- strh r0, [r4, 0xE]
-_0813C1AE:
- .ifdef SAPPHIRE
- movs r0, 0
- .else
- movs r0, 0x1
- .endif
- bl sub_8149020
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C1BC: .4byte gUnknown_03005ED0
-_0813C1C0: .4byte 0x0000071f
-_0813C1C4: .4byte 0x0000ffff
-_0813C1C8: .4byte gTasks
-_0813C1CC: .4byte sub_813C1F4
-_0813C1D0: .4byte 0x00000455
-_0813C1D4: .4byte gSprites
-_0813C1D8: .4byte 0x000004be
-_0813C1DC: .4byte 0x00000572
-_0813C1E0: .4byte 0x00000576
-_0813C1E4: .4byte 0x00000632
-_0813C1E8: .4byte 0x000006bf
-_0813C1EC: .4byte gUnknown_0203935A
-_0813C1F0: .4byte 0x000001ff
- thumb_func_end sub_813C080
-
- thumb_func_start sub_813C1F4
-sub_813C1F4: @ 813C1F4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0813C220 @ =gUnknown_03005ED0
- ldr r1, [r0]
- ldr r0, _0813C224 @ =0x00000814
- cmp r1, r0
- bls _0813C218
- ldr r0, _0813C228 @ =gTasks
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- bl DestroyTask
- ldr r0, _0813C22C @ =task_intro_10
- str r0, [r4]
-_0813C218:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C220: .4byte gUnknown_03005ED0
-_0813C224: .4byte 0x00000814
-_0813C228: .4byte gTasks
-_0813C22C: .4byte task_intro_10
- thumb_func_end sub_813C1F4
-
- thumb_func_start task_intro_10
-task_intro_10: @ 813C230
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl intro_reset_and_hide_bgs
- ldr r0, _0813C2C0 @ =gUnknown_08409C04
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0813C2C4 @ =gUnknown_08409AD4
- ldr r1, _0813C2C8 @ =0x06004000
- bl LZ77UnCompVram
- ldr r0, _0813C2CC @ =gUnknown_084098D4
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadPalette
- ldr r0, _0813C2D0 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r5, 0
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r0, 0x78
- movs r1, 0x50
- movs r2, 0
- movs r3, 0
- bl sub_813CE30
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813C2D4 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _0813C2D8 @ =REG_BG2CNT
- ldr r2, _0813C2DC @ =0x00004883
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _0813C2E0 @ =0x00001441
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0813C2E4 @ =task_intro_11
- str r0, [r4]
- ldr r0, _0813C2E8 @ =gUnknown_03005ED0
- str r5, [r0]
- movs r0, 0xDD
- lsls r0, 1
- bl m4aSongNumStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C2C0: .4byte gUnknown_08409C04
-_0813C2C4: .4byte gUnknown_08409AD4
-_0813C2C8: .4byte 0x06004000
-_0813C2CC: .4byte gUnknown_084098D4
-_0813C2D0: .4byte gTasks
-_0813C2D4: .4byte 0x0000ffff
-_0813C2D8: .4byte REG_BG2CNT
-_0813C2DC: .4byte 0x00004883
-_0813C2E0: .4byte 0x00001441
-_0813C2E4: .4byte task_intro_11
-_0813C2E8: .4byte gUnknown_03005ED0
- thumb_func_end task_intro_10
-
- thumb_func_start task_intro_11
-task_intro_11: @ 813C2EC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _0813C324 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r1, 0x80
- lsls r1, 3
- adds r0, r1, 0
- ldrh r1, [r3, 0x8]
- adds r0, r1
- strh r0, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- ldr r0, _0813C328 @ =0x000006bf
- cmp r1, r0
- bgt _0813C32C
- ldrh r0, [r3, 0xC]
- adds r1, r4, r0
- strh r1, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- b _0813C330
- .align 2, 0
-_0813C324: .4byte gTasks
-_0813C328: .4byte 0x000006bf
-_0813C32C:
- ldr r0, _0813C378 @ =sub_813C384
- str r0, [r3]
-_0813C330:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r2
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- ldrh r3, [r4, 0x8]
- movs r0, 0x78
- movs r1, 0x50
- bl sub_813CE30
- ldr r0, _0813C37C @ =gUnknown_03005ED0
- ldr r0, [r0]
- cmp r0, 0x2C
- bne _0813C36E
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813C380 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0813C36E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C378: .4byte sub_813C384
-_0813C37C: .4byte gUnknown_03005ED0
-_0813C380: .4byte 0x0000ffff
- thumb_func_end task_intro_11
-
- thumb_func_start sub_813C384
-sub_813C384: @ 813C384
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0813C3A4 @ =gUnknown_03005ED0
- ldr r0, [r0]
- cmp r0, 0x3B
- bls _0813C3A0
- ldr r0, _0813C3A8 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813C3AC @ =sub_813C3B0
- str r0, [r1]
-_0813C3A0:
- pop {r0}
- bx r0
- .align 2, 0
-_0813C3A4: .4byte gUnknown_03005ED0
-_0813C3A8: .4byte gTasks
-_0813C3AC: .4byte sub_813C3B0
- thumb_func_end sub_813C384
-
- thumb_func_start sub_813C3B0
-sub_813C3B0: @ 813C3B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl intro_reset_and_hide_bgs
- movs r1, 0
- ldr r2, _0813C4E4 @ =0x02000000
- movs r7, 0
- adds r6, r2, 0
- adds r6, 0x20
- adds r5, r2, 0
- adds r5, 0x40
- mov r12, r2
- movs r4, 0x11
- movs r3, 0x22
-_0813C3D4:
- adds r0, r1, r2
- strb r7, [r0]
- adds r0, r1, r6
- strb r4, [r0]
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _0813C3D4
- movs r1, 0xC0
- lsls r1, 19
- ldr r0, _0813C4E8 @ =0x040000d4
- mov r2, r12
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0813C4EC @ =0x80000030
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r1, 0
- ldr r5, _0813C4F0 @ =gPlttBufferUnfaded
- ldr r6, _0813C4F4 @ =gPlttBufferFaded
- mov r0, r8
- lsls r7, r0, 2
- ldr r4, _0813C4F8 @ =0x06003000
- ldr r2, _0813C4FC @ =0x0000f001
- adds r3, r2, 0
- ldr r2, _0813C500 @ =0x0000027f
-_0813C40E:
- lsls r0, r1, 1
- adds r0, r4
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _0813C40E
- movs r1, 0
- ldr r3, _0813C504 @ =0x06003800
- ldr r0, _0813C508 @ =0x0000f002
- adds r2, r0, 0
-_0813C426:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x7F
- bls _0813C426
- movs r1, 0
- ldr r4, _0813C50C @ =0x06003900
- movs r2, 0xF0
- lsls r2, 8
- adds r3, r2, 0
- ldr r2, _0813C510 @ =0x0000017f
-_0813C442:
- lsls r0, r1, 1
- adds r0, r4
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _0813C442
- movs r1, 0
- ldr r3, _0813C514 @ =0x06003c00
- ldr r0, _0813C508 @ =0x0000f002
- adds r2, r0, 0
-_0813C45A:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x7F
- bls _0813C45A
- movs r0, 0xF0
- lsls r0, 1
- adds r2, r5, r0
- movs r4, 0
- ldr r1, _0813C518 @ =0x00007fff
- strh r1, [r2]
- adds r0, r6, r0
- strh r1, [r0]
- movs r0, 0x1
- bl sub_813D084
- movs r0, 0xF2
- lsls r0, 1
- adds r1, r5, r0
- strh r4, [r1]
- adds r0, r6, r0
- strh r4, [r0]
- ldr r0, _0813C51C @ =gUnknown_0840A778
- ldr r1, _0813C520 @ =0x06004000
- bl LZ77UnCompVram
- ldr r0, _0813C524 @ =gUnknown_0840A7E4
- ldr r1, _0813C528 @ =0x06007000
- bl LZ77UnCompVram
- ldr r0, _0813C52C @ =gUnknown_0840A758
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _0813C530 @ =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0813C534 @ =gUnknown_0840B20C
- bl LoadCompressedObjectPic
- ldr r0, _0813C538 @ =gUnknown_0840B21C
- bl LoadCompressedObjectPic
- ldr r0, _0813C53C @ =gUnknown_0840B22C
- bl LoadCompressedObjectPalette
- ldr r0, _0813C540 @ =gUnknown_0840B23C
- bl LoadSpritePalettes
- ldr r1, _0813C544 @ =gTasks
- mov r2, r8
- adds r0, r7, r2
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813C548 @ =sub_813C54C
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C4E4: .4byte 0x02000000
-_0813C4E8: .4byte 0x040000d4
-_0813C4EC: .4byte 0x80000030
-_0813C4F0: .4byte gPlttBufferUnfaded
-_0813C4F4: .4byte gPlttBufferFaded
-_0813C4F8: .4byte 0x06003000
-_0813C4FC: .4byte 0x0000f001
-_0813C500: .4byte 0x0000027f
-_0813C504: .4byte 0x06003800
-_0813C508: .4byte 0x0000f002
-_0813C50C: .4byte 0x06003900
-_0813C510: .4byte 0x0000017f
-_0813C514: .4byte 0x06003c00
-_0813C518: .4byte 0x00007fff
-_0813C51C: .4byte gUnknown_0840A778
-_0813C520: .4byte 0x06004000
-_0813C524: .4byte gUnknown_0840A7E4
-_0813C528: .4byte 0x06007000
-_0813C52C: .4byte gUnknown_0840A758
-_0813C530: .4byte gReservedSpritePaletteCount
-_0813C534: .4byte gUnknown_0840B20C
-_0813C538: .4byte gUnknown_0840B21C
-_0813C53C: .4byte gUnknown_0840B22C
-_0813C540: .4byte gUnknown_0840B23C
-_0813C544: .4byte gTasks
-_0813C548: .4byte sub_813C54C
- thumb_func_end sub_813C3B0
-
- thumb_func_start sub_813C54C
-sub_813C54C: @ 813C54C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0813C5BC @ =REG_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0xA0
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0x1C
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1D
- strh r0, [r1]
- subs r1, 0x3C
- ldr r2, _0813C5C0 @ =0x00000603
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x6
- adds r2, 0xFD
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- movs r2, 0xE5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0813C5C4 @ =sub_813CAF4
- movs r1, 0
- bl CreateTask
- ldr r5, _0813C5C8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- strh r0, [r1, 0x26]
- movs r0, 0x26
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- strh r3, [r0, 0x8]
- strh r3, [r1, 0x8]
- ldr r0, _0813C5CC @ =sub_813C5D0
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C5BC: .4byte REG_WIN0H
-_0813C5C0: .4byte 0x00000603
-_0813C5C4: .4byte sub_813CAF4
-_0813C5C8: .4byte gTasks
-_0813C5CC: .4byte sub_813C5D0
- thumb_func_end sub_813C54C
-
- thumb_func_start sub_813C5D0
-sub_813C5D0: @ 813C5D0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813C600 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r1, [r3, 0x8]
- movs r2, 0x8
- ldrsh r0, [r3, r2]
- cmp r0, 0x20
- beq _0813C608
- adds r0, r1, 0x4
- strh r0, [r3, 0x8]
- ldr r2, _0813C604 @ =REG_WIN0V
- movs r4, 0x8
- ldrsh r0, [r3, r4]
- lsls r0, 8
- subs r1, 0x9C
- subs r0, r1
- strh r0, [r2]
- b _0813C616
- .align 2, 0
-_0813C600: .4byte gTasks
-_0813C604: .4byte REG_WIN0V
-_0813C608:
- ldr r0, _0813C61C @ =REG_WIN0V
- movs r2, 0x82
- lsls r2, 6
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0813C620 @ =sub_813C624
- str r0, [r3]
-_0813C616:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813C61C: .4byte REG_WIN0V
-_0813C620: .4byte sub_813C624
- thumb_func_end sub_813C5D0
-
- thumb_func_start sub_813C624
-sub_813C624: @ 813C624
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813C638 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0813C63C @ =sub_813C640
- str r0, [r1]
- bx lr
- .align 2, 0
-_0813C638: .4byte gTasks
-_0813C63C: .4byte sub_813C640
- thumb_func_end sub_813C624
-
- thumb_func_start sub_813C640
-sub_813C640: @ 813C640
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0813C65C @ =gUnknown_0203931A
- movs r1, 0
- strh r1, [r2]
- ldr r2, _0813C660 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0813C664 @ =sub_813C668
- str r0, [r1]
- bx lr
- .align 2, 0
-_0813C65C: .4byte gUnknown_0203931A
-_0813C660: .4byte gTasks
-_0813C664: .4byte sub_813C668
- thumb_func_end sub_813C640
-
- thumb_func_start sub_813C668
-sub_813C668: @ 813C668
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0813CA24 @ =gUnknown_03005ED0
- mov r8, r0
- ldr r0, [r0]
- cmp r0, 0x50
- bne _0813C6AC
- ldr r0, _0813CA28 @ =0x0000014b
- movs r4, 0x1
- str r4, [sp]
- movs r1, 0xF0
- movs r2, 0xA0
- movs r3, 0x5
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0813CA30 @ =sub_813DB9C
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- strh r4, [r0, 0x30]
- strh r1, [r0, 0x32]
-_0813C6AC:
- mov r1, r8
- ldr r0, [r1]
- cmp r0, 0x98
- bne _0813C6E2
- ldr r0, _0813CA34 @ =0x00000169
- movs r4, 0x1
- str r4, [sp]
- movs r1, 0
- movs r2, 0xA0
- movs r3, 0x4
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0813CA30 @ =sub_813DB9C
- str r2, [r1]
- adds r0, r3
- movs r1, 0x2
- strh r1, [r0, 0x30]
- strh r4, [r0, 0x32]
-_0813C6E2:
- mov r3, r8
- ldr r0, [r3]
- cmp r0, 0xDB
- bne _0813C720
- movs r0, 0
- bl sub_813D084
- ldr r0, _0813CA38 @ =gUnknown_02039318
- ldrh r0, [r0]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x60
- movs r3, 0x6
- bl sub_813CFA8
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813CA3C @ =sub_813DE70
- str r1, [r0]
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
-_0813C720:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bne _0813C758
- ldr r3, _0813CA40 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r3
- movs r0, 0x26
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- movs r2, 0x4
- strh r2, [r0, 0x8]
- ldr r2, _0813CA2C @ =gSprites
- movs r3, 0xA
- ldrsh r1, [r1, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
-_0813C758:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0xC0
- lsls r0, 1
- cmp r1, r0
- bne _0813C790
- ldr r3, _0813CA40 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r3
- movs r0, 0x26
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- movs r2, 0
- strh r2, [r0, 0x8]
- ldr r2, _0813CA2C @ =gSprites
- movs r3, 0xA
- ldrsh r1, [r1, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0, 0x2E]
-_0813C790:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0xC8
- lsls r0, 1
- cmp r1, r0
- bne _0813C7AE
- movs r0, 0xFF
- lsls r0, 16
- ldr r1, _0813CA44 @ =0x00007eff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0813C7AE:
- mov r3, r8
- ldr r1, [r3]
- movs r0, 0xD8
- lsls r0, 1
- cmp r1, r0
- bne _0813C7D6
- ldr r2, _0813CA2C @ =gSprites
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x2E]
-_0813C7D6:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0xE7
- lsls r0, 1
- cmp r1, r0
- bne _0813C80E
- ldr r3, _0813CA2C @ =gSprites
- ldr r4, _0813CA40 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r4
- movs r0, 0xA
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x6
- strh r2, [r0, 0x2E]
- movs r3, 0x26
- ldrsh r1, [r1, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x8]
-_0813C80E:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, _0813CA48 @ =0x000001cf
- cmp r1, r0
- bne _0813C854
- movs r0, 0x1
- bl sub_813D084
- ldr r0, _0813CA28 @ =0x0000014b
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xD0
- movs r2, 0x8
- movs r3, 0x5
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813CA4C @ =sub_813E10C
- str r1, [r0]
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xC]
- adds r0, r2, 0
- bl sub_813E7C0
-_0813C854:
- mov r3, r8
- ldr r1, [r3]
- ldr r0, _0813CA50 @ =0x0000021b
- cmp r1, r0
- bne _0813C894
- subs r0, 0xB2
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xF8
- movs r2, 0x10
- movs r3, 0x4
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813CA4C @ =sub_813E10C
- str r1, [r0]
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xE]
- adds r0, r2, 0
- bl sub_813E930
-_0813C894:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, _0813CA54 @ =0x0000026f
- cmp r1, r0
- bne _0813C8D8
- ldr r4, _0813CA2C @ =gSprites
- ldr r5, _0813CA40 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r5
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- movs r3, 0x2
- strh r3, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x2E]
- movs r3, 0x26
- ldrsh r1, [r1, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x3
- strh r1, [r0, 0x8]
-_0813C8D8:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x9C
- lsls r0, 2
- cmp r1, r0
- bne _0813C920
- movs r0, 0
- bl sub_813D084
- ldr r0, _0813CA58 @ =0x0000011b
- movs r1, 0
- str r1, [sp]
- movs r1, 0x20
- movs r2, 0x98
- movs r3, 0
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813CA5C @ =sub_813E210
- str r1, [r0]
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x10]
- adds r0, r2, 0
- bl sub_813EDBC
-_0813C920:
- mov r3, r8
- ldr r1, [r3]
- movs r0, 0xAF
- lsls r0, 2
- cmp r1, r0
- bne _0813C966
- movs r0, 0x8C
- lsls r0, 1
- movs r1, 0x8
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x90
- movs r3, 0x1
- bl sub_813CE88
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0813CA2C @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0813CA5C @ =sub_813E210
- str r1, [r0]
- ldr r1, _0813CA40 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x12]
- adds r0, r2, 0
- bl sub_813EB4C
-_0813C966:
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0xC2
- lsls r0, 2
- cmp r1, r0
- bne _0813C9B2
- ldr r1, _0813CA60 @ =gUnknown_0203931A
- movs r0, 0x1
- strh r0, [r1]
- ldr r4, _0813CA2C @ =gSprites
- ldr r6, _0813CA40 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r6
- movs r3, 0x10
- ldrsh r2, [r1, r3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- movs r5, 0
- movs r3, 0x2
- strh r3, [r0, 0x2E]
- movs r0, 0x12
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x2E]
- movs r3, 0x26
- ldrsh r1, [r1, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r5, [r0, 0x8]
-_0813C9B2:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, _0813CA64 @ =0x0000030d
- cmp r1, r0
- bne _0813CA76
- movs r0, 0x2
- bl sub_813D084
- ldr r4, _0813CA2C @ =gSprites
- ldr r0, _0813CA40 @ =gTasks
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r2, r0
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r3, 0x3
- strh r3, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x2E]
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x2E]
- movs r0, 0x12
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r3, [r0, 0x2E]
- ldr r0, _0813CA68 @ =gSpriteTemplate_840B1F4
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0xF
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- b _0813CA6C
- .align 2, 0
-_0813CA24: .4byte gUnknown_03005ED0
-_0813CA28: .4byte 0x0000014b
-_0813CA2C: .4byte gSprites
-_0813CA30: .4byte sub_813DB9C
-_0813CA34: .4byte 0x00000169
-_0813CA38: .4byte gUnknown_02039318
-_0813CA3C: .4byte sub_813DE70
-_0813CA40: .4byte gTasks
-_0813CA44: .4byte 0x00007eff
-_0813CA48: .4byte 0x000001cf
-_0813CA4C: .4byte sub_813E10C
-_0813CA50: .4byte 0x0000021b
-_0813CA54: .4byte 0x0000026f
-_0813CA58: .4byte 0x0000011b
-_0813CA5C: .4byte sub_813E210
-_0813CA60: .4byte gUnknown_0203931A
-_0813CA64: .4byte 0x0000030d
-_0813CA68: .4byte gSpriteTemplate_840B1F4
-_0813CA6C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0813CA76:
- mov r3, r8
- ldr r1, [r3]
- movs r0, 0xC8
- lsls r0, 2
- cmp r1, r0
- bne _0813CA88
- movs r0, 0x67
- bl PlaySE
-_0813CA88:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, _0813CAC8 @ =0x00000352
- cmp r1, r0
- bne _0813CAA4
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0813CACC @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0813CAA4:
- mov r3, r8
- ldr r1, [r3]
- ldr r0, _0813CAD0 @ =0x000003b2
- cmp r1, r0
- bne _0813CABC
- ldr r0, _0813CAD4 @ =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813CAD8 @ =sub_813CADC
- str r0, [r1]
-_0813CABC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813CAC8: .4byte 0x00000352
-_0813CACC: .4byte 0x0000ffff
-_0813CAD0: .4byte 0x000003b2
-_0813CAD4: .4byte gTasks
-_0813CAD8: .4byte sub_813CADC
- thumb_func_end sub_813C668
-
- thumb_func_start sub_813CADC
-sub_813CADC: @ 813CADC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _0813CAF0 @ =CB2_813B7EC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0813CAF0: .4byte CB2_813B7EC
- thumb_func_end sub_813CADC
-
thumb_func_start sub_813CAF4
sub_813CAF4: @ 813CAF4
push {r4-r6,lr}
@@ -3659,7 +1672,7 @@ _0813D7C6:
adds r0, r4, 0
movs r1, 0
bl StartSpriteAnimIfDifferent
- ldr r0, _0813D7E0 @ =gUnknown_03005ED0
+ ldr r0, _0813D7E0 @ =gIntroFrameCounter
ldr r0, [r0]
movs r1, 0x7
ands r0, r1
@@ -3669,7 +1682,7 @@ _0813D7C6:
adds r0, 0x1
b _0813D82E
.align 2, 0
-_0813D7E0: .4byte gUnknown_03005ED0
+_0813D7E0: .4byte gIntroFrameCounter
_0813D7E4:
adds r0, r4, 0
movs r1, 0x2
@@ -3679,7 +1692,7 @@ _0813D7E4:
ldrsh r0, [r4, r1]
cmp r0, 0x78
ble _0813D802
- ldr r0, _0813D808 @ =gUnknown_03005ED0
+ ldr r0, _0813D808 @ =gIntroFrameCounter
ldr r0, [r0]
movs r1, 0x7
ands r0, r1
@@ -3689,7 +1702,7 @@ _0813D802:
adds r0, r2, 0x1
b _0813D82E
.align 2, 0
-_0813D808: .4byte gUnknown_03005ED0
+_0813D808: .4byte gIntroFrameCounter
_0813D80C:
adds r0, r4, 0
movs r1, 0x3
@@ -3710,7 +1723,7 @@ _0813D816:
_0813D82E:
strh r0, [r4, 0x20]
_0813D830:
- ldr r0, _0813D84C @ =gUnknown_03005ED0
+ ldr r0, _0813D84C @ =gIntroFrameCounter
ldr r0, [r0]
movs r1, 0x7
ands r0, r1
@@ -3725,7 +1738,7 @@ _0813D83C:
strh r0, [r4, 0x26]
b _0813D87A
.align 2, 0
-_0813D84C: .4byte gUnknown_03005ED0
+_0813D84C: .4byte gIntroFrameCounter
_0813D850:
bl Random
movs r1, 0x3
@@ -18853,7 +16866,7 @@ _08144F5C:
bl LoadSpritePalettes
movs r0, 0x78
movs r1, 0x2E
- bl sub_8149310
+ bl intro_create_brendan_sprite
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _08144FD0 @ =gTasks
@@ -18878,7 +16891,7 @@ _08144F5C:
movs r0, 0x88
lsls r0, 1
movs r1, 0x2E
- bl sub_8149368
+ bl intro_create_may_sprite
b _08145034
.align 2, 0
_08144FBC: .4byte gSaveBlock2
@@ -18901,7 +16914,7 @@ _08144FE0:
bl LoadSpritePalettes
movs r0, 0x78
movs r1, 0x2E
- bl sub_8149368
+ bl intro_create_may_sprite
lsls r0, 24
lsrs r2, r0, 24
ldr r0, _0814506C @ =gTasks
@@ -18926,7 +16939,7 @@ _08144FE0:
movs r0, 0x88
lsls r0, 1
movs r1, 0x2E
- bl sub_8149310
+ bl intro_create_brendan_sprite
_08145034:
lsls r0, 24
lsrs r2, r0, 24
diff --git a/asm/rom_8148B8C.s b/asm/rom_8148B8C.s
index 6ed24195f..5ed359627 100644
--- a/asm/rom_8148B8C.s
+++ b/asm/rom_8148B8C.s
@@ -902,8 +902,8 @@ sub_81492A0: @ 81492A0
_0814930C: .4byte gSprites
thumb_func_end sub_81492A0
- thumb_func_start sub_8149310
-sub_8149310: @ 8149310
+ thumb_func_start intro_create_brendan_sprite
+intro_create_brendan_sprite: @ 8149310
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -943,10 +943,10 @@ sub_8149310: @ 8149310
_0814935C: .4byte gSpriteTemplate_8416CDC
_08149360: .4byte gSpriteTemplate_8416D2C
_08149364: .4byte gSprites
- thumb_func_end sub_8149310
+ thumb_func_end intro_create_brendan_sprite
- thumb_func_start sub_8149368
-sub_8149368: @ 8149368
+ thumb_func_start intro_create_may_sprite
+intro_create_may_sprite: @ 8149368
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -986,7 +986,7 @@ sub_8149368: @ 8149368
_081493B4: .4byte gSpriteTemplate_8416CF4
_081493B8: .4byte gSpriteTemplate_8416D44
_081493BC: .4byte gSprites
- thumb_func_end sub_8149368
+ thumb_func_end intro_create_may_sprite
thumb_func_start nullsub_83
nullsub_83: @ 81493C0
@@ -1045,8 +1045,8 @@ sub_81493C4: @ 81493C4
_08149420: .4byte gSprites
thumb_func_end sub_81493C4
- thumb_func_start sub_8149424
-sub_8149424: @ 8149424
+ thumb_func_start intro_create_latios_sprite
+intro_create_latios_sprite: @ 8149424
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -1102,10 +1102,10 @@ _08149490: .4byte gSpriteTemplate_8416D7C
_08149494: .4byte 0xffe00000
_08149498: .4byte gSprites
_0814949C: .4byte sub_81493C4
- thumb_func_end sub_8149424
+ thumb_func_end intro_create_latios_sprite
- thumb_func_start sapphire_sub_81494A0
-sapphire_sub_81494A0: @ 81494A0
+ thumb_func_start intro_create_latias_sprite
+intro_create_latias_sprite: @ 81494A0
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -1161,7 +1161,7 @@ _0814950C: .4byte gSpriteTemplate_8416D94
_08149510: .4byte 0xffe00000
_08149514: .4byte gSprites
_08149518: .4byte sub_81493C4
- thumb_func_end sapphire_sub_81494A0
+ thumb_func_end intro_create_latias_sprite
thumb_func_start nullsub_84
nullsub_84: @ 814951C