diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/field_fadetransition.s | 2391 |
1 files changed, 0 insertions, 2391 deletions
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s deleted file mode 100644 index 4b707a46a..000000000 --- a/asm/field_fadetransition.s +++ /dev/null @@ -1,2391 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start palette_bg_faded_fill_white -palette_bg_faded_fill_white: @ 807DB14 - push {lr} - sub sp, 0x4 - ldr r0, _0807DB2C @ =0x7fff7fff - str r0, [sp] - ldr r1, _0807DB30 @ =gPlttBufferFaded - ldr r2, _0807DB34 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0807DB2C: .4byte 0x7fff7fff -_0807DB30: .4byte gPlttBufferFaded -_0807DB34: .4byte 0x01000100 - thumb_func_end palette_bg_faded_fill_white - - thumb_func_start palette_bg_faded_fill_black -palette_bg_faded_fill_black: @ 807DB38 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _0807DB50 @ =gPlttBufferFaded - ldr r2, _0807DB54 @ =0x01000100 - mov r0, sp - bl CpuFastSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0807DB50: .4byte gPlttBufferFaded -_0807DB54: .4byte 0x01000100 - thumb_func_end palette_bg_faded_fill_black - - thumb_func_start pal_fill_for_maplights -pal_fill_for_maplights: @ 807DB58 - push {r4,lr} - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DB82 - cmp r0, 0x1 - beq _0807DB94 - b _0807DBA4 -_0807DB82: - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_black - b _0807DBA4 -_0807DB94: - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_white -_0807DBA4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end pal_fill_for_maplights - - thumb_func_start sub_807DBAC -sub_807DBAC: @ 807DBAC - push {r4,lr} - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DBD6 - cmp r0, 0x1 - beq _0807DBE8 - b _0807DBF8 -_0807DBD6: - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0x3 - bl fade_screen - bl palette_bg_faded_fill_black - b _0807DBF8 -_0807DBE8: - bl palette_bg_faded_fill_white - movs r0, 0x2 - movs r1, 0x3 - bl fade_screen - bl palette_bg_faded_fill_white -_0807DBF8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DBAC - - thumb_func_start sub_807DC00 -sub_807DC00: @ 807DC00 - push {lr} - bl palette_bg_faded_fill_black - movs r0, 0 - movs r1, 0 - bl fade_screen - bl palette_bg_faded_fill_black - pop {r0} - bx r0 - thumb_func_end sub_807DC00 - - thumb_func_start sub_807DC18 -sub_807DC18: @ 807DC18 - push {r4,lr} - bl warp1_get_mapheader - adds r4, r0, 0 - ldr r1, _0807DC54 @ =gMapHeader - ldrb r0, [r4, 0x14] - ldrb r1, [r1, 0x14] - cmp r0, r1 - beq _0807DC36 - movs r1, 0 - bl sub_80F8110 - lsls r0, 24 - cmp r0, 0 - bne _0807DC58 -_0807DC36: - bl GetCurrentMapType - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x17] - bl sub_80C9D7C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DC58 - cmp r0, 0x1 - beq _0807DC62 - b _0807DC6A - .align 2, 0 -_0807DC54: .4byte gMapHeader -_0807DC58: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _0807DC6A -_0807DC62: - movs r0, 0x3 - movs r1, 0 - bl fade_screen -_0807DC6A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DC18 - - thumb_func_start sub_807DC70 -sub_807DC70: @ 807DC70 - push {r4,lr} - bl GetCurrentMapType - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl warp1_get_mapheader - ldrb r1, [r0, 0x17] - adds r0, r4, 0 - bl sub_80C9D7C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DC96 - cmp r0, 0x1 - beq _0807DCA0 - b _0807DCA8 -_0807DC96: - movs r0, 0x1 - movs r1, 0x3 - bl fade_screen - b _0807DCA8 -_0807DCA0: - movs r0, 0x3 - movs r1, 0x3 - bl fade_screen -_0807DCA8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807DC70 - - thumb_func_start sub_807DCB0 -sub_807DCB0: @ 807DCB0 - push {lr} - lsls r0, 24 - movs r1, 0 - cmp r0, 0 - bne _0807DCBC - movs r1, 0x1 -_0807DCBC: - adds r0, r1, 0 - bl sub_805CB04 - pop {r0} - bx r0 - thumb_func_end sub_807DCB0 - - thumb_func_start task0A_nop_for_a_while -task0A_nop_for_a_while: @ 807DCC8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807DCDC - adds r0, r4, 0 - bl DestroyTask -_0807DCDC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_nop_for_a_while - - thumb_func_start sub_807DCE4 -sub_807DCE4: @ 807DCE4 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807DD00 @ =task0A_nop_for_a_while - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD00: .4byte task0A_nop_for_a_while - thumb_func_end sub_807DCE4 - - thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running -task0A_asap_script_env_2_enable_and_set_ctx_running: @ 807DD04 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807DD1C - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_0807DD1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running - - thumb_func_start FieldCallback_ReturnToEventScript2 -FieldCallback_ReturnToEventScript2: @ 807DD24 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807DD40 @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD40: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end FieldCallback_ReturnToEventScript2 - - thumb_func_start sub_807DD44 -sub_807DD44: @ 807DD44 - push {lr} - bl ScriptContext2_Enable - bl sub_807DC00 - ldr r0, _0807DD5C @ =task0A_asap_script_env_2_enable_and_set_ctx_running - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DD5C: .4byte task0A_asap_script_env_2_enable_and_set_ctx_running - thumb_func_end sub_807DD44 - - thumb_func_start task_mpl_807DD60 -task_mpl_807DD60: @ 807DD60 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r2, _0807DD84 @ =gTasks - adds r4, r0, r2 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807DD9A - cmp r0, 0x1 - bgt _0807DD88 - cmp r0, 0 - beq _0807DD8E - b _0807DDCA - .align 2, 0 -_0807DD84: .4byte gTasks -_0807DD88: - cmp r0, 0x2 - beq _0807DDB8 - b _0807DDCA -_0807DD8E: - bl sub_8081150 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xA] - b _0807DDB0 -_0807DD9A: - movs r1, 0xA - ldrsh r0, [r4, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807DDCA - bl pal_fill_for_maplights -_0807DDB0: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807DDCA -_0807DDB8: - bl sub_807E418 - cmp r0, 0x1 - bne _0807DDCA - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807DDCA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_mpl_807DD60 - - thumb_func_start sub_807DDD0 -sub_807DDD0: @ 807DDD0 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, _0807DDEC @ =task_mpl_807DD60 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DDEC: .4byte task_mpl_807DD60 - thumb_func_end sub_807DDD0 - - thumb_func_start sub_807DDF0 -sub_807DDF0: @ 807DDF0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807DE14 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807DE24 - cmp r0, 0x1 - bgt _0807DE18 - cmp r0, 0 - beq _0807DE1E - b _0807DE50 - .align 2, 0 -_0807DE14: .4byte gTasks -_0807DE18: - cmp r0, 0x2 - beq _0807DE3A - b _0807DE50 -_0807DE1E: - bl sub_800AB9C - b _0807DE32 -_0807DE24: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0807DE50 - bl pal_fill_for_maplights -_0807DE32: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807DE50 -_0807DE3A: - bl sub_807E418 - cmp r0, 0x1 - bne _0807DE50 - bl sub_8009FE8 - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807DE50: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807DDF0 - - thumb_func_start sub_807DE58 -sub_807DE58: @ 807DE58 - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl palette_bg_faded_fill_black - ldr r0, _0807DE74 @ =sub_807DDF0 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807DE74: .4byte sub_807DDF0 - thumb_func_end sub_807DE58 - - thumb_func_start sub_807DE78 -sub_807DE78: @ 807DE78 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsWarpDoor_2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DEE8 - ldr r5, _0807DED8 @ =sub_807DFBC - bl get_map_light_from_warp0 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl GetCurrentMapType - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_80C9DCC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807DEDC - cmp r0, 0x1 - beq _0807DEE2 - b _0807DF2E - .align 2, 0 -_0807DED8: .4byte sub_807DFBC -_0807DEDC: - bl palette_bg_faded_fill_black - b _0807DF2E -_0807DEE2: - bl palette_bg_faded_fill_white - b _0807DF2E -_0807DEE8: - adds r0, r5, 0 - bl sub_807DF4C - adds r0, r4, 0 - bl MetatileBehavior_IsCaveDoor - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DF04 - ldr r5, _0807DF00 @ =task_map_chg_seq_0807E20C - b _0807DF2E - .align 2, 0 -_0807DF00: .4byte task_map_chg_seq_0807E20C -_0807DF04: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6C_to_6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807DF2C - ldr r0, _0807DF20 @ =gUnknown_2031DE0 - ldrb r0, [r0] - ldr r5, _0807DF24 @ =task_map_chg_seq_0807E2CC - cmp r0, 0 - bne _0807DF2E - ldr r5, _0807DF28 @ =sub_807EC34 - b _0807DF2E - .align 2, 0 -_0807DF20: .4byte gUnknown_2031DE0 -_0807DF24: .4byte task_map_chg_seq_0807E2CC -_0807DF28: .4byte sub_807EC34 -_0807DF2C: - ldr r5, _0807DF44 @ =task_map_chg_seq_0807E2CC -_0807DF2E: - ldr r1, _0807DF48 @ =gUnknown_2031DE0 - movs r0, 0 - strb r0, [r1] - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807DF44: .4byte task_map_chg_seq_0807E2CC -_0807DF48: .4byte gUnknown_2031DE0 - thumb_func_end sub_807DE78 - - thumb_func_start sub_807DF4C -sub_807DF4C: @ 807DF4C - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0807DF5A - bl pal_fill_for_maplights - b _0807DF5E -_0807DF5A: - bl sub_807DC00 -_0807DF5E: - pop {r0} - bx r0 - thumb_func_end sub_807DF4C - - thumb_func_start sub_807DF64 -sub_807DF64: @ 807DF64 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl sub_8111CF0 - movs r0, 0 - bl sub_807DE78 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_807DF64 - - thumb_func_start sub_807DF7C -sub_807DF7C: @ 807DF7C - push {lr} - bl Overworld_PlaySpecialMapMusic - bl sub_8111CF0 - movs r0, 0x1 - bl sub_807DE78 - bl ScriptContext2_Enable - pop {r0} - bx r0 - thumb_func_end sub_807DF7C - - thumb_func_start sub_807DF94 -sub_807DF94: @ 807DF94 - push {lr} - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl sub_8111CF0 - movs r0, 0x28 - bl PlaySE - ldr r0, _0807DFB8 @ =sub_807E31C - movs r1, 0xA - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0807DFB8: .4byte sub_807E31C - thumb_func_end sub_807DF94 - - thumb_func_start sub_807DFBC -sub_807DFBC: @ 807DFBC - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807DFF8 @ =gTasks - adds r4, r0, r1 - adds r6, r4, 0 - adds r6, 0xC - adds r7, r4, 0 - adds r7, 0xE - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r2, r1, 0 - cmp r0, 0 - bne _0807DFE2 - movs r0, 0x5 - strh r0, [r4, 0x8] -_0807DFE2: - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bls _0807DFEC - b _0807E206 -_0807DFEC: - lsls r0, 2 - ldr r1, _0807DFFC @ =_0807E000 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807DFF8: .4byte gTasks -_0807DFFC: .4byte _0807E000 - .align 2, 0 -_0807E000: - .4byte _0807E028 - .4byte _0807E160 - .4byte _0807E198 - .4byte _0807E1DC - .4byte _0807E1F8 - .4byte _0807E04C - .4byte _0807E064 - .4byte _0807E0A2 - .4byte _0807E0EC - .4byte _0807E10E -_0807E028: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r2, 0 - ldrsh r0, [r6, r2] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldSetDoorOpened - movs r0, 0x1 - strh r0, [r4, 0x8] - b _0807E206 -_0807E04C: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - bl sub_807F114 - bl sub_807DBAC - movs r0, 0x6 - strh r0, [r4, 0x8] - b _0807E206 -_0807E064: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x19 - beq _0807E074 - b _0807E206 -_0807E074: - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl GetDoorSoundEffect - lsls r0, 16 - lsrs r0, 16 - bl PlaySE - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldAnimateDoorOpen - movs r0, 0x7 - strh r0, [r4, 0x8] - b _0807E206 -_0807E0A2: - bl FieldIsDoorAnimationRunning - lsls r0, 24 - cmp r0, 0 - beq _0807E0AE - b _0807E206 -_0807E0AE: - adds r0, r4, 0 - adds r0, 0x20 - adds r1, r4, 0 - adds r1, 0x22 - bl PlayerGetDestCoords - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E0E8 @ =gMapObjects - adds r0, r1 - movs r1, 0x10 - bl FieldObjectSetHeldMovement - movs r0, 0x8 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E0E8: .4byte gMapObjects -_0807E0EC: - ldrh r0, [r4, 0x24] - adds r0, 0x1 - strh r0, [r4, 0x24] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xE - beq _0807E0FC - b _0807E206 -_0807E0FC: - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x22 - ldrsh r1, [r4, r2] - bl FieldAnimateDoorClose - movs r0, 0x9 - strh r0, [r4, 0x8] - b _0807E206 -_0807E10E: - bl sub_807E418 - cmp r0, 0 - beq _0807E206 - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E206 - bl FieldIsDoorAnimationRunning - lsls r0, 24 - cmp r0, 0 - bne _0807E206 - ldr r0, _0807E158 @ =sub_807F204 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _0807E206 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E15C @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - b _0807E1F2 - .align 2, 0 -_0807E158: .4byte sub_807F204 -_0807E15C: .4byte gMapObjects -_0807E160: - bl sub_807E418 - cmp r0, 0 - beq _0807E206 - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E194 @ =gMapObjects - adds r0, r1 - movs r1, 0x10 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E194: .4byte gMapObjects -_0807E198: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E206 - movs r1, 0 - ldrsh r0, [r6, r1] - movs r2, 0 - ldrsh r1, [r7, r2] - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r4, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E1D8 @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - movs r0, 0x3 - strh r0, [r4, 0x8] - b _0807E206 - .align 2, 0 -_0807E1D8: .4byte gMapObjects -_0807E1DC: - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0 - blt _0807E1F2 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E206 -_0807E1F2: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _0807E206 -_0807E1F8: - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E206: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807DFBC - - thumb_func_start task_map_chg_seq_0807E20C -task_map_chg_seq_0807E20C: @ 807E20C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807E238 @ =gTasks - adds r5, r0, r1 - adds r6, r5, 0 - adds r6, 0xC - adds r7, r5, 0 - adds r7, 0xE - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0807E25E - cmp r0, 0x1 - bgt _0807E23C - cmp r0, 0 - beq _0807E246 - b _0807E2C6 - .align 2, 0 -_0807E238: .4byte gTasks -_0807E23C: - cmp r0, 0x2 - beq _0807E2A8 - cmp r0, 0x3 - beq _0807E2B8 - b _0807E2C6 -_0807E246: - movs r0, 0 - bl sub_807DCB0 - bl player_bitmagic - adds r0, r6, 0 - adds r1, r7, 0 - bl PlayerGetDestCoords - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0807E2C6 -_0807E25E: - bl sub_807E418 - cmp r0, 0 - beq _0807E2C6 - movs r0, 0x1 - bl sub_807DCB0 - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807E2A4 @ =gMapObjects - adds r4, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl sub_8063F84 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0807E2C6 - .align 2, 0 -_0807E2A4: .4byte gMapObjects -_0807E2A8: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E2C6 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0807E2C6 -_0807E2B8: - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask -_0807E2C6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E20C - - thumb_func_start task_map_chg_seq_0807E2CC -task_map_chg_seq_0807E2CC: @ 807E2CC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807E2EC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0807E2F0 - cmp r0, 0x1 - beq _0807E300 - b _0807E316 - .align 2, 0 -_0807E2EC: .4byte gTasks -_0807E2F0: - bl player_bitmagic - bl ScriptContext2_Enable - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E316 -_0807E300: - bl sub_807E418 - cmp r0, 0 - beq _0807E316 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E316: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_map_chg_seq_0807E2CC - - thumb_func_start sub_807E31C -sub_807E31C: @ 807E31C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807E33C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0807E340 - cmp r0, 0x1 - beq _0807E354 - b _0807E372 - .align 2, 0 -_0807E33C: .4byte gTasks -_0807E340: - bl player_bitmagic - bl ScriptContext2_Enable - bl sub_805DC04 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E372 -_0807E354: - bl sub_807E418 - cmp r0, 0 - beq _0807E372 - bl sub_805DC24 - cmp r0, 0x1 - beq _0807E372 - bl UnfreezeMapObjects - bl ScriptContext2_Disable - adds r0, r5, 0 - bl DestroyTask -_0807E372: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807E31C - - thumb_func_start sub_807E378 -sub_807E378: @ 807E378 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807E394 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0807E39C @ =sub_806F1F0 - movs r1, 0x50 - bl CreateTask -_0807E394: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0807E39C: .4byte sub_806F1F0 - thumb_func_end sub_807E378 - - thumb_func_start sub_807E3A0 -sub_807E3A0: @ 807E3A0 - push {lr} - bl sub_807DC00 - ldr r0, _0807E3B8 @ =sub_807E378 - movs r1, 0x50 - bl CreateTask - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0807E3B8: .4byte sub_807E378 - thumb_func_end sub_807E3A0 - - thumb_func_start sub_807E3BC -sub_807E3BC: @ 807E3BC - push {lr} - bl sub_806F1D4 - movs r0, 0 - pop {r1} - bx r1 - thumb_func_end sub_807E3BC - - thumb_func_start task_mpl_807E3C8 -task_mpl_807E3C8: @ 807E3C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807E418 - cmp r0, 0x1 - bne _0807E3E4 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - bl sub_80696C0 -_0807E3E4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end task_mpl_807E3C8 - - thumb_func_start sub_807E3EC -sub_807E3EC: @ 807E3EC - push {lr} - bl ScriptContext2_Enable - bl Overworld_PlaySpecialMapMusic - bl sub_807DC00 - ldr r0, _0807E408 @ =task_mpl_807E3C8 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E408: .4byte task_mpl_807E3C8 - thumb_func_end sub_807E3EC - - thumb_func_start sub_807E40C -sub_807E40C: @ 807E40C - ldr r0, _0807E414 @ =gPaletteFade - ldrb r0, [r0, 0x7] - lsrs r0, 7 - bx lr - .align 2, 0 -_0807E414: .4byte gPaletteFade - thumb_func_end sub_807E40C - - thumb_func_start sub_807E418 -sub_807E418: @ 807E418 - push {lr} - bl sub_807AA70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807E432 - bl sub_80F83B0 - cmp r0, 0 - beq _0807E432 - movs r0, 0x1 - b _0807E434 -_0807E432: - movs r0, 0 -_0807E434: - pop {r1} - bx r1 - thumb_func_end sub_807E418 - - thumb_func_start DoWarp -DoWarp: @ 807E438 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - bl PlayRainStoppingSoundEffect - movs r0, 0x9 - bl PlaySE - ldr r0, _0807E464 @ =gFieldCallback - ldr r1, _0807E468 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E46C @ =sub_807E718 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E464: .4byte gFieldCallback -_0807E468: .4byte sub_807DF64 -_0807E46C: .4byte sub_807E718 - thumb_func_end DoWarp - - thumb_func_start DoDiveWarp -DoDiveWarp: @ 807E470 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - bl PlayRainStoppingSoundEffect - ldr r0, _0807E494 @ =gFieldCallback - ldr r1, _0807E498 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E49C @ =sub_807E718 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E494: .4byte gFieldCallback -_0807E498: .4byte sub_807DF64 -_0807E49C: .4byte sub_807E718 - thumb_func_end DoDiveWarp - - thumb_func_start sub_807E4A0 -sub_807E4A0: @ 807E4A0 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0807E4D4 @ =sub_807E980 - adds r0, r6, 0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807E4D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0x26] - bl _call_via_r6 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E4D4: .4byte sub_807E980 -_0807E4D8: .4byte gTasks - thumb_func_end sub_807E4A0 - - thumb_func_start DoDoorWarp -DoDoorWarp: @ 807E4DC - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E4F4 @ =gFieldCallback - ldr r1, _0807E4F8 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E4FC @ =sub_807E80C - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E4F4: .4byte gFieldCallback -_0807E4F8: .4byte sub_807DF64 -_0807E4FC: .4byte sub_807E80C - thumb_func_end DoDoorWarp - - thumb_func_start sub_807E500 -sub_807E500: @ 807E500 - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E518 @ =sub_807E718 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E51C @ =gFieldCallback - ldr r0, _0807E520 @ =sub_807DF94 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E518: .4byte sub_807E718 -_0807E51C: .4byte gFieldCallback -_0807E520: .4byte sub_807DF94 - thumb_func_end sub_807E500 - - thumb_func_start sub_807E524 -sub_807E524: @ 807E524 - push {lr} - bl ScriptContext2_Enable - ldr r0, _0807E53C @ =gFieldCallback - ldr r1, _0807E540 @ =sub_807DF64 - str r1, [r0] - ldr r0, _0807E544 @ =sub_807E784 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E53C: .4byte gFieldCallback -_0807E540: .4byte sub_807DF64 -_0807E544: .4byte sub_807E784 - thumb_func_end sub_807E524 - - thumb_func_start DoFallWarp -DoFallWarp: @ 807E548 - push {lr} - bl DoDiveWarp - ldr r1, _0807E558 @ =gFieldCallback - ldr r0, _0807E55C @ =sub_8084454 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E558: .4byte gFieldCallback -_0807E55C: .4byte sub_8084454 - thumb_func_end DoFallWarp - - thumb_func_start sub_807E560 -sub_807E560: @ 807E560 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ScriptContext2_Enable - adds r0, r4, 0 - movs r1, 0xA - bl sub_8084784 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807E560 - - thumb_func_start sub_807E57C -sub_807E57C: @ 807E57C - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_8084F2C - pop {r0} - bx r0 - thumb_func_end sub_807E57C - - thumb_func_start sub_807E58C -sub_807E58C: @ 807E58C - push {lr} - bl ScriptContext2_Enable - movs r0, 0xA - bl sub_80853CC - pop {r0} - bx r0 - thumb_func_end sub_807E58C - - thumb_func_start sub_807E59C -sub_807E59C: @ 807E59C - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - ldr r0, _0807E5B8 @ =sub_807E784 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E5BC @ =gFieldCallback - ldr r0, _0807E5C0 @ =sub_807DF94 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E5B8: .4byte sub_807E784 -_0807E5BC: .4byte gFieldCallback -_0807E5C0: .4byte sub_807DF94 - thumb_func_end sub_807E59C - - thumb_func_start sub_807E5C4 -sub_807E5C4: @ 807E5C4 - push {lr} - bl ScriptContext2_Enable - bl sub_807DC18 - ldr r0, _0807E5E0 @ =sub_807E718 - movs r1, 0xA - bl CreateTask - ldr r1, _0807E5E4 @ =gFieldCallback - ldr r0, _0807E5E8 @ =nullsub_60 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807E5E0: .4byte sub_807E718 -_0807E5E4: .4byte gFieldCallback -_0807E5E8: .4byte nullsub_60 - thumb_func_end sub_807E5C4 - - thumb_func_start sub_807E5EC -sub_807E5EC: @ 807E5EC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E610 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E620 - cmp r0, 0x1 - bgt _0807E614 - cmp r0, 0 - beq _0807E61A - b _0807E64A - .align 2, 0 -_0807E610: .4byte gTasks -_0807E614: - cmp r0, 0x2 - beq _0807E63A - b _0807E64A -_0807E61A: - bl ScriptContext2_Enable - b _0807E632 -_0807E620: - bl sub_807E40C - cmp r0, 0 - bne _0807E64A - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E64A -_0807E632: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E64A -_0807E63A: - bl WarpIntoMap - ldr r0, _0807E650 @ =sub_8056788 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E64A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E650: .4byte sub_8056788 - thumb_func_end sub_807E5EC - - thumb_func_start sub_807E654 -sub_807E654: @ 807E654 - push {lr} - bl ScriptContext2_Enable - bl sub_8055F88 - bl sub_807DC18 - movs r0, 0x9 - bl PlaySE - ldr r0, _0807E674 @ =sub_807E5EC - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E674: .4byte sub_807E5EC - thumb_func_end sub_807E654 - - thumb_func_start sub_807E678 -sub_807E678: @ 807E678 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E69C @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E6BE - cmp r0, 0x1 - bgt _0807E6A0 - cmp r0, 0 - beq _0807E6A6 - b _0807E6F4 - .align 2, 0 -_0807E69C: .4byte gTasks+0x8 -_0807E6A0: - cmp r0, 0x2 - beq _0807E6DC - b _0807E6F4 -_0807E6A6: - bl sub_800A068 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - bl sub_8055F88 - movs r0, 0x9 - bl PlaySE - b _0807E6D4 -_0807E6BE: - bl sub_807E40C - cmp r0, 0 - bne _0807E6F4 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E6F4 - bl sub_800AAC0 -_0807E6D4: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0807E6F4 -_0807E6DC: - ldr r0, _0807E6FC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807E6F4 - bl WarpIntoMap - ldr r0, _0807E700 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E6F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E6FC: .4byte gReceivedRemoteLinkPlayers -_0807E700: .4byte CB2_LoadMap - thumb_func_end sub_807E678 - - thumb_func_start sub_807E704 -sub_807E704: @ 807E704 - push {lr} - ldr r0, _0807E714 @ =sub_807E678 - movs r1, 0xA - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0807E714: .4byte sub_807E678 - thumb_func_end sub_807E704 - - thumb_func_start sub_807E718 -sub_807E718: @ 807E718 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E73C @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E750 - cmp r0, 0x1 - bgt _0807E740 - cmp r0, 0 - beq _0807E746 - b _0807E77A - .align 2, 0 -_0807E73C: .4byte gTasks -_0807E740: - cmp r0, 0x2 - beq _0807E76A - b _0807E77A -_0807E746: - bl player_bitmagic - bl ScriptContext2_Enable - b _0807E762 -_0807E750: - bl sub_807E40C - cmp r0, 0 - bne _0807E77A - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E77A -_0807E762: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E77A -_0807E76A: - bl WarpIntoMap - ldr r0, _0807E780 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E77A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E780: .4byte CB2_LoadMap - thumb_func_end sub_807E718 - - thumb_func_start sub_807E784 -sub_807E784: @ 807E784 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0807E7A8 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0807E7CA - cmp r0, 0x1 - bgt _0807E7AC - cmp r0, 0 - beq _0807E7B6 - b _0807E802 - .align 2, 0 -_0807E7A8: .4byte gTasks -_0807E7AC: - cmp r0, 0x2 - beq _0807E7D8 - cmp r0, 0x3 - beq _0807E7F2 - b _0807E802 -_0807E7B6: - bl player_bitmagic - bl ScriptContext2_Enable - movs r0, 0x27 - bl PlaySE - bl sub_805DAB0 - b _0807E7EA -_0807E7CA: - bl sub_805DAD0 - cmp r0, 0 - bne _0807E802 - bl sub_807DC18 - b _0807E7EA -_0807E7D8: - bl sub_807E40C - cmp r0, 0 - bne _0807E802 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807E802 -_0807E7EA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0807E802 -_0807E7F2: - bl WarpIntoMap - ldr r0, _0807E808 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0807E802: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0807E808: .4byte CB2_LoadMap - thumb_func_end sub_807E784 - - thumb_func_start sub_807E80C -sub_807E80C: @ 807E80C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0807E83C @ =gTasks - adds r5, r1, r0 - adds r4, r5, 0 - adds r4, 0xC - adds r6, r5, 0 - adds r6, 0xE - movs r2, 0x8 - ldrsh r1, [r5, r2] - adds r2, r0, 0 - cmp r1, 0x5 - bls _0807E830 - b _0807E976 -_0807E830: - lsls r0, r1, 2 - ldr r1, _0807E840 @ =_0807E844 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0807E83C: .4byte gTasks -_0807E840: .4byte _0807E844 - .align 2, 0 -_0807E844: - .4byte _0807E85C - .4byte _0807E898 - .4byte _0807E8F4 - .4byte _0807E940 - .4byte _0807E95C - .4byte _0807E966 -_0807E85C: - bl player_bitmagic - adds r0, r4, 0 - adds r1, r6, 0 - bl PlayerGetDestCoords - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl GetDoorSoundEffect - lsls r0, 16 - lsrs r0, 16 - bl PlaySE - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorOpen - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0x1 - strh r0, [r5, 0x8] - b _0807E976 -_0807E898: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _0807E8AE - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E976 -_0807E8AE: - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r4, _0807E8F0 @ =gMapObjects - adds r0, r4 - bl FieldObjectClearAnimIfSpecialAnimActive - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x11 - bl FieldObjectSetHeldMovement - movs r0, 0x2 - strh r0, [r5, 0x8] - b _0807E976 - .align 2, 0 -_0807E8F0: .4byte gMapObjects -_0807E8F4: - bl walkrun_is_standing_still - lsls r0, 24 - cmp r0, 0 - beq _0807E976 - movs r2, 0 - ldrsh r0, [r4, r2] - movs r2, 0 - ldrsh r1, [r6, r2] - subs r1, 0x1 - bl FieldAnimateDoorClose - lsls r0, 24 - asrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xFF - movs r1, 0 - movs r2, 0 - bl GetFieldObjectIdByLocalIdAndMap - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E93C @ =gMapObjects - adds r0, r1 - bl FieldObjectClearHeldMovementIfFinished - movs r0, 0 - bl sub_807DCB0 - movs r0, 0x3 - strh r0, [r5, 0x8] - b _0807E976 - .align 2, 0 -_0807E93C: .4byte gMapObjects -_0807E940: - movs r1, 0xA - ldrsh r0, [r5, r1] - cmp r0, 0 - blt _0807E956 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0x1 - beq _0807E976 -_0807E956: - movs r0, 0x4 - strh r0, [r5, 0x8] - b _0807E976 -_0807E95C: - bl sub_8055F88 - bl sub_807DC18 - b _0807E96A -_0807E966: - bl sub_8055F88 -_0807E96A: - bl PlayRainStoppingSoundEffect - movs r0, 0 - strh r0, [r5, 0x8] - ldr r0, _0807E97C @ =sub_807E718 - str r0, [r5] -_0807E976: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807E97C: .4byte sub_807E718 - thumb_func_end sub_807E80C - - thumb_func_start sub_807E980 -sub_807E980: @ 807E980 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807E9C0 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r2, _0807E9C4 @ =gPlayerAvatar - ldrb r1, [r2, 0x5] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E9C8 @ =gMapObjects - adds r6, r0, r1 - ldrb r1, [r2, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807E9CC @ =gSprites - adds r7, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0807E9E8 - cmp r0, 0x1 - bgt _0807E9D0 - cmp r0, 0 - beq _0807E9DA - b _0807EA9A - .align 2, 0 -_0807E9C0: .4byte gTasks+0x8 -_0807E9C4: .4byte gPlayerAvatar -_0807E9C8: .4byte gMapObjects -_0807E9CC: .4byte gSprites -_0807E9D0: - cmp r0, 0x2 - beq _0807EA38 - cmp r0, 0x3 - beq _0807EA66 - b _0807EA9A -_0807E9DA: - bl ScriptContext2_Enable - bl player_bitmagic - bl CameraObjectReset2 - b _0807EA92 -_0807E9E8: - adds r0, r6, 0 - bl FieldObjectIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - beq _0807EA00 - adds r0, r6, 0 - bl FieldObjectClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - beq _0807EAB0 -_0807EA00: - ldrh r1, [r5, 0x1E] - movs r2, 0x1E - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0807EA10 - subs r0, r1, 0x1 - strh r0, [r5, 0x1E] - b _0807EAB0 -_0807EA10: - bl sub_8055F88 - bl PlayRainStoppingSoundEffect - ldrb r1, [r7, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r7, 0x5] - ldrh r0, [r5, 0x2] - adds r1, r5, 0x4 - adds r2, r5, 0x6 - bl sub_807EB64 - movs r0, 0x9 - bl PlaySE - b _0807EA92 -_0807EA38: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - adds r2, r5, 0 - adds r2, 0x8 - adds r3, r5, 0 - adds r3, 0xA - adds r4, r5, 0 - adds r4, 0xC - str r4, [sp] - bl sub_807EAC4 - ldrh r0, [r5, 0x1E] - adds r0, 0x1 - strh r0, [r5, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0807EAB0 - bl sub_807DC18 - b _0807EA92 -_0807EA66: - movs r1, 0x4 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - adds r2, r5, 0 - adds r2, 0x8 - adds r3, r5, 0 - adds r3, 0xA - adds r4, r5, 0 - adds r4, 0xC - str r4, [sp] - bl sub_807EAC4 - bl sub_807E40C - cmp r0, 0 - bne _0807EAB0 - bl sub_8055FC4 - lsls r0, 24 - cmp r0, 0 - beq _0807EAB0 -_0807EA92: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - b _0807EAB0 -_0807EA9A: - ldr r0, _0807EAB8 @ =gFieldCallback - ldr r1, _0807EABC @ =sub_807DF64 - str r1, [r0] - bl WarpIntoMap - ldr r0, _0807EAC0 @ =CB2_LoadMap - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0807EAB0: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807EAB8: .4byte gFieldCallback -_0807EABC: .4byte sub_807DF64 -_0807EAC0: .4byte CB2_LoadMap - thumb_func_end sub_807E980 - - thumb_func_start sub_807EAC4 -sub_807EAC4: @ 807EAC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - adds r5, r3, 0 - ldr r6, [sp, 0x18] - lsls r0, 16 - lsrs r0, 16 - mov r12, r0 - ldr r3, _0807EB58 @ =gPlayerAvatar - ldrb r2, [r3, 0x4] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - ldr r2, _0807EB5C @ =gSprites - adds r7, r0, r2 - ldrb r2, [r3, 0x5] - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - ldr r2, _0807EB60 @ =gMapObjects - adds r0, r2 - mov r8, r0 - lsls r1, 16 - asrs r1, 16 - cmp r1, 0 - bgt _0807EB02 - movs r2, 0 - ldrsh r0, [r6, r2] - cmp r0, 0x6 - ble _0807EB08 -_0807EB02: - ldrh r0, [r5] - adds r0, r1, r0 - strh r0, [r5] -_0807EB08: - mov r1, r12 - lsls r0, r1, 16 - asrs r0, 16 - ldrh r2, [r4] - adds r0, r2 - strh r0, [r4] - ldrh r0, [r6] - adds r0, 0x1 - strh r0, [r6] - ldrh r0, [r4] - lsls r0, 16 - asrs r0, 21 - strh r0, [r7, 0x24] - ldrh r0, [r5] - lsls r0, 16 - asrs r0, 21 - strh r0, [r7, 0x26] - mov r1, r8 - ldrb r0, [r1] - lsrs r0, 7 - cmp r0, 0 - beq _0807EB4C - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl FieldObjectForceSetSpecialAnim -_0807EB4C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807EB58: .4byte gPlayerAvatar -_0807EB5C: .4byte gSprites -_0807EB60: .4byte gMapObjects - thumb_func_end sub_807EAC4 - - thumb_func_start sub_807EB64 -sub_807EB64: @ 807EB64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _0807EBB4 @ =gPlayerAvatar - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807EBB8 @ =gMapObjects - adds r4, r0 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - bl GetStepInPlaceDelay16AnimId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectForceSetSpecialAnim - lsls r5, 24 - lsrs r5, 24 - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, r8 - bl sub_807EBBC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0807EBB4: .4byte gPlayerAvatar -_0807EBB8: .4byte gMapObjects - thumb_func_end sub_807EB64 - - thumb_func_start sub_807EBBC -sub_807EBBC: @ 807EBBC - push {r4-r7,lr} - adds r5, r1, 0 - adds r6, r2, 0 - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - cmp r0, 0 - beq _0807EBE0 - movs r0, 0x10 - strh r0, [r5] - movs r1, 0xA - negs r1, r1 - adds r0, r1, 0 - b _0807EC2A -_0807EBE0: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6D - lsls r0, 24 - cmp r0, 0 - beq _0807EBFA - movs r1, 0x11 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r5] - adds r1, 0x7 - adds r0, r1, 0 - b _0807EC2A -_0807EBFA: - adds r0, r4, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - cmp r0, 0 - beq _0807EC0E - movs r0, 0x11 - strh r0, [r5] - movs r0, 0x3 - b _0807EC2A -_0807EC0E: - adds r0, r7, 0 - bl MetatileBehavior_IsUnknownWarp6F - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807EC28 - movs r1, 0x11 - negs r1, r1 - adds r0, r1, 0 - strh r0, [r5] - movs r0, 0x3 - b _0807EC2A -_0807EC28: - strh r0, [r5] -_0807EC2A: - strh r0, [r6] - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807EBBC - - thumb_func_start sub_807EC34 -sub_807EC34: @ 807EC34 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0807EC6C @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0807EC70 - cmp r0, 0x1 - beq _0807EC92 - bl sub_807E418 - cmp r0, 0x1 - bne _0807ECB2 - bl CameraObjectReset1 - bl ScriptContext2_Disable - adds r0, r4, 0 - bl DestroyTask - b _0807ECB2 - .align 2, 0 -_0807EC6C: .4byte gTasks+0x8 -_0807EC70: - bl Overworld_PlaySpecialMapMusic - bl pal_fill_for_maplights - bl ScriptContext2_Enable - adds r0, r5, 0x2 - adds r1, r5, 0x4 - adds r2, r5, 0x6 - adds r3, r5, 0 - adds r3, 0x8 - adds r4, r5, 0 - adds r4, 0xA - str r4, [sp] - bl sub_807ECBC - b _0807ECAC -_0807EC92: - adds r0, r5, 0x2 - adds r1, r5, 0x4 - adds r2, r5, 0x6 - adds r3, r5, 0 - adds r3, 0x8 - adds r4, r5, 0 - adds r4, 0xA - str r4, [sp] - bl sub_807EDA0 - lsls r0, 24 - cmp r0, 0 - bne _0807ECB2 -_0807ECAC: - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] -_0807ECB2: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807EC34 - - thumb_func_start sub_807ECBC -sub_807ECBC: @ 807ECBC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - adds r5, r1, 0 - mov r9, r2 - mov r10, r3 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl MetatileBehavior_IsUnknownWarp6E - lsls r0, 24 - cmp r0, 0 - bne _0807ED06 - adds r0, r6, 0 - bl MetatileBehavior_IsUnknownWarp6C - lsls r0, 24 - cmp r0, 0 - beq _0807ED0A -_0807ED06: - movs r1, 0x3 - b _0807ED0C -_0807ED0A: - movs r1, 0x4 -_0807ED0C: - ldr r0, _0807ED94 @ =gPlayerAvatar - mov r8, r0 - ldrb r0, [r0, 0x5] - lsls r4, r0, 3 - adds r4, r0 - lsls r4, 2 - ldr r0, _0807ED98 @ =gMapObjects - adds r4, r0 - adds r0, r1, 0 - bl sub_8064270 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldObjectForceSetSpecialAnim - adds r0, r6, 0 - adds r1, r7, 0 - adds r2, r5, 0 - bl sub_807EBBC - movs r1, 0 - ldrsh r0, [r7, r1] - lsls r0, 4 - mov r2, r9 - strh r0, [r2] - movs r1, 0 - ldrsh r0, [r5, r1] - lsls r0, 4 - mov r2, r10 - strh r0, [r2] - movs r1, 0x10 - ldr r0, [sp, 0x24] - strh r1, [r0] - mov r1, r8 - ldrb r0, [r1, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0807ED9C @ =gSprites - adds r1, r0 - mov r2, r9 - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - mov r2, r10 - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x26] - movs r1, 0 - ldrsh r0, [r7, r1] - negs r0, r0 - strh r0, [r7] - movs r2, 0 - ldrsh r0, [r5, r2] - negs r0, r0 - strh r0, [r5] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807ED94: .4byte gPlayerAvatar -_0807ED98: .4byte gMapObjects -_0807ED9C: .4byte gSprites - thumb_func_end sub_807ECBC - - thumb_func_start sub_807EDA0 -sub_807EDA0: @ 807EDA0 - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r4, [sp, 0x14] - ldr r0, _0807EDC8 @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0807EDCC @ =gSprites - adds r1, r0, r1 - movs r7, 0 - ldrsh r0, [r4, r7] - cmp r0, 0 - bne _0807EDD0 - strh r0, [r1, 0x24] - strh r0, [r1, 0x26] - movs r0, 0 - b _0807EDF8 - .align 2, 0 -_0807EDC8: .4byte gPlayerAvatar -_0807EDCC: .4byte gSprites -_0807EDD0: - ldrh r0, [r5] - ldrh r5, [r2] - adds r0, r5 - strh r0, [r2] - ldrh r0, [r6] - ldrh r7, [r3] - adds r0, r7 - strh r0, [r3] - ldrh r0, [r2] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r3] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x26] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - movs r0, 0x1 -_0807EDF8: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807EDA0 - - .align 2, 0 @ Don't pad with nop. |