summaryrefslogtreecommitdiff
path: root/asm/battle_transition.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_transition.s')
-rw-r--r--asm/battle_transition.s1377
1 files changed, 1 insertions, 1376 deletions
diff --git a/asm/battle_transition.s b/asm/battle_transition.s
index ef5c95332..675f46bfd 100644
--- a/asm/battle_transition.s
+++ b/asm/battle_transition.s
@@ -5,1383 +5,8 @@
.text
- thumb_func_start Phase2Task_25
-Phase2Task_25: @ 8148760
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C54
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148772:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08148772
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Phase2Task_25
-
- thumb_func_start sub_8148798
-sub_8148798: @ 8148798
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r4, 0
- ldr r5, =gUnknown_02038C28
- movs r0, 0xF0
- lsls r0, 3
- adds r0, r5
- mov r12, r0
- mov r8, r4
- movs r1, 0xF0
- mov r9, r1
-_081487CC:
- lsls r2, r4, 1
- mov r7, r12
- adds r1, r2, r7
- ldr r0, =sTransitionStructPtr
- ldr r3, [r0]
- ldrh r0, [r3, 0x14]
- strh r0, [r1]
- adds r1, r4, 0
- adds r1, 0xA0
- lsls r1, 1
- adds r0, r1, r7
- mov r7, r9
- strh r7, [r0]
- adds r2, r5
- ldrh r0, [r3, 0x14]
- strh r0, [r2]
- adds r1, r5
- mov r0, r9
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r5
- mov r7, r8
- strh r7, [r0]
- adds r1, 0xA0
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r5
- subs r1, 0xE0
- strh r1, [r0]
- movs r7, 0xA0
- lsls r7, 2
- adds r0, r4, r7
- lsls r0, 1
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9F
- bls _081487CC
- movs r0, 0
- strh r0, [r6, 0x10]
- strh r0, [r6, 0x12]
- movs r0, 0x7
- strh r0, [r6, 0x14]
- movs r0, 0x2
- bl EnableInterrupts
- ldr r0, =VBlankCB_Phase2_Slice
- bl SetVBlankCallback
- ldr r0, =HBlankCB_Phase2_Slice
- bl SetHBlankCallback
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148798
-
- thumb_func_start sub_8148864
-sub_8148864: @ 8148864
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r9, r0
- ldr r1, =gUnknown_085C8C64
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- add r4, sp, 0x4
- ldr r1, =gUnknown_085C8C66
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- str r0, [sp, 0x8]
- mov r10, r0
- mov r1, r9
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- ldr r1, [sp, 0x8]
- cmp r1, r0
- ble _081488A4
- b _08148A68
-_081488A4:
- movs r7, 0
- mov r2, r10
- negs r2, r2
- str r2, [sp, 0xC]
- mov r3, r10
- adds r3, 0x1
- str r3, [sp, 0x10]
-_081488B2:
- movs r6, 0
- mov r0, sp
- adds r0, r7
- mov r12, r0
-_081488BA:
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r2, [sp, 0xC]
- muls r0, r2
- lsls r0, 1
- mov r3, r12
- ldrb r3, [r3]
- adds r0, r3
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _08148966
- cmp r0, 0x4F
- bne _081488E2
- cmp r7, 0x1
- beq _08148966
-_081488E2:
- lsls r1, r0, 1
- ldr r0, =gUnknown_02038EA8
- adds r4, r1, r0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2
- adds r3, r1, r0
- ldr r0, =gUnknown_02039128
- adds r1, r0
- ldrh r2, [r4]
- cmp r2, 0xEF
- bls _08148920
- movs r1, 0xF0
- strh r1, [r4]
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- b _08148940
- .pool
-_08148920:
- ldrh r0, [r3]
- lsrs r0, 8
- adds r0, r2, r0
- strh r0, [r4]
- ldrh r0, [r1]
- cmp r0, 0x7F
- bhi _08148932
- lsls r0, 1
- strh r0, [r1]
-_08148932:
- ldrh r2, [r3]
- ldr r0, =0x00000fff
- cmp r2, r0
- bhi _08148940
- ldrh r0, [r1]
- adds r0, r2, r0
- strh r0, [r3]
-_08148940:
- lsls r0, r5, 16
- asrs r0, 15
- ldr r1, =gUnknown_02038C28
- adds r2, r0, r1
- ldr r1, =gUnknown_02038D68
- adds r3, r0, r1
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r4]
- ldrh r1, [r1, 0x14]
- adds r0, r1
- strh r0, [r2]
- ldrh r0, [r4]
- movs r1, 0xF0
- subs r0, r1, r0
- strh r0, [r3]
- mov r2, r10
- cmp r2, 0
- beq _08148970
-_08148966:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _081488BA
-_08148970:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _081488B2
- movs r7, 0
- ldr r3, =gUnknown_02038EA8
- mov r8, r3
-_08148980:
- movs r6, 0
- mov r0, sp
- adds r0, r7
- mov r12, r0
- adds r1, r7, 0x1
- str r1, [sp, 0x14]
-_0814898C:
- mov r2, r12
- ldrb r1, [r2]
- adds r1, 0x1
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- movs r3, 0
- ldrsh r0, [r0, r3]
- ldr r2, [sp, 0xC]
- muls r0, r2
- lsls r0, 1
- adds r1, r0
- lsls r1, 16
- lsrs r5, r1, 16
- asrs r1, 16
- cmp r1, 0xA0
- bgt _08148A40
- cmp r1, 0x50
- bne _081489B6
- cmp r7, 0x1
- beq _08148A40
-_081489B6:
- lsls r1, 1
- mov r3, r8
- adds r4, r1, r3
- movs r0, 0xA0
- lsls r0, 1
- add r0, r8
- adds r3, r1, r0
- ldr r0, =gUnknown_02039128
- adds r1, r0
- ldrh r2, [r4]
- cmp r2, 0xEF
- bls _081489F8
- movs r1, 0xF0
- strh r1, [r4]
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- b _08148A18
- .pool
-_081489F8:
- ldrh r0, [r3]
- lsrs r0, 8
- adds r0, r2, r0
- strh r0, [r4]
- ldrh r0, [r1]
- cmp r0, 0x7F
- bhi _08148A0A
- lsls r0, 1
- strh r0, [r1]
-_08148A0A:
- ldrh r2, [r3]
- ldr r0, =0x00000fff
- cmp r2, r0
- bhi _08148A18
- ldrh r0, [r1]
- adds r0, r2, r0
- strh r0, [r3]
-_08148A18:
- lsls r0, r5, 16
- asrs r0, 15
- ldr r1, =gUnknown_02038C28
- adds r2, r0, r1
- ldr r1, =gUnknown_02038D68
- adds r3, r0, r1
- ldr r1, =sTransitionStructPtr
- ldr r0, [r1]
- ldrh r1, [r0, 0x14]
- ldrh r0, [r4]
- subs r1, r0
- strh r1, [r2]
- ldrh r0, [r4]
- lsls r0, 8
- movs r1, 0xF1
- orrs r0, r1
- strh r0, [r3]
- mov r2, r10
- cmp r2, 0
- beq _08148A4A
-_08148A40:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _0814898C
-_08148A4A:
- ldr r3, [sp, 0x14]
- lsls r0, r3, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _08148980
- ldr r1, [sp, 0x10]
- lsls r0, r1, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, r9
- movs r3, 0x12
- ldrsh r0, [r2, r3]
- cmp r10, r0
- bgt _08148A68
- b _081488A4
-_08148A68:
- mov r1, r9
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- strh r0, [r1, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _08148A7A
- movs r0, 0
- strh r0, [r1, 0x10]
-_08148A7A:
- mov r2, r9
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bgt _08148A98
- movs r1, 0x12
- ldrsh r0, [r2, r1]
- adds r0, 0x1
- cmp r0, 0x14
- bgt _08148A98
- ldrh r0, [r2, 0x14]
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x12]
- adds r0, 0x1
- strh r0, [r2, 0x12]
-_08148A98:
- ldr r2, [sp, 0x8]
- cmp r2, 0x9F
- bls _08148AA6
- mov r3, r9
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08148AA6:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148864
-
- thumb_func_start sub_8148AD4
-sub_8148AD4: @ 8148AD4
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r2, 0x1
- ldr r5, =0x0000ff10
- movs r1, 0
- ldr r4, =gUnknown_020393A8
-_08148AE0:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xF0
- beq _08148AF0
- cmp r0, r5
- beq _08148AF0
- movs r2, 0
-_08148AF0:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _08148AE0
- cmp r2, 0x1
- bne _08148B04
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08148B04:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148AD4
-
- thumb_func_start sub_8148B14
-sub_8148B14: @ 8148B14
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =Phase2Task_25
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148B14
-
- thumb_func_start Phase2Task_26
-Phase2Task_26: @ 8148B54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C6C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148B66:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08148B66
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Phase2Task_26
-
- thumb_func_start Phase2Task_27
-Phase2Task_27: @ 8148B8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C78
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148B9E:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08148B9E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Phase2Task_27
-
- thumb_func_start sub_8148BC4
-sub_8148BC4: @ 8148BC4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2]
- movs r0, 0x3F
- strh r0, [r1, 0x4]
- movs r0, 0xF0
- strh r0, [r1, 0x6]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- ldr r0, =gUnknown_02038C28
- movs r2, 0
- movs r1, 0x9F
- ldr r3, =0x000008be
- adds r0, r3
-_08148BEE:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08148BEE
- movs r4, 0
- ldr r0, =VBlankCB1_Phase2_BigPokeball
- bl SetVBlankCallback
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, 0xFF
- strh r0, [r5, 0xC]
- strh r4, [r5, 0x16]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148BC4
-
- thumb_func_start sub_8148C28
-sub_8148C28: @ 8148C28
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08148C6C
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08148CDE
- .pool
-_08148C6C:
- ldr r5, =sTransitionStructPtr
- ldr r1, [r5]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r2, [r4, 0xC]
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- bgt _08148C88
- adds r0, r2, 0
- adds r0, 0x80
- strh r0, [r4, 0xC]
-_08148C88:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x9F
- bgt _08148C9C
- ldrh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 24
- adds r0, r1, r0
- strh r0, [r4, 0xA]
-_08148C9C:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- ble _08148CA8
- movs r0, 0xA0
- strh r0, [r4, 0xA]
-_08148CA8:
- ldr r0, =gUnknown_02038C28
- movs r2, 0xA
- ldrsh r3, [r4, r2]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- bne _08148CD4
- movs r0, 0x1
- strh r0, [r4, 0x16]
- bl sub_8149F84
- b _08148CDE
- .pool
-_08148CD4:
- ldr r0, [r5]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
-_08148CDE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8148C28
-
- thumb_func_start sub_8148CE8
-sub_8148CE8: @ 8148CE8
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =sTransitionStructPtr
- ldr r0, [r6]
- ldrb r1, [r0]
- movs r5, 0
- strb r5, [r0]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08148D0A
- adds r0, r1, 0x1
- strh r0, [r4, 0x16]
- movs r0, 0x30
- strh r0, [r4, 0xA]
- strh r5, [r4, 0x14]
-_08148D0A:
- ldr r1, =gUnknown_085C8C80
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r4, 0xA]
- adds r0, r1
- strh r0, [r4, 0xA]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- adds r1, 0x1
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- strh r1, [r4, 0x14]
- ldr r0, =gUnknown_02038C28
- movs r1, 0xA
- ldrsh r3, [r4, r1]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bgt _08148D4C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0x16]
-_08148D4C:
- ldr r0, [r6]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148CE8
-
- thumb_func_start sub_8148D6C
-sub_8148D6C: @ 8148D6C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08148D8E
- adds r0, r1, 0x1
- strh r0, [r4, 0x16]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r0, [r4, 0x14]
-_08148D8E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- ble _08148D9A
- movs r0, 0xA0
- strh r0, [r4, 0xA]
-_08148D9A:
- ldr r0, =gUnknown_02038C28
- movs r2, 0xA
- ldrsh r3, [r4, r2]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- bne _08148DD6
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08148DD6:
- ldrh r2, [r4, 0x12]
- ldrb r0, [r4, 0x12]
- cmp r0, 0x80
- bgt _08148DFC
- ldrh r1, [r4, 0x14]
- adds r0, r2, 0
- adds r0, 0x8
- b _08148E08
- .pool
-_08148DFC:
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r2, 0
- adds r0, 0x10
-_08148E08:
- strh r0, [r4, 0x12]
- movs r0, 0xFF
- ands r2, r0
- lsls r1, 16
- asrs r1, 16
- adds r0, r2, 0
- bl Sin
- ldrh r2, [r4, 0xA]
- adds r0, r2
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _08148E28
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_08148E28:
- ldrh r0, [r4, 0x12]
- lsls r1, r0, 16
- asrs r0, r1, 16
- cmp r0, 0xFE
- ble _08148E3C
- asrs r0, r1, 24
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
-_08148E3C:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148D6C
-
- thumb_func_start Phase2Task_28
-Phase2Task_28: @ 8148E54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C84
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148E66:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08148E66
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Phase2Task_28
-
- thumb_func_start sub_8148E8C
-sub_8148E8C: @ 8148E8C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- ldr r4, =sShrinkingBoxTileset
- ldr r1, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- movs r0, 0xE0
- lsls r0, 1
- adds r4, r0
- ldr r1, [sp, 0x8]
- adds r1, 0x40
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- mov r1, sp
- movs r2, 0xF0
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gFieldEffectObjectPalette10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r1, 0
- movs r4, 0x1
- movs r0, 0x1
- strh r0, [r5, 0xE]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldr r5, =gUnknown_03001210
- strb r1, [r5]
- ldr r0, =0x0000ffff
- strh r0, [r5, 0x2]
- strb r4, [r5, 0x4]
- movs r2, 0x9A
- lsls r2, 1
- strh r2, [r5, 0x6]
- strb r1, [r5, 0x8]
- strb r1, [r5, 0xC]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r5, 0xE]
- strb r4, [r5, 0x10]
- strh r2, [r5, 0x12]
- strb r1, [r5, 0x14]
- strb r1, [r5, 0x18]
- ldr r2, =0x0000fffd
- strh r2, [r5, 0x1A]
- strb r4, [r5, 0x1C]
- ldr r3, =0x00000133
- strh r3, [r5, 0x1E]
- adds r0, r5, 0
- adds r0, 0x20
- strb r1, [r0]
- adds r0, 0x4
- strb r1, [r0]
- strh r2, [r5, 0x26]
- adds r0, 0x4
- strb r4, [r0]
- strh r3, [r5, 0x2A]
- adds r0, 0x4
- strb r1, [r0]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148E8C
+
- thumb_func_start sub_8148F4C
-sub_8148F4C: @ 8148F4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- movs r7, 0x1
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- movs r0, 0
-_08148F62:
- movs r5, 0
- adds r6, r0, 0x1
-_08148F66:
- ldr r1, =gUnknown_085C8D38
- lsrs r0, r5, 1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- ldr r2, =gUnknown_03001210
- adds r4, r1, r2
- adds r1, r4, 0
- bl sub_8149048
- lsls r0, 16
- cmp r0, 0
- beq _08148FCA
- movs r7, 0
- ldrh r2, [r4, 0x2]
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0x1
- bne _08148FA0
- ldr r0, =0x0000027d
- adds r1, r0, 0
- lsls r0, r2, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
-_08148FA0:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _08148FAC
- adds r0, 0x1F
-_08148FAC:
- asrs r2, r0, 5
- lsls r0, r2, 5
- subs r0, r1, r0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r2, 5
- lsls r0, 16
- asrs r0, 16
- adds r1, r0
- ldr r0, [sp]
- lsls r1, 1
- adds r1, r0
- ldr r2, =0x0000f002
- adds r0, r2, 0
- strh r0, [r1]
-_08148FCA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _08148F66
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08148F62
- cmp r7, 0x1
- bne _08148FE8
- mov r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08148FE8:
- movs r0, 0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148F4C
-
- thumb_func_start sub_8149008
-sub_8149008: @ 8149008
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149008
-
- thumb_func_start sub_8149048
-sub_8149048: @ 8149048
- push {r4,lr}
- adds r2, r1, 0
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r3, [r1]
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081490CE
- ldr r1, =gUnknown_03001208
- ldrh r0, [r3]
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1]
- ldrh r0, [r3, 0x4]
- strh r0, [r1]
- ldrh r0, [r3, 0x6]
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- beq _081490A0
- cmp r0, 0x2
- bgt _08149090
- cmp r0, 0x1
- beq _0814909A
- b _081490B2
- .pool
-_08149090:
- cmp r0, 0x3
- beq _081490A6
- cmp r0, 0x4
- beq _081490AC
- b _081490B2
-_0814909A:
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- b _081490B0
-_081490A0:
- ldrh r0, [r2, 0x2]
- subs r0, 0x1
- b _081490B0
-_081490A6:
- ldrh r0, [r2, 0x2]
- subs r0, 0x20
- b _081490B0
-_081490AC:
- ldrh r0, [r2, 0x2]
- adds r0, 0x20
-_081490B0:
- strh r0, [r2, 0x2]
-_081490B2:
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- ldr r0, =0x0000027f
- cmp r1, r0
- bgt _081490CE
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _081490D8
-_081490CE:
- movs r0, 0
- b _08149138
- .pool
-_081490D8:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _081490F4
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _081490F4
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r2, 0x4]
- ldrh r0, [r2, 0x6]
- strh r0, [r2, 0x2]
- movs r0, 0x4
- strb r0, [r2]
-_081490F4:
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _08149136
- ldrb r0, [r2]
- adds r1, r0, 0x1
- strb r1, [r2]
- ldrb r0, [r2, 0x8]
- cmp r0, 0x1
- bne _08149124
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _08149136
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- strb r0, [r2, 0x4]
- movs r0, 0x4
- b _08149134
-_08149124:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08149136
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- strb r0, [r2, 0x4]
- movs r0, 0
-_08149134:
- strb r0, [r2]
-_08149136:
- movs r0, 0x1
-_08149138:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149048
-
- thumb_func_start Phase2Task_Groudon
-Phase2Task_Groudon: @ 8149140
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =sPhase2_Groudon_Funcs
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08149152:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08149152
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Phase2Task_Groudon
-
- thumb_func_start sub_8149178
-sub_8149178: @ 8149178
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085BE51C
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085BEA88
- ldr r1, [sp, 0x4]
- bl LZ77UnCompVram
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149178
-
- thumb_func_start sub_81491C8
-sub_81491C8: @ 81491C8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08149200
- adds r0, r5, 0
- movs r1, 0x1E
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gUnknown_085BF0A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08149200:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3A
- ble _08149218
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
-_08149218:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81491C8
-
- thumb_func_start sub_8149224
-sub_8149224: @ 8149224
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x5
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08149252
- adds r0, r5, 0
- movs r1, 0x5
- bl __divsi3
- lsls r0, 16
- asrs r0, 11
- ldr r1, =gUnknown_085BF2A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08149252:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x44
- ble _0814926E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x1E
- strh r0, [r4, 0x18]
-_0814926E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149224
thumb_func_start Phase2Task_Rayquaza
Phase2Task_Rayquaza: @ 814927C