.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start palette_bg_faded_fill_white palette_bg_faded_fill_white: @ 80AEFFC push {lr} sub sp, 0x4 ldr r0, =0x7fff7fff str r0, [sp] ldr r1, =gPlttBufferFaded ldr r2, =0x01000100 mov r0, sp bl CpuFastSet add sp, 0x4 pop {r0} bx r0 .pool thumb_func_end palette_bg_faded_fill_white thumb_func_start palette_bg_faded_fill_black palette_bg_faded_fill_black: @ 80AF020 push {lr} sub sp, 0x4 movs r0, 0 str r0, [sp] ldr r1, =gPlttBufferFaded ldr r2, =0x01000100 mov r0, sp bl CpuFastSet add sp, 0x4 pop {r0} bx r0 .pool thumb_func_end palette_bg_faded_fill_black thumb_func_start pal_fill_for_maplights pal_fill_for_maplights: @ 80AF040 push {r4,lr} bl get_map_light_from_warp0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sav1_map_get_light_level adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl fade_type_for_given_maplight_pair lsls r0, 24 lsrs r0, 24 cmp r0, 0 beq _080AF06A cmp r0, 0x1 beq _080AF078 b _080AF084 _080AF06A: bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 bl fade_screen b _080AF084 _080AF078: bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0 bl fade_screen _080AF084: pop {r4} pop {r0} bx r0 thumb_func_end pal_fill_for_maplights thumb_func_start sub_80AF08C sub_80AF08C: @ 80AF08C push {lr} bl palette_bg_faded_fill_white movs r0, 0x2 movs r1, 0x8 bl fade_screen pop {r0} bx r0 thumb_func_end sub_80AF08C thumb_func_start pal_fill_black pal_fill_black: @ 80AF0A0 push {lr} bl palette_bg_faded_fill_black movs r0, 0 movs r1, 0 bl fade_screen pop {r0} bx r0 thumb_func_end pal_fill_black thumb_func_start sub_80AF0B4 sub_80AF0B4: @ 80AF0B4 push {r4,lr} bl sav1_map_get_light_level adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl warp1_get_mapheader ldrb r1, [r0, 0x17] adds r0, r4, 0 bl sub_8137360 lsls r0, 24 lsrs r0, 24 cmp r0, 0 beq _080AF0DA cmp r0, 0x1 beq _080AF0E4 b _080AF0EC _080AF0DA: movs r0, 0x1 movs r1, 0 bl fade_screen b _080AF0EC _080AF0E4: movs r0, 0x3 movs r1, 0 bl fade_screen _080AF0EC: pop {r4} pop {r0} bx r0 thumb_func_end sub_80AF0B4 thumb_func_start sub_80AF0F4 sub_80AF0F4: @ 80AF0F4 push {lr} lsls r0, 24 movs r1, 0 cmp r0, 0 bne _080AF100 movs r1, 0x1 _080AF100: adds r0, r1, 0 bl sub_808C0A8 pop {r0} bx r0 thumb_func_end sub_80AF0F4 thumb_func_start task0A_nop_for_a_while task0A_nop_for_a_while: @ 80AF10C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80AF71C cmp r0, 0x1 bne _080AF120 adds r0, r4, 0 bl DestroyTask _080AF120: pop {r4} pop {r0} bx r0 thumb_func_end task0A_nop_for_a_while thumb_func_start sub_80AF128 sub_80AF128: @ 80AF128 push {lr} bl script_env_2_enable bl sub_8085784 bl pal_fill_black ldr r0, =task0A_nop_for_a_while movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF128 thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running task0A_asap_script_env_2_enable_and_set_ctx_running: @ 80AF148 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80AF71C cmp r0, 0x1 bne _080AF160 adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running _080AF160: pop {r4} pop {r0} bx r0 thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running thumb_func_start sub_80AF168 sub_80AF168: @ 80AF168 push {lr} bl script_env_2_enable bl sub_8085784 bl pal_fill_black ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF168 thumb_func_start sub_80AF188 sub_80AF188: @ 80AF188 push {lr} bl script_env_2_enable bl pal_fill_black ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF188 thumb_func_start task_mpl_807DD60 task_mpl_807DD60: @ 80AF1A4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r2, =gTasks adds r4, r0, r2 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AF1DE cmp r0, 0x1 bgt _080AF1CC cmp r0, 0 beq _080AF1D2 b _080AF20E .pool _080AF1CC: cmp r0, 0x2 beq _080AF1FC b _080AF20E _080AF1D2: bl sub_80B3050 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0xA] b _080AF1F4 _080AF1DE: 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 _080AF20E bl pal_fill_for_maplights _080AF1F4: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AF20E _080AF1FC: bl sub_80AF71C cmp r0, 0x1 bne _080AF20E bl script_env_2_disable adds r0, r5, 0 bl DestroyTask _080AF20E: pop {r4,r5} pop {r0} bx r0 thumb_func_end task_mpl_807DD60 thumb_func_start sub_80AF214 sub_80AF214: @ 80AF214 push {lr} bl script_env_2_enable bl sub_8085784 bl palette_bg_faded_fill_black ldr r0, =task_mpl_807DD60 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF214 thumb_func_start sub_80AF234 sub_80AF234: @ 80AF234 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AF268 cmp r0, 0x1 bgt _080AF25C cmp r0, 0 beq _080AF262 b _080AF2AE .pool _080AF25C: cmp r0, 0x2 beq _080AF298 b _080AF2AE _080AF262: bl sub_800ADF8 b _080AF290 _080AF268: bl sub_800A520 lsls r0, 24 cmp r0, 0 bne _080AF28C ldrh r0, [r4, 0xA] adds r0, 0x1 strh r0, [r4, 0xA] lsls r0, 16 movs r1, 0xE1 lsls r1, 19 cmp r0, r1 ble _080AF2AE movs r0, 0xC0 lsls r0, 7 bl sub_8011170 b _080AF2AE _080AF28C: bl pal_fill_for_maplights _080AF290: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AF2AE _080AF298: bl sub_80AF71C cmp r0, 0x1 bne _080AF2AE bl sub_8009F18 bl script_env_2_disable adds r0, r5, 0 bl DestroyTask _080AF2AE: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80AF234 thumb_func_start sub_80AF2B4 sub_80AF2B4: @ 80AF2B4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AF2E8 cmp r0, 0x1 bgt _080AF2DC cmp r0, 0 beq _080AF2E2 b _080AF30C .pool _080AF2DC: cmp r0, 0x2 beq _080AF2FA b _080AF30C _080AF2E2: bl sub_800ADF8 b _080AF2F2 _080AF2E8: bl sub_800A520 lsls r0, 24 cmp r0, 0 beq _080AF30C _080AF2F2: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AF30C _080AF2FA: bl sub_8009F18 bl sub_8086C2C bl script_env_2_disable adds r0, r5, 0 bl DestroyTask _080AF30C: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80AF2B4 thumb_func_start sub_80AF314 sub_80AF314: @ 80AF314 push {lr} bl script_env_2_enable bl sub_8085784 bl palette_bg_faded_fill_black ldr r0, =sub_80AF234 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF314 thumb_func_start sub_80AF334 sub_80AF334: @ 80AF334 push {r4,lr} sub sp, 0x4 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 sub_8088EFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080AF36C ldr r1, =sub_80AF438 b _080AF37E .pool _080AF36C: adds r0, r4, 0 bl sub_8088F58 lsls r0, 24 lsrs r0, 24 ldr r1, =task_map_chg_seq_0807E2CC cmp r0, 0x1 bne _080AF37E ldr r1, =task_map_chg_seq_0807E20C _080AF37E: adds r0, r1, 0 movs r1, 0xA bl CreateTask add sp, 0x4 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80AF334 thumb_func_start mapldr_default mapldr_default: @ 80AF398 push {lr} bl sub_8085784 bl pal_fill_for_maplights bl sub_80AF334 bl script_env_2_enable pop {r0} bx r0 thumb_func_end mapldr_default thumb_func_start sub_80AF3B0 sub_80AF3B0: @ 80AF3B0 push {lr} bl sub_8085784 bl sub_80AF08C bl sub_80AF334 bl script_env_2_enable pop {r0} bx r0 thumb_func_end sub_80AF3B0 thumb_func_start sub_80AF3C8 sub_80AF3C8: @ 80AF3C8 push {lr} bl sub_81D6534 cmp r0, 0 bne _080AF3D6 bl sub_8085784 _080AF3D6: bl pal_fill_black bl sub_80AF334 bl script_env_2_enable pop {r0} bx r0 thumb_func_end sub_80AF3C8 thumb_func_start sub_80AF3E8 sub_80AF3E8: @ 80AF3E8 push {lr} bl sub_8085784 bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE ldr r0, =task0A_mpl_807E31C movs r1, 0xA bl CreateTask bl script_env_2_enable pop {r0} bx r0 .pool thumb_func_end sub_80AF3E8 thumb_func_start sub_80AF40C sub_80AF40C: @ 80AF40C push {lr} bl sub_8085784 bl pal_fill_for_maplights movs r0, 0x2E bl PlaySE ldr r0, =task_map_chg_seq_0807E2CC movs r1, 0xA bl CreateTask bl script_env_2_enable movs r0, 0xE bl sub_8085540 pop {r0} bx r0 .pool thumb_func_end sub_80AF40C thumb_func_start sub_80AF438 sub_80AF438: @ 80AF438 push {r4-r7,lr} lsls r0, 24 lsrs r4, r0, 24 lsls r0, r4, 2 adds r0, r4 lsls r0, 3 ldr r1, =gTasks adds r5, r0, r1 adds r6, r5, 0 adds r6, 0xC adds r7, r5, 0 adds r7, 0xE movs r2, 0x8 ldrsh r0, [r5, r2] adds r2, r1, 0 cmp r0, 0x4 bhi _080AF54A lsls r0, 2 ldr r1, =_080AF46C adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080AF46C: .4byte _080AF480 .4byte _080AF4A4 .4byte _080AF4DC .4byte _080AF520 .4byte _080AF540 _080AF480: movs r0, 0 bl sub_80AF0F4 bl player_bitmagic 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 sub_808A854 movs r0, 0x1 strh r0, [r5, 0x8] b _080AF54A _080AF4A4: bl sub_80AF71C cmp r0, 0 beq _080AF54A movs r0, 0x1 bl sub_80AF0F4 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, =gUnknown_02037350 adds r0, r1 movs r1, 0x8 bl FieldObjectSetSpecialAnim movs r0, 0x2 strh r0, [r5, 0x8] b _080AF54A .pool _080AF4DC: bl walkrun_is_standing_still lsls r0, 24 cmp r0, 0 beq _080AF54A movs r1, 0 ldrsh r0, [r6, r1] movs r2, 0 ldrsh r1, [r7, r2] bl sub_808A8AC 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, =gUnknown_02037350 adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished movs r0, 0x3 strh r0, [r5, 0x8] b _080AF54A .pool _080AF520: movs r1, 0xA ldrsh r0, [r5, r1] cmp r0, 0 blt _080AF536 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 ldrb r0, [r1, 0x4] cmp r0, 0x1 beq _080AF54A _080AF536: bl sub_809757C movs r0, 0x4 strh r0, [r5, 0x8] b _080AF54A _080AF540: bl script_env_2_disable adds r0, r4, 0 bl DestroyTask _080AF54A: pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80AF438 thumb_func_start task_map_chg_seq_0807E20C task_map_chg_seq_0807E20C: @ 80AF550 push {r4-r7,lr} lsls r0, 24 lsrs r4, r0, 24 lsls r0, r4, 2 adds r0, r4 lsls r0, 3 ldr r1, =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 _080AF5A2 cmp r0, 0x1 bgt _080AF580 cmp r0, 0 beq _080AF58A b _080AF60A .pool _080AF580: cmp r0, 0x2 beq _080AF5EC cmp r0, 0x3 beq _080AF600 b _080AF60A _080AF58A: movs r0, 0 bl sub_80AF0F4 bl player_bitmagic adds r0, r6, 0 adds r1, r7, 0 bl PlayerGetDestCoords movs r0, 0x1 strh r0, [r5, 0x8] b _080AF60A _080AF5A2: bl sub_80AF71C cmp r0, 0 beq _080AF60A movs r0, 0x1 bl sub_80AF0F4 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, =gUnknown_02037350 adds r4, r0 bl player_get_direction_lower_nybble lsls r0, 24 lsrs r0, 24 bl GetGoSpeed0AnimId adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 bl FieldObjectSetSpecialAnim movs r0, 0x2 strh r0, [r5, 0x8] b _080AF60A .pool _080AF5EC: bl walkrun_is_standing_still lsls r0, 24 cmp r0, 0 beq _080AF60A bl sub_809757C movs r0, 0x3 strh r0, [r5, 0x8] b _080AF60A _080AF600: bl script_env_2_disable adds r0, r4, 0 bl DestroyTask _080AF60A: 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: @ 80AF610 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =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 _080AF634 cmp r0, 0x1 beq _080AF644 b _080AF65A .pool _080AF634: bl player_bitmagic bl script_env_2_enable ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AF65A _080AF644: bl sub_80AF71C cmp r0, 0 beq _080AF65A bl sub_809757C bl script_env_2_disable adds r0, r5, 0 bl DestroyTask _080AF65A: pop {r4,r5} pop {r0} bx r0 thumb_func_end task_map_chg_seq_0807E2CC thumb_func_start sub_80AF660 sub_80AF660: @ 80AF660 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80AF71C cmp r0, 0x1 bne _080AF67C adds r0, r4, 0 bl DestroyTask ldr r0, =sub_809FA34 movs r1, 0x50 bl CreateTask _080AF67C: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80AF660 thumb_func_start sub_80AF688 sub_80AF688: @ 80AF688 push {lr} bl pal_fill_black ldr r0, =sub_80AF660 movs r1, 0x50 bl CreateTask bl script_env_2_enable pop {r0} bx r0 .pool thumb_func_end sub_80AF688 thumb_func_start sub_80AF6A4 sub_80AF6A4: @ 80AF6A4 push {lr} bl sub_809FA18 movs r0, 0 pop {r1} bx r1 thumb_func_end sub_80AF6A4 thumb_func_start task_mpl_807E3C8 task_mpl_807E3C8: @ 80AF6B0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80AF71C cmp r0, 0x1 bne _080AF6CC bl script_env_2_disable adds r0, r4, 0 bl DestroyTask bl sub_80984F4 _080AF6CC: pop {r4} pop {r0} bx r0 thumb_func_end task_mpl_807E3C8 thumb_func_start sub_80AF6D4 sub_80AF6D4: @ 80AF6D4 push {lr} bl script_env_2_enable bl pal_fill_black ldr r0, =task_mpl_807E3C8 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF6D4 thumb_func_start sub_80AF6F0 sub_80AF6F0: @ 80AF6F0 push {lr} bl script_env_2_enable bl sub_8085784 bl pal_fill_black ldr r0, =task_mpl_807E3C8 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF6F0 thumb_func_start sub_80AF710 sub_80AF710: @ 80AF710 ldr r0, =gPaletteFade ldrb r0, [r0, 0x7] lsrs r0, 7 bx lr .pool thumb_func_end sub_80AF710 thumb_func_start sub_80AF71C sub_80AF71C: @ 80AF71C push {lr} bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _080AF72E movs r0, 0 b _080AF730 _080AF72E: movs r0, 0x1 _080AF730: pop {r1} bx r1 thumb_func_end sub_80AF71C thumb_func_start sub_80AF734 sub_80AF734: @ 80AF734 push {lr} bl script_env_2_enable bl music_something bl sub_80AF0B4 bl play_some_sound movs r0, 0x9 bl PlaySE ldr r0, =gUnknown_03005DAC ldr r1, =mapldr_default str r1, [r0] ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF734 thumb_func_start sp13E_warp_to_last_warp sp13E_warp_to_last_warp: @ 80AF76C push {lr} bl script_env_2_enable bl music_something bl sub_80AF0B4 bl play_some_sound ldr r0, =gUnknown_03005DAC ldr r1, =mapldr_default str r1, [r0] ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sp13E_warp_to_last_warp thumb_func_start sub_80AF79C sub_80AF79C: @ 80AF79C push {lr} bl script_env_2_enable bl music_something movs r0, 0x3 movs r1, 0x8 bl fade_screen bl play_some_sound ldr r0, =gUnknown_03005DAC ldr r1, =sub_80AF3B0 str r1, [r0] ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF79C thumb_func_start sub_80AF7D0 sub_80AF7D0: @ 80AF7D0 push {lr} bl script_env_2_enable ldr r0, =gUnknown_03005DAC ldr r1, =mapldr_default str r1, [r0] ldr r0, =sub_80AFA88 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF7D0 thumb_func_start sp13F_fall_to_last_warp sp13F_fall_to_last_warp: @ 80AF7F4 push {lr} bl sp13E_warp_to_last_warp ldr r1, =gUnknown_03005DAC ldr r0, =sub_80B6B68 str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sp13F_fall_to_last_warp thumb_func_start sub_80AF80C sub_80AF80C: @ 80AF80C push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl script_env_2_enable adds r0, r4, 0 movs r1, 0xA bl sub_80B6E4C pop {r4} pop {r0} bx r0 thumb_func_end sub_80AF80C thumb_func_start sub_80AF828 sub_80AF828: @ 80AF828 push {lr} bl script_env_2_enable movs r0, 0xA bl sub_80B75D8 pop {r0} bx r0 thumb_func_end sub_80AF828 thumb_func_start sub_80AF838 sub_80AF838: @ 80AF838 push {lr} bl script_env_2_enable movs r0, 0xA bl sub_80B7A74 pop {r0} bx r0 thumb_func_end sub_80AF838 thumb_func_start sub_80AF848 sub_80AF848: @ 80AF848 push {lr} bl script_env_2_enable bl music_something bl sub_80AF0B4 movs r0, 0x2D bl PlaySE ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask ldr r1, =gUnknown_03005DAC ldr r0, =sub_80AF3E8 str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80AF848 thumb_func_start sub_80AF87C sub_80AF87C: @ 80AF87C push {lr} movs r0, 0x1 bl sub_8085540 bl script_env_2_enable bl save_serialize_npcs bl music_something bl sub_80AF0B4 movs r0, 0x2D bl PlaySE ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask ldr r1, =gUnknown_03005DAC ldr r0, =sub_80AF40C str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80AF87C thumb_func_start sub_80AF8B8 sub_80AF8B8: @ 80AF8B8 push {lr} bl script_env_2_enable bl sub_80AF0B4 ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask ldr r1, =gUnknown_03005DAC ldr r0, =sub_80FB768 str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80AF8B8 thumb_func_start sub_80AF8E0 sub_80AF8E0: @ 80AF8E0 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AF914 cmp r0, 0x1 bgt _080AF908 cmp r0, 0 beq _080AF90E b _080AF93E .pool _080AF908: cmp r0, 0x2 beq _080AF92E b _080AF93E _080AF90E: bl script_env_2_enable b _080AF926 _080AF914: bl sub_80AF710 cmp r0, 0 bne _080AF93E bl sub_80859A0 lsls r0, 24 cmp r0, 0 beq _080AF93E _080AF926: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AF93E _080AF92E: bl warp_in ldr r0, =sub_8086074 bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask _080AF93E: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80AF8E0 thumb_func_start sub_80AF948 sub_80AF948: @ 80AF948 push {lr} bl script_env_2_enable bl music_something bl sub_80AF0B4 movs r0, 0x9 bl PlaySE ldr r0, =sub_80AF8E0 movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF948 thumb_func_start sub_80AF96C sub_80AF96C: @ 80AF96C push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 movs r1, 0 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AF9B2 cmp r0, 0x1 bgt _080AF994 cmp r0, 0 beq _080AF99A b _080AF9E8 .pool _080AF994: cmp r0, 0x2 beq _080AF9D0 b _080AF9E8 _080AF99A: bl sub_8009FAC movs r0, 0x1 movs r1, 0 bl fade_screen bl music_something movs r0, 0x9 bl PlaySE b _080AF9C8 _080AF9B2: bl sub_80AF710 cmp r0, 0 bne _080AF9E8 bl sub_80859A0 lsls r0, 24 cmp r0, 0 beq _080AF9E8 bl sub_800AC34 _080AF9C8: ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] b _080AF9E8 _080AF9D0: ldr r0, =gUnknown_03003124 ldrb r0, [r0] cmp r0, 0 bne _080AF9E8 bl warp_in ldr r0, =c2_load_new_map bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask _080AF9E8: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80AF96C thumb_func_start sub_80AF9F8 sub_80AF9F8: @ 80AF9F8 push {lr} ldr r0, =sub_80AF96C movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AF9F8 thumb_func_start sub_80AFA0C sub_80AFA0C: @ 80AFA0C push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 lsls r0, r6, 2 adds r0, r6 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r0, 0x8 ldrsh r5, [r4, r0] cmp r5, 0x1 beq _080AFA44 cmp r5, 0x1 bgt _080AFA34 cmp r5, 0 beq _080AFA3A b _080AFA7C .pool _080AFA34: cmp r5, 0x2 beq _080AFA6C b _080AFA7C _080AFA3A: bl player_bitmagic bl script_env_2_enable b _080AFA64 _080AFA44: bl sub_80AF710 cmp r0, 0 bne _080AFA7C movs r1, 0xA ldrsh r0, [r4, r1] cmp r0, 0 bne _080AFA5A bl sub_81BE72C strh r5, [r4, 0xA] _080AFA5A: bl sub_80859A0 lsls r0, 24 cmp r0, 0 beq _080AFA7C _080AFA64: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AFA7C _080AFA6C: bl warp_in ldr r0, =c2_load_new_map bl SetMainCallback2 adds r0, r6, 0 bl DestroyTask _080AFA7C: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80AFA0C thumb_func_start sub_80AFA88 sub_80AFA88: @ 80AFA88 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r0, =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, 0x4 bls _080AFAAC b _080AFBE8 _080AFAAC: lsls r0, r1, 2 ldr r1, =_080AFAC0 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080AFAC0: .4byte _080AFAD4 .4byte _080AFB10 .4byte _080AFB6C .4byte _080AFBB8 .4byte _080AFBD4 _080AFAD4: 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 cur_mapdata_get_door_sound_at 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 task_overworld_door_add_if_role_69_for_opening_door_at lsls r0, 24 asrs r0, 24 strh r0, [r5, 0xA] movs r0, 0x1 strh r0, [r5, 0x8] b _080AFBE8 _080AFB10: movs r1, 0xA ldrsh r0, [r5, r1] cmp r0, 0 blt _080AFB26 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 ldrb r0, [r1, 0x4] cmp r0, 0x1 beq _080AFBE8 _080AFB26: 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, =gUnknown_02037350 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, 0x9 bl FieldObjectSetSpecialAnim movs r0, 0x2 strh r0, [r5, 0x8] b _080AFBE8 .pool _080AFB6C: bl walkrun_is_standing_still lsls r0, 24 cmp r0, 0 beq _080AFBE8 movs r2, 0 ldrsh r0, [r4, r2] movs r2, 0 ldrsh r1, [r6, r2] subs r1, 0x1 bl sub_808A8AC 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, =gUnknown_02037350 adds r0, r1 bl FieldObjectClearAnimIfSpecialAnimFinished movs r0, 0 bl sub_80AF0F4 movs r0, 0x3 strh r0, [r5, 0x8] b _080AFBE8 .pool _080AFBB8: movs r1, 0xA ldrsh r0, [r5, r1] cmp r0, 0 blt _080AFBCE lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 ldrb r0, [r1, 0x4] cmp r0, 0x1 beq _080AFBE8 _080AFBCE: movs r0, 0x4 strh r0, [r5, 0x8] b _080AFBE8 _080AFBD4: bl music_something bl sub_80AF0B4 bl play_some_sound movs r0, 0 strh r0, [r5, 0x8] ldr r0, =sub_80AFA0C str r0, [r5] _080AFBE8: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_80AFA88 thumb_func_start task0A_fade_n_map_maybe task0A_fade_n_map_maybe: @ 80AFBF4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AFC2C cmp r0, 0x1 bgt _080AFC1C cmp r0, 0 beq _080AFC22 b _080AFC56 .pool _080AFC1C: cmp r0, 0x2 beq _080AFC46 b _080AFC56 _080AFC22: bl player_bitmagic bl script_env_2_enable b _080AFC3E _080AFC2C: bl sub_80AF710 cmp r0, 0 bne _080AFC56 bl sub_80859A0 lsls r0, 24 cmp r0, 0 beq _080AFC56 _080AFC3E: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080AFC56 _080AFC46: bl warp_in ldr r0, =sub_8086024 bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask _080AFC56: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end task0A_fade_n_map_maybe thumb_func_start sub_80AFC60 sub_80AFC60: @ 80AFC60 push {lr} bl script_env_2_enable bl music_something bl sub_80AF0B4 bl play_some_sound movs r0, 0x9 bl PlaySE ldr r0, =gUnknown_03005DAC ldr r1, =sub_80AF3C8 str r1, [r0] ldr r0, =task0A_fade_n_map_maybe movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80AFC60 thumb_func_start sub_80AFC98 sub_80AFC98: @ 80AFC98 push {lr} cmp r1, 0xA0 bhi _080AFCC0 cmp r2, 0 bge _080AFCA4 movs r2, 0 _080AFCA4: cmp r2, 0xFF ble _080AFCAA movs r2, 0xFF _080AFCAA: cmp r3, 0 bge _080AFCB0 movs r3, 0 _080AFCB0: cmp r3, 0xFF ble _080AFCB6 movs r3, 0xFF _080AFCB6: lsls r1, 1 adds r1, r0 lsls r0, r2, 8 orrs r0, r3 strh r0, [r1] _080AFCC0: pop {r0} bx r0 thumb_func_end sub_80AFC98 thumb_func_start sub_80AFCC4 sub_80AFCC4: @ 80AFCC4 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 str r0, [sp] mov r10, r1 mov r9, r2 adds r6, r3, 0 mov r8, r6 movs r7, 0 cmp r6, 0 blt _080AFD40 _080AFCE0: mov r0, r9 subs r1, r0, r7 mov r0, r10 subs r4, r0, r6 adds r5, r0, r6 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFC98 mov r0, r9 adds r1, r0, r7 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFC98 mov r0, r9 subs r1, r0, r6 mov r0, r10 subs r4, r0, r7 adds r5, r0, r7 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFC98 mov r0, r9 adds r1, r0, r6 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFC98 mov r1, r8 adds r1, 0x1 lsls r0, r7, 1 subs r1, r0 mov r8, r1 adds r7, 0x1 cmp r1, 0 bge _080AFD3C subs r1, r6, 0x1 lsls r0, r1, 1 add r8, r0 adds r6, r1, 0 _080AFD3C: cmp r6, r7 bge _080AFCE0 _080AFD40: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80AFCC4 thumb_func_start sub_80AFD50 sub_80AFD50: @ 80AFD50 push {lr} cmp r1, 0xA0 bhi _080AFD78 cmp r2, 0 bge _080AFD5C movs r2, 0 _080AFD5C: cmp r2, 0xF0 ble _080AFD62 movs r2, 0xF0 _080AFD62: cmp r3, 0 bge _080AFD68 movs r3, 0 _080AFD68: cmp r3, 0xF0 ble _080AFD6E movs r3, 0xF0 _080AFD6E: lsls r1, 1 adds r1, r0 lsls r0, r2, 8 orrs r0, r3 strh r0, [r1] _080AFD78: pop {r0} bx r0 thumb_func_end sub_80AFD50 thumb_func_start sub_80AFD7C sub_80AFD7C: @ 80AFD7C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 str r0, [sp] mov r10, r1 mov r9, r2 adds r6, r3, 0 mov r8, r6 movs r7, 0 cmp r6, 0 blt _080AFDF8 _080AFD98: mov r0, r9 subs r1, r0, r7 mov r0, r10 subs r4, r0, r6 adds r5, r0, r6 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFD50 mov r0, r9 adds r1, r0, r7 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFD50 mov r0, r9 subs r1, r0, r6 mov r0, r10 subs r4, r0, r7 adds r5, r0, r7 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFD50 mov r0, r9 adds r1, r0, r6 ldr r0, [sp] adds r2, r4, 0 adds r3, r5, 0 bl sub_80AFD50 mov r1, r8 adds r1, 0x1 lsls r0, r7, 1 subs r1, r0 mov r8, r1 adds r7, 0x1 cmp r1, 0 bge _080AFDF4 subs r1, r6, 0x1 lsls r0, r1, 1 add r8, r0 adds r6, r1, 0 _080AFDF4: cmp r6, r7 bge _080AFD98 _080AFDF8: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_80AFD7C thumb_func_start sub_80AFE08 sub_80AFE08: @ 80AFE08 push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 movs r1, 0 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AFE64 cmp r0, 0x1 bgt _080AFE30 cmp r0, 0 beq _080AFE36 b _080AFEC6 .pool _080AFE30: cmp r0, 0x2 beq _080AFEBC b _080AFEC6 _080AFE36: ldr r0, =gUnknown_02039B28 ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 ldr r1, =gUnknown_02038C28 adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] movs r3, 0x4 ldrsh r2, [r4, r3] movs r5, 0x6 ldrsh r3, [r4, r5] bl sub_80AFCC4 movs r0, 0x1 strh r0, [r4] b _080AFEC6 .pool _080AFE64: ldr r0, =gUnknown_02039B28 ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 ldr r1, =gUnknown_02038C28 adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] movs r3, 0x4 ldrsh r2, [r4, r3] movs r6, 0x6 ldrsh r3, [r4, r6] bl sub_80AFCC4 movs r0, 0 strh r0, [r4] ldrh r0, [r4, 0xA] ldrh r1, [r4, 0x6] adds r0, r1 strh r0, [r4, 0x6] lsls r0, 16 asrs r0, 16 movs r2, 0x8 ldrsh r1, [r4, r2] cmp r0, r1 ble _080AFEC6 movs r3, 0xC ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFEB4 bl remove_some_task movs r0, 0x2 strh r0, [r4] b _080AFEC6 .pool _080AFEB4: adds r0, r5, 0 bl DestroyTask b _080AFEC6 _080AFEBC: bl dp12_8087EA4 adds r0, r5, 0 bl DestroyTask _080AFEC6: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80AFE08 thumb_func_start sub_80AFECC sub_80AFECC: @ 80AFECC push {r4-r6,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 movs r1, 0 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080AFF28 cmp r0, 0x1 bgt _080AFEF4 cmp r0, 0 beq _080AFEFA b _080AFF8A .pool _080AFEF4: cmp r0, 0x2 beq _080AFF80 b _080AFF8A _080AFEFA: ldr r0, =gUnknown_02039B28 ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 ldr r1, =gUnknown_02038C28 adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] movs r3, 0x4 ldrsh r2, [r4, r3] movs r5, 0x6 ldrsh r3, [r4, r5] bl sub_80AFD7C movs r0, 0x1 strh r0, [r4] b _080AFF8A .pool _080AFF28: ldr r0, =gUnknown_02039B28 ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 ldr r1, =gUnknown_02038C28 adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] movs r3, 0x4 ldrsh r2, [r4, r3] movs r6, 0x6 ldrsh r3, [r4, r6] bl sub_80AFD7C movs r0, 0 strh r0, [r4] ldrh r0, [r4, 0xA] ldrh r1, [r4, 0x6] adds r0, r1 strh r0, [r4, 0x6] lsls r0, 16 asrs r0, 16 movs r2, 0x8 ldrsh r1, [r4, r2] cmp r0, r1 ble _080AFF8A movs r3, 0xC ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080AFF78 bl remove_some_task movs r0, 0x2 strh r0, [r4] b _080AFF8A .pool _080AFF78: adds r0, r5, 0 bl DestroyTask b _080AFF8A _080AFF80: bl dp12_8087EA4 adds r0, r5, 0 bl DestroyTask _080AFF8A: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_80AFECC thumb_func_start sub_80AFF90 sub_80AFF90: @ 80AFF90 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, =sub_80AFE08 bl FuncIsActiveTask lsls r0, 24 cmp r0, 0 bne _080AFFAC bl script_env_2_enable_and_set_ctx_running adds r0, r4, 0 bl DestroyTask _080AFFAC: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80AFF90 thumb_func_start sub_80AFFB8 sub_80AFFB8: @ 80AFFB8 push {r4,lr} ldr r4, =sub_80AFF90 adds r0, r4, 0 bl FuncIsActiveTask lsls r0, 24 cmp r0, 0 bne _080AFFD0 adds r0, r4, 0 movs r1, 0x50 bl CreateTask _080AFFD0: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80AFFB8 thumb_func_start sub_80AFFDC sub_80AFFDC: @ 80AFFDC push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} mov r8, r0 mov r9, r1 adds r5, r2, 0 adds r4, r3, 0 ldr r6, [sp, 0x1C] ldr r0, [sp, 0x20] lsls r0, 24 lsrs r7, r0, 24 ldr r0, =sub_80AFE08 movs r1, 0x50 bl CreateTask lsls r0, 24 lsrs r2, r0, 24 lsls r0, r2, 2 adds r0, r2 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r1, r0, r1 strh r5, [r1, 0x6] strh r4, [r1, 0x8] mov r0, r8 strh r0, [r1, 0x2] mov r0, r9 strh r0, [r1, 0x4] strh r6, [r1, 0xC] cmp r5, r4 bge _080B0028 strh r7, [r1, 0xA] b _080B002C .pool _080B0028: negs r0, r7 strh r0, [r1, 0xA] _080B002C: adds r0, r2, 0 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80AFFDC thumb_func_start sub_80B003C sub_80B003C: @ 80B003C push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} mov r8, r0 mov r9, r1 adds r5, r2, 0 adds r4, r3, 0 ldr r6, [sp, 0x1C] ldr r0, [sp, 0x20] lsls r0, 24 lsrs r7, r0, 24 ldr r0, =sub_80AFECC movs r1, 0x50 bl CreateTask lsls r0, 24 lsrs r2, r0, 24 lsls r0, r2, 2 adds r0, r2 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r1, r0, r1 strh r5, [r1, 0x6] strh r4, [r1, 0x8] mov r0, r8 strh r0, [r1, 0x2] mov r0, r9 strh r0, [r1, 0x4] strh r6, [r1, 0xC] cmp r5, r4 bge _080B0088 strh r7, [r1, 0xA] b _080B008C .pool _080B0088: negs r0, r7 strh r0, [r1, 0xA] _080B008C: adds r0, r2, 0 pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_80B003C thumb_func_start sub_80B009C sub_80B009C: @ 80B009C push {r4,r5,lr} sub sp, 0x8 lsls r0, 24 lsrs r0, 24 adds r4, r0, 0 bl sav1_get_flash_used_on_map lsls r0, 24 lsrs r0, 24 movs r5, 0 cmp r4, 0 bne _080B00B6 movs r5, 0x1 _080B00B6: ldr r1, =gUnknown_0854FE64 lsls r0, 1 adds r0, r1 ldrh r2, [r0] lsls r0, r4, 1 adds r0, r1 ldrh r3, [r0] str r5, [sp] movs r0, 0x1 str r0, [sp, 0x4] movs r0, 0x78 movs r1, 0x50 bl sub_80AFFDC bl sub_80AFFB8 bl script_env_2_enable add sp, 0x8 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80B009C thumb_func_start sub_80B00E8 sub_80B00E8: @ 80B00E8 push {r4,lr} lsls r0, 24 lsrs r0, 24 cmp r0, 0 beq _080B0116 ldr r4, =gUnknown_02038C28 ldr r1, =gUnknown_0854FE64 lsls r0, 1 adds r0, r1 ldrh r3, [r0] adds r0, r4, 0 movs r1, 0x78 movs r2, 0x50 bl sub_80AFCC4 movs r0, 0xF0 lsls r0, 3 adds r1, r4, r0 movs r2, 0xF0 lsls r2, 1 adds r0, r4, 0 bl CpuFastSet _080B0116: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_80B00E8 thumb_func_start door_upload_tiles door_upload_tiles: @ 80B0124 push {r4,lr} ldr r4, =gUnknown_02038C28 ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldr r1, =0x00000e68 adds r0, r1 ldrb r3, [r0] adds r0, r4, 0 movs r1, 0x78 movs r2, 0x50 bl sub_80AFCC4 movs r0, 0xF0 lsls r0, 3 adds r1, r4, r0 movs r2, 0xF0 lsls r2, 1 adds r0, r4, 0 bl CpuFastSet pop {r4} pop {r0} bx r0 .pool thumb_func_end door_upload_tiles thumb_func_start task0A_mpl_807E31C task0A_mpl_807E31C: @ 80B0160 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =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 _080B0184 cmp r0, 0x1 beq _080B0198 b _080B01B6 .pool _080B0184: bl player_bitmagic bl script_env_2_enable bl sub_808D194 ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080B01B6 _080B0198: bl sub_80AF71C cmp r0, 0 beq _080B01B6 bl sub_808D1B4 cmp r0, 0x1 beq _080B01B6 bl sub_809757C bl script_env_2_disable adds r0, r5, 0 bl DestroyTask _080B01B6: pop {r4,r5} pop {r0} bx r0 thumb_func_end task0A_mpl_807E31C thumb_func_start sub_80B01BC sub_80B01BC: @ 80B01BC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks adds r4, r0, r1 movs r1, 0x8 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _080B0202 cmp r0, 0x1 bgt _080B01E4 cmp r0, 0 beq _080B01EE b _080B023A .pool _080B01E4: cmp r0, 0x2 beq _080B0210 cmp r0, 0x3 beq _080B022A b _080B023A _080B01EE: bl player_bitmagic bl script_env_2_enable movs r0, 0x2D bl PlaySE bl sub_808D1C8 b _080B0222 _080B0202: bl sub_808D1E8 cmp r0, 0 bne _080B023A bl sub_80AF0B4 b _080B0222 _080B0210: bl sub_80AF710 cmp r0, 0 bne _080B023A bl sub_80859A0 lsls r0, 24 cmp r0, 0 beq _080B023A _080B0222: ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] b _080B023A _080B022A: bl warp_in ldr r0, =c2_load_new_map bl SetMainCallback2 adds r0, r5, 0 bl DestroyTask _080B023A: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_80B01BC thumb_func_start sub_80B0244 sub_80B0244: @ 80B0244 push {lr} bl script_env_2_enable ldr r0, =sub_80AFA0C movs r1, 0xA bl CreateTask ldr r1, =gUnknown_03005DAC ldr r0, =sub_80AF3E8 str r0, [r1] pop {r0} bx r0 .pool thumb_func_end sub_80B0244 thumb_func_start sub_80B0268 sub_80B0268: @ 80B0268 push {lr} bl script_env_2_enable ldr r0, =gUnknown_03005DAC ldr r1, =mapldr_default str r1, [r0] ldr r0, =sub_80B01BC movs r1, 0xA bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80B0268 thumb_func_start sub_80B028C sub_80B028C: @ 80B028C push {r4,r5,lr} sub sp, 0x4 lsls r0, 24 cmp r0, 0 bne _080B029A movs r1, 0x1F b _080B02A0 _080B029A: movs r0, 0xF8 lsls r0, 7 adds r1, r0, 0 _080B02A0: mov r0, sp strh r1, [r0] movs r5, 0 movs r4, 0xF0 lsls r4, 16 _080B02AA: lsrs r1, r4, 16 mov r0, sp movs r2, 0x2 bl LoadPalette movs r0, 0x80 lsls r0, 9 adds r4, r0 adds r5, 0x1 cmp r5, 0xF ble _080B02AA add sp, 0x4 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80B028C thumb_func_start sub_80B02C8 sub_80B02C8: @ 80B02C8 push {r4,r5,lr} lsls r0, 16 ldr r2, =0x04000052 ldrh r1, [r2] lsls r1, 24 lsrs r5, r1, 24 ldrh r1, [r2] lsrs r4, r1, 8 cmp r0, 0 beq _080B02EC cmp r5, 0 beq _080B02F6 subs r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 b _080B02F6 .pool _080B02EC: cmp r4, 0xF bhi _080B02F6 adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 _080B02F6: lsls r1, r4, 8 orrs r1, r5 lsls r1, 16 lsrs r1, 16 movs r0, 0x52 bl SetGpuReg cmp r5, 0 bne _080B0310 cmp r4, 0x10 bne _080B0310 movs r0, 0x1 b _080B0312 _080B0310: movs r0, 0 _080B0312: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_80B02C8 thumb_func_start sub_80B0318 sub_80B0318: @ 80B0318 push {r4,r5,lr} sub sp, 0x8 lsls r0, 24 lsrs r4, r0, 24 lsls r0, r4, 2 adds r0, r4 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r5, r0, r1 movs r1, 0 ldrsh r0, [r5, r1] cmp r0, 0x7 bls _080B0334 b _080B052C _080B0334: lsls r0, 2 ldr r1, =_080B0348 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _080B0348: .4byte _080B0368 .4byte _080B0424 .4byte _080B0450 .4byte _080B046C .4byte _080B0482 .4byte _080B04F2 .4byte _080B04AC .4byte _080B04BA _080B0368: movs r0, 0x80 lsls r0, 19 ldrh r0, [r0] strh r0, [r5, 0xC] ldr r0, =0x04000050 ldrh r0, [r0] strh r0, [r5, 0xE] ldr r0, =0x04000052 ldrh r0, [r0] strh r0, [r5, 0x10] ldr r0, =0x04000048 ldrh r0, [r0] strh r0, [r5, 0x12] ldr r0, =0x0400004a ldrh r0, [r0] strh r0, [r5, 0x14] movs r1, 0x80 lsls r1, 7 movs r0, 0 bl ClearGpuRegBits ldr r0, =gUnknown_82EC7CC ldrh r1, [r0] movs r0, 0x50 bl SetGpuRegBits ldr r1, =0x0000070c movs r0, 0x52 bl SetGpuReg movs r0, 0x48 movs r1, 0x3F bl SetGpuReg movs r0, 0x4A movs r1, 0x1E bl SetGpuReg movs r0, 0x14 str r0, [sp] movs r0, 0xF str r0, [sp, 0x4] movs r0, 0 movs r1, 0 movs r2, 0 movs r3, 0x1E bl sub_8199C30 movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r4, =gUnknown_02038C28 movs r2, 0x4 ldrsh r1, [r5, r2] movs r0, 0x6 ldrsh r2, [r5, r0] adds r0, r4, 0 movs r3, 0x1 bl sub_80AFD7C movs r2, 0xF0 lsls r2, 3 adds r1, r4, r2 movs r2, 0xF0 lsls r2, 1 adds r0, r4, 0 bl CpuFastSet ldr r2, =gUnknown_0854FE7C ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] bl sub_80BA038 movs r0, 0x1 strh r0, [r5] b _080B052C .pool _080B0424: movs r0, 0 movs r1, 0x11 movs r2, 0 movs r3, 0x1 bl sub_8199DF0 ldrb r0, [r5, 0x2] bl sub_80B028C movs r1, 0x4 ldrsh r0, [r5, r1] movs r2, 0x6 ldrsh r1, [r5, r2] movs r2, 0x1 str r2, [sp] movs r4, 0x2 str r4, [sp, 0x4] movs r3, 0xA0 bl sub_80B003C strh r4, [r5] b _080B052C _080B0450: ldr r0, =sub_80AFECC bl FuncIsActiveTask lsls r0, 24 cmp r0, 0 bne _080B052C bl script_env_2_enable_and_set_ctx_running movs r0, 0x3 strh r0, [r5] b _080B052C .pool _080B046C: bl InstallCameraPanAheadCallback movs r0, 0 bl SetCameraPanningCallback movs r0, 0 strh r0, [r5, 0xA] movs r0, 0x4 strh r0, [r5, 0x8] strh r0, [r5] b _080B052C _080B0482: ldrh r0, [r5, 0x8] subs r0, 0x1 strh r0, [r5, 0x8] lsls r0, 16 cmp r0, 0 bne _080B052C movs r0, 0x4 strh r0, [r5, 0x8] ldrh r0, [r5, 0xA] movs r1, 0x1 eors r0, r1 strh r0, [r5, 0xA] movs r1, 0x4 negs r1, r1 cmp r0, 0 beq _080B04A4 movs r1, 0x4 _080B04A4: movs r0, 0 bl SetCameraPanning b _080B052C _080B04AC: bl InstallCameraPanAheadCallback movs r0, 0x8 strh r0, [r5, 0x8] movs r0, 0x7 strh r0, [r5] b _080B052C _080B04BA: ldrh r0, [r5, 0x8] subs r0, 0x1 strh r0, [r5, 0x8] lsls r0, 16 cmp r0, 0 bne _080B052C movs r0, 0x8 strh r0, [r5, 0x8] ldrh r0, [r5, 0xA] movs r1, 0x1 eors r0, r1 strh r0, [r5, 0xA] ldrh r0, [r5, 0xA] bl sub_80B02C8 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080B052C movs r0, 0x5 strh r0, [r5] movs r0, 0 movs r1, 0 movs r2, 0 movs r3, 0x1 bl sub_8199DF0 b _080B052C _080B04F2: movs r0, 0x40 movs r1, 0xFF bl SetGpuReg ldrh r1, [r5, 0xC] movs r0, 0 bl SetGpuReg ldrh r1, [r5, 0xE] movs r0, 0x50 bl SetGpuReg ldrh r1, [r5, 0x10] movs r0, 0x52 bl SetGpuReg ldrh r1, [r5, 0x12] movs r0, 0x48 bl SetGpuReg ldrh r1, [r5, 0x14] movs r0, 0x4A bl SetGpuReg bl script_env_2_enable_and_set_ctx_running adds r0, r4, 0 bl DestroyTask _080B052C: add sp, 0x8 pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_80B0318 thumb_func_start sub_80B0534 sub_80B0534: @ 80B0534 push {lr} ldr r0, =sub_80B0318 movs r1, 0x50 bl CreateTask lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r1, r0 ldr r0, =gScriptResult ldrh r0, [r0] cmp r0, 0 bne _080B0568 strh r0, [r1, 0x2] movs r0, 0x68 b _080B0580 .pool _080B0568: cmp r0, 0x1 bne _080B0572 strh r0, [r1, 0x2] movs r0, 0x88 b _080B0580 _080B0572: cmp r0, 0x2 bne _080B057A movs r0, 0 b _080B057C _080B057A: movs r0, 0x1 _080B057C: strh r0, [r1, 0x2] movs r0, 0x78 _080B0580: strh r0, [r1, 0x4] movs r0, 0x50 strh r0, [r1, 0x6] pop {r0} bx r0 thumb_func_end sub_80B0534 thumb_func_start sub_80B058C sub_80B058C: @ 80B058C push {lr} ldr r0, =sub_80B0318 bl FindTaskIdByFunc lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 movs r0, 0x6 strh r0, [r1, 0x8] pop {r0} bx r0 .pool thumb_func_end sub_80B058C thumb_func_start sub_80B05B4 sub_80B05B4: @ 80B05B4 push {lr} bl sub_80859B0 ldr r0, =task50_0807F0C8 movs r1, 0x50 bl CreateTask pop {r0} bx r0 .pool thumb_func_end sub_80B05B4 thumb_func_start task50_0807F0C8 task50_0807F0C8: @ 80B05CC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 bl sub_80859A0 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _080B05E8 adds r0, r4, 0 bl DestroyTask bl script_env_2_enable_and_set_ctx_running _080B05E8: pop {r4} pop {r0} bx r0 thumb_func_end task50_0807F0C8 .align 2, 0 @ Don't pad with nop.