Files
pokeemerald-jp/asm/field_screen_effect.s
2019-09-27 01:42:56 -04:00

2831 lines
49 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.text
.syntax unified
thumb_func_start palette_bg_faded_fill_white
palette_bg_faded_fill_white: @ 0x080AE8F8
push {lr}
sub sp, #4
ldr r0, _080AE910
str r0, [sp]
ldr r1, _080AE914
ldr r2, _080AE918
mov r0, sp
bl CpuFastSet
add sp, #4
pop {r0}
bx r0
.align 2, 0
_080AE910: .4byte 0x7FFF7FFF
_080AE914: .4byte 0x020377B4
_080AE918: .4byte 0x01000100
thumb_func_end palette_bg_faded_fill_white
thumb_func_start palette_bg_faded_fill_black
palette_bg_faded_fill_black: @ 0x080AE91C
push {lr}
sub sp, #4
movs r0, #0
str r0, [sp]
ldr r1, _080AE934
ldr r2, _080AE938
mov r0, sp
bl CpuFastSet
add sp, #4
pop {r0}
bx r0
.align 2, 0
_080AE934: .4byte 0x020377B4
_080AE938: .4byte 0x01000100
thumb_func_end palette_bg_faded_fill_black
thumb_func_start pal_fill_for_maplights
pal_fill_for_maplights: @ 0x080AE93C
push {r4, lr}
bl GetLastUsedWarpMapType
adds r4, r0, #0
lsls r4, r4, #0x18
lsrs r4, r4, #0x18
bl GetCurrentMapType
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
adds r0, r4, #0
bl GetMapPairFadeFromType
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0
beq _080AE966
cmp r0, #1
beq _080AE974
b _080AE980
_080AE966:
bl palette_bg_faded_fill_black
movs r0, #0
movs r1, #0
bl FadeScreen
b _080AE980
_080AE974:
bl palette_bg_faded_fill_white
movs r0, #2
movs r1, #0
bl FadeScreen
_080AE980:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end pal_fill_for_maplights
thumb_func_start sub_080AE988
sub_080AE988: @ 0x080AE988
push {lr}
bl palette_bg_faded_fill_white
movs r0, #2
movs r1, #8
bl FadeScreen
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AE988
thumb_func_start pal_fill_black
pal_fill_black: @ 0x080AE99C
push {lr}
bl palette_bg_faded_fill_black
movs r0, #0
movs r1, #0
bl FadeScreen
pop {r0}
bx r0
.align 2, 0
thumb_func_end pal_fill_black
thumb_func_start WarpFadeScreen
WarpFadeScreen: @ 0x080AE9B0
push {r4, lr}
bl GetCurrentMapType
adds r4, r0, #0
lsls r4, r4, #0x18
lsrs r4, r4, #0x18
bl GetDestinationWarpMapHeader
ldrb r1, [r0, #0x17]
adds r0, r4, #0
bl GetMapPairFadeToType
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0
beq _080AE9D6
cmp r0, #1
beq _080AE9E0
b _080AE9E8
_080AE9D6:
movs r0, #1
movs r1, #0
bl FadeScreen
b _080AE9E8
_080AE9E0:
movs r0, #3
movs r1, #0
bl FadeScreen
_080AE9E8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end WarpFadeScreen
thumb_func_start sub_080AE9F0
sub_080AE9F0: @ 0x080AE9F0
push {lr}
lsls r0, r0, #0x18
movs r1, #0
cmp r0, #0
bne _080AE9FC
movs r1, #1
_080AE9FC:
adds r0, r1, #0
bl sub_0808BA0C
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AE9F0
thumb_func_start task0A_nop_for_a_while
task0A_nop_for_a_while: @ 0x080AEA08
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEA1C
adds r0, r4, #0
bl DestroyTask
_080AEA1C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end task0A_nop_for_a_while
thumb_func_start sub_080AEA24
sub_080AEA24: @ 0x080AEA24
push {lr}
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, _080AEA40
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEA40: .4byte 0x080AEA09
thumb_func_end sub_080AEA24
thumb_func_start task0A_asap_script_env_2_enable_and_set_ctx_running
task0A_asap_script_env_2_enable_and_set_ctx_running: @ 0x080AEA44
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEA5C
adds r0, r4, #0
bl DestroyTask
bl EnableBothScriptContexts
_080AEA5C:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end task0A_asap_script_env_2_enable_and_set_ctx_running
thumb_func_start FieldCallback_ReturnToEventScript2
FieldCallback_ReturnToEventScript2: @ 0x080AEA64
push {lr}
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, _080AEA80
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEA80: .4byte 0x080AEA45
thumb_func_end FieldCallback_ReturnToEventScript2
thumb_func_start sub_080AEA84
sub_080AEA84: @ 0x080AEA84
push {lr}
bl ScriptContext2_Enable
bl pal_fill_black
ldr r0, _080AEA9C
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEA9C: .4byte 0x080AEA45
thumb_func_end sub_080AEA84
thumb_func_start task_mpl_807DD60
task_mpl_807DD60: @ 0x080AEAA0
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r2, _080AEAC4
adds r4, r0, r2
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AEADA
cmp r0, #1
bgt _080AEAC8
cmp r0, #0
beq _080AEACE
b _080AEB0A
.align 2, 0
_080AEAC4: .4byte 0x03005B60
_080AEAC8:
cmp r0, #2
beq _080AEAF8
b _080AEB0A
_080AEACE:
bl sub_080B27FC
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
strh r0, [r4, #0xa]
b _080AEAF0
_080AEADA:
movs r1, #0xa
ldrsh r0, [r4, r1]
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
adds r1, r1, r2
ldrb r0, [r1, #4]
cmp r0, #1
beq _080AEB0A
bl pal_fill_for_maplights
_080AEAF0:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AEB0A
_080AEAF8:
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEB0A
bl ScriptContext2_Disable
adds r0, r5, #0
bl DestroyTask
_080AEB0A:
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end task_mpl_807DD60
thumb_func_start sub_080AEB10
sub_080AEB10: @ 0x080AEB10
push {lr}
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, _080AEB2C
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEB2C: .4byte 0x080AEAA1
thumb_func_end sub_080AEB10
thumb_func_start sub_080AEB30
sub_080AEB30: @ 0x080AEB30
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AEB54
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AEB64
cmp r0, #1
bgt _080AEB58
cmp r0, #0
beq _080AEB5E
b _080AEBAA
.align 2, 0
_080AEB54: .4byte 0x03005B60
_080AEB58:
cmp r0, #2
beq _080AEB94
b _080AEBAA
_080AEB5E:
bl sub_0800A8D4
b _080AEB8C
_080AEB64:
bl IsLinkTaskFinished
lsls r0, r0, #0x18
cmp r0, #0
bne _080AEB88
ldrh r0, [r4, #0xa]
adds r0, #1
strh r0, [r4, #0xa]
lsls r0, r0, #0x10
movs r1, #0xe1
lsls r1, r1, #0x13
cmp r0, r1
ble _080AEBAA
movs r0, #0xc0
lsls r0, r0, #7
bl sub_08010C60
b _080AEBAA
_080AEB88:
bl pal_fill_for_maplights
_080AEB8C:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AEBAA
_080AEB94:
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEBAA
bl sub_08009AB0
bl ScriptContext2_Disable
adds r0, r5, #0
bl DestroyTask
_080AEBAA:
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end sub_080AEB30
thumb_func_start sub_080AEBB0
sub_080AEBB0: @ 0x080AEBB0
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AEBD4
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AEBE4
cmp r0, #1
bgt _080AEBD8
cmp r0, #0
beq _080AEBDE
b _080AEC08
.align 2, 0
_080AEBD4: .4byte 0x03005B60
_080AEBD8:
cmp r0, #2
beq _080AEBF6
b _080AEC08
_080AEBDE:
bl sub_0800A8D4
b _080AEBEE
_080AEBE4:
bl IsLinkTaskFinished
lsls r0, r0, #0x18
cmp r0, #0
beq _080AEC08
_080AEBEE:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AEC08
_080AEBF6:
bl sub_08009AB0
bl ResetAllMultiplayerState
bl ScriptContext2_Disable
adds r0, r5, #0
bl DestroyTask
_080AEC08:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AEBB0
thumb_func_start sub_080AEC10
sub_080AEC10: @ 0x080AEC10
push {lr}
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, _080AEC2C
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEC2C: .4byte 0x080AEB31
thumb_func_end sub_080AEC10
thumb_func_start sub_080AEC30
sub_080AEC30: @ 0x080AEC30
push {r4, lr}
sub sp, #4
mov r4, sp
adds r4, #2
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, r0, #0x18
lsrs r4, r0, #0x18
adds r0, r4, #0
bl MetatileBehavior_IsDoor
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
bne _080AEC68
ldr r1, _080AEC64
b _080AEC7A
.align 2, 0
_080AEC64: .4byte 0x080AED35
_080AEC68:
adds r0, r4, #0
bl MetatileBehavior_IsNonAnimDoor
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldr r1, _080AEC8C
cmp r0, #1
bne _080AEC7A
ldr r1, _080AEC90
_080AEC7A:
adds r0, r1, #0
movs r1, #0xa
bl CreateTask
add sp, #4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AEC8C: .4byte 0x080AEF0D
_080AEC90: .4byte 0x080AEE4D
thumb_func_end sub_080AEC30
thumb_func_start mapldr_default
mapldr_default: @ 0x080AEC94
push {lr}
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl sub_080AEC30
bl ScriptContext2_Enable
pop {r0}
bx r0
.align 2, 0
thumb_func_end mapldr_default
thumb_func_start sub_080AECAC
sub_080AECAC: @ 0x080AECAC
push {lr}
bl Overworld_PlaySpecialMapMusic
bl sub_080AE988
bl sub_080AEC30
bl ScriptContext2_Enable
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AECAC
thumb_func_start sub_080AECC4
sub_080AECC4: @ 0x080AECC4
push {lr}
bl sub_081D5ED4
cmp r0, #0
bne _080AECD2
bl Overworld_PlaySpecialMapMusic
_080AECD2:
bl pal_fill_black
bl sub_080AEC30
bl ScriptContext2_Enable
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AECC4
thumb_func_start sub_080AECE4
sub_080AECE4: @ 0x080AECE4
push {lr}
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, #0x2e
bl PlaySE
ldr r0, _080AED04
movs r1, #0xa
bl CreateTask
bl ScriptContext2_Enable
pop {r0}
bx r0
.align 2, 0
_080AED04: .4byte 0x080AFA5D
thumb_func_end sub_080AECE4
thumb_func_start sub_080AED08
sub_080AED08: @ 0x080AED08
push {lr}
bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, #0x2e
bl PlaySE
ldr r0, _080AED30
movs r1, #0xa
bl CreateTask
bl ScriptContext2_Enable
movs r0, #0xe
bl sub_08084EA8
pop {r0}
bx r0
.align 2, 0
_080AED30: .4byte 0x080AEF0D
thumb_func_end sub_080AED08
thumb_func_start sub_080AED34
sub_080AED34: @ 0x080AED34
push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
lsls r0, r4, #2
adds r0, r0, r4
lsls r0, r0, #3
ldr r1, _080AED60
adds r5, r0, r1
adds r6, r5, #0
adds r6, #0xc
adds r7, r5, #0
adds r7, #0xe
movs r2, #8
ldrsh r0, [r5, r2]
adds r2, r1, #0
cmp r0, #4
bhi _080AEE46
lsls r0, r0, #2
ldr r1, _080AED64
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080AED60: .4byte 0x03005B60
_080AED64: .4byte 0x080AED68
_080AED68: @ jump table
.4byte _080AED7C @ case 0
.4byte _080AEDA0 @ case 1
.4byte _080AEDD8 @ case 2
.4byte _080AEE1C @ case 3
.4byte _080AEE3C @ case 4
_080AED7C:
movs r0, #0
bl sub_080AE9F0
bl FreezeEventObjects
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 FieldSetDoorOpened
movs r0, #1
strh r0, [r5, #8]
b _080AEE46
_080AEDA0:
bl WaitForWeatherFadeIn
cmp r0, #0
beq _080AEE46
movs r0, #1
bl sub_080AE9F0
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
lsls r0, r1, #3
adds r0, r0, r1
lsls r0, r0, #2
ldr r1, _080AEDD4
adds r0, r0, r1
movs r1, #8
bl EventObjectSetHeldMovement
movs r0, #2
strh r0, [r5, #8]
b _080AEE46
.align 2, 0
_080AEDD4: .4byte 0x02036FF0
_080AEDD8:
bl walkrun_is_standing_still
lsls r0, r0, #0x18
cmp r0, #0
beq _080AEE46
movs r1, #0
ldrsh r0, [r6, r1]
movs r2, #0
ldrsh r1, [r7, r2]
bl FieldAnimateDoorClose
lsls r0, r0, #0x18
asrs r0, r0, #0x18
strh r0, [r5, #0xa]
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
lsls r0, r1, #3
adds r0, r0, r1
lsls r0, r0, #2
ldr r1, _080AEE18
adds r0, r0, r1
bl MovementAction_AcroEndWheelieFaceLeft_Step0
movs r0, #3
strh r0, [r5, #8]
b _080AEE46
.align 2, 0
_080AEE18: .4byte 0x02036FF0
_080AEE1C:
movs r1, #0xa
ldrsh r0, [r5, r1]
cmp r0, #0
blt _080AEE32
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
adds r1, r1, r2
ldrb r0, [r1, #4]
cmp r0, #1
beq _080AEE46
_080AEE32:
bl UnfreezeEventObjects
movs r0, #4
strh r0, [r5, #8]
b _080AEE46
_080AEE3C:
bl ScriptContext2_Disable
adds r0, r4, #0
bl DestroyTask
_080AEE46:
pop {r4, r5, r6, r7}
pop {r0}
bx r0
thumb_func_end sub_080AED34
thumb_func_start task_map_chg_seq_0807E20C
task_map_chg_seq_0807E20C: @ 0x080AEE4C
push {r4, r5, r6, r7, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
lsls r0, r4, #2
adds r0, r0, r4
lsls r0, r0, #3
ldr r1, _080AEE78
adds r5, r0, r1
adds r6, r5, #0
adds r6, #0xc
adds r7, r5, #0
adds r7, #0xe
movs r1, #8
ldrsh r0, [r5, r1]
cmp r0, #1
beq _080AEE9E
cmp r0, #1
bgt _080AEE7C
cmp r0, #0
beq _080AEE86
b _080AEF06
.align 2, 0
_080AEE78: .4byte 0x03005B60
_080AEE7C:
cmp r0, #2
beq _080AEEE8
cmp r0, #3
beq _080AEEFC
b _080AEF06
_080AEE86:
movs r0, #0
bl sub_080AE9F0
bl FreezeEventObjects
adds r0, r6, #0
adds r1, r7, #0
bl PlayerGetDestCoords
movs r0, #1
strh r0, [r5, #8]
b _080AEF06
_080AEE9E:
bl WaitForWeatherFadeIn
cmp r0, #0
beq _080AEF06
movs r0, #1
bl sub_080AE9F0
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r4, r0, #3
adds r4, r4, r0
lsls r4, r4, #2
ldr r0, _080AEEE4
adds r4, r4, r0
bl GetPlayerFacingDirection
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
bl sub_08092CF8
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
adds r0, r4, #0
bl EventObjectSetHeldMovement
movs r0, #2
strh r0, [r5, #8]
b _080AEF06
.align 2, 0
_080AEEE4: .4byte 0x02036FF0
_080AEEE8:
bl walkrun_is_standing_still
lsls r0, r0, #0x18
cmp r0, #0
beq _080AEF06
bl UnfreezeEventObjects
movs r0, #3
strh r0, [r5, #8]
b _080AEF06
_080AEEFC:
bl ScriptContext2_Disable
adds r0, r4, #0
bl DestroyTask
_080AEF06:
pop {r4, r5, r6, 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: @ 0x080AEF0C
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
ldr r1, _080AEF2C
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #0
beq _080AEF30
cmp r0, #1
beq _080AEF40
b _080AEF56
.align 2, 0
_080AEF2C: .4byte 0x03005B60
_080AEF30:
bl FreezeEventObjects
bl ScriptContext2_Enable
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AEF56
_080AEF40:
bl WaitForWeatherFadeIn
cmp r0, #0
beq _080AEF56
bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, #0
bl DestroyTask
_080AEF56:
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end task_map_chg_seq_0807E2CC
thumb_func_start sub_080AEF5C
sub_080AEF5C: @ 0x080AEF5C
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEF78
adds r0, r4, #0
bl DestroyTask
ldr r0, _080AEF80
movs r1, #0x50
bl CreateTask
_080AEF78:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AEF80: .4byte 0x0809F30D
thumb_func_end sub_080AEF5C
thumb_func_start sub_080AEF84
sub_080AEF84: @ 0x080AEF84
push {lr}
bl pal_fill_black
ldr r0, _080AEF9C
movs r1, #0x50
bl CreateTask
bl ScriptContext2_Enable
pop {r0}
bx r0
.align 2, 0
_080AEF9C: .4byte 0x080AEF5D
thumb_func_end sub_080AEF84
thumb_func_start sub_080AEFA0
sub_080AEFA0: @ 0x080AEFA0
push {lr}
bl sub_0809F2F0
movs r0, #0
pop {r1}
bx r1
thumb_func_end sub_080AEFA0
thumb_func_start task_mpl_807E3C8
task_mpl_807E3C8: @ 0x080AEFAC
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
bl WaitForWeatherFadeIn
cmp r0, #1
bne _080AEFC8
bl ScriptContext2_Disable
adds r0, r4, #0
bl DestroyTask
bl ScriptUnfreezeEventObjects
_080AEFC8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end task_mpl_807E3C8
thumb_func_start sub_080AEFD0
sub_080AEFD0: @ 0x080AEFD0
push {lr}
bl ScriptContext2_Enable
bl pal_fill_black
ldr r0, _080AEFE8
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AEFE8: .4byte 0x080AEFAD
thumb_func_end sub_080AEFD0
thumb_func_start sub_080AEFEC
sub_080AEFEC: @ 0x080AEFEC
push {lr}
bl ScriptContext2_Enable
bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, _080AF008
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF008: .4byte 0x080AEFAD
thumb_func_end sub_080AEFEC
thumb_func_start PaletteFadeActive
PaletteFadeActive: @ 0x080AF00C
ldr r0, _080AF014
ldrb r0, [r0, #7]
lsrs r0, r0, #7
bx lr
.align 2, 0
_080AF014: .4byte 0x02037C74
thumb_func_end PaletteFadeActive
thumb_func_start WaitForWeatherFadeIn
WaitForWeatherFadeIn: @ 0x080AF018
push {lr}
bl IsWeatherNotFadingIn
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
beq _080AF02A
movs r0, #0
b _080AF02C
_080AF02A:
movs r0, #1
_080AF02C:
pop {r1}
bx r1
thumb_func_end WaitForWeatherFadeIn
thumb_func_start DoWarp
DoWarp: @ 0x080AF030
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
bl PlayRainStoppingSoundEffect
movs r0, #9
bl PlaySE
ldr r0, _080AF05C
ldr r1, _080AF060
str r1, [r0]
ldr r0, _080AF064
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF05C: .4byte 0x03005B0C
_080AF060: .4byte 0x080AEC95
_080AF064: .4byte 0x080AF309
thumb_func_end DoWarp
thumb_func_start DoDiveWarp
DoDiveWarp: @ 0x080AF068
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
bl PlayRainStoppingSoundEffect
ldr r0, _080AF08C
ldr r1, _080AF090
str r1, [r0]
ldr r0, _080AF094
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF08C: .4byte 0x03005B0C
_080AF090: .4byte 0x080AEC95
_080AF094: .4byte 0x080AF309
thumb_func_end DoDiveWarp
thumb_func_start sub_080AF098
sub_080AF098: @ 0x080AF098
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
movs r0, #3
movs r1, #8
bl FadeScreen
bl PlayRainStoppingSoundEffect
ldr r0, _080AF0C0
ldr r1, _080AF0C4
str r1, [r0]
ldr r0, _080AF0C8
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF0C0: .4byte 0x03005B0C
_080AF0C4: .4byte 0x080AECAD
_080AF0C8: .4byte 0x080AF309
thumb_func_end sub_080AF098
thumb_func_start DoDoorWarp
DoDoorWarp: @ 0x080AF0CC
push {lr}
bl ScriptContext2_Enable
ldr r0, _080AF0E4
ldr r1, _080AF0E8
str r1, [r0]
ldr r0, _080AF0EC
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF0E4: .4byte 0x03005B0C
_080AF0E8: .4byte 0x080AEC95
_080AF0EC: .4byte 0x080AF385
thumb_func_end DoDoorWarp
thumb_func_start DoFallWarp
DoFallWarp: @ 0x080AF0F0
push {lr}
bl DoDiveWarp
ldr r1, _080AF100
ldr r0, _080AF104
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080AF100: .4byte 0x03005B0C
_080AF104: .4byte 0x080B62C1
thumb_func_end DoFallWarp
thumb_func_start sub_080AF108
sub_080AF108: @ 0x080AF108
push {r4, lr}
adds r4, r0, #0
lsls r4, r4, #0x18
lsrs r4, r4, #0x18
bl ScriptContext2_Enable
adds r0, r4, #0
movs r1, #0xa
bl sub_080B65A4
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AF108
thumb_func_start sub_080AF124
sub_080AF124: @ 0x080AF124
push {lr}
bl ScriptContext2_Enable
movs r0, #0xa
bl sub_080B6D30
pop {r0}
bx r0
thumb_func_end sub_080AF124
thumb_func_start sub_080AF134
sub_080AF134: @ 0x080AF134
push {lr}
bl ScriptContext2_Enable
movs r0, #0xa
bl sub_080B71CC
pop {r0}
bx r0
thumb_func_end sub_080AF134
thumb_func_start sub_080AF144
sub_080AF144: @ 0x080AF144
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
movs r0, #0x2d
bl PlaySE
ldr r0, _080AF16C
movs r1, #0xa
bl CreateTask
ldr r1, _080AF170
ldr r0, _080AF174
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080AF16C: .4byte 0x080AF309
_080AF170: .4byte 0x03005B0C
_080AF174: .4byte 0x080AECE5
thumb_func_end sub_080AF144
thumb_func_start sub_080AF178
sub_080AF178: @ 0x080AF178
push {lr}
movs r0, #1
bl sub_08084EA8
bl ScriptContext2_Enable
bl SaveEventObjects
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
movs r0, #0x2d
bl PlaySE
ldr r0, _080AF1A8
movs r1, #0xa
bl CreateTask
ldr r1, _080AF1AC
ldr r0, _080AF1B0
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080AF1A8: .4byte 0x080AF309
_080AF1AC: .4byte 0x03005B0C
_080AF1B0: .4byte 0x080AED09
thumb_func_end sub_080AF178
thumb_func_start sub_080AF1B4
sub_080AF1B4: @ 0x080AF1B4
push {lr}
bl ScriptContext2_Enable
bl WarpFadeScreen
ldr r0, _080AF1D0
movs r1, #0xa
bl CreateTask
ldr r1, _080AF1D4
ldr r0, _080AF1D8
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080AF1D0: .4byte 0x080AF309
_080AF1D4: .4byte 0x03005B0C
_080AF1D8: .4byte 0x080FBFD9
thumb_func_end sub_080AF1B4
thumb_func_start sub_080AF1DC
sub_080AF1DC: @ 0x080AF1DC
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AF200
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AF210
cmp r0, #1
bgt _080AF204
cmp r0, #0
beq _080AF20A
b _080AF23A
.align 2, 0
_080AF200: .4byte 0x03005B60
_080AF204:
cmp r0, #2
beq _080AF22A
b _080AF23A
_080AF20A:
bl ScriptContext2_Enable
b _080AF222
_080AF210:
bl PaletteFadeActive
cmp r0, #0
bne _080AF23A
bl BGMusicStopped
lsls r0, r0, #0x18
cmp r0, #0
beq _080AF23A
_080AF222:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AF23A
_080AF22A:
bl WarpIntoMap
ldr r0, _080AF240
bl SetMainCallback2
adds r0, r5, #0
bl DestroyTask
_080AF23A:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080AF240: .4byte 0x080859DD
thumb_func_end sub_080AF1DC
thumb_func_start sub_080AF244
sub_080AF244: @ 0x080AF244
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
movs r0, #9
bl PlaySE
ldr r0, _080AF264
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF264: .4byte 0x080AF1DD
thumb_func_end sub_080AF244
thumb_func_start Task_ReturnToWorldFromLinkRoom
Task_ReturnToWorldFromLinkRoom: @ 0x080AF268
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AF28C
adds r4, r0, r1
movs r1, #0
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AF2AE
cmp r0, #1
bgt _080AF290
cmp r0, #0
beq _080AF296
b _080AF2E4
.align 2, 0
_080AF28C: .4byte 0x03005B68
_080AF290:
cmp r0, #2
beq _080AF2CC
b _080AF2E4
_080AF296:
bl ClearLinkCallback_2
movs r0, #1
movs r1, #0
bl FadeScreen
bl TryFadeOutOldMapMusic
movs r0, #9
bl PlaySE
b _080AF2C4
_080AF2AE:
bl PaletteFadeActive
cmp r0, #0
bne _080AF2E4
bl BGMusicStopped
lsls r0, r0, #0x18
cmp r0, #0
beq _080AF2E4
bl sub_0800A7F8
_080AF2C4:
ldrh r0, [r4]
adds r0, #1
strh r0, [r4]
b _080AF2E4
_080AF2CC:
ldr r0, _080AF2EC
ldrb r0, [r0]
cmp r0, #0
bne _080AF2E4
bl WarpIntoMap
ldr r0, _080AF2F0
bl SetMainCallback2
adds r0, r5, #0
bl DestroyTask
_080AF2E4:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080AF2EC: .4byte 0x030031C4
_080AF2F0: .4byte 0x08085935
thumb_func_end Task_ReturnToWorldFromLinkRoom
thumb_func_start sub_080AF2F4
sub_080AF2F4: @ 0x080AF2F4
push {lr}
ldr r0, _080AF304
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF304: .4byte 0x080AF269
thumb_func_end sub_080AF2F4
thumb_func_start sub_080AF308
sub_080AF308: @ 0x080AF308
push {r4, r5, r6, lr}
lsls r0, r0, #0x18
lsrs r6, r0, #0x18
lsls r0, r6, #2
adds r0, r0, r6
lsls r0, r0, #3
ldr r1, _080AF32C
adds r4, r0, r1
movs r0, #8
ldrsh r5, [r4, r0]
cmp r5, #1
beq _080AF340
cmp r5, #1
bgt _080AF330
cmp r5, #0
beq _080AF336
b _080AF378
.align 2, 0
_080AF32C: .4byte 0x03005B60
_080AF330:
cmp r5, #2
beq _080AF368
b _080AF378
_080AF336:
bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AF360
_080AF340:
bl PaletteFadeActive
cmp r0, #0
bne _080AF378
movs r1, #0xa
ldrsh r0, [r4, r1]
cmp r0, #0
bne _080AF356
bl ClearMirageTowerPulseBlendEffect
strh r5, [r4, #0xa]
_080AF356:
bl BGMusicStopped
lsls r0, r0, #0x18
cmp r0, #0
beq _080AF378
_080AF360:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AF378
_080AF368:
bl WarpIntoMap
ldr r0, _080AF380
bl SetMainCallback2
adds r0, r6, #0
bl DestroyTask
_080AF378:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_080AF380: .4byte 0x08085935
thumb_func_end sub_080AF308
thumb_func_start sub_080AF384
sub_080AF384: @ 0x080AF384
push {r4, r5, r6, lr}
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
ldr r0, _080AF3B4
adds r5, r1, r0
adds r4, r5, #0
adds r4, #0xc
adds r6, r5, #0
adds r6, #0xe
movs r2, #8
ldrsh r1, [r5, r2]
adds r2, r0, #0
cmp r1, #4
bls _080AF3A8
b _080AF4E4
_080AF3A8:
lsls r0, r1, #2
ldr r1, _080AF3B8
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080AF3B4: .4byte 0x03005B60
_080AF3B8: .4byte 0x080AF3BC
_080AF3BC: @ jump table
.4byte _080AF3D0 @ case 0
.4byte _080AF40C @ case 1
.4byte _080AF468 @ case 2
.4byte _080AF4B4 @ case 3
.4byte _080AF4D0 @ case 4
_080AF3D0:
bl FreezeEventObjects
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, #1
bl GetDoorSoundEffect
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
bl PlaySE
movs r1, #0
ldrsh r0, [r4, r1]
movs r2, #0
ldrsh r1, [r6, r2]
subs r1, #1
bl FieldAnimateDoorOpen
lsls r0, r0, #0x18
asrs r0, r0, #0x18
strh r0, [r5, #0xa]
movs r0, #1
strh r0, [r5, #8]
b _080AF4E4
_080AF40C:
movs r1, #0xa
ldrsh r0, [r5, r1]
cmp r0, #0
blt _080AF422
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
adds r1, r1, r2
ldrb r0, [r1, #4]
cmp r0, #1
beq _080AF4E4
_080AF422:
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
lsls r0, r1, #3
adds r0, r0, r1
lsls r0, r0, #2
ldr r4, _080AF464
adds r0, r0, r4
bl EventObjectClearHeldMovementIfActive
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
lsls r0, r1, #3
adds r0, r0, r1
lsls r0, r0, #2
adds r0, r0, r4
movs r1, #9
bl EventObjectSetHeldMovement
movs r0, #2
strh r0, [r5, #8]
b _080AF4E4
.align 2, 0
_080AF464: .4byte 0x02036FF0
_080AF468:
bl walkrun_is_standing_still
lsls r0, r0, #0x18
cmp r0, #0
beq _080AF4E4
movs r2, #0
ldrsh r0, [r4, r2]
movs r2, #0
ldrsh r1, [r6, r2]
subs r1, #1
bl FieldAnimateDoorClose
lsls r0, r0, #0x18
asrs r0, r0, #0x18
strh r0, [r5, #0xa]
movs r0, #0xff
movs r1, #0
movs r2, #0
bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, #0
lsls r1, r1, #0x18
lsrs r1, r1, #0x18
lsls r0, r1, #3
adds r0, r0, r1
lsls r0, r0, #2
ldr r1, _080AF4B0
adds r0, r0, r1
bl MovementAction_AcroEndWheelieFaceLeft_Step0
movs r0, #0
bl sub_080AE9F0
movs r0, #3
strh r0, [r5, #8]
b _080AF4E4
.align 2, 0
_080AF4B0: .4byte 0x02036FF0
_080AF4B4:
movs r1, #0xa
ldrsh r0, [r5, r1]
cmp r0, #0
blt _080AF4CA
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
adds r1, r1, r2
ldrb r0, [r1, #4]
cmp r0, #1
beq _080AF4E4
_080AF4CA:
movs r0, #4
strh r0, [r5, #8]
b _080AF4E4
_080AF4D0:
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
bl PlayRainStoppingSoundEffect
movs r0, #0
strh r0, [r5, #8]
ldr r0, _080AF4EC
str r0, [r5]
_080AF4E4:
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_080AF4EC: .4byte 0x080AF309
thumb_func_end sub_080AF384
thumb_func_start task0A_fade_n_map_maybe
task0A_fade_n_map_maybe: @ 0x080AF4F0
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AF514
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AF528
cmp r0, #1
bgt _080AF518
cmp r0, #0
beq _080AF51E
b _080AF552
.align 2, 0
_080AF514: .4byte 0x03005B60
_080AF518:
cmp r0, #2
beq _080AF542
b _080AF552
_080AF51E:
bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AF53A
_080AF528:
bl PaletteFadeActive
cmp r0, #0
bne _080AF552
bl BGMusicStopped
lsls r0, r0, #0x18
cmp r0, #0
beq _080AF552
_080AF53A:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AF552
_080AF542:
bl WarpIntoMap
ldr r0, _080AF558
bl SetMainCallback2
adds r0, r5, #0
bl DestroyTask
_080AF552:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080AF558: .4byte 0x0808598D
thumb_func_end task0A_fade_n_map_maybe
thumb_func_start sub_080AF55C
sub_080AF55C: @ 0x080AF55C
push {lr}
bl ScriptContext2_Enable
bl TryFadeOutOldMapMusic
bl WarpFadeScreen
bl PlayRainStoppingSoundEffect
movs r0, #9
bl PlaySE
ldr r0, _080AF588
ldr r1, _080AF58C
str r1, [r0]
ldr r0, _080AF590
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AF588: .4byte 0x03005B0C
_080AF58C: .4byte 0x080AECC5
_080AF590: .4byte 0x080AF4F1
thumb_func_end sub_080AF55C
thumb_func_start SetFlashScanlineEffectWindowBoundary
SetFlashScanlineEffectWindowBoundary: @ 0x080AF594
push {lr}
cmp r1, #0xa0
bhi _080AF5BC
cmp r2, #0
bge _080AF5A0
movs r2, #0
_080AF5A0:
cmp r2, #0xff
ble _080AF5A6
movs r2, #0xff
_080AF5A6:
cmp r3, #0
bge _080AF5AC
movs r3, #0
_080AF5AC:
cmp r3, #0xff
ble _080AF5B2
movs r3, #0xff
_080AF5B2:
lsls r1, r1, #1
adds r1, r1, r0
lsls r0, r2, #8
orrs r0, r3
strh r0, [r1]
_080AF5BC:
pop {r0}
bx r0
thumb_func_end SetFlashScanlineEffectWindowBoundary
thumb_func_start SetFlashScanlineEffectWindowBoundaries
SetFlashScanlineEffectWindowBoundaries: @ 0x080AF5C0
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #4
str r0, [sp]
mov sl, r1
mov sb, r2
adds r6, r3, #0
mov r8, r6
movs r7, #0
cmp r6, #0
blt _080AF63C
_080AF5DC:
mov r0, sb
subs r1, r0, r7
mov r0, sl
subs r4, r0, r6
adds r5, r0, r6
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlashScanlineEffectWindowBoundary
mov r0, sb
adds r1, r0, r7
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlashScanlineEffectWindowBoundary
mov r0, sb
subs r1, r0, r6
mov r0, sl
subs r4, r0, r7
adds r5, r0, r7
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlashScanlineEffectWindowBoundary
mov r0, sb
adds r1, r0, r6
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlashScanlineEffectWindowBoundary
mov r1, r8
adds r1, #1
lsls r0, r7, #1
subs r1, r1, r0
mov r8, r1
adds r7, #1
cmp r1, #0
bge _080AF638
subs r1, r6, #1
lsls r0, r1, #1
add r8, r0
adds r6, r1, #0
_080AF638:
cmp r6, r7
bge _080AF5DC
_080AF63C:
add sp, #4
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7}
pop {r0}
bx r0
thumb_func_end SetFlashScanlineEffectWindowBoundaries
thumb_func_start SetFlash2ScanlineEffectWindowBoundary
SetFlash2ScanlineEffectWindowBoundary: @ 0x080AF64C
push {lr}
cmp r1, #0xa0
bhi _080AF674
cmp r2, #0
bge _080AF658
movs r2, #0
_080AF658:
cmp r2, #0xf0
ble _080AF65E
movs r2, #0xf0
_080AF65E:
cmp r3, #0
bge _080AF664
movs r3, #0
_080AF664:
cmp r3, #0xf0
ble _080AF66A
movs r3, #0xf0
_080AF66A:
lsls r1, r1, #1
adds r1, r1, r0
lsls r0, r2, #8
orrs r0, r3
strh r0, [r1]
_080AF674:
pop {r0}
bx r0
thumb_func_end SetFlash2ScanlineEffectWindowBoundary
thumb_func_start SetFlash2ScanlineEffectWindowBoundaries
SetFlash2ScanlineEffectWindowBoundaries: @ 0x080AF678
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
sub sp, #4
str r0, [sp]
mov sl, r1
mov sb, r2
adds r6, r3, #0
mov r8, r6
movs r7, #0
cmp r6, #0
blt _080AF6F4
_080AF694:
mov r0, sb
subs r1, r0, r7
mov r0, sl
subs r4, r0, r6
adds r5, r0, r6
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlash2ScanlineEffectWindowBoundary
mov r0, sb
adds r1, r0, r7
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlash2ScanlineEffectWindowBoundary
mov r0, sb
subs r1, r0, r6
mov r0, sl
subs r4, r0, r7
adds r5, r0, r7
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlash2ScanlineEffectWindowBoundary
mov r0, sb
adds r1, r0, r6
ldr r0, [sp]
adds r2, r4, #0
adds r3, r5, #0
bl SetFlash2ScanlineEffectWindowBoundary
mov r1, r8
adds r1, #1
lsls r0, r7, #1
subs r1, r1, r0
mov r8, r1
adds r7, #1
cmp r1, #0
bge _080AF6F0
subs r1, r6, #1
lsls r0, r1, #1
add r8, r0
adds r6, r1, #0
_080AF6F0:
cmp r6, r7
bge _080AF694
_080AF6F4:
add sp, #4
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7}
pop {r0}
bx r0
thumb_func_end SetFlash2ScanlineEffectWindowBoundaries
thumb_func_start UpdateFlashLevelEffect
UpdateFlashLevelEffect: @ 0x080AF704
push {r4, r5, r6, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AF728
adds r4, r0, r1
movs r1, #0
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AF760
cmp r0, #1
bgt _080AF72C
cmp r0, #0
beq _080AF732
b _080AF7C2
.align 2, 0
_080AF728: .4byte 0x03005B68
_080AF72C:
cmp r0, #2
beq _080AF7B8
b _080AF7C2
_080AF732:
ldr r0, _080AF758
ldrb r1, [r0, #0x14]
lsls r0, r1, #4
subs r0, r0, r1
lsls r0, r0, #7
ldr r1, _080AF75C
adds r0, r0, r1
movs r2, #2
ldrsh r1, [r4, r2]
movs r3, #4
ldrsh r2, [r4, r3]
movs r5, #6
ldrsh r3, [r4, r5]
bl SetFlashScanlineEffectWindowBoundaries
movs r0, #1
strh r0, [r4]
b _080AF7C2
.align 2, 0
_080AF758: .4byte 0x020397C8
_080AF75C: .4byte 0x020388C8
_080AF760:
ldr r0, _080AF7A8
ldrb r1, [r0, #0x14]
lsls r0, r1, #4
subs r0, r0, r1
lsls r0, r0, #7
ldr r1, _080AF7AC
adds r0, r0, r1
movs r6, #2
ldrsh r1, [r4, r6]
movs r3, #4
ldrsh r2, [r4, r3]
movs r6, #6
ldrsh r3, [r4, r6]
bl SetFlashScanlineEffectWindowBoundaries
movs r0, #0
strh r0, [r4]
ldrh r0, [r4, #0xa]
ldrh r1, [r4, #6]
adds r0, r0, r1
strh r0, [r4, #6]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r2, #8
ldrsh r1, [r4, r2]
cmp r0, r1
ble _080AF7C2
movs r3, #0xc
ldrsh r0, [r4, r3]
cmp r0, #1
bne _080AF7B0
bl ScanlineEffect_Stop
movs r0, #2
strh r0, [r4]
b _080AF7C2
.align 2, 0
_080AF7A8: .4byte 0x020397C8
_080AF7AC: .4byte 0x020388C8
_080AF7B0:
adds r0, r5, #0
bl DestroyTask
b _080AF7C2
_080AF7B8:
bl ScanlineEffect_Clear
adds r0, r5, #0
bl DestroyTask
_080AF7C2:
pop {r4, r5, r6}
pop {r0}
bx r0
thumb_func_end UpdateFlashLevelEffect
thumb_func_start UpdateFlash2LevelEffect
UpdateFlash2LevelEffect: @ 0x080AF7C8
push {r4, r5, r6, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AF7EC
adds r4, r0, r1
movs r1, #0
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AF824
cmp r0, #1
bgt _080AF7F0
cmp r0, #0
beq _080AF7F6
b _080AF886
.align 2, 0
_080AF7EC: .4byte 0x03005B68
_080AF7F0:
cmp r0, #2
beq _080AF87C
b _080AF886
_080AF7F6:
ldr r0, _080AF81C
ldrb r1, [r0, #0x14]
lsls r0, r1, #4
subs r0, r0, r1
lsls r0, r0, #7
ldr r1, _080AF820
adds r0, r0, r1
movs r2, #2
ldrsh r1, [r4, r2]
movs r3, #4
ldrsh r2, [r4, r3]
movs r5, #6
ldrsh r3, [r4, r5]
bl SetFlash2ScanlineEffectWindowBoundaries
movs r0, #1
strh r0, [r4]
b _080AF886
.align 2, 0
_080AF81C: .4byte 0x020397C8
_080AF820: .4byte 0x020388C8
_080AF824:
ldr r0, _080AF86C
ldrb r1, [r0, #0x14]
lsls r0, r1, #4
subs r0, r0, r1
lsls r0, r0, #7
ldr r1, _080AF870
adds r0, r0, r1
movs r6, #2
ldrsh r1, [r4, r6]
movs r3, #4
ldrsh r2, [r4, r3]
movs r6, #6
ldrsh r3, [r4, r6]
bl SetFlash2ScanlineEffectWindowBoundaries
movs r0, #0
strh r0, [r4]
ldrh r0, [r4, #0xa]
ldrh r1, [r4, #6]
adds r0, r0, r1
strh r0, [r4, #6]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r2, #8
ldrsh r1, [r4, r2]
cmp r0, r1
ble _080AF886
movs r3, #0xc
ldrsh r0, [r4, r3]
cmp r0, #1
bne _080AF874
bl ScanlineEffect_Stop
movs r0, #2
strh r0, [r4]
b _080AF886
.align 2, 0
_080AF86C: .4byte 0x020397C8
_080AF870: .4byte 0x020388C8
_080AF874:
adds r0, r5, #0
bl DestroyTask
b _080AF886
_080AF87C:
bl ScanlineEffect_Clear
adds r0, r5, #0
bl DestroyTask
_080AF886:
pop {r4, r5, r6}
pop {r0}
bx r0
thumb_func_end UpdateFlash2LevelEffect
thumb_func_start sub_080AF88C
sub_080AF88C: @ 0x080AF88C
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
ldr r0, _080AF8B0
bl FuncIsActiveTask
lsls r0, r0, #0x18
cmp r0, #0
bne _080AF8A8
bl EnableBothScriptContexts
adds r0, r4, #0
bl DestroyTask
_080AF8A8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AF8B0: .4byte 0x080AF705
thumb_func_end sub_080AF88C
thumb_func_start sub_080AF8B4
sub_080AF8B4: @ 0x080AF8B4
push {r4, lr}
ldr r4, _080AF8D4
adds r0, r4, #0
bl FuncIsActiveTask
lsls r0, r0, #0x18
cmp r0, #0
bne _080AF8CC
adds r0, r4, #0
movs r1, #0x50
bl CreateTask
_080AF8CC:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AF8D4: .4byte 0x080AF88D
thumb_func_end sub_080AF8B4
thumb_func_start sub_080AF8D8
sub_080AF8D8: @ 0x080AF8D8
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
mov r8, r0
mov sb, r1
adds r5, r2, #0
adds r4, r3, #0
ldr r6, [sp, #0x1c]
ldr r0, [sp, #0x20]
lsls r0, r0, #0x18
lsrs r7, r0, #0x18
ldr r0, _080AF91C
movs r1, #0x50
bl CreateTask
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _080AF920
adds r1, r0, r1
strh r5, [r1, #6]
strh r4, [r1, #8]
mov r0, r8
strh r0, [r1, #2]
mov r0, sb
strh r0, [r1, #4]
strh r6, [r1, #0xc]
cmp r5, r4
bge _080AF924
strh r7, [r1, #0xa]
b _080AF928
.align 2, 0
_080AF91C: .4byte 0x080AF705
_080AF920: .4byte 0x03005B68
_080AF924:
rsbs r0, r7, #0
strh r0, [r1, #0xa]
_080AF928:
adds r0, r2, #0
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7}
pop {r1}
bx r1
.align 2, 0
thumb_func_end sub_080AF8D8
thumb_func_start sub_080AF938
sub_080AF938: @ 0x080AF938
push {r4, r5, r6, r7, lr}
mov r7, sb
mov r6, r8
push {r6, r7}
mov r8, r0
mov sb, r1
adds r5, r2, #0
adds r4, r3, #0
ldr r6, [sp, #0x1c]
ldr r0, [sp, #0x20]
lsls r0, r0, #0x18
lsrs r7, r0, #0x18
ldr r0, _080AF97C
movs r1, #0x50
bl CreateTask
lsls r0, r0, #0x18
lsrs r2, r0, #0x18
lsls r0, r2, #2
adds r0, r0, r2
lsls r0, r0, #3
ldr r1, _080AF980
adds r1, r0, r1
strh r5, [r1, #6]
strh r4, [r1, #8]
mov r0, r8
strh r0, [r1, #2]
mov r0, sb
strh r0, [r1, #4]
strh r6, [r1, #0xc]
cmp r5, r4
bge _080AF984
strh r7, [r1, #0xa]
b _080AF988
.align 2, 0
_080AF97C: .4byte 0x080AF7C9
_080AF980: .4byte 0x03005B68
_080AF984:
rsbs r0, r7, #0
strh r0, [r1, #0xa]
_080AF988:
adds r0, r2, #0
pop {r3, r4}
mov r8, r3
mov sb, r4
pop {r4, r5, r6, r7}
pop {r1}
bx r1
.align 2, 0
thumb_func_end sub_080AF938
thumb_func_start sub_080AF998
sub_080AF998: @ 0x080AF998
push {r4, r5, lr}
sub sp, #8
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
adds r4, r0, #0
bl Overworld_GetFlashLevel
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
movs r5, #0
cmp r4, #0
bne _080AF9B2
movs r5, #1
_080AF9B2:
ldr r1, _080AF9E0
lsls r0, r0, #1
adds r0, r0, r1
ldrh r2, [r0]
lsls r0, r4, #1
adds r0, r0, r1
ldrh r3, [r0]
str r5, [sp]
movs r0, #1
str r0, [sp, #4]
movs r0, #0x78
movs r1, #0x50
bl sub_080AF8D8
bl sub_080AF8B4
bl ScriptContext2_Enable
add sp, #8
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080AF9E0: .4byte 0x0852AB00
thumb_func_end sub_080AF998
thumb_func_start WriteFlashScanlineEffectBuffer
WriteFlashScanlineEffectBuffer: @ 0x080AF9E4
push {r4, lr}
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #0
beq _080AFA12
ldr r4, _080AFA18
ldr r1, _080AFA1C
lsls r0, r0, #1
adds r0, r0, r1
ldrh r3, [r0]
adds r0, r4, #0
movs r1, #0x78
movs r2, #0x50
bl SetFlashScanlineEffectWindowBoundaries
movs r0, #0xf0
lsls r0, r0, #3
adds r1, r4, r0
movs r2, #0xf0
lsls r2, r2, #1
adds r0, r4, #0
bl CpuFastSet
_080AFA12:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AFA18: .4byte 0x020388C8
_080AFA1C: .4byte 0x0852AB00
thumb_func_end WriteFlashScanlineEffectBuffer
thumb_func_start WriteBattlePyramidViewScanlineEffectBuffer
WriteBattlePyramidViewScanlineEffectBuffer: @ 0x080AFA20
push {r4, lr}
ldr r4, _080AFA50
ldr r0, _080AFA54
ldr r0, [r0]
ldr r1, _080AFA58
adds r0, r0, r1
ldrb r3, [r0]
adds r0, r4, #0
movs r1, #0x78
movs r2, #0x50
bl SetFlashScanlineEffectWindowBoundaries
movs r0, #0xf0
lsls r0, r0, #3
adds r1, r4, r0
movs r2, #0xf0
lsls r2, r2, #1
adds r0, r4, #0
bl CpuFastSet
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080AFA50: .4byte 0x020388C8
_080AFA54: .4byte 0x03005AF0
_080AFA58: .4byte 0x00000E68
thumb_func_end WriteBattlePyramidViewScanlineEffectBuffer
thumb_func_start task0A_mpl_807E31C
task0A_mpl_807E31C: @ 0x080AFA5C
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
ldr r1, _080AFA7C
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #0
beq _080AFA80
cmp r0, #1
beq _080AFA94
b _080AFAB2
.align 2, 0
_080AFA7C: .4byte 0x03005B60
_080AFA80:
bl FreezeEventObjects
bl ScriptContext2_Enable
bl sub_0808CB04
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AFAB2
_080AFA94:
bl WaitForWeatherFadeIn
cmp r0, #0
beq _080AFAB2
bl sub_0808CB24
cmp r0, #1
beq _080AFAB2
bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, #0
bl DestroyTask
_080AFAB2:
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end task0A_mpl_807E31C
thumb_func_start sub_080AFAB8
sub_080AFAB8: @ 0x080AFAB8
push {r4, r5, lr}
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
lsls r0, r5, #2
adds r0, r0, r5
lsls r0, r0, #3
ldr r1, _080AFADC
adds r4, r0, r1
movs r1, #8
ldrsh r0, [r4, r1]
cmp r0, #1
beq _080AFAFE
cmp r0, #1
bgt _080AFAE0
cmp r0, #0
beq _080AFAEA
b _080AFB36
.align 2, 0
_080AFADC: .4byte 0x03005B60
_080AFAE0:
cmp r0, #2
beq _080AFB0C
cmp r0, #3
beq _080AFB26
b _080AFB36
_080AFAEA:
bl FreezeEventObjects
bl ScriptContext2_Enable
movs r0, #0x2d
bl PlaySE
bl sub_0808CB38
b _080AFB1E
_080AFAFE:
bl sub_0808CB58
cmp r0, #0
bne _080AFB36
bl WarpFadeScreen
b _080AFB1E
_080AFB0C:
bl PaletteFadeActive
cmp r0, #0
bne _080AFB36
bl BGMusicStopped
lsls r0, r0, #0x18
cmp r0, #0
beq _080AFB36
_080AFB1E:
ldrh r0, [r4, #8]
adds r0, #1
strh r0, [r4, #8]
b _080AFB36
_080AFB26:
bl WarpIntoMap
ldr r0, _080AFB3C
bl SetMainCallback2
adds r0, r5, #0
bl DestroyTask
_080AFB36:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_080AFB3C: .4byte 0x08085935
thumb_func_end sub_080AFAB8
thumb_func_start sub_080AFB40
sub_080AFB40: @ 0x080AFB40
push {lr}
bl ScriptContext2_Enable
ldr r0, _080AFB58
movs r1, #0xa
bl CreateTask
ldr r1, _080AFB5C
ldr r0, _080AFB60
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_080AFB58: .4byte 0x080AF309
_080AFB5C: .4byte 0x03005B0C
_080AFB60: .4byte 0x080AECE5
thumb_func_end sub_080AFB40
thumb_func_start sub_080AFB64
sub_080AFB64: @ 0x080AFB64
push {lr}
bl ScriptContext2_Enable
ldr r0, _080AFB7C
ldr r1, _080AFB80
str r1, [r0]
ldr r0, _080AFB84
movs r1, #0xa
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AFB7C: .4byte 0x03005B0C
_080AFB80: .4byte 0x080AEC95
_080AFB84: .4byte 0x080AFAB9
thumb_func_end sub_080AFB64
thumb_func_start sub_080AFB88
sub_080AFB88: @ 0x080AFB88
push {r4, r5, lr}
sub sp, #4
lsls r0, r0, #0x18
cmp r0, #0
bne _080AFB96
movs r1, #0x1f
b _080AFB9C
_080AFB96:
movs r0, #0xf8
lsls r0, r0, #7
adds r1, r0, #0
_080AFB9C:
mov r0, sp
strh r1, [r0]
movs r5, #0
movs r4, #0xf0
lsls r4, r4, #0x10
_080AFBA6:
lsrs r1, r4, #0x10
mov r0, sp
movs r2, #2
bl LoadPalette
movs r0, #0x80
lsls r0, r0, #9
adds r4, r4, r0
adds r5, #1
cmp r5, #0xf
ble _080AFBA6
add sp, #4
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end sub_080AFB88
thumb_func_start sub_080AFBC4
sub_080AFBC4: @ 0x080AFBC4
push {r4, r5, lr}
lsls r0, r0, #0x10
ldr r2, _080AFBE4
ldrh r1, [r2]
lsls r1, r1, #0x18
lsrs r5, r1, #0x18
ldrh r1, [r2]
lsrs r4, r1, #8
cmp r0, #0
beq _080AFBE8
cmp r5, #0
beq _080AFBF2
subs r0, r5, #1
lsls r0, r0, #0x18
lsrs r5, r0, #0x18
b _080AFBF2
.align 2, 0
_080AFBE4: .4byte 0x04000052
_080AFBE8:
cmp r4, #0xf
bhi _080AFBF2
adds r0, r4, #1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
_080AFBF2:
lsls r1, r4, #8
orrs r1, r5
lsls r1, r1, #0x10
lsrs r1, r1, #0x10
movs r0, #0x52
bl SetGpuReg
cmp r5, #0
bne _080AFC0C
cmp r4, #0x10
bne _080AFC0C
movs r0, #1
b _080AFC0E
_080AFC0C:
movs r0, #0
_080AFC0E:
pop {r4, r5}
pop {r1}
bx r1
thumb_func_end sub_080AFBC4
thumb_func_start sub_080AFC14
sub_080AFC14: @ 0x080AFC14
push {r4, r5, lr}
sub sp, #8
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
lsls r0, r4, #2
adds r0, r0, r4
lsls r0, r0, #3
ldr r1, _080AFC3C
adds r5, r0, r1
movs r1, #0
ldrsh r0, [r5, r1]
cmp r0, #7
bls _080AFC30
b _080AFE28
_080AFC30:
lsls r0, r0, #2
ldr r1, _080AFC40
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080AFC3C: .4byte 0x03005B68
_080AFC40: .4byte 0x080AFC44
_080AFC44: @ jump table
.4byte _080AFC64 @ case 0
.4byte _080AFD20 @ case 1
.4byte _080AFD4C @ case 2
.4byte _080AFD68 @ case 3
.4byte _080AFD7E @ case 4
.4byte _080AFDEE @ case 5
.4byte _080AFDA8 @ case 6
.4byte _080AFDB6 @ case 7
_080AFC64:
movs r0, #0x80
lsls r0, r0, #0x13
ldrh r0, [r0]
strh r0, [r5, #0xc]
ldr r0, _080AFD00
ldrh r0, [r0]
strh r0, [r5, #0xe]
ldr r0, _080AFD04
ldrh r0, [r0]
strh r0, [r5, #0x10]
ldr r0, _080AFD08
ldrh r0, [r0]
strh r0, [r5, #0x12]
ldr r0, _080AFD0C
ldrh r0, [r0]
strh r0, [r5, #0x14]
movs r1, #0x80
lsls r1, r1, #7
movs r0, #0
bl ClearGpuRegBits
ldr r0, _080AFD10
ldrh r1, [r0]
movs r0, #0x50
bl SetGpuRegBits
ldr r1, _080AFD14
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, #4]
movs r0, #0
movs r1, #0
movs r2, #0
movs r3, #0x1e
bl sub_081998C8
movs r0, #0
bl schedule_bg_copy_tilemap_to_vram
ldr r4, _080AFD18
movs r2, #4
ldrsh r1, [r5, r2]
movs r0, #6
ldrsh r2, [r5, r0]
adds r0, r4, #0
movs r3, #1
bl SetFlash2ScanlineEffectWindowBoundaries
movs r2, #0xf0
lsls r2, r2, #3
adds r1, r4, r2
movs r2, #0xf0
lsls r2, r2, #1
adds r0, r4, #0
bl CpuFastSet
ldr r2, _080AFD1C
ldr r0, [r2]
ldr r1, [r2, #4]
ldr r2, [r2, #8]
bl ScanlineEffect_SetParams
movs r0, #1
strh r0, [r5]
b _080AFE28
.align 2, 0
_080AFD00: .4byte 0x04000050
_080AFD04: .4byte 0x04000052
_080AFD08: .4byte 0x04000048
_080AFD0C: .4byte 0x0400004A
_080AFD10: .4byte 0x082BF434
_080AFD14: .4byte 0x0000070C
_080AFD18: .4byte 0x020388C8
_080AFD1C: .4byte 0x0852AB18
_080AFD20:
movs r0, #0
movs r1, #0x11
movs r2, #0
movs r3, #1
bl sub_08199A88
ldrb r0, [r5, #2]
bl sub_080AFB88
movs r1, #4
ldrsh r0, [r5, r1]
movs r2, #6
ldrsh r1, [r5, r2]
movs r2, #1
str r2, [sp]
movs r4, #2
str r4, [sp, #4]
movs r3, #0xa0
bl sub_080AF938
strh r4, [r5]
b _080AFE28
_080AFD4C:
ldr r0, _080AFD64
bl FuncIsActiveTask
lsls r0, r0, #0x18
cmp r0, #0
bne _080AFE28
bl EnableBothScriptContexts
movs r0, #3
strh r0, [r5]
b _080AFE28
.align 2, 0
_080AFD64: .4byte 0x080AF7C9
_080AFD68:
bl InstallCameraPanAheadCallback
movs r0, #0
bl SetCameraPanningCallback
movs r0, #0
strh r0, [r5, #0xa]
movs r0, #4
strh r0, [r5, #8]
strh r0, [r5]
b _080AFE28
_080AFD7E:
ldrh r0, [r5, #8]
subs r0, #1
strh r0, [r5, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _080AFE28
movs r0, #4
strh r0, [r5, #8]
ldrh r0, [r5, #0xa]
movs r1, #1
eors r0, r1
strh r0, [r5, #0xa]
movs r1, #4
rsbs r1, r1, #0
cmp r0, #0
beq _080AFDA0
movs r1, #4
_080AFDA0:
movs r0, #0
bl SetCameraPanning
b _080AFE28
_080AFDA8:
bl InstallCameraPanAheadCallback
movs r0, #8
strh r0, [r5, #8]
movs r0, #7
strh r0, [r5]
b _080AFE28
_080AFDB6:
ldrh r0, [r5, #8]
subs r0, #1
strh r0, [r5, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _080AFE28
movs r0, #8
strh r0, [r5, #8]
ldrh r0, [r5, #0xa]
movs r1, #1
eors r0, r1
strh r0, [r5, #0xa]
ldrh r0, [r5, #0xa]
bl sub_080AFBC4
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
bne _080AFE28
movs r0, #5
strh r0, [r5]
movs r0, #0
movs r1, #0
movs r2, #0
movs r3, #1
bl sub_08199A88
b _080AFE28
_080AFDEE:
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 EnableBothScriptContexts
adds r0, r4, #0
bl DestroyTask
_080AFE28:
add sp, #8
pop {r4, r5}
pop {r0}
bx r0
thumb_func_end sub_080AFC14
thumb_func_start sub_080AFE30
sub_080AFE30: @ 0x080AFE30
push {lr}
ldr r0, _080AFE58
movs r1, #0x50
bl CreateTask
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
ldr r0, _080AFE5C
adds r1, r1, r0
ldr r0, _080AFE60
ldrh r0, [r0]
cmp r0, #0
bne _080AFE64
strh r0, [r1, #2]
movs r0, #0x68
b _080AFE7C
.align 2, 0
_080AFE58: .4byte 0x080AFC15
_080AFE5C: .4byte 0x03005B68
_080AFE60: .4byte 0x02037290
_080AFE64:
cmp r0, #1
bne _080AFE6E
strh r0, [r1, #2]
movs r0, #0x88
b _080AFE7C
_080AFE6E:
cmp r0, #2
bne _080AFE76
movs r0, #0
b _080AFE78
_080AFE76:
movs r0, #1
_080AFE78:
strh r0, [r1, #2]
movs r0, #0x78
_080AFE7C:
strh r0, [r1, #4]
movs r0, #0x50
strh r0, [r1, #6]
pop {r0}
bx r0
.align 2, 0
thumb_func_end sub_080AFE30
thumb_func_start sub_080AFE88
sub_080AFE88: @ 0x080AFE88
push {lr}
ldr r0, _080AFEA8
bl FindTaskIdByFunc
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
ldr r2, _080AFEAC
lsls r1, r0, #2
adds r1, r1, r0
lsls r1, r1, #3
adds r1, r1, r2
movs r0, #6
strh r0, [r1, #8]
pop {r0}
bx r0
.align 2, 0
_080AFEA8: .4byte 0x080AFC15
_080AFEAC: .4byte 0x03005B60
thumb_func_end sub_080AFE88
thumb_func_start sub_080AFEB0
sub_080AFEB0: @ 0x080AFEB0
push {lr}
bl Overworld_FadeOutMapMusic
ldr r0, _080AFEC4
movs r1, #0x50
bl CreateTask
pop {r0}
bx r0
.align 2, 0
_080AFEC4: .4byte 0x080AFEC9
thumb_func_end sub_080AFEB0
thumb_func_start task50_0807F0C8
task50_0807F0C8: @ 0x080AFEC8
push {r4, lr}
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
bl BGMusicStopped
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #1
bne _080AFEE4
adds r0, r4, #0
bl DestroyTask
bl EnableBothScriptContexts
_080AFEE4:
pop {r4}
pop {r0}
bx r0
.align 2, 0
thumb_func_end task50_0807F0C8