summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_4.s10
-rw-r--r--asm/battle_5.s10
-rw-r--r--asm/battle_7.s4290
-rw-r--r--asm/battle_811DA74.s3678
-rw-r--r--asm/battle_anim_81258BC.s2
-rw-r--r--asm/battle_anim_8137220.s6
-rw-r--r--asm/battle_tower.s4
-rw-r--r--asm/berry_blender.s8
-rw-r--r--asm/cable_car.s4
-rw-r--r--asm/choose_party.s12
-rw-r--r--asm/contest.s6
-rw-r--r--asm/contest_link_80C2020.s2
-rw-r--r--asm/daycare.s4
-rw-r--r--asm/decoration.s7033
-rw-r--r--asm/decoration_inventory.s404
-rw-r--r--asm/easy_chat.s6
-rw-r--r--asm/egg_hatch.s8
-rw-r--r--asm/evolution_scene.s16
-rw-r--r--asm/field_effect.s7738
-rw-r--r--asm/field_fadetransition.s28
-rw-r--r--asm/field_map_obj.s5978
-rw-r--r--asm/field_specials.s4
-rw-r--r--asm/fldeff_80C5CD4.s12
-rw-r--r--asm/fldeff_flash.s4
-rw-r--r--asm/item_menu.s34
-rw-r--r--asm/learn_move.s4
-rw-r--r--asm/mauville_old_man.s2
-rw-r--r--asm/menu_helpers.s18
-rw-r--r--asm/mon_markings.s4
-rw-r--r--asm/mystery_event_script.s4
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/player_pc.s1298
-rw-r--r--asm/pokeblock.s18
-rw-r--r--asm/pokedex.s5294
-rw-r--r--asm/pokemon_menu.s40
-rw-r--r--asm/pokemon_storage_system.s10
-rw-r--r--asm/rom_8094928.s411
-rw-r--r--asm/roulette.s8
-rw-r--r--asm/secret_base.s18
-rw-r--r--asm/shop.s16
-rw-r--r--asm/trade.s14
-rw-r--r--asm/trader.s6
-rw-r--r--asm/tv.s1822
43 files changed, 174 insertions, 38116 deletions
diff --git a/asm/battle_4.s b/asm/battle_4.s
index 0581d1e7d..bbdeb1c6e 100644
--- a/asm/battle_4.s
+++ b/asm/battle_4.s
@@ -13392,7 +13392,7 @@ sub_8022784: @ 8022784
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
_080227D0:
ldr r2, _08022824 @ =gUnknown_02024C0C
ldr r1, _08022828 @ =gBitTable
@@ -15716,7 +15716,7 @@ sub_8023AD8: @ 8023AD8
movs r2, 0x1D
movs r3, 0xD
bl sub_802BBD4
- bl sub_814A7FC
+ bl DestroyMenuCursor
add sp, 0x4
pop {r0}
bx r0
@@ -31340,7 +31340,7 @@ _0802B73C:
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
- bl sub_8090D90
+ bl GetNationalPokedexFlag
lsls r0, 24
movs r4, 0xA
cmp r0, 0
@@ -31657,7 +31657,7 @@ sub_802B9E0: @ 802B9E0
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
- bl sub_8090D90
+ bl GetNationalPokedexFlag
lsls r0, 24
cmp r0, 0
beq _0802BA2C
@@ -31688,7 +31688,7 @@ _0802BA2C:
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
ldrb r0, [r6]
adds r2, r0, 0
muls r2, r5
diff --git a/asm/battle_5.s b/asm/battle_5.s
index 01541c120..7c3f005ff 100644
--- a/asm/battle_5.s
+++ b/asm/battle_5.s
@@ -190,7 +190,7 @@ sub_802C098: @ 802C098
beq _0802C13E
movs r0, 0x5
bl PlaySE
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r1, _0802C108 @ =gUnknown_02024E60
ldrb r0, [r4]
adds r0, r1
@@ -398,7 +398,7 @@ _0802C278:
movs r2, 0
bl dp01_build_cmdbuf_x21_a_bb
bl dp01_tbl1_exec_completed
- bl sub_814A7FC
+ bl DestroyMenuCursor
b _0802C2AC
.align 2, 0
_0802C294: .4byte gBattleTypeFlags
@@ -484,7 +484,7 @@ _0802C32E:
ands r0, r1
cmp r0, 0
beq _0802C3A8
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x5
bl PlaySE
ldr r2, _0802C394 @ =gSprites
@@ -1028,7 +1028,7 @@ _0802C7B2:
cmp r0, 0
bne _0802C7DC
_0802C7B8:
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r1, _0802C7D0 @ =gUnknown_02024E64
ldr r0, _0802C7D8 @ =gUnknown_02024A60
ldrb r0, [r0]
@@ -1112,7 +1112,7 @@ _0802C864:
ands r0, r1
cmp r0, 0
beq _0802C8A4
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x5
bl PlaySE
ldr r0, _0802C898 @ =gUnknown_030042A4
diff --git a/asm/battle_7.s b/asm/battle_7.s
deleted file mode 100644
index 593a5bbb1..000000000
--- a/asm/battle_7.s
+++ /dev/null
@@ -1,4290 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80312F0
-sub_80312F0: @ 80312F0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _08031334 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r5, r1, 2
- adds r3, r5, r7
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r4, [r0]
- lsls r0, r4, 26
- cmp r0, 0
- bge _08031354
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _08031354
- adds r1, r3, 0
- adds r1, 0x2C
- ldrb r2, [r1]
- lsls r0, r2, 25
- cmp r0, 0
- bge _08031338
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _08031354
- .align 2, 0
-_08031334: .4byte gSprites
-_08031338:
- lsls r0, r4, 27
- cmp r0, 0
- bge _08031354
- adds r0, r7, 0
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, _0803135C @ =sub_80105DC
- str r1, [r0]
- adds r0, r3, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r0, _08031360 @ =SpriteCallbackDummy
- str r0, [r6, 0x1C]
-_08031354:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803135C: .4byte sub_80105DC
-_08031360: .4byte SpriteCallbackDummy
- thumb_func_end sub_80312F0
-
- thumb_func_start unref_sub_8031364
-unref_sub_8031364: @ 8031364
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r3]
- ldr r0, _08031388 @ =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- cmp r1, 0
- bne _0803138C
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _08031394
- .align 2, 0
-_08031388: .4byte SpriteCallbackDummy
-_0803138C:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08031394:
- adds r0, r4, 0
- bl AnimateSprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8031364
-
- thumb_func_start sub_80313A0
-sub_80313A0: @ 80313A0
- push {lr}
- adds r2, r0, 0
- ldr r0, _080313C8 @ =gUnknown_02024DE8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080313C2
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080313C2
- ldr r0, _080313CC @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080313C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080313C8: .4byte gUnknown_02024DE8
-_080313CC: .4byte SpriteCallbackDummy
- thumb_func_end sub_80313A0
-
- thumb_func_start move_anim_start_t2_for_situation
-move_anim_start_t2_for_situation: @ 80313D0
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- ldr r5, _08031400 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- ldr r6, _08031404 @ =0x02017810
- adds r1, r6
- ldrb r2, [r1]
- movs r3, 0x10
- orrs r2, r3
- strb r2, [r1]
- cmp r0, 0
- bne _0803144C
- cmp r4, 0x20
- bne _08031408
- ldrb r0, [r5]
- movs r1, 0x6
- bl move_anim_start_t2
- b _080314C2
- .align 2, 0
-_08031400: .4byte gUnknown_02024A60
-_08031404: .4byte 0x02017810
-_08031408:
- cmp r4, 0x8
- beq _08031414
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _0803141E
-_08031414:
- ldrb r0, [r5]
- movs r1, 0
- bl move_anim_start_t2
- b _080314C2
-_0803141E:
- cmp r4, 0x10
- bne _0803142C
- ldrb r0, [r5]
- movs r1, 0x2
- bl move_anim_start_t2
- b _080314C2
-_0803142C:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _0803143E
- ldrb r0, [r5]
- movs r1, 0x4
- bl move_anim_start_t2
- b _080314C2
-_0803143E:
- cmp r4, 0x40
- bne _080314AE
- ldrb r0, [r5]
- movs r1, 0x5
- bl move_anim_start_t2
- b _080314C2
-_0803144C:
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r4
- cmp r0, 0
- beq _08031460
- ldrb r0, [r5]
- movs r1, 0x3
- bl move_anim_start_t2
- b _080314C2
-_08031460:
- movs r0, 0x7
- ands r0, r4
- cmp r0, 0
- beq _08031472
- ldrb r0, [r5]
- movs r1, 0x1
- bl move_anim_start_t2
- b _080314C2
-_08031472:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r4
- cmp r0, 0
- beq _08031486
- ldrb r0, [r5]
- movs r1, 0x7
- bl move_anim_start_t2
- b _080314C2
-_08031486:
- movs r0, 0x80
- lsls r0, 20
- ands r0, r4
- cmp r0, 0
- beq _0803149A
- ldrb r0, [r5]
- movs r1, 0x8
- bl move_anim_start_t2
- b _080314C2
-_0803149A:
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r4
- cmp r0, 0
- beq _080314AE
- ldrb r0, [r5]
- movs r1, 0x9
- bl move_anim_start_t2
- b _080314C2
-_080314AE:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_080314C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end move_anim_start_t2_for_situation
-
- thumb_func_start move_anim_start_t3
-move_anim_start_t3: @ 80314C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r4, 16
- lsrs r7, r4, 16
- cmp r5, 0
- bne _0803150C
- movs r0, 0x80
- ands r0, r7
- cmp r0, 0
- beq _0803150C
- ldr r0, _08031508 @ =gBattleMonForms
- adds r0, r6, r0
- movs r2, 0x7F
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1
- b _080315C2
- .align 2, 0
-_08031508: .4byte gBattleMonForms
-_0803150C:
- lsls r1, r6, 2
- ldr r0, _08031530 @ =0x02017800
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x4
- mov r8, r0
- ands r0, r1
- cmp r0, 0
- beq _08031578
- adds r0, r5, 0
- bl sub_803163C
- lsls r0, 24
- cmp r0, 0
- bne _08031534
- movs r0, 0x1
- b _080315C2
- .align 2, 0
-_08031530: .4byte 0x02017800
-_08031534:
- ldrb r1, [r4]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _08031578
- cmp r5, 0x2
- bne _08031578
- ldr r1, _08031570 @ =gSprites
- ldr r0, _08031574 @ =gUnknown_02024BE0
- adds r0, r6, r0
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08031578
- adds r0, r6, 0
- movs r1, 0x1
- bl refresh_graphics_maybe
- adds r0, r6, 0
- bl sub_80324E0
- movs r0, 0x1
- b _080315C2
- .align 2, 0
-_08031570: .4byte gSprites
-_08031574: .4byte gUnknown_02024BE0
-_08031578:
- ldr r0, _080315D0 @ =gBattleAnimPlayerMonIndex
- mov r1, r9
- strb r1, [r0]
- ldr r0, _080315D4 @ =gBattleAnimEnemyMonIndex
- mov r1, r10
- strb r1, [r0]
- ldr r4, _080315D8 @ =0x02017840
- strh r7, [r4]
- ldr r0, _080315DC @ =gBattleAnims_Unknown1
- adds r1, r5, 0
- movs r2, 0
- bl DoMoveAnim
- ldr r0, _080315E0 @ =sub_80315E8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080315E4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0x8]
- movs r0, 0x8
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- subs r4, 0x30
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
-_080315C2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080315D0: .4byte gBattleAnimPlayerMonIndex
-_080315D4: .4byte gBattleAnimEnemyMonIndex
-_080315D8: .4byte 0x02017840
-_080315DC: .4byte gBattleAnims_Unknown1
-_080315E0: .4byte sub_80315E8
-_080315E4: .4byte gTasks
- thumb_func_end move_anim_start_t3
-
- thumb_func_start sub_80315E8
-sub_80315E8: @ 80315E8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0803162C @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08031630 @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08031626
- ldr r1, _08031634 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _08031638 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_08031626:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803162C: .4byte gAnimScriptCallback
-_08031630: .4byte gAnimScriptActive
-_08031634: .4byte gTasks
-_08031638: .4byte 0x02017810
- thumb_func_end sub_80315E8
-
- thumb_func_start sub_803163C
-sub_803163C: @ 803163C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bgt _08031650
- cmp r0, 0xA
- bge _08031654
- cmp r0, 0x2
- beq _08031654
- b _08031658
-_08031650:
- cmp r0, 0x11
- bne _08031658
-_08031654:
- movs r0, 0x1
- b _0803165A
-_08031658:
- movs r0, 0
-_0803165A:
- pop {r1}
- bx r1
- thumb_func_end sub_803163C
-
- thumb_func_start move_anim_start_t4
-move_anim_start_t4: @ 8031660
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080316B4 @ =gBattleAnimPlayerMonIndex
- strb r1, [r0]
- ldr r0, _080316B8 @ =gBattleAnimEnemyMonIndex
- strb r2, [r0]
- ldr r0, _080316BC @ =gBattleAnims_Unknown2
- adds r1, r3, 0
- movs r2, 0
- bl DoMoveAnim
- ldr r0, _080316C0 @ =sub_80316CC
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080316C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- movs r0, 0x8
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080316C8 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080316B4: .4byte gBattleAnimPlayerMonIndex
-_080316B8: .4byte gBattleAnimEnemyMonIndex
-_080316BC: .4byte gBattleAnims_Unknown2
-_080316C0: .4byte sub_80316CC
-_080316C4: .4byte gTasks
-_080316C8: .4byte 0x02017810
- thumb_func_end move_anim_start_t4
-
- thumb_func_start sub_80316CC
-sub_80316CC: @ 80316CC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08031710 @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08031714 @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803170A
- ldr r1, _08031718 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _0803171C @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0803170A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08031710: .4byte gAnimScriptCallback
-_08031714: .4byte gAnimScriptActive
-_08031718: .4byte gTasks
-_0803171C: .4byte 0x02017810
- thumb_func_end sub_80316CC
-
- thumb_func_start sub_8031720
-sub_8031720: @ 8031720
- movs r0, 0
- bx lr
- thumb_func_end sub_8031720
-
- thumb_func_start mplay_80342A4
-mplay_80342A4: @ 8031724
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08031764
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r2, _0803176C @ =0x02017810
- adds r1, r2
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
- ldr r0, _08031770 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1D
- bls _08031768
- ldr r0, _08031774 @ =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, _08031778 @ =gMPlay_SE2
- bl m4aMPlayStop
-_08031764:
- cmp r5, 0
- beq _0803177C
-_08031768:
- movs r0, 0x1
- b _0803178A
- .align 2, 0
-_0803176C: .4byte 0x02017810
-_08031770: .4byte gUnknown_02024A60
-_08031774: .4byte gMPlay_SE1
-_08031778: .4byte gMPlay_SE2
-_0803177C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, _08031790 @ =0x02017810
- adds r0, r1
- strb r5, [r0, 0x8]
- movs r0, 0
-_0803178A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08031790: .4byte 0x02017810
- thumb_func_end mplay_80342A4
-
- thumb_func_start sub_8031794
-sub_8031794: @ 8031794
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0xC]
- mov r0, r9
- lsls r1, r0, 2
- ldr r0, _080317D0 @ =0x02017800
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _080317D4
- mov r0, r8
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r7, [sp, 0xC]
- b _080317DC
- .align 2, 0
-_080317D0: .4byte 0x02017800
-_080317D4:
- ldrh r6, [r2, 0x2]
- ldr r0, _08031838 @ =gUnknown_02024E70
- adds r0, r1, r0
- ldr r7, [r0]
-_080317DC:
- mov r0, r8
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- mov r0, r9
- bl battle_get_per_side_status
- lsls r0, 24
- lsls r5, r6, 3
- ldr r1, _0803183C @ =gMonFrontPicTable
- adds r5, r1
- ldr r1, _08031840 @ =gMonFrontPicCoords
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08031844 @ =gUnknown_081FAF4C
- lsrs r0, 22
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- str r6, [sp, 0x4]
- str r7, [sp, 0x8]
- adds r0, r5, 0
- bl HandleLoadSpecialPokePic
- mov r1, r9
- lsls r2, r1, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r2, r0
- lsls r1, 2
- ldr r0, _08031848 @ =0x02017800
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- str r1, [sp, 0x10]
- adds r4, r2, 0
- cmp r0, 0
- bne _0803184C
- mov r0, r8
- bl pokemon_get_pal
- b _08031856
- .align 2, 0
-_08031838: .4byte gUnknown_02024E70
-_0803183C: .4byte gMonFrontPicTable
-_08031840: .4byte gMonFrontPicCoords
-_08031844: .4byte gUnknown_081FAF4C
-_08031848: .4byte 0x02017800
-_0803184C:
- adds r0, r6, 0
- mov r1, r10
- ldr r2, [sp, 0xC]
- bl species_and_otid_get_pal
-_08031856:
- adds r5, r0, 0
- ldr r1, _080318E0 @ =0x02000000
- mov r8, r1
- adds r0, r5, 0
- bl sub_800D238
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- adds r1, r4, 0
- adds r1, 0x80
- mov r0, r8
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080318E4 @ =SPECIES_CASTFORM
- cmp r6, r0
- bne _080318A2
- subs r0, 0x81
- adds r7, r4, r0
- movs r4, 0xB2
- lsls r4, 9
- add r4, r8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _080318E8 @ =gBattleMonForms
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r4
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_080318A2:
- movs r0, 0xBC
- lsls r0, 9
- add r0, r8
- ldr r1, [sp, 0x10]
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080318CE
- ldr r3, _080318EC @ =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, _080318F0 @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _080318F4 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _080318F8 @ =REG_BG0CNT
- bl CpuSet
-_080318CE:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080318E0: .4byte 0x02000000
-_080318E4: .4byte SPECIES_CASTFORM
-_080318E8: .4byte gBattleMonForms
-_080318EC: .4byte 0x00007fff
-_080318F0: .4byte gPlttBufferFaded
-_080318F4: .4byte gPlttBufferUnfaded
-_080318F8: .4byte REG_BG0CNT
- thumb_func_end sub_8031794
-
- thumb_func_start sub_80318FC
-sub_80318FC: @ 80318FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0xC]
- mov r0, r9
- lsls r1, r0, 2
- ldr r0, _08031938 @ =0x02017800
- adds r2, r1, r0
- ldrh r0, [r2, 0x2]
- cmp r0, 0
- bne _0803193C
- mov r0, r8
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r7, [sp, 0xC]
- b _08031944
- .align 2, 0
-_08031938: .4byte 0x02017800
-_0803193C:
- ldrh r6, [r2, 0x2]
- ldr r0, _080319A0 @ =gUnknown_02024E70
- adds r0, r1, r0
- ldr r7, [r0]
-_08031944:
- mov r0, r8
- movs r1, 0x1
- bl GetMonData
- mov r10, r0
- mov r0, r9
- bl battle_get_per_side_status
- lsls r0, 24
- lsls r5, r6, 3
- ldr r1, _080319A4 @ =gMonBackPicTable
- adds r5, r1
- ldr r1, _080319A8 @ =gMonBackPicCoords
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080319AC @ =gUnknown_081FAF4C
- lsrs r0, 22
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- str r6, [sp, 0x4]
- str r7, [sp, 0x8]
- adds r0, r5, 0
- bl HandleLoadSpecialPokePic
- mov r1, r9
- lsls r2, r1, 4
- movs r0, 0x80
- lsls r0, 1
- adds r7, r2, r0
- lsls r1, 2
- ldr r0, _080319B0 @ =0x02017800
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- str r1, [sp, 0x10]
- adds r4, r2, 0
- cmp r0, 0
- bne _080319B4
- mov r0, r8
- bl pokemon_get_pal
- b _080319BE
- .align 2, 0
-_080319A0: .4byte gUnknown_02024E70
-_080319A4: .4byte gMonBackPicTable
-_080319A8: .4byte gMonBackPicCoords
-_080319AC: .4byte gUnknown_081FAF4C
-_080319B0: .4byte 0x02017800
-_080319B4:
- adds r0, r6, 0
- mov r1, r10
- ldr r2, [sp, 0xC]
- bl species_and_otid_get_pal
-_080319BE:
- adds r5, r0, 0
- ldr r1, _08031A48 @ =0x02000000
- mov r8, r1
- adds r0, r5, 0
- bl sub_800D238
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
- adds r1, r4, 0
- adds r1, 0x80
- mov r0, r8
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08031A4C @ =SPECIES_CASTFORM
- cmp r6, r0
- bne _08031A0A
- subs r0, 0x81
- adds r7, r4, r0
- movs r4, 0xB2
- lsls r4, 9
- add r4, r8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _08031A50 @ =gBattleMonForms
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r4
- adds r1, r7, 0
- movs r2, 0x20
- bl LoadPalette
-_08031A0A:
- movs r0, 0xBC
- lsls r0, 9
- add r0, r8
- ldr r1, [sp, 0x10]
- adds r0, r1, r0
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _08031A36
- ldr r3, _08031A54 @ =0x00007fff
- adds r0, r7, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r7, 1
- ldr r0, _08031A58 @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08031A5C @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _08031A60 @ =REG_BG0CNT
- bl CpuSet
-_08031A36:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031A48: .4byte 0x02000000
-_08031A4C: .4byte SPECIES_CASTFORM
-_08031A50: .4byte gBattleMonForms
-_08031A54: .4byte 0x00007fff
-_08031A58: .4byte gPlttBufferFaded
-_08031A5C: .4byte gPlttBufferUnfaded
-_08031A60: .4byte REG_BG0CNT
- thumb_func_end sub_80318FC
-
- thumb_func_start unref_sub_8031A64
-unref_sub_8031A64: @ 8031A64
- bx lr
- thumb_func_end unref_sub_8031A64
-
- thumb_func_start nullsub_9
-nullsub_9: @ 8031A68
- bx lr
- thumb_func_end nullsub_9
-
- thumb_func_start sub_8031A6C
-sub_8031A6C: @ 8031A6C
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- bl battle_get_per_side_status
- lsls r0, 24
- lsls r6, r4, 3
- ldr r5, _08031ADC @ =gTrainerFrontPicTable
- adds r5, r6, r5
- ldr r1, _08031AE0 @ =gTrainerFrontPicCoords
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08031AE4 @ =gUnknown_081FAF4C
- lsrs r0, 22
- adds r0, r4
- ldr r4, [r0]
- str r4, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- bl DecompressPicFromTable_2
- str r4, [sp, 0x8]
- ldrh r2, [r5, 0x4]
- ldr r0, _08031AE8 @ =0xffff0000
- ldr r1, [sp, 0xC]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0xC]
- ldrh r2, [r5, 0x6]
- lsls r2, 16
- ldr r0, _08031AEC @ =0x0000ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- add r0, sp, 0x8
- bl LoadCompressedObjectPic
- ldr r0, _08031AF0 @ =gTrainerFrontPicPaletteTable
- adds r6, r0
- adds r0, r6, 0
- bl LoadCompressedObjectPalette
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08031ADC: .4byte gTrainerFrontPicTable
-_08031AE0: .4byte gTrainerFrontPicCoords
-_08031AE4: .4byte gUnknown_081FAF4C
-_08031AE8: .4byte 0xffff0000
-_08031AEC: .4byte 0x0000ffff
-_08031AF0: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end sub_8031A6C
-
- thumb_func_start sub_8031AF4
-sub_8031AF4: @ 8031AF4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- lsls r1, r4, 3
- mov r8, r1
- ldr r6, _08031B60 @ =gTrainerBackPicTable
- add r6, r8
- ldr r1, _08031B64 @ =gTrainerBackPicCoords
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08031B68 @ =gUnknown_081FAF4C
- lsrs r0, 22
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl DecompressPicFromTable_2
- ldr r0, _08031B6C @ =gTrainerBackPicPaletteTable
- add r8, r0
- mov r1, r8
- ldr r0, [r1]
- lsls r5, 20
- movs r1, 0x80
- lsls r1, 17
- adds r5, r1
- lsrs r5, 16
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08031B60: .4byte gTrainerBackPicTable
-_08031B64: .4byte gTrainerBackPicCoords
-_08031B68: .4byte gUnknown_081FAF4C
-_08031B6C: .4byte gTrainerBackPicPaletteTable
- thumb_func_end sub_8031AF4
-
- thumb_func_start nullsub_10
-nullsub_10: @ 8031B70
- bx lr
- thumb_func_end nullsub_10
-
- thumb_func_start sub_8031B74
-sub_8031B74: @ 8031B74
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, _08031B98 @ =gTrainerFrontPicPaletteTable
- lsrs r4, 13
- adds r0, r4, r0
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- ldr r0, _08031B9C @ =gTrainerFrontPicTable
- adds r4, r0
- ldrh r0, [r4, 0x6]
- bl FreeSpriteTilesByTag
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08031B98: .4byte gTrainerFrontPicPaletteTable
-_08031B9C: .4byte gTrainerFrontPicTable
- thumb_func_end sub_8031B74
-
- thumb_func_start unref_sub_8031BA0
-unref_sub_8031BA0: @ 8031BA0
- push {r4-r7,lr}
- ldr r4, _08031BCC @ =gUnknown_0820A4D4
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08031BD8
- ldr r0, _08031BD0 @ =gUnknown_0820A47C
- bl LoadCompressedObjectPic
- ldr r0, _08031BD4 @ =gUnknown_0820A484
- bl LoadCompressedObjectPic
- movs r5, 0x2
- b _08031BFA
- .align 2, 0
-_08031BCC: .4byte gUnknown_0820A4D4
-_08031BD0: .4byte gUnknown_0820A47C
-_08031BD4: .4byte gUnknown_0820A484
-_08031BD8:
- ldr r4, _08031C20 @ =gUnknown_0820A48C
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- ldr r4, _08031C24 @ =gUnknown_0820A49C
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadCompressedObjectPic
- movs r5, 0x4
-_08031BFA:
- movs r4, 0
- cmp r4, r5
- bcs _08031C1A
- ldr r7, _08031C28 @ =gUnknown_02024A72
- ldr r6, _08031C2C @ =gUnknown_0820A4B4
-_08031C04:
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r6
- bl LoadCompressedObjectPic
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08031C04
-_08031C1A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031C20: .4byte gUnknown_0820A48C
-_08031C24: .4byte gUnknown_0820A49C
-_08031C28: .4byte gUnknown_02024A72
-_08031C2C: .4byte gUnknown_0820A4B4
- thumb_func_end unref_sub_8031BA0
-
- thumb_func_start sub_8031C30
-sub_8031C30: @ 8031C30
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r6, 0
- cmp r4, 0
- bne _08031C40
- b _08031D52
-_08031C40:
- cmp r4, 0x1
- bne _08031C5C
- ldr r4, _08031C58 @ =gUnknown_0820A4D4
- adds r0, r4, 0
- bl LoadSpritePalette
- adds r4, 0x8
- adds r0, r4, 0
- bl LoadSpritePalette
- b _08031D52
- .align 2, 0
-_08031C58: .4byte gUnknown_0820A4D4
-_08031C5C:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08031CC4
- cmp r4, 0x2
- bne _08031C94
- ldr r0, _08031C80 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08031C88
- ldr r0, _08031C84 @ =gUnknown_0820A4AC
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031C80: .4byte gBattleTypeFlags
-_08031C84: .4byte gUnknown_0820A4AC
-_08031C88:
- ldr r0, _08031C90 @ =gUnknown_0820A47C
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031C90: .4byte gUnknown_0820A47C
-_08031C94:
- cmp r4, 0x3
- bne _08031CA4
- ldr r0, _08031CA0 @ =gUnknown_0820A484
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031CA0: .4byte gUnknown_0820A484
-_08031CA4:
- cmp r4, 0x4
- bne _08031CB4
- ldr r0, _08031CB0 @ =gUnknown_02024A72
- ldrb r0, [r0]
- b _08031D3C
- .align 2, 0
-_08031CB0: .4byte gUnknown_02024A72
-_08031CB4:
- cmp r4, 0x5
- bne _08031D50
- ldr r0, _08031CC0 @ =gUnknown_02024A72
- ldrb r0, [r0, 0x1]
- b _08031D3C
- .align 2, 0
-_08031CC0: .4byte gUnknown_02024A72
-_08031CC4:
- cmp r4, 0x2
- bne _08031CD4
- ldr r0, _08031CD0 @ =gUnknown_0820A48C
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031CD0: .4byte gUnknown_0820A48C
-_08031CD4:
- cmp r4, 0x3
- bne _08031CE4
- ldr r0, _08031CE0 @ =gUnknown_0820A494
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031CE0: .4byte gUnknown_0820A494
-_08031CE4:
- cmp r4, 0x4
- bne _08031CF4
- ldr r0, _08031CF0 @ =gUnknown_0820A49C
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031CF0: .4byte gUnknown_0820A49C
-_08031CF4:
- cmp r4, 0x5
- bne _08031D04
- ldr r0, _08031D00 @ =gUnknown_0820A4A4
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031D00: .4byte gUnknown_0820A4A4
-_08031D04:
- cmp r4, 0x6
- bne _08031D14
- ldr r0, _08031D10 @ =gUnknown_02024A72
- ldrb r0, [r0]
- b _08031D3C
- .align 2, 0
-_08031D10: .4byte gUnknown_02024A72
-_08031D14:
- cmp r4, 0x7
- bne _08031D24
- ldr r0, _08031D20 @ =gUnknown_02024A72
- ldrb r0, [r0, 0x1]
- b _08031D3C
- .align 2, 0
-_08031D20: .4byte gUnknown_02024A72
-_08031D24:
- cmp r4, 0x8
- bne _08031D34
- ldr r0, _08031D30 @ =gUnknown_02024A72
- ldrb r0, [r0, 0x2]
- b _08031D3C
- .align 2, 0
-_08031D30: .4byte gUnknown_02024A72
-_08031D34:
- cmp r5, 0x9
- bne _08031D50
- ldr r0, _08031D48 @ =gUnknown_02024A72
- ldrb r0, [r0, 0x3]
-_08031D3C:
- lsls r0, 3
- ldr r1, _08031D4C @ =gUnknown_0820A4B4
- adds r0, r1
- bl LoadCompressedObjectPic
- b _08031D52
- .align 2, 0
-_08031D48: .4byte gUnknown_02024A72
-_08031D4C: .4byte gUnknown_0820A4B4
-_08031D50:
- movs r6, 0x1
-_08031D52:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8031C30
-
- thumb_func_start load_gfxc_health_bar
-load_gfxc_health_bar: @ 8031D5C
- push {lr}
- ldr r0, _08031D6C @ =gUnknown_08D09C48
- movs r1, 0x80
- lsls r1, 18
- bl sub_800D238
- pop {r0}
- bx r0
- .align 2, 0
-_08031D6C: .4byte gUnknown_08D09C48
- thumb_func_end load_gfxc_health_bar
-
- thumb_func_start battle_load_something
-battle_load_something: @ 8031D70
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0x6
- bls _08031D80
- b _08031EDE
-_08031D80:
- lsls r0, 2
- ldr r1, _08031D8C @ =_08031D90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031D8C: .4byte _08031D90
- .align 2, 0
-_08031D90:
- .4byte _08031DAC
- .4byte _08031DB2
- .4byte _08031EBC
- .4byte _08031DC8
- .4byte _08031DF8
- .4byte _08031E34
- .4byte _08031ED4
-_08031DAC:
- bl sub_8031F0C
- b _08031EBC
-_08031DB2:
- ldrb r0, [r4]
- bl sub_8031C30
- lsls r0, 24
- cmp r0, 0
- beq _08031DC0
- b _08031EB8
-_08031DC0:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08031EDE
-_08031DC8:
- ldr r0, _08031DE0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08031DE4
- ldrb r0, [r4]
- cmp r0, 0
- bne _08031DE4
- bl battle_make_oam_safari_battle
- b _08031DEA
- .align 2, 0
-_08031DE0: .4byte gBattleTypeFlags
-_08031DE4:
- ldrb r0, [r4]
- bl battle_make_oam_normal_battle
-_08031DEA:
- ldr r2, _08031DF4 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- b _08031EA6
- .align 2, 0
-_08031DF4: .4byte gUnknown_03004340
-_08031DF8:
- ldrb r0, [r4]
- bl sub_8043F44
- ldr r0, _08031E18 @ =gUnknown_02024A72
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _08031E20
- ldr r0, _08031E1C @ =gUnknown_03004340
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0
- bl nullsub_11
- b _08031EA6
- .align 2, 0
-_08031E18: .4byte gUnknown_02024A72
-_08031E1C: .4byte gUnknown_03004340
-_08031E20:
- ldr r0, _08031E30 @ =gUnknown_03004340
- adds r0, r1, r0
- ldrb r0, [r0]
- movs r1, 0x1
- bl nullsub_11
- b _08031EA6
- .align 2, 0
-_08031E30: .4byte gUnknown_03004340
-_08031E34:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08031E7C
- ldr r0, _08031E6C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08031E9A
- ldr r0, _08031E70 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08031E74 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _08031E78 @ =gPlayerParty
- adds r1, r2
- movs r2, 0
- bl sub_8045A5C
- b _08031E9A
- .align 2, 0
-_08031E6C: .4byte gBattleTypeFlags
-_08031E70: .4byte gUnknown_03004340
-_08031E74: .4byte gUnknown_02024A6A
-_08031E78: .4byte gPlayerParty
-_08031E7C:
- ldr r0, _08031EC4 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08031EC8 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _08031ECC @ =gEnemyParty
- adds r1, r2
- movs r2, 0
- bl sub_8045A5C
-_08031E9A:
- ldr r1, _08031EC4 @ =gUnknown_03004340
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
-_08031EA6:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08031ED0 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08031EDE
-_08031EB8:
- movs r0, 0
- strb r0, [r4]
-_08031EBC:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08031EDE
- .align 2, 0
-_08031EC4: .4byte gUnknown_03004340
-_08031EC8: .4byte gUnknown_02024A6A
-_08031ECC: .4byte gEnemyParty
-_08031ED0: .4byte gUnknown_02024A68
-_08031ED4:
- bl sub_80327CC
- bl sub_8094958
- movs r6, 0x1
-_08031EDE:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end battle_load_something
-
- thumb_func_start sub_8031EE8
-sub_8031EE8: @ 8031EE8
- push {r4,lr}
- ldr r4, _08031F08 @ =0x02017810
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- adds r4, 0x30
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08031F08: .4byte 0x02017810
- thumb_func_end sub_8031EE8
-
- thumb_func_start sub_8031F0C
-sub_8031F0C: @ 8031F0C
- push {lr}
- bl sub_8031EE8
- ldr r0, _08031F20 @ =0x02017800
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .align 2, 0
-_08031F20: .4byte 0x02017800
- thumb_func_end sub_8031F0C
-
- thumb_func_start sub_8031F24
-sub_8031F24: @ 8031F24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r5, _08031F78 @ =gUnknown_02024A68
- ldrb r0, [r5]
- cmp r4, r0
- bge _08031F6E
- ldr r0, _08031F7C @ =gSprites
- mov r8, r0
- movs r7, 0x1
- movs r0, 0x2
- negs r0, r0
- mov r12, r0
- ldr r6, _08031F80 @ =gUnknown_02024BE0
- ldr r3, _08031F84 @ =0x02017800
-_08031F44:
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- ands r1, r7
- ldrb r2, [r3]
- mov r0, r12
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r3, 0x4
- adds r4, 0x1
- ldrb r0, [r5]
- cmp r4, r0
- blt _08031F44
-_08031F6E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031F78: .4byte gUnknown_02024A68
-_08031F7C: .4byte gSprites
-_08031F80: .4byte gUnknown_02024BE0
-_08031F84: .4byte 0x02017800
- thumb_func_end sub_8031F24
-
- thumb_func_start sub_8031F88
-sub_8031F88: @ 8031F88
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 2
- ldr r1, _08031FB8 @ =0x02017800
- adds r3, r1
- ldr r2, _08031FBC @ =gSprites
- ldr r1, _08031FC0 @ =gUnknown_02024BE0
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bx lr
- .align 2, 0
-_08031FB8: .4byte 0x02017800
-_08031FBC: .4byte gSprites
-_08031FC0: .4byte gUnknown_02024BE0
- thumb_func_end sub_8031F88
-
- thumb_func_start sub_8031FC4
-sub_8031FC4: @ 8031FC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- lsls r2, 24
- cmp r2, 0
- beq _08032088
- ldr r0, _08032064 @ =gUnknown_02024BE0
- mov r1, r8
- adds r6, r1, r0
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r7, _08032068 @ =gSprites
- adds r0, r7
- ldr r4, _0803206C @ =0x02017840
- ldrb r1, [r4]
- bl StartSpriteAnim
- mov r2, r8
- lsls r0, r2, 20
- movs r5, 0x80
- lsls r5, 17
- adds r0, r5
- lsrs r5, r0, 16
- ldrh r0, [r4]
- lsls r0, 5
- ldr r2, _08032070 @ =0xffffebc0
- adds r1, r4, r2
- adds r0, r1
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08032074 @ =gBattleMonForms
- add r0, r8
- ldrh r1, [r4]
- strb r1, [r0]
- mov r1, r8
- lsls r0, r1, 2
- subs r4, 0x40
- adds r0, r4
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0803204C
- ldr r3, _08032078 @ =0x00007fff
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r5, 1
- ldr r0, _0803207C @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08032080 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _08032084 @ =REG_BG0CNT
- bl CpuSet
-_0803204C:
- mov r0, r8
- bl sub_8077F68
- ldrb r2, [r6]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r7
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- b _080322F6
- .align 2, 0
-_08032064: .4byte gUnknown_02024BE0
-_08032068: .4byte gSprites
-_0803206C: .4byte 0x02017840
-_08032070: .4byte 0xffffebc0
-_08032074: .4byte gBattleMonForms
-_08032078: .4byte 0x00007fff
-_0803207C: .4byte gPlttBufferFaded
-_08032080: .4byte gPlttBufferUnfaded
-_08032084: .4byte REG_BG0CNT
-_08032088:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _080320D0
- movs r2, 0
- mov r10, r2
- ldr r5, _080320C0 @ =0x02019348
- ldrh r7, [r5, 0x2]
- ldr r4, [r5, 0x8]
- mov r9, r4
- ldr r6, [r5, 0xC]
- lsls r0, r7, 3
- ldr r1, _080320C4 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _080320C8 @ =gMonBackPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080320CC @ =gUnknown_081FAF4C
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, [r5, 0x10]
- b _08032184
- .align 2, 0
-_080320C0: .4byte 0x02019348
-_080320C4: .4byte gMonBackPicTable
-_080320C8: .4byte gMonBackPicCoords
-_080320CC: .4byte gUnknown_081FAF4C
-_080320D0:
- mov r0, r8
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp, 0xC]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08032104
- ldr r1, _080320FC @ =gUnknown_02024A6A
- ldr r5, [sp, 0xC]
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08032100 @ =gEnemyParty
- b _08032114
- .align 2, 0
-_080320FC: .4byte gUnknown_02024A6A
-_08032100: .4byte gEnemyParty
-_08032104:
- ldr r1, _0803218C @ =gUnknown_02024A6A
- ldr r2, [sp, 0xC]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08032190 @ =gPlayerParty
-_08032114:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- mov r0, r8
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080321A4
- ldr r0, _0803218C @ =gUnknown_02024A6A
- mov r5, r8
- lsls r4, r5, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _08032190 @ =gPlayerParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r6, r0, 0
- lsls r0, r7, 3
- ldr r1, _08032194 @ =gMonBackPicTable
- adds r0, r1
- ldr r1, _08032198 @ =gMonBackPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _0803219C @ =gUnknown_081FAF4C
- mov r12, r4
- mov r5, r10
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _080321A0 @ =gUnknown_02024E70
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
-_08032184:
- str r4, [sp, 0x8]
- bl HandleLoadSpecialPokePic
- b _08032202
- .align 2, 0
-_0803218C: .4byte gUnknown_02024A6A
-_08032190: .4byte gPlayerParty
-_08032194: .4byte gMonBackPicTable
-_08032198: .4byte gMonBackPicCoords
-_0803219C: .4byte gUnknown_081FAF4C
-_080321A0: .4byte gUnknown_02024E70
-_080321A4:
- ldr r0, _08032308 @ =gUnknown_02024A6A
- mov r1, r8
- lsls r4, r1, 1
- adds r4, r0
- ldrh r0, [r4]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _0803230C @ =gEnemyParty
- adds r0, r5
- movs r1, 0
- bl GetMonData
- mov r9, r0
- ldrh r0, [r4]
- muls r0, r6
- adds r0, r5
- movs r1, 0x1
- bl GetMonData
- adds r6, r0, 0
- lsls r0, r7, 3
- ldr r1, _08032310 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08032314 @ =gMonFrontPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08032318 @ =gUnknown_081FAF4C
- mov r12, r4
- mov r5, r10
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _0803231C @ =gUnknown_02024E70
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp, 0x8]
- bl HandleLoadSpecialPokePic
-_08032202:
- ldr r1, _08032318 @ =gUnknown_081FAF4C
- mov r2, r10
- lsls r0, r2, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r0, _08032320 @ =gUnknown_02024BE0
- add r0, r8
- mov r10, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08032324 @ =gSprites
- adds r0, r4
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r1, _08032328 @ =0x06010000
- adds r0, r1
- ldr r1, _0803232C @ =0x040000d4
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _08032330 @ =0x84000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r5, r8
- lsls r0, r5, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r5, r0, 16
- adds r0, r7, 0
- adds r1, r6, 0
- mov r2, r9
- bl species_and_otid_get_pal
- adds r6, r0, 0
- ldr r2, _08032334 @ =0x02000000
- mov r9, r2
- mov r1, r9
- bl sub_800D238
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08032338 @ =SPECIES_CASTFORM
- cmp r7, r0
- bne _08032288
- movs r4, 0xB2
- lsls r4, 9
- add r4, r9
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _0803233C @ =gBattleMonForms
- ldr r1, [sp, 0xC]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r4
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
-_08032288:
- ldr r3, _08032340 @ =0x00007fff
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x6
- bl BlendPalette
- lsls r1, r5, 1
- ldr r0, _08032344 @ =gPlttBufferFaded
- adds r0, r1, r0
- ldr r2, _08032348 @ =gPlttBufferUnfaded
- adds r1, r2
- ldr r2, _0803234C @ =REG_BG0CNT
- bl CpuSet
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _080322C8
- mov r2, r8
- lsls r0, r2, 2
- movs r1, 0xBC
- lsls r1, 9
- add r1, r9
- adds r0, r1
- strh r7, [r0, 0x2]
- ldr r0, _0803233C @ =gBattleMonForms
- adds r1, r2, r0
- ldr r4, [sp, 0xC]
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
-_080322C8:
- mov r0, r8
- bl sub_8077F68
- mov r5, r10
- ldrb r2, [r5]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _08032324 @ =gSprites
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x22]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0803233C @ =gBattleMonForms
- add r1, r8
- ldrb r1, [r1]
- bl StartSpriteAnim
-_080322F6:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032308: .4byte gUnknown_02024A6A
-_0803230C: .4byte gEnemyParty
-_08032310: .4byte gMonFrontPicTable
-_08032314: .4byte gMonFrontPicCoords
-_08032318: .4byte gUnknown_081FAF4C
-_0803231C: .4byte gUnknown_02024E70
-_08032320: .4byte gUnknown_02024BE0
-_08032324: .4byte gSprites
-_08032328: .4byte 0x06010000
-_0803232C: .4byte 0x040000d4
-_08032330: .4byte 0x84000200
-_08032334: .4byte 0x02000000
-_08032338: .4byte SPECIES_CASTFORM
-_0803233C: .4byte gBattleMonForms
-_08032340: .4byte 0x00007fff
-_08032344: .4byte gPlttBufferFaded
-_08032348: .4byte gPlttBufferUnfaded
-_0803234C: .4byte REG_BG0CNT
- thumb_func_end sub_8031FC4
-
- thumb_func_start sub_8032350
-sub_8032350: @ 8032350
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 24
- cmp r1, 0
- bne _08032408
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _0803236C
- movs r4, 0
- b _08032376
-_0803236C:
- adds r0, r4, 0
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r4, r0, 24
-_08032376:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08032388
- ldr r0, _08032384 @ =gSubstituteDollTilemap
- b _08032396
- .align 2, 0
-_08032384: .4byte gSubstituteDollTilemap
-_08032388:
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080323AC
- ldr r0, _080323A4 @ =gSubstituteDollGfx
-_08032396:
- ldr r1, _080323A8 @ =gUnknown_081FAF4C
- lsls r4, 2
- adds r1, r4, r1
- ldr r1, [r1]
- bl LZDecompressVram
- b _080323BA
- .align 2, 0
-_080323A4: .4byte gSubstituteDollGfx
-_080323A8: .4byte gUnknown_081FAF4C
-_080323AC:
- ldr r0, _080323F4 @ =gSubstituteDollTilemap
- ldr r1, _080323F8 @ =gUnknown_081FAF4C
- lsls r4, 2
- adds r1, r4, r1
- ldr r1, [r1]
- bl LZDecompressVram
-_080323BA:
- lsls r7, r5, 4
- ldr r0, _080323FC @ =gSubstituteDollPal
- mov r12, r0
- ldr r0, _080323F8 @ =gUnknown_081FAF4C
- adds r0, r4, r0
- ldr r4, [r0]
- ldr r3, _08032400 @ =0x040000d4
- ldr r6, _08032404 @ =0x84000200
- movs r0, 0x80
- lsls r0, 4
- adds r2, r4, r0
- adds r5, r0, 0
- movs r1, 0x2
-_080323D4:
- str r4, [r3]
- str r2, [r3, 0x4]
- str r6, [r3, 0x8]
- ldr r0, [r3, 0x8]
- adds r2, r5
- subs r1, 0x1
- cmp r1, 0
- bge _080323D4
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, r0
- mov r0, r12
- movs r2, 0x20
- bl LoadCompressedPalette
- b _08032456
- .align 2, 0
-_080323F4: .4byte gSubstituteDollTilemap
-_080323F8: .4byte gUnknown_081FAF4C
-_080323FC: .4byte gSubstituteDollPal
-_08032400: .4byte 0x040000d4
-_08032404: .4byte 0x84000200
-_08032408:
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- bne _08032456
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _08032440
- ldr r1, _08032438 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0803243C @ =gEnemyParty
- adds r0, r1
- adds r1, r4, 0
- bl sub_8031794
- b _08032456
- .align 2, 0
-_08032438: .4byte gUnknown_02024A6A
-_0803243C: .4byte gEnemyParty
-_08032440:
- ldr r1, _0803245C @ =gUnknown_02024A6A
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08032460 @ =gPlayerParty
- adds r0, r1
- adds r1, r5, 0
- bl sub_80318FC
-_08032456:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803245C: .4byte gUnknown_02024A6A
-_08032460: .4byte gPlayerParty
- thumb_func_end sub_8032350
-
- thumb_func_start refresh_graphics_maybe
-refresh_graphics_maybe: @ 8032464
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8032350
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _080324A0 @ =gSprites
- adds r4, r0, r1
- ldr r0, _080324A4 @ =gBattleMonForms
- adds r0, r6, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- bne _080324A8
- adds r0, r6, 0
- bl sub_8077F7C
- b _080324AE
- .align 2, 0
-_080324A0: .4byte gSprites
-_080324A4: .4byte gBattleMonForms
-_080324A8:
- adds r0, r6, 0
- bl sub_8077F68
-_080324AE:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end refresh_graphics_maybe
-
- thumb_func_start sub_80324BC
-sub_80324BC: @ 80324BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xA4
- bne _080324D8
- lsls r2, r0, 2
- ldr r0, _080324DC @ =0x02017800
- adds r2, r0
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080324D8:
- pop {r0}
- bx r0
- .align 2, 0
-_080324DC: .4byte 0x02017800
- thumb_func_end sub_80324BC
-
- thumb_func_start sub_80324E0
-sub_80324E0: @ 80324E0
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _080324F4 @ =0x02017800
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080324F4: .4byte 0x02017800
- thumb_func_end sub_80324E0
-
- thumb_func_start sub_80324F8
-sub_80324F8: @ 80324F8
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- adds r7, r6, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08032568
- lsls r0, r6, 2
- ldr r3, _08032564 @ =0x02017800
- adds r4, r0, r3
- ldrb r1, [r4]
- movs r5, 0x2
- movs r2, 0x2
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080325B2
- adds r0, r6, 0
- eors r0, r5
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0803255A
- movs r0, 0x5A
- bl PlaySE
-_0803255A:
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- b _080325B2
- .align 2, 0
-_08032564: .4byte 0x02017800
-_08032568:
- lsls r1, r6, 2
- ldr r4, _0803258C @ =0x02017800
- adds r1, r4
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- bne _08032590
- movs r0, 0x5A
- bl m4aSongNumStop
- b _080325B2
- .align 2, 0
-_0803258C: .4byte 0x02017800
-_08032590:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080325B2
- movs r0, 0x2
- eors r7, r0
- lsls r0, r7, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080325B2
- movs r0, 0x5A
- bl m4aSongNumStop
-_080325B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80324F8
-
- thumb_func_start sub_80325B8
-sub_80325B8: @ 80325B8
- push {r4-r6,lr}
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- ldr r6, _08032600 @ =0x02017800
- adds r1, r6
- ldrb r2, [r1]
- movs r5, 0x3
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080325F2
- movs r0, 0x2
- adds r1, r4, 0
- eors r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
-_080325F2:
- movs r0, 0x5A
- bl m4aSongNumStop
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032600: .4byte 0x02017800
- thumb_func_end sub_80325B8
-
- thumb_func_start unref_sub_8032604
-unref_sub_8032604: @ 8032604
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl GetHPBarLevel
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8032604
-
- thumb_func_start sub_8032638
-sub_8032638: @ 8032638
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080326DC @ =gMain
- ldr r1, _080326E0 @ =0x0000043d
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080326CE
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x2
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r5, _080326E4 @ =gUnknown_02024A6A
- mov r1, r8
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r9
- lsls r0, r1, 1
- adds r0, r5
- ldrb r0, [r0]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0x64
- adds r0, r4, 0
- muls r0, r7
- ldr r6, _080326E8 @ =gPlayerParty
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080326AA
- adds r0, r4, 0
- mov r1, r8
- bl sub_80324F8
-_080326AA:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080326CE
- adds r0, r5, 0
- muls r0, r7
- adds r4, r0, r6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080326CE
- adds r0, r4, 0
- mov r1, r9
- bl sub_80324F8
-_080326CE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080326DC: .4byte gMain
-_080326E0: .4byte 0x0000043d
-_080326E4: .4byte gUnknown_02024A6A
-_080326E8: .4byte gPlayerParty
- thumb_func_end sub_8032638
-
- thumb_func_start sub_80326EC
-sub_80326EC: @ 80326EC
- 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
- movs r5, 0
- ldr r0, _08032778 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- bge _080327B4
- movs r0, 0x3
- mov r10, r8
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r6, 0
- movs r2, 0x3F
- negs r2, r2
- mov r9, r2
-_08032718:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _080327A8
- ldr r4, _0803277C @ =gSprites
- ldr r0, _08032780 @ =gUnknown_02024BE0
- adds r3, r5, r0
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r7, 0x4
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- mov r2, r10
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r7, r8
- cmp r7, 0
- bne _08032788
- ldr r2, _08032784 @ =0x02017810
- adds r2, r6, r2
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r2, 0x6]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x3]
- mov r2, r9
- ands r1, r2
- strb r1, [r0, 0x3]
- b _080327A8
- .align 2, 0
-_08032778: .4byte gUnknown_02024A68
-_0803277C: .4byte gSprites
-_08032780: .4byte gUnknown_02024BE0
-_08032784: .4byte 0x02017810
-_08032788:
- ldrb r0, [r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldr r0, _080327C4 @ =0x02017810
- adds r0, r6, r0
- ldrb r1, [r0, 0x6]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r0, [r2, 0x3]
- mov r3, r9
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x3]
-_080327A8:
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, _080327C8 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- blt _08032718
-_080327B4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080327C4: .4byte 0x02017810
-_080327C8: .4byte gUnknown_02024A68
- thumb_func_end sub_80326EC
-
- thumb_func_start sub_80327CC
-sub_80327CC: @ 80327CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08032894 @ =gUnknown_081FAF24
- bl LoadCompressedObjectPic
- movs r0, 0x1
- bl battle_get_side_with_given_state
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08032898 @ =gSpriteTemplate_81FAF34
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8077ABC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0x80
- lsls r0, 14
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- ldr r6, _0803289C @ =0x02017810
- adds r1, r6
- strb r0, [r1, 0x7]
- ldr r7, _080328A0 @ =gSprites
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _0803288A
- movs r0, 0x3
- bl battle_get_side_with_given_state
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8077ABC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 8
- movs r0, 0x80
- lsls r0, 14
- adds r2, r0
- asrs r2, 16
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0xC8
- bl CreateSprite
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r6
- strb r0, [r1, 0x7]
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x2E]
-_0803288A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032894: .4byte gUnknown_081FAF24
-_08032898: .4byte gSpriteTemplate_81FAF34
-_0803289C: .4byte 0x02017810
-_080328A0: .4byte gSprites
- thumb_func_end sub_80327CC
-
- thumb_func_start sub_80328A4
-sub_80328A4: @ 80328A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080328E8 @ =gUnknown_02024BE0
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080328EC @ =gSprites
- adds r7, r0, r1
- adds r6, r7, 0
- adds r6, 0x3E
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080328E0
- adds r0, r4, 0
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- bne _080328F4
-_080328E0:
- ldr r0, _080328F0 @ =sub_8032978
- str r0, [r5, 0x1C]
- b _08032964
- .align 2, 0
-_080328E8: .4byte gUnknown_02024BE0
-_080328EC: .4byte gSprites
-_080328F0: .4byte sub_8032978
-_080328F4:
- ldr r0, _08032910 @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08032906
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08032918
-_08032906:
- movs r0, 0x1
- mov r8, r0
- lsls r4, 2
- ldr r6, _08032914 @ =0x02017800
- b _08032938
- .align 2, 0
-_08032910: .4byte gAnimScriptActive
-_08032914: .4byte 0x02017800
-_08032918:
- lsls r0, r4, 2
- ldr r1, _08032970 @ =0x02017800
- adds r3, r0, r1
- ldrh r2, [r3, 0x2]
- adds r4, r0, 0
- adds r6, r1, 0
- cmp r2, 0
- beq _08032938
- ldr r0, _08032974 @ =gEnemyMonElevation
- adds r1, r2, 0
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08032938
- movs r0, 0x1
- mov r8, r0
-_08032938:
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08032948
- movs r0, 0x1
- mov r8, r0
-_08032948:
- ldrh r0, [r7, 0x20]
- strh r0, [r5, 0x20]
- ldrh r0, [r7, 0x24]
- strh r0, [r5, 0x24]
- adds r2, r5, 0
- adds r2, 0x3E
- mov r0, r8
- lsls r3, r0, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_08032964:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032970: .4byte 0x02017800
-_08032974: .4byte gEnemyMonElevation
- thumb_func_end sub_80328A4
-
- thumb_func_start sub_8032978
-sub_8032978: @ 8032978
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8032978
-
- thumb_func_start sub_8032984
-sub_8032984: @ 8032984
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080329FA
- lsls r0, r4, 2
- ldr r3, _080329D0 @ =0x02017800
- adds r1, r0, r3
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080329AA
- adds r5, r0, 0
-_080329AA:
- ldr r0, _080329D4 @ =gEnemyMonElevation
- adds r0, r5, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _080329E0
- ldr r2, _080329D8 @ =gSprites
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r3, r0
- ldrb r1, [r0, 0x17]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080329DC @ =sub_80328A4
- b _080329F8
- .align 2, 0
-_080329D0: .4byte 0x02017800
-_080329D4: .4byte gEnemyMonElevation
-_080329D8: .4byte gSprites
-_080329DC: .4byte sub_80328A4
-_080329E0:
- ldr r2, _08032A00 @ =gSprites
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r3, r0
- ldrb r1, [r0, 0x17]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08032A04 @ =sub_8032978
-_080329F8:
- str r1, [r0]
-_080329FA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032A00: .4byte gSprites
-_08032A04: .4byte sub_8032978
- thumb_func_end sub_8032984
-
- thumb_func_start sub_8032A08
-sub_8032A08: @ 8032A08
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08032A2C @ =gSprites
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _08032A30 @ =0x02017810
- adds r1, r0
- ldrb r1, [r1, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08032A34 @ =sub_8032978
- str r1, [r0]
- bx lr
- .align 2, 0
-_08032A2C: .4byte gSprites
-_08032A30: .4byte 0x02017810
-_08032A34: .4byte sub_8032978
- thumb_func_end sub_8032A08
-
- thumb_func_start sub_8032A38
-sub_8032A38: @ 8032A38
- push {r4-r6,lr}
- ldr r3, _08032AA4 @ =0x06000240
- movs r0, 0
- movs r6, 0xF0
- lsls r6, 8
-_08032A42:
- adds r5, r0, 0x1
- movs r4, 0xF
-_08032A46:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08032A56
- adds r0, r6, 0
- orrs r0, r1
- strh r0, [r3]
-_08032A56:
- ldrh r1, [r3]
- movs r2, 0xF0
- lsls r2, 4
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08032A6A
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r3]
-_08032A6A:
- ldrh r1, [r3]
- movs r2, 0xF0
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _08032A7C
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_08032A7C:
- ldrh r1, [r3]
- movs r2, 0xF
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _08032A8E
- adds r0, r1, 0
- orrs r0, r2
- strh r0, [r3]
-_08032A8E:
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08032A46
- adds r0, r5, 0
- cmp r0, 0x8
- ble _08032A42
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032AA4: .4byte 0x06000240
- thumb_func_end sub_8032A38
-
- thumb_func_start sub_8032AA8
-sub_8032AA8: @ 8032AA8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsls r2, r4, 2
- ldr r0, _08032AD4 @ =0x02017800
- adds r2, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2, 0x2]
- ldr r0, _08032AD8 @ =gBattleMonForms
- adds r0, r4, r0
- strb r3, [r0]
- cmp r1, 0
- bne _08032ACC
- adds r0, r4, 0
- bl sub_80324E0
-_08032ACC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08032AD4: .4byte 0x02017800
-_08032AD8: .4byte gBattleMonForms
- thumb_func_end sub_8032AA8
-
- thumb_func_start nullsub_45
-nullsub_45: @ 8032ADC
- bx lr
- thumb_func_end nullsub_45
-
- thumb_func_start sub_8032AE0
-sub_8032AE0: @ 8032AE0
- ldr r1, _08032AF0 @ =gUnknown_03004330
- ldr r0, _08032AF4 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032AF8 @ =sub_8032AFC
- str r1, [r0]
- bx lr
- .align 2, 0
-_08032AF0: .4byte gUnknown_03004330
-_08032AF4: .4byte gUnknown_02024A60
-_08032AF8: .4byte sub_8032AFC
- thumb_func_end sub_8032AE0
-
- thumb_func_start sub_8032AFC
-sub_8032AFC: @ 8032AFC
- push {lr}
- ldr r2, _08032B30 @ =gUnknown_02024A64
- ldr r1, _08032B34 @ =gBitTable
- ldr r0, _08032B38 @ =gUnknown_02024A60
- ldrb r3, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08032B48
- ldr r0, _08032B3C @ =gUnknown_02023A60
- lsls r1, r3, 9
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x38
- bhi _08032B44
- ldr r0, _08032B40 @ =gUnknown_081FAF5C
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
- b _08032B48
- .align 2, 0
-_08032B30: .4byte gUnknown_02024A64
-_08032B34: .4byte gBitTable
-_08032B38: .4byte gUnknown_02024A60
-_08032B3C: .4byte gUnknown_02023A60
-_08032B40: .4byte gUnknown_081FAF5C
-_08032B44:
- bl sub_80334EC
-_08032B48:
- pop {r0}
- bx r0
- thumb_func_end sub_8032AFC
-
- thumb_func_start sub_8032B4C
-sub_8032B4C: @ 8032B4C
- push {lr}
- ldr r2, _08032B74 @ =gSprites
- ldr r1, _08032B78 @ =gUnknown_02024BE0
- ldr r0, _08032B7C @ =gUnknown_02024A60
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _08032B80 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _08032B70
- bl sub_80334EC
-_08032B70:
- pop {r0}
- bx r0
- .align 2, 0
-_08032B74: .4byte gSprites
-_08032B78: .4byte gUnknown_02024BE0
-_08032B7C: .4byte gUnknown_02024A60
-_08032B80: .4byte SpriteCallbackDummy
- thumb_func_end sub_8032B4C
-
- thumb_func_start sub_8032B84
-sub_8032B84: @ 8032B84
- push {lr}
- ldr r2, _08032BAC @ =gSprites
- ldr r1, _08032BB0 @ =gUnknown_02024BE0
- ldr r0, _08032BB4 @ =gUnknown_02024A60
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _08032BB8 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _08032BA8
- bl sub_80334EC
-_08032BA8:
- pop {r0}
- bx r0
- .align 2, 0
-_08032BAC: .4byte gSprites
-_08032BB0: .4byte gUnknown_02024BE0
-_08032BB4: .4byte gUnknown_02024A60
-_08032BB8: .4byte SpriteCallbackDummy
- thumb_func_end sub_8032B84
-
- thumb_func_start sub_8032BBC
-sub_8032BBC: @ 8032BBC
- push {r4-r6,lr}
- ldr r4, _08032C34 @ =gSprites
- ldr r6, _08032C38 @ =gUnknown_02024BE0
- ldr r5, _08032C3C @ =gUnknown_02024A60
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r2, r0, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, _08032C40 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _08032C2C
- adds r0, r2, r4
- ldrh r0, [r0, 0x6]
- bl sub_8031B74
- ldrb r0, [r5]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x38]
- ldr r2, _08032C44 @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _08032C48 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r5]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- bl sub_80334EC
-_08032C2C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08032C34: .4byte gSprites
-_08032C38: .4byte gUnknown_02024BE0
-_08032C3C: .4byte gUnknown_02024A60
-_08032C40: .4byte SpriteCallbackDummy
-_08032C44: .4byte 0x000003ff
-_08032C48: .4byte 0xfffffc00
- thumb_func_end sub_8032BBC
-
- thumb_func_start sub_8032C4C
-sub_8032C4C: @ 8032C4C
- push {lr}
- ldr r3, _08032C80 @ =gUnknown_02024A60
- ldrb r0, [r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, _08032C84 @ =0x02017810
- adds r1, r2
- ldrb r0, [r1, 0x9]
- subs r0, 0x1
- strb r0, [r1, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08032C7C
- ldrb r0, [r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0
- strb r0, [r1, 0x9]
- bl sub_80334EC
-_08032C7C:
- pop {r0}
- bx r0
- .align 2, 0
-_08032C80: .4byte gUnknown_02024A60
-_08032C84: .4byte 0x02017810
- thumb_func_end sub_8032C4C
-
- thumb_func_start sub_8032C88
-sub_8032C88: @ 8032C88
- push {r4-r7,lr}
- movs r6, 0
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08032CAC
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08032CE0
- ldr r0, _08032CCC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08032CE0
-_08032CAC:
- ldr r2, _08032CD0 @ =gSprites
- ldr r1, _08032CD4 @ =gUnknown_03004340
- ldr r0, _08032CD8 @ =gUnknown_02024A60
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _08032CDC @ =SpriteCallbackDummy
- cmp r1, r0
- bne _08032D16
- b _08032D14
- .align 2, 0
-_08032CCC: .4byte gBattleTypeFlags
-_08032CD0: .4byte gSprites
-_08032CD4: .4byte gUnknown_03004340
-_08032CD8: .4byte gUnknown_02024A60
-_08032CDC: .4byte SpriteCallbackDummy
-_08032CE0:
- ldr r2, _08032DC4 @ =gSprites
- ldr r5, _08032DC8 @ =gUnknown_03004340
- ldr r0, _08032DCC @ =gUnknown_02024A60
- ldrb r3, [r0]
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r4, [r0]
- ldr r0, _08032DD0 @ =SpriteCallbackDummy
- cmp r4, r0
- bne _08032D16
- movs r0, 0x2
- eors r3, r0
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- bne _08032D16
-_08032D14:
- movs r6, 0x1
-_08032D16:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- beq _08032D22
- movs r6, 0
-_08032D22:
- cmp r6, 0
- beq _08032E0E
- ldr r7, _08032DCC @ =gUnknown_02024A60
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r5, _08032DD4 @ =0x02017810
- adds r4, r0, r5
- ldrb r1, [r4, 0x1]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08032E0E
- movs r6, 0x2
- adds r1, r6, 0
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08032E0E
- ldrb r1, [r4]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r4]
- ldrb r0, [r7]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- ldrb r0, [r7]
- adds r1, r6, 0
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldr r4, _08032DD8 @ =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r0, _08032DDC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08032DE4
- ldr r0, _08032DE0 @ =gMPlay_BGM
- bl m4aMPlayContinue
- b _08032DF0
- .align 2, 0
-_08032DC4: .4byte gSprites
-_08032DC8: .4byte gUnknown_03004340
-_08032DCC: .4byte gUnknown_02024A60
-_08032DD0: .4byte SpriteCallbackDummy
-_08032DD4: .4byte 0x02017810
-_08032DD8: .4byte 0x000027f9
-_08032DDC: .4byte gBattleTypeFlags
-_08032DE0: .4byte gMPlay_BGM
-_08032DE4:
- ldr r0, _08032E14 @ =gMPlay_BGM
- ldr r1, _08032E18 @ =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_08032DF0:
- ldr r2, _08032E1C @ =gUnknown_02024A60
- ldrb r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08032E20 @ =0x02017810
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0, 0x9]
- ldr r1, _08032E24 @ =gUnknown_03004330
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08032E28 @ =sub_8032C4C
- str r1, [r0]
-_08032E0E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032E14: .4byte gMPlay_BGM
-_08032E18: .4byte 0x0000ffff
-_08032E1C: .4byte gUnknown_02024A60
-_08032E20: .4byte 0x02017810
-_08032E24: .4byte gUnknown_03004330
-_08032E28: .4byte sub_8032C4C
- thumb_func_end sub_8032C88
-
- thumb_func_start sub_8032E2C
-sub_8032E2C: @ 8032E2C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08032FEC @ =gUnknown_02024A60
- mov r9, r0
- ldrb r2, [r0]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- ldr r4, _08032FF0 @ =0x02017810
- adds r0, r4
- ldrb r1, [r0]
- movs r5, 0x88
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08032E64
- ldr r0, _08032FF4 @ =gUnknown_02024A6A
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08032FF8 @ =gEnemyParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8141828
-_08032E64:
- mov r1, r9
- ldrb r0, [r1]
- movs r7, 0x2
- adds r2, r7, 0
- eors r2, r0
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08032E94
- ldr r0, _08032FF4 @ =gUnknown_02024A6A
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08032FF8 @ =gEnemyParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8141828
-_08032E94:
- mov r0, r9
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r3, 0x8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08032EAE
- b _08032FE0
-_08032EAE:
- adds r1, r7, 0
- eors r1, r2
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08032EC6
- b _08032FE0
-_08032EC6:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08032F58
- ldr r0, _08032FFC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08032F58
- ldr r1, _08033000 @ =gUnknown_0300434C
- mov r2, r9
- ldrb r0, [r2]
- eors r0, r7
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08033004 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r4, _08033008 @ =gUnknown_03004340
- mov r1, r9
- ldrb r0, [r1]
- adds r1, r7, 0
- eors r1, r0
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _08032FF4 @ =gUnknown_02024A6A
- mov r8, r2
- lsls r1, 1
- add r1, r8
- ldrh r1, [r1]
- movs r6, 0x64
- muls r1, r6
- ldr r5, _08032FF8 @ =gEnemyParty
- adds r1, r5
- movs r2, 0
- bl sub_8045A5C
- mov r1, r9
- ldrb r0, [r1]
- eors r0, r7
- bl sub_804777C
- mov r2, r9
- ldrb r0, [r2]
- eors r0, r7
- adds r0, r4
- ldrb r0, [r0]
- bl sub_8043DFC
- mov r1, r9
- ldrb r0, [r1]
- adds r4, r7, 0
- eors r4, r0
- lsls r0, r4, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8032984
-_08032F58:
- ldr r1, _08033000 @ =gUnknown_0300434C
- ldr r4, _08032FEC @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08033004 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r5, _08033008 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _08032FF4 @ =gUnknown_02024A6A
- mov r9, r2
- lsls r1, 1
- add r1, r9
- ldrh r1, [r1]
- movs r2, 0x64
- mov r8, r2
- mov r2, r8
- muls r2, r1
- adds r1, r2, 0
- ldr r6, _08032FF8 @ =gEnemyParty
- adds r1, r6
- movs r2, 0
- bl sub_8045A5C
- ldrb r0, [r4]
- bl sub_804777C
- ldrb r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8043DFC
- ldrb r5, [r4]
- lsls r0, r5, 1
- add r0, r9
- ldrh r0, [r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_8032984
- ldr r2, _0803300C @ =0x02017840
- ldrb r1, [r2, 0x9]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08033010 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033014 @ =sub_8032C88
- str r1, [r0]
-_08032FE0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032FEC: .4byte gUnknown_02024A60
-_08032FF0: .4byte 0x02017810
-_08032FF4: .4byte gUnknown_02024A6A
-_08032FF8: .4byte gEnemyParty
-_08032FFC: .4byte gBattleTypeFlags
-_08033000: .4byte gUnknown_0300434C
-_08033004: .4byte gSprites
-_08033008: .4byte gUnknown_03004340
-_0803300C: .4byte 0x02017840
-_08033010: .4byte gUnknown_03004330
-_08033014: .4byte sub_8032C88
- thumb_func_end sub_8032E2C
-
- thumb_func_start sub_8033018
-sub_8033018: @ 8033018
- push {r4-r7,lr}
- ldr r2, _08033070 @ =gSprites
- ldr r0, _08033074 @ =gUnknown_02024BE0
- ldr r7, _08033078 @ =gUnknown_02024A60
- ldrb r3, [r7]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r2, r0, 31
- cmp r2, 0x1
- bne _080330BC
- movs r4, 0x24
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080330BC
- lsls r4, r3, 1
- adds r0, r4, r3
- lsls r0, 2
- ldr r6, _0803307C @ =0x02017810
- adds r1, r0, r6
- ldrb r5, [r1]
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- bne _08033088
- ldr r0, _08033080 @ =gUnknown_02024A6A
- adds r0, r4, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08033084 @ =gEnemyParty
- adds r1, r0
- adds r0, r3, 0
- bl sub_8141828
- b _080330BC
- .align 2, 0
-_08033070: .4byte gSprites
-_08033074: .4byte gUnknown_02024BE0
-_08033078: .4byte gUnknown_02024A60
-_0803307C: .4byte 0x02017810
-_08033080: .4byte gUnknown_02024A6A
-_08033084: .4byte gEnemyParty
-_08033088:
- ldrb r0, [r1, 0x1]
- ands r2, r0
- cmp r2, 0
- beq _080330BC
- movs r0, 0x7F
- ands r0, r5
- strb r0, [r1]
- ldrb r0, [r7]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, _080330C4 @ =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- bl sub_80334EC
-_080330BC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080330C4: .4byte 0x000027f9
- thumb_func_end sub_8033018
-
- thumb_func_start sub_80330C8
-sub_80330C8: @ 80330C8
- push {r4-r6,lr}
- ldr r6, _08033108 @ =gUnknown_02024A60
- ldrb r0, [r6]
- ldr r5, _0803310C @ =gUnknown_03004340
- adds r1, r0, r5
- ldrb r1, [r1]
- movs r2, 0
- movs r3, 0
- bl sub_8045C78
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8043DFC
- lsls r4, 16
- asrs r1, r4, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08033110
- ldrb r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- movs r2, 0
- bl sub_80440EC
- b _08033114
- .align 2, 0
-_08033108: .4byte gUnknown_02024A60
-_0803310C: .4byte gUnknown_03004340
-_08033110:
- bl sub_80334EC
-_08033114:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80330C8
-
- thumb_func_start sub_803311C
-sub_803311C: @ 803311C
- push {lr}
- ldr r2, _08033150 @ =gSprites
- ldr r0, _08033154 @ =gUnknown_02024BE0
- ldr r1, _08033158 @ =gUnknown_02024A60
- ldrb r3, [r1]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _0803314A
- ldr r0, _0803315C @ =gUnknown_03004340
- adds r0, r3, r0
- ldrb r0, [r0]
- bl sub_8043DB0
- bl sub_80334EC
-_0803314A:
- pop {r0}
- bx r0
- .align 2, 0
-_08033150: .4byte gSprites
-_08033154: .4byte gUnknown_02024BE0
-_08033158: .4byte gUnknown_02024A60
-_0803315C: .4byte gUnknown_03004340
- thumb_func_end sub_803311C
-
- thumb_func_start sub_8033160
-sub_8033160: @ 8033160
- push {r4-r6,lr}
- ldr r6, _080331BC @ =gUnknown_02024A60
- ldrb r2, [r6]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080331C0 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080331B6
- ldr r5, _080331C4 @ =gUnknown_02024BE0
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080331C8 @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldrb r0, [r6]
- bl sub_8032A08
- ldr r1, _080331CC @ =gUnknown_03004340
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
- bl sub_80334EC
-_080331B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080331BC: .4byte gUnknown_02024A60
-_080331C0: .4byte 0x02017810
-_080331C4: .4byte gUnknown_02024BE0
-_080331C8: .4byte gSprites
-_080331CC: .4byte gUnknown_03004340
- thumb_func_end sub_8033160
-
- thumb_func_start sub_80331D0
-sub_80331D0: @ 80331D0
- push {lr}
- ldr r0, _080331E4 @ =gUnknown_03004210
- ldrh r0, [r0, 0x16]
- cmp r0, 0
- bne _080331DE
- bl sub_80334EC
-_080331DE:
- pop {r0}
- bx r0
- .align 2, 0
-_080331E4: .4byte gUnknown_03004210
- thumb_func_end sub_80331D0
-
- thumb_func_start bx_blink_t7
-bx_blink_t7: @ 80331E8
- push {r4,lr}
- ldr r1, _08033224 @ =gUnknown_02024BE0
- ldr r0, _08033228 @ =gUnknown_02024A60
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, _0803322C @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _08033234
- movs r3, 0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- ldr r0, _08033230 @ =gUnknown_02024E6D
- strb r3, [r0]
- bl sub_80334EC
- b _0803325E
- .align 2, 0
-_08033224: .4byte gUnknown_02024BE0
-_08033228: .4byte gUnknown_02024A60
-_0803322C: .4byte gSprites
-_08033230: .4byte gUnknown_02024E6D
-_08033234:
- ldrh r0, [r4, 0x30]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08033258
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08033258:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_0803325E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end bx_blink_t7
-
- thumb_func_start sub_8033264
-sub_8033264: @ 8033264
- push {r4,lr}
- ldr r2, _080332B4 @ =gSprites
- ldr r0, _080332B8 @ =gUnknown_03004340
- ldr r4, _080332BC @ =gUnknown_02024A60
- ldrb r3, [r4]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _080332C0 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _080332AC
- lsls r0, r3, 2
- ldr r1, _080332C4 @ =0x02017800
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080332A0
- adds r0, r3, 0
- adds r1, r3, 0
- adds r2, r3, 0
- movs r3, 0x6
- bl move_anim_start_t4
-_080332A0:
- ldr r0, _080332C8 @ =gUnknown_03004330
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, _080332CC @ =sub_80332D0
- str r0, [r1]
-_080332AC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080332B4: .4byte gSprites
-_080332B8: .4byte gUnknown_03004340
-_080332BC: .4byte gUnknown_02024A60
-_080332C0: .4byte SpriteCallbackDummy
-_080332C4: .4byte 0x02017800
-_080332C8: .4byte gUnknown_03004330
-_080332CC: .4byte sub_80332D0
- thumb_func_end sub_8033264
-
- thumb_func_start sub_80332D0
-sub_80332D0: @ 80332D0
- push {lr}
- ldr r0, _080332FC @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08033300 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080332F6
- ldr r0, _08033304 @ =c3_0802FDF4
- movs r1, 0xA
- bl CreateTask
- bl sub_80334EC
-_080332F6:
- pop {r0}
- bx r0
- .align 2, 0
-_080332FC: .4byte gUnknown_02024A60
-_08033300: .4byte 0x02017810
-_08033304: .4byte c3_0802FDF4
- thumb_func_end sub_80332D0
-
- thumb_func_start sub_8033308
-sub_8033308: @ 8033308
- push {r4,r5,lr}
- ldr r5, _080333AC @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _080333B0 @ =0x02017810
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080333A4
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r1, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r4, _080333B4 @ =0x000027f9
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldr r1, _080333B8 @ =gUnknown_02024BE0
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080333BC @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- ldr r4, _080333C0 @ =gUnknown_03004340
- ldrb r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _080333C4 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _080333C8 @ =gEnemyParty
- adds r1, r2
- movs r2, 0
- bl sub_8045A5C
- ldrb r0, [r5]
- bl sub_804777C
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl sub_8043DFC
- ldrb r0, [r5]
- bl sub_8031F88
- ldr r1, _080333CC @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080333D0 @ =sub_8033264
- str r1, [r0]
-_080333A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080333AC: .4byte gUnknown_02024A60
-_080333B0: .4byte 0x02017810
-_080333B4: .4byte 0x000027f9
-_080333B8: .4byte gUnknown_02024BE0
-_080333BC: .4byte gSprites
-_080333C0: .4byte gUnknown_03004340
-_080333C4: .4byte gUnknown_02024A6A
-_080333C8: .4byte gEnemyParty
-_080333CC: .4byte gUnknown_03004330
-_080333D0: .4byte sub_8033264
- thumb_func_end sub_8033308
-
- thumb_func_start sub_80333D4
-sub_80333D4: @ 80333D4
- push {r4-r6,lr}
- ldr r5, _08033470 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r3, r2, 1
- adds r0, r3, r2
- lsls r0, 2
- ldr r6, _08033474 @ =0x02017810
- adds r0, r6
- ldrb r1, [r0]
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _08033402
- ldr r0, _08033478 @ =gUnknown_02024A6A
- adds r0, r3, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _0803347C @ =gEnemyParty
- adds r1, r0
- adds r0, r2, 0
- bl sub_8141828
-_08033402:
- ldr r4, _08033480 @ =gSprites
- ldr r0, _08033484 @ =gUnknown_0300434C
- ldrb r2, [r5]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r3, r0, 2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, _08033488 @ =SpriteCallbackDummy
- cmp r1, r0
- bne _08033468
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08033468
- adds r0, r3, r4
- bl DestroySprite
- ldrb r4, [r5]
- ldr r1, _08033478 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0803347C @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8032984
- ldr r1, _0803348C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033490 @ =sub_8033308
- str r1, [r0]
-_08033468:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08033470: .4byte gUnknown_02024A60
-_08033474: .4byte 0x02017810
-_08033478: .4byte gUnknown_02024A6A
-_0803347C: .4byte gEnemyParty
-_08033480: .4byte gSprites
-_08033484: .4byte gUnknown_0300434C
-_08033488: .4byte SpriteCallbackDummy
-_0803348C: .4byte gUnknown_03004330
-_08033490: .4byte sub_8033308
- thumb_func_end sub_80333D4
-
- thumb_func_start sub_8033494
-sub_8033494: @ 8033494
- push {lr}
- ldr r0, _080334B8 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080334BC @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080334B2
- bl sub_80334EC
-_080334B2:
- pop {r0}
- bx r0
- .align 2, 0
-_080334B8: .4byte gUnknown_02024A60
-_080334BC: .4byte 0x02017810
- thumb_func_end sub_8033494
-
- thumb_func_start sub_80334C0
-sub_80334C0: @ 80334C0
- push {lr}
- ldr r0, _080334E4 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080334E8 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080334DE
- bl sub_80334EC
-_080334DE:
- pop {r0}
- bx r0
- .align 2, 0
-_080334E4: .4byte gUnknown_02024A60
-_080334E8: .4byte 0x02017810
- thumb_func_end sub_80334C0
-
- thumb_func_start sub_80334EC
-sub_80334EC: @ 80334EC
- ldr r1, _08033510 @ =gUnknown_03004330
- ldr r2, _08033514 @ =gUnknown_02024A60
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08033518 @ =sub_8032AFC
- str r1, [r0]
- ldr r3, _0803351C @ =gUnknown_02024A64
- ldr r1, _08033520 @ =gBitTable
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
- bx lr
- .align 2, 0
-_08033510: .4byte gUnknown_03004330
-_08033514: .4byte gUnknown_02024A60
-_08033518: .4byte sub_8032AFC
-_0803351C: .4byte gUnknown_02024A64
-_08033520: .4byte gBitTable
- thumb_func_end sub_80334EC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s
deleted file mode 100644
index 4190b2400..000000000
--- a/asm/battle_811DA74.s
+++ /dev/null
@@ -1,3678 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811EC68
-sub_811EC68: @ 811EC68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0811ECA0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- ldr r2, _0811ECA4 @ =gUnknown_02023A63
- adds r3, r0, r2
- adds r6, r3, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r7, r2, 0
- cmp r0, 0x3B
- bls _0811EC94
- bl _0811F62E
-_0811EC94:
- lsls r0, 2
- ldr r1, _0811ECA8 @ =_0811ECAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0811ECA0: .4byte gUnknown_02024A60
-_0811ECA4: .4byte gUnknown_02023A63
-_0811ECA8: .4byte _0811ECAC
- .align 2, 0
-_0811ECAC:
- .4byte _0811ED9C
- .4byte _0811EF34
- .4byte _0811EF54
- .4byte _0811EF74
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFCC
- .4byte _0811EFF4
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F058
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F62E
- .4byte _0811F088
- .4byte _0811F0A8
- .4byte _0811F0C8
- .4byte _0811F0E8
- .4byte _0811F108
- .4byte _0811F128
- .4byte _0811F148
- .4byte _0811F168
- .4byte _0811F188
- .4byte _0811F1A8
- .4byte _0811F1C8
- .4byte _0811F1E8
- .4byte _0811F208
- .4byte _0811F228
- .4byte _0811F248
- .4byte _0811F2B8
- .4byte _0811F2D8
- .4byte _0811F2F8
- .4byte _0811F318
- .4byte _0811F338
- .4byte _0811F358
- .4byte _0811F378
- .4byte _0811F398
- .4byte _0811F3B8
- .4byte _0811F3D8
- .4byte _0811F3F8
- .4byte _0811F418
- .4byte _0811F438
- .4byte _0811F458
- .4byte _0811F478
- .4byte _0811F498
- .4byte _0811F4B8
- .4byte _0811F4D8
- .4byte _0811F4F8
- .4byte _0811F518
- .4byte _0811F538
- .4byte _0811F558
- .4byte _0811F578
- .4byte _0811F598
- .4byte _0811F5B8
- .4byte _0811F5D8
- .4byte _0811F5F8
- .4byte _0811F618
-_0811ED9C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811EF30 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r6, 0
- bl SetMonData
- adds r2, r6, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r6
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r6, 0x2
- str r0, [sp, 0x4]
- adds r0, r6, 0x4
- str r0, [sp, 0x8]
- adds r0, r6, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r7, r6, 0
- adds r7, 0x24
- adds r4, r6, 0
- adds r4, 0xC
-_0811EE02:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r7, 0
- bl SetMonData
- adds r7, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0811EE02
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811EF30 @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r6, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r6, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r6, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF30: .4byte gPlayerParty
-_0811EF34:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EF4C @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811EF50 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xB
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF4C: .4byte gPlayerParty
-_0811EF50: .4byte gUnknown_02024A60
-_0811EF54:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EF6C @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811EF70 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0xC
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EF6C: .4byte gPlayerParty
-_0811EF70: .4byte gUnknown_02024A60
-_0811EF74:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r3
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _0811EFC8 @ =gPlayerParty
- adds r7, r1, r0
- adds r6, r3, 0
- adds r6, 0x8
- adds r4, r3, 0
-_0811EF8E:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _0811EF8E
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EFC8 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811EFC8: .4byte gPlayerParty
-_0811EFCC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811EFE8 @ =gPlayerParty
- adds r0, r1
- ldr r3, _0811EFEC @ =gUnknown_02023A60
- ldr r1, _0811EFF0 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0811F070
- .align 2, 0
-_0811EFE8: .4byte gPlayerParty
-_0811EFEC: .4byte gUnknown_02023A60
-_0811EFF0: .4byte gUnknown_02024A60
-_0811EFF4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811F050 @ =gPlayerParty
- adds r4, r0
- ldr r5, _0811F054 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x11
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F050: .4byte gPlayerParty
-_0811F054: .4byte gUnknown_02024A60
-_0811F058:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F07C @ =gPlayerParty
- adds r0, r1
- ldr r3, _0811F080 @ =gUnknown_02023A60
- ldr r1, _0811F084 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0811F070:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F07C: .4byte gPlayerParty
-_0811F080: .4byte gUnknown_02023A60
-_0811F084: .4byte gUnknown_02024A60
-_0811F088:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0A0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0A4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0A0: .4byte gPlayerParty
-_0811F0A4: .4byte gUnknown_02024A60
-_0811F0A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0C0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0C4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x19
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0C0: .4byte gPlayerParty
-_0811F0C4: .4byte gUnknown_02024A60
-_0811F0C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F0E0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F0E4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F0E0: .4byte gPlayerParty
-_0811F0E4: .4byte gUnknown_02024A60
-_0811F0E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F100 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F104 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F100: .4byte gPlayerParty
-_0811F104: .4byte gUnknown_02024A60
-_0811F108:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F120 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F124 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F120: .4byte gPlayerParty
-_0811F124: .4byte gUnknown_02024A60
-_0811F128:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F140 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F144 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1D
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F140: .4byte gPlayerParty
-_0811F144: .4byte gUnknown_02024A60
-_0811F148:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F160 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F164 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1E
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F160: .4byte gPlayerParty
-_0811F164: .4byte gUnknown_02024A60
-_0811F168:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F180 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F184 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x1F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F180: .4byte gPlayerParty
-_0811F184: .4byte gUnknown_02024A60
-_0811F188:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1A0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1A4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x20
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1A0: .4byte gPlayerParty
-_0811F1A4: .4byte gUnknown_02024A60
-_0811F1A8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1C0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1C4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x22
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1C0: .4byte gPlayerParty
-_0811F1C4: .4byte gUnknown_02024A60
-_0811F1C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F1E0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F1E4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x23
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F1E0: .4byte gPlayerParty
-_0811F1E4: .4byte gUnknown_02024A60
-_0811F1E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F200 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F204 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x24
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F200: .4byte gPlayerParty
-_0811F204: .4byte gUnknown_02024A60
-_0811F208:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F220 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F224 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x25
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F220: .4byte gPlayerParty
-_0811F224: .4byte gUnknown_02024A60
-_0811F228:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F240 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F244 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x26
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F240: .4byte gPlayerParty
-_0811F244: .4byte gUnknown_02024A60
-_0811F248:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _0811F2B0 @ =gPlayerParty
- adds r4, r0
- ldr r5, _0811F2B4 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r2, 9
- adds r2, r7
- adds r0, r4, 0
- movs r1, 0x27
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 9
- adds r0, r7, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _0811F368
- .align 2, 0
-_0811F2B0: .4byte gPlayerParty
-_0811F2B4: .4byte gUnknown_02024A60
-_0811F2B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F2D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F2D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x27
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F2D0: .4byte gPlayerParty
-_0811F2D4: .4byte gUnknown_02024A60
-_0811F2D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F2F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F2F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x28
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F2F0: .4byte gPlayerParty
-_0811F2F4: .4byte gUnknown_02024A60
-_0811F2F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F310 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F314 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x29
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F310: .4byte gPlayerParty
-_0811F314: .4byte gUnknown_02024A60
-_0811F318:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F330 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F334 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F330: .4byte gPlayerParty
-_0811F334: .4byte gUnknown_02024A60
-_0811F338:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F350 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F354 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F350: .4byte gPlayerParty
-_0811F354: .4byte gUnknown_02024A60
-_0811F358:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F370 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F374 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
-_0811F368:
- movs r1, 0x2C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F370: .4byte gPlayerParty
-_0811F374: .4byte gUnknown_02024A60
-_0811F378:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F390 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F394 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F390: .4byte gPlayerParty
-_0811F394: .4byte gUnknown_02024A60
-_0811F398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x9
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3B0: .4byte gPlayerParty
-_0811F3B4: .4byte gUnknown_02024A60
-_0811F3B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x37
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3D0: .4byte gPlayerParty
-_0811F3D4: .4byte gUnknown_02024A60
-_0811F3D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F3F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F3F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x38
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F3F0: .4byte gPlayerParty
-_0811F3F4: .4byte gUnknown_02024A60
-_0811F3F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F410 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F414 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x39
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F410: .4byte gPlayerParty
-_0811F414: .4byte gUnknown_02024A60
-_0811F418:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F430 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F434 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3A
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F430: .4byte gPlayerParty
-_0811F434: .4byte gUnknown_02024A60
-_0811F438:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F450 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F454 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3B
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F450: .4byte gPlayerParty
-_0811F454: .4byte gUnknown_02024A60
-_0811F458:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F470 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F474 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3C
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F470: .4byte gPlayerParty
-_0811F474: .4byte gUnknown_02024A60
-_0811F478:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F490 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F494 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3D
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F490: .4byte gPlayerParty
-_0811F494: .4byte gUnknown_02024A60
-_0811F498:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3E
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4B0: .4byte gPlayerParty
-_0811F4B4: .4byte gUnknown_02024A60
-_0811F4B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x3F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4D0: .4byte gPlayerParty
-_0811F4D4: .4byte gUnknown_02024A60
-_0811F4D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F4F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F4F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x16
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F4F0: .4byte gPlayerParty
-_0811F4F4: .4byte gUnknown_02024A60
-_0811F4F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F510 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F514 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x17
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F510: .4byte gPlayerParty
-_0811F514: .4byte gUnknown_02024A60
-_0811F518:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F530 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F534 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x18
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F530: .4byte gPlayerParty
-_0811F534: .4byte gUnknown_02024A60
-_0811F538:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F550 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F554 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x21
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F550: .4byte gPlayerParty
-_0811F554: .4byte gUnknown_02024A60
-_0811F558:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F570 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F574 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x2F
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F570: .4byte gPlayerParty
-_0811F574: .4byte gUnknown_02024A60
-_0811F578:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F590 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F594 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x30
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F590: .4byte gPlayerParty
-_0811F594: .4byte gUnknown_02024A60
-_0811F598:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5B0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5B4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x32
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5B0: .4byte gPlayerParty
-_0811F5B4: .4byte gUnknown_02024A60
-_0811F5B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5D0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5D4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x33
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5D0: .4byte gPlayerParty
-_0811F5D4: .4byte gUnknown_02024A60
-_0811F5D8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F5F0 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F5F4 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x34
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F5F0: .4byte gPlayerParty
-_0811F5F4: .4byte gUnknown_02024A60
-_0811F5F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F610 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F614 @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x35
- bl SetMonData
- b _0811F62E
- .align 2, 0
-_0811F610: .4byte gPlayerParty
-_0811F614: .4byte gUnknown_02024A60
-_0811F618:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0811F658 @ =gPlayerParty
- adds r0, r1
- ldr r1, _0811F65C @ =gUnknown_02024A60
- ldrb r2, [r1]
- lsls r2, 9
- adds r2, r7
- movs r1, 0x36
- bl SetMonData
-_0811F62E:
- ldr r2, _0811F660 @ =gUnknown_02024A6A
- ldr r0, _0811F65C @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811F658 @ =gPlayerParty
- adds r0, r2
- bl sub_80324F8
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F658: .4byte gPlayerParty
-_0811F65C: .4byte gUnknown_02024A60
-_0811F660: .4byte gUnknown_02024A6A
- thumb_func_end sub_811EC68
-
- thumb_func_start sub_811F664
-sub_811F664: @ 811F664
- push {r4-r7,lr}
- ldr r1, _0811F6C8 @ =gUnknown_02024A6A
- ldr r7, _0811F6CC @ =gUnknown_02024A60
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, _0811F6D0 @ =gUnknown_02023A60
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, _0811F6D4 @ =gPlayerParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0811F6BC
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0811F69A:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0811F69A
-_0811F6BC:
- bl dp01_tbl3_exec_completed
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F6C8: .4byte gUnknown_02024A6A
-_0811F6CC: .4byte gUnknown_02024A60
-_0811F6D0: .4byte gUnknown_02023A60
-_0811F6D4: .4byte gPlayerParty
- thumb_func_end sub_811F664
-
- thumb_func_start sub_811F6D8
-sub_811F6D8: @ 811F6D8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0811F7CC @ =gUnknown_02024A6A
- mov r8, r0
- ldr r6, _0811F7D0 @ =gUnknown_02024A60
- ldrb r1, [r6]
- lsls r0, r1, 1
- add r0, r8
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _0811F7D4 @ =gPlayerParty
- adds r0, r4
- bl sub_80318FC
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6]
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _0811F7D8 @ =gUnknown_02024E8C
- mov r8, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _0811F7DC @ =gUnknown_02024BE0
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, _0811F7E0 @ =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F7E4 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F7E8 @ =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldr r1, _0811F7EC @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811F7F0 @ =sub_811DDE8
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F7CC: .4byte gUnknown_02024A6A
-_0811F7D0: .4byte gUnknown_02024A60
-_0811F7D4: .4byte gPlayerParty
-_0811F7D8: .4byte gUnknown_02024E8C
-_0811F7DC: .4byte gUnknown_02024BE0
-_0811F7E0: .4byte gSprites
-_0811F7E4: .4byte 0x0000ff10
-_0811F7E8: .4byte gBattleMonForms
-_0811F7EC: .4byte gUnknown_03004330
-_0811F7F0: .4byte sub_811DDE8
- thumb_func_end sub_811F6D8
-
- thumb_func_start sub_811F7F4
-sub_811F7F4: @ 811F7F4
- push {r4-r6,lr}
- ldr r5, _0811F84C @ =gUnknown_02024A60
- ldrb r0, [r5]
- ldr r4, _0811F850 @ =gUnknown_02023A60
- lsls r1, r0, 9
- adds r6, r4, 0x2
- adds r1, r6
- ldrb r1, [r1]
- bl sub_8032AA8
- ldr r2, _0811F854 @ =gUnknown_02024A6A
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r2
- lsls r0, 9
- adds r4, 0x1
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811F858 @ =gPlayerParty
- adds r0, r2
- bl sub_80318FC
- ldrb r0, [r5]
- lsls r1, r0, 9
- adds r1, r6
- ldrb r1, [r1]
- bl sub_811F864
- ldr r1, _0811F85C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811F860 @ =sub_811E1BC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F84C: .4byte gUnknown_02024A60
-_0811F850: .4byte gUnknown_02023A60
-_0811F854: .4byte gUnknown_02024A6A
-_0811F858: .4byte gPlayerParty
-_0811F85C: .4byte gUnknown_03004330
-_0811F860: .4byte sub_811E1BC
- thumb_func_end sub_811F7F4
-
- thumb_func_start sub_811F864
-sub_811F864: @ 811F864
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8032AA8
- ldr r0, _0811F9A8 @ =gUnknown_02024A6A
- lsls r2, r6, 1
- adds r2, r0
- ldr r0, _0811F9AC @ =gUnknown_02023A60
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r2]
- ldrh r1, [r2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0811F9B0 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _0811F9B4 @ =sub_80312F0
- bl CreateInvisibleSpriteWithCallback
- ldr r1, _0811F9B8 @ =gUnknown_0300434C
- mov r9, r1
- add r9, r6
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _0811F9BC @ =gUnknown_02024E8C
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r10
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _0811F9C0 @ =gUnknown_02024BE0
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, _0811F9C4 @ =gSprites
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811F9C8 @ =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0811F9CC @ =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFF
- bl sub_8046400
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811F9A8: .4byte gUnknown_02024A6A
-_0811F9AC: .4byte gUnknown_02023A60
-_0811F9B0: .4byte gPlayerParty
-_0811F9B4: .4byte sub_80312F0
-_0811F9B8: .4byte gUnknown_0300434C
-_0811F9BC: .4byte gUnknown_02024E8C
-_0811F9C0: .4byte gUnknown_02024BE0
-_0811F9C4: .4byte gSprites
-_0811F9C8: .4byte gBattleMonForms
-_0811F9CC: .4byte SpriteCallbackDummy
- thumb_func_end sub_811F864
-
- thumb_func_start sub_811F9D0
-sub_811F9D0: @ 811F9D0
- push {r4-r6,lr}
- ldr r1, _0811FA00 @ =gUnknown_02023A60
- ldr r6, _0811FA04 @ =gUnknown_02024A60
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _0811FA14
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _0811FA08 @ =0x02017810
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, _0811FA0C @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FA10 @ =sub_811FA5C
- str r1, [r0]
- b _0811FA4A
- .align 2, 0
-_0811FA00: .4byte gUnknown_02023A60
-_0811FA04: .4byte gUnknown_02024A60
-_0811FA08: .4byte 0x02017810
-_0811FA0C: .4byte gUnknown_03004330
-_0811FA10: .4byte sub_811FA5C
-_0811FA14:
- ldr r5, _0811FA50 @ =gUnknown_02024BE0
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0811FA54 @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r1, _0811FA58 @ =gUnknown_03004340
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
- bl dp01_tbl3_exec_completed
-_0811FA4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FA50: .4byte gUnknown_02024BE0
-_0811FA54: .4byte gSprites
-_0811FA58: .4byte gUnknown_03004340
- thumb_func_end sub_811F9D0
-
- thumb_func_start sub_811FA5C
-sub_811FA5C: @ 811FA5C
- push {r4,r5,lr}
- ldr r5, _0811FA78 @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _0811FA7C @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _0811FA80
- cmp r0, 0x1
- beq _0811FAAC
- b _0811FAD4
- .align 2, 0
-_0811FA78: .4byte gUnknown_02024A60
-_0811FA7C: .4byte 0x02017810
-_0811FA80:
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811FA9C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FA9C:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _0811FAD4
-_0811FAAC:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811FAD4
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl move_anim_start_t4
- ldr r1, _0811FADC @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FAE0 @ =sub_811DF34
- str r1, [r0]
-_0811FAD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FADC: .4byte gUnknown_03004330
-_0811FAE0: .4byte sub_811DF34
- thumb_func_end sub_811FA5C
-
- thumb_func_start sub_811FAE4
-sub_811FAE4: @ 811FAE4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0811FB14 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0811FB24
- ldr r6, _0811FB18 @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl battle_get_per_side_status
- movs r1, 0x2
- ands r1, r0
- ldr r5, _0811FB1C @ =0x0000fff0
- cmp r1, 0
- beq _0811FB0A
- movs r5, 0x10
-_0811FB0A:
- ldr r4, _0811FB20 @ =gLinkPlayers
- ldrb r0, [r6]
- bl sub_803FC34
- b _0811FB34
- .align 2, 0
-_0811FB14: .4byte gBattleTypeFlags
-_0811FB18: .4byte gUnknown_02024A60
-_0811FB1C: .4byte 0x0000fff0
-_0811FB20: .4byte gLinkPlayers
-_0811FB24:
- movs r5, 0
- ldr r4, _0811FC08 @ =gLinkPlayers
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_0811FB34:
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r4, [r1, 0x13]
- ldr r6, _0811FC0C @ =gUnknown_02024A60
- ldrb r1, [r6]
- adds r0, r4, 0
- bl sub_8031AF4
- ldrb r0, [r6]
- bl battle_get_per_side_status
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl GetMonSpriteTemplate_803C5A0
- ldr r0, _0811FC10 @ =gUnknown_02024E8C
- mov r8, r0
- lsls r5, 16
- movs r0, 0xA0
- lsls r0, 15
- adds r5, r0
- asrs r5, 16
- ldr r0, _0811FC14 @ =gTrainerBackPicCoords
- lsls r4, 2
- adds r4, r0
- ldrb r0, [r4]
- movs r4, 0x8
- subs r4, r0
- lsls r4, 18
- movs r0, 0xA0
- lsls r0, 15
- adds r4, r0
- asrs r4, 16
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r5, _0811FC18 @ =gUnknown_02024BE0
- ldrb r1, [r6]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _0811FC1C @ =gSprites
- ldrb r3, [r6]
- adds r0, r3, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xF0
- strh r1, [r0, 0x24]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _0811FC20 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _0811FC24 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _0811FC28 @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FC2C @ =sub_811DAE4
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FC08: .4byte gLinkPlayers
-_0811FC0C: .4byte gUnknown_02024A60
-_0811FC10: .4byte gUnknown_02024E8C
-_0811FC14: .4byte gTrainerBackPicCoords
-_0811FC18: .4byte gUnknown_02024BE0
-_0811FC1C: .4byte gSprites
-_0811FC20: .4byte 0x0000fffe
-_0811FC24: .4byte sub_80313A0
-_0811FC28: .4byte gUnknown_03004330
-_0811FC2C: .4byte sub_811DAE4
- thumb_func_end sub_811FAE4
-
- thumb_func_start sub_811FC30
-sub_811FC30: @ 811FC30
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FC30
-
- thumb_func_start sub_811FC3C
-sub_811FC3C: @ 811FC3C
- push {r4-r6,lr}
- ldr r6, _0811FCC8 @ =gUnknown_02024BE0
- ldr r4, _0811FCCC @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0811FCD0 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811FCD4 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _0811FCD8 @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0811FCDC @ =SpriteCallbackDummy
- bl oamt_set_x3A_32
- ldr r1, _0811FCE0 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FCE4 @ =sub_811DB1C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FCC8: .4byte gUnknown_02024BE0
-_0811FCCC: .4byte gUnknown_02024A60
-_0811FCD0: .4byte gSprites
-_0811FCD4: .4byte 0x0000ffd8
-_0811FCD8: .4byte sub_8078B34
-_0811FCDC: .4byte SpriteCallbackDummy
-_0811FCE0: .4byte gUnknown_03004330
-_0811FCE4: .4byte sub_811DB1C
- thumb_func_end sub_811FC3C
-
- thumb_func_start sub_811FCE8
-sub_811FCE8: @ 811FCE8
- push {r4,r5,lr}
- ldr r5, _0811FD2C @ =gUnknown_02024A60
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _0811FD30 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0811FD34
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811FD1A
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FD1A:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0811FDAA
- .align 2, 0
-_0811FD2C: .4byte gUnknown_02024A60
-_0811FD30: .4byte 0x02017810
-_0811FD34:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0811FDAA
- strb r4, [r3, 0x4]
- ldr r2, _0811FDB0 @ =gUnknown_02024A6A
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0811FDB4 @ =gPlayerParty
- adds r0, r2
- bl sub_80324F8
- movs r1, 0x40
- negs r1, r1
- movs r0, 0x10
- bl PlaySE12WithPanning
- ldr r2, _0811FDB8 @ =gSprites
- ldr r3, _0811FDBC @ =gUnknown_02024BE0
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x30]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x5
- strh r1, [r0, 0x32]
- ldrb r0, [r5]
- adds r0, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _0811FDC0 @ =sub_80105EC
- str r1, [r0]
- ldr r1, _0811FDC4 @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FDC8 @ =sub_811DE98
- str r1, [r0]
-_0811FDAA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FDB0: .4byte gUnknown_02024A6A
-_0811FDB4: .4byte gPlayerParty
-_0811FDB8: .4byte gSprites
-_0811FDBC: .4byte gUnknown_02024BE0
-_0811FDC0: .4byte sub_80105EC
-_0811FDC4: .4byte gUnknown_03004330
-_0811FDC8: .4byte sub_811DE98
- thumb_func_end sub_811FCE8
-
- thumb_func_start sub_811FDCC
-sub_811FDCC: @ 811FDCC
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDCC
-
- thumb_func_start sub_811FDD8
-sub_811FDD8: @ 811FDD8
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDD8
-
- thumb_func_start sub_811FDE4
-sub_811FDE4: @ 811FDE4
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDE4
-
- thumb_func_start sub_811FDF0
-sub_811FDF0: @ 811FDF0
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_811FDF0
-
- thumb_func_start sub_811FDFC
-sub_811FDFC: @ 811FDFC
- push {r4-r6,lr}
- ldr r6, _0811FEE0 @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _0811FE0E
- b _0811FF1E
-_0811FE0E:
- ldr r0, _0811FEE4 @ =gUnknown_02023A60
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, _0811FEE8 @ =gUnknown_0202F7C4
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, _0811FEEC @ =gUnknown_0202F7BC
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, _0811FEF0 @ =gUnknown_0202F7B8
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, _0811FEF4 @ =gUnknown_0202F7BE
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, _0811FEF8 @ =gUnknown_0202F7C0
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, _0811FEFC @ =gUnknown_0202F7B4
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, _0811FF00 @ =gUnknown_02024E70
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_8031720
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0811FF04
- bl dp01_tbl3_exec_completed
- b _0811FF1E
- .align 2, 0
-_0811FEE0: .4byte gUnknown_02024A60
-_0811FEE4: .4byte gUnknown_02023A60
-_0811FEE8: .4byte gUnknown_0202F7C4
-_0811FEEC: .4byte gUnknown_0202F7BC
-_0811FEF0: .4byte gUnknown_0202F7B8
-_0811FEF4: .4byte gUnknown_0202F7BE
-_0811FEF8: .4byte gUnknown_0202F7C0
-_0811FEFC: .4byte gUnknown_0202F7B4
-_0811FF00: .4byte gUnknown_02024E70
-_0811FF04:
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0811FF24 @ =0x02017810
- adds r0, r1
- strb r2, [r0, 0x4]
- ldr r1, _0811FF28 @ =gUnknown_03004330
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0811FF2C @ =sub_811FF30
- str r1, [r0]
-_0811FF1E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0811FF24: .4byte 0x02017810
-_0811FF28: .4byte gUnknown_03004330
-_0811FF2C: .4byte sub_811FF30
- thumb_func_end sub_811FDFC
-
- thumb_func_start sub_811FF30
-sub_811FF30: @ 811FF30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0811FF74 @ =gUnknown_02023A60
- ldr r5, _0811FF78 @ =gUnknown_02024A60
- ldrb r3, [r5]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r9, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r6, r2, 0x2
- mov r8, r6
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r7, [r1]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r6, _0811FF7C @ =0x02017810
- adds r0, r6
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _0811FFBE
- cmp r2, 0x1
- bgt _0811FF80
- cmp r2, 0
- beq _0811FF8A
- b _08120088
- .align 2, 0
-_0811FF74: .4byte gUnknown_02023A60
-_0811FF78: .4byte gUnknown_02024A60
-_0811FF7C: .4byte 0x02017810
-_0811FF80:
- cmp r2, 0x2
- beq _0811FFE4
- cmp r2, 0x3
- beq _08120050
- b _08120088
-_0811FF8A:
- lsls r1, r3, 2
- adds r0, r6, 0
- subs r0, 0x10
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _0811FFAE
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_0811FFAE:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08120088
-_0811FFBE:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08120088
- movs r0, 0
- bl sub_80326EC
- adds r0, r4, 0
- bl ExecuteMoveAnim
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08120088
-_0811FFE4:
- ldr r0, _08120040 @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08120044 @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08120088
- movs r0, 0x1
- bl sub_80326EC
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r4, r6, 0
- subs r4, 0x10
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0812002C
- cmp r7, 0x1
- bhi _0812002C
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x9
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0812002C:
- ldr r0, _08120048 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0812004C @ =0x02017810
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _08120088
- .align 2, 0
-_08120040: .4byte gAnimScriptCallback
-_08120044: .4byte gAnimScriptActive
-_08120048: .4byte gUnknown_02024A60
-_0812004C: .4byte 0x02017810
-_08120050:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08120088
- bl sub_8031F24
- ldrb r0, [r5]
- lsls r2, r0, 9
- mov r3, r9
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_80324BC
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r4, [r0, 0x4]
- bl dp01_tbl3_exec_completed
-_08120088:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_811FF30
-
- thumb_func_start sub_8120094
-sub_8120094: @ 8120094
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _081200D8 @ =gUnknown_030042A4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _081200DC @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r4, _081200E0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, _081200E4 @ =gUnknown_02023A62
- adds r0, r1
- ldrh r0, [r0]
- bl sub_8120AA8
- ldr r0, _081200E8 @ =gUnknown_03004210
- ldr r1, _081200EC @ =gUnknown_020238CC
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x90
- movs r3, 0x2
- bl sub_8002EB0
- ldr r1, _081200F0 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _081200F4 @ =sub_811DFA0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081200D8: .4byte gUnknown_030042A4
-_081200DC: .4byte gUnknown_030042A0
-_081200E0: .4byte gUnknown_02024A60
-_081200E4: .4byte gUnknown_02023A62
-_081200E8: .4byte gUnknown_03004210
-_081200EC: .4byte gUnknown_020238CC
-_081200F0: .4byte gUnknown_03004330
-_081200F4: .4byte sub_811DFA0
- thumb_func_end sub_8120094
-
- thumb_func_start sub_81200F8
-sub_81200F8: @ 81200F8
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_81200F8
-
- thumb_func_start sub_8120104
-sub_8120104: @ 8120104
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120104
-
- thumb_func_start sub_8120110
-sub_8120110: @ 8120110
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120110
-
- thumb_func_start sub_812011C
-sub_812011C: @ 812011C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812011C
-
- thumb_func_start sub_8120128
-sub_8120128: @ 8120128
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120128
-
- thumb_func_start sub_8120134
-sub_8120134: @ 8120134
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120134
-
- thumb_func_start sub_8120140
-sub_8120140: @ 8120140
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120140
-
- thumb_func_start sub_812014C
-sub_812014C: @ 812014C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl load_gfxc_health_bar
- ldr r3, _081201C4 @ =gUnknown_02023A60
- ldr r0, _081201C8 @ =gUnknown_02024A60
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x2
- adds r0, r2, r0
- ldrb r1, [r0]
- adds r3, 0x3
- adds r2, r3
- ldrb r0, [r2]
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- asrs r7, r1, 16
- ldr r0, _081201CC @ =0x00007fff
- cmp r7, r0
- beq _081201DC
- ldr r6, _081201D0 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _081201D4 @ =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _081201D8 @ =gUnknown_03004340
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl sub_8043D84
- b _08120206
- .align 2, 0
-_081201C4: .4byte gUnknown_02023A60
-_081201C8: .4byte gUnknown_02024A60
-_081201CC: .4byte 0x00007fff
-_081201D0: .4byte gUnknown_02024A6A
-_081201D4: .4byte gPlayerParty
-_081201D8: .4byte gUnknown_03004340
-_081201DC:
- ldr r1, _08120224 @ =gUnknown_02024A6A
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08120228 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _0812022C @ =gUnknown_03004340
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl sub_8043D84
-_08120206:
- ldr r1, _08120230 @ =gUnknown_03004330
- ldr r0, _08120234 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120238 @ =bx_t3_healthbar_update
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120224: .4byte gUnknown_02024A6A
-_08120228: .4byte gPlayerParty
-_0812022C: .4byte gUnknown_03004340
-_08120230: .4byte gUnknown_03004330
-_08120234: .4byte gUnknown_02024A60
-_08120238: .4byte bx_t3_healthbar_update
- thumb_func_end sub_812014C
-
- thumb_func_start sub_812023C
-sub_812023C: @ 812023C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812023C
-
- thumb_func_start sub_8120248
-sub_8120248: @ 8120248
- push {r4,lr}
- ldr r4, _081202A0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120298
- ldr r0, _081202A4 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _081202A8 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _081202AC @ =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl sub_8045A5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _081202B0 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _081202B4 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _081202B8 @ =sub_811E38C
- str r1, [r0]
-_08120298:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081202A0: .4byte gUnknown_02024A60
-_081202A4: .4byte gUnknown_03004340
-_081202A8: .4byte gUnknown_02024A6A
-_081202AC: .4byte gPlayerParty
-_081202B0: .4byte 0x02017810
-_081202B4: .4byte gUnknown_03004330
-_081202B8: .4byte sub_811E38C
- thumb_func_end sub_8120248
-
- thumb_func_start sub_81202BC
-sub_81202BC: @ 81202BC
- push {r4,r5,lr}
- ldr r5, _08120314 @ =gUnknown_02024A60
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0812030C
- ldr r4, _08120318 @ =gUnknown_02023A60
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, _0812031C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120320 @ =sub_811E38C
- str r1, [r0]
-_0812030C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120314: .4byte gUnknown_02024A60
-_08120318: .4byte gUnknown_02023A60
-_0812031C: .4byte gUnknown_03004330
-_08120320: .4byte sub_811E38C
- thumb_func_end sub_81202BC
-
- thumb_func_start sub_8120324
-sub_8120324: @ 8120324
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120324
-
- thumb_func_start sub_8120330
-sub_8120330: @ 8120330
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120330
-
- thumb_func_start sub_812033C
-sub_812033C: @ 812033C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812033C
-
- thumb_func_start sub_8120348
-sub_8120348: @ 8120348
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120348
-
- thumb_func_start sub_8120354
-sub_8120354: @ 8120354
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120354
-
- thumb_func_start sub_8120360
-sub_8120360: @ 8120360
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120360
-
- thumb_func_start sub_812036C
-sub_812036C: @ 812036C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812036C
-
- thumb_func_start sub_8120378
-sub_8120378: @ 8120378
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120378
-
- thumb_func_start sub_8120384
-sub_8120384: @ 8120384
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120384
-
- thumb_func_start sub_8120390
-sub_8120390: @ 8120390
- push {lr}
- ldr r2, _081203A8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203A8: .4byte gUnknown_020238C8
- thumb_func_end sub_8120390
-
- thumb_func_start sub_81203AC
-sub_81203AC: @ 81203AC
- push {lr}
- ldr r3, _081203D8 @ =gUnknown_020238C8
- ldr r1, _081203DC @ =gUnknown_02023A60
- ldr r0, _081203E0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203D8: .4byte gUnknown_020238C8
-_081203DC: .4byte gUnknown_02023A60
-_081203E0: .4byte gUnknown_02024A60
- thumb_func_end sub_81203AC
-
- thumb_func_start sub_81203E4
-sub_81203E4: @ 81203E4
- push {lr}
- ldr r2, _081203F8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203F8: .4byte gUnknown_020238C8
- thumb_func_end sub_81203E4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {lr}
- ldr r3, _08120420 @ =gUnknown_020238C8
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120420: .4byte gUnknown_020238C8
- thumb_func_end sub_81203FC
-
- thumb_func_start dp01t_29_3_blink
-dp01t_29_3_blink: @ 8120424
- push {r4,lr}
- ldr r3, _0812044C @ =gSprites
- ldr r2, _08120450 @ =gUnknown_02024BE0
- ldr r4, _08120454 @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08120458
- bl dp01_tbl3_exec_completed
- b _08120482
- .align 2, 0
-_0812044C: .4byte gSprites
-_08120450: .4byte gUnknown_02024BE0
-_08120454: .4byte gUnknown_02024A60
-_08120458:
- ldr r1, _08120488 @ =gUnknown_02024E6D
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_8047858
- ldr r1, _0812048C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120490 @ =bx_blink_t3
- str r1, [r0]
-_08120482:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120488: .4byte gUnknown_02024E6D
-_0812048C: .4byte gUnknown_03004330
-_08120490: .4byte bx_blink_t3
- thumb_func_end dp01t_29_3_blink
-
- thumb_func_start sub_8120494
-sub_8120494: @ 8120494
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120494
-
- thumb_func_start sub_81204A0
-sub_81204A0: @ 81204A0
- push {r4,lr}
- ldr r4, _081204DC @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _081204B4
- movs r3, 0xC0
-_081204B4:
- ldr r2, _081204E0 @ =gUnknown_02023A60
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081204DC: .4byte gUnknown_02024A60
-_081204E0: .4byte gUnknown_02023A60
- thumb_func_end sub_81204A0
-
- thumb_func_start sub_81204E4
-sub_81204E4: @ 81204E4
- push {lr}
- ldr r2, _0812050C @ =gUnknown_02023A60
- ldr r0, _08120510 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812050C: .4byte gUnknown_02023A60
-_08120510: .4byte gUnknown_02024A60
- thumb_func_end sub_81204E4
-
- thumb_func_start sub_8120514
-sub_8120514: @ 8120514
- push {lr}
- ldr r1, _08120548 @ =gUnknown_02024A6A
- ldr r0, _0812054C @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08120550 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120548: .4byte gUnknown_02024A6A
-_0812054C: .4byte gUnknown_02024A60
-_08120550: .4byte gPlayerParty
- thumb_func_end sub_8120514
-
- thumb_func_start dp01t_2E_3_battle_intro
-dp01t_2E_3_battle_intro: @ 8120554
- push {lr}
- ldr r1, _0812057C @ =gUnknown_02023A60
- ldr r0, _08120580 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E43C0
- ldr r2, _08120584 @ =gUnknown_02024DE8
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812057C: .4byte gUnknown_02023A60
-_08120580: .4byte gUnknown_02024A60
-_08120584: .4byte gUnknown_02024DE8
- thumb_func_end dp01t_2E_3_battle_intro
-
- thumb_func_start sub_8120588
-sub_8120588: @ 8120588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _081206DC @ =gUnknown_02024BE0
- ldr r7, _081206E0 @ =gUnknown_02024A60
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _081206E4 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206E8 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _081206EC @ =sub_8078B34
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206F0 @ =sub_8030E38
- bl oamt_set_x3A_32
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _081206F4 @ =0x0000d6f9
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _081206F8 @ =gTrainerBackPicPaletteTable
- mov r8, r0
- ldrb r0, [r7]
- bl sub_803FC34
- ldr r2, _081206FC @ =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, _08120700 @ =sub_812071C
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08120704 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldrb r3, [r7]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r2, _08120708 @ =0x02017810
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081206BA
- ldr r0, _0812070C @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _08120710 @ =sub_8044CA0
- str r1, [r0]
-_081206BA:
- adds r2, 0x30
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08120714 @ =gUnknown_03004330
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120718 @ =nullsub_74
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081206DC: .4byte gUnknown_02024BE0
-_081206E0: .4byte gUnknown_02024A60
-_081206E4: .4byte gSprites
-_081206E8: .4byte 0x0000ffd8
-_081206EC: .4byte sub_8078B34
-_081206F0: .4byte sub_8030E38
-_081206F4: .4byte 0x0000d6f9
-_081206F8: .4byte gTrainerBackPicPaletteTable
-_081206FC: .4byte gLinkPlayers
-_08120700: .4byte sub_812071C
-_08120704: .4byte gTasks
-_08120708: .4byte 0x02017810
-_0812070C: .4byte gUnknown_02024E68
-_08120710: .4byte sub_8044CA0
-_08120714: .4byte gUnknown_03004330
-_08120718: .4byte nullsub_74
- thumb_func_end sub_8120588
-
- thumb_func_start sub_812071C
-sub_812071C: @ 812071C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08120744 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x17
- bgt _08120748
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _08120804
- .align 2, 0
-_08120744: .4byte gTasks
-_08120748:
- ldr r7, _08120788 @ =gUnknown_02024A60
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08120768
- ldr r0, _0812078C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120798
-_08120768:
- ldr r0, _08120790 @ =gUnknown_02023A60
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _08120794 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- b _081207EC
- .align 2, 0
-_08120788: .4byte gUnknown_02024A60
-_0812078C: .4byte gBattleTypeFlags
-_08120790: .4byte gUnknown_02023A60
-_08120794: .4byte gUnknown_02024A6A
-_08120798:
- ldr r4, _08120810 @ =gUnknown_02023A60
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, _08120814 @ =gUnknown_02024A6A
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08120818 @ =gPlayerParty
- adds r0, r2
- bl sub_80318FC
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_081207EC:
- ldr r1, _0812081C @ =gUnknown_03004330
- ldr r2, _08120820 @ =gUnknown_02024A60
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120824 @ =sub_811DCA0
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_08120804:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120810: .4byte gUnknown_02023A60
-_08120814: .4byte gUnknown_02024A6A
-_08120818: .4byte gPlayerParty
-_0812081C: .4byte gUnknown_03004330
-_08120820: .4byte gUnknown_02024A60
-_08120824: .4byte sub_811DCA0
- thumb_func_end sub_812071C
-
- thumb_func_start dp01t_30_3_80EB11C
-dp01t_30_3_80EB11C: @ 8120828
- push {r4-r6,lr}
- ldr r1, _08120850 @ =gUnknown_02023A60
- ldr r0, _08120854 @ =gUnknown_02024A60
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120858
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08120858
- bl dp01_tbl3_exec_completed
- b _081208C0
- .align 2, 0
-_08120850: .4byte gUnknown_02023A60
-_08120854: .4byte gUnknown_02024A60
-_08120858:
- ldr r5, _081208C8 @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r6, _081208CC @ =0x02017810
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _081208D0 @ =gUnknown_02023A64
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8044804
- ldr r2, _081208D4 @ =gUnknown_02024E68
- ldrb r1, [r5]
- adds r1, r2
- movs r2, 0
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r2, [r0, 0x5]
- ldrb r1, [r5]
- lsls r0, r1, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081208B4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_081208B4:
- ldr r0, _081208D8 @ =gUnknown_03004330
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, _081208DC @ =sub_81208E0
- str r0, [r1]
-_081208C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081208C8: .4byte gUnknown_02024A60
-_081208CC: .4byte 0x02017810
-_081208D0: .4byte gUnknown_02023A64
-_081208D4: .4byte gUnknown_02024E68
-_081208D8: .4byte gUnknown_03004330
-_081208DC: .4byte sub_81208E0
- thumb_func_end dp01t_30_3_80EB11C
-
- thumb_func_start sub_81208E0
-sub_81208E0: @ 81208E0
- push {r4,lr}
- ldr r4, _08120918 @ =gUnknown_02024A60
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _0812091C @ =0x02017810
- adds r0, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08120910
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strb r0, [r1, 0x5]
- bl dp01_tbl3_exec_completed
-_08120910:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120918: .4byte gUnknown_02024A60
-_0812091C: .4byte 0x02017810
- thumb_func_end sub_81208E0
-
- thumb_func_start sub_8120920
-sub_8120920: @ 8120920
- push {lr}
- ldr r0, _08120958 @ =gUnknown_02024A60
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r1, _0812095C @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812094E
- ldr r2, _08120960 @ =gTasks
- ldr r0, _08120964 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08120968 @ =sub_8044CA0
- str r1, [r0]
-_0812094E:
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120958: .4byte gUnknown_02024A60
-_0812095C: .4byte 0x02017810
-_08120960: .4byte gTasks
-_08120964: .4byte gUnknown_02024E68
-_08120968: .4byte sub_8044CA0
- thumb_func_end sub_8120920
-
- thumb_func_start sub_812096C
-sub_812096C: @ 812096C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812096C
-
- thumb_func_start sub_8120978
-sub_8120978: @ 8120978
- push {r4,lr}
- ldr r4, _081209C8 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _081209BE
- ldr r3, _081209CC @ =gSprites
- ldr r0, _081209D0 @ =gUnknown_02024BE0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _081209D4 @ =gUnknown_02023A60
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_8031F88
-_081209BE:
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081209C8: .4byte gUnknown_02024A60
-_081209CC: .4byte gSprites
-_081209D0: .4byte gUnknown_02024BE0
-_081209D4: .4byte gUnknown_02023A60
- thumb_func_end sub_8120978
-
- thumb_func_start sub_81209D8
-sub_81209D8: @ 81209D8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08120A1C @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120A30
- ldr r5, _08120A20 @ =gUnknown_02023A60
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08120A24
- bl dp01_tbl3_exec_completed
- b _08120A30
- .align 2, 0
-_08120A1C: .4byte gUnknown_02024A60
-_08120A20: .4byte gUnknown_02023A60
-_08120A24:
- ldr r0, _08120A38 @ =gUnknown_03004330
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08120A3C @ =sub_811E3B8
- str r0, [r1]
-_08120A30:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A38: .4byte gUnknown_03004330
-_08120A3C: .4byte sub_811E3B8
- thumb_func_end sub_81209D8
-
- thumb_func_start sub_8120A40
-sub_8120A40: @ 8120A40
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A40
-
- thumb_func_start sub_8120A4C
-sub_8120A4C: @ 8120A4C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A4C
-
- thumb_func_start sub_8120A58
-sub_8120A58: @ 8120A58
- push {r4,lr}
- ldr r2, _08120A90 @ =gUnknown_02024D26
- ldr r1, _08120A94 @ =gUnknown_02023A60
- ldr r4, _08120A98 @ =gUnknown_02024A60
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl dp01_tbl3_exec_completed
- ldr r1, _08120A9C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120AA0 @ =sub_811E29C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A90: .4byte gUnknown_02024D26
-_08120A94: .4byte gUnknown_02023A60
-_08120A98: .4byte gUnknown_02024A60
-_08120A9C: .4byte gUnknown_03004330
-_08120AA0: .4byte sub_811E29C
- thumb_func_end sub_8120A58
-
- thumb_func_start nullsub_75
-nullsub_75: @ 8120AA4
- bx lr
- thumb_func_end nullsub_75
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_81258BC.s b/asm/battle_anim_81258BC.s
index 86abad6f3..be9b806d9 100644
--- a/asm/battle_anim_81258BC.s
+++ b/asm/battle_anim_81258BC.s
@@ -802,7 +802,7 @@ bx_battle_menu_t6_2: @ 812B4D4
beq _0812B546
movs r0, 0x5
bl PlaySE
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r1, _0812B50C @ =gUnknown_02024E60
ldr r0, _0812B510 @ =gUnknown_02024A60
ldrb r0, [r0]
diff --git a/asm/battle_anim_8137220.s b/asm/battle_anim_8137220.s
index 134e18e6f..13773361a 100644
--- a/asm/battle_anim_8137220.s
+++ b/asm/battle_anim_8137220.s
@@ -234,7 +234,7 @@ _081373E8:
bne _08137410
movs r0, 0x5
bl PlaySE
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x1
movs r1, 0x1
movs r2, 0
@@ -3871,7 +3871,7 @@ sub_8139208: @ 8139208
ldrh r0, [r4]
cmp r0, 0x2
bne _0813922A
- bl sub_814A7FC
+ bl DestroyMenuCursor
_0813922A:
ldrh r0, [r4]
bl sub_8120AA8
@@ -4061,7 +4061,7 @@ _081393B2:
lsls r0, 24
cmp r0, 0
bne _081393DE
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x5
bl PlaySE
movs r2, 0x80
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 9dfce6c1c..c50903de5 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -1522,7 +1522,7 @@ _081350AE:
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
- bl sub_8090D90
+ bl GetNationalPokedexFlag
lsls r0, 24
cmp r0, 0
beq _081350C6
@@ -1555,7 +1555,7 @@ AppendBattleTowerBannedSpeciesName: @ 81350E0
lsls r0, 16
lsrs r0, 16
movs r1, 0x1
- bl sub_8090D90
+ bl GetNationalPokedexFlag
lsls r0, 24
cmp r0, 0
beq _081351E6
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
index 666882c04..b6ee5f9f3 100644
--- a/asm/berry_blender.s
+++ b/asm/berry_blender.s
@@ -5484,7 +5484,7 @@ _08050ED8:
adds r0, 0x6F
movs r1, 0x3
strb r1, [r0]
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x17
movs r1, 0x8
movs r2, 0x1C
@@ -5513,7 +5513,7 @@ _08050F18:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x17
movs r1, 0x8
movs r2, 0x1C
@@ -5794,7 +5794,7 @@ _0805116E:
adds r0, 0x6F
movs r1, 0x3
strb r1, [r0]
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x17
movs r1, 0x8
movs r2, 0x1C
@@ -5810,7 +5810,7 @@ _08051190:
ldrb r1, [r0]
adds r1, 0x1
strb r1, [r0]
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x17
movs r1, 0x8
movs r2, 0x1C
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 47afb097f..e4d989844 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -742,7 +742,7 @@ _081237E0:
str r3, [r2, 0x8]
ldr r0, [r2, 0x8]
bl warp_in
- ldr r0, _08123870 @ =gUnknown_0300485C
+ ldr r0, _08123870 @ =gFieldCallback
str r4, [r0]
ldr r0, _08123874 @ =CB2_LoadMap
bl SetMainCallback2
@@ -760,7 +760,7 @@ _08123860: .4byte 0x040000d4
_08123864: .4byte 0x85000400
_08123868: .4byte gUnknown_02039274
_0812386C: .4byte 0x81000800
-_08123870: .4byte gUnknown_0300485C
+_08123870: .4byte gFieldCallback
_08123874: .4byte CB2_LoadMap
thumb_func_end sub_8123740
diff --git a/asm/choose_party.s b/asm/choose_party.s
index 25122e4ef..f1a03cda3 100644
--- a/asm/choose_party.s
+++ b/asm/choose_party.s
@@ -1131,7 +1131,7 @@ _081226DC:
movs r2, 0x1D
movs r3, 0x13
bl MenuZeroFillWindowRect
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
bl sub_806D5A4
ldr r0, _0812271C @ =gOtherText_NoMoreThreePoke
movs r1, 0x1
@@ -1178,7 +1178,7 @@ _0812274A:
movs r2, 0x1D
movs r3, 0x13
bl MenuZeroFillWindowRect
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
adds r0, r4, 0
bl sub_8122838
_08122760:
@@ -1276,7 +1276,7 @@ sub_81227FC: @ 81227FC
movs r2, 0x1D
movs r3, 0x13
bl MenuZeroFillWindowRect
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
bl sub_806D538
@@ -2395,7 +2395,7 @@ sub_81230F4: @ 81230F4
movs r2, 0x1D
movs r3, 0x13
bl MenuZeroFillWindowRect
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0xF
movs r1, 0
bl sub_806D538
@@ -2455,7 +2455,7 @@ sub_8123170: @ 8123170
ands r0, r1
cmp r0, 0
bne _08123194
- ldr r0, _081231A0 @ =gUnknown_0300485C
+ ldr r0, _081231A0 @ =gFieldCallback
ldr r1, _081231A4 @ =sub_81231AC
str r1, [r0]
ldr r0, _081231A8 @ =c2_exit_to_overworld_2_switch
@@ -2468,7 +2468,7 @@ _08123194:
bx r0
.align 2, 0
_0812319C: .4byte gPaletteFade
-_081231A0: .4byte gUnknown_0300485C
+_081231A0: .4byte gFieldCallback
_081231A4: .4byte sub_81231AC
_081231A8: .4byte c2_exit_to_overworld_2_switch
thumb_func_end sub_8123170
diff --git a/asm/contest.s b/asm/contest.s
index 214935952..00c4013a3 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -1577,7 +1577,7 @@ _080ABEC6:
ands r5, r0
cmp r5, 0
beq _080ABF08
- bl sub_814A7FC
+ bl DestroyMenuCursor
movs r0, 0x5
bl PlaySE
ldr r0, _080ABF00 @ =gTasks
@@ -5585,7 +5585,7 @@ sub_80ADFD8: @ 80ADFD8
bne _080ADFFC
adds r0, r2, 0
bl DestroyTask
- ldr r0, _080AE004 @ =gUnknown_0300485C
+ ldr r0, _080AE004 @ =gFieldCallback
ldr r1, _080AE008 @ =sub_80AE010
str r1, [r0]
ldr r0, _080AE00C @ =c2_exit_to_overworld_2_switch
@@ -5595,7 +5595,7 @@ _080ADFFC:
bx r0
.align 2, 0
_080AE000: .4byte gPaletteFade
-_080AE004: .4byte gUnknown_0300485C
+_080AE004: .4byte gFieldCallback
_080AE008: .4byte sub_80AE010
_080AE00C: .4byte c2_exit_to_overworld_2_switch
thumb_func_end sub_80ADFD8
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 672eb4c1a..7bd7de240 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -1601,7 +1601,7 @@ _080C2D42:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
adds r5, 0x40
subs r4, 0x1
cmp r4, 0
diff --git a/asm/daycare.s b/asm/daycare.s
index 2944f7565..a0ea9124a 100644
--- a/asm/daycare.s
+++ b/asm/daycare.s
@@ -2279,7 +2279,7 @@ _0804279C:
ands r0, r1
cmp r0, 0
beq _080427E8
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x5
bl PlaySE
ldr r3, _080427DC @ =gLastFieldPokeMenuOpened
@@ -2311,7 +2311,7 @@ _080427E8:
ands r0, r1
cmp r0, 0
beq _08042816
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r0, _0804281C @ =gLastFieldPokeMenuOpened
ldr r1, _08042820 @ =gScriptResult
strh r4, [r1]
diff --git a/asm/decoration.s b/asm/decoration.s
deleted file mode 100644
index 221c749c5..000000000
--- a/asm/decoration.s
+++ /dev/null
@@ -1,7033 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80FE1DC
-sub_80FE1DC: @ 80FE1DC
- push {lr}
- sub sp, 0x8
- bl sub_80FE2B4
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _080FE218 @ =gUnknown_083EC604
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- ldr r0, _080FE21C @ =gUnknown_020388D4
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FE218: .4byte gUnknown_083EC604
-_080FE21C: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE1DC
-
- thumb_func_start sub_80FE220
-sub_80FE220: @ 80FE220
- push {lr}
- ldr r1, _080FE238 @ =gUnknown_020388D4
- movs r0, 0
- strb r0, [r1]
- bl ScriptContext2_Enable
- bl sub_80FE1DC
- bl sub_80FE394
- pop {r0}
- bx r0
- .align 2, 0
-_080FE238: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE220
-
- thumb_func_start DecorationPC
-DecorationPC: @ 80FE23C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80FE220
- ldr r1, _080FE25C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE260 @ =Task_DecorationPCProcessMenuInput
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE25C: .4byte gTasks
-_080FE260: .4byte Task_DecorationPCProcessMenuInput
- thumb_func_end DecorationPC
-
- thumb_func_start Task_SecretBasePC_Decoration
-Task_SecretBasePC_Decoration: @ 80FE264
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DecorationPC
- ldr r1, _080FE284 @ =0x0201f000
- ldr r0, _080FE288 @ =gSaveBlock1 + 0x1A1A
- str r0, [r1]
- adds r0, 0x10
- str r0, [r1, 0x4]
- movs r2, 0
- movs r0, 0x10
- strb r0, [r1, 0x8]
- strb r2, [r1, 0x9]
- pop {r0}
- bx r0
- .align 2, 0
-_080FE284: .4byte 0x0201f000
-_080FE288: .4byte gSaveBlock1 + 0x1A1A
- thumb_func_end Task_SecretBasePC_Decoration
-
- thumb_func_start DoPlayerPCDecoration
-DoPlayerPCDecoration: @ 80FE28C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DecorationPC
- ldr r1, _080FE2AC @ =0x0201f000
- ldr r0, _080FE2B0 @ =gSaveBlock1 + 0x2688
- str r0, [r1]
- adds r0, 0xC
- str r0, [r1, 0x4]
- movs r0, 0xC
- strb r0, [r1, 0x8]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- pop {r0}
- bx r0
- .align 2, 0
-_080FE2AC: .4byte 0x0201f000
-_080FE2B0: .4byte gSaveBlock1 + 0x2688
- thumb_func_end DoPlayerPCDecoration
-
- thumb_func_start sub_80FE2B4
-sub_80FE2B4: @ 80FE2B4
- push {lr}
- sub sp, 0x8
- ldr r1, _080FE2E8 @ =gUnknown_083EC654
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r0, sp, 0x4
- movs r1, 0xDF
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FE2E8: .4byte gUnknown_083EC654
- thumb_func_end sub_80FE2B4
-
- thumb_func_start Task_DecorationPCProcessMenuInput
-Task_DecorationPCProcessMenuInput: @ 80FE2EC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- ldr r0, _080FE368 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r5, 0x80
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080FE38C
- ldr r4, _080FE36C @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FE324
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- ldr r1, _080FE370 @ =gUnknown_020388D4
- strb r0, [r1]
- bl sub_80FE394
-_080FE324:
- ldrh r1, [r4, 0x2E]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE342
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, _080FE370 @ =gUnknown_020388D4
- strb r0, [r1]
- bl sub_80FE394
-_080FE342:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FE378
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080FE374 @ =gUnknown_083EC604
- ldr r0, _080FE370 @ =gUnknown_020388D4
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _080FE38C
- .align 2, 0
-_080FE368: .4byte gPaletteFade
-_080FE36C: .4byte gMain
-_080FE370: .4byte gUnknown_020388D4
-_080FE374: .4byte gUnknown_083EC604
-_080FE378:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FE38C
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl gpu_pal_decompress_alloc_tag_and_upload
-_080FE38C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_DecorationPCProcessMenuInput
-
- thumb_func_start sub_80FE394
-sub_80FE394: @ 80FE394
- push {lr}
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- ldr r1, _080FE3BC @ =gUnknown_083EC624
- ldr r0, _080FE3C0 @ =gUnknown_020388D4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_080FE3BC: .4byte gUnknown_083EC624
-_080FE3C0: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE394
-
- thumb_func_start gpu_pal_decompress_alloc_tag_and_upload
-gpu_pal_decompress_alloc_tag_and_upload: @ 80FE3C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- ldr r0, _080FE404 @ =0x0201f000
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _080FE40C
- ldr r0, _080FE408 @ =gUnknown_0815F399
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- b _080FE412
- .align 2, 0
-_080FE404: .4byte 0x0201f000
-_080FE408: .4byte gUnknown_0815F399
-_080FE40C:
- adds r0, r4, 0
- bl ReshowPlayerPC
-_080FE412:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end gpu_pal_decompress_alloc_tag_and_upload
-
- thumb_func_start sub_80FE418
-sub_80FE418: @ 80FE418
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE5AC
- pop {r0}
- bx r0
- thumb_func_end sub_80FE418
-
- thumb_func_start sub_80FE428
-sub_80FE428: @ 80FE428
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080FE464 @ =gUnknown_020388D4
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- bl sub_80FE394
- ldr r1, _080FE468 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE46C @ =Task_DecorationPCProcessMenuInput
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE464: .4byte gUnknown_020388D4
-_080FE468: .4byte gTasks
-_080FE46C: .4byte Task_DecorationPCProcessMenuInput
- thumb_func_end sub_80FE428
-
- thumb_func_start sub_80FE470
-sub_80FE470: @ 80FE470
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- mov r8, r1
- mov r9, r2
- adds r5, r3, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- bl sub_8072CBC
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080FE51C @ =gStringVar4
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x5
- mov r10, r0
- strb r0, [r7, 0x1]
- strb r5, [r7, 0x2]
- adds r7, 0x3
- ldr r1, _080FE520 @ =gUnknown_083EC5E4
- lsls r0, r4, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- bl sub_8134194
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- movs r2, 0x56
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- movs r0, 0xBA
- strb r0, [r7]
- adds r7, 0x1
- ldr r0, _080FE524 @ =gDecorationInventories
- lsls r4, 3
- adds r4, r0
- ldrb r1, [r4, 0x4]
- adds r0, r7, 0
- movs r2, 0x68
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- movs r0, 0xFC
- strb r0, [r7]
- mov r0, r10
- strb r0, [r7, 0x1]
- strb r6, [r7, 0x2]
- movs r0, 0xFF
- strb r0, [r7, 0x3]
- ldr r0, _080FE51C @ =gStringVar4
- mov r1, r8
- mov r2, r9
- bl MenuPrint
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE51C: .4byte gStringVar4
-_080FE520: .4byte gUnknown_083EC5E4
-_080FE524: .4byte gDecorationInventories
- thumb_func_end sub_80FE470
-
- thumb_func_start sub_80FE528
-sub_80FE528: @ 80FE528
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r5, 0
- ldr r1, _080FE574 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
-_080FE548:
- ldr r0, _080FE578 @ =0x0201f000
- ldrb r0, [r0, 0x9]
- cmp r0, 0x1
- bne _080FE57C
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FE57C
- cmp r5, 0x6
- beq _080FE57C
- cmp r5, 0x7
- beq _080FE57C
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r3, 0xD
- bl sub_80FE470
- b _080FE58E
- .align 2, 0
-_080FE574: .4byte gTasks
-_080FE578: .4byte 0x0201f000
-_080FE57C:
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r3, 0xFF
- bl sub_80FE470
-_080FE58E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _080FE548
- ldr r0, _080FE5A8 @ =gUnknownText_Exit
- movs r1, 0x1
- movs r2, 0x11
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE5A8: .4byte gUnknownText_Exit
- thumb_func_end sub_80FE528
-
- thumb_func_start sub_80FE5AC
-sub_80FE5AC: @ 80FE5AC
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80FE528
- ldr r0, _080FE5F8 @ =gUnknown_020388F6
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x9
- bl InitMenu
- ldr r1, _080FE5FC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE600 @ =sub_80FE604
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE5F8: .4byte gUnknown_020388F6
-_080FE5FC: .4byte gTasks
-_080FE600: .4byte sub_80FE604
- thumb_func_end sub_80FE5AC
-
- thumb_func_start sub_80FE604
-sub_80FE604: @ 80FE604
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r0, _080FE638 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE61C
- b _080FE720
-_080FE61C:
- ldr r2, _080FE63C @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FE640
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080FE720
- .align 2, 0
-_080FE638: .4byte gPaletteFade
-_080FE63C: .4byte gMain
-_080FE640:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE656
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080FE720
-_080FE656:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FE70C
- movs r0, 0x5
- bl PlaySE
- bl GetMenuCursorPos
- ldr r4, _080FE6C0 @ =gUnknown_020388F6
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- beq _080FE704
- ldrb r0, [r4]
- bl sub_8134194
- ldr r1, _080FE6C4 @ =gUnknown_020388D5
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080FE6DC
- ldrb r0, [r4]
- bl sub_8134104
- ldr r2, _080FE6C8 @ =gUnknown_020388D0
- ldr r1, _080FE6CC @ =gDecorationInventories
- ldrb r0, [r4]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- adds r0, r5, 0
- bl sub_80FEF50
- bl sub_80F944C
- ldr r0, _080FE6D0 @ =gUnknown_020388F7
- movs r1, 0x8
- bl sub_80F9480
- bl LoadScrollIndicatorPalette
- ldr r1, _080FE6D4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE6D8 @ =sub_80FE868
- str r1, [r0]
- b _080FE720
- .align 2, 0
-_080FE6C0: .4byte gUnknown_020388F6
-_080FE6C4: .4byte gUnknown_020388D5
-_080FE6C8: .4byte gUnknown_020388D0
-_080FE6CC: .4byte gDecorationInventories
-_080FE6D0: .4byte gUnknown_020388F7
-_080FE6D4: .4byte gTasks
-_080FE6D8: .4byte sub_80FE868
-_080FE6DC:
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080FE6FC @ =gSecretBaseText_NoDecors
- ldr r2, _080FE700 @ =sub_80FE418
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FE720
- .align 2, 0
-_080FE6FC: .4byte gSecretBaseText_NoDecors
-_080FE700: .4byte sub_80FE418
-_080FE704:
- adds r0, r5, 0
- bl sub_80FE728
- b _080FE720
-_080FE70C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FE720
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80FE728
-_080FE720:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE604
-
- thumb_func_start sub_80FE728
-sub_80FE728: @ 80FE728
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080FE748 @ =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- beq _080FE74C
- adds r0, r2, 0
- bl sub_80FE758
- b _080FE752
- .align 2, 0
-_080FE748: .4byte gTasks
-_080FE74C:
- adds r0, r2, 0
- bl sub_8109DAC
-_080FE752:
- pop {r0}
- bx r0
- thumb_func_end sub_80FE728
-
- thumb_func_start sub_80FE758
-sub_80FE758: @ 80FE758
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080FE794 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- beq _080FE79C
- bl sub_80FE1DC
- bl MenuDisplayMessageBox
- bl sub_80FE394
- ldr r0, _080FE798 @ =Task_DecorationPCProcessMenuInput
- str r0, [r5]
- b _080FE7A2
- .align 2, 0
-_080FE794: .4byte gTasks
-_080FE798: .4byte Task_DecorationPCProcessMenuInput
-_080FE79C:
- adds r0, r4, 0
- bl sub_80B3068
-_080FE7A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE758
-
- thumb_func_start sub_80FE7A8
-sub_80FE7A8: @ 80FE7A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080FE7CC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x3
- strh r2, [r1, 0x1E]
- ldr r1, _080FE7D0 @ =gUnknown_020388F6
- strb r3, [r1]
- bl sub_80FE5AC
- pop {r0}
- bx r0
- .align 2, 0
-_080FE7CC: .4byte gTasks
-_080FE7D0: .4byte gUnknown_020388F6
- thumb_func_end sub_80FE7A8
-
- thumb_func_start sub_80FE7D4
-sub_80FE7D4: @ 80FE7D4
- push {lr}
- lsls r1, 24
- ldr r2, _080FE7E8 @ =gUnknown_083EC5E4
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_080FE7E8: .4byte gUnknown_083EC5E4
- thumb_func_end sub_80FE7D4
-
- .section .text_80FE868
-
- thumb_func_start sub_80FE868
-sub_80FE868: @ 80FE868
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80FE7EC
- ldr r1, _080FE88C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE890 @ =sub_80FE948
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE88C: .4byte gTasks
-_080FE890: .4byte sub_80FE948
- thumb_func_end sub_80FE868
-
- thumb_func_start sub_80FE894
-sub_80FE894: @ 80FE894
- 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 r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r0, 0
- mov r10, r0
- ldr r6, _080FE920 @ =gUnknown_020388F2
- ldrb r1, [r6]
- ldr r4, _080FE924 @ =gUnknown_020388F4
- ldrb r0, [r4]
- adds r1, r0
- ldr r2, _080FE928 @ =gUnknown_020388D5
- mov r9, r2
- ldrb r0, [r2]
- cmp r1, r0
- bne _080FE8C8
- movs r1, 0x1
- mov r10, r1
-_080FE8C8:
- movs r0, 0x5
- bl PlaySE
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0
- beq _080FE8DC
- bl MoveMenuCursor
- strb r0, [r6]
-_080FE8DC:
- cmp r7, 0
- beq _080FE8EE
- ldrb r0, [r4]
- adds r0, r7
- strb r0, [r4]
- mov r0, r8
- movs r1, 0x1
- bl sub_80FEABC
-_080FE8EE:
- ldrb r0, [r6]
- ldrb r1, [r4]
- adds r0, r1
- mov r2, r9
- ldrb r2, [r2]
- cmp r0, r2
- beq _080FE92C
- mov r0, r10
- cmp r0, 0
- beq _080FE90E
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
-_080FE90E:
- ldrb r0, [r4]
- ldrb r6, [r6]
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FECE0
- b _080FE938
- .align 2, 0
-_080FE920: .4byte gUnknown_020388F2
-_080FE924: .4byte gUnknown_020388F4
-_080FE928: .4byte gUnknown_020388D5
-_080FE92C:
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080FE938:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE894
-
- thumb_func_start sub_80FE948
-sub_80FE948: @ 80FE948
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080FE980 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FE95C
- b _080FEAAC
-_080FE95C:
- ldr r0, _080FE984 @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0x40
- bne _080FE9A0
- ldr r0, _080FE988 @ =gUnknown_020388F2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FE98C
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- movs r2, 0
- bl sub_80FE894
- b _080FE9A0
- .align 2, 0
-_080FE980: .4byte gPaletteFade
-_080FE984: .4byte gMain
-_080FE988: .4byte gUnknown_020388F2
-_080FE98C:
- ldr r0, _080FE9C4 @ =gUnknown_020388F4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FE9A0
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FE894
-_080FE9A0:
- ldr r0, _080FE9C8 @ =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0x80
- bne _080FE9EE
- ldr r2, _080FE9CC @ =gUnknown_020388F2
- ldr r1, _080FE9D0 @ =gUnknown_020388F3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080FE9D4
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80FE894
- b _080FE9EE
- .align 2, 0
-_080FE9C4: .4byte gUnknown_020388F4
-_080FE9C8: .4byte gMain
-_080FE9CC: .4byte gUnknown_020388F2
-_080FE9D0: .4byte gUnknown_020388F3
-_080FE9D4:
- ldr r0, _080FEA38 @ =gUnknown_020388F4
- ldrb r0, [r0]
- ldrb r1, [r2]
- adds r0, r1
- ldr r1, _080FEA3C @ =gUnknown_020388D5
- ldrb r1, [r1]
- cmp r0, r1
- beq _080FE9EE
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_80FE894
-_080FE9EE:
- ldr r0, _080FEA40 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FEA7C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080FEA44 @ =gUnknown_020388F5
- ldr r1, _080FEA48 @ =gUnknown_020388F2
- ldr r0, _080FEA38 @ =gUnknown_020388F4
- ldrb r0, [r0]
- ldrb r1, [r1]
- adds r0, r1
- strb r0, [r2]
- ldr r1, _080FEA3C @ =gUnknown_020388D5
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080FEA54
- ldr r1, _080FEA4C @ =gUnknown_083EC634
- ldr r2, _080FEA50 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- b _080FEA68
- .align 2, 0
-_080FEA38: .4byte gUnknown_020388F4
-_080FEA3C: .4byte gUnknown_020388D5
-_080FEA40: .4byte gMain
-_080FEA44: .4byte gUnknown_020388F5
-_080FEA48: .4byte gUnknown_020388F2
-_080FEA4C: .4byte gUnknown_083EC634
-_080FEA50: .4byte gTasks
-_080FEA54:
- ldr r2, _080FEA74 @ =gUnknown_083EC634
- ldr r1, _080FEA78 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- lsls r0, 3
- adds r0, r2
-_080FEA68:
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080FEAAC
- .align 2, 0
-_080FEA74: .4byte gUnknown_083EC634
-_080FEA78: .4byte gTasks
-_080FEA7C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FEAAC
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080FEAB4 @ =gUnknown_083EC634
- ldr r2, _080FEAB8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080FEAAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEAB4: .4byte gUnknown_083EC634
-_080FEAB8: .4byte gTasks
- thumb_func_end sub_80FE948
-
- thumb_func_start sub_80FEABC
-sub_80FEABC: @ 80FEABC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080FEB58 @ =gUnknown_020388F4
- ldrb r0, [r4]
- cmp r0, 0
- bne _080FEADE
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- ldrb r0, [r4]
- cmp r0, 0
- beq _080FEAE8
-_080FEADE:
- movs r0, 0
- movs r1, 0x3C
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
-_080FEAE8:
- ldr r5, _080FEB58 @ =gUnknown_020388F4
- ldrb r0, [r5]
- adds r0, 0x7
- ldr r4, _080FEB5C @ =gUnknown_020388D5
- ldrb r1, [r4]
- cmp r0, r1
- bne _080FEAFC
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_080FEAFC:
- ldrb r0, [r5]
- adds r0, 0x7
- ldrb r4, [r4]
- cmp r0, r4
- bge _080FEB10
- movs r0, 0x1
- movs r1, 0x3C
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
-_080FEB10:
- ldrb r4, [r5]
- adds r0, r4, 0
- adds r0, 0x8
- cmp r4, r0
- blt _080FEB1C
- b _080FEC7E
-_080FEB1C:
- adds r7, r5, 0
-_080FEB1E:
- ldrb r1, [r7]
- subs r1, r4, r1
- lsls r0, r1, 25
- movs r2, 0x80
- lsls r2, 18
- adds r0, r2
- lsrs r6, r0, 24
- ldr r0, _080FEB60 @ =gUnknown_020388F7
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FEB3C
- adds r0, r1, 0
- bl sub_80F94F8
-_080FEB3C:
- ldr r0, _080FEB5C @ =gUnknown_020388D5
- ldrb r0, [r0]
- cmp r4, r0
- bne _080FEB68
- lsls r2, r6, 3
- movs r0, 0x1
- str r0, [sp]
- ldr r0, _080FEB64 @ =gUnknownText_Exit
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
- b _080FEC7E
- .align 2, 0
-_080FEB58: .4byte gUnknown_020388F4
-_080FEB5C: .4byte gUnknown_020388D5
-_080FEB60: .4byte gUnknown_020388F7
-_080FEB64: .4byte gUnknownText_Exit
-_080FEB68:
- ldr r0, _080FEBC0 @ =gUnknown_020388D0
- ldr r1, [r0]
- adds r2, r1, r4
- ldrb r1, [r2]
- mov r12, r0
- adds r5, r4, 0x1
- cmp r1, 0
- bne _080FEB7A
- b _080FEC70
-_080FEB7A:
- ldr r0, _080FEBC4 @ =0x0201f000
- ldrb r5, [r0, 0x9]
- cmp r5, 0x1
- bne _080FEBDC
- ldr r0, _080FEBC8 @ =gUnknown_020388F6
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080FEBDC
- cmp r0, 0x7
- beq _080FEBDC
- ldr r0, _080FEBCC @ =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r3, 0x1E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080FEBDC
- ldrb r1, [r2]
- lsls r1, 5
- ldr r0, _080FEBD0 @ =gDecorations + 0x1
- adds r1, r0
- ldr r0, _080FEBD4 @ =gStringVar1
- bl StringCopy
- lsls r2, r6, 3
- str r5, [sp]
- ldr r0, _080FEBD8 @ =gUnknown_083EC65A
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
- b _080FEBF8
- .align 2, 0
-_080FEBC0: .4byte gUnknown_020388D0
-_080FEBC4: .4byte 0x0201f000
-_080FEBC8: .4byte gUnknown_020388F6
-_080FEBCC: .4byte gTasks
-_080FEBD0: .4byte gDecorations + 0x1
-_080FEBD4: .4byte gStringVar1
-_080FEBD8: .4byte gUnknown_083EC65A
-_080FEBDC:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 5
- ldr r1, _080FEC00 @ =gDecorations + 0x1
- adds r0, r1
- lsls r2, r6, 3
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
-_080FEBF8:
- movs r1, 0
- adds r5, r4, 0x1
- b _080FEC0A
- .align 2, 0
-_080FEC00: .4byte gDecorations + 0x1
-_080FEC04:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
-_080FEC0A:
- cmp r1, 0xF
- bhi _080FEC34
- ldr r0, _080FEC38 @ =gUnknown_020388D6
- adds r0, r1, r0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, r4
- bne _080FEC04
- ldrb r3, [r7]
- subs r3, r4, r3
- ldr r1, _080FEC3C @ =gUnknown_020388F7
- adds r1, r3, r1
- lsls r3, 20
- movs r2, 0xC0
- lsls r2, 13
- adds r3, r2
- asrs r3, 16
- movs r0, 0x4
- movs r2, 0x6C
- bl sub_80F94A4
-_080FEC34:
- movs r1, 0
- b _080FEC46
- .align 2, 0
-_080FEC38: .4byte gUnknown_020388D6
-_080FEC3C: .4byte gUnknown_020388F7
-_080FEC40:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
-_080FEC46:
- cmp r1, 0xB
- bhi _080FEC70
- ldr r0, _080FEC8C @ =gUnknown_020388E6
- adds r0, r1, r0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, r4
- bne _080FEC40
- ldrb r3, [r7]
- subs r3, r4, r3
- ldr r1, _080FEC90 @ =gUnknown_020388F7
- adds r1, r3, r1
- lsls r3, 20
- movs r0, 0xC0
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x5
- movs r2, 0x6C
- bl sub_80F94A4
-_080FEC70:
- lsls r0, r5, 16
- lsrs r4, r0, 16
- ldrb r0, [r7]
- adds r0, 0x8
- cmp r4, r0
- bge _080FEC7E
- b _080FEB1E
-_080FEC7E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC8C: .4byte gUnknown_020388E6
-_080FEC90: .4byte gUnknown_020388F7
- thumb_func_end sub_80FEABC
-
- thumb_func_start sub_80FEC94
-sub_80FEC94: @ 80FEC94
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FEABC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC94
-
- thumb_func_start sub_80FECB8
-sub_80FECB8: @ 80FECB8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x3
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80FE470
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FECB8
-
- thumb_func_start sub_80FECE0
-sub_80FECE0: @ 80FECE0
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080FED14 @ =gDecorations
- ldr r1, _080FED18 @ =gUnknown_020388D0
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 5
- adds r2, 0x18
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x80
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FED14: .4byte gDecorations
-_080FED18: .4byte gUnknown_020388D0
- thumb_func_end sub_80FECE0
-
- thumb_func_start sub_80FED1C
-sub_80FED1C: @ 80FED1C
- push {lr}
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x3
- bl MenuZeroFillWindowRect
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80FED1C
-
- thumb_func_start sub_80FED3C
-sub_80FED3C: @ 80FED3C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl LoadScrollIndicatorPalette
- ldr r1, _080FED5C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FED60 @ =sub_80FE868
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FED5C: .4byte gTasks
-_080FED60: .4byte sub_80FE868
- thumb_func_end sub_80FED3C
-
- thumb_func_start sub_80FED64
-sub_80FED64: @ 80FED64
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, _080FED7C @ =gUnknown_020388D6
-_080FED6E:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FED80
- movs r0, 0x1
- b _080FED8C
- .align 2, 0
-_080FED7C: .4byte gUnknown_020388D6
-_080FED80:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080FED6E
- movs r0, 0
-_080FED8C:
- pop {r1}
- bx r1
- thumb_func_end sub_80FED64
-
- thumb_func_start sub_80FED90
-sub_80FED90: @ 80FED90
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r3, 0
- ldr r4, _080FEE30 @ =gUnknown_020388D6
- movs r1, 0
- ldr r2, _080FEE34 @ =gUnknown_020388E6
-_080FEDA4:
- adds r0, r3, r4
- strb r1, [r0]
- cmp r3, 0xB
- bhi _080FEDB0
- adds r0, r3, r2
- strb r1, [r0]
-_080FEDB0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080FEDA4
- movs r3, 0
- ldr r0, _080FEE38 @ =gSaveBlock1 + 0x1A1A
- mov r10, r0
- ldr r1, _080FEE3C @ =gDecorationInventories
- mov r9, r1
- ldr r2, _080FEE40 @ =gUnknown_020388F6
- mov r8, r2
-_080FEDC8:
- mov r1, r10
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FEE5A
- movs r1, 0
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 3
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080FEE5A
- ldr r0, _080FEE38 @ =gSaveBlock1 + 0x1A1A
- adds r0, r3
- mov r12, r0
- ldr r7, _080FEE30 @ =gUnknown_020388D6
-_080FEDEA:
- ldr r0, _080FEE44 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r1, 0x1
- mov r1, r12
- ldrb r1, [r1]
- cmp r0, r1
- bne _080FEE48
- movs r1, 0
- cmp r1, r6
- bcs _080FEE1E
- ldrb r0, [r7]
- cmp r0, r4
- beq _080FEE1E
- ldr r5, _080FEE30 @ =gUnknown_020388D6
- adds r2, r4, 0
-_080FEE0C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r6
- bcs _080FEE1E
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FEE0C
-_080FEE1E:
- cmp r1, r6
- bne _080FEE48
- adds r0, r6, r7
- strb r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _080FEE5A
- .align 2, 0
-_080FEE30: .4byte gUnknown_020388D6
-_080FEE34: .4byte gUnknown_020388E6
-_080FEE38: .4byte gSaveBlock1 + 0x1A1A
-_080FEE3C: .4byte gDecorationInventories
-_080FEE40: .4byte gUnknown_020388F6
-_080FEE44: .4byte gUnknown_020388D0
-_080FEE48:
- lsls r0, r4, 16
- lsrs r1, r0, 16
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 3
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcc _080FEDEA
-_080FEE5A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080FEDC8
- movs r6, 0
- movs r3, 0
- ldr r0, _080FEEE4 @ =gDecorationInventories
- mov r8, r0
-_080FEE6C:
- ldr r0, _080FEEE8 @ =gSaveBlock1
- ldr r1, _080FEEEC @ =0x00002688
- adds r0, r1
- adds r2, r3, r0
- ldrb r0, [r2]
- adds r7, r3, 0x1
- cmp r0, 0
- beq _080FEF0E
- movs r1, 0
- ldr r0, _080FEEF0 @ =gUnknown_020388F6
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r8
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080FEF0E
- adds r5, r2, 0
-_080FEE8E:
- ldr r0, _080FEEF4 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r1, 0x1
- ldrb r2, [r5]
- cmp r0, r2
- bne _080FEEFC
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80FED64
- lsls r0, 24
- cmp r0, 0
- bne _080FEEFC
- movs r1, 0
- cmp r1, r6
- bcs _080FEED0
- ldr r2, _080FEEF8 @ =gUnknown_020388E6
- ldrb r0, [r2]
- cmp r0, r4
- beq _080FEED0
- adds r3, r2, 0
- adds r2, r4, 0
-_080FEEBE:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r6
- bcs _080FEED0
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FEEBE
-_080FEED0:
- cmp r1, r6
- bne _080FEEFC
- ldr r0, _080FEEF8 @ =gUnknown_020388E6
- adds r0, r6, r0
- strb r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _080FEF0E
- .align 2, 0
-_080FEEE4: .4byte gDecorationInventories
-_080FEEE8: .4byte gSaveBlock1
-_080FEEEC: .4byte 0x00002688
-_080FEEF0: .4byte gUnknown_020388F6
-_080FEEF4: .4byte gUnknown_020388D0
-_080FEEF8: .4byte gUnknown_020388E6
-_080FEEFC:
- lsls r0, r4, 16
- lsrs r1, r0, 16
- ldr r0, _080FEF24 @ =gUnknown_020388F6
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r8
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcc _080FEE8E
-_080FEF0E:
- lsls r0, r7, 16
- lsrs r3, r0, 16
- cmp r3, 0xB
- bls _080FEE6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF24: .4byte gUnknown_020388F6
- thumb_func_end sub_80FED90
-
- thumb_func_start sub_80FEF28
-sub_80FEF28: @ 80FEF28
- push {lr}
- ldr r0, _080FEF38 @ =gUnknown_020388D5
- ldrb r1, [r0]
- cmp r1, 0x7
- bhi _080FEF40
- ldr r0, _080FEF3C @ =gUnknown_020388F3
- strb r1, [r0]
- b _080FEF46
- .align 2, 0
-_080FEF38: .4byte gUnknown_020388D5
-_080FEF3C: .4byte gUnknown_020388F3
-_080FEF40:
- ldr r1, _080FEF4C @ =gUnknown_020388F3
- movs r0, 0x7
- strb r0, [r1]
-_080FEF46:
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF4C: .4byte gUnknown_020388F3
- thumb_func_end sub_80FEF28
-
- thumb_func_start sub_80FEF50
-sub_80FEF50: @ 80FEF50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FED90
- bl sub_80FEF28
- ldr r0, _080FEF6C @ =gUnknown_020388F2
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FEF70 @ =gUnknown_020388F4
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF6C: .4byte gUnknown_020388F2
-_080FEF70: .4byte gUnknown_020388F4
- thumb_func_end sub_80FEF50
-
- thumb_func_start sub_80FEF74
-sub_80FEF74: @ 80FEF74
- push {lr}
- ldr r0, _080FEFA0 @ =gUnknown_020388F7
- movs r1, 0x8
- bl sub_80F9520
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- .align 2, 0
-_080FEFA0: .4byte gUnknown_020388F7
- thumb_func_end sub_80FEF74
-
- thumb_func_start sub_80FEFA4
-sub_80FEFA4: @ 80FEFA4
- push {r4,lr}
- movs r2, 0
- ldr r0, _080FEFD0 @ =gUnknown_020388F4
- ldrb r0, [r0]
- ldr r1, _080FEFD4 @ =gUnknown_020388F2
- ldrb r1, [r1]
- adds r0, r1
- adds r1, r0, 0x1
- ldr r4, _080FEFD8 @ =gUnknown_020388D6
- ldr r3, _080FEFDC @ =gUnknown_020388E6
-_080FEFB8:
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, r1
- beq _080FEFCC
- cmp r2, 0xB
- bhi _080FEFE0
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _080FEFE0
-_080FEFCC:
- movs r0, 0
- b _080FEFEC
- .align 2, 0
-_080FEFD0: .4byte gUnknown_020388F4
-_080FEFD4: .4byte gUnknown_020388F2
-_080FEFD8: .4byte gUnknown_020388D6
-_080FEFDC: .4byte gUnknown_020388E6
-_080FEFE0:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080FEFB8
- movs r0, 0x1
-_080FEFEC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FEFA4
-
- thumb_func_start sub_80FEFF4
-sub_80FEFF4: @ 80FEFF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080FF028 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080FF00E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FF020
-_080FF00E:
- bl LoadScrollIndicatorPalette
- ldr r0, _080FF02C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080FF030 @ =sub_80FE868
- str r0, [r1]
-_080FF020:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF028: .4byte gMain
-_080FF02C: .4byte gTasks
-_080FF030: .4byte sub_80FE868
- thumb_func_end sub_80FEFF4
-
- thumb_func_start sub_80FF034
-sub_80FF034: @ 80FF034
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80FE5AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF034
-
- thumb_func_start sub_80FF058
-sub_80FF058: @ 80FF058
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080FF08C @ =gUnknown_020388F7
- movs r1, 0x8
- bl sub_80F9520
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- bl BuyMenuFreeMemory
- ldr r1, _080FF090 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FF094 @ =sub_80FF034
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF08C: .4byte gUnknown_020388F7
-_080FF090: .4byte gTasks
-_080FF094: .4byte sub_80FF034
- thumb_func_end sub_80FF058
-
- thumb_func_start sub_80FF098
-sub_80FF098: @ 80FF098
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080FF0D4 @ =gUnknown_020388D5
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- ldr r3, _080FF0D8 @ =gUnknown_020388F4
- ldrb r2, [r3]
- adds r0, r2, 0x7
- ldrb r1, [r1]
- cmp r0, r1
- ble _080FF0BA
- cmp r2, 0
- beq _080FF0BA
- subs r0, r2, 0x1
- strb r0, [r3]
-_080FF0BA:
- ldr r0, _080FF0DC @ =gUnknown_020388F6
- ldrb r0, [r0]
- bl sub_8134104
- adds r0, r4, 0
- bl sub_80FED90
- bl sub_80FEF28
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF0D4: .4byte gUnknown_020388D5
-_080FF0D8: .4byte gUnknown_020388F4
-_080FF0DC: .4byte gUnknown_020388F6
- thumb_func_end sub_80FF098
-
- thumb_func_start sub_80FF0E0
-sub_80FF0E0: @ 80FF0E0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FF10C @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r4, r2, r3
- ldr r1, _080FF110 @ =gSaveBlock1
- ldrh r0, [r1]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x10]
- adds r3, 0x8
- adds r2, r3
- adds r1, r2, 0x2
- adds r0, r2, 0
- bl PlayerGetDestCoords
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF10C: .4byte gTasks
-_080FF110: .4byte gSaveBlock1
- thumb_func_end sub_80FF0E0
-
- thumb_func_start sub_80FF114
-sub_80FF114: @ 80FF114
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl DrawWholeMapView
- ldr r1, _080FF158 @ =gSaveBlock1
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- ldr r3, _080FF15C @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r3
- movs r3, 0xE
- ldrsb r3, [r4, r3]
- ldrb r4, [r4, 0x10]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl warp1_set
- bl warp_in
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF158: .4byte gSaveBlock1
-_080FF15C: .4byte gTasks
- thumb_func_end sub_80FF114
-
- thumb_func_start sub_80FF160
-sub_80FF160: @ 80FF160
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _080FF188
- ldr r1, _080FF180 @ =gSecretBaseText_NoDecors
- ldr r2, _080FF184 @ =sub_80FE428
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FF1A2
- .align 2, 0
-_080FF180: .4byte gSecretBaseText_NoDecors
-_080FF184: .4byte sub_80FE428
-_080FF188:
- ldr r1, _080FF1A8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x1E]
- ldr r0, _080FF1AC @ =gUnknown_020388F6
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_080FF1A2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF1A8: .4byte gTasks
-_080FF1AC: .4byte gUnknown_020388F6
- thumb_func_end sub_80FF160
-
- thumb_func_start sub_80FF1B0
-sub_80FF1B0: @ 80FF1B0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080FF1D0 @ =0x0000ffff
- cmp r2, 0x22
- beq _080FF1D8
- cmp r2, 0x26
- bne _080FF1E2
- ldr r0, _080FF1D4 @ =gUnknown_083EC97C
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 16
- b _080FF1E2
- .align 2, 0
-_080FF1D0: .4byte 0x0000ffff
-_080FF1D4: .4byte gUnknown_083EC97C
-_080FF1D8:
- ldr r0, _080FF1E8 @ =gUnknown_083EC984
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 16
-_080FF1E2:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF1E8: .4byte gUnknown_083EC984
- thumb_func_end sub_80FF1B0
-
- thumb_func_start sub_80FF1EC
-sub_80FF1EC: @ 80FF1EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r4, [sp, 0x54]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x10]
- movs r2, 0
- lsls r0, r3, 16
- cmp r2, r3
- bcc _080FF222
- b _080FF384
-_080FF222:
- ldr r1, [sp, 0x8]
- str r1, [sp, 0x28]
- str r0, [sp, 0x2C]
-_080FF228:
- ldr r3, [sp, 0x4]
- ldr r4, [sp, 0xC]
- subs r1, r3, r4
- lsls r0, r2, 16
- asrs r0, 16
- adds r0, 0x1
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- movs r0, 0
- mov r10, r0
- adds r1, r2, 0x1
- str r1, [sp, 0x30]
- ldr r3, [sp, 0x28]
- cmp r10, r3
- bcc _080FF24C
- b _080FF374
-_080FF24C:
- ldr r4, [sp, 0x10]
- lsls r4, 5
- str r4, [sp, 0x18]
- ldr r0, _080FF2B4 @ =gDecorations + 0x1C
- adds r0, r4, r0
- str r0, [sp, 0x1C]
- ldr r0, _080FF2B8 @ =gDecorations
- adds r0, r4, r0
- str r0, [sp, 0x24]
- ldr r3, [sp, 0x8]
- adds r1, r2, 0
- muls r1, r3
- str r1, [sp, 0x20]
-_080FF266:
- ldr r0, [sp]
- add r0, r10
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, [sp, 0x20]
- add r1, r10
- ldr r4, [sp, 0x1C]
- ldr r0, [r4]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- lsls r4, r0, 16
- lsls r0, r4, 8
- lsrs r0, 24
- bl sub_8057288
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FF2AC
- ldr r3, [sp, 0x24]
- ldrb r0, [r3, 0x11]
- cmp r0, 0x1
- beq _080FF2BC
- lsrs r0, r4, 28
- cmp r0, 0
- beq _080FF2BC
-_080FF2AC:
- movs r4, 0xC0
- lsls r4, 4
- mov r8, r4
- b _080FF2C0
- .align 2, 0
-_080FF2B4: .4byte gDecorations + 0x1C
-_080FF2B8: .4byte gDecorations
-_080FF2BC:
- movs r0, 0
- mov r8, r0
-_080FF2C0:
- ldr r1, [sp, 0x24]
- ldrb r0, [r1, 0x11]
- lsls r7, r5, 16
- ldr r2, [sp, 0x14]
- lsls r2, 16
- mov r9, r2
- cmp r0, 0x3
- beq _080FF2EA
- asrs r0, r7, 16
- asrs r1, r2, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80572B0
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1
- cmp r0, 0x1
- beq _080FF2EC
-_080FF2EA:
- movs r6, 0
-_080FF2EC:
- ldr r3, [sp, 0x18]
- ldr r4, _080FF334 @ =gDecorations
- adds r0, r3, r4
- ldrb r0, [r0]
- ldr r4, [sp, 0x20]
- add r4, r10
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_80FF1B0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080FF338 @ =0x0000ffff
- cmp r5, r0
- beq _080FF33C
- asrs r0, r7, 16
- mov r2, r9
- asrs r1, r2, 16
- ldr r3, [sp, 0x1C]
- ldr r2, [r3]
- lsls r3, r4, 1
- adds r3, r2
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- orrs r6, r2
- ldrh r3, [r3]
- adds r2, r6, r3
- mov r3, r8
- orrs r3, r2
- orrs r3, r5
- lsls r2, r3, 16
- lsrs r2, 16
- bl MapGridSetMetatileEntryAt
- b _080FF362
- .align 2, 0
-_080FF334: .4byte gDecorations
-_080FF338: .4byte 0x0000ffff
-_080FF33C:
- asrs r0, r7, 16
- mov r2, r9
- asrs r1, r2, 16
- ldr r3, [sp, 0x1C]
- ldr r2, [r3]
- lsls r3, r4, 1
- adds r3, r2
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- orrs r6, r2
- ldrh r3, [r3]
- adds r2, r6, r3
- mov r3, r8
- orrs r3, r2
- lsls r2, r3, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
-_080FF362:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldr r4, [sp, 0x28]
- cmp r10, r4
- bcs _080FF374
- b _080FF266
-_080FF374:
- ldr r1, [sp, 0x30]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- ldr r3, [sp, 0x2C]
- lsrs r0, r3, 16
- cmp r2, r0
- bcs _080FF384
- b _080FF228
-_080FF384:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF1EC
-
- thumb_func_start sub_80FF394
-sub_80FF394: @ 80FF394
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _080FF3BC @ =gDecorations
- lsls r0, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x12]
- cmp r0, 0x9
- bhi _080FF46C
- lsls r0, 2
- ldr r1, _080FF3C0 @ =_080FF3C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF3BC: .4byte gDecorations
-_080FF3C0: .4byte _080FF3C4
- .align 2, 0
-_080FF3C4:
- .4byte _080FF3EC
- .4byte _080FF3F6
- .4byte _080FF400
- .4byte _080FF410
- .4byte _080FF41A
- .4byte _080FF424
- .4byte _080FF434
- .4byte _080FF43E
- .4byte _080FF44E
- .4byte _080FF45E
-_080FF3EC:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
- b _080FF408
-_080FF3F6:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- b _080FF408
-_080FF400:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
-_080FF408:
- movs r3, 0x1
- bl sub_80FF1EC
- b _080FF46C
-_080FF410:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x4
- b _080FF42C
-_080FF41A:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- b _080FF42C
-_080FF424:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
-_080FF42C:
- movs r3, 0x2
- bl sub_80FF1EC
- b _080FF46C
-_080FF434:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
- b _080FF456
-_080FF43E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80FF1EC
- b _080FF46C
-_080FF44E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
-_080FF456:
- movs r3, 0x3
- bl sub_80FF1EC
- b _080FF46C
-_080FF45E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_80FF1EC
-_080FF46C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF394
-
- thumb_func_start sub_80FF474
-sub_80FF474: @ 80FF474
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
- ldr r0, _080FF54C @ =gMapHeader
- mov r8, r0
- ldr r1, _080FF550 @ =gSpecialVar_0x8005
- mov r9, r1
- ldr r2, _080FF554 @ =gSpecialVar_0x8006
- mov r10, r2
- ldr r7, _080FF558 @ =gSaveBlock1
-_080FF490:
- adds r5, r6, 0
- adds r5, 0xAE
- adds r4, r5, 0
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF570
- adds r0, r4, 0
- bl FlagReset
- movs r2, 0
- mov r4, r8
- ldr r0, [r4, 0x4]
- ldrb r6, [r0]
- cmp r2, r6
- bcs _080FF4E0
- ldr r0, [r0, 0x4]
- ldrh r0, [r0, 0x14]
- cmp r0, r5
- beq _080FF4E0
- ldr r0, _080FF54C @ =gMapHeader
- ldr r3, [r0, 0x4]
- ldrb r6, [r3]
- adds r4, r5, 0
-_080FF4C6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r6
- bcs _080FF4E0
- ldr r0, [r3, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x14]
- cmp r0, r4
- bne _080FF4C6
-_080FF4E0:
- mov r1, r8
- ldr r0, [r1, 0x4]
- ldr r1, [r0, 0x4]
- lsls r4, r2, 1
- adds r4, r2
- lsls r4, 3
- adds r1, r4, r1
- ldr r2, _080FF55C @ =0x00003f20
- adds r0, r2, 0
- ldrb r1, [r1, 0x1]
- adds r0, r1
- ldr r1, _080FF560 @ =gUnknown_02038900
- ldr r1, [r1]
- ldr r1, [r1, 0x1C]
- ldrh r1, [r1]
- bl VarSet
- mov r5, r8
- ldr r0, [r5, 0x4]
- ldr r0, [r0, 0x4]
- adds r4, r0
- ldrb r0, [r4]
- mov r6, r9
- strh r0, [r6]
- ldr r1, _080FF564 @ =gUnknown_020391A4
- ldrh r1, [r1]
- mov r2, r10
- strh r1, [r2]
- ldr r1, _080FF568 @ =gUnknown_020391A6
- ldrh r1, [r1]
- ldr r4, _080FF56C @ =gSpecialVar_0x8007
- strh r1, [r4]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- bl show_sprite
- ldrb r0, [r6]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- mov r5, r10
- movs r6, 0
- ldrsh r3, [r5, r6]
- movs r5, 0
- ldrsh r4, [r4, r5]
- str r4, [sp]
- bl sub_805C0F8
- mov r6, r9
- ldrb r0, [r6]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- bl sub_805C78C
- b _080FF57A
- .align 2, 0
-_080FF54C: .4byte gMapHeader
-_080FF550: .4byte gSpecialVar_0x8005
-_080FF554: .4byte gSpecialVar_0x8006
-_080FF558: .4byte gSaveBlock1
-_080FF55C: .4byte 0x00003f20
-_080FF560: .4byte gUnknown_02038900
-_080FF564: .4byte gUnknown_020391A4
-_080FF568: .4byte gUnknown_020391A6
-_080FF56C: .4byte gSpecialVar_0x8007
-_080FF570:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xD
- bls _080FF490
-_080FF57A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF474
-
- thumb_func_start sub_80FF58C
-sub_80FF58C: @ 80FF58C
- push {lr}
- movs r1, 0
- ldr r0, _080FF5A8 @ =0x0201f000
- ldrb r2, [r0, 0x8]
- cmp r1, r2
- bcs _080FF5B6
- ldr r3, [r0]
-_080FF59A:
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FF5AC
- movs r0, 0x1
- b _080FF5B8
- .align 2, 0
-_080FF5A8: .4byte 0x0201f000
-_080FF5AC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080FF59A
-_080FF5B6:
- movs r0, 0
-_080FF5B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF58C
-
- thumb_func_start sub_80FF5BC
-sub_80FF5BC: @ 80FF5BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080FF5E4 @ =0x0201f000
- ldrb r0, [r0, 0x9]
- cmp r0, 0x1
- bne _080FF5F0
- ldr r0, _080FF5E8 @ =gUnknown_020388F6
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080FF5F0
- cmp r0, 0x7
- beq _080FF5F0
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r1, _080FF5EC @ =gSecretBaseText_DecorCantPlace
- b _080FF66E
- .align 2, 0
-_080FF5E4: .4byte 0x0201f000
-_080FF5E8: .4byte gUnknown_020388F6
-_080FF5EC: .4byte gSecretBaseText_DecorCantPlace
-_080FF5F0:
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF688
- bl sub_80FF58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF62C
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _080FF624 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _080FF628 @ =sub_80FF6AC
- str r1, [r0]
- b _080FF69C
- .align 2, 0
-_080FF624: .4byte gTasks
-_080FF628: .4byte sub_80FF6AC
-_080FF62C:
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r0, _080FF654 @ =gStringVar1
- ldr r4, _080FF658 @ =0x0201f000
- ldrb r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- bne _080FF664
- ldr r0, _080FF65C @ =gStringVar4
- ldr r1, _080FF660 @ =gSecretBaseText_NoMoreDecor
- bl StringExpandPlaceholders
- b _080FF66C
- .align 2, 0
-_080FF654: .4byte gStringVar1
-_080FF658: .4byte 0x0201f000
-_080FF65C: .4byte gStringVar4
-_080FF660: .4byte gSecretBaseText_NoMoreDecor
-_080FF664:
- ldr r0, _080FF67C @ =gStringVar4
- ldr r1, _080FF680 @ =gSecretBaseText_NoMoreDecor2
- bl StringExpandPlaceholders
-_080FF66C:
- ldr r1, _080FF67C @ =gStringVar4
-_080FF66E:
- ldr r2, _080FF684 @ =sub_80FEFF4
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FF69C
- .align 2, 0
-_080FF67C: .4byte gStringVar4
-_080FF680: .4byte gSecretBaseText_NoMoreDecor2
-_080FF684: .4byte sub_80FEFF4
-_080FF688:
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r1, _080FF6A4 @ =gSecretBaseText_InUseAlready
- ldr r2, _080FF6A8 @ =sub_80FEFF4
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080FF69C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF6A4: .4byte gSecretBaseText_InUseAlready
-_080FF6A8: .4byte sub_80FEFF4
- thumb_func_end sub_80FF5BC
-
- thumb_func_start sub_80FF6AC
-sub_80FF6AC: @ 80FF6AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080FF6D0 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0xC
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _080FF714
- cmp r0, 0x1
- bgt _080FF6D4
- cmp r0, 0
- beq _080FF6DA
- b _080FF77A
- .align 2, 0
-_080FF6D0: .4byte gTasks
-_080FF6D4:
- cmp r0, 0x2
- beq _080FF764
- b _080FF77A
-_080FF6DA:
- ldr r0, _080FF70C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FF77A
- adds r0, r6, 0
- bl sub_80FF0E0
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- ldr r0, _080FF710 @ =gUnknown_020388F7
- movs r1, 0x8
- bl sub_80F9520
- bl BuyMenuFreeMemory
- movs r0, 0x1
- strh r0, [r7, 0xC]
- b _080FF77A
- .align 2, 0
-_080FF70C: .4byte gPaletteFade
-_080FF710: .4byte gUnknown_020388F7
-_080FF714:
- ldr r4, _080FF754 @ =gPaletteFade
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- ldr r5, _080FF758 @ =gUnknown_02038900
- ldr r0, _080FF75C @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _080FF760 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl AddDecorationIconObjectFromFieldObject
- adds r0, r6, 0
- bl sub_80FF960
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetUpPlacingDecorationPlayerAvatar
- bl pal_fill_black
- ldrb r1, [r4, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strh r0, [r7, 0xC]
- b _080FF77A
- .align 2, 0
-_080FF754: .4byte gPaletteFade
-_080FF758: .4byte gUnknown_02038900
-_080FF75C: .4byte gUnknown_020388F5
-_080FF760: .4byte gUnknown_020388D0
-_080FF764:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF77A
- movs r0, 0
- strh r0, [r7, 0x20]
- adds r0, r6, 0
- bl sub_810065C
-_080FF77A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF6AC
-
- thumb_func_start AddDecorationIconObjectFromFieldObject
-AddDecorationIconObjectFromFieldObject: @ 80FF780
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_80FEF74
- bl sub_80FED1C
- adds r0, r5, 0
- bl sub_81006D0
- lsls r4, 5
- ldr r0, _080FF810 @ =gDecorations
- adds r4, r0
- str r4, [r5]
- ldrb r0, [r4, 0x11]
- cmp r0, 0x4
- beq _080FF834
- adds r0, r5, 0
- bl sub_81008BC
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl sub_8100930
- adds r0, r5, 0
- bl sub_8100874
- ldr r1, _080FF814 @ =0x00000884
- adds r0, r5, r1
- ldr r1, _080FF818 @ =gMapHeader
- ldr r1, [r1]
- ldr r2, [r1, 0x14]
- ldr r1, [r5]
- ldr r1, [r1, 0x1C]
- ldrh r1, [r1]
- ldr r2, [r2, 0xC]
- lsls r1, 4
- adds r1, r2
- ldrh r1, [r1, 0xE]
- lsrs r1, 12
- bl sub_810070C
- ldr r0, _080FF81C @ =gUnknown_083EC954
- bl LoadSpritePalette
- ldr r3, _080FF820 @ =gUnknown_020391A8
- ldr r2, _080FF824 @ =gSprites
- ldr r4, _080FF828 @ =gUnknown_03004880
- ldr r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strb r0, [r3]
- ldr r0, _080FF82C @ =gSpriteTemplate_83EC93C
- ldr r3, _080FF830 @ =gUnknown_083EC900
- ldr r1, [r5]
- ldrb r2, [r1, 0x12]
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- b _080FF87E
- .align 2, 0
-_080FF810: .4byte gDecorations
-_080FF814: .4byte 0x00000884
-_080FF818: .4byte gMapHeader
-_080FF81C: .4byte gUnknown_083EC954
-_080FF820: .4byte gUnknown_020391A8
-_080FF824: .4byte gSprites
-_080FF828: .4byte gUnknown_03004880
-_080FF82C: .4byte gSpriteTemplate_83EC93C
-_080FF830: .4byte gUnknown_083EC900
-_080FF834:
- ldr r2, _080FF888 @ =gUnknown_020391A8
- ldr r6, _080FF88C @ =gSprites
- ldr r5, _080FF890 @ =gUnknown_03004880
- ldr r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r0, [r0, 0x2E]
- strb r0, [r2]
- ldr r0, [r4, 0x1C]
- ldrh r0, [r0]
- ldr r1, _080FF894 @ =sub_81009A8
- ldr r2, _080FF898 @ =gUnknown_083EC900
- ldrb r3, [r4, 0x12]
- lsls r3, 2
- adds r3, r2
- ldrb r2, [r3, 0x2]
- ldrb r3, [r3, 0x3]
- movs r4, 0x1
- str r4, [sp]
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080FF87E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF888: .4byte gUnknown_020391A8
-_080FF88C: .4byte gSprites
-_080FF890: .4byte gUnknown_03004880
-_080FF894: .4byte sub_81009A8
-_080FF898: .4byte gUnknown_083EC900
- thumb_func_end AddDecorationIconObjectFromFieldObject
-
- thumb_func_start SetUpPlacingDecorationPlayerAvatar
-SetUpPlacingDecorationPlayerAvatar: @ 80FF89C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FF8F0 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r2, [r2, 0x12]
- ldr r3, _080FF8F4 @ =gUnknown_083EC900
- ldr r0, [r1]
- ldrb r4, [r0, 0x12]
- lsls r1, r4, 2
- adds r1, r3
- lsls r0, r2, 4
- ldrb r1, [r1, 0x2]
- adds r0, r1
- subs r2, 0x1
- lsls r2, 3
- subs r0, r2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0x2
- beq _080FF8D6
- cmp r4, 0x8
- beq _080FF8D6
- cmp r4, 0x9
- bne _080FF8DE
-_080FF8D6:
- adds r0, r2, 0
- subs r0, 0x8
- lsls r0, 24
- lsrs r2, r0, 24
-_080FF8DE:
- ldr r0, _080FF8F8 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080FF900
- ldr r1, _080FF8FC @ =SpriteCallbackDummy
- str r0, [sp]
- movs r0, 0xC1
- b _080FF908
- .align 2, 0
-_080FF8F0: .4byte gTasks
-_080FF8F4: .4byte gUnknown_083EC900
-_080FF8F8: .4byte gSaveBlock2
-_080FF8FC: .4byte SpriteCallbackDummy
-_080FF900:
- ldr r1, _080FF94C @ =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC2
-_080FF908:
- movs r3, 0x48
- bl AddPseudoFieldObject
- ldr r1, _080FF950 @ =gUnknown_020391A9
- strb r0, [r1]
- ldr r3, _080FF954 @ =gSprites
- ldr r0, _080FF950 @ =gUnknown_020391A9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r4, _080FF958 @ =gUnknown_020391A8
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- bl DestroySprite
- ldr r0, _080FF95C @ =gUnknown_03004880
- ldr r0, [r0, 0x4]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF94C: .4byte SpriteCallbackDummy
-_080FF950: .4byte gUnknown_020391A9
-_080FF954: .4byte gSprites
-_080FF958: .4byte gUnknown_020391A8
-_080FF95C: .4byte gUnknown_03004880
- thumb_func_end SetUpPlacingDecorationPlayerAvatar
-
- thumb_func_start sub_80FF960
-sub_80FF960: @ 80FF960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080FF98C @ =gDecorations
- ldr r0, _080FF990 @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _080FF994 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r2
- ldrb r0, [r0, 0x12]
- cmp r0, 0x9
- bls _080FF980
- b _080FFAA6
-_080FF980:
- lsls r0, 2
- ldr r1, _080FF998 @ =_080FF99C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF98C: .4byte gDecorations
-_080FF990: .4byte gUnknown_020388F5
-_080FF994: .4byte gUnknown_020388D0
-_080FF998: .4byte _080FF99C
- .align 2, 0
-_080FF99C:
- .4byte _080FF9C4
- .4byte _080FF9D8
- .4byte _080FF9F0
- .4byte _080FFA08
- .4byte _080FFA1C
- .4byte _080FFA30
- .4byte _080FFA44
- .4byte _080FFA64
- .4byte _080FFA7C
- .4byte _080FFA94
-_080FF9C4:
- ldr r0, _080FF9D4 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _080FFA88
- .align 2, 0
-_080FF9D4: .4byte gTasks
-_080FF9D8:
- ldr r1, _080FF9EC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FF9EC: .4byte gTasks
-_080FF9F0:
- ldr r1, _080FFA04 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FFA04: .4byte gTasks
-_080FFA08:
- ldr r1, _080FFA18 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- b _080FFAA0
- .align 2, 0
-_080FFA18: .4byte gTasks
-_080FFA1C:
- ldr r0, _080FFA2C @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- b _080FFA88
- .align 2, 0
-_080FFA2C: .4byte gTasks
-_080FFA30:
- ldr r1, _080FFA40 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- b _080FFAA0
- .align 2, 0
-_080FFA40: .4byte gTasks
-_080FFA44:
- ldr r0, _080FFA60 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x12]
- movs r0, 0x3
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _080FFAA6
- .align 2, 0
-_080FFA60: .4byte gTasks
-_080FFA64:
- ldr r1, _080FFA78 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x4
- b _080FFAA4
- .align 2, 0
-_080FFA78: .4byte gTasks
-_080FFA7C:
- ldr r0, _080FFA90 @ =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
-_080FFA88:
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- b _080FFAA6
- .align 2, 0
-_080FFA90: .4byte gTasks
-_080FFA94:
- ldr r1, _080FFAAC @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
-_080FFAA0:
- strh r1, [r0, 0x12]
- movs r1, 0x2
-_080FFAA4:
- strh r1, [r0, 0x14]
-_080FFAA6:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFAAC: .4byte gTasks
- thumb_func_end sub_80FF960
-
- thumb_func_start sub_80FFAB0
-sub_80FFAB0: @ 80FFAB0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FFAF8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r3, _080FFAFC @ =gSprites
- ldr r0, _080FFB00 @ =gUnknown_020391A8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x3C]
- ldr r0, _080FFB04 @ =gUnknown_020391A9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x3C]
- bl sub_810045C
- adds r0, r4, 0
- bl sub_8100038
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFAF8: .4byte gTasks
-_080FFAFC: .4byte gSprites
-_080FFB00: .4byte gUnknown_020391A8
-_080FFB04: .4byte gUnknown_020391A9
- thumb_func_end sub_80FFAB0
-
- thumb_func_start sub_80FFB08
-sub_80FFB08: @ 80FFB08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FFB54 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r3, _080FFB58 @ =gSprites
- ldr r0, _080FFB5C @ =gUnknown_020391A8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x3C]
- ldr r0, _080FFB60 @ =gUnknown_020391A9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x3C]
- bl sub_810045C
- ldr r1, _080FFB64 @ =gSecretBaseText_CancelDecorating
- ldr r2, _080FFB68 @ =sub_8100248
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFB54: .4byte gTasks
-_080FFB58: .4byte gSprites
-_080FFB5C: .4byte gUnknown_020391A8
-_080FFB60: .4byte gUnknown_020391A9
-_080FFB64: .4byte gSecretBaseText_CancelDecorating
-_080FFB68: .4byte sub_8100248
- thumb_func_end sub_80FFB08
-
- thumb_func_start sub_80FFB6C
-sub_80FFB6C: @ 80FFB6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_8057274
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FFB86
- cmp r4, 0
- beq _080FFB8A
-_080FFB86:
- movs r0, 0
- b _080FFB8C
-_080FFB8A:
- movs r0, 0x1
-_080FFB8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFB6C
-
- thumb_func_start sub_80FFB94
-sub_80FFB94: @ 80FFB94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r1, 16
- asrs r1, 16
- ldr r3, _080FFBD0 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- adds r0, 0x7
- cmp r1, r0
- bne _080FFBD4
- lsls r1, r4, 16
- asrs r1, 16
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- adds r0, 0x7
- cmp r1, r0
- bne _080FFBD4
- cmp r5, 0
- beq _080FFBD4
- movs r0, 0
- b _080FFBD6
- .align 2, 0
-_080FFBD0: .4byte gTasks
-_080FFBD4:
- movs r0, 0x1
-_080FFBD6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFB94
-
- thumb_func_start sub_80FFBDC
-sub_80FFBDC: @ 80FFBDC
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8057274
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FFC1C
- ldrb r0, [r5]
- cmp r0, 0x21
- bne _080FFC0A
- adds r0, r4, 0
- bl sub_8057300
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FFC18
-_080FFC0A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- beq _080FFC1C
-_080FFC18:
- movs r0, 0x1
- b _080FFC1E
-_080FFC1C:
- movs r0, 0
-_080FFC1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFBDC
-
- thumb_func_start sub_80FFC24
-sub_80FFC24: @ 80FFC24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, _080FFC60 @ =gTasks
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrb r2, [r0, 0x14]
- str r2, [sp, 0x4]
- ldrb r0, [r0, 0x12]
- str r0, [sp, 0x8]
- ldr r3, [sp]
- ldrb r0, [r3, 0x11]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080FFC56
- b _08100024
-_080FFC56:
- lsls r0, 2
- ldr r1, _080FFC64 @ =_080FFC68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFC60: .4byte gTasks
-_080FFC64: .4byte _080FFC68
- .align 2, 0
-_080FFC68:
- .4byte _080FFC7C
- .4byte _080FFC7C
- .4byte _080FFD68
- .4byte _080FFF1C
- .4byte _080FFFA0
-_080FFC7C:
- movs r6, 0
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFC86
- b _08100024
-_080FFC86:
- mov r1, r10
- lsls r1, 2
- str r1, [sp, 0x1C]
-_080FFC8C:
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- ldr r3, _080FFD64 @ =gTasks
- adds r0, r3
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- adds r6, 0x1
- str r6, [sp, 0x14]
- ldr r0, [sp, 0x8]
- cmp r7, r0
- bcs _080FFD56
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0xC]
- asrs r1, 16
- mov r9, r1
-_080FFCB8:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- ldr r2, _080FFD64 @ =gTasks
- adds r0, r2
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- adds r0, r6, 0
- mov r1, r9
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp, 0x4]
- ldr r1, [sp, 0x14]
- subs r0, r3, r1
- ldr r2, [sp, 0x8]
- adds r1, r0, 0
- muls r1, r2
- adds r1, r7
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- ldr r1, [sp]
- bl sub_80FFBDC
- lsls r0, 24
- cmp r0, 0
- bne _080FFD1A
- b _080FFFF4
-_080FFD1A:
- mov r0, r10
- adds r1, r6, 0
- mov r2, r9
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFD2E
- b _080FFFF4
-_080FFD2E:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0xC]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080FFD4A
- cmp r4, 0x10
- beq _080FFD4A
- b _080FFFF4
-_080FFD4A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFCB8
-_080FFD56:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x4]
- cmp r6, r2
- bcc _080FFC8C
- b _08100024
- .align 2, 0
-_080FFD64: .4byte gTasks
-_080FFD68:
- movs r6, 0
- mov r3, r10
- lsls r3, 2
- str r3, [sp, 0x1C]
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x18]
- cmp r6, r0
- bge _080FFE54
- adds r0, r3, 0
- add r0, r10
- lsls r0, 3
- str r0, [sp, 0x10]
-_080FFD82:
- ldr r1, [sp, 0x10]
- adds r0, r1, r2
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- adds r6, 0x1
- str r6, [sp, 0x14]
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcs _080FFE48
- lsls r0, 16
- str r0, [sp, 0x20]
-_080FFDA0:
- ldr r1, [sp, 0x10]
- adds r0, r1, r2
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- mov r2, r9
- lsls r1, r2, 16
- adds r0, r6, 0
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp, 0x4]
- ldr r1, [sp, 0x14]
- subs r0, r3, r1
- ldr r2, [sp, 0x8]
- adds r1, r0, 0
- muls r1, r2
- adds r1, r7
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- bne _080FFE0C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FFB6C
- lsls r0, 24
- cmp r0, 0
- bne _080FFE0C
- b _080FFFF4
-_080FFE0C:
- mov r0, r10
- adds r1, r6, 0
- ldr r3, [sp, 0x20]
- asrs r2, r3, 16
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFE22
- b _080FFFF4
-_080FFE22:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080FFE3A
- b _080FFFF4
-_080FFE3A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080FFF18 @ =gTasks
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFDA0
-_080FFE48:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x18]
- cmp r6, r3
- blt _080FFD82
-_080FFE54:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- ldr r1, [sp, 0x4]
- subs r0, r1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFE74
- b _08100024
-_080FFE74:
- lsls r0, 16
- str r0, [sp, 0x20]
-_080FFE78:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- ldr r1, _080FFF18 @ =gTasks
- adds r0, r1
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- mov r2, r9
- lsls r1, r2, 16
- adds r0, r6, 0
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, r7, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- bne _080FFEDA
- adds r0, r4, 0
- bl sub_80572B0
- lsls r0, 24
- cmp r0, 0
- bne _080FFEDA
- b _080FFFF4
-_080FFEDA:
- mov r0, r10
- adds r1, r6, 0
- ldr r3, [sp, 0x20]
- asrs r2, r3, 16
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFEF0
- b _080FFFF4
-_080FFEF0:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080FFF0A
- cmp r4, 0x10
- bne _080FFFF4
-_080FFF0A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFE78
- b _08100024
- .align 2, 0
-_080FFF18: .4byte gTasks
-_080FFF1C:
- movs r6, 0
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFF26
- b _08100024
-_080FFF26:
- mov r1, r10
- lsls r0, r1, 2
- add r0, r10
- lsls r1, r0, 3
- ldr r2, _080FFF9C @ =gTasks
- adds r0, r1, r2
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcs _080FFF8C
- adds r0, r2, 0
- adds r1, r0
- mov r8, r1
- mov r1, r9
- lsls r0, r1, 16
- asrs r5, r0, 16
-_080FFF50:
- mov r2, r8
- ldrh r0, [r2, 0x8]
- adds r0, r7
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80572B0
- lsls r0, 24
- cmp r0, 0
- beq _080FFFF4
- adds r0, r4, 0
- adds r1, r5, 0x1
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- beq _080FFFF4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFF50
-_080FFF8C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFF26
- b _08100024
- .align 2, 0
-_080FFF9C: .4byte gTasks
-_080FFFA0:
- mov r3, r10
- lsls r1, r3, 2
- adds r0, r1, r3
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- mov r9, r0
- movs r7, 0
- str r1, [sp, 0x1C]
- ldr r0, [sp, 0x8]
- cmp r7, r0
- bcs _08100024
- adds r6, r2, 0
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0x20]
-_080FFFC0:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- adds r0, r6
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp]
- ldrb r0, [r3, 0x12]
- cmp r0, 0x5
- bne _080FFFF8
-_080FFFE8:
- adds r0, r4, 0
- bl sub_80572EC
- lsls r0, 24
- cmp r0, 0
- bne _08100004
-_080FFFF4:
- movs r0, 0
- b _08100026
-_080FFFF8:
- adds r0, r4, 0
- bl sub_80572D8
- lsls r0, 24
- cmp r0, 0
- beq _080FFFE8
-_08100004:
- adds r0, r5, 0
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- bne _080FFFF4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFFC0
-_08100024:
- movs r0, 0x1
-_08100026:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC24
-
- thumb_func_start sub_8100038
-sub_8100038: @ 8100038
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0810006C @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _08100070 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 5
- ldr r0, _08100074 @ =gDecorations
- adds r1, r0
- adds r0, r4, 0
- bl sub_80FFC24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100080
- ldr r1, _08100078 @ =gSecretBaseText_PlaceItHere
- ldr r2, _0810007C @ =sub_81000A0
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08100092
- .align 2, 0
-_0810006C: .4byte gUnknown_020388F5
-_08100070: .4byte gUnknown_020388D0
-_08100074: .4byte gDecorations
-_08100078: .4byte gSecretBaseText_PlaceItHere
-_0810007C: .4byte sub_81000A0
-_08100080:
- movs r0, 0x20
- bl PlaySE
- ldr r1, _08100098 @ =gSecretBaseText_CantBePlacedHere
- ldr r2, _0810009C @ =sub_81006A8
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100092:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100098: .4byte gSecretBaseText_CantBePlacedHere
-_0810009C: .4byte sub_81006A8
- thumb_func_end sub_8100038
-
- thumb_func_start sub_81000A0
-sub_81000A0: @ 81000A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _081000C0 @ =gUnknown_083EC95C
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081000C0: .4byte gUnknown_083EC95C
- thumb_func_end sub_81000A0
-
- thumb_func_start sub_81000C4
-sub_81000C4: @ 81000C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_8100174
- ldr r2, _0810010C @ =gDecorations
- ldr r0, _08100110 @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _08100114 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r3, [r0]
- lsls r0, r3, 5
- adds r0, r2
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- beq _0810011C
- ldr r0, _08100118 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0xA]
- adds r2, r3, 0
- bl sub_80FF394
- b _0810013C
- .align 2, 0
-_0810010C: .4byte gDecorations
-_08100110: .4byte gUnknown_020388F5
-_08100114: .4byte gUnknown_020388D0
-_08100118: .4byte gTasks
-_0810011C:
- ldr r2, _0810015C @ =gUnknown_020391A4
- ldr r0, _08100160 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- subs r0, 0x7
- strh r0, [r2]
- ldr r2, _08100164 @ =gUnknown_020391A6
- ldrh r0, [r1, 0xA]
- subs r0, 0x7
- strh r0, [r2]
- ldr r0, _08100168 @ =gUnknown_081A2F7B
- bl ScriptContext1_SetupScript
-_0810013C:
- ldr r2, _0810016C @ =gSprites
- ldr r0, _08100170 @ =gUnknown_020391A8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- bl sub_810028C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810015C: .4byte gUnknown_020391A4
-_08100160: .4byte gTasks
-_08100164: .4byte gUnknown_020391A6
-_08100168: .4byte gUnknown_081A2F7B
-_0810016C: .4byte gSprites
-_08100170: .4byte gUnknown_020391A8
- thumb_func_end sub_81000C4
-
- thumb_func_start sub_8100174
-sub_8100174: @ 8100174
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r3, 0
- ldr r0, _081001B0 @ =0x0201f000
- ldrb r1, [r0, 0x8]
- adds r5, r0, 0
- cmp r3, r1
- bcs _0810019A
- ldr r4, [r5]
-_08100188:
- adds r2, r4, r3
- ldrb r0, [r2]
- cmp r0, 0
- beq _081001B8
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _08100188
-_0810019A:
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- bne _08100204
- movs r3, 0
- ldr r0, _081001B4 @ =gUnknown_020388D6
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _081001F0
- b _08100210
- .align 2, 0
-_081001B0: .4byte 0x0201f000
-_081001B4: .4byte gUnknown_020388D6
-_081001B8:
- ldr r0, _081001E4 @ =gUnknown_020388F5
- ldrb r1, [r0]
- ldr r0, _081001E8 @ =gUnknown_020388D0
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, [r5, 0x4]
- adds r2, r3
- ldr r0, _081001EC @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- subs r0, 0x7
- lsls r0, 4
- ldrb r1, [r1, 0xA]
- subs r1, 0x7
- adds r0, r1
- strb r0, [r2]
- b _0810019A
- .align 2, 0
-_081001E4: .4byte gUnknown_020388F5
-_081001E8: .4byte gUnknown_020388D0
-_081001EC: .4byte gTasks
-_081001F0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bhi _0810023E
- adds r1, r3, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _081001F0
- b _08100236
-_08100204:
- movs r3, 0
- ldr r0, _0810021C @ =gUnknown_020388E6
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _08100224
-_08100210:
- ldr r0, _08100220 @ =gUnknown_020388F5
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r2]
- b _0810023E
- .align 2, 0
-_0810021C: .4byte gUnknown_020388E6
-_08100220: .4byte gUnknown_020388F5
-_08100224:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xB
- bhi _0810023E
- adds r1, r3, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08100224
-_08100236:
- ldr r0, _08100244 @ =gUnknown_020388F5
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r1]
-_0810023E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100244: .4byte gUnknown_020388F5
- thumb_func_end sub_8100174
-
- thumb_func_start sub_8100248
-sub_8100248: @ 8100248
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08100268 @ =gUnknown_083EC964
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100268: .4byte gUnknown_083EC964
- thumb_func_end sub_8100248
-
- thumb_func_start sub_810026C
-sub_810026C: @ 810026C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_810028C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810026C
-
- thumb_func_start sub_810028C
-sub_810028C: @ 810028C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _081002B4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _081002B8 @ =c1_overworld_prev_quest
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081002B4: .4byte gTasks
-_081002B8: .4byte c1_overworld_prev_quest
- thumb_func_end sub_810028C
-
- thumb_func_start c1_overworld_prev_quest
-c1_overworld_prev_quest: @ 81002BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _081002DC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081002E0
- cmp r0, 0x1
- beq _08100300
- b _0810031C
- .align 2, 0
-_081002DC: .4byte gTasks
-_081002E0:
- bl ScriptContext2_Enable
- ldr r0, _081002FC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810031C
- adds r0, r4, 0
- bl sub_80FF114
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _0810031C
- .align 2, 0
-_081002FC: .4byte gPaletteFade
-_08100300:
- bl sub_81016F4
- ldr r0, _08100324 @ =0x00000bb8
- bl FreeSpritePaletteByTag
- ldr r1, _08100328 @ =gUnknown_0300485C
- ldr r0, _0810032C @ =sub_8100364
- str r0, [r1]
- ldr r0, _08100330 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0810031C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100324: .4byte 0x00000bb8
-_08100328: .4byte gUnknown_0300485C
-_0810032C: .4byte sub_8100364
-_08100330: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end c1_overworld_prev_quest
-
- thumb_func_start sub_8100334
-sub_8100334: @ 8100334
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100354
- ldr r0, _0810035C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08100360 @ =sub_80FE948
- str r0, [r1]
-_08100354:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810035C: .4byte gTasks
-_08100360: .4byte sub_80FE948
- thumb_func_end sub_8100334
-
- thumb_func_start sub_8100364
-sub_8100364: @ 8100364
- push {lr}
- bl ScriptContext2_Enable
- bl LoadScrollIndicatorPalette
- bl pal_fill_black
- ldr r0, _08100388 @ =sub_8100334
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE7EC
- pop {r0}
- bx r0
- .align 2, 0
-_08100388: .4byte sub_8100334
- thumb_func_end sub_8100364
-
- thumb_func_start sub_810038C
-sub_810038C: @ 810038C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _081003BC @ =gTasks + 0x8
- adds r2, r1, r0
- ldr r0, _081003C0 @ =gUnknown_020391AA
- ldrb r1, [r0]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081003C4
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- subs r0, r1
- subs r0, 0x6
- cmp r0, 0
- bge _081003C4
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- b _081003DE
- .align 2, 0
-_081003BC: .4byte gTasks + 0x8
-_081003C0: .4byte gUnknown_020391AA
-_081003C4:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _081003E8
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- subs r1, 0x7
- ldr r0, _081003E4 @ =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r1, r0
- blt _081003E8
- ldrh r0, [r2, 0x2]
- subs r0, 0x1
-_081003DE:
- strh r0, [r2, 0x2]
- movs r0, 0
- b _0810042A
- .align 2, 0
-_081003E4: .4byte gMapHeader
-_081003E8:
- ldrb r0, [r3]
- cmp r0, 0x3
- bne _081003FE
- movs r1, 0
- ldrsh r0, [r2, r1]
- subs r0, 0x7
- cmp r0, 0
- bge _081003FE
- ldrh r0, [r2]
- adds r0, 0x1
- b _0810041E
-_081003FE:
- ldrb r0, [r3]
- cmp r0, 0x4
- bne _08100428
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- adds r1, r0
- subs r1, 0x8
- ldr r0, _08100424 @ =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r1, r0
- blt _08100428
- ldrh r0, [r2]
- subs r0, 0x1
-_0810041E:
- strh r0, [r2]
- movs r0, 0
- b _0810042A
- .align 2, 0
-_08100424: .4byte gMapHeader
-_08100428:
- movs r0, 0x1
-_0810042A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810038C
-
- thumb_func_start sub_8100430
-sub_8100430: @ 8100430
- push {lr}
- ldr r0, _08100450 @ =gMain
- ldrh r0, [r0, 0x2C]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- beq _08100454
- cmp r1, 0x80
- beq _08100454
- cmp r1, 0x20
- beq _08100454
- cmp r1, 0x10
- beq _08100454
- movs r0, 0
- b _08100456
- .align 2, 0
-_08100450: .4byte gMain
-_08100454:
- movs r0, 0x1
-_08100456:
- pop {r1}
- bx r1
- thumb_func_end sub_8100430
-
- thumb_func_start sub_810045C
-sub_810045C: @ 810045C
- push {r4,lr}
- ldr r1, _08100488 @ =gUnknown_020391AA
- movs r0, 0
- strb r0, [r1]
- ldr r4, _0810048C @ =gSprites
- ldr r3, _08100490 @ =gUnknown_020391A8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100488: .4byte gUnknown_020391AA
-_0810048C: .4byte gSprites
-_08100490: .4byte gUnknown_020391A8
- thumb_func_end sub_810045C
-
- thumb_func_start sub_8100494
-sub_8100494: @ 8100494
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _081004D0 @ =gSprites
- ldr r3, _081004D4 @ =gUnknown_020391A8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x36
- ldrsh r6, [r0, r1]
- cmp r6, 0
- beq _081004B2
- b _081005DE
-_081004B2:
- ldr r1, _081004D8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _081004E0
- ldr r0, _081004DC @ =gUnknown_083EC96C
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- lsls r1, 3
- b _081004EE
- .align 2, 0
-_081004D0: .4byte gSprites
-_081004D4: .4byte gUnknown_020391A8
-_081004D8: .4byte gTasks
-_081004DC: .4byte gUnknown_083EC96C
-_081004E0:
- cmp r0, 0x2
- bne _08100500
- ldr r0, _081004FC @ =gUnknown_083EC96C
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- lsls r1, 3
- adds r0, 0x4
-_081004EE:
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl _call_via_r1
- b _0810063C
- .align 2, 0
-_081004FC: .4byte gUnknown_083EC96C
-_08100500:
- ldr r7, _08100644 @ =gMain
- ldrh r1, [r7, 0x2C]
- movs r0, 0xF0
- mov r12, r0
- ands r0, r1
- cmp r0, 0x40
- bne _08100534
- ldr r1, _08100648 @ =gUnknown_020391AA
- movs r0, 0x1
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0810064C @ =0x0000fffe
- strh r1, [r0, 0x34]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
-_08100534:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x80
- bne _08100564
- ldr r1, _08100648 @ =gUnknown_020391AA
- movs r0, 0x2
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0, 0x34]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
-_08100564:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x20
- bne _08100594
- ldr r1, _08100648 @ =gUnknown_020391AA
- movs r0, 0x3
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0810064C @ =0x0000fffe
- strh r1, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x34]
- ldrh r0, [r2, 0x8]
- subs r0, 0x1
- strh r0, [r2, 0x8]
-_08100594:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x10
- bne _081005C4
- ldr r1, _08100648 @ =gUnknown_020391AA
- movs r0, 0x4
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x34]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_081005C4:
- bl sub_8100430
- lsls r0, 24
- cmp r0, 0
- beq _081005DA
- adds r0, r4, 0
- bl sub_810038C
- lsls r0, 24
- cmp r0, 0
- bne _081005DE
-_081005DA:
- bl sub_810045C
-_081005DE:
- ldr r0, _08100648 @ =gUnknown_020391AA
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810060C
- ldr r3, _08100650 @ =gSprites
- ldr r2, _08100654 @ =gUnknown_020391A8
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x36]
- adds r1, 0x1
- strh r1, [r0, 0x36]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x36]
- movs r0, 0x7
- ands r0, r2
- strh r0, [r1, 0x36]
-_0810060C:
- ldr r0, _08100658 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r2, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0810063C
- ldr r4, _08100644 @ =gMain
- ldrh r1, [r4, 0x2E]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810062E
- strh r3, [r2, 0x1C]
-_0810062E:
- ldrh r1, [r4, 0x2E]
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810063C
- strh r3, [r2, 0x1C]
-_0810063C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08100644: .4byte gMain
-_08100648: .4byte gUnknown_020391AA
-_0810064C: .4byte 0x0000fffe
-_08100650: .4byte gSprites
-_08100654: .4byte gUnknown_020391A8
-_08100658: .4byte gTasks
- thumb_func_end sub_8100494
-
- thumb_func_start sub_810065C
-sub_810065C: @ 810065C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08100698 @ =gSprites
- ldr r0, _0810069C @ =gUnknown_020391A8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0
- strh r2, [r0, 0x3C]
- ldr r1, _081006A0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _081006A4 @ =sub_8100494
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100698: .4byte gSprites
-_0810069C: .4byte gUnknown_020391A8
-_081006A0: .4byte gTasks
-_081006A4: .4byte sub_8100494
- thumb_func_end sub_810065C
-
- thumb_func_start sub_81006A8
-sub_81006A8: @ 81006A8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081006CC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081006C2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081006C8
-_081006C2:
- adds r0, r2, 0
- bl sub_810065C
-_081006C8:
- pop {r0}
- bx r0
- .align 2, 0
-_081006CC: .4byte gMain
- thumb_func_end sub_81006A8
-
- thumb_func_start sub_81006D0
-sub_81006D0: @ 81006D0
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- adds r2, r3, 0
- adds r2, 0x84
- movs r5, 0
- ldr r4, _08100708 @ =0x000007ff
-_081006DE:
- adds r0, r2, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bls _081006DE
- movs r1, 0
- adds r2, r3, 0x4
- movs r3, 0
-_081006F2:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3F
- bls _081006F2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100708: .4byte 0x000007ff
- thumb_func_end sub_81006D0
-
- thumb_func_start sub_810070C
-sub_810070C: @ 810070C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- movs r2, 0
- ldr r0, _0810073C @ =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- lsrs r4, r1, 12
- ldr r3, [r0, 0x8]
-_0810071E:
- lsls r1, r2, 1
- adds r1, r5
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0810071E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810073C: .4byte gMapHeader
- thumb_func_end sub_810070C
-
- thumb_func_start sub_8100740
-sub_8100740: @ 8100740
- push {r4-r7,lr}
- sub sp, 0x20
- adds r7, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- lsrs r3, r1, 26
- cmp r2, 0
- beq _08100754
- ldr r0, _08100784 @ =0x000003ff
- ands r2, r0
-_08100754:
- movs r5, 0
- ldr r0, _08100788 @ =gMapHeader
- ldr r6, [r0]
- lsls r4, r2, 5
-_0810075C:
- mov r0, sp
- adds r2, r0, r5
- ldr r0, [r6, 0x10]
- ldr r0, [r0, 0x4]
- adds r1, r4, r5
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _0810075C
- cmp r3, 0x1
- beq _081007AE
- cmp r3, 0x1
- bgt _0810078C
- cmp r3, 0
- beq _08100796
- b _0810086A
- .align 2, 0
-_08100784: .4byte 0x000003ff
-_08100788: .4byte gMapHeader
-_0810078C:
- cmp r3, 0x2
- beq _0810080E
- cmp r3, 0x3
- beq _08100846
- b _0810086A
-_08100796:
- movs r5, 0
-_08100798:
- adds r1, r7, r5
- mov r2, sp
- adds r0, r2, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _08100798
- b _0810086A
-_081007AE:
- movs r5, 0
- movs r6, 0xF
-_081007B2:
- lsls r4, r5, 2
- adds r4, r7
- adds r5, 0x1
- lsls r3, r5, 2
- subs r0, r3, 0x1
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4]
- subs r0, r3, 0x2
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x1]
- subs r0, r3, 0x3
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x2]
- subs r3, 0x4
- mov r1, sp
- adds r0, r1, r3
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x3]
- lsls r5, 16
- lsrs r5, 16
- cmp r5, 0x7
- bls _081007B2
- b _0810086A
-_0810080E:
- movs r5, 0
- movs r3, 0x7
-_08100812:
- lsls r2, r5, 2
- adds r2, r7
- subs r1, r3, r5
- lsls r1, 2
- mov r4, sp
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r1, 0x1
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- adds r0, r1, 0x2
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r2, 0x2]
- adds r1, 0x3
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r2, 0x3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _08100812
- b _0810086A
-_08100846:
- movs r5, 0
- movs r4, 0x1F
- movs r6, 0xF
-_0810084C:
- adds r3, r7, r5
- subs r0, r4, r5
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _0810084C
-_0810086A:
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8100740
-
- thumb_func_start sub_8100874
-sub_8100874: @ 8100874
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_0810087A:
- lsls r0, r4, 5
- adds r0, 0x84
- adds r0, r5, r0
- lsls r2, r4, 1
- adds r1, r5, 0x4
- adds r1, r2
- ldrh r1, [r1]
- bl sub_8100740
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3F
- bls _0810087A
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100874
-
- thumb_func_start sub_810089C
-sub_810089C: @ 810089C
- lsls r0, 16
- ldr r1, _081008B4 @ =gMapHeader
- ldr r1, [r1]
- ldr r1, [r1, 0x14]
- ldr r1, [r1, 0xC]
- lsrs r0, 15
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _081008B8 @ =0x00000fff
- ands r0, r1
- bx lr
- .align 2, 0
-_081008B4: .4byte gMapHeader
-_081008B8: .4byte 0x00000fff
- thumb_func_end sub_810089C
-
- thumb_func_start sub_81008BC
-sub_81008BC: @ 81008BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- movs r6, 0
- ldr r1, _0810092C @ =gUnknown_083EC860
- lsls r5, r0, 4
- adds r0, r5, r1
- ldrb r0, [r0, 0xC]
- cmp r6, r0
- bcs _08100920
- adds r7, r1, 0
-_081008D8:
- mov r4, r8
- ldm r4!, {r1}
- adds r0, r7, 0x4
- adds r0, r5, r0
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- ldr r1, [r1, 0x1C]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r5, r1
- ldr r1, [r1]
- adds r1, r6
- lsls r0, 3
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_810089C
- adds r2, r5, r7
- ldr r1, [r2]
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 1
- adds r4, r1
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r2, 0xC]
- cmp r6, r2
- bcc _081008D8
-_08100920:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810092C: .4byte gUnknown_083EC860
- thumb_func_end sub_81008BC
-
- thumb_func_start sub_8100930
-sub_8100930: @ 8100930
- push {r4,r5,lr}
- lsls r0, 24
- ldr r3, _08100998 @ =gUnknown_020391AC
- movs r1, 0
- strb r1, [r3]
- ldrb r2, [r3, 0x1]
- subs r1, 0x4
- ands r1, r2
- movs r4, 0xD
- negs r4, r4
- ands r1, r4
- movs r2, 0x11
- negs r2, r2
- ands r1, r2
- subs r2, 0x10
- ands r1, r2
- strb r1, [r3, 0x1]
- ldr r1, _0810099C @ =gUnknown_083EC900
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- movs r5, 0x3F
- lsls r1, 6
- strb r1, [r3, 0x1]
- ldrh r2, [r3, 0x2]
- ldr r1, _081009A0 @ =0xfffffe00
- ands r1, r2
- strh r1, [r3, 0x2]
- ldrb r2, [r3, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x3]
- ldrb r0, [r0, 0x1]
- lsls r0, 6
- ands r5, r1
- orrs r5, r0
- strb r5, [r3, 0x3]
- ldrh r1, [r3, 0x4]
- ldr r0, _081009A4 @ =0xfffffc00
- ands r0, r1
- strh r0, [r3, 0x4]
- ldrb r0, [r3, 0x5]
- ands r4, r0
- movs r0, 0x4
- orrs r4, r0
- movs r0, 0xF
- ands r4, r0
- strb r4, [r3, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100998: .4byte gUnknown_020391AC
-_0810099C: .4byte gUnknown_083EC900
-_081009A0: .4byte 0xfffffe00
-_081009A4: .4byte 0xfffffc00
- thumb_func_end sub_8100930
-
- thumb_func_start sub_81009A8
-sub_81009A8: @ 81009A8
- movs r1, 0
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- strh r1, [r0, 0x3A]
- strh r1, [r0, 0x3C]
- ldr r1, _081009BC @ =sub_81009C0
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_081009BC: .4byte sub_81009C0
- thumb_func_end sub_81009A8
-
- thumb_func_start sub_81009C0
-sub_81009C0: @ 81009C0
- push {lr}
- adds r2, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081009FA
- movs r1, 0x3A
- ldrsh r0, [r2, r1]
- cmp r0, 0xE
- bgt _081009E2
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _081009EC
-_081009E2:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
-_081009EC:
- strb r0, [r3]
- ldrh r0, [r2, 0x3A]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r2, 0x3A]
- b _08100A06
-_081009FA:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08100A06:
- pop {r0}
- bx r0
- thumb_func_end sub_81009C0
-
- thumb_func_start sub_8100A0C
-sub_8100A0C: @ 8100A0C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8100D38
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100A44
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _08100A3C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _08100A40 @ =sub_8100E70
- str r1, [r0]
- b _08100A50
- .align 2, 0
-_08100A3C: .4byte gTasks
-_08100A40: .4byte sub_8100E70
-_08100A44:
- ldr r1, _08100A58 @ =gSecretBaseText_NoDecorInUse
- ldr r2, _08100A5C @ =sub_80FE428
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100A50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100A58: .4byte gSecretBaseText_NoDecorInUse
-_08100A5C: .4byte sub_80FE428
- thumb_func_end sub_8100A0C
-
- thumb_func_start sub_8100A60
-sub_8100A60: @ 8100A60
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08100A78 @ =0x0201f000
- ldr r1, [r3]
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r1, [r3, 0x4]
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_08100A78: .4byte 0x0201f000
- thumb_func_end sub_8100A60
-
- thumb_func_start sub_8100A7C
-sub_8100A7C: @ 8100A7C
- push {r4-r6,lr}
- ldr r6, _08100A9C @ =gSpecialVar_0x8005
- movs r0, 0
- strh r0, [r6]
- ldr r2, _08100AA0 @ =gScriptResult
- strh r0, [r2]
- ldr r4, _08100AA4 @ =gSpecialVar_0x8004
- ldr r1, _08100AA8 @ =gUnknown_02039234
- ldrh r0, [r4]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08100AB8
- movs r0, 0x1
- strh r0, [r2]
- b _08100B0A
- .align 2, 0
-_08100A9C: .4byte gSpecialVar_0x8005
-_08100AA0: .4byte gScriptResult
-_08100AA4: .4byte gSpecialVar_0x8004
-_08100AA8: .4byte gUnknown_02039234
-_08100AAC:
- ldr r1, _08100AB4 @ =gSpecialVar_0x8006
- ldrb r0, [r2]
- strh r0, [r1]
- b _08100B0A
- .align 2, 0
-_08100AB4: .4byte gSpecialVar_0x8006
-_08100AB8:
- ldr r3, _08100B10 @ =gDecorations
- ldr r2, _08100B14 @ =0x0201f000
- ldr r1, _08100B18 @ =gUnknown_020391B4
- ldrh r0, [r4]
- lsls r0, 3
- adds r4, r0, r1
- ldrb r1, [r4]
- ldr r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r3
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- bne _08100B0A
- ldrh r0, [r4, 0x4]
- strh r0, [r6]
- ldrb r0, [r4]
- bl sub_8100A60
- movs r1, 0
- ldr r0, _08100B1C @ =gMapHeader
- ldr r0, [r0, 0x4]
- ldrb r2, [r0]
- cmp r1, r2
- bcs _08100B0A
- ldr r5, [r0, 0x4]
- ldrh r4, [r6]
- adds r3, r2, 0
-_08100AF2:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0, r5
- ldrh r0, [r2, 0x14]
- cmp r0, r4
- beq _08100AAC
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bcc _08100AF2
-_08100B0A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100B10: .4byte gDecorations
-_08100B14: .4byte 0x0201f000
-_08100B18: .4byte gUnknown_020391B4
-_08100B1C: .4byte gMapHeader
- thumb_func_end sub_8100A7C
-
- thumb_func_start sub_8100B20
-sub_8100B20: @ 8100B20
- push {r4-r6,lr}
- movs r2, 0
- ldr r0, _08100B4C @ =gMapHeader
- ldr r0, [r0, 0x4]
- ldrb r1, [r0]
- cmp r2, r1
- bcs _08100B64
- adds r3, r0, 0
- ldr r5, [r3, 0x4]
- ldr r0, _08100B50 @ =gSpecialVar_0x8004
- ldrh r4, [r0]
- ldr r6, _08100B54 @ =gSpecialVar_0x8005
-_08100B38:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r5
- ldrh r0, [r1, 0x14]
- cmp r0, r4
- bne _08100B58
- ldrb r0, [r1]
- strh r0, [r6]
- b _08100B64
- .align 2, 0
-_08100B4C: .4byte gMapHeader
-_08100B50: .4byte gSpecialVar_0x8004
-_08100B54: .4byte gSpecialVar_0x8005
-_08100B58:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3]
- cmp r2, r0
- bcc _08100B38
-_08100B64:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8100B20
-
- thumb_func_start sub_8100B6C
-sub_8100B6C: @ 8100B6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- b _08100C64
-_08100B7C:
- lsls r3, r7, 3
- ldr r0, _08100BE0 @ =gUnknown_020391B4
- adds r4, r3, r0
- ldrb r1, [r4]
- ldr r2, _08100BE4 @ =0x0201f000
- ldr r0, [r2]
- adds r0, r1
- ldrb r6, [r0]
- lsls r0, r6, 5
- ldr r5, _08100BE8 @ =gDecorations
- adds r0, r5
- ldrb r2, [r0, 0x11]
- ldr r5, _08100BE4 @ =0x0201f000
- ldr r0, [r5, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r1, r0, 4
- mov r9, r1
- movs r5, 0xF
- mov r10, r5
- mov r1, r10
- ands r1, r0
- mov r10, r1
- adds r5, r3, 0
- adds r3, r7, 0x1
- str r3, [sp]
- cmp r2, 0x4
- beq _08100C5E
- cmp r6, 0x29
- bne _08100BD0
- mov r0, r9
- adds r0, 0x7
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- bne _08100BD0
- ldrb r0, [r4, 0x2]
- adds r0, 0x1
- strb r0, [r4, 0x2]
-_08100BD0:
- movs r6, 0
- ldr r1, _08100BE0 @ =gUnknown_020391B4
- adds r2, r5, 0
- adds r0, r5, r1
- adds r3, r7, 0x1
- str r3, [sp]
- b _08100C4E
- .align 2, 0
-_08100BE0: .4byte gUnknown_020391B4
-_08100BE4: .4byte 0x0201f000
-_08100BE8: .4byte gDecorations
-_08100BEC:
- movs r4, 0
- adds r0, r2, r1
- adds r7, r6, 0x1
- str r7, [sp, 0x4]
- ldrb r0, [r0, 0x1]
- cmp r4, r0
- bcs _08100C42
- ldr r0, _08100C7C @ =gUnknown_020391B4
- adds r0, r5
- mov r8, r0
- subs r1, r6, 0x7
- str r1, [sp, 0x8]
-_08100C04:
- adds r0, r4, 0x7
- add r0, r9
- ldr r1, _08100C80 @ =gMapHeader
- ldr r3, [r1]
- mov r7, r10
- subs r2, r7, r6
- ldr r1, [r3]
- muls r2, r1
- mov r7, r9
- adds r1, r7, r4
- adds r1, r2
- ldr r2, [r3, 0xC]
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- movs r3, 0xC0
- lsls r3, 6
- adds r2, r3, 0
- orrs r2, r1
- mov r7, r10
- ldr r3, [sp, 0x8]
- subs r1, r7, r3
- bl MapGridSetMetatileEntryAt
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r7, r8
- ldrb r7, [r7, 0x1]
- cmp r4, r7
- bcc _08100C04
-_08100C42:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r1, _08100C7C @ =gUnknown_020391B4
- adds r2, r5, 0
- adds r0, r5, r1
-_08100C4E:
- ldrb r0, [r0, 0x2]
- cmp r6, r0
- bcc _08100BEC
- ldr r2, _08100C7C @ =gUnknown_020391B4
- adds r0, r5, r2
- ldrb r0, [r0]
- bl sub_8100A60
-_08100C5E:
- ldr r3, [sp]
- lsls r0, r3, 24
- lsrs r7, r0, 24
-_08100C64:
- ldr r0, _08100C84 @ =gUnknown_02039234
- ldrb r0, [r0]
- cmp r7, r0
- bcc _08100B7C
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08100C7C: .4byte gUnknown_020391B4
-_08100C80: .4byte gMapHeader
-_08100C84: .4byte gUnknown_02039234
- thumb_func_end sub_8100B6C
-
- thumb_func_start sub_8100C88
-sub_8100C88: @ 8100C88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08100CAC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08100CC4
- cmp r0, 0x1
- bgt _08100CB0
- cmp r0, 0
- beq _08100CBA
- b _08100D24
- .align 2, 0
-_08100CAC: .4byte gTasks
-_08100CB0:
- cmp r0, 0x2
- beq _08100CF4
- cmp r0, 0x3
- beq _08100D08
- b _08100D24
-_08100CBA:
- bl sub_8100B6C
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _08100D24
-_08100CC4:
- ldr r0, _08100CEC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08100D24
- bl DrawWholeMapView
- ldr r0, _08100CF0 @ =gUnknown_081A2F8A
- bl ScriptContext1_SetupScript
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- strh r0, [r5, 0xC]
- b _08100D24
- .align 2, 0
-_08100CEC: .4byte gPaletteFade
-_08100CF0: .4byte gUnknown_081A2F8A
-_08100CF4:
- bl ScriptContext2_Enable
- adds r0, r4, 0
- bl sub_80FED90
- bl pal_fill_black
- movs r0, 0x3
- strh r0, [r5, 0xC]
- b _08100D24
-_08100D08:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100D24
- ldr r0, _08100D2C @ =0x0000ffff
- strh r0, [r5, 0x22]
- ldr r1, _08100D30 @ =gSecretBaseText_DecorReturned
- ldr r2, _08100D34 @ =sub_81010F0
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100D24:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100D2C: .4byte 0x0000ffff
-_08100D30: .4byte gSecretBaseText_DecorReturned
-_08100D34: .4byte sub_81010F0
- thumb_func_end sub_8100C88
-
- thumb_func_start sub_8100D38
-sub_8100D38: @ 8100D38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _08100D68 @ =0x0201f000
- adds r4, r0, 0
- ldrb r0, [r4, 0x8]
- cmp r2, r0
- bcs _08100D7C
- adds r5, r4, 0
- ldr r1, _08100D6C @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r1, r0, r1
-_08100D56:
- ldr r0, [r5]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08100D70
- strh r2, [r1, 0x22]
- movs r0, 0x1
- b _08100D7E
- .align 2, 0
-_08100D68: .4byte 0x0201f000
-_08100D6C: .4byte gTasks
-_08100D70:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r0, [r4, 0x8]
- cmp r2, r0
- bcc _08100D56
-_08100D7C:
- movs r0, 0
-_08100D7E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100D38
-
- thumb_func_start SetUpPuttingAwayDecorationPlayerAvatar
-SetUpPuttingAwayDecorationPlayerAvatar: @ 8100D84
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- bl player_get_direction_lower_nybble
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r3, _08100DD8 @ =gUnknown_020391A8
- ldr r2, _08100DDC @ =gSprites
- ldr r4, _08100DE0 @ =gUnknown_03004880
- ldr r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strb r0, [r3]
- bl sub_81016C8
- ldr r0, _08100DE4 @ =gSpriteTemplate_83ECA88
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, _08100DE8 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08100DF0
- ldr r1, _08100DEC @ =SpriteCallbackDummy
- str r0, [sp]
- movs r0, 0xC1
- b _08100DF8
- .align 2, 0
-_08100DD8: .4byte gUnknown_020391A8
-_08100DDC: .4byte gSprites
-_08100DE0: .4byte gUnknown_03004880
-_08100DE4: .4byte gSpriteTemplate_83ECA88
-_08100DE8: .4byte gSaveBlock2
-_08100DEC: .4byte SpriteCallbackDummy
-_08100DF0:
- ldr r1, _08100E5C @ =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC2
-_08100DF8:
- movs r2, 0x88
- movs r3, 0x48
- bl AddPseudoFieldObject
- ldr r1, _08100E60 @ =gUnknown_020391A9
- strb r0, [r1]
- ldr r6, _08100E64 @ =gSprites
- ldr r0, _08100E60 @ =gUnknown_020391A9
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r2, 0x4
- mov r8, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r5, _08100E68 @ =gUnknown_020391A8
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r0, _08100E6C @ =gUnknown_03004880
- ldr r0, [r0, 0x4]
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- ands r4, r1
- mov r1, r8
- orrs r4, r1
- strb r4, [r0, 0x5]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100E5C: .4byte SpriteCallbackDummy
-_08100E60: .4byte gUnknown_020391A9
-_08100E64: .4byte gSprites
-_08100E68: .4byte gUnknown_020391A8
-_08100E6C: .4byte gUnknown_03004880
- thumb_func_end SetUpPuttingAwayDecorationPlayerAvatar
-
- thumb_func_start sub_8100E70
-sub_8100E70: @ 8100E70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08100E94 @ =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08100EC4
- cmp r0, 0x1
- bgt _08100E98
- cmp r0, 0
- beq _08100E9E
- b _08100EE6
- .align 2, 0
-_08100E94: .4byte gTasks + 0x8
-_08100E98:
- cmp r0, 0x2
- beq _08100ED2
- b _08100EE6
-_08100E9E:
- ldr r0, _08100EC0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08100EE6
- adds r0, r5, 0
- bl sub_80FF0E0
- movs r0, 0x1
- strh r0, [r4, 0x4]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xA]
- bl sub_8072DEC
- b _08100EE6
- .align 2, 0
-_08100EC0: .4byte gPaletteFade
-_08100EC4:
- bl SetUpPuttingAwayDecorationPlayerAvatar
- bl pal_fill_black
- movs r0, 0x2
- strh r0, [r4, 0x4]
- b _08100EE6
-_08100ED2:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100EE6
- strh r0, [r4, 0x18]
- adds r0, r5, 0
- bl sub_8100EEC
-_08100EE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100E70
-
- thumb_func_start sub_8100EEC
-sub_8100EEC: @ 8100EEC
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r4, _08100F70 @ =gSprites
- ldr r3, _08100F74 @ =gUnknown_020391A8
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0
- strh r6, [r0, 0x3C]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08100F78 @ =sub_8101698
- str r1, [r0]
- ldr r2, _08100F7C @ =gUnknown_020391A9
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x88
- strh r1, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x48
- strh r1, [r0, 0x22]
- ldr r1, _08100F80 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x1C]
- ldr r1, _08100F84 @ =sub_8100494
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100F70: .4byte gSprites
-_08100F74: .4byte gUnknown_020391A8
-_08100F78: .4byte sub_8101698
-_08100F7C: .4byte gUnknown_020391A9
-_08100F80: .4byte gTasks
-_08100F84: .4byte sub_8100494
- thumb_func_end sub_8100EEC
-
- thumb_func_start sub_8100F88
-sub_8100F88: @ 8100F88
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08100FB0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- bl sub_810045C
- adds r0, r4, 0
- bl sub_8101024
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100FB0: .4byte gTasks
- thumb_func_end sub_8100F88
-
- thumb_func_start sub_8100FB4
-sub_8100FB4: @ 8100FB4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0810100C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- bl sub_810045C
- ldr r3, _08101010 @ =gSprites
- ldr r5, _08101014 @ =gUnknown_020391A8
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _08101018 @ =SpriteCallbackDummy
- str r1, [r0]
- ldr r1, _0810101C @ =gSecretBaseText_StopPuttingAwayDecor
- ldr r2, _08101020 @ =sub_810156C
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810100C: .4byte gTasks
-_08101010: .4byte gSprites
-_08101014: .4byte gUnknown_020391A8
-_08101018: .4byte SpriteCallbackDummy
-_0810101C: .4byte gSecretBaseText_StopPuttingAwayDecor
-_08101020: .4byte sub_810156C
- thumb_func_end sub_8100FB4
-
- thumb_func_start sub_8101024
-sub_8101024: @ 8101024
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8101460
- ldr r0, _08101040 @ =gUnknown_02039234
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810104C
- ldr r1, _08101044 @ =gSecretBaseText_ReturnDecor
- ldr r2, _08101048 @ =sub_8101518
- b _081010B0
- .align 2, 0
-_08101040: .4byte gUnknown_02039234
-_08101044: .4byte gSecretBaseText_ReturnDecor
-_08101048: .4byte sub_8101518
-_0810104C:
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, _081010BC @ =gTasks + 0x8
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsSecretBasePC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08101082
- adds r0, r4, 0
- bl sub_805738C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081010D4
-_08101082:
- ldr r3, _081010C0 @ =gSprites
- ldr r4, _081010C4 @ =gUnknown_020391A8
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _081010C8 @ =SpriteCallbackDummy
- str r1, [r0]
- ldr r1, _081010CC @ =gSecretBaseText_StopPuttingAwayDecor
- ldr r2, _081010D0 @ =sub_810156C
-_081010B0:
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _081010E0
- .align 2, 0
-_081010BC: .4byte gTasks + 0x8
-_081010C0: .4byte gSprites
-_081010C4: .4byte gUnknown_020391A8
-_081010C8: .4byte SpriteCallbackDummy
-_081010CC: .4byte gSecretBaseText_StopPuttingAwayDecor
-_081010D0: .4byte sub_810156C
-_081010D4:
- ldr r1, _081010E8 @ =gSecretBaseText_NoDecor
- ldr r2, _081010EC @ =sub_81010F0
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_081010E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081010E8: .4byte gSecretBaseText_NoDecor
-_081010EC: .4byte sub_81010F0
- thumb_func_end sub_8101024
-
- thumb_func_start sub_81010F0
-sub_81010F0: @ 81010F0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08101114 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810110A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08101110
-_0810110A:
- adds r0, r2, 0
- bl sub_8100EEC
-_08101110:
- pop {r0}
- bx r0
- .align 2, 0
-_08101114: .4byte gMain
- thumb_func_end sub_81010F0
-
- thumb_func_start sub_8101118
-sub_8101118: @ 8101118
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- ldr r1, _08101130 @ =gDecorations
- lsrs r0, 19
- adds r0, r1
- ldrb r1, [r0, 0x12]
- cmp r1, 0
- bne _08101134
- movs r0, 0x1
- strb r0, [r2, 0x1]
- b _08101192
- .align 2, 0
-_08101130: .4byte gDecorations
-_08101134:
- cmp r1, 0x1
- bne _08101140
- movs r0, 0x2
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- b _08101194
-_08101140:
- cmp r1, 0x2
- bne _0810114C
- movs r0, 0x3
- strb r0, [r2, 0x1]
- movs r0, 0x1
- b _08101192
-_0810114C:
- cmp r1, 0x3
- bne _08101154
- movs r0, 0x4
- b _0810118E
-_08101154:
- cmp r1, 0x4
- bne _0810115E
- movs r0, 0x2
- strb r0, [r2, 0x1]
- b _08101192
-_0810115E:
- cmp r1, 0x5
- bne _08101166
- movs r0, 0x1
- b _0810118E
-_08101166:
- cmp r1, 0x6
- bne _08101172
- movs r0, 0x1
- strb r0, [r2, 0x1]
- movs r0, 0x3
- b _08101192
-_08101172:
- cmp r1, 0x7
- bne _0810117E
- movs r0, 0x2
- strb r0, [r2, 0x1]
- movs r0, 0x4
- b _08101192
-_0810117E:
- cmp r1, 0x8
- bne _08101188
- movs r0, 0x3
- strb r0, [r2, 0x1]
- b _08101192
-_08101188:
- cmp r1, 0x9
- bne _08101194
- movs r0, 0x3
-_0810118E:
- strb r0, [r2, 0x1]
- movs r0, 0x2
-_08101192:
- strb r0, [r2, 0x2]
-_08101194:
- pop {r0}
- bx r0
- thumb_func_end sub_8101118
-
- thumb_func_start sub_8101198
-sub_8101198: @ 8101198
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- ldr r5, _081011F0 @ =gSprites
- ldr r6, _081011F4 @ =gUnknown_020391A8
- ldrb r3, [r6]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- adds r2, 0x3E
- ldrb r3, [r2]
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r2]
- ldrb r3, [r6]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r3, r5, 0
- adds r3, 0x1C
- adds r2, r3
- ldr r3, _081011F8 @ =SpriteCallbackDummy
- str r3, [r2]
- ldr r4, _081011FC @ =gUnknown_020391A9
- ldrb r3, [r4]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- lsrs r0, 20
- adds r0, 0x88
- strh r0, [r2, 0x20]
- ldrb r2, [r4]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- lsrs r1, 20
- adds r1, 0x48
- strh r1, [r0, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081011F0: .4byte gSprites
-_081011F4: .4byte gUnknown_020391A8
-_081011F8: .4byte SpriteCallbackDummy
-_081011FC: .4byte gUnknown_020391A9
- thumb_func_end sub_8101198
-
- thumb_func_start sub_8101200
-sub_8101200: @ 8101200
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0810128C @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r0, [r2, 0x8]
- subs r0, 0x7
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r2, 0xA]
- subs r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _08101290 @ =0x0201f000
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r4, r0, 4
- movs r5, 0xF
- ands r5, r0
- ldr r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _0810125A
- adds r0, r4, 0x7
- adds r1, r5, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- bne _0810125A
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
-_0810125A:
- cmp r7, r4
- bcc _08101294
- ldrb r1, [r6, 0x1]
- adds r0, r4, r1
- cmp r7, r0
- bge _08101294
- ldrb r0, [r6, 0x2]
- subs r0, r5, r0
- cmp r8, r0
- ble _08101294
- cmp r8, r5
- bhi _08101294
- subs r0, r7, r4
- adds r0, 0x1
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- subs r1, r5, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_8101198
- movs r0, 0x1
- b _08101296
- .align 2, 0
-_0810128C: .4byte gTasks
-_08101290: .4byte 0x0201f000
-_08101294:
- movs r0, 0
-_08101296:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8101200
-
- thumb_func_start sub_81012A0
-sub_81012A0: @ 81012A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0810130C @ =0x0201f000
- ldr r3, _08101310 @ =gUnknown_020391B4
- ldr r0, _08101314 @ =gUnknown_02039234
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r3
- ldrb r1, [r0]
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r7, r0, 4
- movs r6, 0xF
- ands r6, r0
- movs r5, 0
- ldr r0, _08101318 @ =gSaveBlock1
- mov r8, r0
- mov r9, r3
-_081012CA:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldr r2, _0810131C @ =0x00000c24
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r7
- bne _08101328
- ldr r2, _08101320 @ =0x00000c26
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r6
- bne _08101328
- ldr r0, _08101324 @ =0x00000c34
- adds r4, r1, r0
- ldrh r0, [r4]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08101328
- ldr r0, _08101314 @ =gUnknown_02039234
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r9
- ldrh r1, [r4]
- strh r1, [r0, 0x4]
- b _08101332
- .align 2, 0
-_0810130C: .4byte 0x0201f000
-_08101310: .4byte gUnknown_020391B4
-_08101314: .4byte gUnknown_02039234
-_08101318: .4byte gSaveBlock1
-_0810131C: .4byte 0x00000c24
-_08101320: .4byte 0x00000c26
-_08101324: .4byte 0x00000c34
-_08101328:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3F
- bls _081012CA
-_08101332:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81012A0
-
- thumb_func_start sub_8101340
-sub_8101340: @ 8101340
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- b _081013A2
-_0810134A:
- ldr r0, [r0]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810139C
- ldr r0, _08101390 @ =gDecorations
- ldrb r2, [r1]
- lsls r1, r2, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- bne _0810139C
- ldr r5, _08101394 @ =gUnknown_020391B4
- adds r0, r2, 0
- adds r1, r5, 0
- bl sub_8101118
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r7, 0
- adds r2, r5, 0
- bl sub_8101200
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0810139C
- strb r6, [r5]
- bl sub_81012A0
- ldr r0, _08101398 @ =gUnknown_02039234
- strb r4, [r0]
- movs r0, 0x1
- b _081013AC
- .align 2, 0
-_08101390: .4byte gDecorations
-_08101394: .4byte gUnknown_020391B4
-_08101398: .4byte gUnknown_02039234
-_0810139C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081013A2:
- ldr r0, _081013B4 @ =0x0201f000
- ldrb r1, [r0, 0x8]
- cmp r6, r1
- bcc _0810134A
- movs r0, 0
-_081013AC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081013B4: .4byte 0x0201f000
- thumb_func_end sub_8101340
-
- thumb_func_start sub_81013B8
-sub_81013B8: @ 81013B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r4, 0
- ldr r7, _08101450 @ =0x0201f000
- ldrb r0, [r7, 0x8]
- cmp r4, r0
- bcs _0810143E
- adds r6, r7, 0
- ldr r5, _08101454 @ =gUnknown_02039234
-_081013EA:
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- ldr r0, [r6, 0x4]
- adds r0, r4
- ldrb r0, [r0]
- lsrs r3, r0, 4
- movs r2, 0xF
- ands r2, r0
- cmp r1, 0
- beq _08101432
- ldr r0, _08101458 @ =gDecorations
- lsls r1, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- bne _08101432
- ldr r0, [sp]
- cmp r0, r3
- bhi _08101432
- cmp r10, r2
- bhi _08101432
- cmp r9, r3
- bcc _08101432
- cmp r8, r2
- bcc _08101432
- ldr r0, _0810145C @ =gUnknown_020391B4
- ldrb r1, [r5]
- lsls r1, 3
- adds r1, r0
- strb r4, [r1]
- bl sub_81012A0
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
-_08101432:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r7, 0x8]
- cmp r4, r0
- bcc _081013EA
-_0810143E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101450: .4byte 0x0201f000
-_08101454: .4byte gUnknown_02039234
-_08101458: .4byte gDecorations
-_0810145C: .4byte gUnknown_020391B4
- thumb_func_end sub_81013B8
-
- thumb_func_start sub_8101460
-sub_8101460: @ 8101460
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _081014B8 @ =gUnknown_02039234
- movs r0, 0
- strb r0, [r4]
- adds r0, r6, 0
- bl sub_8101340
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08101504
- movs r5, 0
- ldr r0, _081014BC @ =0x0201f000
- ldrb r1, [r0, 0x8]
- cmp r5, r1
- bcs _081014D2
- adds r7, r4, 0
-_08101486:
- ldr r0, [r0]
- adds r0, r5
- ldrb r1, [r0]
- cmp r1, 0
- beq _081014C4
- ldr r4, _081014C0 @ =gUnknown_020391B4
- adds r0, r1, 0
- adds r1, r4, 0
- bl sub_8101118
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8101200
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081014C4
- strb r5, [r4]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _081014D2
- .align 2, 0
-_081014B8: .4byte gUnknown_02039234
-_081014BC: .4byte 0x0201f000
-_081014C0: .4byte gUnknown_020391B4
-_081014C4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0810150C @ =0x0201f000
- ldrb r1, [r0, 0x8]
- cmp r5, r1
- bcc _08101486
-_081014D2:
- ldr r0, _08101510 @ =gUnknown_02039234
- ldrb r0, [r0]
- cmp r0, 0
- beq _08101504
- ldr r0, _0810150C @ =0x0201f000
- ldr r2, _08101514 @ =gUnknown_020391B4
- ldrb r1, [r2]
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldrb r1, [r0]
- lsrs r0, r1, 4
- movs r3, 0xF
- ands r3, r1
- ldrb r1, [r2, 0x2]
- subs r1, r3, r1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r2, 0x1]
- adds r2, r0
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- bl sub_81013B8
-_08101504:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810150C: .4byte 0x0201f000
-_08101510: .4byte gUnknown_02039234
-_08101514: .4byte gUnknown_020391B4
- thumb_func_end sub_8101460
-
- thumb_func_start sub_8101518
-sub_8101518: @ 8101518
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08101538 @ =gUnknown_083EC9CC
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101538: .4byte gUnknown_083EC9CC
- thumb_func_end sub_8101518
-
- thumb_func_start sub_810153C
-sub_810153C: @ 810153C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _08101564 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _08101568 @ =sub_8100C88
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101564: .4byte gTasks
-_08101568: .4byte sub_8100C88
- thumb_func_end sub_810153C
-
- thumb_func_start sub_810156C
-sub_810156C: @ 810156C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0810158C @ =gUnknown_083EC9D4
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810158C: .4byte gUnknown_083EC9D4
- thumb_func_end sub_810156C
-
- thumb_func_start sub_8101590
-sub_8101590: @ 8101590
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_81015B0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101590
-
- thumb_func_start sub_81015B0
-sub_81015B0: @ 81015B0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _081015D8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _081015DC @ =sub_81015E0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081015D8: .4byte gTasks
-_081015DC: .4byte sub_81015E0
- thumb_func_end sub_81015B0
-
- thumb_func_start sub_81015E0
-sub_81015E0: @ 81015E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08101600 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08101604
- cmp r0, 0x1
- beq _08101620
- b _08101636
- .align 2, 0
-_08101600: .4byte gTasks
-_08101604:
- ldr r0, _0810161C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08101636
- adds r0, r4, 0
- bl sub_80FF114
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _08101636
- .align 2, 0
-_0810161C: .4byte gPaletteFade
-_08101620:
- bl sub_81016F4
- ldr r0, _0810163C @ =gUnknown_0300485C
- ldr r1, _08101640 @ =sub_8101678
- str r1, [r0]
- ldr r0, _08101644 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08101636:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810163C: .4byte gUnknown_0300485C
-_08101640: .4byte sub_8101678
-_08101644: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_81015E0
-
- thumb_func_start sub_8101648
-sub_8101648: @ 8101648
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08101668
- ldr r0, _08101670 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08101674 @ =Task_DecorationPCProcessMenuInput
- str r0, [r1]
-_08101668:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101670: .4byte gTasks
-_08101674: .4byte Task_DecorationPCProcessMenuInput
- thumb_func_end sub_8101648
-
- thumb_func_start sub_8101678
-sub_8101678: @ 8101678
- push {lr}
- bl pal_fill_black
- bl MenuDisplayMessageBox
- bl sub_80FE220
- ldr r0, _08101694 @ =sub_8101648
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08101694: .4byte sub_8101648
- thumb_func_end sub_8101678
-
- thumb_func_start sub_8101698
-sub_8101698: @ 8101698
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r2, 0x2E]
- cmp r0, 0xF
- ble _081016B8
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081016C4
-_081016B8:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_081016C4:
- pop {r0}
- bx r0
- thumb_func_end sub_8101698
-
- thumb_func_start sub_81016C8
-sub_81016C8: @ 81016C8
- push {lr}
- ldr r0, _081016DC @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _081016E4
- ldr r0, _081016E0 @ =gUnknown_083ECA5C
- bl LoadSpritePalette
- b _081016EA
- .align 2, 0
-_081016DC: .4byte gSaveBlock2
-_081016E0: .4byte gUnknown_083ECA5C
-_081016E4:
- ldr r0, _081016F0 @ =gUnknown_083ECA64
- bl LoadSpritePalette
-_081016EA:
- pop {r0}
- bx r0
- .align 2, 0
-_081016F0: .4byte gUnknown_083ECA64
- thumb_func_end sub_81016C8
-
- thumb_func_start sub_81016F4
-sub_81016F4: @ 81016F4
- push {lr}
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_81016F4
-
- thumb_func_start sub_8101700
-sub_8101700: @ 8101700
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _08101728
- ldr r1, _08101720 @ =gSecretBaseText_NoDecors
- ldr r2, _08101724 @ =sub_80FE428
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101742
- .align 2, 0
-_08101720: .4byte gSecretBaseText_NoDecors
-_08101724: .4byte sub_80FE428
-_08101728:
- ldr r1, _08101748 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x1E]
- ldr r0, _0810174C @ =gUnknown_020388F6
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_08101742:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101748: .4byte gTasks
-_0810174C: .4byte gUnknown_020388F6
- thumb_func_end sub_8101700
-
- thumb_func_start unref_sub_8101750
-unref_sub_8101750: @ 8101750
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _08101778
- ldr r1, _08101770 @ =gSecretBaseText_NoDecors
- ldr r2, _08101774 @ =sub_80FE428
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101792
- .align 2, 0
-_08101770: .4byte gSecretBaseText_NoDecors
-_08101774: .4byte sub_80FE428
-_08101778:
- ldr r1, _08101798 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0, 0x1E]
- ldr r0, _0810179C @ =gUnknown_020388F6
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_08101792:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101798: .4byte gTasks
-_0810179C: .4byte gUnknown_020388F6
- thumb_func_end unref_sub_8101750
-
- thumb_func_start sub_81017A0
-sub_81017A0: @ 81017A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80FEF74
- bl sub_80FED1C
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08101808
- ldr r0, _081017EC @ =gStringVar1
- ldr r1, _081017F0 @ =gUnknown_020388F5
- ldrb r2, [r1]
- ldr r1, _081017F4 @ =gUnknown_020388D0
- ldr r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 5
- ldr r2, _081017F8 @ =gDecorations + 0x1
- adds r1, r2
- bl StringCopy
- ldr r4, _081017FC @ =gStringVar4
- ldr r1, _08101800 @ =gSecretBaseText_WillBeDiscarded
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _08101804 @ =sub_8101824
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101814
- .align 2, 0
-_081017EC: .4byte gStringVar1
-_081017F0: .4byte gUnknown_020388F5
-_081017F4: .4byte gUnknown_020388D0
-_081017F8: .4byte gDecorations + 0x1
-_081017FC: .4byte gStringVar4
-_08101800: .4byte gSecretBaseText_WillBeDiscarded
-_08101804: .4byte sub_8101824
-_08101808:
- ldr r1, _0810181C @ =gSecretBaseText_DecorInUse
- ldr r2, _08101820 @ =sub_80FEFF4
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08101814:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810181C: .4byte gSecretBaseText_DecorInUse
-_08101820: .4byte sub_80FEFF4
- thumb_func_end sub_81017A0
-
- thumb_func_start sub_8101824
-sub_8101824: @ 8101824
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08101844 @ =gUnknown_083ECAA0
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101844: .4byte gUnknown_083ECAA0
- thumb_func_end sub_8101824
-
- thumb_func_start sub_8101848
-sub_8101848: @ 8101848
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xE
- bl MenuZeroFillWindowRect
- ldr r6, _08101890 @ =gUnknown_020388F5
- ldrb r1, [r6]
- ldr r5, _08101894 @ =gUnknown_020388D0
- ldr r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8109A30
- ldrb r1, [r6]
- ldr r0, [r5]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80FF098
- ldr r1, _08101898 @ =gSecretBaseText_DecorThrownAway
- ldr r2, _0810189C @ =sub_80FEFF4
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101890: .4byte gUnknown_020388F5
-_08101894: .4byte gUnknown_020388D0
-_08101898: .4byte gSecretBaseText_DecorThrownAway
-_0810189C: .4byte sub_80FEFF4
- thumb_func_end sub_8101848
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/decoration_inventory.s b/asm/decoration_inventory.s
deleted file mode 100644
index 953d770ae..000000000
--- a/asm/decoration_inventory.s
+++ /dev/null
@@ -1,404 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ClearDecorationInventory
-ClearDecorationInventory: @ 8133F4C
- push {r4,r5,lr}
- lsls r0, 24
- movs r3, 0
- ldr r1, _08133F7C @ =gDecorationInventories
- lsrs r2, r0, 21
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _08133F76
- adds r5, r1, 0
- movs r4, 0
-_08133F62:
- adds r0, r2, r5
- ldr r1, [r0]
- adds r1, r3
- strb r4, [r1]
- adds r1, r3, 0x1
- lsls r1, 24
- lsrs r3, r1, 24
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _08133F62
-_08133F76:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08133F7C: .4byte gDecorationInventories
- thumb_func_end ClearDecorationInventory
-
- thumb_func_start ClearDecorationInventories
-ClearDecorationInventories: @ 8133F80
- push {r4,lr}
- movs r4, 0
-_08133F84:
- adds r0, r4, 0
- bl ClearDecorationInventory
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133F84
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ClearDecorationInventories
-
- thumb_func_start sub_8133F9C
-sub_8133F9C: @ 8133F9C
- push {r4,lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _08133FC8 @ =gDecorationInventories
- lsrs r0, 21
- adds r0, r1
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- cmp r2, r1
- bge _08133FD8
- adds r4, r0, 0
- adds r3, r1, 0
-_08133FB4:
- lsls r0, r2, 24
- asrs r1, r0, 24
- ldr r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08133FCC
- adds r0, r1, 0
- b _08133FDC
- .align 2, 0
-_08133FC8: .4byte gDecorationInventories
-_08133FCC:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, r3
- blt _08133FB4
-_08133FD8:
- movs r0, 0x1
- negs r0, r0
-_08133FDC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8133F9C
-
- thumb_func_start sub_8133FE4
-sub_8133FE4: @ 8133FE4
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08134010 @ =gDecorations
- lsls r0, r3, 5
- adds r0, r1
- ldrb r0, [r0, 0x13]
- movs r2, 0
- ldr r1, _08134014 @ =gDecorationInventories
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _08134022
- ldr r4, [r0]
-_08134002:
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, r3
- bne _08134018
- movs r0, 0x1
- b _08134024
- .align 2, 0
-_08134010: .4byte gDecorations
-_08134014: .4byte gDecorationInventories
-_08134018:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _08134002
-_08134022:
- movs r0, 0
-_08134024:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8133FE4
-
- thumb_func_start IsThereStorageSpaceForDecoration
-IsThereStorageSpaceForDecoration: @ 813402C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0
- beq _0813406C
- ldr r1, _08134064 @ =gDecorations
- lsls r0, r4, 5
- adds r0, r1
- ldrb r5, [r0, 0x13]
- adds r0, r5, 0
- bl sub_8133F9C
- lsls r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _0813406C
- ldr r0, _08134068 @ =gDecorationInventories
- lsls r1, r5, 3
- adds r1, r0
- ldr r0, [r1]
- adds r0, r2
- strb r4, [r0]
- movs r0, 0x1
- b _0813406E
- .align 2, 0
-_08134064: .4byte gDecorations
-_08134068: .4byte gDecorationInventories
-_0813406C:
- movs r0, 0
-_0813406E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsThereStorageSpaceForDecoration
-
- thumb_func_start sub_8134074
-sub_8134074: @ 8134074
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _081340A0
- ldr r1, _0813409C @ =gDecorations
- lsls r0, 5
- adds r0, r1
- ldrb r0, [r0, 0x13]
- bl sub_8133F9C
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _081340A0
- movs r0, 0x1
- b _081340A2
- .align 2, 0
-_0813409C: .4byte gDecorations
-_081340A0:
- movs r0, 0
-_081340A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8134074
-
- thumb_func_start sub_81340A8
-sub_81340A8: @ 81340A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- cmp r5, 0
- bne _081340C4
- b _081340F2
-_081340B6:
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl sub_8134104
- movs r0, 0x1
- b _081340F4
-_081340C4:
- ldr r2, _081340FC @ =gDecorationInventories
- ldr r1, _08134100 @ =gDecorations
- lsls r0, r5, 5
- adds r0, r1
- ldrb r4, [r0, 0x13]
- lsls r0, r4, 3
- adds r0, r2
- ldrb r1, [r0, 0x4]
- cmp r3, r1
- bcs _081340F2
- adds r6, r4, 0
- adds r4, r0, 0
- adds r2, r1, 0
-_081340DE:
- ldr r0, [r4]
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, r5
- beq _081340B6
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r2
- bcc _081340DE
-_081340F2:
- movs r0, 0
-_081340F4:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081340FC: .4byte gDecorationInventories
-_08134100: .4byte gDecorations
- thumb_func_end sub_81340A8
-
- thumb_func_start sub_8134104
-sub_8134104: @ 8134104
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- movs r6, 0
- ldr r2, _08134190 @ =gDecorationInventories
- lsrs r1, r0, 21
- adds r0, r1, r2
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _08134180
- adds r7, r1, 0
- mov r8, r0
- str r0, [sp]
-_08134126:
- adds r1, r6, 0x1
- lsls r0, r1, 24
- lsrs r3, r0, 24
- adds r2, r7, 0
- mov r12, r1
- cmp r3, r8
- bcs _08134174
- ldr r1, _08134190 @ =gDecorationInventories
- mov r10, r1
- adds r0, r1, 0
- mov r9, r0
-_0813413C:
- mov r1, r10
- adds r5, r2, r1
- ldr r1, [r5]
- adds r0, r1, r3
- ldrb r4, [r0]
- adds r2, r4, 0
- cmp r2, 0
- beq _08134162
- adds r0, r1, r6
- ldrb r1, [r0]
- cmp r1, 0
- beq _08134158
- cmp r1, r2
- bls _08134162
-_08134158:
- ldrb r1, [r0]
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, r3
- strb r1, [r0]
-_08134162:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r7, 0
- mov r1, r9
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _0813413C
-_08134174:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r0, [sp]
- cmp r6, r0
- bcc _08134126
-_08134180:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08134190: .4byte gDecorationInventories
- thumb_func_end sub_8134104
-
- thumb_func_start sub_8134194
-sub_8134194: @ 8134194
- push {r4,r5,lr}
- lsls r0, 24
- movs r4, 0
- movs r3, 0
- ldr r2, _081341D0 @ =gDecorationInventories
- lsrs r1, r0, 21
- adds r0, r1, r2
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bcs _081341C8
- adds r5, r2, 0
-_081341AA:
- adds r2, r1, r5
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _081341BC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081341BC:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r2, [r2, 0x4]
- cmp r3, r2
- bcc _081341AA
-_081341C8:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081341D0: .4byte gDecorationInventories
- thumb_func_end sub_8134194
-
- thumb_func_start sub_81341D4
-sub_81341D4: @ 81341D4
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_081341DA:
- adds r0, r4, 0
- bl sub_8134194
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081341DA
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81341D4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index 2983deea0..c34212a24 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -1595,7 +1595,7 @@ _080E6D58:
.align 2, 0
_080E6D60: .4byte 0x02001000
_080E6D64:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
bl sub_80E81FC
ldr r0, _080E6D78 @ =sub_80E6AC4
bl sub_80E682C
@@ -1781,7 +1781,7 @@ _080E6ED0: .4byte 0x00009c7c
_080E6ED4: .4byte 0x0000ffff
_080E6ED8: .4byte sub_80E752C
_080E6EDC:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
bl sub_80E81FC
ldr r4, _080E6EFC @ =0x02001000
ldrb r0, [r4, 0x8]
@@ -9975,7 +9975,7 @@ _080EAE50:
lsls r0, 16
lsrs r0, 16
movs r1, 0
- bl sub_8090D90
+ bl GetNationalPokedexFlag
b _080EAE7C
_080EAE62:
ldr r0, _080EAE74 @ =gUnknown_083DB694
diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s
index 2f11d4111..7365f4da6 100644
--- a/asm/egg_hatch.s
+++ b/asm/egg_hatch.s
@@ -46,10 +46,10 @@ AddHatchedMonToParty: @ 80429EC
lsrs r4, 16
adds r0, r4, 0
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
adds r0, r4, 0
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
ldr r1, _08042AA4 @ =gStringVar1
adds r0, r5, 0
bl GetMonNick
@@ -351,7 +351,7 @@ Task_EggHatch: @ 8042CAC
bne _08042CD0
ldr r0, _08042CDC @ =CB2_EggHatch_0
bl SetMainCallback2
- ldr r1, _08042CE0 @ =gUnknown_0300485C
+ ldr r1, _08042CE0 @ =gFieldCallback
ldr r0, _08042CE4 @ =sub_8080990
str r0, [r1]
adds r0, r4, 0
@@ -363,7 +363,7 @@ _08042CD0:
.align 2, 0
_08042CD8: .4byte gPaletteFade
_08042CDC: .4byte CB2_EggHatch_0
-_08042CE0: .4byte gUnknown_0300485C
+_08042CE0: .4byte gFieldCallback
_08042CE4: .4byte sub_8080990
thumb_func_end Task_EggHatch
diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s
index 404270195..159d96298 100644
--- a/asm/evolution_scene.s
+++ b/asm/evolution_scene.s
@@ -1233,13 +1233,13 @@ _08112354:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
ldrh r0, [r4, 0xC]
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
adds r0, r5, 0
movs r1, 0xB
bl GetMonData
@@ -1739,13 +1739,13 @@ _081127BE:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
ldrh r0, [r4, 0x10]
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
movs r0, 0xE
bl IncrementGameStat
b _08112FD0
@@ -3047,13 +3047,13 @@ _08113316:
lsls r0, 16
lsrs r0, 16
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
ldrh r0, [r4, 0x10]
bl SpeciesToNationalPokedexNum
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
movs r0, 0xE
bl IncrementGameStat
b _08113B3A
@@ -3517,7 +3517,7 @@ _08113768:
movs r2, 0x8
movs r3, 0x1D
bl ZeroFillWindowRect
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r0, _081137D8 @ =gUnknown_08400F8C
movs r1, 0x92
lsls r1, 3
@@ -3591,7 +3591,7 @@ _08113818:
movs r2, 0x8
movs r3, 0x1D
bl ZeroFillWindowRect
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r0, _08113874 @ =gUnknown_08400F8C
movs r1, 0x92
lsls r1, 3
diff --git a/asm/field_effect.s b/asm/field_effect.s
deleted file mode 100644
index 2dfa491dc..000000000
--- a/asm/field_effect.s
+++ /dev/null
@@ -1,7738 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CreateTrainerSprite_BirchSpeech
-CreateTrainerSprite_BirchSpeech: @ 80859BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r9, r3
- ldr r7, [sp, 0x34]
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsrs r4, 21
- ldr r3, _08085A44 @ =gTrainerFrontPicPaletteTable
- mov r8, r3
- add r8, r4
- mov r0, r8
- adds r1, r7, 0
- bl LoadCompressedObjectPaletteOverrideBuffer
- ldr r0, _08085A48 @ =gTrainerFrontPicTable
- adds r4, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl LoadCompressedObjectPicOverrideBuffer
- mov r1, sp
- ldrh r0, [r4, 0x6]
- movs r2, 0
- strh r0, [r1]
- mov r3, r8
- ldrh r0, [r3, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, _08085A4C @ =gOamData_839F0F4
- str r0, [sp, 0x4]
- ldr r0, _08085A50 @ =gDummySpriteAnimTable
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _08085A54 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, _08085A58 @ =SpriteCallbackDummy
- str r0, [sp, 0x14]
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08085A44: .4byte gTrainerFrontPicPaletteTable
-_08085A48: .4byte gTrainerFrontPicTable
-_08085A4C: .4byte gOamData_839F0F4
-_08085A50: .4byte gDummySpriteAnimTable
-_08085A54: .4byte gDummySpriteAffineAnimTable
-_08085A58: .4byte SpriteCallbackDummy
- thumb_func_end CreateTrainerSprite_BirchSpeech
-
- thumb_func_start LoadTrainerGfx_TrainerCard
-LoadTrainerGfx_TrainerCard: @ 8085A5C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _08085A8C @ =gTrainerFrontPicTable
- lsrs r4, 21
- adds r0, r4, r0
- ldr r0, [r0]
- bl LZDecompressVram
- ldr r0, _08085A90 @ =gTrainerFrontPicPaletteTable
- adds r4, r0
- ldr r0, [r4]
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085A8C: .4byte gTrainerFrontPicTable
-_08085A90: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end LoadTrainerGfx_TrainerCard
-
- thumb_func_start CreateBirchSprite
-CreateBirchSprite: @ 8085A94
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _08085ACC @ =gUnknown_0839F114
- bl LoadSpritePalette
- ldr r0, _08085AD0 @ =gSpriteTemplate_839F128
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08085ACC: .4byte gUnknown_0839F114
-_08085AD0: .4byte gSpriteTemplate_839F128
- thumb_func_end CreateBirchSprite
-
- thumb_func_start CreateMonSprite_PicBox
-CreateMonSprite_PicBox: @ 8085AD4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r10, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, r4, 3
- mov r9, r0
- ldr r0, _08085B74 @ =gMonFrontPicTable
- add r0, r9
- ldr r1, _08085B78 @ =gMonFrontPicCoords
- lsls r2, r4, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r3, _08085B7C @ =gUnknown_081FAF4C
- ldr r3, [r3, 0xC]
- str r3, [sp]
- str r4, [sp, 0x4]
- bl DecompressPicFromTable_2
- ldr r5, _08085B80 @ =gMonPaletteTable
- add r9, r5
- mov r0, r9
- bl LoadCompressedObjectPalette
- adds r0, r4, 0
- movs r1, 0x3
- bl GetMonSpriteTemplate_803C56C
- ldr r4, _08085B84 @ =gUnknown_02024E8C
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_807DE38
- lsls r6, 16
- asrs r6, 16
- mov r0, r8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r8
- mov r3, r10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08085B74: .4byte gMonFrontPicTable
-_08085B78: .4byte gMonFrontPicCoords
-_08085B7C: .4byte gUnknown_081FAF4C
-_08085B80: .4byte gMonPaletteTable
-_08085B84: .4byte gUnknown_02024E8C
- thumb_func_end CreateMonSprite_PicBox
-
- thumb_func_start CreateMonSprite_FieldMove
-CreateMonSprite_FieldMove: @ 8085B88
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- adds r5, r0, 0
- mov r10, r1
- adds r4, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x28]
- mov r8, r0
- ldr r0, [sp, 0x2C]
- mov r9, r0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, r5, 3
- ldr r1, _08085C34 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08085C38 @ =gMonFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r3, _08085C3C @ =gUnknown_081FAF4C
- ldr r3, [r3, 0xC]
- str r3, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- bl HandleLoadSpecialPokePic
- adds r0, r5, 0
- mov r1, r10
- adds r2, r4, 0
- bl sub_80409C8
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- adds r0, r5, 0
- movs r1, 0x3
- bl GetMonSpriteTemplate_803C56C
- ldr r5, _08085C40 @ =gUnknown_02024E8C
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x2]
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_807DE38
- lsls r6, 16
- asrs r6, 16
- mov r0, r8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, r8
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08085C34: .4byte gMonFrontPicTable
-_08085C38: .4byte gMonFrontPicCoords
-_08085C3C: .4byte gUnknown_081FAF4C
-_08085C40: .4byte gUnknown_02024E8C
- thumb_func_end CreateMonSprite_FieldMove
-
- thumb_func_start FreeResourcesAndDestroySprite
-FreeResourcesAndDestroySprite: @ 8085C44
- push {r4,lr}
- adds r4, r0, 0
- bl sub_807DE68
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _08085C6E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_08085C6E:
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FreeResourcesAndDestroySprite
-
- thumb_func_start MultiplyInvertedPaletteRGBComponents
-MultiplyInvertedPaletteRGBComponents: @ 8085C7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, _08085D00 @ =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r9, r5
- mov r8, r4
- mov r6, r8
- ands r6, r5
- mov r8, r6
- movs r6, 0xF8
- lsls r6, 2
- ands r6, r4
- lsrs r6, 5
- movs r5, 0xF8
- lsls r5, 7
- ands r4, r5
- lsrs r4, 10
- mov r7, r9
- mov r5, r8
- subs r7, r5
- mov r12, r7
- mov r7, r12
- muls r7, r1
- adds r1, r7, 0
- asrs r1, 4
- add r8, r1
- mov r5, r9
- subs r1, r5, r6
- muls r1, r2
- asrs r1, 4
- adds r6, r1
- subs r5, r4
- mov r9, r5
- mov r1, r9
- muls r1, r3
- asrs r1, 4
- adds r4, r1
- mov r7, r8
- lsls r7, 16
- lsls r6, 21
- orrs r6, r7
- lsls r4, 26
- orrs r4, r6
- lsrs r4, 16
- ldr r1, _08085D04 @ =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085D00: .4byte gPlttBufferUnfaded
-_08085D04: .4byte gPlttBufferFaded
- thumb_func_end MultiplyInvertedPaletteRGBComponents
-
- thumb_func_start MultiplyPaletteRGBComponents
-MultiplyPaletteRGBComponents: @ 8085D08
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, _08085D78 @ =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r8, r5
- mov r6, r8
- ands r6, r4
- mov r8, r6
- movs r5, 0xF8
- lsls r5, 2
- ands r5, r4
- lsrs r5, 5
- movs r6, 0xF8
- lsls r6, 7
- ands r4, r6
- lsrs r4, 10
- mov r6, r8
- muls r6, r1
- adds r1, r6, 0
- asrs r1, 4
- mov r6, r8
- subs r6, r1
- adds r1, r5, 0
- muls r1, r2
- asrs r1, 4
- subs r5, r1
- adds r1, r4, 0
- muls r1, r3
- asrs r1, 4
- subs r4, r1
- lsls r6, 16
- lsls r5, 21
- orrs r5, r6
- lsls r4, 26
- orrs r4, r5
- lsrs r4, 16
- ldr r1, _08085D7C @ =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085D78: .4byte gPlttBufferUnfaded
-_08085D7C: .4byte gPlttBufferFaded
- thumb_func_end MultiplyPaletteRGBComponents
-
- thumb_func_start FldEff_PokecenterHeal
-FldEff_PokecenterHeal: @ 8085D80
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08085DBC @ =Task_PokecenterHeal
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08085DC0 @ =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x5D
- strh r0, [r1, 0xC]
- movs r0, 0x24
- strh r0, [r1, 0xE]
- movs r0, 0x7C
- strh r0, [r1, 0x10]
- movs r0, 0x18
- strh r0, [r1, 0x12]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08085DBC: .4byte Task_PokecenterHeal
-_08085DC0: .4byte gTasks
- thumb_func_end FldEff_PokecenterHeal
-
- thumb_func_start Task_PokecenterHeal
-Task_PokecenterHeal: @ 8085DC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08085DEC @ =gTasks
- adds r1, r0
- ldr r2, _08085DF0 @ =gUnknown_0839F268
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_08085DEC: .4byte gTasks
-_08085DF0: .4byte gUnknown_0839F268
- thumb_func_end Task_PokecenterHeal
-
- thumb_func_start PokecenterHealEffect_0
-PokecenterHealEffect_0: @ 8085DF4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0x1
- bl CreatePokeballGlowSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl PokecenterHealEffectHelper
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PokecenterHealEffect_0
-
- thumb_func_start PokecenterHealEffect_1
-PokecenterHealEffect_1: @ 8085E30
- push {r4,lr}
- adds r2, r0, 0
- ldr r3, _08085E68 @ =gSprites
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r4, 0x2E
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- ble _08085E62
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08085E62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08085E68: .4byte gSprites
- thumb_func_end PokecenterHealEffect_1
-
- thumb_func_start PokecenterHealEffect_2
-PokecenterHealEffect_2: @ 8085E6C
- push {lr}
- adds r3, r0, 0
- ldr r2, _08085E90 @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _08085E8C
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08085E8C:
- pop {r0}
- bx r0
- .align 2, 0
-_08085E90: .4byte gSprites
- thumb_func_end PokecenterHealEffect_2
-
- thumb_func_start PokecenterHealEffect_3
-PokecenterHealEffect_3: @ 8085E94
- push {lr}
- ldr r2, _08085ECC @ =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _08085EC6
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x19
- bl FieldEffectActiveListRemove
- ldr r0, _08085ED0 @ =Task_PokecenterHeal
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08085EC6:
- pop {r0}
- bx r0
- .align 2, 0
-_08085ECC: .4byte gSprites
-_08085ED0: .4byte Task_PokecenterHeal
- thumb_func_end PokecenterHealEffect_3
-
- thumb_func_start FldEff_HallOfFameRecord
-FldEff_HallOfFameRecord: @ 8085ED4
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08085F08 @ =Task_HallOfFameRecord
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08085F0C @ =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x75
- strh r0, [r1, 0xC]
- movs r0, 0x34
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08085F08: .4byte Task_HallOfFameRecord
-_08085F0C: .4byte gTasks
- thumb_func_end FldEff_HallOfFameRecord
-
- thumb_func_start Task_HallOfFameRecord
-Task_HallOfFameRecord: @ 8085F10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08085F38 @ =gTasks
- adds r1, r0
- ldr r2, _08085F3C @ =gUnknown_0839F278
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_08085F38: .4byte gTasks
-_08085F3C: .4byte gUnknown_0839F278
- thumb_func_end Task_HallOfFameRecord
-
- thumb_func_start HallOfFameRecordEffect_0
-HallOfFameRecordEffect_0: @ 8085F40
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreatePokeballGlowSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldr r0, _08085FB0 @ =Task_HallOfFameRecord
- bl FindTaskIdByFunc
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x18
- movs r3, 0
- bl HallOfFameRecordEffectHelper
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x8
- movs r3, 0x1
- bl HallOfFameRecordEffectHelper
- adds r0, r4, 0
- movs r1, 0x48
- movs r2, 0x8
- movs r3, 0x1
- bl HallOfFameRecordEffectHelper
- adds r0, r4, 0
- movs r1, 0xA8
- movs r2, 0x8
- movs r3, 0x1
- bl HallOfFameRecordEffectHelper
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x8
- movs r3, 0x1
- bl HallOfFameRecordEffectHelper
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08085FB0: .4byte Task_HallOfFameRecord
- thumb_func_end HallOfFameRecordEffect_0
-
- thumb_func_start HallOfFameRecordEffect_1
-HallOfFameRecordEffect_1: @ 8085FB4
- push {lr}
- adds r3, r0, 0
- ldr r2, _08085FE0 @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- ble _08085FDA
- ldrh r0, [r3, 0x26]
- adds r0, 0x1
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08085FDA:
- pop {r0}
- bx r0
- .align 2, 0
-_08085FE0: .4byte gSprites
- thumb_func_end HallOfFameRecordEffect_1
-
- thumb_func_start HallOfFameRecordEffect_2
-HallOfFameRecordEffect_2: @ 8085FE4
- push {lr}
- adds r3, r0, 0
- ldr r2, _08086008 @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _08086004
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08086004:
- pop {r0}
- bx r0
- .align 2, 0
-_08086008: .4byte gSprites
- thumb_func_end HallOfFameRecordEffect_2
-
- thumb_func_start HallOfFameRecordEffect_3
-HallOfFameRecordEffect_3: @ 808600C
- push {lr}
- ldr r2, _08086044 @ =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _0808603E
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x3E
- bl FieldEffectActiveListRemove
- ldr r0, _08086048 @ =Task_HallOfFameRecord
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808603E:
- pop {r0}
- bx r0
- .align 2, 0
-_08086044: .4byte gSprites
-_08086048: .4byte Task_HallOfFameRecord
- thumb_func_end HallOfFameRecordEffect_3
-
- thumb_func_start CreatePokeballGlowSprite
-CreatePokeballGlowSprite: @ 808604C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _08086098 @ =SpriteCB_PokeballGlowEffect
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, _0808609C @ =gSprites
- adds r1, r2
- strh r4, [r1, 0x24]
- strh r5, [r1, 0x26]
- strh r6, [r1, 0x38]
- mov r2, r8
- strh r2, [r1, 0x3A]
- strh r0, [r1, 0x3C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08086098: .4byte SpriteCB_PokeballGlowEffect
-_0808609C: .4byte gSprites
- thumb_func_end CreatePokeballGlowSprite
-
- thumb_func_start SpriteCB_PokeballGlowEffect
-SpriteCB_PokeballGlowEffect: @ 80860A0
- push {lr}
- ldr r2, _080860B8 @ =gUnknown_0839F288
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080860B8: .4byte gUnknown_0839F288
- thumb_func_end SpriteCB_PokeballGlowEffect
-
- thumb_func_start PokeballGlowEffect_0
-PokeballGlowEffect_0: @ 80860BC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080860D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08086130
-_080860D4:
- movs r0, 0x19
- strh r0, [r4, 0x30]
- ldr r0, _08086148 @ =gSpriteTemplate_839F208
- ldr r1, _0808614C @ =gUnknown_0839F2A8
- movs r2, 0x32
- ldrsh r3, [r4, r2]
- lsls r3, 2
- adds r3, r1
- ldrh r1, [r4, 0x24]
- ldrh r2, [r3]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r4, 0x26]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08086150 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldrh r0, [r4, 0x3C]
- strh r0, [r1, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- movs r0, 0x17
- bl PlaySE
-_08086130:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08086142
- movs r0, 0x20
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08086142:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086148: .4byte gSpriteTemplate_839F208
-_0808614C: .4byte gUnknown_0839F2A8
-_08086150: .4byte gSprites
- thumb_func_end PokeballGlowEffect_0
-
- thumb_func_start PokeballGlowEffect_1
-PokeballGlowEffect_1: @ 8086154
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _08086184
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- movs r0, 0x8
- strh r0, [r1, 0x30]
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x34]
- movs r2, 0x38
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08086184
- movs r0, 0xB8
- lsls r0, 1
- bl PlayFanfare
-_08086184:
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_1
-
- thumb_func_start PokeballGlowEffect_2
-PokeballGlowEffect_2: @ 8086188
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldrh r0, [r7, 0x30]
- subs r0, 0x1
- strh r0, [r7, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080861B8
- movs r0, 0x8
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r7, 0x32]
- cmp r0, 0
- bne _080861B8
- ldrh r0, [r7, 0x34]
- adds r0, 0x1
- strh r0, [r7, 0x34]
-_080861B8:
- ldrh r4, [r7, 0x32]
- adds r4, 0x3
- movs r0, 0x3
- mov r8, r0
- mov r1, r8
- ands r4, r1
- ldr r3, _080862B0 @ =0x00001007
- mov r10, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r6, _080862B4 @ =gUnknown_0839F2C0
- adds r1, r4, r6
- ldrb r1, [r1]
- ldr r5, _080862B8 @ =gUnknown_0839F2C4
- adds r2, r4, r5
- ldrb r2, [r2]
- ldr r3, _080862BC @ =gUnknown_0839F2C8
- mov r9, r3
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x2
- mov r0, r8
- ands r4, r0
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x1
- mov r3, r8
- ands r4, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r3, _080862C0 @ =0x01050000
- adds r0, r3
- lsrs r0, 16
- adds r6, r4, r6
- ldrb r6, [r6]
- adds r5, r4, r5
- ldrb r5, [r5]
- add r4, r9
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _080862C4 @ =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- cmp r0, 0x2
- ble _080862A2
- ldrh r0, [r7, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r7, 0x2E]
- movs r0, 0x8
- strh r0, [r7, 0x30]
- strh r1, [r7, 0x32]
-_080862A2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080862B0: .4byte 0x00001007
-_080862B4: .4byte gUnknown_0839F2C0
-_080862B8: .4byte gUnknown_0839F2C4
-_080862BC: .4byte gUnknown_0839F2C8
-_080862C0: .4byte 0x01050000
-_080862C4: .4byte 0x01030000
- thumb_func_end PokeballGlowEffect_2
-
- thumb_func_start PokeballGlowEffect_3
-PokeballGlowEffect_3: @ 80862C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080862F8
- movs r0, 0x8
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r2, 0x32]
- cmp r0, 0x3
- bne _080862F8
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0x1E
- strh r0, [r2, 0x30]
-_080862F8:
- ldrh r4, [r2, 0x32]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080863A4 @ =0x00001007
- mov r8, r0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r1, _080863A8 @ =gUnknown_0839F2C0
- adds r1, r4, r1
- ldrb r6, [r1]
- ldr r1, _080863AC @ =gUnknown_0839F2C4
- adds r1, r4, r1
- ldrb r5, [r1]
- ldr r1, _080863B0 @ =gUnknown_0839F2C8
- adds r4, r1
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _080863B4 @ =0x01050000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _080863B8 @ =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080863A4: .4byte 0x00001007
-_080863A8: .4byte gUnknown_0839F2C0
-_080863AC: .4byte gUnknown_0839F2C4
-_080863B0: .4byte gUnknown_0839F2C8
-_080863B4: .4byte 0x01050000
-_080863B8: .4byte 0x01030000
- thumb_func_end PokeballGlowEffect_3
-
- thumb_func_start PokeballGlowEffect_4
-PokeballGlowEffect_4: @ 80863BC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080863D2
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_080863D2:
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_4
-
- thumb_func_start PokeballGlowEffect_5
-PokeballGlowEffect_5: @ 80863D8
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end PokeballGlowEffect_5
-
- thumb_func_start PokeballGlowEffect_6
-PokeballGlowEffect_6: @ 80863E0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080863F6
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _080863FC
-_080863F6:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080863FC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_6
-
- thumb_func_start PokeballGlowEffect_7
-PokeballGlowEffect_7: @ 8086404
- bx lr
- thumb_func_end PokeballGlowEffect_7
-
- thumb_func_start SpriteCB_PokeballGlow
-SpriteCB_PokeballGlow: @ 8086408
- push {lr}
- adds r3, r0, 0
- ldr r2, _0808642C @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _08086428
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_08086428:
- pop {r0}
- bx r0
- .align 2, 0
-_0808642C: .4byte gSprites
- thumb_func_end SpriteCB_PokeballGlow
-
- thumb_func_start PokecenterHealEffectHelper
-PokecenterHealEffectHelper: @ 8086430
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _08086480 @ =gSpriteTemplate_839F220
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08086484 @ =gSprites
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r1, _08086488 @ =gUnknown_0839F1A0
- bl SetSubspriteTables
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086480: .4byte gSpriteTemplate_839F220
-_08086484: .4byte gSprites
-_08086488: .4byte gUnknown_0839F1A0
- thumb_func_end PokecenterHealEffectHelper
-
- thumb_func_start SpriteCB_PokecenterMonitor
-SpriteCB_PokecenterMonitor: @ 808648C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080864B0
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080864B0:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080864C4
- adds r0, r4, 0
- bl FieldEffectFreeGraphicsResources
-_080864C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_PokecenterMonitor
-
- thumb_func_start HallOfFameRecordEffectHelper
-HallOfFameRecordEffectHelper: @ 80864CC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- cmp r3, 0
- bne _08086514
- ldr r0, _08086508 @ =gSpriteTemplate_839F238
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0808650C @ =gSprites
- adds r0, r1
- ldr r1, _08086510 @ =gUnknown_0839F1C8
- bl SetSubspriteTables
- b _08086528
- .align 2, 0
-_08086508: .4byte gSpriteTemplate_839F238
-_0808650C: .4byte gSprites
-_08086510: .4byte gUnknown_0839F1C8
-_08086514:
- ldr r0, _08086548 @ =gSpriteTemplate_839F250
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
-_08086528:
- ldr r1, _0808654C @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- strh r5, [r0, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086548: .4byte gSpriteTemplate_839F250
-_0808654C: .4byte gSprites
- thumb_func_end HallOfFameRecordEffectHelper
-
- thumb_func_start SpriteCB_HallOfFameMonitor
-SpriteCB_HallOfFameMonitor: @ 8086550
- push {lr}
- adds r3, r0, 0
- ldr r2, _080865B8 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080865A6
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _0808657E
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080865A0
-_0808657E:
- movs r0, 0x10
- strh r0, [r3, 0x30]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080865A0:
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
-_080865A6:
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r0, 0x7F
- ble _080865B4
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080865B4:
- pop {r0}
- bx r0
- .align 2, 0
-_080865B8: .4byte gTasks
- thumb_func_end SpriteCB_HallOfFameMonitor
-
- thumb_func_start sub_80865BC
-sub_80865BC: @ 80865BC
- push {lr}
- ldr r0, _080865D0 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, _080865D4 @ =gUnknown_0300485C
- ldr r0, _080865D8 @ =mapldr_080842E8
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080865D0: .4byte c2_exit_to_overworld_2_switch
-_080865D4: .4byte gUnknown_0300485C
-_080865D8: .4byte mapldr_080842E8
- thumb_func_end sub_80865BC
-
- thumb_func_start mapldr_080842E8
-mapldr_080842E8: @ 80865DC
- push {lr}
- bl pal_fill_black
- ldr r0, _080865FC @ =task00_8084310
- movs r1, 0
- bl CreateTask
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, _08086600 @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080865FC: .4byte task00_8084310
-_08086600: .4byte gUnknown_0300485C
- thumb_func_end mapldr_080842E8
-
- thumb_func_start task00_8084310
-task00_8084310: @ 8086604
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _0808666C @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08086640
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- beq _08086666
- ldr r1, _08086670 @ =gUnknown_0202FF84
- ldr r0, _08086674 @ =gLastFieldPokeMenuOpened
- ldrb r0, [r0]
- str r0, [r1]
- cmp r0, 0x5
- ble _08086634
- str r5, [r1]
-_08086634:
- movs r0, 0x1F
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086640:
- movs r0, 0x1F
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08086666
- bl flag_var_implications_of_teleport_
- bl warp_in
- ldr r0, _08086678 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, _0808667C @ =gUnknown_0300485C
- ldr r0, _08086680 @ =mapldr_08084390
- str r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_08086666:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808666C: .4byte gTasks
-_08086670: .4byte gUnknown_0202FF84
-_08086674: .4byte gLastFieldPokeMenuOpened
-_08086678: .4byte CB2_LoadMap
-_0808667C: .4byte gUnknown_0300485C
-_08086680: .4byte mapldr_08084390
- thumb_func_end task00_8084310
-
- thumb_func_start mapldr_08084390
-mapldr_08084390: @ 8086684
- push {r4,lr}
- bl sub_8053E90
- bl pal_fill_black
- ldr r0, _080866DC @ =c3_080843F8
- movs r1, 0
- bl CreateTask
- ldr r4, _080866E0 @ =gMapObjects
- ldr r3, _080866E4 @ =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldrb r1, [r3]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080866C6
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3
- bl FieldObjectTurn
-_080866C6:
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, _080866E8 @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080866DC: .4byte c3_080843F8
-_080866E0: .4byte gMapObjects
-_080866E4: .4byte gPlayerAvatar
-_080866E8: .4byte gUnknown_0300485C
- thumb_func_end mapldr_08084390
-
- thumb_func_start c3_080843F8
-c3_080843F8: @ 80866EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08086740 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808671E
- ldr r0, _08086744 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08086738
- movs r0, 0x20
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808671E:
- movs r0, 0x20
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08086738
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- adds r0, r5, 0
- bl DestroyTask
-_08086738:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086740: .4byte gTasks
-_08086744: .4byte gPaletteFade
- thumb_func_end c3_080843F8
-
- thumb_func_start sub_8086748
-sub_8086748: @ 8086748
- push {lr}
- bl sub_8053E90
- bl pal_fill_for_map_transition
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r0, _0808676C @ =sub_8086774
- movs r1, 0
- bl CreateTask
- ldr r1, _08086770 @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0808676C: .4byte sub_8086774
-_08086770: .4byte gUnknown_0300485C
- thumb_func_end sub_8086748
-
- thumb_func_start sub_8086774
-sub_8086774: @ 8086774
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080867A4 @ =gTasks
- adds r4, r1, r0
- ldr r5, _080867A8 @ =gUnknown_0839F2CC
-_08086786:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08086786
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080867A4: .4byte gTasks
-_080867A8: .4byte gUnknown_0839F2CC
- thumb_func_end sub_8086774
-
- thumb_func_start sub_80867AC
-sub_80867AC: @ 80867AC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r9, r0
- ldr r6, _08086848 @ =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, _0808684C @ =gMapObjects
- mov r8, r0
- add r5, r8
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086850 @ =gSprites
- adds r4, r0
- bl CameraObjectReset2
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
- adds r3, r4, 0
- adds r3, 0x42
- ldrb r0, [r3]
- lsrs r0, 6
- mov r1, r9
- strh r0, [r1, 0x10]
- ldrb r0, [r5, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r5, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldrb r1, [r3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3]
- mov r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08086848: .4byte gPlayerAvatar
-_0808684C: .4byte gMapObjects
-_08086850: .4byte gSprites
- thumb_func_end sub_80867AC
-
- thumb_func_start sub_8086854
-sub_8086854: @ 8086854
- push {r4,lr}
- adds r4, r0, 0
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- beq _08086868
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086868:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086854
-
- thumb_func_start sub_8086870
-sub_8086870: @ 8086870
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080868D4 @ =gPlayerAvatar
- ldrb r0, [r6, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080868D8 @ =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, _080868DC @ =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- movs r1, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r5, 0xA]
- strh r1, [r5, 0xC]
- ldr r2, _080868E0 @ =gMapObjects
- ldrb r0, [r6, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x2B
- bl PlaySE
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080868D4: .4byte gPlayerAvatar
-_080868D8: .4byte gSprites
-_080868DC: .4byte gSpriteCoordOffsetY
-_080868E0: .4byte gMapObjects
- thumb_func_end sub_8086870
-
- thumb_func_start sub_80868E4
-sub_80868E4: @ 80868E4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r2, _08086990 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086994 @ =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086998 @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bgt _08086926
- ldrh r1, [r4, 0xC]
- adds r0, r2, r1
- strh r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r0, 0
- beq _08086926
- lsls r0, r2, 1
- strh r0, [r4, 0xA]
-_08086926:
- ldrh r2, [r4, 0xE]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08086964
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _08086964
- adds r0, r2, 0x1
- strh r0, [r4, 0xE]
- ldrb r1, [r6, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x3]
- ldrb r1, [r4, 0x10]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_08086964:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _08086988
- movs r0, 0xD6
- bl PlaySE
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086988:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08086990: .4byte gPlayerAvatar
-_08086994: .4byte gMapObjects
-_08086998: .4byte gSprites
- thumb_func_end sub_80868E4
-
- thumb_func_start sub_808699C
-sub_808699C: @ 808699C
- push {lr}
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0, 0x8]
- movs r1, 0x4
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_808699C
-
- thumb_func_start sub_80869B8
-sub_80869B8: @ 80869B8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080869E0
- lsls r0, r2, 16
- asrs r0, 17
- strh r0, [r4, 0xA]
-_080869E0:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080869EE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080869EE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80869B8
-
- thumb_func_start sub_80869F8
-sub_80869F8: @ 80869F8
- push {lr}
- ldr r1, _08086A24 @ =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- bl InstallCameraPanAheadCallback
- ldr r0, _08086A28 @ =sub_8086774
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08086A24: .4byte gPlayerAvatar
-_08086A28: .4byte sub_8086774
- thumb_func_end sub_80869F8
-
- thumb_func_start sub_8086A2C
-sub_8086A2C: @ 8086A2C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08086A60 @ =sub_8086A68
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08086A64 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0xA]
- cmp r4, 0x6A
- bne _08086A58
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_08086A58:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086A60: .4byte sub_8086A68
-_08086A64: .4byte gTasks
- thumb_func_end sub_8086A2C
-
- thumb_func_start sub_8086A68
-sub_8086A68: @ 8086A68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08086A98 @ =gTasks
- adds r4, r1, r0
- ldr r5, _08086A9C @ =gUnknown_0839F2E8
-_08086A7A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08086A7A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086A98: .4byte gTasks
-_08086A9C: .4byte gUnknown_0839F2E8
- thumb_func_end sub_8086A68
-
- thumb_func_start sub_8086AA0
-sub_8086AA0: @ 8086AA0
- push {r4,lr}
- adds r4, r0, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- ldrb r0, [r4, 0xA]
- bl sub_80B4824
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086AA0
-
- thumb_func_start sub_8086AC0
-sub_8086AC0: @ 8086AC0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086B28 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086B2C @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _08086AEA
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086B1E
-_08086AEA:
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _08086B18
- movs r0, 0x4
- strh r0, [r5, 0x8]
-_08086B18:
- movs r0, 0x50
- bl PlaySE
-_08086B1E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08086B28: .4byte gPlayerAvatar
-_08086B2C: .4byte gMapObjects
- thumb_func_end sub_8086AC0
-
- thumb_func_start sub_8086B30
-sub_8086B30: @ 8086B30
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8086B98
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _08086B4A
- bl sub_8086C30
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086B4A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086B30
-
- thumb_func_start sub_8086B54
-sub_8086B54: @ 8086B54
- push {lr}
- bl sub_8086B98
- bl sub_8086C40
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8086B54
-
- thumb_func_start sub_8086B64
-sub_8086B64: @ 8086B64
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8086BE4
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _08086B7E
- bl sub_8086C30
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086B7E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086B64
-
- thumb_func_start sub_8086B88
-sub_8086B88: @ 8086B88
- push {lr}
- bl sub_8086BE4
- bl sub_8086C40
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8086B88
-
- thumb_func_start sub_8086B98
-sub_8086B98: @ 8086B98
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086BDC @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086BE0 @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086BD6
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08086BD6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086BDC: .4byte gPlayerAvatar
-_08086BE0: .4byte gSprites
- thumb_func_end sub_8086B98
-
- thumb_func_start sub_8086BE4
-sub_8086BE4: @ 8086BE4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086C28 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086C2C @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086C22
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08086C22:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086C28: .4byte gPlayerAvatar
-_08086C2C: .4byte gSprites
- thumb_func_end sub_8086BE4
-
- thumb_func_start sub_8086C30
-sub_8086C30: @ 8086C30
- push {lr}
- bl sub_8053FF8
- bl fade_8080918
- pop {r0}
- bx r0
- thumb_func_end sub_8086C30
-
- thumb_func_start sub_8086C40
-sub_8086C40: @ 8086C40
- push {lr}
- ldr r0, _08086C80 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08086C7C
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086C7C
- bl sub_80B483C
- bl warp_in
- ldr r1, _08086C84 @ =gUnknown_0300485C
- ldr r0, _08086C88 @ =sub_8086C94
- str r0, [r1]
- ldr r0, _08086C8C @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _08086C90 @ =sub_8086A68
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08086C7C:
- pop {r0}
- bx r0
- .align 2, 0
-_08086C80: .4byte gPaletteFade
-_08086C84: .4byte gUnknown_0300485C
-_08086C88: .4byte sub_8086C94
-_08086C8C: .4byte CB2_LoadMap
-_08086C90: .4byte sub_8086A68
- thumb_func_end sub_8086C40
-
- thumb_func_start sub_8086C94
-sub_8086C94: @ 8086C94
- push {lr}
- bl sub_8053E90
- bl pal_fill_for_map_transition
- bl ScriptContext2_Enable
- ldr r0, _08086CB4 @ =sub_8086CBC
- movs r1, 0
- bl CreateTask
- ldr r1, _08086CB8 @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08086CB4: .4byte sub_8086CBC
-_08086CB8: .4byte gUnknown_0300485C
- thumb_func_end sub_8086C94
-
- thumb_func_start sub_8086CBC
-sub_8086CBC: @ 8086CBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08086CEC @ =gTasks
- adds r4, r1, r0
- ldr r5, _08086CF0 @ =gUnknown_0839F300
-_08086CCE:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08086CCE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086CEC: .4byte gTasks
-_08086CF0: .4byte gUnknown_0839F300
- thumb_func_end sub_8086CBC
-
- thumb_func_start sub_8086CF4
-sub_8086CF4: @ 8086CF4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl CameraObjectReset2
- ldr r0, _08086D54 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086D58 @ =gMapObjects
- adds r4, r0
- movs r0, 0x4
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xA]
- cmp r1, 0x6B
- bne _08086D5C
- movs r1, 0x1
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _08086D5E
- .align 2, 0
-_08086D54: .4byte gPlayerAvatar
-_08086D58: .4byte gMapObjects
-_08086D5C:
- movs r1, 0
-_08086D5E:
- adds r0, r1, 0
- bl sub_80B4824
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8086CF4
-
- thumb_func_start sub_8086D70
-sub_8086D70: @ 8086D70
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086DA8 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086DAC @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08086DA8: .4byte gPlayerAvatar
-_08086DAC: .4byte gSprites
- thumb_func_end sub_8086D70
-
- thumb_func_start sub_8086DB0
-sub_8086DB0: @ 8086DB0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08086E08 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086E0C @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086DEE
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08086DEE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08086DFE
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_08086DFE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08086E08: .4byte gPlayerAvatar
-_08086E0C: .4byte gSprites
- thumb_func_end sub_8086DB0
-
- thumb_func_start sub_8086E10
-sub_8086E10: @ 8086E10
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086E48 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086E4C @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08086E48: .4byte gPlayerAvatar
-_08086E4C: .4byte gSprites
- thumb_func_end sub_8086E10
-
- thumb_func_start sub_8086E50
-sub_8086E50: @ 8086E50
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08086EA8 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086EAC @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086E8E
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08086E8E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08086EA0
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086EA0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08086EA8: .4byte gPlayerAvatar
-_08086EAC: .4byte gSprites
- thumb_func_end sub_8086E50
-
- thumb_func_start sub_8086EB0
-sub_8086EB0: @ 8086EB0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B4850
- lsls r0, 24
- cmp r0, 0
- bne _08086ECC
- bl sub_80B483C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08086ECE
-_08086ECC:
- movs r0, 0
-_08086ECE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086EB0
-
- thumb_func_start sub_8086ED4
-sub_8086ED4: @ 8086ED4
- push {r4,lr}
- ldr r0, _08086F20 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086F24 @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086F18
- bl CameraObjectReset1
- bl ScriptContext2_Disable
- movs r0, 0x4
- bl GetGoSpeed0AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r0, _08086F28 @ =sub_8086CBC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08086F18:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086F20: .4byte gPlayerAvatar
-_08086F24: .4byte gMapObjects
-_08086F28: .4byte sub_8086CBC
- thumb_func_end sub_8086ED4
-
- thumb_func_start FldEff_UseWaterfall
-FldEff_UseWaterfall: @ 8086F2C
- push {r4,lr}
- ldr r4, _08086F58 @ =sub_8086F64
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08086F5C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _08086F60 @ =gUnknown_0202FF84
- ldr r2, [r2]
- strh r2, [r1, 0xA]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086F58: .4byte sub_8086F64
-_08086F5C: .4byte gTasks
-_08086F60: .4byte gUnknown_0202FF84
- thumb_func_end FldEff_UseWaterfall
-
- thumb_func_start sub_8086F64
-sub_8086F64: @ 8086F64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08086FA0 @ =gUnknown_0839F31C
- ldr r2, _08086FA4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08086F76:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, _08086FA8 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08086FAC @ =gMapObjects
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _08086F76
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086FA0: .4byte gUnknown_0839F31C
-_08086FA4: .4byte gTasks
-_08086FA8: .4byte gPlayerAvatar
-_08086FAC: .4byte gMapObjects
- thumb_func_end sub_8086F64
-
- thumb_func_start sub_8086FB0
-sub_8086FB0: @ 8086FB0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, _08086FCC @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086FCC: .4byte gPlayerAvatar
- thumb_func_end sub_8086FB0
-
- thumb_func_start waterfall_1_do_anim_probably
-waterfall_1_do_anim_probably: @ 8086FD0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ScriptContext2_Enable
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- bne _08087000
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldr r1, _08087008 @ =gUnknown_0202FF84
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08087000:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08087008: .4byte gUnknown_0202FF84
- thumb_func_end waterfall_1_do_anim_probably
-
- thumb_func_start waterfall_2_wait_anim_finish_probably
-waterfall_2_wait_anim_finish_probably: @ 808700C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08087026
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08087028
-_08087026:
- movs r0, 0
-_08087028:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end waterfall_2_wait_anim_finish_probably
-
- thumb_func_start sub_8087030
-sub_8087030: @ 8087030
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x2
- bl GetSimpleGoAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8087030
-
- thumb_func_start sub_8087058
-sub_8087058: @ 8087058
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- bne _0808706E
- movs r0, 0
- b _080870AA
-_0808706E:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080870A4
- bl ScriptContext2_Disable
- ldr r0, _0808709C @ =gPlayerAvatar
- strb r4, [r0, 0x6]
- ldr r0, _080870A0 @ =sub_8086F64
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2B
- bl FieldEffectActiveListRemove
- movs r0, 0
- b _080870AA
- .align 2, 0
-_0808709C: .4byte gPlayerAvatar
-_080870A0: .4byte sub_8086F64
-_080870A4:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- movs r0, 0x1
-_080870AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8087058
-
- thumb_func_start FldEff_UseDive
-FldEff_UseDive: @ 80870B0
- push {r4,lr}
- ldr r4, _080870E0 @ =Task_Dive
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080870E4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080870E8 @ =gUnknown_0202FF84
- ldr r2, [r3]
- strh r2, [r1, 0x26]
- ldr r2, [r3, 0x4]
- strh r2, [r1, 0x24]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080870E0: .4byte Task_Dive
-_080870E4: .4byte gTasks
-_080870E8: .4byte gUnknown_0202FF84
- thumb_func_end FldEff_UseDive
-
- thumb_func_start Task_Dive
-Task_Dive: @ 80870EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0808711C @ =gUnknown_0839F330
- ldr r2, _08087120 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080870FE:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080870FE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808711C: .4byte gUnknown_0839F330
-_08087120: .4byte gTasks
- thumb_func_end Task_Dive
-
- thumb_func_start sub_8087124
-sub_8087124: @ 8087124
- ldr r2, _08087134 @ =gPlayerAvatar
- movs r1, 0x1
- strb r1, [r2, 0x6]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_08087134: .4byte gPlayerAvatar
- thumb_func_end sub_8087124
-
- thumb_func_start dive_2_unknown
-dive_2_unknown: @ 8087138
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, _0808715C @ =gUnknown_0202FF84
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808715C: .4byte gUnknown_0202FF84
- thumb_func_end dive_2_unknown
-
- thumb_func_start dive_3_unknown
-dive_3_unknown: @ 8087160
- push {lr}
- sub sp, 0x8
- mov r1, sp
- adds r1, 0x2
- mov r0, sp
- bl PlayerGetDestCoords
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080871A4
- ldr r2, _080871AC @ =gMapObjects
- ldr r0, _080871B0 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1E]
- mov r0, sp
- bl dive_warp
- ldr r0, _080871B4 @ =Task_Dive
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2C
- bl FieldEffectActiveListRemove
-_080871A4:
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_080871AC: .4byte gMapObjects
-_080871B0: .4byte gPlayerAvatar
-_080871B4: .4byte Task_Dive
- thumb_func_end dive_3_unknown
-
- thumb_func_start sub_80871B8
-sub_80871B8: @ 80871B8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080871CC @ =sub_80871D0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080871CC: .4byte sub_80871D0
- thumb_func_end sub_80871B8
-
- thumb_func_start sub_80871D0
-sub_80871D0: @ 80871D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08087218 @ =gUnknown_0839F33C
- ldr r2, _0808721C @ =gTasks
- ldr r5, _08087220 @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080871E4:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08087224 @ =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08087228 @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080871E4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087218: .4byte gUnknown_0839F33C
-_0808721C: .4byte gTasks
-_08087220: .4byte gPlayerAvatar
-_08087224: .4byte gMapObjects
-_08087228: .4byte gSprites
- thumb_func_end sub_80871D0
-
- thumb_func_start sub_808722C
-sub_808722C: @ 808722C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r0, _08087260 @ =gPlayerAvatar
- movs r2, 0x1
- strb r2, [r0, 0x6]
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08087260: .4byte gPlayerAvatar
- thumb_func_end sub_808722C
-
- thumb_func_start sub_8087264
-sub_8087264: @ 8087264
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08087290
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08087290:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087264
-
- thumb_func_start sub_8087298
-sub_8087298: @ 8087298
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- ldr r3, _080872E0 @ =gUnknown_0202FF84
- movs r5, 0x10
- ldrsh r0, [r1, r5]
- str r0, [r3]
- movs r5, 0x12
- ldrsh r0, [r1, r5]
- str r0, [r3, 0x4]
- adds r0, r2, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r3, 0x8]
- ldrb r0, [r2, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x32
- bl FieldEffectStart
- movs r0, 0xB2
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080872E0: .4byte gUnknown_0202FF84
- thumb_func_end sub_8087298
-
- thumb_func_start sub_80872E4
-sub_80872E4: @ 80872E4
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r1, r0, 0x1
- strh r1, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x11
- bgt _0808731E
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _08087330
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bgt _08087330
- lsls r0, r2, 1
- b _0808732E
-_0808731E:
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- bne _08087330
- lsls r0, r2, 16
- cmp r0, 0
- ble _08087330
- asrs r0, 17
-_0808732E:
- strh r0, [r4, 0xA]
-_08087330:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _0808737C
- adds r0, r5, 0
- adds r0, 0x29
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r2, r1, 17
- negs r2, r2
- movs r7, 0x26
- ldrsh r3, [r5, r7]
- movs r7, 0x22
- ldrsh r0, [r5, r7]
- adds r0, r1
- ldr r1, _08087374 @ =gSpriteCoordOffsetY
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- asrs r2, 16
- adds r0, r2
- cmn r3, r0
- ble _08087378
- ldrh r0, [r5, 0x26]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x26]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _0808737C
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _0808737C
- .align 2, 0
-_08087374: .4byte gSpriteCoordOffsetY
-_08087378:
- movs r0, 0x1
- strh r0, [r4, 0x10]
-_0808737C:
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080873BA
- movs r7, 0x26
- ldrsh r1, [r5, r7]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080873BA
- adds r0, r2, 0x1
- strh r0, [r4, 0x12]
- ldrb r0, [r6, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r6, 0x3]
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080873BA:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080873D0
- movs r7, 0x10
- ldrsh r0, [r4, r7]
- cmp r0, 0
- beq _080873D0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080873D0:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80872E4
-
- thumb_func_start sub_80873D8
-sub_80873D8: @ 80873D8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8053FF8
- bl fade_8080918
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80873D8
-
- thumb_func_start sub_80873F4
-sub_80873F4: @ 80873F4
- push {lr}
- ldr r0, _08087434 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808742C
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808742C
- bl warp_in
- ldr r1, _08087438 @ =gUnknown_0300485C
- ldr r0, _0808743C @ =mapldr_080851BC
- str r0, [r1]
- ldr r0, _08087440 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _08087444 @ =sub_80871D0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808742C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08087434: .4byte gPaletteFade
-_08087438: .4byte gUnknown_0300485C
-_0808743C: .4byte mapldr_080851BC
-_08087440: .4byte CB2_LoadMap
-_08087444: .4byte sub_80871D0
- thumb_func_end sub_80873F4
-
- thumb_func_start mapldr_080851BC
-mapldr_080851BC: @ 8087448
- push {lr}
- bl sub_8053E90
- bl pal_fill_for_map_transition
- bl ScriptContext2_Enable
- ldr r0, _08087468 @ =gUnknown_0300485C
- movs r1, 0
- str r1, [r0]
- ldr r0, _0808746C @ =sub_8087470
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08087468: .4byte gUnknown_0300485C
-_0808746C: .4byte sub_8087470
- thumb_func_end mapldr_080851BC
-
- thumb_func_start sub_8087470
-sub_8087470: @ 8087470
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _080874B8 @ =gUnknown_0839F354
- ldr r2, _080874BC @ =gTasks
- ldr r5, _080874C0 @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08087484:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080874C4 @ =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080874C8 @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _08087484
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080874B8: .4byte gUnknown_0839F354
-_080874BC: .4byte gTasks
-_080874C0: .4byte gPlayerAvatar
-_080874C4: .4byte gMapObjects
-_080874C8: .4byte gSprites
- thumb_func_end sub_8087470
-
- thumb_func_start sub_80874CC
-sub_80874CC: @ 80874CC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl CameraObjectReset2
- bl FreezeMapObjects
- ldr r1, _080874F8 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080874F8: .4byte gPlayerAvatar
- thumb_func_end sub_80874CC
-
- thumb_func_start sub_80874FC
-sub_80874FC: @ 80874FC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- beq _0808753C
- ldr r1, _08087544 @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808753C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08087544: .4byte gUnknown_0202FF84
- thumb_func_end sub_80874FC
-
- thumb_func_start sub_8087548
-sub_8087548: @ 8087548
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087598 @ =gSprites
- adds r0, r1
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08087590
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- bl CameraObjectReset1
- movs r0, 0xAF
- bl PlaySE
- movs r0, 0x4
- bl sub_80608A4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
-_08087590:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08087598: .4byte gSprites
- thumb_func_end sub_8087548
-
- thumb_func_start sub_808759C
-sub_808759C: @ 808759C
- push {lr}
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080875C6
- ldr r1, _080875CC @ =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, _080875D0 @ =sub_8087470
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080875C6:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080875CC: .4byte gPlayerAvatar
-_080875D0: .4byte sub_8087470
- thumb_func_end sub_808759C
-
- thumb_func_start FldEff_LavaridgeGymWarp
-FldEff_LavaridgeGymWarp: @ 80875D4
- push {r4,lr}
- ldr r4, _0808762C @ =gUnknown_0202FF84
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08087630 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x84
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08087634 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808762C: .4byte gUnknown_0202FF84
-_08087630: .4byte gFieldEffectObjectTemplatePointers
-_08087634: .4byte gSprites
- thumb_func_end FldEff_LavaridgeGymWarp
-
- thumb_func_start sub_8087638
-sub_8087638: @ 8087638
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08087650
- adds r0, r2, 0
- movs r1, 0x32
- bl FieldEffectStop
-_08087650:
- pop {r0}
- bx r0
- thumb_func_end sub_8087638
-
- thumb_func_start sub_8087654
-sub_8087654: @ 8087654
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08087668 @ =sub_808766C
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08087668: .4byte sub_808766C
- thumb_func_end sub_8087654
-
- thumb_func_start sub_808766C
-sub_808766C: @ 808766C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _080876B4 @ =gUnknown_0839F364
- ldr r2, _080876B8 @ =gTasks
- ldr r5, _080876BC @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08087680:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080876C0 @ =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080876C4 @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _08087680
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080876B4: .4byte gUnknown_0839F364
-_080876B8: .4byte gTasks
-_080876BC: .4byte gPlayerAvatar
-_080876C0: .4byte gMapObjects
-_080876C4: .4byte gSprites
- thumb_func_end sub_808766C
-
- thumb_func_start sub_80876C8
-sub_80876C8: @ 80876C8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl FreezeMapObjects
- bl CameraObjectReset2
- ldr r1, _080876F4 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080876F4: .4byte gPlayerAvatar
- thumb_func_end sub_80876C8
-
- thumb_func_start sub_80876F8
-sub_80876F8: @ 80876F8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808776C
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0x3
- ble _0808774C
- ldr r1, _08087748 @ =gUnknown_0202FF84
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0808776C
- .align 2, 0
-_08087748: .4byte gUnknown_0202FF84
-_0808774C:
- adds r0, r1, 0x1
- strh r0, [r5, 0xA]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay4AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- movs r0, 0x27
- bl PlaySE
-_0808776C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80876F8
-
- thumb_func_start sub_8087774
-sub_8087774: @ 8087774
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r2, _080877A8 @ =gSprites
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0808779E
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_0808779E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080877A8: .4byte gSprites
- thumb_func_end sub_8087774
-
- thumb_func_start sub_80877AC
-sub_80877AC: @ 80877AC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080877CA
- bl sub_8053FF8
- bl fade_8080918
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080877CA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80877AC
-
- thumb_func_start sub_80877D4
-sub_80877D4: @ 80877D4
- push {lr}
- ldr r0, _08087814 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808780C
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808780C
- bl warp_in
- ldr r1, _08087818 @ =gUnknown_0300485C
- ldr r0, _0808781C @ =sub_8086748
- str r0, [r1]
- ldr r0, _08087820 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _08087824 @ =sub_808766C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808780C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08087814: .4byte gPaletteFade
-_08087818: .4byte gUnknown_0300485C
-_0808781C: .4byte sub_8086748
-_08087820: .4byte CB2_LoadMap
-_08087824: .4byte sub_808766C
- thumb_func_end sub_80877D4
-
- thumb_func_start FldEff_PopOutOfAsh
-FldEff_PopOutOfAsh: @ 8087828
- push {r4,lr}
- ldr r4, _08087880 @ =gUnknown_0202FF84
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8060470
- ldr r0, _08087884 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x80
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08087888 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08087880: .4byte gUnknown_0202FF84
-_08087884: .4byte gFieldEffectObjectTemplatePointers
-_08087888: .4byte gSprites
- thumb_func_end FldEff_PopOutOfAsh
-
- thumb_func_start sub_808788C
-sub_808788C: @ 808788C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080878A4
- adds r0, r2, 0
- movs r1, 0x31
- bl FieldEffectStop
-_080878A4:
- pop {r0}
- bx r0
- thumb_func_end sub_808788C
-
- thumb_func_start sub_80878A8
-sub_80878A8: @ 80878A8
- push {lr}
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r0, _080878C0 @ =sub_80878C4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080878C0: .4byte sub_80878C4
- thumb_func_end sub_80878A8
-
- thumb_func_start sub_80878C4
-sub_80878C4: @ 80878C4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080878EC @ =gUnknown_0839F378
- ldr r2, _080878F0 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080878EC: .4byte gUnknown_0839F378
-_080878F0: .4byte gTasks
- thumb_func_end sub_80878C4
-
- thumb_func_start sub_80878F4
-sub_80878F4: @ 80878F4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x40
- strh r0, [r4, 0x24]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80878F4
-
- thumb_func_start sub_8087914
-sub_8087914: @ 8087914
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _080879B8 @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldrh r1, [r4, 0x24]
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08087940
- subs r0, r1, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _08087940
- bl sub_8053FF8
- bl fade_8080918
-_08087940:
- ldr r0, _080879BC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080879C0 @ =gMapObjects
- adds r5, r0, r1
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _08087966
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08087A20
-_08087966:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080879D8
- ldr r0, _080879C4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080879D8
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080879D8
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetDirection
- bl sub_8053678
- bl warp_in
- ldr r1, _080879C8 @ =gUnknown_0300485C
- ldr r0, _080879CC @ =mapldr_080859D4
- str r0, [r1]
- ldr r0, _080879D0 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _080879D4 @ =sub_80878C4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08087A20
- .align 2, 0
-_080879B8: .4byte gUnknown_0839F380
-_080879BC: .4byte gPlayerAvatar
-_080879C0: .4byte gMapObjects
-_080879C4: .4byte gPaletteFade
-_080879C8: .4byte gUnknown_0300485C
-_080879CC: .4byte mapldr_080859D4
-_080879D0: .4byte CB2_LoadMap
-_080879D4: .4byte sub_80878C4
-_080879D8:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080879EC
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08087A20
-_080879EC:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r0, [r0]
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0xB
- bgt _08087A14
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
-_08087A14:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 18
- movs r0, 0x8
- asrs r0, r1
- strh r0, [r4, 0xA]
-_08087A20:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087914
-
- thumb_func_start mapldr_080859D4
-mapldr_080859D4: @ 8087A28
- push {lr}
- bl sub_8053E90
- bl pal_fill_for_map_transition
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, _08087A64 @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- ldr r2, _08087A68 @ =gMapObjects
- ldr r0, _08087A6C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, _08087A70 @ =sub_8087A74
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08087A64: .4byte gUnknown_0300485C
-_08087A68: .4byte gMapObjects
-_08087A6C: .4byte gPlayerAvatar
-_08087A70: .4byte sub_8087A74
- thumb_func_end mapldr_080859D4
-
- thumb_func_start sub_8087A74
-sub_8087A74: @ 8087A74
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08087A9C @ =gUnknown_0839F388
- ldr r2, _08087AA0 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08087A9C: .4byte gUnknown_0839F388
-_08087AA0: .4byte gTasks
- thumb_func_end sub_8087A74
-
- thumb_func_start sub_8087AA4
-sub_8087AA4: @ 8087AA4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- beq _08087AC2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
-_08087AC2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087AA4
-
- thumb_func_start sub_8087AC8
-sub_8087AC8: @ 8087AC8
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, _08087B4C @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, _08087B50 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087B54 @ =gMapObjects
- adds r6, r0, r1
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08087AFA
- subs r0, r1, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08087B8C
-_08087AFA:
- adds r0, r6, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _08087B12
- adds r0, r6, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08087BA0
-_08087B12:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _08087B5C
- movs r2, 0x26
- ldrsh r4, [r5, r2]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08087B5C
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, _08087B58 @ =sub_8087A74
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08087BA0
- .align 2, 0
-_08087B4C: .4byte gUnknown_0839F380
-_08087B50: .4byte gPlayerAvatar
-_08087B54: .4byte gMapObjects
-_08087B58: .4byte sub_8087A74
-_08087B5C:
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r0, [r0]
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x1F
- bgt _08087B84
- adds r0, r1, 0x1
- strh r0, [r5, 0xC]
-_08087B84:
- ldrh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 18
- strh r0, [r5, 0xA]
-_08087B8C:
- ldrb r2, [r6, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x1]
-_08087BA0:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087AC8
-
- thumb_func_start sub_8087BA8
-sub_8087BA8: @ 8087BA8
- push {lr}
- ldr r0, _08087BB8 @ =sub_8087BBC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08087BB8: .4byte sub_8087BBC
- thumb_func_end sub_8087BA8
-
- thumb_func_start sub_8087BBC
-sub_8087BBC: @ 8087BBC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08087BE4 @ =gUnknown_0839F390
- ldr r2, _08087BE8 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08087BE4: .4byte gUnknown_0839F390
-_08087BE8: .4byte gTasks
- thumb_func_end sub_8087BBC
-
- thumb_func_start sub_8087BEC
-sub_8087BEC: @ 8087BEC
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- bl CameraObjectReset2
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087BEC
-
- thumb_func_start sub_8087C14
-sub_8087C14: @ 8087C14
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08087C98 @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, _08087C9C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087CA0 @ =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08087C46
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08087C60
-_08087C46:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl FieldObjectTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_08087C60:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _08087C8E
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _08087C8E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x4
- strh r0, [r4, 0xA]
- movs r0, 0x8
- strh r0, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- movs r0, 0x2D
- bl PlaySE
-_08087C8E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087C98: .4byte gUnknown_0839F380
-_08087C9C: .4byte gPlayerAvatar
-_08087CA0: .4byte gMapObjects
- thumb_func_end sub_8087C14
-
- thumb_func_start sub_8087CA4
-sub_8087CA4: @ 8087CA4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08087D68 @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, _08087D6C @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087D70 @ =gMapObjects
- adds r3, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087D74 @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _08087CEE
- movs r0, 0x4
- strh r0, [r4, 0xA]
- ldrb r0, [r3, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r3, 0
- bl FieldObjectTurn
-_08087CEE:
- ldrh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r0, r1, r2
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _08087D1A
- movs r0, 0x4
- strh r0, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _08087D1A
- lsls r0, r1, 1
- strh r0, [r4, 0xE]
-_08087D1A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- ble _08087D48
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _08087D48
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_08087D48:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xA7
- ble _08087D5E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_8053FF8
- bl fade_8080918
-_08087D5E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087D68: .4byte gUnknown_0839F380
-_08087D6C: .4byte gPlayerAvatar
-_08087D70: .4byte gMapObjects
-_08087D74: .4byte gSprites
- thumb_func_end sub_8087CA4
-
- thumb_func_start sub_8087D78
-sub_8087D78: @ 8087D78
- push {lr}
- ldr r0, _08087DB8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08087DB4
- bl sub_8054034
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08087DB4
- bl sub_8053570
- bl warp_in
- ldr r0, _08087DBC @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, _08087DC0 @ =gUnknown_0300485C
- ldr r0, _08087DC4 @ =mapldr_08085D88
- str r0, [r1]
- ldr r0, _08087DC8 @ =sub_8087BBC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08087DB4:
- pop {r0}
- bx r0
- .align 2, 0
-_08087DB8: .4byte gPaletteFade
-_08087DBC: .4byte CB2_LoadMap
-_08087DC0: .4byte gUnknown_0300485C
-_08087DC4: .4byte mapldr_08085D88
-_08087DC8: .4byte sub_8087BBC
- thumb_func_end sub_8087D78
-
- thumb_func_start mapldr_08085D88
-mapldr_08085D88: @ 8087DCC
- push {lr}
- bl sub_8053E90
- bl pal_fill_for_map_transition
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r1, _08087E0C @ =gUnknown_0300485C
- movs r0, 0
- str r0, [r1]
- ldr r2, _08087E10 @ =gMapObjects
- ldr r0, _08087E14 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl CameraObjectReset2
- ldr r0, _08087E18 @ =sub_8087E1C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08087E0C: .4byte gUnknown_0300485C
-_08087E10: .4byte gMapObjects
-_08087E14: .4byte gPlayerAvatar
-_08087E18: .4byte sub_8087E1C
- thumb_func_end mapldr_08085D88
-
- thumb_func_start sub_8087E1C
-sub_8087E1C: @ 8087E1C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08087E44 @ =gUnknown_0839F3A0
- ldr r2, _08087E48 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08087E44: .4byte gUnknown_0839F3A0
-_08087E48: .4byte gTasks
- thumb_func_end sub_8087E1C
-
- thumb_func_start sub_8087E4C
-sub_8087E4C: @ 8087E4C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- beq _08087EC2
- ldr r5, _08087EC8 @ =gPlayerAvatar
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08087ECC @ =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, _08087ED0 @ =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- strh r0, [r2, 0x26]
- ldr r3, _08087ED4 @ =gMapObjects
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r3, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x8
- strh r0, [r6, 0xA]
- movs r0, 0x1
- strh r0, [r6, 0xC]
- adds r2, 0x42
- ldrb r0, [r2]
- lsrs r0, 6
- strh r0, [r6, 0x24]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- movs r0, 0x2D
- bl PlaySE
-_08087EC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087EC8: .4byte gPlayerAvatar
-_08087ECC: .4byte gSprites
-_08087ED0: .4byte gSpriteCoordOffsetY
-_08087ED4: .4byte gMapObjects
- thumb_func_end sub_8087E4C
-
- thumb_func_start sub_8087ED8
-sub_8087ED8: @ 8087ED8
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08087F40 @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, _08087F44 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087F48 @ =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087F4C @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- blt _08087F50
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08087F76
- adds r0, r1, 0x1
- strh r0, [r4, 0x22]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- ldrh r1, [r4, 0x24]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08087F76
- .align 2, 0
-_08087F40: .4byte gUnknown_0839F380
-_08087F44: .4byte gPlayerAvatar
-_08087F48: .4byte gMapObjects
-_08087F4C: .4byte gSprites
-_08087F50:
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _08087F76
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_08087F76:
- ldrh r2, [r5, 0x26]
- movs r3, 0x26
- ldrsh r1, [r5, r3]
- movs r0, 0x30
- negs r0, r0
- cmp r1, r0
- blt _08087F9A
- ldrh r1, [r4, 0xA]
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- ble _08087F9A
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _08087F9A
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
-_08087F9A:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- movs r7, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08087FBC
- movs r0, 0x4
- strh r0, [r4, 0xC]
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r6, 0
- bl FieldObjectTurn
-_08087FBC:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _08087FD2
- strh r7, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r7, [r4, 0xC]
-_08087FD2:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8087ED8
-
- thumb_func_start sub_8087FDC
-sub_8087FDC: @ 8087FDC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08088058 @ =gUnknown_0839F380
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, _0808805C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088060 @ =gMapObjects
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08088050
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl FieldObjectTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08088050
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _08088050
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- ldr r0, _08088064 @ =sub_8087E1C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08088050:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088058: .4byte gUnknown_0839F380
-_0808805C: .4byte gPlayerAvatar
-_08088060: .4byte gMapObjects
-_08088064: .4byte sub_8087E1C
- thumb_func_end sub_8087FDC
-
- thumb_func_start FldEff_FieldMoveShowMon
-FldEff_FieldMoveShowMon: @ 8088068
- push {r4,lr}
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08088088
- ldr r0, _08088084 @ =sub_8088120
- b _0808808A
- .align 2, 0
-_08088084: .4byte sub_8088120
-_08088088:
- ldr r0, _080880B8 @ =sub_808847C
-_0808808A:
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080880BC @ =gUnknown_0202FF84
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_8088830
- ldr r2, _080880C0 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x26]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080880B8: .4byte sub_808847C
-_080880BC: .4byte gUnknown_0202FF84
-_080880C0: .4byte gTasks
- thumb_func_end FldEff_FieldMoveShowMon
-
- thumb_func_start FldEff_FieldMoveShowMonInit
-FldEff_FieldMoveShowMonInit: @ 80880C4
- push {r4-r6,lr}
- ldr r5, _08088118 @ =gUnknown_0202FF84
- ldr r0, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r6, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, _0808811C @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- str r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- movs r0, 0x6
- bl FieldEffectStart
- movs r0, 0x3B
- bl FieldEffectActiveListRemove
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08088118: .4byte gUnknown_0202FF84
-_0808811C: .4byte gPlayerParty
- thumb_func_end FldEff_FieldMoveShowMonInit
-
- thumb_func_start sub_8088120
-sub_8088120: @ 8088120
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08088148 @ =gUnknown_0839F3AC
- ldr r2, _0808814C @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08088148: .4byte gUnknown_0839F3AC
-_0808814C: .4byte gTasks
- thumb_func_end sub_8088120
-
- thumb_func_start sub_8088150
-sub_8088150: @ 8088150
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080881A0 @ =REG_WININ
- ldrh r0, [r6]
- strh r0, [r4, 0x1E]
- ldr r5, _080881A4 @ =REG_WINOUT
- ldrh r0, [r5]
- strh r0, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, _080881A8 @ =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r1, _080881AC @ =0x0000f0f1
- strh r1, [r4, 0xA]
- ldr r0, _080881B0 @ =0x00005051
- strh r0, [r4, 0xC]
- movs r0, 0x3F
- strh r0, [r4, 0xE]
- movs r0, 0x3E
- strh r0, [r4, 0x10]
- ldr r0, _080881B4 @ =REG_WIN0H
- strh r1, [r0]
- ldr r1, _080881B8 @ =REG_WIN0V
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r0, [r4, 0xE]
- strh r0, [r6]
- ldrh r0, [r4, 0x10]
- strh r0, [r5]
- ldr r0, _080881BC @ =sub_80883DC
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080881A0: .4byte REG_WININ
-_080881A4: .4byte REG_WINOUT
-_080881A8: .4byte gMain
-_080881AC: .4byte 0x0000f0f1
-_080881B0: .4byte 0x00005051
-_080881B4: .4byte REG_WIN0H
-_080881B8: .4byte REG_WIN0V
-_080881BC: .4byte sub_80883DC
- thumb_func_end sub_8088150
-
- thumb_func_start sub_80881C0
-sub_80881C0: @ 80881C0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, _08088218 @ =REG_BG0CNT
- ldrh r1, [r0]
- lsrs r1, 2
- lsls r1, 30
- lsrs r1, 16
- ldrh r4, [r0]
- lsrs r4, 8
- lsls r4, 27
- lsrs r4, 16
- ldr r0, _0808821C @ =gFieldMoveStreaksTiles
- movs r5, 0xC0
- lsls r5, 19
- adds r1, r5
- movs r2, 0x80
- lsls r2, 1
- bl CpuSet
- movs r0, 0
- str r0, [sp]
- adds r5, r4, r5
- ldr r2, _08088220 @ =0x05000200
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- ldr r0, _08088224 @ =gFieldMoveStreaksPalette
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- bl sub_808843C
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088218: .4byte REG_BG0CNT
-_0808821C: .4byte gFieldMoveStreaksTiles
-_08088220: .4byte 0x05000200
-_08088224: .4byte gFieldMoveStreaksPalette
- thumb_func_end sub_80881C0
-
- thumb_func_start sub_8088228
-sub_8088228: @ 8088228
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r6, [r3, 0xA]
- ldrh r2, [r3, 0xC]
- movs r7, 0xFF
- lsrs r1, r6, 8
- subs r1, 0x10
- lsls r1, 16
- lsrs r0, r2, 8
- subs r0, 0x2
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r7, 0
- ands r0, r2
- adds r5, r0, 0x2
- lsrs r2, r1, 16
- cmp r1, 0
- bge _08088254
- movs r2, 0
-_08088254:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0x27
- bgt _0808825E
- movs r4, 0x28
-_0808825E:
- cmp r5, 0x78
- ble _08088264
- movs r5, 0x78
-_08088264:
- lsls r2, 16
- asrs r2, 16
- lsls r1, r2, 8
- adds r0, r7, 0
- ands r0, r6
- orrs r1, r0
- strh r1, [r3, 0xA]
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r4, 8
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r3, 0xC]
- cmp r2, 0
- bne _080882A4
- cmp r4, 0x28
- bne _080882A4
- cmp r1, 0x78
- bne _080882A4
- ldr r2, _080882AC @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080882B0 @ =sub_8088890
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080882A4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080882AC: .4byte gSprites
-_080882B0: .4byte sub_8088890
- thumb_func_end sub_8088228
-
- thumb_func_start sub_80882B4
-sub_80882B4: @ 80882B4
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldr r2, _080882E0 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080882DA
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080882DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080882E0: .4byte gSprites
- thumb_func_end sub_80882B4
-
- thumb_func_start sub_80882E4
-sub_80882E4: @ 80882E4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r2, [r3, 0xC]
- lsls r1, r2, 16
- movs r0, 0xFF
- asrs r1, 24
- adds r1, 0x6
- lsls r1, 16
- ands r0, r2
- subs r0, 0x6
- lsls r0, 16
- lsrs r2, r0, 16
- lsrs r4, r1, 16
- asrs r1, 16
- cmp r1, 0x50
- ble _0808830C
- movs r4, 0x50
-_0808830C:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x50
- bgt _08088316
- movs r2, 0x51
-_08088316:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r0, 8
- lsls r2, 16
- asrs r2, 16
- orrs r1, r2
- strh r1, [r3, 0xC]
- cmp r0, 0x50
- bne _08088332
- cmp r2, 0x51
- bne _08088332
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08088332:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80882E4
-
- thumb_func_start sub_8088338
-sub_8088338: @ 8088338
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, _08088378 @ =REG_BG0CNT
- ldrh r1, [r0]
- lsrs r1, 8
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, _0808837C @ =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0xF1
- strh r0, [r4, 0xA]
- movs r0, 0xA1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x1E]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088378: .4byte REG_BG0CNT
-_0808837C: .4byte 0x05000200
- thumb_func_end sub_8088338
-
- thumb_func_start sub_8088380
-sub_8088380: @ 8088380
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl SetVBlankCallback
- ldr r4, _080883D0 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080883D4 @ =gSprites
- adds r0, r1
- bl FreeResourcesAndDestroySprite
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, _080883D8 @ =sub_8088120
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080883D0: .4byte gWindowConfig_81E6CE4
-_080883D4: .4byte gSprites
-_080883D8: .4byte sub_8088120
- thumb_func_end sub_8088380
-
- thumb_func_start sub_80883DC
-sub_80883DC: @ 80883DC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08088430 @ =sub_8088120
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _08088434 @ =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldr r1, _08088438 @ =REG_WIN0H
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r4, 0xE]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x10]
- strh r0, [r1]
- subs r1, 0x3A
- ldrh r0, [r4, 0x12]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x14]
- strh r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088430: .4byte sub_8088120
-_08088434: .4byte gTasks
-_08088438: .4byte REG_WIN0H
- thumb_func_end sub_80883DC
-
- thumb_func_start sub_808843C
-sub_808843C: @ 808843C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08088470 @ =0x06000140
- adds r2, r0, r1
- movs r1, 0
- ldr r5, _08088474 @ =gFieldMoveStreaksTilemap
- movs r0, 0xF0
- lsls r0, 8
- adds r4, r0, 0
- ldr r3, _08088478 @ =0x0000013f
-_08088452:
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- orrs r0, r4
- strh r0, [r2]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, 0x2
- cmp r1, r3
- bls _08088452
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088470: .4byte 0x06000140
-_08088474: .4byte gFieldMoveStreaksTilemap
-_08088478: .4byte 0x0000013f
- thumb_func_end sub_808843C
-
- thumb_func_start sub_808847C
-sub_808847C: @ 808847C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080884A4 @ =gUnknown_0839F3C8
- ldr r2, _080884A8 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080884A4: .4byte gUnknown_0839F3C8
-_080884A8: .4byte gTasks
- thumb_func_end sub_808847C
-
- thumb_func_start sub_80884AC
-sub_80884AC: @ 80884AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080884DC @ =REG_BG0HOFS
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, _080884E0 @ =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r0, _080884E4 @ =sub_80886B0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080884DC: .4byte REG_BG0HOFS
-_080884E0: .4byte gMain
-_080884E4: .4byte sub_80886B0
- thumb_func_end sub_80884AC
-
- thumb_func_start sub_80884E8
-sub_80884E8: @ 80884E8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, _08088544 @ =REG_BG0CNT
- ldrh r1, [r0]
- lsrs r1, 2
- lsls r1, 30
- lsrs r1, 16
- ldrh r4, [r0]
- lsrs r4, 8
- lsls r4, 27
- lsrs r4, 16
- movs r0, 0
- mov r8, r0
- strh r4, [r6, 0x20]
- ldr r0, _08088548 @ =gDarknessFieldMoveStreaksTiles
- movs r5, 0xC0
- lsls r5, 19
- adds r1, r5
- movs r2, 0x40
- bl CpuSet
- mov r0, r8
- str r0, [sp]
- adds r4, r5
- ldr r2, _0808854C @ =0x05000200
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- ldr r0, _08088550 @ =gDarknessFieldMoveStreaksPalette
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088544: .4byte REG_BG0CNT
-_08088548: .4byte gDarknessFieldMoveStreaksTiles
-_0808854C: .4byte 0x05000200
-_08088550: .4byte gDarknessFieldMoveStreaksPalette
- thumb_func_end sub_80884E8
-
- thumb_func_start sub_8088554
-sub_8088554: @ 8088554
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8088708
- lsls r0, 24
- cmp r0, 0
- beq _0808858A
- ldr r1, _08088598 @ =REG_WIN1H
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _0808859C @ =0x00002878
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080885A0 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080885A4 @ =sub_8088890
- str r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808858A:
- adds r0, r4, 0
- bl sub_80886F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088598: .4byte REG_WIN1H
-_0808859C: .4byte 0x00002878
-_080885A0: .4byte gSprites
-_080885A4: .4byte sub_8088890
- thumb_func_end sub_8088554
-
- thumb_func_start sub_80885A8
-sub_80885A8: @ 80885A8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80886F8
- ldr r2, _080885D4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080885CC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080885CC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080885D4: .4byte gSprites
- thumb_func_end sub_80885A8
-
- thumb_func_start sub_80885D8
-sub_80885D8: @ 80885D8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80886F8
- ldrh r1, [r4, 0xA]
- movs r0, 0x7
- ands r0, r1
- movs r1, 0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldr r0, _08088604 @ =REG_WIN1H
- ldr r2, _08088608 @ =0x0000ffff
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088604: .4byte REG_WIN1H
-_08088608: .4byte 0x0000ffff
- thumb_func_end sub_80885D8
-
- thumb_func_start sub_808860C
-sub_808860C: @ 808860C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80886F8
- adds r0, r4, 0
- bl sub_80887C0
- lsls r0, 24
- cmp r0, 0
- beq _08088626
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08088626:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808860C
-
- thumb_func_start sub_808862C
-sub_808862C: @ 808862C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r0, _0808869C @ =REG_BG0CNT
- ldrh r1, [r0]
- lsrs r1, 8
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, _080886A0 @ =0x05000200
- mov r0, sp
- bl CpuSet
- adds r0, r5, 0
- adds r0, 0x22
- add r1, sp, 0x4
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp, 0x4]
- bl SetVBlankCallback
- ldr r4, _080886A4 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080886A8 @ =gSprites
- adds r0, r1
- bl FreeResourcesAndDestroySprite
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, _080886AC @ =sub_808847C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808869C: .4byte REG_BG0CNT
-_080886A0: .4byte 0x05000200
-_080886A4: .4byte gWindowConfig_81E6CE4
-_080886A8: .4byte gSprites
-_080886AC: .4byte sub_808847C
- thumb_func_end sub_808862C
-
- thumb_func_start sub_80886B0
-sub_80886B0: @ 80886B0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080886EC @ =sub_808847C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080886F0 @ =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldr r1, _080886F4 @ =REG_BG0HOFS
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080886EC: .4byte sub_808847C
-_080886F0: .4byte gTasks
-_080886F4: .4byte REG_BG0HOFS
- thumb_func_end sub_80886B0
-
- thumb_func_start sub_80886F8
-sub_80886F8: @ 80886F8
- ldrh r1, [r0, 0xA]
- subs r1, 0x10
- strh r1, [r0, 0xA]
- ldrh r1, [r0, 0xE]
- adds r1, 0x10
- strh r1, [r0, 0xE]
- bx lr
- thumb_func_end sub_80886F8
-
- thumb_func_start sub_8088708
-sub_8088708: @ 8088708
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x10]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _08088724
- movs r0, 0x1
- b _080887A8
-_08088724:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r3, r0, 19
- movs r1, 0x1F
- ands r3, r1
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- cmp r3, r0
- blt _080887A6
- movs r0, 0x20
- subs r3, r0, r3
- ands r3, r1
- subs r0, r2
- mov r12, r0
- mov r7, r12
- ands r7, r1
- mov r12, r7
- ldrh r0, [r5, 0x20]
- ldr r1, _080887B8 @ =0x06000140
- adds r1, r0
- mov r8, r1
- movs r4, 0
- ldr r7, _080887BC @ =gDarknessFieldMoveStreaksTilemap
- mov r10, r7
- movs r0, 0xF0
- lsls r0, 8
- mov r9, r0
- adds r1, r3, 0x1
- movs r0, 0x1F
- ands r1, r0
- str r1, [sp]
- mov r6, r12
- adds r6, 0x1
- ands r6, r0
-_08088768:
- lsls r1, r4, 5
- adds r2, r1, r3
- lsls r2, 1
- add r2, r8
- mov r7, r12
- adds r0, r7, r1
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r7, r9
- orrs r0, r7
- strh r0, [r2]
- ldr r0, [sp]
- adds r2, r1, r0
- lsls r2, 1
- add r2, r8
- adds r1, r6, r1
- lsls r1, 1
- add r1, r10
- ldrh r0, [r1]
- mov r1, r9
- orrs r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9
- bls _08088768
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080887A6:
- movs r0, 0
-_080887A8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080887B8: .4byte 0x06000140
-_080887BC: .4byte gDarknessFieldMoveStreaksTilemap
- thumb_func_end sub_8088708
-
- thumb_func_start sub_80887C0
-sub_80887C0: @ 80887C0
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080887D0
- movs r0, 0x1
- b _08088824
-_080887D0:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 19
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r2, r0
- blt _08088822
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r2, r0, 19
- movs r0, 0x1F
- ands r2, r0
- ldrh r0, [r5, 0x20]
- ldr r1, _0808882C @ =0x06000140
- adds r6, r0, r1
- movs r3, 0
- movs r0, 0xF0
- lsls r0, 8
- adds r7, r0, 0
- adds r4, r2, 0x1
- movs r0, 0x1F
- ands r4, r0
-_08088800:
- lsls r0, r3, 5
- adds r1, r0, r2
- lsls r1, 1
- adds r1, r6
- strh r7, [r1]
- adds r0, r4
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bls _08088800
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_08088822:
- movs r0, 0
-_08088824:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808882C: .4byte 0x06000140
- thumb_func_end sub_80887C0
-
- thumb_func_start sub_8088830
-sub_8088830: @ 8088830
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0x80
- lsls r5, 24
- ands r5, r6
- lsrs r5, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _08088884 @ =0x7fffffff
- ands r6, r0
- lsls r0, r6, 16
- lsrs r0, 16
- movs r3, 0xA0
- lsls r3, 1
- movs r4, 0x50
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- bl CreateMonSprite_FieldMove
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _08088888 @ =gSprites
- adds r2, r1
- ldr r1, _0808888C @ =SpriteCallbackDummy
- str r1, [r2, 0x1C]
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x5]
- strh r6, [r2, 0x2E]
- strh r5, [r2, 0x3A]
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08088884: .4byte 0x7fffffff
-_08088888: .4byte gSprites
-_0808888C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8088830
-
- thumb_func_start sub_8088890
-sub_8088890: @ 8088890
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x20]
- subs r0, 0x14
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _080888D0
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x1E
- strh r0, [r1, 0x30]
- ldr r0, _080888C4 @ =sub_80888D4
- str r0, [r1, 0x1C]
- movs r2, 0x3A
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080888C8
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _080888D0
- .align 2, 0
-_080888C4: .4byte sub_80888D4
-_080888C8:
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- bl PlayCry1
-_080888D0:
- pop {r0}
- bx r0
- thumb_func_end sub_8088890
-
- thumb_func_start sub_80888D4
-sub_80888D4: @ 80888D4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080888E8
- ldr r0, _080888EC @ =sub_80888F0
- str r0, [r1, 0x1C]
-_080888E8:
- pop {r0}
- bx r0
- .align 2, 0
-_080888EC: .4byte sub_80888F0
- thumb_func_end sub_80888D4
-
- thumb_func_start sub_80888F0
-sub_80888F0: @ 80888F0
- push {lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x20]
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bge _08088908
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- b _0808890E
-_08088908:
- adds r0, r3, 0
- subs r0, 0x14
- strh r0, [r2, 0x20]
-_0808890E:
- pop {r0}
- bx r0
- thumb_func_end sub_80888F0
-
- thumb_func_start FldEff_UseSurf
-FldEff_UseSurf: @ 8088914
- push {lr}
- ldr r0, _08088944 @ =sub_8088954
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08088948 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0808894C @ =gUnknown_0202FF84
- ldr r0, [r0]
- strh r0, [r1, 0x26]
- bl sav1_reset_battle_music_maybe
- ldr r0, _08088950 @ =0x0000016d
- bl sub_8053FB0
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08088944: .4byte sub_8088954
-_08088948: .4byte gTasks
-_0808894C: .4byte gUnknown_0202FF84
-_08088950: .4byte 0x0000016d
- thumb_func_end FldEff_UseSurf
-
- thumb_func_start sub_8088954
-sub_8088954: @ 8088954
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0808897C @ =gUnknown_0839F3E4
- ldr r2, _08088980 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_0808897C: .4byte gUnknown_0839F3E4
-_08088980: .4byte gTasks
- thumb_func_end sub_8088954
-
- thumb_func_start sub_8088984
-sub_8088984: @ 8088984
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeMapObjects
- ldr r5, _080889DC @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r5, 0x6]
- movs r0, 0x8
- bl SetPlayerAvatarStateMask
- adds r6, r4, 0
- adds r6, 0xA
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- adds r0, r6, 0
- mov r1, r8
- bl PlayerGetDestCoords
- ldr r2, _080889E0 @ =gMapObjects
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsrs r0, 4
- adds r1, r6, 0
- mov r2, r8
- bl MoveCoords
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080889DC: .4byte gPlayerAvatar
-_080889E0: .4byte gMapObjects
- thumb_func_end sub_8088984
-
- thumb_func_start sub_80889E4
-sub_80889E4: @ 80889E4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08088A28 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088A2C @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _08088A0E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08088A20
-_08088A0E:
- bl sub_8059BF4
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08088A20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088A28: .4byte gPlayerAvatar
-_08088A2C: .4byte gMapObjects
- thumb_func_end sub_80889E4
-
- thumb_func_start sub_8088A30
-sub_8088A30: @ 8088A30
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08088A6C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088A70 @ =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- cmp r0, 0
- beq _08088A66
- ldr r2, _08088A74 @ =gUnknown_0202FF84
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08088A66:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088A6C: .4byte gPlayerAvatar
-_08088A70: .4byte gMapObjects
-_08088A74: .4byte gUnknown_0202FF84
- thumb_func_end sub_8088A30
-
- thumb_func_start sub_8088A78
-sub_8088A78: @ 8088A78
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08088AE2
- ldr r5, _08088AE8 @ =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08088AEC @ =gMapObjects
- adds r4, r0
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805B980
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_80608D0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r1, _08088AF0 @ =gUnknown_0202FF84
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- str r0, [r1]
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0x5]
- str r0, [r1, 0x8]
- movs r0, 0x8
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08088AE2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088AE8: .4byte gPlayerAvatar
-_08088AEC: .4byte gMapObjects
-_08088AF0: .4byte gUnknown_0202FF84
- thumb_func_end sub_8088A78
-
- thumb_func_start sub_8088AF4
-sub_8088AF4: @ 8088AF4
- push {r4,r5,lr}
- ldr r5, _08088B5C @ =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088B60 @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08088B54
- movs r0, 0
- strb r0, [r5, 0x6]
- ldrb r1, [r5]
- movs r0, 0xDF
- ands r0, r1
- strb r0, [r5]
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetFaceDirectionAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_8127ED0
- bl UnfreezeMapObjects
- bl ScriptContext2_Disable
- movs r0, 0x9
- bl FieldEffectActiveListRemove
- ldr r0, _08088B64 @ =sub_8088954
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08088B54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088B5C: .4byte gPlayerAvatar
-_08088B60: .4byte gMapObjects
-_08088B64: .4byte sub_8088954
- thumb_func_end sub_8088AF4
-
- thumb_func_start FldEff_NPCFlyOut
-FldEff_NPCFlyOut: @ 8088B68
- push {r4,lr}
- ldr r0, _08088BB4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0x78
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- ldr r0, _08088BB8 @ =gSprites
- adds r2, r0
- ldrb r1, [r2, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _08088BBC @ =sub_8088BC4
- str r0, [r2, 0x1C]
- ldr r0, _08088BC0 @ =gUnknown_0202FF84
- ldr r0, [r0]
- strh r0, [r2, 0x30]
- movs r0, 0x9E
- bl PlaySE
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08088BB4: .4byte gFieldEffectObjectTemplatePointers
-_08088BB8: .4byte gSprites
-_08088BBC: .4byte sub_8088BC4
-_08088BC0: .4byte gUnknown_0202FF84
- thumb_func_end FldEff_NPCFlyOut
-
- thumb_func_start sub_8088BC4
-sub_8088BC4: @ 8088BC4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08088C26
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08088C3C @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_08088C26:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _08088C36
- adds r0, r4, 0
- movs r1, 0x1E
- bl FieldEffectStop
-_08088C36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088C3C: .4byte gSprites
- thumb_func_end sub_8088BC4
-
- thumb_func_start FldEff_UseFly
-FldEff_UseFly: @ 8088C40
- push {lr}
- ldr r0, _08088C64 @ =sub_8088C70
- movs r1, 0xFE
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08088C68 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _08088C6C @ =gUnknown_0202FF84
- ldr r0, [r0]
- strh r0, [r1, 0xA]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08088C64: .4byte sub_8088C70
-_08088C68: .4byte gTasks
-_08088C6C: .4byte gUnknown_0202FF84
- thumb_func_end FldEff_UseFly
-
- thumb_func_start sub_8088C70
-sub_8088C70: @ 8088C70
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08088C98 @ =gUnknown_0839F3F8
- ldr r2, _08088C9C @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08088C98: .4byte gUnknown_0839F3F8
-_08088C9C: .4byte gTasks
- thumb_func_end sub_8088C70
-
- thumb_func_start sub_8088CA0
-sub_8088CA0: @ 8088CA0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _08088CF0 @ =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088CF4 @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _08088CCA
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08088CE8
-_08088CCA:
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- bl sub_8059BF4
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08088CE8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088CF0: .4byte gPlayerAvatar
-_08088CF4: .4byte gMapObjects
- thumb_func_end sub_8088CA0
-
- thumb_func_start sub_8088CF8
-sub_8088CF8: @ 8088CF8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08088D30 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088D34 @ =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08088D28
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r1, _08088D38 @ =gUnknown_0202FF84
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
-_08088D28:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088D30: .4byte gPlayerAvatar
-_08088D34: .4byte gMapObjects
-_08088D38: .4byte gUnknown_0202FF84
- thumb_func_end sub_8088CF8
-
- thumb_func_start sub_8088D3C
-sub_8088D3C: @ 8088D3C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08088D84
- ldr r0, _08088D8C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088D90 @ =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08088D74
- ldrb r0, [r5, 0x1A]
- movs r1, 0x2
- bl sub_8127ED0
- ldrb r0, [r5, 0x1A]
- movs r1, 0
- bl sub_8127EFC
-_08088D74:
- bl sub_8088F60
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08088D84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088D8C: .4byte gPlayerAvatar
-_08088D90: .4byte gMapObjects
- thumb_func_end sub_8088D3C
-
- thumb_func_start sub_8088D94
-sub_8088D94: @ 8088D94
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_8088FA4
- lsls r0, 24
- cmp r0, 0
- beq _08088DC8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- ldr r0, _08088DD0 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088DD4 @ =gMapObjects
- adds r0, r1
- movs r1, 0x2
- bl FieldObjectSetSpecialAnim
-_08088DC8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088DD0: .4byte gPlayerAvatar
-_08088DD4: .4byte gMapObjects
- thumb_func_end sub_8088D94
-
- thumb_func_start sub_8088DD8
-sub_8088DD8: @ 8088DD8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08088E24 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088E28 @ =gMapObjects
- adds r2, r0, r1
- ldrh r1, [r4, 0xC]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08088DFE
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08088E1C
-_08088DFE:
- adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08088E1C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x9E
- bl PlaySE
- ldrb r0, [r4, 0xA]
- bl sub_8088FC0
-_08088E1C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088E24: .4byte gPlayerAvatar
-_08088E28: .4byte gMapObjects
- thumb_func_end sub_8088DD8
-
- thumb_func_start sub_8088E2C
-sub_8088E2C: @ 8088E2C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08088EA2
- ldr r0, _08088EA8 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08088EAC @ =gMapObjects
- adds r4, r0, r1
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805B980
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, _08088EB0 @ =gSprites
- adds r0, r6
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- movs r1, 0x48
- bl FieldObjectSetSpecialAnim
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08088E98
- ldrb r1, [r4, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
-_08088E98:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0xC]
-_08088EA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088EA8: .4byte gPlayerAvatar
-_08088EAC: .4byte gMapObjects
-_08088EB0: .4byte gSprites
- thumb_func_end sub_8088E2C
-
- thumb_func_start sub_8088EB4
-sub_8088EB4: @ 8088EB4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08088F00
- ldr r0, _08088F08 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08088F0C @ =gMapObjects
- adds r4, r0
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimActive
- ldrb r1, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_8088FFC
- bl CameraObjectReset2
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08088F00:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088F08: .4byte gPlayerAvatar
-_08088F0C: .4byte gMapObjects
- thumb_func_end sub_8088EB4
-
- thumb_func_start sub_8088F10
-sub_8088F10: @ 8088F10
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_8088FA4
- lsls r0, 24
- cmp r0, 0
- beq _08088F2A
- bl fade_8080918
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08088F2A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8088F10
-
- thumb_func_start sub_8088F30
-sub_8088F30: @ 8088F30
- push {lr}
- ldr r0, _08088F58 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08088F52
- movs r0, 0x1F
- bl FieldEffectActiveListRemove
- ldr r0, _08088F5C @ =sub_8088C70
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08088F52:
- pop {r0}
- bx r0
- .align 2, 0
-_08088F58: .4byte gPaletteFade
-_08088F5C: .4byte sub_8088C70
- thumb_func_end sub_8088F30
-
- thumb_func_start sub_8088F60
-sub_8088F60: @ 8088F60
- push {lr}
- ldr r0, _08088F98 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0xFF
- movs r2, 0xB4
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _08088F9C @ =gSprites
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- movs r3, 0xD
- negs r3, r3
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- ldr r1, _08088FA0 @ =sub_8089018
- str r1, [r2, 0x1C]
- pop {r1}
- bx r1
- .align 2, 0
-_08088F98: .4byte gFieldEffectObjectTemplatePointers
-_08088F9C: .4byte gSprites
-_08088FA0: .4byte sub_8089018
- thumb_func_end sub_8088F60
-
- thumb_func_start sub_8088FA4
-sub_8088FA4: @ 8088FA4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08088FBC @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08088FBC: .4byte gSprites
- thumb_func_end sub_8088FA4
-
- thumb_func_start sub_8088FC0
-sub_8088FC0: @ 8088FC0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08088FF4 @ =gSprites
- adds r4, r0
- ldr r0, _08088FF8 @ =sub_80890D8
- str r0, [r4, 0x1C]
- movs r1, 0
- movs r0, 0x78
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x2E
- movs r2, 0x10
- bl memset
- movs r0, 0x40
- strh r0, [r4, 0x3A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088FF4: .4byte gSprites
-_08088FF8: .4byte sub_80890D8
- thumb_func_end sub_8088FC0
-
- thumb_func_start sub_8088FFC
-sub_8088FFC: @ 8088FFC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08089014 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- strh r1, [r2, 0x3A]
- bx lr
- .align 2, 0
-_08089014: .4byte gSprites
- thumb_func_end sub_8088FFC
-
- thumb_func_start sub_8089018
-sub_8089018: @ 8089018
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080890C4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808905C
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080890CC @ =gSpriteAffineAnimTable_0839F44C
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r0, 0x76
- strh r0, [r4, 0x20]
- ldr r0, _080890D0 @ =0x0000ffd0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x40
- strh r0, [r4, 0x30]
- adds r0, 0xC0
- strh r0, [r4, 0x32]
-_0808905C:
- ldrh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x32]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- ldr r0, _080890D4 @ =0x000007ff
- cmp r1, r0
- bgt _08089092
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r4, 0x32]
-_08089092:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x81
- ble _080890C4
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
-_080890C4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080890CC: .4byte gSpriteAffineAnimTable_0839F44C
-_080890D0: .4byte 0x0000ffd0
-_080890D4: .4byte 0x000007ff
- thumb_func_end sub_8089018
-
- thumb_func_start sub_80890D8
-sub_80890D8: @ 80890D8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _08089136
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08089148 @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_08089136:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _08089142
- movs r0, 0x1
- strh r0, [r4, 0x3C]
-_08089142:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089148: .4byte gSprites
- thumb_func_end sub_80890D8
-
- thumb_func_start sub_808914C
-sub_808914C: @ 808914C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08089220
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08089196
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08089228 @ =gSpriteAffineAnimTable_0839F44C
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0x5E
- strh r0, [r4, 0x20]
- ldr r0, _0808922C @ =0x0000ffe0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0xF0
- strh r0, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0x80
- strh r0, [r4, 0x36]
-_08089196:
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r2, r1
- ldrh r0, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x30]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- movs r1, 0x20
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- ble _080891D8
- ldrh r0, [r4, 0x36]
- subs r0, r1, r0
- strh r0, [r4, 0x32]
-_080891D8:
- ldrh r1, [r4, 0x36]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0xFF
- bgt _080891E8
- adds r0, r1, 0
- adds r0, 0x18
- strh r0, [r4, 0x36]
-_080891E8:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080891F2
- strh r2, [r4, 0x32]
-_080891F2:
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- ble _08089220
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08089220:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089228: .4byte gSpriteAffineAnimTable_0839F44C
-_0808922C: .4byte 0x0000ffe0
- thumb_func_end sub_808914C
-
- thumb_func_start sub_8089230
-sub_8089230: @ 8089230
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8088FC0
- ldr r1, _08089254 @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08089258 @ =sub_808914C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089254: .4byte gSprites
-_08089258: .4byte sub_808914C
- thumb_func_end sub_8089230
-
- thumb_func_start FldEff_FlyIn
-FldEff_FlyIn: @ 808925C
- push {lr}
- ldr r0, _0808926C @ =sub_8089270
- movs r1, 0xFE
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808926C: .4byte sub_8089270
- thumb_func_end FldEff_FlyIn
-
- thumb_func_start sub_8089270
-sub_8089270: @ 8089270
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08089298 @ =gUnknown_0839F454
- ldr r2, _0808929C @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08089298: .4byte gUnknown_0839F454
-_0808929C: .4byte gTasks
- thumb_func_end sub_8089270
-
- thumb_func_start sub_80892A0
-sub_80892A0: @ 80892A0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _08089348 @ =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808934C @ =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080892CA
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _08089342
-_080892CA:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x11
- strh r0, [r5, 0xC]
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080892F2
- ldrb r0, [r4, 0x1A]
- movs r1, 0
- bl sub_8127ED0
-_080892F2:
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805B980
- bl CameraObjectReset2
- adds r0, r4, 0
- movs r1, 0x3
- bl FieldObjectTurn
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08089350 @ =gSprites
- adds r0, r1
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8088F60
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- bl sub_8088FC0
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_8088FFC
-_08089342:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08089348: .4byte gPlayerAvatar
-_0808934C: .4byte gMapObjects
-_08089350: .4byte gSprites
- thumb_func_end sub_80892A0
-
- thumb_func_start sub_8089354
-sub_8089354: @ 8089354
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0808936C
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080893AC
-_0808936C:
- ldr r0, _080893B4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080893B8 @ =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080893BC @ =gSprites
- adds r4, r0
- ldrb r0, [r5, 0xA]
- movs r1, 0x40
- bl sub_8088FFC
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
-_080893AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080893B4: .4byte gPlayerAvatar
-_080893B8: .4byte gMapObjects
-_080893BC: .4byte gSprites
- thumb_func_end sub_8089354
-
- thumb_func_start sub_80893C0
-sub_80893C0: @ 80893C0
- push {r4,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, _08089408 @ =gUnknown_0839F470
- mov r0, sp
- movs r2, 0x24
- bl memcpy
- ldr r0, _0808940C @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08089410 @ =gSprites
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _080893FE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080893FE:
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089408: .4byte gUnknown_0839F470
-_0808940C: .4byte gPlayerAvatar
-_08089410: .4byte gSprites
- thumb_func_end sub_80893C0
-
- thumb_func_start sub_8089414
-sub_8089414: @ 8089414
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6, 0xA]
- bl sub_8088FA4
- lsls r0, 24
- cmp r0, 0
- beq _08089478
- ldr r0, _08089480 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, _08089484 @ =gMapObjects
- adds r5, r0
- ldrb r0, [r5, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08089488 @ =gSprites
- adds r4, r0
- ldrb r1, [r5, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- movs r0, 0x12
- ldrsh r2, [r5, r0]
- adds r0, r5, 0
- bl sub_805C058
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- bl sub_8059BF4
- adds r0, r5, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08089478:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08089480: .4byte gPlayerAvatar
-_08089484: .4byte gMapObjects
-_08089488: .4byte gSprites
- thumb_func_end sub_8089414
-
- thumb_func_start sub_808948C
-sub_808948C: @ 808948C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080894BC @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080894C0 @ =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080894B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r4, 0xA]
- bl sub_8089230
-_080894B4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080894BC: .4byte gPlayerAvatar
-_080894C0: .4byte gMapObjects
- thumb_func_end sub_808948C
-
- thumb_func_start sub_80894C4
-sub_80894C4: @ 80894C4
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_8088FA4
- lsls r0, 24
- cmp r0, 0
- beq _080894F0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080894F8 @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_080894F0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080894F8: .4byte gSprites
- thumb_func_end sub_80894C4
-
- thumb_func_start fishE
-fishE: @ 80894FC
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08089566
- ldr r6, _0808956C @ =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08089570 @ =gMapObjects
- adds r4, r0, r1
- movs r7, 0
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08089530
- movs r7, 0x3
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_8127ED0
-_08089530:
- adds r0, r7, 0
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_805B980
- adds r0, r4, 0
- movs r1, 0x1
- bl FieldObjectTurn
- ldrh r0, [r5, 0x26]
- strb r0, [r6]
- movs r0, 0
- strb r0, [r6, 0x6]
- movs r0, 0x20
- bl FieldEffectActiveListRemove
- ldr r0, _08089574 @ =sub_8089270
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08089566:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808956C: .4byte gPlayerAvatar
-_08089570: .4byte gMapObjects
-_08089574: .4byte sub_8089270
- thumb_func_end fishE
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index 798285a45..e882e7030 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -617,7 +617,7 @@ sub_8080E88: @ 8080E88
bl PlayRainSoundEffect
movs r0, 0x9
bl PlaySE
- ldr r0, _08080EB4 @ =gUnknown_0300485C
+ ldr r0, _08080EB4 @ =gFieldCallback
ldr r1, _08080EB8 @ =mapldr_default
str r1, [r0]
ldr r0, _08080EBC @ =task0A_fade_n_map_maybe
@@ -626,7 +626,7 @@ sub_8080E88: @ 8080E88
pop {r0}
bx r0
.align 2, 0
-_08080EB4: .4byte gUnknown_0300485C
+_08080EB4: .4byte gFieldCallback
_08080EB8: .4byte mapldr_default
_08080EBC: .4byte task0A_fade_n_map_maybe
thumb_func_end sub_8080E88
@@ -638,7 +638,7 @@ sp13E_warp_to_last_warp: @ 8080EC0
bl sub_8053FF8
bl fade_8080918
bl PlayRainSoundEffect
- ldr r0, _08080EE4 @ =gUnknown_0300485C
+ ldr r0, _08080EE4 @ =gFieldCallback
ldr r1, _08080EE8 @ =mapldr_default
str r1, [r0]
ldr r0, _08080EEC @ =task0A_fade_n_map_maybe
@@ -647,7 +647,7 @@ sp13E_warp_to_last_warp: @ 8080EC0
pop {r0}
bx r0
.align 2, 0
-_08080EE4: .4byte gUnknown_0300485C
+_08080EE4: .4byte gFieldCallback
_08080EE8: .4byte mapldr_default
_08080EEC: .4byte task0A_fade_n_map_maybe
thumb_func_end sp13E_warp_to_last_warp
@@ -656,7 +656,7 @@ _08080EEC: .4byte task0A_fade_n_map_maybe
sub_8080EF0: @ 8080EF0
push {lr}
bl ScriptContext2_Enable
- ldr r0, _08080F08 @ =gUnknown_0300485C
+ ldr r0, _08080F08 @ =gFieldCallback
ldr r1, _08080F0C @ =mapldr_default
str r1, [r0]
ldr r0, _08080F10 @ =sub_808115C
@@ -665,7 +665,7 @@ sub_8080EF0: @ 8080EF0
pop {r0}
bx r0
.align 2, 0
-_08080F08: .4byte gUnknown_0300485C
+_08080F08: .4byte gFieldCallback
_08080F0C: .4byte mapldr_default
_08080F10: .4byte sub_808115C
thumb_func_end sub_8080EF0
@@ -674,13 +674,13 @@ _08080F10: .4byte sub_808115C
sp13F_fall_to_last_warp: @ 8080F14
push {lr}
bl sp13E_warp_to_last_warp
- ldr r1, _08080F24 @ =gUnknown_0300485C
+ ldr r1, _08080F24 @ =gFieldCallback
ldr r0, _08080F28 @ =sub_8086748
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
-_08080F24: .4byte gUnknown_0300485C
+_08080F24: .4byte gFieldCallback
_08080F28: .4byte sub_8086748
thumb_func_end sp13F_fall_to_last_warp
@@ -730,14 +730,14 @@ sub_8080F68: @ 8080F68
ldr r0, _08080F90 @ =task0A_fade_n_map_maybe
movs r1, 0xA
bl CreateTask
- ldr r1, _08080F94 @ =gUnknown_0300485C
+ ldr r1, _08080F94 @ =gFieldCallback
ldr r0, _08080F98 @ =sub_8080B78
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_08080F90: .4byte task0A_fade_n_map_maybe
-_08080F94: .4byte gUnknown_0300485C
+_08080F94: .4byte gFieldCallback
_08080F98: .4byte sub_8080B78
thumb_func_end sub_8080F68
@@ -749,14 +749,14 @@ sub_8080F9C: @ 8080F9C
ldr r0, _08080FB8 @ =task0A_fade_n_map_maybe
movs r1, 0xA
bl CreateTask
- ldr r1, _08080FBC @ =gUnknown_0300485C
+ ldr r1, _08080FBC @ =gFieldCallback
ldr r0, _08080FC0 @ =sub_80C791C
str r0, [r1]
pop {r0}
bx r0
.align 2, 0
_08080FB8: .4byte task0A_fade_n_map_maybe
-_08080FBC: .4byte gUnknown_0300485C
+_08080FBC: .4byte gFieldCallback
_08080FC0: .4byte sub_80C791C
thumb_func_end sub_8080F9C
@@ -1204,7 +1204,7 @@ sub_8081334: @ 8081334
bl PlayRainSoundEffect
movs r0, 0x9
bl PlaySE
- ldr r0, _08081360 @ =gUnknown_0300485C
+ ldr r0, _08081360 @ =gFieldCallback
ldr r1, _08081364 @ =sub_8080B60
str r1, [r0]
ldr r0, _08081368 @ =sub_80812C8
@@ -1213,7 +1213,7 @@ sub_8081334: @ 8081334
pop {r0}
bx r0
.align 2, 0
-_08081360: .4byte gUnknown_0300485C
+_08081360: .4byte gFieldCallback
_08081364: .4byte sub_8080B60
_08081368: .4byte sub_80812C8
thumb_func_end sub_8081334
diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s
index 6051dc6e6..c8c402217 100644
--- a/asm/field_map_obj.s
+++ b/asm/field_map_obj.s
@@ -6,138 +6,7 @@
.text
- thumb_func_start sub_805F2FC
-sub_805F2FC: @ 805F2FC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805F318 @ =gMapObjects
- adds r0, r2
- ldr r2, _0805F31C @ =sub_805F320
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805F318: .4byte gMapObjects
-_0805F31C: .4byte sub_805F320
- thumb_func_end sub_805F2FC
-
- thumb_func_start sub_805F320
-sub_805F320: @ 805F320
- push {r4,lr}
- ldr r3, _0805F33C @ =gUnknown_08375588
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F33C: .4byte gUnknown_08375588
- thumb_func_end sub_805F320
-
- thumb_func_start mss_npc_reset_oampriv3_1_unk2_unk3
-mss_npc_reset_oampriv3_1_unk2_unk3: @ 805F340
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- adds r4, 0x21
- ldrb r0, [r4]
- cmp r0, 0
- bne _0805F358
- bl player_get_direction_lower_nybble
- strb r0, [r4]
-_0805F358:
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end mss_npc_reset_oampriv3_1_unk2_unk3
-
- thumb_func_start sub_805F364
-sub_805F364: @ 805F364
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r2, _0805F388 @ =gMapObjects
- ldr r3, _0805F38C @ =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1C]
- cmp r0, 0xFF
- beq _0805F384
- ldrb r0, [r3, 0x3]
- cmp r0, 0x2
- bne _0805F390
-_0805F384:
- movs r0, 0
- b _0805F3B8
- .align 2, 0
-_0805F388: .4byte gMapObjects
-_0805F38C: .4byte gPlayerAvatar
-_0805F390:
- ldr r5, _0805F3C0 @ =gUnknown_08375594
- bl player_get_x22
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- adds r4, r5
- bl player_get_direction_upper_nybble
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r4, [r4]
- adds r0, r6, 0
- adds r1, r7, 0
- movs r3, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
-_0805F3B8:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F3C0: .4byte gUnknown_08375594
- thumb_func_end sub_805F364
-
- thumb_func_start sub_805F3C4
-sub_805F3C4: @ 805F3C4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0805F3E2
- ldrb r0, [r4]
- movs r1, 0x3
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- movs r0, 0x1
- strh r0, [r5, 0x30]
-_0805F3E2:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805F3C4
-
+.ifndef NONMATCHING
thumb_func_start sub_805F3EC
sub_805F3EC: @ 805F3EC
movs r0, 0
@@ -268,6 +137,7 @@ _0805F4D2:
.align 2, 0
_0805F4EC: .4byte gUnknown_0836DC09
thumb_func_end sub_805F438
+.endif
thumb_func_start sub_805F4F0
sub_805F4F0: @ 805F4F0
@@ -756,5847 +626,3 @@ _0805F8C0:
.align 2, 0
_0805F8DC: .4byte gUnknown_0836DC09
thumb_func_end oac_hopping
-
- thumb_func_start sub_805F8E0
-sub_805F8E0: @ 805F8E0
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805F8FC @ =gMapObjects
- adds r0, r2
- ldr r2, _0805F900 @ =sub_805F904
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805F8FC: .4byte gMapObjects
-_0805F900: .4byte sub_805F904
- thumb_func_end sub_805F8E0
-
- thumb_func_start sub_805F904
-sub_805F904: @ 805F904
- push {r4,lr}
- ldr r3, _0805F920 @ =gUnknown_083755C0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F920: .4byte gUnknown_083755C0
- thumb_func_end sub_805F904
-
- thumb_func_start mss_08062EA4
-mss_08062EA4: @ 805F924
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r2, _0805F948 @ =gMapObjects
- ldr r3, _0805F94C @ =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1C]
- cmp r0, 0xFF
- beq _0805F944
- ldrb r0, [r3, 0x3]
- cmp r0, 0x2
- bne _0805F950
-_0805F944:
- movs r0, 0
- b _0805F978
- .align 2, 0
-_0805F948: .4byte gMapObjects
-_0805F94C: .4byte gPlayerAvatar
-_0805F950:
- ldr r5, _0805F980 @ =gUnknown_08375594
- bl player_get_x22
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- adds r4, r5
- bl player_get_direction_upper_nybble
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _0805F984 @ =MetatileBehavior_IsPokeGrass
- ldr r4, [r4]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
-_0805F978:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805F980: .4byte gUnknown_08375594
-_0805F984: .4byte MetatileBehavior_IsPokeGrass
- thumb_func_end mss_08062EA4
-
- thumb_func_start FieldObjectCB_TreeDisguise
-FieldObjectCB_TreeDisguise: @ 805F988
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0805F9EC @ =gMapObjects
- adds r4, r1, r0
- adds r6, r4, 0
- adds r6, 0x21
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805F9B0
- cmp r0, 0x1
- bne _0805F9D0
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0805F9D0
-_0805F9B0:
- ldr r1, _0805F9F0 @ =gUnknown_0202FF84
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x1C
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- movs r0, 0x1
- strb r0, [r6]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_0805F9D0:
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805F9EC @ =gMapObjects
- adds r0, r1
- ldr r2, _0805F9F4 @ =sub_805F9F8
- adds r1, r5, 0
- bl meta_step
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805F9EC: .4byte gMapObjects
-_0805F9F0: .4byte gUnknown_0202FF84
-_0805F9F4: .4byte sub_805F9F8
- thumb_func_end FieldObjectCB_TreeDisguise
-
- thumb_func_start sub_805F9F8
-sub_805F9F8: @ 805F9F8
- push {lr}
- bl npc_reset
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_805F9F8
-
- thumb_func_start FieldObjectCB_MountainDisguise
-FieldObjectCB_MountainDisguise: @ 805FA04
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0805FA68 @ =gMapObjects
- adds r4, r1, r0
- adds r6, r4, 0
- adds r6, 0x21
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805FA2C
- cmp r0, 0x1
- bne _0805FA4C
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0805FA4C
-_0805FA2C:
- ldr r1, _0805FA6C @ =gUnknown_0202FF84
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x1D
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- movs r0, 0x1
- strb r0, [r6]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_0805FA4C:
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805FA68 @ =gMapObjects
- adds r0, r1
- ldr r2, _0805FA70 @ =sub_805F9F8
- adds r1, r5, 0
- bl meta_step
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FA68: .4byte gMapObjects
-_0805FA6C: .4byte gUnknown_0202FF84
-_0805FA70: .4byte sub_805F9F8
- thumb_func_end FieldObjectCB_MountainDisguise
-
- thumb_func_start FieldObjectCB_Hidden1
-FieldObjectCB_Hidden1: @ 805FA74
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r3, r1]
- ldr r4, _0805FAD0 @ =gMapObjects
- cmp r0, 0
- bne _0805FAB4
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x3]
- adds r2, r3, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r3, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldrh r0, [r3, 0x3C]
- adds r0, 0x1
- strh r0, [r3, 0x3C]
-_0805FAB4:
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r2, _0805FAD4 @ =sub_805FAD8
- adds r1, r3, 0
- bl meta_step
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FAD0: .4byte gMapObjects
-_0805FAD4: .4byte sub_805FAD8
- thumb_func_end FieldObjectCB_Hidden1
-
- thumb_func_start sub_805FAD8
-sub_805FAD8: @ 805FAD8
- push {r4,lr}
- ldr r3, _0805FAF4 @ =gUnknown_083755CC
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805FAF4: .4byte gUnknown_083755CC
- thumb_func_end sub_805FAD8
-
- thumb_func_start sub_805FAF8
-sub_805FAF8: @ 805FAF8
- push {lr}
- bl npc_reset
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_805FAF8
-
- thumb_func_start sub_805FB04
-sub_805FB04: @ 805FB04
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- beq _0805FB16
- movs r0, 0
- strh r0, [r4, 0x30]
-_0805FB16:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805FB04
-
- thumb_func_start sub_805FB20
-sub_805FB20: @ 805FB20
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805FB3C @ =gMapObjects
- adds r0, r2
- ldr r2, _0805FB40 @ =sub_805FB44
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805FB3C: .4byte gMapObjects
-_0805FB40: .4byte sub_805FB44
- thumb_func_end sub_805FB20
-
- thumb_func_start sub_805FB44
-sub_805FB44: @ 805FB44
- push {r4,lr}
- ldr r3, _0805FB60 @ =gUnknown_083755D0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805FB60: .4byte gUnknown_083755D0
- thumb_func_end sub_805FB44
-
- thumb_func_start sub_805FB64
-sub_805FB64: @ 805FB64
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay16AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FB64
-
- thumb_func_start sub_805FB90
-sub_805FB90: @ 805FB90
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805FBAC @ =gMapObjects
- adds r0, r2
- ldr r2, _0805FBB0 @ =sub_805FBB4
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805FBAC: .4byte gMapObjects
-_0805FBB0: .4byte sub_805FBB4
- thumb_func_end sub_805FB90
-
- thumb_func_start sub_805FBB4
-sub_805FBB4: @ 805FBB4
- push {r4,lr}
- ldr r3, _0805FBD0 @ =gUnknown_083755D8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805FBD0: .4byte gUnknown_083755D8
- thumb_func_end sub_805FBB4
-
- thumb_func_start sub_805FBD4
-sub_805FBD4: @ 805FBD4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay8AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FBD4
-
- thumb_func_start sub_805FC00
-sub_805FC00: @ 805FC00
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805FC1C @ =gMapObjects
- adds r0, r2
- ldr r2, _0805FC20 @ =sub_805FC24
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805FC1C: .4byte gMapObjects
-_0805FC20: .4byte sub_805FC24
- thumb_func_end sub_805FC00
-
- thumb_func_start sub_805FC24
-sub_805FC24: @ 805FC24
- push {r4,lr}
- ldr r3, _0805FC40 @ =gUnknown_083755E0
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805FC40: .4byte gUnknown_083755E0
- thumb_func_end sub_805FC24
-
- thumb_func_start sub_805FC44
-sub_805FC44: @ 805FC44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetStepInPlaceDelay4AnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FC44
-
- thumb_func_start sub_805FC70
-sub_805FC70: @ 805FC70
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r2, _0805FC8C @ =gMapObjects
- adds r0, r2
- ldr r2, _0805FC90 @ =sub_805FC94
- bl meta_step
- pop {r0}
- bx r0
- .align 2, 0
-_0805FC8C: .4byte gMapObjects
-_0805FC90: .4byte sub_805FC94
- thumb_func_end sub_805FC70
-
- thumb_func_start sub_805FC94
-sub_805FC94: @ 805FC94
- push {r4,lr}
- ldr r3, _0805FCB0 @ =gUnknown_083755E8
- movs r4, 0x30
- ldrsh r2, [r1, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0805FCB0: .4byte gUnknown_083755E8
- thumb_func_end sub_805FC94
-
- thumb_func_start sub_805FCB4
-sub_805FCB4: @ 805FCB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl npc_reset
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetRegularAnim
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1
- strh r0, [r5, 0x30]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FCB4
-
- thumb_func_start sub_805FCE8
-sub_805FCE8: @ 805FCE8
- push {r4,lr}
- adds r4, r1, 0
- bl FieldObjectExecRegularAnim
- lsls r0, 24
- cmp r0, 0
- bne _0805FCFA
- movs r0, 0
- b _0805FD00
-_0805FCFA:
- movs r0, 0x2
- strh r0, [r4, 0x30]
- movs r0, 0x1
-_0805FD00:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805FCE8
-
- thumb_func_start sub_805FD08
-sub_805FD08: @ 805FD08
- ldrb r2, [r0]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0
- bx lr
- .align 2, 0
- thumb_func_end sub_805FD08
-
- .section .text_805fd18
-
- thumb_func_start sub_806113C
-sub_806113C: @ 806113C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- mov r10, r1
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x30]
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _080611F4 @ =gUnknown_08375A34
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- add r5, sp, 0xC
- movs r0, 0
- strh r0, [r5]
- mov r6, sp
- adds r6, 0xE
- strh r0, [r6]
- adds r0, r7, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- mov r1, r8
- lsls r0, r1, 1
- add r0, sp
- adds r0, 0x4
- movs r1, 0
- ldrsh r3, [r0, r1]
- str r3, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8060320
- ldrh r1, [r5]
- ldrh r0, [r7, 0x10]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6]
- ldrh r0, [r7, 0x12]
- adds r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r7, 0
- bl npc_coords_shift
- mov r0, r10
- adds r1, r4, 0
- mov r2, r8
- mov r3, r9
- bl sub_80646E4
- movs r0, 0x1
- mov r1, r10
- strh r0, [r1, 0x32]
- movs r0, 0x2C
- add r10, r0
- mov r0, r10
- ldrb r1, [r0]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- mov r1, r10
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r7]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080611F4: .4byte gUnknown_08375A34
- thumb_func_end sub_806113C
-
- thumb_func_start maybe_shadow_1
-maybe_shadow_1: @ 80611F8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r4, 0
- bl sub_806113C
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805FE28
- adds r0, r4, 0
- bl DoShadowFieldEffect
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end maybe_shadow_1
-
- thumb_func_start sub_806123C
-sub_806123C: @ 806123C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r1, _080612C8 @ =gUnknown_08375A3A
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x1
- bne _080612CC
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsls r0, 1
- add r0, sp
- adds r0, 0x4
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080612CC
- add r4, sp, 0xC
- movs r0, 0
- strh r0, [r4]
- mov r5, sp
- adds r5, 0xE
- strh r0, [r5]
- ldrb r0, [r6, 0x18]
- lsrs r0, 4
- movs r2, 0x36
- ldrsh r1, [r7, r2]
- lsls r1, 1
- add r1, sp
- adds r1, 0x4
- movs r2, 0
- ldrsh r3, [r1, r2]
- str r3, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8060320
- ldrh r1, [r4]
- ldrh r0, [r6, 0x10]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r5]
- ldrh r0, [r6, 0x12]
- adds r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r6, 0
- bl npc_coords_shift
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r6]
- b _080612F0
- .align 2, 0
-_080612C8: .4byte gUnknown_08375A3A
-_080612CC:
- mov r1, r8
- cmp r1, 0xFF
- bne _080612F0
- adds r0, r6, 0
- bl npc_coords_shift_still
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6]
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_080612F0:
- mov r0, r8
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806123C
-
- thumb_func_start sub_8061300
-sub_8061300: @ 8061300
- push {lr}
- ldr r2, _08061310 @ =sub_8064704
- bl sub_806123C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08061310: .4byte sub_8064704
- thumb_func_end sub_8061300
-
- thumb_func_start sub_8061314
-sub_8061314: @ 8061314
- push {lr}
- ldr r2, _08061324 @ =sub_806478C
- bl sub_806123C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08061324: .4byte sub_806478C
- thumb_func_end sub_8061314
-
- thumb_func_start sub_8061328
-sub_8061328: @ 8061328
- push {lr}
- bl sub_8061300
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0806133A
- movs r0, 0
- b _0806133C
-_0806133A:
- movs r0, 0x1
-_0806133C:
- pop {r1}
- bx r1
- thumb_func_end sub_8061328
-
- thumb_func_start sub_8061340
-sub_8061340: @ 8061340
- push {lr}
- bl sub_8061314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08061352
- movs r0, 0
- b _08061354
-_08061352:
- movs r0, 0x1
-_08061354:
- pop {r1}
- bx r1
- thumb_func_end sub_8061340
-
- thumb_func_start sub_8061358
-sub_8061358: @ 8061358
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061300
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08061372
- cmp r0, 0xFF
- bne _0806139E
- movs r0, 0x1
- b _080613A0
-_08061372:
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetOppositeDirection
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetDirection
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl get_go_image_anim_num
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805FE64
-_0806139E:
- movs r0, 0
-_080613A0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061358
-
- thumb_func_start sub_80613A8
-sub_80613A8: @ 80613A8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80613D4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80613A8
-
- thumb_func_start sub_80613D4
-sub_80613D4: @ 80613D4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _080613E8
- movs r0, 0
- b _080613F8
-_080613E8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080613F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80613D4
-
- thumb_func_start sub_8061400
-sub_8061400: @ 8061400
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806142C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061400
-
- thumb_func_start sub_806142C
-sub_806142C: @ 806142C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08061440
- movs r0, 0
- b _08061450
-_08061440:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08061450:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806142C
-
- thumb_func_start sub_8061458
-sub_8061458: @ 8061458
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061484
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061458
-
- thumb_func_start sub_8061484
-sub_8061484: @ 8061484
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08061498
- movs r0, 0
- b _080614A8
-_08061498:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080614A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061484
-
- thumb_func_start sub_80614B0
-sub_80614B0: @ 80614B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x2
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80614DC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80614B0
-
- thumb_func_start sub_80614DC
-sub_80614DC: @ 80614DC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _080614F0
- movs r0, 0
- b _08061500
-_080614F0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08061500:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80614DC
-
- thumb_func_start sub_8061508
-sub_8061508: @ 8061508
- movs r2, 0x1
- strh r2, [r0, 0x32]
- strh r1, [r0, 0x34]
- bx lr
- thumb_func_end sub_8061508
-
- thumb_func_start sub_8061510
-sub_8061510: @ 8061510
- push {lr}
- ldrh r0, [r1, 0x34]
- subs r0, 0x1
- strh r0, [r1, 0x34]
- lsls r0, 16
- cmp r0, 0
- beq _08061522
- movs r0, 0
- b _08061528
-_08061522:
- movs r0, 0x2
- strh r0, [r1, 0x32]
- movs r0, 0x1
-_08061528:
- pop {r1}
- bx r1
- thumb_func_end sub_8061510
-
- thumb_func_start sub_806152C
-sub_806152C: @ 806152C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8061508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061510
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806152C
-
- thumb_func_start sub_806154C
-sub_806154C: @ 806154C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8061508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061510
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806154C
-
- thumb_func_start sub_806156C
-sub_806156C: @ 806156C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8061508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061510
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806156C
-
- thumb_func_start sub_806158C
-sub_806158C: @ 806158C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_8061508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061510
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806158C
-
- thumb_func_start sub_80615AC
-sub_80615AC: @ 80615AC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_8061508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061510
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80615AC
-
- thumb_func_start sub_80615CC
-sub_80615CC: @ 80615CC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80615EC
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80615CC
-
- thumb_func_start sub_80615EC
-sub_80615EC: @ 80615EC
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080615FE
- movs r0, 0
- b _08061604
-_080615FE:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061604:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80615EC
-
- thumb_func_start sub_806160C
-sub_806160C: @ 806160C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806162C
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806160C
-
- thumb_func_start sub_806162C
-sub_806162C: @ 806162C
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806163E
- movs r0, 0
- b _08061644
-_0806163E:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061644:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806162C
-
- thumb_func_start sub_806164C
-sub_806164C: @ 806164C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806166C
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806164C
-
- thumb_func_start sub_806166C
-sub_806166C: @ 806166C
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806167E
- movs r0, 0
- b _08061684
-_0806167E:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061684:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806166C
-
- thumb_func_start sub_806168C
-sub_806168C: @ 806168C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80616AC
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806168C
-
- thumb_func_start sub_80616AC
-sub_80616AC: @ 80616AC
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080616BE
- movs r0, 0
- b _080616C4
-_080616BE:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080616C4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80616AC
-
- thumb_func_start sub_80616CC
-sub_80616CC: @ 80616CC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r6, r1, 0
- adds r1, r2, 0
- adds r4, r3, 0
- ldr r5, [sp, 0x14]
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- bl FieldObjectSetDirection
- mov r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_805FE28
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r6, 0x32]
- strh r5, [r6, 0x34]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80616CC
-
- thumb_func_start sub_8061714
-sub_8061714: @ 8061714
- push {lr}
- ldrh r0, [r1, 0x34]
- subs r0, 0x1
- strh r0, [r1, 0x34]
- lsls r0, 16
- cmp r0, 0
- beq _08061726
- movs r0, 0
- b _08061738
-_08061726:
- movs r0, 0x2
- strh r0, [r1, 0x32]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
-_08061738:
- pop {r1}
- bx r1
- thumb_func_end sub_8061714
-
- thumb_func_start sub_806173C
-sub_806173C: @ 806173C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r1, [r4, 0x34]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08061766
- adds r3, r4, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- lsls r1, r2, 26
- lsrs r1, 26
- adds r1, 0x1
- movs r0, 0x3F
- ands r1, r0
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_08061766:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806173C
-
- thumb_func_start sub_8061778
-sub_8061778: @ 8061778
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806173C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061778
-
- thumb_func_start sub_80617B0
-sub_80617B0: @ 80617B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806173C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80617B0
-
- thumb_func_start sub_80617E8
-sub_80617E8: @ 80617E8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806173C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80617E8
-
- thumb_func_start sub_8061820
-sub_8061820: @ 8061820
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x20
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806173C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061820
-
- thumb_func_start sub_8061858
-sub_8061858: @ 8061858
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061858
-
- thumb_func_start sub_8061890
-sub_8061890: @ 8061890
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061890
-
- thumb_func_start sub_80618C8
-sub_80618C8: @ 80618C8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80618C8
-
- thumb_func_start sub_8061900
-sub_8061900: @ 8061900
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061900
-
- thumb_func_start sub_8061938
-sub_8061938: @ 8061938
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061938
-
- thumb_func_start sub_8061970
-sub_8061970: @ 8061970
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061970
-
- thumb_func_start sub_80619A8
-sub_80619A8: @ 80619A8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80619A8
-
- thumb_func_start sub_80619E0
-sub_80619E0: @ 80619E0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_fast_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80619E0
-
- thumb_func_start sub_8061A18
-sub_8061A18: @ 8061A18
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061A18
-
- thumb_func_start sub_8061A50
-sub_8061A50: @ 8061A50
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061A50
-
- thumb_func_start sub_8061A88
-sub_8061A88: @ 8061A88
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061A88
-
- thumb_func_start sub_8061AC0
-sub_8061AC0: @ 8061AC0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl get_go_faster_image_anim_num
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061AC0
-
- thumb_func_start sub_8061AF8
-sub_8061AF8: @ 8061AF8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061B18
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061AF8
-
- thumb_func_start sub_8061B18
-sub_8061B18: @ 8061B18
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061B2A
- movs r0, 0
- b _08061B30
-_08061B2A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061B30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061B18
-
- thumb_func_start sub_8061B38
-sub_8061B38: @ 8061B38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061B58
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061B38
-
- thumb_func_start sub_8061B58
-sub_8061B58: @ 8061B58
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061B6A
- movs r0, 0
- b _08061B70
-_08061B6A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061B70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061B58
-
- thumb_func_start sub_8061B78
-sub_8061B78: @ 8061B78
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061B98
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061B78
-
- thumb_func_start sub_8061B98
-sub_8061B98: @ 8061B98
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061BAA
- movs r0, 0
- b _08061BB0
-_08061BAA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061BB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061B98
-
- thumb_func_start sub_8061BB8
-sub_8061BB8: @ 8061BB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x2
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061BD8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061BB8
-
- thumb_func_start sub_8061BD8
-sub_8061BD8: @ 8061BD8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061BEA
- movs r0, 0
- b _08061BF0
-_08061BEA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061BF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061BD8
-
- thumb_func_start sub_8061BF8
-sub_8061BF8: @ 8061BF8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061C18
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061BF8
-
- thumb_func_start sub_8061C18
-sub_8061C18: @ 8061C18
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061C2A
- movs r0, 0
- b _08061C30
-_08061C2A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061C30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061C18
-
- thumb_func_start sub_8061C38
-sub_8061C38: @ 8061C38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061C58
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061C38
-
- thumb_func_start sub_8061C58
-sub_8061C58: @ 8061C58
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061C6A
- movs r0, 0
- b _08061C70
-_08061C6A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061C70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061C58
-
- thumb_func_start sub_8061C78
-sub_8061C78: @ 8061C78
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061C98
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061C78
-
- thumb_func_start sub_8061C98
-sub_8061C98: @ 8061C98
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061CAA
- movs r0, 0
- b _08061CB0
-_08061CAA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061CB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061C98
-
- thumb_func_start sub_8061CB8
-sub_8061CB8: @ 8061CB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x3
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061CD8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061CB8
-
- thumb_func_start sub_8061CD8
-sub_8061CD8: @ 8061CD8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061CEA
- movs r0, 0
- b _08061CF0
-_08061CEA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061CF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061CD8
-
- thumb_func_start sub_8061CF8
-sub_8061CF8: @ 8061CF8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061D18
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061CF8
-
- thumb_func_start sub_8061D18
-sub_8061D18: @ 8061D18
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061D2A
- movs r0, 0
- b _08061D30
-_08061D2A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061D30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061D18
-
- thumb_func_start sub_8061D38
-sub_8061D38: @ 8061D38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061D58
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061D38
-
- thumb_func_start sub_8061D58
-sub_8061D58: @ 8061D58
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061D6A
- movs r0, 0
- b _08061D70
-_08061D6A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061D70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061D58
-
- thumb_func_start sub_8061D78
-sub_8061D78: @ 8061D78
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061D98
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061D78
-
- thumb_func_start sub_8061D98
-sub_8061D98: @ 8061D98
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061DAA
- movs r0, 0
- b _08061DB0
-_08061DAA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061DB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061D98
-
- thumb_func_start sub_8061DB8
-sub_8061DB8: @ 8061DB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x4
- bl do_go_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061DD8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061DB8
-
- thumb_func_start sub_8061DD8
-sub_8061DD8: @ 8061DD8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061DEA
- movs r0, 0
- b _08061DF0
-_08061DEA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061DF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061DD8
-
- thumb_func_start do_run_south_anim
-do_run_south_anim: @ 8061DF8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061E18
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_south_anim
-
- thumb_func_start sub_8061E18
-sub_8061E18: @ 8061E18
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061E2A
- movs r0, 0
- b _08061E30
-_08061E2A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061E30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061E18
-
- thumb_func_start do_run_north_anim
-do_run_north_anim: @ 8061E38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061E58
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_north_anim
-
- thumb_func_start sub_8061E58
-sub_8061E58: @ 8061E58
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061E6A
- movs r0, 0
- b _08061E70
-_08061E6A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061E70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061E58
-
- thumb_func_start do_run_west_anim
-do_run_west_anim: @ 8061E78
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061E98
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_west_anim
-
- thumb_func_start sub_8061E98
-sub_8061E98: @ 8061E98
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061EAA
- movs r0, 0
- b _08061EB0
-_08061EAA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061EB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061E98
-
- thumb_func_start do_run_east_anim
-do_run_east_anim: @ 8061EB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl do_run_anim
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061ED8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end do_run_east_anim
-
- thumb_func_start sub_8061ED8
-sub_8061ED8: @ 8061ED8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08061EEA
- movs r0, 0
- b _08061EF0
-_08061EEA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061EF0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061ED8
-
- thumb_func_start npc_set_direction_and_anim__an_proceed
-npc_set_direction_and_anim__an_proceed: @ 8061EF8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r1, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0
- bl obj_anim_image_set_and_seek
- adds r0, r6, 0
- adds r1, r4, 0
- bl FieldObjectSetDirection
- movs r0, 0x1
- strh r0, [r5, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end npc_set_direction_and_anim__an_proceed
-
- thumb_func_start sub_8061F24
-sub_8061F24: @ 8061F24
- push {lr}
- ldrb r2, [r0, 0x18]
- lsrs r2, 4
- adds r3, r1, 0
- adds r3, 0x2A
- ldrb r3, [r3]
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8061F24
-
- thumb_func_start sub_8061F3C
-sub_8061F3C: @ 8061F3C
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_8064864
- lsls r0, 24
- cmp r0, 0
- bne _08061F50
- movs r0, 0
- b _08061F56
-_08061F50:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08061F56:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8061F3C
-
- thumb_func_start sub_8061F5C
-sub_8061F5C: @ 8061F5C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_806113C
- adds r0, r4, 0
- bl sub_805FD88
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8061F5C
-
- thumb_func_start sub_8061F90
-sub_8061F90: @ 8061F90
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8061F5C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061FB0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061F90
-
- thumb_func_start sub_8061FB0
-sub_8061FB0: @ 8061FB0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061340
- lsls r0, 24
- cmp r0, 0
- bne _08061FC4
- movs r0, 0
- b _08061FD2
-_08061FC4:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08061FD2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061FB0
-
- thumb_func_start sub_8061FD8
-sub_8061FD8: @ 8061FD8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- bl sub_8061F5C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061FF8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061FD8
-
- thumb_func_start sub_8061FF8
-sub_8061FF8: @ 8061FF8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061340
- lsls r0, 24
- cmp r0, 0
- bne _0806200C
- movs r0, 0
- b _0806201A
-_0806200C:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_0806201A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8061FF8
-
- thumb_func_start sub_8062020
-sub_8062020: @ 8062020
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- bl sub_8061F5C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062040
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062020
-
- thumb_func_start sub_8062040
-sub_8062040: @ 8062040
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061340
- lsls r0, 24
- cmp r0, 0
- bne _08062054
- movs r0, 0
- b _08062062
-_08062054:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_08062062:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062040
-
- thumb_func_start sub_8062068
-sub_8062068: @ 8062068
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8061F5C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062088
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062068
-
- thumb_func_start sub_8062088
-sub_8062088: @ 8062088
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061340
- lsls r0, 24
- cmp r0, 0
- bne _0806209C
- movs r0, 0
- b _080620AA
-_0806209C:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- ldrb r1, [r4]
- subs r0, 0x23
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
-_080620AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062088
-
- thumb_func_start sub_80620B0
-sub_80620B0: @ 80620B0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080620FA
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- ldr r4, _08062108 @ =gMapObjects
- mov r2, sp
- ldrb r2, [r2]
- lsls r3, r2, 3
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- movs r4, 0x10
- ldrsh r2, [r3, r4]
- movs r4, 0x12
- ldrsh r3, [r3, r4]
- bl sub_805FE90
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl an_look_any
-_080620FA:
- movs r0, 0x1
- strh r0, [r6, 0x32]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08062108: .4byte gMapObjects
- thumb_func_end sub_80620B0
-
- thumb_func_start sub_806210C
-sub_806210C: @ 806210C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _0806215E
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- ldr r4, _0806216C @ =gMapObjects
- mov r2, sp
- ldrb r2, [r2]
- lsls r3, r2, 3
- adds r3, r2
- lsls r3, 2
- adds r3, r4
- movs r4, 0x10
- ldrsh r2, [r3, r4]
- movs r4, 0x12
- ldrsh r3, [r3, r4]
- bl sub_805FE90
- lsls r0, 24
- lsrs r0, 24
- bl GetOppositeDirection
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl an_look_any
-_0806215E:
- movs r0, 0x1
- strh r0, [r6, 0x32]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806216C: .4byte gMapObjects
- thumb_func_end sub_806210C
-
- thumb_func_start sub_8062170
-sub_8062170: @ 8062170
- ldrb r2, [r0, 0x1]
- movs r3, 0x2
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8062170
-
- thumb_func_start sub_8062180
-sub_8062180: @ 8062180
- ldrb r3, [r0, 0x1]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8062180
-
- thumb_func_start sub_8062190
-sub_8062190: @ 8062190
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80621BC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062190
-
- thumb_func_start sub_80621BC
-sub_80621BC: @ 80621BC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _080621D0
- movs r0, 0
- b _080621E0
-_080621D0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080621E0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80621BC
-
- thumb_func_start sub_80621E8
-sub_80621E8: @ 80621E8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062214
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80621E8
-
- thumb_func_start sub_8062214
-sub_8062214: @ 8062214
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062228
- movs r0, 0
- b _08062238
-_08062228:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062238:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062214
-
- thumb_func_start sub_8062240
-sub_8062240: @ 8062240
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806226C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062240
-
- thumb_func_start sub_806226C
-sub_806226C: @ 806226C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062280
- movs r0, 0
- b _08062290
-_08062280:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062290:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806226C
-
- thumb_func_start sub_8062298
-sub_8062298: @ 8062298
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x1
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80622C4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062298
-
- thumb_func_start sub_80622C4
-sub_80622C4: @ 80622C4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _080622D8
- movs r0, 0
- b _080622E8
-_080622D8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080622E8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80622C4
-
- thumb_func_start sub_80622F0
-sub_80622F0: @ 80622F0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806231C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80622F0
-
- thumb_func_start sub_806231C
-sub_806231C: @ 806231C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062330
- movs r0, 0
- b _08062340
-_08062330:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062340:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806231C
-
- thumb_func_start sub_8062348
-sub_8062348: @ 8062348
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062374
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062348
-
- thumb_func_start sub_8062374
-sub_8062374: @ 8062374
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062388
- movs r0, 0
- b _08062398
-_08062388:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062398:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062374
-
- thumb_func_start sub_80623A0
-sub_80623A0: @ 80623A0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80623CC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80623A0
-
- thumb_func_start sub_80623CC
-sub_80623CC: @ 80623CC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _080623E0
- movs r0, 0
- b _080623F0
-_080623E0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080623F0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80623CC
-
- thumb_func_start sub_80623F8
-sub_80623F8: @ 80623F8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062424
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80623F8
-
- thumb_func_start sub_8062424
-sub_8062424: @ 8062424
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062438
- movs r0, 0
- b _08062448
-_08062438:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062448:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062424
-
- thumb_func_start sub_8062450
-sub_8062450: @ 8062450
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806247C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062450
-
- thumb_func_start sub_806247C
-sub_806247C: @ 806247C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061358
- lsls r0, 24
- cmp r0, 0
- bne _08062490
- movs r0, 0
- b _080624A0
-_08062490:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080624A0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806247C
-
- thumb_func_start sub_80624A8
-sub_80624A8: @ 80624A8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80624D4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80624A8
-
- thumb_func_start sub_80624D4
-sub_80624D4: @ 80624D4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061358
- lsls r0, 24
- cmp r0, 0
- bne _080624E8
- movs r0, 0
- b _080624F8
-_080624E8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080624F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80624D4
-
- thumb_func_start sub_8062500
-sub_8062500: @ 8062500
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806252C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062500
-
- thumb_func_start sub_806252C
-sub_806252C: @ 806252C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061358
- lsls r0, 24
- cmp r0, 0
- bne _08062540
- movs r0, 0
- b _08062550
-_08062540:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062550:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806252C
-
- thumb_func_start sub_8062558
-sub_8062558: @ 8062558
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl maybe_shadow_1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062584
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062558
-
- thumb_func_start sub_8062584
-sub_8062584: @ 8062584
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061358
- lsls r0, 24
- cmp r0, 0
- bne _08062598
- movs r0, 0
- b _080625A8
-_08062598:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080625A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062584
-
- thumb_func_start sub_80625B0
-sub_80625B0: @ 80625B0
- push {lr}
- ldr r3, _080625C4 @ =gUnknown_0836DC09
- ldrb r2, [r0, 0x6]
- adds r2, r3
- ldrb r2, [r2]
- bl an_look_any
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080625C4: .4byte gUnknown_0836DC09
- thumb_func_end sub_80625B0
-
- thumb_func_start sub_80625C8
-sub_80625C8: @ 80625C8
- push {lr}
- movs r2, 0x1
- movs r3, 0x14
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80625C8
-
- thumb_func_start sub_80625D8
-sub_80625D8: @ 80625D8
- ldrb r3, [r0, 0x3]
- movs r2, 0x3
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80625D8
-
- thumb_func_start sub_80625E8
-sub_80625E8: @ 80625E8
- ldrb r2, [r0, 0x3]
- movs r3, 0x2
- orrs r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80625E8
-
- thumb_func_start sub_80625F8
-sub_80625F8: @ 80625F8
- ldrb r2, [r0, 0x1]
- movs r3, 0x10
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_80625F8
-
- thumb_func_start sub_8062608
-sub_8062608: @ 8062608
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrb r1, [r0, 0xC]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 4
- ldrb r2, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1
- strh r0, [r5, 0x32]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062608
-
- thumb_func_start sub_8062634
-sub_8062634: @ 8062634
- ldrb r2, [r0, 0x1]
- movs r3, 0x20
- orrs r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8062634
-
- thumb_func_start sub_8062644
-sub_8062644: @ 8062644
- ldrb r3, [r0, 0x1]
- movs r2, 0x21
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x1]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_8062644
-
- thumb_func_start do_exclamation_mark_bubble_1
-do_exclamation_mark_bubble_1: @ 8062654
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, _08062674 @ =gUnknown_0202FF84
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08062674: .4byte gUnknown_0202FF84
- thumb_func_end do_exclamation_mark_bubble_1
-
- thumb_func_start do_exclamation_mark_bubble_2
-do_exclamation_mark_bubble_2: @ 8062678
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, _08062698 @ =gUnknown_0202FF84
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x21
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08062698: .4byte gUnknown_0202FF84
- thumb_func_end do_exclamation_mark_bubble_2
-
- thumb_func_start do_heart_bubble
-do_heart_bubble: @ 806269C
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, _080626BC @ =gUnknown_0202FF84
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0x2E
- bl FieldEffectStart
- movs r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080626BC: .4byte gUnknown_0202FF84
- thumb_func_end do_heart_bubble
-
- thumb_func_start sub_80626C0
-sub_80626C0: @ 80626C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x6]
- cmp r0, 0x3F
- bne _080626D6
- adds r0, r4, 0
- bl sub_8084794
- movs r0, 0
- b _080626FE
-_080626D6:
- subs r0, 0x39
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080626F8
- adds r0, r4, 0
- bl sub_812869C
- movs r0, 0x1
- strh r0, [r5, 0x32]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062704
- lsls r0, 24
- lsrs r0, 24
- b _080626FE
-_080626F8:
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_080626FE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80626C0
-
- thumb_func_start sub_8062704
-sub_8062704: @ 8062704
- push {r4,lr}
- adds r4, r1, 0
- bl sub_81286C4
- lsls r0, 24
- cmp r0, 0
- bne _08062716
- movs r0, 0
- b _0806271C
-_08062716:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_0806271C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8062704
-
- thumb_func_start sub_8062724
-sub_8062724: @ 8062724
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl obj_anim_image_set_and_seek
- movs r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8062724
-
- thumb_func_start sub_8062740
-sub_8062740: @ 8062740
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_8064864
- lsls r0, 24
- cmp r0, 0
- beq _0806275C
- adds r0, r4, 0
- movs r1, 0x20
- bl sub_8064820
- movs r0, 0x2
- strh r0, [r4, 0x32]
-_0806275C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8062740
-
- thumb_func_start sub_8062764
-sub_8062764: @ 8062764
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8064824
- lsls r0, 24
- cmp r0, 0
- beq _08062796
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x3
- strh r0, [r5, 0x32]
-_08062796:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062764
-
- thumb_func_start sub_80627A0
-sub_80627A0: @ 80627A0
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl obj_anim_image_set_and_seek
- movs r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80627A0
-
- thumb_func_start sub_80627BC
-sub_80627BC: @ 80627BC
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_8064864
- lsls r0, 24
- cmp r0, 0
- beq _080627D8
- adds r0, r4, 0
- movs r1, 0x20
- bl sub_8064820
- movs r0, 0x2
- strh r0, [r4, 0x32]
-_080627D8:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80627BC
-
- thumb_func_start sub_80627E0
-sub_80627E0: @ 80627E0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 26
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 5
- subs r0, 0x22
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8064824
- lsls r0, 24
- cmp r0, 0
- beq _08062812
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x3
- strh r0, [r5, 0x32]
-_08062812:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80627E0
-
- thumb_func_start sub_806281C
-sub_806281C: @ 806281C
- ldrb r2, [r0, 0x3]
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_806281C
-
- thumb_func_start sub_806282C
-sub_806282C: @ 806282C
- ldrb r3, [r0, 0x3]
- movs r2, 0x5
- negs r2, r2
- ands r2, r3
- strb r2, [r0, 0x3]
- movs r0, 0x1
- strh r0, [r1, 0x32]
- bx lr
- thumb_func_end sub_806282C
-
- thumb_func_start sub_806283C
-sub_806283C: @ 806283C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r4, 0x42
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806283C
-
- thumb_func_start sub_806286C
-sub_806286C: @ 806286C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- movs r3, 0
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_806286C
-
- thumb_func_start sub_806289C
-sub_806289C: @ 806289C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8060ED8
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80628D0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806289C
-
- thumb_func_start sub_80628D0
-sub_80628D0: @ 80628D0
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _080628E2
- movs r0, 0
- b _080628F4
-_080628E2:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080628F4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80628D0
-
- thumb_func_start sub_80628FC
-sub_80628FC: @ 80628FC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8060ED8
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnimIfDifferent
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8062930
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80628FC
-
- thumb_func_start sub_8062930
-sub_8062930: @ 8062930
- push {r4,lr}
- adds r4, r1, 0
- bl an_walk_any_2
- lsls r0, 24
- cmp r0, 0
- bne _08062942
- movs r0, 0
- b _08062954
-_08062942:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08062954:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8062930
-
- thumb_func_start sub_806295C
-sub_806295C: @ 806295C
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- adds r1, r4, 0
- bl FieldObjectSetDirection
- adds r0, r5, 0
- bl npc_coords_shift_still
- adds r0, r4, 0
- bl sub_805FDD8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805FE64
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806295C
-
- thumb_func_start sub_806299C
-sub_806299C: @ 806299C
- push {lr}
- movs r2, 0x1
- bl sub_806295C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_806299C
-
- thumb_func_start sub_80629AC
-sub_80629AC: @ 80629AC
- push {lr}
- movs r2, 0x2
- bl sub_806295C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80629AC
-
- thumb_func_start sub_80629BC
-sub_80629BC: @ 80629BC
- push {lr}
- movs r2, 0x3
- bl sub_806295C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80629BC
-
- thumb_func_start sub_80629CC
-sub_80629CC: @ 80629CC
- push {lr}
- movs r2, 0x4
- bl sub_806295C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80629CC
-
- thumb_func_start sub_80629DC
-sub_80629DC: @ 80629DC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_805FD98
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80629DC
-
- thumb_func_start sub_8062A00
-sub_8062A00: @ 8062A00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_805FD98
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062A00
-
- thumb_func_start sub_8062A24
-sub_8062A24: @ 8062A24
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_805FD98
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062A24
-
- thumb_func_start sub_8062A48
-sub_8062A48: @ 8062A48
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_805FD98
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062A48
-
- thumb_func_start sub_8062A6C
-sub_8062A6C: @ 8062A6C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_805FDB8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062A6C
-
- thumb_func_start sub_8062A90
-sub_8062A90: @ 8062A90
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_805FDB8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062A90
-
- thumb_func_start sub_8062AB4
-sub_8062AB4: @ 8062AB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_805FDB8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062AB4
-
- thumb_func_start sub_8062AD8
-sub_8062AD8: @ 8062AD8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_805FDB8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062AD8
-
- thumb_func_start sub_8062AFC
-sub_8062AFC: @ 8062AFC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_805FDC8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062AFC
-
- thumb_func_start sub_8062B20
-sub_8062B20: @ 8062B20
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_805FDC8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062B20
-
- thumb_func_start sub_8062B44
-sub_8062B44: @ 8062B44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_805FDC8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062B44
-
- thumb_func_start sub_8062B68
-sub_8062B68: @ 8062B68
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_805FDC8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl npc_set_direction_and_anim__an_proceed
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062B68
-
- thumb_func_start sub_8062B8C
-sub_8062B8C: @ 8062B8C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x14]
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_806113C
- adds r0, r4, 0
- bl sub_805FD98
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnimIfDifferent
- adds r0, r6, 0
- bl DoShadowFieldEffect
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8062B8C
-
- thumb_func_start sub_8062BD0
-sub_8062BD0: @ 8062BD0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062BFC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062BD0
-
- thumb_func_start sub_8062BFC
-sub_8062BFC: @ 8062BFC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062C10
- movs r0, 0
- b _08062C20
-_08062C10:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062C20:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062BFC
-
- thumb_func_start sub_8062C28
-sub_8062C28: @ 8062C28
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062C54
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062C28
-
- thumb_func_start sub_8062C54
-sub_8062C54: @ 8062C54
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062C68
- movs r0, 0
- b _08062C78
-_08062C68:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062C78:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062C54
-
- thumb_func_start sub_8062C80
-sub_8062C80: @ 8062C80
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062CAC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062C80
-
- thumb_func_start sub_8062CAC
-sub_8062CAC: @ 8062CAC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062CC0
- movs r0, 0
- b _08062CD0
-_08062CC0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062CD0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062CAC
-
- thumb_func_start sub_8062CD8
-sub_8062CD8: @ 8062CD8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062D04
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062CD8
-
- thumb_func_start sub_8062D04
-sub_8062D04: @ 8062D04
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062D18
- movs r0, 0
- b _08062D28
-_08062D18:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062D28:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062D04
-
- thumb_func_start sub_8062D30
-sub_8062D30: @ 8062D30
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062D5C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062D30
-
- thumb_func_start sub_8062D5C
-sub_8062D5C: @ 8062D5C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062D70
- movs r0, 0
- b _08062D80
-_08062D70:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062D80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062D5C
-
- thumb_func_start sub_8062D88
-sub_8062D88: @ 8062D88
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062DB4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062D88
-
- thumb_func_start sub_8062DB4
-sub_8062DB4: @ 8062DB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062DC8
- movs r0, 0
- b _08062DD8
-_08062DC8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062DD8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062DB4
-
- thumb_func_start sub_8062DE0
-sub_8062DE0: @ 8062DE0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062E0C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062DE0
-
- thumb_func_start sub_8062E0C
-sub_8062E0C: @ 8062E0C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062E20
- movs r0, 0
- b _08062E30
-_08062E20:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062E30:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062E0C
-
- thumb_func_start sub_8062E38
-sub_8062E38: @ 8062E38
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062E64
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062E38
-
- thumb_func_start sub_8062E64
-sub_8062E64: @ 8062E64
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062E78
- movs r0, 0
- b _08062E88
-_08062E78:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062E88:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062E64
-
- thumb_func_start sub_8062E90
-sub_8062E90: @ 8062E90
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062EBC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062E90
-
- thumb_func_start sub_8062EBC
-sub_8062EBC: @ 8062EBC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062ED0
- movs r0, 0
- b _08062EE0
-_08062ED0:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062EE0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062EBC
-
- thumb_func_start sub_8062EE8
-sub_8062EE8: @ 8062EE8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062F14
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062EE8
-
- thumb_func_start sub_8062F14
-sub_8062F14: @ 8062F14
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062F28
- movs r0, 0
- b _08062F38
-_08062F28:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062F38:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062F14
-
- thumb_func_start sub_8062F40
-sub_8062F40: @ 8062F40
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062F6C
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062F40
-
- thumb_func_start sub_8062F6C
-sub_8062F6C: @ 8062F6C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062F80
- movs r0, 0
- b _08062F90
-_08062F80:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062F90:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062F6C
-
- thumb_func_start sub_8062F98
-sub_8062F98: @ 8062F98
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x4
- movs r3, 0x2
- bl sub_8062B8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8062FC4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062F98
-
- thumb_func_start sub_8062FC4
-sub_8062FC4: @ 8062FC4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8061328
- lsls r0, 24
- cmp r0, 0
- bne _08062FD8
- movs r0, 0
- b _08062FE8
-_08062FD8:
- ldrb r0, [r4, 0x2]
- movs r1, 0x41
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x32]
- movs r0, 0x1
-_08062FE8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062FC4
-
- thumb_func_start sub_8062FF0
-sub_8062FF0: @ 8062FF0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x1
- bl sub_805FDD8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8062FF0
-
- thumb_func_start sub_8063028
-sub_8063028: @ 8063028
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x2
- bl sub_805FDD8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063028
-
- thumb_func_start sub_8063060
-sub_8063060: @ 8063060
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x3
- bl sub_805FDD8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063060
-
- thumb_func_start sub_8063098
-sub_8063098: @ 8063098
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- bl sub_805FDD8
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80616CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8061714
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063098
-
- thumb_func_start sub_80630D0
-sub_80630D0: @ 80630D0
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl sub_8060D20
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_805FD98
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80630D0
-
- thumb_func_start sub_8063108
-sub_8063108: @ 8063108
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80630D0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063128
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063108
-
- thumb_func_start sub_8063128
-sub_8063128: @ 8063128
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806313A
- movs r0, 0
- b _08063140
-_0806313A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063140:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063128
-
- thumb_func_start sub_8063148
-sub_8063148: @ 8063148
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80630D0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063168
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063148
-
- thumb_func_start sub_8063168
-sub_8063168: @ 8063168
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806317A
- movs r0, 0
- b _08063180
-_0806317A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063180:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063168
-
- thumb_func_start sub_8063188
-sub_8063188: @ 8063188
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_80630D0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80631A8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063188
-
- thumb_func_start sub_80631A8
-sub_80631A8: @ 80631A8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080631BA
- movs r0, 0
- b _080631C0
-_080631BA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080631C0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80631A8
-
- thumb_func_start sub_80631C8
-sub_80631C8: @ 80631C8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_80630D0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80631E8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80631C8
-
- thumb_func_start sub_80631E8
-sub_80631E8: @ 80631E8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080631FA
- movs r0, 0
- b _08063200
-_080631FA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063200:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80631E8
-
- thumb_func_start sub_8063208
-sub_8063208: @ 8063208
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl sub_8060D20
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_805FDD8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805FE28
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8063208
-
- thumb_func_start sub_8063238
-sub_8063238: @ 8063238
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8063208
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063258
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063238
-
- thumb_func_start sub_8063258
-sub_8063258: @ 8063258
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806326A
- movs r0, 0
- b _08063270
-_0806326A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063270:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063258
-
- thumb_func_start sub_8063278
-sub_8063278: @ 8063278
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8063208
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063298
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063278
-
- thumb_func_start sub_8063298
-sub_8063298: @ 8063298
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080632AA
- movs r0, 0
- b _080632B0
-_080632AA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080632B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063298
-
- thumb_func_start sub_80632B8
-sub_80632B8: @ 80632B8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8063208
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80632D8
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80632B8
-
- thumb_func_start sub_80632D8
-sub_80632D8: @ 80632D8
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080632EA
- movs r0, 0
- b _080632F0
-_080632EA:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080632F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80632D8
-
- thumb_func_start sub_80632F8
-sub_80632F8: @ 80632F8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8063208
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063318
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80632F8
-
- thumb_func_start sub_8063318
-sub_8063318: @ 8063318
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _0806332A
- movs r0, 0
- b _08063330
-_0806332A:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063330:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063318
-
- thumb_func_start sub_8063338
-sub_8063338: @ 8063338
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl sub_8060D20
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_805FDB8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8063338
-
- thumb_func_start sub_8063370
-sub_8063370: @ 8063370
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8063338
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063390
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063370
-
- thumb_func_start sub_8063390
-sub_8063390: @ 8063390
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080633A2
- movs r0, 0
- b _080633A8
-_080633A2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080633A8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063390
-
- thumb_func_start sub_80633B0
-sub_80633B0: @ 80633B0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_8063338
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80633D0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80633B0
-
- thumb_func_start sub_80633D0
-sub_80633D0: @ 80633D0
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _080633E2
- movs r0, 0
- b _080633E8
-_080633E2:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_080633E8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80633D0
-
- thumb_func_start sub_80633F0
-sub_80633F0: @ 80633F0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_8063338
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063410
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80633F0
-
- thumb_func_start sub_8063410
-sub_8063410: @ 8063410
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08063422
- movs r0, 0
- b _08063428
-_08063422:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063428:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063410
-
- thumb_func_start sub_8063430
-sub_8063430: @ 8063430
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- movs r3, 0x1
- bl sub_8063338
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8063450
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8063430
-
- thumb_func_start sub_8063450
-sub_8063450: @ 8063450
- push {r4,lr}
- adds r4, r1, 0
- bl npc_obj_ministep_stop_on_arrival
- lsls r0, 24
- cmp r0, 0
- bne _08063462
- movs r0, 0
- b _08063468
-_08063462:
- movs r0, 0x2
- strh r0, [r4, 0x32]
- movs r0, 0x1
-_08063468:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8063450
-
- thumb_func_start sub_8063470
-sub_8063470: @ 8063470
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8063470
-
- thumb_func_start sub_8063474
-sub_8063474: @ 8063474
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8063474
-
- thumb_func_start npc_obj_transfer_image_anim_pause_flag
-npc_obj_transfer_image_anim_pause_flag: @ 8063484
- push {lr}
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- cmp r0, 0
- bge _0806349A
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_0806349A:
- pop {r0}
- bx r0
- thumb_func_end npc_obj_transfer_image_anim_pause_flag
-
- thumb_func_start sub_80634A0
-sub_80634A0: @ 80634A0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r3, [r4, 0x1]
- lsls r0, r3, 28
- cmp r0, 0
- bge _080634C8
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- movs r1, 0x9
- negs r1, r1
- ands r0, r1
- strb r0, [r4, 0x1]
-_080634C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80634A0
-
- thumb_func_start sub_80634D0
-sub_80634D0: @ 80634D0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80634E8
- adds r0, r4, 0
- adds r1, r5, 0
- bl npc_update_obj_anim_flag
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80634D0
-
- thumb_func_start sub_80634E8
-sub_80634E8: @ 80634E8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r5, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- adds r6, r0, 0
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806354C
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r2, _08063544 @ =gSpriteCoordOffsetX
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r2, _08063548 @ =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- b _08063574
- .align 2, 0
-_08063544: .4byte gSpriteCoordOffsetX
-_08063548: .4byte gSpriteCoordOffsetY
-_0806354C:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
-_08063574:
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r6, 0x8]
- adds r0, r3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r6, 0xA]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _0806359C
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080635A4
-_0806359C:
- ldrb r0, [r5, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r5, 0x1]
-_080635A4:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _080635B8
- lsls r0, r4, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080635C0
-_080635B8:
- ldrb r0, [r5, 0x1]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r5, 0x1]
-_080635C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80634E8
-
- thumb_func_start npc_update_obj_anim_flag
-npc_update_obj_anim_flag: @ 80635C8
- push {lr}
- adds r2, r1, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x5
- negs r3, r3
- ands r3, r1
- strb r3, [r2]
- ldrb r1, [r0, 0x1]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _080635EA
- movs r1, 0x4
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_080635EA:
- pop {r0}
- bx r0
- thumb_func_end npc_update_obj_anim_flag
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_specials.s b/asm/field_specials.s
index 63677b6a0..136489b80 100644
--- a/asm/field_specials.s
+++ b/asm/field_specials.s
@@ -3086,7 +3086,7 @@ _0810F17A:
ands r0, r1
cmp r0, 0
beq _0810F1AE
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r0, _0810F1F0 @ =gScriptResult
ldr r1, _0810F1E8 @ =gUnknown_0203925B
ldrb r1, [r1]
@@ -3107,7 +3107,7 @@ _0810F1AE:
ands r0, r1
cmp r0, 0
beq _0810F1DE
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r1, _0810F1F0 @ =gScriptResult
movs r0, 0x7F
strh r0, [r1]
diff --git a/asm/fldeff_80C5CD4.s b/asm/fldeff_80C5CD4.s
index 25ede5738..33182fc6a 100644
--- a/asm/fldeff_80C5CD4.s
+++ b/asm/fldeff_80C5CD4.s
@@ -814,7 +814,7 @@ SetUpFieldMove_SecretPower: @ 80C62C4
cmp r0, 0x1
bne _080C6330
bl sub_80C6264
- ldr r1, _080C6320 @ =gUnknown_0300485C
+ ldr r1, _080C6320 @ =gFieldCallback
ldr r0, _080C6324 @ =sub_808AB90
str r0, [r1]
ldr r1, _080C6328 @ =gUnknown_03005CE4
@@ -823,7 +823,7 @@ SetUpFieldMove_SecretPower: @ 80C62C4
.align 2, 0
_080C6318: .4byte gScriptResult
_080C631C: .4byte gUnknown_0203923C
-_080C6320: .4byte gUnknown_0300485C
+_080C6320: .4byte gFieldCallback
_080C6324: .4byte sub_808AB90
_080C6328: .4byte gUnknown_03005CE4
_080C632C: .4byte sub_80C639C
@@ -835,14 +835,14 @@ _080C6330:
cmp r0, 0x1
bne _080C6360
bl sub_80C6264
- ldr r1, _080C6350 @ =gUnknown_0300485C
+ ldr r1, _080C6350 @ =gFieldCallback
ldr r0, _080C6354 @ =sub_808AB90
str r0, [r1]
ldr r1, _080C6358 @ =gUnknown_03005CE4
ldr r0, _080C635C @ =sub_80C64A8
b _080C6380
.align 2, 0
-_080C6350: .4byte gUnknown_0300485C
+_080C6350: .4byte gFieldCallback
_080C6354: .4byte sub_808AB90
_080C6358: .4byte gUnknown_03005CE4
_080C635C: .4byte sub_80C64A8
@@ -858,7 +858,7 @@ _080C636E:
b _080C6384
_080C6372:
bl sub_80C6264
- ldr r1, _080C638C @ =gUnknown_0300485C
+ ldr r1, _080C638C @ =gFieldCallback
ldr r0, _080C6390 @ =sub_808AB90
str r0, [r1]
ldr r1, _080C6394 @ =gUnknown_03005CE4
@@ -871,7 +871,7 @@ _080C6384:
pop {r1}
bx r1
.align 2, 0
-_080C638C: .4byte gUnknown_0300485C
+_080C638C: .4byte gFieldCallback
_080C6390: .4byte sub_808AB90
_080C6394: .4byte gUnknown_03005CE4
_080C6398: .4byte sub_80C660C
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s
index c14e9057d..dcd485d9f 100644
--- a/asm/fldeff_flash.s
+++ b/asm/fldeff_flash.s
@@ -18,7 +18,7 @@ SetUpFieldMove_Flash: @ 810CBB4
lsls r0, 24
cmp r0, 0
bne _0810CBF4
- ldr r1, _0810CBE4 @ =gUnknown_0300485C
+ ldr r1, _0810CBE4 @ =gFieldCallback
ldr r0, _0810CBE8 @ =sub_808AB90
str r0, [r1]
ldr r1, _0810CBEC @ =gUnknown_03005CE4
@@ -29,7 +29,7 @@ SetUpFieldMove_Flash: @ 810CBB4
.align 2, 0
_0810CBDC: .4byte gMapHeader
_0810CBE0: .4byte 0x00000828
-_0810CBE4: .4byte gUnknown_0300485C
+_0810CBE4: .4byte gFieldCallback
_0810CBE8: .4byte sub_808AB90
_0810CBEC: .4byte gUnknown_03005CE4
_0810CBF0: .4byte sub_810CBFC
diff --git a/asm/item_menu.s b/asm/item_menu.s
index 7463663d8..b76f24ccf 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -812,13 +812,13 @@ sub_80A37C0: @ 80A37C0
ldr r0, _080A37F4 @ =sub_80A50C8
str r0, [r1]
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x2
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x3
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
pop {r0}
bx r0
.align 2, 0
@@ -3784,13 +3784,13 @@ sub_80A4E8C: @ 80A4E8C
movs r1, 0x1
bl sub_80F979C
movs r0, 0
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x2
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x3
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
ldr r5, _080A4F04 @ =gBGTilemapBuffers + 0x1000
lsls r4, 24
asrs r4, 24
@@ -5786,7 +5786,7 @@ sub_80A5EA0: @ 80A5EA0
bl sub_80A5DA0
ldr r1, _080A5EF4 @ =gUnknown_083C16F4
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
b _080A5F0C
.align 2, 0
_080A5EE8: .4byte gMain
@@ -6302,7 +6302,7 @@ sub_80A631C: @ 80A631C
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _080A6344 @ =gUnknown_0300485C
+ ldr r2, _080A6344 @ =gFieldCallback
ldr r1, _080A6348 @ =sub_80B3050
str r1, [r2]
ldr r2, _080A634C @ =gTasks
@@ -6318,7 +6318,7 @@ sub_80A631C: @ 80A631C
pop {r0}
bx r0
.align 2, 0
-_080A6344: .4byte gUnknown_0300485C
+_080A6344: .4byte gFieldCallback
_080A6348: .4byte sub_80B3050
_080A634C: .4byte gTasks
_080A6350: .4byte c2_exit_to_overworld_2_switch
@@ -6695,7 +6695,7 @@ sub_80A6650: @ 80A6650
bl sub_80A5D78
ldr r1, _080A666C @ =gUnknown_083C16FC
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
@@ -7202,8 +7202,8 @@ sub_80A6A4C: @ 80A6A4C
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, _080A6A74 @ =gUnknown_0300485C
- ldr r1, _080A6A78 @ =sub_813A0F8
+ ldr r2, _080A6A74 @ =gFieldCallback
+ ldr r1, _080A6A78 @ =ItemStorage_ReturnToMenuAfterDeposit
str r1, [r2]
ldr r2, _080A6A7C @ =gTasks
lsls r1, r0, 2
@@ -7218,8 +7218,8 @@ sub_80A6A4C: @ 80A6A4C
pop {r0}
bx r0
.align 2, 0
-_080A6A74: .4byte gUnknown_0300485C
-_080A6A78: .4byte sub_813A0F8
+_080A6A74: .4byte gFieldCallback
+_080A6A78: .4byte ItemStorage_ReturnToMenuAfterDeposit
_080A6A7C: .4byte gTasks
_080A6A80: .4byte c2_exit_to_overworld_2_switch
thumb_func_end sub_80A6A4C
@@ -8369,7 +8369,7 @@ sub_80A73F0: @ 80A73F0
thumb_func_start sub_80A73FC
sub_80A73FC: @ 80A73FC
push {lr}
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
bl sub_814AD44
pop {r0}
bx r0
diff --git a/asm/learn_move.s b/asm/learn_move.s
index 84d244fe8..fdf650a08 100644
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -51,7 +51,7 @@ sub_813269C: @ 813269C
bne _081326C0
ldr r0, _081326CC @ =sub_81326D8
bl SetMainCallback2
- ldr r1, _081326D0 @ =gUnknown_0300485C
+ ldr r1, _081326D0 @ =gFieldCallback
ldr r0, _081326D4 @ =sub_8080990
str r0, [r1]
adds r0, r4, 0
@@ -63,7 +63,7 @@ _081326C0:
.align 2, 0
_081326C8: .4byte gPaletteFade
_081326CC: .4byte sub_81326D8
-_081326D0: .4byte gUnknown_0300485C
+_081326D0: .4byte gFieldCallback
_081326D4: .4byte sub_8080990
thumb_func_end sub_813269C
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
index 90d97e9a4..726de6fc1 100644
--- a/asm/mauville_old_man.s
+++ b/asm/mauville_old_man.s
@@ -1410,7 +1410,7 @@ _080F8840:
ldr r0, _080F8870 @ =gUnknown_03000748
strb r4, [r0]
_080F8848:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x19
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
index f10070110..0f5caf3da 100644
--- a/asm/menu_helpers.s
+++ b/asm/menu_helpers.s
@@ -161,8 +161,8 @@ _080F9140:
_080F9148: .4byte gUnknown_020388C4
thumb_func_end Task_CallYesOrNoCallback
- thumb_func_start sub_80F914C
-sub_80F914C: @ 80F914C
+ thumb_func_start DoYesNoFuncWithChoice
+DoYesNoFuncWithChoice: @ 80F914C
lsls r0, 24
lsrs r0, 24
ldr r3, _080F916C @ =gUnknown_020388C4
@@ -182,7 +182,7 @@ sub_80F914C: @ 80F914C
_080F916C: .4byte gUnknown_020388C4
_080F9170: .4byte gTasks
_080F9174: .4byte Task_CallYesOrNoCallback
- thumb_func_end sub_80F914C
+ thumb_func_end DoYesNoFuncWithChoice
thumb_func_start brm_trade_1
brm_trade_1: @ 80F9178
@@ -1207,8 +1207,8 @@ _080F98D4: .4byte gSprites
_080F98D8: .4byte SpriteCallbackDummy
thumb_func_end sub_80F98A4
- thumb_func_start sub_80F98DC
-sub_80F98DC: @ 80F98DC
+ thumb_func_start StartVerticalScrollIndicators
+StartVerticalScrollIndicators: @ 80F98DC
push {lr}
lsls r0, 24
lsrs r1, r0, 24
@@ -1235,7 +1235,7 @@ _080F9902:
_080F9908: .4byte gUnknown_020388C0
_080F990C: .4byte gSprites
_080F9910: .4byte sub_80F9834
- thumb_func_end sub_80F98DC
+ thumb_func_end StartVerticalScrollIndicators
thumb_func_start sub_80F9914
sub_80F9914: @ 80F9914
@@ -1284,8 +1284,8 @@ _080F9964: .4byte gUnknown_020388C0
_080F9968: .4byte gSprites
thumb_func_end sub_80F9914
- thumb_func_start sub_80F996C
-sub_80F996C: @ 80F996C
+ thumb_func_start PauseVerticalScrollIndicator
+PauseVerticalScrollIndicator: @ 80F996C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -1297,7 +1297,7 @@ sub_80F996C: @ 80F996C
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_80F996C
+ thumb_func_end PauseVerticalScrollIndicator
thumb_func_start sub_80F9988
sub_80F9988: @ 80F9988
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
index 28bc116a9..caab4e299 100644
--- a/asm/mon_markings.s
+++ b/asm/mon_markings.s
@@ -246,7 +246,7 @@ _080F7434:
lsrs r3, r0, 16
cmp r3, 0x3
bls _080F7434
- bl sub_814A7FC
+ bl DestroyMenuCursor
lsls r0, r5, 16
asrs r0, 16
lsls r1, r6, 16
@@ -322,7 +322,7 @@ _080F74C8:
lsrs r4, r0, 16
cmp r4, 0x3
bls _080F74C8
- bl sub_814A7FC
+ bl DestroyMenuCursor
ldr r0, [r5]
ldr r0, [r0, 0x24]
cmp r0, 0
diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s
index 93abd97bc..02b6a0a48 100644
--- a/asm/mystery_event_script.s
+++ b/asm/mystery_event_script.s
@@ -667,10 +667,10 @@ _0812668C:
lsrs r4, 16
adds r0, r4, 0
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
adds r0, r4, 0
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
_081266C6:
adds r0, r7, 0
movs r1, 0xC
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 053d8b8b0..8a7c153b9 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -7423,7 +7423,7 @@ sub_806E7D0: @ 806E7D0
lsls r3, 24
lsrs r3, 24
bl MenuZeroFillWindowRect
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
add sp, 0x4
pop {r4-r6}
pop {r0}
diff --git a/asm/player_pc.s b/asm/player_pc.s
deleted file mode 100644
index 5e2adb775..000000000
--- a/asm/player_pc.s
+++ /dev/null
@@ -1,1298 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813AD58
-sub_813AD58: @ 813AD58
- push {lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _0813AD74 @ =0xffff0009
- adds r0, r1, r2
- cmp r0, 0x8
- bhi _0813ADE8
- lsls r0, 2
- ldr r1, _0813AD78 @ =_0813AD7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813AD74: .4byte 0xffff0009
-_0813AD78: .4byte _0813AD7C
- .align 2, 0
-_0813AD7C:
- .4byte _0813ADE0
- .4byte _0813ADD8
- .4byte _0813ADD0
- .4byte _0813ADC8
- .4byte _0813ADC0
- .4byte _0813ADB8
- .4byte _0813ADB0
- .4byte _0813ADA8
- .4byte _0813ADA0
-_0813ADA0:
- ldr r1, _0813ADA4 @ =gMenuText_GoBackToPrev
- b _0813ADF0
- .align 2, 0
-_0813ADA4: .4byte gMenuText_GoBackToPrev
-_0813ADA8:
- ldr r1, _0813ADAC @ =gOtherText_HowManyToWithdraw
- b _0813ADF0
- .align 2, 0
-_0813ADAC: .4byte gOtherText_HowManyToWithdraw
-_0813ADB0:
- ldr r1, _0813ADB4 @ =gOtherText_WithdrewThing
- b _0813ADF0
- .align 2, 0
-_0813ADB4: .4byte gOtherText_WithdrewThing
-_0813ADB8:
- ldr r1, _0813ADBC @ =gOtherText_HowManyToToss
- b _0813ADF0
- .align 2, 0
-_0813ADBC: .4byte gOtherText_HowManyToToss
-_0813ADC0:
- ldr r1, _0813ADC4 @ =gOtherText_ThrewAwayItem
- b _0813ADF0
- .align 2, 0
-_0813ADC4: .4byte gOtherText_ThrewAwayItem
-_0813ADC8:
- ldr r1, _0813ADCC @ =gOtherText_NoMoreRoom
- b _0813ADF0
- .align 2, 0
-_0813ADCC: .4byte gOtherText_NoMoreRoom
-_0813ADD0:
- ldr r1, _0813ADD4 @ =gOtherText_TooImportant
- b _0813ADF0
- .align 2, 0
-_0813ADD4: .4byte gOtherText_TooImportant
-_0813ADD8:
- ldr r1, _0813ADDC @ =gOtherText_OkayToThrowAwayPrompt
- b _0813ADF0
- .align 2, 0
-_0813ADDC: .4byte gOtherText_OkayToThrowAwayPrompt
-_0813ADE0:
- ldr r1, _0813ADE4 @ =gOtherText_SwitchWhichItem
- b _0813ADF0
- .align 2, 0
-_0813ADE4: .4byte gOtherText_SwitchWhichItem
-_0813ADE8:
- adds r0, r1, 0
- bl ItemId_GetDescription
- adds r1, r0, 0
-_0813ADF0:
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r1, 0
- movs r1, 0x8
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_813AD58
-
- thumb_func_start sub_813AE0C
-sub_813AE0C: @ 813AE0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _0813AE48 @ =gTasks + 0x8
- adds r4, r1, r2
- ldrh r1, [r4]
- ldrh r2, [r4, 0x2]
- adds r1, r2
- lsls r1, 16
- lsrs r5, r1, 16
- bl sub_813ABE8
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0813AE62
- lsls r0, r5, 16
- asrs r1, r0, 16
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0813AE50
- ldr r0, _0813AE4C @ =0x0000ffff
- bl sub_813AD58
- b _0813AE62
- .align 2, 0
-_0813AE48: .4byte gTasks + 0x8
-_0813AE4C: .4byte 0x0000ffff
-_0813AE50:
- ldr r0, _0813AE68 @ =gSaveBlock1
- lsls r1, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- bl sub_813AD58
-_0813AE62:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AE68: .4byte gSaveBlock1
- thumb_func_end sub_813AE0C
-
- thumb_func_start sub_813AE6C
-sub_813AE6C: @ 813AE6C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- ldr r0, _0813AEF8 @ =gTasks + 0x8
- adds r5, r0
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- bl sub_813AF04
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r0, 0
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x3
- bl MenuDrawTextWindow
- ldr r0, _0813AEFC @ =gSaveBlock1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_813AD58
- ldr r0, _0813AF00 @ =gUnknown_084062C0
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- adds r0, r6, 0
- bl sub_813ABE8
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813AEF8: .4byte gTasks + 0x8
-_0813AEFC: .4byte gSaveBlock1
-_0813AF00: .4byte gUnknown_084062C0
- thumb_func_end sub_813AE6C
-
- thumb_func_start sub_813AF04
-sub_813AF04: @ 813AF04
- push {lr}
- sub sp, 0x8
- ldr r1, _0813AF38 @ =gUnknown_08406334
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r0, sp, 0x4
- movs r1, 0xDF
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0813AF38: .4byte gUnknown_08406334
- thumb_func_end sub_813AF04
-
- thumb_func_start sub_813AF3C
-sub_813AF3C: @ 813AF3C
- push {r4,lr}
- movs r2, 0
- movs r1, 0x6
- ldr r4, _0813AF70 @ =gSaveBlock1
- ldr r3, _0813AF74 @ =0x00002b6c
-_0813AF46:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _0813AF5C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0813AF5C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0813AF46
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0813AF70: .4byte gSaveBlock1
-_0813AF74: .4byte 0x00002b6c
- thumb_func_end sub_813AF3C
-
- thumb_func_start sub_813AF78
-sub_813AF78: @ 813AF78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r2, 0x6
-_0813AF86:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r3, r0, 24
- mov r10, r1
- cmp r3, 0xF
- bhi _0813AFF4
- ldr r0, _0813B010 @ =gSaveBlock1
- mov r12, r0
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- add r0, r12
- ldr r1, _0813B014 @ =0x00002b6c
- adds r1, r0
- mov r8, r1
- ldr r2, _0813B018 @ =0x00002b4c
- mov r9, r2
- adds r4, r0, r2
-_0813AFAA:
- mov r5, r8
- ldrh r0, [r5]
- cmp r0, 0
- bne _0813AFEA
- mov r1, sp
- adds r0, r4, 0
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 2
- add r2, r12
- add r2, r9
- adds r1, r4, 0
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- mov r0, sp
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r6,r7}
- stm r2!, {r1,r6,r7}
- ldm r0!, {r5-r7}
- stm r2!, {r5-r7}
-_0813AFEA:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _0813AFAA
-_0813AFF4:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _0813AF86
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B010: .4byte gSaveBlock1
-_0813B014: .4byte 0x00002b6c
-_0813B018: .4byte 0x00002b4c
- thumb_func_end sub_813AF78
-
- thumb_func_start sub_813B01C
-sub_813B01C: @ 813B01C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r1, _0813B0B8 @ =0x0201fe00
- ldrb r4, [r1, 0x2]
- ldrb r0, [r1, 0x1]
- adds r0, r4, r0
- cmp r4, r0
- bge _0813B08A
- adds r6, r1, 0
- ldr r0, _0813B0BC @ =gStringVar1
- mov r8, r0
-_0813B036:
- ldrb r0, [r6, 0x2]
- subs r0, r4, r0
- lsls r0, 17
- lsrs r7, r0, 16
- adds r0, r7, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, r7, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x15
- adds r1, r5, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldrb r0, [r6, 0x3]
- cmp r4, r0
- beq _0813B0C4
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, _0813B0C0 @ =gSaveBlock1 + 0x2C36
- adds r1, r0
- mov r0, r8
- bl StringCopy
- mov r0, r8
- bl SanitizeNameString
- mov r0, r8
- movs r1, 0x15
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6, 0x2]
- ldrb r1, [r6, 0x1]
- adds r0, r1
- cmp r4, r0
- blt _0813B036
-_0813B08A:
- ldr r5, _0813B0B8 @ =0x0201fe00
- ldrb r0, [r5, 0x2]
- subs r0, r4, r0
- cmp r0, 0x8
- beq _0813B0A4
- adds r1, r7, 0x4
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x15
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
-_0813B0A4:
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _0813B0D4
- movs r0, 0
- movs r1, 0xC8
- movs r2, 0x8
- bl CreateVerticalScrollIndicators
- b _0813B0DA
- .align 2, 0
-_0813B0B8: .4byte 0x0201fe00
-_0813B0BC: .4byte gStringVar1
-_0813B0C0: .4byte gSaveBlock1 + 0x2C36
-_0813B0C4:
- ldr r0, _0813B0D0 @ =gOtherText_CancelNoTerminator
- movs r1, 0x15
- adds r2, r5, 0
- bl MenuPrint
- b _0813B08A
- .align 2, 0
-_0813B0D0: .4byte gOtherText_CancelNoTerminator
-_0813B0D4:
- movs r0, 0
- bl DestroyVerticalScrollIndicator
-_0813B0DA:
- ldr r0, _0813B0F4 @ =0x0201fe00
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0, 0x1]
- adds r1, r2
- ldrb r0, [r0, 0x3]
- cmp r1, r0
- bgt _0813B0F8
- movs r0, 0x1
- movs r1, 0xC8
- movs r2, 0x98
- bl CreateVerticalScrollIndicators
- b _0813B0FE
- .align 2, 0
-_0813B0F4: .4byte 0x0201fe00
-_0813B0F8:
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
-_0813B0FE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813B01C
-
- thumb_func_start sub_813B108
-sub_813B108: @ 813B108
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80F944C
- bl LoadScrollIndicatorPalette
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0
- movs r2, 0x8
- movs r3, 0x3
- bl MenuDrawTextWindow
- ldr r0, _0813B16C @ =gPCText_Mailbox
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- movs r0, 0x14
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r4, 0
- bl sub_813B01C
- ldr r0, _0813B170 @ =0x0201fe00
- ldrb r3, [r0, 0x1]
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x15
- movs r2, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B16C: .4byte gPCText_Mailbox
-_0813B170: .4byte 0x0201fe00
- thumb_func_end sub_813B108
-
- thumb_func_start sub_813B174
-sub_813B174: @ 813B174
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r0, _0813B1AC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0813B274
- ldr r2, _0813B1B0 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813B1CA
- ldr r4, _0813B1B4 @ =0x0201fe00
- ldrb r0, [r4]
- cmp r0, 0
- beq _0813B1B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _0813B1E6
- .align 2, 0
-_0813B1AC: .4byte gPaletteFade
-_0813B1B0: .4byte gMain
-_0813B1B4: .4byte 0x0201fe00
-_0813B1B8:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _0813B274
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x2]
- subs r0, 0x1
- b _0813B208
-_0813B1CA:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0813B212
- ldr r4, _0813B1F0 @ =0x0201fe00
- ldrb r1, [r4]
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- cmp r1, r0
- beq _0813B1F4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_0813B1E6:
- bl MoveMenuCursor
- strb r0, [r4]
- b _0813B274
- .align 2, 0
-_0813B1F0: .4byte 0x0201fe00
-_0813B1F4:
- ldrb r0, [r4, 0x2]
- adds r0, r1
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- beq _0813B274
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x2]
- adds r0, 0x1
-_0813B208:
- strb r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_813B01C
- b _0813B274
-_0813B212:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813B25C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0813B23C @ =0x0201fe00
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x3]
- cmp r1, r0
- bne _0813B240
- adds r0, r5, 0
- bl sub_813B320
- b _0813B274
- .align 2, 0
-_0813B23C: .4byte 0x0201fe00
-_0813B240:
- bl sub_813B27C
- ldr r0, _0813B254 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B258 @ =sub_813B294
- str r0, [r1]
- b _0813B274
- .align 2, 0
-_0813B254: .4byte gTasks
-_0813B258: .4byte sub_813B294
-_0813B25C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813B274
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_813B320
-_0813B274:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813B174
-
- thumb_func_start sub_813B27C
-sub_813B27C: @ 813B27C
- push {lr}
- bl BuyMenuFreeMemory
- movs r0, 0
- bl DestroyVerticalScrollIndicator
- movs r0, 0x1
- bl DestroyVerticalScrollIndicator
- pop {r0}
- bx r0
- thumb_func_end sub_813B27C
-
- thumb_func_start sub_813B294
-sub_813B294: @ 813B294
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r4, _0813B2E8 @ =gStringVar1
- ldr r1, _0813B2EC @ =0x0201fe00
- ldrb r0, [r1]
- adds r0, 0x6
- ldrb r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0813B2F0 @ =gSaveBlock1 + 0x2B5E
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- bl SanitizeNameString
- ldr r4, _0813B2F4 @ =gStringVar4
- ldr r1, _0813B2F8 @ =gOtherText_WhatWillYouDoMail
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _0813B2FC @ =sub_813B348
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B2E8: .4byte gStringVar1
-_0813B2EC: .4byte 0x0201fe00
-_0813B2F0: .4byte gSaveBlock1 + 0x2B5E
-_0813B2F4: .4byte gStringVar4
-_0813B2F8: .4byte gOtherText_WhatWillYouDoMail
-_0813B2FC: .4byte sub_813B348
- thumb_func_end sub_813B294
-
- thumb_func_start sub_813B300
-sub_813B300: @ 813B300
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl ReshowPlayerPC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B300
-
- thumb_func_start sub_813B320
-sub_813B320: @ 813B320
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_813B27C
- ldr r1, _0813B340 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B344 @ =sub_813B300
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B340: .4byte gTasks
-_0813B344: .4byte sub_813B300
- thumb_func_end sub_813B320
-
- thumb_func_start sub_813B348
-sub_813B348: @ 813B348
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _0813B394 @ =gUnknown_084062F8
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- ldr r1, _0813B398 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B39C @ =sub_813B3A0
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B394: .4byte gUnknown_084062F8
-_0813B398: .4byte gTasks
-_0813B39C: .4byte sub_813B3A0
- thumb_func_end sub_813B348
-
- thumb_func_start sub_813B3A0
-sub_813B3A0: @ 813B3A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _0813B3C4 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0813B3C8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _0813B420
- .align 2, 0
-_0813B3C4: .4byte gMain
-_0813B3C8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0813B3DE
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _0813B420
-_0813B3DE:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813B40C
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0813B408 @ =gUnknown_084062F8
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _0813B420
- .align 2, 0
-_0813B408: .4byte gUnknown_084062F8
-_0813B40C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813B420
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl Mailbox_Cancel
-_0813B420:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813B3A0
-
- thumb_func_start Mailbox_Read
-Mailbox_Read: @ 813B428
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _0813B44C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B450 @ =sub_813B454
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B44C: .4byte gTasks
-_0813B450: .4byte sub_813B454
- thumb_func_end Mailbox_Read
-
- thumb_func_start sub_813B454
-sub_813B454: @ 813B454
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813B490 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813B488
- ldr r0, _0813B494 @ =0x0201fe00
- ldrb r1, [r0]
- adds r1, 0x6
- ldrb r0, [r0, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0813B498 @ =gSaveBlock1 + 0x2B4C
- adds r0, r1
- ldr r1, _0813B49C @ =sub_813B4F0
- movs r2, 0x1
- bl HandleReadMail
- adds r0, r4, 0
- bl DestroyTask
-_0813B488:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B490: .4byte gPaletteFade
-_0813B494: .4byte 0x0201fe00
-_0813B498: .4byte gSaveBlock1 + 0x2B4C
-_0813B49C: .4byte sub_813B4F0
- thumb_func_end sub_813B454
-
- thumb_func_start sub_813B4A0
-sub_813B4A0: @ 813B4A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813B4C0
- ldr r0, _0813B4C8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B4CC @ =sub_813B174
- str r0, [r1]
-_0813B4C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B4C8: .4byte gTasks
-_0813B4CC: .4byte sub_813B174
- thumb_func_end sub_813B4A0
-
- thumb_func_start sub_813B4D0
-sub_813B4D0: @ 813B4D0
- push {lr}
- ldr r0, _0813B4EC @ =sub_813B4A0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_813B108
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0813B4EC: .4byte sub_813B4A0
- thumb_func_end sub_813B4D0
-
- thumb_func_start sub_813B4F0
-sub_813B4F0: @ 813B4F0
- push {lr}
- ldr r0, _0813B504 @ =gUnknown_0300485C
- ldr r1, _0813B508 @ =sub_813B4D0
- str r1, [r0]
- ldr r0, _0813B50C @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0813B504: .4byte gUnknown_0300485C
-_0813B508: .4byte sub_813B4D0
-_0813B50C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_813B4F0
-
- thumb_func_start Mailbox_MoveToBag
-Mailbox_MoveToBag: @ 813B510
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- ldr r0, _0813B540 @ =gStringVar1
- ldr r1, _0813B544 @ =gOtherText_MoveToBag
- bl StringCopy
- ldr r0, _0813B548 @ =gUnknown_0840633A
- movs r1, 0x1
- movs r2, 0x3
- bl MenuPrint
- ldr r1, _0813B54C @ =gOtherText_MessageWillBeLost
- ldr r2, _0813B550 @ =sub_813B554
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B540: .4byte gStringVar1
-_0813B544: .4byte gOtherText_MoveToBag
-_0813B548: .4byte gUnknown_0840633A
-_0813B54C: .4byte gOtherText_MessageWillBeLost
-_0813B550: .4byte sub_813B554
- thumb_func_end Mailbox_MoveToBag
-
- thumb_func_start sub_813B554
-sub_813B554: @ 813B554
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0813B574 @ =gUnknown_084062E8
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B574: .4byte gUnknown_084062E8
- thumb_func_end sub_813B554
-
- thumb_func_start sub_813B578
-sub_813B578: @ 813B578
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0813B5BC @ =0x0201fe00
- ldrb r0, [r4]
- adds r0, 0x6
- ldrb r1, [r4, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0813B5C0 @ =gSaveBlock1 + 0x2B4C
- adds r6, r1, r0
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldrh r0, [r6, 0x20]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _0813B5CC
- ldr r1, _0813B5C4 @ =gOtherText_BagIsFull
- ldr r2, _0813B5C8 @ =sub_813B758
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _0813B602
- .align 2, 0
-_0813B5BC: .4byte 0x0201fe00
-_0813B5C0: .4byte gSaveBlock1 + 0x2B4C
-_0813B5C4: .4byte gOtherText_BagIsFull
-_0813B5C8: .4byte sub_813B758
-_0813B5CC:
- ldr r1, _0813B608 @ =gOtherText_MailWasReturned
- ldr r2, _0813B60C @ =sub_813B758
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- adds r0, r6, 0
- bl ClearMailStruct
- bl sub_813AF78
- ldrb r0, [r4, 0x3]
- subs r0, 0x1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- ldrb r2, [r4, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0813B5FC
- cmp r2, 0
- beq _0813B5FC
- subs r0, r2, 0x1
- strb r0, [r4, 0x2]
-_0813B5FC:
- adds r0, r5, 0
- bl sub_813A240
-_0813B602:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B608: .4byte gOtherText_MailWasReturned
-_0813B60C: .4byte sub_813B758
- thumb_func_end sub_813B578
-
- thumb_func_start sub_813B610
-sub_813B610: @ 813B610
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_813B758
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813B610
-
- thumb_func_start Mailbox_Give
-Mailbox_Give: @ 813B630
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _0813B648
- adds r0, r4, 0
- bl sub_813B718
- b _0813B65E
-_0813B648:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _0813B664 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0813B668 @ =sub_813B66C
- str r0, [r1]
-_0813B65E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B664: .4byte gTasks
-_0813B668: .4byte sub_813B66C
- thumb_func_end Mailbox_Give
-
- thumb_func_start sub_813B66C
-sub_813B66C: @ 813B66C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0813B698 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813B690
- ldr r0, _0813B69C @ =sub_808B020
- bl SetMainCallback2
- ldr r1, _0813B6A0 @ =gUnknown_02038561
- movs r0, 0x3
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_0813B690:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B698: .4byte gPaletteFade
-_0813B69C: .4byte sub_808B020
-_0813B6A0: .4byte gUnknown_02038561
- thumb_func_end sub_813B66C
-
- thumb_func_start sub_813B6A4
-sub_813B6A4: @ 813B6A4
- push {r4-r6,lr}
- ldr r0, _0813B6F0 @ =sub_813B4A0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _0813B6F4 @ =0x0201fe00
- ldrb r4, [r5, 0x3]
- bl sub_813AF3C
- strb r0, [r5, 0x3]
- bl sub_813AF78
- ldrb r0, [r5, 0x3]
- cmp r4, r0
- beq _0813B6DA
- ldrb r1, [r5, 0x3]
- ldrb r0, [r5, 0x1]
- ldrb r2, [r5, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0813B6DA
- cmp r2, 0
- beq _0813B6DA
- subs r0, r2, 0x1
- strb r0, [r5, 0x2]
-_0813B6DA:
- adds r0, r6, 0
- bl sub_813A240
- adds r0, r6, 0
- bl sub_813B108
- bl pal_fill_black
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B6F0: .4byte sub_813B4A0
-_0813B6F4: .4byte 0x0201fe00
- thumb_func_end sub_813B6A4
-
- thumb_func_start sub_813B6F8
-sub_813B6F8: @ 813B6F8
- push {lr}
- ldr r0, _0813B70C @ =gUnknown_0300485C
- ldr r1, _0813B710 @ =sub_813B6A4
- str r1, [r0]
- ldr r0, _0813B714 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0813B70C: .4byte gUnknown_0300485C
-_0813B710: .4byte sub_813B6A4
-_0813B714: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_813B6F8
-
- thumb_func_start sub_813B718
-sub_813B718: @ 813B718
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0813B72C @ =gOtherText_NoPokemon
- ldr r2, _0813B730 @ =sub_813B758
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .align 2, 0
-_0813B72C: .4byte gOtherText_NoPokemon
-_0813B730: .4byte sub_813B758
- thumb_func_end sub_813B718
-
- thumb_func_start Mailbox_Cancel
-Mailbox_Cancel: @ 813B734
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_813B758
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Mailbox_Cancel
-
- thumb_func_start sub_813B758
-sub_813B758: @ 813B758
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_813B108
- ldr r1, _0813B77C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0813B780 @ =sub_813B174
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0813B77C: .4byte gTasks
-_0813B780: .4byte sub_813B174
- thumb_func_end sub_813B758
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeblock.s b/asm/pokeblock.s
index 44ac16b7e..74da210b0 100644
--- a/asm/pokeblock.s
+++ b/asm/pokeblock.s
@@ -1539,7 +1539,7 @@ sub_810C2C8: @ 810C2C8
ldrb r0, [r4]
cmp r0, 0x3
bne _0810C2E8
- ldr r1, _0810C310 @ =gUnknown_0300485C
+ ldr r1, _0810C310 @ =gFieldCallback
ldr r0, _0810C314 @ =sub_8080990
str r0, [r1]
_0810C2E8:
@@ -1559,7 +1559,7 @@ _0810C300:
.align 2, 0
_0810C308: .4byte gPaletteFade
_0810C30C: .4byte gUnknown_02039244
-_0810C310: .4byte gUnknown_0300485C
+_0810C310: .4byte gFieldCallback
_0810C314: .4byte sub_8080990
_0810C318: .4byte gUnknown_083F7EA8
thumb_func_end sub_810C2C8
@@ -1830,7 +1830,7 @@ sub_810C540: @ 810C540
lsrs r5, 24
ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50
bl BasicInitMenuWindow
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x7
movs r1, 0x4
movs r2, 0xD
@@ -1912,7 +1912,7 @@ sub_810C5EC: @ 810C5EC
bl DisplayYesNoMenu
ldr r1, _0810C60C @ =gUnknown_083F7F24
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
@@ -1965,9 +1965,9 @@ sub_810C668: @ 810C668
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
ldr r2, _0810C6CC @ =gUnknown_02039248
ldrb r0, [r2, 0x2]
ldrb r1, [r2, 0x3]
@@ -2075,10 +2075,10 @@ sub_810C748: @ 810C748
lsls r4, 24
lsrs r4, 24
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
- bl sub_8072DEC
+ bl StartVerticalScrollIndicators
+ bl HandleDestroyMenuCursors
movs r0, 0x7
movs r1, 0x4
movs r2, 0xD
diff --git a/asm/pokedex.s b/asm/pokedex.s
deleted file mode 100644
index 8fd971840..000000000
--- a/asm/pokedex.s
+++ /dev/null
@@ -1,5294 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8090750
-sub_8090750: @ 8090750
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08090778 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r6, [r0, 0xA]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x6
- bhi _0809079C
- lsls r0, 2
- ldr r1, _0809077C @ =_08090780
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08090778: .4byte gTasks
-_0809077C: .4byte _08090780
- .align 2, 0
-_08090780:
- .4byte _0809079C
- .4byte _080907E0
- .4byte _0809085C
- .4byte _080908A0
- .4byte _08090960
- .4byte _080909B8
- .4byte _080909F4
-_0809079C:
- ldr r0, _080907D0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080907AA
- b _08090A26
-_080907AA:
- ldr r1, _080907D4 @ =gUnknown_03005CEC
- ldr r0, _080907D8 @ =gMain
- ldr r0, [r0, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 1
- bl sub_8091060
- ldr r1, _080907DC @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _08090A26
- .align 2, 0
-_080907D0: .4byte gPaletteFade
-_080907D4: .4byte gUnknown_03005CEC
-_080907D8: .4byte gMain
-_080907DC: .4byte gTasks
-_080907E0:
- ldr r0, _08090840 @ =gPokedexMenu_Gfx
- ldr r1, _08090844 @ =0x06004000
- bl LZ77UnCompVram
- ldr r0, _08090848 @ =gUnknown_08E96BD4
- ldr r4, _0809084C @ =0x06007800
- adds r1, r4, 0
- bl LZ77UnCompVram
- movs r2, 0
- lsls r5, r7, 2
- mov r12, r5
- movs r0, 0x80
- lsls r0, 6
- adds r6, r0, 0
- ldr r3, _08090850 @ =0x0000027f
-_08090800:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r5, [r0]
- adds r1, r6, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08090800
- ldr r0, _08090854 @ =gTasks
- mov r1, r12
- adds r4, r1, r7
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- movs r2, 0xFF
- lsls r2, 2
- movs r1, 0x2
- bl sub_8091738
- bl ResetPaletteFade
- ldr r0, _08090858 @ =gPokedexMenu_Pal + 0x2
- movs r1, 0x21
- movs r2, 0x9E
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08090A26
- .align 2, 0
-_08090840: .4byte gPokedexMenu_Gfx
-_08090844: .4byte 0x06004000
-_08090848: .4byte gUnknown_08E96BD4
-_0809084C: .4byte 0x06007800
-_08090850: .4byte 0x0000027f
-_08090854: .4byte gTasks
-_08090858: .4byte gPokedexMenu_Pal + 0x2
-_0809085C:
- ldr r4, _0809088C @ =gWindowConfig_81E7064
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r2, _08090890 @ =0x0600c000
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08090894 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08090898 @ =0x81000100
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r1, _0809089C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- b _080909E0
- .align 2, 0
-_0809088C: .4byte gWindowConfig_81E7064
-_08090890: .4byte 0x0600c000
-_08090894: .4byte 0x040000d4
-_08090898: .4byte 0x81000100
-_0809089C: .4byte gTasks
-_080908A0:
- ldr r0, _080908C8 @ =gDexText_RegisterComplete
- movs r1, 0x2
- movs r2, 0
- movs r3, 0xD0
- bl sub_8072BD8
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080908CC
- adds r0, r6, 0
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
- b _080908D6
- .align 2, 0
-_080908C8: .4byte gDexText_RegisterComplete
-_080908CC:
- adds r0, r6, 0
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
-_080908D6:
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x3
- bl sub_80911C8
- ldr r0, _0809094C @ =gDexText_UnknownPoke
- movs r1, 0xB
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _08090950 @ =gDexText_UnknownHeight
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- ldr r0, _08090954 @ =gDexText_UnknownWeight
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
- lsls r4, r6, 3
- adds r4, r6
- lsls r4, 2
- ldr r6, _08090958 @ =gPokedexEntries
- adds r5, r4, r6
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0x5
- bl sub_8091304
- ldrh r0, [r5, 0xC]
- movs r1, 0x10
- movs r2, 0x7
- bl sub_8091458
- ldrh r0, [r5, 0xE]
- movs r1, 0x10
- movs r2, 0x9
- bl sub_8091564
- adds r6, 0x10
- adds r4, r6
- ldr r0, [r4]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- movs r1, 0xFF
- lsls r1, 2
- movs r0, 0xE
- bl sub_80917CC
- ldr r1, _0809095C @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- b _080909E0
- .align 2, 0
-_0809094C: .4byte gDexText_UnknownPoke
-_08090950: .4byte gDexText_UnknownHeight
-_08090954: .4byte gDexText_UnknownWeight
-_08090958: .4byte gPokedexEntries
-_0809095C: .4byte gTasks
-_08090960:
- adds r0, r6, 0
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80918EC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080909AC @ =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080909B0 @ =gUnknown_03005CEC
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, _080909B4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0xE]
- b _080909E0
- .align 2, 0
-_080909AC: .4byte gSprites
-_080909B0: .4byte gUnknown_03005CEC
-_080909B4: .4byte gTasks
-_080909B8:
- ldr r0, _080909E8 @ =REG_BLDCNT
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080909EC @ =REG_BG3CNT
- ldr r2, _080909F0 @ =0x00000f07
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r5, 0xE2
- lsls r5, 5
- adds r0, r5, 0
- strh r0, [r1]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
-_080909E0:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08090A26
- .align 2, 0
-_080909E8: .4byte REG_BLDCNT
-_080909EC: .4byte REG_BG3CNT
-_080909F0: .4byte 0x00000f07
-_080909F4:
- ldr r0, _08090A30 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08090A26
- adds r0, r6, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- ldr r1, _08090A34 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xC]
- strh r5, [r0, 0x10]
- ldr r1, _08090A38 @ =sub_8090A3C
- str r1, [r0]
-_08090A26:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A30: .4byte gPaletteFade
-_08090A34: .4byte gTasks
-_08090A38: .4byte sub_8090A3C
- thumb_func_end sub_8090750
-
- thumb_func_start sub_8090A3C
-sub_8090A3C: @ 8090A3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08090A8C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08090AA4
- ldr r0, _08090A90 @ =0x0000fffc
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r3, _08090A94 @ =gSprites
- ldr r0, _08090A98 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r2, _08090A9C @ =sub_8090C28
- str r2, [r0]
- ldr r0, _08090AA0 @ =sub_8090B8C
- str r0, [r1]
- b _08090B7A
- .align 2, 0
-_08090A8C: .4byte gMain
-_08090A90: .4byte 0x0000fffc
-_08090A94: .4byte gSprites
-_08090A98: .4byte gTasks
-_08090A9C: .4byte sub_8090C28
-_08090AA0: .4byte sub_8090B8C
-_08090AA4:
- movs r0, 0x1
- mov r8, r0
- ands r0, r1
- lsls r7, r6, 2
- cmp r0, 0
- beq _08090B44
- ldr r0, _08090B00 @ =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r5, r1, r0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08090B0C
- ldrh r4, [r5, 0xA]
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _08090B04 @ =gPokedexEntries
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, 0x14
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r1, _08090B08 @ =0x06007aca
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- strh r0, [r5, 0x10]
- movs r0, 0x15
- bl PlaySE
- b _08090B44
- .align 2, 0
-_08090B00: .4byte gTasks
-_08090B04: .4byte gPokedexEntries
-_08090B08: .4byte 0x06007aca
-_08090B0C:
- ldr r0, _08090B34 @ =0x0000fffc
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, _08090B38 @ =gSprites
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08090B3C @ =sub_8090C28
- str r1, [r0]
- ldr r0, _08090B40 @ =sub_8090B8C
- str r0, [r5]
- b _08090B7A
- .align 2, 0
-_08090B34: .4byte 0x0000fffc
-_08090B38: .4byte gSprites
-_08090B3C: .4byte sub_8090C28
-_08090B40: .4byte sub_8090B8C
-_08090B44:
- ldr r1, _08090B68 @ =gTasks
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- adds r1, 0x1
- strh r1, [r0, 0xC]
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- beq _08090B70
- ldr r0, _08090B6C @ =gPokedexMenu_Pal + 0x2
- movs r1, 0x51
- movs r2, 0xE
- bl LoadPalette
- b _08090B7A
- .align 2, 0
-_08090B68: .4byte gTasks
-_08090B6C: .4byte gPokedexMenu_Pal + 0x2
-_08090B70:
- ldr r0, _08090B88 @ =gPokedexMenu2_Pal + 0x2
- movs r1, 0x51
- movs r2, 0xE
- bl LoadPalette
-_08090B7A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090B88: .4byte gPokedexMenu2_Pal + 0x2
- thumb_func_end sub_8090A3C
-
- thumb_func_start sub_8090B8C
-sub_8090B8C: @ 8090B8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08090C14 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08090C0C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xCA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08090C18 @ =gUnknown_08D00524
- ldr r1, _08090C1C @ =0x0600c000
- movs r2, 0x80
- lsls r2, 4
- bl CpuSet
- bl sub_800D74C
- ldr r0, _08090C20 @ =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x22]
- lsls r1, 16
- ldrh r2, [r4, 0x20]
- orrs r1, r2
- ldrh r2, [r4, 0x26]
- lsls r2, 16
- ldrh r3, [r4, 0x24]
- orrs r2, r3
- ldr r5, _08090C24 @ =gSprites
- movs r3, 0xE
- ldrsh r4, [r4, r3]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r3, 0x5]
- lsrs r4, 4
- bl species_and_otid_get_pal
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r4, r1
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- bl DestroyTask
-_08090C0C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090C14: .4byte gPaletteFade
-_08090C18: .4byte gUnknown_08D00524
-_08090C1C: .4byte 0x0600c000
-_08090C20: .4byte gTasks
-_08090C24: .4byte gSprites
- thumb_func_end sub_8090B8C
-
- thumb_func_start sub_8090C28
-sub_8090C28: @ 8090C28
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _08090C3A
- adds r0, r2, 0x2
- strh r0, [r1, 0x20]
-_08090C3A:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _08090C48
- subs r0, r2, 0x2
- strh r0, [r1, 0x20]
-_08090C48:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x4F
- bgt _08090C56
- adds r0, r2, 0x1
- strh r0, [r1, 0x22]
-_08090C56:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x50
- ble _08090C64
- subs r0, r2, 0x1
- strh r0, [r1, 0x22]
-_08090C64:
- pop {r0}
- bx r0
- thumb_func_end sub_8090C28
-
- thumb_func_start sub_8090C68
-sub_8090C68: @ 8090C68
- push {r4,r5,lr}
- ldr r4, _08090CD0 @ =gUnknown_0202FFBC
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08090D2A
- ldr r5, _08090CD4 @ =gPokedexView
- ldr r0, [r5]
- ldr r1, _08090CD8 @ =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08090CE4
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08090CDC @ =gPokedexEntries
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, [r5]
- ldr r1, _08090CD8 @ =0x0000064e
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08090CE0 @ =0x06007aca
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x15
- bl PlaySE
- b _08090D2A
- .align 2, 0
-_08090CD0: .4byte gUnknown_0202FFBC
-_08090CD4: .4byte gPokedexView
-_08090CD8: .4byte 0x0000064e
-_08090CDC: .4byte gPokedexEntries
-_08090CE0: .4byte 0x06007aca
-_08090CE4:
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08090D30 @ =gPokedexEntries
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, 0x10
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, [r5]
- ldr r1, _08090D34 @ =0x0000064e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, _08090D38 @ =0x06007aca
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0x15
- bl PlaySE
-_08090D2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090D30: .4byte gPokedexEntries
-_08090D34: .4byte 0x0000064e
-_08090D38: .4byte 0x06007aca
- thumb_func_end sub_8090C68
-
- thumb_func_start GetPokemonCategory
-GetPokemonCategory: @ 8090D3C
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08090D50 @ =gPokedexEntries
- adds r0, r1
- bx lr
- .align 2, 0
-_08090D50: .4byte gPokedexEntries
- thumb_func_end GetPokemonCategory
-
- thumb_func_start GetPokedexHeightWeight
-GetPokedexHeightWeight: @ 8090D54
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _08090D6A
- cmp r1, 0x1
- beq _08090D7C
- movs r0, 0x1
- b _08090D88
-_08090D6A:
- ldr r0, _08090D78 @ =gPokedexEntries
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _08090D88
- .align 2, 0
-_08090D78: .4byte gPokedexEntries
-_08090D7C:
- ldr r0, _08090D8C @ =gPokedexEntries
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0xE]
-_08090D88:
- pop {r1}
- bx r1
- .align 2, 0
-_08090D8C: .4byte gPokedexEntries
- thumb_func_end GetPokedexHeightWeight
-
- thumb_func_start sub_8090D90
-sub_8090D90: @ 8090D90
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- adds r3, r2, 0
- ldr r1, _08090DC4 @ =0xffff0000
- adds r0, r1
- lsrs r1, r0, 16
- lsrs r0, 19
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r5, r0, 24
- movs r6, 0
- cmp r2, 0x1
- beq _08090E24
- cmp r2, 0x1
- bgt _08090DC8
- cmp r2, 0
- beq _08090DD4
- b _08090F0A
- .align 2, 0
-_08090DC4: .4byte 0xffff0000
-_08090DC8:
- cmp r3, 0x2
- beq _08090EBC
- cmp r3, 0x3
- bne _08090DD2
- b _08090EFC
-_08090DD2:
- b _08090F0A
-_08090DD4:
- ldr r1, _08090E14 @ =gSaveBlock2
- adds r0, r1, 0
- adds r0, 0x5C
- adds r0, r4, r0
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- bne _08090DE8
- b _08090F0A
-_08090DE8:
- ldr r0, _08090E18 @ =gSaveBlock1
- ldr r3, _08090E1C @ =0x00000938
- adds r1, r0, r3
- adds r1, r4, r1
- ldrb r1, [r1]
- ands r1, r5
- adds r6, r0, 0
- cmp r2, r1
- bne _08090E08
- ldr r1, _08090E20 @ =0x00003a8c
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- beq _08090E62
-_08090E08:
- adds r1, r7, 0
- adds r1, 0x5C
- adds r1, r4, r1
- mvns r3, r5
- b _08090E8E
- .align 2, 0
-_08090E14: .4byte gSaveBlock2
-_08090E18: .4byte gSaveBlock1
-_08090E1C: .4byte 0x00000938
-_08090E20: .4byte 0x00003a8c
-_08090E24:
- ldr r1, _08090E68 @ =gSaveBlock2
- adds r0, r1, 0
- adds r0, 0x28
- adds r0, r4, r0
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- beq _08090F0A
- adds r0, r7, 0
- adds r0, 0x5C
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- ldr r6, _08090E6C @ =gSaveBlock1
- cmp r2, r0
- bne _08090E78
- ldr r3, _08090E70 @ =0x00000938
- adds r0, r6, r3
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _08090E78
- ldr r1, _08090E74 @ =0x00003a8c
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _08090E78
-_08090E62:
- movs r6, 0x1
- b _08090F0A
- .align 2, 0
-_08090E68: .4byte gSaveBlock2
-_08090E6C: .4byte gSaveBlock1
-_08090E70: .4byte 0x00000938
-_08090E74: .4byte 0x00003a8c
-_08090E78:
- adds r1, r7, 0
- adds r1, 0x28
- adds r1, r4, r1
- mvns r3, r5
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- adds r1, r7, 0
- adds r1, 0x5C
- adds r1, r4, r1
-_08090E8E:
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r0, _08090EB4 @ =0x00000938
- adds r1, r6, r0
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _08090EB8 @ =0x00003a8c
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- movs r6, 0
- b _08090F0A
- .align 2, 0
-_08090EB4: .4byte 0x00000938
-_08090EB8: .4byte 0x00003a8c
-_08090EBC:
- ldr r1, _08090EEC @ =gSaveBlock2
- adds r1, 0x5C
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r1, _08090EF0 @ =gSaveBlock1
- ldr r3, _08090EF4 @ =0x00000938
- adds r2, r1, r3
- adds r2, r4, r2
- ldrb r3, [r2]
- adds r0, r5, 0
- orrs r0, r3
- strb r0, [r2]
- ldr r0, _08090EF8 @ =0x00003a8c
- adds r1, r0
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- b _08090F0A
- .align 2, 0
-_08090EEC: .4byte gSaveBlock2
-_08090EF0: .4byte gSaveBlock1
-_08090EF4: .4byte 0x00000938
-_08090EF8: .4byte 0x00003a8c
-_08090EFC:
- ldr r0, _08090F14 @ =gSaveBlock2
- adds r0, 0x28
- adds r0, r4, r0
- ldrb r2, [r0]
- adds r1, r5, 0
- orrs r1, r2
- strb r1, [r0]
-_08090F0A:
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08090F14: .4byte gSaveBlock2
- thumb_func_end sub_8090D90
-
- thumb_func_start GetNationalPokedexCount
-GetNationalPokedexCount: @ 8090F18
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r7, _08090F30 @ =0x00000181
-_08090F24:
- cmp r6, 0
- beq _08090F34
- cmp r6, 0x1
- beq _08090F3E
- adds r4, r0, 0x1
- b _08090F56
- .align 2, 0
-_08090F30: .4byte 0x00000181
-_08090F34:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _08090F46
-_08090F3E:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_08090F46:
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08090F56
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08090F56:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, r7
- bls _08090F24
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetNationalPokedexCount
-
- thumb_func_start GetHoennPokedexCount
-GetHoennPokedexCount: @ 8090F68
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_08090F72:
- cmp r6, 0
- beq _08090F7E
- cmp r6, 0x1
- beq _08090F90
- adds r4, r0, 0x1
- b _08090FB0
-_08090F7E:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- b _08090FA0
-_08090F90:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
-_08090FA0:
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08090FB0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08090FB0:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bls _08090F72
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GetHoennPokedexCount
-
- thumb_func_start sub_8090FC0
-sub_8090FC0: @ 8090FC0
- push {r4,lr}
- movs r0, 0
-_08090FC4:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _08090FE4
- movs r0, 0
- b _08090FEC
-_08090FE4:
- adds r0, r4, 0
- cmp r0, 0xC7
- bls _08090FC4
- movs r0, 0x1
-_08090FEC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FC0
-
- thumb_func_start sub_8090FF4
-sub_8090FF4: @ 8090FF4
- push {r4,r5,lr}
- movs r0, 0
-_08090FF8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08091046
- adds r0, r4, 0
- cmp r0, 0x95
- bls _08090FF8
- movs r0, 0x98
-_08091014:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08091046
- adds r0, r4, 0
- cmp r0, 0xF9
- bls _08091014
- movs r0, 0xFC
- ldr r5, _0809104C @ =0x0000017f
-_08091032:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _08091050
-_08091046:
- movs r0, 0
- b _08091058
- .align 2, 0
-_0809104C: .4byte 0x0000017f
-_08091050:
- adds r0, r4, 0
- cmp r0, r5
- bls _08091032
- movs r0, 0x1
-_08091058:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FF4
-
- thumb_func_start sub_8091060
-sub_8091060: @ 8091060
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- movs r0, 0x80
- lsls r0, 1
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _0809108E
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809112C @ =0x0000feff
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091130 @ =REG_BG0CNT
- strh r3, [r0]
- adds r0, 0x8
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_0809108E:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080910B4
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08091134 @ =0x0000fdff
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091138 @ =REG_BG1CNT
- strh r3, [r0]
- adds r0, 0xA
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_080910B4:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080910DA
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809113C @ =0x0000fbff
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091140 @ =REG_BG2CNT
- strh r3, [r0]
- adds r0, 0xC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_080910DA:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _08091100
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08091144 @ =0x0000f7ff
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091148 @ =REG_BG3CNT
- strh r3, [r0]
- adds r0, 0xE
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_08091100:
- movs r0, 0x80
- lsls r0, 5
- ands r5, r0
- cmp r5, 0
- bne _08091124
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809114C @ =0x0000efff
- ands r0, r1
- strh r0, [r2]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _08091150 @ =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
-_08091124:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809112C: .4byte 0x0000feff
-_08091130: .4byte REG_BG0CNT
-_08091134: .4byte 0x0000fdff
-_08091138: .4byte REG_BG1CNT
-_0809113C: .4byte 0x0000fbff
-_08091140: .4byte REG_BG2CNT
-_08091144: .4byte 0x0000f7ff
-_08091148: .4byte REG_BG3CNT
-_0809114C: .4byte 0x0000efff
-_08091150: .4byte gReservedSpritePaletteCount
- thumb_func_end sub_8091060
-
- thumb_func_start sub_8091154
-sub_8091154: @ 8091154
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- mov r0, sp
- adds r1, r6, 0
- mov r2, r8
- bl MenuPrint
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8091154
-
- thumb_func_start sub_80911C8
-sub_80911C8: @ 80911C8
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
- movs r2, 0xFF
-_080911DC:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080911DC
- adds r0, r3, 0
- bl NationalPokedexNumToSpecies
- adds r3, r0, 0
- cmp r3, 0
- beq _08091238
- movs r4, 0
- ldr r2, _08091234 @ =gSpeciesNames
- movs r0, 0xB
- adds r1, r3, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809124C
- adds r3, r2, 0
- adds r2, r1, 0
-_08091212:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809124C
- cmp r4, 0x9
- bls _08091212
- b _0809124C
- .align 2, 0
-_08091234: .4byte gSpeciesNames
-_08091238:
- movs r4, 0
- movs r1, 0xAE
-_0809123C:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0809123C
-_0809124C:
- mov r0, sp
- adds r1, r6, 0
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r4, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80911C8
-
- thumb_func_start sub_8091260
-sub_8091260: @ 8091260
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- adds r4, r3, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080912CC @ =gUnknown_083B5558
- mov r0, sp
- bl StringCopy
- adds r6, r0, 0
- mov r0, sp
- strb r4, [r0, 0x2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- adds r5, r0, 0
- cmp r5, 0
- beq _080912D4
- movs r4, 0
- ldr r2, _080912D0 @ =gSpeciesNames
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080912E6
- adds r3, r2, 0
- adds r2, r1, 0
-_080912AC:
- adds r1, r6, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080912E6
- cmp r4, 0x9
- bls _080912AC
- b _080912E6
- .align 2, 0
-_080912CC: .4byte gUnknown_083B5558
-_080912D0: .4byte gSpeciesNames
-_080912D4:
- movs r4, 0
- movs r1, 0xAE
-_080912D8:
- adds r0, r6, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080912D8
-_080912E6:
- adds r1, r6, r4
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r8
- adds r2, r7, 0
- bl MenuPrint
- adds r0, r4, 0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8091260
-
- thumb_func_start sub_8091304
-sub_8091304: @ 8091304
- push {r4-r7,lr}
- sub sp, 0x20
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- lsls r2, 24
- lsrs r7, r2, 24
- movs r4, 0
- ldrb r0, [r3]
- ldr r6, _08091340 @ =gDexText_UnknownPoke
- cmp r0, 0xFF
- beq _0809133A
-_0809131E:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r3, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r3, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809133A
- cmp r4, 0xA
- bls _0809131E
-_0809133A:
- movs r3, 0
- ldrb r0, [r6]
- b _0809134E
- .align 2, 0
-_08091340: .4byte gDexText_UnknownPoke
-_08091344:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r6
- ldrb r0, [r0]
-_0809134E:
- cmp r0, 0xAC
- beq _08091344
- cmp r0, 0
- beq _08091344
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08091388
- adds r5, r6, 0
-_08091366:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- adds r2, r0, r1
- adds r1, r3, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r1, r5
- ldrb r0, [r1]
- strb r0, [r2]
- adds r0, r3, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08091366
-_08091388:
- mov r0, sp
- adds r1, r0, r4
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r12
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_8072B80
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091304
-
- thumb_func_start unref_sub_80913A4
-unref_sub_80913A4: @ 80913A4
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r5, 0
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080913CE
- mov r0, sp
- strb r5, [r0]
- b _080913D6
-_080913CE:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x1
-_080913D6:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080913FC
- cmp r5, 0
- bne _080913FC
- mov r0, sp
- strb r5, [r0, 0x1]
- b _08091402
-_080913FC:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1, 0x1]
-_08091402:
- mov r5, sp
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xAD
- strb r0, [r1, 0x3]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- adds r1, r7, 0
- adds r2, r6, 0
- bl MenuPrint
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80913A4
-
- thumb_func_start sub_8091458
-sub_8091458: @ 8091458
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, _080914D4 @ =0x00002710
- muls r0, r1
- movs r1, 0xFE
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _0809148A
- adds r7, 0xA
-_0809148A:
- adds r0, r7, 0
- movs r1, 0x78
- bl __udivsi3
- adds r6, r0, 0
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 3
- subs r0, r7, r0
- movs r1, 0xA
- bl __udivsi3
- adds r7, r0, 0
- mov r1, sp
- movs r0, 0xFC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x13
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- cmp r2, 0
- bne _080914D8
- mov r1, sp
- adds r1, 0x2
- movs r0, 0x12
- strb r0, [r1]
- movs r5, 0x4
- adds r1, 0x1
- adds r0, r6, 0
- adds r0, 0xA1
- strb r0, [r1]
- b _080914F8
- .align 2, 0
-_080914D4: .4byte 0x00002710
-_080914D8:
- mov r1, sp
- adds r1, 0x2
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x5
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
-_080914F8:
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- add r1, sp
- movs r0, 0xB4
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- mov r0, sp
- adds r4, r0, r2
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, sp
- adds r4, r1, r6
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r2, r1, r5
- movs r1, 0xB2
- strb r1, [r2]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r9
- mov r2, r8
- bl MenuPrint
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091458
-
- thumb_func_start sub_8091564
-sub_8091564: @ 8091564
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- ldr r7, _080915BC @ =0x000186a0
- muls r0, r7
- ldr r1, _080915C0 @ =0x000011b8
- bl __divsi3
- adds r6, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _08091598
- adds r6, 0xA
-_08091598:
- movs r5, 0
- mov r4, sp
- adds r0, r6, 0
- adds r1, r7, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080915C4
- mov r0, sp
- strb r5, [r0]
- movs r7, 0x2
- adds r0, 0x1
- strb r5, [r0]
- b _080915C8
- .align 2, 0
-_080915BC: .4byte 0x000186a0
-_080915C0: .4byte 0x000011b8
-_080915C4:
- movs r5, 0x1
- movs r7, 0x1
-_080915C8:
- ldr r1, _0809160C @ =0x000186a0
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r0, sp
- adds r4, r0, r7
- ldr r1, _08091610 @ =0x00002710
- adds r0, r6, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08091614
- cmp r5, 0
- bne _08091614
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r3, sp
- adds r0, r3, r1
- strb r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r3, r2
- strb r5, [r0]
- b _0809161C
- .align 2, 0
-_0809160C: .4byte 0x000186a0
-_08091610: .4byte 0x00002710
-_08091614:
- movs r5, 0x1
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0809161C:
- ldr r1, _08091660 @ =0x00002710
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r0, sp
- adds r4, r0, r7
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r6, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08091664
- cmp r5, 0
- bne _08091664
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r3, sp
- adds r0, r3, r1
- strb r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r3, r2
- strb r5, [r0]
- b _0809166A
- .align 2, 0
-_08091660: .4byte 0x00002710
-_08091664:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0809166A:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r5, r7, 0
- mov r0, sp
- adds r4, r0, r1
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- movs r1, 0
- mov r9, r1
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- adds r6, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r7, 0
- mov r2, sp
- adds r0, r2, r5
- movs r3, 0xAD
- mov r8, r3
- mov r2, r8
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r5, r7, 0
- mov r3, sp
- adds r4, r3, r1
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r7, 0
- mov r2, sp
- adds r0, r2, r5
- mov r3, r9
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- add r1, sp
- movs r0, 0xE0
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r3, r7, 0
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0xD6
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r0, sp
- adds r1, r0, r3
- movs r0, 0xE7
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r3, sp
- adds r1, r3, r2
- mov r2, r8
- strb r2, [r1]
- adds r1, r3, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r10
- ldr r2, [sp, 0x10]
- bl MenuPrint
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091564
-
- thumb_func_start sub_8091738
-sub_8091738: @ 8091738
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080917C8 @ =gMonFootprintTable
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 14
- adds r0, r6
- ldr r0, [r0]
- mov r12, r0
- movs r7, 0
- movs r1, 0
- lsls r4, 14
- mov r8, r4
- lsls r5, 5
-_0809176A:
- mov r2, r12
- adds r0, r2, r1
- ldrb r3, [r0]
- movs r6, 0
- adds r4, r1, 0x1
-_08091774:
- lsls r1, r6, 1
- adds r2, r3, 0
- asrs r2, r1
- movs r0, 0x1
- ands r2, r0
- movs r0, 0x2
- lsls r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0809178C
- movs r0, 0x10
- orrs r2, r0
-_0809178C:
- mov r1, sp
- adds r0, r1, r7
- strb r2, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08091774
- lsls r0, r4, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _0809176A
- movs r1, 0xC0
- lsls r1, 19
- adds r1, r5, r1
- add r1, r8
- mov r0, sp
- movs r2, 0x40
- bl CpuSet
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080917C8: .4byte gMonFootprintTable
- thumb_func_end sub_8091738
-
- thumb_func_start sub_80917CC
-sub_80917CC: @ 80917CC
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r0, 5
- ldr r2, _08091808 @ =0x06000232
- adds r3, r0, r2
- movs r4, 0xF0
- lsls r4, 8
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _0809180C @ =0x06000234
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _08091810 @ =0x06000272
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _08091814 @ =0x06000274
- adds r0, r2
- adds r4, 0x1
- adds r1, r4
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091808: .4byte 0x06000232
-_0809180C: .4byte 0x06000234
-_08091810: .4byte 0x06000272
-_08091814: .4byte 0x06000274
- thumb_func_end sub_80917CC
-
- thumb_func_start sub_8091818
-sub_8091818: @ 8091818
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r4, 0x1
- beq _08091844
- cmp r4, 0x1
- bgt _0809183A
- cmp r4, 0
- beq _0809184C
- b _0809186C
-_0809183A:
- cmp r5, 0x2
- beq _0809185E
- cmp r5, 0x3
- beq _08091852
- b _0809186C
-_08091844:
- cmp r0, r2
- bls _0809186C
- subs r0, 0x1
- b _08091864
-_0809184C:
- cmp r0, r3
- bcs _0809186C
- b _08091862
-_08091852:
- cmp r0, r2
- bls _0809185A
- subs r0, 0x1
- b _08091864
-_0809185A:
- adds r0, r3, 0
- b _0809186C
-_0809185E:
- cmp r0, r3
- bcs _0809186A
-_08091862:
- adds r0, 0x1
-_08091864:
- lsls r0, 16
- lsrs r0, 16
- b _0809186C
-_0809186A:
- adds r0, r2, 0
-_0809186C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091818
-
- thumb_func_start nullsub_59
-nullsub_59: @ 8091874
- bx lr
- thumb_func_end nullsub_59
-
- thumb_func_start sub_8091878
-sub_8091878: @ 8091878
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _080918A0 @ =gUnknown_02024E8C
- adds r3, r4, 0
- ldr r2, _080918A4 @ =gUnknown_083B57A4
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _080918A8 @ =gUnknown_083B5794
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _080918AC @ =gSpriteAnimTable_81E7C64
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918A0: .4byte gUnknown_02024E8C
-_080918A4: .4byte gUnknown_083B57A4
-_080918A8: .4byte gUnknown_083B5794
-_080918AC: .4byte gSpriteAnimTable_81E7C64
- thumb_func_end sub_8091878
-
- thumb_func_start sub_80918B0
-sub_80918B0: @ 80918B0
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _080918DC @ =gUnknown_02024E8C
- adds r3, r4, 0
- ldr r2, _080918E0 @ =gUnknown_083B57A4
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _080918E4 @ =gUnknown_083B5794
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _080918E8 @ =gUnknown_081EC2A4
- ldr r0, [r0]
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918DC: .4byte gUnknown_02024E8C
-_080918E0: .4byte gUnknown_083B57A4
-_080918E4: .4byte gUnknown_083B5794
-_080918E8: .4byte gUnknown_081EC2A4
- thumb_func_end sub_80918B0
-
- thumb_func_start sub_80918EC
-sub_80918EC: @ 80918EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- adds r0, r7, 0
- bl NationalPokedexNumToSpecies
- adds r7, r0, 0
- cmp r7, SPECIES_UNOWN
- beq _0809199C
- movs r0, 0x9A
- lsls r0, 1
- cmp r7, r0
- beq _08091958
- lsls r6, r7, 3
- ldr r0, _0809194C @ =gMonFrontPicTable
- adds r0, r6, r0
- ldr r1, _08091950 @ =gMonFrontPicCoords
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091954 @ =gUnknown_083B5584
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- bl DecompressPicFromTable_2
- b _080919CE
- .align 2, 0
-_0809194C: .4byte gMonFrontPicTable
-_08091950: .4byte gMonFrontPicCoords
-_08091954: .4byte gUnknown_083B5584
-_08091958:
- lsls r6, r7, 3
- ldr r0, _0809198C @ =gMonFrontPicTable
- adds r0, r6
- ldr r2, _08091990 @ =gMonFrontPicCoords
- lsls r1, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091994 @ =gUnknown_083B5584
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _08091998 @ =gSaveBlock2
- ldr r4, [r4, 0x20]
- str r4, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl LoadSpecialPokePic
- b _080919CE
- .align 2, 0
-_0809198C: .4byte gMonFrontPicTable
-_08091990: .4byte gMonFrontPicCoords
-_08091994: .4byte gUnknown_083B5584
-_08091998: .4byte gSaveBlock2
-_0809199C:
- lsls r6, r7, 3
- ldr r0, _08091A30 @ =gMonFrontPicTable
- adds r0, r6
- ldr r2, _08091A34 @ =gMonFrontPicCoords
- lsls r1, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091A38 @ =gUnknown_083B5584
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _08091A3C @ =gSaveBlock2
- ldr r4, [r4, 0x1C]
- str r4, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl LoadSpecialPokePic
-_080919CE:
- ldr r0, _08091A40 @ =gMonPaletteTable
- adds r0, r6, r0
- ldr r0, [r0]
- mov r1, r8
- lsls r4, r1, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r3, r8
- lsls r1, r3, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8091878
- ldr r0, _08091A44 @ =gUnknown_02024E8C
- mov r5, r9
- lsls r1, r5, 16
- asrs r1, 16
- mov r3, r10
- lsls r2, r3, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08091A48 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08091A30: .4byte gMonFrontPicTable
-_08091A34: .4byte gMonFrontPicCoords
-_08091A38: .4byte gUnknown_083B5584
-_08091A3C: .4byte gSaveBlock2
-_08091A40: .4byte gMonPaletteTable
-_08091A44: .4byte gUnknown_02024E8C
-_08091A48: .4byte gSprites
- thumb_func_end sub_80918EC
-
- thumb_func_start sub_8091A4C
-sub_8091A4C: @ 8091A4C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r0, r5, 3
- ldr r1, _08091AE4 @ =gTrainerFrontPicTable
- adds r0, r1
- ldr r1, _08091AE8 @ =gTrainerFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091AEC @ =gUnknown_083B5584
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- bl DecompressPicFromTable_2
- adds r0, r5, 0
- movs r1, 0
- bl sub_80918B0
- ldr r0, _08091AF0 @ =gUnknown_02024E8C
- lsls r6, 16
- asrs r6, 16
- mov r3, r8
- lsls r3, 16
- asrs r3, 16
- mov r8, r3
- adds r1, r6, 0
- mov r2, r8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08091AF4 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- mov r1, r9
- lsls r1, 4
- mov r9, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- mov r3, r9
- orrs r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091AE4: .4byte gTrainerFrontPicTable
-_08091AE8: .4byte gTrainerFrontPicCoords
-_08091AEC: .4byte gUnknown_083B5584
-_08091AF0: .4byte gUnknown_02024E8C
-_08091AF4: .4byte gSprites
- thumb_func_end sub_8091A4C
-
- thumb_func_start sub_8091AF8
-sub_8091AF8: @ 8091AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x8]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- bl SortPokedex
- movs r5, 0
- movs r6, 0
- ldr r4, _08091D08 @ =0x00000181
- ldr r3, _08091D0C @ =gPokedexView
-_08091B32:
- ldr r2, [r3]
- lsls r0, r5, 2
- adds r1, r2, r0
- ldrb r0, [r1, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _08091B4E
- lsls r0, r6, 2
- adds r0, r2, r0
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091B4E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r4
- bls _08091B32
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- adds r1, r6, 0
- strh r6, [r0]
- cmp r7, 0xFF
- beq _08091C04
- movs r5, 0
- lsls r0, r1, 16
- movs r6, 0
- cmp r0, 0
- beq _08091BFA
- lsls r7, 2
- ldr r0, _08091D14 @ =gUnknown_083B57BC
- adds r0, 0x3
- adds r0, r7, r0
- str r0, [sp, 0xC]
- ldr r0, _08091D14 @ =gUnknown_083B57BC
- adds r0, r7
- mov r9, r0
-_08091B82:
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091D18 @ =gSpeciesNames
- movs r0, 0xB
- muls r0, r2
- adds r0, r1
- ldrb r2, [r0]
- adds r3, r2, 0
- mov r0, r9
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08091BBA
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _08091D14 @ =gUnknown_083B57BC
- adds r1, 0x1
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r0, r1
- cmp r2, r0
- blt _08091BD2
-_08091BBA:
- ldr r0, _08091D14 @ =gUnknown_083B57BC
- adds r0, 0x2
- adds r0, r7, r0
- ldrb r2, [r0]
- cmp r3, r2
- bcc _08091BE6
- ldrb r1, [r0]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- adds r1, r0
- cmp r3, r1
- bge _08091BE6
-_08091BD2:
- ldr r2, _08091D0C @ =gPokedexView
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091BE6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091B82
-_08091BFA:
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_08091C04:
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- beq _08091C74
- movs r5, 0
- movs r6, 0
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091C6A
- adds r7, r1, 0
- ldr r0, _08091D1C @ =gBaseStats
- mov r8, r0
-_08091C22:
- ldr r0, [r7]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x19]
- lsls r0, 25
- lsrs r0, 25
- ldr r1, [sp, 0x4]
- cmp r1, r0
- bne _08091C58
- ldr r0, [r7]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091C58:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r7]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091C22
-_08091C6A:
- ldr r1, _08091D0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_08091C74:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- bne _08091C8A
- mov r1, r10
- cmp r1, 0xFF
- bne _08091C82
- b _08091DA6
-_08091C82:
- mov r2, r10
- str r2, [sp, 0x8]
- movs r0, 0xFF
- mov r10, r0
-_08091C8A:
- mov r1, r10
- cmp r1, 0xFF
- bne _08091D20
- movs r5, 0
- movs r6, 0
- ldr r2, _08091D0C @ =gPokedexView
- ldr r0, [r2]
- ldr r1, _08091D10 @ =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091D9C
- adds r3, r2, 0
- mov r7, sp
- mov r8, r2
-_08091CA8:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x2]
- lsls r0, 30
- cmp r0, 0
- bge _08091CF2
- ldrh r0, [r1]
- str r3, [sp, 0x10]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091D1C @ =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r3, [sp, 0x10]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- beq _08091CE0
- cmp r0, r2
- bne _08091CF2
-_08091CE0:
- ldr r0, [r3]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091CF2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08091D10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091CA8
- b _08091D9C
- .align 2, 0
-_08091D08: .4byte 0x00000181
-_08091D0C: .4byte gPokedexView
-_08091D10: .4byte 0x0000060c
-_08091D14: .4byte gUnknown_083B57BC
-_08091D18: .4byte gSpeciesNames
-_08091D1C: .4byte gBaseStats
-_08091D20:
- movs r5, 0
- movs r6, 0
- ldr r1, _08091E0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091E10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091D9C
- mov r7, sp
-_08091D34:
- ldr r0, [r1]
- lsls r1, r5, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x2]
- lsls r0, 30
- adds r4, r1, 0
- cmp r0, 0
- bge _08091D88
- ldrh r0, [r2]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091E14 @ =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bne _08091D6A
- cmp r0, r10
- beq _08091D74
-_08091D6A:
- cmp r1, r10
- bne _08091D88
- ldr r1, [sp, 0x8]
- cmp r0, r1
- bne _08091D88
-_08091D74:
- ldr r2, _08091E0C @ =gPokedexView
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091D88:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _08091E0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091E10 @ =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091D34
-_08091D9C:
- ldr r1, _08091E0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091E10 @ =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_08091DA6:
- ldr r1, _08091E0C @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08091E10 @ =0x0000060c
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _08091DFA
- adds r5, r0, 0
- ldr r0, _08091E18 @ =0x00000181
- cmp r5, r0
- bhi _08091DFA
- ldr r4, _08091E0C @ =gPokedexView
- movs r1, 0x2
- negs r1, r1
- mov r10, r1
- movs r2, 0x3
- negs r2, r2
- mov r9, r2
- mov r8, r0
- ldr r0, _08091E1C @ =0x0000ffff
- adds r7, r0, 0
-_08091DD0:
- ldr r1, [r4]
- lsls r3, r5, 2
- adds r1, r3
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r10
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bls _08091DD0
-_08091DFA:
- adds r0, r6, 0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08091E0C: .4byte gPokedexView
-_08091E10: .4byte 0x0000060c
-_08091E14: .4byte gBaseStats
-_08091E18: .4byte 0x00000181
-_08091E1C: .4byte 0x0000ffff
- thumb_func_end sub_8091AF8
-
- thumb_func_start sub_8091E20
-sub_8091E20: @ 8091E20
- push {lr}
- sub sp, 0x8
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x9
- movs r2, 0x78
- movs r3, 0xD0
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8091E20
-
- thumb_func_start sub_8091E3C
-sub_8091E3C: @ 8091E3C
- push {lr}
- ldr r0, _08091E50 @ =sub_8091E54
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08091E50: .4byte sub_8091E54
- thumb_func_end sub_8091E3C
-
- thumb_func_start sub_8091E54
-sub_8091E54: @ 8091E54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08091E78 @ =gMain
- ldr r2, _08091E7C @ =0x0000043c
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bhi _08091E98
- lsls r0, 2
- ldr r1, _08091E80 @ =_08091E84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08091E78: .4byte gMain
-_08091E7C: .4byte 0x0000043c
-_08091E80: .4byte _08091E84
- .align 2, 0
-_08091E84:
- .4byte _08091E98
- .4byte _08091F50
- .4byte _08091FC0
- .4byte _08091FE0
- .4byte _0809200C
-_08091E98:
- ldr r0, _08091F1C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08091EA6
- b _08092030
-_08091EA6:
- ldr r0, _08091F20 @ =gPokedexView
- ldr r0, [r0]
- ldr r1, _08091F24 @ =0x0000064a
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0
- bl sub_8091060
- ldr r0, _08091F28 @ =gPokedexMenuSearch_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _08091F2C @ =gUnknown_08E96D2C
- ldr r1, _08091F30 @ =0x06007800
- bl LZ77UnCompVram
- ldr r0, _08091F34 @ =gPokedexMenuSearch_Pal + 0x2
- movs r1, 0x1
- movs r2, 0x7E
- bl LoadPalette
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08091F10
- movs r4, 0
- ldr r2, _08091F38 @ =0x06007a80
- mov r8, r2
- ldr r0, _08091F3C @ =0x06007b00
- mov r12, r0
- movs r5, 0x1
- ldr r7, _08091F40 @ =0x06007ac0
- ldr r6, _08091F44 @ =0x06007b40
-_08091EEC:
- lsls r1, r4, 1
- mov r0, r8
- adds r2, r1, r0
- mov r0, r12
- adds r3, r1, r0
- ldrh r0, [r3]
- strh r0, [r2]
- adds r2, r1, r7
- adds r1, r6
- ldrh r0, [r1]
- strh r0, [r2]
- strh r5, [r3]
- strh r5, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x10
- bls _08091EEC
-_08091F10:
- ldr r0, _08091F48 @ =gMain
- ldr r1, _08091F4C @ =0x0000043c
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _08092030
- .align 2, 0
-_08091F1C: .4byte gPaletteFade
-_08091F20: .4byte gPokedexView
-_08091F24: .4byte 0x0000064a
-_08091F28: .4byte gPokedexMenuSearch_Gfx
-_08091F2C: .4byte gUnknown_08E96D2C
-_08091F30: .4byte 0x06007800
-_08091F34: .4byte gPokedexMenuSearch_Pal + 0x2
-_08091F38: .4byte 0x06007a80
-_08091F3C: .4byte 0x06007b00
-_08091F40: .4byte 0x06007ac0
-_08091F44: .4byte 0x06007b40
-_08091F48: .4byte gMain
-_08091F4C: .4byte 0x0000043c
-_08091F50:
- ldr r4, _08091FA8 @ =gWindowConfig_81E7064
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _08091FAC @ =gUnknown_083A05CC
- bl LoadCompressedObjectPic
- ldr r0, _08091FB0 @ =gUnknown_083A05DC
- bl LoadSpritePalettes
- adds r0, r5, 0
- bl sub_809308C
- movs r4, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r1, r0, 3
- ldr r3, _08091FB4 @ =gTasks + 0x8
- movs r2, 0
-_08091F7C:
- lsls r0, r4, 1
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08091F7C
- adds r0, r5, 0
- bl sub_8092EB0
- movs r0, 0
- bl sub_8092AB0
- adds r0, r5, 0
- bl sub_8092B68
- ldr r1, _08091FB8 @ =gMain
- ldr r2, _08091FBC @ =0x0000043c
- adds r1, r2
- b _08091FF6
- .align 2, 0
-_08091FA8: .4byte gWindowConfig_81E7064
-_08091FAC: .4byte gUnknown_083A05CC
-_08091FB0: .4byte gUnknown_083A05DC
-_08091FB4: .4byte gTasks + 0x8
-_08091FB8: .4byte gMain
-_08091FBC: .4byte 0x0000043c
-_08091FC0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08091FD8 @ =gMain
- ldr r0, _08091FDC @ =0x0000043c
- adds r1, r0
- b _08091FF6
- .align 2, 0
-_08091FD8: .4byte gMain
-_08091FDC: .4byte 0x0000043c
-_08091FE0:
- ldr r1, _08092000 @ =REG_BG3CNT
- ldr r2, _08092004 @ =0x00000f03
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r2, 0xE2
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08092008 @ =0x0000043c
- adds r1, r3, r0
-_08091FF6:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08092030
- .align 2, 0
-_08092000: .4byte REG_BG3CNT
-_08092004: .4byte 0x00000f03
-_08092008: .4byte 0x0000043c
-_0809200C:
- ldr r0, _0809203C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08092030
- ldr r1, _08092040 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08092044 @ =sub_809204C
- str r1, [r0]
- ldr r1, _08092048 @ =0x0000043c
- adds r0, r3, r1
- strb r2, [r0]
-_08092030:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809203C: .4byte gPaletteFade
-_08092040: .4byte gTasks
-_08092044: .4byte sub_809204C
-_08092048: .4byte 0x0000043c
- thumb_func_end sub_8091E54
-
- thumb_func_start sub_809204C
-sub_809204C: @ 809204C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08092074 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- bl sub_8092AB0
- adds r0, r5, 0
- bl sub_8092B68
- ldr r0, _08092078 @ =sub_809207C
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092074: .4byte gTasks
-_08092078: .4byte sub_809207C
- thumb_func_end sub_809204C
-
- thumb_func_start sub_809207C
-sub_809207C: @ 809207C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080920A4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080920B0
- movs r0, 0x3
- bl PlaySE
- ldr r0, _080920A8 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080920AC @ =sub_80927B8
- str r0, [r1]
- b _0809216C
- .align 2, 0
-_080920A4: .4byte gMain
-_080920A8: .4byte gTasks
-_080920AC: .4byte sub_80927B8
-_080920B0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809210C
- ldr r1, _080920D4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _080920E8
- cmp r4, 0x1
- bgt _080920D8
- cmp r4, 0
- beq _080920DE
- b _0809216C
- .align 2, 0
-_080920D4: .4byte gTasks
-_080920D8:
- cmp r4, 0x2
- beq _080920FC
- b _0809216C
-_080920DE:
- movs r0, 0x15
- bl PlaySE
- strh r4, [r5, 0xA]
- b _080920F2
-_080920E8:
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x4
- strh r0, [r5, 0xA]
-_080920F2:
- ldr r0, _080920F8 @ =sub_809217C
- str r0, [r5]
- b _0809216C
- .align 2, 0
-_080920F8: .4byte sub_809217C
-_080920FC:
- movs r0, 0x3
- bl PlaySE
- ldr r0, _08092108 @ =sub_80927B8
- str r0, [r5]
- b _0809216C
- .align 2, 0
-_08092108: .4byte sub_80927B8
-_0809210C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809213A
- ldr r0, _08092174 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _0809213A
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092AB0
-_0809213A:
- ldr r0, _08092178 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809216C
- ldr r0, _08092174 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bgt _0809216C
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092AB0
-_0809216C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092174: .4byte gTasks
-_08092178: .4byte gMain
- thumb_func_end sub_809207C
-
- thumb_func_start sub_809217C
-sub_809217C: @ 809217C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080921A8 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0xA]
- bl sub_8092AD4
- adds r0, r5, 0
- bl sub_8092B68
- ldr r0, _080921AC @ =sub_80921B0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080921A8: .4byte gTasks
-_080921AC: .4byte sub_80921B0
- thumb_func_end sub_809217C
-
- thumb_func_start sub_80921B0
-sub_80921B0: @ 80921B0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080921D8 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080921E4
- bl IsNationalPokedexEnabled
- ldr r6, _080921DC @ =gUnknown_083B586C
- cmp r0, 0
- bne _080921F0
- ldr r6, _080921E0 @ =gUnknown_083B58A4
- b _080921F0
- .align 2, 0
-_080921D8: .4byte gTasks
-_080921DC: .4byte gUnknown_083B586C
-_080921E0: .4byte gUnknown_083B58A4
-_080921E4:
- bl IsNationalPokedexEnabled
- ldr r6, _0809221C @ =gUnknown_083B5850
- cmp r0, 0
- bne _080921F0
- ldr r6, _08092220 @ =gUnknown_083B5888
-_080921F0:
- ldr r0, _08092224 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _08092230
- movs r0, 0x17
- bl PlaySE
- adds r0, r5, 0
- bl sub_8092EB0
- ldr r0, _08092228 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0809222C @ =sub_809204C
- str r0, [r1]
- b _080923EC
- .align 2, 0
-_0809221C: .4byte gUnknown_083B5850
-_08092220: .4byte gUnknown_083B5888
-_08092224: .4byte gMain
-_08092228: .4byte gTasks
-_0809222C: .4byte sub_809204C
-_08092230:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092300
- ldr r0, _080922B4 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _080922F0
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080922D4
- ldr r1, _080922B8 @ =gUnknown_0202FFBA
- movs r0, 0x40
- strb r0, [r1]
- ldr r7, _080922BC @ =gPokedexView
- ldr r1, [r7]
- ldr r0, _080922C0 @ =0x0000062a
- adds r2, r1, r0
- movs r0, 0x40
- strh r0, [r2]
- ldr r0, _080922C4 @ =gUnknown_0202FFB8
- strh r3, [r0]
- movs r2, 0xC2
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8092E10
- ldr r4, _080922C8 @ =gSaveBlock2
- strb r0, [r4, 0x19]
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08092288
- movs r0, 0
- strb r0, [r4, 0x19]
-_08092288:
- ldr r0, [r7]
- ldrb r1, [r4, 0x19]
- ldr r2, _080922CC @ =0x00000614
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8092E10
- strb r0, [r4, 0x18]
- ldr r0, [r7]
- ldrb r1, [r4, 0x18]
- movs r2, 0xC3
- lsls r2, 3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0x3
- bl PlaySE
- ldr r0, _080922D0 @ =sub_80927B8
- str r0, [r6]
- b _080923EC
- .align 2, 0
-_080922B4: .4byte gTasks
-_080922B8: .4byte gUnknown_0202FFBA
-_080922BC: .4byte gPokedexView
-_080922C0: .4byte 0x0000062a
-_080922C4: .4byte gUnknown_0202FFB8
-_080922C8: .4byte gSaveBlock2
-_080922CC: .4byte 0x00000614
-_080922D0: .4byte sub_80927B8
-_080922D4:
- ldr r0, _080922E8 @ =gDexText_Searching
- bl sub_8091E20
- ldr r0, _080922EC @ =sub_80923FC
- str r0, [r6]
- movs r0, 0x70
- bl PlaySE
- b _080923EC
- .align 2, 0
-_080922E8: .4byte gDexText_Searching
-_080922EC: .4byte sub_80923FC
-_080922F0:
- movs r0, 0x15
- bl PlaySE
- ldr r0, _080922FC @ =sub_80925CC
- str r0, [r6]
- b _080923EC
- .align 2, 0
-_080922FC: .4byte sub_80925CC
-_08092300:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08092338
- ldr r1, _080923F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08092338
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_08092338:
- ldr r0, _080923F8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08092374
- ldr r1, _080923F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _08092374
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_08092374:
- ldr r0, _080923F8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080923B0
- ldr r1, _080923F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- cmp r0, 0xFF
- beq _080923B0
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x2]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_080923B0:
- ldr r0, _080923F8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080923EC
- ldr r1, _080923F4 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- cmp r0, 0xFF
- beq _080923EC
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x3]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_080923EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080923F4: .4byte gTasks
-_080923F8: .4byte gMain
- thumb_func_end sub_80921B0
-
- thumb_func_start sub_80923FC
-sub_80923FC: @ 80923FC
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8092E10
- mov r10, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8092E10
- mov r9, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_8092E10
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8092E10
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8092E10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8092E10
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r9
- mov r2, r8
- adds r3, r6, 0
- bl sub_8091AF8
- ldr r1, _0809249C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080924A0 @ =sub_80924A4
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809249C: .4byte gTasks
-_080924A0: .4byte sub_80924A4
- thumb_func_end sub_80923FC
-
- thumb_func_start sub_80924A4
-sub_80924A4: @ 80924A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080924F6
- ldr r0, _080924D0 @ =gPokedexView
- ldr r0, [r0]
- ldr r1, _080924D4 @ =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080924DC
- movs r0, 0x1F
- bl PlaySE
- ldr r0, _080924D8 @ =gDexText_SearchComplete
- bl sub_8091E20
- b _080924E8
- .align 2, 0
-_080924D0: .4byte gPokedexView
-_080924D4: .4byte 0x0000060c
-_080924D8: .4byte gDexText_SearchComplete
-_080924DC:
- movs r0, 0x20
- bl PlaySE
- ldr r0, _080924FC @ =gDexText_NoMatching
- bl sub_8091E20
-_080924E8:
- ldr r0, _08092500 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08092504 @ =sub_8092508
- str r0, [r1]
-_080924F6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080924FC: .4byte gDexText_NoMatching
-_08092500: .4byte gTasks
-_08092504: .4byte sub_8092508
- thumb_func_end sub_80924A4
-
- thumb_func_start sub_8092508
-sub_8092508: @ 8092508
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, _08092570 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080925A4
- ldr r5, _08092574 @ =gPokedexView
- ldr r1, [r5]
- ldr r3, _08092578 @ =0x0000060c
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _08092590
- ldr r0, _0809257C @ =0x0000064f
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8092E10
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08092580 @ =0x00000612
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8092E10
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092584 @ =0x00000616
- adds r1, r3
- strh r0, [r1]
- ldr r1, _08092588 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809258C @ =sub_80927B8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080925A4
- .align 2, 0
-_08092570: .4byte gMain
-_08092574: .4byte gPokedexView
-_08092578: .4byte 0x0000060c
-_0809257C: .4byte 0x0000064f
-_08092580: .4byte 0x00000612
-_08092584: .4byte 0x00000616
-_08092588: .4byte gTasks
-_0809258C: .4byte sub_80927B8
-_08092590:
- ldr r0, _080925AC @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080925B0 @ =sub_809217C
- str r0, [r1]
- movs r0, 0x17
- bl PlaySE
-_080925A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080925AC: .4byte gTasks
-_080925B0: .4byte sub_809217C
- thumb_func_end sub_8092508
-
- thumb_func_start sub_80925B4
-sub_80925B4: @ 80925B4
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 15
- adds r1, 0x1
- lsls r1, 27
- lsrs r1, 24
- movs r0, 0x90
- bl sub_814AD7C
- pop {r0}
- bx r0
- thumb_func_end sub_80925B4
-
- thumb_func_start sub_80925CC
-sub_80925CC: @ 80925CC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_8092C8C
- ldr r2, _08092630 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r6, r1, r2
- ldrb r0, [r6, 0xA]
- adds r2, 0x8
- adds r1, r2
- ldr r2, _08092634 @ =gUnknown_083B5A7C
- lsls r0, 3
- adds r0, r2
- ldrb r5, [r0, 0x4]
- lsls r5, 1
- adds r5, r1, r5
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r6, 0x24]
- ldrh r0, [r1]
- strh r0, [r6, 0x26]
- adds r0, r4, 0
- bl sub_8092D78
- ldr r1, _08092638 @ =0x0000ffff
- ldr r3, _0809263C @ =0x00002d9f
- movs r0, 0xB
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl CreateBlendedOutlineCursor
- ldrh r0, [r5]
- movs r1, 0x1
- bl sub_80925B4
- ldr r0, _08092640 @ =sub_8092644
- str r0, [r6]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092630: .4byte gTasks
-_08092634: .4byte gUnknown_083B5A7C
-_08092638: .4byte 0x0000ffff
-_0809263C: .4byte 0x00002d9f
-_08092640: .4byte sub_8092644
- thumb_func_end sub_80925CC
-
- thumb_func_start sub_8092644
-sub_8092644: @ 8092644
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, _080926A8 @ =gTasks
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r6, r2, r3
- ldrb r1, [r6, 0xA]
- ldr r0, _080926AC @ =gUnknown_083B5A7C
- lsls r1, 3
- adds r1, r0
- ldr r0, [r1]
- mov r8, r0
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r4, r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r5, r2, r0
- ldrh r0, [r1, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080926B0 @ =gMain
- mov r12, r0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080926B4
- bl sub_814ADC8
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x1
- bl sub_8092C8C
- b _080926E0
- .align 2, 0
-_080926A8: .4byte gTasks
-_080926AC: .4byte gUnknown_083B5A7C
-_080926B0: .4byte gMain
-_080926B4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080926EC
- bl sub_814ADC8
- movs r0, 0x17
- bl PlaySE
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x1
- bl sub_8092C8C
- ldrh r0, [r6, 0x24]
- strh r0, [r4]
- ldrh r0, [r6, 0x26]
- strh r0, [r5]
-_080926E0:
- ldr r0, _080926E8 @ =sub_809217C
- str r0, [r6]
- b _080927AE
- .align 2, 0
-_080926E8: .4byte sub_809217C
-_080926EC:
- movs r3, 0
- mov r0, r12
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809274C
- ldrh r0, [r4]
- cmp r0, 0
- beq _08092716
- movs r1, 0
- bl sub_80925B4
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- b _08092734
-_08092716:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08092730
- subs r0, 0x1
- strh r0, [r5]
- adds r0, r7, 0
- bl sub_8092D78
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- movs r3, 0x1
-_08092730:
- cmp r3, 0
- beq _080927AE
-_08092734:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_8091E20
- b _080927AE
-_0809274C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080927AE
- ldrh r0, [r4]
- cmp r0, 0x4
- bhi _08092774
- cmp r0, r2
- bcs _08092774
- movs r1, 0
- bl sub_80925B4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- b _08092798
-_08092774:
- cmp r2, 0x5
- bls _08092794
- ldrh r1, [r5]
- subs r0, r2, 0x5
- cmp r1, r0
- bge _08092794
- adds r0, r1, 0x1
- strh r0, [r5]
- adds r0, r7, 0
- bl sub_8092D78
- movs r0, 0x5
- movs r1, 0x1
- bl sub_80925B4
- movs r3, 0x1
-_08092794:
- cmp r3, 0
- beq _080927AE
-_08092798:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_8091E20
-_080927AE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092644
-
- thumb_func_start sub_80927B8
-sub_80927B8: @ 80927B8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080927E8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080927EC @ =sub_80927F0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080927E8: .4byte gTasks
-_080927EC: .4byte sub_80927F0
- thumb_func_end sub_80927B8
-
- thumb_func_start sub_80927F0
-sub_80927F0: @ 80927F0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0809280C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08092808
- adds r0, r2, 0
- bl DestroyTask
-_08092808:
- pop {r0}
- bx r0
- .align 2, 0
-_0809280C: .4byte gPaletteFade
- thumb_func_end sub_80927F0
-
- thumb_func_start sub_8092810
-sub_8092810: @ 8092810
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- lsls r2, 24
- lsrs r1, r2, 24
- lsls r3, 24
- lsrs r5, r3, 8
- movs r3, 0
- cmp r5, 0
- beq _0809285A
- lsls r7, r1, 6
- ldr r6, _08092860 @ =0x00000fff
- lsls r4, r0, 12
-_08092830:
- mov r0, r12
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r7, r1
- ldr r0, _08092864 @ =0x06007800
- adds r2, r1, r0
- ldrh r0, [r2]
- ands r0, r6
- orrs r0, r4
- strh r0, [r2]
- ldr r0, _08092868 @ =0x06007840
- adds r1, r0
- ldrh r0, [r1]
- ands r0, r6
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r0, r5
- bcc _08092830
-_0809285A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092860: .4byte 0x00000fff
-_08092864: .4byte 0x06007800
-_08092868: .4byte 0x06007840
- thumb_func_end sub_8092810
-
- thumb_func_start sub_809286C
-sub_809286C: @ 809286C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- ands r5, r0
- ands r2, r0
- lsls r2, 1
- orrs r5, r2
- cmp r4, 0xA
- bhi _08092958
- lsls r0, r4, 2
- ldr r1, _08092894 @ =_08092898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092894: .4byte _08092898
- .align 2, 0
-_08092898:
- .4byte _080928C4
- .4byte _080928C4
- .4byte _080928C4
- .4byte _080928D4
- .4byte _080928D4
- .4byte _080928EC
- .4byte _080928EC
- .4byte _080928D4
- .4byte _080928D4
- .4byte _08092914
- .4byte _08092904
-_080928C4:
- ldr r1, _080928D0 @ =gUnknown_083B57E4
- lsls r0, r4, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- b _08092932
- .align 2, 0
-_080928D0: .4byte gUnknown_083B57E4
-_080928D4:
- ldr r2, _08092900 @ =gUnknown_083B57FC
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_8092810
-_080928EC:
- ldr r2, _08092900 @ =gUnknown_083B57FC
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x7]
- ldrb r2, [r0, 0x8]
- ldrb r3, [r0, 0x9]
- b _08092934
- .align 2, 0
-_08092900: .4byte gUnknown_083B57FC
-_08092904:
- ldr r0, _08092910 @ =gUnknown_083B57FC
- ldrb r1, [r0, 0x1C]
- ldrb r2, [r0, 0x1D]
- ldrb r3, [r0, 0x1E]
- b _08092934
- .align 2, 0
-_08092910: .4byte gUnknown_083B57FC
-_08092914:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _08092940
- ldr r2, _0809293C @ =gUnknown_083B57FC
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- subs r2, 0x2
- lsls r2, 24
- lsrs r2, 24
-_08092932:
- ldrb r3, [r0, 0x6]
-_08092934:
- adds r0, r5, 0
- bl sub_8092810
- b _08092958
- .align 2, 0
-_0809293C: .4byte gUnknown_083B57FC
-_08092940:
- ldr r2, _08092960 @ =gUnknown_083B57FC
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_8092810
-_08092958:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092960: .4byte gUnknown_083B57FC
- thumb_func_end sub_809286C
-
- thumb_func_start sub_8092964
-sub_8092964: @ 8092964
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080929CE
- cmp r0, 0x1
- bgt _0809297A
- cmp r0, 0
- beq _08092980
- b _08092AAC
-_0809297A:
- cmp r1, 0x2
- beq _08092A3E
- b _08092AAC
-_08092980:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0
- b _08092A1A
-_080929CE:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
-_08092A1A:
- bl sub_809286C
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- b _08092AAC
-_08092A3E:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
-_08092AAC:
- pop {r0}
- bx r0
- thumb_func_end sub_8092964
-
- thumb_func_start sub_8092AB0
-sub_8092AB0: @ 8092AB0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8092964
- ldr r0, _08092AD0 @ =gUnknown_083B57E4
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- bl sub_8091E20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092AD0: .4byte gUnknown_083B57E4
- thumb_func_end sub_8092AB0
-
- thumb_func_start sub_8092AD4
-sub_8092AD4: @ 8092AD4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8092964
- cmp r4, 0x6
- bhi _08092B4E
- lsls r0, r4, 2
- ldr r1, _08092AF0 @ =_08092AF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092AF0: .4byte _08092AF4
- .align 2, 0
-_08092AF4:
- .4byte _08092B10
- .4byte _08092B14
- .4byte _08092B18
- .4byte _08092B26
- .4byte _08092B34
- .4byte _08092B38
- .4byte _08092B44
-_08092B10:
- movs r0, 0x3
- b _08092B3A
-_08092B14:
- movs r0, 0x4
- b _08092B3A
-_08092B18:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x5
- b _08092B3A
-_08092B26:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x6
- b _08092B3A
-_08092B34:
- movs r0, 0x7
- b _08092B3A
-_08092B38:
- movs r0, 0x8
-_08092B3A:
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- b _08092B4E
-_08092B44:
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_809286C
-_08092B4E:
- ldr r0, _08092B64 @ =gUnknown_083B57FC
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_8091E20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092B64: .4byte gUnknown_083B57FC
- thumb_func_end sub_8092AD4
-
- thumb_func_start sub_8092B68
-sub_8092B68: @ 8092B68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08092C68 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- ldrh r0, [r6, 0x16]
- ldrh r1, [r6, 0x14]
- adds r0, r1
- lsls r0, 16
- ldr r7, _08092C6C @ =gStringVar1
- ldr r1, _08092C70 @ =gUnknown_083B5910
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _08092C74 @ =gUnknown_083B5AB2
- mov r8, r0
- movs r1, 0x2D
- movs r2, 0x10
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- ldrh r0, [r6, 0x1A]
- ldrh r1, [r6, 0x18]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08092C78 @ =gUnknown_083B5968
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x20
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- ldrh r0, [r6, 0x1E]
- ldrh r1, [r6, 0x1C]
- adds r0, r1
- lsls r0, 16
- ldr r4, _08092C7C @ =gUnknown_083B59C8
- lsrs r0, 13
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- ldr r5, _08092C80 @ =gUnknown_083B5AAC
- adds r0, r5, 0
- movs r1, 0x2D
- movs r2, 0x30
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- ldrh r0, [r6, 0x22]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 13
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- adds r0, r5, 0
- movs r1, 0x5D
- movs r2, 0x30
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- ldrh r0, [r6, 0x12]
- ldrh r1, [r6, 0x10]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08092C84 @ =gUnknown_083B58D8
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x40
- movs r3, 0x1
- bl MenuPrint_PixelCoords
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _08092C5E
- ldrh r0, [r6, 0xE]
- ldrh r6, [r6, 0xC]
- adds r0, r6
- lsls r0, 16
- ldr r1, _08092C88 @ =gUnknown_083B58C0
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x50
- movs r3, 0x1
- bl MenuPrint_PixelCoords
-_08092C5E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092C68: .4byte gTasks
-_08092C6C: .4byte gStringVar1
-_08092C70: .4byte gUnknown_083B5910
-_08092C74: .4byte gUnknown_083B5AB2
-_08092C78: .4byte gUnknown_083B5968
-_08092C7C: .4byte gUnknown_083B59C8
-_08092C80: .4byte gUnknown_083B5AAC
-_08092C84: .4byte gUnknown_083B58D8
-_08092C88: .4byte gUnknown_083B58C0
- thumb_func_end sub_8092B68
-
- thumb_func_start sub_8092C8C
-sub_8092C8C: @ 8092C8C
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08092D48
- ldr r1, _08092D1C @ =0x06007822
- ldr r2, _08092D20 @ =0x00000c0b
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- ldr r3, _08092D24 @ =0x06007800
- ldr r4, _08092D28 @ =0x0000080d
- adds r2, r4, 0
-_08092CA4:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092CA4
- ldr r1, _08092D2C @ =0x0600783a
- ldr r2, _08092D30 @ =0x0000080b
- adds r0, r2, 0
- strh r0, [r1]
- movs r3, 0x1
- ldr r6, _08092D24 @ =0x06007800
- movs r5, 0x2
-_08092CC2:
- lsls r2, r3, 6
- ldr r4, _08092D1C @ =0x06007822
- adds r1, r2, r4
- ldr r4, _08092D34 @ =0x0000040a
- adds r0, r4, 0
- strh r0, [r1]
- movs r1, 0x12
- adds r4, r3, 0x1
- adds r3, r2, 0
-_08092CD4:
- lsls r0, r1, 1
- adds r0, r3, r0
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092CD4
- ldr r1, _08092D2C @ =0x0600783a
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- lsls r0, r4, 16
- lsrs r3, r0, 16
- cmp r3, 0xC
- bls _08092CC2
- ldr r1, _08092D38 @ =0x06007b62
- ldr r2, _08092D3C @ =0x0000040b
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- ldr r3, _08092D40 @ =0x06007b40
- movs r2, 0xD
-_08092D04:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092D04
- ldr r1, _08092D44 @ =0x06007b7a
- movs r0, 0xB
- strh r0, [r1]
- b _08092D6E
- .align 2, 0
-_08092D1C: .4byte 0x06007822
-_08092D20: .4byte 0x00000c0b
-_08092D24: .4byte 0x06007800
-_08092D28: .4byte 0x0000080d
-_08092D2C: .4byte 0x0600783a
-_08092D30: .4byte 0x0000080b
-_08092D34: .4byte 0x0000040a
-_08092D38: .4byte 0x06007b62
-_08092D3C: .4byte 0x0000040b
-_08092D40: .4byte 0x06007b40
-_08092D44: .4byte 0x06007b7a
-_08092D48:
- movs r3, 0
- ldr r6, _08092D74 @ =0x06007800
- movs r5, 0x4F
-_08092D4E:
- movs r1, 0x11
- adds r4, r3, 0x1
- lsls r2, r3, 6
-_08092D54:
- lsls r0, r1, 1
- adds r0, r2, r0
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1D
- bls _08092D54
- lsls r0, r4, 16
- lsrs r3, r0, 16
- cmp r3, 0xD
- bls _08092D4E
-_08092D6E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092D74: .4byte 0x06007800
- thumb_func_end sub_8092C8C
-
- thumb_func_start sub_8092D78
-sub_8092D78: @ 8092D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08092DBC @ =gUnknown_083B5A7C
- ldr r3, _08092DC0 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r0, r2, r3
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- lsls r1, 3
- adds r1, r4
- ldr r6, [r1]
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r2
- mov r8, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r7, r2, r0
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r5, 0
- ldrh r4, [r7]
- b _08092DE8
- .align 2, 0
-_08092DBC: .4byte gUnknown_083B5A7C
-_08092DC0: .4byte gTasks
-_08092DC4:
- lsls r0, r4, 3
- adds r0, r6
- ldr r0, [r0, 0x4]
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x12
- bl MenuPrint
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x5
- bhi _08092DF2
-_08092DE8:
- lsls r0, r4, 3
- adds r0, r6
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _08092DC4
-_08092DF2:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7]
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r0, [r0]
- bl sub_8091E20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092D78
-
- thumb_func_start sub_8092E10
-sub_8092E10: @ 8092E10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08092E50 @ =gTasks + 0x8
- adds r1, r0
- ldr r2, _08092E54 @ =gUnknown_083B5A7C
- lsls r0, r3, 3
- adds r0, r2
- ldrb r2, [r0, 0x4]
- lsls r2, 1
- adds r2, r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x5
- bhi _08092E74
- lsls r0, r3, 2
- ldr r1, _08092E58 @ =_08092E5C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092E50: .4byte gTasks + 0x8
-_08092E54: .4byte gUnknown_083B5A7C
-_08092E58: .4byte _08092E5C
- .align 2, 0
-_08092E5C:
- .4byte _08092E88
- .4byte _08092E92
- .4byte _08092EA2
- .4byte _08092EA2
- .4byte _08092E80
- .4byte _08092E78
-_08092E74:
- movs r0, 0
- b _08092EA8
-_08092E78:
- ldr r0, _08092E7C @ =gUnknown_083B5A60
- b _08092EA4
- .align 2, 0
-_08092E7C: .4byte gUnknown_083B5A60
-_08092E80:
- ldr r0, _08092E84 @ =gUnknown_083B5A62
- b _08092EA4
- .align 2, 0
-_08092E84: .4byte gUnknown_083B5A62
-_08092E88:
- cmp r2, 0
- beq _08092E96
- lsls r0, r2, 24
- lsrs r0, 24
- b _08092EA8
-_08092E92:
- cmp r2, 0
- bne _08092E9A
-_08092E96:
- movs r0, 0xFF
- b _08092EA8
-_08092E9A:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _08092EA8
-_08092EA2:
- ldr r0, _08092EAC @ =gUnknown_083B5A68
-_08092EA4:
- adds r0, r2, r0
- ldrb r0, [r0]
-_08092EA8:
- pop {r1}
- bx r1
- .align 2, 0
-_08092EAC: .4byte gUnknown_083B5A68
- thumb_func_end sub_8092E10
-
- thumb_func_start sub_8092EB0
-sub_8092EB0: @ 8092EB0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08092ED0 @ =gPokedexView
- ldr r0, [r1]
- ldr r2, _08092ED4 @ =0x00000614
- adds r0, r2
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _08092ECA
- cmp r0, 0x1
- beq _08092ED8
-_08092ECA:
- movs r3, 0
- b _08092EDA
- .align 2, 0
-_08092ED0: .4byte gPokedexView
-_08092ED4: .4byte 0x00000614
-_08092ED8:
- movs r3, 0x1
-_08092EDA:
- ldr r1, _08092F00 @ =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bhi _08092F20
- lsls r0, 2
- ldr r1, _08092F04 @ =_08092F08
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092F00: .4byte gTasks
-_08092F04: .4byte _08092F08
- .align 2, 0
-_08092F08:
- .4byte _08092F20
- .4byte _08092F24
- .4byte _08092F28
- .4byte _08092F2C
- .4byte _08092F30
- .4byte _08092F34
-_08092F20:
- movs r3, 0
- b _08092F36
-_08092F24:
- movs r3, 0x1
- b _08092F36
-_08092F28:
- movs r3, 0x2
- b _08092F36
-_08092F2C:
- movs r3, 0x3
- b _08092F36
-_08092F30:
- movs r3, 0x4
- b _08092F36
-_08092F34:
- movs r3, 0x5
-_08092F36:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r5
- strh r3, [r0, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092EB0
-
- thumb_func_start sub_8092F44
-sub_8092F44: @ 8092F44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092F7C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, _08092F80 @ =gUnknown_083B5A7C
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _08092F84
- ldrh r0, [r1]
- cmp r0, 0
- beq _08092F84
- movs r0, 0
- b _08092F86
- .align 2, 0
-_08092F7C: .4byte gTasks
-_08092F80: .4byte gUnknown_083B5A7C
-_08092F84:
- movs r0, 0x1
-_08092F86:
- pop {r1}
- bx r1
- thumb_func_end sub_8092F44
-
- thumb_func_start sub_8092F8C
-sub_8092F8C: @ 8092F8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092FC8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, _08092FCC @ =gUnknown_083B5A7C
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _08092FD0
- ldrh r1, [r1]
- subs r0, 0x5
- cmp r1, r0
- bge _08092FD0
- movs r0, 0
- b _08092FD2
- .align 2, 0
-_08092FC8: .4byte gTasks
-_08092FCC: .4byte gUnknown_083B5A7C
-_08092FD0:
- movs r0, 0x1
-_08092FD2:
- pop {r1}
- bx r1
- thumb_func_end sub_8092F8C
-
- thumb_func_start sub_8092FD8
-sub_8092FD8: @ 8092FD8
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _08093018 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0809301C @ =sub_8092644
- cmp r1, r0
- bne _08093078
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08093020
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092F8C
- lsls r0, 24
- cmp r0, 0
- beq _0809303C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _08093048
- .align 2, 0
-_08093018: .4byte gTasks
-_0809301C: .4byte sub_8092644
-_08093020:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092F44
- lsls r0, 24
- cmp r0, 0
- beq _0809303C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _08093048
-_0809303C:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_08093048:
- strb r0, [r2]
- ldrh r2, [r4, 0x32]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 7
- adds r0, r2, r0
- lsls r0, 24
- ldr r1, _08093074 @ =gSineTable
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _08093066
- adds r0, 0x7F
-_08093066:
- asrs r0, 7
- strh r0, [r4, 0x26]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r4, 0x32]
- b _08093084
- .align 2, 0
-_08093074: .4byte gSineTable
-_08093078:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08093084:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092FD8
-
- thumb_func_start sub_809308C
-sub_809308C: @ 809308C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _08093104 @ =gSpriteTemplate_83A053C
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08093108 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r4
- movs r2, 0
- strh r5, [r0, 0x2E]
- strh r2, [r0, 0x30]
- movs r0, 0x1C
- adds r0, r4
- mov r9, r0
- add r1, r9
- ldr r0, _0809310C @ =sub_8092FD8
- mov r8, r0
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r4
- strh r5, [r4, 0x2E]
- movs r0, 0x1
- strh r0, [r4, 0x30]
- adds r4, 0x3F
- ldrb r0, [r4]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r4]
- add r1, r9
- mov r0, r8
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093104: .4byte gSpriteTemplate_83A053C
-_08093108: .4byte gSprites
-_0809310C: .4byte sub_8092FD8
- thumb_func_end sub_809308C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s
index 57bcd4904..3a1552f70 100644
--- a/asm/pokemon_menu.s
+++ b/asm/pokemon_menu.s
@@ -718,7 +718,7 @@ PokemonMenu_Switch: @ 808A02C
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r0, _0808A054 @ =0x02001000
ldr r1, _0808A058 @ =sub_806CD5C
str r1, [r0, 0xC]
@@ -849,7 +849,7 @@ PokemonMenu_Item: @ 808A140
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r1, _0808A174 @ =gUnknown_0202FFA8
movs r0, 0
strb r0, [r1]
@@ -1497,7 +1497,7 @@ PokemonMenu_TakeItem: @ 808A688
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x13
movs r1, 0
movs r2, 0x1D
@@ -1520,7 +1520,7 @@ PokemonMenu_TakeMail: @ 808A6B8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x13
movs r1, 0
movs r2, 0x1D
@@ -1543,7 +1543,7 @@ PokemonMenu_Mail: @ 808A6E8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r1, _0808A728 @ =gUnknown_0202FFA8
movs r0, 0
strb r0, [r1]
@@ -1812,7 +1812,7 @@ PokemonMenu_Cancel: @ 808A918
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x5
bl PlaySE
adds r0, r4, 0
@@ -1828,7 +1828,7 @@ PokemonMenu_CancelSubmenu: @ 808A938
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0x5
bl PlaySE
movs r0, 0x13
@@ -1867,7 +1867,7 @@ PokemonMenu_FieldMove: @ 808A984
lsls r6, r0, 3
ldr r7, _0808A9D0 @ =gTasks + 0x8
adds r4, r6, r7
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r1, _0808A9D4 @ =gUnknown_0202FFAA
ldr r0, _0808A9D8 @ =gUnknown_0202FFA8
ldrb r0, [r0]
@@ -2215,7 +2215,7 @@ SetUpFieldMove_Surf: @ 808AC48
lsrs r0, 24
cmp r0, 0x1
bne _0808AC84
- ldr r1, _0808AC74 @ =gUnknown_0300485C
+ ldr r1, _0808AC74 @ =gFieldCallback
ldr r0, _0808AC78 @ =sub_808AB90
str r0, [r1]
ldr r1, _0808AC7C @ =gUnknown_03005CE4
@@ -2224,7 +2224,7 @@ SetUpFieldMove_Surf: @ 808AC48
movs r0, 0x1
b _0808AC86
.align 2, 0
-_0808AC74: .4byte gUnknown_0300485C
+_0808AC74: .4byte gFieldCallback
_0808AC78: .4byte sub_808AB90
_0808AC7C: .4byte gUnknown_03005CE4
_0808AC80: .4byte sub_808AC2C
@@ -2258,14 +2258,14 @@ SetUpFieldMove_Fly: @ 808ACA8
lsls r0, 24
cmp r0, 0
beq _0808ACD0
- ldr r1, _0808ACC0 @ =gUnknown_0300485C
+ ldr r1, _0808ACC0 @ =gFieldCallback
ldr r0, _0808ACC4 @ =sub_808AB90
str r0, [r1]
ldr r1, _0808ACC8 @ =gUnknown_03005CE4
ldr r0, _0808ACCC @ =DoBrailleFlyEffect
b _0808ACF2
.align 2, 0
-_0808ACC0: .4byte gUnknown_0300485C
+_0808ACC0: .4byte gFieldCallback
_0808ACC4: .4byte sub_808AB90
_0808ACC8: .4byte gUnknown_03005CE4
_0808ACCC: .4byte DoBrailleFlyEffect
@@ -2282,7 +2282,7 @@ _0808ACD0:
.align 2, 0
_0808ACE4: .4byte gMapHeader
_0808ACE8:
- ldr r1, _0808ACFC @ =gUnknown_0300485C
+ ldr r1, _0808ACFC @ =gFieldCallback
ldr r0, _0808AD00 @ =sub_808AB90
str r0, [r1]
ldr r1, _0808AD04 @ =gUnknown_03005CE4
@@ -2294,7 +2294,7 @@ _0808ACF6:
pop {r1}
bx r1
.align 2, 0
-_0808ACFC: .4byte gUnknown_0300485C
+_0808ACFC: .4byte gFieldCallback
_0808AD00: .4byte sub_808AB90
_0808AD04: .4byte gUnknown_03005CE4
_0808AD08: .4byte sub_808AC8C
@@ -2411,7 +2411,7 @@ SetUpFieldMove_Dive: @ 808ADC8
.align 2, 0
_0808ADE0: .4byte gUnknown_0202FF84
_0808ADE4:
- ldr r1, _0808ADF8 @ =gUnknown_0300485C
+ ldr r1, _0808ADF8 @ =gFieldCallback
ldr r0, _0808ADFC @ =sub_808AB90
str r0, [r1]
ldr r1, _0808AE00 @ =gUnknown_03005CE4
@@ -2422,7 +2422,7 @@ _0808ADF2:
pop {r1}
bx r1
.align 2, 0
-_0808ADF8: .4byte gUnknown_0300485C
+_0808ADF8: .4byte gFieldCallback
_0808ADFC: .4byte sub_808AB90
_0808AE00: .4byte gUnknown_03005CE4
_0808AE04: .4byte sub_808ADAC
@@ -2471,7 +2471,7 @@ SetUpFieldMove_Waterfall: @ 808AE24
lsrs r0, 24
cmp r0, 0x1
bne _0808AE80
- ldr r1, _0808AE70 @ =gUnknown_0300485C
+ ldr r1, _0808AE70 @ =gFieldCallback
ldr r0, _0808AE74 @ =sub_808AB90
str r0, [r1]
ldr r1, _0808AE78 @ =gUnknown_03005CE4
@@ -2480,7 +2480,7 @@ SetUpFieldMove_Waterfall: @ 808AE24
movs r0, 0x1
b _0808AE82
.align 2, 0
-_0808AE70: .4byte gUnknown_0300485C
+_0808AE70: .4byte gFieldCallback
_0808AE74: .4byte sub_808AB90
_0808AE78: .4byte gUnknown_03005CE4
_0808AE7C: .4byte sub_808AE08
@@ -2997,7 +2997,7 @@ sub_808B288: @ 808B288
ands r0, r1
cmp r0, 0
bne _0808B2A6
- ldr r0, _0808B2B0 @ =sub_813B6F8
+ ldr r0, _0808B2B0 @ =Mailbox_ReturnToMailListAfterDeposit
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -3007,7 +3007,7 @@ _0808B2A6:
bx r0
.align 2, 0
_0808B2AC: .4byte gPaletteFade
-_0808B2B0: .4byte sub_813B6F8
+_0808B2B0: .4byte Mailbox_ReturnToMailListAfterDeposit
thumb_func_end sub_808B288
thumb_func_start sub_808B2B4
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 176a42124..db16c2788 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -931,7 +931,7 @@ _08095FA2:
_08095FC0: .4byte gMain
_08095FC4: .4byte gUnknown_083B600C
_08095FC8:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0xD
@@ -1171,7 +1171,7 @@ sub_80961A8: @ 80961A8
ldr r0, [r0]
ldrb r0, [r0, 0x5]
strb r0, [r1]
- ldr r1, _080961CC @ =gUnknown_0300485C
+ ldr r1, _080961CC @ =gFieldCallback
ldr r0, _080961D0 @ =sub_8096130
str r0, [r1]
ldr r0, _080961D4 @ =c2_exit_to_overworld_2_switch
@@ -1181,7 +1181,7 @@ sub_80961A8: @ 80961A8
.align 2, 0
_080961C4: .4byte gUnknown_02038474
_080961C8: .4byte gUnknown_083B6DB4
-_080961CC: .4byte gUnknown_0300485C
+_080961CC: .4byte gFieldCallback
_080961D0: .4byte sub_8096130
_080961D4: .4byte c2_exit_to_overworld_2_switch
thumb_func_end sub_80961A8
@@ -5915,7 +5915,7 @@ sub_8098A38: @ 8098A38
thumb_func_start sub_8098A5C
sub_8098A5C: @ 8098A5C
push {lr}
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0xA
movs r1, 0x10
movs r2, 0x1D
@@ -14831,7 +14831,7 @@ _0809CF8E:
negs r0, r0
cmp r5, r0
beq _0809CFB2
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r0, _0809CFD0 @ =gUnknown_083B6DB4
ldr r1, [r0]
ldr r2, _0809CFD4 @ =0x000011ba
diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s
deleted file mode 100644
index a9d0e3dcc..000000000
--- a/asm/rom_8094928.s
+++ /dev/null
@@ -1,411 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8094B6C
-sub_8094B6C: @ 8094B6C
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- bl IsLinkDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08094C16
- lsls r0, r4, 1
- adds r0, r4
- ldr r1, _08094BCC @ =0x0201606c
- adds r4, r0, r1
- movs r2, 0
- add r6, sp
- mov r12, r6
- movs r6, 0xF
- mov r3, sp
-_08094B9A:
- adds r1, r4, r2
- ldrb r0, [r1]
- lsrs r0, 4
- strb r0, [r3]
- adds r3, 0x1
- ldrb r1, [r1]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _08094B9A
- mov r0, r12
- ldrb r3, [r0]
- movs r2, 0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r5
- bne _08094BD0
- mov r0, sp
- ldrb r7, [r0]
- strb r3, [r0]
- b _08094BE4
- .align 2, 0
-_08094BCC: .4byte 0x0201606c
-_08094BD0:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _08094BE4
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, r5
- bne _08094BD0
- adds r7, r0, 0
- strb r3, [r1]
-_08094BE4:
- cmp r2, 0x6
- beq _08094C16
- mov r0, r12
- strb r7, [r0]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x1]
- orrs r0, r1
- strb r0, [r4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x4]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x5]
- orrs r0, r1
- strb r0, [r4, 0x2]
-_08094C16:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094B6C
-
- thumb_func_start sub_8094C20
-sub_8094C20: @ 8094C20
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- ands r1, r2
- lsrs r2, r0, 25
- cmp r1, 0
- beq _08094C40
- ldr r0, _08094C3C @ =gUnknown_02038470
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- b _08094C48
- .align 2, 0
-_08094C3C: .4byte gUnknown_02038470
-_08094C40:
- ldr r0, _08094C50 @ =gUnknown_02038470
- adds r0, r2, r0
- ldrb r0, [r0]
- lsrs r1, r0, 4
-_08094C48:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08094C50: .4byte gUnknown_02038470
- thumb_func_end sub_8094C20
-
- thumb_func_start sub_8094C54
-sub_8094C54: @ 8094C54
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r1, 0x1
- ands r1, r3
- lsrs r3, r0, 25
- cmp r1, 0
- beq _08094C7C
- ldr r0, _08094C78 @ =gUnknown_02038470
- adds r0, r3, r0
- ldrb r2, [r0]
- movs r1, 0xF0
- ands r1, r2
- orrs r1, r4
- strb r1, [r0]
- b _08094C8C
- .align 2, 0
-_08094C78: .4byte gUnknown_02038470
-_08094C7C:
- ldr r2, _08094C94 @ =gUnknown_02038470
- adds r2, r3, r2
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- lsls r1, r4, 4
- orrs r0, r1
- strb r0, [r2]
-_08094C8C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C94: .4byte gUnknown_02038470
- thumb_func_end sub_8094C54
-
- thumb_func_start sub_8094C98
-sub_8094C98: @ 8094C98
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- bl sub_8094C20
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8094C20
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_8094C54
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8094C54
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094C98
-
- thumb_func_start pokemon_order_func
-pokemon_order_func: @ 8094CD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- movs r2, 0
- ldr r5, _08094CFC @ =gUnknown_02038470
-_08094CE0:
- adds r0, r3, r5
- ldrb r1, [r0]
- lsrs r0, r1, 4
- cmp r0, r4
- beq _08094CF8
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xF
- ands r0, r1
- cmp r0, r4
- bne _08094D00
-_08094CF8:
- adds r0, r2, 0
- b _08094D12
- .align 2, 0
-_08094CFC: .4byte gUnknown_02038470
-_08094D00:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08094CE0
- movs r0, 0
-_08094D12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end pokemon_order_func
-
- thumb_func_start pokemon_change_order
-pokemon_change_order: @ 8094D18
- push {r4,r5,lr}
- ldr r0, _08094D58 @ =0x0201b000
- ldr r1, _08094D5C @ =gPlayerParty
- movs r2, 0x96
- lsls r2, 2
- bl memcpy
- movs r4, 0
- movs r5, 0x64
-_08094D2A:
- adds r0, r4, 0
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- ldr r1, _08094D5C @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r5
- ldr r2, _08094D58 @ =0x0201b000
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08094D2A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094D58: .4byte 0x0201b000
-_08094D5C: .4byte gPlayerParty
- thumb_func_end pokemon_change_order
-
- thumb_func_start sub_8094D60
-sub_8094D60: @ 8094D60
- push {r4,r5,lr}
- ldr r4, _08094DA8 @ =0xfffffda8
- add sp, r4
- ldr r1, _08094DAC @ =gPlayerParty
- movs r2, 0x96
- lsls r2, 2
- mov r0, sp
- bl memcpy
- movs r4, 0
- movs r5, 0x64
-_08094D76:
- adds r0, r4, 0
- bl sub_8094C20
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- ldr r1, _08094DAC @ =gPlayerParty
- adds r0, r1
- adds r1, r4, 0
- muls r1, r5
- add r1, sp
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08094D76
- movs r3, 0x96
- lsls r3, 2
- add sp, r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094DA8: .4byte 0xfffffda8
-_08094DAC: .4byte gPlayerParty
- thumb_func_end sub_8094D60
-
- thumb_func_start unref_sub_8094DB0
-unref_sub_8094DB0: @ 8094DB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0x1
- movs r7, 0x64
- ldr r0, _08094E08 @ =gPlayerParty
- mov r8, r0
-_08094DBE:
- adds r0, r6, 0
- bl sub_8094C20
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08094E0C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08094E0C
- movs r0, 0
- bl sub_8094C20
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r6, 0
- bl sub_8094C98
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r5, 0
- bl sub_806E6F0
- b _08094E16
- .align 2, 0
-_08094E08: .4byte gPlayerParty
-_08094E0C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _08094DBE
-_08094E16:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8094DB0
-
- thumb_func_start sub_8094E20
-sub_8094E20: @ 8094E20
- push {lr}
- ldr r3, _08094E44 @ =gPaletteFade
- ldrb r1, [r3, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r3, 0x8]
- ldr r1, _08094E48 @ =gUnknown_02038473
- strb r0, [r1]
- bl nullsub_14
- bl pokemon_change_order
- movs r0, 0x1
- movs r1, 0xFF
- bl OpenPartyMenu
- pop {r0}
- bx r0
- .align 2, 0
-_08094E44: .4byte gPaletteFade
-_08094E48: .4byte gUnknown_02038473
- thumb_func_end sub_8094E20
-
- thumb_func_start sub_8094E4C
-sub_8094E4C: @ 8094E4C
- push {lr}
- movs r0, 0x3
- bl sub_8094E20
- pop {r0}
- bx r0
- thumb_func_end sub_8094E4C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/roulette.s b/asm/roulette.s
index 6382ecf0b..fcfedbd80 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -733,7 +733,7 @@ sub_8115734: @ 8115734
bl MenuPrint
ldr r1, _08115778 @ =gUnknown_083F8EBC
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
@@ -3245,7 +3245,7 @@ sub_8116B40: @ 8116B40
strh r4, [r0]
adds r0, 0x2
strh r4, [r0]
- ldr r1, _08116BB4 @ =gUnknown_0300485C
+ ldr r1, _08116BB4 @ =gFieldCallback
ldr r0, _08116BB8 @ =sub_8080990
str r0, [r1]
ldr r0, _08116BBC @ =c2_exit_to_overworld_2_switch
@@ -3261,7 +3261,7 @@ _08116BA4: .4byte 0x02019000
_08116BA8: .4byte gSpriteCoordOffsetX
_08116BAC: .4byte gSpriteCoordOffsetY
_08116BB0: .4byte REG_BLDCNT
-_08116BB4: .4byte gUnknown_0300485C
+_08116BB4: .4byte gFieldCallback
_08116BB8: .4byte sub_8080990
_08116BBC: .4byte c2_exit_to_overworld_2_switch
thumb_func_end sub_8116B40
@@ -4483,7 +4483,7 @@ sub_81174F8: @ 81174F8
bl sub_814AAF8
ldr r1, _08117524 @ =gUnknown_083F8EB4
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
diff --git a/asm/secret_base.s b/asm/secret_base.s
index 8f2df8396..9fd741aa0 100644
--- a/asm/secret_base.s
+++ b/asm/secret_base.s
@@ -584,7 +584,7 @@ _080BC8C2:
ldrsh r1, [r4, r2]
cmp r0, r1
bne _080BC8FC
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -594,7 +594,7 @@ _080BC8C2:
bl sub_80BCC54
b _080BC940
_080BC8FC:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldrb r0, [r4, 0x4]
ldrb r1, [r4, 0x2]
adds r0, r1
@@ -614,7 +614,7 @@ _080BC91C:
beq _080BC940
movs r0, 0x5
bl PlaySE
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -671,9 +671,9 @@ sub_80BC980: @ 80BC980
lsls r4, 24
lsrs r4, 24
movs r0, 0
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
movs r1, 0
movs r2, 0xC
@@ -799,7 +799,7 @@ sub_80BCA84: @ 80BCA84
bl DestroyVerticalScrollIndicator
movs r0, 0x1
bl DestroyVerticalScrollIndicator
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -840,7 +840,7 @@ sub_80BCAEC: @ 80BCAEC
bl DisplayYesNoMenu
ldr r1, _080BCB0C @ =gUnknown_083D13E4
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
pop {r4}
pop {r0}
bx r0
@@ -994,9 +994,9 @@ sub_80BCBF8: @ 80BCBF8
movs r3, 0x5
bl MenuZeroFillWindowRect
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
subs r5, 0x8
adds r4, r5
ldr r0, _080BCC50 @ =sub_80BC824
diff --git a/asm/shop.s b/asm/shop.s
index 1d0863469..a341e90a1 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -1222,7 +1222,7 @@ sub_80B3D38: @ 80B3D38
bl sub_80A3FA0
ldr r1, _080B3D78 @ =gUnknown_083CC708
adds r0, r4, 0
- bl sub_80F914C
+ bl DoYesNoFuncWithChoice
add sp, 0x8
pop {r4}
pop {r0}
@@ -1767,9 +1767,9 @@ _080B41B8:
b _080B4350
_080B41CE:
movs r0, 0
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
- bl sub_80F996C
+ bl PauseVerticalScrollIndicator
movs r0, 0x1
movs r1, 0x1
bl sub_80F979C
@@ -1777,7 +1777,7 @@ _080B41CE:
adds r0, r1, 0
movs r2, 0x1
bl sub_80B39D0
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0xC
movs r2, 0xD
@@ -1978,9 +1978,9 @@ sub_80B4378: @ 80B4378
bl sub_80B3764
bl sub_80B37EC
movs r0, 0
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
movs r0, 0x1
- bl sub_80F98DC
+ bl StartVerticalScrollIndicators
bl sub_80B32A4
ldr r1, _080B43E8 @ =gTasks
lsls r0, r4, 2
@@ -2006,7 +2006,7 @@ sub_80B43F0: @ 80B43F0
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, _080B4428 @ =gUnknown_0300485C
+ ldr r1, _080B4428 @ =gFieldCallback
ldr r0, _080B442C @ =sub_80B3050
str r0, [r1]
movs r0, 0x1
@@ -2028,7 +2028,7 @@ sub_80B43F0: @ 80B43F0
pop {r0}
bx r0
.align 2, 0
-_080B4428: .4byte gUnknown_0300485C
+_080B4428: .4byte gFieldCallback
_080B442C: .4byte sub_80B3050
_080B4430: .4byte gTasks
_080B4434: .4byte Task_ExitBuyMenu
diff --git a/asm/trade.s b/asm/trade.s
index 756423ee7..e4d45ec73 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -3266,7 +3266,7 @@ _08049800: .4byte gUnknown_03004824
thumb_func_start sub_8049804
sub_8049804: @ 8049804
push {lr}
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
bl sub_804A80C
ldr r3, _08049850 @ =gUnknown_03004824
ldr r0, [r3]
@@ -4315,7 +4315,7 @@ _08049F8E:
lsls r0, 2
adds r0, r7
bl sub_8078A34
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r3, _0804A09C @ =gUnknown_03004824
ldr r0, [r3]
adds r0, 0x4
@@ -5363,7 +5363,7 @@ _0804A89C: .4byte gUnknown_03004824
_0804A8A0: .4byte gUnknown_0820C330
_0804A8A4: .4byte gTradePartyBoxTilemap
_0804A8A8:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
ldr r4, _0804A924 @ =gUnknown_03004824
ldr r0, [r4]
adds r0, 0x4
@@ -7560,10 +7560,10 @@ sub_804BA18: @ 804BA18
lsrs r4, 16
adds r0, r4, 0
movs r1, 0x2
- bl sub_8090D90
+ bl GetNationalPokedexFlag
adds r0, r4, 0
movs r1, 0x3
- bl sub_8090D90
+ bl GetNationalPokedexFlag
_0804BA5A:
pop {r4}
pop {r0}
@@ -12051,7 +12051,7 @@ sub_804E1A0: @ 804E1A0
bne _0804E1C4
ldr r0, _0804E1D0 @ =sub_804B790
bl SetMainCallback2
- ldr r1, _0804E1D4 @ =gUnknown_0300485C
+ ldr r1, _0804E1D4 @ =gFieldCallback
ldr r0, _0804E1D8 @ =sub_8080990
str r0, [r1]
adds r0, r4, 0
@@ -12063,7 +12063,7 @@ _0804E1C4:
.align 2, 0
_0804E1CC: .4byte gPaletteFade
_0804E1D0: .4byte sub_804B790
-_0804E1D4: .4byte gUnknown_0300485C
+_0804E1D4: .4byte gFieldCallback
_0804E1D8: .4byte sub_8080990
thumb_func_end sub_804E1A0
diff --git a/asm/trader.s b/asm/trader.s
index be3627e90..3bda1d8dc 100644
--- a/asm/trader.s
+++ b/asm/trader.s
@@ -290,7 +290,7 @@ _08109B54:
ldr r0, _08109B78 @ =gSpecialVar_0x8004
strh r1, [r0]
_08109B58:
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0x1
movs r2, 0xC
@@ -509,7 +509,7 @@ sub_8109D04: @ 8109D04
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
@@ -581,7 +581,7 @@ sub_8109DAC: @ 8109DAC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sub_8072DEC
+ bl HandleDestroyMenuCursors
movs r0, 0
movs r1, 0
movs r2, 0x1D
diff --git a/asm/tv.s b/asm/tv.s
deleted file mode 100644
index ec5296064..000000000
--- a/asm/tv.s
+++ /dev/null
@@ -1,1822 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/misc_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start special_0x44
-special_0x44: @ 80BD800
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0x5
- ldr r1, _080BD874 @ =gSaveBlock1
- ldr r2, _080BD878 @ =0x000027ec
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BD834
- adds r2, r1, 0
- ldr r1, _080BD87C @ =0x00002738
-_080BD81A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x17
- bhi _080BD834
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BD81A
-_080BD834:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- ldr r7, _080BD874 @ =gSaveBlock1
- ldr r0, _080BD87C @ =0x00002738
- adds r0, r7
- mov r9, r0
-_080BD850:
- lsls r0, r4, 3
- adds r0, r4
- lsls r6, r0, 2
- adds r5, r6, r7
- ldr r1, _080BD87C @ =0x00002738
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_80BFB54
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _080BD884
- ldr r2, _080BD880 @ =0x00002739
- adds r0, r5, r2
- ldrb r0, [r0]
- b _080BD890
- .align 2, 0
-_080BD874: .4byte gSaveBlock1
-_080BD878: .4byte 0x000027ec
-_080BD87C: .4byte 0x00002738
-_080BD880: .4byte 0x00002739
-_080BD884:
- mov r0, r9
- adds r1, r6, r0
- ldrh r0, [r1, 0x16]
- cmp r0, 0
- bne _080BD898
- ldrb r0, [r1, 0x1]
-_080BD890:
- cmp r0, 0x1
- bne _080BD898
- adds r0, r4, 0
- b _080BD8AC
-_080BD898:
- cmp r4, 0
- bne _080BD8A0
- movs r4, 0x17
- b _080BD8A6
-_080BD8A0:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080BD8A6:
- cmp r4, r8
- bne _080BD850
- movs r0, 0xFF
-_080BD8AC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end special_0x44
-
- thumb_func_start sub_80BD8B8
-sub_80BD8B8: @ 80BD8B8
- push {lr}
- bl special_0x44
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- bne _080BD8CA
- movs r0, 0xFF
- b _080BD902
-_080BD8CA:
- ldr r2, _080BD8F4 @ =gSaveBlock1
- ldr r3, _080BD8F8 @ =0x00002afc
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080BD900
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r2, _080BD8FC @ =0x00002738
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _080BD900
- bl sub_80BDA30
- lsls r0, 24
- lsrs r0, 24
- b _080BD902
- .align 2, 0
-_080BD8F4: .4byte gSaveBlock1
-_080BD8F8: .4byte 0x00002afc
-_080BD8FC: .4byte 0x00002738
-_080BD900:
- adds r0, r1, 0
-_080BD902:
- pop {r1}
- bx r1
- thumb_func_end sub_80BD8B8
-
- thumb_func_start UpdateTVScreensOnMap
-UpdateTVScreensOnMap: @ 80BD908
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _080BD938 @ =0x00000831
- bl FlagSet
- bl CheckForBigMovieOrEmergencyNewsOnTV
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BD92C
- cmp r0, 0x2
- beq _080BD97E
- ldr r0, _080BD93C @ =gSaveBlock1
- ldrh r0, [r0, 0x4]
- cmp r0, 0xD
- bne _080BD940
-_080BD92C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl SetTVMetatilesOnMap
- b _080BD97E
- .align 2, 0
-_080BD938: .4byte 0x00000831
-_080BD93C: .4byte gSaveBlock1
-_080BD940:
- ldr r0, _080BD984 @ =0x00000832
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080BD97E
- bl sub_80BD8B8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080BD96E
- bl sub_80BECA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080BD96E
- bl IsTVShowInSearchOfTrainersAiring
- lsls r0, 24
- cmp r0, 0
- beq _080BD97E
-_080BD96E:
- ldr r0, _080BD988 @ =0x00000831
- bl FlagReset
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl SetTVMetatilesOnMap
-_080BD97E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD984: .4byte 0x00000832
-_080BD988: .4byte 0x00000831
- thumb_func_end UpdateTVScreensOnMap
-
- thumb_func_start SetTVMetatilesOnMap
-SetTVMetatilesOnMap: @ 80BD98C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- movs r5, 0
- cmp r5, r10
- bge _080BD9E0
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- mov r8, r2
- mov r1, r8
- orrs r1, r0
- mov r8, r1
-_080BD9B2:
- movs r4, 0
- adds r7, r5, 0x1
- cmp r4, r9
- bge _080BD9DA
- mov r0, r8
- lsls r6, r0, 16
-_080BD9BE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- cmp r0, 0x86
- bne _080BD9D4
- adds r0, r4, 0
- adds r1, r5, 0
- lsrs r2, r6, 16
- bl MapGridSetMetatileIdAt
-_080BD9D4:
- adds r4, 0x1
- cmp r4, r9
- blt _080BD9BE
-_080BD9DA:
- adds r5, r7, 0
- cmp r5, r10
- blt _080BD9B2
-_080BD9E0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetTVMetatilesOnMap
-
- thumb_func_start TurnOffTVScreen
-TurnOffTVScreen: @ 80BD9F0
- push {lr}
- ldr r1, _080BDA08 @ =gUnknown_03004870
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- movs r2, 0x2
- bl SetTVMetatilesOnMap
- bl DrawWholeMapView
- pop {r0}
- bx r0
- .align 2, 0
-_080BDA08: .4byte gUnknown_03004870
- thumb_func_end TurnOffTVScreen
-
- thumb_func_start sub_80BDA0C
-sub_80BDA0C: @ 80BDA0C
- ldr r2, _080BDA24 @ =gSaveBlock1
- ldr r0, _080BDA28 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BDA2C @ =0x00002738
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080BDA24: .4byte gSaveBlock1
-_080BDA28: .4byte gSpecialVar_0x8004
-_080BDA2C: .4byte 0x00002738
- thumb_func_end sub_80BDA0C
-
- thumb_func_start sub_80BDA30
-sub_80BDA30: @ 80BDA30
- push {r4,lr}
- movs r2, 0
- ldr r3, _080BDA5C @ =gSaveBlock1
-_080BDA36:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r3
- ldr r4, _080BDA60 @ =0x00002738
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BDA64
- cmp r0, 0x29
- beq _080BDA64
- adds r4, 0x1
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BDA64
- adds r0, r2, 0
- b _080BDA70
- .align 2, 0
-_080BDA5C: .4byte gSaveBlock1
-_080BDA60: .4byte 0x00002738
-_080BDA64:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x17
- bls _080BDA36
- movs r0, 0xFF
-_080BDA70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BDA30
-
- thumb_func_start special_0x4a
-special_0x4a: @ 80BDA78
- push {lr}
- ldr r2, _080BDAA4 @ =gSpecialVar_0x8004
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BDAA8 @ =gSaveBlock1 + 0x2738
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _080BDAAC
- movs r3, 0xF1
- lsls r3, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080BDAAC
- bl sub_80BDA30
- lsls r0, 24
- lsrs r0, 24
- b _080BDAAE
- .align 2, 0
-_080BDAA4: .4byte gSpecialVar_0x8004
-_080BDAA8: .4byte gSaveBlock1 + 0x2738
-_080BDAAC:
- ldrb r0, [r2]
-_080BDAAE:
- pop {r1}
- bx r1
- thumb_func_end special_0x4a
-
- thumb_func_start ResetGabbyAndTy
-ResetGabbyAndTy: @ 80BDAB4
- push {r4,lr}
- ldr r2, _080BDAF8 @ =gSaveBlock1
- ldr r1, _080BDAFC @ =0x00002b10
- adds r0, r2, r1
- movs r3, 0
- movs r1, 0
- strh r1, [r0]
- ldr r4, _080BDB00 @ =0x00002b12
- adds r0, r2, r4
- strh r1, [r0]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080BDB04 @ =0x00002b16
- adds r1, r2, r0
- ldr r0, _080BDB08 @ =0x0000ffff
- strh r0, [r1]
- adds r4, 0x6
- adds r1, r2, r4
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080BDB0C @ =0x00002b1b
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080BDB10 @ =0x00002b18
- adds r0, r2, r1
- strb r3, [r0]
- subs r4, 0x1
- adds r2, r4
- strb r3, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDAF8: .4byte gSaveBlock1
-_080BDAFC: .4byte 0x00002b10
-_080BDB00: .4byte 0x00002b12
-_080BDB04: .4byte 0x00002b16
-_080BDB08: .4byte 0x0000ffff
-_080BDB0C: .4byte 0x00002b1b
-_080BDB10: .4byte 0x00002b18
- thumb_func_end ResetGabbyAndTy
-
- thumb_func_start GabbyAndTyBeforeInterview
-GabbyAndTyBeforeInterview: @ 80BDB14
- push {r4,r5,lr}
- ldr r2, _080BDB68 @ =gSaveBlock1
- ldr r3, _080BDB6C @ =gUnknown_030042E0
- ldrh r1, [r3, 0x6]
- ldr r4, _080BDB70 @ =0x00002b10
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r1, [r3, 0x26]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r1, [r3, 0x22]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080BDB74 @ =0x00002b19
- adds r4, r2, r0
- ldrb r1, [r4]
- adds r0, r1, 0
- adds r5, r2, 0
- cmp r0, 0xFF
- beq _080BDB44
- adds r0, r1, 0x1
- strb r0, [r4]
-_080BDB44:
- ldrb r0, [r3, 0x5]
- lsls r0, 31
- ldr r1, _080BDB78 @ =0x00002b1a
- adds r4, r5, r1
- lsrs r0, 31
- ldrb r1, [r4]
- movs r2, 0x2
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4]
- ldrb r0, [r3]
- cmp r0, 0
- beq _080BDB7C
- movs r0, 0x2
- orrs r2, r0
- b _080BDB82
- .align 2, 0
-_080BDB68: .4byte gSaveBlock1
-_080BDB6C: .4byte gUnknown_030042E0
-_080BDB70: .4byte 0x00002b10
-_080BDB74: .4byte 0x00002b19
-_080BDB78: .4byte 0x00002b1a
-_080BDB7C:
- movs r0, 0x3
- negs r0, r0
- ands r2, r0
-_080BDB82:
- strb r2, [r4]
- ldrb r0, [r3, 0x3]
- cmp r0, 0
- beq _080BDB9C
- ldr r4, _080BDB98 @ =0x00002b1a
- adds r0, r5, r4
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080BDBAA
- .align 2, 0
-_080BDB98: .4byte 0x00002b1a
-_080BDB9C:
- ldr r0, _080BDBDC @ =0x00002b1a
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080BDBAA:
- ldrb r1, [r3, 0x5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BDBE0
- movs r1, 0
- adds r0, r3, 0
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BDBE0
-_080BDBC0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xA
- bhi _080BDBEC
- adds r0, r3, 0
- adds r0, 0x36
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BDBC0
- ldr r4, _080BDBDC @ =0x00002b1a
- adds r0, r5, r4
- b _080BDBE4
- .align 2, 0
-_080BDBDC: .4byte 0x00002b1a
-_080BDBE0:
- ldr r1, _080BDC08 @ =0x00002b1a
- adds r0, r5, r1
-_080BDBE4:
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_080BDBEC:
- bl TakeTVShowInSearchOfTrainersOffTheAir
- ldr r0, _080BDC0C @ =gSaveBlock1
- ldr r4, _080BDC10 @ =0x00002b14
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BDC02
- movs r0, 0x1
- bl FlagSet
-_080BDC02:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDC08: .4byte 0x00002b1a
-_080BDC0C: .4byte gSaveBlock1
-_080BDC10: .4byte 0x00002b14
- thumb_func_end GabbyAndTyBeforeInterview
-
- thumb_func_start sub_80BDC14
-sub_80BDC14: @ 80BDC14
- push {r4-r6,lr}
- ldr r4, _080BDC70 @ =gSaveBlock1
- ldr r0, _080BDC74 @ =0x00002b1a
- adds r6, r4, r0
- ldrb r3, [r6]
- lsls r1, r3, 31
- adds r0, 0x1
- adds r5, r4, r0
- lsrs r1, 31
- ldrb r2, [r5]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- movs r1, 0x2
- ands r1, r3
- movs r2, 0x3
- negs r2, r2
- ands r0, r2
- orrs r0, r1
- movs r1, 0x4
- ands r1, r3
- subs r2, 0x2
- ands r0, r2
- orrs r0, r1
- movs r1, 0x8
- ands r1, r3
- subs r2, 0x4
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- movs r0, 0x10
- orrs r3, r0
- strb r3, [r6]
- ldr r0, _080BDC78 @ =gMapHeader
- ldrb r0, [r0, 0x14]
- ldr r1, _080BDC7C @ =0x00002b18
- adds r4, r1
- strb r0, [r4]
- movs r0, 0x6
- bl IncrementGameStat
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDC70: .4byte gSaveBlock1
-_080BDC74: .4byte 0x00002b1a
-_080BDC78: .4byte gMapHeader
-_080BDC7C: .4byte 0x00002b18
- thumb_func_end sub_80BDC14
-
- thumb_func_start TakeTVShowInSearchOfTrainersOffTheAir
-TakeTVShowInSearchOfTrainersOffTheAir: @ 80BDC80
- ldr r0, _080BDC94 @ =gSaveBlock1
- ldr r1, _080BDC98 @ =0x00002b1a
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x11
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080BDC94: .4byte gSaveBlock1
-_080BDC98: .4byte 0x00002b1a
- thumb_func_end TakeTVShowInSearchOfTrainersOffTheAir
-
- thumb_func_start GabbyAndTyGetBattleNum
-GabbyAndTyGetBattleNum: @ 80BDC9C
- push {lr}
- ldr r0, _080BDCBC @ =gSaveBlock1
- ldr r2, _080BDCC0 @ =0x00002b19
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x5
- bls _080BDCB8
- ldrb r0, [r1]
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x6
- lsls r0, 24
- lsrs r0, 24
-_080BDCB8:
- pop {r1}
- bx r1
- .align 2, 0
-_080BDCBC: .4byte gSaveBlock1
-_080BDCC0: .4byte 0x00002b19
- thumb_func_end GabbyAndTyGetBattleNum
-
- thumb_func_start IsTVShowInSearchOfTrainersAiring
-IsTVShowInSearchOfTrainersAiring: @ 80BDCC4
- ldr r0, _080BDCD4 @ =gSaveBlock1
- ldr r1, _080BDCD8 @ =0x00002b1a
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_080BDCD4: .4byte gSaveBlock1
-_080BDCD8: .4byte 0x00002b1a
- thumb_func_end IsTVShowInSearchOfTrainersAiring
-
- thumb_func_start GabbyAndTyGetLastQuote
-GabbyAndTyGetLastQuote: @ 80BDCDC
- push {r4,r5,lr}
- ldr r0, _080BDD00 @ =gSaveBlock1
- ldr r1, _080BDD04 @ =0x00002b16
- adds r4, r0, r1
- ldrh r0, [r4]
- ldr r5, _080BDD08 @ =0x0000ffff
- cmp r0, r5
- beq _080BDD10
- ldr r0, _080BDD0C @ =gStringVar1
- ldrh r1, [r4]
- bl sub_80EB3FC
- ldrh r1, [r4]
- adds r0, r5, 0
- orrs r0, r1
- strh r0, [r4]
- movs r0, 0x1
- b _080BDD12
- .align 2, 0
-_080BDD00: .4byte gSaveBlock1
-_080BDD04: .4byte 0x00002b16
-_080BDD08: .4byte 0x0000ffff
-_080BDD0C: .4byte gStringVar1
-_080BDD10:
- movs r0, 0
-_080BDD12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GabbyAndTyGetLastQuote
-
- thumb_func_start sub_80BDD18
-sub_80BDD18: @ 80BDD18
- push {lr}
- ldr r0, _080BDD30 @ =gSaveBlock1
- ldr r1, _080BDD34 @ =0x00002b1b
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BDD38
- movs r0, 0x1
- b _080BDD5E
- .align 2, 0
-_080BDD30: .4byte gSaveBlock1
-_080BDD34: .4byte 0x00002b1b
-_080BDD38:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080BDD44
- movs r0, 0x2
- b _080BDD5E
-_080BDD44:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080BDD50
- movs r0, 0x3
- b _080BDD5E
-_080BDD50:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BDD5C
- movs r0, 0
- b _080BDD5E
-_080BDD5C:
- movs r0, 0x4
-_080BDD5E:
- pop {r1}
- bx r1
- .align 2, 0
- thumb_func_end sub_80BDD18
-
- .section .text_80BE8EC
-
- thumb_func_start sub_80C04A0
-sub_80C04A0: @ 80C04A0
- push {r4,r5,lr}
- movs r3, 0
- movs r2, 0x5
- ldr r5, _080C0508 @ =gSaveBlock1
- ldr r4, _080C050C @ =0x00002738
-_080C04AA:
- lsls r0, r2, 24
- asrs r1, r0, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C04C8
- lsls r0, r3, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r3, r0, 24
-_080C04C8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x17
- ble _080C04AA
- movs r2, 0
- lsls r0, r3, 24
- asrs r0, 24
- movs r1, 0x5
- subs r0, r1, r0
- cmp r2, r0
- bge _080C0502
- adds r5, r0, 0
-_080C04E4:
- lsls r1, r2, 24
- asrs r4, r1, 24
- movs r0, 0xA0
- lsls r0, 19
- adds r1, r0
- lsrs r1, 24
- ldr r0, _080C0510 @ =gSaveBlock1 + 0x2738
- bl sub_80BF55C
- adds r4, 0x1
- lsls r4, 24
- lsrs r2, r4, 24
- asrs r4, 24
- cmp r4, r5
- blt _080C04E4
-_080C0502:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0508: .4byte gSaveBlock1
-_080C050C: .4byte 0x00002738
-_080C0510: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80C04A0
-
- thumb_func_start sub_80C0514
-sub_80C0514: @ 80C0514
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
-_080C0524:
- lsls r0, r4, 6
- ldr r6, _080C0550 @ =0x02007000
- adds r0, r6
- adds r1, r4, 0
- muls r1, r7
- add r1, r8
- movs r2, 0x40
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080C0524
- adds r4, r6, 0
- cmp r5, 0x1
- beq _080C0578
- cmp r5, 0x1
- bgt _080C0554
- cmp r5, 0
- beq _080C055E
- b _080C05AC
- .align 2, 0
-_080C0550: .4byte 0x02007000
-_080C0554:
- cmp r5, 0x2
- beq _080C0584
- cmp r5, 0x3
- beq _080C059C
- b _080C05AC
-_080C055E:
- ldr r0, _080C0574 @ =gSaveBlock1 + 0x2ABC
- adds r1, r4, 0
- adds r1, 0x40
- adds r2, r4, 0
- adds r2, 0x80
- adds r3, r4, 0
- adds r3, 0xC0
- bl sub_80C05C4
- b _080C05AC
- .align 2, 0
-_080C0574: .4byte gSaveBlock1 + 0x2ABC
-_080C0578:
- ldr r1, _080C0580 @ =gSaveBlock1 + 0x2ABC
- adds r2, r4, 0
- adds r2, 0x80
- b _080C058A
- .align 2, 0
-_080C0580: .4byte gSaveBlock1 + 0x2ABC
-_080C0584:
- adds r1, r4, 0
- adds r1, 0x40
- ldr r2, _080C0598 @ =gSaveBlock1 + 0x2ABC
-_080C058A:
- adds r3, r4, 0
- adds r3, 0xC0
- adds r0, r4, 0
- bl sub_80C05C4
- b _080C05AC
- .align 2, 0
-_080C0598: .4byte gSaveBlock1 + 0x2ABC
-_080C059C:
- adds r1, r6, 0
- adds r1, 0x40
- adds r2, r6, 0
- adds r2, 0x80
- ldr r3, _080C05C0 @ =gSaveBlock1 + 0x2ABC
- adds r0, r6, 0
- bl sub_80C05C4
-_080C05AC:
- bl sub_80C0750
- bl sub_80C0788
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C05C0: .4byte gSaveBlock1 + 0x2ABC
- thumb_func_end sub_80C0514
-
- thumb_func_start sub_80C05C4
-sub_80C05C4: @ 80C05C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- add r0, sp, 0x10
- str r0, [sp]
- add r0, sp, 0x14
- str r0, [sp, 0x4]
- add r0, sp, 0x18
- str r0, [sp, 0x8]
- add r0, sp, 0x1C
- str r0, [sp, 0xC]
- bl GetLinkPlayerCount
- ldr r1, _080C0600 @ =gUnknown_03000721
- strb r0, [r1]
- movs r0, 0
- mov r10, r0
-_080C05F4:
- movs r7, 0
- mov r1, r10
- adds r1, 0x1
- str r1, [sp, 0x20]
- b _080C068C
- .align 2, 0
-_080C0600: .4byte gUnknown_03000721
-_080C0604:
- lsls r4, r7, 2
- mov r1, sp
- adds r0, r1, r4
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r10
- bl sub_80C0730
- ldr r1, _080C06B0 @ =gUnknown_03000722
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- mov r8, r4
- adds r1, r7, 0x1
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080C0686
- movs r5, 0
- ldr r1, _080C06B4 @ =gUnknown_03000721
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r5, r0
- bge _080C0686
- adds r6, r1, 0
-_080C0638:
- adds r0, r7, r5
- adds r4, r0, 0x1
- ldrb r1, [r6]
- adds r0, r4, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80BEBC8
- ldr r1, _080C06B8 @ =gUnknown_03005D38
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080C0678
- ldrb r1, [r6]
- adds r0, r4, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- mov r1, sp
- add r1, r8
- ldr r1, [r1]
- bl sub_80C06BC
-_080C0678:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- subs r0, 0x1
- cmp r5, r0
- blt _080C0638
-_080C0686:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r7, r0, 24
-_080C068C:
- ldr r0, _080C06B4 @ =gUnknown_03000721
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080C0604
- ldr r1, [sp, 0x20]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0xF
- bls _080C05F4
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C06B0: .4byte gUnknown_03000722
-_080C06B4: .4byte gUnknown_03000721
-_080C06B8: .4byte gUnknown_03005D38
- thumb_func_end sub_80C05C4
-
-.section .dotvshow
-
- thumb_func_start DoTVShowBravoTrainerPokemonProfile
-DoTVShowBravoTrainerPokemonProfile: @ 80C091C
- push {r4,r5,lr}
- ldr r0, _080C0948 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C094C @ =gSaveBlock1 + 0x2738
- adds r4, r0, r1
- ldr r1, _080C0950 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0954 @ =gUnknown_020387E8
- ldrb r5, [r0]
- cmp r5, 0x8
- bls _080C093C
- b _080C0B7A
-_080C093C:
- lsls r0, r5, 2
- ldr r1, _080C0958 @ =_080C095C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0948: .4byte gSpecialVar_0x8004
-_080C094C: .4byte gSaveBlock1 + 0x2738
-_080C0950: .4byte gScriptResult
-_080C0954: .4byte gUnknown_020387E8
-_080C0958: .4byte _080C095C
- .align 2, 0
-_080C095C:
- .4byte _080C0980
- .4byte _080C09D8
- .4byte _080C0A10
- .4byte _080C0A40
- .4byte _080C0A74
- .4byte _080C0AA8
- .4byte _080C0AEC
- .4byte _080C0B34
- .4byte _080C0B64
-_080C0980:
- ldr r0, _080C09C0 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x1
- bl CopyContestCategoryToStringVar
- ldrb r1, [r4, 0x13]
- lsls r1, 27
- lsrs r1, 30
- movs r0, 0x2
- bl sub_80BEF10
- ldrh r1, [r4, 0x2]
- movs r0, 0xB
- muls r0, r1
- ldr r1, _080C09C4 @ =gSpeciesNames
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _080C09CC
- ldr r1, _080C09C8 @ =gUnknown_020387E8
- movs r0, 0x8
- b _080C0B78
- .align 2, 0
-_080C09C0: .4byte gStringVar1
-_080C09C4: .4byte gSpeciesNames
-_080C09C8: .4byte gUnknown_020387E8
-_080C09CC:
- ldr r1, _080C09D4 @ =gUnknown_020387E8
- movs r0, 0x1
- b _080C0B78
- .align 2, 0
-_080C09D4: .4byte gUnknown_020387E8
-_080C09D8:
- ldr r0, _080C0A04 @ =gStringVar1
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0A08 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0A0C @ =gStringVar2
- adds r1, r4, 0
- adds r1, 0x8
- ldrb r2, [r4, 0x1F]
- bl TVShowConvertInternationalString
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x2
- bl CopyContestCategoryToStringVar
- b _080C0B74
- .align 2, 0
-_080C0A04: .4byte gStringVar1
-_080C0A08: .4byte gSpeciesNames
-_080C0A0C: .4byte gStringVar2
-_080C0A10:
- ldr r0, _080C0A2C @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldrb r1, [r4, 0x13]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- bne _080C0A34
- ldr r1, _080C0A30 @ =gUnknown_020387E8
- movs r0, 0x3
- b _080C0B78
- .align 2, 0
-_080C0A2C: .4byte gStringVar1
-_080C0A30: .4byte gUnknown_020387E8
-_080C0A34:
- ldr r1, _080C0A3C @ =gUnknown_020387E8
- movs r0, 0x4
- b _080C0B78
- .align 2, 0
-_080C0A3C: .4byte gUnknown_020387E8
-_080C0A40:
- ldr r0, _080C0A68 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldr r0, _080C0A6C @ =gStringVar2
- ldrh r1, [r4, 0x4]
- bl sub_80EB3FC
- ldrb r1, [r4, 0x13]
- lsls r1, 25
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldr r1, _080C0A70 @ =gUnknown_020387E8
- movs r0, 0x5
- b _080C0B78
- .align 2, 0
-_080C0A68: .4byte gStringVar1
-_080C0A6C: .4byte gStringVar2
-_080C0A70: .4byte gUnknown_020387E8
-_080C0A74:
- ldr r0, _080C0A9C @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldr r0, _080C0AA0 @ =gStringVar2
- ldrh r1, [r4, 0x4]
- bl sub_80EB3FC
- ldrb r1, [r4, 0x13]
- lsls r1, 25
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldr r1, _080C0AA4 @ =gUnknown_020387E8
- movs r0, 0x5
- b _080C0B78
- .align 2, 0
-_080C0A9C: .4byte gStringVar1
-_080C0AA0: .4byte gStringVar2
-_080C0AA4: .4byte gUnknown_020387E8
-_080C0AA8:
- ldr r0, _080C0AD4 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x1
- bl CopyContestCategoryToStringVar
- ldr r0, _080C0AD8 @ =gStringVar3
- ldrh r1, [r4, 0x6]
- bl sub_80EB3FC
- ldrh r0, [r4, 0x14]
- cmp r0, 0
- beq _080C0AE0
- ldr r1, _080C0ADC @ =gUnknown_020387E8
- movs r0, 0x6
- b _080C0B78
- .align 2, 0
-_080C0AD4: .4byte gStringVar1
-_080C0AD8: .4byte gStringVar3
-_080C0ADC: .4byte gUnknown_020387E8
-_080C0AE0:
- ldr r1, _080C0AE8 @ =gUnknown_020387E8
- movs r0, 0x7
- b _080C0B78
- .align 2, 0
-_080C0AE8: .4byte gUnknown_020387E8
-_080C0AEC:
- ldr r0, _080C0B1C @ =gStringVar1
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B20 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0B24 @ =gStringVar2
- ldrh r2, [r4, 0x14]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080C0B28 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0B2C @ =gStringVar3
- ldrh r1, [r4, 0x6]
- bl sub_80EB3FC
- ldr r1, _080C0B30 @ =gUnknown_020387E8
- movs r0, 0x7
- b _080C0B78
- .align 2, 0
-_080C0B1C: .4byte gStringVar1
-_080C0B20: .4byte gSpeciesNames
-_080C0B24: .4byte gStringVar2
-_080C0B28: .4byte gMoveNames
-_080C0B2C: .4byte gStringVar3
-_080C0B30: .4byte gUnknown_020387E8
-_080C0B34:
- ldr r0, _080C0B58 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl TVShowConvertInternationalString
- ldr r0, _080C0B5C @ =gStringVar2
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B60 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- bl TVShowDone
- b _080C0B7A
- .align 2, 0
-_080C0B58: .4byte gStringVar1
-_080C0B5C: .4byte gStringVar2
-_080C0B60: .4byte gSpeciesNames
-_080C0B64:
- ldr r0, _080C0B8C @ =gStringVar1
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B90 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
-_080C0B74:
- ldr r1, _080C0B94 @ =gUnknown_020387E8
- movs r0, 0x2
-_080C0B78:
- strb r0, [r1]
-_080C0B7A:
- ldr r0, _080C0B98 @ =gTVBravoTrainerTextGroup
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B8C: .4byte gStringVar1
-_080C0B90: .4byte gSpeciesNames
-_080C0B94: .4byte gUnknown_020387E8
-_080C0B98: .4byte gTVBravoTrainerTextGroup
- thumb_func_end DoTVShowBravoTrainerPokemonProfile
-
- thumb_func_start DoTVShowBravoTrainerBattleTowerProfile
-DoTVShowBravoTrainerBattleTowerProfile: @ 80C0B9C
- push {r4,r5,lr}
- ldr r0, _080C0BC8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C0BCC @ =gSaveBlock1 + 0x2738
- adds r4, r0, r1
- ldr r1, _080C0BD0 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0BD4 @ =gUnknown_020387E8
- ldrb r5, [r0]
- adds r2, r0, 0
- cmp r5, 0xE
- bls _080C0BBE
- b _080C0DDE
-_080C0BBE:
- lsls r0, r5, 2
- ldr r1, _080C0BD8 @ =_080C0BDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0BC8: .4byte gSpecialVar_0x8004
-_080C0BCC: .4byte gSaveBlock1 + 0x2738
-_080C0BD0: .4byte gScriptResult
-_080C0BD4: .4byte gUnknown_020387E8
-_080C0BD8: .4byte _080C0BDC
- .align 2, 0
-_080C0BDC:
- .4byte _080C0C18
- .4byte _080C0C5C
- .4byte _080C0C8C
- .4byte _080C0CB0
- .4byte _080C0CDC
- .4byte _080C0D24
- .4byte _080C0D30
- .4byte _080C0D3C
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D5C
- .4byte _080C0D88
- .4byte _080C0D88
- .4byte _080C0DC0
-_080C0C18:
- ldr r0, _080C0C40 @ =gStringVar1
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0C44 @ =gStringVar2
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0C48 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrh r0, [r4, 0x16]
- cmp r0, 0x6
- bls _080C0C50
- ldr r1, _080C0C4C @ =gUnknown_020387E8
- movs r0, 0x1
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C40: .4byte gStringVar1
-_080C0C44: .4byte gStringVar2
-_080C0C48: .4byte gSpeciesNames
-_080C0C4C: .4byte gUnknown_020387E8
-_080C0C50:
- ldr r1, _080C0C58 @ =gUnknown_020387E8
- movs r0, 0x2
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C58: .4byte gUnknown_020387E8
-_080C0C5C:
- ldrb r1, [r4, 0x1A]
- movs r0, 0
- bl sub_80BF088
- ldrh r1, [r4, 0x16]
- movs r0, 0x1
- bl sub_80BF088
- ldrb r0, [r4, 0x1C]
- cmp r0, 0x1
- bne _080C0C80
- ldr r1, _080C0C7C @ =gUnknown_020387E8
- movs r0, 0x3
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C7C: .4byte gUnknown_020387E8
-_080C0C80:
- ldr r1, _080C0C88 @ =gUnknown_020387E8
- movs r0, 0x4
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C88: .4byte gUnknown_020387E8
-_080C0C8C:
- ldr r0, _080C0CAC @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldrh r1, [r4, 0x16]
- adds r1, 0x1
- movs r0, 0x1
- bl sub_80BF088
-_080C0CA2:
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- beq _080C0CFE
- b _080C0D18
- .align 2, 0
-_080C0CAC: .4byte gStringVar1
-_080C0CB0:
- ldr r0, _080C0CD0 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0CD4 @ =gStringVar2
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0CD8 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- b _080C0CA2
- .align 2, 0
-_080C0CD0: .4byte gStringVar1
-_080C0CD4: .4byte gStringVar2
-_080C0CD8: .4byte gSpeciesNames
-_080C0CDC:
- ldr r0, _080C0D08 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0D0C @ =gStringVar2
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0D10 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D18
-_080C0CFE:
- ldr r1, _080C0D14 @ =gUnknown_020387E8
- movs r0, 0x5
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D08: .4byte gStringVar1
-_080C0D0C: .4byte gStringVar2
-_080C0D10: .4byte gSpeciesNames
-_080C0D14: .4byte gUnknown_020387E8
-_080C0D18:
- ldr r1, _080C0D20 @ =gUnknown_020387E8
- movs r0, 0x6
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D20: .4byte gUnknown_020387E8
-_080C0D24:
- ldr r0, _080C0D2C @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D2C: .4byte gStringVar1
-_080C0D30:
- ldr r0, _080C0D38 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D38: .4byte gStringVar1
-_080C0D3C:
- movs r0, 0xB
- strb r0, [r2]
- b _080C0DDE
-_080C0D42:
- ldr r0, _080C0D54 @ =gStringVar1
- adds r1, r4, 0x2
-_080C0D46:
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r1, _080C0D58 @ =gUnknown_020387E8
- movs r0, 0xB
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D54: .4byte gStringVar1
-_080C0D58: .4byte gUnknown_020387E8
-_080C0D5C:
- ldr r0, _080C0D74 @ =gStringVar1
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D7C
- ldr r1, _080C0D78 @ =gUnknown_020387E8
- movs r0, 0xC
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D74: .4byte gStringVar1
-_080C0D78: .4byte gUnknown_020387E8
-_080C0D7C:
- ldr r1, _080C0D84 @ =gUnknown_020387E8
- movs r0, 0xD
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D84: .4byte gUnknown_020387E8
-_080C0D88:
- ldr r0, _080C0DB0 @ =gStringVar1
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldr r0, _080C0DB4 @ =gStringVar2
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0DB8 @ =gStringVar3
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r1, _080C0DBC @ =gUnknown_020387E8
- movs r0, 0xE
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0DB0: .4byte gStringVar1
-_080C0DB4: .4byte gStringVar2
-_080C0DB8: .4byte gStringVar3
-_080C0DBC: .4byte gUnknown_020387E8
-_080C0DC0:
- ldr r0, _080C0DF0 @ =gStringVar1
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0DF4 @ =gStringVar2
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0DF8 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- bl TVShowDone
-_080C0DDE:
- ldr r0, _080C0DFC @ =gTVBravoTrainerBattleTowerTextGroup
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0DF0: .4byte gStringVar1
-_080C0DF4: .4byte gStringVar2
-_080C0DF8: .4byte gSpeciesNames
-_080C0DFC: .4byte gTVBravoTrainerBattleTowerTextGroup
- thumb_func_end DoTVShowBravoTrainerBattleTowerProfile
-
- thumb_func_start DoTVShowTodaysSmartShopper
-DoTVShowTodaysSmartShopper: @ 80C0E00
- push {r4-r6,lr}
- ldr r0, _080C0E2C @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C0E30 @ =gSaveBlock1 + 0x2738
- adds r5, r0, r1
- ldr r1, _080C0E34 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0E38 @ =gUnknown_020387E8
- ldrb r6, [r0]
- adds r2, r0, 0
- cmp r6, 0xC
- bls _080C0E22
- b _080C1014
-_080C0E22:
- lsls r0, r6, 2
- ldr r1, _080C0E3C @ =_080C0E40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0E2C: .4byte gSpecialVar_0x8004
-_080C0E30: .4byte gSaveBlock1 + 0x2738
-_080C0E34: .4byte gScriptResult
-_080C0E38: .4byte gUnknown_020387E8
-_080C0E3C: .4byte _080C0E40
- .align 2, 0
-_080C0E40:
- .4byte _080C0E74
- .4byte _080C0EB0
- .4byte _080C0EF8
- .4byte _080C0F0A
- .4byte _080C0EF8
- .4byte _080C0EF8
- .4byte _080C0F34
- .4byte _080C0F64
- .4byte _080C0F94
- .4byte _080C0FA0
- .4byte _080C0FAE
- .4byte _080C0FC0
- .4byte _080C1004
-_080C0E74:
- ldr r0, _080C0E98 @ =gStringVar1
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl TVShowConvertInternationalString
- ldr r0, _080C0E9C @ =gStringVar2
- ldrb r1, [r5, 0x12]
- movs r2, 0
- bl sub_80FBFB4
- ldrh r0, [r5, 0xC]
- cmp r0, 0xFE
- bls _080C0EA4
- ldr r1, _080C0EA0 @ =gUnknown_020387E8
- movs r0, 0xB
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0E98: .4byte gStringVar1
-_080C0E9C: .4byte gStringVar2
-_080C0EA0: .4byte gUnknown_020387E8
-_080C0EA4:
- ldr r1, _080C0EAC @ =gUnknown_020387E8
- movs r0, 0x1
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0EAC: .4byte gUnknown_020387E8
-_080C0EB0:
- ldr r0, _080C0EEC @ =gStringVar1
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl TVShowConvertInternationalString
- ldr r4, _080C0EF0 @ =gStringVar2
- ldrh r0, [r5, 0x6]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0xC]
- movs r0, 0x2
- bl sub_80BF088
- ldr r4, _080C0EF4 @ =gUnknown_020387E8
- bl Random
- ldrb r2, [r4]
- adds r2, 0x1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, r2
- strb r0, [r4]
- b _080C1014
- .align 2, 0
-_080C0EEC: .4byte gStringVar1
-_080C0EF0: .4byte gStringVar2
-_080C0EF4: .4byte gUnknown_020387E8
-_080C0EF8:
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _080C0F04
- movs r0, 0x6
- strb r0, [r2]
- b _080C1014
-_080C0F04:
- movs r0, 0xA
- strb r0, [r2]
- b _080C1014
-_080C0F0A:
- ldrh r1, [r5, 0xC]
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _080C0F28
- ldr r1, _080C0F24 @ =gUnknown_020387E8
- movs r0, 0x6
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F24: .4byte gUnknown_020387E8
-_080C0F28:
- ldr r1, _080C0F30 @ =gUnknown_020387E8
- movs r0, 0xA
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F30: .4byte gUnknown_020387E8
-_080C0F34:
- ldr r4, _080C0F5C @ =gStringVar2
- ldrh r0, [r5, 0x8]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0xE]
- movs r0, 0x2
- bl sub_80BF088
- ldrh r0, [r5, 0xA]
- cmp r0, 0
- beq _080C0F7C
- ldr r1, _080C0F60 @ =gUnknown_020387E8
- movs r0, 0x7
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F5C: .4byte gStringVar2
-_080C0F60: .4byte gUnknown_020387E8
-_080C0F64:
- ldr r4, _080C0F8C @ =gStringVar2
- ldrh r0, [r5, 0xA]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0x10]
- movs r0, 0x2
- bl sub_80BF088
-_080C0F7C:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- beq _080C0FE2
- ldr r1, _080C0F90 @ =gUnknown_020387E8
- movs r0, 0x9
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F8C: .4byte gStringVar2
-_080C0F90: .4byte gUnknown_020387E8
-_080C0F94:
- ldrh r0, [r5, 0xC]
- cmp r0, 0xFE
- bls _080C0FBA
- movs r0, 0xC
- strb r0, [r2]
- b _080C1014
-_080C0FA0:
- movs r0, 0x1
- adds r1, r5, 0
- bl sub_80BF154
- bl TVShowDone
- b _080C1014
-_080C0FAE:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _080C0FBA
- movs r0, 0x8
- strb r0, [r2]
- b _080C1014
-_080C0FBA:
- movs r0, 0x9
- strb r0, [r2]
- b _080C1014
-_080C0FC0:
- ldr r0, _080C0FEC @ =gStringVar1
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl TVShowConvertInternationalString
- ldr r4, _080C0FF0 @ =gStringVar2
- ldrh r0, [r5, 0x6]
- bl ItemId_GetItem
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _080C0FF8
-_080C0FE2:
- ldr r1, _080C0FF4 @ =gUnknown_020387E8
- movs r0, 0x8
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0FEC: .4byte gStringVar1
-_080C0FF0: .4byte gStringVar2
-_080C0FF4: .4byte gUnknown_020387E8
-_080C0FF8:
- ldr r1, _080C1000 @ =gUnknown_020387E8
- movs r0, 0xC
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C1000: .4byte gUnknown_020387E8
-_080C1004:
- ldr r0, _080C1028 @ =gStringVar1
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl TVShowConvertInternationalString
- bl TVShowDone
-_080C1014:
- ldr r0, _080C102C @ =gTVSmartShopperTextGroup
- lsls r1, r6, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1028: .4byte gStringVar1
-_080C102C: .4byte gTVSmartShopperTextGroup
- thumb_func_end DoTVShowTodaysSmartShopper
-
- .align 2, 0 @ Don't pad with nop.