diff options
author | Cameron Hall <camthesaxman@users.noreply.github.com> | 2016-11-25 13:32:45 -0600 |
---|---|---|
committer | YamaArashi <YamaArashi@users.noreply.github.com> | 2016-11-25 11:32:45 -0800 |
commit | e30044965f85abdbbcc80e37b1151bb7b7d786cb (patch) | |
tree | d1d0574119a1a7da8ff692a9b84e4345b056fdc5 /asm | |
parent | bc912a7a7378dce12ebea75b82bbcf6d7c1e3524 (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.s | 2007 | ||||
-rw-r--r-- | asm/rom_8148B8C.s | 24 |
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 |