diff options
Diffstat (limited to 'asm/fldeff_teleport.s')
-rw-r--r-- | asm/fldeff_teleport.s | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s new file mode 100644 index 000000000..4648c2e51 --- /dev/null +++ b/asm/fldeff_teleport.s @@ -0,0 +1,84 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .syntax unified + + .text + + thumb_func_start sub_817C8BC +sub_817C8BC: @ 817C8BC + push {lr} + ldr r0, =gUnknown_02037318 + ldrb r0, [r0, 0x17] + bl is_light_level_1_2_3_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0817C8D8 + movs r0, 0 + b _0817C8E6 + .pool +_0817C8D8: + ldr r1, =gUnknown_03005DB0 + ldr r0, =hm_add_c3_launch_phase_2 + str r0, [r1] + ldr r1, =gUnknown_0203CEEC + ldr r0, =hm_teleport_run_dp02scr + str r0, [r1] + movs r0, 0x1 +_0817C8E6: + pop {r1} + bx r1 + .pool + thumb_func_end sub_817C8BC + + thumb_func_start hm_teleport_run_dp02scr +hm_teleport_run_dp02scr: @ 817C8FC + push {lr} + bl sub_808469C + movs r0, 0x3F + bl FieldEffectStart + bl brm_get_pokemon_selection + ldr r1, =gUnknown_02038C08 + lsls r0, 24 + lsrs r0, 24 + str r0, [r1] + pop {r0} + bx r0 + .pool + thumb_func_end hm_teleport_run_dp02scr + + thumb_func_start sub_817C91C +sub_817C91C: @ 817C91C + push {lr} + bl oei_task_add + lsls r0, 24 + lsrs r0, 24 + ldr r2, =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, =sub_817C94C + lsrs r0, r2, 16 + strh r0, [r1, 0x18] + strh r2, [r1, 0x1A] + movs r0, 0x1 + bl SetPlayerAvatarTransitionFlags + movs r0, 0 + pop {r1} + bx r1 + .pool + thumb_func_end sub_817C91C + + thumb_func_start sub_817C94C +sub_817C94C: @ 817C94C + push {lr} + movs r0, 0x3F + bl FieldEffectActiveListRemove + bl sub_80B7FC8 + pop {r0} + bx r0 + thumb_func_end sub_817C94C + + .align 2, 0 @ Don't pad with nop. |