diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_4.s | 10 | ||||
-rw-r--r-- | asm/battle_5.s | 10 | ||||
-rw-r--r-- | asm/battle_7.s | 4290 | ||||
-rw-r--r-- | asm/battle_anim_81258BC.s | 2 | ||||
-rw-r--r-- | asm/battle_anim_8137220.s | 6 | ||||
-rw-r--r-- | asm/battle_tower.s | 4 | ||||
-rw-r--r-- | asm/berry_blender.s | 8 | ||||
-rw-r--r-- | asm/choose_party.s | 8 | ||||
-rw-r--r-- | asm/contest.s | 2 | ||||
-rw-r--r-- | asm/contest_link_80C2020.s | 2 | ||||
-rw-r--r-- | asm/daycare.s | 4 | ||||
-rw-r--r-- | asm/decoration.s | 7033 | ||||
-rw-r--r-- | asm/decoration_inventory.s | 404 | ||||
-rw-r--r-- | asm/easy_chat.s | 6 | ||||
-rw-r--r-- | asm/egg_hatch.s | 4 | ||||
-rw-r--r-- | asm/evolution_scene.s | 16 | ||||
-rw-r--r-- | asm/field_effect.s | 7738 | ||||
-rw-r--r-- | asm/field_specials.s | 4 | ||||
-rw-r--r-- | asm/item_menu.s | 2 | ||||
-rw-r--r-- | asm/mauville_old_man.s | 2 | ||||
-rw-r--r-- | asm/mon_markings.s | 4 | ||||
-rw-r--r-- | asm/mystery_event_script.s | 4 | ||||
-rw-r--r-- | asm/party_menu.s | 2 | ||||
-rw-r--r-- | asm/player_pc.s | 1298 | ||||
-rw-r--r-- | asm/pokeblock.s | 4 | ||||
-rw-r--r-- | asm/pokemon_menu.s | 16 | ||||
-rw-r--r-- | asm/pokemon_storage_system.s | 6 | ||||
-rw-r--r-- | asm/rom_8094928.s | 411 | ||||
-rw-r--r-- | asm/secret_base.s | 8 | ||||
-rw-r--r-- | asm/shop.s | 2 | ||||
-rw-r--r-- | asm/trade.s | 10 | ||||
-rw-r--r-- | asm/trader.s | 6 | ||||
-rw-r--r-- | asm/tv.s | 1822 |
33 files changed, 76 insertions, 23072 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_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/choose_party.s b/asm/choose_party.s index 25122e4ef..09f00ac77 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 diff --git a/asm/contest.s b/asm/contest.s index 214935952..1f92f6fad 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 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..101f9e5c3 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 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_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/item_menu.s b/asm/item_menu.s index 7463663d8..bb6e59f54 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -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/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/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..669811f53 100644 --- a/asm/pokeblock.s +++ b/asm/pokeblock.s @@ -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 @@ -2078,7 +2078,7 @@ sub_810C748: @ 810C748 bl sub_80F98DC movs r0, 0x1 bl sub_80F98DC - bl sub_8072DEC + bl HandleDestroyMenuCursors movs r0, 0x7 movs r1, 0x4 movs r2, 0xD diff --git a/asm/pokemon_menu.s b/asm/pokemon_menu.s index 57bcd4904..110ccb6e4 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] diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 176a42124..b3ef00ecf 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 @@ -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/secret_base.s b/asm/secret_base.s index 8f2df8396..020953dbe 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 @@ -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 diff --git a/asm/shop.s b/asm/shop.s index 1d0863469..ba4c53885 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -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 diff --git a/asm/trade.s b/asm/trade.s index 756423ee7..a26afa254 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} 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. |