summaryrefslogtreecommitdiff
path: root/asm/overworld.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/overworld.s')
-rw-r--r--asm/overworld.s6825
1 files changed, 0 insertions, 6825 deletions
diff --git a/asm/overworld.s b/asm/overworld.s
deleted file mode 100644
index 64ee678df..000000000
--- a/asm/overworld.s
+++ /dev/null
@@ -1,6825 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8084620
-sub_8084620: @ 8084620
- push {r4,lr}
- ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857
- bl ScriptContext2_RunNewScript
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r0, 0x92
- lsls r0, 3
- adds r4, r0
- adds r0, r4, 0
- bl GetMoney
- adds r1, r0, 0
- lsrs r1, 1
- adds r0, r4, 0
- bl SetMoney
- bl HealPlayerParty
- bl sub_8084720
- bl copy_saved_warp3_bank_and_enter_x_to_warp1
- bl warp_in
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084620
-
- thumb_func_start flag_var_implications_of_teleport_
-flag_var_implications_of_teleport_: @ 8084660
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_var_implications_of_teleport_
-
- thumb_func_start Overworld_ResetStateAfterTeleport
-Overworld_ResetStateAfterTeleport: @ 808469C
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862
- bl ScriptContext2_RunNewScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_ResetStateAfterTeleport
-
- thumb_func_start flagmods_08054D70
-flagmods_08054D70: @ 80846E4
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flagmods_08054D70
-
- thumb_func_start sub_8084720
-sub_8084720: @ 8084720
- push {r4,lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- ldr r4, =0x00004039
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _08084764
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- ldr r0, =0x00004037
- movs r1, 0
- bl VarSet
-_08084764:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084720
-
- thumb_func_start sub_8084788
-sub_8084788: @ 8084788
- push {lr}
- ldr r0, =0x0000088c
- bl FlagClear
- bl sub_8085B2C
- bl ResetCyclingRoadChallengeData
- bl UpdateLocationHistoryForRoamer
- bl RoamerMoveToOtherLocationSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084788
-
- thumb_func_start ResetGameStats
-ResetGameStats: @ 80847A8
- push {r4,lr}
- movs r4, 0
-_080847AC:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0
- bl sav12_xor_set
- adds r4, 0x1
- cmp r4, 0x3F
- ble _080847AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ResetGameStats
-
- thumb_func_start IncrementGameStat
-@ void IncrementGameStat(u8 a1)
-IncrementGameStat: @ 80847C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x33
- bhi _080847EC
- adds r0, r4, 0
- bl GetGameStat
- adds r1, r0, 0
- ldr r0, =0x00fffffe
- cmp r1, r0
- bhi _080847E4
- adds r1, 0x1
- b _080847E6
- .pool
-_080847E4:
- ldr r1, =0x00ffffff
-_080847E6:
- adds r0, r4, 0
- bl sav12_xor_set
-_080847EC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end IncrementGameStat
-
- thumb_func_start GetGameStat
-GetGameStat: @ 80847F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x33
- bhi _08084828
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r0, r1, 2
- ldr r1, =0x0000159c
- adds r2, r1
- adds r2, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0xAC
- ldr r0, [r2]
- ldr r1, [r1]
- eors r0, r1
- b _0808482A
- .pool
-_08084828:
- movs r0, 0
-_0808482A:
- pop {r1}
- bx r1
- thumb_func_end GetGameStat
-
- thumb_func_start sav12_xor_set
-sav12_xor_set: @ 8084830
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x33
- bhi _08084854
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r2, 2
- ldr r2, =0x0000159c
- adds r1, r2
- adds r1, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xAC
- ldr r0, [r0]
- eors r0, r3
- str r0, [r1]
-_08084854:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sav12_xor_set
-
- thumb_func_start ApplyNewEncryptionKeyToGameStats
-ApplyNewEncryptionKeyToGameStats: @ 8084864
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
-_0808486C:
- lsls r1, r4, 2
- ldr r0, =0x0000159c
- adds r1, r0
- ldr r0, [r6]
- adds r0, r1
- adds r1, r5, 0
- bl ApplyNewEncryptionKeyToWord
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3F
- bls _0808486C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyNewEncryptionKeyToGameStats
-
- thumb_func_start CopyFieldObjectTemplatesToSav1
-@ void CopyFieldObjectTemplatesToSav1()
-CopyFieldObjectTemplatesToSav1: @ 8084894
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- movs r4, 0xC7
- lsls r4, 4
- adds r1, r4
- ldr r2, =0x05000180
- mov r0, sp
- bl CpuSet
- ldr r0, =gMapHeader
- ldr r2, [r0, 0x4]
- ldr r0, [r2, 0x4]
- ldr r1, [r5]
- adds r1, r4
- ldrb r3, [r2]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 1
- movs r3, 0x80
- lsls r3, 19
- orrs r2, r3
- bl CpuSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFieldObjectTemplatesToSav1
-
- thumb_func_start CopyFieldObjectTemplateCoordsToSav1
-@ void CopyFieldObjectTemplateCoordsToSav1()
-CopyFieldObjectTemplateCoordsToSav1: @ 80848E0
- push {lr}
- ldr r0, =gMapHeader
- ldr r1, [r0, 0x4]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, [r1, 0x4]
- movs r3, 0xC7
- lsls r3, 4
- adds r1, r0, r3
- movs r3, 0x3F
-_080848F4:
- ldr r0, [r2, 0x10]
- str r0, [r1, 0x10]
- adds r2, 0x18
- adds r1, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _080848F4
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFieldObjectTemplateCoordsToSav1
-
- thumb_func_start Overworld_SetMapObjTemplateCoords
-Overworld_SetMapObjTemplateCoords: @ 8084910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0
- movs r6, 0xC7
- lsls r6, 4
- adds r3, r0, r6
-_0808492A:
- ldrb r0, [r3]
- cmp r0, r5
- bne _0808493C
- strh r4, [r3, 0x4]
- strh r2, [r3, 0x6]
- b _08084944
- .pool
-_0808493C:
- adds r3, 0x18
- adds r1, 0x1
- cmp r1, 0x3F
- ble _0808492A
-_08084944:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end Overworld_SetMapObjTemplateCoords
-
- thumb_func_start Overworld_SetMapObjTemplateMovementType
-Overworld_SetMapObjTemplateMovementType: @ 808494C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- movs r5, 0xC7
- lsls r5, 4
- adds r2, r0, r5
-_08084962:
- ldrb r0, [r2]
- cmp r0, r4
- bne _08084970
- strb r1, [r2, 0x9]
- b _08084978
- .pool
-_08084970:
- adds r2, 0x18
- adds r3, 0x1
- cmp r3, 0x3F
- ble _08084962
-_08084978:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Overworld_SetMapObjTemplateMovementType
-
- thumb_func_start mapdata_load_assets_to_gpu_and_full_redraw
-mapdata_load_assets_to_gpu_and_full_redraw: @ 8084980
- push {r4,lr}
- bl move_tilemap_camera_to_upper_left_corner
- ldr r4, =gMapHeader
- ldr r0, [r4]
- bl copy_map_tileset1_tileset2_to_vram
- ldr r0, [r4]
- bl apply_map_tileset1_tileset2_palette
- bl DrawWholeMapView
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw
-
- thumb_func_start get_mapdata_header
-@ mapdata_header *get_mapdata_header()
-get_mapdata_header: @ 80849A8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x32]
- cmp r1, 0
- bne _080849BC
- movs r0, 0
- b _080849C6
- .pool
-_080849BC:
- ldr r0, =gMapAttributes
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_080849C6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end get_mapdata_header
-
- thumb_func_start warp_shift
-@ void warp_shift()
-warp_shift: @ 80849D0
- ldr r3, =gUnknown_020322DC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, [r2, 0x4]
- ldr r1, [r2, 0x8]
- str r0, [r3]
- str r1, [r3, 0x4]
- ldr r0, =gUnknown_020322E4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- ldr r2, =gUnknown_020322EC
- ldr r0, =gUnknown_08339D3C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, =gUnknown_020322F4
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp_shift
-
- thumb_func_start set_warp2_warp3_to_neg_1
-@ void set_warp2_warp3_to_neg_1()
-set_warp2_warp3_to_neg_1: @ 8084A14
- ldr r2, =gUnknown_020322EC
- ldr r0, =gUnknown_08339D3C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, =gUnknown_020322F4
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end set_warp2_warp3_to_neg_1
-
- thumb_func_start warp_set
-@ void warp_set(warpdata *warp, char bank, char map, char warpid, char enter_x, char enter_y)
-warp_set: @ 8084A34
- push {r4,r5,lr}
- ldr r4, [sp, 0xC]
- ldr r5, [sp, 0x10]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r0, 0x4]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r0, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end warp_set
-
- thumb_func_start warp_data_is_not_neg_1
-@ int warp_data_is_not_neg_1(warpdata *warp)
-warp_data_is_not_neg_1: @ 8084A54
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _08084A88
- movs r0, 0x1
- ldrsb r0, [r1, r0]
- cmp r0, r2
- bne _08084A88
- movs r2, 0x2
- ldrsb r2, [r1, r2]
- cmp r2, r0
- bne _08084A88
- movs r0, 0x4
- ldrsh r3, [r1, r0]
- cmp r3, r2
- bne _08084A88
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, r3
- bne _08084A88
- movs r0, 0x1
- b _08084A8A
-_08084A88:
- movs r0, 0
-_08084A8A:
- pop {r1}
- bx r1
- thumb_func_end warp_data_is_not_neg_1
-
- thumb_func_start get_mapheader_by_bank_and_number
-@ struct mapheader *get_mapheader_by_bank_and_number(unsigned int bank, unsigned int num)
-get_mapheader_by_bank_and_number: @ 8084A90
- lsls r0, 16
- lsls r1, 16
- ldr r2, =gMapGroups
- lsrs r0, 14
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .pool
- thumb_func_end get_mapheader_by_bank_and_number
-
- thumb_func_start warp1_get_mapheader
-@ struct mapheader *warp1_get_mapheader()
-warp1_get_mapheader: @ 8084AA8
- push {lr}
- ldr r1, =gUnknown_020322E4
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- pop {r1}
- bx r1
- .pool
- thumb_func_end warp1_get_mapheader
-
- thumb_func_start set_current_map_header_from_sav1_save_old_name
-@ void set_current_map_header_from_sav1_save_old_name()
-set_current_map_header_from_sav1_save_old_name: @ 8084ACC
- push {r4-r6,lr}
- ldr r1, =gUnknown_020322FC
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x14]
- strh r0, [r1]
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r1, r4, 0
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, [r5]
- ldrh r0, [r4, 0x12]
- strh r0, [r1, 0x32]
- bl get_mapdata_header
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_current_map_header_from_sav1_save_old_name
-
- thumb_func_start set_current_map_header_from_sav1
-set_current_map_header_from_sav1: @ 8084B1C
- push {r4,r5,lr}
- ldr r4, =gMapHeader
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r1, r4, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- bl get_mapdata_header
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_current_map_header_from_sav1
-
- thumb_func_start update_camera_pos_from_warpid
-@ void update_camera_pos_from_warpid()
-update_camera_pos_from_warpid: @ 8084B5C
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x6
- ldrsb r1, [r2, r1]
- adds r4, r0, 0
- cmp r1, 0
- blt _08084B94
- ldr r3, =gMapHeader
- ldr r0, [r3, 0x4]
- ldrb r5, [r0, 0x1]
- cmp r1, r5
- bge _08084B94
- ldr r0, [r0, 0x8]
- lsls r1, 3
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r0, [r3, 0x4]
- ldr r0, [r0, 0x8]
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x2]
- b _08084BCC
- .pool
-_08084B94:
- ldr r1, [r4]
- ldrh r3, [r1, 0x8]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- blt _08084BB0
- ldrh r2, [r1, 0xA]
- movs r5, 0xA
- ldrsh r0, [r1, r5]
- cmp r0, 0
- blt _08084BB0
- strh r3, [r1]
- strh r2, [r1, 0x2]
- b _08084BCC
-_08084BB0:
- ldr r3, [r4]
- ldr r2, =gMapHeader
- ldr r0, [r2]
- ldr r0, [r0]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r3]
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r3, 0x2]
-_08084BCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end update_camera_pos_from_warpid
-
- thumb_func_start warp_in
-warp_in: @ 8084BD8
- push {lr}
- bl warp_shift
- bl set_current_map_header_from_sav1_save_old_name
- bl update_camera_pos_from_warpid
- pop {r0}
- bx r0
- thumb_func_end warp_in
-
- thumb_func_start Overworld_SetWarpDestination
-@ void Overworld_SetWarpDestination(char bank, char map, char warpid, char enter_x, char enter_y)
-Overworld_SetWarpDestination: @ 8084BEC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322E4
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetWarpDestination
-
- thumb_func_start warp1_set_2
-@ void warp1_set_2(char bank, char map, char warpid)
-warp1_set_2: @ 8084C28
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- asrs r0, 24
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- bl Overworld_SetWarpDestination
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end warp1_set_2
-
- thumb_func_start saved_warp2_set
-@ void saved_warp2_set(char bank, char map, char warpid)
-saved_warp2_set: @ 8084C48
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock1Ptr
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x14
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- lsls r3, 24
- asrs r3, 24
- movs r4, 0
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end saved_warp2_set
-
- thumb_func_start saved_warp2_set_2
-saved_warp2_set_2: @ 8084C7C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x14]
- ldr r5, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x14
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- lsls r3, 24
- asrs r3, 24
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- lsls r5, 24
- asrs r5, 24
- str r5, [sp, 0x4]
- bl warp_set
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end saved_warp2_set_2
-
- thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1
-copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8084CB4
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x18]
- ldr r0, [r0, 0x14]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1
-
- thumb_func_start sub_8084CCC
-@ void sub_8084CCC(int a1)
-sub_8084CCC: @ 8084CCC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r4, r0, 0
- cmp r4, 0
- beq _08084CFA
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- movs r3, 0x2
- ldrsb r3, [r4, r3]
- ldrb r4, [r4, 0x4]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
-_08084CFA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8084CCC
-
- thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1
-@ void copy_saved_warp3_bank_and_enter_x_to_warp1()
-copy_saved_warp3_bank_and_enter_x_to_warp1: @ 8084D04
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x20]
- ldr r0, [r0, 0x1C]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1
-
- thumb_func_start Overworld_SetHealLocationWarp
-Overworld_SetHealLocationWarp: @ 8084D1C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r5, r0, 0
- cmp r5, 0
- beq _08084D50
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x1C
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x4
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
-_08084D50:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetHealLocationWarp
-
- thumb_func_start sub_8084D5C
-sub_8084D5C: @ 8084D5C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- bl sav1_map_get_light_level
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_020322E4
- movs r0, 0
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- cmp r0, 0
- beq _08084DC4
- adds r0, r5, 0
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08084DC4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- subs r3, r6, 0x7
- lsls r3, 24
- asrs r3, 24
- subs r4, r7, 0x6
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl sub_8084DD4
-_08084DC4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084D5C
-
- thumb_func_start sub_8084DD4
-sub_8084DD4: @ 8084DD4
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x24
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084DD4
-
- thumb_func_start sub_8084E14
-sub_8084E14: @ 8084E14
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x28]
- ldr r0, [r0, 0x24]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8084E14
-
- thumb_func_start sub_8084E2C
-sub_8084E2C: @ 8084E2C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322EC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084E2C
-
- thumb_func_start warp1_set_to_warp2
-warp1_set_to_warp2: @ 8084E68
- ldr r2, =gUnknown_020322E4
- ldr r0, =gUnknown_020322EC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp1_set_to_warp2
-
- thumb_func_start sub_8084E80
-sub_8084E80: @ 8084E80
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322F4
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084E80
-
- thumb_func_start sub_8084EBC
-sub_8084EBC: @ 8084EBC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r4, =gUnknown_020322F4
- adds r0, r4, 0
- bl warp_data_is_not_neg_1
- cmp r0, 0x1
- bne _08084EF0
- ldr r2, =gUnknown_020322E4
- ldr r0, =gUnknown_020322DC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- b _08084F0A
- .pool
-_08084EF0:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- lsls r3, r5, 24
- asrs r3, 24
- lsls r4, r6, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
-_08084F0A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8084EBC
-
- thumb_func_start warp1_set_to_sav1w
-warp1_set_to_sav1w: @ 8084F14
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- ldr r0, [r0, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp1_set_to_sav1w
-
- thumb_func_start sub_8084F2C
-sub_8084F2C: @ 8084F2C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0xC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084F2C
-
- thumb_func_start sub_8084F6C
-sub_8084F6C: @ 8084F6C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r5, r0, 0
- cmp r5, 0
- beq _08084FA0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0xC
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x4
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
-_08084FA0:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084F6C
-
- thumb_func_start sub_8084FAC
-sub_8084FAC: @ 8084FAC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, [r2, 0x14]
- ldr r1, [r2, 0x18]
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
- bx lr
- .pool
- thumb_func_end sub_8084FAC
-
- thumb_func_start sub_8084FC0
-sub_8084FC0: @ 8084FC0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0xC]
- ldr r3, [r0]
- ldr r1, [r0, 0x4]
- cmp r1, 0
- bne _08084FDC
- b _08084FF0
- .pool
-_08084FD8:
- adds r0, r1, 0
- b _08084FF2
-_08084FDC:
- movs r2, 0
- cmp r2, r3
- bge _08084FF0
-_08084FE2:
- ldrb r0, [r1]
- cmp r0, r4
- beq _08084FD8
- adds r2, 0x1
- adds r1, 0xC
- cmp r2, r3
- blt _08084FE2
-_08084FF0:
- movs r0, 0
-_08084FF2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084FC0
-
- thumb_func_start sub_8084FF8
-sub_8084FF8: @ 8084FF8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl sub_8084FC0
- adds r1, r0, 0
- cmp r1, 0
- beq _08085030
- movs r0, 0x8
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- lsls r3, r4, 24
- asrs r3, 24
- lsls r4, r5, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
- b _0808504C
-_08085030:
- bl mapheader_run_script_with_tag_x6
- ldr r0, =gUnknown_020322EC
- bl warp_data_is_not_neg_1
- cmp r0, 0
- beq _08085048
- movs r0, 0
- b _0808504E
- .pool
-_08085048:
- bl warp1_set_to_warp2
-_0808504C:
- movs r0, 0x1
-_0808504E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084FF8
-
- thumb_func_start sub_8085058
-sub_8085058: @ 8085058
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x6
- adds r1, r3, 0
- bl sub_8084FF8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8085058
-
- thumb_func_start sub_8085078
-sub_8085078: @ 8085078
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x5
- adds r1, r3, 0
- bl sub_8084FF8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8085078
-
- thumb_func_start mliX_load_map
-mliX_load_map: @ 8085098
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- lsls r0, r6, 24
- asrs r0, 24
- lsls r1, r5, 24
- asrs r1, 24
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- adds r2, r3, 0
- bl Overworld_SetWarpDestination
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x14]
- cmp r0, 0x3A
- beq _080850C8
- bl sub_8085810
-_080850C8:
- bl warp_shift
- bl set_current_map_header_from_sav1_save_old_name
- bl CopyFieldObjectTemplatesToSav1
- bl TrySetMapSaveWarpStatus
- bl ClearTempFieldEventData
- bl ResetCyclingRoadChallengeData
- bl prev_quest_postbuffer_cursor_backup_reset
- adds r0, r6, 0
- adds r1, r5, 0
- bl TryUpdateRandomTrainerRematches
- bl DoTimeBasedEvents
- bl SetSav1WeatherFromCurrMapHeader
- bl sub_8085B2C
- bl update_sav1_flash_used_on_map
- bl Overworld_ClearSavedMusic
- bl mapheader_run_script_with_tag_x3
- bl not_trainer_hill_battle_pyramid
- ldr r0, [r4]
- bl copy_map_tileset2_to_vram_2
- ldr r0, [r4]
- bl apply_map_tileset2_palette
- movs r4, 0x6
-_08085116:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80ABF00
- adds r4, 0x1
- cmp r4, 0xC
- ble _08085116
- bl sub_80A0A2C
- bl UpdateLocationHistoryForRoamer
- bl RoamerMove
- bl DoCurrentWeather
- bl wild_encounter_reset_coro_args
- bl mapheader_run_script_with_tag_x5
- ldr r2, =gMapHeader
- ldrb r0, [r2, 0x14]
- cmp r0, 0x3A
- bne _0808514C
- ldr r1, =gUnknown_020322FC
- ldrh r1, [r1]
- cmp r0, r1
- beq _08085150
-_0808514C:
- bl AddMapNamePopUpWindowTask
-_08085150:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mliX_load_map
-
- thumb_func_start mli0_load_map
-mli0_load_map: @ 8085160
- push {r4-r7,lr}
- adds r7, r0, 0
- bl set_current_map_header_from_sav1_save_old_name
- ldr r0, =gUnknown_020322D8
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080851A2
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08085190
- bl sub_81AA1D8
- b _080851A2
- .pool
-_08085190:
- bl InTrainerHill
- cmp r0, 0
- beq _0808519E
- bl sub_81D5DF8
- b _080851A2
-_0808519E:
- bl CopyFieldObjectTemplatesToSav1
-_080851A2:
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x17]
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x17]
- bl is_light_level_8_or_9
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_80EB218
- bl TrySetMapSaveWarpStatus
- bl ClearTempFieldEventData
- bl ResetCyclingRoadChallengeData
- bl prev_quest_postbuffer_cursor_backup_reset
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl TryUpdateRandomTrainerRematches
- cmp r7, 0x1
- beq _080851EE
- bl DoTimeBasedEvents
-_080851EE:
- bl SetSav1WeatherFromCurrMapHeader
- bl sub_8085B2C
- cmp r5, 0
- beq _08085200
- ldr r0, =0x00000888
- bl FlagClear
-_08085200:
- bl update_sav1_flash_used_on_map
- bl Overworld_ClearSavedMusic
- bl mapheader_run_script_with_tag_x3
- bl UpdateLocationHistoryForRoamer
- bl RoamerMoveToOtherLocationSet
- ldrh r1, [r4, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08085234
- movs r0, 0
- bl battle_pyramid_map_load_related
- b _08085246
- .pool
-_08085234:
- bl InTrainerHill
- cmp r0, 0
- beq _08085242
- bl trainer_hill_map_load_related
- b _08085246
-_08085242:
- bl not_trainer_hill_battle_pyramid
-_08085246:
- cmp r7, 0x1
- beq _0808525E
- cmp r6, 0
- beq _0808525E
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- bl UpdateTVScreensOnMap
- movs r0, 0x1
- bl sub_80E9238
-_0808525E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mli0_load_map
-
- thumb_func_start player_avatar_init_params_reset
-player_avatar_init_params_reset: @ 8085268
- ldr r1, =gUnknown_02032300
- movs r0, 0x1
- strb r0, [r1, 0x1]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end player_avatar_init_params_reset
-
- thumb_func_start walkrun_find_lowest_active_bit_in_bitfield
-walkrun_find_lowest_active_bit_in_bitfield: @ 8085278
- push {r4,lr}
- bl player_get_direction_lower_nybble
- ldr r4, =gUnknown_02032300
- strb r0, [r4, 0x1]
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085298
- movs r0, 0x2
- b _080852CA
- .pool
-_08085298:
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852A8
- movs r0, 0x4
- b _080852CA
-_080852A8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852B8
- movs r0, 0x8
- b _080852CA
-_080852B8:
- movs r0, 0x10
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852C8
- movs r0, 0x10
- b _080852CA
-_080852C8:
- movs r0, 0x1
-_080852CA:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end walkrun_find_lowest_active_bit_in_bitfield
-
- thumb_func_start sub_80852D4
-sub_80852D4: @ 80852D4
- push {r4-r7,lr}
- bl sav1_map_get_light_level
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl cur_mapdata_block_role_at_screen_center_acc_to_sav1
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r6, =gUnknown_02032300
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_808532C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =0xffffff00
- ands r7, r0
- orrs r7, r1
- adds r0, r6, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808538C
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =0xffff00ff
- ands r7, r1
- orrs r7, r0
- str r7, [r6]
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80852D4
-
- thumb_func_start sub_808532C
-sub_808532C: @ 808532C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0x8
- beq _08085348
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08085382
-_08085348:
- cmp r4, 0x5
- bne _08085354
- movs r0, 0x10
- b _08085384
- .pool
-_08085354:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085368
- movs r0, 0x8
- b _08085384
-_08085368:
- bl sav1_map_is_biking_allowed
- cmp r0, 0x1
- bne _08085382
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0808537A
- movs r0, 0x2
- b _08085384
-_0808537A:
- cmp r0, 0x4
- bne _08085382
- movs r0, 0x4
- b _08085384
-_08085382:
- movs r0, 0x1
-_08085384:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808532C
-
- thumb_func_start sub_808538C
-sub_808538C: @ 808538C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080853AC
- cmp r5, 0x6
- beq _0808540C
-_080853AC:
- lsls r4, 24
- lsrs r5, r4, 24
- adds r0, r5, 0
- bl MetatileBehavior_IsDeepSouthWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080853E8
- adds r0, r5, 0
- bl MetatileBehavior_IsNonAnimDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080853F0
-_080853E8:
- movs r0, 0x2
- b _08085448
- .pool
-_080853F0:
- adds r0, r5, 0
- bl MetatileBehavior_IsNorthArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsWestArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085410
-_0808540C:
- movs r0, 0x4
- b _08085448
-_08085410:
- adds r0, r5, 0
- bl MetatileBehavior_IsEastArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085422
- movs r0, 0x3
- b _08085448
-_08085422:
- ldrb r0, [r6]
- cmp r0, 0x10
- bne _0808542C
- cmp r7, 0x8
- beq _08085446
-_0808542C:
- cmp r0, 0x8
- bne _08085434
- cmp r7, 0x10
- beq _08085446
-_08085434:
- lsrs r0, r4, 24
- bl MetatileBehavior_IsLadder
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085446
-_08085442:
- movs r0, 0x1
- b _08085448
-_08085446:
- ldrb r0, [r6, 0x1]
-_08085448:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808538C
-
- thumb_func_start cur_mapdata_block_role_at_screen_center_acc_to_sav1
-cur_mapdata_block_role_at_screen_center_acc_to_sav1: @ 8085450
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x7
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- adds r1, 0x7
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end cur_mapdata_block_role_at_screen_center_acc_to_sav1
-
- thumb_func_start sav1_map_is_biking_allowed
-sav1_map_is_biking_allowed: @ 8085474
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808548C
- movs r0, 0x1
- b _0808548E
- .pool
-_0808548C:
- movs r0, 0
-_0808548E:
- pop {r1}
- bx r1
- thumb_func_end sav1_map_is_biking_allowed
-
- thumb_func_start update_sav1_flash_used_on_map
-update_sav1_flash_used_on_map: @ 8085494
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x15]
- cmp r1, 0
- bne _080854B0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- strb r1, [r0]
- b _080854DE
- .pool
-_080854B0:
- ldr r0, =0x00000888
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080854D0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- movs r1, 0x1
- strb r1, [r0]
- b _080854DE
- .pool
-_080854D0:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gUnknown_0854FE78
- ldr r0, [r0]
- subs r0, 0x1
- adds r1, 0x30
- strb r0, [r1]
-_080854DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end update_sav1_flash_used_on_map
-
- thumb_func_start Overworld_SetFlashLevel
-Overworld_SetFlashLevel: @ 80854EC
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- blt _080854FC
- ldr r0, =gUnknown_0854FE78
- ldr r0, [r0]
- cmp r1, r0
- ble _080854FE
-_080854FC:
- movs r1, 0
-_080854FE:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetFlashLevel
-
- thumb_func_start Overworld_GetFlashLevel
-Overworld_GetFlashLevel: @ 8085514
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end Overworld_GetFlashLevel
-
- thumb_func_start sub_8085524
-sub_8085524: @ 8085524
- push {lr}
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- strh r0, [r1, 0x32]
- bl get_mapdata_header
- ldr r1, =gMapHeader
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8085524
-
- thumb_func_start sub_8085540
-sub_8085540: @ 8085540
- ldr r1, =gUnknown_020322D8
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8085540
-
- thumb_func_start sub_808554C
-sub_808554C: @ 808554C
- ldr r0, =gUnknown_020322D8
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_808554C
-
- thumb_func_start sub_8085558
-sub_8085558: @ 8085558
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x0000088a
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080855AC
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080855AC
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x5
- blt _08085584
- cmp r0, 0x8
- ble _0808559E
- cmp r0, 0x2B
- bgt _08085584
- cmp r0, 0x27
- bge _0808559E
-_08085584:
- ldr r0, =0x0000405e
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _080855AC
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x2E
- bgt _080855AC
- cmp r0, 0x2C
- blt _080855AC
-_0808559E:
- movs r0, 0x1
- b _080855AE
- .pool
-_080855AC:
- movs r0, 0
-_080855AE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8085558
-
- thumb_func_start sub_80855B4
-sub_80855B4: @ 80855B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000040ca
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080855D6
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080855D6
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _080855E0
-_080855D6:
- movs r0, 0
- b _080855E2
- .pool
-_080855E0:
- movs r0, 0x1
-_080855E2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80855B4
-
- thumb_func_start sub_80855E8
-sub_80855E8: @ 80855E8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000040b3
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _08085606
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x20
- bne _08085606
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _08085610
-_08085606:
- movs r0, 0
- b _08085612
- .pool
-_08085610:
- movs r0, 0x1
-_08085612:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80855E8
-
- thumb_func_start sub_8085618
-sub_8085618: @ 8085618
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =0x0000405d
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _0808564C
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0808564C
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0xE
- bne _0808564C
- ldrb r0, [r5, 0x1]
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08085654
-_0808564C:
- movs r0, 0
- b _08085656
- .pool
-_08085654:
- movs r0, 0x1
-_08085656:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8085618
-
- thumb_func_start warp_target_get_music
-warp_target_get_music: @ 808565C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80855B4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _08085674
- ldr r0, =0x0000ffff
- b _080856CE
- .pool
-_08085674:
- adds r0, r4, 0
- bl sub_8085558
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0808568C
- ldr r0, =0x000001bb
- b _080856CE
- .pool
-_0808568C:
- adds r0, r4, 0
- bl sub_8085618
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080856A4
- ldr r0, =0x000001b9
- b _080856CE
- .pool
-_080856A4:
- adds r0, r4, 0
- bl sub_80855E8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080856CA
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrh r0, [r0, 0x10]
- b _080856CE
-_080856CA:
- movs r0, 0xCB
- lsls r0, 1
-_080856CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end warp_target_get_music
-
- thumb_func_start sav1_map_get_music
-sav1_map_get_music: @ 80856D4
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD0
- lsls r0, 5
- cmp r1, r0
- bne _080856FC
- bl GetSav1Weather
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _080856FC
- ldr r0, =0x00000199
- b _08085730
- .pool
-_080856FC:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r0, 0x4
- bl warp_target_get_music
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x00007fff
- cmp r1, r0
- beq _0808571C
- adds r0, r1, 0
- b _08085730
- .pool
-_0808571C:
- ldr r0, [r4]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x17
- ble _0808572C
- movs r0, 0xC9
- lsls r0, 1
- b _08085730
-_0808572C:
- movs r0, 0xB4
- lsls r0, 1
-_08085730:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sav1_map_get_music
-
- thumb_func_start warp1_target_get_music
-warp1_target_get_music: @ 8085738
- push {lr}
- ldr r0, =gUnknown_020322E4
- bl warp_target_get_music
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x00007fff
- cmp r1, r0
- beq _08085758
- adds r0, r1, 0
- b _08085774
- .pool
-_08085758:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _08085770
- subs r0, 0x6E
- b _08085774
- .pool
-_08085770:
- movs r0, 0xB4
- lsls r0, 1
-_08085774:
- pop {r1}
- bx r1
- thumb_func_end warp1_target_get_music
-
- thumb_func_start call_ResetMapMusic
-call_ResetMapMusic: @ 8085778
- push {lr}
- bl ResetMapMusic
- pop {r0}
- bx r0
- thumb_func_end call_ResetMapMusic
-
- thumb_func_start Overworld_PlaySpecialMapMusic
-Overworld_PlaySpecialMapMusic: @ 8085784
- push {r4,lr}
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000001bb
- cmp r4, r0
- beq _080857D6
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _080857D6
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1, 0x2C]
- cmp r0, 0
- beq _080857B4
- adds r4, r0, 0
- b _080857D6
- .pool
-_080857B4:
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080857C8
- ldr r4, =0x0000019b
- b _080857D6
- .pool
-_080857C8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080857D6
- ldr r4, =0x0000016d
-_080857D6:
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _080857E8
- adds r0, r4, 0
- bl PlayNewMapMusic
-_080857E8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_PlaySpecialMapMusic
-
- thumb_func_start Overworld_SetSavedMusic
-Overworld_SetSavedMusic: @ 80857F4
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- strh r0, [r1, 0x2C]
- bx lr
- .pool
- thumb_func_end Overworld_SetSavedMusic
-
- thumb_func_start Overworld_ClearSavedMusic
-Overworld_ClearSavedMusic: @ 8085800
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2C]
- bx lr
- .pool
- thumb_func_end Overworld_ClearSavedMusic
-
- thumb_func_start sub_8085810
-sub_8085810: @ 8085810
- push {r4-r6,lr}
- ldr r0, =0x00004001
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085890
- bl warp1_target_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x000001bb
- cmp r4, r0
- beq _08085856
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _08085856
- ldr r0, =0x0000019b
- cmp r5, r0
- beq _08085890
- ldr r6, =0x0000016d
- cmp r5, r6
- beq _08085890
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085856
- adds r4, r6, 0
-_08085856:
- cmp r4, r5
- beq _08085890
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085888
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x4
- bl FadeOutAndFadeInNewMapMusic
- b _08085890
- .pool
-_08085888:
- adds r0, r4, 0
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_08085890:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8085810
-
- thumb_func_start Overworld_ChangeMusicToDefault
-Overworld_ChangeMusicToDefault: @ 8085898
- push {r4,lr}
- bl GetCurrentMapMusic
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _080858BE
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_080858BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Overworld_ChangeMusicToDefault
-
- thumb_func_start Overworld_ChangeMusicTo
-Overworld_ChangeMusicTo: @ 80858C4
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- beq _080858E4
- ldr r0, =0x000001bb
- cmp r1, r0
- beq _080858E4
- adds r0, r4, 0
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_080858E4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_ChangeMusicTo
-
- thumb_func_start is_warp1_light_level_8_or_9
-is_warp1_light_level_8_or_9: @ 80858F0
- push {lr}
- bl warp1_get_mapheader
- ldrb r0, [r0, 0x17]
- bl is_light_level_8_or_9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085908
- movs r0, 0x4
- b _0808590A
-_08085908:
- movs r0, 0x2
-_0808590A:
- pop {r1}
- bx r1
- thumb_func_end is_warp1_light_level_8_or_9
-
- thumb_func_start music_something
-music_something: @ 8085910
- push {r4,r5,lr}
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r5, r0, 16
- bl warp1_target_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004001
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808597E
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _0808597E
- ldr r0, =0x0000016d
- cmp r5, r0
- bne _08085972
- ldr r0, =0x000040ca
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _08085972
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- ldrh r2, [r0, 0x4]
- movs r0, 0xE0
- lsls r0, 3
- cmp r2, r0
- bne _08085972
- ldr r3, =gUnknown_020322E4
- ldrh r0, [r3]
- ands r1, r0
- cmp r1, r2
- bne _08085972
- ldr r1, [r3, 0x4]
- ldr r0, =0x0035001d
- cmp r1, r0
- beq _0808597E
-_08085972:
- bl is_warp1_light_level_8_or_9
- lsls r0, 24
- lsrs r0, 24
- bl FadeOutMapMusic
-_0808597E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end music_something
-
- thumb_func_start sub_80859A0
-sub_80859A0: @ 80859A0
- push {lr}
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80859A0
-
- thumb_func_start sub_80859B0
-sub_80859B0: @ 80859B0
- push {lr}
- movs r0, 0x4
- bl FadeOutMapMusic
- pop {r0}
- bx r0
- thumb_func_end sub_80859B0
-
- thumb_func_start sub_80859BC
-sub_80859BC: @ 80859BC
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldr r0, =gUnknown_02032306
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080859F0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _08085A2C
-_080859F0:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x58
- bl __umodsi3
- adds r4, r0, 0
- adds r4, 0xD4
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- adds r2, r0, 0
- adds r2, 0x32
- ldr r0, =gUnknown_02032304
- ldrh r0, [r0]
- lsls r4, 24
- asrs r4, 24
- lsls r2, 24
- asrs r2, 24
- adds r1, r4, 0
- movs r3, 0x1
- bl PlayCry2
-_08085A2C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80859BC
-
- thumb_func_start wild_encounter_related
-wild_encounter_related: @ 8085A3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r7, r1, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _08085B20
- lsls r0, 2
- ldr r1, =_08085A60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08085A60:
- .4byte _08085A74
- .4byte _08085A88
- .4byte _08085AA4
- .4byte _08085B0C
- .4byte _08085B20
-_08085A74:
- ldr r0, =gUnknown_02032304
- ldrh r0, [r0]
- cmp r0, 0
- bne _08085A84
- movs r0, 0x4
- b _08085B1E
- .pool
-_08085A84:
- movs r0, 0x1
- b _08085B1E
-_08085A88:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x96
- lsls r1, 4
- bl __umodsi3
- movs r1, 0x96
- lsls r1, 3
- adds r0, r1
- strh r0, [r7]
- movs r0, 0x3
- b _08085B1E
-_08085AA4:
- movs r0, 0x1
- mov r9, r0
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- b _08085ABC
-_08085AB6:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08085ABC:
- cmp r5, r8
- bcs _08085AE4
- movs r0, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _08085AB6
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x44
- bne _08085AB6
- movs r1, 0x2
- mov r9, r1
-_08085AE4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x96
- lsls r4, 3
- adds r1, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, r4
- mov r1, r9
- bl __divsi3
- strh r0, [r7]
- movs r0, 0x3
- b _08085B1E
- .pool
-_08085B0C:
- ldrh r0, [r7]
- subs r0, 0x1
- strh r0, [r7]
- lsls r0, 16
- cmp r0, 0
- bne _08085B20
- bl sub_80859BC
- movs r0, 0x2
-_08085B1E:
- strh r0, [r6]
-_08085B20:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end wild_encounter_related
-
- thumb_func_start sub_8085B2C
-sub_8085B2C: @ 8085B2C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xB4
- lsls r0, 6
- cmp r1, r0
- bne _08085B5C
- bl IsMirageIslandPresent
- lsls r0, 24
- cmp r0, 0
- bne _08085B5C
- ldr r1, =gUnknown_02032306
- movs r0, 0x1
- strb r0, [r1]
- bl GetLocalWaterMon
- b _08085B62
- .pool
-_08085B5C:
- ldr r0, =gUnknown_02032306
- bl GetLocalWildMon
-_08085B62:
- ldr r1, =gUnknown_02032304
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8085B2C
-
- thumb_func_start get_map_light_level_by_bank_and_number
-@ int get_map_light_level_by_bank_and_number(int bank, int number)
-get_map_light_level_by_bank_and_number: @ 8085B74
- push {lr}
- lsls r0, 24
- asrs r0, 8
- lsrs r0, 16
- lsls r1, 24
- asrs r1, 8
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x17]
- pop {r1}
- bx r1
- thumb_func_end get_map_light_level_by_bank_and_number
-
- thumb_func_start get_map_light_level_from_warp
-@ int get_map_light_level_from_warp(warpdata *warp)
-get_map_light_level_from_warp: @ 8085B8C
- push {lr}
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0x1
- ldrsb r1, [r0, r1]
- adds r0, r2, 0
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end get_map_light_level_from_warp
-
- thumb_func_start sav1_map_get_light_level
-sav1_map_get_light_level: @ 8085BA4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x4
- bl get_map_light_level_from_warp
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_map_get_light_level
-
- thumb_func_start get_map_light_from_warp0
-get_map_light_from_warp0: @ 8085BBC
- push {lr}
- ldr r0, =gUnknown_020322DC
- bl get_map_light_level_from_warp
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end get_map_light_from_warp0
-
- thumb_func_start is_light_level_1_2_3_5_or_6
-is_light_level_1_2_3_5_or_6: @ 8085BD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08085BEA
- cmp r0, 0x1
- beq _08085BEA
- cmp r0, 0x5
- beq _08085BEA
- cmp r0, 0x2
- beq _08085BEA
- cmp r0, 0x6
- bne _08085BEE
-_08085BEA:
- movs r0, 0x1
- b _08085BF0
-_08085BEE:
- movs r0, 0
-_08085BF0:
- pop {r1}
- bx r1
- thumb_func_end is_light_level_1_2_3_5_or_6
-
- thumb_func_start Overworld_MapTypeAllowsTeleportAndFly
-Overworld_MapTypeAllowsTeleportAndFly: @ 8085BF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08085C0A
- cmp r0, 0x1
- beq _08085C0A
- cmp r0, 0x6
- beq _08085C0A
- cmp r0, 0x2
- bne _08085C0E
-_08085C0A:
- movs r0, 0x1
- b _08085C10
-_08085C0E:
- movs r0, 0
-_08085C10:
- pop {r1}
- bx r1
- thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
-
- thumb_func_start is_light_level_8_or_9
-is_light_level_8_or_9: @ 8085C14
- push {lr}
- lsls r0, 24
- movs r1, 0xF8
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08085C28
- movs r0, 0
- b _08085C2A
-_08085C28:
- movs r0, 0x1
-_08085C2A:
- pop {r1}
- bx r1
- thumb_func_end is_light_level_8_or_9
-
- thumb_func_start sav1_saved_warp2_map_get_name
-sav1_saved_warp2_map_get_name: @ 8085C30
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x15]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_saved_warp2_map_get_name
-
- thumb_func_start sav1_map_get_name
-sav1_map_get_name: @ 8085C58
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_map_get_name
-
- thumb_func_start GetCurrentMapBattleScene
-GetCurrentMapBattleScene: @ 8085C80
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x1B]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetCurrentMapBattleScene
-
- thumb_func_start overworld_bg_setup
-@ void overworld_bg_setup()
-overworld_bg_setup: @ 8085CA8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, =gUnknown_08339DAC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, =gUnknown_03005DA0
- mov r8, r0
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- mov r1, r8
- str r0, [r1]
- ldr r6, =gUnknown_03005D9C
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r6]
- ldr r5, =gUnknown_03005DA4
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r6]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_81971D0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_bg_setup
-
- thumb_func_start overworld_free_bg_tilemaps
-overworld_free_bg_tilemaps: @ 8085D34
- push {r4,lr}
- bl sub_81BE72C
- bl sub_81971F4
- ldr r4, =gUnknown_03005DA4
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D4E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D4E:
- ldr r4, =gUnknown_03005D9C
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D5E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D5E:
- ldr r4, =gUnknown_03005DA0
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D6E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D6E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_free_bg_tilemaps
-
- thumb_func_start ResetSafariZoneFlag_
-ResetSafariZoneFlag_: @ 8085D80
- push {lr}
- bl ResetSafariZoneFlag
- pop {r0}
- bx r0
- thumb_func_end ResetSafariZoneFlag_
-
- thumb_func_start is_c1_link_related_active
-@ _BOOL4 is_c1_link_related_active()
-is_c1_link_related_active: @ 8085D8C
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0]
- ldr r0, =c1_link_related
- cmp r1, r0
- beq _08085DA4
- movs r0, 0
- b _08085DA6
- .pool
-_08085DA4:
- movs r0, 0x1
-_08085DA6:
- pop {r1}
- bx r1
- thumb_func_end is_c1_link_related_active
-
- thumb_func_start c1_overworld_normal
-@ void c1_overworld_normal(int buttons_new, int buttons_held)
-c1_overworld_normal: @ 8085DAC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- bl sub_808B578
- mov r6, sp
- mov r0, sp
- bl sub_809BEDC
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl process_overworld_input
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _08085DFA
- mov r0, sp
- bl sub_809C014
- cmp r0, 0x1
- bne _08085DF0
- bl ScriptContext2_Enable
- bl HideMapNamePopUpWindow
- b _08085DFA
-_08085DF0:
- ldrb r0, [r6, 0x2]
- adds r1, r5, 0
- adds r2, r4, 0
- bl player_step
-_08085DFA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end c1_overworld_normal
-
- thumb_func_start c1_overworld
-c1_overworld: @ 8085E04
- push {lr}
- ldr r2, =gMain
- ldr r1, [r2, 0x4]
- ldr r0, =c2_overworld
- cmp r1, r0
- bne _08085E18
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x2C]
- bl c1_overworld_normal
-_08085E18:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c1_overworld
-
- thumb_func_start OverworldBasic
-@ void OverworldBasic()
-OverworldBasic: @ 8085E24
- push {lr}
- bl ScriptContext2_RunScript
- bl RunTasks
- bl AnimateSprites
- bl CameraUpdate
- bl UpdateCameraPanning
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_80A0A38
- bl do_scheduled_bg_tilemap_copies_to_vram
- pop {r0}
- bx r0
- thumb_func_end OverworldBasic
-
- thumb_func_start CB2_OverworldBasic
-CB2_OverworldBasic: @ 8085E50
- push {lr}
- bl OverworldBasic
- pop {r0}
- bx r0
- thumb_func_end CB2_OverworldBasic
-
- thumb_func_start c2_overworld
-c2_overworld: @ 8085E5C
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r0, [r0, 0x7]
- lsrs r0, 7
- adds r4, r0, 0
- cmp r4, 0
- beq _08085E70
- movs r0, 0
- bl SetVBlankCallback
-_08085E70:
- bl OverworldBasic
- cmp r4, 0
- beq _08085E7C
- bl SetFieldVBlankCallback
-_08085E7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_overworld
-
- thumb_func_start set_callback1
-set_callback1: @ 8085E88
- ldr r1, =gMain
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end set_callback1
-
- thumb_func_start sub_8085E94
-sub_8085E94: @ 8085E94
- ldr r1, =gUnknown_03000E0C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8085E94
-
- thumb_func_start map_post_load_hook_exec
-map_post_load_hook_exec: @ 8085EA0
- push {r4,lr}
- ldr r4, =gUnknown_03005DB0
- ldr r0, [r4]
- cmp r0, 0
- beq _08085ECC
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _08085EBC
- movs r0, 0
- b _08085EEC
- .pool
-_08085EBC:
- movs r1, 0
- str r1, [r4]
- ldr r0, =gFieldCallback
- str r1, [r0]
- b _08085EEA
- .pool
-_08085ECC:
- ldr r0, =gFieldCallback
- ldr r0, [r0]
- cmp r0, 0
- beq _08085EE0
- bl _call_via_r0
- b _08085EE4
- .pool
-_08085EE0:
- bl mapldr_default
-_08085EE4:
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
-_08085EEA:
- movs r0, 0x1
-_08085EEC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end map_post_load_hook_exec
-
- thumb_func_start CB2_NewGame
-CB2_NewGame: @ 8085EF8
- push {lr}
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- bl NewGameInitData
- bl player_avatar_init_params_reset
- bl PlayTimeCounter_Start
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- ldr r1, =gFieldCallback
- ldr r0, =ExecuteTruckSequence
- str r0, [r1]
- ldr r1, =gUnknown_03005DB0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gMain+0x438
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_NewGame
-
- thumb_func_start CB2_WhiteOut
-CB2_WhiteOut: @ 8085F58
- push {lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08085FB0
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- bl sub_8084620
- bl player_avatar_init_params_reset
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3C8
- str r0, [r1]
- mov r1, sp
- movs r0, 0
- strb r0, [r1]
- mov r0, sp
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08085FB0:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_WhiteOut
-
- thumb_func_start c2_load_new_map
-c2_load_new_map: @ 8085FCC
- push {lr}
- bl sub_808631C
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- movs r0, 0
- bl set_callback1
- ldr r0, =c2_change_map
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =c2_load_new_map_2
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_load_new_map
-
- thumb_func_start c2_load_new_map_2
-c2_load_new_map_2: @ 8085FFC
- push {lr}
- ldr r0, =gMain+0x438
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_load_new_map_2
-
- thumb_func_start sub_8086024
-sub_8086024: @ 8086024
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08086046
- bl sub_808631C
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- movs r0, 0
- bl set_callback1
-_08086046:
- adds r0, r4, 0
- movs r1, 0x1
- bl load_map_stuff
- cmp r0, 0
- beq _08086062
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08086062:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086024
-
- thumb_func_start sub_8086074
-sub_8086074: @ 8086074
- push {lr}
- bl sub_808631C
- ldr r0, =gFieldCallback
- ldr r1, =sub_80AF314
- str r1, [r0]
- ldr r0, =c2_80567AC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086074
-
- thumb_func_start c2_80567AC
-c2_80567AC: @ 8086098
- push {lr}
- ldr r0, =gMain+0x438
- bl map_loading_iteration_3
- cmp r0, 0
- beq _080860B8
- bl SetFieldVBlankCallback
- ldr r0, =c1_link_related
- bl set_callback1
- bl sub_8086C2C
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_080860B8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_80567AC
-
- thumb_func_start c2_exit_to_overworld_2_switch
-c2_exit_to_overworld_2_switch: @ 80860C8
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _080860E0
- ldr r0, =c2_exit_to_overworld_2_link
- bl SetMainCallback2
- b _080860EA
- .pool
-_080860E0:
- bl sub_808631C
- ldr r0, =c2_exit_to_overworld_2_local
- bl SetMainCallback2
-_080860EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_switch
-
- thumb_func_start c2_exit_to_overworld_2_local
-c2_exit_to_overworld_2_local: @ 80860F4
- push {lr}
- ldr r0, =gMain+0x438
- bl sub_8086638
- cmp r0, 0
- beq _0808610A
- bl SetFieldVBlankCallback
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_0808610A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_local
-
- thumb_func_start c2_exit_to_overworld_2_link
-c2_exit_to_overworld_2_link: @ 8086118
- push {lr}
- bl sub_8087598
- cmp r0, 0
- bne _08086132
- ldr r0, =gMain+0x438
- bl map_loading_iteration_2_link
- cmp r0, 0
- beq _08086132
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08086132:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_link
-
- thumb_func_start c2_8056854
-c2_8056854: @ 8086140
- push {lr}
- bl sub_808631C
- bl StopMapMusic
- ldr r0, =c1_link_related
- bl set_callback1
- bl sub_8086C2C
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086174
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF314
- b _08086178
- .pool
-_08086174:
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF214
-_08086178:
- str r0, [r1]
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8056854
-
- thumb_func_start sub_8086194
-sub_8086194: @ 8086194
- push {lr}
- bl sub_808631C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =sub_80AF6A4
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086194
-
- thumb_func_start sub_80861B0
-sub_80861B0: @ 80861B0
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF188
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80861B0
-
- thumb_func_start c2_exit_to_overworld_1_continue_scripts_restart_music
-c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_1_continue_scripts_restart_music
-
- thumb_func_start sub_80861E8
-sub_80861E8: @ 80861E8
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3C8
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80861E8
-
- thumb_func_start sub_8086204
-sub_8086204: @ 8086204
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0xF8
- ands r0, r1
- cmp r0, 0x8
- bne _08086222
- bl sub_80E909C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086222
- bl AddMapNamePopUpWindowTask
-_08086222:
- bl sub_80AF3C8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086204
-
- thumb_func_start sub_8086230
-sub_8086230: @ 8086230
- push {r4,lr}
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0xFF
- bne _0808624A
- bl sub_81A3908
-_0808624A:
- bl set_current_map_header_from_sav1
- bl set_warp2_warp3_to_neg_1
- bl GetCurrentTrainerHillMapId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08086278
- bl sub_81AA2F8
- b _0808628A
- .pool
-_08086278:
- cmp r4, 0
- beq _08086286
- cmp r4, 0x6
- beq _08086286
- bl sub_81D5F48
- b _0808628A
-_08086286:
- bl CopyFieldObjectTemplateCoordsToSav1
-_0808628A:
- bl UnfreezeMapObjects
- bl DoTimeBasedEvents
- bl sub_8084788
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _080862B0
- movs r0, 0x1
- bl battle_pyramid_map_load_related
- b _080862BE
- .pool
-_080862B0:
- cmp r4, 0
- beq _080862BA
- bl trainer_hill_map_load_related
- b _080862BE
-_080862BA:
- bl sub_8087D74
-_080862BE:
- bl PlayTimeCounter_Start
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl sub_8195E10
- bl sav2_x1_query_bit1
- cmp r0, 0x1
- bne _080862F4
- bl sav2_x9_clear_bit1
- bl warp1_set_to_sav1w
- bl warp_in
- bl sub_80EDB44
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- b _08086308
- .pool
-_080862F4:
- bl sub_80EDB44
- ldr r0, =gFieldCallback
- ldr r1, =sub_8086204
- str r1, [r0]
- ldr r0, =c1_overworld
- bl set_callback1
- bl c2_exit_to_overworld_2_switch
-_08086308:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086230
-
- thumb_func_start sub_808631C
-@ void sub_808631C()
-sub_808631C: @ 808631C
- push {r4,lr}
- bl warp0_in_pokecenter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808632E
- bl CloseLink
-_0808632E:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086348
- movs r0, 0xC5
- bl EnableInterrupts
- movs r0, 0x2
- bl DisableInterrupts
- b _08086362
- .pool
-_08086348:
- ldr r4, =0x04000208
- ldrh r3, [r4]
- strh r0, [r4]
- ldr r2, =0x04000200
- ldrh r1, [r2]
- ldr r0, =0x0000fffd
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- strh r3, [r4]
-_08086362:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808631C
-
- thumb_func_start SetFieldVBlankCallback
-@ void SetFieldVBlankCallback()
-SetFieldVBlankCallback: @ 8086380
- push {lr}
- ldr r0, =VBlankCB_Field
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetFieldVBlankCallback
-
- thumb_func_start VBlankCB_Field
-VBlankCB_Field: @ 8086390
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl ScanlineEffect_InitHBlankDmaTransfer
- bl FieldUpdateBgTilemapScroll
- bl TransferPlttBuffer
- bl TransferTilesetAnimsBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_Field
-
- thumb_func_start sub_80863B0
-sub_80863B0: @ 80863B0
- push {lr}
- bl sub_81A9E6C
- lsls r0, 24
- cmp r0, 0
- beq _080863D4
- bl door_upload_tiles
- ldr r2, =gUnknown_08339DBC
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl ScanlineEffect_SetParams
- b _080863F0
- .pool
-_080863D4:
- bl Overworld_GetFlashLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080863F0
- bl sub_80B00E8
- ldr r2, =gUnknown_08339DBC
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl ScanlineEffect_SetParams
-_080863F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80863B0
-
- thumb_func_start map_loading_iteration_3
-map_loading_iteration_3: @ 80863F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _08086404
- b _08086512
-_08086404:
- lsls r0, 2
- ldr r1, =_08086414
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086414:
- .4byte _0808644C
- .4byte _08086462
- .4byte _0808646A
- .4byte _08086472
- .4byte _08086484
- .4byte _08086492
- .4byte _08086498
- .4byte _080864A8
- .4byte _080864B8
- .4byte _080864D4
- .4byte _080864DA
- .4byte _080864E0
- .4byte _080864FC
- .4byte _0808650E
-_0808644C:
- bl overworld_bg_setup
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086506
-_08086462:
- movs r0, 0x1
- bl mli0_load_map
- b _08086506
-_0808646A:
- movs r0, 0x1
- bl sub_8086988
- b _08086506
-_08086472:
- bl sub_8086AE4
- bl sub_80869DC
- bl sub_8086B14
- bl sub_8086AAC
- b _08086506
-_08086484:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086506
-_08086492:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086506
-_08086498:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086506
- .pool
-_080864A8:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086506
- .pool
-_080864B8:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08086512
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086506
- .pool
-_080864D4:
- bl DrawWholeMapView
- b _08086506
-_080864DA:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086506
-_080864E0:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086506
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08086506
- .pool
-_080864FC:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _08086512
-_08086506:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08086512
-_0808650E:
- movs r0, 0x1
- b _08086514
-_08086512:
- movs r0, 0
-_08086514:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end map_loading_iteration_3
-
- thumb_func_start load_map_stuff
-@ int load_map_stuff(u8 *a1, int a2)
-load_map_stuff: @ 808651C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _0808652A
- b _0808662E
-_0808652A:
- lsls r0, 2
- ldr r1, =_08086538
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086538:
- .4byte _08086570
- .4byte _0808657C
- .4byte _08086586
- .4byte _0808658E
- .4byte _08086598
- .4byte _080865A6
- .4byte _080865AC
- .4byte _080865BC
- .4byte _080865CC
- .4byte _080865E8
- .4byte _080865EE
- .4byte _080865F4
- .4byte _08086618
- .4byte _0808662A
-_08086570:
- bl sub_808631C
- adds r0, r5, 0
- bl mli0_load_map
- b _08086622
-_0808657C:
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086622
-_08086586:
- adds r0, r5, 0
- bl sub_8086988
- b _08086622
-_0808658E:
- bl mli4_mapscripts_and_other
- bl sub_8086A80
- b _08086622
-_08086598:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086622
-_080865A6:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086622
-_080865AC:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086622
- .pool
-_080865BC:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086622
- .pool
-_080865CC:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808662E
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086622
- .pool
-_080865E8:
- bl DrawWholeMapView
- b _08086622
-_080865EE:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086622
-_080865F4:
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0xF8
- ands r0, r1
- cmp r0, 0x8
- bne _08086622
- bl sub_80E909C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086622
- bl AddMapNamePopUpWindowTask
- b _08086622
- .pool
-_08086618:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _0808662E
-_08086622:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0808662E
-_0808662A:
- movs r0, 0x1
- b _08086630
-_0808662E:
- movs r0, 0
-_08086630:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end load_map_stuff
-
- thumb_func_start sub_8086638
-sub_8086638: @ 8086638
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0808666E
- cmp r0, 0x1
- bgt _0808664C
- cmp r0, 0
- beq _08086656
- b _0808668E
-_0808664C:
- cmp r0, 0x2
- beq _08086678
- cmp r0, 0x3
- beq _0808668A
- b _0808668E
-_08086656:
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- movs r0, 0
- bl sub_8086988
- bl sub_8086A68
- bl sub_8086A80
- b _08086682
-_0808666E:
- bl sub_8086860
- bl sub_81D64C0
- b _08086682
-_08086678:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _0808668E
-_08086682:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0808668E
-_0808668A:
- movs r0, 0x1
- b _08086690
-_0808668E:
- movs r0, 0
-_08086690:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086638
-
- thumb_func_start map_loading_iteration_2_link
-map_loading_iteration_2_link: @ 8086698
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _080866A4
- b _080867A8
-_080866A4:
- lsls r0, 2
- ldr r1, =_080866B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080866B4:
- .4byte _080866EC
- .4byte _080866FA
- .4byte _08086702
- .4byte _08086710
- .4byte _0808671E
- .4byte _08086724
- .4byte _08086734
- .4byte _08086744
- .4byte _08086760
- .4byte _08086766
- .4byte _08086792
- .4byte _0808676C
- .4byte _08086788
- .4byte _0808679A
-_080866EC:
- bl sub_808631C
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086792
-_080866FA:
- movs r0, 0x1
- bl sub_8086988
- b _08086792
-_08086702:
- bl sub_8086B9C
- bl sub_8086A68
- bl sub_8086AC8
- b _08086792
-_08086710:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086792
-_0808671E:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086792
-_08086724:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086792
- .pool
-_08086734:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086792
- .pool
-_08086744:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080867A8
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086792
- .pool
-_08086760:
- bl DrawWholeMapView
- b _08086792
-_08086766:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086792
-_0808676C:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086792
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08086792
- .pool
-_08086788:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _080867A8
-_08086792:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080867A8
-_0808679A:
- bl SetFieldVBlankCallback
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- b _080867AA
-_080867A8:
- movs r0, 0
-_080867AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end map_loading_iteration_2_link
-
- thumb_func_start do_load_map_stuff_loop
-do_load_map_stuff_loop: @ 80867B0
- push {r4,lr}
- adds r4, r0, 0
-_080867B4:
- adds r0, r4, 0
- movs r1, 0
- bl load_map_stuff
- cmp r0, 0
- beq _080867B4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end do_load_map_stuff_loop
-
- thumb_func_start MoveSaveBlocks_ResetHeap_
-MoveSaveBlocks_ResetHeap_: @ 80867C8
- push {lr}
- bl sub_81BE6AC
- bl MoveSaveBlocks_ResetHeap
- pop {r0}
- bx r0
- thumb_func_end MoveSaveBlocks_ResetHeap_
-
- thumb_func_start sub_80867D8
-sub_80867D8: @ 80867D8
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ScanlineEffect_Stop
- ldr r2, =0x05000002
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08086816:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _08086816
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- bl LoadOam
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80867D8
-
- thumb_func_start sub_8086860
-sub_8086860: @ 8086860
- push {lr}
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- bl mapdata_load_assets_to_gpu_and_full_redraw
- pop {r0}
- bx r0
- thumb_func_end sub_8086860
-
- thumb_func_start map_loading_lcd_reset
-map_loading_lcd_reset: @ 8086878
- push {r4,lr}
- bl clear_scheduled_bg_copies_to_vram
- bl reset_temp_tile_data_buffers
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001f1f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00000101
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0xFF
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0xFF
- bl SetGpuReg
- ldr r4, =0x0000ffff
- movs r0, 0x42
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r4, 0
- bl SetGpuReg
- ldr r0, =gUnknown_82EC7C4
- ldrh r1, [r0, 0x2]
- ldrh r2, [r0, 0x4]
- orrs r1, r2
- ldrh r0, [r0, 0x6]
- orrs r1, r0
- movs r2, 0x82
- lsls r2, 5
- adds r0, r2, 0
- orrs r1, r0
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000070d
- movs r0, 0x52
- bl SetGpuReg
- bl overworld_bg_setup
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r1, =0x00007060
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- bl sub_8098128
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end map_loading_lcd_reset
-
- thumb_func_start sub_8086988
-sub_8086988: @ 8086988
- push {r4,lr}
- adds r4, r0, 0
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl ScanlineEffect_Clear
- bl dp13_810BB8C
- bl ResetCameraUpdateInfo
- bl InstallCameraPanAheadCallback
- cmp r4, 0
- bne _080869B4
- movs r0, 0
- bl npc_paltag_set_load
- b _080869BA
-_080869B4:
- movs r0, 0x1
- bl npc_paltag_set_load
-_080869BA:
- bl FieldEffectActiveListClear
- bl sub_80AAFA4
- bl sub_80AEE84
- cmp r4, 0
- bne _080869CE
- bl overworld_ensure_per_step_coros_running
-_080869CE:
- bl mapheader_run_script_with_tag_x5
- bl sub_81BE6B8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086988
-
- thumb_func_start sub_80869DC
-sub_80869DC: @ 80869DC
- push {lr}
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03005DE8
- strh r1, [r0]
- bl sub_808D438
- movs r0, 0
- movs r1, 0
- bl SpawnFieldObjectsInView
- bl mapheader_run_first_tag4_script_list_match
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80869DC
-
- thumb_func_start mli4_mapscripts_and_other
-mli4_mapscripts_and_other: @ 8086A04
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03005DE8
- strh r1, [r0]
- bl sub_808D438
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- bl sub_80852D4
- adds r5, r0, 0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldrb r2, [r5, 0x1]
- ldr r3, =gSaveBlock2Ptr
- ldr r3, [r3]
- ldrb r3, [r3, 0x8]
- bl InitPlayerAvatar
- ldrb r0, [r5]
- bl SetPlayerAvatarTransitionFlags
- bl player_avatar_init_params_reset
- movs r0, 0
- movs r1, 0
- bl SpawnFieldObjectsInView
- bl mapheader_run_first_tag4_script_list_match
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mli4_mapscripts_and_other
-
- thumb_func_start sub_8086A68
-sub_8086A68: @ 8086A68
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_808E16C
- bl sub_80FBED0
- bl mapheader_run_script_with_tag_x7
- pop {r0}
- bx r0
- thumb_func_end sub_8086A68
-
- thumb_func_start sub_8086A80
-sub_8086A80: @ 8086A80
- push {lr}
- ldr r2, =gMapObjects
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldrb r0, [r3, 0x4]
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086A80
-
- thumb_func_start sub_8086AAC
-sub_8086AAC: @ 8086AAC
- push {lr}
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- bl sub_8087858
- lsls r0, 24
- lsrs r0, 24
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AAC
-
- thumb_func_start sub_8086AC8
-sub_8086AC8: @ 8086AC8
- push {lr}
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- bl sub_8087858
- lsls r0, 24
- lsrs r0, 24
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AC8
-
- thumb_func_start sub_8086AE4
-sub_8086AE4: @ 8086AE4
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- mov r2, sp
- ldr r0, =gUnknown_03005DB4
- ldrb r1, [r0]
- ldrh r0, [r2]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4]
- bl sub_8088B3C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AE4
-
- thumb_func_start sub_8086B14
-sub_8086B14: @ 8086B14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- mov r3, sp
- mov r2, sp
- ldr r0, =gUnknown_03005DB4
- ldrb r1, [r0]
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r3]
- movs r6, 0
- ldr r0, =gUnknown_03005DB8
- mov r8, r4
- ldrb r0, [r0]
- cmp r6, r0
- bcs _08086B7E
- ldr r7, =gLinkPlayers
-_08086B44:
- lsls r5, r6, 24
- lsrs r5, 24
- mov r0, sp
- ldrh r1, [r0]
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- mov r0, r8
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r4, r6, 3
- subs r4, r6
- lsls r4, 2
- adds r4, r7
- ldrb r3, [r4, 0x13]
- adds r0, r5, 0
- bl sub_80876F0
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8087BCC
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08086B44
-_08086B7E:
- bl sub_8086C40
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086B14
-
- thumb_func_start sub_8086B9C
-sub_8086B9C: @ 8086B9C
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08086BCA
- ldr r5, =gLinkPlayers
-_08086BAA:
- lsls r0, r4, 24
- lsrs r0, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1]
- bl sub_8087BCC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08086BAA
-_08086BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086B9C
-
- thumb_func_start c1_link_related
-c1_link_related: @ 8086BD8
- push {r4,lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086BF2
- bl sub_800F0B8
- cmp r0, 0
- beq _08086BF2
- bl sub_8009F3C
- cmp r0, 0
- bne _08086C14
-_08086BF2:
- ldr r0, =gUnknown_03005DB4
- ldrb r4, [r0]
- ldr r0, =gLinkPartnersHeldKeys
- adds r1, r4, 0
- bl sub_8086F38
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_8086FA0
- bl sub_8086C40
-_08086C14:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c1_link_related
-
- thumb_func_start sub_8086C2C
-sub_8086C2C: @ 8086C2C
- push {lr}
- bl sub_8086C90
- ldr r0, =sub_80870B0
- bl c1_link_related_func_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C2C
-
- thumb_func_start sub_8086C40
-sub_8086C40: @ 8086C40
- push {lr}
- ldr r0, =gLinkPartnersHeldKeys
- bl sub_808709C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C40
-
- thumb_func_start c1_link_related_func_set
-c1_link_related_func_set: @ 8086C50
- ldr r2, =gUnknown_03000E19
- movs r1, 0
- strb r1, [r2]
- ldr r1, =gUnknown_03000E14
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end c1_link_related_func_set
-
- thumb_func_start sub_8086C64
-sub_8086C64: @ 8086C64
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086C82
- ldr r1, =gUnknown_03000E19
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3C
- bls _08086C82
- bl sub_8010198
-_08086C82:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C64
-
- thumb_func_start sub_8086C90
-sub_8086C90: @ 8086C90
- push {lr}
- ldr r1, =gUnknown_03000E10
- movs r2, 0x80
- adds r0, r1, 0x3
-_08086C98:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08086C98
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C90
-
- thumb_func_start sub_8086CA8
-sub_8086CA8: @ 8086CA8
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r2, [r0]
- movs r1, 0
- cmp r1, r2
- bge _08086CD6
- ldr r4, =gUnknown_03000E10
-_08086CBA:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- beq _08086CD0
- movs r0, 0
- b _08086CD8
- .pool
-_08086CD0:
- adds r1, 0x1
- cmp r1, r2
- blt _08086CBA
-_08086CD6:
- movs r0, 0x1
-_08086CD8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086CA8
-
- thumb_func_start sub_8086CE0
-sub_8086CE0: @ 8086CE0
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r2, [r0]
- movs r1, 0
- cmp r1, r2
- bge _08086D0E
- ldr r4, =gUnknown_03000E10
-_08086CF2:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _08086D08
- movs r0, 0x1
- b _08086D10
- .pool
-_08086D08:
- adds r1, 0x1
- cmp r1, r2
- blt _08086CF2
-_08086D0E:
- movs r0, 0
-_08086D10:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086CE0
-
- thumb_func_start sub_8086D18
-sub_8086D18: @ 8086D18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r2, 0
- mov r9, r3
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r0, =gUnknown_03000E10
- adds r5, r7, r0
- ldrb r0, [r5]
- cmp r0, 0x80
- beq _08086D38
- b _08086EB2
-_08086D38:
- adds r0, r6, 0
- bl sub_8087370
- adds r4, r0, 0
- cmp r4, 0
- beq _08086D70
- bl sub_8087480
- mov r1, r9
- strh r0, [r1]
- movs r0, 0x81
- strb r0, [r5]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- bne _08086D58
- b _08086F26
-_08086D58:
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- adds r0, r4, 0
- bl sub_8087530
- b _08086F26
- .pool
-_08086D70:
- movs r0, 0x83
- bl sub_8086CE0
- cmp r0, 0x1
- bne _08086D98
- movs r0, 0x81
- strb r0, [r5]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- bne _08086D86
- b _08086F26
-_08086D86:
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_8087584
- b _08086F26
- .pool
-_08086D98:
- mov r0, r8
- subs r0, 0x12
- cmp r0, 0xA
- bls _08086DA2
- b _08086EB2
-_08086DA2:
- lsls r0, 2
- ldr r1, =_08086DB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086DB0:
- .4byte _08086E08
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086DDC
- .4byte _08086E34
- .4byte _08086EB2
- .4byte _08086E64
- .4byte _08086E90
-_08086DDC:
- adds r0, r6, 0
- bl sub_8087358
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_808751C
- b _08086EB2
- .pool
-_08086E08:
- adds r0, r6, 0
- bl sub_8087388
- cmp r0, 0x1
- bne _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_808754C
- b _08086EB2
- .pool
-_08086E34:
- adds r0, r6, 0
- bl sub_80873B4
- adds r4, r0, 0
- cmp r4, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- adds r0, r4, 0
- bl sub_8087568
- b _08086EB2
- .pool
-_08086E64:
- adds r0, r6, 0
- bl sub_8087340
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_808711C
- bl c1_link_related_func_set
- bl sub_8087510
- b _08086EB2
- .pool
-_08086E90:
- adds r0, r6, 0
- bl sub_8087340
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_8087140
- bl c1_link_related_func_set
- bl sub_8087510
-_08086EB2:
- mov r0, r8
- cmp r0, 0x17
- beq _08086ED8
- cmp r0, 0x17
- bgt _08086ECC
- cmp r0, 0x16
- beq _08086EE8
- b _08086F26
- .pool
-_08086ECC:
- mov r1, r8
- cmp r1, 0x1A
- beq _08086EF8
- cmp r1, 0x1D
- beq _08086F18
- b _08086F26
-_08086ED8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x83
- strb r1, [r0]
- b _08086F26
- .pool
-_08086EE8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x82
- strb r1, [r0]
- b _08086F26
- .pool
-_08086EF8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x80
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086F26
- ldr r0, =sub_80870B0
- bl c1_link_related_func_set
- b _08086F26
- .pool
-_08086F18:
- ldr r0, =gUnknown_03000E10
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0x82
- bne _08086F26
- movs r0, 0x81
- strb r0, [r1]
-_08086F26:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086D18
-
- thumb_func_start sub_8086F38
-sub_8086F38: @ 8086F38
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r1
- movs r6, 0
- add r5, sp, 0x10
- mov r9, r5
- adds r7, r0, 0
-_08086F4C:
- ldrb r4, [r7]
- movs r0, 0
- strh r0, [r5]
- adds r0, r6, 0
- mov r1, r8
- mov r2, sp
- bl sub_80872D8
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r5, 0
- bl sub_8086D18
- ldr r0, =gUnknown_03000E10
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08086F7C
- adds r0, r4, 0
- bl sub_8087068
- mov r1, r9
- strh r0, [r1]
-_08086F7C:
- lsls r0, r6, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_808796C
- adds r7, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08086F4C
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086F38
-
- thumb_func_start sub_8086FA0
-sub_8086FA0: @ 8086FA0
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, =0xffef0000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC
- bhi _08086FC0
- ldr r0, =gUnknown_03005DA8
- strh r4, [r0]
- b _08086FC6
- .pool
-_08086FC0:
- ldr r1, =gUnknown_03005DA8
- movs r0, 0x11
- strh r0, [r1]
-_08086FC6:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086FFC
- bl sub_8087690
- cmp r0, 0x1
- bls _08086FFC
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _08086FFC
- bl sub_8009F3C
- cmp r0, 0x1
- bne _08086FFC
- cmp r4, 0x11
- blt _08086FFC
- cmp r4, 0x15
- ble _08086FF6
- cmp r4, 0x19
- bgt _08086FFC
- cmp r4, 0x18
- blt _08086FFC
-_08086FF6:
- ldr r1, =gUnknown_03005DA8
- movs r0, 0
- strh r0, [r1]
-_08086FFC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086FA0
-
- thumb_func_start sub_808700C
-sub_808700C: @ 808700C
- push {lr}
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08087024
- movs r0, 0x13
- b _08087064
- .pool
-_08087024:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08087030
- movs r0, 0x12
- b _08087064
-_08087030:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808703C
- movs r0, 0x14
- b _08087064
-_0808703C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08087048
- movs r0, 0x15
- b _08087064
-_08087048:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08087056
- movs r0, 0x18
- b _08087064
-_08087056:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08087062
- movs r0, 0x11
- b _08087064
-_08087062:
- movs r0, 0x19
-_08087064:
- pop {r1}
- bx r1
- thumb_func_end sub_808700C
-
- thumb_func_start sub_8087068
-sub_8087068: @ 8087068
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x13
- beq _0808708E
- cmp r0, 0x13
- bgt _0808707E
- cmp r0, 0x12
- beq _08087092
- b _08087096
-_0808707E:
- cmp r1, 0x14
- beq _0808708A
- cmp r1, 0x15
- bne _08087096
- movs r0, 0x4
- b _08087098
-_0808708A:
- movs r0, 0x3
- b _08087098
-_0808708E:
- movs r0, 0x1
- b _08087098
-_08087092:
- movs r0, 0x2
- b _08087098
-_08087096:
- movs r0, 0
-_08087098:
- pop {r1}
- bx r1
- thumb_func_end sub_8087068
-
- thumb_func_start sub_808709C
-sub_808709C: @ 808709C
- push {lr}
- movs r2, 0x11
- adds r1, r0, 0x6
-_080870A2:
- strh r2, [r1]
- subs r1, 0x2
- cmp r1, r0
- bge _080870A2
- pop {r0}
- bx r0
- thumb_func_end sub_808709C
-
- thumb_func_start sub_80870B0
-sub_80870B0: @ 80870B0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080870C4
- movs r0, 0x11
- b _080870E6
-_080870C4:
- bl sub_800B4DC
- cmp r0, 0x4
- bls _080870D0
- movs r0, 0x1B
- b _080870E6
-_080870D0:
- bl sub_8087690
- cmp r0, 0x4
- bls _080870DC
- movs r0, 0x1C
- b _080870E6
-_080870DC:
- adds r0, r4, 0
- bl sub_808700C
- lsls r0, 16
- lsrs r0, 16
-_080870E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80870B0
-
- thumb_func_start sub_80870EC
-sub_80870EC: @ 80870EC
- push {lr}
- bl sub_8086C64
- movs r0, 0x11
- pop {r1}
- bx r1
- thumb_func_end sub_80870EC
-
- thumb_func_start sub_80870F8
-sub_80870F8: @ 80870F8
- push {r4,lr}
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x11
- cmp r0, 0x1
- beq _08087110
- movs r4, 0x1A
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087110:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80870F8
-
- thumb_func_start sub_808711C
-sub_808711C: @ 808711C
- push {r4,lr}
- bl sub_800B4DC
- movs r4, 0x11
- cmp r0, 0x2
- bhi _08087134
- movs r4, 0x1A
- bl ScriptContext2_Disable
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087134:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808711C
-
- thumb_func_start sub_8087140
-sub_8087140: @ 8087140
- push {r4,lr}
- bl sub_8087690
- movs r4, 0x11
- cmp r0, 0x2
- bhi _08087158
- movs r4, 0x1A
- bl ScriptContext2_Disable
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087158:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087140
-
- thumb_func_start sub_8087164
-sub_8087164: @ 8087164
- push {lr}
- bl sub_8086C64
- movs r0, 0x11
- pop {r1}
- bx r1
- thumb_func_end sub_8087164
-
- thumb_func_start sub_8087170
-sub_8087170: @ 8087170
- push {lr}
- ldr r1, =gUnknown_03000E10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x82
- bne _080871A0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080871A4
- ldr r0, =sub_8087164
- bl c1_link_related_func_set
- movs r0, 0x1D
- b _080871A6
- .pool
-_080871A0:
- bl sub_8086C64
-_080871A4:
- movs r0, 0x11
-_080871A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8087170
-
- thumb_func_start sub_80871AC
-sub_80871AC: @ 80871AC
- push {lr}
- ldr r0, =sub_8087170
- bl c1_link_related_func_set
- movs r0, 0x16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871AC
-
- thumb_func_start sub_80871C0
-sub_80871C0: @ 80871C0
- movs r0, 0x11
- bx lr
- thumb_func_end sub_80871C0
-
- thumb_func_start sub_80871C4
-sub_80871C4: @ 80871C4
- push {lr}
- ldr r1, =gUnknown_03000E10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x83
- beq _080871D4
- bl sub_8086C64
-_080871D4:
- movs r0, 0x83
- bl sub_8086CA8
- cmp r0, 0x1
- bne _080871EA
- ldr r0, =gUnknown_08277513
- bl ScriptContext1_SetupScript
- ldr r0, =sub_80871C0
- bl c1_link_related_func_set
-_080871EA:
- movs r0, 0x11
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871C4
-
- thumb_func_start sub_80871FC
-sub_80871FC: @ 80871FC
- push {lr}
- ldr r0, =sub_80871C4
- bl c1_link_related_func_set
- movs r0, 0x17
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871FC
-
- thumb_func_start sub_8087210
-sub_8087210: @ 8087210
- movs r0, 0x11
- bx lr
- thumb_func_end sub_8087210
-
- thumb_func_start sub_8087214
-sub_8087214: @ 8087214
- push {lr}
- movs r0, 0x83
- bl sub_8086CE0
- cmp r0, 0x1
- beq _08087250
- ldr r0, =gUnknown_03000E14
- ldr r2, [r0]
- ldr r1, =sub_8087170
- adds r3, r0, 0
- cmp r2, r1
- bne _0808723A
- ldr r1, =gUnknown_03000E10
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x82
- bne _08087272
-_0808723A:
- ldr r1, [r3]
- ldr r0, =sub_8087164
- cmp r1, r0
- bne _08087268
- ldr r1, =gUnknown_03000E10
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _08087268
-_08087250:
- movs r0, 0x2
- b _08087278
- .pool
-_08087268:
- movs r0, 0x82
- bl sub_8086CA8
- cmp r0, 0
- bne _08087276
-_08087272:
- movs r0, 0
- b _08087278
-_08087276:
- movs r0, 0x1
-_08087278:
- pop {r1}
- bx r1
- thumb_func_end sub_8087214
-
- thumb_func_start sub_808727C
-sub_808727C: @ 808727C
- push {lr}
- movs r0, 0x83
- bl sub_8086CE0
- pop {r1}
- bx r1
- thumb_func_end sub_808727C
-
- thumb_func_start sub_8087288
-sub_8087288: @ 8087288
- push {lr}
- ldr r0, =sub_80871AC
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087288
-
- thumb_func_start sub_808729C
-sub_808729C: @ 808729C
- push {lr}
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808729C
-
- thumb_func_start sub_80872B0
-sub_80872B0: @ 80872B0
- push {lr}
- ldr r0, =sub_80871FC
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80872B0
-
- thumb_func_start sub_80872C4
-sub_80872C4: @ 80872C4
- push {lr}
- ldr r0, =sub_8087210
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80872C4
-
- thumb_func_start sub_80872D8
-sub_80872D8: @ 80872D8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- strb r4, [r6]
- movs r0, 0
- cmp r4, r1
- bne _080872EA
- movs r0, 0x1
-_080872EA:
- strb r0, [r6, 0x1]
- ldr r1, =gLinkPlayerMapObjects
- lsls r0, r4, 2
- adds r0, r1
- ldrb r0, [r0, 0x3]
- strb r0, [r6, 0x2]
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80878A0
- strb r0, [r6, 0x3]
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_8087878
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- ldrh r0, [r5]
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- bl sub_80878C0
- strb r0, [r6, 0x8]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- strh r0, [r6, 0xC]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80872D8
-
- thumb_func_start sub_8087340
-sub_8087340: @ 8087340
- push {lr}
- ldrb r0, [r0, 0x2]
- cmp r0, 0x2
- beq _0808734C
- cmp r0, 0
- bne _08087350
-_0808734C:
- movs r0, 0x1
- b _08087352
-_08087350:
- movs r0, 0
-_08087352:
- pop {r1}
- bx r1
- thumb_func_end sub_8087340
-
- thumb_func_start sub_8087358
-sub_8087358: @ 8087358
- push {lr}
- ldrb r0, [r0, 0x2]
- cmp r0, 0x2
- beq _08087364
- cmp r0, 0
- bne _08087368
-_08087364:
- movs r0, 0x1
- b _0808736A
-_08087368:
- movs r0, 0
-_0808736A:
- pop {r1}
- bx r1
- thumb_func_end sub_8087358
-
- thumb_func_start sub_8087370
-sub_8087370: @ 8087370
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x2
- bne _08087382
- adds r0, r1, 0x4
- bl sub_809D0F4
- b _08087384
-_08087382:
- movs r0, 0
-_08087384:
- pop {r1}
- bx r1
- thumb_func_end sub_8087370
-
- thumb_func_start sub_8087388
-sub_8087388: @ 8087388
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _08087396
- cmp r0, 0
- bne _080873AC
-_08087396:
- ldrb r0, [r4, 0xC]
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- cmp r0, 0
- beq _080873AC
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _080873AC
- movs r0, 0x1
- b _080873AE
-_080873AC:
- movs r0, 0
-_080873AE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087388
-
- thumb_func_start sub_80873B4
-sub_80873B4: @ 80873B4
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080873C8
- cmp r0, 0x2
- beq _080873C8
- movs r0, 0
- b _08087476
-_080873C8:
- ldr r0, [r4, 0x4]
- ldr r1, [r4, 0x8]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r3, =gUnknown_08339D64
- ldrb r0, [r4, 0x3]
- lsls r0, 3
- adds r0, r3
- ldr r0, [r0]
- mov r1, sp
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0xffff0000
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- asrs r1, r2, 16
- ldrb r0, [r4, 0x3]
- lsls r0, 3
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- adds r0, r1
- lsls r0, 16
- ldr r1, =0x0000ffff
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldr r2, =0xffffff00
- ldr r0, [sp, 0x4]
- ands r0, r2
- str r0, [sp, 0x4]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_808790C
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r1, 0x4
- beq _0808746C
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08087434
- ldr r0, =gUnknown_03000E10
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _08087450
-_08087434:
- ldr r0, =gUnknown_0827749C
- b _08087476
- .pool
-_08087450:
- adds r0, r2, 0
- bl sub_80B39D4
- cmp r0, 0
- bne _08087464
- ldr r0, =gUnknown_0827747E
- b _08087476
- .pool
-_08087464:
- ldr r0, =gUnknown_0827748D
- b _08087476
- .pool
-_0808746C:
- ldrb r1, [r4, 0xC]
- ldrb r2, [r4, 0x3]
- mov r0, sp
- bl sub_809C2C8
-_08087476:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80873B4
-
- thumb_func_start sub_8087480
-sub_8087480: @ 8087480
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_08277388
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_082773A3
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_082773BE
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_082773D9
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_0827741D
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_08277432
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_08277447
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_0827745C
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_08277374
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_0827737E
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_082773F5
- cmp r1, r0
- bne _080874F8
-_080874C6:
- movs r0, 0xA
- b _0808750A
- .pool
-_080874F8:
- ldr r0, =gUnknown_082773FF
- cmp r1, r0
- beq _08087508
- movs r0, 0
- b _0808750A
- .pool
-_08087508:
- movs r0, 0x9
-_0808750A:
- pop {r1}
- bx r1
- thumb_func_end sub_8087480
-
- thumb_func_start sub_8087510
-sub_8087510: @ 8087510
- push {lr}
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_8087510
-
- thumb_func_start sub_808751C
-sub_808751C: @ 808751C
- push {lr}
- movs r0, 0x6
- bl PlaySE
- bl sub_809FA9C
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_808751C
-
- thumb_func_start sub_8087530
-sub_8087530: @ 8087530
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087530
-
- thumb_func_start sub_808754C
-sub_808754C: @ 808754C
- push {lr}
- movs r0, 0x6
- bl PlaySE
- ldr r0, =gUnknown_082774EF
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808754C
-
- thumb_func_start sub_8087568
-sub_8087568: @ 8087568
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087568
-
- thumb_func_start sub_8087584
-sub_8087584: @ 8087584
- push {lr}
- ldr r0, =gUnknown_08277509
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087584
-
- thumb_func_start sub_8087598
-sub_8087598: @ 8087598
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0
- bne _080875A6
- movs r0, 0
- b _080875C0
-_080875A6:
- bl sub_800B4DC
- cmp r0, 0x2
- bls _080875B8
- ldr r1, =gUnknown_03000E18
- movs r0, 0x1
- b _080875BC
- .pool
-_080875B8:
- ldr r1, =gUnknown_03000E18
- movs r0, 0
-_080875BC:
- strb r0, [r1]
- ldrb r0, [r1]
-_080875C0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087598
-
- thumb_func_start sub_80875C8
-sub_80875C8: @ 80875C8
- push {lr}
- bl sub_800B4DC
- cmp r0, 0x1
- bls _0808762C
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _0808762C
- bl sub_8009F3C
- cmp r0, 0x1
- bne _0808762C
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- ldr r0, =sub_808711C
- cmp r1, r0
- beq _08087614
- ldr r0, =sub_80870F8
- cmp r1, r0
- bne _0808762C
- ldr r0, =gUnknown_03000E18
- ldrb r2, [r0]
- movs r1, 0
- strb r1, [r0]
- cmp r2, 0x1
- beq _08087614
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808762C
- ldrb r1, [r2, 0xA]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808762C
-_08087614:
- movs r0, 0x1
- b _0808762E
- .pool
-_0808762C:
- movs r0, 0
-_0808762E:
- pop {r1}
- bx r1
- thumb_func_end sub_80875C8
-
- thumb_func_start sub_8087634
-sub_8087634: @ 8087634
- push {lr}
- bl sub_8087690
- cmp r0, 0x1
- bls _08087658
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _08087658
- bl sub_8009F3C
- cmp r0, 0x1
- bne _08087658
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- ldr r0, =sub_8087140
- cmp r1, r0
- beq _08087664
-_08087658:
- movs r0, 0
- b _08087666
- .pool
-_08087664:
- movs r0, 0x1
-_08087666:
- pop {r1}
- bx r1
- thumb_func_end sub_8087634
-
- thumb_func_start sub_808766C
-sub_808766C: @ 808766C
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _08087688
- bl sub_8009F3C
- cmp r0, 0
- beq _08087688
- movs r0, 0x1
- b _0808768A
- .pool
-_08087688:
- movs r0, 0
-_0808768A:
- pop {r1}
- bx r1
- thumb_func_end sub_808766C
-
- thumb_func_start sub_8087690
-sub_8087690: @ 8087690
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _080876B0
- ldr r0, =gLink
- ldr r1, =0x00000339
- adds r0, r1
- ldrb r0, [r0]
- b _080876B8
- .pool
-_080876B0:
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c1a
- adds r0, r1
- ldrb r0, [r0]
-_080876B8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087690
-
- thumb_func_start sub_80876C4
-sub_80876C4: @ 80876C4
- movs r1, 0
- str r1, [r0]
- bx lr
- thumb_func_end sub_80876C4
-
- thumb_func_start strange_npc_table_clear
-strange_npc_table_clear: @ 80876CC
- push {lr}
- ldr r0, =gLinkPlayerMapObjects
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end strange_npc_table_clear
-
- thumb_func_start sub_80876E0
-sub_80876E0: @ 80876E0
- push {lr}
- movs r1, 0
- movs r2, 0x24
- bl memset
- pop {r0}
- bx r0
- thumb_func_end sub_80876E0
-
- thumb_func_start sub_80876F0
-sub_80876F0: @ 80876F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r1
- mov r10, r2
- mov r8, r3
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r1, r10
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- bl sub_808D4F4
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, r7, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r4, r0
- lsls r5, r6, 3
- adds r5, r6
- lsls r5, 2
- ldr r0, =gMapObjects
- adds r5, r0
- adds r0, r4, 0
- bl sub_80876C4
- adds r0, r5, 0
- bl sub_80876E0
- movs r2, 0
- movs r1, 0x1
- movs r0, 0x1
- strb r0, [r4]
- strb r7, [r4, 0x1]
- strb r6, [r4, 0x2]
- strb r2, [r4, 0x3]
- ldrb r0, [r5]
- orrs r0, r1
- mov r2, r8
- ands r2, r1
- lsls r2, 1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- orrs r0, r2
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0x19]
- movs r0, 0x40
- strb r0, [r5, 0x4]
- mov r0, r9
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r1, r10
- lsls r1, 16
- asrs r1, 16
- mov r10, r1
- adds r0, r5, 0
- mov r1, r9
- mov r2, r10
- bl sub_808779C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80876F0
-
- thumb_func_start sub_808779C
-sub_808779C: @ 808779C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x16]
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0xC
- adds r3, r4, 0
- adds r3, 0xE
- bl sub_8093038
- ldrh r0, [r4, 0xC]
- adds r0, 0x8
- strh r0, [r4, 0xC]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoord
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808779C
-
- thumb_func_start sub_80877DC
-sub_80877DC: @ 80877DC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080877FE
- ldrb r0, [r1, 0x2]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- strb r2, [r1, 0x19]
-_080877FE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80877DC
-
- thumb_func_start sub_808780C
-sub_808780C: @ 808780C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gLinkPlayerMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0x40
- beq _08087838
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08087838:
- movs r0, 0
- strb r0, [r5]
- ldrb r1, [r4]
- subs r0, 0x2
- ands r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808780C
-
- thumb_func_start sub_8087858
-sub_8087858: @ 8087858
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8087858
-
- thumb_func_start sub_8087878
-sub_8087878: @ 8087878
- lsls r0, 24
- ldr r3, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r3
- ldrb r3, [r0, 0x2]
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- ldr r3, =gMapObjects
- adds r0, r3
- ldrh r3, [r0, 0x10]
- strh r3, [r1]
- ldrh r0, [r0, 0x12]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8087878
-
- thumb_func_start sub_80878A0
-sub_80878A0: @ 80878A0
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x19]
- bx lr
- .pool
- thumb_func_end sub_80878A0
-
- thumb_func_start sub_80878C0
-sub_80878C0: @ 80878C0
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0xB]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end sub_80878C0
-
- thumb_func_start sub_80878E4
-sub_80878E4: @ 80878E4
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- adds r0, 0x21
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x10
- subs r0, r1
- bx lr
- .pool
- thumb_func_end sub_80878E4
-
- thumb_func_start sub_808790C
-sub_808790C: @ 808790C
- push {r4-r6,lr}
- movs r2, 0
- ldr r5, =gLinkPlayerMapObjects
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
-_0808791A:
- lsls r0, r2, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- beq _08087958
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _0808792E
- cmp r0, 0x2
- bne _08087958
-_0808792E:
- ldrb r1, [r1, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r1, r0, r1
- movs r6, 0x10
- ldrsh r0, [r1, r6]
- cmp r0, r4
- bne _08087958
- movs r6, 0x12
- ldrsh r0, [r1, r6]
- cmp r0, r3
- bne _08087958
- adds r0, r2, 0
- b _08087964
- .pool
-_08087958:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0808791A
- movs r0, 0x4
-_08087964:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808790C
-
- thumb_func_start sub_808796C
-sub_808796C: @ 808796C
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- adds r2, r3, 0
- lsrs r0, 22
- ldr r1, =gLinkPlayerMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r0, [r5]
- cmp r0, 0
- beq _080879C8
- cmp r3, 0xA
- bls _080879A4
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- b _080879C8
- .pool
-_080879A4:
- ldr r4, =gUnknown_08339E00
- ldr r1, =gUnknown_08339DC8
- ldrb r0, [r5, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl _call_via_r2
-_080879C8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808796C
-
- thumb_func_start sub_80879D8
-sub_80879D8: @ 80879D8
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldr r4, =gUnknown_08339DD4
- lsls r3, r2, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80879D8
-
- thumb_func_start sub_80879F8
-sub_80879F8: @ 80879F8
- movs r0, 0x1
- bx lr
- thumb_func_end sub_80879F8
-
- thumb_func_start sub_80879FC
-sub_80879FC: @ 80879FC
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldr r4, =gUnknown_08339DD4
- lsls r3, r2, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80879FC
-
- thumb_func_start sub_8087A1C
-sub_8087A1C: @ 8087A1C
- movs r0, 0
- bx lr
- thumb_func_end sub_8087A1C
-
- thumb_func_start sub_8087A20
-sub_8087A20: @ 8087A20
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- ldrb r1, [r5, 0x19]
- bl npc_something3
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x19]
- mov r6, sp
- adds r6, 0x2
- adds r0, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl FieldObjectMoveDestCoords
- ldrb r0, [r4, 0x2]
- ldrb r1, [r5, 0x19]
- mov r2, sp
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r4, 0
- ldrsh r3, [r6, r4]
- bl npc_080587EC
- lsls r0, 24
- cmp r0, 0
- bne _08087A7E
- adds r1, r5, 0
- adds r1, 0x21
- movs r0, 0x10
- strb r0, [r1]
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0
- ldrsh r2, [r6, r3]
- adds r0, r5, 0
- bl npc_coords_shift
- adds r0, r5, 0
- bl FieldObjectUpdateZCoord
- movs r0, 0x1
- b _08087A80
-_08087A7E:
- movs r0, 0
-_08087A80:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8087A20
-
- thumb_func_start sub_8087A88
-sub_8087A88: @ 8087A88
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- ldrb r1, [r4, 0x19]
- bl npc_something3
- strb r0, [r4, 0x19]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087A88
-
- thumb_func_start sub_8087AA0
-sub_8087AA0: @ 8087AA0
- movs r1, 0
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end sub_8087AA0
-
- thumb_func_start sub_8087AA8
-sub_8087AA8: @ 8087AA8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r4, 0
- adds r5, 0x21
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- movs r0, 0x1
- strb r0, [r6, 0x3]
- ldrb r0, [r4, 0x19]
- adds r1, 0xC
- adds r2, r4, 0
- adds r2, 0xE
- bl MoveCoords
- ldrb r0, [r5]
- cmp r0, 0
- bne _08087AD8
- adds r0, r4, 0
- bl npc_coords_shift_still
- movs r0, 0x2
- strb r0, [r6, 0x3]
-_08087AD8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087AA8
-
- thumb_func_start npc_something3
-npc_something3: @ 8087AE0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- subs r0, 0x1
- cmp r0, 0x9
- bhi _08087B38
- lsls r0, 2
- ldr r1, =_08087B00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08087B00:
- .4byte _08087B28
- .4byte _08087B2C
- .4byte _08087B30
- .4byte _08087B34
- .4byte _08087B38
- .4byte _08087B38
- .4byte _08087B28
- .4byte _08087B2C
- .4byte _08087B30
- .4byte _08087B34
-_08087B28:
- movs r0, 0x2
- b _08087B3A
-_08087B2C:
- movs r0, 0x1
- b _08087B3A
-_08087B30:
- movs r0, 0x3
- b _08087B3A
-_08087B34:
- movs r0, 0x4
- b _08087B3A
-_08087B38:
- adds r0, r2, 0
-_08087B3A:
- pop {r1}
- bx r1
- thumb_func_end npc_something3
-
- thumb_func_start npc_080587EC
-npc_080587EC: @ 8087B40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 16
- lsrs r2, 16
- mov r12, r2
- lsls r3, 16
- movs r4, 0
- ldr r0, =gMapObjects
- mov r9, r0
- lsrs r2, r3, 16
- mov r10, r2
- asrs r6, r3, 16
-_08087B64:
- mov r7, r12
- lsls r3, r7, 16
- mov r0, r10
- lsls r5, r0, 16
- cmp r4, r8
- beq _08087BA8
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- mov r2, r9
- adds r1, r0, r2
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- asrs r2, r3, 16
- cmp r0, r2
- bne _08087B8C
- movs r7, 0x12
- ldrsh r0, [r1, r7]
- cmp r0, r6
- beq _08087B9E
-_08087B8C:
- movs r7, 0x14
- ldrsh r0, [r1, r7]
- cmp r0, r2
- bne _08087BA8
- movs r0, 0x16
- ldrsh r1, [r1, r0]
- asrs r0, r5, 16
- cmp r1, r0
- bne _08087BA8
-_08087B9E:
- movs r0, 0x1
- b _08087BBE
- .pool
-_08087BA8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08087B64
- asrs r0, r3, 16
- asrs r1, r5, 16
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
-_08087BBE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end npc_080587EC
-
- thumb_func_start sub_8087BCC
-sub_8087BCC: @ 8087BCC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, r5, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r2, r0
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- beq _08087C7A
- subs r0, r3, 0x1
- cmp r0, 0x4
- bhi _08087C56
- lsls r0, 2
- ldr r1, =_08087C0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08087C0C:
- .4byte _08087C2C
- .4byte _08087C2C
- .4byte _08087C38
- .4byte _08087C20
- .4byte _08087C20
-_08087C20:
- ldrb r0, [r4]
- lsls r0, 30
- lsrs r0, 31
- bl sub_808BD6C
- b _08087C44
-_08087C2C:
- ldrb r0, [r4]
- lsls r0, 30
- lsrs r0, 31
- bl sub_808BD7C
- b _08087C44
-_08087C38:
- ldrb r1, [r4]
- lsls r1, 30
- lsrs r1, 31
- movs r0, 0
- bl GetRivalAvatarGraphicsIdByStateIdAndGender
-_08087C44:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_8087C8C
- movs r2, 0
- str r2, [sp]
- movs r3, 0
- bl AddPseudoFieldObject
- strb r0, [r4, 0x4]
-_08087C56:
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- strh r5, [r0, 0x2E]
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
-_08087C7A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087BCC
-
- thumb_func_start sub_8087C8C
-sub_8087C8C: @ 8087C8C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- lsls r4, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r4, r0
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrh r0, [r6, 0xC]
- strh r0, [r5, 0x20]
- ldrh r0, [r6, 0xE]
- strh r0, [r5, 0x22]
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- adds r1, r5, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- bne _08087CF8
- ldrb r0, [r6, 0x19]
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- b _08087D0A
- .pool
-_08087CF8:
- ldrb r0, [r6, 0x19]
- bl get_go_image_anim_num
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnimIfDifferent
-_08087D0A:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80979D4
- ldrb r0, [r6]
- lsls r0, 29
- cmp r0, 0
- bge _08087D3C
- ldrh r0, [r5, 0x3C]
- movs r1, 0x4
- ands r1, r0
- lsls r1, 16
- adds r3, r5, 0
- adds r3, 0x3E
- lsrs r1, 18
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_08087D3C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087C8C
-
- .align 2, 0 @ Don't pad with nop.