summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/easy_chat.s3953
-rw-r--r--asm/flying.s1698
-rw-r--r--asm/macros/battle_script.inc2
-rw-r--r--asm/macros/event.inc10
-rw-r--r--asm/rom_8011DC0.s52
-rw-r--r--asm/rom_81D1C44.s12
6 files changed, 38 insertions, 5689 deletions
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
deleted file mode 100644
index 50e707ac3..000000000
--- a/asm/easy_chat.s
+++ /dev/null
@@ -1,3953 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811DADC
-sub_811DADC: @ 811DADC
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- cmp r4, 0x16
- bls _0811DAFE
- b _0811DC1A
-_0811DAFE:
- lsls r0, r4, 2
- ldr r1, =_0811DB0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811DB0C:
- .4byte _0811DC1A
- .4byte _0811DB68
- .4byte _0811DB70
- .4byte _0811DB78
- .4byte _0811DB80
- .4byte _0811DB88
- .4byte _0811DB90
- .4byte _0811DC00
- .4byte _0811DBF2
- .4byte _0811DBE4
- .4byte _0811DBD6
- .4byte _0811DB9E
- .4byte _0811DBA6
- .4byte _0811DBAE
- .4byte _0811DBB6
- .4byte _0811DBBE
- .4byte _0811DBC6
- .4byte _0811DBCE
- .4byte _0811DBD6
- .4byte _0811DBE4
- .4byte _0811DBF2
- .4byte _0811DC00
- .4byte _0811DC0E
-_0811DB68:
- movs r0, 0xB
- movs r1, 0xE
- movs r2, 0x3
- b _0811DB96
-_0811DB70:
- movs r0, 0x9
- movs r1, 0xE
- movs r2, 0x7
- b _0811DB96
-_0811DB78:
- movs r0, 0x7
- movs r1, 0xE
- movs r2, 0xB
- b _0811DB96
-_0811DB80:
- movs r0, 0x5
- movs r1, 0xE
- movs r2, 0xF
- b _0811DB96
-_0811DB88:
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x13
- b _0811DB96
-_0811DB90:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
-_0811DB96:
- movs r3, 0x2
- bl sub_811DC28
- b _0811DC1A
-_0811DB9E:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x18
- b _0811DBDC
-_0811DBA6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x19
- b _0811DBDC
-_0811DBAE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1A
- b _0811DBDC
-_0811DBB6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1B
- b _0811DBDC
-_0811DBBE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- b _0811DBDC
-_0811DBC6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1D
- b _0811DBDC
-_0811DBCE:
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x1E
- b _0811DBDC
-_0811DBD6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x17
-_0811DBDC:
- movs r3, 0xA
- bl sub_811DC28
- b _0811DC1A
-_0811DBE4:
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0x17
- movs r3, 0x8
- bl sub_811DC28
- b _0811DC1A
-_0811DBF2:
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x17
- movs r3, 0x6
- bl sub_811DC28
- b _0811DC1A
-_0811DC00:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0x17
- movs r3, 0x4
- bl sub_811DC28
- b _0811DC1A
-_0811DC0E:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x2
- bl sub_811DC28
-_0811DC1A:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811DADC
-
- thumb_func_start sub_811DC28
-sub_811DC28: @ 811DC28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r0
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r6, r0, r1
- mov r0, r12
- add r0, r9
- subs r5, r0, 0x1
- adds r0, r7, r3
- subs r0, 0x1
- mov r8, r0
- mov r2, r12
- adds r3, r7, 0
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r4, =0x00004001
- adds r1, r4, 0
- strh r1, [r0]
- adds r2, 0x1
- cmp r2, r5
- bge _0811DC84
- ldr r0, =0x00004002
- adds r4, r0, 0
- lsls r1, r2, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r1, r0
- subs r2, r5, r2
-_0811DC78:
- strh r4, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DC78
- adds r2, r5, 0
-_0811DC84:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004003
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, 0x1
- mov r4, r12
- adds r4, 0x1
- adds r0, r7, 0x1
- str r0, [sp, 0x4]
- mov r1, r9
- subs r1, 0x2
- str r1, [sp]
- movs r2, 0x2
- negs r2, r2
- add r10, r2
- cmp r3, r8
- bge _0811DCF4
- lsls r7, r4, 1
- mov r9, r7
-_0811DCB0:
- lsls r0, r3, 5
- add r0, r12
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004005
- adds r1, r2, 0
- strh r1, [r0]
- adds r2, r4, 0
- adds r7, r3, 0x1
- cmp r4, r5
- bge _0811DCE0
- movs r0, 0x80
- lsls r0, 7
- adds r1, r0, 0
- lsls r0, r3, 6
- adds r0, r6
- add r0, r9
- subs r2, r5, r4
-_0811DCD4:
- strh r1, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DCD4
- adds r2, r5, 0
-_0811DCE0:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x00004007
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, r7, 0
- cmp r3, r8
- blt _0811DCB0
-_0811DCF4:
- lsls r0, r3, 5
- mov r7, r12
- adds r1, r0, r7
- lsls r1, 1
- adds r1, r6
- ldr r7, =0x00004009
- adds r2, r7, 0
- strh r2, [r1]
- adds r2, r4, 0
- mov r12, r0
- cmp r4, r5
- bge _0811DD26
- ldr r0, =0x0000400a
- adds r7, r0, 0
- lsls r1, r4, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r0, r1, r0
- subs r2, r5, r4
-_0811DD1A:
- strh r7, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _0811DD1A
- adds r2, r5, 0
-_0811DD26:
- mov r1, r12
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, =0x0000400b
- adds r1, r2, 0
- strh r1, [r0]
- lsls r0, r4, 27
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- lsls r1, r3, 27
- lsrs r1, 24
- ldr r4, [sp]
- lsls r2, r4, 27
- lsrs r2, 24
- mov r7, r10
- lsls r3, r7, 27
- lsrs r3, 24
- bl sub_811DE5C
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DC28
-
- thumb_func_start sub_811DD84
-sub_811DD84: @ 811DD84
- push {lr}
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DD84
-
- thumb_func_start sub_811DDAC
-sub_811DDAC: @ 811DDAC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x2
- bl GetBgY
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A11C
- ldr r3, [r0]
- ldr r0, =0x000002ce
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, r4
- strh r0, [r1]
- lsls r4, 20
- asrs r4, 16
- lsls r0, r4, 8
- adds r2, r0
- cmp r5, 0
- beq _0811DE00
- movs r1, 0xB4
- lsls r1, 2
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB5
- lsls r0, 2
- adds r1, r3, r0
- lsls r0, r5, 8
- str r0, [r1]
- cmp r4, 0
- bge _0811DE0A
- negs r0, r0
- str r0, [r1]
- b _0811DE0A
- .pool
-_0811DE00:
- movs r0, 0x2
- adds r1, r2, 0
- movs r2, 0
- bl ChangeBgY
-_0811DE0A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811DDAC
-
- thumb_func_start sub_811DE10
-sub_811DE10: @ 811DE10
- push {lr}
- movs r0, 0x2
- bl GetBgY
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r3, 0xB4
- lsls r3, 2
- adds r1, r2, r3
- ldr r1, [r1]
- cmp r0, r1
- beq _0811DE40
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- b _0811DE42
- .pool
-_0811DE40:
- movs r0, 0
-_0811DE42:
- pop {r1}
- bx r1
- thumb_func_end sub_811DE10
-
- thumb_func_start sub_811DE48
-sub_811DE48: @ 811DE48
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- ldr r1, =0x000002ce
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_811DE48
-
- thumb_func_start sub_811DE5C
-sub_811DE5C: @ 811DE5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, r0, 8
- adds r0, r2
- orrs r4, r0
- lsls r5, r1, 8
- adds r1, r3
- orrs r5, r1
- movs r0, 0x40
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_811DE5C
-
- thumb_func_start sub_811DE90
-sub_811DE90: @ 811DE90
- push {r4,r5,lr}
- ldr r0, =gUnknown_08597CA0
- bl LoadSpriteSheets
- ldr r0, =gUnknown_08597CC0
- bl LoadSpritePalettes
- movs r5, 0
- ldr r4, =gUnknown_08597CE8
-_0811DEA2:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bls _0811DEA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DE90
-
- thumb_func_start sub_811DEC4
-sub_811DEC4: @ 811DEC4
- push {lr}
- bl sub_811BA68
- lsls r0, 24
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- lsls r1, r2, 27
- lsrs r1, 8
- lsrs r2, 5
- lsls r2, 19
- ldr r0, =gUnknown_08597D18
- movs r3, 0xD0
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r1, 0xB6
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DEC4
-
- thumb_func_start sub_811DF28
-sub_811DF28: @ 811DF28
- push {lr}
- adds r1, r0, 0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0811DF56
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0811DF56
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _0811DF56
- ldr r0, =0x0000fffa
- strh r0, [r1, 0x24]
-_0811DF56:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DF28
-
- thumb_func_start sub_811DF60
-sub_811DF60: @ 811DF60
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0203A11C
- ldr r2, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r2, r3
- ldr r3, [r2]
- movs r4, 0
- strh r0, [r3, 0x20]
- ldr r0, [r2]
- strh r1, [r0, 0x22]
- ldr r0, [r2]
- strh r4, [r0, 0x24]
- ldr r0, [r2]
- strh r4, [r0, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DF60
-
- thumb_func_start sub_811DF90
-sub_811DF90: @ 811DF90
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- movs r0, 0xB6
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0, 0x2E]
- ldr r0, [r1]
- strh r2, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- bx lr
- .pool
- thumb_func_end sub_811DF90
-
- thumb_func_start sub_811DFB0
-sub_811DFB0: @ 811DFB0
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xB6
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- bx lr
- .pool
- thumb_func_end sub_811DFB0
-
- thumb_func_start sub_811DFC8
-sub_811DFC8: @ 811DFC8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r6, =gUnknown_08597D68
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203A11C
- ldr r2, [r5]
- movs r1, 0xB7
- lsls r1, 2
- mov r8, r1
- add r2, r8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2]
- movs r0, 0x20
- strh r0, [r1, 0x24]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xB8
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- ldr r0, =0x0000ffe0
- strh r0, [r1, 0x24]
- add r2, r8
- ldr r1, [r2]
- adds r1, 0x3F
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- bl sub_811E088
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811DFC8
-
- thumb_func_start sub_811E050
-sub_811E050: @ 811E050
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r4, r0, r4
- movs r6, 0
- str r6, [r4]
- movs r4, 0xB8
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r0, r4
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E050
-
- thumb_func_start sub_811E088
-sub_811E088: @ 811E088
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- movs r2, 0xB7
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E0E4
- adds r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E0E4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_811BB9C
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E0D4
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_811E0EC
- b _0811E0E4
- .pool
-_0811E0D4:
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_811E1A4
-_0811E0E4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E088
-
- thumb_func_start sub_811E0EC
-sub_811E0EC: @ 811E0EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _0811E150
- ldr r0, =gUnknown_0203A11C
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r2, [r4]
- movs r0, 0x54
- muls r5, r0
- adds r5, 0x3A
- strh r5, [r2, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x60
- strh r4, [r0, 0x22]
- movs r6, 0xB8
- lsls r6, 2
- adds r1, r6
- ldr r0, [r1]
- movs r1, 0
- bl StartSpriteAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldr r1, [r0]
- strh r5, [r1, 0x20]
- b _0811E192
- .pool
-_0811E150:
- ldr r6, =gUnknown_0203A11C
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
-_0811E192:
- ldr r0, [r0]
- strh r4, [r0, 0x22]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E0EC
-
- thumb_func_start sub_811E1A4
-sub_811E1A4: @ 811E1A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsrs r4, r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0811E234
- lsls r0, r5, 24
- asrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, 0x60
- mov r8, r0
- movs r7, 0x20
- cmp r2, 0x6
- bne _0811E1D6
- cmp r1, 0
- bne _0811E1D6
- movs r7, 0x9E
- movs r6, 0x2
- b _0811E1EC
-_0811E1D6:
- ldr r3, =gUnknown_08597D08
- lsls r1, r4, 24
- lsrs r0, r1, 24
- movs r2, 0
- cmp r0, 0x6
- bhi _0811E1E4
- asrs r2, r1, 24
-_0811E1E4:
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r7, r0
- movs r6, 0x3
-_0811E1EC:
- ldr r5, =gUnknown_0203A11C
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- strh r7, [r0, 0x20]
- ldr r0, [r4]
- mov r2, r8
- strh r2, [r0, 0x22]
- movs r4, 0xB8
- lsls r4, 2
- adds r1, r4
- ldr r0, [r1]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- strh r7, [r1, 0x20]
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x22]
- b _0811E27A
- .pool
-_0811E234:
- ldr r6, =gUnknown_0203A11C
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r5, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
- ldr r0, [r0]
- strh r4, [r0, 0x22]
-_0811E27A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E1A4
-
- thumb_func_start sub_811E288
-sub_811E288: @ 811E288
- push {lr}
- ldr r0, =gUnknown_08597D18
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203A11C
- ldr r2, [r1]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2]
- ldr r0, =sub_811E2DC
- str r0, [r1, 0x1C]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- bl sub_811E30C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E288
-
- thumb_func_start sub_811E2DC
-sub_811E2DC: @ 811E2DC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0811E302
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _0811E302
- ldr r0, =0x0000fffa
- strh r0, [r1, 0x24]
-_0811E302:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E2DC
-
- thumb_func_start sub_811E30C
-sub_811E30C: @ 811E30C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_811BBC8
- mov r0, sp
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD
- muls r0, r1
- lsls r0, 27
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 28
- movs r2, 0xE0
- lsls r2, 21
- adds r0, r2
- lsrs r0, 24
- movs r2, 0xC0
- lsls r2, 23
- adds r1, r2
- lsrs r1, 24
- bl sub_811E34C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_811E30C
-
- thumb_func_start sub_811E34C
-sub_811E34C: @ 811E34C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- beq _0811E376
- movs r1, 0
- strh r3, [r0, 0x20]
- ldr r0, [r2]
- strh r4, [r0, 0x22]
- ldr r0, [r2]
- strh r1, [r0, 0x24]
- ldr r0, [r2]
- strh r1, [r0, 0x2E]
-_0811E376:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E34C
-
- thumb_func_start sub_811E380
-sub_811E380: @ 811E380
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0811E3A2
- bl DestroySprite
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_0811E3A2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E380
-
- thumb_func_start sub_811E3AC
-sub_811E3AC: @ 811E3AC
- push {r4-r6,lr}
- ldr r0, =gUnknown_08597DF0
- movs r1, 0xD0
- movs r2, 0x80
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0203A11C
- ldr r2, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, =gSprites
- adds r1, r4
- str r1, [r2]
- movs r6, 0
- ldr r0, =0x0000ffc0
- strh r0, [r1, 0x24]
- ldr r0, =gUnknown_08597DD0
- movs r1, 0xD0
- movs r2, 0x50
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xBB
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- strb r6, [r2, 0x9]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E3AC
-
- thumb_func_start sub_811E418
-sub_811E418: @ 811E418
- push {r4,lr}
- ldr r4, =gUnknown_0203A11C
- ldr r2, [r4]
- ldrb r3, [r2, 0x9]
- cmp r3, 0
- beq _0811E430
- cmp r3, 0x1
- beq _0811E488
- movs r0, 0
- b _0811E4A6
- .pool
-_0811E430:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- adds r0, 0x8
- strh r0, [r1, 0x24]
- ldr r2, [r2]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- blt _0811E4A4
- strh r3, [r2, 0x24]
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E466
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0811E476
-_0811E466:
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E476:
- ldr r0, =gUnknown_0203A11C
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- b _0811E4A4
- .pool
-_0811E488:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0811E4A4
- movs r0, 0x2
- strb r0, [r2, 0x9]
- movs r0, 0
- b _0811E4A6
-_0811E4A4:
- movs r0, 0x1
-_0811E4A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811E418
-
- thumb_func_start sub_811E4AC
-sub_811E4AC: @ 811E4AC
- push {lr}
- ldr r2, =gUnknown_0203A11C
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x9]
- ldr r0, [r2]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E4AC
-
- thumb_func_start sub_811E4D0
-sub_811E4D0: @ 811E4D0
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203A11C
- ldr r3, [r5]
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _0811E4E8
- cmp r0, 0x1
- beq _0811E502
- movs r0, 0
- b _0811E554
- .pool
-_0811E4E8:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r3, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0811E552
- movs r0, 0x1
- strb r0, [r3, 0x9]
- b _0811E552
-_0811E502:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r3, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- subs r0, 0x8
- movs r6, 0
- strh r0, [r1, 0x24]
- ldr r0, [r2]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bgt _0811E552
- movs r4, 0xBB
- lsls r4, 2
- adds r0, r3, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- ldr r1, [r5]
- adds r4, r1, r4
- str r6, [r4]
- movs r2, 0xBA
- lsls r2, 2
- adds r0, r1, r2
- str r6, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0
- b _0811E554
-_0811E552:
- movs r0, 0x1
-_0811E554:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_811E4D0
-
- thumb_func_start sub_811E55C
-sub_811E55C: @ 811E55C
- push {lr}
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E55C
-
- thumb_func_start sub_811E578
-sub_811E578: @ 811E578
- push {lr}
- bl sub_811BBB0
- lsls r0, 24
- cmp r0, 0
- bne _0811E59C
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0811E5AE
- .pool
-_0811E59C:
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E5AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E578
-
- thumb_func_start sub_811E5B8
-sub_811E5B8: @ 811E5B8
- ldr r0, =gUnknown_0203A11C
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsrs r1, 4
- movs r0, 0x1
- bics r0, r1
- bx lr
- .pool
- thumb_func_end sub_811E5B8
-
- thumb_func_start sub_811E5D4
-sub_811E5D4: @ 811E5D4
- push {r4,lr}
- ldr r4, =gUnknown_08597E48
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E602
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBC
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
-_0811E602:
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E636
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBD
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0811E636:
- bl sub_811E6B0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E5D4
-
- thumb_func_start sub_811E64C
-sub_811E64C: @ 811E64C
- push {r4-r6,lr}
- bl sub_811BBF8
- ldr r6, =gUnknown_0203A11C
- ldr r1, [r6]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E666
- movs r2, 0x1
-_0811E666:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_811BC2C
- ldr r1, [r6]
- movs r2, 0xBD
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E692
- movs r2, 0x1
-_0811E692:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E64C
-
- thumb_func_start sub_811E6B0
-sub_811E6B0: @ 811E6B0
- ldr r3, =gUnknown_0203A11C
- ldr r0, [r3]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBD
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811E6B0
-
- thumb_func_start sub_811E6E0
-sub_811E6E0: @ 811E6E0
- push {lr}
- cmp r0, 0
- bne _0811E6FC
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x60
- b _0811E70A
- .pool
-_0811E6FC:
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x78
-_0811E70A:
- strh r1, [r0, 0x20]
- movs r3, 0xBD
- lsls r3, 2
- adds r0, r2, r3
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E6E0
-
- thumb_func_start sub_811E720
-sub_811E720: @ 811E720
- push {r4,lr}
- ldr r4, =gUnknown_08597E30
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E74E
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBE
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
-_0811E74E:
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x9C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0811E77E
- ldr r0, =gUnknown_0203A11C
- ldr r2, [r0]
- movs r0, 0xBF
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- movs r1, 0x1
- bl StartSpriteAnim
-_0811E77E:
- bl sub_811E7F8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E720
-
- thumb_func_start sub_811E794
-sub_811E794: @ 811E794
- push {r4-r6,lr}
- bl sub_811BBF8
- ldr r6, =gUnknown_0203A11C
- ldr r1, [r6]
- movs r2, 0xBE
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E7AE
- movs r2, 0x1
-_0811E7AE:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_811BC2C
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _0811E7DA
- movs r2, 0x1
-_0811E7DA:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E794
-
- thumb_func_start sub_811E7F8
-sub_811E7F8: @ 811E7F8
- ldr r3, =gUnknown_0203A11C
- ldr r0, [r3]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBF
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811E7F8
-
- thumb_func_start sub_811E828
-sub_811E828: @ 811E828
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_811BCBC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0811E84C
- cmp r0, 0x1
- bgt _0811E842
- cmp r0, 0
- beq _0811E848
- b _0811E8D0
-_0811E842:
- cmp r0, 0x2
- beq _0811E850
- b _0811E8D0
-_0811E848:
- movs r4, 0x43
- b _0811E852
-_0811E84C:
- movs r4, 0x44
- b _0811E852
-_0811E850:
- movs r4, 0x7
-_0811E852:
- bl sub_811BA68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0811E8D0
- adds r0, r4, 0
- ldr r5, =SpriteCallbackDummy
- movs r4, 0
- str r4, [sp]
- adds r1, r5, 0
- movs r2, 0x4C
- movs r3, 0x28
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0811E892
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x2
- bl StartSpriteAnim
-_0811E892:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0x69
- cmp r0, 0
- bne _0811E8A0
- movs r1, 0x64
-_0811E8A0:
- str r4, [sp]
- adds r0, r1, 0
- adds r1, r5, 0
- movs r2, 0x34
- movs r3, 0x28
- bl AddPseudoEventObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0811E8D0
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x3
- bl StartSpriteAnim
-_0811E8D0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E828
-
- thumb_func_start sub_811E8E4
-sub_811E8E4: @ 811E8E4
- push {lr}
- bl sub_811BA68
- lsls r0, 24
- ldr r1, =gUnknown_08597C30
- lsrs r0, 22
- adds r0, r1
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _0811E90E
- cmp r0, 0x1
- bgt _0811E908
- cmp r0, 0
- beq _0811E916
- b _0811E91A
- .pool
-_0811E908:
- cmp r0, 0x2
- beq _0811E912
- b _0811E91A
-_0811E90E:
- movs r0, 0x1
- b _0811E91C
-_0811E912:
- movs r0, 0x2
- b _0811E91C
-_0811E916:
- movs r0, 0
- b _0811E91C
-_0811E91A:
- movs r0, 0x3
-_0811E91C:
- pop {r1}
- bx r1
- thumb_func_end sub_811E8E4
-
- thumb_func_start sub_811E920
-sub_811E920: @ 811E920
- push {r4,lr}
- adds r4, r0, 0
- bl sub_811E8E4
- adds r1, r0, 0
- cmp r1, 0x2
- ble _0811E932
- movs r0, 0
- b _0811E93E
-_0811E932:
- ldr r0, =gUnknown_08597E60
- lsls r1, 2
- adds r1, r4, r1
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x4
-_0811E93E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811E920
-
- thumb_func_start sub_811E948
-sub_811E948: @ 811E948
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- bl sub_811E8E4
- mov r8, r0
- cmp r0, 0x3
- beq _0811E9FA
- ldr r3, =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r3
- movs r1, 0x3
- orrs r0, r1
- ldr r2, =0xffff00ff
- ands r0, r2
- adds r1, 0xFD
- orrs r0, r1
- ldr r1, =0xff00ffff
- ands r0, r1
- movs r1, 0xB0
- lsls r1, 12
- orrs r0, r1
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 21
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r3
- movs r1, 0x2
- orrs r0, r1
- ands r0, r2
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- bl AddWindow
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r4, r7, 24
- lsrs r0, r4, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r6, 0
- mov r0, r8
- lsls r1, r0, 4
- ldr r0, =gUnknown_08597E6C
- adds r5, r1, r0
- ldr r1, =gUnknown_08597E60
- mov r10, r1
- mov r9, r4
-_0811E9C6:
- ldr r2, [r5]
- lsls r4, r7, 24
- cmp r2, 0
- beq _0811E9EC
- mov r1, r8
- lsls r0, r1, 2
- adds r0, r6, r0
- add r0, r10
- ldrb r3, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r1, r9
- lsrs r0, r1, 24
- movs r1, 0x1
- bl sub_811D028
-_0811E9EC:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x3
- ble _0811E9C6
- lsrs r0, r4, 24
- bl PutWindowTilemap
-_0811E9FA:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811E948
-
- thumb_func_start sub_811EA28
-sub_811EA28: @ 811EA28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x14
- beq _0811EA4E
- cmp r0, 0x14
- bgt _0811EA48
- cmp r0, 0x11
- blt _0811EA66
- ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
- bl FlagGet
- b _0811EA60
- .pool
-_0811EA48:
- cmp r1, 0x15
- beq _0811EA5C
- b _0811EA66
-_0811EA4E:
- ldr r0, =0x00000866
- bl FlagGet
- b _0811EA60
- .pool
-_0811EA5C:
- bl sub_811F0F8
-_0811EA60:
- lsls r0, 24
- lsrs r0, 24
- b _0811EA68
-_0811EA66:
- movs r0, 0x1
-_0811EA68:
- pop {r1}
- bx r1
- thumb_func_end sub_811EA28
-
- thumb_func_start EasyChat_GetNumWordsInGroup
-EasyChat_GetNumWordsInGroup: @ 811EA6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0
- bne _0811EA84
- movs r0, 0
- bl GetNationalPokedexCount
- lsls r0, 16
- lsrs r0, 16
- b _0811EA9A
-_0811EA84:
- bl sub_811EA28
- lsls r0, 24
- cmp r0, 0
- bne _0811EA92
- movs r0, 0
- b _0811EA9A
-_0811EA92:
- ldr r0, =gEasyChatGroups
- lsls r1, r4, 3
- adds r1, r0
- ldrh r0, [r1, 0x6]
-_0811EA9A:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end EasyChat_GetNumWordsInGroup
-
- thumb_func_start sub_811EAA4
-sub_811EAA4: @ 811EAA4
- push {r4,r5,lr}
- lsls r2, r0, 16
- lsrs r1, r2, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0811EB04
- lsrs r3, r2, 25
- ldr r5, =0x000001ff
- ands r5, r1
- cmp r3, 0x15
- bhi _0811EB08
- ldr r0, =gEasyChatGroups
- lsls r2, r3, 3
- adds r1, r2, r0
- ldrh r4, [r1, 0x4]
- cmp r3, 0x13
- bgt _0811EADC
- cmp r3, 0x12
- bge _0811EAE0
- cmp r3, 0
- beq _0811EAE0
- b _0811EB00
- .pool
-_0811EADC:
- cmp r3, 0x15
- bne _0811EB00
-_0811EAE0:
- adds r0, r2, r0
- ldr r2, [r0]
- movs r1, 0
- cmp r1, r4
- bcs _0811EB08
-_0811EAEA:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- beq _0811EB04
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bcc _0811EAEA
- b _0811EB08
-_0811EB00:
- cmp r5, r4
- bcs _0811EB08
-_0811EB04:
- movs r0, 0
- b _0811EB0A
-_0811EB08:
- movs r0, 0x1
-_0811EB0A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811EAA4
-
- thumb_func_start ECWord_CheckIfOutsideOfValidRange
-ECWord_CheckIfOutsideOfValidRange: @ 811EB10
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 25
- lsls r0, 7
- lsrs r3, r0, 23
- cmp r2, 0x15
- bhi _0811EB5C
- cmp r2, 0x13
- bgt _0811EB2C
- cmp r2, 0x12
- bge _0811EB3C
- cmp r2, 0
- beq _0811EB30
- b _0811EB48
-_0811EB2C:
- cmp r2, 0x15
- bne _0811EB48
-_0811EB30:
- ldr r0, =gUnknown_085F5490
- ldrh r0, [r0]
- b _0811EB50
- .pool
-_0811EB3C:
- ldr r0, =gUnknown_085FA1D4
- ldrh r0, [r0]
- b _0811EB50
- .pool
-_0811EB48:
- ldr r1, =gEasyChatGroups
- lsls r0, r2, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
-_0811EB50:
- cmp r0, r3
- bls _0811EB5C
- movs r0, 0
- b _0811EB5E
- .pool
-_0811EB5C:
- movs r0, 0x1
-_0811EB5E:
- pop {r1}
- bx r1
- thumb_func_end ECWord_CheckIfOutsideOfValidRange
-
- thumb_func_start GetEasyChatWord
-@ char *GetEasyChatWord(u8 groupId, u16 wordId)
-GetEasyChatWord: @ 811EB64
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r0, 0x13
- bgt _0811EB7C
- cmp r0, 0x12
- bge _0811EB90
- cmp r0, 0
- beq _0811EB80
- b _0811EBA0
-_0811EB7C:
- cmp r0, 0x15
- bne _0811EBA0
-_0811EB80:
- movs r0, 0xB
- muls r0, r2
- ldr r1, =gSpeciesNames
- adds r0, r1
- b _0811EBB2
- .pool
-_0811EB90:
- movs r0, 0xD
- muls r0, r2
- ldr r1, =gMoveNames
- adds r0, r1
- b _0811EBB2
- .pool
-_0811EBA0:
- ldr r1, =gEasyChatGroups
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
-_0811EBB2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetEasyChatWord
-
- thumb_func_start CopyEasyChatWord
-@ char *CopyEasyChatWord(char *dest, u16 groupIdWordIdPair)
-CopyEasyChatWord: @ 811EBBC
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r0, r6, 16
- adds r4, r0, 0
- bl sub_811EAA4
- lsls r0, 24
- cmp r0, 0
- beq _0811EBD8
- ldr r1, =gText_ThreeQuestionMarks
- b _0811EBEA
- .pool
-_0811EBD8:
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _0811EBFC
- ldr r1, =0x000001ff
- ands r1, r4
- lsrs r0, r6, 25
- bl GetEasyChatWord
- adds r1, r0, 0
-_0811EBEA:
- adds r0, r5, 0
- bl StringCopy
- b _0811EC02
- .pool
-_0811EBFC:
- movs r0, 0xFF
- strb r0, [r5]
- adds r0, r5, 0
-_0811EC02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CopyEasyChatWord
-
- thumb_func_start ConvertEasyChatWordsToString
-ConvertEasyChatWordsToString: @ 811EC08
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- ldr r0, =0xffff0000
- adds r2, r0
- lsrs r7, r2, 16
- movs r0, 0
- cmp r0, r9
- bcs _0811EC78
-_0811EC2A:
- movs r6, 0
- adds r0, 0x1
- mov r8, r0
- cmp r6, r7
- bcs _0811EC5C
- ldr r2, =0x0000ffff
-_0811EC36:
- ldrh r1, [r5]
- adds r0, r4, 0
- str r2, [sp]
- bl CopyEasyChatWord
- adds r4, r0, 0
- ldrh r0, [r5]
- ldr r2, [sp]
- cmp r0, r2
- beq _0811EC50
- movs r0, 0
- strb r0, [r4]
- adds r4, 0x1
-_0811EC50:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _0811EC36
-_0811EC5C:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r4, 0
- bl CopyEasyChatWord
- adds r4, r0, 0
- movs r0, 0xFE
- strb r0, [r4]
- adds r4, 0x1
- mov r1, r8
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r9
- bcc _0811EC2A
-_0811EC78:
- subs r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ConvertEasyChatWordsToString
-
- thumb_func_start sub_811EC98
-sub_811EC98: @ 811EC98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp]
- mov r7, r8
- movs r0, 0
- str r0, [sp, 0x4]
- subs r0, r7, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r0, 0
- cmp r0, r3
- bcs _0811ED62
-_0811ECC8:
- adds r3, r5, 0
- movs r2, 0
- movs r1, 0
- adds r0, 0x1
- mov r10, r0
- cmp r2, r7
- bcs _0811ECEE
- ldr r6, =0x0000ffff
-_0811ECD8:
- lsls r0, r1, 1
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r6
- beq _0811ECE4
- movs r2, 0x1
-_0811ECE4:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _0811ECD8
-_0811ECEE:
- cmp r2, 0
- bne _0811ECFC
- lsls r0, r7, 1
- adds r5, r0
- b _0811ED56
- .pool
-_0811ECFC:
- movs r6, 0
- ldr r1, [sp, 0x4]
- adds r1, 0x1
- mov r9, r1
- cmp r6, r8
- bcs _0811ED30
- ldr r2, =0x0000ffff
-_0811ED0A:
- ldrh r1, [r5]
- adds r0, r4, 0
- str r2, [sp, 0x8]
- bl CopyEasyChatWord
- adds r4, r0, 0
- ldrh r0, [r5]
- ldr r2, [sp, 0x8]
- cmp r0, r2
- beq _0811ED24
- movs r0, 0
- strb r0, [r4]
- adds r4, 0x1
-_0811ED24:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r8
- bcc _0811ED0A
-_0811ED30:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r4, 0
- bl CopyEasyChatWord
- adds r4, r0, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0811ED4C
- movs r0, 0xFE
- b _0811ED4E
- .pool
-_0811ED4C:
- movs r0, 0xFA
-_0811ED4E:
- strb r0, [r4]
- adds r4, 0x1
- mov r1, r9
- str r1, [sp, 0x4]
-_0811ED56:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r0, 16
- ldr r1, [sp]
- cmp r0, r1
- bcc _0811ECC8
-_0811ED62:
- subs r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811EC98
-
- thumb_func_start sub_811ED7C
-sub_811ED7C: @ 811ED7C
- push {r4,r5,lr}
- lsls r5, r0, 16
- lsrs r0, r5, 16
- adds r4, r0, 0
- ldr r0, =0x0000ffff
- cmp r4, r0
- bne _0811ED94
- movs r0, 0
- b _0811EDBA
- .pool
-_0811ED94:
- adds r0, r4, 0
- bl sub_811EAA4
- lsls r0, 24
- cmp r0, 0
- bne _0811EDB0
- ldr r1, =0x000001ff
- ands r1, r4
- lsrs r0, r5, 25
- bl GetEasyChatWord
- b _0811EDB2
- .pool
-_0811EDB0:
- ldr r0, =gText_ThreeQuestionMarks
-_0811EDB2:
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
-_0811EDBA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811ED7C
-
- thumb_func_start sub_811EDC4
-sub_811EDC4: @ 811EDC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- movs r7, 0
- cmp r7, r8
- bcs _0811EE26
- subs r0, r1, 0x1
- lsls r0, 16
- mov r9, r0
-_0811EDEE:
- mov r0, r9
- lsrs r4, r0, 16
- movs r5, 0
- cmp r5, r1
- bcs _0811EE14
-_0811EDF8:
- ldrh r0, [r6]
- adds r6, 0x2
- str r1, [sp]
- bl sub_811ED7C
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, [sp]
- cmp r5, r1
- bcc _0811EDF8
-_0811EE14:
- cmp r4, r10
- bls _0811EE1C
- movs r0, 0x1
- b _0811EE28
-_0811EE1C:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, r8
- bcc _0811EDEE
-_0811EE26:
- movs r0, 0
-_0811EE28:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811EDC4
-
- thumb_func_start sub_811EE38
-sub_811EE38: @ 811EE38
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random
- ldr r2, =gEasyChatGroups
- lsls r1, r4, 3
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x4]
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r4, 0
- beq _0811EE66
- cmp r4, 0x15
- beq _0811EE66
- cmp r4, 0x12
- beq _0811EE66
- cmp r4, 0x13
- bne _0811EE74
-_0811EE66:
- ldr r1, =gEasyChatGroups
- lsls r0, r4, 3
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r2, [r0]
-_0811EE74:
- movs r0, 0x7F
- ands r0, r4
- lsls r0, 9
- ldr r1, =0x000001ff
- ands r2, r1
- orrs r0, r2
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811EE38
-
- thumb_func_start sub_811EE90
-sub_811EE90: @ 811EE90
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0, 0
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_811EA28
- lsls r0, 24
- cmp r0, 0
- bne _0811EEB0
- ldr r0, =0x0000ffff
- b _0811EEC4
- .pool
-_0811EEB0:
- cmp r4, 0
- beq _0811EEBC
- adds r0, r4, 0
- bl sub_811EE38
- b _0811EEC0
-_0811EEBC:
- bl sub_811F108
-_0811EEC0:
- lsls r0, 16
- lsrs r0, 16
-_0811EEC4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811EE90
-
- thumb_func_start sub_811EECC
-sub_811EECC: @ 811EECC
- push {r4,r5,lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0811EF04
- cmp r0, 0x1
- bgt _0811EEE4
- cmp r0, 0
- beq _0811EEEE
- b _0811EF58
- .pool
-_0811EEE4:
- cmp r0, 0x2
- beq _0811EF2C
- cmp r0, 0x3
- beq _0811EF3C
- b _0811EF58
-_0811EEEE:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002bb0
- adds r5, r0, r1
- movs r2, 0x2
- b _0811EF46
- .pool
-_0811EF04:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002bbc
- adds r5, r0, r1
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x12
- bl sub_811EDC4
- lsls r0, 24
- cmp r0, 0
- beq _0811EF44
- movs r2, 0x2
- movs r3, 0x3
- b _0811EF48
- .pool
-_0811EF2C:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002bc8
- b _0811EF42
- .pool
-_0811EF3C:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002bd4
-_0811EF42:
- adds r5, r0, r1
-_0811EF44:
- movs r2, 0x3
-_0811EF46:
- movs r3, 0x2
-_0811EF48:
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r5, 0
- bl ConvertEasyChatWordsToString
- adds r0, r4, 0
- bl ShowFieldAutoScrollMessage
-_0811EF58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811EECC
-
- thumb_func_start sub_811EF6C
-sub_811EF6C: @ 811EF6C
- push {lr}
- bl Random
- movs r1, 0x1
- ands r1, r0
- movs r0, 0xC
- cmp r1, 0
- beq _0811EF7E
- movs r0, 0xD
-_0811EF7E:
- bl sub_811EE90
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gStringVar2
- bl CopyEasyChatWord
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811EF6C
-
- thumb_func_start sub_811EF98
-sub_811EF98: @ 811EF98
- lsls r0, 24
- lsrs r2, r0, 27
- movs r1, 0xE0
- lsls r1, 19
- ands r1, r0
- lsrs r1, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002e20
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_811EF98
-
- thumb_func_start sub_811EFC0
-sub_811EFC0: @ 811EFC0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x20
- bhi _0811EFE4
- lsrs r3, r0, 27
- movs r2, 0x7
- ands r2, r1
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e20
- adds r1, r0
- adds r1, r3
- movs r0, 0x1
- lsls r0, r2
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
-_0811EFE4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811EFC0
-
- thumb_func_start sub_811EFF0
-sub_811EFF0: @ 811EFF0
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_0811EFF6:
- adds r0, r4, 0
- bl sub_811EF98
- lsls r0, 24
- cmp r0, 0
- beq _0811F008
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0811F008:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x20
- bls _0811EFF6
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811EFF0
-
- thumb_func_start sub_811F01C
-sub_811F01C: @ 811F01C
- push {r4-r6,lr}
- bl sub_811EFF0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x21
- bne _0811F048
- b _0811F082
-_0811F02C:
- adds r0, r5, 0
- bl sub_811EFC0
- ldr r0, =0x000001ff
- ands r4, r0
- movs r1, 0xA0
- lsls r1, 6
- adds r0, r1, 0
- orrs r4, r0
- adds r0, r4, 0
- b _0811F084
- .pool
-_0811F048:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x21
- subs r1, r4
- bl __modsi3
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
-_0811F05E:
- lsls r0, r4, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_811EF98
- lsls r0, 24
- cmp r0, 0
- bne _0811F078
- cmp r6, 0
- beq _0811F02C
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_0811F078:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x20
- bls _0811F05E
-_0811F082:
- ldr r0, =0x0000ffff
-_0811F084:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F01C
-
- thumb_func_start sub_811F090
-sub_811F090: @ 811F090
- push {r4,r5,lr}
- bl sub_811EFF0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0811F0B4
- b _0811F0EA
-_0811F0A0:
- ldr r0, =0x000001ff
- ands r4, r0
- movs r1, 0xA0
- lsls r1, 6
- adds r0, r1, 0
- orrs r4, r0
- adds r0, r4, 0
- b _0811F0EC
- .pool
-_0811F0B4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
-_0811F0C8:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_811EF98
- lsls r0, 24
- cmp r0, 0
- beq _0811F0E0
- cmp r5, 0
- beq _0811F0A0
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0811F0E0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x20
- bls _0811F0C8
-_0811F0EA:
- ldr r0, =0x0000ffff
-_0811F0EC:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F090
-
- thumb_func_start sub_811F0F8
-sub_811F0F8: @ 811F0F8
- push {lr}
- bl IsNationalPokedexEnabled
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_811F0F8
-
- thumb_func_start sub_811F108
-sub_811F108: @ 811F108
- push {r4-r7,lr}
- movs r0, 0
- bl EasyChat_GetNumWordsInGroup
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _0811F128
- b _0811F172
-_0811F11A:
- ldrh r1, [r5]
- ldr r0, =0x000001ff
- ands r0, r1
- b _0811F174
- .pool
-_0811F128:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gEasyChatGroups
- ldr r5, [r0]
- ldrh r7, [r0, 0x4]
- movs r6, 0
- cmp r6, r7
- bcs _0811F172
-_0811F146:
- ldrh r0, [r5]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _0811F166
- cmp r4, 0
- beq _0811F11A
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0811F166:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _0811F146
-_0811F172:
- ldr r0, =0x0000ffff
-_0811F174:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F108
-
- thumb_func_start InitEasyChatPhrases
-InitEasyChatPhrases: @ 811F184
- push {r4-r7,lr}
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x00002bb0
- ldr r3, =gUnknown_0859E62C
-_0811F18E:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _0811F18E
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x00002bbc
- ldr r3, =gUnknown_0859E634
-_0811F1AE:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0811F1AE
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x00002bc8
- ldr r3, =gUnknown_0859E640
-_0811F1CE:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0811F1CE
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x00002bd4
- ldr r3, =gUnknown_0859E64C
-_0811F1EE:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0811F1EE
- movs r2, 0
- ldr r7, =gSaveBlock1Ptr
- ldr r6, =0x00002be0
- ldr r0, =0x0000ffff
- adds r5, r0, 0
-_0811F210:
- movs r3, 0
- lsls r0, r2, 3
- adds r0, r2
- lsls r4, r0, 2
-_0811F218:
- ldr r1, [r7]
- lsls r0, r3, 1
- adds r0, r4
- adds r1, r6
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r5
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _0811F218
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0811F210
- movs r2, 0
- ldr r4, =gSaveBlock1Ptr
- ldr r3, =0x00002e20
- movs r1, 0
-_0811F244:
- ldr r0, [r4]
- adds r0, r3
- adds r0, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3F
- bls _0811F244
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitEasyChatPhrases
-
- thumb_func_start sub_811F28C
-sub_811F28C: @ 811F28C
- push {r4,lr}
- ldr r4, =gUnknown_0203A120
- ldr r0, =0x00003ba4
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- beq _0811F2B0
- bl sub_811F2D4
- bl sub_811F46C
- movs r0, 0x1
- b _0811F2B2
- .pool
-_0811F2B0:
- movs r0, 0
-_0811F2B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811F28C
-
- thumb_func_start sub_811F2B8
-sub_811F2B8: @ 811F2B8
- push {r4,lr}
- ldr r4, =gUnknown_0203A120
- ldr r0, [r4]
- cmp r0, 0
- beq _0811F2CA
- bl Free
- movs r0, 0
- str r0, [r4]
-_0811F2CA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F2B8
-
- thumb_func_start sub_811F2D4
-sub_811F2D4: @ 811F2D4
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203A120
- ldr r0, [r4]
- movs r5, 0
- strh r5, [r0]
- movs r0, 0
- bl GetNationalPokedexCount
- lsls r0, 16
- cmp r0, 0
- beq _0811F2FC
- ldr r0, [r4]
- ldrh r1, [r0]
- adds r2, r1, 0x1
- strh r2, [r0]
- lsls r1, 16
- lsrs r1, 15
- adds r0, 0x2
- adds r0, r1
- strh r5, [r0]
-_0811F2FC:
- movs r3, 0x1
-_0811F2FE:
- ldr r0, [r4]
- ldrh r2, [r0]
- adds r1, r2, 0x1
- strh r1, [r0]
- lsls r2, 16
- lsrs r2, 15
- adds r0, 0x2
- adds r0, r2
- strh r3, [r0]
- adds r3, 0x1
- cmp r3, 0x10
- ble _0811F2FE
- ldr r0, =0x00000864 @ = FLAG_SYS_GAME_CLEAR
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0811F358
- ldr r0, =gUnknown_0203A120
- ldr r2, [r0]
- ldrh r0, [r2]
- adds r1, r0, 0x1
- strh r1, [r2]
- lsls r0, 16
- lsrs r0, 15
- adds r3, r2, 0x2
- adds r0, r3, r0
- movs r1, 0x11
- strh r1, [r0]
- ldrh r0, [r2]
- adds r1, r0, 0x1
- strh r1, [r2]
- lsls r0, 16
- lsrs r0, 15
- adds r0, r3, r0
- movs r1, 0x12
- strh r1, [r0]
- ldrh r0, [r2]
- adds r1, r0, 0x1
- strh r1, [r2]
- lsls r0, 16
- lsrs r0, 15
- adds r3, r0
- movs r0, 0x13
- strh r0, [r3]
-_0811F358:
- ldr r0, =0x00000866
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0811F37A
- ldr r0, =gUnknown_0203A120
- ldr r0, [r0]
- ldrh r1, [r0]
- adds r2, r1, 0x1
- strh r2, [r0]
- lsls r1, 16
- lsrs r1, 15
- adds r0, 0x2
- adds r0, r1
- movs r1, 0x14
- strh r1, [r0]
-_0811F37A:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _0811F398
- ldr r0, =gUnknown_0203A120
- ldr r0, [r0]
- ldrh r1, [r0]
- adds r2, r1, 0x1
- strh r2, [r0]
- lsls r1, 16
- lsrs r1, 15
- adds r0, 0x2
- adds r0, r1
- movs r1, 0x15
- strh r1, [r0]
-_0811F398:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F2D4
-
- thumb_func_start sub_811F3AC
-sub_811F3AC: @ 811F3AC
- ldr r0, =gUnknown_0203A120
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_811F3AC
-
- thumb_func_start sub_811F3B8
-sub_811F3B8: @ 811F3B8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203A120
- ldr r1, [r0]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _0811F3D8
- lsls r0, r2, 1
- adds r1, 0x2
- adds r1, r0
- ldrb r0, [r1]
- b _0811F3DA
- .pool
-_0811F3D8:
- movs r0, 0x16
-_0811F3DA:
- pop {r1}
- bx r1
- thumb_func_end sub_811F3B8
-
- thumb_func_start sub_811F3E0
-sub_811F3E0: @ 811F3E0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsls r2, 16
- lsrs r5, r2, 16
- ldr r0, =gEasyChatGroupNamePointers
- lsrs r1, 22
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl StringCopy
- adds r1, r0, 0
- subs r4, r1, r4
- lsls r4, 16
- lsrs r0, r4, 16
- cmp r0, r5
- bcs _0811F414
- movs r2, 0
-_0811F406:
- strb r2, [r1]
- adds r1, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _0811F406
-_0811F414:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F3E0
-
- thumb_func_start sub_811F424
-sub_811F424: @ 811F424
- lsls r0, 24
- ldr r1, =gEasyChatGroupNamePointers
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_811F424
-
- thumb_func_start CopyEasyChatWordPadded
-@ char *CopyEasyChatWordPadded(char *dest, u16 groupIdWordIdPair, u16 minLength)
-CopyEasyChatWordPadded: @ 811F434
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl CopyEasyChatWord
- adds r1, r0, 0
- subs r4, r1, r4
- lsls r4, 16
- lsrs r0, r4, 16
- cmp r0, r5
- bcs _0811F460
- movs r2, 0
-_0811F452:
- strb r2, [r1]
- adds r1, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _0811F452
-_0811F460:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CopyEasyChatWordPadded
-
- thumb_func_start sub_811F46C
-sub_811F46C: @ 811F46C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r3, 0
-_0811F47A:
- ldr r2, =gEasyChatWordsByLetterPointers
- lsls r1, r3, 3
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp]
- adds r1, r2
- ldr r7, [r1]
- ldr r0, =gUnknown_0203A120
- ldr r1, [r0]
- lsls r2, r3, 1
- adds r1, 0x2E
- adds r1, r2
- movs r0, 0
- strh r0, [r1]
- mov r10, r0
- movs r1, 0
- str r2, [sp, 0x4]
- adds r0, r3, 0x1
- str r0, [sp, 0x8]
- ldr r2, [sp]
- cmp r1, r2
- bge _0811F530
-_0811F4A8:
- ldrh r0, [r7]
- ldr r2, =0x0000ffff
- cmp r0, r2
- bne _0811F4FC
- adds r7, 0x2
- ldrh r4, [r7]
- adds r7, 0x2
- adds r0, r1, 0x1
- adds r1, r0, r4
- b _0811F4FE
- .pool
-_0811F4C8:
- ldr r0, =gUnknown_0203A120
- ldr r2, [r0]
- mov r0, r10
- lsls r1, r0, 1
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- subs r0, r3
- lsls r0, 2
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x64
- adds r0, r1
- ldrh r1, [r5]
- strh r1, [r0]
- movs r0, 0x1
- add r10, r0
- adds r2, 0x2E
- ldr r0, [sp, 0x4]
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _0811F526
- .pool
-_0811F4FC:
- movs r4, 0x1
-_0811F4FE:
- movs r6, 0
- adds r1, 0x1
- mov r9, r1
- lsls r2, r4, 1
- mov r8, r2
- cmp r6, r4
- bge _0811F526
- adds r5, r7, 0
-_0811F50E:
- ldrh r0, [r5]
- str r3, [sp, 0xC]
- bl sub_811F860
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- bne _0811F4C8
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, r4
- blt _0811F50E
-_0811F526:
- add r7, r8
- mov r1, r9
- ldr r0, [sp]
- cmp r1, r0
- blt _0811F4A8
-_0811F530:
- ldr r3, [sp, 0x8]
- cmp r3, 0x1A
- ble _0811F47A
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811F46C
-
- thumb_func_start sub_811F548
-sub_811F548: @ 811F548
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r0, 0
- bne _0811F55A
- adds r0, r1, 0
- bl sub_811F5C4
- b _0811F560
-_0811F55A:
- adds r0, r1, 0
- bl sub_811F6B8
-_0811F560:
- ldr r1, =gUnknown_0203A120
- ldr r1, [r1]
- ldr r2, =0x00003ba0
- adds r1, r2
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F548
-
- thumb_func_start sub_811F578
-sub_811F578: @ 811F578
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_0203A120
- ldr r1, [r0]
- ldr r3, =0x00003ba0
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r2, r0
- bcs _0811F5A4
- lsls r0, r2, 1
- ldr r2, =0x00003984
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- b _0811F5A6
- .pool
-_0811F5A4:
- ldr r0, =0x0000ffff
-_0811F5A6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F578
-
- thumb_func_start sub_811F5B0
-sub_811F5B0: @ 811F5B0
- ldr r0, =gUnknown_0203A120
- ldr r0, [r0]
- ldr r1, =0x00003ba0
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_811F5B0
-
- thumb_func_start sub_811F5C4
-sub_811F5C4: @ 811F5C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gEasyChatGroups
- lsls r0, r2, 3
- adds r0, r1
- ldrh r3, [r0, 0x4]
- mov r8, r3
- cmp r2, 0
- beq _0811F5EC
- cmp r2, 0x15
- beq _0811F5EC
- cmp r2, 0x12
- beq _0811F5EC
- cmp r2, 0x13
- bne _0811F64C
-_0811F5EC:
- lsls r0, r2, 3
- adds r0, r1
- ldr r1, [r0]
- movs r7, 0
- movs r5, 0
- cmp r5, r8
- bcs _0811F698
- movs r0, 0x7F
- ands r0, r2
- lsls r0, 9
- mov r9, r0
- adds r4, r1, 0
- lsls r6, r2, 24
-_0811F606:
- ldrh r0, [r4]
- lsrs r1, r6, 24
- bl sub_811F764
- lsls r0, 24
- cmp r0, 0
- beq _0811F630
- ldr r0, =gUnknown_0203A120
- ldr r2, [r0]
- lsls r0, r5, 1
- ldr r1, =0x00003984
- adds r2, r1
- adds r2, r0
- ldrh r0, [r4]
- ldr r3, =0x000001ff
- adds r1, r3, 0
- ands r0, r1
- mov r1, r9
- orrs r0, r1
- strh r0, [r2]
- adds r5, 0x1
-_0811F630:
- adds r4, 0x2
- adds r7, 0x1
- cmp r7, r8
- bcc _0811F606
- b _0811F698
- .pool
-_0811F64C:
- ldr r1, [r0]
- movs r7, 0
- movs r5, 0
- cmp r5, r8
- bcs _0811F698
- movs r0, 0x7F
- ands r0, r2
- lsls r0, 9
- mov r10, r0
- adds r6, r1, 0
- lsls r2, 24
- mov r9, r2
-_0811F664:
- ldrh r4, [r6, 0x4]
- adds r0, r4, 0
- mov r2, r9
- lsrs r1, r2, 24
- bl sub_811F764
- lsls r0, 24
- cmp r0, 0
- beq _0811F690
- ldr r0, =gUnknown_0203A120
- ldr r1, [r0]
- lsls r0, r5, 1
- ldr r3, =0x00003984
- adds r1, r3
- adds r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r4, r0
- mov r3, r10
- orrs r4, r3
- strh r4, [r1]
- adds r5, 0x1
-_0811F690:
- adds r6, 0xC
- adds r7, 0x1
- cmp r7, r8
- bcc _0811F664
-_0811F698:
- lsls r0, r5, 16
- lsrs r0, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F5C4
-
- thumb_func_start sub_811F6B8
-sub_811F6B8: @ 811F6B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r4, 0
- movs r6, 0
- ldr r3, =gUnknown_0203A120
- ldr r0, [r3]
- lsls r5, r1, 1
- adds r0, 0x2E
- adds r0, r5
- ldrh r0, [r0]
- cmp r6, r0
- bcs _0811F718
- mov r8, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 3
- subs r0, r1
- lsls r7, r0, 2
- ldr r0, =0x00003984
- mov r12, r0
-_0811F6E6:
- mov r0, r8
- ldr r3, [r0]
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 1
- mov r0, r12
- adds r2, r3, r0
- adds r2, r1
- lsls r1, r4, 1
- adds r1, r7
- adds r0, r3, 0
- adds r0, 0x64
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r3, 0x2E
- adds r3, r5
- ldrh r3, [r3]
- cmp r4, r3
- bcc _0811F6E6
-_0811F718:
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F6B8
-
- thumb_func_start sub_811F72C
-sub_811F72C: @ 811F72C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, =gUnknown_0203A120
- ldr r0, [r0]
- ldrh r1, [r0]
- cmp r2, r1
- bge _0811F75C
- adds r4, r3, 0
- adds r3, r1, 0
- adds r1, r0, 0x2
-_0811F744:
- ldrh r0, [r1]
- cmp r0, r4
- bne _0811F754
- movs r0, 0x1
- b _0811F75E
- .pool
-_0811F754:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _0811F744
-_0811F75C:
- movs r0, 0
-_0811F75E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_811F72C
-
- thumb_func_start sub_811F764
-sub_811F764: @ 811F764
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r2, 0x15
- bhi _0811F81A
- lsls r0, r2, 2
- ldr r1, =_0811F780
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0811F780:
- .4byte _0811F7D8
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F81A
- .4byte _0811F808
- .4byte _0811F808
- .4byte _0811F80C
- .4byte _0811F7EE
-_0811F7D8:
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- lsrs r0, 24
- b _0811F82C
-_0811F7EE:
- adds r0, r4, 0
- bl sub_811F838
- cmp r0, 0
- beq _0811F808
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl GetSetPokedexFlag
-_0811F808:
- movs r0, 0x1
- b _0811F82C
-_0811F80C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_811EF98
- lsls r0, 24
- lsrs r0, 24
- b _0811F82C
-_0811F81A:
- ldr r1, =gEasyChatGroups
- lsls r0, r2, 3
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x8]
-_0811F82C:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811F764
-
- thumb_func_start sub_811F838
-sub_811F838: @ 811F838
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r1, =gUnknown_0859E658
-_0811F842:
- ldrh r0, [r1]
- cmp r0, r3
- bne _0811F850
- movs r0, 0x1
- b _0811F85A
- .pool
-_0811F850:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0
- beq _0811F842
- movs r0, 0
-_0811F85A:
- pop {r1}
- bx r1
- thumb_func_end sub_811F838
-
- thumb_func_start sub_811F860
-sub_811F860: @ 811F860
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 25
- lsls r0, 7
- lsrs r4, r0, 23
- adds r0, r5, 0
- bl sub_811F72C
- lsls r0, 24
- cmp r0, 0
- beq _0811F884
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_811F764
- lsls r0, 24
- lsrs r0, 24
- b _0811F886
-_0811F884:
- movs r0, 0
-_0811F886:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811F860
-
- thumb_func_start InitializeEasyChatWordArray
-InitializeEasyChatWordArray: @ 811F88C
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- ldr r0, =0xffff0000
- adds r1, r0
- lsrs r0, r1, 16
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _0811F8AE
- adds r3, r1, 0
-_0811F8A0:
- strh r3, [r2]
- adds r2, 0x2
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bne _0811F8A0
-_0811F8AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitializeEasyChatWordArray
-
-@void sub_811F8BC() {
-@ s16* v;
-@ s16* ptr;
-@ v = GetSaveBlock1Field3564();
-@ for (ptr = v + 3; ptr >= v; ptr--) {
-@ *ptr = -1;
-@ }
-@}
- thumb_func_start sub_811F8BC
-sub_811F8BC: @ 811F8BC
- push {lr}
- bl GetSaveBlock1Field3564
- ldr r1, =0x0000ffff
- adds r2, r1, 0
- adds r1, r0, 0x6
-_0811F8C8:
- strh r2, [r1]
- subs r1, 0x2
- cmp r1, r0
- bge _0811F8C8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F8BC
-
- thumb_func_start sub_811F8D8
-sub_811F8D8: @ 811F8D8
- push {r4,r5,lr}
- asrs r4, r0, 9
- movs r1, 0x7F
- ldr r5, =0x000001ff
- ands r5, r0
- ands r4, r1
- adds r0, r4, 0
- bl sub_811EA28
- lsls r0, 24
- cmp r0, 0
- beq _0811F904
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_811F764
- lsls r0, 24
- lsrs r0, 24
- b _0811F906
- .pool
-_0811F904:
- movs r0, 0
-_0811F906:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811F8D8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/flying.s b/asm/flying.s
deleted file mode 100644
index 37873f17b..000000000
--- a/asm/flying.s
+++ /dev/null
@@ -1,1698 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_810E520
-sub_810E520: @ 810E520
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r6, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrb r2, [r4]
- movs r7, 0x1
- movs r0, 0x1
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- beq _0810E55A
- ldrb r0, [r4, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- beq _0810E54E
- b _0810EA36
-_0810E54E:
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810EA36
-_0810E55A:
- ldrh r0, [r4, 0x2]
- lsrs r1, r0, 6
- mov r12, r0
- cmp r1, 0x1
- bne _0810E566
- b _0810E68A
-_0810E566:
- cmp r1, 0x1
- bgt _0810E570
- cmp r1, 0
- beq _0810E57E
- b _0810E97C
-_0810E570:
- cmp r1, 0x2
- bne _0810E576
- b _0810E77E
-_0810E576:
- cmp r1, 0x3
- bne _0810E57C
- b _0810E872
-_0810E57C:
- b _0810E97C
-_0810E57E:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _0810E592
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E680
-_0810E592:
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _0810E5B4
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _0810E680
-_0810E5B4:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E680
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E672
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E642
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E628
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E660
-_0810E628:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E660
-_0810E642:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E656
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E65E
-_0810E656:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E65E:
- strb r0, [r1]
-_0810E660:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E672:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E680:
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- strb r0, [r4]
- b _0810E97C
-_0810E68A:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0
- bne _0810E698
- movs r0, 0x8
- orrs r0, r2
- b _0810E6A0
-_0810E698:
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _0810E6A8
- adds r0, r2, 0
-_0810E6A0:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E774
-_0810E6A8:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E774
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E766
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E736
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E71C
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E754
-_0810E71C:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E754
-_0810E736:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E74A
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E752
-_0810E74A:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E752:
- strb r0, [r1]
-_0810E754:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E766:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E774:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _0810E978
-_0810E77E:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _0810E78C
- movs r0, 0x8
- orrs r0, r2
- b _0810E794
-_0810E78C:
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _0810E79C
- adds r0, r2, 0
-_0810E794:
- orrs r0, r7
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _0810E868
-_0810E79C:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E868
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E85A
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E82A
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E810
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E848
-_0810E810:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E848
-_0810E82A:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E83E
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E846
-_0810E83E:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E846:
- strb r0, [r1]
-_0810E848:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E85A:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E868:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
- b _0810E978
-_0810E872:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _0810E882
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r4]
- b _0810E970
-_0810E882:
- lsrs r0, r1, 28
- cmp r0, 0
- bne _0810E8A4
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- strb r1, [r4]
- strb r6, [r4, 0x1]
- b _0810E970
-_0810E8A4:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0810E970
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810E962
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _0810E932
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E918
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E950
-_0810E918:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _0810E950
-_0810E932:
- ldrb r1, [r4, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0810E946
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- b _0810E94E
-_0810E946:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
-_0810E94E:
- strb r0, [r1]
-_0810E950:
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_0810E962:
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r1, [r4, 0x2]
- mov r12, r1
-_0810E970:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x30
-_0810E978:
- orrs r1, r0
- strb r1, [r4]
-_0810E97C:
- ldrb r1, [r4]
- lsls r1, 30
- lsrs r1, 31
- adds r0, r4, 0
- adds r0, 0xC
- adds r0, r1
- ldrb r1, [r0]
- ldr r3, =gSineTable
- mov r2, r12
- lsls r0, r2, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r1, [r4, 0xA]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r6, [r1]
- ldr r1, =gOamMatrices
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r6, [r2, 0x2]
- lsls r0, r6, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldrh r0, [r4, 0x6]
- ldrh r2, [r4, 0x8]
- adds r0, r2
- strh r0, [r4, 0x8]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0810EA0C
- ldrh r0, [r4, 0x4]
- subs r1, 0x1
- ands r1, r0
- ldrh r0, [r4, 0x2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2]
- b _0810EA1C
- .pool
-_0810EA0C:
- ldrh r0, [r4, 0x4]
- ldr r1, =0x00007fff
- ands r1, r0
- ldrh r2, [r4, 0x2]
- adds r1, r2
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x2]
-_0810EA1C:
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r0, [r4, 0xE]
- lsrs r0, 1
- cmp r1, r0
- blt _0810EA36
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, =sub_810E2C8
- str r0, [r5, 0x1C]
-_0810EA36:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810E520
-
- thumb_func_start sub_810EA4C
-sub_810EA4C: @ 810EA4C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSpriteBGPriority
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldr r5, =gBattleAnimAttacker
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, =TranslateAnimSpriteToTargetMonLocation
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EA4C
-
- thumb_func_start sub_810EAA0
-sub_810EAA0: @ 810EAA0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gBattleAnimArgs
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810EABC
- adds r0, r5, 0
- movs r1, 0
- bl InitSpritePosToAnimAttacker
- b _0810EAC4
- .pool
-_0810EABC:
- adds r0, r5, 0
- movs r1, 0
- bl InitSpritePosToAnimTarget
-_0810EAC4:
- ldr r4, =gBattleAnimArgs
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0810EADC
- ldr r0, =gBattleAnimAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _0810EAF2
-_0810EADC:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0810EAF8
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _0810EAF8
-_0810EAF2:
- ldrh r0, [r5, 0x20]
- adds r0, 0x8
- strh r0, [r5, 0x20]
-_0810EAF8:
- ldr r4, =gBattleAnimArgs
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl SeekSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
- strh r0, [r5, 0x20]
- ldr r0, =0x00000ccc
- strh r0, [r5, 0x30]
- ldrh r1, [r4, 0x8]
- movs r0, 0xC
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- ldrh r2, [r5, 0x24]
- adds r0, r2
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x2E]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, =sub_810EB40
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EAA0
-
- thumb_func_start sub_810EB40
-sub_810EB40: @ 810EB40
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _0810EB6A
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl StartSpriteAnim
-_0810EB6A:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0810EB82
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EB82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EB40
-
- thumb_func_start sub_810EB88
-sub_810EB88: @ 810EB88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- ldrh r0, [r7, 0x8]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _0810EC02
- ldr r1, =gAnimVisualTaskCount
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r5, 0xD
- negs r5, r5
- adds r1, r5, 0
- bl Sin
- ldr r4, =gBattleAnimArgs
- strh r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl Cos
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r4, 0x4]
- movs r0, 0x3
- strh r0, [r4, 0x6]
- ldr r0, =gUnknown_085973E8
- mov r8, r0
- ldr r5, =gBattleAnimTarget
- ldrb r0, [r5]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x3
- bl CreateSpriteAndAnimate
-_0810EC02:
- ldrh r0, [r7, 0x8]
- adds r0, 0x8
- strh r0, [r7, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _0810EC16
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_0810EC16:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EB88
-
- thumb_func_start sub_810EC34
-sub_810EC34: @ 810EC34
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0810EC46
- cmp r0, 0x1
- beq _0810EC78
- b _0810EC8C
-_0810EC46:
- adds r0, r4, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- movs r0, 0
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- 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]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810EC8C
- .pool
-_0810EC78:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0810EC8C
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EC8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EC34
-
- thumb_func_start sub_810EC94
-sub_810EC94: @ 810EC94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0810ECCC
- cmp r0, 0x1
- bgt _0810ECAA
- cmp r0, 0
- beq _0810ECB0
- b _0810ED1E
-_0810ECAA:
- cmp r0, 0x2
- beq _0810ECE0
- b _0810ED1E
-_0810ECB0:
- ldr r0, =gBattleAnimTarget
- ldrb r0, [r0]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r4, 0x26]
- b _0810ECD8
- .pool
-_0810ECCC:
- ldrh r0, [r4, 0x26]
- adds r0, 0xA
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _0810ED1E
-_0810ECD8:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0810ED1E
-_0810ECE0:
- ldrh r0, [r4, 0x26]
- subs r0, 0xA
- strh r0, [r4, 0x26]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _0810ED1E
- movs r0, 0
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810ED1E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EC94
-
- thumb_func_start sub_810ED28
-sub_810ED28: @ 810ED28
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl InitSpritePosToAnimAttacker
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, =sub_810ED70
- str r0, [r4, 0x1C]
- movs r0, 0
- bl GetAnimBattlerSpriteId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- 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]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ED28
-
- thumb_func_start sub_810ED70
-sub_810ED70: @ 810ED70
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _0810ED84
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _0810EDC8
-_0810ED84:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _0810EDAA
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
- b _0810EDC8
-_0810EDAA:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0810EDC8
- ldr r0, =sub_810EDD0
- str r0, [r2, 0x1C]
-_0810EDC8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810ED70
-
- thumb_func_start sub_810EDD0
-sub_810EDD0: @ 810EDD0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _0810EE00
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_0810EE00:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _0810EE0E
- adds r0, r2, 0
- bl DestroyAnimSprite
-_0810EE0E:
- pop {r0}
- bx r0
- thumb_func_end sub_810EDD0
-
- thumb_func_start sub_810EE14
-sub_810EE14: @ 810EE14
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0810EE28
- cmp r0, 0x1
- beq _0810EE80
- b _0810EEEC
-_0810EE28:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0810EE40
- ldr r4, =gBattleAnimAttacker
- b _0810EE42
- .pool
-_0810EE40:
- ldr r4, =gBattleAnimTarget
-_0810EE42:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0
- movs r3, 0x80
- lsls r3, 2
- strh r3, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl TrySetSpriteRotScale
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _0810EEEC
- .pool
-_0810EE80:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0xB
- bgt _0810EE8E
- ldrh r0, [r5, 0x30]
- subs r0, 0x28
- b _0810EE92
-_0810EE8E:
- ldrh r0, [r5, 0x30]
- adds r0, 0x28
-_0810EE92:
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x30
- ldrsh r3, [r5, r0]
- str r1, [sp]
- adds r0, r5, 0
- bl TrySetSpriteRotScale
- ldrb r1, [r5, 0x3]
- lsls r1, 26
- lsrs r1, 27
- movs r0, 0xF4
- lsls r0, 6
- ldr r2, =gOamMatrices
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- adds r1, r0, 0x1
- cmp r1, 0x80
- ble _0810EECC
- movs r1, 0x80
-_0810EECC:
- movs r0, 0x40
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r1, r0, 1
- strh r1, [r5, 0x26]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x18
- bne _0810EEEC
- adds r0, r5, 0
- bl sub_80A749C
- adds r0, r5, 0
- bl DestroyAnimSprite
-_0810EEEC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EE14
-
- thumb_func_start sub_810EEF8
-sub_810EEF8: @ 810EEF8
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random2
- ldr r4, =0x000001ff
- ands r4, r0
- bl Random2
- movs r1, 0x7F
- ands r1, r0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0810EF20
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r4, r2
- b _0810EF28
- .pool
-_0810EF20:
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r4
-_0810EF28:
- strh r0, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810EF3C
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- adds r0, r1, r0
- b _0810EF44
-_0810EF3C:
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r1
-_0810EF44:
- strh r0, [r5, 0x30]
- ldr r2, =gBattleAnimArgs
- ldrh r0, [r2]
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- beq _0810EF60
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
-_0810EF60:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0810EF74
- ldr r4, =gBattleAnimAttacker
- b _0810EF76
- .pool
-_0810EF74:
- ldr r4, =gBattleAnimTarget
-_0810EF76:
- ldrb r0, [r4]
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r5, 0x22]
- ldr r0, =sub_810EFA8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810EEF8
-
- thumb_func_start sub_810EFA8
-sub_810EFA8: @ 810EFA8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0810EFC0
- ldrh r3, [r4, 0x2E]
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- b _0810EFCA
-_0810EFC0:
- ldrh r3, [r4, 0x2E]
- lsls r1, r3, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
-_0810EFCA:
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x30]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- strh r3, [r4, 0x2E]
- adds r0, r2, 0
- subs r0, 0x20
- strh r0, [r4, 0x30]
- lsls r0, r3, 16
- cmp r0, 0
- bge _0810EFEA
- movs r0, 0
- strh r0, [r4, 0x2E]
-_0810EFEA:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _0810EFFE
- adds r0, r4, 0
- bl DestroyAnimSprite
-_0810EFFE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810EFA8
-
- thumb_func_start sub_810F004
-sub_810F004: @ 810F004
- movs r1, 0
- strh r1, [r0, 0x3A]
- movs r1, 0x40
- strh r1, [r0, 0x3C]
- ldr r1, =sub_810F018
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_810F004
-
- thumb_func_start sub_810F018
-sub_810F018: @ 810F018
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _0810F02A
- cmp r1, 0x1
- beq _0810F078
- b _0810F07E
-_0810F02A:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0810F07E
- strh r1, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0810F07E
- ldrb r1, [r1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0810F07E
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _0810F07E
-_0810F078:
- adds r0, r3, 0
- bl DestroyAnimSprite
-_0810F07E:
- pop {r0}
- bx r0
- thumb_func_end sub_810F018
-
- thumb_func_start sub_810F084
-sub_810F084: @ 810F084
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- ldrh r4, [r0, 0x20]
- ldrh r5, [r0, 0x22]
- ldr r6, =gBattleAnimAttacker
- ldrb r0, [r6]
- movs r1, 0x2
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl GetBattlerSpriteCoord
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r2, r8
- strh r6, [r2, 0x22]
- ldrh r0, [r2, 0x20]
- mov r9, r0
- mov r1, r9
- lsls r0, r1, 4
- strh r0, [r2, 0x36]
- lsls r0, r6, 4
- strh r0, [r2, 0x38]
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- subs r0, r4, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3A]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- subs r0, r5, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3C]
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- subs r5, r6
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl ArcTan2Neg
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x1
- adds r2, r3, 0
- bl TrySetSpriteRotScale
- ldr r0, =sub_810F140
- mov r2, r8
- str r0, [r2, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F084
-
- thumb_func_start sub_810F140
-sub_810F140: @ 810F140
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x3C]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x2D
- lsls r0, 16
- movs r1, 0xA5
- lsls r1, 17
- cmp r0, r1
- bhi _0810F17A
- adds r1, r3, 0
- cmp r1, 0x9D
- bgt _0810F17A
- movs r0, 0x2D
- negs r0, r0
- cmp r1, r0
- bge _0810F180
-_0810F17A:
- adds r0, r2, 0
- bl DestroySpriteAndMatrix
-_0810F180:
- pop {r0}
- bx r0
- thumb_func_end sub_810F140
-
- thumb_func_start sub_810F184
-sub_810F184: @ 810F184
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0810F1BC
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =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
- b _0810F1DA
- .pool
-_0810F1BC:
- movs r0, 0
- bl GetAnimBattlerSpriteId
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
-_0810F1DA:
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_810F184
-
- .align 2, 0
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
index 6370ef569..ed32e4643 100644
--- a/asm/macros/battle_script.inc
+++ b/asm/macros/battle_script.inc
@@ -1078,7 +1078,7 @@
.4byte \param0
.endm
- .macro tryimprision param0:req
+ .macro tryimprison param0:req
.byte 0xdb
.4byte \param0
.endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index fa0b3fa06..8b3466fe7 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -824,7 +824,7 @@
.byte \y
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoice x:req, y:req, list:req, b:req
.byte 0x6f
.byte \x
@@ -833,7 +833,7 @@
.byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
.macro multichoicedefault x:req, y:req, list:req, default:req, b:req
.byte 0x70
.byte \x
@@ -843,7 +843,7 @@
.byte \b
.endm
- @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
+ @ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made. Lists of options are predefined (gMultichoiceLists) and the one to be used is specified with list. The per_row argument determines how many list items will be shown on a single row of the box.
.macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req
.byte 0x71
.byte \x
@@ -1163,12 +1163,12 @@
.endm
@ Changes the metatile at (x, y) on the current map.
- .macro setmetatile x:req, y:req, metatile_number:req, tile_attrib:req
+ .macro setmetatile x:req, y:req, metatile_number:req, has_collision:req
.byte 0xa2
.2byte \x
.2byte \y
.2byte \metatile_number
- .2byte \tile_attrib
+ .2byte \has_collision
.endm
@ Queues a weather change to the default weather for the map.
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index fafedeeff..c13ab9a96 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -472,7 +472,7 @@ sub_8017020: @ 8017020
bl sub_81973A4
movs r0, 0
movs r1, 0x1
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldr r0, =gStringVar4
adds r1, r4, 0
bl StringExpandPlaceholders
@@ -517,7 +517,7 @@ _08017076:
bl sub_81973A4
movs r0, 0
movs r1, 0x1
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldr r0, =gStringVar4
adds r1, r5, 0
bl StringExpandPlaceholders
@@ -563,7 +563,7 @@ _080170CA:
negs r0, r0
b _08017110
_080170D4:
- bl DisplayYesNoMenu
+ bl DisplayYesNoMenuDefaultYes
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
@@ -609,7 +609,7 @@ sub_8017118: @ 8017118
lsrs r4, 24
adds r0, r4, 0
movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
+ bl DrawStdWindowFrame
adds r0, r4, 0
movs r1, 0xFF
bl FillWindowPixelBuffer
@@ -705,7 +705,7 @@ _080171DC:
strb r0, [r5]
ldrb r0, [r5]
movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
+ bl DrawStdWindowFrame
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
@@ -745,7 +745,7 @@ _08017228:
bl DestroyListMenuTask
ldrb r0, [r5]
movs r1, 0x1
- bl sub_819746C
+ bl ClearStdWindowAndFrame
ldrb r0, [r5]
bl RemoveWindow
movs r0, 0
@@ -765,7 +765,7 @@ _08017264:
bl DestroyListMenuTask
ldrb r0, [r5]
movs r1, 0x1
- bl sub_819746C
+ bl ClearStdWindowAndFrame
ldrb r0, [r5]
bl RemoveWindow
strb r4, [r7]
@@ -818,7 +818,7 @@ _080172C8:
strb r0, [r6]
ldrb r0, [r6]
movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
+ bl DrawStdWindowFrame
ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
@@ -18242,7 +18242,7 @@ sub_801FEBC: @ 801FEBC
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldr r0, [r4]
ldrb r0, [r0, 0x18]
bl ClearWindowTilemap
@@ -18470,7 +18470,7 @@ sub_8020094: @ 8020094
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldr r0, [r4]
ldrb r0, [r0, 0x1E]
bl ClearWindowTilemap
@@ -18913,7 +18913,7 @@ sub_802040C: @ 802040C
push {lr}
movs r0, 0x3
movs r1, 0
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
movs r0, 0x3
bl ClearWindowTilemap
pop {r0}
@@ -22378,7 +22378,7 @@ _0802210C:
movs r1, 0
adds r2, r4, 0
movs r3, 0xD
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
b _08022218
.pool
_08022130:
@@ -22509,7 +22509,7 @@ sub_802222C: @ 802222C
adds r5, r4, r0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldrb r0, [r5]
bl RemoveWindow
adds r0, r4, 0
@@ -22577,7 +22577,7 @@ _08022296:
movs r1, 0
adds r2, r4, 0
movs r3, 0xD
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
b _080224BA
.pool
_080222D0:
@@ -22773,7 +22773,7 @@ _08022480:
_08022494:
ldrb r0, [r6, 0x2]
movs r1, 0x1
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldrb r0, [r6, 0x2]
bl ClearWindowTilemap
ldrb r0, [r6, 0x2]
@@ -23864,7 +23864,7 @@ _08022D38:
_08022D42:
movs r0, 0
movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldrb r1, [r5, 0x1]
movs r0, 0x2
mov r8, r0
@@ -23946,7 +23946,7 @@ _08022DE8:
beq _08022DFA
movs r0, 0
movs r1, 0x1
- bl sub_8197434
+ bl ClearDialogWindowAndFrame
_08022DFA:
ldrb r0, [r7, 0xE]
movs r1, 0x1
@@ -24250,7 +24250,7 @@ _0802301E:
_08023044:
movs r0, 0
movs r1, 0x1
- bl sub_8197434
+ bl ClearDialogWindowAndFrame
movs r0, 0xA
movs r1, 0x1
movs r2, 0
@@ -26462,7 +26462,7 @@ _080241A6:
beq _0802421E
movs r0, 0
movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldr r2, =gText_SavingDontTurnOffPower
movs r0, 0
str r0, [sp]
@@ -26550,7 +26550,7 @@ _08024246:
strb r0, [r5, 0xC]
b _080242D8
_0802426A:
- bl DisplayYesNoMenu
+ bl DisplayYesNoMenuDefaultYes
b _080242D0
_08024270:
bl Menu_ProcessInputNoWrapClearOnChoose
@@ -26583,7 +26583,7 @@ _080242A4:
_080242A6:
movs r0, 0
movs r1, 0x1
- bl sub_8197434
+ bl ClearDialogWindowAndFrame
movs r4, 0
str r4, [sp]
adds r0, r6, 0
@@ -26761,7 +26761,7 @@ _080243EA:
_080243F6:
movs r0, 0
movs r1, 0x1
- bl sub_8197434
+ bl ClearDialogWindowAndFrame
adds r0, r5, 0
bl sub_8021488
movs r0, 0x1
@@ -26819,7 +26819,7 @@ _0802445A:
_08024460:
movs r0, 0
movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldrh r1, [r5, 0x14]
cmp r1, 0x3
bne _08024490
@@ -27347,7 +27347,7 @@ sub_802482C: @ 802482C
movs r1, 0
adds r2, r4, 0
adds r3, r5, 0
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
ldr r2, =gText_Powder
movs r0, 0x1
str r0, [sp]
@@ -27446,7 +27446,7 @@ sub_8024918: @ 8024918
bl ClearWindowTilemap
ldrb r0, [r4]
movs r1, 0x1
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldrb r0, [r4]
bl RemoveWindow
pop {r4}
@@ -38552,7 +38552,7 @@ _0802A3A4:
_0802A3AE:
movs r0, 0
movs r1, 0
- bl NewMenuHelpers_DrawDialogueFrame
+ bl DrawDialogueFrame
ldr r2, =gText_SavingDontTurnOffPower
str r4, [sp]
movs r0, 0x2
diff --git a/asm/rom_81D1C44.s b/asm/rom_81D1C44.s
index 13664a4b2..36ebd29da 100644
--- a/asm/rom_81D1C44.s
+++ b/asm/rom_81D1C44.s
@@ -108,7 +108,7 @@ sub_81D1D04: @ 81D1D04
adds r4, r0
ldrb r0, [r4]
movs r1, 0
- bl sub_8198070
+ bl ClearStdWindowAndFrameToTransparent
ldrb r0, [r4]
bl ClearWindowTilemap
ldrb r0, [r4]
@@ -1613,7 +1613,7 @@ _081D284A:
movs r1, 0
movs r2, 0x1
movs r3, 0xE
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
b _081D288E
.pool
_081D287C:
@@ -1623,7 +1623,7 @@ _081D287C:
movs r1, 0
movs r2, 0x1
movs r3, 0xE
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
_081D288E:
movs r0, 0x2
bl PutWindowTilemap
@@ -1633,12 +1633,12 @@ _081D288E:
movs r1, 0
movs r2, 0x1
movs r3, 0xE
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
movs r0, 0x3
movs r1, 0
movs r2, 0x1
movs r3, 0xE
- bl SetWindowBorderStyle
+ bl DrawStdFrameWithCustomTileAndPalette
bl nullsub_79
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
@@ -6500,7 +6500,7 @@ _081D4F6C:
bne _081D4F88
movs r0, 0x49
bl PlaySE
- bl sub_800A620
+ bl CheckShouldAdvanceLinkState
movs r0, 0
strh r0, [r5]
b _081D4FE6