summaryrefslogtreecommitdiff
path: root/asm/jirachi_wish.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-04-19 21:55:40 -0700
committerGitHub <noreply@github.com>2021-04-19 23:55:40 -0500
commitf65dee5a143bd543c74c010d7252eb76893ee243 (patch)
treed343e826c63f8b501d37873c3c7bc1f010819deb /asm/jirachi_wish.s
parentd316d1e359c7672277a9cf644acd4e40170f5968 (diff)
Wonder mail and some boss dialogues (#36)
* more wonder mail and main menu work * Lots of things.. doc'ing, decomping, and other things * continue decomping boss scenes * up to Suicune * up to Mewtwo dialogue * up to Raquaza * fix spelling error on Rayquaza and decomp a few more * up to groudon * divide > shift
Diffstat (limited to 'asm/jirachi_wish.s')
-rw-r--r--asm/jirachi_wish.s660
1 files changed, 660 insertions, 0 deletions
diff --git a/asm/jirachi_wish.s b/asm/jirachi_wish.s
new file mode 100644
index 0000000..ba23793
--- /dev/null
+++ b/asm/jirachi_wish.s
@@ -0,0 +1,660 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start JirachiWish
+JirachiWish:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x78
+ movs r0, 0x1A
+ bl sub_8085680
+ adds r6, r0, 0
+ ldr r0, _0808B82C
+ ldr r1, _0808B830
+ bl CopySpeciesNametoBuffer
+ ldr r4, _0808B834
+ adds r0, r4, 0
+ bl sub_80855E4
+ adds r0, r6, 0
+ bl _call_via_r4
+ movs r0, 0
+ bl sub_8041888
+ ldr r0, [r6, 0x70]
+ movs r1, 0xAE
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ movs r4, 0x1
+ strb r4, [r0]
+ ldr r0, [r6, 0x70]
+ movs r2, 0xAF
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ adds r0, r6, 0
+ movs r1, 0xE
+ movs r2, 0
+ bl sub_80861B8
+ ldr r0, _0808B838
+ bl sub_80855E4
+ ldr r0, _0808B83C
+ ldr r0, [r0]
+ ldr r1, _0808B840
+ adds r0, r1
+ strb r4, [r0]
+ movs r0, 0x1E
+ bl sub_8083ED8
+ movs r0, 0x1E
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808B844
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808B848
+ bl sub_8083E38
+ movs r0, 0x96
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl sub_80862BC
+ ldr r0, _0808B84C
+ bl sub_8052910
+ movs r0, 0x79
+ bl sub_8083E88
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ movs r1, 0
+ bl sub_80856E0
+ movs r0, 0xB5
+ lsls r0, 1
+ bl sub_8083E38
+ ldr r0, _0808B850
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl sub_808696C
+ ldr r0, _0808B854
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+_0808B690:
+ ldr r4, _0808B858
+_0808B692:
+ movs r0, 0
+ ldr r1, [r4]
+ ldr r2, _0808B85C
+ ldr r3, _0808B860
+ bl sub_8052C68
+ mov r9, r0
+ cmp r0, 0
+ ble _0808B692
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ mov r2, r9
+ cmp r2, 0x1
+ bne _0808B754
+ ldr r0, _0808B864
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl JirachiWishGrantDialogue
+ movs r0, 0
+ add r7, sp, 0x6C
+_0808B6CA:
+ adds r0, 0x1
+ mov r8, r0
+ mov r4, sp
+ movs r5, 0x8
+_0808B6D2:
+ adds r0, r4, 0
+ movs r1, 0x69
+ movs r2, 0
+ bl sub_8045C28
+ adds r4, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0808B6D2
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r1, [r6, 0x4]
+ adds r1, r0
+ subs r1, 0x1
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, _0808B868
+ ldr r0, [sp, 0x6C]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x6C]
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r2, [r6, 0x6]
+ adds r2, r0
+ subs r2, 0x1
+ lsls r2, 16
+ ldr r0, _0808B86C
+ ldr r1, [sp, 0x6C]
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp, 0x6C]
+ movs r2, 0
+ ldrsh r0, [r7, r2]
+ asrs r1, 16
+ bl sub_8049590
+ ldrh r1, [r0]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0808B744
+ movs r0, 0xA6
+ lsls r0, 1
+ bl sub_8083E38
+ adds r0, r7, 0
+ bl sub_808BB3C
+ adds r0, r6, 0
+ adds r1, r7, 0
+ mov r2, sp
+ movs r3, 0x9
+ bl sub_8046860
+_0808B744:
+ mov r0, r8
+ cmp r0, 0x5
+ ble _0808B6CA
+ ldr r0, [r6, 0x70]
+ ldr r2, _0808B870
+ adds r1, r0, r2
+ movs r0, 0
+ strb r0, [r1]
+_0808B754:
+ mov r0, r9
+ cmp r0, 0x2
+ bne _0808B80A
+ ldr r0, _0808B874
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl JirachiWishGrantDialogue
+ movs r0, 0
+ add r1, sp, 0x24
+ mov r8, r1
+ add r7, sp, 0x70
+_0808B776:
+ adds r0, 0x1
+ mov r10, r0
+ mov r4, r8
+ movs r5, 0x8
+_0808B77E:
+ movs r0, 0
+ bl sub_803D73C
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8045C28
+ adds r4, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0808B77E
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r1, [r6, 0x4]
+ adds r1, r0
+ subs r1, 0x1
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, _0808B868
+ ldr r0, [sp, 0x70]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x70]
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r2, [r6, 0x6]
+ adds r2, r0
+ subs r2, 0x1
+ lsls r2, 16
+ ldr r0, _0808B86C
+ ldr r1, [sp, 0x70]
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp, 0x70]
+ movs r2, 0
+ ldrsh r0, [r7, r2]
+ asrs r1, 16
+ bl sub_8049590
+ ldrh r1, [r0]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0808B7FA
+ movs r0, 0xC8
+ lsls r0, 1
+ bl sub_8083E38
+ adds r0, r7, 0
+ bl sub_808BB3C
+ adds r0, r6, 0
+ adds r1, r7, 0
+ mov r2, r8
+ movs r3, 0x9
+ bl sub_8046860
+_0808B7FA:
+ mov r0, r10
+ cmp r0, 0x5
+ ble _0808B776
+ ldr r0, [r6, 0x70]
+ ldr r2, _0808B870
+ adds r1, r0, r2
+ movs r0, 0
+ strb r0, [r1]
+_0808B80A:
+ mov r0, r9
+ cmp r0, 0x3
+ bne _0808B8CA
+ bl JirachiFriendAreaSearch
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x3A
+ bne _0808B87C
+ ldr r0, _0808B878
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ b _0808B690
+ .align 2, 0
+_0808B82C: .4byte gUnknown_202E038
+_0808B830: .4byte 0x0000019d
+_0808B834: .4byte sub_808BBA8
+_0808B838: .4byte sub_80861A8
+_0808B83C: .4byte gUnknown_203B418
+_0808B840: .4byte 0x0001356c
+_0808B844: .4byte gUnknown_8105668
+_0808B848: .4byte 0x000001a7
+_0808B84C: .4byte gUnknown_8105674
+_0808B850: .4byte gUnknown_81056B8
+_0808B854: .4byte gUnknown_81056DC
+_0808B858: .4byte gUnknown_8105798
+_0808B85C: .4byte gUnknown_810579C
+_0808B860: .4byte 0x00000705
+_0808B864: .4byte gUnknown_810581C
+_0808B868: .4byte 0xffff0000
+_0808B86C: .4byte 0x0000ffff
+_0808B870: .4byte 0x0000015d
+_0808B874: .4byte gUnknown_8105974
+_0808B878: .4byte gUnknown_8105A08
+_0808B87C:
+ ldr r0, _0808BA30
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl JirachiWishGrantDialogue
+ ldr r0, [r6, 0x70]
+ ldr r2, _0808BA34
+ adds r1, r0, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r0, _0808BA38
+ bl sub_8052910
+ adds r0, r4, 0
+ bl UnlockFriendArea
+ movs r0, 0xD4
+ bl sub_8083E38
+ bl sub_8083600
+ adds r1, r0, 0
+ ldr r0, _0808BA3C
+ movs r2, 0
+ bl sub_8045B94
+ ldr r0, _0808BA40
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8092578
+ ldr r0, _0808BA44
+ bl sub_8052910
+_0808B8CA:
+ mov r0, r9
+ cmp r0, 0x4
+ bne _0808B98E
+ ldr r0, _0808BA48
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl JirachiWishGrantDialogue
+ movs r0, 0
+ add r1, sp, 0x48
+ mov r8, r1
+ add r7, sp, 0x74
+_0808B8EC:
+ adds r0, 0x1
+ mov r10, r0
+ mov r4, r8
+ movs r5, 0x3
+_0808B8F4:
+ movs r0, 0x8
+ bl sub_8084100
+ ldr r2, _0808BA4C
+ adds r0, r2
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8045C28
+ adds r4, 0x4
+ subs r5, 0x1
+ cmp r5, 0
+ bge _0808B8F4
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r1, [r6, 0x4]
+ adds r1, r0
+ subs r1, 0x1
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, _0808BA50
+ ldr r0, [sp, 0x74]
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x74]
+ movs r0, 0x3
+ bl sub_8084100
+ ldrh r2, [r6, 0x6]
+ adds r2, r0
+ subs r2, 0x1
+ lsls r2, 16
+ ldr r0, _0808BA54
+ ldr r1, [sp, 0x74]
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp, 0x74]
+ movs r2, 0
+ ldrsh r0, [r7, r2]
+ asrs r1, 16
+ bl sub_8049590
+ ldrh r1, [r0]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ beq _0808B970
+ movs r0, 0xC8
+ lsls r0, 1
+ bl sub_8083E38
+ adds r0, r7, 0
+ bl sub_808BB3C
+ adds r0, r6, 0
+ adds r1, r7, 0
+ mov r2, r8
+ movs r3, 0x4
+ bl sub_8046860
+_0808B970:
+ mov r0, r10
+ cmp r0, 0x4
+ ble _0808B8EC
+ ldr r0, [r6, 0x70]
+ ldr r2, _0808BA34
+ adds r1, r0, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r0, _0808BA58
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+_0808B98E:
+ mov r0, r9
+ cmp r0, 0x5
+ bne _0808B9F8
+ ldr r0, _0808BA5C
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ adds r0, r6, 0
+ bl JirachiWishGrantDialogue
+ ldr r0, [r6, 0x70]
+ ldr r2, _0808BA34
+ adds r1, r0, r2
+ movs r0, 0
+ strb r0, [r1]
+ ldr r0, _0808BA60
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ bl sub_8083600
+ adds r1, r0, 0
+ adds r1, 0x4
+ adds r0, r6, 0x4
+ bl sub_80983D8
+ adds r1, r0, 0
+ adds r0, r6, 0
+ bl sub_8085918
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808BA64
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808BA68
+ ldr r0, [r0]
+ ldr r1, _0808BA6C
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+_0808B9F8:
+ ldr r0, _0808BA70
+ bl sub_8052910
+ adds r0, r6, 0
+ bl sub_808BC20
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ ldr r0, _0808BA74
+ bl sub_8052910
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ bl sub_808BD38
+ add sp, 0x78
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0808BA30: .4byte gUnknown_8105AD4
+_0808BA34: .4byte 0x0000015d
+_0808BA38: .4byte gUnknown_8105B20
+_0808BA3C: .4byte gAvailablePokemonNames
+_0808BA40: .4byte gUnknown_202DE58
+_0808BA44: .4byte gUnknown_8105B68
+_0808BA48: .4byte gUnknown_8105BA8
+_0808BA4C: .4byte gUnknown_81074FC
+_0808BA50: .4byte 0xffff0000
+_0808BA54: .4byte 0x0000ffff
+_0808BA58: .4byte gUnknown_8105BF4
+_0808BA5C: .4byte gUnknown_8105D2C
+_0808BA60: .4byte gUnknown_8105D80
+_0808BA64: .4byte gUnknown_8105D9C
+_0808BA68: .4byte gUnknown_203B418
+_0808BA6C: .4byte 0x00000674
+_0808BA70: .4byte gUnknown_81058E0
+_0808BA74: .4byte gUnknown_810593C
+ thumb_func_end JirachiWish
+
+ thumb_func_start JirachiPreFightDialogue1
+JirachiPreFightDialogue1:
+ push {lr}
+ ldr r0, _0808BA94
+ bl HasRecruitedMon
+ lsls r0, 24
+ cmp r0, 0
+ beq _0808BA9C
+ bl sub_8086448
+ ldr r0, _0808BA98
+ bl sub_80866C4
+ b _0808BAA0
+ .align 2, 0
+_0808BA94: .4byte 0x0000019d
+_0808BA98: .4byte gUnknown_8105E14
+_0808BA9C:
+ bl JirachiPreFightDialogue
+_0808BAA0:
+ pop {r0}
+ bx r0
+ thumb_func_end JirachiPreFightDialogue1
+
+ thumb_func_start sub_808BAA4
+sub_808BAA4:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r0, _0808BB34
+ bl sub_8083E38
+ ldr r1, _0808BB38
+ movs r0, 0x1F
+ str r0, [r1]
+ movs r4, 0xFA
+ movs r5, 0x1
+_0808BAB8:
+ str r5, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8085C54
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0xA
+ cmp r4, 0x95
+ bgt _0808BAB8
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ movs r4, 0xFA
+ movs r5, 0x1
+_0808BADE:
+ str r5, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8085C54
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0xA
+ cmp r4, 0xC7
+ bgt _0808BADE
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ movs r4, 0xFA
+ movs r5, 0x1
+_0808BB04:
+ str r5, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8085C54
+ movs r0, 0x46
+ bl sub_803E46C
+ subs r4, 0xA
+ cmp r4, 0
+ bge _0808BB04
+ movs r0, 0xA
+ movs r1, 0x46
+ bl sub_803E708
+ bl sub_8085EB0
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0808BB34: .4byte 0x000002c1
+_0808BB38: .4byte gUnknown_202EDC8
+ thumb_func_end sub_808BAA4
+
+ thumb_func_start sub_808BB3C
+sub_808BB3C:
+ push {lr}
+ sub sp, 0x8
+ adds r3, r0, 0
+ movs r0, 0
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1
+ cmp r0, 0
+ bge _0808BB58
+ adds r0, 0xFF
+_0808BB58:
+ lsls r0, 8
+ lsrs r0, 16
+ ldr r1, _0808BBA0
+ ldr r2, [sp, 0x4]
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ movs r0, 0x2
+ ldrsh r1, [r3, r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 11
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r1
+ cmp r0, 0
+ bge _0808BB7C
+ adds r0, 0xFF
+_0808BB7C:
+ lsls r0, 8
+ lsrs r0, 16
+ lsls r0, 16
+ ldr r1, _0808BBA4
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x64
+ movs r1, 0
+ movs r2, 0
+ add r3, sp, 0x4
+ bl sub_8085EC8
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0808BBA0: .4byte 0xffff0000
+_0808BBA4: .4byte 0x0000ffff
+ thumb_func_end sub_808BB3C
+
+ .align 2,0