summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_1.s3065
-rw-r--r--asm/battle_anim_80A5C6C.s350
-rw-r--r--asm/battle_anim_80A9C70.s20
-rw-r--r--[-rwxr-xr-x]asm/battle_anim_80D51AC.s108
-rw-r--r--asm/battle_anim_80FE840.s2458
-rw-r--r--[-rwxr-xr-x]asm/battle_anim_815A0D4.s516
-rw-r--r--asm/battle_anim_8170478.s220
-rw-r--r--asm/battle_anim_sound_tasks.s1006
-rw-r--r--[-rwxr-xr-x]asm/battle_frontier_1.s152
-rw-r--r--[-rwxr-xr-x]asm/battle_frontier_2.s288
-rw-r--r--asm/battle_link_817C95C.s4891
-rw-r--r--asm/battle_records.s1285
-rw-r--r--asm/battle_setup.s3550
-rw-r--r--[-rwxr-xr-x]asm/battle_tent.s580
-rw-r--r--[-rwxr-xr-x]asm/battle_tower.s80
-rw-r--r--asm/battle_transition.s9826
-rw-r--r--asm/berry_blender.s8788
-rw-r--r--asm/berry_tag_screen.s1538
-rw-r--r--asm/bike.s2199
-rw-r--r--asm/blit.s823
-rw-r--r--asm/cable_car.s10
-rw-r--r--asm/cable_car_util.s8
-rw-r--r--asm/cable_club.s178
-rw-r--r--asm/clock.s175
-rw-r--r--asm/coins.s74
-rw-r--r--asm/contest.s108
-rw-r--r--asm/contest_link_80F57C4.s20
-rw-r--r--asm/contest_link_80FC4F4.s10
-rw-r--r--[-rwxr-xr-x]asm/contest_link_81D9DE4.s0
-rw-r--r--asm/contest_painting.s6
-rw-r--r--asm/coord_event_weather.s156
-rw-r--r--asm/credits.s3903
-rw-r--r--asm/crt0.s4
-rw-r--r--asm/dewford_trend.s975
-rw-r--r--asm/easy_chat.s42
-rw-r--r--asm/field_camera.s1153
-rw-r--r--asm/field_control_avatar.s100
-rw-r--r--asm/field_door.s754
-rw-r--r--asm/field_effect.s8533
-rw-r--r--asm/field_effect_helpers.s126
-rw-r--r--asm/field_ground_effect.s1929
-rw-r--r--asm/field_message_box.s337
-rw-r--r--asm/field_player_avatar.s600
-rw-r--r--asm/field_poison.s323
-rw-r--r--asm/field_screen.s276
-rw-r--r--asm/field_specials.s (renamed from asm/rom6.s)5213
-rw-r--r--asm/field_tasks.s1921
-rw-r--r--asm/fieldmap.s2285
-rw-r--r--asm/fldeff_80F9BCC.s90
-rwxr-xr-xasm/fldeff_cut.s1486
-rwxr-xr-xasm/fldeff_groundshake.s596
-rwxr-xr-xasm/fldeff_softboiled.s339
-rw-r--r--asm/fldeff_strength.s93
-rw-r--r--asm/fldeff_sweetscent.s220
-rw-r--r--asm/fldeff_teleport.s84
-rw-r--r--[-rwxr-xr-x]asm/fossil_specials.s887
-rw-r--r--[-rwxr-xr-x]asm/international_string_util.s6
-rw-r--r--asm/intro.s6270
-rw-r--r--asm/intro_credits_graphics.s1077
-rw-r--r--asm/item.s1921
-rwxr-xr-xasm/item_icon.s468
-rwxr-xr-xasm/item_menu.s6452
-rwxr-xr-xasm/item_menu_icons.s637
-rw-r--r--asm/item_use.s2863
-rw-r--r--asm/landmark.s128
-rw-r--r--[-rwxr-xr-x]asm/learn_move.s26
-rw-r--r--asm/librfu.s1224
-rw-r--r--asm/link_rfu.s2021
-rwxr-xr-xasm/list_menu.s1643
-rw-r--r--asm/load_save.s669
-rw-r--r--asm/macros.inc21
-rw-r--r--asm/macros/battle_ai_script.inc619
-rw-r--r--asm/macros/battle_anim_script.inc268
-rw-r--r--asm/macros/battle_script.inc1401
-rw-r--r--asm/macros/event.inc231
-rw-r--r--asm/macros/m4a.inc13
-rw-r--r--asm/macros/map.inc80
-rw-r--r--asm/macros/movement.inc234
-rw-r--r--asm/macros/music_voice.inc125
-rw-r--r--asm/macros/pokemon_data.inc2
-rw-r--r--asm/macros/window.inc2
-rwxr-xr-xasm/mail_data.s589
-rw-r--r--asm/main_menu.s5477
-rwxr-xr-xasm/map_name_popup.s570
-rw-r--r--asm/map_obj_8097404.s1861
-rw-r--r--asm/map_obj_lock.s474
-rw-r--r--asm/mauville_old_man.s2519
-rwxr-xr-xasm/menu.s5505
-rw-r--r--asm/menu_helpers.s986
-rwxr-xr-xasm/menu_indicators.s1442
-rw-r--r--asm/mon_markings.s946
-rw-r--r--asm/mystery_event_menu.s669
-rw-r--r--asm/mystery_event_script.s870
-rw-r--r--asm/naming_screen.s4267
-rwxr-xr-xasm/new_menu_helpers.s1178
-rw-r--r--asm/option_menu.s1694
-rw-r--r--[-rwxr-xr-x]asm/party_menu.s416
-rw-r--r--asm/player_pc.s3436
-rwxr-xr-xasm/pokeball.s2861
-rw-r--r--asm/pokeblock_feed.s1873
-rw-r--r--asm/pokedex.s13372
-rw-r--r--asm/pokedex_area_screen.s10
-rw-r--r--asm/pokedex_cry_screen.s6
-rw-r--r--asm/pokemon_1.s2016
-rw-r--r--asm/pokemon_3.s529
-rw-r--r--asm/pokemon_animation.s11782
-rwxr-xr-xasm/pokemon_icon.s822
-rw-r--r--asm/pokemon_item_effect.s1967
-rw-r--r--[-rwxr-xr-x]asm/pokemon_storage_system.s94
-rw-r--r--[-rwxr-xr-x]asm/pokemon_summary_screen.s950
-rw-r--r--[-rwxr-xr-x]asm/pokenav.s1287
-rw-r--r--asm/post_battle_event_funcs.s165
-rwxr-xr-xasm/rayquaza_scene.s5972
-rw-r--r--asm/record_mixing.s3711
-rw-r--r--asm/reset_rtc_screen.s1342
-rw-r--r--asm/rom4.s6825
-rw-r--r--asm/rom_8011DC0.s (renamed from asm/link.s)23594
-rw-r--r--asm/rotating_gate.s1152
-rw-r--r--asm/roulette.s86
-rw-r--r--asm/script_menu.s28
-rwxr-xr-xasm/script_movement.s577
-rw-r--r--asm/script_pokemon_util_80F87D8.s36
-rw-r--r--asm/shop.s80
-rw-r--r--asm/slot_machine.s28
-rwxr-xr-xasm/smokescreen.s214
-rw-r--r--asm/start_menu.s2101
-rw-r--r--asm/title_screen.s1321
-rw-r--r--asm/trade.s233
-rw-r--r--asm/trader.s558
-rw-r--r--asm/trainer_card.s68
-rwxr-xr-xasm/trainer_rematch.s206
-rw-r--r--asm/trainer_see.s1645
-rw-r--r--asm/unk_81BAD84.s57
-rwxr-xr-xasm/unk_sprite_file.s607
-rwxr-xr-xasm/unk_text_util.s99
-rwxr-xr-xasm/unk_transition.s725
-rwxr-xr-xasm/unk_transition_2.s268
-rw-r--r--asm/unknown_task.s593
-rw-r--r--[-rwxr-xr-x]asm/use_pokeblock.s390
-rw-r--r--asm/wallclock.s1515
140 files changed, 9662 insertions, 218160 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s
deleted file mode 100644
index 9665b0d11..000000000
--- a/asm/battle_1.s
+++ /dev/null
@@ -1,3065 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8034C54
-sub_8034C54: @ 8034C54
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_02022E10
- ldr r0, [r5]
- cmp r0, 0
- beq _08034C64
- bl sub_8034CC8
-_08034C64:
- movs r0, 0x8
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- bne _08034C78
- movs r0, 0
- b _08034CC0
- .pool
-_08034C78:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- bl Alloc
- ldr r1, [r5]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _08034C94
- adds r0, r1, 0
- bl Free
- movs r0, 0
- b _08034CC0
-_08034C94:
- str r4, [r1]
- movs r3, 0
- cmp r3, r4
- bcs _08034CBE
- movs r7, 0
- movs r6, 0xFF
- movs r2, 0
-_08034CA2:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r2, r0
- strb r7, [r0]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r2, r1
- ldrb r0, [r1, 0x1]
- orrs r0, r6
- strb r0, [r1, 0x1]
- adds r2, 0x1C
- adds r3, 0x1
- cmp r3, r4
- bcc _08034CA2
-_08034CBE:
- movs r0, 0x1
-_08034CC0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8034C54
-
- thumb_func_start sub_8034CC8
-sub_8034CC8: @ 8034CC8
- push {r4,r5,lr}
- ldr r2, =gUnknown_02022E10
- ldr r1, [r2]
- cmp r1, 0
- beq _08034D08
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _08034CFC
- movs r4, 0
- ldr r0, [r1]
- cmp r4, r0
- bcs _08034CF2
- adds r5, r2, 0
-_08034CE2:
- adds r0, r4, 0
- bl sub_80353DC
- adds r4, 0x1
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r4, r0
- bcc _08034CE2
-_08034CF2:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl Free
-_08034CFC:
- ldr r4, =gUnknown_02022E10
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_08034D08:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8034CC8
-
- thumb_func_start sub_8034D14
-sub_8034D14: @ 8034D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- mov r10, r1
- adds r5, r2, 0
- ldr r6, =gUnknown_02022E10
- ldr r0, [r6]
- cmp r0, 0
- beq _08034DD4
- ldr r1, [r0, 0x4]
- mov r0, r8
- lsls r2, r0, 3
- subs r0, r2, r0
- lsls r4, r0, 2
- adds r1, r4, r1
- ldrb r0, [r1]
- mov r9, r2
- cmp r0, 0
- bne _08034DD4
- ldrb r0, [r5, 0x1]
- bl sub_8035518
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _08034DD4
- ldr r0, [r5, 0x8]
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r0, 0xA]
- ldr r7, =0xffff0000
- lsrs r0, r7, 16
- cmp r1, r0
- bne _08034DE0
- ldr r2, [r5, 0x8]
- ldrh r0, [r2, 0x4]
- adds r1, r2, 0
- cmp r0, 0
- beq _08034D94
- adds r0, r1, 0
- bl LoadSpriteSheet
- b _08034DB4
- .pool
-_08034D94:
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- bl sub_8034974
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp, 0x4]
- ands r1, r7
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPic
-_08034DB4:
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strh r0, [r1, 0xA]
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- mov r2, r9
- mov r3, r8
- subs r0, r2, r3
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0xA]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _08034DE0
-_08034DD4:
- movs r0, 0
- b _08034EE8
- .pool
-_08034DE0:
- ldr r0, [r5, 0xC]
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- ldr r6, =gUnknown_02022E10
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- mov r4, r9
- mov r3, r8
- subs r2, r4, r3
- lsls r4, r2, 2
- adds r1, r4, r1
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r0, [r0, 0x4]
- cmp r0, 0xFF
- bne _08034E14
- ldr r0, [r5, 0xC]
- bl LoadSpritePalette
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x4]
-_08034E14:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r1, 0x2]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x1]
- strb r1, [r0, 0x3]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0, 0xC]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrh r1, [r5, 0x6]
- strh r1, [r0, 0xE]
- ldr r1, [r2, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r1, 0x6]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r5]
- lsrs r0, 6
- strb r0, [r1, 0x7]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrb r1, [r5, 0x2]
- strb r1, [r0, 0x8]
- ldrb r1, [r5]
- lsls r0, r1, 28
- lsrs r0, 30
- lsls r1, 26
- lsrs r1, 30
- bl sub_80355F8
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- adds r1, r4, r1
- strb r0, [r1, 0x9]
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0x8]
- ldrh r1, [r1, 0x6]
- strh r1, [r0, 0x10]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldr r1, [r5, 0xC]
- ldrh r1, [r1, 0x4]
- strh r1, [r0, 0x12]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- str r1, [r0, 0x14]
- movs r3, 0x1
- ldrb r0, [r5, 0x1]
- cmp r3, r0
- bcs _08034ECA
-_08034EB2:
- ldr r0, [r6]
- ldr r2, [r0, 0x4]
- adds r2, r4, r2
- ldr r1, [r2, 0x14]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- str r0, [r2, 0x14]
- adds r3, 0x1
- ldrb r2, [r5, 0x1]
- cmp r3, r2
- bcc _08034EB2
-_08034ECA:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- mov r3, r9
- mov r4, r8
- subs r1, r3, r4
- lsls r1, 2
- ldr r0, [r0, 0x4]
- adds r0, r1
- bl sub_8034EFC
- mov r0, r8
- mov r1, r10
- bl sub_8035044
- movs r0, 0x1
-_08034EE8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8034D14
-
- thumb_func_start sub_8034EFC
-sub_8034EFC: @ 8034EFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r5, [r4, 0x1]
- movs r0, 0xC
- ldrsh r7, [r4, r0]
- ldrb r0, [r4, 0x3]
- adds r0, 0x1
- mov r8, r0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- lsls r1, r5, 3
- ldr r2, =gUnknown_030022F8
- mov r9, r2
- add r1, r9
- mov r0, r8
- lsls r2, r0, 2
- movs r0, 0x80
- lsls r0, 17
- orrs r2, r0
- mov r0, sp
- bl CpuSet
- movs r6, 0
- ldrb r5, [r4, 0x1]
- cmp r6, r8
- bcs _08034FCE
- movs r1, 0x3F
- mov r10, r1
- movs r2, 0xD
- negs r2, r2
- mov r9, r2
-_08034F46:
- lsls r0, r5, 3
- ldr r1, =gMain
- adds r3, r0, r1
- ldrh r1, [r4, 0xE]
- adds r0, r3, 0
- adds r0, 0x38
- strb r1, [r0]
- ldr r2, =0x000001ff
- adds r0, r2, 0
- adds r1, r7, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- ldrb r1, [r4, 0x6]
- movs r0, 0x39
- adds r0, r3
- mov r12, r0
- lsls r1, 6
- ldrb r2, [r0]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r2, 0x3B
- adds r2, r3
- mov r12, r2
- lsls r1, 6
- ldrb r2, [r2]
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r4, 0xA]
- ldr r1, =0x000003ff
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- adds r3, 0x3D
- movs r0, 0x3
- ldrb r1, [r4, 0x7]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r2, [r4, 0x4]
- lsls r2, 4
- movs r1, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldrb r0, [r4, 0x8]
- adds r7, r0
- adds r6, 0x1
- adds r5, 0x1
- cmp r6, r8
- bcc _08034F46
-_08034FCE:
- subs r5, 0x1
- ldr r0, =gMain
- lsls r3, r5, 3
- adds r3, r0
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- ldrb r0, [r4, 0x8]
- subs r1, r0
- ldr r2, =0x000001ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3A]
- adds r2, r3, 0
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x9]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- ldrh r4, [r4, 0xA]
- adds r1, r4
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r2, [r3, 0x3C]
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x3C]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8034EFC
-
- thumb_func_start sub_8035044
-sub_8035044: @ 8035044
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r6, r0, 0
- cmp r1, 0
- beq _080350A8
- ldr r2, [r1, 0x4]
- lsls r1, r3, 3
- subs r0, r1, r3
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _080350A8
- str r4, [r2, 0x18]
- cmp r4, 0
- bge _08035078
- movs r2, 0x1
- negs r4, r4
- b _0803507A
- .pool
-_08035078:
- movs r2, 0
-_0803507A:
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- subs r0, r5, r3
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x2]
- cmp r3, 0x1
- beq _0803509A
- cmp r3, 0x1
- ble _08035092
- cmp r3, 0x2
- beq _080350A2
-_08035092:
- adds r1, r4, 0
- bl sub_80350B0
- b _080350A8
-_0803509A:
- adds r1, r4, 0
- bl sub_8035164
- b _080350A8
-_080350A2:
- adds r1, r4, 0
- bl sub_80352C0
-_080350A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8035044
-
- thumb_func_start sub_80350B0
-sub_80350B0: @ 80350B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- mov r9, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r7, [r0, 0x1]
- ldr r0, =gMain
- mov r10, r0
- cmp r5, 0
- beq _0803511A
- lsls r0, r7, 3
- adds r0, 0x3C
- mov r1, r10
- adds r6, r0, r1
-_080350D6:
- mov r0, r9
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r2, r9
- subs r2, r0
- mov r9, r2
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r1, r4, 0
- muls r1, r0
- mov r2, r8
- ldrh r2, [r2, 0xA]
- adds r1, r2
- ldr r2, =0x000003ff
- adds r0, r2, 0
- ands r1, r0
- ldrh r0, [r6]
- ldr r2, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r6]
- adds r6, 0x8
- adds r7, 0x1
- cmp r5, 0
- bne _080350D6
-_0803511A:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035140
- lsls r0, r7, 3
- add r0, r10
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _08035154
- .pool
-_08035140:
- lsls r2, r7, 3
- add r2, r10
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_08035154:
- 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_80350B0
-
- thumb_func_start sub_8035164
-sub_8035164: @ 8035164
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- str r2, [sp]
- ldr r5, [r6, 0x14]
- ldr r3, =gUnknown_03000DD4
- ldrb r0, [r6, 0x1]
- str r0, [r3]
- ldr r2, =gUnknown_03000DD8
- movs r0, 0
- str r0, [r2]
- ldr r1, =gUnknown_03000DDC
- subs r0, 0x1
- str r0, [r1]
- adds r7, r3, 0
- mov r10, r1
- ldr r0, =gMain
- mov r9, r0
- cmp r5, 0
- beq _0803524C
-_08035196:
- mov r0, r8
- adds r1, r5, 0
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r8
- subs r1, r0
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- cmp r4, 0
- bne _080351C8
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080351C8
- cmp r5, 0
- bne _08035224
-_080351C8:
- ldr r2, [r7]
- lsls r2, 3
- add r2, r9
- ldrb r0, [r6, 0x9]
- adds r3, r4, 0
- muls r3, r0
- ldrh r4, [r6, 0xA]
- adds r3, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r3, r0
- ldrh r0, [r2, 0x3C]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r3
- strh r0, [r2, 0x3C]
- adds r2, 0x39
- ldrb r0, [r2]
- movs r1, 0x4
- negs r1, r1
- ands r0, r1
- strb r0, [r2]
- mov r2, r10
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0803523A
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- str r0, [r2]
- b _0803523A
- .pool
-_08035224:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r1, [r0]
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0803523A:
- ldr r0, [r7]
- adds r0, 0x1
- str r0, [r7]
- ldr r4, =gUnknown_03000DD8
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- cmp r5, 0
- bne _08035196
-_0803524C:
- ldr r0, [sp]
- cmp r0, 0
- beq _08035298
- ldr r1, [r7]
- lsls r1, 3
- add r1, r9
- adds r1, 0x39
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r3, [r7]
- lsls r3, 3
- add r3, r9
- movs r1, 0xC
- ldrsh r2, [r6, r1]
- mov r4, r10
- ldr r0, [r4]
- subs r0, 0x1
- ldrb r1, [r6, 0x8]
- muls r0, r1
- adds r2, r0
- ldr r1, =0x000001ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r1, [r3, 0x3A]
- ldr r0, =0xfffffe00
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x3A]
- b _080352AE
- .pool
-_08035298:
- ldr r0, [r7]
- lsls r0, 3
- add r0, r9
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_080352AE:
- 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_8035164
-
- thumb_func_start sub_80352C0
-sub_80352C0: @ 80352C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- mov r10, r1
- str r2, [sp]
- ldr r5, [r0, 0x14]
- ldrb r3, [r0, 0x1]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r9, r0
- cmp r5, 0
- beq _0803535A
-_080352E0:
- lsls r0, r3, 3
- adds r1, r0, 0
- adds r1, 0x39
- ldr r2, =gMain
- adds r7, r1, r2
- adds r0, 0x3C
- adds r6, r0, r2
-_080352EE:
- mov r0, r10
- adds r1, r5, 0
- str r3, [sp, 0x8]
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r4, 0
- muls r0, r5
- mov r1, r10
- subs r1, r0
- mov r10, r1
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- ldr r3, [sp, 0x8]
- cmp r4, 0
- bne _0803531E
- ldr r2, [sp, 0x4]
- cmp r2, 0
- bne _0803531E
- cmp r5, 0
- bne _080352E0
-_0803531E:
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r1, r8
- ldrb r0, [r1, 0x9]
- adds r2, r4, 0
- muls r2, r0
- ldrh r4, [r1, 0xA]
- adds r2, r4
- ldr r1, =0x000003ff
- adds r0, r1, 0
- ands r2, r0
- ldrh r0, [r6]
- ldr r4, =0xfffffc00
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r6]
- ldrb r0, [r7]
- movs r2, 0x4
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r7]
- adds r7, 0x8
- adds r6, 0x8
- adds r3, 0x1
- movs r4, 0x1
- add r9, r4
- cmp r5, 0
- bne _080352EE
-_0803535A:
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- bge _0803538A
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- lsls r0, r3, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035370:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- adds r2, 0x8
- adds r3, 0x1
- movs r1, 0x1
- add r9, r1
- mov r0, r8
- ldrb r0, [r0, 0x3]
- cmp r9, r0
- blt _08035370
-_0803538A:
- ldr r1, [sp]
- cmp r1, 0
- beq _080353B0
- lsls r0, r3, 3
- ldr r2, =gMain
- adds r0, r2
- adds r0, 0x39
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- b _080353C6
- .pool
-_080353B0:
- lsls r2, r3, 3
- ldr r4, =gMain
- adds r2, r4
- adds r2, 0x39
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_080353C6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80352C0
-
- thumb_func_start sub_80353DC
-sub_80353DC: @ 80353DC
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- cmp r0, 0
- beq _0803546E
- ldr r2, [r0, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r5, r1, 0
- cmp r0, 0
- beq _0803546E
- ldrb r3, [r2, 0x3]
- adds r0, r3, 0x1
- ldrb r2, [r2, 0x1]
- cmp r0, 0
- beq _08035426
- ldr r1, =gMain
- movs r7, 0x4
- negs r7, r7
- movs r6, 0x2
- adds r3, r0, 0
- lsls r0, r2, 3
- adds r0, 0x39
- adds r2, r0, r1
-_08035414:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _08035414
-_08035426:
- adds r0, r4, 0
- bl sub_8035570
- cmp r0, 0
- bne _08035442
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x10]
- bl FreeSpriteTilesByTag
-_08035442:
- adds r0, r4, 0
- bl sub_80355B4
- cmp r0, 0
- bne _0803545E
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl FreeSpritePaletteByTag
-_0803545E:
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r5, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0803546E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80353DC
-
- thumb_func_start sub_803547C
-sub_803547C: @ 803547C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_02022E10
- ldr r1, [r0]
- adds r7, r0, 0
- cmp r1, 0
- beq _0803550C
- ldr r2, [r1, 0x4]
- lsls r1, r4, 3
- subs r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2]
- adds r6, r1, 0
- cmp r0, 0
- beq _0803550C
- ldrb r3, [r2, 0x3]
- adds r1, r3, 0x1
- ldrb r0, [r2, 0x1]
- cmp r5, 0
- beq _080354D8
- cmp r1, 0
- beq _0803550C
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- movs r4, 0x2
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354BC:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r4
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354BC
- b _0803550C
- .pool
-_080354D8:
- cmp r1, 0
- beq _080354FA
- ldr r1, =gMain
- movs r5, 0x4
- negs r5, r5
- adds r3, 0x1
- lsls r0, 3
- adds r0, 0x39
- adds r2, r0, r1
-_080354EA:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- subs r3, 0x1
- adds r2, 0x8
- cmp r3, 0
- bne _080354EA
-_080354FA:
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- subs r0, r6, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- bl sub_8035044
-_0803550C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_803547C
-
- thumb_func_start sub_8035518
-sub_8035518: @ 8035518
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0x40
- movs r3, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r2, [r0]
- cmp r3, r2
- bcs _0803555A
- ldr r1, [r0, 0x4]
-_0803552E:
- ldrb r0, [r1]
- cmp r0, 0
- bne _08035548
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- beq _08035552
- ldrb r0, [r1, 0x3]
- cmp r0, r4
- bhi _08035552
- ldrb r0, [r1, 0x1]
- b _0803556A
- .pool
-_08035548:
- adds r0, r5, 0x1
- ldrb r5, [r1, 0x3]
- adds r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
-_08035552:
- adds r1, 0x1C
- adds r3, 0x1
- cmp r3, r2
- bcc _0803552E
-_0803555A:
- adds r0, r5, r4
- adds r0, 0x1
- cmp r0, 0x80
- bgt _08035568
- lsls r0, r5, 24
- lsrs r0, 24
- b _0803556A
-_08035568:
- movs r0, 0xFF
-_0803556A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8035518
-
- thumb_func_start sub_8035570
-sub_8035570: @ 8035570
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355AC
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_0803558A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355A4
- cmp r2, r3
- beq _080355A4
- ldrh r0, [r1, 0x10]
- ldrh r6, [r5, 0x10]
- cmp r0, r6
- bne _080355A4
- movs r0, 0x1
- b _080355AE
- .pool
-_080355A4:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _0803558A
-_080355AC:
- movs r0, 0
-_080355AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8035570
-
- thumb_func_start sub_80355B4
-sub_80355B4: @ 80355B4
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, =gUnknown_02022E10
- ldr r0, [r0]
- ldr r4, [r0]
- cmp r2, r4
- bcs _080355F0
- ldr r1, [r0, 0x4]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r5, r0, r1
-_080355CE:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080355E8
- cmp r2, r3
- beq _080355E8
- ldrh r0, [r1, 0x12]
- ldrh r6, [r5, 0x12]
- cmp r0, r6
- bne _080355E8
- movs r0, 0x1
- b _080355F2
- .pool
-_080355E8:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, r4
- bcc _080355CE
-_080355F0:
- movs r0, 0
-_080355F2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80355B4
-
- thumb_func_start sub_80355F8
-sub_80355F8: @ 80355F8
- ldr r2, =gUnknown_082FF1C8
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80355F8
-
- thumb_func_start sub_8035608
-sub_8035608: @ 8035608
- push {lr}
- bl ResetSpriteData
- ldr r0, =gUnknown_0831AC88
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, =sub_8035648
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8035608
-
- thumb_func_start sub_8035648
-sub_8035648: @ 8035648
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8035648
-
- thumb_func_start trs_config
-trs_config: @ 8035658
- push {r4,lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0831AA08
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 11
- ands r1, r0
- cmp r1, 0
- beq _080356A4
- ldr r0, =gBattleScripting
- adds r0, 0x24
- movs r1, 0x1
- strb r1, [r0]
- ldr r4, =gUnknown_02023060
- ldr r1, [r4]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- b _080356AA
- .pool
-_080356A4:
- ldr r0, =gBattleScripting
- adds r0, 0x24
- strb r1, [r0]
-_080356AA:
- ldr r1, =gUnknown_0831ABA0
- ldr r0, =gBattleScripting
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl InitWindows
- bl DeactivateAllTextPrinters
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end trs_config
-
- thumb_func_start sub_80356D0
-sub_80356D0: @ 80356D0
- push {lr}
- movs r0, 0x2
- bl DisableInterrupts
- movs r0, 0xC5
- bl EnableInterrupts
- bl trs_config
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x0000b040
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80356D0
-
- thumb_func_start ApplyPlayerChosenFrameToBattleMenu
-ApplyPlayerChosenFrameToBattleMenu: @ 803570C
- push {lr}
- movs r0, 0x2
- movs r1, 0x12
- movs r2, 0x10
- bl sub_809882C
- movs r0, 0x2
- movs r1, 0x22
- movs r2, 0x10
- bl sub_809882C
- ldr r0, =gUnknown_08D85600
- movs r1, 0x50
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0803575A
- movs r0, 0x70
- bl sub_81978B0
- movs r0, 0
- movs r1, 0x30
- movs r2, 0x70
- bl copy_textbox_border_tile_patterns_to_vram
- ldr r0, =gPlttBufferUnfaded
- adds r0, 0xEC
- movs r1, 0
- strh r1, [r0]
- ldr r1, =gPlttBufferFaded + 0xEC
- movs r2, 0x1
- bl CpuSet
-_0803575A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyPlayerChosenFrameToBattleMenu
-
- thumb_func_start DrawMainBattleBackground
-DrawMainBattleBackground: @ 8035770
- push {r4,r5,lr}
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x023f0902
- ands r0, r1
- cmp r0, 0
- beq _080357B0
- ldr r0, =gUnknown_08D7C440
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7CA28
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7C9EC
- b _08035A52
- .pool
-_080357B0:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r1
- cmp r0, 0
- beq _080357E4
- ldr r0, =gUnknown_08D7BB14
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7C154
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7DF30
- b _08035A52
- .pool
-_080357E4:
- movs r0, 0x80
- lsls r0, 22
- ands r0, r1
- cmp r0, 0
- beq _08035818
- ldr r0, =gUnknown_08D7A108
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7A720
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7DEF4
- b _08035A52
- .pool
-_08035818:
- movs r0, 0x80
- lsls r0, 23
- ands r0, r1
- cmp r0, 0
- beq _0803584C
- ldr r0, =gUnknown_08D7D590
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7DC04
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E234
- b _08035A52
- .pool
-_0803584C:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080358C4
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x20
- bne _08035898
- ldr r0, =gUnknown_08D7C440
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7CA28
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7DFC4
- b _08035A52
- .pool
-_08035898:
- cmp r0, 0x26
- bne _080358C4
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E1F8
- b _08035A52
- .pool
-_080358C4:
- bl sav1_map_get_battletype
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bhi _08035904
- lsls r0, 2
- ldr r1, =_080358E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080358E0:
- .4byte _08035904
- .4byte _08035950
- .4byte _08035978
- .4byte _080359A0
- .4byte _080359C8
- .4byte _080359F0
- .4byte _08035A18
- .4byte _08035A40
- .4byte _08035A70
-_08035904:
- ldr r4, =gBattleTerrainTable
- ldr r5, =gBattleTerrain
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r4, 0x10
- adds r0, r4
- ldr r0, [r0]
- b _08035A52
- .pool
-_08035950:
- ldr r0, =gUnknown_08D7C440
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7CA28
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7DF88
- b _08035A52
- .pool
-_08035978:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E060
- b _08035A52
- .pool
-_080359A0:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E000
- b _08035A52
- .pool
-_080359C8:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E0CC
- b _08035A52
- .pool
-_080359F0:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E11C
- b _08035A52
- .pool
-_08035A18:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E164
- b _08035A52
- .pool
-_08035A40:
- ldr r0, =gUnknown_08D7CCD8
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7D2E0
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7E1A8
-_08035A52:
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- b _08035A8A
- .pool
-_08035A70:
- ldr r0, =gUnknown_08D7C440
- ldr r1, =0x06008000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7CA28
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7C9EC
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
-_08035A8A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMainBattleBackground
-
- thumb_func_start LoadBattleTextboxAndBackground
-LoadBattleTextboxAndBackground: @ 8035AA4
- push {lr}
- ldr r0, =gUnknown_08C00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r1, =gUnknown_08C00524
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_08C004E0
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- bl ApplyPlayerChosenFrameToBattleMenu
- bl DrawMainBattleBackground
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadBattleTextboxAndBackground
-
- thumb_func_start sub_8035AE4
-sub_8035AE4: @ 8035AE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- movs r4, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08035BCC
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08035B56
- cmp r5, 0x1
- beq _08035B7E
- cmp r5, 0x1
- bgt _08035B44
- cmp r5, 0
- beq _08035B4E
- b _08035B88
- .pool
-_08035B44:
- cmp r5, 0x2
- beq _08035B52
- cmp r5, 0x3
- beq _08035B72
- b _08035B88
-_08035B4E:
- ldrh r0, [r1, 0xE]
- b _08035B74
-_08035B52:
- ldrh r1, [r1, 0xE]
- b _08035B80
-_08035B56:
- cmp r5, 0x1
- beq _08035B72
- cmp r5, 0x1
- bgt _08035B64
- cmp r5, 0
- beq _08035B6E
- b _08035B88
-_08035B64:
- cmp r5, 0x2
- beq _08035B7A
- cmp r5, 0x3
- beq _08035B7E
- b _08035B88
-_08035B6E:
- ldrh r0, [r1, 0xE]
- b _08035B74
-_08035B72:
- ldrh r0, [r1, 0x10]
-_08035B74:
- movs r4, 0x3F
- ands r4, r0
- b _08035B88
-_08035B7A:
- ldrh r1, [r1, 0xE]
- b _08035B80
-_08035B7E:
- ldrh r1, [r1, 0x10]
-_08035B80:
- movs r0, 0xFC
- lsls r0, 4
- ands r0, r1
- lsrs r4, r0, 6
-_08035B88:
- movs r2, 0
- movs r6, 0x3
- ldr r0, =0x00006001
- adds r5, r0, 0
- add r3, sp, 0xC
-_08035B92:
- lsls r1, r2, 1
- adds r0, r6, 0
- lsls r0, r1
- ands r0, r4
- asrs r0, r1
- adds r0, r5
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x2
- ble _08035B92
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r0, r8
- add r1, sp, 0xC
- mov r2, r12
- mov r3, r9
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r0, r8
- bl CopyBgTilemapBufferToVram
- b _08035C36
- .pool
-_08035BCC:
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r0, [r0]
- cmp r5, r0
- bne _08035BEC
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0xE]
- b _08035BF8
- .pool
-_08035BEC:
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0x10]
-_08035BF8:
- movs r2, 0
- movs r6, 0x3
- ldr r0, =0x00006001
- adds r5, r0, 0
- add r3, sp, 0xC
-_08035C02:
- lsls r1, r2, 1
- adds r0, r6, 0
- lsls r0, r1
- ands r0, r4
- asrs r0, r1
- adds r0, r5
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x5
- ble _08035C02
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r0, r8
- add r1, sp, 0xC
- mov r2, r12
- mov r3, r9
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r0, r8
- bl CopyBgTilemapBufferToVram
-_08035C36:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8035AE4
-
- thumb_func_start sub_8035C4C
-sub_8035C4C: @ 8035C4C
- push {lr}
- ldr r0, =gBattleOutcome
- ldrb r2, [r0]
- cmp r2, 0x3
- bne _08035C68
- ldr r0, =gText_Draw
- movs r1, 0x15
- bl BattleHandleAddTextPrinter
- b _08035D68
- .pool
-_08035C68:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08035CE2
- cmp r2, 0x1
- bne _08035CAE
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _08035CFC
- cmp r0, 0x1
- bgt _08035CA4
- cmp r0, 0
- beq _08035D36
- b _08035D68
- .pool
-_08035CA4:
- cmp r0, 0x2
- beq _08035D36
- cmp r0, 0x3
- bne _08035D68
- b _08035CFC
-_08035CAE:
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _08035D36
- cmp r0, 0x1
- bgt _08035CD8
- cmp r0, 0
- beq _08035CFC
- b _08035D68
- .pool
-_08035CD8:
- cmp r0, 0x2
- beq _08035CFC
- cmp r0, 0x3
- bne _08035D68
- b _08035D36
-_08035CE2:
- cmp r2, 0x1
- bne _08035D20
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _08035D36
-_08035CFC:
- ldr r0, =gText_Win
- movs r1, 0x17
- bl BattleHandleAddTextPrinter
- ldr r0, =gText_Loss
- movs r1, 0x16
- bl BattleHandleAddTextPrinter
- b _08035D68
- .pool
-_08035D20:
- ldr r2, =gLinkPlayers
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _08035D58
-_08035D36:
- ldr r0, =gText_Win
- movs r1, 0x16
- bl BattleHandleAddTextPrinter
- ldr r0, =gText_Loss
- movs r1, 0x17
- bl BattleHandleAddTextPrinter
- b _08035D68
- .pool
-_08035D58:
- ldr r0, =gText_Win
- movs r1, 0x17
- bl BattleHandleAddTextPrinter
- ldr r0, =gText_Loss
- movs r1, 0x16
- bl BattleHandleAddTextPrinter
-_08035D68:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8035C4C
-
- thumb_func_start task00_0800F6FC
-task00_0800F6FC: @ 8035D74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- mov r8, r0
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08035D96
- b _08035EC4
-_08035D96:
- cmp r0, 0x1
- bgt _08035DA4
- cmp r0, 0
- beq _08035DAC
- b _08036138
- .pool
-_08035DA4:
- cmp r0, 0x2
- bne _08035DAA
- b _08035F64
-_08035DAA:
- b _08036138
-_08035DAC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08035E44
- movs r5, 0
- movs r6, 0x3
-_08035DBC:
- ldr r0, =gLinkPlayers + 8
- adds r1, r5, r0
- subs r0, 0x8
- adds r4, r5, r0
- ldrh r0, [r4, 0x18]
- cmp r0, 0x1
- beq _08035DF4
- cmp r0, 0x1
- bgt _08035DDC
- cmp r0, 0
- beq _08035DE6
- b _08035E3A
- .pool
-_08035DDC:
- cmp r0, 0x2
- beq _08035E08
- cmp r0, 0x3
- beq _08035E22
- b _08035E3A
-_08035DE6:
- adds r0, r1, 0
- movs r1, 0x11
- bl BattleHandleAddTextPrinter
- ldrb r1, [r4, 0x18]
- movs r0, 0x4
- b _08035E14
-_08035DF4:
- adds r0, r1, 0
- movs r1, 0x12
- bl BattleHandleAddTextPrinter
- ldrb r1, [r4, 0x18]
- movs r0, 0x4
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x2
- b _08035E1A
-_08035E08:
- adds r0, r1, 0
- movs r1, 0x13
- bl BattleHandleAddTextPrinter
- ldrb r1, [r4, 0x18]
- movs r0, 0x8
-_08035E14:
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x1
-_08035E1A:
- movs r3, 0x2
- bl sub_8035AE4
- b _08035E3A
-_08035E22:
- adds r0, r1, 0
- movs r1, 0x14
- bl BattleHandleAddTextPrinter
- ldrb r1, [r4, 0x18]
- movs r0, 0x8
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_8035AE4
-_08035E3A:
- adds r5, 0x1C
- subs r6, 0x1
- cmp r6, 0
- bge _08035DBC
- b _08035EA6
-_08035E44:
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r5, [r0]
- movs r0, 0x1
- adds r6, r5, 0
- eors r6, r0
- adds r1, r6, 0
- ldr r4, =gLinkPlayers
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _08035E66
- adds r6, r5, 0
- adds r5, r1, 0
-_08035E66:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r4, 0x8
- adds r1, r0, r4
- adds r0, r1, 0
- movs r1, 0xF
- bl BattleHandleAddTextPrinter
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r1, r0, r4
- adds r0, r1, 0
- movs r1, 0x10
- bl BattleHandleAddTextPrinter
- movs r4, 0x7
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8035AE4
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_8035AE4
-_08035EA6:
- ldr r0, =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08036138
- .pool
-_08035EC4:
- ldr r0, =0x00002710
- bl AllocSpritePalette
- lsls r0, 24
- ldr r2, =gPlttBufferUnfaded
- lsrs r0, 19
- ldr r3, =0x0000021e
- adds r0, r3
- adds r2, r0, r2
- ldr r1, =gPlttBufferFaded
- adds r0, r1
- ldr r1, =0x00007fff
- strh r1, [r0]
- strh r1, [r2]
- ldr r0, =gUnknown_0831A9D0
- movs r1, 0x6F
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r4, =gBattleStruct
- ldr r1, [r4]
- adds r1, 0x7D
- strb r0, [r1]
- ldr r0, =gUnknown_0831A9E8
- movs r1, 0x81
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x7E
- strb r0, [r1]
- ldr r3, =gSprites
- ldr r0, [r4]
- adds r0, 0x7D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08036138
- .pool
-_08035F64:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08035FCC
- ldr r4, =gBattle_BG1_X
- ldrh r0, [r5, 0xA]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08035F7E
- adds r0, 0x1F
-_08035F7E:
- asrs r1, r0, 5
- movs r2, 0x14
- negs r2, r2
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, =gBattle_BG2_X
- ldrh r0, [r5, 0xC]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08035F9C
- adds r0, 0x1F
-_08035F9C:
- asrs r1, r0, 5
- movs r3, 0x8C
- negs r3, r3
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r4]
- ldr r0, =gBattle_BG1_Y
- ldr r2, =0x0000ffdc
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
- b _08036038
- .pool
-_08035FCC:
- ldr r4, =gBattle_BG1_X
- ldrh r0, [r5, 0xA]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08035FDE
- adds r0, 0x1F
-_08035FDE:
- asrs r1, r0, 5
- movs r3, 0x14
- negs r3, r3
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, =gBattle_BG1_Y
- ldrh r0, [r5, 0xA]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08035FFC
- adds r0, 0x1F
-_08035FFC:
- asrs r0, 5
- subs r0, 0xA4
- strh r0, [r4]
- ldr r4, =gBattle_BG2_X
- ldrh r0, [r5, 0xC]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08036014
- adds r0, 0x1F
-_08036014:
- asrs r1, r0, 5
- movs r2, 0x8C
- negs r2, r2
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, =gBattle_BG2_Y
- ldrh r0, [r5, 0xC]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08036032
- adds r0, 0x1F
-_08036032:
- asrs r0, 5
- subs r0, 0xA4
- strh r0, [r4]
-_08036038:
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xC]
- movs r2, 0xC
- ldrsh r3, [r1, r2]
- mov r8, r3
- cmp r3, 0
- beq _08036070
- subs r0, 0x2
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0xA]
- adds r0, 0x2
- strh r0, [r1, 0xA]
- b _08036138
- .pool
-_08036070:
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0803607C
- bl sub_8035C4C
-_0803607C:
- movs r0, 0x78
- bl PlaySE
- adds r0, r7, 0
- bl DestroyTask
- ldr r4, =gSprites
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7D
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r5, [r5]
- adds r6, r5, 0
- adds r6, 0x7E
- ldrb r0, [r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r7, =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- adds r5, 0x7D
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x30]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r2, r8
- strh r2, [r0, 0x32]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x32]
-_08036138:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_0800F6FC
-
- thumb_func_start LoadBattleEntryBackground
-LoadBattleEntryBackground: @ 8036154
- push {r4,r5,lr}
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08036208
- ldr r0, =gUnknown_08D778F0
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D77B0C
- ldr r1, =0x06010000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D77AE4
- movs r1, 0x60
- movs r2, 0x20
- bl LoadCompressedPalette
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetBgAttribute
- ldr r1, =0x00005c04
- movs r0, 0xA
- bl SetGpuReg
- ldr r4, =gUnknown_08D779D8
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x48
- movs r1, 0x36
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x36
- bl SetGpuReg
- ldr r0, =gBattle_BG1_Y
- ldr r2, =0x0000ff5c
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
- ldr r0, =gUnknown_0831AA00
- bl LoadCompressedObjectPicUsingHeap
- b _080363AC
- .pool
-_08036208:
- ldr r0, =0x023f0902
- ands r0, r1
- cmp r0, 0
- beq _0803628C
- movs r0, 0x80
- lsls r0, 15
- ands r1, r0
- cmp r1, 0
- beq _08036224
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _08036248
-_08036224:
- ldr r0, =gUnknown_08D820D4
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D824E4
- b _08036382
- .pool
-_08036248:
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x2
- bl SetBgAttribute
- ldr r1, =gUnknown_08D857A8
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gUnknown_08D85A1C
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _080363AC
- .pool
-_0803628C:
- movs r0, 0x80
- lsls r0, 21
- ands r0, r1
- cmp r0, 0
- beq _080362B0
- ldr r0, =gUnknown_08D81610
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D81E2C
- b _08036382
- .pool
-_080362B0:
- movs r0, 0x80
- lsls r0, 22
- ands r0, r1
- cmp r0, 0
- beq _080362D4
- ldr r0, =gUnknown_08D7F9F8
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D7FEC4
- b _08036382
- .pool
-_080362D4:
- movs r0, 0x80
- lsls r0, 23
- ands r0, r1
- cmp r0, 0
- beq _080362F8
- ldr r0, =gUnknown_08D82608
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D82C70
- b _08036382
- .pool
-_080362F8:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _08036350
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x20
- bne _08036334
- ldr r0, =gUnknown_08D820D4
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D824E4
- b _08036382
- .pool
-_08036334:
- cmp r0, 0x26
- bne _08036350
- ldr r0, =gUnknown_08D820D4
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D824E4
- b _08036382
- .pool
-_08036350:
- bl sav1_map_get_battletype
- lsls r0, 24
- cmp r0, 0
- bne _0803639C
- ldr r4, =gBattleTerrainTable
- ldr r5, =gBattleTerrain
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r4, 0xC
- adds r0, r4
- ldr r0, [r0]
-_08036382:
- ldr r1, =0x0600e000
- bl LZDecompressVram
- b _080363AC
- .pool
-_0803639C:
- ldr r0, =gUnknown_08D820D4
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D824E4
- ldr r1, =0x0600e000
- bl LZDecompressVram
-_080363AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadBattleEntryBackground
-
- thumb_func_start LoadChosenBattleElement
-LoadChosenBattleElement: @ 80363C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- cmp r0, 0x6
- bls _080363D2
- b _08036756
-_080363D2:
- lsls r0, 2
- ldr r1, =_080363E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080363E0:
- .4byte _080363FC
- .4byte _0803640C
- .4byte _08036424
- .4byte _08036434
- .4byte _0803652C
- .4byte _08036638
- .4byte _08036750
-_080363FC:
- ldr r0, =gUnknown_08C00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _08036758
- .pool
-_0803640C:
- ldr r1, =gUnknown_08C00524
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _08036758
- .pool
-_08036424:
- ldr r0, =gUnknown_08C004E0
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _08036758
- .pool
-_08036434:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x023f0902
- ands r0, r1
- cmp r0, 0
- bne _08036518
- movs r0, 0x80
- lsls r0, 21
- ands r0, r1
- cmp r0, 0
- beq _0803645C
- ldr r0, =gUnknown_08D7BB14
- b _0803651A
- .pool
-_0803645C:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _0803648C
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x20
- beq _08036518
- cmp r0, 0x26
- bne _0803648C
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_0803648C:
- bl sav1_map_get_battletype
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bhi _080364CC
- lsls r0, 2
- ldr r1, =_080364A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080364A8:
- .4byte _080364CC
- .4byte _08036518
- .4byte _080364E8
- .4byte _080364F0
- .4byte _080364F8
- .4byte _08036500
- .4byte _08036508
- .4byte _08036510
- .4byte _08036518
-_080364CC:
- ldr r2, =gBattleTerrainTable
- ldr r0, =gBattleTerrain
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- b _0803651A
- .pool
-_080364E8:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_080364F0:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_080364F8:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_08036500:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_08036508:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_08036510:
- ldr r0, =gUnknown_08D7CCD8
- b _0803651A
- .pool
-_08036518:
- ldr r0, =gUnknown_08D7C440
-_0803651A:
- ldr r1, =0x06008000
- bl LZDecompressVram
- b _08036758
- .pool
-_0803652C:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x023f0902
- ands r0, r1
- cmp r0, 0
- beq _0803653A
- b _08036624
-_0803653A:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _08036568
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08036560
- ldr r0, =gUnknown_08D7C154
- b _08036626
- .pool
-_08036560:
- ldr r0, =gUnknown_08D7A720
- b _08036626
- .pool
-_08036568:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _08036598
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x20
- beq _08036624
- cmp r0, 0x26
- bne _08036598
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_08036598:
- bl sav1_map_get_battletype
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bhi _080365D8
- lsls r0, 2
- ldr r1, =_080365B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080365B4:
- .4byte _080365D8
- .4byte _08036624
- .4byte _080365F4
- .4byte _080365FC
- .4byte _08036604
- .4byte _0803660C
- .4byte _08036614
- .4byte _0803661C
- .4byte _08036624
-_080365D8:
- ldr r2, =gBattleTerrainTable
- ldr r0, =gBattleTerrain
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- b _08036626
- .pool
-_080365F4:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_080365FC:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_08036604:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_0803660C:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_08036614:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_0803661C:
- ldr r0, =gUnknown_08D7D2E0
- b _08036626
- .pool
-_08036624:
- ldr r0, =gUnknown_08D7CA28
-_08036626:
- ldr r1, =0x0600d000
- bl LZDecompressVram
- b _08036758
- .pool
-_08036638:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r0, =0x023f0902
- ands r0, r1
- cmp r0, 0
- beq _08036646
- b _08036740
-_08036646:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _08036674
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0803666C
- ldr r0, =gUnknown_08D7DF30
- b _08036742
- .pool
-_0803666C:
- ldr r0, =gUnknown_08D7DEF4
- b _08036742
- .pool
-_08036674:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080366AC
- ldr r2, =gTrainers
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x20
- bne _080366A0
- ldr r0, =gUnknown_08D7DFC4
- b _08036742
- .pool
-_080366A0:
- cmp r0, 0x26
- bne _080366AC
- ldr r0, =gUnknown_08D7E1F8
- b _08036742
- .pool
-_080366AC:
- bl sav1_map_get_battletype
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bhi _080366EC
- lsls r0, 2
- ldr r1, =_080366C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080366C8:
- .4byte _080366EC
- .4byte _08036708
- .4byte _08036710
- .4byte _08036718
- .4byte _08036720
- .4byte _08036728
- .4byte _08036730
- .4byte _08036738
- .4byte _08036740
-_080366EC:
- ldr r2, =gBattleTerrainTable
- ldr r0, =gBattleTerrain
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x10
- adds r0, r2
- ldr r0, [r0]
- b _08036742
- .pool
-_08036708:
- ldr r0, =gUnknown_08D7DF88
- b _08036742
- .pool
-_08036710:
- ldr r0, =gUnknown_08D7E060
- b _08036742
- .pool
-_08036718:
- ldr r0, =gUnknown_08D7E000
- b _08036742
- .pool
-_08036720:
- ldr r0, =gUnknown_08D7E0CC
- b _08036742
- .pool
-_08036728:
- ldr r0, =gUnknown_08D7E11C
- b _08036742
- .pool
-_08036730:
- ldr r0, =gUnknown_08D7E164
- b _08036742
- .pool
-_08036738:
- ldr r0, =gUnknown_08D7E1A8
- b _08036742
- .pool
-_08036740:
- ldr r0, =gUnknown_08D7C9EC
-_08036742:
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- b _08036758
- .pool
-_08036750:
- bl ApplyPlayerChosenFrameToBattleMenu
- b _08036758
-_08036756:
- movs r4, 0x1
-_08036758:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end LoadChosenBattleElement
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_anim_80A5C6C.s b/asm/battle_anim_80A5C6C.s
index 158da2a02..44ba33c08 100644
--- a/asm/battle_anim_80A5C6C.s
+++ b/asm/battle_anim_80A5C6C.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_80A5C6C
-sub_80A5C6C: @ 80A5C6C
+ thumb_func_start GetBattlerSpriteCoord
+GetBattlerSpriteCoord: @ 80A5C6C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -40,7 +40,7 @@ _080A5C9C:
_080A5CB0:
ldr r4, =gUnknown_08525F58
adds r0, r5, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 22
ldr r1, =gBattleTypeFlags
@@ -56,7 +56,7 @@ _080A5CB0:
_080A5CD8:
ldr r4, =gUnknown_08525F58
adds r0, r5, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 22
ldr r1, =gBattleTypeFlags
@@ -90,7 +90,7 @@ _080A5D24:
b _080A5D9A
_080A5D28:
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A5D60
@@ -102,7 +102,7 @@ _080A5D28:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A5D98
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -120,7 +120,7 @@ _080A5D60:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A5D98
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -154,7 +154,7 @@ _080A5DB0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80A5C6C
+ thumb_func_end GetBattlerSpriteCoord
thumb_func_start sub_80A5DB8
sub_80A5DB8: @ 80A5DB8
@@ -164,7 +164,7 @@ sub_80A5DB8: @ 80A5DB8
lsls r1, 16
lsrs r5, r1, 16
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A5DDA
@@ -203,7 +203,7 @@ _080A5E04:
ldrh r0, [r0, 0x2]
cmp r0, 0
bne _080A5E3C
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -293,7 +293,7 @@ _080A5EC8:
ldrh r0, [r0, 0x2]
cmp r0, 0
bne _080A5F04
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -394,7 +394,7 @@ sub_80A5FA0: @ 80A5FA0
adds r7, r4, 0
movs r5, 0
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -445,7 +445,7 @@ sub_80A600C: @ 80A600C
lsls r2, 24
lsrs r7, r2, 24
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A6030
@@ -476,7 +476,7 @@ _080A603E:
lsrs r4, r0, 16
_080A605C:
adds r0, r6, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
ldr r3, =gUnknown_08525F58
lsls r0, 24
lsrs r0, 22
@@ -494,7 +494,7 @@ _080A605C:
cmp r7, 0
beq _080A609C
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080A6096
@@ -554,7 +554,7 @@ _080A60E8:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A610C
- ldr r1, =gAnimSpeciesByBanks
+ ldr r1, =gAnimBattlerSpecies
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -577,7 +577,7 @@ _080A611C:
_080A6126:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
_080A612E:
lsls r0, 24
lsrs r0, 24
@@ -586,18 +586,18 @@ _080A612E:
bx r1
thumb_func_end sub_80A60AC
- thumb_func_start GetBankSpriteDefault_Y
-GetBankSpriteDefault_Y: @ 80A6138
+ thumb_func_start GetBattlerSpriteDefault_Y
+GetBattlerSpriteDefault_Y: @ 80A6138
push {lr}
lsls r0, 24
lsrs r0, 24
movs r1, 0x4
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end GetBankSpriteDefault_Y
+ thumb_func_end GetBattlerSpriteDefault_Y
thumb_func_start GetSubstituteSpriteDefault_Y
GetSubstituteSpriteDefault_Y: @ 80A614C
@@ -605,13 +605,13 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A6170
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x80
@@ -620,7 +620,7 @@ GetSubstituteSpriteDefault_Y: @ 80A614C
_080A6170:
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0x88
@@ -642,7 +642,7 @@ sub_80A6190: @ 80A6190
lsrs r5, r0, 24
adds r0, r5, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
bl IsContest
@@ -650,7 +650,7 @@ sub_80A6190: @ 80A6190
cmp r0, 0
bne _080A6238
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A61E4
@@ -662,7 +662,7 @@ sub_80A6190: @ 80A6190
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A621C
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -680,7 +680,7 @@ _080A61E4:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A621C
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -699,7 +699,7 @@ _080A621C:
ldrh r4, [r1, 0x2]
_080A621E:
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A6238
@@ -716,56 +716,56 @@ _080A6238:
bx r1
thumb_func_end sub_80A6190
- thumb_func_start GetAnimBankSpriteId
-GetAnimBankSpriteId: @ 80A6240
+ thumb_func_start GetAnimBattlerSpriteId
+GetAnimBattlerSpriteId: @ 80A6240
push {r4,r5,lr}
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
cmp r0, 0
bne _080A6268
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl IsBankSpritePresent
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _080A62B6
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r4]
b _080A62C6
.pool
_080A6268:
cmp r0, 0x1
bne _080A6288
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
- bl IsBankSpritePresent
+ bl IsBattlerSpritePresent
lsls r0, 24
cmp r0, 0
beq _080A62B6
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r4]
b _080A62C6
.pool
_080A6288:
cmp r1, 0x2
bne _080A62A4
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r4, 0x2
eors r0, r4
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A62B6
b _080A62C0
.pool
_080A62A4:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r4, 0x2
eors r0, r4
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _080A62C0
@@ -774,7 +774,7 @@ _080A62B6:
b _080A62CA
.pool
_080A62C0:
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r5]
eors r0, r4
_080A62C6:
@@ -785,7 +785,7 @@ _080A62CA:
pop {r1}
bx r1
.pool
- thumb_func_end GetAnimBankSpriteId
+ thumb_func_end GetAnimBattlerSpriteId
thumb_func_start StoreSpriteCallbackInData6
StoreSpriteCallbackInData6: @ 80A62D4
@@ -1224,7 +1224,7 @@ _080A65D8:
bl sub_80A62DC
_080A65DE:
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r4}
pop {r0}
bx r0
@@ -1242,16 +1242,16 @@ sub_80A65EC: @ 80A65EC
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x34]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1439,16 +1439,16 @@ sub_80A6760: @ 80A6760
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x34]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -1547,16 +1547,16 @@ sub_80A6814: @ 80A6814
sub_80A6838: @ 80A6838
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1575,16 +1575,16 @@ sub_80A6864: @ 80A6864
lsls r1, 16
lsrs r5, r1, 16
mov r8, r5
- ldr r7, =gAnimBankAttacker
+ ldr r7, =gBattleAnimAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r6, r0
@@ -1596,7 +1596,7 @@ sub_80A6864: @ 80A6864
.pool
_080A68A4:
ldrb r0, [r7]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A68BC
@@ -1646,8 +1646,8 @@ sub_80A68D4: @ 80A68D4
bx r0
thumb_func_end sub_80A68D4
- thumb_func_start sub_80A6900
-sub_80A6900: @ 80A6900
+ thumb_func_start AnimateBallThrow
+AnimateBallThrow: @ 80A6900
push {r4,lr}
adds r4, r0, 0
bl sub_80A6F3C
@@ -1674,7 +1674,7 @@ _080A692E:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_80A6900
+ thumb_func_end AnimateBallThrow
thumb_func_start sub_80A6934
sub_80A6934: @ 80A6934
@@ -1729,7 +1729,7 @@ sub_80A6980: @ 80A6980
lsls r1, 24
cmp r1, 0
bne _080A69A8
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
bl sub_80A60AC
@@ -1765,7 +1765,7 @@ sub_80A69CC: @ 80A69CC
lsls r1, 24
cmp r1, 0
bne _080A69F0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_80A60AC
@@ -1777,7 +1777,7 @@ sub_80A69CC: @ 80A69CC
b _080A6A04
.pool
_080A69F0:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
bl sub_80A60AC
@@ -1806,41 +1806,41 @@ _080A6A04:
.pool
thumb_func_end sub_80A69CC
- thumb_func_start GetBankSide
-GetBankSide: @ 80A6A30
+ thumb_func_start GetBattlerSide
+GetBattlerSide: @ 80A6A30
lsls r0, 24
lsrs r0, 24
- ldr r1, =gBanksByIdentity
+ ldr r1, =gBattlerPositions
adds r0, r1
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
bx lr
.pool
- thumb_func_end GetBankSide
+ thumb_func_end GetBattlerSide
- thumb_func_start GetBankIdentity
-GetBankIdentity: @ 80A6A44
+ thumb_func_start GetBattlerPosition
+GetBattlerPosition: @ 80A6A44
lsls r0, 24
lsrs r0, 24
- ldr r1, =gBanksByIdentity
+ ldr r1, =gBattlerPositions
adds r0, r1
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end GetBankIdentity
+ thumb_func_end GetBattlerPosition
- thumb_func_start GetBankByIdentity
-GetBankByIdentity: @ 80A6A54
+ thumb_func_start GetBattlerAtPosition
+GetBattlerAtPosition: @ 80A6A54
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
movs r1, 0
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r2, [r0]
cmp r1, r2
bcs _080A6A7E
- ldr r4, =gBanksByIdentity
+ ldr r4, =gBattlerPositions
ldrb r0, [r4]
cmp r0, r3
beq _080A6A7E
@@ -1860,10 +1860,10 @@ _080A6A7E:
pop {r1}
bx r1
.pool
- thumb_func_end GetBankByIdentity
+ thumb_func_end GetBattlerAtPosition
- thumb_func_start IsBankSpritePresent
-IsBankSpritePresent: @ 80A6A90
+ thumb_func_start IsBattlerSpritePresent
+IsBattlerSpritePresent: @ 80A6A90
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -1872,28 +1872,28 @@ IsBankSpritePresent: @ 80A6A90
lsls r0, 24
cmp r0, 0
beq _080A6ABC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
cmp r0, r4
beq _080A6B0A
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
cmp r0, r4
beq _080A6B0A
b _080A6B18
.pool
_080A6ABC:
- ldr r0, =gBanksByIdentity
+ ldr r0, =gBattlerPositions
adds r0, r4, r0
ldrb r0, [r0]
cmp r0, 0xFF
beq _080A6B18
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A6AF0
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -1903,7 +1903,7 @@ _080A6ABC:
b _080A6AFE
.pool
_080A6AF0:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r5, 1
adds r0, r1
ldrh r1, [r0]
@@ -1926,7 +1926,7 @@ _080A6B1A:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end IsBankSpritePresent
+ thumb_func_end IsBattlerSpritePresent
thumb_func_start IsDoubleBattle
IsDoubleBattle: @ 80A6B20
@@ -2061,7 +2061,7 @@ sub_80A6BFC: @ 80A6BFC
b _080A6C60
.pool
_080A6C30:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -2889,7 +2889,7 @@ sub_80A7238: @ 80A7238
beq _080A7268
ldr r4, =gSprites
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
@@ -2934,7 +2934,7 @@ sub_80A7270: @ 80A7270
cmp r0, 0
bne _080A72A6
adds r0, r7, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A72B4
@@ -3372,7 +3372,7 @@ _080A75F6:
_080A7602:
cmp r7, 0
beq _080A7614
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r1, r0, 0
adds r1, 0x10
@@ -3383,7 +3383,7 @@ _080A7614:
mov r0, r8
cmp r0, 0
beq _080A7628
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r1, r0, 0
adds r1, 0x10
@@ -3394,11 +3394,11 @@ _080A7628:
mov r0, r9
cmp r0, 0
beq _080A764E
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r5, 0x2
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A764E
@@ -3413,11 +3413,11 @@ _080A764E:
mov r0, r10
cmp r0, 0
beq _080A7674
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r5, 0x2
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A7674
@@ -3496,15 +3496,15 @@ _080A76F2:
cmp r5, 0
beq _080A771A
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A771A
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -3514,15 +3514,15 @@ _080A771A:
cmp r6, 0
beq _080A7746
movs r0, 0x2
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A7746
movs r0, 0x2
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -3534,15 +3534,15 @@ _080A7746:
cmp r7, 0
beq _080A7772
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A7772
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -3555,15 +3555,15 @@ _080A7772:
cmp r0, 0
beq _080A77A0
movs r0, 0x3
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A77A0
movs r0, 0x3
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -3592,7 +3592,7 @@ sub_80A77B4: @ 80A77B4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -3670,9 +3670,9 @@ _080A7838:
_080A7842:
adds r0, r5, 0
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A785C
@@ -3682,10 +3682,10 @@ _080A7842:
_080A785C:
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -3693,7 +3693,7 @@ _080A785C:
strh r0, [r5, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -3716,9 +3716,9 @@ sub_80A78AC: @ 80A78AC
adds r6, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A78CC
@@ -3730,10 +3730,10 @@ _080A78CC:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -3741,7 +3741,7 @@ _080A78CC:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -3763,7 +3763,7 @@ _080A78CC:
sub_80A791C: @ 80A791C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080A7930
@@ -3799,19 +3799,19 @@ _080A7954:
adds r0, r5, 0
adds r1, r4, 0
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _080A7976
.pool
_080A796C:
adds r0, r5, 0
adds r1, r4, 0
bl sub_80A6980
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_080A7976:
ldrb r6, [r0]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A798E
@@ -3828,7 +3828,7 @@ _080A798E:
strh r0, [r5, 0x2E]
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -3836,7 +3836,7 @@ _080A798E:
strh r0, [r5, 0x32]
adds r0, r6, 0
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -3858,7 +3858,7 @@ duplicate_obj_of_side_rel2move_in_transparent_mode: @ 80A79E8
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0xFF
@@ -4084,7 +4084,7 @@ sub_80A7B98: @ 80A7B98
lsrs r4, r0, 24
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xFF
@@ -4539,7 +4539,7 @@ sub_80A7F18: @ 80A7F18
lsls r0, 24
lsrs r5, r0, 24
movs r4, 0
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldr r7, =0x00000181
ldr r0, =gBattleMonForms
adds r6, r5, r0
@@ -4567,7 +4567,7 @@ _080A7F42:
_080A7F78:
lsls r0, r4, 24
lsrs r0, 24
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080A7FD8
@@ -4579,7 +4579,7 @@ _080A7F78:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A7FC0
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -4614,7 +4614,7 @@ _080A7FD8:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A8010
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r1, [r0]
@@ -4837,14 +4837,14 @@ sub_80A8174: @ 80A8174
lsls r0, 24
lsrs r4, r0, 24
adds r7, r4, 0
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A81B4
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r6]
adds r0, r1
ldrb r0, [r0]
@@ -4863,15 +4863,15 @@ sub_80A8174: @ 80A8174
orrs r0, r2
strb r0, [r1, 0x5]
_080A81B4:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
mov r8, r0
ldrb r0, [r0]
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A81EC
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
mov r3, r8
ldrb r0, [r3]
adds r0, r1
@@ -4894,12 +4894,12 @@ _080A81EC:
ldrb r0, [r6]
movs r5, 0x2
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A8224
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r6]
eors r0, r5
adds r0, r1
@@ -4922,12 +4922,12 @@ _080A8224:
mov r1, r8
ldrb r0, [r1]
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A825C
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
mov r3, r8
ldrb r0, [r3]
eors r0, r5
@@ -4959,7 +4959,7 @@ _080A825C:
sub_80A8278: @ 80A8278
push {r4-r6,lr}
movs r5, 0
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r5, r0
bge _080A82D2
@@ -4968,13 +4968,13 @@ _080A8286:
lsls r0, r5, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080A82C8
adds r0, r4, 0
bl sub_80A82E4
- ldr r3, =gBankSpriteIds
+ ldr r3, =gBattlerSpriteIds
adds r3, r5, r3
ldrb r2, [r3]
lsls r1, r2, 4
@@ -4998,7 +4998,7 @@ _080A8286:
strb r2, [r0, 0x5]
_080A82C8:
adds r5, 0x1
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r5, r0
blt _080A8286
@@ -5027,7 +5027,7 @@ _080A82FC:
b _080A8320
_080A8300:
adds r0, r4, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x1E
@@ -5053,7 +5053,7 @@ sub_80A8328: @ 80A8328
push {r4,lr}
lsls r0, 24
lsrs r0, 24
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r4, r0, 24
bl IsContest
@@ -5093,7 +5093,7 @@ sub_80A8364: @ 80A8364
cmp r0, 0
bne _080A838A
adds r0, r4, 0
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -5486,7 +5486,7 @@ _080A86AC:
.pool
_080A86C4:
mov r0, r8
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080A8790
@@ -5499,7 +5499,7 @@ _080A86C4:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A871C
- ldr r0, =gBattlePartyID
+ ldr r0, =gBattlerPartyIndexes
mov r1, r8
lsls r4, r1, 1
adds r4, r0
@@ -5589,7 +5589,7 @@ _080A8790:
ldrh r0, [r1, 0x2]
cmp r0, 0
bne _080A87DC
- ldr r0, =gBattlePartyID
+ ldr r0, =gBattlerPartyIndexes
mov r1, r8
lsls r4, r1, 1
adds r4, r0
@@ -5713,7 +5713,7 @@ _080A88A6:
_080A88AE:
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5722,7 +5722,7 @@ _080A88AE:
_080A88C0:
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r1, [r4]
@@ -5731,7 +5731,7 @@ _080A88C0:
_080A88D2:
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5744,7 +5744,7 @@ _080A88E4:
_080A88EA:
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4]
@@ -5757,7 +5757,7 @@ _080A88FC:
_080A8902:
mov r0, r8
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -5798,13 +5798,13 @@ _080A8942:
_080A8946:
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
adds r0, r4, 0
adds r1, r6, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
bl IsDoubleBattle
@@ -5819,12 +5819,12 @@ _080A8946:
eors r4, r0
adds r0, r4, 0
adds r1, r5, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
adds r1, r6, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
mov r0, r8
@@ -5941,9 +5941,9 @@ sub_80A8A6C: @ 80A8A6C
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A8AAC
@@ -5998,9 +5998,9 @@ _080A8AB6:
sub_80A8AEC: @ 80A8AEC
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A8B1C
@@ -6054,9 +6054,9 @@ sub_80A8B64: @ 80A8B64
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080A8B90
@@ -6101,14 +6101,14 @@ sub_80A8BC4: @ 80A8BC4
ldr r0, =gTasks
adds r5, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0x8]
- ldr r7, =gAnimBankAttacker
+ ldr r7, =gBattleAnimAttacker
ldrb r0, [r7]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0x8
cmp r0, 0
@@ -6389,21 +6389,21 @@ _080A8E26:
sub_80A8E30: @ 80A8E30
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080A8E68
@@ -6487,9 +6487,9 @@ sub_80A8EE4: @ 80A8EE4
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x36]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080A8F24
diff --git a/asm/battle_anim_80A9C70.s b/asm/battle_anim_80A9C70.s
index d27852961..3515b973e 100644
--- a/asm/battle_anim_80A9C70.s
+++ b/asm/battle_anim_80A9C70.s
@@ -17,7 +17,7 @@ sub_80A9C70: @ 80A9C70
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r6, [r0]
ldr r0, =sub_80A9DB4
@@ -331,10 +331,10 @@ sub_80A9EF4: @ 80A9EF4
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffe00000
@@ -342,7 +342,7 @@ sub_80A9EF4: @ 80A9EF4
lsrs r5, r0, 16
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
ldr r1, =0xffdc0000
@@ -623,8 +623,8 @@ _080AA186:
bx r0
thumb_func_end sub_80AA124
- thumb_func_start sub_80AA18C
-sub_80AA18C: @ 80AA18C
+ thumb_func_start AnimTask_StatsChange
+AnimTask_StatsChange: @ 80AA18C
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
@@ -853,7 +853,7 @@ _080AA352:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80AA18C
+ thumb_func_end AnimTask_StatsChange
thumb_func_start LaunchStatusAnimation
LaunchStatusAnimation: @ 80AA364
@@ -863,11 +863,11 @@ LaunchStatusAnimation: @ 80AA364
lsrs r4, 24
lsls r1, 24
lsrs r1, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
strb r4, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
strb r4, [r0]
- ldr r0, =gUnknown_082C92FC
+ ldr r0, =gBattleAnims_Statuses
movs r2, 0
bl LaunchBattleAnimation
ldr r0, =task0A_80788BC
diff --git a/asm/battle_anim_80D51AC.s b/asm/battle_anim_80D51AC.s
index 3ee1786ad..3f36bb4a2 100755..100644
--- a/asm/battle_anim_80D51AC.s
+++ b/asm/battle_anim_80D51AC.s
@@ -12,7 +12,7 @@ sub_80D51AC: @ 80D51AC
lsrs r5, r0, 24
ldr r4, =gBattleAnimArgs
ldrb r0, [r4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0xFF
@@ -165,7 +165,7 @@ sub_80D52D0: @ 80D52D0
bgt _080D52FC
lsls r0, 24
lsrs r0, 24
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xFF
@@ -200,23 +200,23 @@ _080D5320:
_080D5324:
movs r0, 0x3
_080D5326:
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _080D533C
movs r6, 0x1
_080D533C:
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
b _080D5350
.pool
_080D5348:
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
_080D5350:
@@ -379,7 +379,7 @@ sub_80D5484: @ 80D5484
lsrs r5, r0, 24
ldr r4, =gBattleAnimArgs
ldrb r0, [r4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xFF
@@ -603,7 +603,7 @@ sub_80D5644: @ 80D5644
lsrs r4, 24
ldr r5, =gBattleAnimArgs
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
@@ -723,7 +723,7 @@ sub_80D5738: @ 80D5738
movs r6, 0x1
ldr r4, =gBattleAnimArgs
ldrb r0, [r4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
movs r1, 0x8
@@ -842,9 +842,9 @@ sub_80D5830: @ 80D5830
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D584C
@@ -871,9 +871,9 @@ sub_80D5860: @ 80D5860
movs r1, 0x4
orrs r0, r1
strb r0, [r2]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5890
@@ -891,8 +891,8 @@ _080D5894:
movs r0, 0
strh r2, [r4, 0x2E]
strh r0, [r4, 0x32]
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -938,7 +938,7 @@ sub_80D58F8: @ 80D58F8
strb r0, [r2]
ldr r5, =gBattleAnimArgs
ldrb r0, [r5, 0x4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldrh r2, [r5]
@@ -987,13 +987,13 @@ sub_80D5968: @ 80D5968
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D598C
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
b _080D5990
.pool
_080D598C:
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
_080D5990:
ldrb r0, [r0]
adds r0, r1
@@ -1133,18 +1133,18 @@ sub_80D5A94: @ 80D5A94
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D5AB0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _080D5AB2
.pool
_080D5AB0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_080D5AB2:
ldrb r2, [r0]
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r2, r0
ldrb r6, [r0]
adds r0, r2, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5ADC
@@ -1218,18 +1218,18 @@ sub_80D5B48: @ 80D5B48
ldrsh r0, [r0, r1]
cmp r0, 0
bne _080D5B70
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _080D5B72
.pool
_080D5B70:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_080D5B72:
ldrb r1, [r0]
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r1, r0
ldrb r7, [r0]
adds r0, r1, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5B9C
@@ -1338,9 +1338,9 @@ sub_80D5C50: @ 80D5C50
bl __divsi3
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5C82
@@ -1352,7 +1352,7 @@ sub_80D5C50: @ 80D5C50
strh r0, [r5, 0xA]
_080D5C82:
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r1, =gTasks
lsls r4, r6, 2
adds r4, r6
@@ -1508,7 +1508,7 @@ sub_80D5DB0: @ 80D5DB0
cmp r0, 0
blt _080D5E10
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
b _080D5E18
@@ -1518,20 +1518,20 @@ _080D5DD8:
beq _080D5DE8
b _080D5E10
_080D5DDE:
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
b _080D5DEA
.pool
_080D5DE8:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
_080D5DEA:
ldrb r0, [r5]
movs r4, 0x2
eors r0, r4
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _080D5E10
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r5]
eors r0, r4
adds r0, r1
@@ -1549,9 +1549,9 @@ _080D5E18:
lsls r0, 3
adds r5, r0, r1
strh r2, [r5, 0x8]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5E44
@@ -1622,9 +1622,9 @@ sub_80D5EB8: @ 80D5EB8
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D5ED4
@@ -1635,7 +1635,7 @@ sub_80D5EB8: @ 80D5EB8
_080D5ED4:
ldr r4, =gBattleAnimArgs
ldrb r0, [r4, 0x8]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
@@ -1660,7 +1660,7 @@ _080D5ED4:
b _080D5F18
.pool
_080D5F14:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
_080D5F18:
strh r0, [r2, 0x12]
@@ -1722,7 +1722,7 @@ sub_80D5F3C: @ 80D5F3C
.pool
_080D5F94:
ldrb r0, [r4, 0x12]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080D5FBC
@@ -1836,7 +1836,7 @@ sub_80D6064: @ 80D6064
lsrs r4, 24
ldr r6, =gBattleAnimArgs
ldrb r0, [r6, 0x6]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -1939,7 +1939,7 @@ sub_80D6134: @ 80D6134
lsrs r7, r0, 24
ldr r4, =gBattleAnimArgs
ldrb r0, [r4, 0x4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -1995,14 +1995,14 @@ _080D61B8:
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080D61C8
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _080D61CA
.pool
_080D61C8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_080D61CA:
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
movs r1, 0
lsls r0, 24
cmp r0, 0
@@ -2057,7 +2057,7 @@ sub_80D622C: @ 80D622C
lsrs r5, r0, 24
ldr r4, =gBattleAnimArgs
ldrb r0, [r4, 0x4]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -2076,14 +2076,14 @@ sub_80D622C: @ 80D622C
ldrsh r0, [r4, r1]
cmp r0, 0
bne _080D6274
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _080D6276
.pool
_080D6274:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_080D6276:
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080D6288
@@ -2290,7 +2290,7 @@ _080D63EE:
ldrh r0, [r1, 0x8]
strh r0, [r4, 0x1E]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x16]
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index 315f884cf..f5b9697af 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -22,9 +22,9 @@ sub_80FE840: @ 80FE840
strh r0, [r4, 0x2E]
ldrh r0, [r5, 0x6]
strh r0, [r4, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FE87C
@@ -96,16 +96,16 @@ sub_80FE8E0: @ 80FE8E0
ldr r0, =gBattleAnimArgs
ldrh r0, [r0, 0x4]
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -132,16 +132,16 @@ sub_80FE930: @ 80FE930
bl StartSpriteAnim
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -167,10 +167,10 @@ sub_80FE988: @ 80FE988
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -178,7 +178,7 @@ sub_80FE988: @ 80FE988
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -212,14 +212,14 @@ _080FE9FA:
ldrsh r0, [r4, r1]
cmp r0, 0x7F
ble _080FEA14
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
adds r0, 0x1
b _080FEA1E
.pool
_080FEA14:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
adds r0, 0x6
@@ -287,7 +287,7 @@ sub_80FEA58: @ 80FEA58
strh r0, [r1, 0x4]
strh r2, [r1, 0x6]
ldr r4, =gUnknown_08592210
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
adds r3, r0, 0
@@ -321,16 +321,16 @@ sub_80FEAD8: @ 80FEAD8
ldr r6, =gBattleAnimArgs
ldrh r0, [r6, 0x6]
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -350,7 +350,7 @@ sub_80FEAD8: @ 80FEAD8
sub_80FEB28: @ 80FEB28
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080FEB3C
@@ -374,21 +374,21 @@ sub_80FEB44: @ 80FEB44
ands r1, r0
adds r0, r5, 0
bl StartSpriteAnim
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FEB90
@@ -410,10 +410,10 @@ _080FEB94:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -421,7 +421,7 @@ _080FEB94:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -494,9 +494,9 @@ sub_80FEC48: @ 80FEC48
adds r6, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FEC68
@@ -508,10 +508,10 @@ _080FEC68:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -519,7 +519,7 @@ _080FEC68:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -541,7 +541,7 @@ _080FEC68:
sub_80FECB8: @ 80FECB8
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _080FECE2
@@ -655,7 +655,7 @@ sub_80FED74: @ 80FED74
lsrs r0, 16
cmp r0, 0x7F
bhi _080FEDC8
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -669,7 +669,7 @@ sub_80FED74: @ 80FED74
b _080FEDEC
.pool
_080FEDC8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
adds r0, 0x1
@@ -730,7 +730,7 @@ _080FEE36:
bl DestroyAnimVisualTask
b _080FEE70
_080FEE3E:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -771,10 +771,10 @@ sub_80FEE78: @ 80FEE78
strh r0, [r4, 0x32]
ldrh r0, [r4, 0x22]
strh r0, [r4, 0x34]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -823,14 +823,14 @@ sub_80FEECC: @ 80FEECC
lsrs r0, 16
cmp r0, 0x7F
bhi _080FEF18
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
subs r0, 0x1
b _080FEF22
.pool
_080FEF18:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
adds r0, 0x1
@@ -868,10 +868,10 @@ sub_80FEF44: @ 80FEF44
strh r0, [r4, 0x32]
ldrh r0, [r4, 0x22]
strh r0, [r4, 0x34]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x4]
@@ -950,16 +950,16 @@ _080FEFF6:
sub_80FEFFC: @ 80FEFFC
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -1026,9 +1026,9 @@ _080FF08C:
sub_80FF090: @ 80FF090
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FF0B4
@@ -1080,9 +1080,9 @@ sub_80FF0F4: @ 80FF0F4
adds r5, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FF114
@@ -1098,10 +1098,10 @@ _080FF114:
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080FF154
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -1109,7 +1109,7 @@ _080FF114:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -1117,7 +1117,7 @@ _080FF114:
b _080FF174
.pool
_080FF154:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -1139,13 +1139,13 @@ _080FF174:
strh r0, [r5, 0x38]
adds r0, r5, 0
bl sub_80A68D4
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -1175,7 +1175,7 @@ sub_80FF1C0: @ 80FF1C0
movs r0, 0x1
strh r0, [r6, 0x2E]
adds r0, r6, 0
- bl sub_80A6900
+ bl AnimateBallThrow
ldrh r0, [r6, 0x3C]
strh r5, [r6, 0x2E]
lsls r4, 16
@@ -1265,7 +1265,7 @@ sub_80FF268: @ 80FF268
lsrs r0, 24
cmp r0, 0x1
bne _080FF28A
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -1350,7 +1350,7 @@ _080FF2F8:
ldrsh r0, [r4, r1]
cmp r0, 0x7F
bgt _080FF338
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
lsls r0, 24
@@ -1359,7 +1359,7 @@ _080FF2F8:
b _080FF346
.pool
_080FF338:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
lsls r0, 24
@@ -1434,7 +1434,7 @@ sub_80FF3B0: @ 80FF3B0
ands r0, r1
strb r0, [r2]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
movs r0, 0x80
lsls r0, 1
strh r0, [r4, 0x2E]
@@ -1452,7 +1452,7 @@ sub_80FF3EC: @ 80FF3EC
push {r4,lr}
adds r4, r0, 0
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
movs r1, 0x32
ldrsh r0, [r4, r1]
cmp r0, 0
@@ -1517,7 +1517,7 @@ sub_80FF458: @ 80FF458
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r1, r0, 24
ldr r0, =gSprites
@@ -1550,7 +1550,7 @@ _080FF498:
lsls r0, 28
lsrs r0, 30
strh r0, [r6, 0x24]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
mov r9, r0
ldrb r0, [r0]
bl sub_80A8328
@@ -1567,7 +1567,7 @@ _080FF498:
orrs r0, r1
strb r0, [r7, 0x5]
movs r0, 0x3
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r1, r0, 24
lsls r4, r1, 4
@@ -1618,7 +1618,7 @@ sub_80FF53C: @ 80FF53C
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -1639,9 +1639,9 @@ sub_80FF53C: @ 80FF53C
lsls r1, 16
asrs r1, 24
strh r1, [r5, 0x24]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _080FF586
@@ -1698,7 +1698,7 @@ sub_80FF5CC: @ 80FF5CC
cmp r5, 0
bne _080FF674
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -1723,7 +1723,7 @@ sub_80FF5CC: @ 80FF5CC
orrs r0, r2
strb r0, [r1, 0x5]
movs r0, 0x3
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 4
@@ -1785,9 +1785,9 @@ sub_80FF698: @ 80FF698
beq _080FF704
b _080FF756
_080FF6AA:
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _080FF6C2
@@ -1799,7 +1799,7 @@ _080FF6AA:
_080FF6C2:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -1808,7 +1808,7 @@ _080FF6C2:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -1845,16 +1845,16 @@ _080FF704:
bl ChangeSpriteAffineAnim
movs r0, 0x19
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -1878,16 +1878,16 @@ sub_80FF768: @ 80FF768
ldrsh r0, [r5, r1]
cmp r0, 0
bne _080FF7D4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1941,31 +1941,31 @@ sub_80FF7EC: @ 80FF7EC
push {r4-r6}
sub sp, 0x4
mov r9, r0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
mov r8, r0
mov r0, r8
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r2, r0, 0
lsls r2, 24
subs r4, r5
@@ -2095,10 +2095,10 @@ sub_80FF934: @ 80FF934
ldrsh r0, [r6, r1]
cmp r0, 0
bne _080FF974
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -2107,7 +2107,7 @@ sub_80FF934: @ 80FF934
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -2349,18 +2349,18 @@ sub_80FFB18: @ 80FFB18
adds r5, r0, 0
movs r1, 0
bl sub_80A69CC
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -2453,14 +2453,14 @@ _080FFBEC:
sub_80FFBF4: @ 80FFBF4
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -2551,18 +2551,18 @@ sub_80FFCB4: @ 80FFCB4
adds r5, r0, 0
movs r1, 0
bl sub_80A6980
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -2954,7 +2954,7 @@ sub_80FFFC0: @ 80FFFC0
lsls r0, 3
ldr r1, =gTasks
adds r5, r0, r1
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
bl sub_80A82E4
lsls r0, 24
@@ -2963,13 +2963,13 @@ sub_80FFFC0: @ 80FFFC0
strh r0, [r5, 0x10]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
@@ -2982,7 +2982,7 @@ sub_80FFFC0: @ 80FFFC0
bl sub_80A861C
strh r0, [r5, 0x1E]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
movs r2, 0x1
@@ -3161,7 +3161,7 @@ _08100180:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08100196
@@ -3190,7 +3190,7 @@ _081001B4:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _081001CA
@@ -3219,7 +3219,7 @@ _081001E6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _081001FC
@@ -3272,7 +3272,7 @@ _08100254:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _0810026A
@@ -3403,7 +3403,7 @@ _08100362:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08100378
@@ -3514,7 +3514,7 @@ _08100448:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3566,7 +3566,7 @@ _081004B6:
adds r1, r2, 0
bl sub_8100524
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081004FC
@@ -3772,15 +3772,15 @@ sub_8100640: @ 8100640
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810065C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810065E
.pool
_0810065C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810065E:
ldrb r6, [r0]
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08100688
@@ -3837,7 +3837,7 @@ _081006CE:
_081006D4:
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5]
@@ -3857,17 +3857,17 @@ _081006E4:
strb r0, [r4, 0x5]
b _08100738
_08100700:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7]
adds r0, r7
strh r0, [r4, 0x22]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
_0810071A:
adds r0, r6, 0
bl sub_80A8328
@@ -4074,20 +4074,20 @@ _081008B4:
ldrsh r0, [r1, r3]
cmp r0, 0
bne _081008C4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _081008C6
.pool
_081008C4:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_081008C6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
ldr r0, =gBattleAnimArgs
@@ -4237,9 +4237,9 @@ _081009F2:
sub_81009F8: @ 81009F8
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08100A20
@@ -4277,9 +4277,9 @@ _08100A2C:
sub_8100A50: @ 8100A50
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08100A6A
@@ -4343,21 +4343,21 @@ sub_8100A94: @ 8100A94
sub_8100AE0: @ 8100AE0
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08100B14
@@ -4439,12 +4439,12 @@ sub_8100B88: @ 8100B88
b _08100C24
.pool
_08100BA8:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r4, 0x2
eors r0, r4
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
@@ -4453,15 +4453,15 @@ _08100BA8:
b _08100C34
.pool
_08100BC8:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
ldrb r0, [r5]
@@ -4469,7 +4469,7 @@ _08100BC8:
mov r8, r2
mov r1, r8
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _08100C3E
@@ -4477,7 +4477,7 @@ _08100BC8:
mov r2, r8
eors r0, r2
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -4486,7 +4486,7 @@ _08100BC8:
mov r1, r8
eors r0, r1
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -4494,24 +4494,24 @@ _08100BC8:
b _08100C3E
.pool
_08100C24:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
ldrb r0, [r4]
_08100C34:
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
_08100C3E:
strh r7, [r6, 0x20]
strh r4, [r6, 0x22]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08100C56
@@ -4754,9 +4754,9 @@ sub_8100E1C: @ 8100E1C
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08100E44
@@ -4866,7 +4866,7 @@ sub_8100EF0: @ 8100EF0
adds r0, 0x8
strh r0, [r1, 0x2]
_08100F06:
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0
bl sub_80A60AC
@@ -4885,7 +4885,7 @@ _08100F06:
adds r0, r4
strh r0, [r5, 0x22]
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08100F44
@@ -5090,17 +5090,17 @@ _081010C2:
sub_81010CC: @ 81010CC
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, =0x0000ffe8
@@ -5426,11 +5426,11 @@ sub_810135C: @ 810135C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08101378
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810137A
.pool
_08101378:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810137A:
ldrb r6, [r0]
bl IsDoubleBattle
@@ -5440,7 +5440,7 @@ _0810137A:
movs r1, 0x2
adds r0, r6, 0
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _081013C4
@@ -5470,7 +5470,7 @@ _081013C4:
bne _081013E8
adds r0, r6, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -5481,14 +5481,14 @@ _081013C4:
_081013E8:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
_081013FA:
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -5523,9 +5523,9 @@ sub_8101440: @ 8101440
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08101474
@@ -5611,9 +5611,9 @@ sub_81014F4: @ 81014F4
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810152C
@@ -5885,17 +5885,17 @@ _08101718:
strh r1, [r5, 0x24]
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -6199,9 +6199,9 @@ sub_8101998: @ 8101998
adds r4, r0, 0
movs r0, 0x6
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r2, 0x2
negs r2, r2
@@ -6213,7 +6213,7 @@ _081019B6:
strh r1, [r4, 0x30]
movs r0, 0
strh r0, [r4, 0x32]
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r5]
adds r0, r1
ldrb r0, [r0]
@@ -6237,8 +6237,8 @@ sub_81019E8: @ 81019E8
ldrsh r6, [r5, r0]
cmp r6, 0
bne _08101A24
- ldr r1, =gBankSpriteIds
- ldr r4, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
@@ -6246,7 +6246,7 @@ sub_81019E8: @ 81019E8
movs r1, 0
bl sub_80A7270
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x3A]
@@ -6301,9 +6301,9 @@ sub_8101A74: @ 8101A74
adds r4, r0, 0
movs r0, 0x4
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0x3
cmp r0, 0
@@ -6315,7 +6315,7 @@ _08101A92:
strh r1, [r4, 0x30]
movs r0, 0
strh r0, [r4, 0x32]
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r5]
adds r0, r1
ldrb r0, [r0]
@@ -6360,19 +6360,19 @@ sub_8101AE8: @ 8101AE8
ldrsh r0, [r5, r1]
cmp r0, 0
bne _08101B38
- ldr r1, =gBankSpriteIds
- ldr r4, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
adds r0, r1
ldrb r0, [r0]
strh r0, [r5, 0x34]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x3A]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08101B2C
@@ -6465,14 +6465,14 @@ _08101BB6:
b _08101C8E
_08101BBC:
strh r5, [r4, 0x30]
- ldr r1, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
strh r0, [r4, 0x32]
ldrb r0, [r2]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x34]
@@ -6575,15 +6575,15 @@ sub_8101C94: @ 8101C94
adds r0, r6
lsls r0, 3
adds r5, r0, r1
- ldr r1, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
movs r4, 0
strh r0, [r5, 0x8]
ldrb r0, [r2]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r2, r0, 24
strh r2, [r5, 0xA]
@@ -6922,15 +6922,15 @@ sub_8101F40: @ 8101F40
ldrsh r0, [r6, r1]
cmp r0, 0
bne _08101F5C
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _08101F5E
.pool
_08101F5C:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_08101F5E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -6938,7 +6938,7 @@ _08101F5E:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -6962,10 +6962,10 @@ _08101F5E:
sub_8101FA8: @ 8101FA8
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, =0x0000ffd0
@@ -6973,7 +6973,7 @@ sub_8101FA8: @ 8101FA8
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -6992,10 +6992,10 @@ sub_8101FA8: @ 8101FA8
sub_8101FF0: @ 8101FF0
push {r4-r6,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleAnimArgs
@@ -7007,7 +7007,7 @@ sub_8101FF0: @ 8101FF0
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -7115,15 +7115,15 @@ sub_81020D8: @ 81020D8
ldrsh r0, [r6, r1]
cmp r0, 0
bne _081020F4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _081020F6
.pool
_081020F4:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_081020F6:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -7131,7 +7131,7 @@ _081020F6:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7191,17 +7191,17 @@ _08102178:
sub_810217C: @ 810217C
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0xC
@@ -7316,10 +7316,10 @@ sub_8102268: @ 8102268
ldrsh r0, [r6, r1]
cmp r0, 0
bne _081022B2
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r5, =gBattleAnimArgs
lsrs r0, 24
@@ -7328,7 +7328,7 @@ sub_8102268: @ 8102268
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x2]
@@ -7465,16 +7465,16 @@ _08102390:
strb r0, [r2]
movs r0, 0x1E
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -7539,19 +7539,19 @@ sub_8102434: @ 8102434
lsls r0, 24
lsrs r7, r0, 24
movs r4, 0
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r4, r0
bcs _08102490
ldr r6, =gBattleAnimArgs
- ldr r5, =gHealthBoxesIds
+ ldr r5, =gHealthboxSpriteIds
_08102448:
movs r1, 0
ldrsh r0, [r6, r1]
cmp r0, 0x1
bne _08102464
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08102464
@@ -7564,7 +7564,7 @@ _08102464:
cmp r0, 0x1
bne _08102482
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7576,7 +7576,7 @@ _08102482:
adds r0, r4, 0x1
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r4, r0
bcc _08102448
@@ -7597,7 +7597,7 @@ sub_81024A8: @ 81024A8
movs r4, 0
b _081024C2
_081024B2:
- ldr r0, =gHealthBoxesIds
+ ldr r0, =gHealthboxSpriteIds
adds r0, r4, r0
ldrb r0, [r0]
bl SetHealthboxSpriteVisible
@@ -7605,7 +7605,7 @@ _081024B2:
lsls r0, 24
lsrs r4, r0, 24
_081024C2:
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r4, r0
bcc _081024B2
@@ -7673,10 +7673,10 @@ _0810253A:
sub_8102540: @ 8102540
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r2, =gBattleAnimArgs
lsrs r0, 24
@@ -8068,10 +8068,10 @@ _08102862:
strh r0, [r5, 0x2E]
ldrh r0, [r6, 0x4]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6]
@@ -8079,7 +8079,7 @@ _08102862:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -8113,9 +8113,9 @@ _08102862:
b _081028FA
.pool
_081028D4:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810291C
@@ -8237,7 +8237,7 @@ sub_81029B4: @ 81029B4
ldr r1, =gTasks
adds r6, r0, r1
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x8]
@@ -8333,7 +8333,7 @@ _08102A88:
_08102A9A:
ldr r0, =sub_8102AE0
str r0, [r6]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -8374,7 +8374,7 @@ sub_8102AE0: @ 8102AE0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08102B32
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -8657,15 +8657,15 @@ _08102D10:
b _08102D4E
.pool
_08102D34:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
_08102D4E:
@@ -8855,9 +8855,9 @@ _08102EA6:
sub_8102EB0: @ 8102EB0
push {r4-r7,lr}
adds r6, r0, 0
- ldr r7, =gAnimBankAttacker
+ ldr r7, =gBattleAnimAttacker
ldrb r0, [r7]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8870,7 +8870,7 @@ sub_8102EB0: @ 8102EB0
_08102ECE:
ldrb r0, [r7]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -8880,7 +8880,7 @@ _08102ECE:
strh r0, [r6, 0x20]
ldrb r0, [r7]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r4, 0x4]
@@ -9002,17 +9002,17 @@ sub_8102FB8: @ 8102FB8
_08102FDC:
ldr r6, =0x0000fff0
_08102FDE:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x8
@@ -9149,7 +9149,7 @@ sub_810310C: @ 810310C
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810312C
@@ -9167,7 +9167,7 @@ _08103136:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
adds r0, r5, 0
movs r1, 0
@@ -9197,18 +9197,18 @@ sub_8103164: @ 8103164
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08103180
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08103182
.pool
_08103180:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08103182:
ldrb r4, [r0]
adds r0, r4, 0
adds r1, r5, 0
bl sub_810310C
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
negs r1, r0
@@ -9268,11 +9268,11 @@ sub_8103208: @ 8103208
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08103224
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08103226
.pool
_08103224:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08103226:
ldrb r0, [r0]
adds r1, r4, 0
@@ -9325,16 +9325,16 @@ sub_8103284: @ 8103284
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081032A0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _081032A2
.pool
_081032A0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_081032A2:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r6, 0
@@ -9463,18 +9463,18 @@ sub_8103390: @ 8103390
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081033AC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _081033AE
.pool
_081033AC:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_081033AE:
ldrb r4, [r0]
adds r0, r4, 0
adds r1, r5, 0
bl sub_810310C
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081033D4
@@ -9591,11 +9591,11 @@ sub_8103498: @ 8103498
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081034B4
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _081034B6
.pool
_081034B4:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_081034B6:
ldrb r0, [r0]
adds r1, r4, 0
@@ -9716,26 +9716,26 @@ _0810357A:
sub_810358C: @ 810358C
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r6, [r0]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081035E4
@@ -9846,8 +9846,8 @@ sub_81036A0: @ 81036A0
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r0, [r0]
@@ -9871,12 +9871,12 @@ sub_81036DC: @ 81036DC
push {r4-r6,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r1, r0, r1
ldrb r4, [r1]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08103718
@@ -9992,9 +9992,9 @@ sub_81037D8: @ 81037D8
push {r4,r5,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08103804
@@ -10018,9 +10018,9 @@ _08103810:
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810384C
@@ -10117,9 +10117,9 @@ sub_81038C8: @ 81038C8
b _0810390E
.pool
_081038EC:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810390E
@@ -10137,10 +10137,10 @@ _0810390E:
adds r0, r5, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r6, =gBattleAnimArgs
lsrs r0, 24
@@ -10151,7 +10151,7 @@ _0810390E:
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x6]
@@ -10676,8 +10676,8 @@ _08103D54:
strh r0, [r3, 0x4]
b _08103DB6
_08103D5C:
- ldr r1, =gBanksByIdentity
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerPositions
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -10716,10 +10716,10 @@ _08103DB0:
_08103DB4:
strh r0, [r2, 0x4]
_08103DB6:
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
ldr r1, =gTasks
mov r3, r8
adds r4, r3, r7
@@ -10731,7 +10731,7 @@ _08103DB6:
adds r6, r0, 0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -10742,11 +10742,11 @@ _08103DB6:
ands r0, r1
cmp r0, 0
beq _08103E20
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _08103E20
@@ -10759,16 +10759,16 @@ _08103DB6:
.pool
_08103E20:
mov r5, sp
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r1, r10
@@ -10897,7 +10897,7 @@ _08103F28:
asrs r0, 16
cmp r0, 0x3F
ble _08103FA0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
lsls r0, 24
@@ -10914,7 +10914,7 @@ _08103F78:
asrs r0, 16
cmp r0, 0x3F
ble _08103FA0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
lsls r0, 24
@@ -10927,7 +10927,7 @@ _08103F78:
b _08103FB0
.pool
_08103FA0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
lsls r0, 24
@@ -11050,15 +11050,15 @@ sub_8104088: @ 8104088
adds r5, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -11066,9 +11066,9 @@ sub_8104088: @ 8104088
adds r0, r1
lsls r0, 16
lsrs r7, r0, 16
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081040CC
@@ -11145,9 +11145,9 @@ sub_8104154: @ 8104154
lsls r0, 16
asrs r0, 24
strh r0, [r4, 0x24]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08104178
@@ -11200,16 +11200,16 @@ sub_81041C4: @ 81041C4
bl sub_80A69CC
movs r0, 0x14
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -11352,9 +11352,9 @@ sub_8104304: @ 8104304
adds r4, r0, 0
movs r1, 0
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08104322
@@ -11423,17 +11423,17 @@ _08104390:
strh r0, [r5, 0x22]
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
add r0, r8
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -11510,10 +11510,10 @@ _08104448:
movs r0, 0x6
strh r0, [r5, 0x2E]
strh r1, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
add r0, r9
@@ -11522,7 +11522,7 @@ _08104448:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -11678,7 +11678,7 @@ sub_81045B0: @ 81045B0
lsls r5, 24
lsrs r5, 24
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -11735,7 +11735,7 @@ sub_8104614: @ 8104614
cmp r1, r0
bne _08104664
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -11771,7 +11771,7 @@ sub_8104674: @ 8104674
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -11786,7 +11786,7 @@ sub_8104674: @ 8104674
strh r0, [r4, 0x10]
strh r5, [r4, 0x12]
strh r5, [r4, 0x14]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
lsls r0, 24
@@ -12129,7 +12129,7 @@ sub_8104938: @ 8104938
.pool
_08104964:
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -12303,7 +12303,7 @@ sub_8104AB4: @ 8104AB4
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -12345,9 +12345,9 @@ _08104B10:
sub_8104B1C: @ 8104B1C
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08104B50
@@ -12356,7 +12356,7 @@ sub_8104B1C: @ 8104B1C
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -12370,7 +12370,7 @@ _08104B50:
bl StartSpriteAnim
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x20
@@ -12378,10 +12378,10 @@ _08104B50:
ldr r0, =0x0000ffc0
_08104B6A:
strh r0, [r4, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -12411,15 +12411,15 @@ sub_8104BAC: @ 8104BAC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08104BC8
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08104BCA
.pool
_08104BC8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08104BCA:
ldrb r5, [r0]
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -12432,7 +12432,7 @@ _08104BCA:
_08104BE4:
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -12441,7 +12441,7 @@ _08104BE4:
strh r0, [r6, 0x20]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x4]
@@ -12476,7 +12476,7 @@ sub_8104C38: @ 8104C38
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -12528,7 +12528,7 @@ sub_8104CA4: @ 8104CA4
ldr r0, =gTasks
adds r4, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r2, 0
@@ -12559,9 +12559,9 @@ sub_8104CA4: @ 8104CA4
strh r2, [r4, 0x18]
movs r0, 0x2
strh r0, [r4, 0x1A]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -12759,7 +12759,7 @@ sub_8104E74: @ 8104E74
lsls r1, 3
ldr r0, =gTasks
adds r5, r1, r0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
bl sub_80A6190
lsls r0, 24
@@ -12802,7 +12802,7 @@ _08104EDC:
lsls r0, 16
cmp r2, r0
bgt _08104F1A
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r4, r0
@@ -12839,7 +12839,7 @@ _08104F1A:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_8104F54
str r0, [r5]
add sp, 0xC
@@ -12919,7 +12919,7 @@ _08104FCC:
ldrsh r0, [r3, r1]
cmp r0, 0
blt _08104FF0
- ldr r2, =gUnknown_02038C28
+ ldr r2, =gScanlineEffectRegBuffers
lsls r0, 1
adds r0, r2
ldrh r1, [r3, 0x14]
@@ -12943,7 +12943,7 @@ _08104FF0:
ldrsh r1, [r3, r2]
cmp r0, r1
blt _0810500E
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
adds r0, r4, 0
@@ -12959,10 +12959,10 @@ _0810500E:
sub_810501C: @ 810501C
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -13194,11 +13194,11 @@ sub_81051C4: @ 81051C4
adds r1, r0, 0
cmp r2, 0
bne _081051F0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _081051F2
.pool
_081051F0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_081051F2:
ldrb r5, [r0]
ldrb r1, [r1, 0x6]
@@ -13212,7 +13212,7 @@ _081051F2:
movs r1, 0x2
adds r0, r5, 0
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810526A
@@ -13231,11 +13231,11 @@ _08105230:
adds r0, r5, 0
movs r1, 0x2
_08105234:
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r4, r0, 24
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08105260
@@ -13305,15 +13305,15 @@ sub_81052A4: @ 81052A4
ldrsh r0, [r0, r2]
cmp r0, 0
bne _081052DC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r7, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
b _081052E2
.pool
_081052DC:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r7, [r0]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
_081052E2:
ldrb r0, [r0]
mov r8, r0
@@ -13335,13 +13335,13 @@ _08105308:
str r3, [sp, 0x4]
_08105310:
adds r0, r7, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810536C
adds r0, r7, 0
mov r1, r10
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r1, =gBattleAnimArgs
lsrs r0, 24
@@ -13354,25 +13354,25 @@ _08105310:
mov r4, r8
eors r4, r0
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810535C
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
b _081053EA
.pool
_0810535C:
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
add r0, r8
b _081053EA
.pool
_0810536C:
adds r0, r7, 0
mov r1, r10
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r1, =gBattleAnimArgs
@@ -13389,12 +13389,12 @@ _0810536C:
adds r4, r7, 0
eors r4, r0
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _081053E4
ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
+ ldr r2, =gBattlerSpriteIds
adds r0, r7, r2
ldrb r1, [r0]
lsls r0, r1, 4
@@ -13424,7 +13424,7 @@ _081053E0:
b _081053F4
_081053E4:
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r7, r0
_081053EA:
ldrb r1, [r0]
@@ -13442,7 +13442,7 @@ _081053FA:
strb r0, [r1]
adds r0, r7, 0
ldr r1, [sp, 0x4]
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -13457,7 +13457,7 @@ _081053FA:
movs r1, 0x2
mov r0, r8
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810544C
@@ -13473,20 +13473,20 @@ _0810544C:
mov r4, sp
mov r0, r8
mov r1, r10
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4]
mov r0, r8
ldr r1, [sp, 0x4]
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r2, sp
strh r0, [r2, 0x2]
_0810546C:
mov r0, r8
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08105490
@@ -13581,9 +13581,9 @@ sub_8105538: @ 8105538
adds r4, r0, 0
movs r1, 0
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0xA0
cmp r0, 0
@@ -13622,9 +13622,9 @@ sub_810557C: @ 810557C
strh r0, [r4, 0x24]
subs r2, 0x20
strh r2, [r4, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0xA0
cmp r0, 0
@@ -13873,7 +13873,7 @@ sub_810577C: @ 810577C
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -13950,9 +13950,9 @@ sub_8105810: @ 8105810
strh r0, [r4, 0xE]
movs r0, 0x3
strh r0, [r4, 0x20]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08105850
@@ -13968,7 +13968,7 @@ _08105850:
_08105856:
strh r0, [r4, 0x24]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14154,7 +14154,7 @@ sub_810599C: @ 810599C
movs r0, 0x2
strh r0, [r4, 0x24]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14292,16 +14292,16 @@ sub_8105AAC: @ 8105AAC
strh r0, [r4, 0x16]
strh r0, [r4, 0x18]
strh r0, [r4, 0x22]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -14567,7 +14567,7 @@ _08105CCC:
lsls r2, 1
adds r0, r2
str r1, [r0]
- ldr r0, =gUnknown_08C22610
+ ldr r0, =gBattleAnimSpritePalette_206
bl LZDecompressWram
movs r4, 0
_08105D00:
@@ -14684,9 +14684,9 @@ sub_8105DE8: @ 8105DE8
adds r5, r0, 0
movs r1, 0
bl sub_80A69CC
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08105E08
@@ -14700,7 +14700,7 @@ _08105E08:
strh r0, [r5, 0x2E]
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -14708,7 +14708,7 @@ _08105E08:
strh r0, [r5, 0x32]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -14939,7 +14939,7 @@ sub_8106020: @ 8106020
lsrs r0, 24
adds r6, r0, 0
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, =gTasks
@@ -14955,7 +14955,7 @@ sub_8106020: @ 8106020
cmp r0, 0x1
bne _0810607C
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -15004,7 +15004,7 @@ sub_81060B0: @ 81060B0
lsrs r0, 24
adds r6, r0, 0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r4, r0, 24
ldr r1, =gTasks
@@ -15020,7 +15020,7 @@ sub_81060B0: @ 81060B0
cmp r0, 0x1
bne _0810610C
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -15072,10 +15072,10 @@ sub_8106140: @ 8106140
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -15083,7 +15083,7 @@ sub_8106140: @ 8106140
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -15557,18 +15557,18 @@ _0810653A:
lsls r0, 24
cmp r0, 0
beq _08106578
- ldr r1, =gUnknown_08D93960
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceContest
b _0810658A
.pool
_08106578:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0810659C
- ldr r1, =gUnknown_08D93598
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFacePlayer
_0810658A:
mov r0, sp
movs r2, 0
@@ -15576,7 +15576,7 @@ _0810658A:
b _081065A6
.pool
_0810659C:
- ldr r1, =gUnknown_08D9377C
+ ldr r1, =gBattleAnimBackgroundTilemap_ScaryFaceOpponent
mov r0, sp
movs r2, 0
bl sub_80A6D60
@@ -15773,16 +15773,16 @@ _08106730:
sub_810673C: @ 810673C
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -15924,16 +15924,16 @@ _08106868:
sub_8106878: @ 8106878
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16029,16 +16029,16 @@ _08106940:
sub_8106944: @ 8106944
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16314,7 +16314,7 @@ sub_8106B54: @ 8106B54
adds r0, r4, 0
movs r1, 0
bl StartSpriteAnim
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A82E4
subs r0, 0x1
@@ -16505,21 +16505,21 @@ _08106CEC:
ldrsh r0, [r1, r2]
cmp r0, 0
bne _08106CFC
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _08106CFE
.pool
_08106CFC:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_08106CFE:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -16593,7 +16593,7 @@ sub_8106D90: @ 8106D90
lsrs r5, 24
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -16645,15 +16645,15 @@ sub_8106E00: @ 8106E00
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08106E1C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08106E1E
.pool
_08106E1C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08106E1E:
ldrb r6, [r0]
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -16666,7 +16666,7 @@ _08106E1E:
_08106E38:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r7, =gBattleAnimArgs
lsrs r0, 24
@@ -16676,7 +16676,7 @@ _08106E38:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r7, 0x4]
@@ -16992,11 +16992,11 @@ sub_81070AC: @ 81070AC
ands r0, r1
cmp r0, 0
beq _081070F8
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _081070F8
@@ -17016,16 +17016,16 @@ sub_81070AC: @ 81070AC
b _08107118
.pool
_081070F8:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x28
@@ -17067,8 +17067,8 @@ sub_8107144: @ 8107144
.pool
thumb_func_end sub_8107144
- thumb_func_start update_fury_cutter_counter_copy
-update_fury_cutter_counter_copy: @ 8107168
+ thumb_func_start sub_8107168
+sub_8107168: @ 8107168
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -17081,7 +17081,7 @@ update_fury_cutter_counter_copy: @ 8107168
pop {r0}
bx r0
.pool
- thumb_func_end update_fury_cutter_counter_copy
+ thumb_func_end sub_8107168
thumb_func_start sub_8107188
sub_8107188: @ 8107188
@@ -17196,15 +17196,15 @@ _0810725A:
sub_8107260: @ 8107260
push {r4-r6,lr}
adds r6, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08107290
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r4, =gBattleAnimArgs
@@ -17215,7 +17215,7 @@ sub_8107260: @ 8107260
_08107290:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -17225,7 +17225,7 @@ _081072A2:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -17237,9 +17237,9 @@ _081072A2:
movs r1, 0x40
orrs r0, r1
strb r0, [r2]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081072D8
@@ -17253,10 +17253,10 @@ _081072D8:
strh r0, [r6, 0x2E]
ldrh r0, [r6, 0x20]
strh r0, [r6, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
@@ -17264,7 +17264,7 @@ _081072D8:
strh r0, [r6, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -17422,9 +17422,9 @@ sub_810744C: @ 810744C
adds r5, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810747C
@@ -17445,10 +17445,10 @@ _08107482:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -17457,7 +17457,7 @@ _08107482:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r7, [r7, 0x6]
@@ -17621,10 +17621,10 @@ sub_81075EC: @ 81075EC
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -17632,7 +17632,7 @@ sub_81075EC: @ 81075EC
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -17773,16 +17773,16 @@ _08107722:
sub_8107730: @ 8107730
push {r4-r7,lr}
adds r4, r0, 0
- ldr r7, =gAnimBankAttacker
+ ldr r7, =gBattleAnimAttacker
ldrb r0, [r7]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r7]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -17797,7 +17797,7 @@ sub_8107730: @ 8107730
cmp r0, 0
bne _0810778A
ldrb r0, [r7]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08107784
@@ -17846,13 +17846,13 @@ _081077BA:
sub_81077C0: @ 81077C0
push {r4-r7,lr}
adds r6, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -17863,12 +17863,12 @@ sub_81077C0: @ 81077C0
negs r0, r0
strh r0, [r4]
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
beq _08107802
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -17898,9 +17898,9 @@ _0810781E:
_08107828:
adds r0, r6, 0
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08107842
@@ -17910,10 +17910,10 @@ _08107828:
_08107842:
ldrh r0, [r5, 0x8]
strh r0, [r6, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x4]
@@ -17921,7 +17921,7 @@ _08107842:
strh r0, [r6, 0x32]
ldrb r0, [r4]
adds r1, r7, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -18069,9 +18069,9 @@ sub_8107954: @ 8107954
movs r1, 0x3
movs r2, 0x1
bl SetAnimBgAttribute
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -18097,7 +18097,7 @@ _081079E0:
_081079EA:
mov r0, sp
ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_08D94AB8
+ ldr r1, =gBattleAnimBackgroundImage_Surf
mov r2, sp
ldrh r2, [r2, 0xA]
bl sub_80A6CC0
@@ -18106,7 +18106,7 @@ _081079EA:
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08107A24
- ldr r0, =gUnknown_08D95DD8
+ ldr r0, =gBattleAnimBackgroundPalette_Surf
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@@ -18115,7 +18115,7 @@ _081079EA:
b _08107A32
.pool
_08107A24:
- ldr r0, =gUnknown_08D8FB9C
+ ldr r0, =gBattleAnimBackgroundImageMuddyWater_Pal
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@@ -18174,9 +18174,9 @@ _08107A32:
b _08107B0E
.pool
_08107AB4:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1
@@ -18518,7 +18518,7 @@ _08107D8C:
movs r3, 0
movs r2, 0x10
ldrsh r0, [r4, r2]
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
mov r12, r1
cmp r3, r0
bge _08107DCA
@@ -18555,7 +18555,7 @@ _08107DCA:
ldrsh r0, [r4, r3]
cmp r1, r0
bge _08107E04
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -18584,7 +18584,7 @@ _08107E04:
asrs r0, r2, 16
cmp r0, 0x9F
bgt _08107E3A
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -18652,7 +18652,7 @@ _08107E7A:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -18689,8 +18689,8 @@ _08107ED8:
ldrsh r0, [r4, r1]
cmp r3, r0
bge _08107F0C
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107EE6:
lsls r1, r3, 16
asrs r1, 16
@@ -18719,8 +18719,8 @@ _08107F0C:
ldrsh r0, [r4, r3]
cmp r1, r0
bge _08107F40
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107F1E:
asrs r3, r2, 16
lsls r2, r3, 1
@@ -18745,8 +18745,8 @@ _08107F40:
asrs r0, r1, 16
cmp r0, 0x9F
bgt _08108022
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107F4E:
asrs r3, r1, 16
lsls r2, r3, 1
@@ -18771,8 +18771,8 @@ _08107F78:
ldrsh r0, [r4, r1]
cmp r3, r0
bge _08107FAC
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107F86:
lsls r1, r3, 16
asrs r1, 16
@@ -18801,8 +18801,8 @@ _08107FAC:
ldrsh r0, [r4, r3]
cmp r1, r0
bge _08107FE0
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107FBE:
asrs r3, r2, 16
lsls r2, r3, 1
@@ -18827,8 +18827,8 @@ _08107FE0:
asrs r0, r1, 16
cmp r0, 0x9F
bgt _0810800C
- ldr r6, =gUnknown_02038C28
- ldr r5, =gUnknown_02039B28
+ ldr r6, =gScanlineEffectRegBuffers
+ ldr r5, =gScanlineEffect
_08107FEE:
asrs r3, r1, 16
lsls r2, r3, 1
@@ -18852,7 +18852,7 @@ _0810800C:
negs r0, r0
cmp r1, r0
bne _08108022
- bl remove_some_task
+ bl ScanlineEffect_Stop
adds r0, r7, 0
bl DestroyTask
_08108022:
@@ -18963,7 +18963,7 @@ sub_81080E4: @ 81080E4
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -19278,13 +19278,13 @@ _0810837A:
thumb_func_start sub_8108384
sub_8108384: @ 8108384
push {r4,r5,lr}
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081083B8
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -19298,7 +19298,7 @@ _081083B4:
adds r0, r2, 0
b _081083FA
_081083B8:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -19350,16 +19350,16 @@ sub_8108408: @ 8108408
lsls r1, 24
lsrs r1, 24
str r1, [sp]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0xAC
@@ -19576,9 +19576,9 @@ sub_81085C8: @ 81085C8
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xA]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08108600
@@ -19956,22 +19956,22 @@ sub_81088E4: @ 81088E4
lsls r1, 3
ldr r0, =gTasks
adds r5, r1, r0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r2, 0x1
negs r2, r2
@@ -20234,7 +20234,7 @@ _08108B1A:
sub_8108B2C: @ 8108B2C
push {r4-r6,lr}
adds r6, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08108B86
@@ -20283,7 +20283,7 @@ _08108B86:
sub_8108B94: @ 8108B94
push {r4-r6,lr}
adds r5, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08108BD0
@@ -20418,16 +20418,16 @@ sub_8108C94: @ 8108C94
adds r4, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -20593,7 +20593,7 @@ _08108DE2:
strh r0, [r4, 0x2E]
mov r0, r9
strh r0, [r4, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
subs r0, 0x1
@@ -20648,7 +20648,7 @@ _08108E58:
strh r0, [r4, 0x2E]
mov r0, r9
strh r0, [r4, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
subs r0, 0x1
@@ -20746,9 +20746,9 @@ sub_8108F4C: @ 8108F4C
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08108F88
@@ -20798,9 +20798,9 @@ _08108F9E:
sub_8108FBC: @ 8108FBC
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08108FF0
@@ -20886,9 +20886,9 @@ sub_8109064: @ 8109064
push {r4,lr}
adds r4, r0, 0
bl sub_80A6838
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08109090
@@ -21037,26 +21037,26 @@ sub_810916C: @ 810916C
sub_8109198: @ 8109198
push {r4-r6,lr}
adds r6, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r4, 24
lsls r0, 24
cmp r4, r0
bne _081091DE
movs r0, 0x2
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldrb r1, [r5]
lsls r0, 24
lsrs r0, 24
cmp r1, r0
beq _081091D6
movs r0, 0x3
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
ldrb r1, [r5]
lsls r0, 24
lsrs r0, 24
@@ -21128,10 +21128,10 @@ sub_8109244: @ 8109244
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -21139,7 +21139,7 @@ sub_8109244: @ 8109244
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -21164,16 +21164,16 @@ sub_810929C: @ 810929C
beq _081092E4
movs r4, 0
strh r4, [r6, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -21389,7 +21389,7 @@ sub_8109460: @ 8109460
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -21407,9 +21407,9 @@ sub_8109460: @ 8109460
adds r0, r2
ldrh r0, [r0, 0x22]
strh r0, [r4, 0x10]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x12]
@@ -21820,9 +21820,9 @@ sub_81097B4: @ 81097B4
lsls r0, 2
adds r0, r1
ldrh r4, [r0, 0x20]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810980C
@@ -21992,9 +21992,9 @@ sub_8109930: @ 8109930
adds r0, r2
lsls r0, 16
lsrs r4, r0, 16
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08109970
@@ -22248,9 +22248,9 @@ _08109B18:
bl StartSpriteAnim
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x3C]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08109B48
@@ -22261,7 +22261,7 @@ _08109B48:
ldr r0, =0x0000fffc
_08109B4A:
strh r0, [r5, 0x36]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -22279,9 +22279,9 @@ _08109B70:
ldrh r0, [r5, 0x30]
adds r0, 0xC0
strh r0, [r5, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08109B94
@@ -22356,10 +22356,10 @@ _08109BCE:
lsls r0, 1
strh r0, [r5, 0x2E]
strh r1, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -22367,7 +22367,7 @@ _08109BCE:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -22485,7 +22485,7 @@ _08109CC8:
lsrs r0, 16
cmp r0, 0x83
bls _08109D3C
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -22500,7 +22500,7 @@ _08109CC8:
b _08109D80
.pool
_08109D3C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
lsls r0, 24
@@ -22578,9 +22578,9 @@ sub_8109DBC: @ 8109DBC
lsls r1, 3
ldr r0, =gTasks
adds r4, r1, r0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r2, 0x1
negs r2, r2
@@ -22590,22 +22590,22 @@ sub_8109DBC: @ 8109DBC
movs r1, 0x1
_08109DE2:
strh r1, [r4, 0x20]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
lsrs r0, 24
adds r0, 0x1
strh r0, [r4, 0x22]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
movs r0, 0x3
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -22973,8 +22973,8 @@ _0810A0CA:
ldrh r0, [r2, 0x8]
adds r0, 0x1
strh r0, [r2, 0x8]
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r6, [r0]
@@ -23075,9 +23075,9 @@ _0810A194:
sub_810A1A8: @ 810A1A8
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810A1D0
@@ -23129,9 +23129,9 @@ _0810A20E:
sub_810A214: @ 810A214
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810A23C
@@ -23178,22 +23178,22 @@ _0810A26E:
sub_810A274: @ 810A274
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810A2C4
@@ -23261,15 +23261,15 @@ _0810A324:
beq _0810A35C
b _0810A380
_0810A32E:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810A382
.pool
_0810A338:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r6, 0x2
eors r0, r6
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _0810A354
@@ -23282,21 +23282,21 @@ _0810A354:
eors r4, r0
b _0810A384
_0810A35C:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r4, 0x2
eors r0, r4
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810A380
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
eors r4, r0
b _0810A384
.pool
_0810A380:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810A382:
ldrb r4, [r0]
_0810A384:
@@ -23307,7 +23307,7 @@ _0810A384:
bne _0810A3AC
adds r0, r4, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -23318,14 +23318,14 @@ _0810A384:
_0810A3AC:
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
adds r0, r4, 0
movs r1, 0x3
_0810A3BE:
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -23417,10 +23417,10 @@ sub_810A46C: @ 810A46C
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -23428,7 +23428,7 @@ sub_810A46C: @ 810A46C
strh r0, [r4, 0x34]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -23576,9 +23576,9 @@ sub_810A5BC: @ 810A5BC
lsls r0, 24
cmp r0, 0
bne _0810A5D8
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810A5E0
@@ -23588,10 +23588,10 @@ _0810A5D8:
negs r0, r0
strh r0, [r1, 0x2]
_0810A5E0:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -23600,7 +23600,7 @@ _0810A5E0:
strh r0, [r6, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -23633,11 +23633,11 @@ sub_810A628: @ 810A628
ands r0, r1
cmp r0, 0
beq _0810A64C
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
b _0810A64E
.pool
_0810A64C:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
_0810A64E:
ldrb r6, [r0]
bl IsContest
@@ -23645,7 +23645,7 @@ _0810A64E:
cmp r0, 0
bne _0810A666
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810A66E
@@ -23657,7 +23657,7 @@ _0810A666:
_0810A66E:
adds r0, r6, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -23666,7 +23666,7 @@ _0810A66E:
strh r0, [r5, 0x20]
adds r0, r6, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -23827,10 +23827,10 @@ sub_810A7DC: @ 810A7DC
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
ldr r1, =gTasks
lsls r4, r5, 2
adds r4, r5
@@ -23844,7 +23844,7 @@ sub_810A7DC: @ 810A7DC
strh r0, [r4, 0x8]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r5, 0x2]
@@ -24220,21 +24220,21 @@ sub_810AAFC: @ 810AAFC
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810AB28
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810AB2A
.pool
_0810AB28:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810AB2A:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x26]
@@ -24440,21 +24440,21 @@ sub_810ACD8: @ 810ACD8
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810ACF4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810ACF6
.pool
_0810ACF4:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810ACF6:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -24478,21 +24478,21 @@ sub_810AD30: @ 810AD30
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810AD4C
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810AD4E
.pool
_0810AD4C:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810AD4E:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -24518,28 +24518,28 @@ sub_810AD98: @ 810AD98
adds r5, r0, 0
movs r1, 0x1
bl StartSpriteAffineAnim
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x3A]
movs r0, 0x10
strh r0, [r5, 0x3C]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -24641,20 +24641,20 @@ _0810AE8E:
b _0810AFC0
_0810AE90:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r6, 0
strh r0, [r5, 0x26]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810AECC
@@ -24820,9 +24820,9 @@ _0810AFF4:
_0810AFFA:
b _0810B14E
_0810AFFC:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r2, 0x1
negs r2, r2
@@ -24855,13 +24855,13 @@ _0810B012:
_0810B048:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0xE]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -24878,16 +24878,16 @@ _0810B070:
movs r0, 0x78
subs r0, r1
strh r0, [r5, 0xE]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r2, 0xA
@@ -25124,16 +25124,16 @@ sub_810B23C: @ 810B23C
beq _0810B280
b _0810B294
_0810B24E:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -25191,25 +25191,25 @@ _0810B2C8:
.4byte _0810B404
.4byte _0810B414
_0810B2DC:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x14]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x16]
movs r0, 0x4
strh r0, [r5, 0x18]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x1C]
@@ -25539,10 +25539,10 @@ _0810B584:
beq _0810B600
b _0810B60E
_0810B58A:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -25561,10 +25561,10 @@ _0810B5A4:
bgt _0810B5A4
strh r1, [r5, 0x24]
_0810B5B4:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -25721,29 +25721,29 @@ sub_810B6C4: @ 810B6C4
ands r0, r2
orrs r0, r1
strh r0, [r5, 0x4]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r3, r0, 24
ldrb r0, [r4]
movs r1, 0x3
str r3, [sp]
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldr r1, =gBattleAnimArgs
@@ -25976,16 +25976,16 @@ sub_810B8EC: @ 810B8EC
adds r4, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810B92C
@@ -26003,10 +26003,10 @@ _0810B92C:
adds r0, r1
strh r0, [r4, 0x32]
_0810B936:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r1, =gBattleAnimArgs
lsrs r0, 24
@@ -26041,7 +26041,7 @@ sub_810B974: @ 810B974
b _0810B9C6
.pool
_0810B990:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -26049,9 +26049,9 @@ _0810B990:
adds r3, 0x22
movs r1, 0x1
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810B9B6
@@ -26130,16 +26130,16 @@ sub_810BA24: @ 810BA24
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0810BA74
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -26148,7 +26148,7 @@ sub_810BA24: @ 810BA24
b _0810BA86
.pool
_0810BA74:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -26157,9 +26157,9 @@ _0810BA74:
movs r1, 0x1
bl sub_80A8924
_0810BA86:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810BAAC
@@ -26277,9 +26277,9 @@ sub_810BB60: @ 810BB60
strh r5, [r4, 0x24]
movs r0, 0x80
strh r0, [r4, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
ldr r1, =0x0000ffec
cmp r0, 0
@@ -26312,9 +26312,9 @@ _0810BB90:
sub_810BBC8: @ 810BBC8
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
ldr r1, =0x0000ffec
cmp r0, 0
@@ -26431,23 +26431,23 @@ sub_810BC94: @ 810BC94
ldrsh r0, [r1, r2]
cmp r0, 0
bne _0810BCE0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
b _0810BCF2
.pool
_0810BCE0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -26456,9 +26456,9 @@ _0810BCE0:
movs r1, 0x1
bl sub_80A8924
_0810BCF2:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810BD1C
@@ -26645,7 +26645,7 @@ sub_810BE48: @ 810BE48
b _0810BEA2
.pool
_0810BE6C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -26653,9 +26653,9 @@ _0810BE6C:
adds r3, 0x22
movs r1, 0
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810BE92
@@ -26712,7 +26712,7 @@ sub_810BED0: @ 810BED0
b _0810BF32
.pool
_0810BEF4:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
adds r2, r5, 0
adds r2, 0x20
@@ -26721,7 +26721,7 @@ _0810BEF4:
movs r1, 0
bl sub_80A8924
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810BF20
@@ -26742,7 +26742,7 @@ _0810BF26:
adds r0, r1
strh r0, [r5, 0x22]
_0810BF32:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810BF90
.pool
_0810BF40:
@@ -26755,7 +26755,7 @@ _0810BF40:
bl sub_80A6980
b _0810BF8E
_0810BF52:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
adds r2, r5, 0
adds r2, 0x20
@@ -26764,7 +26764,7 @@ _0810BF52:
movs r1, 0
bl sub_80A8924
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810BF7C
@@ -26785,7 +26785,7 @@ _0810BF82:
adds r0, r1
strh r0, [r5, 0x22]
_0810BF8E:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810BF90:
ldrb r0, [r0]
strh r0, [r5, 0x3C]
@@ -26806,9 +26806,9 @@ _0810BFB4:
movs r0, 0x40
_0810BFB6:
strh r0, [r5, 0x3A]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810BFCC
@@ -26963,13 +26963,13 @@ _0810C0E2:
bl sub_80A6B30
mov r0, sp
ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_0854CAD0
+ ldr r1, =gWeatherFog1Tiles
movs r2, 0x80
lsls r2, 4
mov r3, sp
ldrh r3, [r3, 0xA]
bl LoadBgTiles
- ldr r1, =gUnknown_08D932E0
+ ldr r1, =gBattleAnimFogTilemap
mov r0, sp
movs r2, 0
bl sub_80A6D60
@@ -27179,16 +27179,16 @@ _0810C2DA:
sub_810C2F0: @ 810C2F0
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -27245,13 +27245,13 @@ _0810C366:
bl sub_80A6B30
mov r0, sp
ldrb r0, [r0, 0x9]
- ldr r1, =gUnknown_0854CAD0
+ ldr r1, =gWeatherFog1Tiles
movs r2, 0x80
lsls r2, 4
mov r3, sp
ldrh r3, [r3, 0xA]
bl LoadBgTiles
- ldr r1, =gUnknown_08D932E0
+ ldr r1, =gBattleAnimFogTilemap
mov r0, sp
movs r2, 0
bl sub_80A6D60
@@ -27456,16 +27456,16 @@ sub_810C560: @ 810C560
ldr r6, =gBattleAnimArgs
ldrh r0, [r6]
strh r0, [r5, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
- ldr r7, =gAnimBankTarget
+ ldr r7, =gBattleAnimTarget
ldrb r0, [r7]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -27474,7 +27474,7 @@ sub_810C560: @ 810C560
lsls r0, 8
strh r0, [r5, 0x3C]
_0810C594:
- ldr r3, =gBanksByIdentity
+ ldr r3, =gBattlerPositions
ldrb r0, [r7]
adds r0, r3
ldrb r1, [r0]
@@ -27505,7 +27505,7 @@ _0810C594:
cmp r0, 0
bne _0810C5F0
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -27523,16 +27523,16 @@ _0810C5F0:
movs r0, 0x1
strh r0, [r5, 0x3A]
_0810C5F4:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -27545,10 +27545,10 @@ _0810C5F4:
ldrh r1, [r5, 0x20]
adds r0, r1
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -27567,10 +27567,10 @@ _0810C65C:
ldrh r1, [r5, 0x20]
adds r0, r1
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -27583,7 +27583,7 @@ _0810C65C:
ldrb r0, [r4]
movs r1, 0x1
_0810C684:
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x8]
@@ -27676,10 +27676,10 @@ _0810C728:
_0810C736:
movs r5, 0x50
strh r5, [r4, 0x2E]
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
@@ -27699,7 +27699,7 @@ _0810C736:
lsls r0, 24
cmp r0, 0
bne _0810C78C
- ldr r1, =gBanksByIdentity
+ ldr r1, =gBattlerPositions
ldrb r0, [r6]
adds r0, r1
ldrb r1, [r0]
@@ -27843,8 +27843,8 @@ _0810C85A:
lsls r0, 24
cmp r0, 0
bne _0810C8B4
- ldr r1, =gBanksByIdentity
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerPositions
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -28050,11 +28050,11 @@ sub_810C9E4: @ 810C9E4
ldrh r0, [r4, 0x2]
lsls r0, 20
lsrs r0, 24
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r5, r0, 24
adds r0, r5, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810CAD0
@@ -28062,12 +28062,12 @@ sub_810C9E4: @ 810C9E4
str r0, [sp, 0x4]
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r7, r0, 24
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
mov r1, r8
@@ -28371,9 +28371,9 @@ _0810CCA6:
ldr r6, =gBattleAnimArgs
ldrh r0, [r6, 0x8]
strh r0, [r5, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810CCCE
@@ -28381,10 +28381,10 @@ _0810CCA6:
negs r0, r0
strh r0, [r6, 0x4]
_0810CCCE:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -28392,7 +28392,7 @@ _0810CCCE:
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x6]
@@ -28414,7 +28414,7 @@ _0810CCCE:
sub_810CD1C: @ 810CD1C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810CD3E
@@ -28581,9 +28581,9 @@ sub_810CE68: @ 810CE68
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _0810CE90
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810CE90
@@ -28680,11 +28680,11 @@ sub_810CF30: @ 810CF30
mov r9, r0
cmp r1, 0
bne _0810CF54
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810CF56
.pool
_0810CF54:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810CF56:
ldrb r0, [r0]
mov r8, r0
@@ -28705,13 +28705,13 @@ _0810CF74:
bl StartSpriteAnim
mov r0, r8
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
mov r0, r8
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -28771,7 +28771,7 @@ _0810D000:
negs r0, r0
lsrs r4, r0, 16
_0810D012:
- ldr r0, =gBanksByIdentity
+ ldr r0, =gBattlerPositions
add r0, r8
ldrb r1, [r0]
adds r0, r7, 0
@@ -28974,16 +28974,16 @@ _0810D1A4:
sub_810D1B4: @ 810D1B4
push {r4-r6,lr}
adds r6, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r1, [r0]
movs r0, 0x2
- ldr r2, =gAnimBankTarget
+ ldr r2, =gBattleAnimTarget
eors r0, r1
ldrb r1, [r2]
cmp r0, r1
bne _0810D1E0
ldrb r0, [r2]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -28997,9 +28997,9 @@ _0810D1E0:
adds r0, r6, 0
movs r1, 0x1
bl sub_80A6980
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810D1FE
@@ -29146,16 +29146,16 @@ sub_810D308: @ 810D308
bne _0810D34C
movs r0, 0x6
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -29267,21 +29267,21 @@ sub_810D40C: @ 810D40C
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810D428
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810D42A
.pool
_0810D428:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810D42A:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29386,10 +29386,10 @@ sub_810D4F4: @ 810D4F4
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0810D520
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x4]
@@ -29397,10 +29397,10 @@ sub_810D4F4: @ 810D4F4
b _0810D532
.pool
_0810D520:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x4]
@@ -29409,7 +29409,7 @@ _0810D532:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x6]
@@ -29520,20 +29520,20 @@ sub_810D608: @ 810D608
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810D664
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -29545,11 +29545,11 @@ sub_810D608: @ 810D608
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
b _0810D680
.pool
_0810D664:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -29561,7 +29561,7 @@ _0810D664:
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
_0810D680:
ldrb r0, [r0]
strh r0, [r5, 0x3C]
@@ -29601,7 +29601,7 @@ sub_810D6A8: @ 810D6A8
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -29611,7 +29611,7 @@ sub_810D6A8: @ 810D6A8
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -29712,31 +29712,31 @@ _0810D7BA:
strh r0, [r7, 0x2E]
b _0810D818
_0810D7C2:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r2, =gAnimBankTarget
+ ldr r2, =gBattleAnimTarget
mov r8, r2
ldrb r0, [r2]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
subs r4, r6
strh r4, [r7, 0x2E]
@@ -29808,28 +29808,28 @@ sub_810D874: @ 810D874
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0810D8B8
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r4, [r0]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810D8BE
.pool
_0810D8B8:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r4, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810D8BE:
ldrb r0, [r0]
bl sub_80A8328
@@ -29857,7 +29857,7 @@ _0810D8BE:
.pool
_0810D8F8:
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810D918
@@ -29879,7 +29879,7 @@ _0810D918:
strh r0, [r5, 0x30]
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -29887,7 +29887,7 @@ _0810D918:
strh r0, [r5, 0x34]
adds r0, r4, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -29929,16 +29929,16 @@ _0810D976:
sub_810D984: @ 810D984
push {r4-r6,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -29954,7 +29954,7 @@ sub_810D984: @ 810D984
ldr r0, =gAnimMoveTurn
ldrb r6, [r0]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810D9CE
@@ -30018,9 +30018,9 @@ _0810DA34:
bl StartSpriteAnim
b _0810DA5E
_0810DA48:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810DA5E
@@ -30128,9 +30128,9 @@ _0810DB1A:
ldrh r1, [r4, 0x1C]
adds r0, r1
strh r0, [r4, 0x1C]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810DB50
@@ -30205,16 +30205,16 @@ _0810DBC2:
bl sub_80A69CC
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -30234,7 +30234,7 @@ _0810DBC2:
sub_810DC10: @ 810DC10
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810DC24
@@ -30263,7 +30263,7 @@ _0810DC44:
adds r0, r4, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
mov r6, sp
adds r6, 0x2
@@ -30271,9 +30271,9 @@ _0810DC44:
mov r2, sp
adds r3, r6, 0
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810DC72
@@ -30309,7 +30309,7 @@ _0810DC72:
sub_810DCB4: @ 810DCB4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810DCC8
@@ -30389,7 +30389,7 @@ _0810DD4A:
sub_810DD50: @ 810DD50
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -30397,9 +30397,9 @@ sub_810DD50: @ 810DD50
adds r3, 0x22
movs r1, 0x1
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810DD7C
@@ -30450,7 +30450,7 @@ sub_810DDC4: @ 810DDC4
b _0810DE16
.pool
_0810DDE0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -30458,9 +30458,9 @@ _0810DDE0:
adds r3, 0x22
movs r1, 0x1
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810DE06
@@ -30680,9 +30680,9 @@ sub_810DFA8: @ 810DFA8
adds r6, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810DFC8
@@ -30696,10 +30696,10 @@ _0810DFC8:
strh r0, [r6, 0x2E]
ldrh r0, [r6, 0x20]
strh r0, [r6, 0x30]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -30709,7 +30709,7 @@ _0810DFC8:
strh r0, [r6, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -30748,9 +30748,9 @@ _0810E03C:
sub_810E044: @ 810E044
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810E070
@@ -30782,13 +30782,13 @@ _0810E070:
_0810E088:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r2, =gBattleAnimArgs
ldrh r1, [r2]
@@ -30805,23 +30805,23 @@ _0810E088:
ldrsh r0, [r2, r3]
cmp r0, 0
bne _0810E0EC
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
b _0810E0FE
.pool
_0810E0EC:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -30867,7 +30867,7 @@ sub_810E13C: @ 810E13C
ldr r0, =sub_810E184
str r0, [r4, 0x1C]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -30929,9 +30929,9 @@ _0810E1C2:
sub_810E1C8: @ 810E1C8
push {r4,r5,lr}
adds r5, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810E1F8
@@ -30955,10 +30955,10 @@ _0810E1FE:
strh r0, [r5, 0x2E]
ldrh r0, [r5, 0x20]
strh r0, [r5, 0x30]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -30966,7 +30966,7 @@ _0810E1FE:
strh r0, [r5, 0x34]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -31021,7 +31021,7 @@ _0810E274:
ble _0810E2BC
_0810E296:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -31099,15 +31099,15 @@ sub_810E314: @ 810E314
ands r0, r1
cmp r0, 0
beq _0810E33C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0810E33E
.pool
_0810E33C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0810E33E:
ldrb r6, [r0]
adds r0, r6, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810E354
@@ -31118,7 +31118,7 @@ _0810E33E:
_0810E354:
adds r0, r6, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -31127,7 +31127,7 @@ _0810E354:
strh r0, [r7, 0x20]
adds r0, r6, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldrh r1, [r4, 0x2]
lsrs r0, 24
@@ -32049,7 +32049,7 @@ _0810EA36:
sub_810EA4C: @ 810EA4C
push {r4,r5,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8328
movs r1, 0x3
@@ -32061,16 +32061,16 @@ sub_810EA4C: @ 810EA4C
ands r0, r2
orrs r0, r1
strb r0, [r4, 0x5]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -32106,9 +32106,9 @@ _0810EAC4:
ldrsh r0, [r4, r2]
cmp r0, 0
bne _0810EADC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810EAF2
@@ -32117,9 +32117,9 @@ _0810EADC:
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _0810EAF8
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810EAF8
@@ -32237,16 +32237,16 @@ sub_810EB88: @ 810EB88
strh r0, [r4, 0x6]
ldr r0, =gUnknown_085973E8
mov r8, r0
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
@@ -32289,7 +32289,7 @@ _0810EC46:
movs r1, 0x1
bl sub_80A69CC
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -32341,10 +32341,10 @@ _0810ECAA:
beq _0810ECE0
b _0810ED1E
_0810ECB0:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -32379,7 +32379,7 @@ _0810ECE0:
cmp r0, r1
bge _0810ED1E
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -32416,7 +32416,7 @@ sub_810ED28: @ 810ED28
ldr r0, =sub_810ED70
str r0, [r4, 0x1C]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -32545,21 +32545,21 @@ _0810EE28:
ldrsh r0, [r0, r2]
cmp r0, 0
bne _0810EE40
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810EE42
.pool
_0810EE40:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810EE42:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -32700,21 +32700,21 @@ _0810EF60:
ldrsh r0, [r2, r1]
cmp r0, 0
bne _0810EF74
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0810EF76
.pool
_0810EF74:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0810EF76:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -32861,17 +32861,17 @@ sub_810F084: @ 810F084
mov r8, r0
ldrh r4, [r0, 0x20]
ldrh r5, [r0, 0x22]
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r1, r8
strh r0, [r1, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r6, r0, 0
lsls r6, 24
lsrs r6, 24
@@ -32989,7 +32989,7 @@ sub_810F184: @ 810F184
cmp r0, 0
bne _0810F1BC
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
@@ -33005,7 +33005,7 @@ sub_810F184: @ 810F184
.pool
_0810F1BC:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
@@ -33038,9 +33038,9 @@ sub_810F1EC: @ 810F1EC
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810F212
@@ -33064,7 +33064,7 @@ _0810F212:
bne _0810F2B8
_0810F22E:
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
adds r7, r4, 0
@@ -33078,7 +33078,7 @@ _0810F22E:
orrs r1, r0
lsrs r6, r1, 31
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F264
@@ -33091,7 +33091,7 @@ _0810F264:
adds r4, r0, 0
eors r4, r7
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F284
@@ -33109,9 +33109,9 @@ _0810F284:
lsls r0, 24
cmp r0, 0
beq _0810F2B8
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810F2B0
@@ -33126,9 +33126,9 @@ _0810F2B0:
movs r0, 0x28
b _0810F2F2
_0810F2B8:
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810F2CE
@@ -33139,7 +33139,7 @@ _0810F2B8:
_0810F2CE:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -33148,7 +33148,7 @@ _0810F2CE:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x2]
@@ -33193,7 +33193,7 @@ sub_810F340: @ 810F340
push {r4,r5,lr}
adds r5, r0, 0
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
movs r1, 0x3C
@@ -33205,12 +33205,12 @@ sub_810F340: @ 810F340
b _0810F3B6
_0810F35C:
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F382
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r1, [r0]
lsls r0, r1, 4
@@ -33226,12 +33226,12 @@ _0810F382:
movs r0, 0x2
eors r4, r0
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F3AC
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r1, [r0]
lsls r0, r1, 4
@@ -33370,17 +33370,17 @@ sub_810F46C: @ 810F46C
cmp r0, 0
bne _0810F502
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F4D4
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r1, [r0]
lsls r0, r1, 4
@@ -33398,12 +33398,12 @@ _0810F4D4:
adds r4, r0, 0
eors r4, r6
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F502
ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r1, [r0]
lsls r0, r1, 4
@@ -33441,7 +33441,7 @@ sub_810F524: @ 810F524
cmp r0, 0
bne _0810F57C
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
@@ -33454,7 +33454,7 @@ sub_810F524: @ 810F524
orrs r1, r0
lsrs r5, r1, 31
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F562
@@ -33464,7 +33464,7 @@ _0810F562:
movs r0, 0x2
eors r4, r0
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0810F57C
@@ -33505,9 +33505,9 @@ _0810F5A6:
lsls r0, 24
cmp r0, 0
beq _0810F5EE
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0810F5E0
@@ -33568,21 +33568,21 @@ _0810F62C:
sub_810F634: @ 810F634
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0810F684
@@ -33623,7 +33623,7 @@ _0810F692:
sub_810F6B0: @ 810F6B0
push {r4-r7,lr}
adds r5, r0, 0
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x1
bl sub_80A861C
@@ -33645,7 +33645,7 @@ sub_810F6B0: @ 810F6B0
lsls r1, 16
lsrs r7, r1, 16
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -33656,14 +33656,14 @@ sub_810F6B0: @ 810F6B0
_0810F6F6:
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r4
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r7
@@ -33774,7 +33774,7 @@ sub_810F7D4: @ 810F7D4
ldr r0, =gTasks
adds r4, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -33824,16 +33824,16 @@ sub_810F83C: @ 810F83C
ldr r0, =gTasks
adds r4, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r1, 0
strh r0, [r4, 0x8]
strh r1, [r4, 0xA]
strh r1, [r4, 0xC]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0x8
cmp r0, 0
@@ -33952,16 +33952,16 @@ sub_810F940: @ 810F940
movs r0, 0x10
strh r0, [r5, 0xE]
strh r1, [r5, 0x10]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x24]
@@ -34260,16 +34260,16 @@ sub_810FBA8: @ 810FBA8
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0810FBD4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -34305,7 +34305,7 @@ sub_810FBF0: @ 810FBF0
bne _0810FC60
ldr r0, =0x0000fff6
strh r0, [r5, 0x1C]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x5
bl sub_80A861C
@@ -34316,7 +34316,7 @@ sub_810FBF0: @ 810FBF0
bl sub_80A861C
adds r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x5
bl sub_80A861C
@@ -34331,7 +34331,7 @@ sub_810FBF0: @ 810FBF0
_0810FC60:
movs r0, 0xA
strh r0, [r5, 0x1C]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x4
bl sub_80A861C
@@ -34342,7 +34342,7 @@ _0810FC60:
bl sub_80A861C
subs r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x4
bl sub_80A861C
@@ -34357,7 +34357,7 @@ _0810FC94:
bne _0810FCE8
ldr r0, =0x0000fff6
strh r0, [r5, 0x1C]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x4
bl sub_80A861C
@@ -34368,7 +34368,7 @@ _0810FC94:
bl sub_80A861C
adds r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x4
bl sub_80A861C
@@ -34383,7 +34383,7 @@ _0810FC94:
_0810FCE8:
movs r0, 0xA
strh r0, [r5, 0x1C]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x5
bl sub_80A861C
@@ -34394,7 +34394,7 @@ _0810FCE8:
bl sub_80A861C
subs r0, 0x8
strh r0, [r5, 0x20]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x5
bl sub_80A861C
@@ -34508,7 +34508,7 @@ _0810FDE8:
sub_810FDF0: @ 810FDF0
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0810FE0E
@@ -34535,7 +34535,7 @@ sub_810FE14: @ 810FE14
lsls r1, 3
ldr r0, =gTasks
adds r4, r1, r0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A6190
lsls r0, 24
@@ -34590,7 +34590,7 @@ _0810FE86:
movs r0, 0
strh r0, [r4, 0x24]
_0810FE92:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -34618,7 +34618,7 @@ _0810FEC0:
adds r0, 0x40
cmp r1, r0
bgt _0810FEFA
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -34651,7 +34651,7 @@ _0810FEFA:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_810FF34
str r0, [r4]
add sp, 0xC
@@ -34700,7 +34700,7 @@ _0810FF66:
ldr r0, =gSineTable
mov r9, r0
movs r7, 0x3
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
mov r12, r1
movs r2, 0xF0
lsls r2, 3
@@ -34775,7 +34775,7 @@ _0810FFFE:
ble _08110026
b _08110014
_0811000E:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_08110014:
@@ -34891,7 +34891,7 @@ _08110094:
bl CalcCenterToCornerVec
ldr r1, =gBattleAnimArgs
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
@@ -35062,16 +35062,16 @@ _08110256:
beq _0811034A
b _08110360
_08110260:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -35209,9 +35209,9 @@ sub_8110368: @ 8110368
b _081103C4
.pool
_08110394:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081103C4
@@ -35232,7 +35232,7 @@ _08110394:
negs r0, r0
strh r0, [r1]
_081103C4:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_80A60AC
@@ -35254,7 +35254,7 @@ _081103C4:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -35262,7 +35262,7 @@ _081103C4:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -35297,9 +35297,9 @@ sub_8110438: @ 8110438
b _08110478
.pool
_0811045C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08110478
@@ -35311,7 +35311,7 @@ _0811045C:
negs r1, r1
strh r1, [r0]
_08110478:
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
bl sub_80A60AC
@@ -35333,13 +35333,13 @@ _08110478:
strh r0, [r6, 0x2E]
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x36]
@@ -35384,23 +35384,23 @@ _08110500:
ldrsh r0, [r1, r2]
cmp r0, 0
bne _08110548
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
b _0811055A
.pool
_08110548:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x32
@@ -35457,7 +35457,7 @@ _081105AE:
sub_81105B4: @ 81105B4
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r4, 0
adds r2, 0x20
@@ -35465,9 +35465,9 @@ sub_81105B4: @ 81105B4
adds r3, 0x22
movs r1, 0
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081105F0
@@ -35490,9 +35490,9 @@ _081105FC:
ldrh r1, [r4, 0x22]
adds r0, r1
strh r0, [r4, 0x22]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08110618
@@ -35655,9 +35655,9 @@ sub_8110720: @ 8110720
b _08110762
.pool
_08110740:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08110762
@@ -35676,24 +35676,24 @@ _08110762:
lsls r0, 24
cmp r0, 0
bne _081107B2
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
adds r4, r0, 0
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r4, 24
lsls r0, 24
cmp r4, r0
bne _081107B2
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
beq _081107A0
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -35712,10 +35712,10 @@ _081107B2:
adds r0, r7, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
ldr r6, =gBattleAnimArgs
@@ -35726,7 +35726,7 @@ _081107B2:
lsrs r4, 16
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -35780,9 +35780,9 @@ sub_8110850: @ 8110850
adds r6, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08110870
@@ -35794,10 +35794,10 @@ _08110870:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -35805,7 +35805,7 @@ _08110870:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x6]
@@ -35844,7 +35844,7 @@ sub_81108CC: @ 81108CC
ands r1, r0
strb r1, [r2]
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081108F8
@@ -35879,7 +35879,7 @@ _0811090E:
lsls r0, 16
lsrs r6, r0, 16
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
bne _08110988
@@ -35941,21 +35941,21 @@ sub_8110994: @ 8110994
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081109B0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _081109B2
.pool
_081109B0:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_081109B2:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x12
@@ -35980,7 +35980,7 @@ sub_81109F0: @ 81109F0
ldrsh r0, [r6, r1]
cmp r0, 0
beq _08110A10
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r2, r5, 0
adds r2, 0x20
@@ -36064,9 +36064,9 @@ sub_8110AB4: @ 8110AB4
bl StartSpriteAnim
adds r0, r5, 0
bl AnimateSprite
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08110AE4
@@ -36243,7 +36243,7 @@ _08110C10:
mov r0, sp
movs r2, 0
bl sub_80A6D60
- ldr r0, =gUnknown_08D8DAB8
+ ldr r0, =gBattleAnimSpritePalette_261
mov r1, sp
ldrb r1, [r1, 0x8]
lsls r1, 4
@@ -36254,9 +36254,9 @@ _08110C10:
ldrsh r0, [r0, r1]
cmp r0, 0
beq _08110C6E
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08110C6E
@@ -36480,9 +36480,9 @@ sub_8110E4C: @ 8110E4C
ldrsh r0, [r4, r2]
cmp r0, 0
beq _08110E98
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08110E98
@@ -36620,32 +36620,32 @@ sub_8110F74: @ 8110F74
lsls r1, 3
ldr r0, =gTasks
adds r6, r1, r0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r9, r0
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0xC0
lsls r1, 13
adds r0, r1
lsrs r7, r0, 16
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xC0
@@ -36732,7 +36732,7 @@ _0811101E:
strh r0, [r6, 0x24]
strh r5, [r6, 0xA]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
@@ -37059,7 +37059,7 @@ _08111304:
sub_811131C: @ 811131C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0811134E
@@ -37193,9 +37193,9 @@ _08111412:
sub_8111418: @ 8111418
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -37216,16 +37216,16 @@ _08111434:
sub_8111444: @ 8111444
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r2, =gBattleAnimArgs
@@ -37443,10 +37443,10 @@ sub_811160C: @ 811160C
strh r0, [r4, 0x2E]
ldrh r0, [r4, 0x20]
strh r0, [r4, 0x30]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -37454,7 +37454,7 @@ sub_811160C: @ 811160C
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -37770,7 +37770,7 @@ sub_811188C: @ 811188C
movs r0, 0x52
bl SetGpuReg
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -37881,7 +37881,7 @@ sub_811196C: @ 811196C
.pool
_08111994:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r1, r0, 24
ldrh r0, [r4, 0x8]
@@ -37925,11 +37925,11 @@ sub_81119E0: @ 81119E0
adds r4, r0, 0
ldrh r5, [r4, 0x20]
ldrh r6, [r4, 0x22]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0
@@ -37938,7 +37938,7 @@ sub_81119E0: @ 81119E0
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -38042,16 +38042,16 @@ _08111AD2:
lsls r0, 16
cmp r0, 0
bgt _08111B96
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x30]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
@@ -38104,16 +38104,16 @@ _08111B3C:
lsls r0, 16
cmp r0, 0
bgt _08111B96
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -38285,9 +38285,9 @@ _08111C80:
adds r0, r4
movs r1, 0x50
strh r1, [r0, 0x2E]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08111CF4
@@ -38510,7 +38510,7 @@ sub_8111E78: @ 8111E78
lsls r0, 3
ldr r1, =gTasks
adds r5, r0, r1
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -38604,7 +38604,7 @@ _08111F0C:
adds r2, r4
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
ldr r1, [r1]
lsls r0, 2
@@ -38626,7 +38626,7 @@ _08111F0C:
movs r0, 0x10
strh r0, [r5, 0xE]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -38728,7 +38728,7 @@ _08112054:
_0811206C:
movs r2, 0x2
movs r3, 0x6
- bl sub_80BA384
+ bl ScanlineEffect_InitWave
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x1C]
@@ -38864,7 +38864,7 @@ sub_8112170: @ 8112170
lsls r0, 3
ldr r1, =gTasks
adds r4, r0, r1
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -38884,11 +38884,11 @@ _081121A8:
beq _081121F0
b _08112258
_081121AE:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x24]
@@ -38979,51 +38979,51 @@ sub_8112264: @ 8112264
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081122AC
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
lsls r2, 13
adds r0, r2
lsrs r5, r0, 16
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
b _081122D0
.pool
_081122AC:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r6, r0, 24
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r2, 0xE0
lsls r2, 13
adds r0, r2
lsrs r5, r0, 16
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
_081122D0:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 8
movs r1, 0xE0
@@ -39166,10 +39166,10 @@ sub_81123C4: @ 81123C4
ldr r2, =gBattleAnimArgs
ldrh r0, [r2]
strh r0, [r1, 0x1C]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x4]
@@ -39189,7 +39189,7 @@ _08112434:
_08112436:
lsls r1, r4, 16
asrs r3, r1, 16
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r2, [r0]
str r1, [sp, 0x10]
cmp r3, r2
@@ -39201,7 +39201,7 @@ _08112436:
lsls r0, r4, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _08112502
@@ -39221,7 +39221,7 @@ _08112436:
beq _08112502
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
mov r10, r0
@@ -39594,9 +39594,9 @@ sub_8112758: @ 8112758
movs r0, 0x54
movs r1, 0x10
bl SetGpuReg
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081127A0
@@ -39869,9 +39869,9 @@ sub_81129F0: @ 81129F0
adds r4, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08112A24
@@ -40064,9 +40064,9 @@ sub_8112B78: @ 8112B78
movs r1, 0xC
bl Sin
strh r0, [r5, 0x24]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08112B9C
@@ -40195,10 +40195,10 @@ sub_8112C6C: @ 8112C6C
mov r8, r0
mov r0, r8
strh r0, [r4, 0xA]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1A]
@@ -40301,9 +40301,9 @@ _08112D56:
lsls r0, 2
adds r5, r0, r1
strh r7, [r5, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
movs r1, 0
lsls r0, 24
cmp r0, 0
@@ -40561,8 +40561,8 @@ sub_8112F60: @ 8112F60
movs r2, 0x4
orrs r1, r2
strb r1, [r3]
- ldr r2, =gBankSpriteIds
- ldr r1, =gAnimBankAttacker
+ ldr r2, =gBattlerSpriteIds
+ ldr r1, =gBattleAnimAttacker
ldrb r1, [r1]
adds r1, r2
ldrb r1, [r1]
@@ -40679,21 +40679,21 @@ _08113054:
sub_8113064: @ 8113064
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081130B4
@@ -40752,22 +40752,22 @@ sub_8113100: @ 8113100
push {r4,r5,lr}
adds r5, r0, 0
bl sub_80A6838
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08113164
@@ -40834,21 +40834,21 @@ sub_81131B4: @ 81131B4
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081131D0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _081131D2
.pool
_081131D0:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_081131D2:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -40876,9 +40876,9 @@ _081131D2:
sub_8113224: @ 8113224
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0811323E
@@ -40898,17 +40898,17 @@ _0811323E:
sub_8113250: @ 8113250
push {r4-r7,lr}
adds r6, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r6, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
@@ -40918,7 +40918,7 @@ sub_8113250: @ 8113250
ldr r0, =gBattleAnimArgs
ldrh r0, [r0]
strh r0, [r6, 0x3A]
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
ldrb r0, [r4]
movs r1, 0
bl sub_80A861C
@@ -41106,7 +41106,7 @@ sub_81133E8: @ 81133E8
lsls r1, 3
ldr r0, =gTasks
adds r4, r1, r0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -41133,7 +41133,7 @@ _0811342A:
strb r0, [r1, 0x8]
mov r0, sp
strb r5, [r0, 0x9]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A6190
lsls r0, 24
@@ -41152,7 +41152,7 @@ _0811345A:
ldrsh r0, [r4, r1]
cmp r3, r0
bgt _08113488
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -41175,7 +41175,7 @@ _08113488:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_81134B8
str r0, [r4]
add sp, 0xC
@@ -41264,7 +41264,7 @@ _0811354E:
bl sub_8113574
b _0811356E
_08113556:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
ldrh r0, [r2, 0x8]
@@ -41292,11 +41292,11 @@ sub_8113574: @ 8113574
ldrsh r0, [r5, r1]
cmp r4, r0
bgt _081135CA
- ldr r7, =gUnknown_02038C28
+ ldr r7, =gScanlineEffectRegBuffers
mov r12, r7
ldr r0, =gSineTable
mov r8, r0
- ldr r6, =gUnknown_02039B28
+ ldr r6, =gScanlineEffect
_08113592:
lsls r2, r4, 1
ldrb r1, [r6, 0x14]
@@ -41354,18 +41354,18 @@ sub_81135EC: @ 81135EC
movs r1, 0x5
bl __divsi3
adds r6, r0, 0
- ldr r1, =gAnimBankAttacker
+ ldr r1, =gBattleAnimAttacker
mov r8, r1
ldrb r0, [r1]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
mov r2, r8
ldrb r0, [r2]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r3, [r5, 0x8]
@@ -41473,7 +41473,7 @@ sub_81136E8: @ 81136E8
ldr r1, =gBattleAnimArgs
ldrh r1, [r1]
strh r1, [r0, 0x8]
- ldr r1, =gAnimBankAttacker
+ ldr r1, =gBattleAnimAttacker
ldrb r4, [r1]
movs r1, 0x10
strh r1, [r0, 0xA]
@@ -41544,8 +41544,8 @@ sub_811375C: @ 811375C
cmp r4, 0x10
bne _081137DE
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -41661,7 +41661,7 @@ sub_8113888: @ 8113888
lsls r1, 5
movs r0, 0x52
bl SetGpuReg
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -41690,29 +41690,29 @@ _081138C4:
sub_81138D4: @ 81138D4
push {r4-r6,lr}
adds r4, r0, 0
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x34]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -41918,11 +41918,11 @@ sub_8113A90: @ 8113A90
adds r3, r0, 0
cmp r1, 0
bne _08113AAC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08113AAE
.pool
_08113AAC:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08113AAE:
ldrb r5, [r0]
movs r6, 0x14
@@ -42031,7 +42031,7 @@ _08113B60:
sub_8113B90: @ 8113B90
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08113BA4
@@ -42054,10 +42054,10 @@ sub_8113BAC: @ 8113BAC
lsls r1, 3
ldr r0, =gTasks
adds r5, r1, r0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -42076,7 +42076,7 @@ sub_8113BAC: @ 8113BAC
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -42085,7 +42085,7 @@ sub_8113BAC: @ 8113BAC
adds r0, 0x20
strh r0, [r5, 0x26]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08113C1C
@@ -42096,7 +42096,7 @@ _08113C1C:
ldr r0, =0x0000ffc0
_08113C1E:
strh r0, [r5, 0x18]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -42169,7 +42169,7 @@ _08113CB0:
movs r0, 0x3
bl sub_8114374
movs r3, 0
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r4, r0
@@ -42189,7 +42189,7 @@ _08113CDC:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
movs r0, 0x3F
eors r7, r0
movs r1, 0xFC
@@ -42344,7 +42344,7 @@ _08113E3E:
b _08113E5E
.pool
_08113E58:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_08113E5E:
@@ -42415,7 +42415,7 @@ _08113EBC:
b _081140A6
.pool
_08113EF8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -42472,10 +42472,10 @@ _08113F78:
b _08114044
.pool
_08113F84:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x1F
@@ -42492,7 +42492,7 @@ _08113F84:
strh r1, [r5, 0x22]
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r1, r0, 0x4
@@ -42500,7 +42500,7 @@ _08113F84:
adds r0, 0x4
strh r0, [r5, 0x26]
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08113FD8
@@ -42534,7 +42534,7 @@ _08114002:
str r0, [sp, 0x10]
movs r3, 0
add r4, sp, 0x10
- ldr r6, =gUnknown_02038C28
+ ldr r6, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r7, r6, r0
@@ -42563,7 +42563,7 @@ _08114010:
strb r2, [r4, 0x9]
ldr r0, [sp, 0x10]
ldr r2, [r4, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
_08114044:
ldrh r0, [r5, 0x8]
adds r0, 0x1
@@ -42772,7 +42772,7 @@ _081141DA:
bne _08114232
b _08114204
_081141FE:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_08114204:
@@ -42827,9 +42827,9 @@ sub_8114244: @ 8114244
movs r4, 0
cmp r0, 0
ble _081142A4
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r12, r0
- ldr r7, =gUnknown_02039B28
+ ldr r7, =gScanlineEffect
_08114278:
lsls r2, r4, 16
asrs r2, 16
@@ -42861,9 +42861,9 @@ _081142A4:
ldrsh r0, [r6, r2]
cmp r1, r0
bgt _081142EE
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r12, r0
- ldr r7, =gUnknown_02039B28
+ ldr r7, =gScanlineEffect
_081142B8:
asrs r4, r3, 16
cmp r4, 0
@@ -42904,8 +42904,8 @@ _081142EE:
ldrsh r0, [r6, r3]
cmp r1, r0
bge _08114366
- ldr r7, =gUnknown_02038C28
- ldr r4, =gUnknown_02039B28
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r4, =gScanlineEffect
_08114306:
asrs r3, r2, 16
cmp r3, 0
@@ -42935,7 +42935,7 @@ _08114338:
adds r5, r0, 0
adds r5, 0x9F
movs r4, 0
- ldr r3, =gUnknown_02038C28
+ ldr r3, =gScanlineEffectRegBuffers
movs r2, 0xF0
lsls r2, 3
adds r6, r3, r2
@@ -42979,7 +42979,7 @@ sub_8114374: @ 8114374
_0811438A:
lsls r0, r4, 24
lsrs r0, 24
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@@ -43014,7 +43014,7 @@ sub_81143C0: @ 81143C0
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
bl sub_80A8364
lsls r0, 24
@@ -43030,7 +43030,7 @@ sub_81143C0: @ 81143C0
bl sub_80A438C
ldr r0, =gSprites
mov r9, r0
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
mov r8, r0
ldrb r0, [r6]
add r0, r8
@@ -43049,7 +43049,7 @@ sub_81143C0: @ 81143C0
ldrb r0, [r6]
movs r5, 0x2
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0811444E
@@ -43091,7 +43091,7 @@ sub_8114470: @ 8114470
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
bl sub_80A8364
lsls r0, 24
@@ -43106,7 +43106,7 @@ sub_8114470: @ 8114470
ldrb r1, [r4]
movs r0, 0x2
eors r0, r1
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _081144AC
@@ -43202,15 +43202,15 @@ _0811455C:
lsls r0, 24
cmp r0, 0
bne _081145D6
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _0811458C
ldrb r0, [r4]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
bne _081145D6
@@ -43218,13 +43218,13 @@ _0811458C:
ldrb r0, [r4]
movs r5, 0x2
eors r0, r5
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081145D6
ldr r3, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r4]
eors r0, r5
adds r0, r1
@@ -43262,13 +43262,13 @@ _081145D6:
b _0811465C
.pool
_08114614:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08114640
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -43279,7 +43279,7 @@ _08114614:
b _08114650
.pool
_08114640:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -43295,11 +43295,11 @@ _08114650:
lsrs r5, r0, 16
_0811465C:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r1, r4, 0
adds r2, r5, 0
@@ -43421,7 +43421,7 @@ _08114776:
cmp r0, 0x2
bne _08114824
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r5, =gSprites
@@ -43457,8 +43457,8 @@ _081147B8:
ldrsh r0, [r4, r1]
cmp r0, 0x1
bne _08114886
- ldr r2, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r2, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -43562,7 +43562,7 @@ _081148C4:
.4byte _081148FC
_081148E4:
ldrb r0, [r2]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r2, r0, 24
b _08114902
@@ -43586,15 +43586,15 @@ _08114902:
beq _0811492E
_08114908:
adds r0, r4, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0811492C
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r2, [r0]
b _0811492E
@@ -43655,31 +43655,31 @@ _08114980:
sub_8114994: @ 8114994
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
movs r0, 0x14
strh r0, [r4, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x36]
@@ -43699,7 +43699,7 @@ sub_8114994: @ 8114994
sub_81149FC: @ 81149FC
push {r4,r5,lr}
adds r5, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08114A50
@@ -43716,16 +43716,16 @@ sub_81149FC: @ 81149FC
strh r1, [r5, 0x24]
movs r0, 0x14
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -43746,7 +43746,7 @@ _08114A50:
sub_8114A60: @ 8114A60
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08114A74
@@ -43764,9 +43764,9 @@ sub_8114A7C: @ 8114A7C
adds r6, r0, 0
movs r1, 0x1
bl sub_80A6980
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08114A9C
@@ -43778,10 +43778,10 @@ _08114A9C:
ldr r4, =gBattleAnimArgs
ldrh r0, [r4, 0x8]
strh r0, [r6, 0x2E]
- ldr r5, =gAnimBankTarget
+ ldr r5, =gBattleAnimTarget
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x4]
@@ -43789,7 +43789,7 @@ _08114A9C:
strh r0, [r6, 0x32]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r4, [r4, 0x6]
@@ -43814,7 +43814,7 @@ sub_8114AF0: @ 8114AF0
adds r6, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
bl sub_80A60AC
@@ -43890,10 +43890,10 @@ sub_8114B80: @ 8114B80
ldrsh r0, [r6, r1]
cmp r0, 0
bne _08114BF4
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r2, [r6, 0x2]
@@ -43901,7 +43901,7 @@ sub_8114B80: @ 8114B80
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r3, [r6, 0x4]
@@ -44092,11 +44092,11 @@ _08114D28:
.4byte _08114E8C
_08114D3C:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -44118,7 +44118,7 @@ _08114D70:
_08114D78:
ldrh r0, [r0]
strh r0, [r4, 0x22]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A6190
lsls r0, 24
@@ -44235,7 +44235,7 @@ _08114E4E:
b _08114E7E
.pool
_08114E78:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_08114E7E:
@@ -44272,7 +44272,7 @@ sub_8114EB4: @ 8114EB4
lsls r0, 24
lsrs r5, r0, 24
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
@@ -44289,7 +44289,7 @@ sub_8114EB4: @ 8114EB4
movs r4, 0
strh r4, [r1, 0x24]
strh r4, [r1, 0x26]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -44361,7 +44361,7 @@ sub_8114F54: @ 8114F54
.pool
_08114F78:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
@@ -44438,11 +44438,11 @@ _08115004:
.4byte _081150D4
_08115018:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1C]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -44458,7 +44458,7 @@ _08115044:
_08115046:
ldrh r0, [r0]
strh r0, [r4, 0x20]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A6190
lsls r0, 24
@@ -44510,7 +44510,7 @@ _08115094:
ldrsh r0, [r0, r1]
cmp r0, 0
bne _081150DA
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_081150C2:
@@ -44561,7 +44561,7 @@ _08115114:
asrs r4, r0, 16
cmp r2, r0
bge _08115140
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -44584,7 +44584,7 @@ _08115140:
asrs r0, r1, 16
cmp r0, 0x9F
bgt _0811516E
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
lsls r0, r3, 16
asrs r0, 16
adds r3, r0, 0
@@ -44616,7 +44616,7 @@ _0811516E:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
add sp, 0xC
pop {r4-r6}
pop {r0}
@@ -44634,11 +44634,11 @@ sub_81151A0: @ 81151A0
adds r7, r0, 0
cmp r1, 0
bne _081151BC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _081151BE
.pool
_081151BC:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_081151BE:
ldrb r4, [r0]
movs r6, 0x18
@@ -44657,7 +44657,7 @@ _081151BE:
_081151DA:
adds r0, r4, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r6
@@ -44693,7 +44693,7 @@ _081151DA:
sub_8115228: @ 8115228
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0811523C
@@ -44714,16 +44714,16 @@ sub_8115244: @ 8115244
ldrsh r0, [r0, r1]
cmp r0, 0
bne _08115260
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08115262
.pool
_08115260:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08115262:
ldrb r5, [r0]
adds r0, r5, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldr r2, =0x0000fff0
@@ -44818,7 +44818,7 @@ _08115340:
_08115346:
lsls r0, r5, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _08115370
@@ -44829,7 +44829,7 @@ _08115346:
adds r1, r4, 0
adds r1, 0x8
adds r1, r0
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r5, r0
ldrb r0, [r0]
strh r0, [r1]
@@ -44846,7 +44846,7 @@ _08115370:
.pool
_08115380:
ldrb r0, [r6]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x1A]
@@ -45217,11 +45217,11 @@ sub_8115628: @ 8115628
adds r6, r2, 0
cmp r0, 0
beq _08115648
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
b _0811564A
.pool
_08115648:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
_0811564A:
ldrb r0, [r0]
adds r5, r0, 0
@@ -45244,7 +45244,7 @@ _0811565A:
adds r4, r0
adds r0, r5, 0
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0x20
@@ -45255,7 +45255,7 @@ _0811565A:
strh r1, [r4, 0xA]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
movs r1, 0x40
@@ -45333,9 +45333,9 @@ sub_811572C: @ 811572C
strh r0, [r4, 0x22]
ldrh r0, [r5, 0x4]
strh r0, [r4, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -45846,15 +45846,15 @@ sub_8115B0C: @ 8115B0C
strh r1, [r0, 0x12]
strh r5, [r0, 0x18]
movs r4, 0
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r1, [r0]
mov r9, r3
mov r8, r2
cmp r5, r1
bge _08115B74
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r3, [r0]
- ldr r7, =gAnimBankTarget
+ ldr r7, =gBattleAnimTarget
movs r0, 0x1
mov r12, r0
adds r2, r1, 0
@@ -46336,9 +46336,9 @@ sub_8115F10: @ 8115F10
lsrs r0, 24
mov r8, r0
movs r2, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r6, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r7, [r0]
ldr r4, =gBattleAnimArgs
ldrh r1, [r4]
@@ -46429,10 +46429,10 @@ _08115FD6:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
mov r9, r0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
mov r10, r0
ldrh r1, [r4, 0xC]
@@ -46450,7 +46450,7 @@ _08115FF8:
cmp r0, 0
beq _08116028
ldr r2, =gSprites
- ldr r0, =gHealthBoxesIds
+ ldr r0, =gHealthboxSpriteIds
add r0, r9
ldrb r1, [r0]
lsls r0, r1, 4
@@ -46650,13 +46650,13 @@ _0811618A:
cmp r0, 0x1
bhi _081161DC
movs r4, 0
- ldr r5, =gNoOfAllBanks
+ ldr r5, =gBattlersCount
ldrb r0, [r5]
cmp r4, r0
bcs _081161DC
ldr r2, =gSprites
mov r12, r2
- ldr r6, =gBankSpriteIds
+ ldr r6, =gBattlerSpriteIds
movs r7, 0x3
negs r7, r7
_081161BA:
@@ -46691,8 +46691,8 @@ _081161E2:
sub_81161F4: @ 81161F4
push {r4-r6,lr}
ldr r6, =gSprites
- ldr r4, =gBankSpriteIds
- ldr r5, =gAnimBankAttacker
+ ldr r4, =gBattlerSpriteIds
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
adds r0, r4
ldrb r0, [r0]
@@ -46707,7 +46707,7 @@ sub_81161F4: @ 81161F4
adds r0, r2, 0
ands r0, r3
strb r0, [r1]
- ldr r3, =gAnimBankTarget
+ ldr r3, =gBattleAnimTarget
ldrb r0, [r3]
adds r0, r4
ldrb r1, [r0]
@@ -46955,9 +46955,9 @@ _081163FC:
sub_8116420: @ 8116420
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08116444
@@ -47048,7 +47048,7 @@ sub_81164F0: @ 81164F0
adds r4, r0, 0
ldr r5, =gBattleAnimArgs
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x2E]
@@ -47256,14 +47256,14 @@ _081166B8:
movs r5, 0
_081166BA:
mov r0, sp
- ldr r1, =gAnimBankAttacker
+ ldr r1, =gBattleAnimAttacker
b _081166CA
.pool
_081166C4:
movs r5, 0
_081166C6:
mov r0, sp
- ldr r1, =gAnimBankTarget
+ ldr r1, =gBattleAnimTarget
_081166CA:
ldrb r1, [r1]
strb r1, [r0]
@@ -47271,10 +47271,10 @@ _081166CA:
.pool
_081166D4:
mov r1, sp
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
strb r0, [r1]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
strb r0, [r1, 0x1]
b _0811670E
@@ -47287,13 +47287,13 @@ _081166EC:
_081166F4:
movs r5, 0
mov r2, sp
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08116706
.pool
_08116700:
movs r5, 0
mov r2, sp
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08116706:
ldrb r0, [r0]
movs r1, 0x2
@@ -47310,7 +47310,7 @@ _08116712:
cmp r4, r0
beq _0811673C
adds r0, r4, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0811673C
@@ -47867,15 +47867,15 @@ _08116BA2:
lsls r0, 24
cmp r0, 0
bne _08116C26
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _08116BD2
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
bne _08116C26
@@ -47883,13 +47883,13 @@ _08116BD2:
ldrb r0, [r5]
movs r6, 0x2
eors r0, r6
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08116C26
ldr r3, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldrb r0, [r5]
eors r0, r6
adds r0, r1
@@ -47932,13 +47932,13 @@ _08116C26:
b _08116CAC
.pool
_08116C64:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08116C90
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -47949,7 +47949,7 @@ _08116C64:
b _08116CA0
.pool
_08116C90:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -47965,11 +47965,11 @@ _08116CA0:
lsrs r5, r0, 16
_08116CAC:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r1, r4, 0
adds r2, r5, 0
@@ -48119,7 +48119,7 @@ _08116DF6:
movs r1, 0
bl SetGpuReg
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r4, =gSprites
movs r0, 0x8
ldrsh r1, [r5, r0]
@@ -48137,8 +48137,8 @@ _08116DF6:
ldrsh r0, [r5, r1]
cmp r0, 0x1
bne _08116E7C
- ldr r2, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r2, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r1, [r0]
movs r0, 0x2
eors r0, r1
@@ -48223,11 +48223,11 @@ sub_8116F04: @ 8116F04
ldrsh r0, [r1, r2]
cmp r0, 0
bne _08116F24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08116F26
.pool
_08116F24:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08116F26:
ldrb r0, [r0]
strb r0, [r1]
@@ -48247,7 +48247,7 @@ _08116F26:
cmp r0, 0
beq _08116F5C
ldrb r0, [r1, 0x1]
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _08116F5C
@@ -48306,27 +48306,27 @@ _08116FBA:
cmp r0, 0
bne _08117036
ldrb r0, [r1]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _08116FEC
ldr r0, [r4]
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
cmp r0, 0
bne _08117036
_08116FEC:
ldr r0, [r4]
ldrb r0, [r0, 0x1]
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x1
bne _08117036
ldr r3, =gSprites
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
ldr r0, [r4]
ldrb r0, [r0, 0x1]
adds r0, r1
@@ -48370,11 +48370,11 @@ _08117078:
ldr r4, =gUnknown_0203A110
ldr r0, [r4]
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _081170A8
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldr r0, [r4]
ldrb r0, [r0]
lsls r0, 1
@@ -48386,7 +48386,7 @@ _08117078:
b _081170BA
.pool
_081170A8:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldr r0, [r4]
ldrb r0, [r0]
lsls r0, 1
@@ -48425,7 +48425,7 @@ sub_81170EC: @ 81170EC
lsrs r5, r0, 24
movs r0, 0
mov r8, r0
- ldr r6, =gBankSpriteIds
+ ldr r6, =gBattlerSpriteIds
ldr r4, =gUnknown_0203A110
ldr r2, [r4]
ldrb r0, [r2]
@@ -48601,7 +48601,7 @@ _08117280:
strh r4, [r1, 0xE]
ldrb r0, [r3, 0x2]
strh r0, [r1, 0x14]
- ldr r2, =gBankSpriteIds
+ ldr r2, =gBattlerSpriteIds
ldrb r0, [r3, 0x1]
adds r0, r2
ldrb r0, [r0]
@@ -49044,7 +49044,7 @@ sub_8117610: @ 8117610
lsrs r6, r0, 24
movs r4, 0
movs r2, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r3, [r0]
movs r5, 0x1
_08117620:
@@ -49096,9 +49096,9 @@ sub_8117660: @ 8117660
ldrsh r0, [r4, r1]
cmp r0, 0
beq _0811769C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0811769C
@@ -49196,9 +49196,9 @@ sub_8117754: @ 8117754
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
ldr r1, =gBattleAnimArgs
lsls r0, 24
lsrs r0, 24
@@ -49217,9 +49217,9 @@ sub_8117780: @ 8117780
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
ldr r1, =gBattleAnimArgs
lsls r0, 24
lsrs r0, 24
@@ -49239,10 +49239,10 @@ sub_81177AC: @ 81177AC
lsrs r3, r0, 24
ldr r5, =gBattleAnimArgs
movs r4, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r2, [r0]
movs r0, 0x2
- ldr r1, =gAnimBankTarget
+ ldr r1, =gBattleAnimTarget
eors r0, r2
ldrb r1, [r1]
cmp r0, r1
@@ -49266,17 +49266,17 @@ sub_81177E4: @ 81177E4
movs r4, 0
ldr r6, =gSprites
_081177EE:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
cmp r4, r0
beq _0811782C
lsls r0, r4, 24
lsrs r0, 24
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _0811782C
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
adds r0, r4, r0
ldrb r0, [r0]
lsls r2, r0, 4
@@ -49355,7 +49355,7 @@ sub_8117854: @ 8117854
cmp r1, 0
beq _081178BA
adds r0, r6, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
bne _081178BA
@@ -49431,11 +49431,11 @@ _08117930:
.pool
_08117964:
adds r0, r7, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08117988
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r7, 1
adds r0, r1
ldrh r1, [r0]
@@ -49445,7 +49445,7 @@ _08117964:
b _08117996
.pool
_08117988:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r7, 1
adds r0, r1
ldrh r1, [r0]
@@ -49459,7 +49459,7 @@ _08117996:
lsls r0, 16
lsrs r4, r0, 16
_081179A2:
- ldr r5, =gBankSpriteIds
+ ldr r5, =gBattlerSpriteIds
adds r0, r7, r5
ldrb r1, [r0]
adds r0, r7, 0
@@ -49854,13 +49854,13 @@ _08117CD2:
_08117CE4:
cmp r0, 0x1
bne _08117CF0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08117CF6
.pool
_08117CF0:
cmp r0, 0x2
bne _08117CFC
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08117CF6:
ldrb r0, [r0]
adds r4, r0, 0
@@ -49929,13 +49929,13 @@ _08117D6E:
_08117D80:
cmp r0, 0x1
bne _08117D8C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08117D92
.pool
_08117D8C:
cmp r0, 0x2
bne _08117D98
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08117D92:
ldrb r0, [r0]
adds r4, r0, 0
@@ -50004,13 +50004,13 @@ _08117E0A:
_08117E1C:
cmp r0, 0x1
bne _08117E28
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _08117E2E
.pool
_08117E28:
cmp r0, 0x2
bne _08117E34
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_08117E2E:
ldrb r0, [r0]
adds r4, r0, 0
@@ -50064,12 +50064,12 @@ sub_8117E94: @ 8117E94
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, =gAnimBankAttacker
- ldr r1, =gBankTarget
+ ldr r2, =gBattleAnimAttacker
+ ldr r1, =gBattlerTarget
ldrb r1, [r1]
strb r1, [r2]
- ldr r2, =gAnimBankTarget
- ldr r1, =gEffectBank
+ ldr r2, =gBattleAnimTarget
+ ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -50083,13 +50083,13 @@ sub_8117EC4: @ 8117EC4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -50116,8 +50116,8 @@ sub_8117F10: @ 8117F10
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, =gAnimBankTarget
- ldr r1, =gBankTarget
+ ldr r2, =gBattleAnimTarget
+ ldr r1, =gBattlerTarget
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -50131,12 +50131,12 @@ sub_8117F30: @ 8117F30
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, =gAnimBankAttacker
- ldr r1, =gBankAttacker
+ ldr r2, =gBattleAnimAttacker
+ ldr r1, =gBattlerAttacker
ldrb r1, [r1]
strb r1, [r2]
- ldr r2, =gAnimBankTarget
- ldr r1, =gEffectBank
+ ldr r2, =gBattleAnimTarget
+ ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -50165,7 +50165,7 @@ _08117F78:
adds r3, r0
ldr r0, =gBattleSpritesDataPtr
ldr r4, [r0]
- ldr r2, =gAnimBankAttacker
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
ldr r1, [r4]
lsls r0, 2
@@ -50209,7 +50209,7 @@ sub_8117FD0: @ 8117FD0
bne _08118014
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r3, [r0]
ldr r0, [r1]
lsls r3, 2
@@ -50670,7 +50670,7 @@ _081183B4:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
- ldr r2, =gUnknown_020243FC
+ ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -50740,9 +50740,9 @@ _08118442:
strh r0, [r1, 0xC]
_0811845A:
movs r3, 0
- ldr r5, =gUnknown_02039B28
+ ldr r5, =gScanlineEffect
mov r9, r5
- ldr r7, =gUnknown_02038C28
+ ldr r7, =gScanlineEffectRegBuffers
mov r6, r9
adds r5, r1, 0
_08118466:
@@ -50760,8 +50760,8 @@ _08118466:
ble _08118466
cmp r3, 0x9F
bgt _081184AA
- ldr r7, =gUnknown_02038C28
- ldr r6, =gUnknown_02039B28
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r6, =gScanlineEffect
ldr r1, =gTasks
mov r2, r12
adds r0, r2, r4
@@ -51014,7 +51014,7 @@ _08118690:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
- ldr r2, =gUnknown_020243FC
+ ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51089,9 +51089,9 @@ _0811873C:
strh r0, [r1, 0xC]
_08118752:
movs r3, 0
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
mov r8, r0
- ldr r2, =gUnknown_02038C28
+ ldr r2, =gScanlineEffectRegBuffers
mov r12, r2
mov r7, r8
adds r4, r1, 0
@@ -51110,9 +51110,9 @@ _08118760:
ble _08118760
cmp r3, 0x9F
bgt _081187A4
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r12, r0
- ldr r7, =gUnknown_02039B28
+ ldr r7, =gScanlineEffect
ldr r1, =gTasks
adds r0, r6, r5
lsls r0, 3
@@ -51315,7 +51315,7 @@ _08118934:
strh r0, [r1, 0xE]
movs r0, 0x1
strh r0, [r1, 0x12]
- ldr r2, =gUnknown_020243FC
+ ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51378,9 +51378,9 @@ _081189BA:
strh r0, [r1, 0xC]
_081189D0:
movs r3, 0
- ldr r6, =gUnknown_02039B28
+ ldr r6, =gScanlineEffect
mov r8, r6
- ldr r7, =gUnknown_02038C28
+ ldr r7, =gScanlineEffectRegBuffers
adds r4, r1, 0
_081189DA:
lsls r2, r3, 1
@@ -51397,8 +51397,8 @@ _081189DA:
ble _081189DA
cmp r3, 0x9F
bgt _08118A1E
- ldr r7, =gUnknown_02038C28
- ldr r6, =gUnknown_02039B28
+ ldr r7, =gScanlineEffectRegBuffers
+ ldr r6, =gScanlineEffect
ldr r1, =gTasks
mov r2, r12
adds r0, r2, r5
@@ -51675,7 +51675,7 @@ _08118C50:
strh r0, [r1, 0xC]
movs r0, 0x20
strh r0, [r1, 0xE]
- ldr r2, =gUnknown_020243FC
+ ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -51707,9 +51707,9 @@ _08118C90:
strh r0, [r1, 0xC]
_08118CA6:
movs r3, 0
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
mov r12, r0
- ldr r2, =gUnknown_02038C28
+ ldr r2, =gScanlineEffectRegBuffers
mov r8, r2
mov r7, r12
adds r4, r1, 0
@@ -51728,9 +51728,9 @@ _08118CB4:
ble _08118CB4
cmp r3, 0x9F
bgt _08118CF8
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r8, r0
- ldr r7, =gUnknown_02039B28
+ ldr r7, =gScanlineEffect
ldr r1, =gTasks
adds r0, r5, r6
lsls r0, 3
@@ -51924,7 +51924,7 @@ _08118E7E:
strh r0, [r1, 0x8]
movs r0, 0xF0
strh r0, [r1, 0xC]
- ldr r2, =gUnknown_020243FC
+ ldr r2, =gIntroSlideFlags
ldrh r1, [r2]
ldr r0, =0x0000fffe
ands r0, r1
@@ -52025,7 +52025,7 @@ _08118F28:
lsls r1, 7
movs r0, 0xC
bl SetGpuReg
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
ldr r1, =gTasks
@@ -52078,7 +52078,7 @@ sub_8118FBC: @ 8118FBC
lsls r5, 16
lsrs r5, 16
adds r0, r4, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
ldr r1, =gMonSpritesGfxPtr
diff --git a/asm/battle_anim_815A0D4.s b/asm/battle_anim_815A0D4.s
index d2a401f59..6b894a0f1 100755..100644
--- a/asm/battle_anim_815A0D4.s
+++ b/asm/battle_anim_815A0D4.s
@@ -87,10 +87,10 @@ sub_815A160: @ 815A160
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
- ldr r6, =gAnimBankTarget
+ ldr r6, =gBattleAnimTarget
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 8
@@ -100,7 +100,7 @@ sub_815A160: @ 815A160
asrs r4, 16
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
lsrs r1, 8
@@ -207,16 +207,16 @@ sub_815A254: @ 815A254
push {r4-r7,lr}
sub sp, 0x4
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
@@ -639,8 +639,8 @@ _0815A5AC:
.pool
thumb_func_end sub_815A52C
- thumb_func_start c3_80DE6F0
-c3_80DE6F0: @ 815A5C8
+ thumb_func_start sub_815A5C8
+sub_815A5C8: @ 815A5C8
lsls r0, 24
lsrs r0, 24
ldr r2, =gTasks
@@ -656,7 +656,7 @@ c3_80DE6F0: @ 815A5C8
strb r0, [r1]
bx lr
.pool
- thumb_func_end c3_80DE6F0
+ thumb_func_end sub_815A5C8
thumb_func_start sub_815A5F0
sub_815A5F0: @ 815A5F0
@@ -768,7 +768,7 @@ sub_815A6C4: @ 815A6C4
adds r4, r0, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
mov r5, sp
adds r5, 0x2
@@ -776,9 +776,9 @@ sub_815A6C4: @ 815A6C4
mov r2, sp
adds r3, r5, 0
bl sub_80A8924
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815A6F8
@@ -816,7 +816,7 @@ _0815A6F8:
sub_815A73C: @ 815A73C
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0815A75E
@@ -919,9 +919,9 @@ sub_815A7EC: @ 815A7EC
lsls r0, 24
cmp r0, 0
bne _0815A840
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815A830
@@ -1017,9 +1017,9 @@ sub_815A8C8: @ 815A8C8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1251,16 +1251,16 @@ sub_815AAA4: @ 815AAA4
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0815AAD0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1502,15 +1502,15 @@ sub_815ACD0: @ 815ACD0
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0815ACEC
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0815ACEE
.pool
_0815ACEC:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0815ACEE:
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x2]
@@ -1518,7 +1518,7 @@ _0815ACEE:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -1618,11 +1618,11 @@ sub_815ADB0: @ 815ADB0
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0815ADDC
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0815ADDE
.pool
_0815ADDC:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0815ADDE:
ldrb r0, [r4]
bl sub_80A6190
@@ -1689,7 +1689,7 @@ _0815AE58:
ldrsh r0, [r5, r6]
cmp r1, r0
bgt _0815AE8E
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r0, r4
@@ -1729,7 +1729,7 @@ _0815AEA2:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_815AED8
str r0, [r5]
add sp, 0xC
@@ -1820,7 +1820,7 @@ _0815AF5C:
ldrsh r0, [r4, r2]
cmp r1, r0
bge _0815AF90
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -1848,7 +1848,7 @@ _0815AF90:
ldrsh r0, [r4, r2]
cmp r1, r0
bgt _0815AFC4
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r6, r5, r0
@@ -1877,7 +1877,7 @@ _0815AFC4:
ldrsh r0, [r4, r1]
cmp r0, 0
beq _0815AFDA
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
_0815AFDA:
@@ -1903,16 +1903,16 @@ sub_815AFF0: @ 815AFF0
movs r5, 0
strh r5, [r4, 0x8]
strh r5, [r4, 0xA]
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xC]
ldrb r0, [r6]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0xE]
@@ -1922,7 +1922,7 @@ sub_815AFF0: @ 815AFF0
strh r0, [r4, 0x12]
strh r5, [r4, 0x14]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -2278,16 +2278,16 @@ _0815B2D8:
strh r1, [r5, 0x26]
movs r0, 0x14
strh r0, [r5, 0x2E]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x32]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x36]
@@ -2320,7 +2320,7 @@ sub_815B338: @ 815B338
.pool
_0815B35C:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2351,7 +2351,7 @@ sub_815B394: @ 815B394
push {r4-r6,lr}
adds r5, r0, 0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r6, r0, 24
movs r1, 0x2E
@@ -2370,16 +2370,16 @@ _0815B3B4:
beq _0815B478
b _0815B496
_0815B3BE:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -2482,9 +2482,9 @@ _0815B496:
sub_815B49C: @ 815B49C
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815B4BC
@@ -2513,9 +2513,9 @@ sub_815B4D4: @ 815B4D4
ldrh r0, [r4, 0x2E]
adds r0, 0x48
strh r0, [r4, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815B4F8
@@ -2728,7 +2728,7 @@ sub_815B65C: @ 815B65C
cmp r0, 0
bne _0815B69C
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2770,7 +2770,7 @@ sub_815B6B4: @ 815B6B4
cmp r0, 0
bne _0815B6F4
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2814,10 +2814,10 @@ _0815B71E:
movs r0, 0x90
lsls r0, 4
strh r0, [r4, 0x30]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x32]
@@ -2868,7 +2868,7 @@ sub_815B778: @ 815B778
cmp r0, 0
bne _0815B7B8
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -2933,7 +2933,7 @@ _0815B81C:
movs r0, 0x4C
movs r1, 0
bl SetGpuReg
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -2996,9 +2996,9 @@ _0815B886:
_0815B8A6:
b _0815BA7A
_0815B8A8:
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- ldr r1, =gAnimBankTarget
+ ldr r1, =gBattleAnimTarget
ldrb r1, [r1]
mov r2, r8
lsls r4, r2, 2
@@ -3020,7 +3020,7 @@ _0815B8A8:
.pool
_0815B8E0:
ldrb r0, [r5]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r1, r0, 24
_0815B8EA:
@@ -3030,7 +3030,7 @@ _0815B8EA:
adds r2, 0x4
adds r2, r0
ldr r1, =gBattleMonForms
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -3122,8 +3122,8 @@ _0815B99C:
cmp r0, 0
beq _0815B9EC
ldr r3, =gSprites
- ldr r4, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r4, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r4
ldrb r1, [r0]
@@ -3138,8 +3138,8 @@ _0815B99C:
.pool
_0815B9EC:
ldr r3, =gSprites
- ldr r4, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r4, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r4
ldrb r1, [r0]
@@ -3209,7 +3209,7 @@ _0815BA82:
movs r0, 0x4C
movs r1, 0
bl SetGpuReg
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -3232,9 +3232,9 @@ _0815BAB6:
lsls r0, 24
cmp r0, 0
bne _0815BAF6
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -3256,7 +3256,7 @@ _0815BAB6:
lsls r1, r0, 2
adds r1, r2
ldrh r1, [r1, 0x2]
- bl SetBankEnemyShadowSpriteCallback
+ bl SetBattlerShadowSpriteCallback
_0815BAF6:
mov r0, r8
bl DestroyAnimVisualTask
@@ -3271,15 +3271,15 @@ _0815BAFC:
.pool
thumb_func_end sub_815B7D0
- thumb_func_start c3_80DFBE4
-c3_80DFBE4: @ 815BB18
+ thumb_func_start sub_815BB18
+sub_815BB18: @ 815BB18
push {r4,lr}
lsls r0, 24
lsrs r0, 24
ldr r4, =gBattleAnimArgs
ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
- ldr r1, =gAnimBankAttacker
+ ldr r2, =gBattlerSpriteIds
+ ldr r1, =gBattleAnimAttacker
ldrb r1, [r1]
adds r1, r2
ldrb r2, [r1]
@@ -3297,7 +3297,7 @@ c3_80DFBE4: @ 815BB18
pop {r0}
bx r0
.pool
- thumb_func_end c3_80DFBE4
+ thumb_func_end sub_815BB18
thumb_func_start sub_815BB58
sub_815BB58: @ 815BB58
@@ -3305,9 +3305,9 @@ sub_815BB58: @ 815BB58
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- ldr r1, =gAnimBankTarget
+ ldr r1, =gBattleAnimTarget
ldrb r1, [r1]
movs r2, 0x1
bl HandleSpeciesGfxDataChange
@@ -3390,9 +3390,9 @@ _0815BC02:
b _0815BC5C
.pool
_0815BC34:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815BC58
@@ -3621,17 +3621,17 @@ sub_815BE04: @ 815BE04
lsls r0, 16
lsrs r5, r0, 16
_0815BE2E:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, r5
strh r0, [r7, 0x20]
ldrb r0, [r4]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x20
@@ -3996,9 +3996,9 @@ _0815C124:
b _0815C1CA
.pool
_0815C15C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankIdentity
+ bl GetBattlerPosition
lsls r0, 24
lsrs r4, r0, 24
bl IsDoubleBattle
@@ -4085,9 +4085,9 @@ _0815C224:
adds r5, r0, r1
movs r0, 0
strh r0, [r5, 0xE]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4272,7 +4272,7 @@ sub_815C3A8: @ 815C3A8
cmp r0, 0
bne _0815C3E8
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4325,9 +4325,9 @@ _0815C41E:
ldrh r0, [r4, 0x32]
adds r0, 0x80
strh r0, [r4, 0x32]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815C450
@@ -4419,7 +4419,7 @@ _0815C4BC:
subs r0, 0x1
strh r0, [r4, 0x14]
ldrb r0, [r5]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -4427,14 +4427,14 @@ _0815C4BC:
ldrsh r0, [r5, r1]
cmp r0, 0
bne _0815C508
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815C50A
.pool
_0815C508:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815C50A:
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4643,9 +4643,9 @@ _0815C6A8:
sub_815C6B0: @ 815C6B0
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -4683,9 +4683,9 @@ sub_815C700: @ 815C700
ldrh r0, [r4, 0x2E]
adds r0, 0x3
strh r0, [r4, 0x2E]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815C744
@@ -4758,7 +4758,7 @@ sub_815C770: @ 815C770
strh r0, [r4, 0x24]
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -4991,16 +4991,16 @@ sub_815C95C: @ 815C95C
ldrsh r0, [r6, r2]
cmp r0, 0
bne _0815C990
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -5100,17 +5100,17 @@ sub_815CA20: @ 815CA20
mov r8, r0
cmp r1, 0
bne _0815CA5C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815CA5E
.pool
_0815CA5C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815CA5E:
ldrb r0, [r0]
strh r0, [r2, 0x1E]
mov r1, r8
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r5, r0, 24
ldr r1, =gTasks
@@ -5172,7 +5172,7 @@ _0815CAD2:
cmp r0, 0
bne _0815CAF8
ldrb r0, [r6, 0x1E]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsls r2, r5, 4
cmp r0, 0
@@ -5528,16 +5528,16 @@ _0815CDAA:
sub_815CDB4: @ 815CDB4
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -5586,14 +5586,14 @@ sub_815CDFC: @ 815CDFC
cmp r0, 0xC3
ble _0815CE48
_0815CE36:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
subs r0, 0x1
b _0815CE52
.pool
_0815CE48:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
adds r0, 0x1
@@ -5674,7 +5674,7 @@ sub_815CED8: @ 815CED8
lsrs r0, 24
str r0, [sp, 0x18]
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
bl IsContest
lsls r0, 24
cmp r0, 0
@@ -5693,16 +5693,16 @@ sub_815CED8: @ 815CED8
b _0815D058
.pool
_0815CF18:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815CFC4
movs r0, 0
str r0, [sp, 0x1C]
- ldr r6, =gBattlePartyID
- ldr r4, =gAnimBankTarget
+ ldr r6, =gBattlerPartyIndexes
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
lsls r0, 1
adds r0, r6
@@ -5733,7 +5733,7 @@ _0815CF18:
cmp r0, 0
bne _0815CFBC
adds r0, r2, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815CF9C
@@ -5769,8 +5769,8 @@ _0815CFBE:
_0815CFC4:
movs r2, 0x1
str r2, [sp, 0x1C]
- ldr r6, =gBattlePartyID
- ldr r4, =gAnimBankTarget
+ ldr r6, =gBattlerPartyIndexes
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
lsls r0, 1
adds r0, r6
@@ -5801,7 +5801,7 @@ _0815CFC4:
cmp r0, 0
bne _0815D054
adds r0, r2, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815D03C
@@ -5834,21 +5834,21 @@ _0815D056:
_0815D058:
mov r10, r3
_0815D05A:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8328
lsls r0, 24
lsrs r7, r0, 24
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
mov r2, r10
lsls r1, r2, 16
@@ -5864,7 +5864,7 @@ _0815D05A:
str r3, [sp, 0x8]
mov r0, r8
str r0, [sp, 0xC]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
str r0, [sp, 0x10]
movs r0, 0x1
@@ -6072,11 +6072,11 @@ sub_815D240: @ 815D240
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0815D26C
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815D26E
.pool
_0815D26C:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815D26E:
ldrb r5, [r0]
movs r6, 0
@@ -6093,7 +6093,7 @@ _0815D26E:
movs r0, 0x18
strh r0, [r4, 0x18]
adds r0, r5, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -6118,7 +6118,7 @@ _0815D2B4:
strh r0, [r4, 0x24]
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x26]
@@ -6151,7 +6151,7 @@ _0815D316:
ldrh r3, [r0]
movs r7, 0
movs r2, 0
- ldr r6, =gUnknown_02038C28
+ ldr r6, =gScanlineEffectRegBuffers
movs r0, 0xF0
lsls r0, 3
adds r0, r6
@@ -6192,7 +6192,7 @@ _0815D326:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_815D398
str r0, [r4]
add sp, 0xC
@@ -6304,7 +6304,7 @@ _0815D40E:
ldrsh r0, [r6, r3]
cmp r1, r0
ble _0815D52E
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
mov r10, r0
ldr r1, [sp, 0x4]
lsls r0, r1, 16
@@ -6325,7 +6325,7 @@ _0815D47E:
subs r0, r1
lsls r0, 7
adds r2, r0
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
adds r2, r0
lsls r4, 16
asrs r4, 16
@@ -6343,7 +6343,7 @@ _0815D47E:
subs r0, r1
lsls r0, 7
adds r3, r0
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
adds r3, r1
lsls r1, r7, 16
asrs r1, 16
@@ -6407,7 +6407,7 @@ _0815D52E:
lsls r1, r2, 17
cmp r1, 0
blt _0815D55A
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
ldr r7, [sp, 0x4]
lsls r0, r7, 16
asrs r0, 16
@@ -6487,7 +6487,7 @@ _0815D5CC:
asrs r0, 16
cmp r0, 0xC
ble _0815D63C
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
movs r0, 0
@@ -6562,7 +6562,7 @@ sub_815D64C: @ 815D64C
strh r0, [r4, 0x8]
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -6827,9 +6827,9 @@ sub_815D870: @ 815D870
ldrb r1, [r6]
adds r0, r5, 0
bl StartSpriteAffineAnim
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815D896
@@ -6837,10 +6837,10 @@ sub_815D870: @ 815D870
negs r0, r0
strh r0, [r6, 0x2]
_0815D896:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r6, 0x2]
@@ -6848,7 +6848,7 @@ _0815D896:
strh r0, [r5, 0x20]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r6, [r6, 0x4]
@@ -7237,8 +7237,8 @@ sub_815DB90: @ 815DB90
lsls r0, 3
mov r1, r8
adds r4, r0, r1
- ldr r1, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r1
ldrb r0, [r0]
@@ -7261,7 +7261,7 @@ sub_815DB90: @ 815DB90
strh r0, [r4, 0x14]
_0815DBD4:
ldrb r0, [r2]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815DC04
@@ -7373,22 +7373,22 @@ _0815DCC4:
ldrsh r0, [r4, r1]
cmp r0, 0
bne _0815DCE8
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815DCEA
.pool
_0815DCE8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815DCEA:
ldrb r4, [r0]
adds r0, r4, 0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x10]
adds r0, r4, 0
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x12]
@@ -7399,7 +7399,7 @@ _0815DCEA:
strh r0, [r5, 0x14]
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7661,7 +7661,7 @@ sub_815DF0C: @ 815DF0C
ldrh r0, [r1, 0x2]
strh r0, [r4, 0xA]
ldrb r0, [r1]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
ldr r2, =gSprites
@@ -7746,7 +7746,7 @@ sub_815DFCC: @ 815DFCC
lsrs r0, 24
movs r2, 0xD0
lsls r2, 1
- ldr r1, =gAnimBankAttacker
+ ldr r1, =gBattleAnimAttacker
ldrb r3, [r1]
ldr r1, =gBattleAnimArgs
ldrb r1, [r1]
@@ -7775,9 +7775,9 @@ sub_815DFCC: @ 815DFCC
sub_815E01C: @ 815E01C
push {r4-r6,lr}
adds r5, r0, 0
- ldr r6, =gAnimBankAttacker
+ ldr r6, =gBattleAnimAttacker
ldrb r0, [r6]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7789,7 +7789,7 @@ sub_815E01C: @ 815E01C
_0815E038:
ldrb r0, [r6]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r4, =gBattleAnimArgs
lsrs r0, 24
@@ -7798,7 +7798,7 @@ _0815E038:
strh r0, [r5, 0x20]
ldrb r0, [r6]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r1, [r4, 0x2]
@@ -7837,9 +7837,9 @@ _0815E09A:
lsls r0, 2
strh r0, [r5, 0x2E]
_0815E0A8:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815E0C8
@@ -7923,15 +7923,15 @@ _0815E144:
strh r0, [r6, 0x14]
strh r1, [r6, 0x16]
_0815E14E:
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815E188
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7951,7 +7951,7 @@ _0815E17C:
_0815E188:
ldrb r0, [r5]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7968,10 +7968,10 @@ _0815E1A8:
subs r0, r4, r0
_0815E1AC:
strh r0, [r6, 0x1E]
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
ldrb r0, [r5]
movs r1, 0
@@ -7987,16 +7987,16 @@ _0815E1D0:
asrs r0, 2
subs r0, r4, r0
strh r0, [r6, 0x20]
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x22]
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x24]
@@ -8345,33 +8345,33 @@ sub_815E47C: @ 815E47C
lsls r0, 3
ldr r1, =gTasks
adds r7, r0, r1
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
mov r10, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x1E]
mov r1, r10
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x20]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
mov r8, r0
ldrb r0, [r0]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r7, 0x22]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
mov r1, r8
ldrb r0, [r1]
@@ -8451,7 +8451,7 @@ _0815E4EE:
bl sub_80A68D4
mov r1, r10
ldrb r0, [r1]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8524,7 +8524,7 @@ _0815E5FE:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl sub_80A6900
+ bl AnimateBallThrow
ldrh r0, [r4, 0xC]
adds r0, 0x1
strh r0, [r4, 0xC]
@@ -8542,7 +8542,7 @@ _0815E634:
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _0815E6D2
@@ -8626,11 +8626,11 @@ sub_815E6D8: @ 815E6D8
adds r6, r0, 0
cmp r1, 0
bne _0815E6F4
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815E6F6
.pool
_0815E6F4:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815E6F6:
ldrb r5, [r0]
ldrh r2, [r4, 0x4]
@@ -8659,7 +8659,7 @@ _0815E724:
strh r1, [r4, 0x3C]
adds r0, r5, 0
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -8827,7 +8827,7 @@ _0815E85C:
ldrh r0, [r2, 0x2]
strh r0, [r4, 0x8]
ldrb r0, [r2]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -8942,15 +8942,15 @@ sub_815E954: @ 815E954
ldrsh r0, [r0, r1]
cmp r0, 0
bne _0815E970
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
b _0815E972
.pool
_0815E970:
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
_0815E972:
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -9326,7 +9326,7 @@ sub_815EC48: @ 815EC48
ldr r0, =gTasks
adds r6, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
@@ -9339,10 +9339,10 @@ sub_815EC48: @ 815EC48
lsrs r7, r0, 24
cmp r7, 0x1
bne _0815ECB4
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -9350,7 +9350,7 @@ sub_815EC48: @ 815EC48
movs r0, 0x2
eors r0, r1
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -9363,9 +9363,9 @@ _0815ECAC:
b _0815ECD2
.pool
_0815ECB4:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815ECD0
@@ -9606,18 +9606,18 @@ sub_815EE84: @ 815EE84
adds r0, r4, 0
movs r1, 0x1
bl sub_80A69CC
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
b _0815EEAA
.pool
_0815EEA8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
_0815EEAA:
ldrb r0, [r0]
strh r0, [r4, 0x3C]
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -9771,14 +9771,14 @@ _0815EFEC:
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
ldrh r0, [r4, 0x3C]
lsls r0, 24
lsrs r0, 24
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r1, r0, 24
_0815F00C:
@@ -9991,15 +9991,15 @@ _0815F17C:
sub_815F18C: @ 815F18C
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
ldrb r0, [r4]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _0815F1B8
@@ -10057,7 +10057,7 @@ sub_815F20C: @ 815F20C
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r5, r0, 24
adds r2, r5, 0
@@ -10126,7 +10126,7 @@ _0815F2A0:
b _0815F310
.pool
_0815F2AC:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0
bl LoadBattleMonGfxAndAnimate
@@ -10135,7 +10135,7 @@ _0815F2AC:
cmp r0, 0
beq _0815F2EE
ldr r3, =gSprites
- ldr r2, =gBankSpriteIds
+ ldr r2, =gBattlerSpriteIds
ldrb r0, [r4]
adds r0, r2
ldrb r1, [r0]
@@ -10191,7 +10191,7 @@ sub_815F330: @ 815F330
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r3, r0, 24
ldr r1, =gTasks
@@ -10360,9 +10360,9 @@ _0815F482:
sub_815F48C: @ 815F48C
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankTarget
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815F4B8
@@ -10384,10 +10384,10 @@ _0815F4B8:
strb r0, [r1]
ldr r4, =0x0000ffa0
_0815F4C8:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x3
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
@@ -10639,7 +10639,7 @@ _0815F67C:
strh r1, [r0, 0x8]
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
ldr r1, [r1]
lsls r0, 2
@@ -10764,7 +10764,7 @@ sub_815F7C4: @ 815F7C4
strh r0, [r4, 0x30]
ldr r0, =gBattleSpritesDataPtr
ldr r1, [r0]
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
ldr r1, [r1]
lsls r0, 2
@@ -10943,7 +10943,7 @@ _0815F92C:
.4byte _0815FD8C
_0815F940:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, =gTasks
@@ -10958,9 +10958,9 @@ _0815F940:
ldrh r1, [r6, 0xA]
adds r0, r1
strh r0, [r6, 0xA]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
mov r9, r4
cmp r0, 0
@@ -11036,7 +11036,7 @@ _0815F9F4:
ldr r3, [r0, 0xC]
mov r9, r3
ldrh r6, [r0]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A82E4
lsls r0, 24
@@ -11045,13 +11045,13 @@ _0815F9F4:
b _0815FB4E
.pool
_0815FA28:
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815FAC8
- ldr r7, =gBattlePartyID
+ ldr r7, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r7
@@ -11096,7 +11096,7 @@ _0815FA9C:
ldrh r6, [r1, 0x2]
_0815FA9E:
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11115,7 +11115,7 @@ _0815FA9E:
b _0815FB50
.pool
_0815FAC8:
- ldr r7, =gBattlePartyID
+ ldr r7, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r7
@@ -11160,7 +11160,7 @@ _0815FB2C:
ldrh r6, [r1, 0x2]
_0815FB2E:
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11177,10 +11177,10 @@ _0815FB2E:
_0815FB4E:
ldr r5, =0x0000ffe0
_0815FB50:
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
lsls r3, r5, 16
@@ -11191,7 +11191,7 @@ _0815FB50:
str r4, [sp, 0x8]
mov r0, r9
str r0, [sp, 0xC]
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
str r0, [sp, 0x10]
movs r0, 0
@@ -11253,9 +11253,9 @@ _0815FBE8:
ldrh r2, [r6, 0xA]
adds r0, r2
strh r0, [r6, 0xA]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
mov r9, r4
cmp r0, 0
@@ -11307,18 +11307,18 @@ _0815FC56:
ldrsh r0, [r6, r1]
cmp r0, 0
bne _0815FCD6
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815FCB4
lsls r4, r5, 16
asrs r4, 16
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11328,10 +11328,10 @@ _0815FC56:
_0815FCB4:
lsls r4, r5, 16
asrs r4, 16
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -11365,7 +11365,7 @@ _0815FCE8:
.pool
_0815FD08:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, =gTasks
@@ -11383,9 +11383,9 @@ _0815FD08:
ldr r5, =gSprites
adds r0, r5
bl sub_80A8610
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
mov r9, r4
cmp r0, 0
@@ -11425,7 +11425,7 @@ _0815FD7E:
.pool
_0815FD8C:
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r7, r0, 24
ldr r1, =gTasks
@@ -11440,11 +11440,11 @@ _0815FD8C:
ldrh r3, [r2, 0xA]
adds r0, r3
strh r0, [r2, 0xA]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
mov r10, r0
ldrb r0, [r0]
str r2, [sp, 0x18]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
mov r9, r4
ldr r2, [sp, 0x18]
@@ -11469,7 +11469,7 @@ _0815FD8C:
mov r1, r10
ldrb r0, [r1]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11499,7 +11499,7 @@ _0815FE0C:
mov r2, r10
ldrb r0, [r2]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r3, r5, 0
@@ -11563,10 +11563,10 @@ _0815FE92:
asrs r1, 24
movs r0, 0x7A
bl PlaySE12WithPanning
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r0, 0x10
@@ -11583,9 +11583,9 @@ _0815FE92:
negs r0, r0
ands r0, r1
strb r0, [r2]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -11595,7 +11595,7 @@ _0815FE92:
cmp r0, 0
bne _0815FFBC
movs r0, 0x1
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
ldr r2, =gSprites
lsls r0, 24
lsrs r0, 24
@@ -11652,9 +11652,9 @@ _0815FF6E:
ldrh r1, [r4, 0x32]
adds r0, r1
strh r0, [r4, 0x32]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0815FF9C
@@ -11721,17 +11721,17 @@ _0815FFF4:
.4byte _081600CC
.4byte _08160132
_08160008:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r5, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
adds r2, r0, 0
@@ -11755,8 +11755,8 @@ _0816003E:
b _08160150
.pool
_08160058:
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -11811,8 +11811,8 @@ _081600B4:
strh r1, [r0, 0x26]
b _08160150
_081600CC:
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -11861,8 +11861,8 @@ _0816012A:
strh r0, [r2, 0x26]
b _08160150
_08160132:
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r2, [r0]
@@ -11893,14 +11893,14 @@ sub_8160164: @ 8160164
ldr r0, =gTasks
adds r4, r1, r0
movs r0, 0
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
lsls r0, 24
lsrs r0, 24
movs r5, 0
strh r0, [r4, 0xE]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r2, 0x1
negs r2, r2
@@ -12072,9 +12072,9 @@ _081602DA:
sub_81602E0: @ 81602E0
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
ldrh r0, [r4, 0x2E]
ldrh r1, [r4, 0x30]
@@ -12115,9 +12115,9 @@ _08160326:
sub_8160338: @ 8160338
push {r4,lr}
adds r4, r0, 0
- ldr r0, =gAnimBankTarget
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _0816037C
@@ -12166,10 +12166,10 @@ _08160396:
sub_81603A8: @ 81603A8
push {r4,r5,lr}
adds r5, r0, 0
- ldr r4, =gAnimBankAttacker
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
movs r1, 0x2
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x20]
@@ -12396,7 +12396,7 @@ sub_8160544: @ 8160544
strh r0, [r4, 0x8]
ldr r0, =gBattleAnimArgs
ldrb r0, [r0]
- bl GetAnimBankSpriteId
+ bl GetAnimBattlerSpriteId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
diff --git a/asm/battle_anim_8170478.s b/asm/battle_anim_8170478.s
index a5e3b5f88..ef7e609d9 100644
--- a/asm/battle_anim_8170478.s
+++ b/asm/battle_anim_8170478.s
@@ -16,7 +16,7 @@ sub_8170478: @ 8170478
lsls r0, 24
lsrs r0, 24
str r0, [sp, 0x10]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r4, [r0]
ldr r0, =gBattle_WIN0H
movs r1, 0
@@ -56,7 +56,7 @@ sub_8170478: @ 8170478
movs r1, 0x3
movs r2, 0x1
bl SetAnimBgAttribute
- ldr r0, =gHealthBoxesIds
+ ldr r0, =gHealthboxSpriteIds
adds r4, r0
ldrb r0, [r4]
ldr r1, =gSprites
@@ -212,7 +212,7 @@ sub_8170660: @ 8170660
push {r7}
lsls r0, 24
lsrs r7, r0, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
mov r8, r0
ldr r1, =gTasks
@@ -373,7 +373,7 @@ _0817076C:
movs r1, 0x1
movs r2, 0
bl SetAnimBgAttribute
- ldr r0, =gHealthBoxesIds
+ ldr r0, =gHealthboxSpriteIds
add r0, r8
ldrb r0, [r0]
lsls r1, r0, 4
@@ -434,7 +434,7 @@ sub_8170834: @ 8170834
adds r7, r1, 0
lsls r2, 24
lsrs r2, 24
- ldr r0, =gHealthBoxesIds
+ ldr r0, =gHealthboxSpriteIds
adds r2, r0
ldrb r0, [r2]
lsls r5, r0, 4
@@ -540,7 +540,7 @@ sub_8170920: @ 8170920
lsrs r4, 24
mov r1, sp
adds r1, 0x1
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r2, [r0]
mov r0, sp
bl sub_8170834
@@ -561,7 +561,7 @@ sub_817094C: @ 817094C
push {r5,r6}
lsls r0, 24
lsrs r0, 24
- ldr r1, =gHealthBoxesIds
+ ldr r1, =gHealthboxSpriteIds
adds r0, r1
ldrb r0, [r0]
ldr r1, =gSprites
@@ -628,7 +628,7 @@ sub_81709EC: @ 81709EC
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_817094C
adds r0, r4, 0
@@ -765,8 +765,8 @@ sub_8170B04: @ 8170B04
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r5, [r0]
@@ -851,17 +851,17 @@ sub_8170BB0: @ 8170BB0
sub sp, 0xC
lsls r0, 24
lsrs r5, r0, 24
- ldr r1, =gBankSpriteIds
- ldr r4, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
adds r1, r0, r1
ldrb r1, [r1]
mov r9, r1
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _08170BF8
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -872,7 +872,7 @@ sub_8170BB0: @ 8170BB0
b _08170C08
.pool
_08170BF8:
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
ldrb r0, [r4]
lsls r0, 1
adds r0, r1
@@ -886,7 +886,7 @@ _08170C08:
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -904,16 +904,16 @@ _08170C08:
b _08170CEE
.pool
_08170C44:
- ldr r5, =gAnimBankAttacker
+ ldr r5, =gBattleAnimAttacker
ldrb r0, [r5]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
ldrb r0, [r5]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
adds r1, r0, 0
lsls r1, 24
ldr r2, =gSprites
@@ -934,7 +934,7 @@ _08170C44:
mov r0, r8
str r0, [sp]
adds r0, r4, 0
- bl sub_8171D98
+ bl LaunchBallStarsTask
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x1C]
@@ -950,7 +950,7 @@ _08170C44:
ldrb r1, [r5]
movs r0, 0
mov r3, r8
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x1E]
@@ -998,10 +998,10 @@ sub_8170CFC: @ 8170CFC
lsrs r4, 24
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
- bl sub_8076A78
+ bl LoadBallGfx
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -1018,10 +1018,10 @@ sub_8170D24: @ 8170D24
lsrs r4, 24
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r0, 24
- bl sub_8076AE8
+ bl FreeBallGfx
adds r0, r4, 0
bl DestroyAnimVisualTask
pop {r4}
@@ -1057,8 +1057,8 @@ _08170D74:
.pool
thumb_func_end sub_8170D4C
- thumb_func_start ball_number_to_ball_processing_index
-ball_number_to_ball_processing_index: @ 8170D84
+ thumb_func_start ItemIdToBallId
+ItemIdToBallId: @ 8170D84
push {lr}
lsls r0, 16
lsrs r0, 16
@@ -1123,7 +1123,7 @@ _08170DFC:
_08170DFE:
pop {r1}
bx r1
- thumb_func_end ball_number_to_ball_processing_index
+ thumb_func_end ItemIdToBallId
thumb_func_start sub_8170E04
sub_8170E04: @ 8170E04
@@ -1138,14 +1138,14 @@ sub_8170E04: @ 8170E04
mov r10, r0
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 1
adds r0, r1
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
movs r1, 0x20
movs r2, 0x50
@@ -1162,18 +1162,18 @@ sub_8170E04: @ 8170E04
adds r6, r4, r1
movs r0, 0x22
strh r0, [r6, 0x2E]
- ldr r2, =gAnimBankTarget
+ ldr r2, =gBattleAnimTarget
mov r8, r2
ldrb r0, [r2]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1186,7 +1186,7 @@ sub_8170E04: @ 8170E04
ldr r0, =gBattleSpritesDataPtr
ldr r0, [r0]
ldr r3, [r0, 0x8]
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
mov r2, r8
ldrb r0, [r2]
adds r0, r1
@@ -1278,12 +1278,12 @@ _08170F50:
_08170F54:
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
bl sub_80A82E4
@@ -1294,7 +1294,7 @@ _08170F54:
lsls r0, r4, 1
adds r0, r4
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
adds r1, r6, 0
adds r1, 0x20
@@ -1313,18 +1313,18 @@ _08170F54:
adds r6, r4, r0
movs r0, 0x22
strh r0, [r6, 0x2E]
- ldr r1, =gAnimBankTarget
+ ldr r1, =gBattleAnimTarget
mov r8, r1
ldrb r0, [r1]
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x30]
mov r1, r8
ldrb r0, [r1]
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
subs r0, 0x10
@@ -1335,8 +1335,8 @@ _08170F54:
ldr r0, =SpriteCallbackDummy
str r0, [r4]
movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gBankSpriteIds
+ bl GetBattlerAtPosition
+ ldr r1, =gBattlerSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r1
@@ -1371,8 +1371,8 @@ sub_8171030: @ 8171030
lsrs r5, r0, 24
ldr r6, =gSprites
movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gBankSpriteIds
+ bl GetBattlerAtPosition
+ ldr r1, =gBattlerSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r1
@@ -1422,8 +1422,8 @@ sub_81710A8: @ 81710A8
lsrs r5, r0, 24
ldr r6, =gSprites
movs r0, 0
- bl GetBankByIdentity
- ldr r4, =gBankSpriteIds
+ bl GetBattlerAtPosition
+ ldr r4, =gBattlerSpriteIds
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -1438,7 +1438,7 @@ sub_81710A8: @ 81710A8
cmp r0, 0
bge _081710F4
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -1487,7 +1487,7 @@ sub_8171134: @ 8171134
push {r4,r5,lr}
sub sp, 0x4
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081711D2
@@ -1532,7 +1532,7 @@ _08171188:
str r0, [r4, 0x1C]
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xB
@@ -1549,13 +1549,13 @@ _08171188:
str r5, [sp]
movs r2, 0x1
movs r3, 0x1C
- bl sub_8171D98
- ldr r0, =gAnimBankTarget
+ bl LaunchBallStarsTask
+ ldr r0, =gBattleAnimTarget
ldrb r1, [r0]
movs r0, 0
movs r2, 0xE
adds r3, r5, 0
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
_081711D2:
add sp, 0x4
pop {r4,r5}
@@ -1584,8 +1584,8 @@ sub_81711E8: @ 81711E8
ldr r0, =sub_8171240
str r0, [r4, 0x1C]
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -1606,8 +1606,8 @@ _08171224:
sub_8171240: @ 8171240
push {r4-r7,lr}
adds r7, r0, 0
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankTarget
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimTarget
ldrb r0, [r0]
adds r0, r1
ldrb r4, [r0]
@@ -2333,7 +2333,7 @@ sub_81717F8: @ 81717F8
push {r7}
sub sp, 0x4
adds r6, r0, 0
- ldr r7, =gAnimBankTarget
+ ldr r7, =gBattleAnimTarget
ldrh r0, [r6, 0x36]
adds r0, 0x1
movs r1, 0
@@ -2390,7 +2390,7 @@ _08171880:
cmp r1, r0
bne _081718BC
ldr r5, =gSprites
- ldr r4, =gBankSpriteIds
+ ldr r4, =gBattlerSpriteIds
ldrb r0, [r7]
adds r0, r4
ldrb r1, [r0]
@@ -2671,7 +2671,7 @@ sub_8171AAC: @ 8171AAC
orrs r0, r1
strb r0, [r3]
adds r0, r4, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _08171ADC
@@ -2697,7 +2697,7 @@ sub_8171AE4: @ 8171AE4
str r0, [r4, 0x1C]
ldr r0, =gLastUsedItem
ldrh r0, [r0]
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0xB
@@ -2714,17 +2714,17 @@ sub_8171AE4: @ 8171AE4
str r5, [sp]
movs r2, 0x1
movs r3, 0x1C
- bl sub_8171D98
- ldr r0, =gAnimBankTarget
+ bl LaunchBallStarsTask
+ ldr r0, =gBattleAnimTarget
ldrb r1, [r0]
movs r0, 0x1
movs r2, 0xE
adds r3, r5, 0
- bl sub_81729E8
+ bl LaunchBallFadeMonTask
_08171B36:
ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- ldr r4, =gAnimBankTarget
+ ldr r5, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimTarget
ldrb r0, [r4]
adds r0, r5
ldrb r1, [r0]
@@ -2791,8 +2791,8 @@ sub_8171BAC: @ 8171BAC
strb r0, [r2]
_08171BCA:
ldr r4, =gSprites
- ldr r3, =gBankSpriteIds
- ldr r2, =gAnimBankTarget
+ ldr r3, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimTarget
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -2840,8 +2840,8 @@ _08171C24:
cmp r5, 0
beq _08171C8A
ldr r4, =gSprites
- ldr r3, =gBankSpriteIds
- ldr r2, =gAnimBankTarget
+ ldr r3, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimTarget
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -3007,8 +3007,8 @@ _08171D86:
.pool
thumb_func_end sub_8171D60
- thumb_func_start sub_8171D98
-sub_8171D98: @ 8171D98
+ thumb_func_start LaunchBallStarsTask
+LaunchBallStarsTask: @ 8171D98
push {r4-r6,lr}
mov r6, r10
mov r5, r9
@@ -3070,7 +3070,7 @@ sub_8171D98: @ 8171D98
pop {r1}
bx r1
.pool
- thumb_func_end sub_8171D98
+ thumb_func_end LaunchBallStarsTask
thumb_func_start sub_8171E20
sub_8171E20: @ 8171E20
@@ -4476,8 +4476,8 @@ _081729E2:
bx r0
thumb_func_end sub_8172944
- thumb_func_start sub_81729E8
-sub_81729E8: @ 81729E8
+ thumb_func_start LaunchBallFadeMonTask
+LaunchBallFadeMonTask: @ 81729E8
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -4563,7 +4563,7 @@ _08172A7E:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81729E8
+ thumb_func_end LaunchBallFadeMonTask
thumb_func_start sub_8172AB0
sub_8172AB0: @ 8172AB0
@@ -4729,8 +4729,8 @@ sub_8172BF0: @ 8172BF0
lsrs r7, r0, 24
movs r0, 0
mov r8, r0
- ldr r0, =gBankSpriteIds
- ldr r3, =gAnimBankAttacker
+ ldr r0, =gBattlerSpriteIds
+ ldr r3, =gBattleAnimAttacker
ldrb r2, [r3]
adds r0, r2, r0
ldrb r6, [r0]
@@ -4764,7 +4764,7 @@ _08172C36:
adds r0, r4
strh r0, [r5, 0x8]
ldrb r0, [r3]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08172C78
@@ -4838,7 +4838,7 @@ _08172CDA:
adds r0, r2
strh r0, [r5, 0x8]
ldrb r0, [r3]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
beq _08172D10
@@ -4877,9 +4877,9 @@ _08172D28:
adds r0, r1
ldrb r1, [r0, 0x8]
strh r1, [r0, 0x8]
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0
@@ -4949,7 +4949,7 @@ _08172DC0:
beq _08172E4E
b _08172E84
_08172DC6:
- ldr r0, =gAnimBankAttacker
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
bl sub_80A8364
lsls r0, 24
@@ -5009,8 +5009,8 @@ _08172E14:
strh r0, [r4, 0x26]
b _08172E84
_08172E4E:
- ldr r1, =gBankSpriteIds
- ldr r4, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r4, =gBattleAnimAttacker
ldrb r0, [r4]
adds r0, r1
ldrb r1, [r0]
@@ -5048,7 +5048,7 @@ sub_8172E9C: @ 8172E9C
ldr r3, =gBattleAnimArgs
ldr r1, =gBattleSpritesDataPtr
ldr r2, [r1]
- ldr r1, =gAnimBankAttacker
+ ldr r1, =gBattleAnimAttacker
ldrb r1, [r1]
ldr r2, [r2]
lsls r1, 2
@@ -5068,8 +5068,8 @@ sub_8172ED0: @ 8172ED0
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r2, =gAnimBankTarget
- ldr r1, =gEffectBank
+ ldr r2, =gBattleAnimTarget
+ ldr r1, =gEffectBattler
ldrb r1, [r1]
strb r1, [r2]
bl DestroyAnimVisualTask
@@ -5108,7 +5108,7 @@ sub_8172EF0: @ 8172EF0
bl GetMonData
adds r4, r0, 0
adds r0, r6, 0
- bl IsAnimBankSpriteVisible
+ bl IsBattlerSpriteVisible
lsls r0, 24
cmp r0, 0
beq _08172FC8
@@ -5234,12 +5234,12 @@ _0817303A:
ldrb r0, [r4, 0x8]
mov r8, r0
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r5, r0, 24
mov r0, r8
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0x1E
@@ -5347,7 +5347,7 @@ _08173118:
cmp r0, 0
bne _08173160
mov r0, r8
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
movs r1, 0x3F
cmp r0, 0
@@ -5575,11 +5575,11 @@ sub_817330C: @ 817330C
movs r0, 0x1E
strh r0, [r4, 0x2E]
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
ldr r5, =gBattleAnimArgs
lsrs r0, 24
@@ -5587,11 +5587,11 @@ sub_817330C: @ 817330C
adds r0, r1
strh r0, [r4, 0x32]
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
ldrh r5, [r5, 0x6]
@@ -5602,8 +5602,8 @@ sub_817330C: @ 817330C
adds r0, r4, 0
bl sub_80A68D4
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -5627,8 +5627,8 @@ sub_817339C: @ 817339C
push {lr}
adds r3, r0, 0
ldr r2, =gSprites
- ldr r1, =gBankSpriteIds
- ldr r0, =gAnimBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattleAnimAttacker
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -5652,7 +5652,7 @@ _081733C0:
sub_81733D4: @ 81733D4
push {r4,lr}
adds r4, r0, 0
- bl sub_80A6900
+ bl AnimateBallThrow
lsls r0, 24
cmp r0, 0
beq _081733F6
@@ -5678,8 +5678,8 @@ sub_8173400: @ 8173400
push {r4,r5,lr}
adds r4, r0, 0
ldr r5, =gSprites
- ldr r3, =gBankSpriteIds
- ldr r2, =gAnimBankAttacker
+ ldr r3, =gBattlerSpriteIds
+ ldr r2, =gBattleAnimAttacker
ldrb r0, [r2]
adds r0, r3
ldrb r1, [r0]
@@ -5732,21 +5732,21 @@ sub_817345C: @ 817345C
.pool
_08173478:
movs r0, 0
- bl GetBankByIdentity
- ldr r1, =gAnimBankAttacker
+ bl GetBattlerAtPosition
+ ldr r1, =gBattleAnimAttacker
strb r0, [r1]
movs r0, 0x1
b _08173498
.pool
_0817348C:
movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gAnimBankAttacker
+ bl GetBattlerAtPosition
+ ldr r1, =gBattleAnimAttacker
strb r0, [r1]
movs r0, 0
_08173498:
- bl GetBankByIdentity
- ldr r1, =gAnimBankTarget
+ bl GetBattlerAtPosition
+ ldr r1, =gBattleAnimTarget
strb r0, [r1]
_081734A0:
adds r0, r4, 0
@@ -5812,13 +5812,13 @@ sub_817351C: @ 817351C
push {lr}
lsls r0, 24
lsrs r0, 24
- ldr r3, =gAnimBankAttacker
+ ldr r3, =gBattleAnimAttacker
ldr r1, =gBattleSpritesDataPtr
ldr r2, [r1]
ldr r1, [r2, 0x8]
ldrh r1, [r1]
strb r1, [r3]
- ldr r3, =gAnimBankTarget
+ ldr r3, =gBattleAnimTarget
ldr r1, [r2, 0x8]
ldrh r1, [r1]
lsrs r1, 8
diff --git a/asm/battle_anim_sound_tasks.s b/asm/battle_anim_sound_tasks.s
deleted file mode 100644
index 4bfd7ae68..000000000
--- a/asm/battle_anim_sound_tasks.s
+++ /dev/null
@@ -1,1006 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8158B30
-sub_8158B30: @ 8158B30
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r6, r0, 2
- adds r6, r0
- lsls r6, 3
- adds r6, r1
- ldr r1, =gBattleAnimArgs
- ldrh r0, [r1]
- strh r0, [r6, 0x8]
- ldrh r0, [r1, 0x2]
- strh r0, [r6, 0xA]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl CalculatePanIncrement
- strh r4, [r6, 0xC]
- strh r5, [r6, 0xE]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r6, 0x10]
- movs r0, 0xA
- strh r0, [r6, 0x1C]
- ldr r0, =sub_8158B98
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158B30
-
- thumb_func_start sub_8158B98
-sub_8158B98: @ 8158B98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r5, [r4, 0xC]
- ldrb r6, [r4, 0x10]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- bne _08158BD0
- movs r0, 0x5
- strh r0, [r4, 0x1C]
- strh r1, [r4, 0x1E]
- ldr r0, =sub_8158C04
- str r0, [r4]
- b _08158BFE
- .pool
-_08158BD0:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08158BEA
- strh r1, [r4, 0x1C]
- ldrh r0, [r4, 0x8]
- lsls r1, r5, 24
- asrs r1, 24
- bl PlaySE12WithPanning
-_08158BEA:
- lsls r1, r6, 24
- asrs r1, 24
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- bl sub_80A52EC
- strh r0, [r4, 0xC]
-_08158BFE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8158B98
-
- thumb_func_start sub_8158C04
-sub_8158C04: @ 8158C04
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _08158C4C
- movs r0, 0
- strh r0, [r4, 0x1C]
- movs r0, 0x3F
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- ldrh r0, [r4, 0xA]
- lsls r1, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _08158C4C
- adds r0, r5, 0
- bl DestroyAnimSoundTask
-_08158C4C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158C04
-
- thumb_func_start mas_80DCF38
-mas_80DCF38: @ 8158C58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimArgs
- ldrh r1, [r0]
- str r1, [sp]
- ldrb r5, [r0, 0x4]
- ldrb r6, [r0, 0x6]
- ldrb r3, [r0, 0x8]
- mov r10, r3
- ldrb r7, [r0, 0xA]
- ldrb r1, [r0, 0xC]
- mov r9, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r5, 0
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CalculatePanIncrement
- ldr r2, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- mov r6, sp
- ldrh r6, [r6]
- strh r6, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0xE]
- mov r0, r10
- strh r0, [r1, 0x10]
- strh r7, [r1, 0x12]
- mov r3, r9
- strh r3, [r1, 0x14]
- strh r2, [r1, 0x1C]
- strh r4, [r1, 0x1E]
- strh r3, [r1, 0x20]
- ldr r2, =sub_8158D08
- str r2, [r1]
- mov r0, r8
- bl _call_via_r2
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mas_80DCF38
-
- thumb_func_start sub_8158D08
-sub_8158D08: @ 8158D08
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x20]
- adds r1, r0, 0x1
- strh r1, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08158D50
- movs r0, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x8]
- movs r1, 0x1E
- ldrsb r1, [r4, r1]
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _08158D50
- adds r0, r5, 0
- bl DestroyAnimSoundTask
- b _08158D82
- .pool
-_08158D50:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08158D82
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0x1E]
- adds r0, r1
- strh r0, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- bl sub_80A52EC
- strh r0, [r4, 0x1E]
-_08158D82:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158D08
-
- thumb_func_start sub_8158D8C
-sub_8158D8C: @ 8158D8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08158DD0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08158DC8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r4, [r0]
- b _08158E76
- .pool
-_08158DC8:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _08158E76
-_08158DD0:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _08158DEC
- ldr r0, =gAnimBankAttacker
- ldrb r4, [r0]
- b _08158E12
- .pool
-_08158DEC:
- cmp r1, 0x1
- bne _08158DFC
- ldr r0, =gAnimBankTarget
- ldrb r4, [r0]
- b _08158E12
- .pool
-_08158DFC:
- cmp r1, 0x2
- bne _08158E08
- ldr r0, =gAnimBankAttacker
- b _08158E0A
- .pool
-_08158E08:
- ldr r0, =gAnimBankTarget
-_08158E0A:
- ldrb r1, [r0]
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r1
-_08158E12:
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08158E1E
- cmp r0, 0x3
- bne _08158E38
-_08158E1E:
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08158E38
- adds r0, r5, 0
- bl DestroyAnimVisualTask
- b _08158E8C
- .pool
-_08158E38:
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08158E5C
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08158E6A
- .pool
-_08158E5C:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08158E6A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_08158E76:
- cmp r4, 0
- beq _08158E86
- lsls r1, r6, 24
- asrs r1, 24
- adds r0, r4, 0
- movs r2, 0x3
- bl PlayCry3
-_08158E86:
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_08158E8C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8158D8C
-
- thumb_func_start sub_8158E9C
-sub_8158E9C: @ 8158E9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _08158EE0
- ldr r0, =gBattleAnimArgs
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08158ED8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrh r4, [r0]
- b _08158F86
- .pool
-_08158ED8:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08158F86
-_08158EE0:
- ldr r0, =gBattleAnimArgs
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _08158EFC
- ldr r0, =gAnimBankAttacker
- ldrb r4, [r0]
- b _08158F22
- .pool
-_08158EFC:
- cmp r1, 0x1
- bne _08158F0C
- ldr r0, =gAnimBankTarget
- ldrb r4, [r0]
- b _08158F22
- .pool
-_08158F0C:
- cmp r1, 0x2
- bne _08158F18
- ldr r0, =gAnimBankAttacker
- b _08158F1A
- .pool
-_08158F18:
- ldr r0, =gAnimBankTarget
-_08158F1A:
- ldrb r1, [r0]
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r1
-_08158F22:
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08158F2E
- cmp r0, 0x3
- bne _08158F48
-_08158F2E:
- adds r0, r4, 0
- bl IsAnimBankSpriteVisible
- lsls r0, 24
- cmp r0, 0
- bne _08158F48
- adds r0, r6, 0
- bl DestroyAnimVisualTask
- b _08158FEE
- .pool
-_08158F48:
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08158F6C
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08158F7A
- .pool
-_08158F6C:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08158F7A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_08158F86:
- ldr r1, =gTasks
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r3, =gBattleAnimArgs
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0x8]
- strh r4, [r0, 0xA]
- lsls r1, r5, 24
- asrs r1, 24
- strh r1, [r0, 0xC]
- adds r5, r2, 0
- cmp r4, 0
- beq _08158FE8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- cmp r0, 0xFF
- bne _08158FC8
- adds r0, r4, 0
- movs r2, 0x9
- bl PlayCry3
- b _08158FD0
- .pool
-_08158FC8:
- adds r0, r4, 0
- movs r2, 0x7
- bl PlayCry3
-_08158FD0:
- ldr r0, =gTasks
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8158FF4
- str r0, [r1]
- b _08158FEE
- .pool
-_08158FE8:
- adds r0, r6, 0
- bl DestroyAnimVisualTask
-_08158FEE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8158E9C
-
- thumb_func_start sub_8158FF4
-sub_8158FF4: @ 8158FF4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r9, r4
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r6, [r1, 0xA]
- mov r8, r6
- ldrb r5, [r1, 0xC]
- adds r7, r5, 0
- ldrh r2, [r1, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bgt _08159028
- adds r0, r2, 0x1
- strh r0, [r1, 0x1A]
- b _0815906A
- .pool
-_08159028:
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- bne _0815904E
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _0815906A
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xA
- bl PlayCry3
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- b _0815906A
-_0815904E:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _0815906A
- lsls r1, r7, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x8
- bl PlayCry3
- mov r0, r9
- bl DestroyAnimVisualTask
-_0815906A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8158FF4
-
- thumb_func_start sub_8159078
-sub_8159078: @ 8159078
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x1A]
- movs r3, 0x1A
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bgt _081590A0
- adds r0, r2, 0x1
- strh r0, [r1, 0x1A]
- b _081590B0
- .pool
-_081590A0:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _081590B0
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_081590B0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8159078
-
- thumb_func_start sub_81590B8
-sub_81590B8: @ 81590B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =gBattleAnimArgs
- ldrh r1, [r1]
- strh r1, [r0, 0x1C]
- movs r0, 0x40
- negs r0, r0
- bl BattleAnimAdjustPanning
- lsls r0, 24
- lsrs r5, r0, 24
- bl IsContest
- lsls r0, 24
- cmp r0, 0
- beq _081590F8
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- b _08159102
- .pool
-_081590F8:
- ldr r1, =gAnimSpeciesByBanks
- ldr r0, =gAnimBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
-_08159102:
- ldrh r2, [r0]
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xA]
- lsls r0, r5, 24
- asrs r0, 24
- strh r0, [r1, 0xC]
- cmp r2, 0
- beq _08159130
- ldr r0, =sub_815913C
- str r0, [r1]
- b _08159136
- .pool
-_08159130:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08159136:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81590B8
-
- thumb_func_start sub_815913C
-sub_815913C: @ 815913C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r6, [r0, 0xA]
- mov r8, r6
- ldrb r3, [r0, 0xC]
- adds r5, r3, 0
- movs r7, 0x1A
- ldrsh r2, [r0, r7]
- mov r12, r1
- cmp r2, 0x5
- bhi _081591DC
- lsls r0, r2, 2
- ldr r1, =_08159174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08159174:
- .4byte _081591C2
- .4byte _081591A8
- .4byte _0815918C
- .4byte _081591A8
- .4byte _081591A8
- .4byte _081591B8
-_0815918C:
- lsls r1, r5, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x4
- bl PlayCry6
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- b _081591B0
- .pool
-_081591A8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r12
-_081591B0:
- ldrh r1, [r0, 0x1A]
- adds r1, 0x1
- strh r1, [r0, 0x1A]
- b _08159204
-_081591B8:
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08159204
-_081591C2:
- bl StopCryAndClearCrySongs
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- adds r0, 0x1
- strh r0, [r1, 0x1A]
- b _08159204
- .pool
-_081591DC:
- movs r1, 0x1C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081591F2
- lsls r1, r3, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0x6
- bl PlayCry6
- b _081591FE
-_081591F2:
- lsls r1, r5, 24
- asrs r1, 24
- mov r0, r8
- movs r2, 0x6
- bl PlayCry3
-_081591FE:
- adds r0, r4, 0
- bl DestroyAnimVisualTask
-_08159204:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_815913C
-
- thumb_func_start sub_8159210
-sub_8159210: @ 8159210
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimArgs
- ldrh r5, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl PlaySE1WithPanning
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159210
-
- thumb_func_start sub_8159244
-sub_8159244: @ 8159244
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gBattleAnimArgs
- ldrh r5, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl PlaySE2WithPanning
- adds r0, r4, 0
- bl DestroyAnimVisualTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159244
-
- thumb_func_start sub_8159278
-sub_8159278: @ 8159278
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gBattleAnimArgs
- ldrb r5, [r0, 0x2]
- ldrb r6, [r0, 0x4]
- ldrh r1, [r0, 0x6]
- mov r9, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bl BattleAnimAdjustPanning
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- asrs r5, 24
- adds r0, r5, 0
- bl BattleAnimAdjustPanning
- adds r5, r0, 0
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CalculatePanIncrement
- ldr r2, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0xE]
- mov r0, r9
- strh r0, [r1, 0x12]
- strh r2, [r1, 0x1C]
- strh r4, [r1, 0x1E]
- ldr r2, =sub_8159308
- str r2, [r1]
- mov r0, r8
- bl _call_via_r2
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159278
-
- thumb_func_start sub_8159308
-sub_8159308: @ 8159308
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r2, [r4, 0xE]
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08159342
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- adds r0, r2, r1
- strh r0, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- bl sub_80A52EC
- strh r0, [r4, 0x1E]
-_08159342:
- ldr r1, =gUnknown_02038440
- ldrh r0, [r4, 0x1E]
- strb r0, [r1]
- movs r3, 0x1E
- ldrsh r1, [r4, r3]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0815935A
- adds r0, r5, 0
- bl DestroyAnimVisualTask
-_0815935A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159308
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index e52ed0c3d..e353cb475 100755..100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -1591,7 +1591,7 @@ _0818F7E8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x1
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1618,7 +1618,7 @@ _0818F820:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x2
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1645,7 +1645,7 @@ _0818F858:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x3
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1672,7 +1672,7 @@ _0818F890:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x4
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1699,7 +1699,7 @@ _0818F8C8:
lsrs r1, 16
ldr r0, [sp, 0x18]
movs r2, 0x5
- bl nature_stat_mod
+ bl ModifyStatByNature
lsls r0, 24
lsrs r0, 24
mov r1, r8
@@ -1941,7 +1941,7 @@ sub_818FA74: @ 818FA74
str r4, [sp, 0x4]
ldr r7, [sp, 0x14]
str r7, [sp, 0x8]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r1, 0x1
negs r1, r1
@@ -3326,7 +3326,7 @@ _0819064A:
adds r6, 0x1
cmp r6, 0xF
ble _0819064A
- bl sub_80D2F04
+ bl LoadMonIconPalettes
ldr r0, =sub_8190CD4
movs r1, 0
bl CreateTask
@@ -3695,7 +3695,7 @@ sub_8190938: @ 8190938
cmp r0, 0
bne _0819094A
adds r0, r1, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_0819094A:
pop {r0}
bx r0
@@ -3710,7 +3710,7 @@ sub_8190950: @ 8190950
cmp r0, 0
bne _08190962
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190962:
ldrh r0, [r4, 0x22]
adds r1, r0, 0x4
@@ -3774,7 +3774,7 @@ sub_81909CC: @ 81909CC
cmp r0, 0
bne _081909DE
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_081909DE:
ldrh r0, [r4, 0x22]
subs r1, r0, 0x4
@@ -3838,7 +3838,7 @@ sub_8190A48: @ 8190A48
cmp r0, 0
bne _08190A5A
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190A5A:
ldrh r0, [r4, 0x20]
adds r1, r0, 0x4
@@ -3902,7 +3902,7 @@ sub_8190AC4: @ 8190AC4
cmp r0, 0
bne _08190AD6
adds r0, r4, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
_08190AD6:
ldrh r0, [r4, 0x20]
subs r1, r0, 0x4
@@ -6471,7 +6471,7 @@ _0819218E:
adds r6, 0x1
cmp r6, 0xF
ble _08192158
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
ldr r4, =gUnknown_0203CD78
ldr r0, [r4]
bl Free
@@ -6481,7 +6481,7 @@ _0819218E:
mov r0, r9
cmp r0, 0
bne _081921C4
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081921FC
.pool
@@ -7096,7 +7096,7 @@ _081926B0:
movs r1, 0x1
str r1, [sp, 0x8]
ldr r1, =sub_8190938
- bl sub_80D2CC4
+ bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]
@@ -7171,7 +7171,7 @@ _0819270A:
ldr r4, [sp, 0x24]
cmp r4, r0
bne _08192784
- ldr r0, =gTrainerClassToNameIndex
+ ldr r0, =gFacilityClassToTrainerClass
adds r0, 0x3C
ldrb r5, [r0]
b _081927A2
@@ -7383,12 +7383,12 @@ _08192932:
ldr r1, [sp, 0x24]
cmp r1, r0
bne _08192980
- ldr r0, =gUnknown_0860D1D0
+ ldr r0, =gBattleDomePotentialPointers
ldr r0, [r0, 0x40]
b _0819298A
.pool
_08192980:
- ldr r0, =gUnknown_0860D1D0
+ ldr r0, =gBattleDomePotentialPointers
ldr r2, [sp, 0x20]
lsls r1, r2, 2
adds r1, r0
@@ -7503,7 +7503,7 @@ _08192A58:
cmp r7, 0x2
ble _081929AE
movs r7, 0
- ldr r2, =gUnknown_0860D214
+ ldr r2, =gBattleDomeOpponentStylePointers
mov r9, r2
ldr r3, =gUnknown_0860C988
mov r10, r3
@@ -8071,7 +8071,7 @@ _08192ED0:
movs r7, 0x2A
_08192ED2:
lsls r0, r7, 2
- ldr r3, =gUnknown_0860D294
+ ldr r3, =gBattleDomeOpponentStatsPointers
adds r0, r3
ldr r0, [r0]
str r0, [sp, 0xC]
@@ -8779,7 +8779,7 @@ _081934B0:
mov r1, r10
str r1, [sp, 0x8]
ldr r1, =sub_8190938
- bl sub_80D2CC4
+ bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]
@@ -8927,7 +8927,7 @@ _081935FA:
movs r1, 0x1
str r1, [sp, 0x8]
ldr r1, =sub_8190938
- bl sub_80D2CC4
+ bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]
@@ -9029,7 +9029,7 @@ _081936A0:
movs r0, 0xD0
strb r0, [r1, 0xD]
ldr r4, =gStringVar4
- ldr r0, =gUnknown_0860D38C
+ ldr r0, =gBattleDomeWinStringsPointers
ldr r7, [sp, 0x70]
adds r0, r7, r0
ldr r1, [r0]
@@ -9167,7 +9167,7 @@ _08193802:
bl AddTextPrinter
add r0, sp, 0xC
strb r6, [r0, 0xA]
- ldr r0, =gUnknown_0860D350
+ ldr r0, =gBattleDomeMatchNumberPointers
ldr r1, [sp, 0x58]
adds r0, r1, r0
ldr r0, [r0]
@@ -9449,7 +9449,7 @@ _08193AA8:
b _08193BC2
_08193ABA:
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
@@ -9494,7 +9494,7 @@ _08193B20:
cmp r6, 0
bne _08193BC2
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
@@ -9534,12 +9534,12 @@ _08193B84:
cmp r6, 0
bne _08193BC2
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
str r6, [r4]
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
ldr r1, =gTasks
lsls r0, r5, 2
@@ -11000,8 +11000,8 @@ _0819486C:
movs r1, 0
strh r1, [r0, 0x8]
_08194878:
- bl dp12_8087EA4
- ldr r0, =gUnknown_02038C28
+ bl ScanlineEffect_Clear
+ ldr r0, =gScanlineEffectRegBuffers
ldr r2, =0x00001f0a
movs r4, 0xF0
lsls r4, 3
@@ -11017,7 +11017,7 @@ _08194888:
bge _08194888
movs r5, 0x5B
ldr r3, =gUnknown_0860CF44
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
ldr r2, =0x00001f09
ldr r4, =0x00000836
adds r1, r0, r4
@@ -11033,7 +11033,7 @@ _081948A4:
ldr r0, [r3]
ldr r1, [r3, 0x4]
ldr r2, [r3, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
mov r0, r8
bl DestroyTask
_081948C2:
@@ -11320,7 +11320,7 @@ _08194B24:
ands r0, r1
cmp r0, 0
bne _08194B3C
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -11513,7 +11513,7 @@ sub_8194CE4: @ 8194CE4
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
.pool
@@ -12991,7 +12991,7 @@ sub_8195938: @ 8195938
push {r4,lr}
adds r3, r0, 0
movs r2, 0
- ldr r4, =gTrainers + TRAINER_TUCKER * 0x28 + 0x4 @ Tucker's name
+ ldr r4, =(gTrainers + 806 * 0x28 + 0x4) @ TRAINER_TUCKER name
_08195940:
adds r0, r3, r2
adds r1, r2, r4
@@ -13641,7 +13641,7 @@ sub_8195ED8: @ 8195ED8
push {r4,lr}
ldr r4, =gMapHeader
ldrb r0, [r4, 0x17]
- bl is_light_level_1_2_3_or_6
+ bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
cmp r0, 0
beq _08195F30
@@ -13791,7 +13791,7 @@ sub_8195FF8: @ 8195FF8
push {r4-r6,lr}
adds r5, r0, 0
movs r4, 0
- ldr r6, =gUnknown_085500A4
+ ldr r6, =gRematchTable
_08196000:
movs r1, 0xAE
lsls r1, 1
@@ -13887,7 +13887,7 @@ task_prev_quest: @ 81960A8
cmp r0, 0
bne _081960C2
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeEventObjects
bl sub_808B864
bl sub_808BCF4
_081960C2:
@@ -14097,7 +14097,7 @@ sub_8196274: @ 8196274
_08196298:
movs r1, 0x4
ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_0860EF70
+ ldr r1, =gText_PokenavCallEllipsis
bl sub_81965D8
movs r0, 0x1
_081962A4:
@@ -14285,18 +14285,18 @@ sub_81963F0: @ 81963F0
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
bl sub_80D338C
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
_08196446:
movs r0, 0x1
@@ -14531,7 +14531,7 @@ sub_81965D8: @ 81965D8
negs r0, r0
ands r0, r1
strb r0, [r2]
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -14659,13 +14659,13 @@ sub_8196710: @ 8196710
thumb_func_start sub_819672C
sub_819672C: @ 819672C
push {lr}
- ldr r1, =gUnknown_085500A4
+ ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r2, [r0, 0xA]
ldrh r1, [r0, 0xC]
adds r0, r2, 0
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldrb r0, [r0, 0x14]
pop {r1}
bx r1
@@ -14677,10 +14677,10 @@ sub_8196748: @ 8196748
push {r4-r6,lr}
movs r5, 0
movs r6, 0
- ldr r4, =gUnknown_085500A4
+ ldr r4, =gRematchTable
_08196750:
ldrh r0, [r4]
- bl HasTrainerAlreadyBeenFought
+ bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
beq _0819675E
@@ -14703,10 +14703,10 @@ sub_8196774: @ 8196774
adds r7, r0, 0
movs r4, 0
movs r6, 0
- ldr r5, =gUnknown_085500A4
+ ldr r5, =gRematchTable
_0819677E:
ldrh r0, [r5]
- bl HasTrainerAlreadyBeenFought
+ bl HasTrainerBeenFought
lsls r0, 24
cmp r0, 0
beq _0819679A
@@ -14766,7 +14766,7 @@ _081967EC:
adds r4, r0, 0
movs r7, 0x1
adds r0, r5, 0
- bl sub_80B1E94
+ bl UpdateRematchIfDefeated
b _08196832
_0819680A:
bl Random
@@ -15270,7 +15270,7 @@ sub_8196B98: @ 8196B98
adds r7, r0, 0
cmp r1, 0xFF
beq _08196C5C
- ldr r1, =gUnknown_085500A4
+ ldr r1, =gRematchTable
lsls r0, r2, 4
adds r2, r0, r1
ldrh r4, [r2, 0xA]
@@ -15373,7 +15373,7 @@ sub_8196C70: @ 8196C70
lsls r1, 2
adds r1, r2
ldrh r0, [r1]
- bl sub_80B2250
+ bl GetLastBeatenRematchTrainerId
lsls r0, 16
lsrs r0, 16
ldr r5, =gTrainers
@@ -15923,11 +15923,11 @@ sub_8197080: @ 8197080
b _0819715C
_081970A2:
movs r0, 0
- bl sub_80C0844
+ bl GetHoennPokedexCount
lsls r0, 16
lsrs r4, r0, 16
movs r0, 0x1
- bl sub_80C0844
+ bl GetHoennPokedexCount
lsls r0, 16
lsrs r6, r0, 16
ldr r0, =gStringVar1
@@ -15977,11 +15977,11 @@ _081970A2:
strb r6, [r5]
adds r5, 0x1
movs r0, 0
- bl pokedex_count
+ bl GetNationalPokedexCount
lsls r0, 16
lsrs r4, r0, 16
movs r0, 0x1
- bl pokedex_count
+ bl GetNationalPokedexCount
lsls r0, 16
lsrs r6, r0, 16
mov r0, r10
@@ -16009,6 +16009,44 @@ _0819715C:
pop {r0}
bx r0
.pool
+
thumb_func_end sub_8197080
+ thumb_func_start sub_8197184
+sub_8197184: @ 8197184
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ adds r5, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl GetWindowAttribute
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, =gUnknown_0860EA6C
+ movs r2, 0x80
+ lsls r2, 1
+ lsls r4, 16
+ lsrs r4, 16
+ adds r3, r4, 0
+ bl LoadBgTiles
+ ldr r0, =gUnknown_0860EA4C
+ lsls r5, 20
+ lsrs r5, 16
+ adds r1, r5, 0
+ movs r2, 0x20
+ bl LoadPalette
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8197184
+
+ thumb_func_start sub_81971C4
+sub_81971C4: @ 81971C4
+ push {lr}
+ bl sub_819645C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81971C4
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 43ad02708..2ab474037 100755..100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -5,6 +5,70 @@
.text
+ thumb_func_start sub_819A44C
+sub_819A44C: @ 819A44C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldrb r4, [r5, 0x5]
+ lsrs r4, 4
+ movs r0, 0x65
+ bl IndexOfSpritePaletteTag
+ lsls r0, 24
+ lsls r4, 16
+ lsrs r4, 16
+ lsrs r0, 24
+ cmp r4, r0
+ bne _0819A4BA
+ adds r0, r5, 0
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0819A4B0
+ ldrh r1, [r5, 0x2E]
+ movs r2, 0x2E
+ ldrsh r0, [r5, r2]
+ cmp r0, 0
+ beq _0819A484
+ subs r0, r1, 0x1
+ strh r0, [r5, 0x2E]
+ b _0819A4C2
+_0819A484:
+ bl Random
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x5
+ bl __umodsi3
+ lsls r0, 16
+ cmp r0, 0
+ bne _0819A4A6
+ adds r0, r5, 0
+ movs r1, 0
+ bl StartSpriteAnim
+ movs r0, 0x20
+ strh r0, [r5, 0x2E]
+ b _0819A4C2
+_0819A4A6:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _0819A4C2
+_0819A4B0:
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl StartSpriteAnimIfDifferent
+ b _0819A4C2
+_0819A4BA:
+ adds r0, r5, 0
+ movs r1, 0
+ bl StartSpriteAnimIfDifferent
+_0819A4C2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_819A44C
+
thumb_func_start sub_819A4C8
sub_819A4C8: @ 819A4C8
push {lr}
@@ -189,7 +253,7 @@ _0819A69C:
bl ResetSpriteData
bl ResetTasks
bl FreeAllSpritePalettes
- ldr r0, =gUnknown_08DC0754
+ ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE2C
ldr r1, [r5]
movs r2, 0x88
@@ -211,7 +275,7 @@ _0819A69C:
movs r2, 0x60
movs r3, 0
bl LoadBgTiles
- ldr r0, =gUnknown_08DC0B94
+ ldr r0, =gFrontierFactorySelectMenu_Tilemap
ldr r4, =gUnknown_0203CE34
ldr r1, [r4]
movs r2, 0x80
@@ -223,7 +287,7 @@ _0819A69C:
movs r0, 0x1
movs r3, 0
bl LoadBgTilemap
- ldr r0, =gUnknown_08DC0714
+ ldr r0, =gFrontierFactorySelectMenu_Pal
movs r1, 0
movs r2, 0x40
bl LoadPalette
@@ -1257,7 +1321,7 @@ _0819AFB8:
bl Free
str r5, [r7]
bl FreeAllWindowBuffers
- ldr r0, =sub_80861B0
+ ldr r0, =CB2_ReturnToFieldContinueScript
bl SetMainCallback2
adds r0, r6, 0
bl DestroyTask
@@ -1896,7 +1960,7 @@ _0819B572:
mov r2, r9
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2039,7 +2103,7 @@ _0819B678:
mov r2, r10
str r2, [sp, 0x8]
movs r2, 0x1E
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0xC
movs r3, 0
strb r3, [r0]
@@ -4427,7 +4491,7 @@ _0819CAA4:
bl Free
str r5, [r7]
bl FreeAllWindowBuffers
- ldr r0, =sub_80861B0
+ ldr r0, =CB2_ReturnToFieldContinueScript
bl SetMainCallback2
adds r0, r6, 0
bl DestroyTask
@@ -6646,7 +6710,7 @@ _0819DDA8:
bl ResetTasks
bl FreeAllSpritePalettes
bl dp13_810BB8C
- ldr r0, =gUnknown_08DC0754
+ ldr r0, =gFrontierFactorySelectMenu_Gfx
ldr r5, =gUnknown_0203CE40
ldr r1, [r5]
movs r2, 0x88
@@ -6668,7 +6732,7 @@ _0819DDA8:
movs r2, 0x60
movs r3, 0
bl LoadBgTiles
- ldr r0, =gUnknown_08DC0B94
+ ldr r0, =gFrontierFactorySelectMenu_Tilemap
ldr r4, =gUnknown_0203CE48
ldr r1, [r4]
movs r2, 0x80
@@ -6680,7 +6744,7 @@ _0819DDA8:
movs r0, 0x1
movs r3, 0
bl LoadBgTilemap
- ldr r0, =gUnknown_08DC0714
+ ldr r0, =gFrontierFactorySelectMenu_Pal
movs r1, 0
movs r2, 0x40
bl LoadPalette
@@ -11329,7 +11393,7 @@ _081A03E6:
bls _081A03E6
movs r5, 0
ldr r7, =gSaveBlock2Ptr
- ldr r6, =gUnknown_086109A4
+ ldr r6, =gUnknown_08610970+0x34
_081A0416:
ldr r0, [r7]
mov r12, r0
@@ -11490,7 +11554,7 @@ _081A0540:
mov r12, r1
adds r5, r3, 0
adds r5, 0xB0
- ldr r0, =gUnknown_086109A4
+ ldr r0, =gUnknown_08610970+0x34
mov r8, r0
_081A0560:
adds r0, r3, 0
@@ -12380,12 +12444,12 @@ _081A0C8E:
sub_81A0C9C: @ 81A0C9C
push {lr}
bl ScriptContext2_Enable
- bl player_bitmagic
+ bl FreezeEventObjects
bl sub_808B864
bl sub_808BCF4
movs r0, 0
movs r1, 0x1
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
bl sub_81A0A70
pop {r0}
bx r0
@@ -12921,7 +12985,7 @@ _081A10F4:
adds r1, r0
adds r1, 0xBA
ldrh r0, [r1]
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
b _081A1174
.pool
@@ -14280,7 +14344,7 @@ sub_81A1C4C: @ 81A1C4C
adds r3, r0, 0
lsls r0, r5, 3
adds r5, r0, 0x1
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
ldrb r0, [r0]
lsls r3, 24
lsrs r3, 24
@@ -14306,7 +14370,7 @@ sub_81A1C90: @ 81A1C90
push {r4,lr}
sub sp, 0x34
adds r2, r0, 0
- ldr r3, =gUnknown_0203AB74
+ ldr r3, =gRecordsWindowId
movs r1, 0xAE
mov r0, sp
adds r0, 0x2F
@@ -14361,7 +14425,7 @@ sub_81A1CD8: @ 81A1CD8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -14580,13 +14644,13 @@ sub_81A1EA8: @ 81A1EA8
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -14621,7 +14685,7 @@ _081A1F28:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gUnknown_0203AB74
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -14734,7 +14798,7 @@ sub_81A2008: @ 81A2008
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -14868,13 +14932,13 @@ sub_81A2134: @ 81A2134
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -14893,7 +14957,7 @@ _081A2184:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_Lv502
movs r6, 0x21
@@ -14905,7 +14969,7 @@ _081A2184:
movs r1, 0x1
movs r3, 0x8
bl PrintTextOnWindow
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
ldr r2, =gText_OpenLv
movs r1, 0x61
@@ -14988,10 +15052,10 @@ _081A2184:
mov r1, r8
movs r3, 0x40
bl sub_81A2008
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
bl PutWindowTilemap
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
movs r1, 0x3
bl CopyWindowToVram
@@ -15027,7 +15091,7 @@ sub_81A22B8: @ 81A22B8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15221,13 +15285,13 @@ sub_81A2460: @ 81A2460
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -15246,7 +15310,7 @@ _081A24B0:
ldr r0, =gStringVar4
movs r1, 0x2
bl sub_81A1C4C
- ldr r6, =gUnknown_0203AB74
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
ldr r2, =gText_Lv502
movs r1, 0x31
@@ -15356,7 +15420,7 @@ sub_81A258C: @ 81A258C
lsrs r6, 24
lsls r5, 24
lsrs r5, 24
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r5, [sp]
@@ -15469,13 +15533,13 @@ sub_81A2698: @ 81A2698
mov r5, r8
push {r5-r7}
sub sp, 0xC
- ldr r6, =gUnknown_0203AB74
+ ldr r6, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r6]
ldrb r0, [r6]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r6]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -15608,7 +15672,7 @@ sub_81A27E8: @ 81A27E8
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -15772,13 +15836,13 @@ _081A2956:
sub_81A2968: @ 81A2968
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gUnknown_0203AB74
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
ldrb r0, [r5]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r5]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -15871,7 +15935,7 @@ sub_81A2A28: @ 81A2A28
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r6, [sp]
@@ -16147,13 +16211,13 @@ sub_81A2C94: @ 81A2C94
sub sp, 0xC
lsls r0, 24
lsrs r7, r0, 24
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -16172,7 +16236,7 @@ _081A2CE0:
ldr r0, =gStringVar4
movs r1, 0
bl sub_81A1C4C
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
ldr r2, =gText_Lv502
@@ -16276,7 +16340,7 @@ sub_81A2DB4: @ 81A2DB4
lsls r0, 24
lsrs r0, 24
adds r7, r0, 0
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r10, r0
ldrb r0, [r0]
str r7, [sp]
@@ -16442,13 +16506,13 @@ _081A2F26:
sub_81A2F38: @ 81A2F38
push {r4-r6,lr}
sub sp, 0xC
- ldr r5, =gUnknown_0203AB74
+ ldr r5, =gRecordsWindowId
ldr r0, =gUnknown_08611C74
bl AddWindow
strb r0, [r5]
ldrb r0, [r5]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r5]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -16520,13 +16584,13 @@ sub_81A2FF8: @ 81A2FF8
mov r6, r8
push {r6,r7}
sub sp, 0xC
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C7C
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -16686,7 +16750,7 @@ _081A315C:
movs r2, 0x1
movs r3, 0x4
bl ConvertIntToDecimalStringN
- ldr r6, =gUnknown_0203AB74
+ ldr r6, =gRecordsWindowId
ldrb r0, [r6]
movs r1, 0x26
adds r3, r5, 0
@@ -17495,7 +17559,7 @@ _081A38A8:
lsrs r3, r0, 24
movs r0, 0x58
muls r0, r3
- ldr r1, =gUnknown_086109BA
+ ldr r1, =gUnknown_08610970+0x4A
_081A38C4:
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
@@ -17516,7 +17580,7 @@ _081A38D4:
lsrs r3, r0, 27
movs r0, 0x58
muls r0, r3
- ldr r1, =gUnknown_086109BA
+ ldr r1, =gUnknown_08610970+0x4A
adds r0, r1
bl ConvertBattleFrontierTrainerSpeechToString
_081A38F8:
@@ -18556,7 +18620,7 @@ _081A4202:
thumb_func_start sub_81A4224
sub_81A4224: @ 81A4224
push {lr}
- bl sub_81652B4
+ bl ValidateEReaderTrainer
pop {r0}
bx r0
thumb_func_end sub_81A4224
@@ -18619,7 +18683,7 @@ _081A4294:
adds r0, r3, r4
ldrh r1, [r0]
movs r0, 0x20
- bl sav12_xor_set
+ bl SetGameStat
ldr r1, [r7]
adds r0, r1, r6
adds r0, r4
@@ -18962,7 +19026,7 @@ sub_81A4594: @ 81A4594
sub sp, 0x2C
mov r8, r1
adds r6, r3, 0
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r5, [r1]
lsls r4, r0, 1
adds r4, r0
@@ -18998,7 +19062,7 @@ sub_81A4594: @ 81A4594
ldrb r2, [r6, 0xE]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
mov r3, r8
adds r3, 0x2
@@ -19038,7 +19102,7 @@ _081A4618:
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
str r7, [sp]
mov r1, r10
@@ -19072,7 +19136,7 @@ sub_81A4684: @ 81A4684
adds r7, r1, 0
mov r10, r2
adds r5, r3, 0
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
lsls r2, r6, 1
adds r2, r6
@@ -19112,7 +19176,7 @@ sub_81A4684: @ 81A4684
ldrb r2, [r5, 0x1A]
add r0, sp, 0xC
bl TVShowConvertInternationalString
- ldr r1, =gUnknown_0203AB74
+ ldr r1, =gRecordsWindowId
ldrb r0, [r1]
adds r3, r7, 0x2
lsls r3, 27
@@ -19147,7 +19211,7 @@ _081A4734:
adds r1, r4, 0
bl StringCopy
_081A473C:
- ldr r2, =gUnknown_0203AB74
+ ldr r2, =gRecordsWindowId
mov r9, r2
ldrb r0, [r2]
adds r3, r7, 0x4
@@ -19468,7 +19532,7 @@ sub_81A4998: @ 81A4998
ldr r1, [r5]
adds r0, r6, 0
bl StringExpandPlaceholders
- ldr r0, =gUnknown_0203AB74
+ ldr r0, =gRecordsWindowId
mov r8, r0
ldrb r0, [r0]
movs r1, 0x1
@@ -19567,13 +19631,13 @@ _081A4A90:
thumb_func_start sub_81A4AA0
sub_81A4AA0: @ 81A4AA0
push {r4,lr}
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldr r0, =gUnknown_08611C84
bl AddWindow
strb r0, [r4]
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -19595,7 +19659,7 @@ sub_81A4AA0: @ 81A4AA0
thumb_func_start sub_81A4AE8
sub_81A4AE8: @ 81A4AE8
push {r4,lr}
- ldr r4, =gUnknown_0203AB74
+ ldr r4, =gRecordsWindowId
ldrb r0, [r4]
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -19777,7 +19841,7 @@ _081A4C4E:
ble _081A4C4E
ldr r4, =gPlayerPartyCount
ldrb r5, [r4]
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
bl sub_8076D5C
movs r0, 0x1
bl TrySavingData
@@ -19807,8 +19871,8 @@ _081A4C84:
.pool
thumb_func_end sub_81A4C30
- thumb_func_start sub_81A4CB0
-sub_81A4CB0: @ 81A4CB0
+ thumb_func_start GetFrontierBrainTrainerPicIndex
+GetFrontierBrainTrainerPicIndex: @ 81A4CB0
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -19817,7 +19881,7 @@ sub_81A4CB0: @ 81A4CB0
ands r0, r1
cmp r0, 0
beq _081A4CD0
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4CDA
@@ -19829,7 +19893,7 @@ _081A4CD0:
lsrs r0, 16
_081A4CDA:
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
@@ -19841,10 +19905,10 @@ _081A4CDA:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A4CB0
+ thumb_func_end GetFrontierBrainTrainerPicIndex
- thumb_func_start sub_81A4D00
-sub_81A4D00: @ 81A4D00
+ thumb_func_start GetFrontierBrainTrainerClass
+GetFrontierBrainTrainerClass: @ 81A4D00
push {lr}
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
@@ -19853,7 +19917,7 @@ sub_81A4D00: @ 81A4D00
ands r0, r1
cmp r0, 0
beq _081A4D20
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4D2A
@@ -19865,7 +19929,7 @@ _081A4D20:
lsrs r0, 16
_081A4D2A:
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
lsls r0, 1
adds r0, r1
ldrh r1, [r0]
@@ -19877,10 +19941,10 @@ _081A4D2A:
pop {r1}
bx r1
.pool
- thumb_func_end sub_81A4D00
+ thumb_func_end GetFrontierBrainTrainerClass
- thumb_func_start sub_81A4D50
-sub_81A4D50: @ 81A4D50
+ thumb_func_start CopyFrontierBrainTrainerName
+CopyFrontierBrainTrainerName: @ 81A4D50
push {r4,lr}
adds r4, r0, 0
ldr r0, =gBattleTypeFlags
@@ -19890,7 +19954,7 @@ sub_81A4D50: @ 81A4D50
ands r0, r1
cmp r0, 0
beq _081A4D70
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r0, 24
b _081A4D7A
@@ -19904,7 +19968,7 @@ _081A4D7A:
movs r3, 0
lsls r0, 1
ldr r2, =gTrainers
- ldr r1, =gUnknown_08611D30
+ ldr r1, =gFacilityToBrainTrainerId
adds r0, r1
ldrh r1, [r0]
lsls r0, r1, 2
@@ -19927,7 +19991,7 @@ _081A4D90:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81A4D50
+ thumb_func_end CopyFrontierBrainTrainerName
thumb_func_start sub_81A4DB8
sub_81A4DB8: @ 81A4DB8
@@ -20419,7 +20483,7 @@ sub_81A51A8: @ 81A51A8
ands r0, r1
cmp r0, 0
beq _081A51D4
- bl sub_8185EA0
+ bl GetRecordedBattleFrontierFacility
lsls r0, 24
lsrs r4, r0, 24
bl sub_8185EAC
@@ -20582,29 +20646,29 @@ _081A5328:
ldr r4, =gDisplayedStringBattle
adds r0, r4, 0
movs r1, 0xF
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Vs
movs r1, 0x10
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_OpponentMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x11
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Mind
movs r1, 0x12
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Skill
movs r1, 0x13
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Body
movs r1, 0x14
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldr r0, =gText_Judgement
bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0
movs r1, 0x15
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
b _081A553E
.pool
_081A53B4:
@@ -20688,7 +20752,7 @@ _081A5464:
bl BattleStringExpandPlaceholdersToDisplayedString
ldr r0, =gDisplayedStringBattle
movs r1, 0x15
- bl BattleHandleAddTextPrinter
+ bl BattlePutTextOnWindow
ldrb r0, [r5]
adds r0, 0x1
strb r0, [r5]
@@ -20736,7 +20800,7 @@ _081A54D4:
bl HandleBattleWindow
movs r0, 0
bl CopyBgTilemapBufferToVram
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
ldr r1, =0x0000ffff
movs r2, 0x80
lsls r2, 1
@@ -21034,7 +21098,7 @@ sub_81A5718: @ 81A5718
b _081A57D8
.pool
_081A576C:
- ldr r0, =gBattleMoveFlags
+ ldr r0, =gMoveResultFlags
ldrb r1, [r0]
movs r0, 0x29
ands r0, r1
@@ -23800,7 +23864,7 @@ _081A6E0C:
ldr r4, [sp, 0x28]
str r4, [sp, 0x8]
lsrs r2, 24
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r0, sp, 0x1C
movs r7, 0
strb r7, [r0]
@@ -27149,16 +27213,16 @@ _081A896E:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
bl sub_80D338C
pop {r4}
pop {r0}
@@ -27291,7 +27355,7 @@ _081A8A74:
ldr r2, [r6]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
cmp r0, 0x10
@@ -27447,14 +27511,14 @@ _081A8BB4:
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x10
bne _081A8BDC
b _081A8D32
_081A8BDC:
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
@@ -28457,8 +28521,8 @@ sub_81A9424: @ 81A9424
lsls r1, 4
adds r1, r0
mov r8, r1
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
+ ldr r2, =gEventObjects
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -28505,8 +28569,8 @@ _081A9488:
mov r9, r0
_081A94AE:
ldr r3, =gUnknown_08613ED8
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
+ ldr r2, =gEventObjects
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -29117,7 +29181,7 @@ sub_81A9998: @ 81A9998
mov r8, r0
ldr r1, =0x0000028e
mov r12, r1
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r9, r0
_081A99CC:
movs r2, 0
@@ -29130,7 +29194,7 @@ _081A99CE:
cmp r0, r12
bne _081A9A8A
adds r2, 0x7
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
ldrb r1, [r0]
lsls r0, r1, 3
adds r0, r1
@@ -29258,7 +29322,7 @@ GetBattlePyramidTrainerFlag: @ 81A9AC4
ldr r1, =0x00000e2a
adds r2, r1
ldr r4, =gBitTable
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@@ -29290,8 +29354,8 @@ sub_81A9B04: @ 81A9B04
cmp r0, 0
beq _081A9B2E
movs r0, 0x1
- bl sub_80B47E0
- ldr r1, =gSelectedMapObject
+ bl GetChosenApproachingTrainerEventObjectId
+ ldr r1, =gSelectedEventObject
strb r0, [r1]
ldr r0, =gTrainerBattleOpponent_B
ldrh r0, [r0]
@@ -29312,9 +29376,9 @@ sub_81A9B44: @ 81A9B44
lsls r0, 16
lsrs r5, r0, 16
movs r3, 0
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r12, r0
- ldr r6, =gSelectedMapObject
+ ldr r6, =gSelectedEventObject
ldr r1, =gSaveBlock1Ptr
mov r10, r1
ldr r7, =gSaveBlock2Ptr
@@ -29706,7 +29770,7 @@ sub_81A9E90: @ 81A9E90
ldr r0, =0x0000400e
movs r1, 0
bl VarSet
- bl copy_player_party_from_sav1
+ bl LoadPlayerParty
_081A9EB8:
pop {r0}
bx r0
@@ -29783,7 +29847,7 @@ GetTrainerEncounterMusicIdInBattlePyramind: @ 81A9F3C
lsls r0, 16
lsrs r0, 16
movs r4, 0
- ldr r3, =gTrainerClassToNameIndex
+ ldr r3, =gFacilityClassToTrainerClass
ldr r1, =gUnknown_0203BC88
ldr r2, [r1]
movs r1, 0x34
@@ -29962,7 +30026,7 @@ _081AA0A6:
ldr r2, =0x00000169
adds r0, r2
lsls r0, 2
- ldr r1, =gMapAttributes
+ ldr r1, =gMapLayouts
adds r0, r1
ldr r6, [r0]
ldr r2, [r6, 0xC]
@@ -30938,7 +31002,7 @@ sub_81AA810: @ 81AA810
ldrb r1, [r3]
adds r1, 0x2C
movs r0, 0x19
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
adds r5, r0, 0
movs r7, 0
ldr r1, [r5, 0x4]
@@ -31102,7 +31166,7 @@ sub_81AA96C: @ 81AA96C
lsls r0, 24
lsrs r5, r0, 24
movs r3, 0
- ldr r2, =gUnknown_08613655
+ ldr r2, =gUnknown_08613650+0x5
mov r12, r2
movs r7, 0x7
_081AA994:
diff --git a/asm/battle_link_817C95C.s b/asm/battle_link_817C95C.s
deleted file mode 100644
index fedb50c45..000000000
--- a/asm/battle_link_817C95C.s
+++ /dev/null
@@ -1,4891 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_817C95C
-sub_817C95C: @ 817C95C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0817C988
- ldr r0, [sp]
- cmp r0, 0x1B
- beq _0817C988
- cmp r0, 0xDD
- beq _0817C988
- bl _0817E0A6
-_0817C988:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 2
- adds r7, r0, r1
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gEffectBank
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gStringInfo
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r4, 0
- bne _0817CA00
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _0817CA10
- .pool
-_0817CA00:
- ldr r2, =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_0817CA10:
- adds r1, r0
- str r1, [sp, 0x8]
- cmp r6, 0
- bne _0817CA3C
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- b _0817CA4C
- .pool
-_0817CA3C:
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
-_0817CA4C:
- adds r1, r0
- str r1, [sp, 0xC]
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r1, =gStringInfo
- ldr r1, [r1]
- ldrh r1, [r1]
- bl GetBankMoveSlotId
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x3
- bls _0817CA9C
- ldr r0, [sp]
- bl sub_817E0B8
- lsls r0, 24
- cmp r0, 0
- beq _0817CA9C
- ldr r2, [sp]
- cmp r2, 0xC
- bls _0817CA9C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r1, [r0]
- movs r2, 0x1E
- bl _0817E0A2
- .pool
-_0817CA9C:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- mov r8, r0
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r5, r0, 25
- ldr r0, =gEffectBank
- ldrb r0, [r0]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r3, r0, 25
- ldr r1, [sp]
- subs r1, 0x2
- movs r0, 0xB0
- lsls r0, 1
- cmp r1, r0
- bls _0817CAD2
- bl _0817E0A6
-_0817CAD2:
- lsls r0, r1, 2
- ldr r1, =_0817CAEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817CAEC:
- .4byte _0817DD7A
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D070
- .4byte _0817DD74
- .4byte _0817DD80
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DA68
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D7D8
- .4byte _0817E0A6
- .4byte _0817D8A4
- .4byte _0817E0A6
- .4byte _0817D838
- .4byte _0817E0A6
- .4byte _0817D704
- .4byte _0817E0A6
- .4byte _0817D76C
- .4byte _0817DB24
- .4byte _0817E0A6
- .4byte _0817DB90
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D9C2
- .4byte _0817E0A6
- .4byte _0817DA24
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DBD4
- .4byte _0817E0A6
- .4byte _0817D94C
- .4byte _0817E0A6
- .4byte _0817D994
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E040
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DE10
- .4byte _0817DDC8
- .4byte _0817DEDC
- .4byte _0817DF24
- .4byte _0817DF4E
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D65E
- .4byte _0817D65E
- .4byte _0817D65E
- .4byte _0817D65E
- .4byte _0817D698
- .4byte _0817E0A6
- .4byte _0817E08E
- .4byte _0817DF70
- .4byte _0817DFBC
- .4byte _0817E0A6
- .4byte _0817E08E
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D53C
- .4byte _0817E0A6
- .4byte _0817D584
- .4byte _0817DACC
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D3A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D296
- .4byte _0817D2E4
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D5CE
- .4byte _0817D608
- .4byte _0817D498
- .4byte _0817D4E0
- .4byte _0817DC62
- .4byte _0817DC98
- .4byte _0817E0A6
- .4byte _0817D1B8
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DCDC
- .4byte _0817E0A6
- .4byte _0817D0DC
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D1E0
- .4byte _0817D314
- .4byte _0817D354
- .4byte _0817D372
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D216
- .4byte _0817D260
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D3C0
- .4byte _0817D3F2
- .4byte _0817D440
- .4byte _0817D45C
- .4byte _0817D3B8
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D098
- .4byte _0817D0D4
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DC20
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D16C
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DD38
- .4byte _0817DCFC
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D65E
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817D124
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817E0A6
- .4byte _0817DE58
- .4byte _0817DDC8
- .4byte _0817DE10
- .4byte _0817DFE6
-_0817D070:
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x2
- movs r3, 0
- bl sub_817E684
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0817D08C
- bl _0817E0A6
-_0817D08C:
- bl sub_817EECC
- bl _0817E0A6
- .pool
-_0817D098:
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x1
- movs r3, 0
- bl sub_817E684
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0817D0B4
- bl _0817E0A6
-_0817D0B4:
- ldr r0, [sp, 0xC]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D0C6
- bl _0817E0A6
-_0817D0C6:
- bl sub_817EECC
- bl _0817E0A6
- .pool
-_0817D0D4:
- movs r0, 0x1
- mov r1, r10
- movs r2, 0
- b _0817D48E
-_0817D0DC:
- lsls r3, r4, 1
- adds r3, r4
- lsls r3, 2
- adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 15
- ldr r1, [r3, 0x50]
- ldr r2, =0xfffc7fff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x50]
- adds r3, 0x55
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0xD
- negs r0, r0
- bl _0817DC0C
- .pool
-_0817D124:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x52
- movs r0, 0x7
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r4]
- movs r0, 0x1D
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x55
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r2]
- movs r0, 0x31
- negs r0, r0
- bl _0817DFAA
- .pool
-_0817D16C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r5, r7, r0
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r3, r5, 0
- adds r3, 0x52
- lsls r1, 5
- ldrb r2, [r3]
- movs r0, 0x1F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r4, r5, 0
- adds r4, 0x55
- mov r0, r10
- lsls r2, r0, 6
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r2
- strb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x58
- ldrb r0, [r2]
- movs r1, 0x40
- bl _0817DFAC
- .pool
-_0817D1B8:
- ldr r1, =gBattleTextBuff1 + 4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0817D1C4
- bl _0817E0A6
-_0817D1C4:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- movs r2, 0x14
- bl _0817E0A2
- .pool
-_0817D1E0:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r3, r7, r0
- adds r0, r3, 0
- adds r0, 0x53
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0
- bne _0817D1FA
- bl _0817E0A6
-_0817D1FA:
- adds r2, r6, 0
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x56
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- bl _0817DB10
-_0817D216:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x53
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r4]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x56
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0xD
- negs r0, r0
- bl _0817DFAA
- .pool
-_0817D260:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r3, r7, r0
- adds r0, r3, 0
- adds r0, 0x53
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 29
- cmp r0, 0
- bne _0817D27A
- bl _0817E0A6
-_0817D27A:
- adds r2, r6, 0
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x56
- ldrb r3, [r0]
- lsls r3, 28
- lsrs r3, 30
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- bl _0817DBC2
-_0817D296:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r2, 0x56
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r2]
- movs r0, 0x71
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 7
- ldrh r3, [r2]
- ldr r0, =0xfffffe7f
- ands r0, r3
- orrs r0, r1
- strh r0, [r2]
- bl _0817E0A6
- .pool
-_0817D2E4:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x56
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 29
- cmp r0, 0
- bne _0817D2FC
- bl _0817E0A6
-_0817D2FC:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- movs r2, 0x16
- bl _0817E0A2
-_0817D314:
- mov r2, r8
- lsls r3, r2, 3
- lsls r0, r4, 4
- adds r3, r0
- adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r3, 0x35
- movs r0, 0x7
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- movs r2, 0x3
- mov r1, r10
- ands r1, r2
- lsls r1, 3
- movs r2, 0x19
- negs r2, r2
- bl _0817DC0C
- .pool
-_0817D354:
- mov r1, r8
- lsls r0, r1, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r0, r7, r0
- adds r0, 0x35
- ldrb r1, [r0]
- lsls r0, r1, 29
- lsrs r0, 29
- cmp r0, 0
- bne _0817D36E
- bl _0817E0A6
-_0817D36E:
- adds r2, r4, 0
- b _0817D38C
-_0817D372:
- lsls r0, r5, 3
- lsls r1, r6, 4
- adds r0, r1
- adds r0, r7, r0
- adds r0, 0x35
- ldrb r1, [r0]
- lsls r0, r1, 29
- lsrs r0, 29
- cmp r0, 0
- bne _0817D38A
- bl _0817E0A6
-_0817D38A:
- adds r2, r6, 0
-_0817D38C:
- subs r0, 0x1
- lsls r0, 2
- lsls r3, r1, 27
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r1, 0x6
- bl sub_817E684
- bl _0817E0A6
-_0817D3A6:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB3
- movs r1, 0x1
- bl _0817E0A4
- .pool
-_0817D3B8:
- movs r0, 0x12
- mov r1, r10
- movs r2, 0
- b _0817D48E
-_0817D3C0:
- ldr r0, =gBattleTextBuff1
- ldrb r2, [r0, 0x2]
- cmp r2, 0
- bne _0817D3CC
- bl _0817E0A6
-_0817D3CC:
- ldr r1, =gBattleTextBuff2 + 2
- ldrh r0, [r1]
- cmp r0, 0xD1
- bne _0817D3E8
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x17
- b _0817D48C
- .pool
-_0817D3E8:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x16
- b _0817D48C
-_0817D3F2:
- ldr r0, =gBattleTextBuff1
- ldrb r2, [r0, 0x2]
- cmp r2, 0
- bne _0817D3FE
- bl _0817E0A6
-_0817D3FE:
- ldr r0, =gBankAttacker
- ldr r1, =gBankTarget
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0817D436
- ldr r1, =gBattleTextBuff2 + 2
- ldrh r0, [r1]
- cmp r0, 0xD1
- bne _0817D42C
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x17
- b _0817D48C
- .pool
-_0817D42C:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x16
- b _0817D48C
-_0817D436:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1B
- b _0817D48C
-_0817D440:
- ldr r0, =gBattleTextBuff1
- ldrb r2, [r0, 0x2]
- cmp r2, 0
- bne _0817D44C
- bl _0817E0A6
-_0817D44C:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x18
- b _0817D48C
- .pool
-_0817D45C:
- ldr r0, =gBattleTextBuff1
- ldrb r2, [r0, 0x2]
- cmp r2, 0
- bne _0817D468
- bl _0817E0A6
-_0817D468:
- ldr r1, =gBattleTextBuff2 + 2
- ldrh r0, [r1]
- cmp r0, 0xD3
- bne _0817D484
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1A
- b _0817D48C
- .pool
-_0817D484:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x19
-_0817D48C:
- mov r1, r10
-_0817D48E:
- movs r3, 0
- bl sub_817E684
- bl _0817E0A6
-_0817D498:
- lsls r2, r5, 3
- lsls r0, r6, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x30
- movs r0, 0x7
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x8
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x32
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0xD
- negs r0, r0
- bl _0817DFAA
- .pool
-_0817D4E0:
- ldr r0, [sp, 0x8]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D4F2
- bl _0817E0A6
-_0817D4F2:
- mov r2, r8
- lsls r0, r2, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x30
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0
- bne _0817D50E
- bl _0817E0A6
-_0817D50E:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsls r3, 28
- lsrs r3, 30
- movs r0, 0x8
- movs r1, 0
- bl sub_817E684
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r1, 0x57
- ldrb r2, [r1]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r2
- movs r2, 0x2
- b _0817D6F2
-_0817D53C:
- lsls r2, r5, 3
- lsls r0, r6, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x30
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r4]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x32
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r2]
- movs r0, 0x31
- negs r0, r0
- bl _0817DFAA
- .pool
-_0817D584:
- mov r1, r8
- lsls r0, r1, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x30
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 29
- cmp r0, 0
- bne _0817D5A0
- bl _0817E0A6
-_0817D5A0:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsls r3, 26
- lsrs r3, 30
- movs r0, 0x8
- movs r1, 0x1
- bl sub_817E684
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r1, 0x57
- ldrb r2, [r1]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- b _0817D6F2
-_0817D5CE:
- lsls r2, r5, 3
- lsls r0, r6, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 6
- ldrh r3, [r2, 0x30]
- ldr r0, =0xfffffe3f
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x30]
- adds r2, 0x32
- bl _0817DF0A
- .pool
-_0817D608:
- ldr r0, [sp, 0x8]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D61A
- bl _0817E0A6
-_0817D61A:
- mov r1, r8
- lsls r0, r1, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- ldrh r0, [r1, 0x30]
- lsls r0, 23
- lsrs r0, 29
- cmp r0, 0
- bne _0817D632
- bl _0817E0A6
-_0817D632:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsrs r3, 6
- movs r0, 0x8
- movs r1, 0x5
- bl sub_817E684
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r1, 0x57
- ldrb r2, [r1]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r2
- movs r2, 0xA
- b _0817D6F2
-_0817D65E:
- lsls r2, r5, 3
- lsls r0, r6, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x31
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r3, [r4]
- movs r0, 0xF
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x33
- bl _0817DF9E
- .pool
-_0817D698:
- ldr r0, [sp, 0x8]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D6AA
- bl _0817E0A6
-_0817D6AA:
- mov r1, r8
- lsls r0, r1, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x31
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _0817D6C6
- bl _0817E0A6
-_0817D6C6:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x33
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0x8
- movs r1, 0x6
- bl sub_817E684
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r1, 0x57
- ldrb r2, [r1]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r2
- movs r2, 0xC
-_0817D6F2:
- orrs r0, r2
- mov r2, r8
- lsls r3, r2, 5
- movs r2, 0x1F
- ands r0, r2
- orrs r0, r3
- strb r0, [r1]
- bl _0817E0A6
-_0817D704:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 2
- mov r0, r9
- lsls r4, r0, 1
- add r4, r9
- lsls r4, 3
- adds r2, r4
- adds r2, r7, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 6
- ldrh r3, [r2]
- ldr r0, =0xfffffe3f
- ands r0, r3
- orrs r0, r1
- strh r0, [r2]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- mov r2, r10
- lsls r3, r2, 6
- ldrb r2, [r1, 0x2]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x2]
- bl _0817E0A6
- .pool
-_0817D76C:
- ldr r0, [sp, 0x8]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D77E
- bl _0817E0A6
-_0817D77E:
- ldr r6, =gBattlePartyID
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- lsls r0, 2
- lsls r1, r4, 1
- adds r4, r1, r4
- lsls r1, r4, 3
- adds r0, r1
- adds r1, r7, r0
- ldrh r0, [r1]
- lsls r0, 23
- lsrs r0, 29
- cmp r0, 0
- beq _0817D7B2
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x2]
- lsrs r3, 6
- movs r0, 0x8
- movs r1, 0x4
- bl sub_817E684
-_0817D7B2:
- lsls r3, r4, 2
- adds r3, r7, r3
- adds r3, 0x57
- ldrb r0, [r3]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r3]
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r6
- b _0817D934
- .pool
-_0817D7D8:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 2
- mov r0, r9
- lsls r4, r0, 1
- add r4, r9
- lsls r4, 3
- adds r2, r4
- adds r2, r7, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x8
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- movs r0, 0x3
- mov r2, r10
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x2]
- movs r0, 0xD
- negs r0, r0
- b _0817D88C
- .pool
-_0817D838:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 2
- mov r1, r9
- lsls r4, r1, 1
- add r4, r9
- lsls r4, 3
- adds r2, r4
- adds r2, r7, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r2]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- movs r0, 0x3
- mov r2, r10
- ands r2, r0
- lsls r2, 4
- ldrb r3, [r1, 0x2]
- movs r0, 0x31
- negs r0, r0
-_0817D88C:
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x2]
- bl _0817E0A6
- .pool
-_0817D8A4:
- ldr r0, [sp, 0x8]
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817D8B6
- bl _0817E0A6
-_0817D8B6:
- ldr r2, =gBattlePartyID
- mov r8, r2
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 2
- lsls r1, r4, 1
- adds r5, r1, r4
- lsls r4, r5, 3
- adds r0, r4
- adds r1, r7, r0
- ldrb r0, [r1]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0
- beq _0817D8EE
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x2]
- lsls r3, 28
- lsrs r3, 30
- movs r0, 0x8
- movs r1, 0x2
- bl sub_817E684
-_0817D8EE:
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r4
- adds r1, r7, r0
- ldrb r0, [r1]
- lsls r0, 26
- lsrs r0, 29
- cmp r0, 0
- beq _0817D91A
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x2]
- lsls r3, 26
- lsrs r3, 30
- movs r0, 0x8
- movs r1, 0x3
- bl sub_817E684
-_0817D91A:
- lsls r3, r5, 2
- adds r3, r7, r3
- adds r3, 0x57
- ldrb r0, [r3]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r0
- movs r0, 0x6
- orrs r1, r0
- strb r1, [r3]
- ldrb r0, [r6]
- lsls r0, 1
- add r0, r8
-_0817D934:
- ldrh r0, [r0]
- lsls r0, 5
- movs r2, 0x1F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
- b _0817E0A6
- .pool
-_0817D94C:
- lsls r2, r5, 3
- lsls r0, r6, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x31
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r4]
- movs r0, 0x71
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x33
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0xD
- negs r0, r0
- b _0817DFAA
- .pool
-_0817D994:
- mov r1, r8
- lsls r0, r1, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x31
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 29
- cmp r0, 0
- bne _0817D9AE
- b _0817E0A6
-_0817D9AE:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x33
- ldrb r3, [r0]
- lsls r3, 28
- lsrs r3, 30
- movs r0, 0x9
- b _0817E086
-_0817D9C2:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 2
- mov r0, r9
- lsls r4, r0, 1
- add r4, r9
- lsls r4, 3
- adds r2, r4
- adds r2, r7, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r3, [r2, 0x1]
- movs r0, 0xF
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- movs r0, 0x3
- mov r2, r10
- ands r2, r0
- ldrb r3, [r1, 0x3]
- movs r0, 0x4
- negs r0, r0
- b _0817DB76
- .pool
-_0817DA24:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r0
- adds r1, r7, r1
- ldrb r0, [r1, 0x1]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _0817DA48
- b _0817E0A6
-_0817DA48:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x3]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0x9
- movs r1, 0x2
- bl sub_817E684
- b _0817E0A6
- .pool
-_0817DA68:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r2, [r0]
- lsls r2, 2
- mov r1, r9
- lsls r4, r1, 1
- add r4, r9
- lsls r4, 3
- adds r2, r4
- adds r2, r7, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r2, 0x1]
- movs r0, 0x71
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- movs r0, 0x3
- mov r2, r10
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x3]
- movs r0, 0xD
- negs r0, r0
- b _0817DB76
- .pool
-_0817DACC:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r0
- adds r1, r7, r1
- ldrb r0, [r1, 0x1]
- lsls r0, 25
- lsrs r2, r0, 29
- cmp r2, 0
- bne _0817DAF0
- b _0817E0A6
-_0817DAF0:
- ldr r0, =gStringInfo
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0xAD
- bne _0817DAFC
- b _0817E0A6
-_0817DAFC:
- cmp r0, 0xD6
- bne _0817DB02
- b _0817E0A6
-_0817DB02:
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x3]
- lsls r3, 28
- lsrs r3, 30
- movs r0, 0x9
-_0817DB10:
- movs r1, 0x3
- bl sub_817E684
- b _0817E0A6
- .pool
-_0817DB24:
- ldr r5, =gBattlePartyID
- ldr r6, =gEffectBank
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r3, [r0]
- lsls r3, 2
- mov r2, r9
- lsls r4, r2, 1
- add r4, r9
- lsls r4, 3
- adds r3, r4
- adds r3, r7, r3
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 15
- ldr r1, [r3]
- ldr r2, =0xfffc7fff
- ands r1, r2
- orrs r1, r0
- str r1, [r3]
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r4
- adds r1, r7, r1
- movs r0, 0x3
- mov r2, r10
- ands r2, r0
- lsls r2, 4
- ldrb r3, [r1, 0x3]
- movs r0, 0x31
- negs r0, r0
-_0817DB76:
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x3]
- b _0817E0A6
- .pool
-_0817DB90:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r0
- adds r1, r7, r1
- ldr r0, [r1]
- lsls r0, 14
- lsrs r0, 29
- cmp r0, 0
- bne _0817DBB4
- b _0817E0A6
-_0817DBB4:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r1, 0x3]
- lsls r3, 26
- lsrs r3, 30
- movs r0, 0x9
-_0817DBC2:
- movs r1, 0x4
- bl sub_817E684
- b _0817E0A6
- .pool
-_0817DBD4:
- lsls r3, 3
- mov r1, r9
- lsls r0, r1, 4
- adds r3, r0
- adds r3, r7, r3
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- lsls r0, 15
- ldr r1, [r3, 0x30]
- ldr r2, =0xfffc7fff
- ands r1, r2
- orrs r1, r0
- str r1, [r3, 0x30]
- adds r3, 0x33
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 4
- ldrb r2, [r3]
- movs r0, 0x31
- negs r0, r0
-_0817DC0C:
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _0817E0A6
- .pool
-_0817DC20:
- mov r2, r8
- lsls r0, r2, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r3, r7, r0
- ldr r0, [r3, 0x30]
- lsls r0, 14
- lsrs r0, 29
- cmp r0, 0
- beq _0817DC4C
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r3, 0
- adds r0, 0x33
- ldrb r3, [r0]
- lsls r3, 26
- lsrs r3, 30
- movs r0, 0x9
- movs r1, 0x1
- bl sub_817E684
-_0817DC4C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- movs r2, 0x18
- b _0817E0A2
-_0817DC62:
- lsls r2, r6, 1
- adds r2, r6
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x50
- movs r0, 0x7
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x8
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x54
- b _0817DF9E
- .pool
-_0817DC98:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r4, r7, r0
- adds r0, r4, 0
- adds r0, 0x50
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r2, r0, 29
- cmp r2, 0
- bne _0817DCB2
- b _0817E0A6
-_0817DCB2:
- movs r0, 0x1
- eors r1, r0
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r0, 0x54
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0xA
- bl sub_817E684
- adds r2, r4, 0
- adds r2, 0x57
- ldrb r1, [r2]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r1
- movs r1, 0xE
- b _0817DFAC
-_0817DCDC:
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r3, r1, 0
- adds r3, 0x50
- ldrb r2, [r3]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- adds r1, 0x54
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- b _0817DF6A
-_0817DCFC:
- mov r0, r8
- lsls r2, r0, 3
- lsls r0, r4, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x34
- movs r0, 0x7
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x8
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x33
- mov r1, r10
- lsls r3, r1, 6
- b _0817DF0E
- .pool
-_0817DD38:
- mov r0, r8
- lsls r2, r0, 3
- lsls r0, r4, 4
- adds r2, r0
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r2, 0x34
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r2]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- mov r1, r10
- lsls r3, r1, 6
- movs r1, 0x3F
- b _0817DF12
- .pool
-_0817DD74:
- movs r0, 0
- bl sub_817EA80
-_0817DD7A:
- mov r2, r8
- lsls r0, r2, 3
- b _0817DD88
-_0817DD80:
- movs r0, 0x1
- bl sub_817EA80
- lsls r0, r5, 3
-_0817DD88:
- lsls r1, r4, 4
- adds r0, r1
- adds r1, r7, r0
- adds r4, r1, 0
- adds r4, 0x34
- ldrb r5, [r4]
- lsls r0, r5, 29
- cmp r0, 0
- beq _0817DDAE
- movs r0, 0x8
- negs r0, r0
- ands r0, r5
- strb r0, [r4]
- adds r2, r1, 0
- adds r2, 0x33
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
-_0817DDAE:
- ldrb r1, [r4]
- lsls r0, r1, 26
- lsrs r0, 29
- cmp r0, 0
- bne _0817DDBA
- b _0817E0A6
-_0817DDBA:
- movs r0, 0x39
- negs r0, r0
- ands r0, r1
- movs r1, 0x3F
- ands r0, r1
- strb r0, [r4]
- b _0817E0A6
-_0817DDC8:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x50
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r4]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x54
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0xD
- negs r0, r0
- b _0817DFAA
- .pool
-_0817DE10:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x50
- movs r0, 0x7
- ands r1, r0
- lsls r1, 6
- ldrh r3, [r4]
- ldr r0, =0xfffffe3f
- ands r0, r3
- orrs r0, r1
- strh r0, [r4]
- adds r2, 0x54
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r2]
- movs r0, 0x31
- negs r0, r0
- b _0817DFAA
- .pool
-_0817DE58:
- ldr r1, =gBattleTextBuff1 + 2
- ldrh r0, [r1]
- cmp r0, 0x73
- bne _0817DE82
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r3, r1, 0
- adds r3, 0x50
- ldrb r2, [r3]
- movs r0, 0x39
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- adds r1, 0x54
- ldrb r2, [r1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0817DE82:
- ldr r2, =gBattleTextBuff1 + 2
- ldrh r0, [r2]
- cmp r0, 0x71
- bne _0817DEAA
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r3, r1, 0
- adds r3, 0x50
- ldrh r2, [r3]
- ldr r0, =0xfffffe3f
- ands r0, r2
- strh r0, [r3]
- adds r1, 0x54
- ldrb r2, [r1]
- movs r0, 0x31
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0817DEAA:
- ldr r1, =gBattleTextBuff1 + 2
- ldrh r0, [r1]
- cmp r0, 0x36
- beq _0817DEB4
- b _0817E0A6
-_0817DEB4:
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r4, r1, 0
- adds r4, 0x51
- ldrb r2, [r4]
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- strb r0, [r4]
- adds r1, 0x55
- ldrb r2, [r1]
- movs r0, 0x4
- negs r0, r0
- b _0817DF6A
- .pool
-_0817DEDC:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x51
- movs r0, 0x7
- ands r1, r0
- lsls r1, 1
- ldrb r3, [r4]
- movs r0, 0xF
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x54
-_0817DF0A:
- mov r0, r10
- lsls r3, r0, 6
-_0817DF0E:
- ldrb r1, [r2]
- movs r0, 0x3F
-_0817DF12:
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- b _0817E0A6
- .pool
-_0817DF24:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x51
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 29
- cmp r0, 0
- bne _0817DF3C
- b _0817E0A6
-_0817DF3C:
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x54
- ldrb r3, [r0]
- lsrs r3, 6
- movs r0, 0xF
- b _0817E086
-_0817DF4E:
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r7, r1
- adds r4, r1, 0
- adds r4, 0x51
- ldrb r2, [r4]
- movs r0, 0xF
- negs r0, r0
- ands r0, r2
- strb r0, [r4]
- adds r1, 0x54
- ldrb r2, [r1]
- movs r0, 0x3F
-_0817DF6A:
- ands r0, r2
- strb r0, [r1]
- b _0817E0A6
-_0817DF70:
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- adds r2, r7, r2
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x51
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- ldrb r3, [r4]
- movs r0, 0x71
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- adds r2, 0x55
-_0817DF9E:
- movs r0, 0x3
- mov r1, r10
- ands r1, r0
- ldrb r3, [r2]
- movs r0, 0x4
- negs r0, r0
-_0817DFAA:
- ands r0, r3
-_0817DFAC:
- orrs r0, r1
- strb r0, [r2]
- b _0817E0A6
- .pool
-_0817DFBC:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r1, 0
- adds r0, 0x51
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 29
- cmp r0, 0
- beq _0817E0A6
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0x10
- b _0817E086
-_0817DFE6:
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 2
- adds r1, r7, r1
- adds r3, r1, 0
- adds r3, 0x50
- ldrb r2, [r3]
- movs r0, 0x39
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- adds r1, 0x54
- ldrb r2, [r1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrh r2, [r3]
- ldr r0, =0xfffffe3f
- ands r0, r2
- strh r0, [r3]
- ldrb r2, [r1]
- movs r0, 0x31
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r2, [r0]
- movs r0, 0x11
- movs r1, 0
- mov r3, r10
- bl sub_817E684
- b _0817E0A6
- .pool
-_0817E040:
- lsls r0, r4, 4
- adds r4, r7, r0
- adds r0, r4, 0
- adds r0, 0x35
- ldrb r0, [r0]
- lsrs r0, 5
- cmp r0, 0
- beq _0817E068
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r0, 0x36
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0x15
- movs r1, 0
- bl sub_817E684
-_0817E068:
- adds r0, r4, 0
- adds r0, 0x3D
- ldrb r0, [r0]
- lsrs r0, 5
- cmp r0, 0
- beq _0817E0A6
- subs r2, r0, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r3, [r0]
- lsls r3, 30
- lsrs r3, 30
- movs r0, 0x15
-_0817E086:
- movs r1, 0
- bl sub_817E684
- b _0817E0A6
-_0817E08E:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- movs r2, 0x1C
-_0817E0A2:
- orrs r1, r2
-_0817E0A4:
- strb r1, [r0]
-_0817E0A6:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_817C95C
-
- thumb_func_start sub_817E0B8
-sub_817E0B8: @ 817E0B8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0
- ldr r4, =gUnknown_0860A8A4
- ldr r6, =0x0000ffff
- adds r2, r4, 0
- adds r1, r4, 0
-_0817E0C8:
- ldrh r0, [r1]
- cmp r0, r5
- beq _0817E0DA
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r2]
- cmp r0, r6
- bne _0817E0C8
-_0817E0DA:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0817E0F4
- movs r0, 0
- b _0817E0F6
- .pool
-_0817E0F4:
- movs r0, 0x1
-_0817E0F6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_817E0B8
-
- thumb_func_start sub_817E0FC
-sub_817E0FC: @ 817E0FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r2, [sp, 0x4]
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0817E122
- b _0817E310
-_0817E122:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 2
- adds r1, r0, r1
- str r1, [sp, 0x8]
- ldr r2, =gBankAttacker
- mov r10, r2
- ldrb r0, [r2]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r10
- ldrb r0, [r1]
- adds r1, r7, 0
- bl GetBankMoveSlotId
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0817E184
- mov r2, r9
- lsls r0, r2, 1
- add r0, r9
- lsls r0, 2
- ldr r1, [sp, 0x8]
- adds r0, r1, r0
- adds r0, 0x57
- ldrb r1, [r0]
- movs r2, 0x1E
- orrs r1, r2
- strb r1, [r0]
- b _0817E310
- .pool
-_0817E184:
- mov r2, r10
- ldrb r0, [r2]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- lsls r0, 3
- lsls r4, 4
- adds r0, r4
- ldr r1, [sp, 0x8]
- adds r0, r1, r0
- mov r2, r10
- ldrb r1, [r2]
- lsls r1, 1
- ldr r2, =gBattlePartyID
- adds r1, r2
- ldrh r2, [r1]
- adds r2, 0x1
- adds r0, 0x35
- lsls r2, 5
- ldrb r3, [r0]
- movs r1, 0x1F
- ands r1, r3
- orrs r1, r2
- strb r1, [r0]
- mov r1, r10
- ldrb r0, [r1]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- lsls r0, 3
- adds r0, r4
- ldr r2, [sp, 0x8]
- adds r0, r2, r0
- adds r0, 0x36
- movs r1, 0x3
- mov r8, r6
- mov r2, r8
- ands r2, r1
- mov r8, r2
- ldrb r2, [r0]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- mov r2, r8
- orrs r1, r2
- strb r1, [r0]
- mov r1, r9
- lsls r0, r1, 1
- add r0, r9
- lsls r0, 2
- ldr r2, [sp, 0x8]
- adds r0, r2, r0
- str r0, [sp, 0xC]
- adds r5, r0, 0
- adds r5, 0x53
- lsls r2, r6, 6
- ldrb r1, [r5]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r2
- strb r0, [r5]
- ldr r1, =gBattleMoves
- lsls r4, r7, 1
- adds r0, r4, r7
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- movs r0, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_817E684
- ldr r0, [sp]
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_817F394
- ldr r0, [sp, 0x4]
- ldrb r1, [r0, 0x12]
- movs r0, 0xF
- ands r0, r1
- str r4, [sp, 0x10]
- cmp r0, 0
- beq _0817E23C
- movs r0, 0x7
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0
- bl sub_817E684
-_0817E23C:
- ldr r0, =0x00000111
- cmp r7, r0
- bne _0817E272
- mov r1, r10
- ldrb r0, [r1]
- lsls r0, 1
- ldr r2, =gBattlePartyID
- adds r0, r2
- ldrh r1, [r0]
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- ldrb r2, [r5]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r2, [sp, 0xC]
- adds r2, 0x56
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_0817E272:
- cmp r7, 0x78
- beq _0817E27A
- cmp r7, 0x99
- bne _0817E2D2
-_0817E27A:
- movs r0, 0x1
- mov r2, r9
- eors r0, r2
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, [sp, 0x8]
- adds r2, r0, r2
- mov r1, r10
- ldrb r0, [r1]
- lsls r0, 1
- ldr r1, =gBattlePartyID
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- adds r4, r2, 0
- adds r4, 0x58
- movs r0, 0x7
- ands r1, r0
- lsls r1, 3
- ldrb r3, [r4]
- movs r0, 0x39
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- mov r1, r8
- lsls r3, r1, 1
- movs r1, 0x7
- negs r1, r1
- ands r0, r1
- orrs r0, r3
- strb r0, [r4]
- adds r2, 0x57
- ldrb r1, [r2]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r1
- movs r1, 0x1A
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
-_0817E2D2:
- ldr r1, =gBattleMoves
- ldr r2, [sp, 0x10]
- adds r0, r2, r7
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x2]
- ldrb r5, [r0, 0x1]
- movs r0, 0xD
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_817E684
- movs r0, 0xE
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_817E684
- movs r0, 0xB
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_817E684
- movs r0, 0xC
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_817E684
-_0817E310:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817E0FC
-
- thumb_func_start sub_817E32C
-sub_817E32C: @ 817E32C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0817E3EE
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 2
- adds r4, r0, r1
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r5, 0x12
- beq _0817E36C
- cmp r5, 0x13
- beq _0817E3AA
- b _0817E3EE
- .pool
-_0817E36C:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- ldr r0, [r4, 0x50]
- lsls r0, 14
- lsrs r0, 29
- cmp r0, 0
- beq _0817E3EE
- subs r0, 0x1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x55
- ldrb r3, [r1]
- lsls r3, 28
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r1, 0
- bl sub_817E684
- adds r2, r4, 0
- adds r2, 0x57
- ldrb r1, [r2]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- b _0817E3EA
-_0817E3AA:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x52
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 29
- cmp r0, 0
- beq _0817E3EE
- subs r0, 0x1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x55
- ldrb r3, [r1]
- lsls r3, 26
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r1, 0x1
- bl sub_817E684
- adds r2, r4, 0
- adds r2, 0x57
- ldrb r1, [r2]
- movs r0, 0x1F
- negs r0, r0
- ands r0, r1
- movs r1, 0x12
-_0817E3EA:
- orrs r0, r1
- strb r0, [r2]
-_0817E3EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817E32C
-
- thumb_func_start sub_817E3F4
-sub_817E3F4: @ 817E3F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- movs r0, 0
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- ldr r3, =0x00007fff
- str r3, [sp, 0xC]
- movs r4, 0
- str r4, [sp, 0x10]
- movs r7, 0
- str r7, [sp, 0x14]
- mov r8, r0
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xB3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0817E42A
- b _0817E670
-_0817E42A:
- movs r2, 0xD2
- lsls r2, 1
- adds r2, r1
- mov r10, r2
- movs r6, 0
-_0817E434:
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, =gPlayerParty
- adds r0, r4, r0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0817E454
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_0817E454:
- ldr r5, =gEnemyParty
- adds r0, r4, r5
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0817E46A
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0817E46A:
- adds r6, 0x1
- cmp r6, 0x5
- ble _0817E434
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0817E47E
- b _0817E670
-_0817E47E:
- cmp r8, r7
- beq _0817E484
- b _0817E670
-_0817E484:
- movs r6, 0
- lsls r3, r6, 1
- str r3, [sp, 0x18]
- movs r4, 0x64
- mov r8, r4
-_0817E48E:
- mov r1, r8
- muls r1, r6
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r6, 0x1
- mov r9, r0
- cmp r7, 0
- beq _0817E4EE
- adds r0, r4, 0
- movs r1, 0x2D
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817E4EE
- movs r4, 0
- lsls r0, r6, 3
- mov r2, r10
- adds r1, r0, r2
- movs r3, 0x3
-_0817E4C4:
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r4, [r1]
- adds r0, r4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0817E4C4
- ldr r1, [sp, 0x8]
- lsls r0, r1, 16
- lsls r1, r4, 16
- cmp r0, r1
- bge _0817E4EE
- lsls r0, r6, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsrs r1, 16
- str r1, [sp, 0x8]
- str r7, [sp]
-_0817E4EE:
- mov r0, r8
- muls r0, r6
- ldr r2, =gEnemyParty
- adds r4, r0, r2
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r3, [sp, 0x8]
- lsls r3, 16
- str r3, [sp, 0x1C]
- cmp r7, 0
- beq _0817E5A0
- adds r0, r4, 0
- movs r1, 0x2D
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0817E5A0
- movs r4, 0
- ldr r0, [sp, 0xC]
- lsls r2, r0, 16
- movs r3, 0x1
- lsls r1, r3, 1
- adds r1, 0x1
- lsls r1, 4
- lsls r0, r6, 3
- adds r0, r1
- mov r3, r10
- adds r1, r0, r3
- movs r3, 0x3
-_0817E534:
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r4, [r1]
- adds r0, r4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0817E534
- asrs r1, r2, 16
- lsls r5, r4, 16
- asrs r0, r5, 16
- cmp r1, r0
- bne _0817E590
- mov r0, r8
- muls r0, r6
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- ldr r2, [sp, 0x14]
- mov r0, r8
- muls r0, r2
- ldr r3, =gEnemyParty
- adds r0, r3
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bls _0817E5A0
- b _0817E594
- .pool
-_0817E590:
- cmp r1, r0
- ble _0817E5A0
-_0817E594:
- lsls r0, r6, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- lsrs r5, 16
- str r5, [sp, 0xC]
- str r7, [sp, 0x4]
-_0817E5A0:
- mov r6, r9
- cmp r6, 0x5
- bgt _0817E5A8
- b _0817E48E
-_0817E5A8:
- movs r4, 0
- movs r6, 0
- movs r3, 0
- ldr r5, =gPlayerParty
- ldr r7, [sp, 0x10]
- lsls r0, r7, 3
- mov r1, r10
- adds r2, r0, r1
-_0817E5B8:
- lsls r0, r4, 16
- asrs r0, 16
- movs r7, 0
- ldrsh r1, [r2, r7]
- cmp r0, r1
- bge _0817E5C8
- ldrh r4, [r2]
- adds r6, r3, 0
-_0817E5C8:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _0817E5B8
- movs r0, 0x64
- ldr r1, [sp, 0x10]
- muls r0, r1
- adds r0, r5
- adds r1, r6, 0
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r2, [sp, 0x1C]
- cmp r2, 0
- beq _0817E670
- cmp r4, 0
- beq _0817E670
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0817E65C
- ldr r3, [sp, 0x10]
- cmp r3, 0x2
- bhi _0817E620
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r0, [r0]
- bl sub_806D82C
- lsls r0, 16
- cmp r0, 0
- beq _0817E630
- b _0817E670
- .pool
-_0817E620:
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r0, [r0]
- bl sub_806D82C
- lsls r0, 16
- cmp r0, 0
- beq _0817E670
-_0817E630:
- movs r3, 0
- ldr r7, [sp, 0x14]
- cmp r7, 0x2
- bls _0817E63A
- movs r3, 0x1
-_0817E63A:
- lsls r0, r3, 24
- lsrs r0, 24
- ldr r1, =gBattleScripting
- adds r1, 0x25
- ldrb r1, [r1]
- bl sub_806EF84
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- bl PutBattleUpdateOnTheAir
- b _0817E670
- .pool
-_0817E65C:
- ldr r0, =gBattleScripting
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- adds r1, r4, 0
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- bl PutBattleUpdateOnTheAir
-_0817E670:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817E3F4
-
- thumb_func_start sub_817E684
-sub_817E684: @ 817E684
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 1
- adds r1, r0
- mov r8, r1
- movs r2, 0x81
- lsls r2, 2
- adds r7, r0, r2
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r10
- cmp r0, 0x1B
- bls _0817E6D4
- b _0817EA6C
-_0817E6D4:
- lsls r0, 2
- ldr r1, =_0817E6F0
- adds r1, r0, r1
- ldr r1, [r1]
- mov r12, r0
- mov pc, r1
- .pool
- .align 2, 0
-_0817E6F0:
- .4byte _0817E760
- .4byte _0817E760
- .4byte _0817E85C
- .4byte _0817E79C
- .4byte _0817E79C
- .4byte _0817E79C
- .4byte _0817E79C
- .4byte _0817E79C
- .4byte _0817E8A0
- .4byte _0817E8A0
- .4byte _0817E8CC
- .4byte _0817E8F0
- .4byte _0817E978
- .4byte _0817E9E0
- .4byte _0817EA28
- .4byte _0817E8A0
- .4byte _0817E8A0
- .4byte _0817E880
- .4byte _0817E760
- .4byte _0817E80A
- .4byte _0817E848
- .4byte _0817E8A0
- .4byte _0817E760
- .4byte _0817E760
- .4byte _0817E760
- .4byte _0817E760
- .4byte _0817E760
- .4byte _0817E760
-_0817E760:
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- adds r1, r6
- lsls r1, 1
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r2, [r0]
- lsls r0, r5, 1
- adds r0, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817E79C:
- ldr r1, =gUnknown_0860A834
- add r1, r12
- ldr r7, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r4
- lsls r2, r0, 4
- ldr r4, =0x0000ffff
- ldr r1, [r1]
- ldr r3, =gBankAttacker
- ldrh r0, [r1]
- cmp r6, r0
- bne _0817E7E0
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r5
- lsls r0, 1
- adds r0, r2
- add r0, r8
- ldrh r1, [r1, 0x2]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- b _0817EA6C
- .pool
-_0817E7E0:
- adds r1, 0x4
- ldrh r0, [r1]
- cmp r0, r4
- bne _0817E7EA
- b _0817EA6C
-_0817E7EA:
- cmp r6, r0
- bne _0817E7E0
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r5
- lsls r0, 1
- adds r0, r2
- add r0, r8
- ldrh r1, [r1, 0x2]
- ldrh r5, [r0]
- adds r1, r5
- strh r1, [r0]
- b _0817EA6C
-_0817E80A:
- movs r0, 0x1
- adds r1, r5, 0
- eors r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- mov r0, r9
- lsls r1, r0, 1
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r2, [r0]
- lsls r0, r6, 1
- adds r0, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817E848:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r7, r0
- adds r0, 0x57
- ldrb r2, [r0]
- movs r1, 0x1F
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_0817E85C:
- mov r0, r9
- lsls r1, r0, 1
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r2, [r0]
- lsls r0, r6, 1
- adds r0, r2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817E880:
- lsls r1, r5, 2
- add r1, r9
- lsls r1, 1
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r2, [r0]
- lsls r0, r6, 1
- adds r0, r2
- b _0817EA64
- .pool
-_0817E8A0:
- lsls r2, r5, 2
- add r2, r9
- lsls r2, 1
- movs r1, 0x1
- eors r1, r4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r2, r0
- add r2, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r1, [r0]
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- b _0817EA6C
- .pool
-_0817E8CC:
- lsls r1, r5, 2
- add r1, r9
- lsls r1, 1
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817E8F0:
- lsls r0, r3, 4
- adds r2, r7, r0
- adds r0, r2, 0
- adds r0, 0x34
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r1, r0, 29
- adds r4, r2, 0
- adds r4, 0x3C
- ldrb r0, [r4]
- lsls r0, 29
- lsrs r0, 29
- cmn r1, r0
- bne _0817E90E
- b _0817EA6C
-_0817E90E:
- cmp r6, 0xA
- beq _0817E914
- b _0817EA6C
-_0817E914:
- cmp r1, 0
- beq _0817E940
- subs r1, 0x1
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x33
- ldrb r0, [r0]
- lsrs r0, 6
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
- ldrh r0, [r0]
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
-_0817E940:
- ldrb r0, [r4]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0
- bne _0817E94C
- b _0817EA6C
-_0817E94C:
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x3B
- ldrb r0, [r0]
- lsrs r0, 6
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817E978:
- lsls r1, r3, 4
- adds r1, r7, r1
- adds r0, r1, 0
- adds r0, 0x34
- ldrb r4, [r0]
- lsls r0, r4, 26
- lsrs r2, r0, 29
- adds r5, r1, 0
- adds r5, 0x3C
- ldrb r0, [r5]
- lsls r0, 26
- lsrs r0, 29
- cmn r2, r0
- beq _0817EA6C
- cmp r6, 0xD
- bne _0817EA6C
- cmp r2, 0
- beq _0817E9BE
- subs r1, r2, 0x1
- lsls r1, 2
- lsrs r0, r4, 6
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
-_0817E9BE:
- ldrb r2, [r5]
- lsls r0, r2, 26
- lsrs r0, 29
- cmp r0, 0
- beq _0817EA6C
- subs r1, r0, 0x1
- lsls r1, 2
- lsrs r0, r2, 6
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 4
- b _0817EA5A
- .pool
-_0817E9E0:
- cmp r6, 0x8
- bhi _0817EA6C
- cmp r5, 0
- beq _0817EA6C
- lsls r0, r3, 1
- adds r3, r0, r3
- lsls r0, r3, 2
- adds r2, r7, r0
- adds r0, r2, 0
- adds r0, 0x50
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 29
- cmp r0, 0
- beq _0817EA6C
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 30
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 4
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- b _0817EA6A
- .pool
-_0817EA28:
- cmp r6, 0x8
- bls _0817EA6C
- cmp r5, 0
- beq _0817EA6C
- lsls r0, r3, 1
- adds r3, r0, r3
- lsls r0, r3, 2
- adds r2, r7, r0
- adds r0, r2, 0
- adds r0, 0x50
- ldrh r0, [r0]
- lsls r0, 23
- lsrs r0, 29
- cmp r0, 0
- beq _0817EA6C
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 30
- adds r1, r0
- lsls r1, 1
- lsls r0, r3, 4
-_0817EA5A:
- adds r1, r0
- add r1, r8
- ldr r0, =gUnknown_0860A834
- add r0, r12
- ldr r0, [r0]
-_0817EA64:
- ldrh r0, [r0]
- ldrh r5, [r1]
- adds r0, r5
-_0817EA6A:
- strh r0, [r1]
-_0817EA6C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817E684
-
- thumb_func_start sub_817EA80
-sub_817EA80: @ 817EA80
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0x81
- lsls r1, 2
- adds r5, r0, r1
- ldr r3, =gBankAttacker
- mov r8, r3
- ldrb r0, [r3]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r6, r5, r0
- adds r0, r6, 0
- adds r0, 0x57
- ldrb r0, [r0]
- lsrs r3, r0, 5
- lsls r0, 27
- lsrs r0, 28
- cmp r0, 0
- bne _0817EAC8
- b _0817EE50
-_0817EAC8:
- subs r0, 0x1
- cmp r0, 0xE
- bls _0817EAD0
- b _0817EEBC
-_0817EAD0:
- lsls r0, 2
- ldr r1, =_0817EAEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817EAEC:
- .4byte _0817EB28
- .4byte _0817EB54
- .4byte _0817EB80
- .4byte _0817EBD4
- .4byte _0817EBFE
- .4byte _0817EC26
- .4byte _0817EC4E
- .4byte _0817EC6C
- .4byte _0817EC9A
- .4byte _0817ECCC
- .4byte _0817ED54
- .4byte _0817ED82
- .4byte _0817EDC2
- .4byte _0817EE1C
- .4byte _0817EEBC
-_0817EB28:
- lsls r0, r3, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x30
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EB40
- b _0817EEBC
-_0817EB40:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r1, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsls r3, 28
- b _0817EE84
-_0817EB54:
- lsls r0, r3, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x30
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EB6C
- b _0817EEBC
-_0817EB6C:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r1, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsls r3, 26
- b _0817EE84
-_0817EB80:
- lsls r0, r3, 2
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r0, r1
- adds r5, r0
- ldrb r0, [r5]
- lsls r0, 29
- lsrs r1, r0, 29
- cmp r1, 0
- beq _0817EBB4
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r0, r1, 0x1
- lsls r0, 2
- ldrb r3, [r5, 0x2]
- lsls r3, 28
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x13
- movs r1, 0
- bl sub_817E684
-_0817EBB4:
- ldrb r0, [r5]
- lsls r0, 26
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EBC0
- b _0817EEBC
-_0817EBC0:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r0, r1, 0x1
- lsls r0, 2
- ldrb r3, [r5, 0x2]
- lsls r3, 26
- lsrs r3, 30
- adds r3, r0
- b _0817EE88
-_0817EBD4:
- lsls r0, r3, 2
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r0, r1
- adds r1, r5, r0
- ldrh r0, [r1]
- lsls r0, 23
- lsrs r3, r0, 29
- cmp r3, 0
- bne _0817EBEC
- b _0817EEBC
-_0817EBEC:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r0, r3, 0x1
- lsls r0, 2
- ldrb r3, [r1, 0x2]
- lsrs r3, 6
- adds r3, r0
- b _0817EE88
-_0817EBFE:
- lsls r0, r3, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r3, r5, r0
- ldrh r0, [r3, 0x30]
- lsls r0, 23
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EC12
- b _0817EEBC
-_0817EC12:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r1, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x32
- ldrb r3, [r0]
- lsrs r3, 6
- b _0817EE86
-_0817EC26:
- lsls r0, r3, 3
- lsls r1, r4, 4
- adds r0, r1
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x31
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EC3E
- b _0817EEBC
-_0817EC3E:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r1, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x33
- b _0817EE80
-_0817EC4E:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x50
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r1, r0, 29
- cmp r1, 0
- bne _0817EC66
- b _0817EEBC
-_0817EC66:
- movs r0, 0x1
- adds r2, r4, 0
- b _0817EE76
-_0817EC6C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r3, r5, r0
- ldr r0, [r3, 0x50]
- lsls r0, 14
- lsrs r0, 29
- cmp r0, 0
- bne _0817EC80
- b _0817EEBC
-_0817EC80:
- adds r2, r4, 0
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x55
- ldrb r3, [r0]
- lsls r3, 28
- lsrs r3, 30
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x14
- b _0817EE8E
-_0817EC9A:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x52
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 29
- cmp r0, 0
- bne _0817ECB2
- b _0817EEBC
-_0817ECB2:
- adds r2, r4, 0
- subs r1, r0, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x55
- ldrb r3, [r0]
- lsls r3, 26
- lsrs r3, 30
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x14
- b _0817EE8E
-_0817ECCC:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _0817ED14
- adds r0, r3, 0
- adds r0, 0x52
- ldrb r0, [r0]
- lsrs r0, 5
- subs r6, r0, 0x1
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- beq _0817ED14
- adds r2, r4, 0
- lsls r1, r6, 2
- adds r0, r3, 0
- adds r0, 0x55
- ldrb r3, [r0]
- lsrs r3, 6
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x13
- movs r1, 0
- bl sub_817E684
-_0817ED14:
- movs r1, 0x1
- eors r1, r4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r5, r0
- adds r0, r1, 0
- adds r0, 0x58
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _0817ED2E
- b _0817EEBC
-_0817ED2E:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- adds r0, r1, 0
- adds r0, 0x52
- ldrb r0, [r0]
- lsrs r0, 5
- subs r0, 0x1
- lsls r0, 2
- adds r1, 0x55
- ldrb r3, [r1]
- lsrs r3, 6
- adds r3, r0
- b _0817EE88
- .pool
-_0817ED54:
- movs r0, 0x1
- eors r0, r4
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5, r1
- adds r1, 0x56
- ldrb r0, [r1]
- lsls r0, 25
- lsrs r5, r0, 29
- cmp r5, 0
- bne _0817ED6E
- b _0817EEBC
-_0817ED6E:
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- subs r0, r5, 0x1
- lsls r0, 2
- ldrh r3, [r1]
- lsls r3, 23
- lsrs r3, 30
- adds r3, r0
- b _0817EE88
-_0817ED82:
- lsls r2, r4, 4
- movs r1, 0x1
- adds r0, r4, 0
- eors r0, r1
- lsls r6, r0, 24
- adds r0, r5, 0
- adds r0, 0x30
- adds r4, r2, r0
- movs r5, 0x1
-_0817ED94:
- ldr r0, [r4]
- lsls r0, 14
- lsrs r0, 29
- cmp r0, 0
- beq _0817EDB8
- subs r0, 0x1
- lsls r0, 2
- ldrb r3, [r4, 0x3]
- lsls r3, 26
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x13
- movs r1, 0
- lsrs r2, r6, 24
- bl sub_817E684
-_0817EDB8:
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _0817ED94
- b _0817EEBC
-_0817EDC2:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r5, r0
- adds r0, 0x58
- ldrb r3, [r0]
- lsls r0, r3, 31
- cmp r0, 0
- beq _0817EDF0
- adds r2, r4, 0
- lsls r0, r3, 26
- lsrs r0, 29
- subs r0, 0x1
- lsls r0, 2
- lsls r3, 29
- lsrs r3, 30
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x13
- movs r1, 0
- bl sub_817E684
-_0817EDF0:
- movs r0, 0x1
- eors r0, r4
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5, r1
- adds r1, 0x58
- ldrb r1, [r1]
- lsls r0, r1, 31
- cmp r0, 0
- beq _0817EEBC
- movs r0, 0x1
- adds r2, r4, 0
- eors r2, r0
- lsls r0, r1, 26
- lsrs r0, 29
- subs r0, 0x1
- lsls r0, 2
- lsls r3, r1, 29
- lsrs r3, 30
- adds r3, r0
- b _0817EE88
-_0817EE1C:
- cmp r7, 0x1
- bne _0817EEBC
- adds r2, r4, 0
- ldr r1, =gBattlePartyID
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r5, r0
- adds r0, 0x53
- ldrb r3, [r0]
- lsrs r3, 6
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x14
- b _0817EE8E
- .pool
-_0817EE50:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r5, r0
- adds r0, r3, 0
- adds r0, 0x57
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 28
- cmp r0, 0x7
- bne _0817EE96
- adds r0, r3, 0
- adds r0, 0x50
- ldrb r0, [r0]
- lsls r0, 29
- lsrs r1, r0, 29
- cmp r1, 0
- beq _0817EEBC
- movs r0, 0x1
-_0817EE76:
- eors r2, r0
- subs r1, 0x1
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x54
-_0817EE80:
- ldrb r3, [r0]
- lsls r3, 30
-_0817EE84:
- lsrs r3, 30
-_0817EE86:
- adds r3, r1
-_0817EE88:
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x13
-_0817EE8E:
- movs r1, 0
- bl sub_817E684
- b _0817EEBC
-_0817EE96:
- adds r2, r4, 0
- ldr r1, =gBattlePartyID
- mov r3, r8
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 2
- adds r0, r6, 0
- adds r0, 0x53
- ldrb r3, [r0]
- lsrs r3, 6
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x14
- movs r1, 0
- bl sub_817E684
-_0817EEBC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817EA80
-
- thumb_func_start sub_817EECC
-sub_817EECC: @ 817EECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- ldr r7, =gBattleTypeFlags
- ldr r0, [r7]
- ldr r1, =0x02000003
- ands r0, r1
- cmp r0, 0
- beq _0817EEE6
- b _0817F1FA
-_0817EEE6:
- ldr r4, =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0817EEF8
- b _0817F1FA
-_0817EEF8:
- ldr r5, =gBattleMons
- ldrb r4, [r4]
- movs r1, 0x58
- adds r6, r4, 0
- muls r6, r1
- adds r0, r6, r5
- ldrb r0, [r0, 0x1E]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bgt _0817EF10
- b _0817F1FA
-_0817EF10:
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r1
- adds r0, r5
- ldrb r0, [r0, 0x1F]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _0817EF24
- b _0817F1FA
-_0817EF24:
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- cmp r1, 0xED
- bne _0817EF2E
- b _0817F1FA
-_0817EF2E:
- ldr r0, =0x00000137
- cmp r1, r0
- bne _0817EF36
- b _0817F1FA
-_0817EF36:
- ldr r0, [r7]
- movs r1, 0xC8
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- beq _0817EF44
- b _0817F1FA
-_0817EF44:
- ldr r3, =gBattleMoves
- ldr r2, =gMoveSelectionCursor
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r6
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r6, r2, 0
- cmp r0, 0
- bne _0817EF6A
- b _0817F1FA
-_0817EF6A:
- movs r5, 0
- str r1, [sp, 0x24]
- ldr r1, =gUnknown_0860A4AC
- ldr r4, =0x0000ffff
- adds r3, r1, 0
- adds r2, r1, 0
-_0817EF76:
- ldr r0, [sp, 0x24]
- ldrh r7, [r2]
- cmp r0, r7
- beq _0817EF8A
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x1
- ldrh r0, [r3]
- cmp r0, r4
- bne _0817EF76
-_0817EF8A:
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0817EF98
- b _0817F1FA
-_0817EF98:
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 2
- mov r1, sp
- adds r1, r0
- adds r1, 0x10
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- str r1, [sp, 0x24]
- movs r5, 0
- add r3, sp, 0x20
- mov r10, r3
- mov r8, r0
- add r7, sp, 0x10
- ldr r4, =gBankTarget
- mov r9, r4
-_0817EFC2:
- lsls r1, r5, 1
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- movs r2, 0x58
- muls r0, r2
- adds r1, r0
- ldr r0, =gBattleMons
- adds r0, 0xC
- adds r1, r0
- ldrh r0, [r1]
- mov r3, r8
- strh r0, [r3]
- movs r6, 0
- mov r4, r10
- strh r6, [r4]
- ldrh r0, [r3]
- adds r1, r7, 0
- mov r2, r10
- bl sub_817F21C
- lsls r0, 24
- cmp r0, 0
- beq _0817F0B4
- ldr r4, =gSideAffecting
- mov r1, r9
- ldrb r0, [r1]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- movs r4, 0x58
- muls r0, r4
- ldr r6, =gBattleMons
- adds r0, r6
- mov r2, r9
- ldrb r1, [r2]
- muls r1, r4
- adds r1, r6
- mov r4, r8
- ldrh r2, [r4]
- mov r6, r10
- ldrh r4, [r6]
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r6, =gBankAttacker
- ldrb r4, [r6]
- str r4, [sp, 0x8]
- mov r6, r9
- ldrb r4, [r6]
- str r4, [sp, 0xC]
- bl CalculateBaseDamage
- adds r3, r0, 0
- ldr r4, =gBattleMoveDamage
- str r3, [r4]
- ldr r1, =gStatuses3
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _0817F06A
- ldr r2, =gBattleMoves
- mov r6, r8
- ldrh r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0xD
- bne _0817F06A
- lsls r0, r3, 1
- str r0, [r4]
-_0817F06A:
- ldr r0, =gProtectStructs
- ldr r6, =gBankAttacker
- ldrb r1, [r6]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 28
- cmp r0, 0
- bge _0817F08C
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- lsls r0, r1, 4
- subs r0, r1
- movs r1, 0xA
- bl __divsi3
- str r0, [r4]
-_0817F08C:
- mov r1, r8
- ldrh r0, [r1]
- ldrb r1, [r6]
- mov r3, r9
- ldrb r2, [r3]
- bl TypeCalc
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- str r0, [r7]
- cmp r0, 0
- bne _0817F0B4
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _0817F0B4
- movs r0, 0x1
- str r0, [r7]
-_0817F0B4:
- adds r7, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- ble _0817EFC2
- movs r5, 0
- ldr r3, =gBankAttacker
- ldr r6, =gMoveSelectionCursor
- ldr r4, =gBattlePartyID
- mov r8, r4
- movs r7, 0x64
- mov r9, r7
- mov r10, r6
-_0817F0CC:
- ldrb r0, [r3]
- adds r0, r6
- ldrb r2, [r0]
- cmp r5, r2
- bne _0817F0D8
- b _0817F1D4
-_0817F0D8:
- lsls r0, r5, 2
- mov r1, sp
- adds r1, r0
- adds r1, 0x10
- lsls r0, r2, 2
- add r0, sp
- adds r0, 0x10
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- ble _0817F1D4
- movs r7, 0x1
- cmp r2, 0
- beq _0817F0F6
- movs r7, 0
-_0817F0F6:
- movs r5, 0
- ldr r4, =gBankTarget
- ldr r6, =gEnemyParty
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- add r0, r10
- ldrb r3, [r0]
- add r2, sp, 0x10
-_0817F106:
- cmp r5, r3
- beq _0817F11A
- lsls r0, r7, 2
- add r0, sp
- adds r0, 0x10
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- ble _0817F11A
- adds r7, r5, 0
-_0817F11A:
- adds r2, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- ble _0817F106
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- ldr r2, =gBankAttacker
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r8
- ldrh r0, [r0]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gBankAttacker
- ldrb r3, [r4]
- mov r2, r10
- adds r0, r3, r2
- ldrb r2, [r0]
- movs r0, 0x58
- adds r4, r3, 0
- muls r4, r0
- ldr r5, =gBattleMons + 0xC
- adds r3, r4, r5
- lsls r0, r7, 1
- adds r0, r4
- adds r0, r5
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r6, 0
- bl sub_80EE35C
- b _0817F1DC
- .pool
-_0817F1D4:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0817F1DC
- b _0817F0CC
-_0817F1DC:
- ldr r2, =gBattleMoveDamage
- ldr r1, =gMoveSelectionCursor
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- add r0, sp
- adds r0, 0x10
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, =gCurrentMove
- mov r3, sp
- ldrh r3, [r3, 0x24]
- strh r3, [r0]
-_0817F1FA:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817EECC
-
- thumb_func_start sub_817F21C
-sub_817F21C: @ 817F21C
- push {r4-r7,lr}
- adds r6, r1, 0
- mov r12, r2
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBattleMoves
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0817F286
- movs r4, 0
- ldr r5, =gUnknown_0860A4AC
- ldr r7, =0x0000ffff
- adds r3, r5, 0
- adds r1, r5, 0
-_0817F240:
- ldrh r0, [r1]
- cmp r2, r0
- beq _0817F252
- adds r3, 0x2
- adds r1, 0x2
- adds r4, 0x1
- ldrh r0, [r3]
- cmp r0, r7
- bne _0817F240
-_0817F252:
- lsls r0, r4, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _0817F270
- movs r0, 0
- str r0, [r6]
- b _0817F2A0
- .pool
-_0817F270:
- cmp r2, 0x95
- bne _0817F294
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r0, [r0]
- asrs r0, 1
-_0817F286:
- str r0, [r6]
- movs r0, 0
- b _0817F2A0
- .pool
-_0817F294:
- cmp r2, 0xDE
- bne _0817F29E
- movs r0, 0xA
- mov r1, r12
- strh r0, [r1]
-_0817F29E:
- movs r0, 0x1
-_0817F2A0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_817F21C
-
- thumb_func_start sub_817F2A8
-sub_817F2A8: @ 817F2A8
- push {r4,r5,lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0817F324
- ldr r0, =gBattleStruct
- ldr r3, [r0]
- ldr r0, =0x0000025b
- adds r4, r3, r0
- ldrb r2, [r4]
- subs r1, 0x21
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4]
- ldr r0, =0x00000267
- adds r2, r3, r0
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldrb r5, [r4]
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r5
- strb r0, [r4]
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x97
- lsls r0, 2
- adds r4, r3, r0
- ldrb r2, [r4]
- movs r1, 0x39
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4]
- movs r0, 0x9A
- lsls r0, 2
- adds r3, r0
- ldrb r0, [r3]
- ands r1, r0
- strb r1, [r3]
- ldrb r2, [r4]
- movs r1, 0x7
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4]
- ldrb r0, [r3]
- ands r1, r0
- strb r1, [r3]
- ldrb r2, [r4]
- movs r1, 0x2
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4]
- ldrb r0, [r3]
- ands r1, r0
- strb r1, [r3]
-_0817F324:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817F2A8
-
- thumb_func_start GetBankMoveSlotId
-GetBankMoveSlotId: @ 817F33C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- ldr r6, =gEnemyParty
- cmp r0, 0
- bne _0817F356
- ldr r6, =gPlayerParty
-_0817F356:
- movs r4, 0
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r5, r0, r1
- b _0817F36E
- .pool
-_0817F36C:
- adds r4, 0x1
-_0817F36E:
- cmp r4, 0x3
- bgt _0817F388
- ldrh r1, [r5]
- movs r0, 0x64
- muls r0, r1
- adds r0, r6, r0
- adds r1, r4, 0
- adds r1, 0xD
- movs r2, 0
- bl GetMonData
- cmp r0, r7
- bne _0817F36C
-_0817F388:
- lsls r0, r4, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GetBankMoveSlotId
-
- thumb_func_start sub_817F394
-sub_817F394: @ 817F394
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- adds r4, r3, 0
- lsls r1, 16
- lsrs r1, 16
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r5, r2, 0
- movs r0, 0x7
- ands r0, r3
- cmp r0, 0
- beq _0817F3B4
- movs r0, 0x3
- b _0817F3CA
-_0817F3B4:
- movs r0, 0x60
- ands r0, r3
- cmp r0, 0
- beq _0817F3C0
- movs r0, 0x4
- b _0817F3CA
-_0817F3C0:
- movs r0, 0x18
- ands r0, r3
- cmp r0, 0
- beq _0817F3D2
- movs r0, 0x5
-_0817F3CA:
- movs r3, 0
- bl sub_817E684
- b _0817F3E6
-_0817F3D2:
- movs r0, 0x80
- ands r4, r0
- cmp r4, 0
- beq _0817F3E6
- movs r0, 0x6
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_817E684
-_0817F3E6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_817F394
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_records.s b/asm/battle_records.s
deleted file mode 100644
index c961aefe3..000000000
--- a/asm/battle_records.s
+++ /dev/null
@@ -1,1285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813BF94
-sub_813BF94: @ 813BF94
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r2, =0x01000008
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813BF94
-
- thumb_func_start sub_813BFC4
-sub_813BFC4: @ 813BFC4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x4
-_0813BFCA:
- adds r0, r4, 0
- bl sub_813BF94
- adds r4, 0x10
- subs r5, 0x1
- cmp r5, 0
- bge _0813BFCA
- movs r0, 0x17
- movs r1, 0
- bl sav12_xor_set
- movs r0, 0x18
- movs r1, 0
- bl sav12_xor_set
- movs r0, 0x19
- movs r1, 0
- bl sav12_xor_set
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813BFC4
-
- thumb_func_start sub_813BFF8
-sub_813BFF8: @ 813BFF8
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- ldrh r2, [r1, 0xC]
- adds r0, r2
- ldrh r1, [r1, 0xE]
- adds r0, r1
- bx lr
- thumb_func_end sub_813BFF8
-
- thumb_func_start sub_813C008
-sub_813C008: @ 813C008
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r5, 0
- adds r4, r0, 0
-_0813C014:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x7
- bl StringCompareN
- cmp r0, 0
- bne _0813C02C
- ldrh r0, [r4, 0x8]
- cmp r0, r6
- bne _0813C02C
- adds r0, r5, 0
- b _0813C036
-_0813C02C:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x4
- ble _0813C014
- movs r0, 0x5
-_0813C036:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_813C008
-
- thumb_func_start sub_813C03C
-sub_813C03C: @ 813C03C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- movs r1, 0x4
-_0813C04C:
- subs r3, r1, 0x1
- adds r6, r3, 0
- cmp r3, 0
- blt _0813C0BA
- lsls r0, r1, 4
- add r0, r10
- str r0, [sp, 0x14]
- lsls r0, r3, 4
- mov r2, r10
- adds r5, r0, r2
- movs r4, 0x50
- add r4, r10
- mov r9, r4
- add r1, r9
- mov r8, r1
-_0813C06A:
- ldr r0, [sp, 0x14]
- str r3, [sp, 0x10]
- bl sub_813BFF8
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_813BFF8
- ldr r3, [sp, 0x10]
- cmp r4, r0
- ble _0813C0B2
- mov r1, sp
- ldr r0, [sp, 0x14]
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, [sp, 0x14]
- adds r0, r5, 0
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r5, 0
- mov r0, sp
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r0]
- str r0, [r1]
- mov r7, r8
- ldrb r2, [r7]
- mov r0, r9
- adds r1, r0, r6
- ldrb r0, [r1]
- strb r0, [r7]
- strb r2, [r1]
-_0813C0B2:
- subs r5, 0x10
- subs r6, 0x1
- cmp r6, 0
- bge _0813C06A
-_0813C0BA:
- adds r1, r3, 0
- cmp r1, 0
- bgt _0813C04C
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813C03C
-
- thumb_func_start sub_813C0D0
-sub_813C0D0: @ 813C0D0
- push {lr}
- adds r2, r0, 0
- cmp r1, 0x2
- beq _0813C100
- cmp r1, 0x2
- bgt _0813C0E2
- cmp r1, 0x1
- beq _0813C0E8
- b _0813C12A
-_0813C0E2:
- cmp r1, 0x3
- beq _0813C118
- b _0813C12A
-_0813C0E8:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xA]
- b _0813C12A
- .pool
-_0813C100:
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xC]
- b _0813C12A
- .pool
-_0813C118:
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000270f
- cmp r0, r1
- bls _0813C12A
- strh r1, [r2, 0xE]
-_0813C12A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C0D0
-
- thumb_func_start sub_813C134
-sub_813C134: @ 813C134
- push {r4,lr}
- cmp r0, 0x2
- beq _0813C14E
- cmp r0, 0x2
- bgt _0813C144
- cmp r0, 0x1
- beq _0813C14A
- b _0813C166
-_0813C144:
- cmp r0, 0x3
- beq _0813C152
- b _0813C166
-_0813C14A:
- movs r4, 0x17
- b _0813C154
-_0813C14E:
- movs r4, 0x18
- b _0813C154
-_0813C152:
- movs r4, 0x19
-_0813C154:
- adds r0, r4, 0
- bl GetGameStat
- ldr r1, =0x0000270e
- cmp r0, r1
- bhi _0813C166
- adds r0, r4, 0
- bl IncrementGameStat
-_0813C166:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C134
-
- thumb_func_start sub_813C170
-sub_813C170: @ 813C170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- mov r10, r3
- ldr r0, [sp, 0x20]
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- bl sub_813C134
- adds r0, r6, 0
- bl sub_813C03C
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_813C008
- adds r5, r0, 0
- cmp r5, 0x5
- bne _0813C1D4
- movs r5, 0x4
- adds r4, r6, 0
- adds r4, 0x40
- adds r0, r4, 0
- bl sub_813BF94
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x7
- bl StringCopyN
- strh r7, [r4, 0x8]
- adds r2, r6, 0
- adds r2, 0x54
- ldr r1, =gLinkPlayers
- mov r3, r9
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x1A]
- strb r0, [r2]
-_0813C1D4:
- lsls r0, r5, 4
- adds r0, r6, r0
- mov r1, r10
- bl sub_813C0D0
- adds r0, r6, 0
- bl sub_813C03C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C170
-
- thumb_func_start InitLinkBattleRecords
-InitLinkBattleRecords: @ 813C1F8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- bl sub_813BFC4
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitLinkBattleRecords
-
- thumb_func_start sub_813C214
-sub_813C214: @ 813C214
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6C
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C230
- strh r2, [r1]
-_0813C230:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C214
-
- thumb_func_start sub_813C23C
-sub_813C23C: @ 813C23C
- push {lr}
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gUnknown_02039B6E
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =0x0000270f
- cmp r0, r2
- bls _0813C258
- strh r2, [r1]
-_0813C258:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C23C
-
- thumb_func_start sub_813C264
-sub_813C264: @ 813C264
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0813C27C
- cmp r0, 0x2
- beq _0813C28A
- b _0813C298
- .pool
-_0813C27C:
- eors r0, r4
- bl sub_813C214
- adds r0, r4, 0
- bl sub_813C23C
- b _0813C298
-_0813C28A:
- movs r0, 0x1
- eors r0, r4
- bl sub_813C23C
- adds r0, r4, 0
- bl sub_813C214
-_0813C298:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C264
-
- thumb_func_start sub_813C2A0
-sub_813C2A0: @ 813C2A0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl InUnionRoom
- cmp r0, 0x1
- beq _0813C2DA
- adds r0, r4, 0
- bl sub_813C264
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003150
- adds r0, r1
- movs r1, 0x64
- adds r3, r4, 0
- muls r3, r1
- ldr r2, =gUnknown_02039B88
- adds r1, r3, r2
- subs r2, 0x30
- adds r3, r2
- ldrh r2, [r3, 0xE]
- ldr r3, =gBattleOutcome
- ldrb r3, [r3]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- bl sub_813C170
-_0813C2DA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2A0
-
- thumb_func_start sub_813C2F4
-sub_813C2F4: @ 813C2F4
- push {r4,lr}
- sub sp, 0xC
- ldr r4, =gStringVar1
- movs r0, 0x17
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- movs r0, 0x18
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar3
- movs r0, 0x19
- bl GetGameStat
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_TotalRecordWLD
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldr r0, =gUnknown_0203AB74
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x11
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C2F4
-
- thumb_func_start sub_813C384
-sub_813C384: @ 813C384
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r6, 0xA]
- cmp r0, 0
- bne _0813C40C
- ldr r7, [r6, 0xC]
- cmp r7, 0
- bne _0813C40C
- ldr r0, =gUnknown_0203AB74
- mov r8, r0
- ldrb r0, [r0]
- ldr r2, =gUnknown_085B3D84
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- ldr r5, =gUnknown_085B3D8C
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x50
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x80
- bl PrintTextOnWindow
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r7, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0xB0
- bl PrintTextOnWindow
- b _0813C4A8
- .pool
-_0813C40C:
- ldr r0, =gStringVar1
- movs r1, 0x8
- bl StringFillWithTerminator
- ldr r0, =gStringVar1
- adds r1, r6, 0
- movs r2, 0x7
- bl StringCopyN
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r0, =gStringVar1
- bl ConvertInternationalString
- ldr r0, =gUnknown_0203AB74
- mov r8, r0
- ldrb r0, [r0]
- lsls r4, 3
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xA]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x50
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xC]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0x80
- bl PrintTextOnWindow
- ldrh r1, [r6, 0xE]
- ldr r0, =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- mov r1, r8
- ldrb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gStringVar1
- movs r3, 0xB0
- bl PrintTextOnWindow
-_0813C4A8:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C384
-
- thumb_func_start sub_813C4BC
-sub_813C4BC: @ 813C4BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- ldr r6, =gUnknown_0203AB74
- ldr r0, =gUnknown_085B3D7C
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl sub_81973FC
- ldrb r0, [r6]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, =gStringVar4
- ldr r1, =gText_PlayersBattleResults
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0xD0
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r6]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r0, [r0]
- ldr r1, =0x00003150
- mov r9, r1
- add r0, r9
- bl sub_813C2F4
- ldr r1, =gText_WinLoseDraw
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldrb r0, [r6]
- movs r1, 0x29
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- mov r7, r8
- movs r6, 0xE0
- lsls r6, 19
- mov r5, r9
-_0813C540:
- ldr r2, [r7]
- adds r0, r2, r5
- lsrs r1, r6, 24
- ldr r3, =0x000031a0
- adds r2, r3
- adds r2, r4
- ldrb r2, [r2]
- bl sub_813C384
- movs r0, 0x80
- lsls r0, 18
- adds r6, r0
- adds r5, 0x10
- adds r4, 0x1
- cmp r4, 0x4
- ble _0813C540
- ldr r4, =gUnknown_0203AB74
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C4BC
-
- thumb_func_start sub_813C5A0
-sub_813C5A0: @ 813C5A0
- push {r4,lr}
- ldr r4, =gUnknown_0203AB74
- ldrb r0, [r4]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5A0
-
- thumb_func_start sub_813C5BC
-sub_813C5BC: @ 813C5BC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C5DC
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813C5EC
- str r0, [r1]
-_0813C5DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5BC
-
- thumb_func_start sub_813C5EC
-sub_813C5EC: @ 813C5EC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0813C610
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0813C61A
-_0813C610:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =sub_813C62C
- str r0, [r4]
-_0813C61A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C5EC
-
- thumb_func_start sub_813C62C
-sub_813C62C: @ 813C62C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813C664
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C62C
-
- thumb_func_start sub_813C664
-sub_813C664: @ 813C664
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0813C694
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- ldr r0, =gUnknown_0203AB78
- ldr r0, [r0]
- bl Free
- movs r0, 0
- bl sub_813C6A8
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl DestroyTask
-_0813C694:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C664
-
- thumb_func_start sub_813C6A8
-sub_813C6A8: @ 813C6A8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl ClearWindowTilemap
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_813C6A8
-
- thumb_func_start sub_813C6D4
-sub_813C6D4: @ 813C6D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0813C6FA:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0813C6FA
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C6D4
-
- thumb_func_start sub_813C80C
-sub_813C80C: @ 813C80C
- push {lr}
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_813C80C
-
- thumb_func_start sub_813C828
-sub_813C828: @ 813C828
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_813C828
-
- thumb_func_start sub_813C880
-sub_813C880: @ 813C880
- push {lr}
- movs r1, 0x94
- lsls r1, 4
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_813C880
-
- thumb_func_start sub_813C890
-sub_813C890: @ 813C890
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_085B3484
- adds r0, r4, 0
- movs r2, 0xC0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gUnknown_085B3564
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBufferRect
- ldr r0, =gUnknown_085B3544
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C890
-
- thumb_func_start sub_813C8D8
-sub_813C8D8: @ 813C8D8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_813C8D8
-
- thumb_func_start sub_813C8EC
-sub_813C8EC: @ 813C8EC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_813C8EC
-
- thumb_func_start sub_813C904
-sub_813C904: @ 813C904
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_813C91C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C904
-
- thumb_func_start sub_813C91C
-sub_813C91C: @ 813C91C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _0813C930
- b _0813CA3C
-_0813C930:
- lsls r0, 2
- ldr r1, =_0813C944
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0813C944:
- .4byte _0813C964
- .4byte _0813C970
- .4byte _0813C976
- .4byte _0813C9A8
- .4byte _0813C9BE
- .4byte _0813C9DE
- .4byte _0813C9F0
- .4byte _0813CA14
-_0813C964:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_813C6D4
- b _0813CA00
-_0813C970:
- bl sub_813C80C
- b _0813CA00
-_0813C976:
- ldr r4, =gUnknown_0203AB78
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B3D64
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_813C828
- b _0813CA00
- .pool
-_0813C9A8:
- movs r0, 0x3
- bl sub_813C890
- movs r0, 0
- bl stdpal_get
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- b _0813CA00
-_0813C9BE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813CA3C
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0813CA00
-_0813C9DE:
- ldr r0, =gUnknown_085B3D6C
- bl InitWindows
- bl DeactivateAllTextPrinters
- b _0813CA00
- .pool
-_0813C9F0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0813CA00:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0813CA3C
- .pool
-_0813CA14:
- bl sub_813C880
- ldr r0, =sub_813C8D8
- bl SetVBlankCallback
- bl sub_81D5C8C
- ldr r0, =sub_813C5BC
- movs r1, 0x8
- bl CreateTask
- ldr r0, =sub_813C8EC
- bl SetMainCallback2
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0813CA3C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813C91C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
deleted file mode 100644
index f77e7a5d0..000000000
--- a/asm/battle_setup.s
+++ /dev/null
@@ -1,3550 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start task01_battle_start
-task01_battle_start: @ 80B05F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B0614
- cmp r0, 0x1
- beq _080B062E
- b _080B0652
- .pool
-_080B0614:
- bl c3_80A0DD8_is_running
- cmp r0, 0
- bne _080B0652
- ldrb r0, [r4, 0x2]
- bl sub_8145EF4
- bl sub_81BE72C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080B0652
-_080B062E:
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B0652
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- bl prev_quest_postbuffer_cursor_backup_reset
- bl overworld_poison_timer_set
- adds r0, r5, 0
- bl DestroyTask
-_080B0652:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task01_battle_start
-
- thumb_func_start task_add_01_battle_start
-task_add_01_battle_start: @ 80B065C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =task01_battle_start
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- adds r0, r5, 0
- bl PlayMapChosenOrBattleBGM
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_01_battle_start
-
- thumb_func_start BattleSetup_StartWildBattle
-BattleSetup_StartWildBattle: @ 80B0698
- push {lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _080B06A8
- bl sub_80B077C
- b _080B06AC
-_080B06A8:
- bl sub_80B06BC
-_080B06AC:
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartWildBattle
-
- thumb_func_start BattleSetup_StartBattlePikeWildBattle
-BattleSetup_StartBattlePikeWildBattle: @ 80B06B0
- push {lr}
- bl sub_80B07B4
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartBattlePikeWildBattle
-
- thumb_func_start sub_80B06BC
-sub_80B06BC: @ 80B06BC
- push {r4,lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r4, =gBattleTypeFlags
- movs r0, 0
- str r0, [r4]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B06F2
- ldr r0, =0x0000400e
- movs r1, 0
- bl VarSet
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 14
- orrs r0, r1
- str r0, [r4]
-_080B06F2:
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B06BC
-
- thumb_func_start BattleSetup_StartRoamerBattle
-BattleSetup_StartRoamerBattle: @ 80B072C
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 3
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleSetup_StartRoamerBattle
-
- thumb_func_start sub_80B077C
-sub_80B077C: @ 80B077C
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80FC190
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B077C
-
- thumb_func_start sub_80B07B4
-sub_80B07B4: @ 80B07B4
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808BCF4
- ldr r1, =gMain
- ldr r0, =sub_80B0AF8
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 13
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B07B4
-
- thumb_func_start task_add_01_battle_start_with_music_and_stats
-task_add_01_battle_start_with_music_and_stats: @ 80B0804
- push {lr}
- bl reads_trainer_data_byte1_byte0x18
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x9
- bl IncrementGameStat
- bl sub_80B1234
- pop {r0}
- bx r0
- thumb_func_end task_add_01_battle_start_with_music_and_stats
-
- thumb_func_start sub_80B0828
-sub_80B0828: @ 80B0828
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0846
- movs r0, 0xA
- bl sub_80B100C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- b _080B0856
-_080B0846:
- movs r0, 0xB
- bl sub_80B100C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
-_080B0856:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x9
- bl IncrementGameStat
- bl sub_80B1234
- pop {r0}
- bx r0
- thumb_func_end sub_80B0828
-
- thumb_func_start sub_80B086C
-sub_80B086C: @ 80B086C
- push {lr}
- ldr r0, =gEnemyParty
- movs r1, 0xC4
- lsls r1, 1
- movs r2, 0x5
- bl CreateMaleMon
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 2
- str r0, [r1]
- movs r0, 0x8
- movs r1, 0
- bl task_add_01_battle_start
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B086C
-
- thumb_func_start BattleSetup_StartScriptedWildBattle
-BattleSetup_StartScriptedWildBattle: @ 80B08A8
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end BattleSetup_StartScriptedWildBattle
-
- thumb_func_start sub_80B08EC
-sub_80B08EC: @ 80B08EC
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 6
- str r0, [r1]
- bl sub_80B0EC8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B08EC
-
- thumb_func_start sub_80B0934
-sub_80B0934: @ 80B0934
- push {r4,lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r4, =gBattleTypeFlags
- movs r0, 0x80
- lsls r0, 6
- str r0, [r4]
- ldr r0, =gEnemyParty
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCA
- lsls r0, 1
- cmp r1, r0
- beq _080B09B8
- cmp r1, r0
- bhi _080B0988
- cmp r1, 0x97
- beq _080B09F4
- cmp r1, 0x97
- bcc _080B099A
- cmp r1, 0xFA
- bhi _080B099A
- cmp r1, 0xF9
- bcc _080B099A
- ldr r1, =0x00000229
- b _080B09E6
- .pool
-_080B0988:
- movs r0, 0xCB
- lsls r0, 1
- cmp r1, r0
- beq _080B09CE
- cmp r1, r0
- bcc _080B099A
- adds r0, 0x4
- cmp r1, r0
- beq _080B09E4
-_080B099A:
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 21
- orrs r0, r1
- str r0, [r2]
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x17
- bl task_add_01_battle_start
- b _080B09FE
- .pool
-_080B09B8:
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 22
- orrs r0, r1
- str r0, [r4]
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x16
- bl task_add_01_battle_start
- b _080B09FE
-_080B09CE:
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 23
- orrs r0, r1
- str r0, [r4]
- movs r1, 0xEB
- lsls r1, 1
- movs r0, 0x18
- bl task_add_01_battle_start
- b _080B09FE
-_080B09E4:
- ldr r1, =0x00000227
-_080B09E6:
- movs r0, 0
- bl task_add_01_battle_start
- b _080B09FE
- .pool
-_080B09F4:
- movs r1, 0xEC
- lsls r1, 1
- movs r0, 0xA
- bl task_add_01_battle_start
-_080B09FE:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0934
-
- thumb_func_start sub_80B0A18
-sub_80B0A18: @ 80B0A18
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 6
- str r0, [r1]
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B0A50
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0xB
- bl task_add_01_battle_start
- b _080B0A5A
- .pool
-_080B0A50:
- movs r1, 0xF0
- lsls r1, 1
- movs r0, 0x6
- bl task_add_01_battle_start
-_080B0A5A:
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- thumb_func_end sub_80B0A18
-
- thumb_func_start sub_80B0A74
-sub_80B0A74: @ 80B0A74
- push {lr}
- bl ScriptContext2_Enable
- ldr r1, =gMain
- ldr r0, =sub_80B0B6C
- str r0, [r1, 0x8]
- ldr r1, =gBattleTypeFlags
- movs r0, 0xC0
- lsls r0, 7
- str r0, [r1]
- ldr r0, =gEnemyParty
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0xC9
- lsls r0, 1
- cmp r1, r0
- beq _080B0ACC
- cmp r1, r0
- bgt _080B0ABC
- subs r0, 0x1
- cmp r1, r0
- beq _080B0AC8
- b _080B0AD4
- .pool
-_080B0ABC:
- ldr r0, =0x00000193
- cmp r2, r0
- beq _080B0AD0
- b _080B0AD4
- .pool
-_080B0AC8:
- movs r0, 0x15
- b _080B0AD6
-_080B0ACC:
- movs r0, 0x13
- b _080B0AD6
-_080B0AD0:
- movs r0, 0x14
- b _080B0AD6
-_080B0AD4:
- movs r0, 0xA
-_080B0AD6:
- ldr r1, =0x000001df
- bl task_add_01_battle_start
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0A74
-
- thumb_func_start sub_80B0AF8
-sub_80B0AF8: @ 80B0AF8
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B0B4C
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B0B4C
- bl InBattlePike
- lsls r0, 24
- cmp r0, 0
- bne _080B0B4C
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B0B58
- .pool
-_080B0B4C:
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF6F0
- str r0, [r1]
-_080B0B58:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0AF8
-
- thumb_func_start sub_80B0B6C
-sub_80B0B6C: @ 80B0B6C
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B0BC0
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0BB4
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B0BC6
- .pool
-_080B0BB4:
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B0BC6
- .pool
-_080B0BC0:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080B0BC6:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B0B6C
-
- thumb_func_start BattleSetup_GetTerrainId
-BattleSetup_GetTerrainId: @ 80B0BD0
- push {r4,r5,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080B0C06
- movs r0, 0
- b _080B0D1A
-_080B0C06:
- adds r0, r4, 0
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080B0C16
- movs r0, 0x1
- b _080B0D1A
-_080B0C16:
- adds r0, r4, 0
- bl MetatileBehavior_IsSandOrDeepSand
- lsls r0, 24
- cmp r0, 0
- bne _080B0D18
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080B0C9C
- lsls r0, 2
- ldr r1, =_080B0C40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B0C40:
- .4byte _080B0C9C
- .4byte _080B0C9C
- .4byte _080B0C9C
- .4byte _080B0C64
- .4byte _080B0C88
- .4byte _080B0C8C
- .4byte _080B0C9C
- .4byte _080B0C74
- .4byte _080B0C74
-_080B0C64:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsMB_0B
- lsls r0, 24
- cmp r0, 0
- beq _080B0C78
-_080B0C74:
- movs r0, 0x8
- b _080B0D1A
-_080B0C78:
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CE0
- movs r0, 0x7
- b _080B0D1A
-_080B0C88:
- movs r0, 0x3
- b _080B0D1A
-_080B0C8C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CF2
- b _080B0D10
-_080B0C9C:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsDeepOrOceanWater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CF2
- adds r0, r4, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0CE0
- adds r0, r4, 0
- bl MetatileBehavior_IsMountain
- lsls r0, 24
- cmp r0, 0
- beq _080B0CC8
- movs r0, 0x6
- b _080B0D1A
-_080B0CC8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080B0CF6
- adds r0, r4, 0
- bl MetatileBehavior_GetBridgeSth
- lsls r0, 24
- cmp r0, 0
- beq _080B0CE4
-_080B0CE0:
- movs r0, 0x5
- b _080B0D1A
-_080B0CE4:
- adds r0, r4, 0
- bl MetatileBehavior_IsBridge
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B0CF6
-_080B0CF2:
- movs r0, 0x4
- b _080B0D1A
-_080B0CF6:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xE0
- lsls r0, 5
- cmp r1, r0
- beq _080B0D18
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- beq _080B0D18
-_080B0D10:
- movs r0, 0x9
- b _080B0D1A
- .pool
-_080B0D18:
- movs r0, 0x2
-_080B0D1A:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end BattleSetup_GetTerrainId
-
- thumb_func_start sub_80B0D24
-sub_80B0D24: @ 80B0D24
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r4, r0, 16
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- cmp r0, 0
- beq _080B0D54
- movs r0, 0x2
- b _080B0D7E
-_080B0D54:
- lsls r0, r4, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- bne _080B0D7C
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x4
- beq _080B0D78
- cmp r0, 0x5
- beq _080B0D7C
- movs r0, 0
- b _080B0D7E
- .pool
-_080B0D78:
- movs r0, 0x1
- b _080B0D7E
-_080B0D7C:
- movs r0, 0x3
-_080B0D7E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B0D24
-
- thumb_func_start sub_80B0D88
-sub_80B0D88: @ 80B0D88
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- movs r6, 0
-_080B0D92:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- beq _080B0DD6
- cmp r1, 0
- beq _080B0DD6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080B0DD6
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- adds r0, r7, r0
- lsls r0, 24
- lsrs r7, r0, 24
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080B0DDC
-_080B0DD6:
- adds r6, 0x1
- cmp r6, 0x5
- ble _080B0D92
-_080B0DDC:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B0D88
-
- thumb_func_start reads_trainer_data_byte0
-reads_trainer_data_byte0: @ 80B0DE8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, =gTrainers
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r5
- adds r0, r2, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, r4
- bcs _080B0E08
- adds r4, r0, 0
-_080B0E08:
- movs r3, 0
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _080B0E50
- cmp r0, 0x1
- bgt _080B0E20
- cmp r0, 0
- beq _080B0E2A
- b _080B0EC0
- .pool
-_080B0E20:
- cmp r0, 0x2
- beq _080B0E76
- cmp r0, 0x3
- beq _080B0E9C
- b _080B0EC0
-_080B0E2A:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E38:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E38
- b _080B0EC0
-_080B0E50:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E5E:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E5E
- b _080B0EC0
-_080B0E76:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0E84:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0E84
- b _080B0EC0
-_080B0E9C:
- adds r0, r5, 0
- adds r0, 0x24
- adds r0, r1, r0
- ldr r1, [r0]
- movs r2, 0
- cmp r3, r4
- bcs _080B0EC0
-_080B0EAA:
- lsls r0, r2, 4
- adds r0, r1
- ldrb r0, [r0, 0x2]
- adds r0, r3, r0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _080B0EAA
-_080B0EC0:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end reads_trainer_data_byte0
-
- thumb_func_start sub_80B0EC8
-sub_80B0EC8: @ 80B0EC8
- push {r4-r6,lr}
- bl sub_80B0D24
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _080B0F10
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B0F04
- movs r0, 0
- b _080B0F2E
- .pool
-_080B0F04:
- ldr r0, =gUnknown_0854FE88
- lsls r1, r5, 1
- b _080B0F20
- .pool
-_080B0F10:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B0F2C
- ldr r0, =gUnknown_0854FE88
- lsls r1, r6, 1
- adds r0, 0x1
-_080B0F20:
- adds r1, r0
- ldrb r0, [r1]
- b _080B0F2E
- .pool
-_080B0F2C:
- movs r0, 0xA
-_080B0F2E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B0EC8
-
- thumb_func_start reads_trainer_data_byte1_byte0x18
-reads_trainer_data_byte1_byte0x18: @ 80B0F34
- push {r4-r6,lr}
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _080B0F98
- ldr r1, =gTrainers
- ldrh r2, [r4]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0, 0x1]
- cmp r1, 0x1F
- bne _080B0F94
- adds r1, r2, 0
- ldr r0, =0x00000105
- cmp r1, r0
- bne _080B0F6C
- movs r0, 0xC
- b _080B1000
- .pool
-_080B0F6C:
- movs r0, 0x83
- lsls r0, 1
- cmp r1, r0
- bne _080B0F78
- movs r0, 0xD
- b _080B1000
-_080B0F78:
- ldr r0, =0x00000107
- cmp r1, r0
- bne _080B0F88
- movs r0, 0xE
- b _080B1000
- .pool
-_080B0F88:
- movs r0, 0x84
- lsls r0, 1
- cmp r1, r0
- bne _080B0F98
- movs r0, 0xF
- b _080B1000
-_080B0F94:
- cmp r1, 0x26
- bne _080B0F9C
-_080B0F98:
- movs r0, 0x10
- b _080B1000
-_080B0F9C:
- cmp r1, 0x9
- beq _080B0FA8
- cmp r1, 0x35
- beq _080B0FA8
- cmp r1, 0x31
- bne _080B0FAC
-_080B0FA8:
- movs r0, 0x12
- b _080B1000
-_080B0FAC:
- cmp r1, 0x3
- beq _080B0FB8
- cmp r1, 0xD
- beq _080B0FB8
- cmp r1, 0xB
- bne _080B0FBC
-_080B0FB8:
- movs r0, 0x11
- b _080B1000
-_080B0FBC:
- ldrb r0, [r0, 0x18]
- movs r5, 0x1
- cmp r0, 0x1
- bne _080B0FC6
- movs r5, 0x2
-_080B0FC6:
- bl sub_80B0D24
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r4]
- adds r1, r5, 0
- bl reads_trainer_data_byte0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _080B0FF8
- ldr r0, =gUnknown_0854FE90
- lsls r1, r6, 1
- adds r0, 0x1
- b _080B0FFC
- .pool
-_080B0FF8:
- ldr r0, =gUnknown_0854FE90
- lsls r1, r6, 1
-_080B0FFC:
- adds r1, r0
- ldrb r0, [r1]
-_080B1000:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end reads_trainer_data_byte1_byte0x18
-
- thumb_func_start sub_80B100C
-sub_80B100C: @ 80B100C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gEnemyParty
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_80B0D88
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _080B1090
- cmp r5, 0xA
- beq _080B1048
- cmp r5, 0xA
- bgt _080B1040
- cmp r5, 0x3
- beq _080B105C
- b _080B106C
- .pool
-_080B1040:
- cmp r5, 0xD
- bgt _080B106C
- movs r0, 0x4
- b _080B1120
-_080B1048:
- ldr r4, =gUnknown_0854FEA4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- b _080B1114
- .pool
-_080B105C:
- ldr r4, =gUnknown_0854FEA7
- bl Random
- ands r5, r0
- lsls r0, r5, 16
- b _080B111A
- .pool
-_080B106C:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- beq _080B10EC
- ldr r4, =gUnknown_0854FE98
- bl Random
- lsls r0, 16
- lsrs r0, 16
- b _080B1112
- .pool
-_080B1090:
- cmp r5, 0xA
- beq _080B10A6
- cmp r5, 0xA
- bgt _080B109E
- cmp r5, 0x3
- beq _080B10B8
- b _080B10C8
-_080B109E:
- cmp r5, 0xD
- bgt _080B10C8
- movs r0, 0x3
- b _080B1120
-_080B10A6:
- ldr r4, =gUnknown_0854FEA4
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- b _080B1114
- .pool
-_080B10B8:
- ldr r4, =gUnknown_0854FEA7
- bl Random
- ands r5, r0
- lsls r0, r5, 16
- b _080B111A
- .pool
-_080B10C8:
- ldr r0, =0x000040ce
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- beq _080B10EC
- ldr r4, =gUnknown_0854FE98
- bl Random
- lsls r0, 16
- lsrs r0, 16
- b _080B1112
- .pool
-_080B10EC:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, =0x00000cb2
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r2, r0, 2
- ldr r3, =0x00000cb4
- adds r1, r3
- adds r2, r1, r2
- lsls r0, 1
- adds r0, 0x1
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gUnknown_0854FE98
-_080B1112:
- movs r1, 0xC
-_080B1114:
- bl __umodsi3
- lsls r0, 16
-_080B111A:
- lsrs r0, 16
- adds r0, r4
- ldrb r0, [r0]
-_080B1120:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B100C
-
- thumb_func_start sub_80B1138
-sub_80B1138: @ 80B1138
- push {lr}
- ldr r0, =CB2_ChooseStarter
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_80B1158
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1138
-
- thumb_func_start sub_80B1158
-sub_80B1158: @ 80B1158
- push {lr}
- sub sp, 0x8
- ldr r0, =0x00004023
- bl GetVarPointer
- ldr r2, =gSpecialVar_Result
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r0, [r2]
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x5
- movs r2, 0
- movs r3, 0
- bl ScriptGiveMon
- bl ResetTasks
- bl PlayBattleBGM
- ldr r0, =sub_80B11A8
- bl SetMainCallback2
- movs r0, 0
- bl sub_8145F10
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1158
-
- thumb_func_start sub_80B11A8
-sub_80B11A8: @ 80B11A8
- push {lr}
- bl UpdatePaletteFade
- bl RunTasks
- bl IsBattleTransitionDone
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B11F0
- ldr r1, =gBattleTypeFlags
- movs r0, 0x10
- str r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1204
- str r0, [r1, 0x8]
- bl FreeAllWindowBuffers
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- bl prev_quest_postbuffer_cursor_backup_reset
- bl overworld_poison_timer_set
- movs r0, 0x7
- bl IncrementGameStat
- movs r0, 0x8
- bl IncrementGameStat
- bl sub_80EECC8
- bl sub_80B1218
-_080B11F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B11A8
-
- thumb_func_start sub_80B1204
-sub_80B1204: @ 80B1204
- push {lr}
- bl sav1_reset_battle_music_maybe
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1204
-
- thumb_func_start sub_80B1218
-sub_80B1218: @ 80B1218
- push {lr}
- movs r0, 0x8
- bl GetGameStat
- movs r1, 0x3C
- bl __umodsi3
- cmp r0, 0
- bne _080B122E
- bl sub_81DA57C
-_080B122E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1218
-
- thumb_func_start sub_80B1234
-sub_80B1234: @ 80B1234
- push {lr}
- movs r0, 0x9
- bl GetGameStat
- movs r1, 0x14
- bl __umodsi3
- cmp r0, 0
- bne _080B124A
- bl sub_81DA57C
-_080B124A:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1234
-
- thumb_func_start TrainerBattleLoadArg32
-@ u32 TrainerBattleLoadArg32(u8 *arg)
-TrainerBattleLoadArg32: @ 80B1250
- adds r2, r0, 0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- thumb_func_end TrainerBattleLoadArg32
-
- thumb_func_start TrainerBattleLoadArg16
-@ u16 TrainerBattleLoadArg16(u8 *arg)
-TrainerBattleLoadArg16: @ 80B1268
- adds r1, r0, 0
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- lsls r1, 8
- orrs r0, r1
- bx lr
- thumb_func_end TrainerBattleLoadArg16
-
- thumb_func_start TrainerBattleLoadArg8
-@ u8 TrainerBattleLoadArg8(u8 *arg)
-TrainerBattleLoadArg8: @ 80B1274
- ldrb r0, [r0]
- bx lr
- thumb_func_end TrainerBattleLoadArg8
-
- thumb_func_start trainerflag_opponent
-trainerflag_opponent: @ 80B1278
- ldr r1, =gTrainerBattleOpponent_A
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end trainerflag_opponent
-
- thumb_func_start sub_80B1290
-sub_80B1290: @ 80B1290
- ldr r1, =gTrainerBattleOpponent_B
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_80B1290
-
- thumb_func_start battle_exit_is_player_defeat
-battle_exit_is_player_defeat: @ 80B12A8
- push {lr}
- subs r0, 0x1
- cmp r0, 0x6
- bhi _080B12E0
- lsls r0, 2
- ldr r1, =_080B12C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B12C0:
- .4byte _080B12E0
- .4byte _080B12DC
- .4byte _080B12DC
- .4byte _080B12E0
- .4byte _080B12E0
- .4byte _080B12E0
- .4byte _080B12E0
-_080B12DC:
- movs r0, 0x1
- b _080B12E2
-_080B12E0:
- movs r0, 0
-_080B12E2:
- pop {r1}
- bx r1
- thumb_func_end battle_exit_is_player_defeat
-
- thumb_func_start ResetTrainerOpponentIds
-ResetTrainerOpponentIds: @ 80B12E8
- ldr r0, =gTrainerBattleOpponent_A
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gTrainerBattleOpponent_B
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end ResetTrainerOpponentIds
-
- thumb_func_start InitTrainerBattleVariables
-@ void InitTrainerBattleVariables()
-InitTrainerBattleVariables: @ 80B12FC
- push {lr}
- ldr r0, =gUnknown_02038BC8
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- cmp r1, 0
- bne _080B132C
- ldr r0, =gUnknown_02038BD4
- str r1, [r0]
- ldr r0, =gUnknown_02038BDC
- str r1, [r0]
- ldr r0, =gUnknown_02038BF0
- b _080B1338
- .pool
-_080B132C:
- ldr r0, =gUnknown_02038BD8
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_02038BE0
- str r1, [r0]
- ldr r0, =gUnknown_02038BF4
-_080B1338:
- str r1, [r0]
- ldr r1, =gUnknown_02038BD0
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gUnknown_02038BE4
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_02038BE8
- str r1, [r0]
- ldr r0, =gUnknown_02038BEC
- str r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitTrainerBattleVariables
-
- thumb_func_start TrainerBattleLoadArgs
-@ void TrainerBattleLoadArgs(struct TrainerBattleArgSpec *argSpecs, u8 *args)
-TrainerBattleLoadArgs: @ 80B1370
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
-_080B1376:
- ldrb r0, [r4, 0x4]
- cmp r0, 0x6
- bhi _080B13E8
- lsls r0, 2
- ldr r1, =_080B138C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B138C:
- .4byte _080B13A8
- .4byte _080B13B6
- .4byte _080B13C4
- .4byte _080B13D2
- .4byte _080B13DA
- .4byte _080B13E2
- .4byte _080B13EC
-_080B13A8:
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- ldr r1, [r4]
- strb r0, [r1]
- adds r5, 0x1
- b _080B13E8
-_080B13B6:
- adds r0, r5, 0
- bl TrainerBattleLoadArg16
- ldr r1, [r4]
- strh r0, [r1]
- adds r5, 0x2
- b _080B13E8
-_080B13C4:
- adds r0, r5, 0
- bl TrainerBattleLoadArg32
- ldr r1, [r4]
- str r0, [r1]
- adds r5, 0x4
- b _080B13E8
-_080B13D2:
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1]
- b _080B13E8
-_080B13DA:
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1]
- b _080B13E8
-_080B13E2:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080B13E8:
- adds r4, 0x8
- b _080B1376
-_080B13EC:
- ldr r0, [r4]
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end TrainerBattleLoadArgs
-
- thumb_func_start battle_80801F0
-battle_80801F0: @ 80B13F8
- push {lr}
- ldr r0, =gUnknown_02038BD0
- ldrh r1, [r0]
- cmp r1, 0
- beq _080B141A
- ldr r0, =gSpecialVar_LastTalked
- strh r1, [r0]
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
- ldr r1, =gSelectedMapObject
- strb r0, [r1]
-_080B141A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_80801F0
-
- thumb_func_start BattleSetup_ConfigureTrainerBattle
-@ u8 *BattleSetup_ConfigureTrainerBattle(u8 *args)
-BattleSetup_ConfigureTrainerBattle: @ 80B1430
- push {r4,r5,lr}
- adds r5, r0, 0
- bl InitTrainerBattleVariables
- ldr r4, =gUnknown_02038BC8
- adds r0, r5, 0
- bl TrainerBattleLoadArg8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r0, [r4]
- subs r0, 0x1
- cmp r0, 0xB
- bls _080B1450
- b _080B15F4
-_080B1450:
- lsls r0, 2
- ldr r1, =_080B1464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B1464:
- .4byte _080B14CC
- .4byte _080B14B0
- .4byte _080B1494
- .4byte _080B14A8
- .4byte _080B1514
- .4byte _080B14D4
- .4byte _080B14EC
- .4byte _080B14D4
- .4byte _080B153C
- .4byte _080B1590
- .4byte _080B1598
- .4byte _080B15A8
-_080B1494:
- ldr r0, =gUnknown_0854FF84
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =EventScript_2713C2
- b _080B161E
- .pool
-_080B14A8:
- ldr r0, =gUnknown_0854FF3C
- b _080B14D6
- .pool
-_080B14B0:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B14C4
- ldr r0, =gUnknown_0854FEF4
- b _080B15FE
- .pool
-_080B14C4:
- ldr r0, =gUnknown_0855005C
- b _080B1616
- .pool
-_080B14CC:
- ldr r0, =gUnknown_0854FEF4
- b _080B15FE
- .pool
-_080B14D4:
- ldr r0, =gUnknown_0854FFCC
-_080B14D6:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =EventScript_27138A
- b _080B161E
- .pool
-_080B14EC:
- ldr r0, =gUnknown_0854FF3C
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_80B2234
- strh r0, [r4]
- ldr r0, =EventScript_2713F8
- b _080B161E
- .pool
-_080B1514:
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r0, [r4]
- bl sub_80B2234
- strh r0, [r4]
- ldr r0, =EventScript_2713D1
- b _080B161E
- .pool
-_080B153C:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B156C
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
- ldr r1, =gTrainerBattleOpponent_A
- b _080B157E
- .pool
-_080B156C:
- ldr r0, =gUnknown_08550014
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
-_080B157C:
- ldr r1, =gTrainerBattleOpponent_B
-_080B157E:
- strh r0, [r1]
- b _080B161C
- .pool
-_080B1590:
- ldr r0, =gUnknown_0854FEAC
- b _080B159A
- .pool
-_080B1598:
- ldr r0, =gUnknown_08550014
-_080B159A:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- movs r0, 0
- b _080B161E
- .pool
-_080B15A8:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B15D8
- ldr r0, =gUnknown_0854FEAC
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- ldr r1, =gTrainerBattleOpponent_A
- b _080B157E
- .pool
-_080B15D8:
- ldr r0, =gUnknown_08550014
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- b _080B157C
- .pool
-_080B15F4:
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1614
- ldr r0, =gUnknown_0854FEAC
-_080B15FE:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
- bl battle_80801F0
- b _080B161C
- .pool
-_080B1614:
- ldr r0, =gUnknown_08550014
-_080B1616:
- adds r1, r5, 0
- bl TrainerBattleLoadArgs
-_080B161C:
- ldr r0, =EventScript_271362
-_080B161E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_ConfigureTrainerBattle
-
- thumb_func_start SingleTrainerWantsBattle
-@ void SingleTrainerWantsBattle(u8 trainerFieldObjectId, u8 *trainerScript)
-SingleTrainerWantsBattle: @ 80B162C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSelectedMapObject
- strb r0, [r2]
- ldr r4, =gSpecialVar_LastTalked
- ldr r3, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r0, [r2, 0x8]
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- bl BattleSetup_ConfigureTrainerBattle
- ldr r0, =EventScript_271354
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SingleTrainerWantsBattle
-
- thumb_func_start TwoTrainersWantBattle
-@ void TwoTrainersWantBattle(u8 trainerFieldObjectId, u8 *trainerScript)
-TwoTrainersWantBattle: @ 80B1670
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSelectedMapObject
- strb r0, [r2]
- ldr r4, =gSpecialVar_LastTalked
- ldr r3, =gMapObjects
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r0, [r2, 0x8]
- strh r0, [r4]
- adds r1, 0x1
- adds r0, r1, 0
- bl BattleSetup_ConfigureTrainerBattle
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end TwoTrainersWantBattle
-
- thumb_func_start TwoTrainersWantBattleExecuteScript
-@ void TwoTrainersWantBattleExecuteScript()
-TwoTrainersWantBattleExecuteScript: @ 80B16A4
- push {lr}
- ldr r0, =EventScript_271354
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end TwoTrainersWantBattleExecuteScript
-
- thumb_func_start GetTrainerFlagFromScriptPointer
-@ u8 GetTrainerFlagFromScriptPointer(u8 *scriptPointer)
-GetTrainerFlagFromScriptPointer: @ 80B16B8
- push {lr}
- adds r0, 0x2
- bl TrainerBattleLoadArg16
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetTrainerFlagFromScriptPointer
-
- thumb_func_start sub_80B16D8
-sub_80B16D8: @ 80B16D8
- push {r4,lr}
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl npc_set_running_behaviour_etc
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B16D8
-
- thumb_func_start sub_80B170C
-sub_80B170C: @ 80B170C
- ldr r0, =gUnknown_02038BC8
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80B170C
-
- thumb_func_start check_trainer_flag
-@ pokescrcmd
-check_trainer_flag: @ 80B1718
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1734
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- bl GetBattlePyramidTrainerFlag
- b _080B1752
- .pool
-_080B1734:
- bl InTrainerHill
- cmp r0, 0
- bne _080B174A
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- b _080B1752
-_080B174A:
- ldr r0, =gSelectedMapObject
- ldrb r0, [r0]
- bl GetTrainerHillTrainerFlag
-_080B1752:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end check_trainer_flag
-
- thumb_func_start rom_npc_set_flag_for_script_id
-rom_npc_set_flag_for_script_id: @ 80B1760
- push {lr}
- ldr r0, =gTrainerBattleOpponent_B
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B1776
- bl sub_80B1290
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
-_080B1776:
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end rom_npc_set_flag_for_script_id
-
- thumb_func_start sub_80B178C
-sub_80B178C: @ 80B178C
- push {lr}
- bl trainerflag_opponent
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end sub_80B178C
-
- thumb_func_start HasTrainerAlreadyBeenFought
-HasTrainerAlreadyBeenFought: @ 80B17A0
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end HasTrainerAlreadyBeenFought
-
- thumb_func_start trainer_flag_set
-trainer_flag_set: @ 80B17B8
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagSet
- pop {r0}
- bx r0
- thumb_func_end trainer_flag_set
-
- thumb_func_start trainer_flag_clear
-trainer_flag_clear: @ 80B17CC
- push {lr}
- lsls r0, 16
- movs r1, 0xA0
- lsls r1, 19
- adds r0, r1
- lsrs r0, 16
- bl FlagClear
- pop {r0}
- bx r0
- thumb_func_end trainer_flag_clear
-
- thumb_func_start BattleSetup_StartTrainerBattle
-BattleSetup_StartTrainerBattle: @ 80B17E0
- push {r4,lr}
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B17FC
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x00008009
- b _080B1800
- .pool
-_080B17FC:
- ldr r1, =gBattleTypeFlags
- movs r0, 0x8
-_080B1800:
- str r0, [r1]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1884
- ldr r0, =0x0000400e
- movs r1, 0
- bl VarSet
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 14
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B1864
- movs r0, 0x1
- bl sub_816306C
- ldr r4, =gEnemyParty + 100
- adds r0, r4, 0
- bl ZeroMonData
- adds r0, r4, 0
- adds r0, 0x64
- bl ZeroMonData
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, r1
- bl ZeroMonData
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, r1
- bl ZeroMonData
- b _080B187A
- .pool
-_080B1864:
- movs r0, 0x1
- bl sub_8163048
- ldr r4, =gEnemyParty + 100
- adds r0, r4, 0
- bl ZeroMonData
- adds r4, 0x64
- adds r0, r4, 0
- bl ZeroMonData
-_080B187A:
- bl sub_81A9B04
- b _080B18B8
- .pool
-_080B1884:
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B18B8
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- orrs r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B18B0
- bl sub_81D639C
- b _080B18B4
- .pool
-_080B18B0:
- bl sub_81D6384
-_080B18B4:
- bl sub_81D61E8
-_080B18B8:
- ldr r1, =gUnknown_02038BF9
- ldr r2, =gUnknown_030060A8
- ldrb r0, [r2]
- strb r0, [r1]
- movs r1, 0
- strb r1, [r2]
- ldr r0, =gUnknown_02038BF8
- strb r1, [r0]
- ldr r1, =gUnknown_03006080
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1918
- str r0, [r1, 0x8]
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B18E8
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B1908
-_080B18E8:
- bl sub_80B0828
- b _080B190C
- .pool
-_080B1908:
- bl task_add_01_battle_start_with_music_and_stats
-_080B190C:
- bl ScriptContext1_Stop
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BattleSetup_StartTrainerBattle
-
- thumb_func_start sub_80B1918
-sub_80B1918: @ 80B1918
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _080B1946
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B1968
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B1946
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B195C
-_080B1946:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B198A
- .pool
-_080B195C:
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B198A
- .pool
-_080B1968:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080B198A
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- bne _080B198A
- bl sub_80B20BC
- bl rom_npc_set_flag_for_script_id
-_080B198A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1918
-
- thumb_func_start sub_80B1994
-sub_80B1994: @ 80B1994
- push {lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _080B19B4
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- b _080B19E2
- .pool
-_080B19B4:
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- bl battle_exit_is_player_defeat
- cmp r0, 0x1
- bne _080B19D0
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- b _080B19E2
- .pool
-_080B19D0:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- bl sub_80B20BC
- bl rom_npc_set_flag_for_script_id
- bl sub_80B22BC
-_080B19E2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1994
-
- thumb_func_start sub_80B19EC
-sub_80B19EC: @ 80B19EC
- push {lr}
- ldr r1, =gBattleTypeFlags
- movs r0, 0x8
- str r0, [r1]
- ldr r1, =gMain
- ldr r0, =sub_80B1994
- str r0, [r1, 0x8]
- bl task_add_01_battle_start_with_music_and_stats
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B19EC
-
- thumb_func_start sub_80B1A14
-sub_80B1A14: @ 80B1A14
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B1A7C
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080B1A44
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl sub_81A9AA8
- lsls r0, 16
- lsrs r0, 16
- bl sub_81A9EDC
- b _080B1AD8
- .pool
-_080B1A44:
- ldr r3, =gMapObjects
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x8]
- bl sub_81A9AA8
- lsls r0, 16
- lsrs r0, 16
- bl sub_81A9EDC
- b _080B1AD8
- .pool
-_080B1A7C:
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080B1AEC
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080B1AAC
- ldr r0, =gSpecialVar_LastTalked
- ldrb r0, [r0]
- bl battle_init
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2
- bl sub_81D572C
- b _080B1AD8
- .pool
-_080B1AAC:
- ldr r3, =gMapObjects
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_02038BFC
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x8]
- bl battle_init
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x2
- bl sub_81D572C
-_080B1AD8:
- bl sub_80982B8
- b _080B1AF4
- .pool
-_080B1AEC:
- bl sub_80B1C7C
- bl ShowFieldMessage
-_080B1AF4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B1A14
-
- thumb_func_start BattleSetup_GetScriptAddrAfterBattle
-BattleSetup_GetScriptAddrAfterBattle: @ 80B1AF8
- push {lr}
- ldr r0, =gUnknown_02038BEC
- ldr r0, [r0]
- cmp r0, 0
- bne _080B1B04
- ldr r0, =EventScript_2C8436
-_080B1B04:
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_GetScriptAddrAfterBattle
-
- thumb_func_start BattleSetup_GetTrainerPostBattleScript
-BattleSetup_GetTrainerPostBattleScript: @ 80B1B10
- push {lr}
- ldr r1, =gUnknown_02038BF8
- ldrb r2, [r1]
- cmp r2, 0
- beq _080B1B3C
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_02038BF4
- ldr r2, [r0]
- cmp r2, 0
- beq _080B1B54
- ldr r1, =gUnknown_03006080
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- b _080B1B56
- .pool
-_080B1B3C:
- ldr r0, =gUnknown_02038BF0
- ldr r1, [r0]
- cmp r1, 0
- beq _080B1B54
- ldr r0, =gUnknown_03006080
- strh r2, [r0]
- adds r0, r1, 0
- b _080B1B56
- .pool
-_080B1B54:
- ldr r0, =LavaridgeTown_Gym_1F_EventScript_2742E6
-_080B1B56:
- pop {r1}
- bx r1
- .pool
- thumb_func_end BattleSetup_GetTrainerPostBattleScript
-
- thumb_func_start special_trainer_unable_to_battle
-special_trainer_unable_to_battle: @ 80B1B60
- push {lr}
- bl sub_80B1D18
- bl ShowFieldMessage
- pop {r0}
- bx r0
- thumb_func_end special_trainer_unable_to_battle
-
- thumb_func_start SetUpTrainerEncounterMusic
-@ void SetUpTrainerEncounterMusic()
-SetUpTrainerEncounterMusic: @ 80B1B70
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1B88
- ldr r0, =gTrainerBattleOpponent_A
- b _080B1B8A
- .pool
-_080B1B88:
- ldr r0, =gTrainerBattleOpponent_B
-_080B1B8A:
- ldrh r1, [r0]
- ldr r0, =gUnknown_02038BC8
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080B1C62
- cmp r0, 0x8
- beq _080B1C62
- adds r0, r1, 0
- bl GetTrainerEncounterMusicId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080B1C5C
- lsls r0, 2
- ldr r1, =_080B1BBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B1BBC:
- .4byte _080B1BF4
- .4byte _080B1BFA
- .4byte _080B1C04
- .4byte _080B1C5C
- .4byte _080B1C0C
- .4byte _080B1C12
- .4byte _080B1C1C
- .4byte _080B1C24
- .4byte _080B1C2C
- .4byte _080B1C34
- .4byte _080B1C3C
- .4byte _080B1C42
- .4byte _080B1C4C
- .4byte _080B1C54
-_080B1BF4:
- movs r0, 0xBE
- lsls r0, 1
- b _080B1C5E
-_080B1BFA:
- ldr r0, =0x00000197
- b _080B1C5E
- .pool
-_080B1C04:
- ldr r0, =0x0000017b
- b _080B1C5E
- .pool
-_080B1C0C:
- movs r0, 0xD0
- lsls r0, 1
- b _080B1C5E
-_080B1C12:
- ldr r0, =0x000001a1
- b _080B1C5E
- .pool
-_080B1C1C:
- ldr r0, =0x000001a3
- b _080B1C5E
- .pool
-_080B1C24:
- ldr r0, =0x000001b9
- b _080B1C5E
- .pool
-_080B1C2C:
- ldr r0, =0x00000181
- b _080B1C5E
- .pool
-_080B1C34:
- ldr r0, =0x000001c1
- b _080B1C5E
- .pool
-_080B1C3C:
- movs r0, 0xE1
- lsls r0, 1
- b _080B1C5E
-_080B1C42:
- ldr r0, =0x000001c3
- b _080B1C5E
- .pool
-_080B1C4C:
- ldr r0, =0x000001c5
- b _080B1C5E
- .pool
-_080B1C54:
- ldr r0, =0x0000018d
- b _080B1C5E
- .pool
-_080B1C5C:
- ldr r0, =0x000001a7
-_080B1C5E:
- bl PlayNewMapMusic
-_080B1C62:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetUpTrainerEncounterMusic
-
- thumb_func_start ReturnEmptyStringIfNull
-@ u8 *ReturnEmptyStringIfNull(u8 *str)
-ReturnEmptyStringIfNull: @ 80B1C6C
- push {lr}
- cmp r0, 0
- bne _080B1C74
- ldr r0, =gText_EmptyString2
-_080B1C74:
- pop {r1}
- bx r1
- .pool
- thumb_func_end ReturnEmptyStringIfNull
-
- thumb_func_start sub_80B1C7C
-sub_80B1C7C: @ 80B1C7C
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1C94
- ldr r0, =gUnknown_02038BD8
- b _080B1C96
- .pool
-_080B1C94:
- ldr r0, =gUnknown_02038BD4
-_080B1C96:
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1C7C
-
- thumb_func_start GetTrainer1LoseText
-GetTrainer1LoseText: @ 80B1CA4
- push {r4,lr}
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _080B1CBC
- bl sub_80EA250
- b _080B1CC0
- .pool
-_080B1CBC:
- ldr r0, =gUnknown_02038BDC
- ldr r0, [r0]
-_080B1CC0:
- ldr r4, =gStringVar4
- bl ReturnEmptyStringIfNull
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTrainer1LoseText
-
- thumb_func_start GetTrainer2LoseText
-GetTrainer2LoseText: @ 80B1CE0
- push {r4,lr}
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02038BE0
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetTrainer2LoseText
-
- thumb_func_start sub_80B1D04
-sub_80B1D04: @ 80B1D04
- push {lr}
- ldr r0, =gUnknown_02038BE4
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1D04
-
- thumb_func_start sub_80B1D18
-sub_80B1D18: @ 80B1D18
- push {lr}
- ldr r0, =gUnknown_02038BE8
- ldr r0, [r0]
- bl ReturnEmptyStringIfNull
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1D18
-
- thumb_func_start sub_80B1D2C
-sub_80B1D2C: @ 80B1D2C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- adds r2, r0, 0
-_080B1D36:
- ldrh r0, [r2]
- cmp r0, r1
- bne _080B1D40
- adds r0, r3, 0
- b _080B1D4C
-_080B1D40:
- adds r2, 0x10
- adds r3, 0x1
- cmp r3, 0x4D
- ble _080B1D36
- movs r0, 0x1
- negs r0, r0
-_080B1D4C:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D2C
-
- thumb_func_start sub_80B1D50
-sub_80B1D50: @ 80B1D50
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- adds r2, r0, 0
-_080B1D5A:
- movs r1, 0
- ldrh r0, [r2]
- cmp r0, 0
- beq _080B1D80
- movs r3, 0
-_080B1D64:
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, r5
- bne _080B1D70
- adds r0, r4, 0
- b _080B1D8C
-_080B1D70:
- adds r3, 0x2
- adds r1, 0x1
- cmp r1, 0x4
- bgt _080B1D80
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B1D64
-_080B1D80:
- adds r2, 0x10
- adds r4, 0x1
- cmp r4, 0x4D
- ble _080B1D5A
- movs r0, 0x1
- negs r0, r0
-_080B1D8C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D50
-
- thumb_func_start sub_80B1D94
-sub_80B1D94: @ 80B1D94
- push {lr}
- cmp r0, 0x48
- ble _080B1D9E
- movs r0, 0x1
- b _080B1DB8
-_080B1D9E:
- cmp r0, 0x40
- bne _080B1DB6
- movs r0, 0x7E
- bl FlagGet
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080B1DB2
- movs r1, 0x1
-_080B1DB2:
- adds r0, r1, 0
- b _080B1DB8
-_080B1DB6:
- movs r0, 0
-_080B1DB8:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1D94
-
- thumb_func_start sub_80B1DBC
-sub_80B1DBC: @ 80B1DBC
- push {r4-r6,lr}
- adds r6, r1, 0
- movs r5, 0x1
- lsls r1, r6, 4
- adds r1, r0
- adds r4, r1, 0x2
- b _080B1DCE
-_080B1DCA:
- adds r4, 0x2
- adds r5, 0x1
-_080B1DCE:
- cmp r5, 0x4
- bgt _080B1DE2
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B1DE2
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- bne _080B1DCA
-_080B1DE2:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r6
- strb r5, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1DBC
-
- thumb_func_start sub_80B1DFC
-sub_80B1DFC: @ 80B1DFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- movs r7, 0
- movs r5, 0
- adds r4, r6, 0
- adds r4, 0xA
-_080B1E1A:
- ldrh r0, [r4]
- cmp r0, r9
- bne _080B1E74
- ldrh r0, [r4, 0x2]
- cmp r0, r8
- bne _080B1E74
- adds r0, r5, 0
- bl sub_80B1D94
- cmp r0, 0
- bne _080B1E74
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1E72
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B1E74
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bhi _080B1E74
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80B1DBC
-_080B1E72:
- movs r7, 0x1
-_080B1E74:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x40
- ble _080B1E1A
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B1DFC
-
- thumb_func_start sub_80B1E94
-sub_80B1E94: @ 80B1E94
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_085500A4
- lsls r0, r4, 4
- adds r0, r5
- ldrh r0, [r0]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B1EB4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80B1DBC
-_080B1EB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B1E94
-
- thumb_func_start sub_80B1EC0
-sub_80B1EC0: @ 80B1EC0
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- adds r3, r0, 0
- adds r3, 0xA
- ldr r5, =gSaveBlock1Ptr
-_080B1ED2:
- ldrh r0, [r3]
- cmp r0, r4
- bne _080B1EF8
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- bne _080B1EF8
- ldr r0, [r5]
- ldr r6, =0x000009ca
- adds r0, r6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1EF8
- movs r0, 0x1
- b _080B1F02
- .pool
-_080B1EF8:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B1ED2
- movs r0, 0
-_080B1F02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1EC0
-
- thumb_func_start sub_80B1F08
-sub_80B1F08: @ 80B1F08
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0
- adds r3, r0, 0
- adds r3, 0xA
-_080B1F18:
- ldrh r0, [r3]
- cmp r0, r4
- bne _080B1F28
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- bne _080B1F28
- movs r0, 0x1
- b _080B1F32
-_080B1F28:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B1F18
- movs r0, 0
-_080B1F32:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F08
-
- thumb_func_start sub_80B1F38
-sub_80B1F38: @ 80B1F38
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B1F6C
- cmp r1, 0x63
- bgt _080B1F6C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1F6C
- movs r0, 0x1
- b _080B1F6E
- .pool
-_080B1F6C:
- movs r0, 0
-_080B1F6E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F38
-
- thumb_func_start sub_80B1F74
-sub_80B1F74: @ 80B1F74
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D50
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B1FA8
- cmp r1, 0x63
- bgt _080B1FA8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B1FA8
- movs r0, 0x1
- b _080B1FAA
- .pool
-_080B1FA8:
- movs r0, 0
-_080B1FAA:
- pop {r1}
- bx r1
- thumb_func_end sub_80B1F74
-
- thumb_func_start sub_80B1FB0
-sub_80B1FB0: @ 80B1FB0
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080B1FD8
- movs r0, 0
- b _080B1FFE
-_080B1FCA:
- subs r0, r6, 0x1
- lsls r0, 1
- adds r0, r7, r0
- ldrh r0, [r0]
- b _080B1FFE
-_080B1FD4:
- ldrh r0, [r5]
- b _080B1FFE
-_080B1FD8:
- lsls r0, r1, 4
- adds r7, r4, r0
- movs r6, 0x1
- adds r5, r7, 0x2
- adds r4, r5, 0
-_080B1FE2:
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B1FCA
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B1FD4
- adds r4, 0x2
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _080B1FE2
- ldrh r0, [r7, 0x8]
-_080B1FFE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B1FB0
-
- thumb_func_start sub_80B2004
-sub_80B2004: @ 80B2004
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080B2032
- movs r0, 0
- b _080B2054
-_080B201E:
- subs r0, r5, 0x1
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- b _080B2054
-_080B2028:
- subs r0, r5, 0x1
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- b _080B2054
-_080B2032:
- lsls r0, r1, 4
- adds r6, r4, r0
- movs r5, 0x1
- adds r4, r6, 0x2
-_080B203A:
- ldrh r0, [r4]
- cmp r0, 0
- beq _080B201E
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B2028
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- ble _080B203A
- ldrh r0, [r6, 0x8]
-_080B2054:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2004
-
- thumb_func_start sub_80B205C
-sub_80B205C: @ 80B205C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D50
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B207E
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080B207E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B205C
-
- thumb_func_start sub_80B208C
-sub_80B208C: @ 80B208C
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0xAE
- lsls r4, 1
- ldr r2, =gUnknown_085500A4
-_080B2098:
- ldrh r0, [r2]
- cmp r0, r3
- bne _080B20A8
- adds r0, r1, r4
- b _080B20B2
- .pool
-_080B20A8:
- adds r2, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _080B2098
- ldr r0, =0x0000ffff
-_080B20B2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B208C
-
- thumb_func_start sub_80B20BC
-sub_80B20BC: @ 80B20BC
- push {lr}
- ldr r0, =0x0000012f
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B20E2
- ldr r0, =gTrainerBattleOpponent_A
- ldrh r0, [r0]
- bl sub_80B208C
- adds r1, r0, 0
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080B20E2
- lsls r0, r1, 16
- lsrs r0, 16
- bl FlagSet
-_080B20E2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B20BC
-
- thumb_func_start sub_80B20F4
-sub_80B20F4: @ 80B20F4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B1D2C
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B211E
- lsls r0, r1, 4
- adds r0, r4
- ldrh r0, [r0, 0x2]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B211E
- movs r0, 0x1
- b _080B2120
-_080B211E:
- movs r0, 0
-_080B2120:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B20F4
-
- thumb_func_start sub_80B2128
-sub_80B2128: @ 80B2128
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- ldr r4, =gUnknown_08550584
-_080B2130:
- ldrh r0, [r4]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B214C
- adds r6, 0x1
- cmp r6, 0x4
- ble _080B214C
- movs r0, 0x1
- b _080B2156
- .pool
-_080B214C:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x7
- bls _080B2130
- movs r0, 0
-_080B2156:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2128
-
- thumb_func_start sub_80B215C
-sub_80B215C: @ 80B215C
- push {lr}
- bl sub_80B2128
- cmp r0, 0
- beq _080B2184
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009c8
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0xFE
- bls _080B2180
- movs r0, 0xFF
- b _080B2182
- .pool
-_080B2180:
- adds r0, 0x1
-_080B2182:
- strh r0, [r1]
-_080B2184:
- pop {r0}
- bx r0
- thumb_func_end sub_80B215C
-
- thumb_func_start sub_80B2188
-sub_80B2188: @ 80B2188
- push {lr}
- bl sub_80B2128
- cmp r0, 0
- beq _080B21AC
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009c8
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFE
- bls _080B21AC
- movs r0, 0x1
- b _080B21AE
- .pool
-_080B21AC:
- movs r0, 0
-_080B21AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80B2188
-
- thumb_func_start sub_80B21B4
-sub_80B21B4: @ 80B21B4
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_80B2188
- cmp r0, 0
- beq _080B21E0
- ldr r0, =gUnknown_085500A4
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80B1DFC
- cmp r0, 0x1
- bne _080B21E0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009c8
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
-_080B21E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B21B4
-
- thumb_func_start sub_80B21F4
-sub_80B21F4: @ 80B21F4
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_085500A4
- adds r1, r3, 0
- bl sub_80B1EC0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B21F4
-
- thumb_func_start sub_80B2214
-sub_80B2214: @ 80B2214
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_085500A4
- adds r1, r3, 0
- bl sub_80B1F08
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2214
-
- thumb_func_start sub_80B2234
-sub_80B2234: @ 80B2234
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_085500A4
- bl sub_80B1FB0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2234
-
- thumb_func_start sub_80B2250
-sub_80B2250: @ 80B2250
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_085500A4
- bl sub_80B2004
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2250
-
- thumb_func_start sub_80B226C
-sub_80B226C: @ 80B226C
- push {r4,r5,lr}
- ldr r5, =gUnknown_085500A4
- ldr r4, =gTrainerBattleOpponent_A
- ldrh r1, [r4]
- adds r0, r5, 0
- bl sub_80B1F38
- lsls r0, 24
- cmp r0, 0
- bne _080B2298
- ldrh r1, [r4]
- adds r0, r5, 0
- bl sub_80B20F4
- lsls r0, 24
- lsrs r0, 24
- b _080B229A
- .pool
-_080B2298:
- movs r0, 0x1
-_080B229A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B226C
-
- thumb_func_start sub_80B22A0
-sub_80B22A0: @ 80B22A0
- push {lr}
- ldr r0, =gUnknown_085500A4
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl sub_80B1F74
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B22A0
-
- thumb_func_start sub_80B22BC
-sub_80B22BC: @ 80B22BC
- push {lr}
- ldr r0, =gUnknown_085500A4
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl sub_80B205C
- bl rom_npc_set_flag_for_script_id
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B22BC
-
- thumb_func_start CheckIfMultipleTrainersWantBattle
-CheckIfMultipleTrainersWantBattle: @ 80B22D8
- push {lr}
- ldr r1, =gUnknown_02038BF9
- ldrb r0, [r1]
- cmp r0, 0x1
- bls _080B2300
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_02038BF8
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- b _080B230A
- .pool
-_080B2300:
- ldr r1, =gUnknown_02038BF8
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0
-_080B230A:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end CheckIfMultipleTrainersWantBattle
-
- thumb_func_start sub_80B2318
-sub_80B2318: @ 80B2318
- push {r4-r7,lr}
- lsls r0, 16
- ldr r7, =gUnknown_085500A4
- lsrs r4, r0, 12
- adds r6, r4, r7
- ldrh r0, [r6]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B2338
- movs r0, 0
- b _080B2364
- .pool
-_080B2338:
- movs r5, 0x1
- adds r0, r4, 0x2
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B2360
- adds r4, r6, 0x2
-_080B2346:
- ldrh r0, [r4]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- beq _080B2360
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- bgt _080B2360
- ldrh r0, [r4]
- cmp r0, 0
- bne _080B2346
-_080B2360:
- lsls r0, r5, 16
- lsrs r0, 16
-_080B2364:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2318
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/battle_tent.s b/asm/battle_tent.s
index 8253d4f98..c967390d0 100755..100644
--- a/asm/battle_tent.s
+++ b/asm/battle_tent.s
@@ -5,586 +5,6 @@
.text
- thumb_func_start sub_81B99B4
-sub_81B99B4: @ 81B99B4
- push {lr}
- ldr r1, =gUnknown_086160B4
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B99B4
-
- thumb_func_start sub_81B99D4
-sub_81B99D4: @ 81B99D4
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B99D4
-
- thumb_func_start sub_81B9A28
-sub_81B9A28: @ 81B9A28
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6a
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9A28
-
- thumb_func_start sub_81B9A44
-sub_81B9A44: @ 81B9A44
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6a
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9A44
-
- thumb_func_start sub_81B9A60
-sub_81B9A60: @ 81B9A60
- push {r4,lr}
- ldr r4, =gTrainerBattleOpponent_A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xFF
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsrs r1, 6
- strh r1, [r4]
- ldrh r0, [r4]
- movs r1, 0
- bl sub_8162614
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9A60
-
- thumb_func_start sub_81B9A90
-sub_81B9A90: @ 81B9A90
- push {lr}
- ldr r3, =gTrainerBattleOpponent_A
- ldrh r1, [r3]
- ldr r0, =0x0000012b
- cmp r1, r0
- bhi _081B9AAC
- ldr r2, =gUnknown_0203BC88
- movs r0, 0x34
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- adds r0, 0xC
- bl ConvertBattleFrontierTrainerSpeechToString
-_081B9AAC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9A90
-
- thumb_func_start sub_81B9ABC
-sub_81B9ABC: @ 81B9ABC
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9ABC
-
- thumb_func_start sub_81B9B00
-sub_81B9B00: @ 81B9B00
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_086160D4
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6a
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B00
-
- thumb_func_start sub_81B9B28
-sub_81B9B28: @ 81B9B28
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9B70
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6a
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9B76
- .pool
-_081B9B70:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9B76:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B28
-
- thumb_func_start sub_81B9B80
-sub_81B9B80: @ 81B9B80
- push {lr}
- ldr r1, =gUnknown_086160D8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9B80
-
- thumb_func_start sub_81B9BA0
-sub_81B9BA0: @ 81B9BA0
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9BA0
-
- thumb_func_start sub_81B9BF4
-sub_81B9BF4: @ 81B9BF4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6c
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9BF4
-
- thumb_func_start sub_81B9C10
-sub_81B9C10: @ 81B9C10
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6c
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9C10
-
- thumb_func_start sub_81B9C2C
-sub_81B9C2C: @ 81B9C2C
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C2C
-
- thumb_func_start sub_81B9C70
-sub_81B9C70: @ 81B9C70
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_086160F4
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6c
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C70
-
- thumb_func_start sub_81B9C98
-sub_81B9C98: @ 81B9C98
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9CE0
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6c
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9CE6
- .pool
-_081B9CE0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9CE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9C98
-
- thumb_func_start sub_81B9CF0
-sub_81B9CF0: @ 81B9CF0
- push {lr}
- ldr r0, =gStringVar1
- ldr r1, =gTrainerBattleOpponent_A
- ldrh r1, [r1]
- bl GetFrontierTrainerName
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9CF0
-
- thumb_func_start sub_81B9D08
-sub_81B9D08: @ 81B9D08
- push {lr}
- ldr r1, =gUnknown_086160F8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9D08
-
- thumb_func_start sub_81B9D28
-sub_81B9D28: @ 81B9D28
- push {lr}
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- ldr r3, =0x00000cb2
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9D28
-
- thumb_func_start sub_81B9D7C
-sub_81B9D7C: @ 81B9D7C
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000e6e
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81B9D7C
-
- thumb_func_start sub_81B9D98
-sub_81B9D98: @ 81B9D98
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_0x8006
- ldrh r1, [r1]
- ldr r2, =0x00000e6e
- adds r0, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81B9D98
-
- thumb_func_start sub_81B9DB4
-sub_81B9DB4: @ 81B9DB4
- push {r4,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =gSpecialVar_0x8005
- ldrh r1, [r1]
- ldr r2, =0x00000ca8
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0
- bl VarSet
- ldr r1, [r4]
- ldr r0, =0x00000ca9
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bl sub_81A4C30
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9DB4
-
- thumb_func_start sub_81B9DF8
-sub_81B9DF8: @ 81B9DF8
- push {r4,r5,lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r4, [r0]
- ldr r5, =gUnknown_08616120
- bl Random
- ldrh r0, [r5]
- ldr r1, =0x00000e6e
- adds r4, r1
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9DF8
-
- thumb_func_start sub_81B9E20
-sub_81B9E20: @ 81B9E20
- push {r4,r5,lr}
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _081B9E68
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, [r4]
- ldr r1, =0x00000e6e
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _081B9E6E
- .pool
-_081B9E68:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_081B9E6E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B9E20
-
- thumb_func_start sub_81B9E78
-sub_81B9E78: @ 81B9E78
- push {lr}
- bl ZeroPlayerPartyMons
- bl sub_819A4F8
- pop {r0}
- bx r0
- thumb_func_end sub_81B9E78
-
- thumb_func_start sub_81B9E88
-sub_81B9E88: @ 81B9E88
- push {lr}
- bl sub_819DC00
- pop {r0}
- bx r0
- thumb_func_end sub_81B9E88
-
- thumb_func_start sub_81B9E94
-sub_81B9E94: @ 81B9E94
- push {lr}
- movs r2, 0
- ldr r1, =gMapHeader
- ldrb r0, [r1, 0x14]
- cmp r0, 0x8
- bne _081B9EB2
- ldr r3, =0xfffffe7f
- adds r0, r3, 0
- ldrh r1, [r1, 0x12]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081B9EB2
- movs r2, 0x1
-_081B9EB2:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81B9E94
thumb_func_start sub_81B9EC0
sub_81B9EC0: @ 81B9EC0
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 42dcb431a..7340ea1ce 100755..100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -1340,7 +1340,7 @@ GetFrontierTrainerFrontSpriteId: @ 8162AA0
lsls r0, 1
cmp r4, r0
bne _08162AD0
- ldr r1, =gUnknown_0831F578
+ ldr r1, =gFacilityClassToPicIndex
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000bed
@@ -1353,7 +1353,7 @@ _08162AD0:
ldr r0, =0x000003fe
cmp r4, r0
bne _08162AE4
- bl sub_81A4CB0
+ bl GetFrontierBrainTrainerPicIndex
lsls r0, 24
lsrs r0, 24
b _08162BCA
@@ -1362,7 +1362,7 @@ _08162AE4:
ldr r0, =0x0000012b
cmp r4, r0
bhi _08162B08
- ldr r2, =gUnknown_0831F578
+ ldr r2, =gFacilityClassToPicIndex
ldr r0, =gUnknown_0203BC88
ldr r1, [r0]
movs r0, 0x34
@@ -1383,7 +1383,7 @@ _08162B08:
ands r0, r1
cmp r0, 0
beq _08162B38
- ldr r4, =gUnknown_0831F578
+ ldr r4, =gFacilityClassToPicIndex
bl sub_818649C
lsls r0, 24
lsrs r0, 24
@@ -1391,7 +1391,7 @@ _08162B08:
b _08162BC8
.pool
_08162B38:
- ldr r3, =gUnknown_0831F578
+ ldr r3, =gFacilityClassToPicIndex
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0xfffffed4
@@ -1413,7 +1413,7 @@ _08162B64:
ands r0, r1
cmp r0, 0
bne _08162BB0
- ldr r4, =gUnknown_0831F578
+ ldr r4, =gFacilityClassToPicIndex
ldr r3, =gUnknown_08610970
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
@@ -1436,7 +1436,7 @@ _08162B64:
b _08162BC8
.pool
_08162BB0:
- ldr r5, =gUnknown_0831F578
+ ldr r5, =gFacilityClassToPicIndex
ldr r4, =gUnknown_08610970
bl sub_81864A8
lsls r0, 24
@@ -1467,7 +1467,7 @@ GetFrontierOpponentClass: @ 8162BD8
lsls r0, 1
cmp r4, r0
bne _08162C08
- ldr r1, =gTrainerClassToNameIndex
+ ldr r1, =gFacilityClassToTrainerClass
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000bed
@@ -1479,7 +1479,7 @@ _08162C08:
ldr r0, =0x000003fe
cmp r4, r0
bne _08162C1C
- bl sub_81A4D00
+ bl GetFrontierBrainTrainerClass
lsls r0, 24
lsrs r0, 24
b _08162D1E
@@ -1499,7 +1499,7 @@ _08162C38:
ldr r0, =0x0000012b
cmp r4, r0
bhi _08162C60
- ldr r2, =gTrainerClassToNameIndex
+ ldr r2, =gFacilityClassToTrainerClass
ldr r0, =gUnknown_0203BC88
ldr r1, [r0]
movs r0, 0x34
@@ -1521,7 +1521,7 @@ _08162C60:
ands r0, r1
cmp r0, 0
beq _08162C90
- ldr r4, =gTrainerClassToNameIndex
+ ldr r4, =gFacilityClassToTrainerClass
bl sub_818649C
lsls r0, 24
lsrs r0, 24
@@ -1530,7 +1530,7 @@ _08162C60:
b _08162D1E
.pool
_08162C90:
- ldr r3, =gTrainerClassToNameIndex
+ ldr r3, =gFacilityClassToTrainerClass
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0xfffffed4
@@ -1553,7 +1553,7 @@ _08162CBC:
ands r0, r1
cmp r0, 0
beq _08162CF4
- ldr r5, =gTrainerClassToNameIndex
+ ldr r5, =gFacilityClassToTrainerClass
ldr r4, =gUnknown_08610970
bl sub_81864A8
lsls r0, 24
@@ -1568,7 +1568,7 @@ _08162CBC:
b _08162D1E
.pool
_08162CF4:
- ldr r4, =gTrainerClassToNameIndex
+ ldr r4, =gFacilityClassToTrainerClass
ldr r3, =gUnknown_08610970
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
@@ -1729,14 +1729,14 @@ _08162E54:
cmp r5, r0
bne _08162E68
adds r0, r6, 0
- bl sub_81A4D50
+ bl CopyFrontierBrainTrainerName
b _08162F62
.pool
_08162E68:
ldr r0, =0x00000c03
cmp r5, r0
bne _08162E88
- ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name
+ ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name
_08162E70:
adds r0, r6, r4
adds r1, r4, r2
@@ -2351,7 +2351,7 @@ _08163368:
ldr r2, [sp, 0x30]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
mov r6, sp
strb r0, [r6, 0x14]
@@ -2775,7 +2775,7 @@ _081636CE:
str r2, [sp, 0x8]
ldr r2, [sp, 0x14]
mov r3, r10
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -2894,7 +2894,7 @@ _081637D0:
mov r2, r9
str r2, [sp, 0x8]
movs r2, 0x1E
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r1, 0
add r0, sp, 0xC
strb r1, [r0]
@@ -3134,7 +3134,7 @@ _081639FC:
bl __umodsi3
cmp r0, 0
bne _08163A78
- bl sub_81DA57C
+ bl UpdateGymLeaderRematch
b _08163A78
.pool
_08163A2C:
@@ -3172,7 +3172,7 @@ _08163A3C:
_08163A74:
bl sub_816537C
_08163A78:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
add sp, 0x4
pop {r4-r6}
@@ -3534,7 +3534,7 @@ _08163E10:
bl sub_80B100C
lsls r0, 24
lsrs r0, 24
- bl sub_8145EF4
+ bl BattleTransition_StartOnField
b _08163E68
.pool
_08163E2C:
@@ -3544,7 +3544,7 @@ _08163E2C:
ldr r5, =0x00000c03
adds r0, r5, 0
bl sub_8165404
- ldr r4, =gUnknown_02038BFC
+ ldr r4, =gApproachingTrainerId
movs r0, 0
strb r0, [r4]
ldr r0, =MossdeepCity_SpaceCenter_2F_EventScript_224157 + 1
@@ -3561,7 +3561,7 @@ _08163E2C:
movs r0, 0
bl PlayMapChosenOrBattleBGM
movs r0, 0x12
- bl sub_8145EF4
+ bl BattleTransition_StartOnField
_08163E68:
add sp, 0x4
pop {r4-r6}
@@ -3746,7 +3746,7 @@ _08163FF4:
ldr r0, [r6]
ldr r1, =0x0000064c
adds r0, r1
- bl sub_8164F70
+ bl CalcEmeraldBattleTowerChecksum
bl sub_8163E90
pop {r3,r4}
mov r8, r3
@@ -5264,7 +5264,7 @@ _08164D14:
ldrb r0, [r0]
cmp r0, 0
beq _08164DB0
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08164DB0
@@ -5302,7 +5302,7 @@ _08164DB6:
thumb_func_start sub_8164DCC
sub_8164DCC: @ 8164DCC
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08164DDA
@@ -5354,7 +5354,7 @@ sub_8164E04: @ 8164E04
adds r0, r2
ldrh r1, [r5]
bl sub_8165B88
- ldr r6, =gBattlePartyID
+ ldr r6, =gBattlerPartyIndexes
ldrh r0, [r6, 0x2]
movs r5, 0x64
muls r0, r5
@@ -5484,8 +5484,8 @@ _08164F52:
.pool
thumb_func_end sub_8164ED8
- thumb_func_start sub_8164F70
-sub_8164F70: @ 8164F70
+ thumb_func_start CalcEmeraldBattleTowerChecksum
+CalcEmeraldBattleTowerChecksum: @ 8164F70
push {r4,lr}
adds r2, r0, 0
adds r2, 0xE8
@@ -5504,7 +5504,7 @@ _08164F7E:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8164F70
+ thumb_func_end CalcEmeraldBattleTowerChecksum
thumb_func_start sub_8164F94
sub_8164F94: @ 8164F94
@@ -5845,7 +5845,7 @@ _08165206:
thumb_func_start GetEreaderTrainerFrontSpriteId
GetEreaderTrainerFrontSpriteId: @ 8165244
- ldr r1, =gUnknown_0831F578
+ ldr r1, =gFacilityClassToPicIndex
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000bed
@@ -5859,7 +5859,7 @@ GetEreaderTrainerFrontSpriteId: @ 8165244
thumb_func_start GetEreaderTrainerClassId
GetEreaderTrainerClassId: @ 8165264
- ldr r1, =gTrainerClassToNameIndex
+ ldr r1, =gFacilityClassToTrainerClass
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r2, =0x00000bed
@@ -5898,8 +5898,8 @@ _08165294:
.pool
thumb_func_end GetEreaderTrainerName
- thumb_func_start sub_81652B4
-sub_81652B4: @ 81652B4
+ thumb_func_start ValidateEReaderTrainer
+ValidateEReaderTrainer: @ 81652B4
push {r4-r6,lr}
ldr r2, =gSpecialVar_Result
movs r0, 0
@@ -5951,7 +5951,7 @@ _08165316:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81652B4
+ thumb_func_end ValidateEReaderTrainer
thumb_func_start sub_8165328
sub_8165328: @ 8165328
@@ -6193,7 +6193,7 @@ _081654DE:
adds r4, r0
adds r0, r4, 0
movs r1, 0x7
- ldr r2, =gTrainers + TRAINER_STEVEN * 0x28 + 0x4 @ Steven's name
+ ldr r2, =gTrainers + 804 * 0x28 + 0x4 @ TRAINER_STEVEN name
bl SetMonData
movs r0, 0
str r0, [sp, 0x44]
@@ -6289,7 +6289,7 @@ _081655A6:
str r3, [sp, 0x8]
lsrs r2, 24
mov r3, r12
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
movs r0, 0xFF
str r0, [sp, 0x48]
movs r0, 0
@@ -6750,7 +6750,7 @@ _08165988:
ldr r1, [sp, 0x10]
bl CpuSet
adds r0, r5, 0
- bl sub_8164F70
+ bl CalcEmeraldBattleTowerChecksum
movs r0, 0x1
_081659BE:
add sp, 0x14
@@ -7550,7 +7550,7 @@ _08165FDA:
ldr r2, [sp, 0x2C]
str r2, [sp, 0x8]
ldr r2, [sp, 0x20]
- bl sub_8068634
+ bl CreateMonWithEVSpreadPersonalityOTID
add r1, sp, 0x14
movs r0, 0xFF
strb r0, [r1]
diff --git a/asm/battle_transition.s b/asm/battle_transition.s
deleted file mode 100644
index 6ffa17320..000000000
--- a/asm/battle_transition.s
+++ /dev/null
@@ -1,9826 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CB2_TestBattleTransition
-CB2_TestBattleTransition: @ 8145E84
- push {r4,lr}
- ldr r4, =sTestingTransitionState
- ldrb r0, [r4]
- cmp r0, 0
- beq _08145E98
- cmp r0, 0x1
- beq _08145EAC
- b _08145EC0
- .pool
-_08145E98:
- ldr r0, =sTestingTransitionId
- ldrb r0, [r0]
- bl LaunchBattleTransitionTask
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08145EC0
- .pool
-_08145EAC:
- bl IsBattleTransitionDone
- lsls r0, 24
- cmp r0, 0
- beq _08145EC0
- movs r0, 0
- strb r0, [r4]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
-_08145EC0:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_TestBattleTransition
-
- thumb_func_start TestBattleTransition
-TestBattleTransition: @ 8145EDC
- push {lr}
- ldr r1, =sTestingTransitionId
- strb r0, [r1]
- ldr r0, =CB2_TestBattleTransition
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end TestBattleTransition
-
- thumb_func_start sub_8145EF4
-sub_8145EF4: @ 8145EF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMain
- ldr r1, =sub_8085E50
- str r1, [r2, 0x4]
- bl LaunchBattleTransitionTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145EF4
-
- thumb_func_start sub_8145F10
-sub_8145F10: @ 8145F10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl LaunchBattleTransitionTask
- pop {r0}
- bx r0
- thumb_func_end sub_8145F10
-
- thumb_func_start IsBattleTransitionDone
-IsBattleTransitionDone: @ 8145F20
- push {r4,lr}
- ldr r0, =Task_BattleTransitionMain
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08145F4C
- movs r0, 0
- b _08145F60
- .pool
-_08145F4C:
- adds r0, r2, 0
- bl DestroyTask
- ldr r4, =sTransitionStructPtr
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- movs r0, 0x1
-_08145F60:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end IsBattleTransitionDone
-
- thumb_func_start LaunchBattleTransitionTask
-LaunchBattleTransitionTask: @ 8145F6C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =Task_BattleTransitionMain
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- ldr r4, =sTransitionStructPtr
- movs r0, 0x3C
- bl AllocZeroed
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LaunchBattleTransitionTask
-
- thumb_func_start Task_BattleTransitionMain
-Task_BattleTransitionMain: @ 8145FA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8A98
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08145FBA:
- 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 _08145FBA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_BattleTransitionMain
-
- thumb_func_start sub_8145FE0
-sub_8145FE0: @ 8145FE0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80AC3D0
- ldr r0, =gPlttBufferFaded
- ldr r1, =gPlttBufferUnfaded
- ldr r2, =0x04000100
- bl CpuSet
- ldr r1, =gUnknown_085C8948
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0814601C
- movs r0, 0x2
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _0814602A
- .pool
-_0814601C:
- movs r1, 0x4
- bl CreateTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
-_0814602A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8145FE0
-
- thumb_func_start sub_8146030
-sub_8146030: @ 8146030
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_085C8948
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08146054
- movs r0, 0
- b _0814605C
- .pool
-_08146054:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
-_0814605C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146030
-
- thumb_func_start sub_8146064
-sub_8146064: @ 8146064
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_085C89F0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146064
-
- thumb_func_start sub_814608C
-sub_814608C: @ 814608C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, =gUnknown_085C89F0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _081460B0
- movs r0, 0x1
- strh r0, [r4, 0x26]
-_081460B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814608C
-
- thumb_func_start sub_81460BC
-sub_81460BC: @ 81460BC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _081460F4
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_8149D78
- b _08146104
- .pool
-_081460F4:
- bl sub_8149DDC
- lsls r0, 24
- cmp r0, 0
- beq _08146104
- adds r0, r4, 0
- bl DestroyTask
-_08146104:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81460BC
-
- thumb_func_start sub_814610C
-sub_814610C: @ 814610C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8AA8
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814611E:
- 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 _0814611E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814610C
-
- thumb_func_start sub_8146144
-sub_8146144: @ 8146144
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0x40
- bl SetGpuRegBits
- movs r0, 0xC
- movs r1, 0x40
- bl SetGpuRegBits
- movs r0, 0xE
- movs r1, 0x40
- bl SetGpuRegBits
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146144
-
- thumb_func_start sub_8146178
-sub_8146178: @ 8146178
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r2, [r4, r1]
- cmp r2, 0
- beq _0814618E
- subs r0, 0x1
- strh r0, [r4, 0xA]
- b _081461CE
-_0814618E:
- movs r0, 0x4
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _081461B0
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_081461B0:
- ldrh r1, [r4, 0xC]
- movs r0, 0xF
- ands r0, r1
- lsls r1, r0, 4
- orrs r1, r0
- movs r0, 0x4C
- bl SetGpuReg
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0xE
- ble _081461CE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081461CE:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8146178
-
- thumb_func_start sub_81461D8
-sub_81461D8: @ 81461D8
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081461F4
- ldr r0, =sub_814610C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081461F4:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81461D8
-
- thumb_func_start sub_8146204
-sub_8146204: @ 8146204
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8AB4
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146216:
- 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 _08146216
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146204
-
- thumb_func_start sub_814623C
-sub_814623C: @ 814623C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020393A8
- ldr r1, =sTransitionStructPtr
- ldr r1, [r1]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- str r4, [sp]
- movs r2, 0xA0
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0x2
- bl sub_8149F98
- ldr r0, =sub_8146320
- bl SetVBlankCallback
- ldr r0, =sub_8146358
- bl SetHBlankCallback
- movs r0, 0x3
- bl EnableInterrupts
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814623C
-
- thumb_func_start sub_81462A8
-sub_81462A8: @ 81462A8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, =sTransitionStructPtr
- ldr r2, [r4]
- ldrb r1, [r2]
- movs r1, 0
- strb r1, [r2]
- ldrh r1, [r0, 0xA]
- adds r1, 0x4
- strh r1, [r0, 0xA]
- ldrh r1, [r0, 0xC]
- adds r1, 0x8
- strh r1, [r0, 0xC]
- ldr r3, =gUnknown_02038C28
- ldr r1, [r4]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- movs r5, 0xA
- ldrsh r2, [r0, r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- str r0, [sp]
- movs r0, 0xA0
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0x2
- bl sub_8149F98
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081462FA
- ldr r0, =sub_8146204
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081462FA:
- ldr r0, [r4]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81462A8
-
- thumb_func_start sub_8146320
-sub_8146320: @ 8146320
- push {lr}
- bl sub_8149F2C
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08146344
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08146344:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146320
-
- thumb_func_start sub_8146358
-sub_8146358: @ 8146358
- ldr r1, =gUnknown_02038C28
- ldr r0, =0x04000006
- ldrh r0, [r0]
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x04000014
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8146358
-
- thumb_func_start sub_8146384
-sub_8146384: @ 8146384
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8ABC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146396:
- 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 _08146396
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146384
-
- thumb_func_start sub_81463BC
-sub_81463BC: @ 81463BC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldr r0, =gUnknown_020393A8
- movs r2, 0x16
- ldrsh r1, [r1, r2]
- movs r2, 0xA0
- lsls r2, 1
- bl memset
- ldr r0, =sub_81464B0
- bl SetVBlankCallback
- ldr r0, =sub_81464E8
- bl SetHBlankCallback
- movs r0, 0x3
- bl EnableInterrupts
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81463BC
-
- thumb_func_start sub_8146420
-sub_8146420: @ 8146420
- push {r4-r7,lr}
- ldr r1, =sTransitionStructPtr
- ldr r2, [r1]
- ldrb r1, [r2]
- movs r1, 0
- strb r1, [r2]
- ldrh r4, [r0, 0xA]
- ldrh r2, [r0, 0xC]
- lsls r3, r2, 16
- asrs r3, 24
- movs r5, 0x84
- lsls r5, 5
- adds r1, r4, r5
- strh r1, [r0, 0xA]
- movs r1, 0xC0
- lsls r1, 1
- adds r2, r1
- strh r2, [r0, 0xC]
- movs r5, 0
- lsls r7, r3, 16
-_08146448:
- lsrs r0, r4, 8
- asrs r1, r7, 16
- bl Sin
- ldr r1, =gUnknown_02038C28
- lsls r2, r5, 1
- adds r2, r1
- ldr r6, =sTransitionStructPtr
- ldr r1, [r6]
- ldrh r1, [r1, 0x16]
- adds r0, r1
- strh r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x84
- lsls r1, 5
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x9F
- bls _08146448
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814648E
- ldr r0, =sub_8146384
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0814648E:
- ldr r0, [r6]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146420
-
- thumb_func_start sub_81464B0
-sub_81464B0: @ 81464B0
- push {lr}
- bl sub_8149F2C
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _081464D4
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_081464D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81464B0
-
- thumb_func_start sub_81464E8
-sub_81464E8: @ 81464E8
- ldr r1, =gUnknown_02038C28
- ldr r0, =0x04000006
- ldrh r0, [r0]
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x04000016
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81464E8
-
- thumb_func_start sub_8146514
-sub_8146514: @ 8146514
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8AFC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146526:
- 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 _08146526
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146514
-
- thumb_func_start sub_814654C
-sub_814654C: @ 814654C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8AC4
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814655E:
- 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 _0814655E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814654C
-
- thumb_func_start sub_8146584
-sub_8146584: @ 8146584
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8AE0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146596:
- 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 _08146596
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146584
-
- thumb_func_start sub_81465BC
-sub_81465BC: @ 81465BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B14
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081465CE:
- 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 _081465CE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81465BC
-
- thumb_func_start sub_81465F4
-sub_81465F4: @ 81465F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B2C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146606:
- 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 _08146606
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81465F4
-
- thumb_func_start sub_814662C
-sub_814662C: @ 814662C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B44
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814663E:
- 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 _0814663E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814662C
-
- thumb_func_start sub_8146664
-sub_8146664: @ 8146664
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B5C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146676:
- 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 _08146676
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146664
-
- thumb_func_start sub_814669C
-sub_814669C: @ 814669C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r1, 0
- movs r0, 0x10
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
- strh r1, [r4, 0x10]
- movs r0, 0x80
- lsls r0, 7
- strh r0, [r4, 0x12]
- ldr r0, =sTransitionStructPtr
- ldr r2, [r0]
- movs r0, 0x3F
- strh r0, [r2, 0x2]
- strh r1, [r2, 0x4]
- movs r0, 0xF0
- strh r0, [r2, 0x6]
- movs r0, 0xA0
- strh r0, [r2, 0x8]
- ldr r0, =0x00003f41
- strh r0, [r2, 0xE]
- ldrh r0, [r4, 0xA]
- lsls r0, 8
- ldrh r1, [r4, 0xC]
- orrs r0, r1
- strh r0, [r2, 0x10]
- ldr r0, =gUnknown_02038C28
- movs r2, 0xF0
- movs r1, 0x9F
- ldr r3, =0x000008be
- adds r0, r3
-_081466E2:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _081466E2
- ldr r0, =sub_8146F3C
- bl SetVBlankCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814669C
-
- thumb_func_start sub_814670C
-sub_814670C: @ 814670C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x3C
- strh r0, [r4, 0x18]
- adds r0, r4, 0
- bl sub_814669C
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r0, sp
- strh r5, [r0]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- bl CpuSet
- ldr r0, =gUnknown_085BAED0
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085BAEB0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814670C
-
- thumb_func_start sub_8146760
-sub_8146760: @ 8146760
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x3C
- strh r0, [r4, 0x18]
- adds r0, r4, 0
- bl sub_814669C
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r0, sp
- strh r5, [r0]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- bl CpuSet
- ldr r0, =gUnknown_085BB4A4
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085BAEB0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146760
-
- thumb_func_start sub_81467B4
-sub_81467B4: @ 81467B4
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x3C
- strh r0, [r4, 0x18]
- adds r0, r4, 0
- bl sub_814669C
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r0, sp
- strh r5, [r0]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- bl CpuSet
- ldr r0, =gUnknown_085BBC14
- ldr r1, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 5
- bl CpuSet
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81467B4
-
- thumb_func_start sub_8146800
-sub_8146800: @ 8146800
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- bl sub_814669C
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085B9330
- ldr r1, [sp, 0x8]
- movs r2, 0xB0
- lsls r2, 2
- bl CpuSet
- ldr r0, =gFieldEffectObjectPalette10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146800
-
- thumb_func_start sub_8146854
-sub_8146854: @ 8146854
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r7, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r5, =gUnknown_085C9020
- movs r1, 0
- ldr r0, [sp, 0x8]
- mov r9, r0
- ldr r6, =gUnknown_02038C28
- mov r8, r6
- movs r0, 0xF0
- lsls r0, 8
- mov r12, r0
-_0814687A:
- movs r0, 0
- lsls r3, r1, 16
- asrs r4, r3, 11
-_08146880:
- lsls r2, r0, 16
- asrs r2, 16
- adds r1, r4, r2
- lsls r1, 1
- add r1, r9
- ldrh r0, [r5]
- mov r6, r12
- orrs r0, r6
- strh r0, [r1]
- adds r2, 0x1
- lsls r2, 16
- adds r5, 0x2
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0x1D
- ble _08146880
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0814687A
- movs r6, 0x10
- ldrsh r2, [r7, r6]
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- str r0, [sp]
- movs r0, 0xA0
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
- movs r0, 0x1
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146854
-
- thumb_func_start sub_81468E4
-sub_81468E4: @ 81468E4
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BB248
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81468E4
-
- thumb_func_start sub_814692C
-sub_814692C: @ 814692C
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BB930
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814692C
-
- thumb_func_start sub_8146974
-sub_8146974: @ 8146974
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BC2B4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085BC314
- ldr r1, [sp, 0x8]
- movs r2, 0xA0
- lsls r2, 2
- bl CpuSet
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146974
-
- thumb_func_start sub_81469CC
-sub_81469CC: @ 81469CC
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BC2D4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085BCB14
- ldr r1, [sp, 0x8]
- movs r2, 0xA0
- lsls r2, 2
- bl CpuSet
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81469CC
-
- thumb_func_start sub_8146A24
-sub_8146A24: @ 8146A24
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BC2F4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085BD314
- ldr r1, [sp, 0x8]
- movs r2, 0xA0
- lsls r2, 2
- bl CpuSet
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146A24
-
- thumb_func_start sub_8146A7C
-sub_8146A7C: @ 8146A7C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085BDB34
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085BE1E8
- ldr r1, [sp, 0x4]
- bl LZ77UnCompVram
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146A7C
-
- thumb_func_start sub_8146AC8
-sub_8146AC8: @ 8146AC8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08146B00
- adds r0, r5, 0
- movs r1, 0x1E
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gUnknown_085BEDA0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08146B00:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3A
- ble _08146B18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
-_08146B18:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146AC8
-
- thumb_func_start sub_8146B24
-sub_8146B24: @ 8146B24
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x5
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08146B52
- adds r0, r5, 0
- movs r1, 0x5
- bl __divsi3
- lsls r0, 16
- asrs r0, 11
- ldr r1, =gUnknown_085BEEE0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08146B52:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x44
- ble _08146B6E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x1E
- strh r0, [r4, 0x18]
-_08146B6E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146B24
-
- thumb_func_start sub_8146B7C
-sub_8146B7C: @ 8146B7C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =0xffff8000
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146B7C
-
- thumb_func_start sub_8146BA8
-sub_8146BA8: @ 8146BA8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08146BDE
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08146BDE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146BA8
-
- thumb_func_start sub_8146BF8
-sub_8146BF8: @ 8146BF8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r1, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- adds r4, r2, 0
- cmp r0, 0
- beq _08146C1E
- subs r0, r1, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08146C28
-_08146C1E:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- movs r0, 0x2
- strh r0, [r3, 0xE]
-_08146C28:
- ldr r2, [r4]
- ldrh r0, [r3, 0xA]
- lsls r0, 8
- ldrh r1, [r3, 0xC]
- orrs r0, r1
- strh r0, [r2, 0x10]
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- cmp r0, 0xF
- ble _08146C42
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08146C42:
- ldrh r0, [r3, 0x10]
- adds r0, 0x8
- strh r0, [r3, 0x10]
- ldr r0, =0xffffff00
- adds r1, r0, 0
- ldrh r5, [r3, 0x12]
- adds r1, r5
- strh r1, [r3, 0x12]
- ldr r0, =gUnknown_02038C28
- movs r5, 0x10
- ldrsh r2, [r3, r5]
- lsls r1, 16
- asrs r1, 24
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146BF8
-
- thumb_func_start sub_8146C8C
-sub_8146C8C: @ 8146C8C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r1, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- adds r4, r2, 0
- cmp r0, 0
- beq _08146CB2
- subs r0, r1, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08146CBC
-_08146CB2:
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- movs r0, 0x2
- strh r0, [r3, 0xE]
-_08146CBC:
- ldr r2, [r4]
- ldrh r0, [r3, 0xA]
- lsls r0, 8
- ldrh r1, [r3, 0xC]
- orrs r0, r1
- strh r0, [r2, 0x10]
- movs r5, 0xA
- ldrsh r0, [r3, r5]
- cmp r0, 0
- bne _08146CD6
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08146CD6:
- ldrh r0, [r3, 0x10]
- adds r0, 0x8
- strh r0, [r3, 0x10]
- ldr r0, =0xffffff00
- adds r1, r0, 0
- ldrh r5, [r3, 0x12]
- adds r1, r5
- strh r1, [r3, 0x12]
- ldr r0, =gUnknown_02038C28
- movs r5, 0x10
- ldrsh r2, [r3, r5]
- lsls r1, 16
- asrs r1, 24
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146C8C
-
- thumb_func_start sub_8146D20
-sub_8146D20: @ 8146D20
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r7, =sTransitionStructPtr
- ldr r0, [r7]
- ldrb r1, [r0]
- movs r6, 0
- strb r6, [r0]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- ldr r0, =0xffffff00
- adds r1, r0, 0
- ldrh r3, [r4, 0x12]
- adds r1, r3
- strh r1, [r4, 0x12]
- ldr r0, =gUnknown_02038C28
- movs r3, 0x10
- ldrsh r2, [r4, r3]
- lsls r1, 16
- asrs r1, 24
- str r1, [sp]
- movs r5, 0xA0
- str r5, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _08146D70
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0xC]
- strh r6, [r4, 0xE]
-_08146D70:
- ldr r0, [r7]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146D20
-
- thumb_func_start sub_8146D90
-sub_8146D90: @ 8146D90
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x18]
- subs r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- cmp r0, 0
- bne _08146DA6
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08146DA6:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8146D90
-
- thumb_func_start sub_8146DAC
-sub_8146DAC: @ 8146DAC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =0x0000ffff
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146DAC
-
- thumb_func_start sub_8146DD8
-sub_8146DD8: @ 8146DD8
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08146DEE
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08146DEE:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146DD8
-
- thumb_func_start sub_8146DF8
-sub_8146DF8: @ 8146DF8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r3, 0
- strb r3, [r0]
- ldrh r2, [r4, 0xC]
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- bgt _08146E18
- adds r0, r2, 0
- adds r0, 0x80
- strh r0, [r4, 0xC]
-_08146E18:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08146E34
- ldrh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 24
- subs r0, r1, r0
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _08146E34
- strh r3, [r4, 0xA]
-_08146E34:
- ldr r0, =gUnknown_02038C28
- movs r1, 0xA
- ldrsh r3, [r4, r1]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08146E90
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08146EB0
- .pool
-_08146E90:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08146EA4
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- ldr r0, =sub_8146F68
- bl SetVBlankCallback
-_08146EA4:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
-_08146EB0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146DF8
-
- thumb_func_start sub_8146EC0
-sub_8146EC0: @ 8146EC0
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F2C
- ldr r2, =sTransitionStructPtr
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08146EF8
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r3, 0xF0
- lsls r3, 3
- adds r0, r3
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08146EF8:
- ldr r1, =0x04000048
- ldr r2, [r2]
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r2, 0x4]
- strh r0, [r1]
- subs r1, 0x6
- ldrh r0, [r2, 0x8]
- strh r0, [r1]
- adds r1, 0xC
- ldrh r0, [r2, 0xE]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r2, 0x10]
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146EC0
-
- thumb_func_start sub_8146F3C
-sub_8146F3C: @ 8146F3C
- push {lr}
- bl sub_8146EC0
- ldr r1, =0x040000b0
- ldr r0, =gUnknown_020393A8
- str r0, [r1]
- ldr r0, =0x04000010
- str r0, [r1, 0x4]
- ldr r0, =0xa2400001
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146F3C
-
- thumb_func_start sub_8146F68
-sub_8146F68: @ 8146F68
- push {lr}
- bl sub_8146EC0
- ldr r1, =0x040000b0
- ldr r0, =gUnknown_020393A8
- str r0, [r1]
- ldr r0, =0x04000040
- str r0, [r1, 0x4]
- ldr r0, =0xa2400001
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146F68
-
- thumb_func_start sub_8146F94
-sub_8146F94: @ 8146F94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B7C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08146FA6:
- 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 _08146FA6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8146F94
-
- thumb_func_start sub_8146FCC
-sub_8146FCC: @ 8146FCC
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085B98B0
- ldr r1, [sp, 0x8]
- movs r2, 0x20
- bl CpuSet
- movs r0, 0
- str r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, =0x05000200
- mov r0, sp
- bl CpuSet
- ldr r0, =gFieldEffectObjectPalette10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8146FCC
-
- thumb_func_start sub_8147018
-sub_8147018: @ 8147018
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r0, 0
- ldr r1, =gUnknown_085C8B88
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0x4
- ldr r1, =gUnknown_085C8B8C
- adds r0, r4, 0
- movs r2, 0xA
- bl memcpy
- bl Random
- movs r5, 0x1
- ands r5, r0
- movs r1, 0
- mov r8, r4
- ldr r6, =gFieldEffectArguments
-_08147046:
- lsls r5, 16
- asrs r5, 16
- lsls r0, r5, 1
- add r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- str r0, [r6]
- lsls r4, r1, 16
- asrs r4, 16
- lsls r0, r4, 5
- adds r0, 0x10
- str r0, [r6, 0x4]
- str r5, [r6, 0x8]
- lsls r0, r4, 1
- add r0, r8
- movs r1, 0
- ldrsh r0, [r0, r1]
- str r0, [r6, 0xC]
- movs r0, 0x2D
- bl FieldEffectStart
- adds r4, 0x1
- lsls r4, 16
- movs r0, 0x1
- eors r5, r0
- lsls r5, 16
- lsrs r5, 16
- lsrs r1, r4, 16
- asrs r4, 16
- cmp r4, 0x4
- ble _08147046
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147018
-
- thumb_func_start sub_81470A4
-sub_81470A4: @ 81470A4
- push {lr}
- movs r0, 0x2D
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _081470C4
- bl sub_8149F84
- ldr r0, =sub_8146F94
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081470C4:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81470A4
-
- thumb_func_start sub_81470D0
-sub_81470D0: @ 81470D0
- push {r4,r5,lr}
- ldr r0, =gUnknown_085C8E68
- ldr r5, =gFieldEffectArguments
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r3, 0x4
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldr r0, [r5, 0xC]
- strh r0, [r4, 0x30]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81470D0
-
- thumb_func_start sub_814713C
-sub_814713C: @ 814713C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =gUnknown_085C8B96
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08147160
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _081471F2
- .pool
-_08147160:
- ldrh r0, [r4, 0x20]
- lsls r1, r0, 16
- lsrs r0, r1, 16
- cmp r0, 0xF0
- bhi _081471CE
- asrs r0, r1, 19
- lsls r0, 16
- ldrh r1, [r4, 0x22]
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r0, 16
- asrs r5, r0, 16
- movs r3, 0x32
- ldrsh r0, [r4, r3]
- cmp r5, r0
- beq _081471CE
- strh r2, [r4, 0x32]
- ldr r0, =0x04000008
- ldrh r2, [r0]
- lsrs r2, 8
- movs r0, 0x1F
- ands r2, r0
- lsls r2, 11
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- lsls r1, 16
- asrs r1, 16
- subs r0, r1, 0x2
- lsls r0, 5
- adds r0, r5
- lsls r0, 1
- adds r0, r2
- ldr r6, =0x0000f001
- adds r3, r6, 0
- strh r3, [r0]
- subs r0, r1, 0x1
- lsls r0, 5
- adds r0, r5
- lsls r0, 1
- adds r0, r2
- strh r3, [r0]
- lsls r0, r1, 5
- adds r0, r5
- lsls r0, 1
- adds r0, r2
- strh r3, [r0]
- adds r1, 0x1
- lsls r1, 5
- adds r1, r5
- lsls r1, 1
- adds r1, r2
- strh r3, [r1]
-_081471CE:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, 0xF
- lsls r0, 16
- movs r1, 0x87
- lsls r1, 17
- cmp r0, r1
- bls _081471F2
- adds r0, r4, 0
- movs r1, 0x2D
- bl FieldEffectStop
-_081471F2:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814713C
-
- thumb_func_start sub_8147204
-sub_8147204: @ 8147204
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8B9C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08147216:
- 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 _08147216
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147204
-
- thumb_func_start sub_814723C
-sub_814723C: @ 814723C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2]
- movs r0, 0x3F
- strh r0, [r1, 0x4]
- ldr r0, =0x0000f0f1
- strh r0, [r1, 0x6]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r3, =gUnknown_020393A8
- ldr r2, =0x0000f3f4
-_08147262:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _08147262
- ldr r0, =sub_8147688
- bl SetVBlankCallback
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0x78
- strh r0, [r1, 0x2C]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814723C
-
- thumb_func_start sub_81472A4
-sub_81472A4: @ 81472A4
- push {r4-r7,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x24
- movs r2, 0x2C
- ldrsh r3, [r1, r2]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A1AC
- ldr r5, =gUnknown_02038C28
-_081472D4:
- ldr r4, =sTransitionStructPtr
- ldr r0, [r4]
- movs r7, 0x2A
- ldrsh r3, [r0, r7]
- lsls r3, 1
- adds r3, r5
- ldrh r1, [r0, 0x28]
- adds r1, 0x1
- movs r7, 0xF0
- lsls r7, 7
- adds r2, r7, 0
- orrs r1, r2
- strh r1, [r3]
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- lsls r0, 24
- cmp r0, 0
- beq _081472D4
- ldr r1, [r4]
- ldrh r0, [r1, 0x2C]
- adds r0, 0x10
- strh r0, [r1, 0x2C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xEF
- ble _08147318
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08147318:
- ldr r0, [r4]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81472A4
-
- thumb_func_start sub_8147334
-sub_8147334: @ 8147334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- add r1, sp, 0xC
- movs r0, 0
- strb r0, [r1]
- ldr r4, =sTransitionStructPtr
- ldr r1, [r4]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- movs r2, 0x2E
- ldrsh r1, [r1, r2]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0xF0
- bl sub_814A1AC
- mov r9, r4
- mov r7, r9
- add r5, sp, 0xC
-_08147372:
- movs r1, 0x78
- ldr r3, [r7]
- ldrh r0, [r3, 0x28]
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0x4F
- ble _0814738A
- ldrh r1, [r3, 0x28]
- movs r4, 0xF0
-_0814738A:
- ldr r6, =gUnknown_02038C28
- movs r0, 0x2A
- ldrsh r2, [r3, r0]
- lsls r2, 1
- adds r2, r6
- lsls r1, 16
- asrs r1, 8
- lsls r0, r4, 16
- asrs r4, r0, 16
- orrs r4, r1
- strh r4, [r2]
- ldrb r0, [r5]
- cmp r0, 0
- bne _081473C0
- adds r0, r3, 0
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- strb r0, [r5]
- b _08147372
- .pool
-_081473C0:
- ldr r1, [r7]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x8
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0x9F
- ble _081473DE
- movs r0, 0xF0
- strh r0, [r1, 0x2C]
- mov r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08147406
-_081473DE:
- movs r3, 0x2A
- ldrsh r0, [r1, r3]
- cmp r0, r2
- bge _08147406
- adds r3, r4, 0
- ldr r5, =sTransitionStructPtr
-_081473EA:
- ldr r2, [r5]
- ldrh r0, [r2, 0x2A]
- adds r0, 0x1
- strh r0, [r2, 0x2A]
- lsls r0, 16
- asrs r0, 15
- adds r0, r6
- strh r3, [r0]
- movs r4, 0x2A
- ldrsh r1, [r2, r4]
- movs r4, 0x2E
- ldrsh r0, [r2, r4]
- cmp r1, r0
- blt _081473EA
-_08147406:
- mov r1, r9
- ldr r0, [r1]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147334
-
- thumb_func_start sub_8147428
-sub_8147428: @ 8147428
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x24
- movs r2, 0x2C
- ldrsh r3, [r1, r2]
- movs r1, 0xA0
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A1AC
- ldr r5, =gUnknown_02038C28
-_08147456:
- ldr r4, =sTransitionStructPtr
- ldr r0, [r4]
- movs r1, 0x2A
- ldrsh r3, [r0, r1]
- lsls r3, 1
- adds r3, r5
- ldrh r1, [r0, 0x28]
- lsls r1, 8
- movs r2, 0xF0
- orrs r1, r2
- strh r1, [r3]
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- lsls r0, 24
- cmp r0, 0
- beq _08147456
- ldr r1, [r4]
- ldrh r0, [r1, 0x2C]
- subs r0, 0x10
- strh r0, [r1, 0x2C]
- lsls r0, 16
- cmp r0, 0
- bgt _08147494
- movs r0, 0xA0
- strh r0, [r1, 0x2E]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08147494:
- ldr r0, [r4]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147428
-
- thumb_func_start sub_81474B0
-sub_81474B0: @ 81474B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r0
- add r1, sp, 0xC
- movs r0, 0
- strb r0, [r1]
- ldr r4, =sTransitionStructPtr
- ldr r1, [r4]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- movs r2, 0x2E
- ldrsh r1, [r1, r2]
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl sub_814A1AC
- ldr r7, =gUnknown_02038C28
- mov r10, r7
- ldr r0, =sTransitionStructPtr
- mov r8, r0
- add r6, sp, 0xC
-_081474F4:
- mov r1, r8
- ldr r4, [r1]
- movs r2, 0x2A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- mov r7, r10
- adds r5, r0, r7
- ldrb r1, [r5]
- ldrh r2, [r4, 0x28]
- adds r3, r2, 0
- movs r7, 0x2E
- ldrsh r0, [r4, r7]
- cmp r0, 0x50
- bgt _08147514
- movs r2, 0x78
- adds r1, r3, 0
-_08147514:
- lsls r0, r2, 16
- asrs r0, 8
- lsls r1, 16
- asrs r1, 16
- orrs r1, r0
- movs r7, 0
- strh r1, [r5]
- ldrb r0, [r6]
- cmp r0, 0
- bne _08147540
- adds r0, r4, 0
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- strb r0, [r6]
- b _081474F4
- .pool
-_08147540:
- mov r0, r8
- ldr r2, [r0]
- ldrh r0, [r2, 0x2E]
- subs r0, 0x8
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bgt _0814755E
- strh r7, [r2, 0x2C]
- mov r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08147588
-_0814755E:
- movs r4, 0x2A
- ldrsh r0, [r2, r4]
- cmp r0, r3
- ble _08147588
- ldr r6, =gUnknown_02038C28
- adds r3, r1, 0
- ldr r5, =sTransitionStructPtr
-_0814756C:
- ldr r2, [r5]
- ldrh r0, [r2, 0x2A]
- subs r0, 0x1
- strh r0, [r2, 0x2A]
- lsls r0, 16
- asrs r0, 15
- adds r0, r6
- strh r3, [r0]
- movs r7, 0x2A
- ldrsh r1, [r2, r7]
- movs r4, 0x2E
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bgt _0814756C
-_08147588:
- ldr r7, =sTransitionStructPtr
- ldr r0, [r7]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81474B0
-
- thumb_func_start sub_81475B0
-sub_81475B0: @ 81475B0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r1, =sTransitionStructPtr
- ldr r0, [r1]
- ldrb r2, [r0]
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r1]
- adds r0, r1, 0
- adds r0, 0x24
- movs r4, 0x2C
- ldrsh r3, [r1, r4]
- str r2, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A1AC
- ldr r6, =gUnknown_02038C28
-_081475DC:
- movs r2, 0x78
- ldr r5, =sTransitionStructPtr
- ldr r3, [r5]
- ldrh r4, [r3, 0x28]
- movs r1, 0x28
- ldrsh r0, [r3, r1]
- cmp r0, 0x77
- ble _081475F0
- movs r2, 0
- movs r4, 0xF0
-_081475F0:
- movs r0, 0x2A
- ldrsh r1, [r3, r0]
- lsls r1, 1
- adds r1, r6
- lsls r2, 8
- lsls r0, r4, 16
- asrs r0, 16
- orrs r0, r2
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- lsls r0, 24
- cmp r0, 0
- beq _081475DC
- ldr r0, [r5]
- ldrh r1, [r0, 0x2C]
- adds r1, 0x10
- strh r1, [r0, 0x2C]
- movs r1, 0x28
- ldrsh r0, [r0, r1]
- cmp r0, 0x78
- ble _0814762A
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
-_0814762A:
- ldr r0, [r5]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81475B0
-
- thumb_func_start sub_8147648
-sub_8147648: @ 8147648
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =sub_8147204
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147648
-
- thumb_func_start sub_8147688
-sub_8147688: @ 8147688
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r3, =sTransitionStructPtr
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r0, 0
- beq _081476C0
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_081476C0:
- ldr r2, =0x04000048
- ldr r1, [r3]
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- subs r2, 0x4
- ldr r0, =gUnknown_02038C28
- movs r1, 0xF0
- lsls r1, 3
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r2]
- str r0, [r4]
- str r2, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147688
-
- thumb_func_start sub_8147718
-sub_8147718: @ 8147718
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8BB8
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814772A:
- 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 _0814772A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147718
-
- thumb_func_start sub_8147750
-sub_8147750: @ 8147750
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r2, 0
- ldr r4, =gUnknown_020393A8
- ldr r3, =sTransitionStructPtr
-_08147762:
- lsls r1, r2, 1
- adds r1, r4
- ldr r0, [r3]
- ldrh r0, [r0, 0x16]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9F
- bls _08147762
- ldr r0, =sub_8147888
- bl SetVBlankCallback
- ldr r0, =sub_81478C0
- bl SetHBlankCallback
- movs r0, 0x2
- bl EnableInterrupts
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147750
-
- thumb_func_start sub_81477A8
-sub_81477A8: @ 81477A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r2, [r6, 0xC]
- lsls r1, r2, 16
- asrs r0, r1, 24
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r4, [r6, 0xA]
- movs r0, 0xC0
- lsls r0, 1
- mov r8, r0
- movs r5, 0x80
- lsls r5, 3
- adds r0, r4, r5
- strh r0, [r6, 0xA]
- ldr r0, =0x1fff0000
- cmp r1, r0
- bgt _081477E4
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r2, r1
- strh r0, [r6, 0xC]
-_081477E4:
- movs r5, 0
- lsls r7, r3, 16
-_081477E8:
- lsrs r0, r4, 8
- asrs r1, r7, 16
- bl Sin
- ldr r1, =gUnknown_02038C28
- lsls r2, r5, 1
- adds r2, r1
- ldr r1, =sTransitionStructPtr
- ldr r1, [r1]
- ldrh r1, [r1, 0x16]
- adds r0, r1
- strh r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r8
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x9F
- bls _081477E8
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _08147838
- ldrh r0, [r6, 0x10]
- adds r0, 0x1
- strh r0, [r6, 0x10]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_08147838:
- movs r5, 0x10
- ldrsh r0, [r6, r5]
- cmp r0, 0
- beq _0814785A
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814785A
- ldr r0, =sub_8147718
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0814785A:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81477A8
-
- thumb_func_start sub_8147888
-sub_8147888: @ 8147888
- push {lr}
- bl sub_8149F2C
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _081478AC
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_081478AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147888
-
- thumb_func_start sub_81478C0
-sub_81478C0: @ 81478C0
- ldr r1, =gUnknown_02038C28
- ldr r0, =0x04000006
- ldrh r0, [r0]
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x04000016
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_81478C0
-
- thumb_func_start sub_81478EC
-sub_81478EC: @ 81478EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8BC0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081478FE:
- 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 _081478FE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81478EC
-
- thumb_func_start sub_8147924
-sub_8147924: @ 8147924
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- movs r0, 0xF0
- strh r0, [r1, 0x6]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r3, =gUnknown_020393A8
- movs r2, 0xF2
-_0814794A:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9F
- bls _0814794A
- ldr r0, =sub_8147A58
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147924
-
- thumb_func_start sub_814797C
-sub_814797C: @ 814797C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r7, =gUnknown_02038C28
- ldrh r0, [r4, 0xC]
- ldrb r5, [r4, 0xC]
- adds r0, 0x10
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0xA]
- adds r0, 0x8
- strh r0, [r4, 0xA]
- movs r6, 0
- movs r0, 0x1
- mov r8, r0
-_081479A4:
- adds r0, r5, 0
- movs r1, 0x28
- bl Sin
- ldrh r1, [r4, 0xA]
- adds r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bge _081479BA
- movs r1, 0
-_081479BA:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xF0
- ble _081479C4
- movs r1, 0xF0
-_081479C4:
- lsls r0, r1, 16
- asrs r0, 16
- lsls r1, r0, 8
- movs r2, 0xF1
- orrs r1, r2
- strh r1, [r7]
- cmp r0, 0xEF
- bgt _081479D8
- movs r0, 0
- mov r8, r0
-_081479D8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, 0x2
- cmp r6, 0x9F
- bls _081479A4
- mov r1, r8
- cmp r1, 0
- beq _081479F6
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081479F6:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814797C
-
- thumb_func_start sub_8147A18
-sub_8147A18: @ 8147A18
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =sub_81478EC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147A18
-
- thumb_func_start sub_8147A58
-sub_8147A58: @ 8147A58
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r3, =sTransitionStructPtr
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08147A90
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08147A90:
- ldr r2, =0x04000048
- ldr r1, [r3]
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- ldr r0, =gUnknown_020393A8
- str r0, [r4]
- ldr r0, =0x04000040
- str r0, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147A58
-
- thumb_func_start sub_8147AE4
-sub_8147AE4: @ 8147AE4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- bl sub_8147B84
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147AE4
-
- thumb_func_start sub_8147B04
-sub_8147B04: @ 8147B04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1
- strh r2, [r1, 0x26]
- bl sub_8147B84
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147B04
-
- thumb_func_start sub_8147B24
-sub_8147B24: @ 8147B24
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x2
- strh r2, [r1, 0x26]
- bl sub_8147B84
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147B24
-
- thumb_func_start sub_8147B44
-sub_8147B44: @ 8147B44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x3
- strh r2, [r1, 0x26]
- bl sub_8147B84
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147B44
-
- thumb_func_start sub_8147B64
-sub_8147B64: @ 8147B64
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x4
- strh r2, [r1, 0x26]
- bl sub_8147B84
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147B64
-
- thumb_func_start sub_8147B84
-sub_8147B84: @ 8147B84
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8BCC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08147B96:
- 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 _08147B96
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8147B84
-
- thumb_func_start sub_8147BBC
-sub_8147BBC: @ 8147BBC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- adds r0, r4, 0
- bl sub_8148218
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x1
- strh r0, [r4, 0xC]
- movs r0, 0xEF
- strh r0, [r4, 0xE]
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- movs r0, 0x3E
- strh r0, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r3, =gUnknown_020393A8
- ldr r2, =0x0000f0f1
-_08147BF0:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9F
- bls _08147BF0
- ldr r0, =sub_81480CC
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147BBC
-
- thumb_func_start sub_8147C24
-sub_8147C24: @ 8147C24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- ldr r6, =gUnknown_085C94D0
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- ldr r0, =gUnknown_085B9AF0
- ldr r1, [sp, 0x4]
- movs r2, 0xF0
- bl CpuSet
- ldr r1, =gUnknown_085C8FDC
- mov r2, r8
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_085C8FF0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xFA
- movs r2, 0xC
- bl LoadPalette
- movs r1, 0
- ldr r5, [sp]
- movs r0, 0xF0
- lsls r0, 8
- adds r7, r0, 0
-_08147C78:
- movs r0, 0
- lsls r3, r1, 16
- asrs r4, r3, 11
-_08147C7E:
- lsls r2, r0, 16
- asrs r2, 16
- adds r1, r4, r2
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r6]
- orrs r0, r7
- strh r0, [r1]
- adds r2, 0x1
- lsls r2, 16
- adds r6, 0x2
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0x1F
- ble _08147C7E
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _08147C78
- movs r0, 0x2
- bl EnableInterrupts
- ldr r0, =sub_81481E0
- bl SetHBlankCallback
- mov r2, r8
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147C24
-
- thumb_func_start sub_8147CE4
-sub_8147CE4: @ 8147CE4
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r7, =gUnknown_02038C28
- ldrh r0, [r4, 0xA]
- ldrb r5, [r4, 0xA]
- adds r0, 0x10
- strh r0, [r4, 0xA]
- movs r6, 0
-_08147CFE:
- adds r0, r5, 0
- movs r1, 0x10
- bl Sin
- ldrh r1, [r4, 0xC]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bge _08147D14
- movs r2, 0x1
-_08147D14:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xF0
- ble _08147D1E
- movs r2, 0xF0
-_08147D1E:
- strh r2, [r7]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, 0x2
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r6, 0x4F
- bls _08147CFE
- cmp r6, 0x9F
- bhi _08147D76
-_08147D38:
- adds r0, r5, 0
- movs r1, 0x10
- bl Sin
- ldrh r1, [r4, 0xE]
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _08147D4E
- movs r2, 0
-_08147D4E:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xEF
- ble _08147D58
- movs r2, 0xEF
-_08147D58:
- lsls r0, r2, 16
- asrs r0, 8
- movs r1, 0xF0
- orrs r0, r1
- strh r0, [r7]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, 0x2
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r6, 0x9F
- bls _08147D38
-_08147D76:
- ldrh r1, [r4, 0xC]
- adds r1, 0x8
- strh r1, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- subs r0, 0x8
- strh r0, [r4, 0xE]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xF0
- ble _08147D8E
- movs r0, 0xF0
- strh r0, [r4, 0xC]
-_08147D8E:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08147D9A
- movs r0, 0
- strh r0, [r4, 0xE]
-_08147D9A:
- ldr r0, [r4, 0xC]
- cmp r0, 0xF0
- bne _08147DA6
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08147DA6:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0x18]
- subs r0, 0x8
- strh r0, [r1, 0x18]
- ldrh r0, [r1, 0x1A]
- adds r0, 0x8
- strh r0, [r1, 0x1A]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147CE4
-
- thumb_func_start sub_8147DD0
-sub_8147DD0: @ 8147DD0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_02038C28
- adds r5, r2, 0
- movs r2, 0xF0
-_08147DE4:
- strh r2, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x2
- cmp r0, 0x9F
- bls _08147DE4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- strh r1, [r4, 0xE]
- ldr r1, [r5]
- ldrh r0, [r1, 0x18]
- subs r0, 0x8
- strh r0, [r1, 0x18]
- ldrh r0, [r1, 0x1A]
- adds r0, 0x8
- strh r0, [r1, 0x1A]
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_8148484
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- bl sub_8148484
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- bl sub_814849C
- movs r0, 0x68
- bl PlaySE
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147DD0
-
- thumb_func_start sub_8147E4C
-sub_8147E4C: @ 8147E4C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0x18]
- subs r0, 0x8
- strh r0, [r1, 0x18]
- ldrh r0, [r1, 0x1A]
- adds r0, 0x8
- strh r0, [r1, 0x1A]
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- bl sub_81484B8
- lsls r0, 16
- cmp r0, 0
- beq _08147E7C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- bl sub_814849C
-_08147E7C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147E4C
-
- thumb_func_start sub_8147E88
-sub_8147E88: @ 8147E88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r7, =sTransitionStructPtr
- ldr r1, [r7]
- ldrh r0, [r1, 0x18]
- subs r0, 0x8
- movs r2, 0
- mov r8, r2
- strh r0, [r1, 0x18]
- ldrh r0, [r1, 0x1A]
- adds r0, 0x8
- strh r0, [r1, 0x1A]
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- bl sub_81484B8
- lsls r0, 16
- cmp r0, 0
- beq _08147F1C
- ldr r1, [r7]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldr r4, =gUnknown_02038C28
- movs r5, 0xA0
- lsls r5, 1
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- movs r2, 0xF0
- lsls r2, 3
- adds r4, r2
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- mov r0, r8
- strh r0, [r6, 0xE]
- strh r0, [r6, 0x10]
- ldr r1, [r7]
- movs r0, 0xBF
- strh r0, [r1, 0xE]
- ldr r0, =sub_8148160
- bl SetVBlankCallback
-_08147F1C:
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147E88
-
- thumb_func_start sub_8147F40
-sub_8147F40: @ 8147F40
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- movs r6, 0x1
- ldr r1, [r2]
- ldrh r0, [r1, 0x18]
- subs r0, 0x8
- strh r0, [r1, 0x18]
- ldrh r0, [r1, 0x1A]
- adds r0, 0x8
- strh r0, [r1, 0x1A]
- ldrh r1, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- mov r12, r2
- cmp r0, 0x4F
- bgt _08147F6E
- adds r0, r1, 0x2
- strh r0, [r4, 0x10]
-_08147F6E:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _08147F7A
- movs r0, 0x50
- strh r0, [r4, 0x10]
-_08147F7A:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- movs r1, 0x1
- ands r0, r1
- ldrh r3, [r4, 0x10]
- cmp r0, 0
- beq _08147FDC
- movs r2, 0
- lsls r0, r3, 16
- movs r6, 0
- cmp r0, 0
- blt _08147FDC
- movs r7, 0x50
- ldr r5, =gUnknown_02038C28
-_08147F98:
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r7, r3
- adds r0, r3, 0
- adds r0, 0x50
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r1, 15
- adds r1, r5
- ldrh r0, [r1]
- cmp r0, 0xF
- bhi _08147FB8
- movs r6, 0x1
- adds r0, 0x1
- strh r0, [r1]
-_08147FB8:
- lsls r0, r2, 16
- asrs r0, 15
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0xF
- bhi _08147FCA
- movs r6, 0x1
- adds r0, 0x1
- strh r0, [r1]
-_08147FCA:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- ldrh r3, [r4, 0x10]
- cmp r0, r1
- ble _08147F98
-_08147FDC:
- cmp r3, 0x50
- bne _08147FEA
- cmp r6, 0
- bne _08147FEA
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08147FEA:
- mov r1, r12
- ldr r0, [r1]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8147F40
-
- thumb_func_start sub_8148008
-sub_8148008: @ 8148008
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, =sTransitionStructPtr
- ldr r0, [r5]
- ldrb r1, [r0]
- movs r6, 0
- strb r6, [r0]
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- ldr r1, [r5]
- movs r0, 0xFF
- strh r0, [r1, 0xE]
- strh r6, [r4, 0xE]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148008
-
- thumb_func_start sub_8148040
-sub_8148040: @ 8148040
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =sTransitionStructPtr
- ldr r1, [r5]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- ldr r0, =gUnknown_02038C28
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- movs r2, 0xA0
- lsls r2, 1
- bl memset
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- ble _08148070
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08148070:
- ldr r0, [r5]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148040
-
- thumb_func_start sub_814808C
-sub_814808C: @ 814808C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814808C
-
- thumb_func_start sub_81480CC
-sub_81480CC: @ 81480CC
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r3, =sTransitionStructPtr
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08148104
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08148104:
- ldr r2, =0x04000012
- ldr r1, [r3]
- ldrh r0, [r1, 0x1C]
- strh r0, [r2]
- adds r2, 0x36
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- ldr r0, =gUnknown_020393A8
- str r0, [r4]
- ldr r0, =0x04000040
- str r0, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81480CC
-
- thumb_func_start sub_8148160
-sub_8148160: @ 8148160
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r2, =sTransitionStructPtr
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08148198
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r3, 0xF0
- lsls r3, 3
- adds r0, r3
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08148198:
- ldr r1, =0x04000050
- ldr r0, [r2]
- ldrh r0, [r0, 0xE]
- strh r0, [r1]
- ldr r0, =gUnknown_020393A8
- str r0, [r4]
- ldr r0, =0x04000054
- str r0, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148160
-
- thumb_func_start sub_81481E0
-sub_81481E0: @ 81481E0
- push {lr}
- ldr r0, =0x04000006
- ldrh r0, [r0]
- cmp r0, 0x4F
- bhi _08148200
- ldr r1, =0x04000010
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrh r0, [r0, 0x18]
- b _08148208
- .pool
-_08148200:
- ldr r1, =0x04000010
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- ldrh r0, [r0, 0x1A]
-_08148208:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81481E0
-
- thumb_func_start sub_8148218
-sub_8148218: @ 8148218
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =gUnknown_085C8BF4
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- mov r8, r1
- add r0, r8
- ldrb r0, [r0]
- ldr r2, =gUnknown_085C8C0E
- lsls r1, 2
- mov r8, r1
- adds r1, r2
- ldrh r1, [r1]
- subs r1, 0x20
- lsls r1, 16
- asrs r1, 16
- adds r2, 0x2
- add r2, r8
- ldrh r2, [r2]
- adds r2, 0x2A
- lsls r2, 16
- asrs r2, 16
- ldr r5, =0x0201c000
- str r5, [sp]
- movs r3, 0
- bl sub_80B5E6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x88
- lsls r1, 1
- str r5, [sp]
- movs r2, 0x6A
- movs r3, 0
- bl sub_80B5E6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r1, =gSprites
- adds r5, r1
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- lsls r6, r0, 4
- adds r6, r0
- lsls r6, 2
- adds r6, r1
- ldr r0, =sub_8148380
- str r0, [r5, 0x1C]
- str r0, [r6, 0x1C]
- ldrb r0, [r5, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r5, 0x1]
- ldrb r0, [r6, 0x1]
- orrs r0, r1
- strb r0, [r6, 0x1]
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1F
- mov r9, r3
- mov r4, r9
- ands r0, r4
- lsls r0, 1
- ldrb r2, [r5, 0x3]
- movs r4, 0x3F
- negs r4, r4
- adds r1, r4, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x3]
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ands r0, r1
- lsls r0, 1
- ldrb r1, [r6, 0x3]
- ands r4, r1
- orrs r4, r0
- strb r4, [r6, 0x3]
- ldrb r2, [r5, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r5, 0x1]
- ldrb r0, [r6, 0x1]
- ands r1, r0
- orrs r1, r2
- strb r1, [r6, 0x1]
- ldrb r0, [r5, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldrb r0, [r6, 0x3]
- orrs r0, r1
- strb r0, [r6, 0x3]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- adds r0, r6, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r2, =gUnknown_085C8BFA
- mov r3, r8
- adds r1, r3, r2
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r2, 0x2
- add r8, r2
- mov r3, r8
- movs r4, 0
- ldrsh r2, [r3, r4]
- movs r3, 0
- bl SetOamMatrixRotationScaling
- ldrb r0, [r6, 0x3]
- lsls r0, 26
- lsrs r0, 27
- ldr r1, =0xfffffe00
- movs r2, 0x80
- lsls r2, 2
- movs r3, 0
- bl SetOamMatrixRotationScaling
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148218
-
- thumb_func_start sub_8148380
-sub_8148380: @ 8148380
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_085C8C24
-_08148386:
- movs r1, 0x2E
- 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 _08148386
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148380
-
- thumb_func_start sub_81483A8
-sub_81483A8: @ 81483A8
- movs r0, 0
- bx lr
- thumb_func_end sub_81483A8
-
- thumb_func_start sub_81483AC
-sub_81483AC: @ 81483AC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, =gUnknown_085C8C40
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0x4
- ldr r1, =gUnknown_085C8C44
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x30]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r4, r0
- ldrh r0, [r4]
- strh r0, [r5, 0x32]
- movs r0, 0x1
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81483AC
-
- thumb_func_start sub_81483F8
-sub_81483F8: @ 81483F8
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- ldrh r3, [r1, 0x20]
- adds r2, r0, r3
- strh r2, [r1, 0x20]
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08148416
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x84
- bgt _08148424
- b _0814841E
-_08148416:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x67
- ble _08148424
-_0814841E:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_08148424:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81483F8
-
- thumb_func_start sub_814842C
-sub_814842C: @ 814842C
- push {lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x32]
- ldrh r0, [r2, 0x30]
- adds r1, r3, r0
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r1, 16
- cmp r1, 0
- bne _08148452
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- negs r0, r3
- strh r0, [r2, 0x32]
- movs r0, 0x1
- strh r0, [r2, 0x3A]
-_08148452:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_814842C
-
- thumb_func_start sub_8148458
-sub_8148458: @ 8148458
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x30]
- adds r0, r1
- strh r0, [r2, 0x30]
- ldrh r1, [r2, 0x20]
- adds r1, r0
- strh r1, [r2, 0x20]
- adds r1, 0x1F
- lsls r1, 16
- movs r0, 0x97
- lsls r0, 17
- cmp r1, r0
- bls _0814847C
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_0814847C:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8148458
-
- thumb_func_start sub_8148484
-sub_8148484: @ 8148484
- ldr r3, =gSprites
- lsls r0, 16
- asrs r0, 16
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- strh r1, [r2, 0x3C]
- bx lr
- .pool
- thumb_func_end sub_8148484
-
- thumb_func_start sub_814849C
-sub_814849C: @ 814849C
- ldr r2, =gSprites
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- bx lr
- .pool
- thumb_func_end sub_814849C
-
- thumb_func_start sub_81484B8
-sub_81484B8: @ 81484B8
- ldr r2, =gSprites
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0x3A
- ldrsh r0, [r1, r2]
- bx lr
- .pool
- thumb_func_end sub_81484B8
-
- thumb_func_start sub_81484D0
-sub_81484D0: @ 81484D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C48
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081484E2:
- 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 _081484E2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81484D0
-
- thumb_func_start sub_8148508
-sub_8148508: @ 8148508
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r4, 0
- movs r3, 0
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0xC]
- movs r0, 0x1
- strh r0, [r5, 0xE]
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- strh r3, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- ldrb r0, [r1]
- strb r4, [r1]
- ldr r4, =gUnknown_020393A8
- adds r6, r2, 0
- movs r2, 0xF0
-_0814853A:
- lsls r1, r3, 1
- adds r1, r4
- ldr r0, [r6]
- ldrh r0, [r0, 0x14]
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0xA0
- lsls r0, 1
- adds r0, r4
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9F
- bls _0814853A
- movs r0, 0x2
- bl EnableInterrupts
- movs r0, 0x4
- movs r1, 0x10
- bl SetGpuRegBits
- ldr r0, =sub_814869C
- bl SetVBlankCallback
- ldr r0, =sub_8148728
- bl SetHBlankCallback
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148508
-
- thumb_func_start sub_8148590
-sub_8148590: @ 8148590
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r3, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r3, 0xA]
- adds r0, r1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- mov r8, r2
- cmp r0, 0xF0
- ble _081485BC
- movs r0, 0xF0
- strh r0, [r3, 0xA]
-_081485BC:
- ldrh r4, [r3, 0xC]
- movs r0, 0xC
- ldrsh r1, [r3, r0]
- ldr r0, =0x00000fff
- ldrh r2, [r3, 0xE]
- cmp r1, r0
- bgt _081485CE
- adds r0, r4, r2
- strh r0, [r3, 0xC]
-_081485CE:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x7F
- bgt _081485DA
- lsls r0, r2, 1
- strh r0, [r3, 0xE]
-_081485DA:
- movs r5, 0
- ldr r7, =gUnknown_02038C28
- movs r1, 0xA0
- lsls r1, 1
- adds r1, r7
- mov r12, r1
- mov r6, r8
-_081485E8:
- lsls r0, r5, 1
- adds r2, r0, r7
- mov r1, r12
- adds r4, r0, r1
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08148618
- ldr r1, [r6]
- ldrh r0, [r3, 0xA]
- ldrh r1, [r1, 0x14]
- adds r0, r1
- strh r0, [r2]
- ldrh r1, [r3, 0xA]
- movs r0, 0xF0
- subs r0, r1
- b _0814862A
- .pool
-_08148618:
- ldr r0, [r6]
- ldrh r0, [r0, 0x14]
- ldrh r1, [r3, 0xA]
- subs r0, r1
- strh r0, [r2]
- ldrh r0, [r3, 0xA]
- lsls r0, 8
- movs r1, 0xF1
- orrs r0, r1
-_0814862A:
- strh r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9F
- bls _081485E8
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0xEF
- ble _08148644
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08148644:
- mov r1, r8
- ldr r0, [r1]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8148590
-
- thumb_func_start sub_814865C
-sub_814865C: @ 814865C
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =sub_81484D0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814865C
-
- thumb_func_start sub_814869C
-sub_814869C: @ 814869C
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r2, =0x04000048
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- ldrb r0, [r1]
- cmp r0, 0
- beq _081486E6
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x80000140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_081486E6:
- ldr r0, =gUnknown_020394E8
- str r0, [r4]
- ldr r0, =0x04000040
- str r0, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814869C
-
- thumb_func_start sub_8148728
-sub_8148728: @ 8148728
- push {lr}
- ldr r2, =0x04000006
- ldrh r0, [r2]
- cmp r0, 0x9F
- bhi _0814874E
- ldr r1, =gUnknown_02038C28
- ldrh r0, [r2]
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x04000014
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
-_0814874E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148728
-
- thumb_func_start sub_8148760
-sub_8148760: @ 8148760
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C54
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148772:
- 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 _08148772
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148760
-
- thumb_func_start sub_8148798
-sub_8148798: @ 8148798
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r4, 0
- ldr r5, =gUnknown_02038C28
- movs r0, 0xF0
- lsls r0, 3
- adds r0, r5
- mov r12, r0
- mov r8, r4
- movs r1, 0xF0
- mov r9, r1
-_081487CC:
- lsls r2, r4, 1
- mov r7, r12
- adds r1, r2, r7
- ldr r0, =sTransitionStructPtr
- ldr r3, [r0]
- ldrh r0, [r3, 0x14]
- strh r0, [r1]
- adds r1, r4, 0
- adds r1, 0xA0
- lsls r1, 1
- adds r0, r1, r7
- mov r7, r9
- strh r7, [r0]
- adds r2, r5
- ldrh r0, [r3, 0x14]
- strh r0, [r2]
- adds r1, r5
- mov r0, r9
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r5
- mov r7, r8
- strh r7, [r0]
- adds r1, 0xA0
- adds r0, r4, r1
- lsls r0, 1
- adds r0, r5
- subs r1, 0xE0
- strh r1, [r0]
- movs r7, 0xA0
- lsls r7, 2
- adds r0, r4, r7
- lsls r0, 1
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9F
- bls _081487CC
- movs r0, 0
- strh r0, [r6, 0x10]
- strh r0, [r6, 0x12]
- movs r0, 0x7
- strh r0, [r6, 0x14]
- movs r0, 0x2
- bl EnableInterrupts
- ldr r0, =sub_814869C
- bl SetVBlankCallback
- ldr r0, =sub_8148728
- bl SetHBlankCallback
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148798
-
- thumb_func_start sub_8148864
-sub_8148864: @ 8148864
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r9, r0
- ldr r1, =gUnknown_085C8C64
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- add r4, sp, 0x4
- ldr r1, =gUnknown_085C8C66
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- str r0, [sp, 0x8]
- mov r10, r0
- mov r1, r9
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- ldr r1, [sp, 0x8]
- cmp r1, r0
- ble _081488A4
- b _08148A68
-_081488A4:
- movs r7, 0
- mov r2, r10
- negs r2, r2
- str r2, [sp, 0xC]
- mov r3, r10
- adds r3, 0x1
- str r3, [sp, 0x10]
-_081488B2:
- movs r6, 0
- mov r0, sp
- adds r0, r7
- mov r12, r0
-_081488BA:
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r2, [sp, 0xC]
- muls r0, r2
- lsls r0, 1
- mov r3, r12
- ldrb r3, [r3]
- adds r0, r3
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _08148966
- cmp r0, 0x4F
- bne _081488E2
- cmp r7, 0x1
- beq _08148966
-_081488E2:
- lsls r1, r0, 1
- ldr r0, =gUnknown_02038EA8
- adds r4, r1, r0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2
- adds r3, r1, r0
- ldr r0, =gUnknown_02039128
- adds r1, r0
- ldrh r2, [r4]
- cmp r2, 0xEF
- bls _08148920
- movs r1, 0xF0
- strh r1, [r4]
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- b _08148940
- .pool
-_08148920:
- ldrh r0, [r3]
- lsrs r0, 8
- adds r0, r2, r0
- strh r0, [r4]
- ldrh r0, [r1]
- cmp r0, 0x7F
- bhi _08148932
- lsls r0, 1
- strh r0, [r1]
-_08148932:
- ldrh r2, [r3]
- ldr r0, =0x00000fff
- cmp r2, r0
- bhi _08148940
- ldrh r0, [r1]
- adds r0, r2, r0
- strh r0, [r3]
-_08148940:
- lsls r0, r5, 16
- asrs r0, 15
- ldr r1, =gUnknown_02038C28
- adds r2, r0, r1
- ldr r1, =gUnknown_02038D68
- adds r3, r0, r1
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r4]
- ldrh r1, [r1, 0x14]
- adds r0, r1
- strh r0, [r2]
- ldrh r0, [r4]
- movs r1, 0xF0
- subs r0, r1, r0
- strh r0, [r3]
- mov r2, r10
- cmp r2, 0
- beq _08148970
-_08148966:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _081488BA
-_08148970:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _081488B2
- movs r7, 0
- ldr r3, =gUnknown_02038EA8
- mov r8, r3
-_08148980:
- movs r6, 0
- mov r0, sp
- adds r0, r7
- mov r12, r0
- adds r1, r7, 0x1
- str r1, [sp, 0x14]
-_0814898C:
- mov r2, r12
- ldrb r1, [r2]
- adds r1, 0x1
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0x4
- movs r3, 0
- ldrsh r0, [r0, r3]
- ldr r2, [sp, 0xC]
- muls r0, r2
- lsls r0, 1
- adds r1, r0
- lsls r1, 16
- lsrs r5, r1, 16
- asrs r1, 16
- cmp r1, 0xA0
- bgt _08148A40
- cmp r1, 0x50
- bne _081489B6
- cmp r7, 0x1
- beq _08148A40
-_081489B6:
- lsls r1, 1
- mov r3, r8
- adds r4, r1, r3
- movs r0, 0xA0
- lsls r0, 1
- add r0, r8
- adds r3, r1, r0
- ldr r0, =gUnknown_02039128
- adds r1, r0
- ldrh r2, [r4]
- cmp r2, 0xEF
- bls _081489F8
- movs r1, 0xF0
- strh r1, [r4]
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- b _08148A18
- .pool
-_081489F8:
- ldrh r0, [r3]
- lsrs r0, 8
- adds r0, r2, r0
- strh r0, [r4]
- ldrh r0, [r1]
- cmp r0, 0x7F
- bhi _08148A0A
- lsls r0, 1
- strh r0, [r1]
-_08148A0A:
- ldrh r2, [r3]
- ldr r0, =0x00000fff
- cmp r2, r0
- bhi _08148A18
- ldrh r0, [r1]
- adds r0, r2, r0
- strh r0, [r3]
-_08148A18:
- lsls r0, r5, 16
- asrs r0, 15
- ldr r1, =gUnknown_02038C28
- adds r2, r0, r1
- ldr r1, =gUnknown_02038D68
- adds r3, r0, r1
- ldr r1, =sTransitionStructPtr
- ldr r0, [r1]
- ldrh r1, [r0, 0x14]
- ldrh r0, [r4]
- subs r1, r0
- strh r1, [r2]
- ldrh r0, [r4]
- lsls r0, 8
- movs r1, 0xF1
- orrs r0, r1
- strh r0, [r3]
- mov r2, r10
- cmp r2, 0
- beq _08148A4A
-_08148A40:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _0814898C
-_08148A4A:
- ldr r3, [sp, 0x14]
- lsls r0, r3, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _08148980
- ldr r1, [sp, 0x10]
- lsls r0, r1, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, r9
- movs r3, 0x12
- ldrsh r0, [r2, r3]
- cmp r10, r0
- bgt _08148A68
- b _081488A4
-_08148A68:
- mov r1, r9
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- strh r0, [r1, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _08148A7A
- movs r0, 0
- strh r0, [r1, 0x10]
-_08148A7A:
- mov r2, r9
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bgt _08148A98
- movs r1, 0x12
- ldrsh r0, [r2, r1]
- adds r0, 0x1
- cmp r0, 0x14
- bgt _08148A98
- ldrh r0, [r2, 0x14]
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x12]
- adds r0, 0x1
- strh r0, [r2, 0x12]
-_08148A98:
- ldr r2, [sp, 0x8]
- cmp r2, 0x9F
- bls _08148AA6
- mov r3, r9
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08148AA6:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148864
-
- thumb_func_start sub_8148AD4
-sub_8148AD4: @ 8148AD4
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r2, 0x1
- ldr r5, =0x0000ff10
- movs r1, 0
- ldr r4, =gUnknown_020393A8
-_08148AE0:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0xF0
- beq _08148AF0
- cmp r0, r5
- beq _08148AF0
- movs r2, 0
-_08148AF0:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _08148AE0
- cmp r2, 0x1
- bne _08148B04
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08148B04:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148AD4
-
- thumb_func_start sub_8148B14
-sub_8148B14: @ 8148B14
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =sub_8148760
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148B14
-
- thumb_func_start sub_8148B54
-sub_8148B54: @ 8148B54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C6C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148B66:
- 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 _08148B66
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148B54
-
- thumb_func_start sub_8148B8C
-sub_8148B8C: @ 8148B8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C78
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148B9E:
- 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 _08148B9E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148B8C
-
- thumb_func_start sub_8148BC4
-sub_8148BC4: @ 8148BC4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2]
- movs r0, 0x3F
- strh r0, [r1, 0x4]
- movs r0, 0xF0
- strh r0, [r1, 0x6]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- ldr r0, =gUnknown_02038C28
- movs r2, 0
- movs r1, 0x9F
- ldr r3, =0x000008be
- adds r0, r3
-_08148BEE:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08148BEE
- movs r4, 0
- ldr r0, =sub_8146F68
- bl SetVBlankCallback
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, 0xFF
- strh r0, [r5, 0xC]
- strh r4, [r5, 0x16]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148BC4
-
- thumb_func_start sub_8148C28
-sub_8148C28: @ 8148C28
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08148C6C
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08148CDE
- .pool
-_08148C6C:
- ldr r5, =sTransitionStructPtr
- ldr r1, [r5]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r2, [r4, 0xC]
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- bgt _08148C88
- adds r0, r2, 0
- adds r0, 0x80
- strh r0, [r4, 0xC]
-_08148C88:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x9F
- bgt _08148C9C
- ldrh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 24
- adds r0, r1, r0
- strh r0, [r4, 0xA]
-_08148C9C:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- ble _08148CA8
- movs r0, 0xA0
- strh r0, [r4, 0xA]
-_08148CA8:
- ldr r0, =gUnknown_02038C28
- movs r2, 0xA
- ldrsh r3, [r4, r2]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- bne _08148CD4
- movs r0, 0x1
- strh r0, [r4, 0x16]
- bl sub_8149F84
- b _08148CDE
- .pool
-_08148CD4:
- ldr r0, [r5]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
-_08148CDE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8148C28
-
- thumb_func_start sub_8148CE8
-sub_8148CE8: @ 8148CE8
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =sTransitionStructPtr
- ldr r0, [r6]
- ldrb r1, [r0]
- movs r5, 0
- strb r5, [r0]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08148D0A
- adds r0, r1, 0x1
- strh r0, [r4, 0x16]
- movs r0, 0x30
- strh r0, [r4, 0xA]
- strh r5, [r4, 0x14]
-_08148D0A:
- ldr r1, =gUnknown_085C8C80
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r4, 0xA]
- adds r0, r1
- strh r0, [r4, 0xA]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- adds r1, 0x1
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- strh r1, [r4, 0x14]
- ldr r0, =gUnknown_02038C28
- movs r1, 0xA
- ldrsh r3, [r4, r1]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bgt _08148D4C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0x16]
-_08148D4C:
- ldr r0, [r6]
- ldrb r1, [r0]
- adds r1, 0x1
- ldrb r2, [r0]
- strb r1, [r0]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148CE8
-
- thumb_func_start sub_8148D6C
-sub_8148D6C: @ 8148D6C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08148D8E
- adds r0, r1, 0x1
- strh r0, [r4, 0x16]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r0, [r4, 0x14]
-_08148D8E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- ble _08148D9A
- movs r0, 0xA0
- strh r0, [r4, 0xA]
-_08148D9A:
- ldr r0, =gUnknown_02038C28
- movs r2, 0xA
- ldrsh r3, [r4, r2]
- movs r1, 0x78
- movs r2, 0x50
- bl sub_814A014
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xA0
- bne _08148DD6
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08148DD6:
- ldrh r2, [r4, 0x12]
- ldrb r0, [r4, 0x12]
- cmp r0, 0x80
- bgt _08148DFC
- ldrh r1, [r4, 0x14]
- adds r0, r2, 0
- adds r0, 0x8
- b _08148E08
- .pool
-_08148DFC:
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r2, 0
- adds r0, 0x10
-_08148E08:
- strh r0, [r4, 0x12]
- movs r0, 0xFF
- ands r2, r0
- lsls r1, 16
- asrs r1, 16
- adds r0, r2, 0
- bl Sin
- ldrh r2, [r4, 0xA]
- adds r0, r2
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _08148E28
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_08148E28:
- ldrh r0, [r4, 0x12]
- lsls r1, r0, 16
- asrs r0, r1, 16
- cmp r0, 0xFE
- ble _08148E3C
- asrs r0, r1, 24
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
-_08148E3C:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148D6C
-
- thumb_func_start sub_8148E54
-sub_8148E54: @ 8148E54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8C84
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08148E66:
- 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 _08148E66
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8148E54
-
- thumb_func_start sub_8148E8C
-sub_8148E8C: @ 8148E8C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- ldr r4, =gUnknown_085BACD0
- ldr r1, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- movs r0, 0xE0
- lsls r0, 1
- adds r4, r0
- ldr r1, [sp, 0x8]
- adds r1, 0x40
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- mov r1, sp
- movs r2, 0xF0
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gFieldEffectObjectPalette10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r1, 0
- movs r4, 0x1
- movs r0, 0x1
- strh r0, [r5, 0xE]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- ldr r5, =gUnknown_03001210
- strb r1, [r5]
- ldr r0, =0x0000ffff
- strh r0, [r5, 0x2]
- strb r4, [r5, 0x4]
- movs r2, 0x9A
- lsls r2, 1
- strh r2, [r5, 0x6]
- strb r1, [r5, 0x8]
- strb r1, [r5, 0xC]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r5, 0xE]
- strb r4, [r5, 0x10]
- strh r2, [r5, 0x12]
- strb r1, [r5, 0x14]
- strb r1, [r5, 0x18]
- ldr r2, =0x0000fffd
- strh r2, [r5, 0x1A]
- strb r4, [r5, 0x1C]
- ldr r3, =0x00000133
- strh r3, [r5, 0x1E]
- adds r0, r5, 0
- adds r0, 0x20
- strb r1, [r0]
- adds r0, 0x4
- strb r1, [r0]
- strh r2, [r5, 0x26]
- adds r0, 0x4
- strb r4, [r0]
- strh r3, [r5, 0x2A]
- adds r0, 0x4
- strb r1, [r0]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148E8C
-
- thumb_func_start sub_8148F4C
-sub_8148F4C: @ 8148F4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- movs r7, 0x1
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- movs r0, 0
-_08148F62:
- movs r5, 0
- adds r6, r0, 0x1
-_08148F66:
- ldr r1, =gUnknown_085C8D38
- lsrs r0, r5, 1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- ldr r2, =gUnknown_03001210
- adds r4, r1, r2
- adds r1, r4, 0
- bl sub_8149048
- lsls r0, 16
- cmp r0, 0
- beq _08148FCA
- movs r7, 0
- ldrh r2, [r4, 0x2]
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0x1
- bne _08148FA0
- ldr r0, =0x0000027d
- adds r1, r0, 0
- lsls r0, r2, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r2, r1, 16
-_08148FA0:
- lsls r0, r2, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _08148FAC
- adds r0, 0x1F
-_08148FAC:
- asrs r2, r0, 5
- lsls r0, r2, 5
- subs r0, r1, r0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r2, 5
- lsls r0, 16
- asrs r0, 16
- adds r1, r0
- ldr r0, [sp]
- lsls r1, 1
- adds r1, r0
- ldr r2, =0x0000f002
- adds r0, r2, 0
- strh r0, [r1]
-_08148FCA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _08148F66
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08148F62
- cmp r7, 0x1
- bne _08148FE8
- mov r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08148FE8:
- movs r0, 0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8148F4C
-
- thumb_func_start sub_8149008
-sub_8149008: @ 8149008
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149008
-
- thumb_func_start sub_8149048
-sub_8149048: @ 8149048
- push {r4,lr}
- adds r2, r1, 0
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r0
- ldr r3, [r1]
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _081490CE
- ldr r1, =gUnknown_03001208
- ldrh r0, [r3]
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1]
- ldrh r0, [r3, 0x4]
- strh r0, [r1]
- ldrh r0, [r3, 0x6]
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- beq _081490A0
- cmp r0, 0x2
- bgt _08149090
- cmp r0, 0x1
- beq _0814909A
- b _081490B2
- .pool
-_08149090:
- cmp r0, 0x3
- beq _081490A6
- cmp r0, 0x4
- beq _081490AC
- b _081490B2
-_0814909A:
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- b _081490B0
-_081490A0:
- ldrh r0, [r2, 0x2]
- subs r0, 0x1
- b _081490B0
-_081490A6:
- ldrh r0, [r2, 0x2]
- subs r0, 0x20
- b _081490B0
-_081490AC:
- ldrh r0, [r2, 0x2]
- adds r0, 0x20
-_081490B0:
- strh r0, [r2, 0x2]
-_081490B2:
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- ldr r0, =0x0000027f
- cmp r1, r0
- bgt _081490CE
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _081490D8
-_081490CE:
- movs r0, 0
- b _08149138
- .pool
-_081490D8:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _081490F4
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _081490F4
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r2, 0x4]
- ldrh r0, [r2, 0x6]
- strh r0, [r2, 0x2]
- movs r0, 0x4
- strb r0, [r2]
-_081490F4:
- ldrb r0, [r2, 0x4]
- lsls r0, 1
- adds r0, r3
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _08149136
- ldrb r0, [r2]
- adds r1, r0, 0x1
- strb r1, [r2]
- ldrb r0, [r2, 0x8]
- cmp r0, 0x1
- bne _08149124
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _08149136
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- strb r0, [r2, 0x4]
- movs r0, 0x4
- b _08149134
-_08149124:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08149136
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- strb r0, [r2, 0x4]
- movs r0, 0
-_08149134:
- strb r0, [r2]
-_08149136:
- movs r0, 0x1
-_08149138:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149048
-
- thumb_func_start sub_8149140
-sub_8149140: @ 8149140
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8D40
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08149152:
- 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 _08149152
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149140
-
- thumb_func_start sub_8149178
-sub_8149178: @ 8149178
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085BE51C
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085BEA88
- ldr r1, [sp, 0x4]
- bl LZ77UnCompVram
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149178
-
- thumb_func_start sub_81491C8
-sub_81491C8: @ 81491C8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08149200
- adds r0, r5, 0
- movs r1, 0x1E
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gUnknown_085BF0A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08149200:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3A
- ble _08149218
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
-_08149218:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81491C8
-
- thumb_func_start sub_8149224
-sub_8149224: @ 8149224
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x5
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08149252
- adds r0, r5, 0
- movs r1, 0x5
- bl __divsi3
- lsls r0, 16
- asrs r0, 11
- ldr r1, =gUnknown_085BF2A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_08149252:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x44
- ble _0814926E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x1E
- strh r0, [r4, 0x18]
-_0814926E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149224
-
- thumb_func_start sub_814927C
-sub_814927C: @ 814927C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8D60
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814928E:
- 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 _0814928E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814927C
-
- thumb_func_start sub_81492B4
-sub_81492B4: @ 81492B4
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r1, =0x00009a08
- movs r0, 0x8
- bl SetGpuReg
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085BF6A0
- ldr r1, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 5
- bl CpuSet
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_085BF540
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r2, 0
- ldr r3, =gUnknown_02038C28
- movs r6, 0
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r3, r0
- movs r4, 0x80
- lsls r4, 1
-_08149316:
- lsls r1, r2, 1
- adds r0, r1, r3
- strh r6, [r0]
- adds r1, r5
- strh r4, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9F
- bls _08149316
- ldr r0, =sub_8149508
- bl SetVBlankCallback
- movs r0, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81492B4
-
- thumb_func_start sub_8149358
-sub_8149358: @ 8149358
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- ldr r0, =gUnknown_085C6BE0
- ldr r1, [sp]
- movs r2, 0x80
- lsls r2, 4
- bl CpuSet
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149358
-
- thumb_func_start sub_8149388
-sub_8149388: @ 8149388
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081493B4
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _081493A0
- adds r0, 0x3
-_081493A0:
- lsls r0, 14
- lsrs r0, 16
- adds r0, 0x5
- lsls r0, 5
- ldr r1, =gUnknown_085BF4A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_081493B4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _081493CC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0xA]
-_081493CC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149388
-
- thumb_func_start sub_81493D8
-sub_81493D8: @ 81493D8
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08149402
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, =0xffff8000
- str r2, [sp]
- movs r1, 0x2
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_08149402:
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81493D8
-
- thumb_func_start sub_8149410
-sub_8149410: @ 8149410
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814942E
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x20]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_0814942E:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149410
-
- thumb_func_start sub_814943C
-sub_814943C: @ 814943C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x00007fff
- movs r1, 0x8
- movs r2, 0
- bl BlendPalettes
- ldr r0, =0xffff8000
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814943C
-
- thumb_func_start sub_814946C
-sub_814946C: @ 814946C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- adds r0, r5, 0
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0814949A
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gUnknown_085BF4A0
- adds r0, r1
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
-_0814949A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _081494F0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2]
- movs r0, 0x3F
- strh r0, [r1, 0x4]
- movs r0, 0xF0
- strh r0, [r1, 0x6]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r5, =sub_8146F68
- ldr r3, =gUnknown_020393A8
- movs r2, 0
-_081494C4:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _081494C4
- adds r0, r5, 0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x8]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r4, 0xC]
- strh r2, [r4, 0x16]
- movs r0, 0
- bl ClearGpuRegBits
-_081494F0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814946C
-
- thumb_func_start sub_8149508
-sub_8149508: @ 8149508
- push {lr}
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F2C
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08149548
- ldr r2, =gUnknown_02038C28
- b _08149554
- .pool
-_08149548:
- ldr r2, =gUnknown_02038C28
- cmp r0, 0x1
- bne _08149554
- movs r0, 0xF0
- lsls r0, 3
- adds r2, r0
-_08149554:
- ldr r1, =0x040000b0
- str r2, [r1]
- ldr r0, =0x04000012
- str r0, [r1, 0x4]
- ldr r0, =0xa2400001
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149508
-
- thumb_func_start sub_8149578
-sub_8149578: @ 8149578
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8D8C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814958A:
- 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 _0814958A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149578
-
- thumb_func_start sub_81495B0
-sub_81495B0: @ 81495B0
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0xBF
- strh r0, [r1, 0xE]
- strh r2, [r1, 0x12]
- movs r0, 0x1E
- strh r0, [r1, 0x2]
- movs r0, 0x3F
- strh r0, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r2, =gUnknown_020393A8
- movs r4, 0
- movs r3, 0xF0
-_081495DC:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
- adds r0, r1, 0
- adds r0, 0xA0
- lsls r0, 1
- adds r0, r2
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _081495DC
- movs r0, 0x2
- bl EnableInterrupts
- ldr r0, =sub_8149840
- bl SetHBlankCallback
- ldr r0, =sub_8149774
- bl SetVBlankCallback
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81495B0
-
- thumb_func_start sub_8149628
-sub_8149628: @ 8149628
- push {r4-r6,lr}
- sub sp, 0x10
- adds r6, r0, 0
- ldr r1, =gUnknown_085C8DA0
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- movs r5, 0
- movs r4, 0
-_0814963C:
- ldr r0, =sub_8149864
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r2, r1, r0
- movs r0, 0xF0
- strh r0, [r2, 0x20]
- strh r4, [r2, 0x22]
- lsls r1, r5, 16
- asrs r1, 16
- lsls r0, r1, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r2, 0x38]
- adds r1, 0x1
- lsls r1, 16
- lsls r0, r4, 16
- movs r3, 0xA0
- lsls r3, 13
- adds r0, r3
- lsrs r4, r0, 16
- lsrs r5, r1, 16
- asrs r1, 16
- cmp r1, 0x7
- ble _0814963C
- ldrh r0, [r2, 0x3A]
- adds r0, 0x1
- strh r0, [r2, 0x3A]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149628
-
- thumb_func_start sub_814969C
-sub_814969C: @ 814969C
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =sTransitionStructPtr
- ldr r1, [r2]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- ble _081496C6
- movs r0, 0x1
- negs r0, r0
- ldr r2, =0x00007fff
- movs r1, 0x10
- bl BlendPalettes
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081496C6:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814969C
-
- thumb_func_start sub_81496D8
-sub_81496D8: @ 81496D8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, =sTransitionStructPtr
- ldr r0, [r4]
- ldrb r1, [r0]
- movs r5, 0
- strb r5, [r0]
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- ldr r1, [r4]
- movs r0, 0xF0
- strh r0, [r1, 0x6]
- strh r5, [r1, 0x12]
- movs r0, 0xFF
- strh r0, [r1, 0xE]
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- ldr r0, =sub_8149804
- bl SetVBlankCallback
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81496D8
-
- thumb_func_start sub_8149740
-sub_8149740: @ 8149740
- push {lr}
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- adds r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bls _08149766
- bl sub_8149F84
- ldr r0, =sub_8149578
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08149766:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149740
-
- thumb_func_start sub_8149774
-sub_8149774: @ 8149774
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r2, =0x04000050
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0xE]
- strh r0, [r2]
- subs r2, 0x8
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- ldrb r0, [r1]
- cmp r0, 0
- beq _081497C4
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x80000140
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_081497C4:
- ldr r0, =gUnknown_020394E8
- str r0, [r4]
- ldr r0, =0x04000040
- str r0, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149774
-
- thumb_func_start sub_8149804
-sub_8149804: @ 8149804
- push {lr}
- bl sub_8149F2C
- ldr r1, =0x04000054
- ldr r0, =sTransitionStructPtr
- ldr r2, [r0]
- ldrh r0, [r2, 0x12]
- strh r0, [r1]
- subs r1, 0x4
- ldrh r0, [r2, 0xE]
- strh r0, [r1]
- subs r1, 0x8
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r2, 0x4]
- strh r0, [r1]
- subs r1, 0xA
- ldrh r0, [r2, 0x6]
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r2, 0x8]
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149804
-
- thumb_func_start sub_8149840
-sub_8149840: @ 8149840
- ldr r2, =0x04000054
- ldr r1, =gUnknown_02038C28
- ldr r0, =0x04000006
- ldrh r0, [r0]
- lsls r0, 1
- movs r3, 0xF0
- lsls r3, 3
- adds r1, r3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8149840
-
- thumb_func_start sub_8149864
-sub_8149864: @ 8149864
- push {r4-r6,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x38]
- movs r2, 0x38
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08149890
- subs r0, r1, 0x1
- strh r0, [r3, 0x38]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0814994C
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
- b _0814994C
- .pool
-_08149890:
- movs r2, 0x22
- ldrsh r1, [r3, r2]
- lsls r1, 1
- ldr r0, =gUnknown_02038C28
- adds r6, r1, r0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2
- adds r5, r1, r0
- movs r4, 0
-_081498A4:
- lsls r1, r4, 1
- adds r2, r1, r6
- ldrh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0x20]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _081498A4
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- ldrh r2, [r3, 0x20]
- cmp r0, 0
- bne _081498DE
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _081498DE
- movs r0, 0x1
- strh r0, [r3, 0x30]
-_081498DE:
- adds r1, r2, 0
- subs r1, 0x10
- strh r1, [r3, 0x20]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x80
- strh r0, [r3, 0x2E]
- lsls r1, 16
- cmp r1, 0
- bge _081498F4
- movs r0, 0
- strh r0, [r3, 0x20]
-_081498F4:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- movs r1, 0x80
- lsls r1, 5
- cmp r0, r1
- ble _08149902
- strh r1, [r3, 0x2E]
-_08149902:
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _08149914
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
-_08149914:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0814994C
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- ldr r2, =sTransitionStructPtr
- cmp r0, 0
- beq _0814993E
- ldr r0, [r2]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- ble _0814994C
- ldrh r0, [r3, 0x32]
- adds r1, r0, 0x1
- strh r1, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0814994C
-_0814993E:
- ldr r1, [r2]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- adds r0, r3, 0
- bl DestroySprite
-_0814994C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149864
-
- thumb_func_start sub_814995C
-sub_814995C: @ 814995C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8DB0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814996E:
- 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 _0814996E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814995C
-
- thumb_func_start sub_8149994
-sub_8149994: @ 8149994
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085BACD0
- ldr r1, [sp, 0x8]
- movs r2, 0x10
- bl CpuSet
- mov r1, sp
- movs r2, 0xF0
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gFieldEffectObjectPalette10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149994
-
- thumb_func_start sub_81499E8
-sub_81499E8: @ 81499E8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08149A2A
- mov r0, sp
- bl sub_8149F40
- movs r0, 0x3
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 5
- ldr r1, =gUnknown_085BACD0
- adds r0, r1
- ldr r1, [sp]
- movs r2, 0x10
- bl CpuSet
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0xD
- ble _08149A2A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_08149A2A:
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81499E8
-
- thumb_func_start sub_8149A40
-sub_8149A40: @ 8149A40
- push {lr}
- ldrh r1, [r0, 0xA]
- subs r1, 0x1
- strh r1, [r0, 0xA]
- lsls r1, 16
- cmp r1, 0
- bne _08149A60
- bl sub_8149F84
- ldr r0, =sub_814995C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08149A60:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149A40
-
- thumb_func_start sub_8149A6C
-sub_8149A6C: @ 8149A6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8DBC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08149A7E:
- 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 _08149A7E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149A6C
-
- thumb_func_start sub_8149AA4
-sub_8149AA4: @ 8149AA4
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x3F
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- movs r0, 0xA0
- strh r0, [r1, 0x8]
- movs r1, 0
- ldr r2, =gUnknown_02038C28
- movs r3, 0xF0
- adds r4, r2, 0
-_08149AC8:
- lsls r0, r1, 1
- adds r0, r2
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9F
- bls _08149AC8
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xA0
- bl CpuSet
- ldr r0, =sub_8149CE8
- bl SetVBlankCallback
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149AA4
-
- thumb_func_start sub_8149B08
-sub_8149B08: @ 8149B08
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r8, r0
- ldr r0, =sTransitionStructPtr
- ldr r0, [r0]
- adds r0, 0x24
- ldr r6, =gUnknown_085C8DD0
- mov r2, r8
- movs r3, 0xA
- ldrsh r1, [r2, r3]
- lsls r4, r1, 2
- adds r4, r1
- lsls r4, 1
- adds r1, r4, r6
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r2, r6, 0x2
- adds r2, r4, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r3, r6, 0x4
- adds r3, r4, r3
- movs r5, 0
- ldrsh r3, [r3, r5]
- adds r5, r6, 0x6
- adds r4, r5
- movs r5, 0
- ldrsh r4, [r4, r5]
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- bl sub_814A1AC
- mov r0, r8
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r6, 0x8
- adds r0, r6
- ldrh r0, [r0]
- mov r3, r8
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- movs r0, 0x1
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149B08
-
- thumb_func_start sub_8149B84
-sub_8149B84: @ 8149B84
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- mov r8, r0
- movs r7, 0
- ldr r0, =gUnknown_02038C28
- mov r9, r0
-_08149BA0:
- ldr r1, =gUnknown_02038C28
- ldr r0, =sTransitionStructPtr
- ldr r2, [r0]
- movs r3, 0x2A
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsrs r3, r0, 8
- movs r5, 0xFF
- ands r5, r0
- movs r4, 0xC
- ldrsh r0, [r6, r4]
- cmp r0, 0
- bne _08149BDC
- movs r1, 0x28
- ldrsh r0, [r2, r1]
- cmp r3, r0
- bge _08149BC8
- ldrh r3, [r2, 0x28]
-_08149BC8:
- lsls r0, r3, 16
- lsls r1, r5, 16
- cmp r0, r1
- ble _08149BF4
- lsrs r3, r1, 16
- b _08149BF4
- .pool
-_08149BDC:
- lsls r0, r5, 16
- asrs r0, 16
- movs r4, 0x28
- ldrsh r1, [r2, r4]
- cmp r0, r1
- ble _08149BEA
- ldrh r5, [r2, 0x28]
-_08149BEA:
- lsls r0, r5, 16
- lsls r1, r3, 16
- cmp r0, r1
- bgt _08149BF4
- lsrs r5, r1, 16
-_08149BF4:
- ldr r0, =sTransitionStructPtr
- ldr r4, [r0]
- movs r0, 0x2A
- ldrsh r2, [r4, r0]
- lsls r2, 1
- add r2, r9
- lsls r1, r3, 16
- asrs r1, 8
- lsls r0, r5, 16
- asrs r0, 16
- orrs r0, r1
- strh r0, [r2]
- cmp r7, 0
- beq _08149C1C
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _08149C40
- .pool
-_08149C1C:
- adds r0, r4, 0
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_814A228
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r8
- lsls r0, r1, 16
- movs r3, 0x80
- lsls r3, 9
- adds r0, r3
- lsrs r4, r0, 16
- mov r8, r4
- asrs r0, 16
- cmp r0, 0xF
- ble _08149BA0
-_08149C40:
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149B84
-
- thumb_func_start sub_8149C60
-sub_8149C60: @ 8149C60
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _08149CAC
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- bl sub_8149F84
- ldr r0, =sub_8149A6C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- b _08149CC4
- .pool
-_08149CAC:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldr r1, =gUnknown_085C8E16
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- subs r0, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2, 0xE]
- movs r0, 0x1
-_08149CC4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149C60
-
- thumb_func_start sub_8149CCC
-sub_8149CCC: @ 8149CCC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- cmp r0, 0
- beq _08149CE0
- movs r0, 0
- b _08149CE4
-_08149CE0:
- movs r0, 0x1
- strh r0, [r1, 0x8]
-_08149CE4:
- pop {r1}
- bx r1
- thumb_func_end sub_8149CCC
-
- thumb_func_start sub_8149CE8
-sub_8149CE8: @ 8149CE8
- push {r4,lr}
- ldr r4, =0x040000b0
- ldrh r1, [r4, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r1, [r4, 0xA]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xA]
- bl sub_8149F2C
- ldr r3, =sTransitionStructPtr
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08149D20
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08149D20:
- ldr r2, =0x04000048
- ldr r1, [r3]
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- subs r2, 0x6
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- subs r2, 0x4
- ldr r0, =gUnknown_02038C28
- movs r1, 0xF0
- lsls r1, 3
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r2]
- str r0, [r4]
- str r2, [r4, 0x4]
- ldr r0, =0xa2400001
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149CE8
-
- thumb_func_start sub_8149D78
-sub_8149D78: @ 8149D78
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x18]
- 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
- lsls r3, 16
- lsrs r3, 16
- ldr r0, =sub_8149DFC
- movs r1, 0x3
- str r3, [sp]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, r8
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r6, [r1, 0x10]
- ldr r3, [sp]
- strh r3, [r1, 0x12]
- strh r0, [r1, 0x14]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149D78
-
- thumb_func_start sub_8149DDC
-sub_8149DDC: @ 8149DDC
- push {lr}
- ldr r0, =sub_8149DFC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08149DF4
- movs r0, 0
- b _08149DF6
- .pool
-_08149DF4:
- movs r0, 0x1
-_08149DF6:
- pop {r1}
- bx r1
- thumb_func_end sub_8149DDC
-
- thumb_func_start sub_8149DFC
-sub_8149DFC: @ 8149DFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C8E24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08149E0E:
- 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 _08149E0E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149DFC
-
- thumb_func_start sub_8149E34
-sub_8149E34: @ 8149E34
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08149E4C
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _08149E70
-_08149E4C:
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08149E64
- movs r0, 0x10
- strh r0, [r4, 0x16]
-_08149E64:
- movs r0, 0x1
- negs r0, r0
- ldrb r1, [r4, 0x16]
- ldr r2, =0x00002d6b
- bl BlendPalettes
-_08149E70:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- ble _08149E82
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0x14]
-_08149E82:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8149E34
-
- thumb_func_start sub_8149E90
-sub_8149E90: @ 8149E90
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08149EA8
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _08149ECA
-_08149EA8:
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- bge _08149EBE
- movs r0, 0
- strh r0, [r4, 0x16]
-_08149EBE:
- movs r0, 0x1
- negs r0, r0
- ldrb r1, [r4, 0x16]
- ldr r2, =0x00002d6b
- bl BlendPalettes
-_08149ECA:
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _08149EFE
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _08149EF8
- ldr r0, =sub_8149DFC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _08149EFE
- .pool
-_08149EF8:
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x8]
-_08149EFE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149E90
-
- thumb_func_start sub_8149F08
-sub_8149F08: @ 8149F08
- push {r4,lr}
- ldr r4, =sTransitionStructPtr
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x3C
- bl memset
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x14
- adds r1, 0x16
- bl sub_8089C08
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149F08
-
- thumb_func_start sub_8149F2C
-sub_8149F2C: @ 8149F2C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8149F2C
-
- thumb_func_start sub_8149F40
-sub_8149F40: @ 8149F40
- ldr r1, =0x04000008
- ldrh r1, [r1]
- lsrs r1, 2
- lsls r1, 30
- lsrs r1, 16
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8149F40
-
- thumb_func_start sub_8149F58
-sub_8149F58: @ 8149F58
- push {r4,lr}
- ldr r3, =0x04000008
- ldrh r2, [r3]
- lsrs r2, 8
- ldrh r3, [r3]
- lsrs r3, 2
- lsls r2, 27
- lsrs r2, 16
- lsls r3, 30
- lsrs r3, 16
- movs r4, 0xC0
- lsls r4, 19
- adds r2, r4
- str r2, [r0]
- adds r3, r4
- str r3, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149F58
-
- thumb_func_start sub_8149F84
-sub_8149F84: @ 8149F84
- push {lr}
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- pop {r0}
- bx r0
- thumb_func_end sub_8149F84
-
- thumb_func_start sub_8149F98
-sub_8149F98: @ 8149F98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- ldr r0, [sp, 0x20]
- ldr r4, [sp, 0x24]
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r1, r0, 16
- lsls r4, 16
- movs r6, 0
- lsrs r5, r4, 16
- cmp r4, 0
- ble _0814A000
- lsls r0, r7, 16
- asrs r0, 16
- mov r9, r0
- lsls r1, 16
- mov r8, r1
- lsls r0, r3, 16
- asrs r7, r0, 16
-_08149FD0:
- lsls r4, r2, 16
- asrs r4, 16
- movs r0, 0xFF
- ands r0, r4
- mov r2, r8
- asrs r1, r2, 16
- bl Sin
- lsls r1, r6, 1
- add r1, r10
- add r0, r9
- strh r0, [r1]
- lsls r1, r5, 16
- ldr r0, =0xffff0000
- adds r1, r0
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r7
- lsls r4, 16
- lsrs r2, r4, 16
- lsrs r5, r1, 16
- cmp r1, 0
- bgt _08149FD0
-_0814A000:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8149F98
-
- thumb_func_start sub_814A014
-sub_814A014: @ 814A014
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r9, r0
- adds r5, r2, 0
- adds r4, r3, 0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- movs r2, 0xA0
- lsls r2, 1
- movs r1, 0xA
- bl memset
- movs r1, 0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp, 0x4]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x8]
-_0814A04C:
- lsls r5, r1, 16
- asrs r0, r5, 16
- mov r10, r0
- ldr r1, [sp, 0x4]
- bl Sin
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r10
- ldr r1, [sp, 0x4]
- bl Cos
- ldr r2, [sp]
- lsls r1, r2, 16
- asrs r1, 16
- lsls r4, 16
- asrs r4, 16
- subs r2, r1, r4
- lsls r2, 16
- adds r1, r4
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r0, 16
- asrs r0, 16
- ldr r3, [sp, 0x8]
- subs r1, r3, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r3, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsrs r1, r2, 16
- str r5, [sp, 0x10]
- cmp r2, 0
- bge _0814A098
- movs r1, 0
-_0814A098:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xF0
- ble _0814A0A2
- movs r6, 0xF0
-_0814A0A2:
- lsls r0, r7, 16
- cmp r0, 0
- bge _0814A0AA
- movs r7, 0
-_0814A0AA:
- mov r2, r8
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x9F
- ble _0814A0B8
- movs r3, 0x9F
- mov r8, r3
-_0814A0B8:
- lsls r0, r1, 24
- lsrs r0, 16
- orrs r6, r0
- lsls r0, r7, 16
- asrs r0, 16
- str r0, [sp, 0xC]
- lsls r0, 1
- add r0, r9
- strh r6, [r0]
- mov r0, r8
- lsls r4, r0, 16
- asrs r0, r4, 15
- add r0, r9
- strh r6, [r0]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- ldr r1, [sp, 0x4]
- bl Cos
- lsls r0, 16
- asrs r0, 16
- ldr r2, [sp, 0x8]
- subs r1, r2, r0
- lsls r1, 16
- adds r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- lsrs r3, r1, 16
- cmp r1, 0
- bge _0814A0FA
- movs r3, 0
-_0814A0FA:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x9F
- ble _0814A104
- movs r2, 0x9F
-_0814A104:
- lsls r0, r3, 16
- asrs r1, r0, 16
- adds r3, r0, 0
- lsls r5, r2, 16
- ldr r0, [sp, 0xC]
- cmp r0, r1
- ble _0814A128
- adds r2, r1, 0
-_0814A114:
- lsls r1, r7, 16
- ldr r0, =0xffff0000
- adds r1, r0
- asrs r0, r1, 15
- add r0, r9
- strh r6, [r0]
- lsrs r7, r1, 16
- asrs r1, 16
- cmp r1, r2
- bgt _0814A114
-_0814A128:
- lsls r1, r7, 16
- asrs r0, r3, 16
- cmp r1, r3
- bge _0814A146
- adds r2, r0, 0
-_0814A132:
- movs r3, 0x80
- lsls r3, 9
- adds r0, r1, r3
- asrs r1, r0, 15
- add r1, r9
- strh r6, [r1]
- adds r1, r0, 0
- asrs r0, r1, 16
- cmp r0, r2
- blt _0814A132
-_0814A146:
- asrs r0, r5, 16
- cmp r4, r5
- ble _0814A164
- adds r1, r0, 0
-_0814A14E:
- ldr r2, =0xffff0000
- adds r0, r4, r2
- lsrs r3, r0, 16
- mov r8, r3
- asrs r0, 15
- add r0, r9
- strh r6, [r0]
- lsls r4, r3, 16
- asrs r0, r4, 16
- cmp r0, r1
- bgt _0814A14E
-_0814A164:
- mov r0, r8
- lsls r4, r0, 16
- asrs r0, r5, 16
- cmp r4, r5
- bge _0814A184
- adds r2, r0, 0
-_0814A170:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r4, r1
- asrs r1, r0, 15
- add r1, r9
- strh r6, [r1]
- adds r4, r0, 0
- asrs r0, r4, 16
- cmp r0, r2
- blt _0814A170
-_0814A184:
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- bgt _0814A196
- b _0814A04C
-_0814A196:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A014
-
- thumb_func_start sub_814A1AC
-sub_814A1AC: @ 814A1AC
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [sp, 0x14]
- ldr r5, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r0, 16
- adds r7, r0, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- strh r1, [r6]
- strh r2, [r6, 0x2]
- strh r1, [r6, 0x4]
- strh r2, [r6, 0x6]
- strh r3, [r6, 0x8]
- strh r7, [r6, 0xA]
- strh r5, [r6, 0xC]
- strh r4, [r6, 0xE]
- lsls r3, 16
- asrs r3, 16
- lsls r1, 16
- asrs r1, 16
- subs r3, r1
- strh r3, [r6, 0x10]
- lsls r0, r3, 16
- cmp r0, 0
- bge _0814A1FE
- negs r0, r3
- strh r0, [r6, 0x10]
- lsls r0, r5, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r6, 0xC]
-_0814A1FE:
- lsls r0, r7, 16
- asrs r0, 16
- lsls r1, r2, 16
- asrs r1, 16
- subs r1, r0, r1
- strh r1, [r6, 0x12]
- lsls r0, r1, 16
- cmp r0, 0
- bge _0814A21C
- negs r0, r1
- strh r0, [r6, 0x12]
- lsls r0, r4, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r6, 0xE]
-_0814A21C:
- movs r0, 0
- strh r0, [r6, 0x14]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814A1AC
-
- thumb_func_start sub_814A228
-sub_814A228: @ 814A228
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldrh r0, [r3, 0x10]
- mov r8, r0
- movs r1, 0x10
- ldrsh r6, [r3, r1]
- ldrh r2, [r3, 0x12]
- mov r12, r2
- movs r4, 0x12
- ldrsh r5, [r3, r4]
- cmp r6, r5
- ble _0814A278
- ldrh r0, [r3, 0xC]
- ldrh r2, [r3, 0x4]
- adds r1, r0, r2
- strh r1, [r3, 0x4]
- ldrh r2, [r3, 0x14]
- add r2, r12
- strh r2, [r3, 0x14]
- lsls r1, r2, 16
- asrs r1, 16
- adds r4, r0, 0
- ldrh r7, [r3, 0xE]
- cmp r1, r6
- ble _0814A29E
- ldrh r1, [r3, 0x6]
- adds r0, r7, r1
- strh r0, [r3, 0x6]
- mov r1, r8
- b _0814A29A
-_0814A278:
- ldrh r0, [r3, 0xE]
- ldrh r2, [r3, 0x6]
- adds r1, r0, r2
- strh r1, [r3, 0x6]
- ldrh r2, [r3, 0x14]
- add r2, r8
- strh r2, [r3, 0x14]
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r4, [r3, 0xC]
- adds r7, r0, 0
- cmp r1, r5
- ble _0814A29E
- ldrh r1, [r3, 0x4]
- adds r0, r4, r1
- strh r0, [r3, 0x4]
- mov r1, r12
-_0814A29A:
- subs r0, r2, r1
- strh r0, [r3, 0x14]
-_0814A29E:
- movs r5, 0
- lsls r0, r4, 16
- asrs r2, r0, 16
- cmp r2, 0
- ble _0814A2B6
- movs r4, 0x4
- ldrsh r1, [r3, r4]
- movs r4, 0x8
- ldrsh r0, [r3, r4]
- ldrh r4, [r3, 0x8]
- cmp r1, r0
- bge _0814A2C8
-_0814A2B6:
- cmp r2, 0
- bge _0814A2D6
- movs r0, 0x4
- ldrsh r1, [r3, r0]
- movs r2, 0x8
- ldrsh r0, [r3, r2]
- ldrh r4, [r3, 0x8]
- cmp r1, r0
- bgt _0814A2D6
-_0814A2C8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- cmp r0, 0
- beq _0814A2D6
- strh r4, [r3, 0x4]
-_0814A2D6:
- lsls r0, r7, 16
- asrs r2, r0, 16
- cmp r2, 0
- ble _0814A2EC
- movs r4, 0x6
- ldrsh r1, [r3, r4]
- movs r4, 0xA
- ldrsh r0, [r3, r4]
- ldrh r4, [r3, 0xA]
- cmp r1, r0
- bge _0814A2FE
-_0814A2EC:
- cmp r2, 0
- bge _0814A30C
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r2, 0xA
- ldrsh r0, [r3, r2]
- ldrh r4, [r3, 0xA]
- cmp r1, r0
- bgt _0814A30C
-_0814A2FE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r10
- cmp r0, 0
- beq _0814A30C
- strh r4, [r3, 0x6]
-_0814A30C:
- cmp r5, 0x2
- beq _0814A314
- movs r0, 0
- b _0814A316
-_0814A314:
- movs r0, 0x1
-_0814A316:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814A228
-
- thumb_func_start sub_814A324
-sub_814A324: @ 814A324
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- bl sub_814669C
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_085C7C00
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085C7BE0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A324
-
- thumb_func_start sub_814A374
-sub_814A374: @ 814A374
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085C828C
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_02038C28
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- str r1, [sp]
- movs r1, 0xA0
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x84
- bl sub_8149F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A374
-
- thumb_func_start sub_814A3BC
-sub_814A3BC: @ 814A3BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C99D0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814A3CE:
- 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 _0814A3CE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A3BC
-
- thumb_func_start sub_814A3F4
-sub_814A3F4: @ 814A3F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C99E8
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814A406:
- 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 _0814A406
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A3F4
-
- thumb_func_start sub_814A42C
-sub_814A42C: @ 814A42C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- bl sub_8149F08
- bl dp12_8087EA4
- movs r1, 0xC0
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- movs r5, 0
- movs r0, 0x80
- lsls r0, 6
- strh r0, [r4, 0xC]
- ldr r0, =0x00007fff
- strh r0, [r4, 0xA]
- strh r5, [r4, 0x12]
- movs r0, 0x10
- strh r0, [r4, 0x14]
- movs r0, 0xA0
- lsls r0, 4
- strh r0, [r4, 0x16]
- ldr r6, =sTransitionStructPtr
- ldr r2, [r6]
- ldr r3, =0x00003f41
- strh r3, [r2, 0xE]
- ldrh r0, [r4, 0x14]
- lsls r0, 8
- ldrh r1, [r4, 0x12]
- orrs r0, r1
- strh r0, [r2, 0x10]
- ldr r0, =0x04000050
- strh r3, [r0]
- ldr r1, =0x04000052
- ldrh r0, [r2, 0x10]
- strh r0, [r1]
- add r0, sp, 0x4
- add r1, sp, 0x8
- bl sub_8149F58
- mov r0, sp
- strh r5, [r0]
- ldr r1, [sp, 0x4]
- ldr r2, =0x01000400
- bl CpuSet
- ldr r0, =gUnknown_085C7C00
- ldr r1, [sp, 0x8]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085C7BE0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, [r6]
- strh r5, [r0, 0x16]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A42C
-
- thumb_func_start sub_814A4D4
-sub_814A4D4: @ 814A4D4
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- ldr r0, =gUnknown_085C828C
- ldr r1, [sp]
- bl LZ77UnCompVram
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A4D4
-
- thumb_func_start sub_814A500
-sub_814A500: @ 814A500
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r2, 0
- ldr r6, =sub_814A684
- ldr r4, =gUnknown_020393A8
- ldr r3, =sTransitionStructPtr
-_0814A50C:
- lsls r1, r2, 1
- adds r1, r4
- ldr r0, [r3]
- ldrh r0, [r0, 0x16]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9F
- bls _0814A50C
- adds r0, r6, 0
- bl SetVBlankCallback
- ldr r0, =sub_814A6CC
- bl SetHBlankCallback
- movs r0, 0x2
- bl EnableInterrupts
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A500
-
- thumb_func_start sub_814A550
-sub_814A550: @ 814A550
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, =sTransitionStructPtr
- ldr r0, [r1]
- ldrb r2, [r0]
- movs r3, 0
- strb r3, [r0]
- ldrh r2, [r4, 0xC]
- lsls r0, r2, 16
- asrs r0, 24
- lsls r0, 16
- lsrs r7, r0, 16
- ldrh r6, [r4, 0xA]
- movs r0, 0xC0
- lsls r0, 1
- mov r8, r0
- ldrh r0, [r4, 0x16]
- subs r0, r6, r0
- strh r0, [r4, 0xA]
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- adds r5, r1, 0
- cmp r0, 0x45
- ble _0814A5A2
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- ldr r1, =0xfffffe80
- adds r0, r1
- cmp r0, 0
- blt _0814A5A0
- adds r0, r2, r1
- strh r0, [r4, 0xC]
- b _0814A5A2
- .pool
-_0814A5A0:
- strh r3, [r4, 0xC]
-_0814A5A2:
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- blt _0814A5E0
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _0814A5E0
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _0814A5C6
- adds r0, r1, 0x1
- strh r0, [r4, 0x12]
- b _0814A5D4
-_0814A5C6:
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0814A5D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
-_0814A5D4:
- ldr r0, [r5]
- ldrh r1, [r4, 0x14]
- lsls r1, 8
- ldrh r2, [r4, 0x12]
- orrs r1, r2
- strh r1, [r0, 0x10]
-_0814A5E0:
- movs r5, 0
- lsls r7, 16
-_0814A5E4:
- lsrs r0, r6, 8
- asrs r1, r7, 16
- bl Sin
- ldr r1, =gUnknown_02038C28
- lsls r2, r5, 1
- adds r2, r1
- ldr r1, =sTransitionStructPtr
- ldr r1, [r1]
- ldrh r1, [r1, 0x16]
- adds r0, r1
- strh r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r8
- adds r0, r6, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r5, 0x9F
- bls _0814A5E4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _0814A632
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0814A632:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0814A654
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0814A654
- ldr r0, =sub_814A3F4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0814A654:
- ldrh r0, [r4, 0x16]
- subs r0, 0x11
- strh r0, [r4, 0x16]
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A550
-
- thumb_func_start sub_814A684
-sub_814A684: @ 814A684
- push {lr}
- bl sub_8149F2C
- ldr r2, =0x04000050
- ldr r0, =sTransitionStructPtr
- ldr r1, [r0]
- ldrh r0, [r1, 0xE]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x10]
- strh r0, [r2]
- ldrb r0, [r1]
- cmp r0, 0
- beq _0814A6B4
- ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, =0x800000a0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_0814A6B4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A684
-
- thumb_func_start sub_814A6CC
-sub_814A6CC: @ 814A6CC
- ldr r1, =gUnknown_02038C28
- ldr r0, =0x04000006
- ldrh r0, [r0]
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x04000012
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_814A6CC
-
- thumb_func_start sub_814A6F0
-sub_814A6F0: @ 814A6F0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C99F8
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814A702:
- 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 _0814A702
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A6F0
-
- thumb_func_start sub_814A728
-sub_814A728: @ 814A728
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C9A08
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814A73A:
- 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 _0814A73A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A728
-
- thumb_func_start sub_814A760
-sub_814A760: @ 814A760
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_085C9A1C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0814A772:
- 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 _0814A772
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814A760
-
- thumb_func_start sub_814A798
-sub_814A798: @ 814A798
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- mov r8, r0
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_8149F58
- ldr r0, =gUnknown_085C8598
- ldr r1, [sp, 0x10]
- bl LZ77UnCompVram
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r6, 0x1
- str r6, [sp]
- str r4, [sp, 0x4]
- movs r5, 0xF
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r6, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1D
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_085C8578
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- mov r1, r8
- strh r6, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- movs r0, 0xA
- strh r0, [r1, 0x16]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A798
-
- thumb_func_start sub_814A828
-sub_814A828: @ 814A828
- push {r4,r5,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, =gUnknown_085C8928
- movs r2, 0x4
- str r2, [sp]
- str r2, [sp, 0x4]
- ldrb r0, [r4, 0xC]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0xE]
- str r0, [sp, 0xC]
- str r2, [sp, 0x10]
- str r2, [sp, 0x14]
- movs r0, 0xF
- str r0, [sp, 0x18]
- movs r5, 0
- str r5, [sp, 0x1C]
- str r5, [sp, 0x20]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r4, 0xC]
- adds r0, 0x4
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bne _0814A88A
- movs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- adds r0, 0x4
- strh r0, [r4, 0xE]
- strh r5, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _0814A88A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0814A88A:
- movs r0, 0
- add sp, 0x24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A828
-
- thumb_func_start sub_814A898
-sub_814A898: @ 814A898
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldrh r0, [r4, 0x14]
- adds r1, r0, 0x1
- strh r1, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _0814A956
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0814A8FC
- cmp r0, 0x1
- bgt _0814A8CA
- cmp r0, 0
- beq _0814A8D4
- b _0814A92C
-_0814A8CA:
- cmp r0, 0x2
- beq _0814A914
- cmp r0, 0x3
- beq _0814A91C
- b _0814A92C
-_0814A8D4:
- movs r2, 0xFA
- ldr r6, =gPlttBufferUnfaded
- movs r3, 0
- ldr r5, =gPlttBufferFaded
-_0814A8DC:
- lsls r1, r2, 1
- adds r0, r1, r6
- strh r3, [r0]
- adds r1, r5
- strh r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFE
- bls _0814A8DC
- b _0814A94C
- .pool
-_0814A8FC:
- ldr r0, =0xffff7fff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =gUnknown_085C86F4
- b _0814A91E
- .pool
-_0814A914:
- ldr r0, =gUnknown_085C87F4
- b _0814A91E
- .pool
-_0814A91C:
- ldr r0, =gUnknown_085C88A4
-_0814A91E:
- ldr r1, [sp, 0xC]
- bl LZ77UnCompVram
- b _0814A94C
- .pool
-_0814A92C:
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0814A956
-_0814A94C:
- movs r0, 0
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
-_0814A956:
- movs r0, 0
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814A898
-
- thumb_func_start sub_814A960
-sub_814A960: @ 814A960
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- mov r8, r0
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_8149F58
- ldr r0, =gUnknown_085C8598
- ldr r1, [sp, 0x10]
- bl LZ77UnCompVram
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r6, 0x1
- str r6, [sp]
- str r4, [sp, 0x4]
- movs r5, 0xF
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r6, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1D
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r4, =gUnknown_085C8578
- adds r0, r4, 0
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0xE0
- movs r1, 0x10
- movs r2, 0x8
- movs r3, 0
- bl BlendPalette
- movs r1, 0
- movs r0, 0x22
- mov r2, r8
- strh r0, [r2, 0xC]
- strh r1, [r2, 0xE]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- movs r0, 0
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814A960
-
- thumb_func_start sub_814AA04
-sub_814AA04: @ 814AA04
- push {r4-r6,lr}
- sub sp, 0x24
- adds r6, r0, 0
- ldr r1, =gUnknown_085C9A30
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- adds r0, r1
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x7
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x7
- bl __udivsi3
- ldr r1, =gUnknown_085C8928
- movs r2, 0x4
- str r2, [sp]
- str r2, [sp, 0x4]
- lsls r4, 2
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x8]
- lsls r0, 26
- lsrs r0, 24
- str r0, [sp, 0xC]
- str r2, [sp, 0x10]
- str r2, [sp, 0x14]
- movs r0, 0xF
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- str r0, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- cmp r0, 0
- bge _0814AA70
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_0814AA70:
- movs r0, 0
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AA04
-
- thumb_func_start sub_814AA84
-sub_814AA84: @ 814AA84
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xE0
- movs r1, 0x10
- movs r2, 0x3
- movs r3, 0
- bl BlendPalette
- ldr r0, =0xffff3fff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AA84
-
- thumb_func_start sub_814AAB8
-sub_814AAB8: @ 814AAB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x24
- adds r7, r0, 0
- ldrh r0, [r7, 0xE]
- movs r1, 0x1
- eors r0, r1
- movs r6, 0
- strh r0, [r7, 0xE]
- cmp r0, 0
- beq _0814AB2C
- ldr r0, =gUnknown_085C8928
- mov r8, r0
- movs r4, 0x4
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r5, =gUnknown_085C9A30
- movs r1, 0xC
- ldrsh r0, [r7, r1]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x7
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- movs r2, 0xC
- ldrsh r0, [r7, r2]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 26
- lsrs r0, 24
- str r0, [sp, 0xC]
- str r4, [sp, 0x10]
- str r4, [sp, 0x14]
- movs r0, 0xE
- str r0, [sp, 0x18]
- str r6, [sp, 0x1C]
- str r6, [sp, 0x20]
- movs r0, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- b _0814AB78
- .pool
-_0814AB2C:
- movs r1, 0xC
- ldrsh r0, [r7, r1]
- cmp r0, 0
- ble _0814AB72
- ldr r1, =gUnknown_085C9A30
- subs r0, 0x1
- adds r0, r1
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x7
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 22
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x7
- bl __udivsi3
- adds r3, r0, 0
- lsls r3, 26
- lsrs r3, 24
- movs r0, 0x4
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl FillBgTilemapBufferRect
-_0814AB72:
- ldrh r0, [r7, 0xC]
- adds r0, 0x1
- strh r0, [r7, 0xC]
-_0814AB78:
- movs r1, 0xC
- ldrsh r0, [r7, r1]
- cmp r0, 0x22
- ble _0814AB86
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
-_0814AB86:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AAB8
-
- thumb_func_start sub_814ABA0
-sub_814ABA0: @ 814ABA0
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, [r4]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814ABA0
-
- thumb_func_start sub_814ABE4
-sub_814ABE4: @ 814ABE4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- ldrh r0, [r6, 0xC]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r6, 0xC]
- cmp r0, 0
- bne _0814AC24
- ldr r5, =gBattle_BG0_X
- ldrh r1, [r5]
- movs r0, 0x12
- bl SetGpuReg
- ldr r4, =gBattle_BG0_Y
- ldrh r1, [r4]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r0, [r6, 0x8]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- ldrh r0, [r6, 0xA]
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r4]
-_0814AC24:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_814ABE4
-
- thumb_func_start sub_814AC38
-sub_814AC38: @ 814AC38
- push {r4-r6,lr}
- sub sp, 0x10
- adds r6, r0, 0
- movs r5, 0
- add r1, sp, 0xC
- add r0, sp, 0x8
- bl sub_8149F58
- ldr r0, =gUnknown_085C8598
- ldr r1, [sp, 0xC]
- bl LZ77UnCompVram
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_085C8578
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gBattle_BG0_X
- strh r5, [r0]
- ldr r4, =gBattle_BG0_Y
- strh r5, [r4]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x10
- bl SetGpuReg
- strh r5, [r6, 0xC]
- ldr r0, =sub_814ABE4
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- cmp r1, 0x1
- beq _0814ACE4
- cmp r1, 0x1
- bgt _0814ACC8
- cmp r1, 0
- beq _0814ACCE
- b _0814AD1C
- .pool
-_0814ACC8:
- cmp r1, 0x2
- beq _0814AD00
- b _0814AD1C
-_0814ACCE:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- b _0814AD2E
- .pool
-_0814ACE4:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x8]
- movs r1, 0x1
- negs r1, r1
- b _0814AD2C
- .pool
-_0814AD00:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- ldr r1, =0x0000ffff
- b _0814AD2C
- .pool
-_0814AD1C:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x8]
- movs r1, 0x1
-_0814AD2C:
- strh r1, [r0, 0xA]
-_0814AD2E:
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AC38
-
- thumb_func_start sub_814AD48
-sub_814AD48: @ 814AD48
- push {r4,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, =gUnknown_085C9A53
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r3, [r0]
- lsrs r2, r3, 3
- movs r0, 0x7
- ands r3, r0
- ldr r1, =gUnknown_085C8928
- movs r0, 0x4
- str r0, [sp]
- str r0, [sp, 0x4]
- lsls r2, 2
- adds r2, 0x1
- str r2, [sp, 0x8]
- lsls r3, 2
- str r3, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- movs r0, 0xF
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- str r0, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl CopyRectToBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _0814ADA0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0814ADA0:
- movs r0, 0
- add sp, 0x24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AD48
-
- thumb_func_start sub_814ADB4
-sub_814ADB4: @ 814ADB4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0xffff7fff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814ADB4
-
- thumb_func_start sub_814ADD8
-sub_814ADD8: @ 814ADD8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, =gUnknown_085C9A53
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r3, [r0]
- lsrs r2, r3, 3
- movs r0, 0x7
- ands r3, r0
- lsls r2, 2
- adds r2, 0x1
- lsls r3, 2
- movs r0, 0x4
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xF
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl FillBgTilemapBufferRect
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _0814AE2E
- ldr r0, =sub_814ABE4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0814AE2E:
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814ADD8
-
- thumb_func_start sub_814AE40
-sub_814AE40: @ 814AE40
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r0, =gBattle_BG0_X
- movs r1, 0
- strh r1, [r0]
- ldr r4, =gBattle_BG0_Y
- strh r1, [r4]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x10
- bl SetGpuReg
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, [r5]
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_814AE40
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
deleted file mode 100644
index f0d1b48d7..000000000
--- a/asm/berry_blender.s
+++ /dev/null
@@ -1,8788 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_807F738
-sub_807F738: @ 807F738
- push {lr}
- ldr r0, =gMPlay_SE2
- ldr r1, =0x0000ffff
- ldr r2, =gUnknown_020322A4
- ldr r2, [r2]
- adds r2, 0x4C
- movs r3, 0
- ldrsh r2, [r2, r3]
- subs r2, 0x80
- lsls r2, 17
- asrs r2, 16
- bl m4aMPlayPitchControl
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F738
-
- thumb_func_start sub_807F764
-sub_807F764: @ 807F764
- push {r4,lr}
- sub sp, 0x10
- bl sub_8082DF4
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0xA0
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r2, [r0]
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r0, 0xA5
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r0, [r0, r4]
- str r0, [sp]
- movs r0, 0xA6
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r0, [r0, r4]
- str r0, [sp, 0x4]
- movs r0, 0xA7
- lsls r0, 1
- add r0, r12
- movs r4, 0
- ldrsh r0, [r0, r4]
- str r0, [sp, 0x8]
- movs r0, 0xA8
- lsls r0, 1
- add r0, r12
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- movs r0, 0x2
- bl SetBgAffine
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807F764
-
- thumb_func_start sub_807F7D8
-sub_807F7D8: @ 807F7D8
- push {r4,r5,lr}
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r5, r1, 0
- cmp r0, 0x9
- bls _0807F7E8
- b _0807F9C8
-_0807F7E8:
- lsls r0, 2
- ldr r1, =_0807F7FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807F7FC:
- .4byte _0807F824
- .4byte _0807F854
- .4byte _0807F880
- .4byte _0807F8AC
- .4byte _0807F8C8
- .4byte _0807F8F4
- .4byte _0807F910
- .4byte _0807F940
- .4byte _0807F950
- .4byte _0807F980
-_0807F824:
- ldr r5, =gUnknown_08D91598
- adds r0, r5, 0
- bl sub_8034974
- adds r0, 0x64
- bl AllocZeroed
- adds r1, r0, 0
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- ldr r2, =0x000011bc
- adds r0, r2
- str r1, [r0]
- adds r0, r5, 0
- bl LZDecompressWram
- ldr r1, [r4]
- b _0807F966
- .pool
-_0807F854:
- ldr r1, =sBlenderCenterMap
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x2
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- ldr r0, =sBlenderCenterPal
- movs r2, 0x80
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- b _0807F962
- .pool
-_0807F880:
- ldr r0, [r5]
- ldr r1, =0x000011bc
- adds r0, r1
- ldr r4, [r0]
- ldr r0, =gUnknown_08D91598
- bl sub_8034974
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x2
- adds r1, r4, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r5]
- b _0807F966
- .pool
-_0807F8AC:
- ldr r0, =gUnknown_08D91DB8
- ldr r1, [r5]
- ldr r2, =0x000011bc
- adds r1, r2
- ldr r1, [r1]
- bl LZDecompressWram
- ldr r1, [r5]
- b _0807F966
- .pool
-_0807F8C8:
- ldr r0, [r5]
- ldr r1, =0x000011bc
- adds r0, r1
- ldr r4, [r0]
- ldr r0, =gUnknown_08D91DB8
- bl sub_8034974
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r4, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r5]
- b _0807F966
- .pool
-_0807F8F4:
- ldr r0, =gUnknown_08D927EC
- ldr r1, [r5]
- ldr r2, =0x000011bc
- adds r1, r2
- ldr r1, [r1]
- bl LZDecompressWram
- ldr r1, [r5]
- b _0807F966
- .pool
-_0807F910:
- ldr r0, [r5]
- ldr r1, =0x000011bc
- adds r0, r1
- ldr r4, [r0]
- ldr r0, =gUnknown_08D927EC
- bl sub_8034974
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r4, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- b _0807F966
- .pool
-_0807F940:
- ldr r0, =sBlenderOuterPal
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- b _0807F962
- .pool
-_0807F950:
- ldr r0, =sSpriteSheet_BlenderArrow
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08339BD8
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08339B38
- bl LoadSpriteSheet
-_0807F962:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_0807F966:
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _0807F9C8
- .pool
-_0807F980:
- ldr r0, =gUnknown_08339C24
- bl LoadSpriteSheet
- ldr r0, =gUnknown_08339C58
- bl LoadSpriteSheet
- ldr r0, =sSpritePal_BlenderArrow
- bl LoadSpritePalette
- ldr r0, =sSpritePal_BlenderMisc
- bl LoadSpritePalette
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- ldr r2, =0x000011bc
- adds r0, r2
- ldr r0, [r0]
- bl Free
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x1]
- movs r0, 0x1
- b _0807F9CA
- .pool
-_0807F9C8:
- movs r0, 0
-_0807F9CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807F7D8
-
- thumb_func_start sub_807F9D0
-sub_807F9D0: @ 807F9D0
- push {lr}
- sub sp, 0x8
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_807F9D0
-
- thumb_func_start sub_807FA34
-sub_807FA34: @ 807FA34
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_08339980
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0807FA74
- bl DeactivateAllTextPrinters
- movs r4, 0
-_0807FA4A:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r4, 0x1
- cmp r4, 0x4
- ble _0807FA4A
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0xE0
- bl sub_81978B0
-_0807FA74:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FA34
-
- thumb_func_start sub_807FA80
-sub_807FA80: @ 807FA80
- push {r4,lr}
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- cmp r0, 0
- bne _0807FA94
- movs r0, 0x8F
- lsls r0, 5
- bl AllocZeroed
- str r0, [r4]
-_0807FA94:
- ldr r0, [r4]
- adds r0, 0x63
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x63
- strb r1, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_807FE54
- ldr r0, =sub_807FAC8
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FA80
-
- thumb_func_start sub_807FAC8
-sub_807FAC8: @ 807FAC8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x6
- bls _0807FADA
- b _0807FCE2
-_0807FADA:
- lsls r0, 2
- ldr r1, =_0807FAEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807FAEC:
- .4byte _0807FB08
- .4byte _0807FBAC
- .4byte _0807FC38
- .4byte _0807FC4E
- .4byte _0807FC64
- .4byte _0807FC90
- .4byte _0807FCB0
-_0807FB08:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08339974
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- movs r0, 0xDC
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x000009b8
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl sub_809882C
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- bl sub_807FA34
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r3, [r4]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strh r2, [r0]
- movs r4, 0x8B
- lsls r4, 1
- adds r0, r3, r4
- strh r2, [r0]
- movs r0, 0x8D
- lsls r0, 1
- adds r4, r3, r0
- movs r0, 0x50
- strh r0, [r4]
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r3, r4
- strh r2, [r0]
- adds r4, 0x2
- adds r0, r3, r4
- strh r2, [r0]
- strb r1, [r3, 0x1]
- bl sub_8082D28
- b _0807FCE2
- .pool
-_0807FBAC:
- bl sub_807F7D8
- lsls r0, 24
- cmp r0, 0
- bne _0807FBB8
- b _0807FCE2
-_0807FBB8:
- movs r4, 0
- ldr r5, =sBlenderSyncArrowsPos
- ldr r6, =gUnknown_020322A4
-_0807FBBE:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, =sBlenderSyncArrow_SpriteTemplate
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x50
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x50
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0807FBBE
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807FC14
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807FC14
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
-_0807FC14:
- ldr r0, =sub_807F764
- bl SetVBlankCallback
- b _0807FCA0
- .pool
-_0807FC38:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_8082D28
- b _0807FCA0
-_0807FC4E:
- bl sub_807F9D0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0807FCE2
- b _0807FCA0
- .pool
-_0807FC64:
- ldr r4, [r6]
- ldr r0, =0x000011b8
- adds r4, r0
- ldr r5, =gText_BerryBlenderStart
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808417C
- cmp r0, 0
- beq _0807FCE2
- ldr r1, [r6]
- b _0807FCA4
- .pool
-_0807FC90:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0807FCA0:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_0807FCA4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0807FCE2
- .pool
-_0807FCB0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807FCE2
- bl FreeAllWindowBuffers
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =sub_807FFA4
- bl sub_81AABF0
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- strb r4, [r0]
-_0807FCE2:
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FAC8
-
- thumb_func_start sub_807FD08
-sub_807FD08: @ 807FD08
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- subs r1, r2
- ldrh r0, [r4, 0x3C]
- adds r1, r0
- strh r1, [r4, 0x32]
- ldrh r3, [r4, 0x2E]
- adds r0, r3
- strh r0, [r4, 0x2E]
- subs r2, 0x1
- strh r2, [r4, 0x36]
- lsls r0, 16
- lsls r1, 16
- cmp r0, r1
- bge _0807FD56
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x36]
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0807FD50
- adds r0, r4, 0
- bl DestroySprite
- b _0807FD56
-_0807FD50:
- movs r0, 0x74
- bl PlaySE
-_0807FD56:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x32]
- strh r0, [r4, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807FD08
-
- thumb_func_start sub_807FD64
-sub_807FD64: @ 807FD64
- push {r4-r6,lr}
- ldr r5, [sp, 0x10]
- ldr r6, [sp, 0x14]
- lsls r2, 16
- lsrs r2, 16
- movs r4, 0
- strh r2, [r0, 0x2E]
- strh r1, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r3, [r0, 0x34]
- movs r1, 0xA
- strh r1, [r0, 0x36]
- strh r4, [r0, 0x38]
- strh r5, [r0, 0x3A]
- strh r6, [r0, 0x3C]
- ldr r1, =sub_807FD08
- str r1, [r0, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FD64
-
- thumb_func_start sub_807FD90
-sub_807FD90: @ 807FD90
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r0, 24
- movs r1, 0xF6
- lsls r1, 23
- adds r0, r1
- lsrs r0, 24
- movs r3, 0x1
- ands r3, r6
- movs r1, 0
- movs r2, 0x50
- bl sub_80D511C
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- mov r8, r2
- add r8, r0
- mov r3, r8
- lsls r3, 2
- mov r8, r3
- ldr r0, =gSprites
- add r8, r0
- ldr r5, =gUnknown_08339C78
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 1
- adds r0, r4, r5
- movs r6, 0
- ldrsh r1, [r0, r6]
- adds r0, r5, 0x2
- adds r0, r4, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r0, r5, 0x4
- adds r0, r4, r0
- movs r6, 0
- ldrsh r3, [r0, r6]
- adds r0, r5, 0x6
- adds r0, r4, r0
- movs r6, 0
- ldrsh r0, [r0, r6]
- str r0, [sp]
- adds r5, 0x8
- adds r4, r5
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- mov r0, r8
- bl sub_807FD64
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FD90
-
- thumb_func_start sub_807FE14
-sub_807FE14: @ 807FE14
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- adds r0, r5, 0
- adds r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- adds r4, r0, 0
- strh r5, [r6]
- adds r0, r6, 0x2
- adds r1, r4, 0
- bl StringCopy
- ldrb r0, [r4, 0x15]
- strb r0, [r6, 0x9]
- ldrb r0, [r4, 0x16]
- strb r0, [r6, 0xA]
- ldrb r0, [r4, 0x17]
- strb r0, [r6, 0xB]
- ldrb r0, [r4, 0x18]
- strb r0, [r6, 0xC]
- ldrb r0, [r4, 0x19]
- strb r0, [r6, 0xD]
- ldrb r0, [r4, 0x1A]
- strb r0, [r6, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807FE14
-
- thumb_func_start sub_807FE54
-sub_807FE54: @ 807FE54
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- beq _0807FE7C
- cmp r5, 0x1
- bgt _0807FE68
- cmp r5, 0
- beq _0807FE72
- b _0807FF88
-_0807FE68:
- cmp r5, 0x2
- beq _0807FEE8
- cmp r5, 0x3
- beq _0807FF3C
- b _0807FF88
-_0807FE72:
- ldr r0, =gUnknown_03005D98
- strb r5, [r0]
- b _0807FF88
- .pool
-_0807FE7C:
- ldr r0, =gUnknown_03005D98
- strb r5, [r0]
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x2
- strb r1, [r0]
- ldr r4, =gLinkPlayers + 8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0xD0
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0807FEC8
- adds r0, r4, 0
- adds r0, 0x1C
- ldr r1, =sBlenderOpponentsNames
- ldr r1, [r1, 0xC]
- bl StringCopy
- b _0807FED4
- .pool
-_0807FEC8:
- adds r0, r4, 0
- adds r0, 0x1C
- ldr r1, =sBlenderOpponentsNames
- ldr r1, [r1]
- bl StringCopy
-_0807FED4:
- ldr r1, =gLinkPlayers
- movs r0, 0x2
- strh r0, [r1, 0x1A]
- strh r0, [r1, 0x36]
- b _0807FF88
- .pool
-_0807FEE8:
- ldr r0, =gUnknown_03005D98
- strb r5, [r0]
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x3
- strb r1, [r0]
- ldr r6, =gLinkPlayers + 8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x1C
- ldr r4, =sBlenderOpponentsNames
- ldr r1, [r4, 0x10]
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x38
- ldr r1, [r4, 0x8]
- bl StringCopy
- adds r0, r6, 0
- subs r0, 0x8
- strh r5, [r0, 0x1A]
- strh r5, [r0, 0x36]
- adds r0, 0x52
- strh r5, [r0]
- b _0807FF88
- .pool
-_0807FF3C:
- ldr r0, =gUnknown_03005D98
- strb r5, [r0]
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x4
- strb r1, [r0]
- ldr r5, =gLinkPlayers + 8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- adds r0, r5, 0
- adds r0, 0x1C
- ldr r4, =sBlenderOpponentsNames
- ldr r1, [r4, 0x14]
- bl StringCopy
- adds r0, r5, 0
- adds r0, 0x38
- ldr r1, [r4, 0x4]
- bl StringCopy
- adds r0, r5, 0
- adds r0, 0x54
- ldr r1, [r4, 0x8]
- bl StringCopy
- adds r0, r5, 0
- subs r0, 0x8
- movs r1, 0x2
- strh r1, [r0, 0x1A]
- strh r1, [r0, 0x36]
- adds r0, 0x52
- strh r1, [r0]
- adds r0, 0x1C
- strh r1, [r0]
-_0807FF88:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FE54
-
- thumb_func_start sub_807FFA4
-sub_807FFA4: @ 807FFA4
- push {r4,r5,lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- cmp r0, 0
- bne _0807FFC0
- movs r0, 0x8F
- lsls r0, 5
- bl AllocZeroed
- str r0, [r4]
-_0807FFC0:
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0x86
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- movs r2, 0
- ldr r5, =gSpecialVar_0x8004
- movs r3, 0
-_0807FFD6:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0x74
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _0807FFD6
- ldrb r0, [r5]
- bl sub_807FE54
- ldrh r0, [r5]
- cmp r0, 0
- bne _08080008
- ldr r0, =sub_8080018
- bl SetMainCallback2
- b _0808000E
- .pool
-_08080008:
- ldr r0, =sub_80808D4
- bl SetMainCallback2
-_0808000E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_807FFA4
-
- thumb_func_start sub_8080018
-sub_8080018: @ 8080018
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x15
- bls _0808002A
- b _08080546
-_0808002A:
- lsls r0, 2
- ldr r1, =_0808003C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0808003C:
- .4byte _08080094
- .4byte _08080100
- .4byte _08080120
- .4byte _0808019C
- .4byte _080801AE
- .4byte _080801C8
- .4byte _08080546
- .4byte _08080546
- .4byte _080801F8
- .4byte _08080248
- .4byte _0808026C
- .4byte _08080302
- .4byte _0808035C
- .4byte _080803D4
- .4byte _08080408
- .4byte _0808049C
- .4byte _080804D0
- .4byte _08080546
- .4byte _080804F8
- .4byte _080804E4
- .4byte _080804EA
- .4byte _08080508
-_08080094:
- bl sub_8080588
- ldr r1, =gUnknown_020229C6
- ldr r2, =0x00004422
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r0, 0x72
- movs r1, 0
- strb r1, [r0]
- movs r5, 0
- movs r6, 0
- movs r7, 0x92
- lsls r7, 1
-_080800B2:
- ldr r0, [r2]
- lsls r1, r5, 1
- adds r0, 0x64
- adds r0, r1
- strh r6, [r0]
- adds r4, r5, 0x1
- adds r1, r5
- lsls r1, 1
- movs r3, 0x2
-_080800C4:
- ldr r0, [r2]
- adds r0, r7
- adds r0, r1
- strh r6, [r0]
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080800C4
- adds r5, r4, 0
- cmp r5, 0x3
- ble _080800B2
- ldr r3, =gUnknown_020322A4
- ldr r4, [r3]
- adds r1, r4, 0
- adds r1, 0x70
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- subs r1, 0x22
- strh r0, [r1]
- strb r2, [r4, 0x1]
- ldr r1, [r3]
- b _080804FC
- .pool
-_08080100:
- bl sub_807F7D8
- lsls r0, 24
- cmp r0, 0
- bne _0808010C
- b _08080546
-_0808010C:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8082D28
- b _08080546
- .pool
-_08080120:
- movs r5, 0
- ldr r4, =sBlenderSyncArrowsPos
- ldr r6, =gUnknown_020322A4
-_08080126:
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- ldr r0, =sBlenderSyncArrow_SpriteTemplate
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x54
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x54
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r5, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08080126
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808016A
- b _080804F8
-_0808016A:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08080174
- b _080804F8
-_08080174:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- b _080804F8
- .pool
-_0808019C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080804F8
-_080801AE:
- bl sub_807F9D0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080801C0
- b _08080546
-_080801C0:
- b _080804F8
- .pool
-_080801C8:
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- ldr r3, =0x000011b8
- adds r0, r3
- ldr r1, =sText_CommunicationStandby
- movs r2, 0
- bl sub_808417C
- ldr r1, [r4]
- movs r2, 0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- str r2, [r0]
- b _08080546
- .pool
-_080801F8:
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r6, 0
- strb r0, [r1]
- ldr r0, [r4]
- movs r2, 0x8A
- lsls r2, 1
- adds r0, r2
- strb r6, [r0]
- ldr r0, [r4]
- movs r5, 0xAC
- lsls r5, 1
- adds r0, r5
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- bl sub_807FE14
- ldr r0, =gUnknown_020228C4
- ldr r1, [r4]
- adds r1, r5
- movs r2, 0x10
- bl memcpy
- bl sub_800ADF8
- ldr r0, [r4]
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3
- str r6, [r0]
- b _08080546
- .pool
-_08080248:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _08080254
- b _08080546
-_08080254:
- bl ResetBlockReceivedFlags
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _08080264
- b _080804F8
-_08080264:
- movs r0, 0x4
- bl sub_800A4D8
- b _080804F8
-_0808026C:
- ldr r6, =gUnknown_020322A4
- ldr r1, [r6]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- bgt _08080282
- b _08080546
-_08080282:
- movs r0, 0x4
- movs r1, 0x1
- bl sub_8197DF8
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9D8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _0808029E
- b _08080546
-_0808029E:
- movs r5, 0
- adds r7, r6, 0
- movs r6, 0xAC
- lsls r6, 1
- b _080802D4
- .pool
-_080802AC:
- ldr r0, [r7]
- lsls r4, r5, 4
- adds r0, r4, r0
- adds r0, r6
- lsls r1, r5, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x10
- bl memcpy
- ldr r0, [r7]
- lsls r2, r5, 1
- adds r1, r0, 0
- adds r1, 0x74
- adds r1, r2
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r5, 0x1
-_080802D4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _080802AC
- bl ResetBlockReceivedFlags
- b _080804F8
- .pool
-_080802EC:
- ldrb r1, [r4]
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x74
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r5, 24
- lsrs r1, 24
- bl sub_807FD90
- b _08080336
-_08080302:
- bl GetLinkPlayerCount
- ldr r2, =gUnknown_020322A4
- ldr r1, [r2]
- adds r1, 0x7C
- strb r0, [r1]
- movs r5, 0
- ldr r2, [r2]
- movs r1, 0x8A
- lsls r1, 1
- adds r4, r2, r1
- ldr r1, =gUnknown_083399D0
- adds r0, r2, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- ldrb r3, [r4]
- adds r0, r1
-_08080328:
- ldrb r1, [r0]
- cmp r3, r1
- beq _080802EC
- adds r0, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08080328
-_08080336:
- ldr r3, =gUnknown_020322A4
- ldr r1, [r3]
- movs r0, 0x84
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r3]
- movs r2, 0x8A
- lsls r2, 1
- adds r1, r2
- b _080804FC
- .pool
-_0808035C:
- ldr r3, [r2]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r3, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _08080370
- b _08080546
-_08080370:
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r3, r1
- adds r1, r3, 0
- adds r1, 0x7C
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080803B8
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldr r2, [r2]
- ldr r3, =gUnknown_083399DC
- ldr r1, =gUnknown_083399E4
- adds r0, r2, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r3
- ldr r3, =0xffffa800
- adds r1, r3, 0
- ldrh r0, [r0]
- adds r1, r0
- adds r2, 0x4A
- strh r1, [r2]
- b _080803BE
- .pool
-_080803B8:
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
-_080803BE:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _08080546
- .pool
-_080803D4:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _080803E0
- b _08080546
-_080803E0:
- ldr r2, =gUnknown_020322A4
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2
- bl sub_8082CB4
- movs r0, 0x2B
- bl PlaySE
- movs r0, 0x2
- bl ShowBg
- b _08080546
- .pool
-_08080408:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
- ldr r4, =gUnknown_020322A4
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x4A
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- movs r0, 0x8D
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _0808048C
- movs r0, 0xC
- movs r1, 0x2
- bl SetGpuRegBits
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r3, [r4]
- movs r2, 0x8D
- lsls r2, 1
- adds r1, r3, r2
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r2, =gUnknown_083399DC
- ldr r1, =gUnknown_083399E4
- adds r0, r3, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x4A
- strh r0, [r1]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- str r0, [r1]
- movs r0, 0x34
- bl PlaySE
- bl sub_808074C
- bl sub_80807BC
-_0808048C:
- ldr r0, [r4]
- b _080804BE
- .pool
-_0808049C:
- bl sub_8083380
- lsls r0, 24
- cmp r0, 0
- beq _080804BA
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080804BA:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
-_080804BE:
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- bl sub_8082CB4
- b _08080546
- .pool
-_080804D0:
- ldr r0, =gUnknown_08339C2C
- movs r2, 0x10
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x3
- bl CreateSprite
- b _080804F8
- .pool
-_080804E4:
- bl sub_800ADF8
- b _080804F8
-_080804EA:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08080546
- bl sub_800A418
-_080804F8:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_080804FC:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08080546
- .pool
-_08080508:
- ldr r5, =gUnknown_020322A4
- ldr r3, [r5]
- adds r1, r3, 0
- adds r1, 0x4C
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- ldr r0, =sub_8081898
- bl SetMainCallback2
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =0x00000193
- cmp r0, r4
- beq _08080540
- bl GetCurrentMapMusic
- ldr r1, [r5]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
-_08080540:
- adds r0, r4, 0
- bl PlayBGM
-_08080546:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r1, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r3, 0x2
- adds r1, r3
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080018
-
- thumb_func_start sub_8080588
-sub_8080588: @ 8080588
- push {r4,lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, =sub_807F764
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08339974
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- movs r0, 0xDC
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r3, =0x000009b8
- adds r1, r3
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl sub_809882C
- movs r0, 0
- movs r1, 0x14
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- bl sub_807FA34
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x44
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080588
-
- thumb_func_start task_tutorial_oak_boy_girl
-task_tutorial_oak_boy_girl: @ 8080624
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r0, 24
- adds r2, r0, 0
- adds r2, 0x18
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsrs r1, 23
- adds r0, 0x96
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gUnknown_083399E7
- adds r0, r1
- ldrb r1, [r0]
- cmp r2, r1
- bcc _0808066C
- adds r0, r1, 0
- adds r0, 0x30
- cmp r2, r0
- bcs _0808066C
- subs r0, 0x1C
- cmp r2, r0
- bcc _08080668
- adds r0, 0x8
- cmp r2, r0
- bcs _08080668
- movs r0, 0x2
- b _0808066E
- .pool
-_08080668:
- movs r0, 0x1
- b _0808066E
-_0808066C:
- movs r0, 0
-_0808066E:
- pop {r1}
- bx r1
- thumb_func_end task_tutorial_oak_boy_girl
-
- thumb_func_start sub_8080674
-sub_8080674: @ 8080674
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r1, 24
- movs r6, 0
- cmp r5, 0xAF
- bne _080806AC
- movs r4, 0
- subs r7, r1, 0x1
- adds r2, 0x9
-_08080690:
- adds r0, r2, r6
- adds r1, r2, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _0808069E
- adds r6, r4, 0
-_0808069E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08080690
- adds r0, r6, 0x5
- b _080806C4
-_080806AC:
- adds r0, r5, 0
- subs r0, 0x85
- lsls r0, 16
- lsrs r6, r0, 16
- subs r7, r1, 0x1
- cmp r6, 0x4
- bls _080806C8
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- adds r0, 0x5
-_080806C4:
- lsls r0, 16
- lsrs r6, r0, 16
-_080806C8:
- movs r4, 0
- cmp r4, r7
- bge _08080734
- ldr r0, =gUnknown_08339CA0
- mov r9, r0
- adds r0, r5, 0
- subs r0, 0xA3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080806DC:
- lsls r0, r6, 1
- adds r0, r6
- adds r0, r4, r0
- add r0, r9
- ldrb r5, [r0]
- movs r0, 0xD0
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0808071A
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0808071A
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_08339CBE
- adds r0, r6, r0
- ldrb r5, [r0]
- mov r0, r8
- cmp r0, 0x4
- bhi _0808071A
- subs r0, r5, 0x5
- lsls r0, 16
- lsrs r5, r0, 16
-_0808071A:
- adds r4, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r1, 0x85
- lsls r1, 16
- lsrs r1, 16
- bl sub_8082FDC
- lsls r4, 16
- lsrs r4, 16
- cmp r4, r7
- blt _080806DC
-_08080734:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080674
-
- thumb_func_start sub_808074C
-sub_808074C: @ 808074C
- push {r4-r7,lr}
- movs r4, 0
- ldr r7, =gUnknown_020322A4
- movs r6, 0xFF
- ldr r5, =gUnknown_083399D0
-_08080756:
- ldr r3, [r7]
- lsls r2, r4, 1
- adds r0, r3, 0
- adds r0, 0x96
- adds r0, r2
- strh r6, [r0]
- adds r1, r3, 0
- adds r1, 0x8E
- adds r1, r2
- adds r0, r3, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r5
- ldrb r0, [r0]
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08080756
- movs r3, 0
- ldr r7, =gUnknown_020322A4
-_08080784:
- movs r4, 0
- adds r6, r3, 0x1
- lsls r5, r3, 1
-_0808078A:
- ldr r2, [r7]
- lsls r0, r4, 1
- adds r1, r2, 0
- adds r1, 0x8E
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r3
- bne _080807A2
- adds r0, r2, 0
- adds r0, 0x96
- adds r0, r5
- strh r4, [r0]
-_080807A2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0808078A
- adds r3, r6, 0
- cmp r3, 0x3
- ble _08080784
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808074C
-
- thumb_func_start sub_80807BC
-sub_80807BC: @ 80807BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r0, 0
- mov r10, r0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080807DE
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080807DE:
- movs r6, 0
- ldr r7, =gUnknown_020322A4
- mov r8, r6
-_080807E4:
- ldr r2, [r7]
- lsls r5, r6, 1
- adds r0, r2, 0
- adds r0, 0x8E
- adds r3, r0, r5
- ldrh r0, [r3]
- cmp r0, 0xFF
- beq _080808B6
- adds r1, r2, 0
- adds r1, 0x50
- ldrh r3, [r3]
- adds r1, r3
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0
- mov r9, r2
- strb r0, [r1]
- ldr r0, [r7]
- adds r1, r0, 0
- adds r1, 0x8E
- adds r1, r5
- adds r0, 0x50
- ldrh r1, [r1]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- mov r1, r8
- lsrs r4, r1, 24
- adds r1, r4, 0
- bl StartSpriteAnim
- add r1, sp, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x8E
- adds r0, r5
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- add r0, sp, 0x8
- bl StringCopy
- movs r0, 0x1
- add r1, sp, 0x8
- movs r2, 0x38
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- ldr r0, [r7]
- adds r0, 0x8E
- adds r0, r5
- mov r5, r8
- ldrh r0, [r0]
- cmp r10, r0
- bne _08080890
- lsls r2, 24
- lsrs r2, 24
- mov r0, r9
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- add r1, sp, 0x8
- movs r3, 0x1
- bl sub_80840D4
- b _080808A6
- .pool
-_08080890:
- lsls r2, 24
- lsrs r2, 24
- mov r1, r9
- str r1, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- add r1, sp, 0x8
- movs r3, 0x1
- bl sub_80840D4
-_080808A6:
- lsrs r4, r5, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080808B6:
- movs r2, 0x80
- lsls r2, 17
- add r8, r2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080807E4
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80807BC
-
- thumb_func_start sub_80808D4
-sub_80808D4: @ 80808D4
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x15
- bls _080808E6
- b _08080DAE
-_080808E6:
- lsls r0, 2
- ldr r1, =_080808F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080808F8:
- .4byte _08080950
- .4byte _080809E4
- .4byte _08080A04
- .4byte _08080A58
- .4byte _08080A84
- .4byte _08080DAE
- .4byte _08080DAE
- .4byte _08080DAE
- .4byte _08080ABC
- .4byte _08080DAE
- .4byte _08080DAE
- .4byte _08080AEC
- .4byte _08080B3C
- .4byte _08080BB0
- .4byte _08080BDC
- .4byte _08080C78
- .4byte _08080CA0
- .4byte _08080DAE
- .4byte _08080CAE
- .4byte _08080CAE
- .4byte _08080CAE
- .4byte _08080CC4
-_08080950:
- bl sub_800B4C0
- bl sub_8080588
- ldr r4, =gSpecialVar_ItemId
- ldrh r1, [r4]
- movs r0, 0
- bl sub_8082FDC
- ldr r5, =gUnknown_020322A4
- ldr r0, [r5]
- movs r6, 0xAC
- lsls r6, 1
- adds r0, r6
- ldrh r1, [r4]
- bl sub_807FE14
- ldrh r0, [r4]
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x7C
- ldrb r1, [r1]
- adds r2, r6
- bl sub_8080674
- movs r4, 0
- movs r6, 0
- ldr r0, =gUnknown_020229C6
- mov r12, r0
- movs r7, 0x92
- lsls r7, 1
-_0808098E:
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x64
- adds r0, r1
- strh r6, [r0]
- adds r3, r4, 0x1
- adds r1, r4
- lsls r1, 1
- movs r2, 0x2
-_080809A0:
- ldr r0, [r5]
- adds r0, r7
- adds r0, r1
- strh r6, [r0]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080809A0
- adds r4, r3, 0
- cmp r4, 0x3
- ble _0808098E
- ldr r4, =gUnknown_020322A4
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x70
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- strb r2, [r3, 0x1]
- ldr r1, =0x00004422
- adds r0, r1, 0
- mov r2, r12
- strh r0, [r2]
- ldr r1, [r4]
- b _08080CB2
- .pool
-_080809E4:
- bl sub_807F7D8
- lsls r0, 24
- cmp r0, 0
- bne _080809F0
- b _08080DAE
-_080809F0:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8082D28
- b _08080DAE
- .pool
-_08080A04:
- movs r4, 0
- ldr r5, =sBlenderSyncArrowsPos
- ldr r6, =gUnknown_020322A4
-_08080A0A:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, =sBlenderSyncArrow_SpriteTemplate
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x54
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x54
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08080A0A
- b _08080CAE
- .pool
-_08080A58:
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, =gUnknown_020322A4
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3
- str r4, [r0]
- b _08080DAE
- .pool
-_08080A84:
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- movs r5, 0x84
- lsls r5, 1
- adds r1, r5
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x2
- bne _08080A9C
- bl sub_807F9D0
-_08080A9C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08080AAA
- b _08080DAE
-_08080AAA:
- ldr r1, [r4]
- movs r0, 0x8
- strb r0, [r1]
- b _08080DAE
- .pool
-_08080ABC:
- ldr r2, =gUnknown_020322A4
- ldr r1, [r2]
- movs r3, 0
- movs r0, 0xB
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- strb r3, [r0]
- b _08080DAE
- .pool
-_08080AD8:
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x74
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_807FD90
- b _08080B16
-_08080AEC:
- movs r4, 0
- ldr r2, =gUnknown_083399D0
- ldr r0, =gUnknown_020322A4
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- movs r5, 0x8A
- lsls r5, 1
- adds r1, r3, r5
- ldrb r1, [r1]
- adds r0, r2
-_08080B08:
- ldrb r2, [r0]
- cmp r1, r2
- beq _08080AD8
- adds r0, 0x1
- adds r4, 0x1
- cmp r4, 0x3
- ble _08080B08
-_08080B16:
- ldr r3, =gUnknown_020322A4
- ldr r1, [r3]
- movs r5, 0x84
- lsls r5, 1
- adds r2, r1, r5
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r3]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r0
- b _08080CB2
- .pool
-_08080B3C:
- ldr r3, [r2]
- movs r2, 0x84
- lsls r2, 1
- adds r1, r3, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _08080B50
- b _08080DAE
-_08080B50:
- movs r5, 0x8A
- lsls r5, 1
- adds r0, r3, r5
- adds r4, r3, 0
- adds r4, 0x7C
- ldrb r0, [r0]
- ldrb r1, [r4]
- cmp r0, r1
- bcc _08080B94
- ldr r2, =gUnknown_083399DC
- ldr r1, =gUnknown_083399E4
- ldrb r0, [r4]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldr r2, =0xffffa800
- adds r1, r2, 0
- ldrh r0, [r0]
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x4A
- strh r1, [r0]
- ldrb r0, [r3]
- adds r0, 0x1
- b _08080B98
- .pool
-_08080B94:
- ldrb r0, [r3]
- subs r0, 0x1
-_08080B98:
- strb r0, [r3]
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3
- movs r1, 0
- str r1, [r0]
- b _08080DAE
- .pool
-_08080BB0:
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_808074C
- movs r0, 0x2B
- bl PlaySE
- ldr r0, [r4]
- movs r5, 0xA0
- lsls r5, 1
- adds r0, r5
- bl sub_8082CB4
- movs r0, 0x2
- bl ShowBg
- b _08080DAE
- .pool
-_08080BDC:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
- ldr r4, =gUnknown_020322A4
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x4A
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
- movs r0, 0x8D
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _08080C5C
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldr r3, [r4]
- movs r2, 0x8D
- lsls r2, 1
- adds r1, r3, r2
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r2, =gUnknown_083399DC
- ldr r1, =gUnknown_083399E4
- adds r0, r3, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r3, 0
- adds r0, 0x4A
- strh r1, [r0]
- movs r0, 0xC
- movs r1, 0x2
- bl SetGpuRegBits
- ldr r0, [r4]
- movs r3, 0x84
- lsls r3, 1
- adds r0, r3
- movs r1, 0
- str r1, [r0]
- movs r0, 0x34
- bl PlaySE
- bl sub_80807BC
-_08080C5C:
- ldr r0, [r4]
- movs r5, 0xA0
- lsls r5, 1
- adds r0, r5
- bl sub_8082CB4
- b _08080DAE
- .pool
-_08080C78:
- bl sub_8083380
- lsls r0, 24
- cmp r0, 0
- beq _08080C8C
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08080C8C:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- bl sub_8082CB4
- b _08080DAE
- .pool
-_08080CA0:
- ldr r0, =gUnknown_08339C2C
- movs r2, 0x10
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x3
- bl CreateSprite
-_08080CAE:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_08080CB2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08080DAE
- .pool
-_08080CC4:
- bl sub_8080DF8
- ldr r5, =gUnknown_020322A4
- ldr r4, [r5]
- adds r1, r4, 0
- adds r1, 0x4C
- movs r3, 0
- movs r2, 0
- movs r0, 0x80
- strh r0, [r1]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- ldr r2, =0x00000123
- adds r0, r4, r2
- strb r3, [r0]
- ldr r0, [r5]
- adds r0, 0x72
- strb r3, [r0]
- ldr r0, =sub_8081898
- bl SetMainCallback2
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _08080D44
- movs r0, 0xD0
- lsls r0, 2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08080D30
- ldr r0, =sub_8081224
- movs r1, 0xA
- bl CreateTask
- ldr r1, [r5]
- movs r3, 0x90
- lsls r3, 1
- adds r1, r3
- b _08080D42
- .pool
-_08080D30:
- ldr r0, =gUnknown_083399EC
- ldr r0, [r0]
- movs r1, 0xA
- bl CreateTask
- ldr r1, [r5]
- movs r5, 0x90
- lsls r5, 1
- adds r1, r5
-_08080D42:
- strb r0, [r1]
-_08080D44:
- ldr r1, =gSpecialVar_0x8004
- ldrh r0, [r1]
- cmp r0, 0x1
- bls _08080D80
- movs r4, 0
- ldrh r1, [r1]
- cmp r4, r1
- bge _08080D80
- movs r5, 0xA0
- lsls r5, 20
- ldr r6, =gUnknown_083399EC
-_08080D5A:
- ldm r6!, {r0}
- lsrs r1, r5, 24
- bl CreateTask
- ldr r1, =gUnknown_020322A4
- ldr r1, [r1]
- movs r2, 0x90
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
- movs r3, 0x80
- lsls r3, 17
- adds r5, r3
- adds r4, 0x1
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- blt _08080D5A
-_08080D80:
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =0x00000193
- cmp r0, r4
- beq _08080D9E
- bl GetCurrentMapMusic
- ldr r1, =gUnknown_020322A4
- ldr r1, [r1]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r5
- strh r0, [r1]
-_08080D9E:
- adds r0, r4, 0
- bl PlayBGM
- movs r0, 0x35
- bl PlaySE
- bl sub_807F738
-_08080DAE:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r5, 0x8F
- lsls r5, 1
- adds r1, r5
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80808D4
-
- thumb_func_start sub_8080DF8
-sub_8080DF8: @ 8080DF8
- push {lr}
- ldr r3, =gUnknown_03003110
- movs r0, 0
- ldr r1, =gUnknown_03003090
- movs r2, 0x3
-_08080E02:
- strh r0, [r3]
- strh r0, [r3, 0x4]
- strh r0, [r1]
- strh r0, [r1, 0x4]
- adds r1, 0x10
- subs r2, 0x1
- cmp r2, 0
- bge _08080E02
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080DF8
-
- thumb_func_start sub_8080E20
-sub_8080E20: @ 8080E20
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xA
- ldrsh r1, [r2, r4]
- cmp r0, r1
- ble _08080E58
- ldr r0, =gUnknown_03003090
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r0, =0x00002345
- strh r0, [r1]
- adds r0, r3, 0
- bl DestroyTask
-_08080E58:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080E20
-
- thumb_func_start sub_8080E6C
-sub_8080E6C: @ 8080E6C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_8080E20
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080E6C
-
- thumb_func_start sub_8080EA4
-sub_8080EA4: @ 8080EA4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x4A
- ldrh r0, [r0]
- movs r1, 0x1
- bl task_tutorial_oak_boy_girl
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08080EC2
- b _08080FB8
-_08080EC2:
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0
- beq _08080ED8
- b _08080FC6
-_08080ED8:
- ldr r0, [r4]
- ldr r1, =0x00000123
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08080F9A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, r1, 0
- ldr r0, [r4]
- adds r0, 0x4C
- movs r4, 0
- ldrsh r2, [r0, r4]
- ldr r0, =0x000001f3
- cmp r2, r0
- bgt _08080F40
- cmp r1, 0x4B
- bls _08080F2C
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
- b _08080F30
- .pool
-_08080F2C:
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
-_08080F30:
- strh r0, [r1, 0x14]
- ldr r0, =0x00005432
- b _08080F9E
- .pool
-_08080F40:
- ldr r0, =0x000005db
- cmp r2, r0
- bgt _08080F6E
- cmp r1, 0x50
- bhi _08080F9A
- adds r0, r1, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bhi _08080F68
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
- b _08080F9E
- .pool
-_08080F68:
- cmp r1, 0x9
- bhi _08080FA0
- b _08080F90
-_08080F6E:
- cmp r1, 0x5A
- bhi _08080F9A
- adds r0, r1, 0
- subs r0, 0x47
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _08080F8C
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
- b _08080F9E
- .pool
-_08080F8C:
- cmp r3, 0x1D
- bhi _08080FA0
-_08080F90:
- movs r0, 0x1
- movs r1, 0x5
- bl sub_8080E6C
- b _08080FA0
-_08080F9A:
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
-_08080F9E:
- strh r0, [r1, 0x14]
-_08080FA0:
- ldr r0, =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _08080FC4
- .pool
-_08080FB8:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_08080FC4:
- strh r0, [r1, 0x8]
-_08080FC6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080EA4
-
- thumb_func_start sub_8080FD0
-sub_8080FD0: @ 8080FD0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_020322A4
- ldr r3, [r6]
- adds r0, r3, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0x9A
- ldrb r1, [r1]
- lsrs r2, r0, 8
- ldr r0, =gUnknown_083399E7
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r1, 0
- adds r0, 0x14
- cmp r2, r0
- bls _080810E0
- adds r0, 0x14
- cmp r2, r0
- bcs _080810E0
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r2, r0, r2
- movs r5, 0x8
- ldrsh r0, [r2, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _080810EE
- ldr r1, =0x00000123
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080810CC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldr r0, [r6]
- adds r0, 0x4C
- movs r6, 0
- ldrsh r1, [r0, r6]
- ldr r0, =0x000001f3
- cmp r1, r0
- bgt _08081088
- cmp r2, 0x42
- bls _08081078
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
- strh r0, [r1, 0x24]
- b _080810B0
- .pool
-_08081078:
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
- strh r0, [r1, 0x24]
- b _080810B0
- .pool
-_08081088:
- cmp r2, 0x41
- bls _08081092
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
- strh r0, [r1, 0x24]
-_08081092:
- adds r0, r2, 0
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- bhi _080810A4
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
- strh r0, [r1, 0x24]
-_080810A4:
- cmp r3, 0x9
- bhi _080810B0
- movs r0, 0x2
- movs r1, 0x5
- bl sub_8080E6C
-_080810B0:
- ldr r0, =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _080810EC
- .pool
-_080810CC:
- ldr r0, =gUnknown_03003090
- ldr r1, =0x00004523
- strh r1, [r0, 0x24]
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _080810EE
- .pool
-_080810E0:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_080810EC:
- strh r0, [r1, 0x8]
-_080810EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8080FD0
-
- thumb_func_start sub_80810F8
-sub_80810F8: @ 80810F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_020322A4
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldr r1, =0x0000ffff
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0x9C
- ldrb r1, [r1]
- lsrs r2, r0, 8
- ldr r0, =gUnknown_083399E7
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r1, 0
- adds r0, 0x14
- cmp r2, r0
- bls _0808120C
- adds r0, 0x14
- cmp r2, r0
- bcs _0808120C
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r2, r0, r2
- movs r6, 0x8
- ldrsh r0, [r2, r6]
- adds r6, r1, 0
- cmp r0, 0
- bne _0808121A
- ldr r1, =0x00000123
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080811F8
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r5]
- adds r0, 0x4C
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, =0x000001f3
- cmp r1, r0
- bgt _080811AC
- cmp r2, 0x58
- bls _0808119C
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
- strh r0, [r1, 0x34]
- b _080811DE
- .pool
-_0808119C:
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
- strh r0, [r1, 0x34]
- b _080811DE
- .pool
-_080811AC:
- cmp r2, 0x3C
- bls _080811C0
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00004523
- b _080811D0
- .pool
-_080811C0:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080811D2
- ldr r1, =gUnknown_03003090
- ldr r0, =0x00005432
-_080811D0:
- strh r0, [r1, 0x34]
-_080811D2:
- cmp r2, 0x4
- bhi _080811DE
- movs r0, 0x3
- movs r1, 0x5
- bl sub_8080E6C
-_080811DE:
- ldr r0, =gTasks
- adds r1, r6, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _08081218
- .pool
-_080811F8:
- ldr r0, =gUnknown_03003090
- ldr r1, =0x00004523
- strh r1, [r0, 0x34]
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _0808121A
- .pool
-_0808120C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_08081218:
- strh r0, [r1, 0x8]
-_0808121A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80810F8
-
- thumb_func_start sub_8081224
-sub_8081224: @ 8081224
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x4A
- ldrh r0, [r0]
- movs r1, 0x1
- bl task_tutorial_oak_boy_girl
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08081270
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r2, r1, r0
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0808127E
- ldr r0, =gUnknown_03003090
- ldr r1, =0x00004523
- strh r1, [r0, 0x14]
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _0808127E
- .pool
-_08081270:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
-_0808127E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081224
-
- thumb_func_start sub_8081288
-sub_8081288: @ 8081288
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r7, r0, 16
- mov r8, r7
- lsls r1, 24
- ldr r0, =gUnknown_08339B40
- ldr r4, =sBlenderSyncArrowsPos
- lsrs r1, 23
- adds r2, r1, r4
- ldrb r6, [r2]
- ldr r5, =gUnknown_083399C0
- adds r2, r1, r5
- movs r3, 0
- ldrsb r3, [r2, r3]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 1
- subs r6, r2
- adds r4, 0x1
- adds r4, r1, r4
- ldrb r2, [r4]
- adds r5, 0x1
- adds r1, r5
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 1
- subs r2, r1
- adds r1, r6, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- ldr r0, =0x00004523
- cmp r7, r0
- bne _08081314
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r5, =gSprites
- adds r0, r4, r5
- movs r1, 0x2
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_8082F9C
- str r0, [r4]
- movs r0, 0x28
- bl PlaySE
- b _08081358
- .pool
-_08081314:
- ldr r0, =0x00005432
- cmp r7, r0
- bne _0808133C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x1F
- bl PlaySE
- b _08081358
- .pool
-_0808133C:
- ldr r0, =0x00002345
- cmp r8, r0
- bne _08081358
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x20
- bl PlaySE
-_08081358:
- bl sub_8082E84
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081288
-
- thumb_func_start sub_8081370
-sub_8081370: @ 8081370
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl sub_807F738
- ldr r0, =0x00004523
- cmp r4, r0
- beq _080813A4
- cmp r4, r0
- bgt _08081398
- ldr r0, =0x00002345
- cmp r4, r0
- beq _08081474
- b _080814A0
- .pool
-_08081398:
- ldr r0, =0x00005432
- cmp r5, r0
- beq _0808143C
- b _080814A0
- .pool
-_080813A4:
- ldr r7, =gUnknown_020322A4
- ldr r4, [r7]
- adds r5, r4, 0
- adds r5, 0x4C
- ldrh r6, [r5]
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldr r0, =0x000005db
- cmp r1, r0
- bgt _080813E0
- ldr r1, =gUnknown_08339CC3
- adds r0, r4, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xC0
- lsls r0, 1
- bl __divsi3
- adds r0, r6, r0
- strh r0, [r5]
- b _080814A0
- .pool
-_080813E0:
- ldr r1, =gUnknown_08339CC3
- adds r0, r4, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- bl __divsi3
- adds r0, r6, r0
- strh r0, [r5]
- movs r1, 0x8E
- lsls r1, 1
- adds r4, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- subs r1, 0xA
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80832BC
- ldr r0, [r7]
- movs r1, 0x8F
- lsls r1, 1
- adds r4, r0, r1
- adds r0, 0x4C
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- subs r1, 0xA
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80832BC
- b _080814A0
- .pool
-_0808143C:
- ldr r0, =gUnknown_020322A4
- ldr r2, [r0]
- adds r4, r2, 0
- adds r4, 0x4C
- ldrh r5, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, =0x000005db
- cmp r1, r0
- bgt _080814A0
- ldr r1, =gUnknown_08339CC3
- adds r0, r2, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- bl __divsi3
- adds r0, r5, r0
- b _0808149E
- .pool
-_08081474:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x4C
- ldr r1, =gUnknown_08339CC3
- adds r0, 0x7C
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- bl __divsi3
- ldrh r1, [r4]
- subs r1, r0
- strh r1, [r4]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- bgt _080814A0
- movs r0, 0x80
-_0808149E:
- strh r0, [r4]
-_080814A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081370
-
- thumb_func_start sub_80814B0
-sub_80814B0: @ 80814B0
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080814E4
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080814E4
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r3
- cmp r0, r2
- bne _080814EC
- movs r0, 0x1
- b _080814EE
- .pool
-_080814E4:
- cmp r3, r1
- bne _080814EC
- movs r0, 0x1
- b _080814EE
-_080814EC:
- movs r0, 0
-_080814EE:
- pop {r1}
- bx r1
- thumb_func_end sub_80814B0
-
- thumb_func_start sub_80814F4
-sub_80814F4: @ 80814F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _0808153C
- ldr r3, =gUnknown_03003110
- ldrh r0, [r3, 0x4]
- ldr r2, =gUnknown_03003090
- cmp r0, 0
- beq _0808151C
- movs r1, 0
- strh r0, [r2, 0x4]
- ldr r0, =0x00004444
- strh r0, [r2]
- strh r1, [r3, 0x4]
-_0808151C:
- ldr r0, =gUnknown_03003090
- ldr r3, =0x00004444
- adds r1, r2, 0
- adds r1, 0x10
- adds r2, r0, 0
- adds r2, 0x14
- movs r7, 0x2
-_0808152A:
- ldrh r0, [r2]
- cmp r0, 0
- beq _08081532
- strh r3, [r1]
-_08081532:
- adds r1, 0x10
- adds r2, 0x10
- subs r7, 0x1
- cmp r7, 0
- bge _0808152A
-_0808153C:
- movs r7, 0
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r7, r0
- blt _0808154C
- b _080816F6
-_0808154C:
- ldr r0, =gUnknown_03003090
- adds r2, r0, 0
- adds r2, 0x20
- str r2, [sp]
- movs r1, 0
- mov r9, r1
- movs r2, 0
- str r2, [sp, 0x4]
- mov r8, r0
- ldr r0, =0x00005432
- mov r10, r0
-_08081562:
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, =0x00004444
- movs r2, 0x88
- lsls r2, 7
- bl sub_80814B0
- cmp r0, 0
- bne _08081576
- b _080816D2
-_08081576:
- ldr r6, =gUnknown_020322A4
- ldr r0, [r6]
- adds r0, 0x96
- ldr r2, [sp, 0x4]
- adds r0, r2
- ldrh r5, [r0]
- mov r0, r8
- ldrh r4, [r0, 0x4]
- ldr r1, =0x00004523
- cmp r4, r1
- bne _080815F4
- adds r0, r1, 0
- bl sub_8081370
- ldr r0, [r6]
- movs r2, 0x8B
- lsls r2, 1
- adds r4, r0, r2
- adds r0, 0x4C
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x37
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- lsls r1, 16
- ldr r0, =0x03e70000
- cmp r1, r0
- bls _080815BA
- movs r0, 0xFA
- lsls r0, 2
- strh r0, [r4]
-_080815BA:
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r0, =0x00004523
- bl sub_8081288
- ldr r1, [r6]
- movs r2, 0x92
- lsls r2, 1
- adds r1, r2
- add r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- b _0808165E
- .pool
-_080815F4:
- cmp r4, r10
- bne _08081632
- mov r0, r10
- bl sub_8081370
- ldr r0, [r6]
- movs r1, 0x8B
- lsls r1, 1
- adds r4, r0, r1
- adds r0, 0x4C
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x46
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- lsls r1, r5, 24
- lsrs r1, 24
- mov r0, r10
- bl sub_8081288
- ldr r1, [r6]
- movs r0, 0x93
- lsls r0, 1
- adds r1, r0
- add r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- b _0808165E
-_08081632:
- ldr r0, =0x00002345
- cmp r4, r0
- bne _0808166A
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8081288
- adds r0, r4, 0
- bl sub_8081370
- ldr r0, [r6]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r1
- mov r2, r9
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r0, =0x000003e6
- cmp r2, r0
- bhi _08081660
- adds r0, r2, 0x1
-_0808165E:
- strh r0, [r1]
-_08081660:
- mov r0, r8
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00002345
- cmp r1, r0
- beq _08081678
-_0808166A:
- ldr r1, [sp]
- ldrh r0, [r1]
- ldr r2, =0x00004523
- cmp r0, r2
- beq _08081678
- cmp r0, r10
- bne _080816D2
-_08081678:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x4C
- movs r0, 0
- ldrsh r1, [r2, r0]
- ldr r0, =0x000005dc
- cmp r1, r0
- ble _080816C8
- adds r0, r1, 0
- ldr r2, =0xfffffd12
- adds r0, r2
- movs r1, 0x14
- bl __divsi3
- adds r1, r0, 0
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gMPlay_BGM
- bl m4aMPlayTempoControl
- b _080816D2
- .pool
-_080816C8:
- ldr r0, =gMPlay_BGM
- movs r1, 0x80
- lsls r1, 1
- bl m4aMPlayTempoControl
-_080816D2:
- ldr r1, [sp]
- adds r1, 0x2
- str r1, [sp]
- movs r2, 0x6
- add r9, r2
- ldr r0, [sp, 0x4]
- adds r0, 0x2
- str r0, [sp, 0x4]
- movs r1, 0x10
- add r8, r1
- adds r7, 0x1
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r7, r0
- bge _080816F6
- b _08081562
-_080816F6:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _08081722
- movs r7, 0
- ldr r3, =gUnknown_020322A4
- ldr r0, [r3]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r7, r0
- bge _08081722
- movs r2, 0
- ldr r1, =gUnknown_03003090
-_08081710:
- strh r2, [r1]
- strh r2, [r1, 0x4]
- adds r1, 0x10
- adds r7, 0x1
- ldr r0, [r3]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r7, r0
- blt _08081710
-_08081722:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80814F4
-
- thumb_func_start sub_8081744
-sub_8081744: @ 8081744
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808175A
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r6, r0, 24
-_0808175A:
- ldr r3, =gUnknown_020322A4
- ldr r1, [r3]
- lsls r2, r6, 1
- adds r0, r1, 0
- adds r0, 0x96
- adds r0, r2
- ldrb r5, [r0]
- adds r1, 0x63
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808182C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _080817A8
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080817B6
- ldrh r2, [r2, 0x28]
- ldr r1, =0x00000201
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- beq _080817B6
- b _080817BA
- .pool
-_080817A8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080817B6
- movs r4, 0x1
-_080817B6:
- cmp r4, 0
- beq _0808182C
-_080817BA:
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- lsls r2, r5, 1
- adds r0, r1, 0
- adds r0, 0x8E
- adds r0, r2
- adds r1, 0x50
- ldrh r0, [r0]
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r1, r5, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldr r0, [r4]
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r1, r6, 0
- bl task_tutorial_oak_boy_girl
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08081810
- ldr r1, =gUnknown_03003110
- ldr r0, =0x00004523
- b _08081828
- .pool
-_08081810:
- cmp r0, 0x1
- bne _08081824
- ldr r1, =gUnknown_03003110
- ldr r0, =0x00005432
- b _08081828
- .pool
-_08081824:
- ldr r1, =gUnknown_03003110
- ldr r0, =0x00002345
-_08081828:
- strh r0, [r1, 0x4]
- adds r3, r4, 0
-_0808182C:
- ldr r1, [r3]
- adds r1, 0x72
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _0808185A
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x4C
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0x80
- ble _08081852
- subs r0, r2, 0x1
- strh r0, [r1]
-_08081852:
- ldr r0, [r3]
- adds r0, 0x72
- movs r1, 0
- strb r1, [r0]
-_0808185A:
- ldr r0, =gUnknown_020322D5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808187E
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0808187E
- ldr r0, [r3]
- ldr r1, =0x00000123
- adds r2, r0, r1
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2]
-_0808187E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081744
-
- thumb_func_start sub_8081898
-sub_8081898: @ 8081898
- push {r4-r6,lr}
- bl sub_8082D28
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- movs r1, 0x82
- lsls r1, 1
- adds r2, r0, r1
- ldr r1, [r2]
- ldr r0, =0x00057e03
- cmp r1, r0
- bhi _080818B4
- adds r0, r1, 0x1
- str r0, [r2]
-_080818B4:
- bl sub_8081744
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- movs r5, 0x8B
- lsls r5, 1
- adds r1, r5
- ldrh r1, [r1]
- bl sub_800A994
- bl sub_80814F4
- ldr r0, [r4]
- adds r0, r5
- ldrh r0, [r0]
- movs r6, 0xFA
- lsls r6, 2
- adds r1, r6, 0
- bl sub_8083140
- ldr r0, [r4]
- adds r0, 0x4C
- ldrh r0, [r0]
- bl sub_8083230
- bl sub_808330C
- bl sub_8082AD4
- ldr r2, [r4]
- adds r3, r2, 0
- adds r3, 0x63
- ldrb r0, [r3]
- cmp r0, 0
- bne _0808191A
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r0, =0x000003e7
- cmp r1, r0
- bls _0808191A
- adds r0, r2, r5
- strh r6, [r0]
- movs r0, 0x1
- strb r0, [r3]
- ldr r0, =sub_8081FC8
- bl SetMainCallback2
-_0808191A:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x8F
- lsls r2, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081898
-
- thumb_func_start nullsub_31
-nullsub_31: @ 8081960
- bx lr
- thumb_func_end nullsub_31
-
- thumb_func_start help_system_is_not_first_time
-help_system_is_not_first_time: @ 8081964
- push {r4,r5,lr}
- lsls r1, 24
- lsls r2, 24
- lsrs r1, 20
- adds r4, r1, r0
- lsrs r2, 20
- adds r5, r2, r0
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080819A2
- adds r0, r4, 0x2
- adds r1, r5, 0x2
- bl StringCompare
- cmp r0, 0
- bne _080819B0
- ldr r0, [r4, 0x8]
- ldr r2, =0xffffff00
- ands r0, r2
- ldr r1, [r5, 0x8]
- ands r1, r2
- cmp r0, r1
- bne _080819B0
- ldr r0, [r4, 0xC]
- ldr r2, =0x00ffffff
- ands r0, r2
- ldr r1, [r5, 0xC]
- ands r1, r2
- cmp r0, r1
- bne _080819B0
-_080819A2:
- movs r0, 0x1
- b _080819B2
- .pool
-_080819B0:
- movs r0, 0
-_080819B2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end help_system_is_not_first_time
-
- thumb_func_start sub_80819B8
-sub_80819B8: @ 80819B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- mov r2, sp
- movs r4, 0x5
-_080819D4:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080819D4
- movs r6, 0
- mov r1, sp
- movs r4, 0x4
-_080819E8:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080819F2
- adds r6, 0x1
-_080819F2:
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080819E8
- cmp r6, 0x5
- beq _08081A46
- cmp r3, 0x3
- bhi _08081A46
- movs r4, 0
- ldr r3, [sp, 0x10]
- cmp r4, r3
- bge _08081A5E
- mov r3, r10
-_08081A0C:
- movs r6, 0
- ldr r7, [sp, 0x10]
- cmp r6, r7
- bge _08081A54
- mov r9, r3
- mov r5, r10
- lsls r0, r4, 24
- mov r8, r0
-_08081A1C:
- mov r1, r9
- ldrh r0, [r1]
- ldrh r2, [r5]
- cmp r0, r2
- bne _08081A4A
- cmp r4, r6
- beq _08081A4A
- cmp r0, 0xAF
- bne _08081A46
- lsls r2, r6, 24
- lsrs r2, 24
- mov r0, r10
- mov r7, r8
- lsrs r1, r7, 24
- str r3, [sp, 0xC]
- bl help_system_is_not_first_time
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _08081A4A
-_08081A46:
- movs r0, 0xC
- b _08081B9E
-_08081A4A:
- adds r5, 0x10
- adds r6, 0x1
- ldr r0, [sp, 0x10]
- cmp r6, r0
- blt _08081A1C
-_08081A54:
- adds r3, 0x10
- adds r4, 0x1
- ldr r1, [sp, 0x10]
- cmp r4, r1
- blt _08081A0C
-_08081A5E:
- movs r2, 0
- mov r1, sp
- movs r4, 0x4
-_08081A64:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08081A72
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_08081A72:
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08081A64
- cmp r2, 0x3
- bls _08081A82
- movs r0, 0xD
- b _08081B9E
-_08081A82:
- cmp r2, 0x3
- bne _08081A8A
- movs r0, 0xB
- b _08081B9E
-_08081A8A:
- movs r4, 0
- mov r1, sp
-_08081A8E:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0x32
- ble _08081A98
- b _08081B98
-_08081A98:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x4
- ble _08081A8E
- cmp r2, 0x1
- bne _08081AEA
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _08081AB2
- movs r0, 0x1
- b _08081B9E
-_08081AB2:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- ble _08081AC0
- movs r0, 0x2
- b _08081B9E
-_08081AC0:
- mov r0, sp
- movs r3, 0x4
- ldrsh r0, [r0, r3]
- cmp r0, 0
- ble _08081ACE
- movs r0, 0x3
- b _08081B9E
-_08081ACE:
- mov r0, sp
- movs r4, 0x6
- ldrsh r0, [r0, r4]
- cmp r0, 0
- ble _08081ADC
- movs r0, 0x4
- b _08081B9E
-_08081ADC:
- mov r0, sp
- movs r7, 0x8
- ldrsh r0, [r0, r7]
- cmp r0, 0
- ble _08081AEA
- movs r0, 0x5
- b _08081B9E
-_08081AEA:
- cmp r2, 0x2
- bne _08081B9C
- movs r4, 0
- ldr r5, =gUnknown_03000DF8
- mov r1, sp
- adds r2, r5, 0
-_08081AF6:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08081B02
- strh r4, [r2]
- adds r2, 0x2
-_08081B02:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x4
- ble _08081AF6
- movs r4, 0
- ldrsh r3, [r5, r4]
- lsls r0, r3, 1
- mov r7, sp
- adds r1, r7, r0
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- lsls r0, r2, 1
- add r0, sp
- movs r4, 0
- ldrsh r1, [r1, r4]
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, r0
- blt _08081B58
- adds r0, r3, 0
- cmp r0, 0
- bne _08081B38
- lsls r0, r2, 16
- b _08081B62
- .pool
-_08081B38:
- cmp r0, 0x1
- bne _08081B40
- lsls r0, r2, 16
- b _08081B6E
-_08081B40:
- cmp r0, 0x2
- bne _08081B48
- lsls r0, r2, 16
- b _08081B7A
-_08081B48:
- cmp r0, 0x3
- bne _08081B50
- lsls r0, r2, 16
- b _08081B86
-_08081B50:
- cmp r0, 0x4
- bne _08081B9C
- lsls r0, r2, 16
- b _08081B92
-_08081B58:
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _08081B68
- lsls r0, r3, 16
-_08081B62:
- movs r1, 0x6
- orrs r0, r1
- b _08081B9E
-_08081B68:
- cmp r0, 0x1
- bne _08081B74
- lsls r0, r3, 16
-_08081B6E:
- movs r1, 0x7
- orrs r0, r1
- b _08081B9E
-_08081B74:
- cmp r0, 0x2
- bne _08081B80
- lsls r0, r3, 16
-_08081B7A:
- movs r1, 0x8
- orrs r0, r1
- b _08081B9E
-_08081B80:
- cmp r0, 0x3
- bne _08081B8C
- lsls r0, r3, 16
-_08081B86:
- movs r1, 0x9
- orrs r0, r1
- b _08081B9E
-_08081B8C:
- cmp r0, 0x4
- bne _08081B9C
- lsls r0, r3, 16
-_08081B92:
- movs r1, 0xA
- orrs r0, r1
- b _08081B9E
-_08081B98:
- movs r0, 0xE
- b _08081B9E
-_08081B9C:
- movs r0, 0
-_08081B9E:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80819B8
-
- thumb_func_start sub_8081BB0
-sub_8081BB0: @ 8081BB0
- ldr r1, =gUnknown_03000E04
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8081BB0
-
- thumb_func_start sub_8081BBC
-sub_8081BBC: @ 8081BBC
- ldr r0, =gUnknown_03000E04
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .pool
- thumb_func_end sub_8081BBC
-
- thumb_func_start sub_8081BC8
-sub_8081BC8: @ 8081BC8
- ldr r1, =gUnknown_03000E06
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8081BC8
-
- thumb_func_start sub_8081BD4
-sub_8081BD4: @ 8081BD4
- ldr r0, =gUnknown_03000E06
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .pool
- thumb_func_end sub_8081BD4
-
- thumb_func_start sub_8081BE0
-sub_8081BE0: @ 8081BE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- mov r8, r1
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x30]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldr r7, =gUnknown_03000DE8
- adds r2, r7, 0
- movs r1, 0
- adds r0, r7, 0
- adds r0, 0xA
-_08081C0A:
- strh r1, [r0]
- subs r0, 0x2
- cmp r0, r2
- bge _08081C0A
- movs r6, 0
- cmp r6, r9
- bge _08081C40
- ldr r0, =gUnknown_03000DE8
- mov r12, r0
- ldr r5, [sp]
- adds r5, 0x9
-_08081C20:
- movs r3, 0
- adds r4, r5, 0
- mov r2, r12
-_08081C26:
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x5
- ble _08081C26
- adds r5, 0x10
- adds r6, 0x1
- cmp r6, r9
- blt _08081C20
-_08081C40:
- movs r1, 0
- ldrsh r3, [r7, r1]
- ldrh r0, [r7]
- ldrh r1, [r7, 0x2]
- subs r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x4]
- subs r1, r0
- strh r1, [r7, 0x2]
- ldrh r1, [r7, 0x6]
- subs r0, r1
- strh r0, [r7, 0x4]
- ldrh r0, [r7, 0x8]
- subs r1, r0
- strh r1, [r7, 0x6]
- subs r0, r3
- strh r0, [r7, 0x8]
- movs r3, 0
- movs r2, 0
- adds r1, r7, 0
- movs r6, 0x4
-_08081C6A:
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bge _08081C76
- strh r2, [r1]
- adds r3, 0x1
-_08081C76:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081C6A
- lsls r0, r3, 24
- lsrs r0, 24
- mov r10, r0
- movs r4, 0
- ldr r1, =gUnknown_03000DE8
- movs r6, 0x4
-_08081C8A:
- ldrh r2, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0
- ble _08081CA4
- cmp r0, r3
- bge _08081CA0
- strh r4, [r1]
- b _08081CA4
- .pool
-_08081CA0:
- subs r0, r2, r3
- strh r0, [r1]
-_08081CA4:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081C8A
- ldr r1, =gUnknown_03000DE8
- ldr r2, =gUnknown_020322A8
- movs r6, 0x4
-_08081CB2:
- movs r3, 0
- ldrsh r0, [r1, r3]
- stm r2!, {r0}
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081CB2
- ldr r1, =0x0000014d
- ldr r0, [sp, 0x8]
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- adds r3, r0, 0
- adds r3, 0x64
- ldr r4, =gUnknown_020322D0
- str r3, [r4]
- movs r6, 0x4
-_08081CD6:
- movs r0, 0
- ldrsh r5, [r7, r0]
- adds r0, r5, 0
- muls r0, r3
- movs r1, 0xA
- str r3, [sp, 0xC]
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0xA
- bl __modsi3
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- ldr r3, [sp, 0xC]
- cmp r4, 0x4
- ble _08081D02
- adds r5, 0x1
-_08081D02:
- strh r5, [r7]
- adds r7, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081CD6
- ldr r1, =gUnknown_03000DE8
- ldr r2, =gUnknown_020322BC
- movs r6, 0x4
-_08081D12:
- movs r3, 0
- ldrsh r0, [r1, r3]
- stm r2!, {r0}
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081D12
- ldr r4, =gUnknown_03000DE8
- ldr r0, [sp]
- adds r1, r4, 0
- mov r2, r9
- mov r3, r10
- bl sub_80819B8
- mov r5, r8
- strb r0, [r5]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- mov r1, r9
- bl __divsi3
- mov r3, r9
- subs r0, r3
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _08081D4C
- movs r0, 0
- strh r0, [r4, 0xA]
-_08081D4C:
- mov r5, r8
- ldrb r0, [r5]
- cmp r0, 0xC
- bne _08081DA6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- movs r6, 0
- ldr r0, =gUnknown_08339CC8
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0
- movs r4, 0x1
- movs r3, 0x2
-_08081D74:
- adds r2, r0, 0
- asrs r2, r6
- ands r2, r4
- cmp r2, 0
- beq _08081D9C
- strh r3, [r1]
- b _08081D9E
- .pool
-_08081D9C:
- strh r2, [r1]
-_08081D9E:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _08081D74
-_08081DA6:
- ldr r7, =gUnknown_03000DE8
- movs r2, 0xFF
- adds r1, r7, 0
- movs r6, 0x5
-_08081DAE:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xFF
- ble _08081DB8
- strh r2, [r1]
-_08081DB8:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08081DAE
- ldrh r0, [r7]
- mov r4, r8
- strb r0, [r4, 0x1]
- ldrh r0, [r7, 0x2]
- strb r0, [r4, 0x2]
- ldrh r0, [r7, 0x4]
- strb r0, [r4, 0x3]
- ldrh r0, [r7, 0x6]
- strb r0, [r4, 0x4]
- ldrh r0, [r7, 0x8]
- strb r0, [r4, 0x5]
- ldrh r0, [r7, 0xA]
- strb r0, [r4, 0x6]
- movs r6, 0
- adds r2, r7, 0
-_08081DDE:
- ldr r5, [sp, 0x4]
- adds r1, r5, r6
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _08081DDE
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081BE0
-
- thumb_func_start sub_8081E04
-sub_8081E04: @ 8081E04
- push {r4,lr}
- sub sp, 0x4
- ldr r4, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- bl sub_8081BE0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8081E04
-
- thumb_func_start sub_8081E20
-sub_8081E20: @ 8081E20
- push {r4-r6,lr}
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r2, 0x82
- lsls r2, 1
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r0, 0x4E
- ldrh r4, [r0]
- movs r2, 0
- ldr r5, =0x00000383
- cmp r1, r5
- bhi _08081E48
- movs r2, 0x5
- b _08081E9A
- .pool
-_08081E48:
- ldr r3, =0xfffffc7c
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- ldr r3, =0x00000257
- cmp r0, r3
- bhi _08081E64
- movs r2, 0x4
- b _08081E9A
- .pool
-_08081E64:
- ldr r6, =0xfffffa24
- adds r0, r1, r6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r3
- bhi _08081E78
- movs r2, 0x3
- b _08081E9A
- .pool
-_08081E78:
- ldr r3, =0xfffff7cc
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bhi _08081E8C
- movs r2, 0x2
- b _08081E9A
- .pool
-_08081E8C:
- ldr r6, =0xfffff31c
- adds r0, r1, r6
- lsls r0, 16
- ldr r1, =0x012b0000
- cmp r0, r1
- bhi _08081E9A
- movs r2, 0x1
-_08081E9A:
- lsls r0, r2, 16
- asrs r0, 16
- bl sub_8081BC8
- movs r2, 0
- cmp r4, 0x40
- bhi _08081F7C
- adds r0, r4, 0
- subs r0, 0x32
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081EC4
- ldr r2, =0x0000ffff
- b _08081F7C
- .pool
-_08081EC4:
- adds r0, r4, 0
- subs r0, 0x64
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081ED8
- ldr r2, =0x0000fffe
- b _08081F7C
- .pool
-_08081ED8:
- adds r0, r4, 0
- subs r0, 0x96
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081EEC
- ldr r2, =0x0000fffd
- b _08081F7C
- .pool
-_08081EEC:
- adds r0, r4, 0
- subs r0, 0xC8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F00
- ldr r2, =0x0000fffc
- b _08081F7C
- .pool
-_08081F00:
- adds r0, r4, 0
- subs r0, 0xFA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F14
- ldr r2, =0x0000fffb
- b _08081F7C
- .pool
-_08081F14:
- ldr r1, =0xfffffea2
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F2C
- ldr r2, =0x0000fffa
- b _08081F7C
- .pool
-_08081F2C:
- ldr r3, =0xfffffe70
- adds r0, r4, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F44
- ldr r2, =0x0000fff9
- b _08081F7C
- .pool
-_08081F44:
- ldr r6, =0xfffffe0c
- adds r0, r4, r6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F5C
- ldr r2, =0x0000fff8
- b _08081F7C
- .pool
-_08081F5C:
- ldr r1, =0xfffffdda
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08081F74
- ldr r2, =0x0000fff7
- b _08081F7C
- .pool
-_08081F74:
- ldr r0, =0x00000257
- cmp r4, r0
- bls _08081F7C
- ldr r2, =0x0000fff6
-_08081F7C:
- lsls r0, r2, 16
- asrs r0, 16
- bl sub_8081BB0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081E20
-
- thumb_func_start sub_8081F94
-sub_8081F94: @ 8081F94
- push {lr}
- adds r1, r0, 0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08081FB8
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08081FB8
- movs r2, 0xBC
- lsls r2, 6
- b _08081FBA
- .pool
-_08081FB8:
- ldr r2, =0x00002fff
-_08081FBA:
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081F94
-
- thumb_func_start sub_8081FC8
-sub_8081FC8: @ 8081FC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x63
- ldrb r0, [r0]
- cmp r0, 0x2
- bhi _08081FDE
- bl sub_8082D28
-_08081FDE:
- bl GetMultiplayerId
- ldr r0, [r4]
- adds r0, 0x63
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0xC
- bls _08081FF0
- b _0808249E
-_08081FF0:
- lsls r0, 2
- ldr r1, =_08082004
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08082004:
- .4byte _08082038
- .4byte _08082078
- .4byte _080820D4
- .4byte _080821C8
- .4byte _08082278
- .4byte _08082286
- .4byte _080822B0
- .4byte _08082458
- .4byte _080822E4
- .4byte _08082308
- .4byte _080823B0
- .4byte _08082430
- .4byte _0808246C
-_08082038:
- ldr r0, =gMPlay_BGM
- movs r1, 0x80
- lsls r1, 1
- bl m4aMPlayTempoControl
- movs r4, 0
- b _08082064
- .pool
-_0808204C:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- bl DestroyTask
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_08082064:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bcc _0808204C
- b _08082458
- .pool
-_08082078:
- ldr r4, =gUnknown_020322A4
- ldr r1, [r4]
- adds r1, 0x4C
- ldrh r0, [r1]
- subs r0, 0x20
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bgt _080820C6
- bl sub_8009F8C
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x4C
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080820B0
- adds r1, 0x17
- ldrb r0, [r1]
- adds r0, 0x1
- b _080820B6
- .pool
-_080820B0:
- adds r1, r2, 0
- adds r1, 0x63
- movs r0, 0x5
-_080820B6:
- strb r0, [r1]
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
-_080820C6:
- bl sub_807F738
- b _0808249E
- .pool
-_080820D4:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080820E0
- b _08082458
-_080820E0:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _080820EC
- b _0808249E
-_080820EC:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808218C
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808218C
- ldr r3, =gUnknown_020322A4
- ldr r1, [r3]
- movs r4, 0x8E
- lsls r4, 5
- adds r2, r1, r4
- movs r5, 0x82
- lsls r5, 1
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2]
- adds r0, r1, 0
- adds r0, 0x4E
- ldrh r0, [r0]
- ldr r2, =0x000011c4
- adds r1, r2
- strh r0, [r1]
- movs r4, 0
- mov r8, r3
- mov r12, r8
- ldr r7, =0x000011c8
- movs r6, 0x92
- lsls r6, 1
-_08082128:
- movs r3, 0
- adds r5, r4, 0x1
- lsls r0, r4, 1
- adds r0, r4
- lsls r4, r0, 1
-_08082132:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r3, 1
- adds r1, r4
- adds r2, r0, r7
- adds r2, r1
- adds r0, r6
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08082132
- lsls r0, r5, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08082128
- mov r2, r8
- ldr r1, [r2]
- movs r4, 0x8E
- lsls r4, 5
- adds r1, r4
- movs r0, 0
- movs r2, 0x20
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- bne _08082172
- b _0808249E
-_08082172:
- mov r5, r8
- ldr r1, [r5]
- b _0808245C
- .pool
-_0808218C:
- ldr r4, =gUnknown_020322A4
- ldr r3, [r4]
- movs r0, 0xCC
- lsls r0, 1
- adds r1, r3, r0
- movs r2, 0x82
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x4E
- ldrh r2, [r0]
- movs r5, 0xCE
- lsls r5, 1
- adds r0, r3, r5
- strh r2, [r0]
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- bne _080821BE
- b _0808249E
-_080821BE:
- ldr r1, [r4]
- b _0808245C
- .pool
-_080821C8:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _080821D4
- b _0808249E
-_080821D4:
- bl ResetBlockReceivedFlags
- ldr r5, =gUnknown_020322A4
- ldr r1, [r5]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08082254
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08082254
- ldr r2, =gBlockRecvBuffer
- ldr r3, [r5]
- ldrh r0, [r2, 0x4]
- adds r1, r3, 0
- adds r1, 0x4E
- strh r0, [r1]
- movs r0, 0x82
- lsls r0, 1
- adds r1, r3, r0
- ldr r0, [r2]
- str r0, [r1]
- movs r4, 0
- adds r7, r2, 0
- adds r7, 0x8
- adds r6, r5, 0
- movs r2, 0x92
- lsls r2, 1
-_08082216:
- movs r3, 0
- adds r5, r4, 0x1
- lsls r0, r4, 1
- adds r0, r4
- lsls r4, r0, 1
-_08082220:
- ldr r1, [r6]
- lsls r0, r3, 1
- adds r0, r4
- adds r1, r2
- adds r1, r0
- adds r0, r7, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08082220
- lsls r0, r5, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08082216
- b _0808249E
- .pool
-_08082254:
- ldr r2, =gBlockRecvBuffer
- ldr r0, =gUnknown_020322A4
- ldr r3, [r0]
- ldrh r0, [r2, 0x4]
- adds r1, r3, 0
- adds r1, 0x4E
- strh r0, [r1]
- movs r4, 0x82
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, [r2]
- str r0, [r1]
- b _0808249E
- .pool
-_08082278:
- bl sub_8083B08
- lsls r0, 24
- cmp r0, 0
- bne _08082284
- b _0808249E
-_08082284:
- b _08082458
-_08082286:
- bl berry_blender_related
- lsls r0, 24
- cmp r0, 0
- bne _08082292
- b _0808249E
-_08082292:
- ldr r0, =gUnknown_03005D98
- ldrb r0, [r0]
- cmp r0, 0
- bne _080822A8
- movs r0, 0x22
- bl IncrementGameStat
- b _08082458
- .pool
-_080822A8:
- movs r0, 0x21
- bl IncrementGameStat
- b _08082458
-_080822B0:
- ldr r6, =gUnknown_020322A4
- ldr r4, [r6]
- ldr r5, =0x000011b8
- adds r4, r5
- ldr r5, =sText_WouldLikeToBlendAnotherBerry
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808417C
- cmp r0, 0
- bne _080822D2
- b _0808249E
-_080822D2:
- ldr r1, [r6]
- b _0808245C
- .pool
-_080822E4:
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_083399B8
- movs r1, 0x1
- movs r2, 0xD
- movs r3, 0
- bl CreateYesNoMenu
- ldr r1, [r4]
- b _0808245C
- .pool
-_08082308:
- bl sub_8198C58
- lsls r0, 24
- asrs r2, r0, 24
- cmp r2, 0
- beq _0808236C
- cmp r2, 0
- bgt _08082322
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08082328
- b _0808249E
-_08082322:
- cmp r2, 0x1
- beq _08082328
- b _0808249E
-_08082328:
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r0, 0x9E
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r4, 0
-_0808233E:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x8E
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _0808235C
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0808235C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0808233E
- b _0808249E
- .pool
-_0808236C:
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r0, 0x9E
- strb r2, [r0]
- ldr r1, [r1]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r4, 0
-_08082380:
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x8E
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _0808239E
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0808239E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08082380
- b _0808249E
- .pool
-_080823B0:
- ldr r6, =gUnknown_03003110
- adds r0, r6, 0
- bl sub_8081F94
- ldr r4, =gUnknown_020322A4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x9E
- ldrb r5, [r0]
- cmp r5, 0
- bne _0808241C
- movs r0, 0x4
- bl IsBagPocketNonEmpty
- lsls r0, 24
- cmp r0, 0
- bne _080823EC
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0x2
- strh r1, [r0]
- ldr r0, =0x00009999
- b _08082414
- .pool
-_080823EC:
- bl sub_8136EF4
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0808240C
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, =0x0000aaaa
- b _08082414
- .pool
-_0808240C:
- ldr r0, [r4]
- adds r0, 0x70
- strh r5, [r0]
- ldr r0, =0x00007779
-_08082414:
- strh r0, [r6, 0x2]
- b _08082458
- .pool
-_0808241C:
- adds r1, r2, 0
- adds r1, 0x70
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =0x00008888
- strh r0, [r6, 0x2]
- subs r1, 0xD
- b _0808245E
- .pool
-_08082430:
- ldr r0, =gUnknown_03005D98
- ldrb r0, [r0]
- cmp r0, 0
- beq _08082458
- ldr r0, =sub_8082924
- bl SetMainCallback2
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r0, 0x63
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- b _0808249C
- .pool
-_08082458:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_0808245C:
- adds r1, 0x63
-_0808245E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808249E
- .pool
-_0808246C:
- ldr r6, =gUnknown_020322A4
- ldr r4, [r6]
- ldr r0, =0x000011b8
- adds r4, r0
- ldr r5, =sText_CommunicationStandby
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808417C
- cmp r0, 0
- beq _0808249E
- ldr r0, =sub_8082644
- bl SetMainCallback2
- ldr r0, [r6]
- adds r0, 0x63
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r6]
-_0808249C:
- strb r1, [r0]
-_0808249E:
- bl sub_808330C
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x4C
- ldrh r0, [r0]
- bl sub_8083230
- bl sub_8082AD4
- ldr r1, [r4]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- movs r4, 0
- ldrsh r0, [r0, r4]
- movs r5, 0x8F
- lsls r5, 1
- adds r1, r5
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8081FC8
-
- thumb_func_start sub_80824FC
-sub_80824FC: @ 80824FC
- push {r4,lr}
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _08082512
- b _0808263C
-_08082512:
- lsls r0, 2
- ldr r1, =_08082524
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08082524:
- .4byte _08082540
- .4byte _08082558
- .4byte _08082584
- .4byte _08082594
- .4byte _080825BA
- .4byte _08082600
- .4byte _0808261A
-_08082540:
- bl sub_800ADF8
- ldr r0, =gUnknown_020322A4
- ldr r2, [r0]
- movs r3, 0xD0
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0x1
- b _0808260C
- .pool
-_08082558:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _0808263C
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r2, 0xD0
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r1, =gSoftResetDisabled
- movs r0, 0x1
- strb r0, [r1]
- b _0808263C
- .pool
-_08082584:
- bl sub_8153430
- ldr r0, =gUnknown_020322A4
- ldr r2, [r0]
- b _08082602
- .pool
-_08082594:
- ldr r1, [r4]
- movs r2, 0x84
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0xA
- bne _0808263C
- bl sub_800ADF8
- ldr r1, [r4]
- movs r3, 0xD0
- lsls r3, 1
- adds r1, r3
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- b _0808263C
-_080825BA:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _0808263C
- bl sub_8153474
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080825E4
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r1, 0xD0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x5
- str r1, [r0]
- b _0808263C
- .pool
-_080825E4:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r3, 0x84
- lsls r3, 1
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0xD0
- lsls r0, 1
- adds r1, r0
- movs r0, 0x3
- str r0, [r1]
- b _0808263C
- .pool
-_08082600:
- ldr r2, [r4]
-_08082602:
- movs r3, 0xD0
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, [r1]
- adds r0, 0x1
-_0808260C:
- str r0, [r1]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
- b _0808263C
-_0808261A:
- ldr r1, [r4]
- movs r2, 0x84
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x5
- ble _0808263C
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _0808263E
- .pool
-_0808263C:
- movs r0, 0
-_0808263E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80824FC
-
- thumb_func_start sub_8082644
-sub_8082644: @ 8082644
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r0, 0x63
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0xC
- bls _08082658
- b _080828DC
-_08082658:
- lsls r0, 2
- ldr r1, =_0808266C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0808266C:
- .4byte _080826A0
- .4byte _080826EC
- .4byte _0808271C
- .4byte _08082754
- .4byte _0808278C
- .4byte _080827AA
- .4byte _080827C8
- .4byte _080827FC
- .4byte _08082818
- .4byte _08082828
- .4byte _0808284C
- .4byte _080828A4
- .4byte _080828C6
-_080826A0:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x64
- ldrh r2, [r0]
- ldr r0, =0x00002222
- cmp r2, r0
- bne _080826B0
- b _080827A2
-_080826B0:
- ldr r0, =0x00001111
- cmp r2, r0
- beq _080826B8
- b _080828DC
-_080826B8:
- adds r0, r1, 0
- adds r0, 0x6C
- ldrh r2, [r0]
- ldr r0, =0x00009999
- cmp r2, r0
- bne _080826D8
- adds r1, 0x63
- movs r0, 0x2
- strb r0, [r1]
- b _080828DC
- .pool
-_080826D8:
- ldr r0, =0x0000aaaa
- cmp r2, r0
- bne _080827A2
- adds r1, 0x63
- movs r0, 0x1
- strb r0, [r1]
- b _080828DC
- .pool
-_080826EC:
- ldr r0, [r6]
- adds r0, 0x63
- movs r1, 0x3
- strb r1, [r0]
- ldr r4, =gStringVar4
- ldr r0, [r6]
- adds r0, 0x6E
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =sText_ApostropheSPokeblockCaseIsFull
- b _08082740
- .pool
-_0808271C:
- ldr r1, [r6]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, =gStringVar4
- ldr r0, [r6]
- adds r0, 0x6E
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, =gLinkPlayers + 8
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, =sText_HasNoBerriesToPut
-_08082740:
- adds r0, r4, 0
- bl StringAppend
- b _080828DC
- .pool
-_08082754:
- ldr r4, [r6]
- ldr r0, =0x000011b8
- adds r4, r0
- ldr r5, =gStringVar4
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808417C
- cmp r0, 0
- bne _08082774
- b _080828DC
-_08082774:
- ldr r1, [r6]
- movs r0, 0x84
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- b _080828BC
- .pool
-_0808278C:
- ldr r4, [r6]
- movs r2, 0x84
- lsls r2, 1
- adds r1, r4, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _080827A0
- b _080828DC
-_080827A0:
- adds r1, r4, 0
-_080827A2:
- adds r1, 0x63
- movs r0, 0x5
- strb r0, [r1]
- b _080828DC
-_080827AA:
- ldr r0, [r6]
- ldr r1, =0x000011b8
- adds r0, r1
- ldr r1, =gText_SavingDontTurnOff2
- movs r2, 0
- bl sub_808417C
- bl sub_800ADF8
- b _080828BA
- .pool
-_080827C8:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- bne _080827D4
- b _080828DC
-_080827D4:
- ldr r3, =gUnknown_020322A4
- ldr r1, [r3]
- movs r2, 0x84
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- str r2, [r0]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xD0
- lsls r1, 1
- adds r0, r1
- str r2, [r0]
- b _080828DC
- .pool
-_080827FC:
- bl sub_80824FC
- lsls r0, 24
- cmp r0, 0
- beq _080828DC
- movs r0, 0x37
- bl PlaySE
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- b _080828BC
- .pool
-_08082818:
- ldr r1, [r6]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_800ADF8
- b _080828DC
-_08082828:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080828DC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- b _080828BC
- .pool
-_0808284C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080828DC
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x64
- ldrh r1, [r0]
- ldr r0, =0x00002222
- cmp r1, r0
- bne _08082898
- bl FreeAllWindowBuffers
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- ldr r0, [r6]
- bl Free
- str r4, [r6]
- ldr r0, =sub_807FA80
- bl SetMainCallback2
- b _080828DC
- .pool
-_08082898:
- movs r1, 0x84
- lsls r1, 1
- adds r0, r2, r1
- str r4, [r0]
- adds r1, r2, 0
- b _080828BC
-_080828A4:
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x1E
- ble _080828DC
- bl sub_800AC34
-_080828BA:
- ldr r1, [r6]
-_080828BC:
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080828DC
-_080828C6:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0
- bne _080828DC
- ldr r0, [r6]
- bl Free
- str r4, [r6]
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080828DC:
- bl sub_8082AD4
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x8F
- lsls r2, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082644
-
- thumb_func_start sub_8082924
-sub_8082924: @ 8082924
- push {r4-r6,lr}
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r0, 0x63
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0xA
- bls _08082936
- b _08082A92
-_08082936:
- lsls r0, 2
- ldr r1, =_08082948
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08082948:
- .4byte _08082974
- .4byte _080829AA
- .4byte _080829D4
- .4byte _08082A00
- .4byte _08082A92
- .4byte _08082A92
- .4byte _08082A92
- .4byte _08082A92
- .4byte _08082A92
- .4byte _08082A30
- .4byte _08082A48
-_08082974:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x70
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _08082986
- adds r1, 0x63
- movs r0, 0x9
- strb r0, [r1]
-_08082986:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x70
- ldrh r1, [r0]
- cmp r1, 0x2
- bne _08082996
- subs r0, 0xD
- strb r1, [r0]
-_08082996:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x70
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _08082A92
- adds r1, 0x63
- movs r0, 0x1
- strb r0, [r1]
- b _08082A92
-_080829AA:
- ldr r0, [r6]
- adds r0, 0x63
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, =0x000011b8
- adds r0, r1
- strh r2, [r0]
- ldr r0, =gStringVar4
- ldr r1, =sText_YourPokeblockCaseIsFull
- bl StringCopy
- b _08082A92
- .pool
-_080829D4:
- ldr r1, [r6]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r6]
- ldr r1, =0x000011b8
- adds r0, r1
- strh r2, [r0]
- ldr r0, =gStringVar4
- ldr r1, =sText_RunOutOfBerriesForBlending
- bl StringCopy
- b _08082A92
- .pool
-_08082A00:
- ldr r4, [r6]
- ldr r2, =0x000011b8
- adds r4, r2
- ldr r5, =gStringVar4
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808417C
- cmp r0, 0
- beq _08082A92
- ldr r0, [r6]
- adds r0, 0x63
- movs r1, 0x9
- strb r1, [r0]
- b _08082A92
- .pool
-_08082A30:
- movs r0, 0x3
- bl BeginFastPaletteFade
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- adds r1, 0x63
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08082A92
- .pool
-_08082A48:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08082A92
- ldr r0, [r6]
- adds r0, 0x70
- ldrh r0, [r0]
- cmp r0, 0
- bne _08082A70
- ldr r0, =sub_807FA80
- bl SetMainCallback2
- b _08082A76
- .pool
-_08082A70:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_08082A76:
- bl FreeAllWindowBuffers
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_08082A92:
- bl sub_8082AD4
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x8F
- lsls r2, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl nullsub_31
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082924
-
- thumb_func_start sub_8082AD4
-sub_8082AD4: @ 8082AD4
- push {r4-r7,lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08082AE0
- b _08082CA4
-_08082AE0:
- ldr r4, =gUnknown_03003090
- ldrh r0, [r4]
- ldr r1, =0x00002fff
- movs r2, 0xBC
- lsls r2, 6
- bl sub_80814B0
- cmp r0, 0
- beq _08082B66
- ldrh r1, [r4, 0x2]
- ldr r0, =0x00001111
- cmp r1, r0
- bne _08082B58
- ldrh r3, [r4, 0x4]
- ldr r0, =0x00009999
- cmp r3, r0
- beq _08082B38
- cmp r3, r0
- bgt _08082B24
- ldr r0, =0x00008888
- b _08082B26
- .pool
-_08082B24:
- ldr r0, =0x0000aaaa
-_08082B26:
- cmp r3, r0
- beq _08082B38
- ldr r2, =gUnknown_020322A4
- b _08082B48
- .pool
-_08082B38:
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x6C
- strh r3, [r1]
- ldrh r1, [r4, 0x6]
- adds r0, 0x6E
- strh r1, [r0]
-_08082B48:
- ldr r0, [r2]
- adds r0, 0x64
- ldr r1, =0x00001111
- b _08082B64
- .pool
-_08082B58:
- ldr r0, =0x00002222
- cmp r1, r0
- bne _08082B66
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x64
-_08082B64:
- strh r1, [r0]
-_08082B66:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _08082B72
- b _08082CA4
-_08082B72:
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r0, 0x64
- ldrh r1, [r0]
- ldr r0, =0x00001111
- cmp r1, r0
- bne _08082B82
- b _08082CA4
-_08082B82:
- ldr r0, =0x00002222
- cmp r1, r0
- bne _08082B8A
- b _08082CA4
-_08082B8A:
- movs r5, 0
- adds r7, r2, 0
- b _08082BF4
- .pool
-_08082B9C:
- ldr r6, =gUnknown_03003090
- lsls r4, r5, 4
- adds r0, r4, r6
- ldrh r0, [r0]
- ldr r1, =0x00002fff
- movs r2, 0xBC
- lsls r2, 6
- bl sub_80814B0
- cmp r0, 0
- beq _08082BEE
- adds r0, r6, 0x2
- adds r0, r4, r0
- ldrh r2, [r0]
- ldr r0, =0x00008888
- cmp r2, r0
- beq _08082BE4
- cmp r2, r0
- bgt _08082BD8
- ldr r0, =0x00007779
- b _08082BE0
- .pool
-_08082BD8:
- ldr r0, =0x00009999
- cmp r2, r0
- beq _08082BE4
- ldr r0, =0x0000aaaa
-_08082BE0:
- cmp r2, r0
- bne _08082BEE
-_08082BE4:
- ldr r0, [r7]
- lsls r1, r5, 1
- adds r0, 0x64
- adds r0, r1
- strh r2, [r0]
-_08082BEE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08082BF4:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _08082B9C
- movs r5, 0
- b _08082C12
- .pool
-_08082C0C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08082C12:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _08082C2E
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x64
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08082C0C
-_08082C2E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08082CA4
- movs r5, 0
- ldr r4, =0x00007779
- b _08082C4E
- .pool
-_08082C48:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08082C4E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _08082C6A
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x64
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r4
- beq _08082C48
-_08082C6A:
- ldr r4, =gUnknown_03003110
- adds r0, r4, 0
- bl sub_8081F94
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08082C90
- ldr r0, =0x00002222
- strh r0, [r4, 0x2]
- b _08082CA4
- .pool
-_08082C90:
- ldr r0, =0x00001111
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x64
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- strh r5, [r4, 0x6]
-_08082CA4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082AD4
-
- thumb_func_start sub_8082CB4
-sub_8082CB4: @ 8082CB4
- push {r4,lr}
- sub sp, 0x14
- movs r1, 0xF0
- lsls r1, 7
- str r1, [sp]
- movs r1, 0xA0
- lsls r1, 7
- str r1, [sp, 0x4]
- mov r3, sp
- ldr r1, =gUnknown_020322A4
- ldr r1, [r1]
- mov r12, r1
- movs r1, 0x8E
- lsls r1, 1
- add r1, r12
- ldrh r2, [r1]
- movs r1, 0x78
- subs r1, r2
- strh r1, [r3, 0x8]
- movs r1, 0x8F
- lsls r1, 1
- add r1, r12
- ldrh r2, [r1]
- movs r1, 0x50
- subs r1, r2
- strh r1, [r3, 0xA]
- mov r2, sp
- movs r3, 0x8D
- lsls r3, 1
- add r3, r12
- ldrh r1, [r3]
- strh r1, [r2, 0xC]
- ldrh r1, [r3]
- strh r1, [r2, 0xE]
- mov r1, r12
- adds r1, 0x4A
- ldrh r1, [r1]
- strh r1, [r2, 0x10]
- mov r1, sp
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2,r3}
- stm r0!, {r2,r3}
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082CB4
-
- thumb_func_start sub_8082D18
-sub_8082D18: @ 8082D18
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r0, 0x4A
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8082D18
-
- thumb_func_start sub_8082D28
-sub_8082D28: @ 8082D28
- push {r4,lr}
- movs r1, 0
- ldr r4, =gReceivedRemoteLinkPlayers
- ldrb r0, [r4]
- cmp r0, 0
- beq _08082D3C
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r1, r0, 24
-_08082D3C:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08082DCC
- ldrb r0, [r4]
- cmp r0, 0
- beq _08082DCC
- cmp r1, 0
- bne _08082D90
- ldr r0, =gUnknown_020322A4
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x4A
- adds r0, r3, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- ldr r1, =gUnknown_03003110
- movs r4, 0x8B
- lsls r4, 1
- adds r0, r3, r4
- ldrh r0, [r0]
- strh r0, [r1, 0xA]
- ldrh r0, [r2]
- strh r0, [r1, 0xC]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r3, r1
- bl sub_8082CB4
- b _08082DEA
- .pool
-_08082D90:
- ldr r3, =gUnknown_03003090
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0x88
- lsls r0, 7
- cmp r1, r0
- bne _08082DEA
- ldr r0, =gUnknown_020322A4
- ldr r2, [r0]
- ldrh r0, [r3, 0xA]
- movs r4, 0x8B
- lsls r4, 1
- adds r1, r2, r4
- strh r0, [r1]
- ldrh r0, [r3, 0xC]
- adds r1, r2, 0
- adds r1, 0x4A
- strh r0, [r1]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r2, r1
- bl sub_8082CB4
- b _08082DEA
- .pool
-_08082DCC:
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x4A
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- ldrh r3, [r2]
- adds r0, r3
- strh r0, [r2]
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r1, r4
- bl sub_8082CB4
-_08082DEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082D28
-
- thumb_func_start sub_8082DF4
-sub_8082DF4: @ 8082DF4
- push {r4-r6,lr}
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r6
- ldrh r1, [r0]
- movs r0, 0x14
- bl SetGpuReg
- ldr r0, [r4]
- movs r5, 0x8F
- lsls r5, 1
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, r6
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082DF4
-
- thumb_func_start sub_8082E3C
-sub_8082E3C: @ 8082E3C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r0, r1
- strh r0, [r2, 0x34]
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bge _08082E5A
- adds r0, 0x7
-_08082E5A:
- asrs r0, 3
- strh r0, [r2, 0x24]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bge _08082E68
- adds r0, 0x7
-_08082E68:
- asrs r0, 3
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08082E80
- adds r0, r2, 0
- bl DestroySprite
-_08082E80:
- pop {r0}
- bx r0
- thumb_func_end sub_8082E3C
-
- thumb_func_start sub_8082E84
-sub_8082E84: @ 8082E84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl Random
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0x1
- ands r1, r0
- adds r0, r1, 0x1
- cmp r0, 0
- beq _08082F40
- ldr r0, =gSineTable
- mov r9, r0
- ldr r2, =gSprites
- mov r10, r2
- adds r6, r1, 0x1
- movs r3, 0x1F
- mov r8, r3
- movs r7, 0x10
-_08082EB0:
- bl Random
- ldr r1, =gUnknown_020322A4
- ldr r4, [r1]
- adds r4, 0x4A
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- ldrh r1, [r4]
- adds r1, r0
- lsls r1, 16
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r9
- movs r3, 0
- ldrsh r1, [r0, r3]
- cmp r1, 0
- bge _08082EE4
- adds r1, 0x3
-_08082EE4:
- asrs r1, 2
- lsls r0, r2, 1
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08082EF4
- adds r0, 0x3
-_08082EF4:
- asrs r2, r0, 2
- adds r1, 0x78
- adds r2, 0x50
- ldr r0, =gUnknown_08339BE0
- movs r3, 0x1
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r5, r4, 4
- adds r5, r4
- lsls r5, 2
- mov r3, r10
- adds r4, r5, r3
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- ands r0, r1
- subs r0, r7, r0
- strh r0, [r4, 0x2E]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r2, r8
- ands r0, r2
- subs r0, r7, r0
- strh r0, [r4, 0x30]
- ldr r3, =gSprites + 0x1C
- adds r5, r3
- ldr r0, =sub_8082E3C
- str r0, [r5]
- subs r6, 0x1
- cmp r6, 0
- bne _08082EB0
-_08082F40:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082E84
-
- thumb_func_start sub_8082F68
-sub_8082F68: @ 8082F68
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __divsi3
- negs r0, r0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08082F94
- adds r0, r4, 0
- bl DestroySprite
-_08082F94:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8082F68
-
- thumb_func_start sub_8082F9C
-sub_8082F9C: @ 8082F9C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- lsls r0, 1
- negs r0, r0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xC
- negs r1, r1
- cmp r0, r1
- bge _08082FC0
- ldr r0, =0x0000fff4
- strh r0, [r2, 0x26]
-_08082FC0:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08082FD4
- adds r0, r2, 0
- bl DestroySprite
-_08082FD4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082F9C
-
- thumb_func_start sub_8082FDC
-sub_8082FDC: @ 8082FDC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gUnknown_020322A4
- ldr r3, [r2]
- lsls r4, r0, 1
- adds r2, r3, 0
- adds r2, 0x74
- adds r2, r4
- strh r1, [r2]
- lsls r0, 4
- movs r2, 0xAC
- lsls r2, 1
- adds r0, r2
- adds r3, r0
- adds r0, r3, 0
- bl sub_807FE14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8082FDC
-
- thumb_func_start sub_8083010
-sub_8083010: @ 8083010
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0808304C
- cmp r0, 0x1
- bgt _08083026
- cmp r0, 0
- beq _0808302C
- b _080830B2
-_08083026:
- cmp r0, 0x2
- beq _08083066
- b _080830B2
-_0808302C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x58
- ble _080830B2
- movs r0, 0x58
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x38
- bl PlaySE
- b _080830B2
-_0808304C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080830B2
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x32]
- b _080830B2
-_08083066:
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB0
- ble _080830B2
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- adds r1, r0, 0
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080830A0
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, =gUnknown_08339C60
- movs r2, 0x14
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x2
- bl CreateSprite
- b _080830B2
- .pool
-_080830A0:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, =0x0000fff0
- strh r0, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_080830B2:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8083010
-
- thumb_func_start sub_80830C0
-sub_80830C0: @ 80830C0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080830FC
- cmp r0, 0x1
- bgt _080830D6
- cmp r0, 0
- beq _080830DC
- b _08083130
-_080830D6:
- cmp r0, 0x2
- beq _08083112
- b _08083130
-_080830DC:
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5C
- ble _08083130
- movs r0, 0x5C
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x15
- bl PlaySE
- b _08083130
-_080830FC:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08083130
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08083130
-_08083112:
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB0
- ble _08083130
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_08083130:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80830C0
-
- thumb_func_start sub_8083140
-sub_8083140: @ 8083140
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r1, =gUnknown_020322A4
- ldr r1, [r1]
- movs r2, 0x8C
- lsls r2, 1
- adds r1, r2
- ldrh r2, [r1]
- cmp r2, r0
- bcs _08083166
- adds r0, r2, 0x2
- strh r0, [r1]
- ldrh r0, [r1]
- adds r1, r3, 0
- bl sub_8083170
-_08083166:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8083140
-
- thumb_func_start sub_8083170
-sub_8083170: @ 8083170
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r7, =0x06006000
- lsrs r0, 10
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _08083188
- adds r0, r1, 0x7
-_08083188:
- asrs r4, r0, 3
- movs r3, 0
- cmp r3, r4
- bge _080831B0
- ldr r0, =0x000080e9
- adds r6, r0, 0
- adds r0, 0x10
- adds r5, r0, 0
- adds r2, r7, 0
- adds r2, 0x56
- adds r0, r7, 0
- adds r3, r4, 0
-_080831A0:
- strh r6, [r0, 0x16]
- strh r5, [r2]
- adds r2, 0x2
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _080831A0
- adds r3, r4, 0
-_080831B0:
- adds r0, r1, 0
- cmp r1, 0
- bge _080831B8
- adds r0, r1, 0x7
-_080831B8:
- asrs r2, r0, 3
- lsls r0, r2, 3
- subs r2, r1, r0
- cmp r2, 0
- beq _080831D6
- lsls r0, r3, 1
- adds r0, r7
- ldr r4, =0xffff80e1
- adds r1, r2, r4
- strh r1, [r0, 0x16]
- adds r0, 0x56
- adds r4, 0x10
- adds r1, r2, r4
- strh r1, [r0]
- adds r3, 0x1
-_080831D6:
- cmp r3, 0x7
- bgt _080831FA
- ldr r0, =0x000080e1
- adds r4, r0, 0
- adds r0, 0x10
- adds r2, r0, 0
- lsls r1, r3, 1
- adds r0, r1, 0
- adds r0, 0x56
- adds r0, r7
- adds r1, r7
-_080831EC:
- strh r4, [r1, 0x16]
- strh r2, [r0]
- adds r0, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x7
- ble _080831EC
-_080831FA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8083170
-
- thumb_func_start sub_8083210
-sub_8083210: @ 8083210
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x00057e40
- muls r0, r1
- cmp r0, 0
- bge _08083222
- ldr r1, =0x0000ffff
- adds r0, r1
-_08083222:
- asrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8083210
-
- thumb_func_start sub_8083230
-sub_8083230: @ 8083230
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- bl sub_8083210
- adds r5, r0, 0
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x4E
- ldrh r0, [r1]
- cmp r0, r5
- bcs _0808324E
- strh r5, [r1]
-_0808324E:
- movs r6, 0
-_08083250:
- mov r0, sp
- adds r4, r0, r6
- adds r0, r5, 0
- movs r1, 0xA
- bl __umodsi3
- strb r0, [r4]
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x4
- bls _08083250
- ldr r2, =0x06006458
- mov r0, sp
- ldr r3, =0x00008072
- adds r1, r3, 0
- ldrb r0, [r0, 0x4]
- adds r0, r1, r0
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0, 0x3]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x4
- mov r0, sp
- ldrb r0, [r0, 0x1]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0]
- adds r1, r0
- strh r1, [r2]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8083230
-
- thumb_func_start sub_80832BC
-sub_80832BC: @ 80832BC
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 16
- lsrs r5, r4, 16
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080832E0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- lsrs r1, r4, 17
- subs r0, r1
- strh r0, [r6]
-_080832E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80832BC
-
- thumb_func_start sub_80832E8
-sub_80832E8: @ 80832E8
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bge _080832FA
- adds r0, r2, 0x1
- strh r0, [r1]
-_080832FA:
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08083308
- subs r0, r2, 0x1
- strh r0, [r1]
-_08083308:
- pop {r0}
- bx r0
- thumb_func_end sub_80832E8
-
- thumb_func_start sub_808330C
-sub_808330C: @ 808330C
- push {r4,lr}
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- bl sub_80832E8
- ldr r0, [r4]
- movs r1, 0x8F
- lsls r1, 1
- adds r0, r1
- bl sub_80832E8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808330C
-
- thumb_func_start sub_8083334
-sub_8083334: @ 8083334
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r5, 0x8
- cmp r1, 0x9
- bhi _08083344
- movs r5, 0x10
-_08083344:
- ldrh r0, [r4]
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _08083362
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- lsrs r1, r5, 1
- subs r0, r1
- b _08083376
-_08083362:
- cmp r1, 0
- bge _0808336A
- adds r0, 0x1
- strh r0, [r4]
-_0808336A:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08083378
- subs r0, r1, 0x1
-_08083376:
- strh r0, [r4]
-_08083378:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8083334
-
- thumb_func_start sub_8083380
-sub_8083380: @ 8083380
- push {r4,r5,lr}
- ldr r5, =gUnknown_020322A4
- ldr r2, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r2, r4
- ldr r1, [r0]
- cmp r1, 0
- bne _080833A0
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
-_080833A0:
- ldr r0, [r5]
- adds r2, r0, r4
- ldr r1, [r2]
- adds r1, 0x1
- str r1, [r2]
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- lsls r1, 16
- lsrs r1, 16
- bl sub_8083334
- ldr r1, [r5]
- movs r3, 0x8F
- lsls r3, 1
- adds r0, r1, r3
- adds r1, r4
- ldrh r1, [r1]
- bl sub_8083334
- ldr r2, [r5]
- adds r0, r2, r4
- ldr r0, [r0]
- cmp r0, 0x14
- beq _080833DC
- movs r0, 0
- b _080833F0
- .pool
-_080833DC:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- movs r1, 0
- strh r1, [r0]
- movs r3, 0x8F
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x1
-_080833F0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8083380
-
- thumb_func_start sub_80833F8
-sub_80833F8: @ 80833F8
- ldr r1, =gUnknown_020322A4
- ldr r2, [r1]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x24]
- adds r3, 0x2
- adds r1, r2, r3
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x26]
- bx lr
- .pool
- thumb_func_end sub_80833F8
-
- thumb_func_start UpdateBerryBlenderRecord
-@ void UpdateBerryBlenderRecord()
-UpdateBerryBlenderRecord: @ 8083418
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 1
- ldr r3, =0x000009bc
- adds r2, r3
- adds r2, r0
- adds r1, 0x4E
- ldrh r1, [r1]
- ldrh r0, [r2]
- cmp r0, r1
- bcs _0808343E
- strh r1, [r2]
-_0808343E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateBerryBlenderRecord
-
- thumb_func_start berry_blender_related
-berry_blender_related: @ 8083450
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _0808346A
- b _08083898
-_0808346A:
- lsls r0, 2
- ldr r1, =_0808347C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0808347C:
- .4byte _08083498
- .4byte _080834AE
- .4byte _080834C8
- .4byte _08083518
- .4byte _08083790
- .4byte _080837A8
- .4byte _0808386C
-_08083498:
- ldr r1, [r4]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- movs r1, 0x11
- str r1, [r0]
- b _08083898
-_080834AE:
- ldr r1, [r4]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- ldr r0, [r2]
- subs r0, 0xA
- str r0, [r2]
- cmp r0, 0
- blt _080834C2
- b _08083898
-_080834C2:
- movs r0, 0
- str r0, [r2]
- b _08083854
-_080834C8:
- ldr r1, [r4]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- bgt _080834DC
- b _08083898
-_080834DC:
- movs r6, 0
-_080834DE:
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x46
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x2
- bls _080834DE
- ldr r1, [r4]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- movs r0, 0
- str r0, [r2]
- b _08083854
- .pool
-_08083518:
- ldr r4, =sText_BlendingResults
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xA8
- bl GetStringCenterAlignXOffset
- lsls r2, r0, 24
- lsrs r2, 24
- movs r0, 0xFF
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x5
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_80840D4
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r2, r0, 0
- adds r2, 0x7C
- ldrb r0, [r2]
- movs r3, 0x15
- mov r9, r3
- cmp r0, 0x4
- bne _08083550
- movs r0, 0x11
- mov r9, r0
-_08083550:
- movs r6, 0
- mov r3, sp
- adds r3, 0x10
- str r3, [sp, 0x48]
- ldrb r2, [r2]
- cmp r6, r2
- bcs _0808361A
- adds r7, r1, 0
- movs r0, 0x3
- mov r10, r0
-_08083564:
- ldr r0, [r7]
- movs r2, 0x9E
- lsls r2, 1
- adds r1, r0, r2
- adds r1, r6
- ldrb r5, [r1]
- adds r0, 0x9F
- adds r6, 0x1
- mov r8, r6
- mov r1, r8
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r1, =sText_Dot
- bl StringAppend
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r1, =gText_Space
- bl StringAppend
- ldr r0, [r7]
- adds r0, 0x9F
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- ldr r3, =gLinkPlayers + 8
- adds r1, r4, r3
- bl StringAppend
- ldr r1, [r7]
- adds r1, 0x9F
- mov r0, r9
- lsls r6, r0, 24
- lsrs r6, 24
- movs r2, 0xFF
- str r2, [sp]
- mov r3, r10
- str r3, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x8
- adds r3, r6, 0
- bl sub_80840D4
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x9F
- lsls r5, 4
- adds r5, r1
- movs r1, 0xAD
- lsls r1, 1
- adds r5, r1
- adds r1, r5, 0
- bl StringCopy
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r2, =gLinkPlayers
- adds r4, r2
- ldrb r1, [r4, 0x1A]
- bl ConvertInternationalString
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r1, =sText_SpaceBerry
- bl StringAppend
- ldr r1, [r7]
- adds r1, 0x9F
- movs r3, 0xFF
- str r3, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x54
- adds r3, r6, 0
- bl sub_80840D4
- movs r1, 0x10
- add r9, r1
- mov r2, r8
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r0, [r7]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08083564
-_0808361A:
- ldr r1, =sText_MaximumSpeed
- movs r3, 0xFF
- mov r10, r3
- str r3, [sp]
- movs r0, 0x3
- mov r9, r0
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0
- movs r3, 0x51
- bl sub_80840D4
- ldr r6, =gUnknown_020322A4
- ldr r0, [r6]
- adds r4, r0, 0
- adds r4, 0x9F
- adds r0, 0x4E
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, =sText_Dot
- bl StringAppend
- ldr r0, [r6]
- adds r0, 0x4E
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x48]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, [sp, 0x48]
- bl StringAppend
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, =sText_RPM
- bl StringAppend
- ldr r1, [r6]
- adds r1, 0x9F
- movs r0, 0x1
- movs r2, 0xA8
- bl GetStringRightAlignXOffset
- ldr r1, [r6]
- adds r1, 0x9F
- lsls r2, r0, 24
- lsrs r2, 24
- mov r3, r10
- str r3, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r3, 0x51
- bl sub_80840D4
- ldr r1, =sText_Time
- mov r2, r10
- str r2, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0
- movs r3, 0x61
- bl sub_80840D4
- ldr r5, [r6]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- mov r8, r0
- movs r1, 0x3C
- bl __udivsi3
- movs r1, 0x3C
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r1, 0xE1
- lsls r1, 4
- mov r0, r8
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r5, 0x9F
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, =sText_Min
- bl StringAppend
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r0, 0x9F
- ldr r1, =sText_Sec
- bl StringAppend
- ldr r1, [r6]
- adds r1, 0x9F
- movs r0, 0x1
- movs r2, 0xA8
- bl GetStringRightAlignXOffset
- ldr r1, [r6]
- adds r1, 0x9F
- lsls r2, r0, 24
- lsrs r2, 24
- mov r3, r10
- str r3, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r3, 0x61
- bl sub_80840D4
- ldr r1, [r6]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- b _08083898
- .pool
-_08083790:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808379E
- b _08083898
-_0808379E:
- ldr r1, [r4]
- b _08083854
- .pool
-_080837A8:
- movs r0, 0x5
- movs r1, 0x1
- bl sub_8198070
- movs r6, 0
- add r7, sp, 0x40
- ldr r5, =gUnknown_020322A4
-_080837B6:
- ldr r0, [r5]
- lsls r2, r6, 1
- adds r0, 0x74
- adds r0, r2
- ldrh r1, [r0]
- cmp r1, 0
- beq _080837CC
- add r0, sp, 0x38
- adds r0, r2
- subs r1, 0x85
- strh r1, [r0]
-_080837CC:
- ldr r0, [r5]
- adds r0, 0x8E
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080837EA
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_080837EA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _080837B6
- bl sub_8081E20
- ldr r4, =gUnknown_020322A4
- ldr r3, [r4]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r3, r1
- adds r1, r3, 0
- adds r1, 0x7C
- ldrb r2, [r1]
- subs r1, 0x2E
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r7, 0
- add r3, sp, 0x8
- bl sub_8081BE0
- ldr r1, [r4]
- adds r1, 0x9F
- adds r0, r7, 0
- bl sub_80838AC
- ldr r1, [r4]
- movs r2, 0xD4
- lsls r2, 1
- adds r1, r2
- adds r0, r7, 0
- bl sub_8083F94
- ldr r0, =sub_8083F3C
- movs r1, 0x6
- bl CreateTask
- bl sub_80EECEC
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- adds r0, r7, 0
- bl sub_8136F2C
- ldr r1, [r4]
- ldr r3, =0x000011b8
- adds r2, r1, r3
- movs r0, 0
- strh r0, [r2]
-_08083854:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08083898
- .pool
-_0808386C:
- ldr r4, [r4]
- ldr r0, =0x000011b8
- adds r5, r4, r0
- adds r4, 0x9F
- bl sav2_get_text_speed
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808417C
- cmp r0, 0
- beq _08083898
- bl UpdateBerryBlenderRecord
- movs r0, 0x1
- b _0808389A
- .pool
-_08083898:
- movs r0, 0
-_0808389A:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end berry_blender_related
-
- thumb_func_start sub_80838AC
-sub_80838AC: @ 80838AC
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- strb r0, [r6]
- ldr r1, =gPokeblockNames
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- ldr r1, =gText_WasMade
- adds r0, r6, 0
- bl StringAppend
- ldr r1, =sText_NewLine
- adds r0, r6, 0
- bl StringAppend
- adds r0, r5, 0
- bl sub_8136EA4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_8136EDC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =sText_TheLevelIs
- adds r0, r6, 0
- bl StringAppend
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- ldr r1, =sText_TheFeelIs
- adds r0, r6, 0
- bl StringAppend
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- ldr r1, =sText_Dot2
- adds r0, r6, 0
- bl StringAppend
- ldr r1, =gText_NewParagraph
- adds r0, r6, 0
- bl StringAppend
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80838AC
-
- thumb_func_start sub_808395C
-sub_808395C: @ 808395C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- mov r12, r2
- lsls r1, 24
- lsrs r7, r1, 24
- movs r0, 0
- cmp r0, r7
- bge _080839A8
-_08083972:
- movs r5, 0
- adds r1, r0, 0x1
- mov r8, r1
- cmp r5, r7
- bge _080839A2
- mov r1, r9
- adds r6, r1, r0
-_08083980:
- ldrb r4, [r6]
- lsls r1, r4, 2
- add r1, r12
- mov r0, r9
- adds r2, r0, r5
- ldrb r3, [r2]
- lsls r0, r3, 2
- add r0, r12
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- bls _0808399C
- strb r3, [r6]
- strb r4, [r2]
-_0808399C:
- adds r5, 0x1
- cmp r5, r7
- blt _08083980
-_080839A2:
- mov r0, r8
- cmp r0, r7
- blt _08083972
-_080839A8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808395C
-
- thumb_func_start sub_80839B4
-sub_80839B4: @ 80839B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r5, 0
- ldr r2, =gUnknown_020322A4
- ldr r0, [r2]
- adds r0, 0x7C
- adds r1, r2, 0
- add r3, sp, 0x4
- mov r10, r3
- b _080839E4
- .pool
-_080839D4:
- mov r4, sp
- adds r0, r4, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r2]
- adds r0, 0x7C
-_080839E4:
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080839D4
- movs r5, 0
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x7C
- ldrb r2, [r1]
- cmp r5, r2
- bcs _08083A5E
- mov r9, r10
- movs r3, 0x92
- lsls r3, 1
- adds r3, r0
- mov r8, r3
- mov r12, r1
- movs r4, 0x93
- lsls r4, 1
- adds r7, r0, r4
- movs r1, 0x94
- lsls r1, 1
- adds r6, r0, r1
-_08083A10:
- lsls r4, r5, 2
- add r4, r9
- lsls r3, r5, 1
- adds r3, r5
- lsls r3, 1
- mov r2, r8
- adds r0, r2, r3
- ldrh r2, [r0]
- lsls r0, r2, 5
- subs r0, r2
- lsls r1, r0, 6
- subs r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r1, 6
- str r1, [r4]
- adds r0, r7, r3
- ldrh r2, [r0]
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- str r1, [r4]
- movs r0, 0xFA
- lsls r0, 2
- adds r1, r0
- adds r3, r6, r3
- ldrh r0, [r3]
- subs r1, r0
- str r1, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r12
- ldrb r1, [r1]
- cmp r5, r1
- bcc _08083A10
-_08083A5E:
- ldr r4, =gUnknown_020322A4
- ldr r0, [r4]
- adds r0, 0x7C
- ldrb r1, [r0]
- mov r0, sp
- mov r2, r10
- bl sub_808395C
- movs r5, 0
- ldr r0, [r4]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08083A9E
- adds r2, r4, 0
- movs r3, 0x9E
- lsls r3, 1
-_08083A80:
- ldr r1, [r2]
- adds r1, r3
- adds r1, r5
- mov r4, sp
- adds r0, r4, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r2]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r5, r0
- bcc _08083A80
-_08083A9E:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08083AB4
- movs r3, 0
- b _08083ABC
- .pool
-_08083AB4:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r3, r0, 24
-_08083ABC:
- movs r5, 0
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08083AF2
- movs r6, 0x9E
- lsls r6, 1
- movs r4, 0xD2
- lsls r4, 1
-_08083AD2:
- ldr r2, [r1]
- adds r0, r2, r6
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, r3
- bne _08083AE2
- adds r0, r2, r4
- strb r5, [r0]
-_08083AE2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r1]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r5, r0
- bcc _08083AD2
-_08083AF2:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80839B4
-
- thumb_func_start sub_8083B08
-sub_8083B08: @ 8083B08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r1, =gUnknown_020322A4
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bls _08083B22
- b _08083E12
-_08083B22:
- lsls r0, 2
- ldr r1, =_08083B34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08083B34:
- .4byte _08083B50
- .4byte _08083B66
- .4byte _08083B80
- .4byte _08083B9A
- .4byte _08083DC8
- .4byte _08083DE2
- .4byte _08083E08
-_08083B50:
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- movs r1, 0xFF
- str r1, [r0]
- b _08083E12
-_08083B66:
- ldr r1, [r2]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- ldr r0, [r2]
- subs r0, 0xA
- str r0, [r2]
- cmp r0, 0
- blt _08083B7A
- b _08083E12
-_08083B7A:
- movs r0, 0
- str r0, [r2]
- b _08083DF8
-_08083B80:
- ldr r1, [r2]
- movs r0, 0x84
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- cmp r0, 0x14
- bgt _08083B94
- b _08083E12
-_08083B94:
- movs r0, 0
- str r0, [r2]
- b _08083DF8
-_08083B9A:
- movs r0, 0x5
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r4, =sText_Ranking
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xA8
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xFF
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x5
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_80840D4
- ldr r1, =gUnknown_08339B40
- mov r8, r1
- mov r0, r8
- movs r1, 0x80
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r7, =gUnknown_020322A4
- ldr r1, [r7]
- adds r1, 0x46
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x46
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r0, r6
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r0, [r7]
- adds r0, 0x46
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r4, =SpriteCallbackDummy
- str r4, [r0]
- mov r0, r8
- movs r1, 0xA0
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x47
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x47
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r4, [r0]
- mov r0, r8
- movs r1, 0xC0
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x48
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x48
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r7]
- adds r0, 0x48
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r4, [r0]
- bl sub_80839B4
- movs r2, 0x29
- str r2, [sp, 0x8]
- movs r2, 0
- ldr r0, [r7]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08083C7C
- b _08083D8A
-_08083C7C:
- movs r3, 0xFF
- mov r10, r3
- movs r0, 0x3
- mov r9, r0
-_08083C84:
- ldr r0, [r7]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r0, r3
- adds r1, r2
- ldrb r5, [r1]
- adds r0, 0x9F
- adds r2, 0x1
- mov r8, r2
- mov r1, r8
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r1, =sText_Dot
- bl StringAppend
- ldr r0, [r7]
- adds r0, 0x9F
- ldr r1, =gText_Space
- bl StringAppend
- ldr r0, [r7]
- adds r0, 0x9F
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringAppend
- ldr r1, [r7]
- adds r1, 0x9F
- ldr r0, [sp, 0x8]
- lsls r6, r0, 24
- lsrs r6, 24
- mov r2, r10
- str r2, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0
- adds r3, r6, 0
- bl sub_80840D4
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x9F
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 1
- movs r2, 0x92
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- ldrh r1, [r1]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, [r7]
- adds r1, 0x9F
- mov r3, r10
- str r3, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x4E
- adds r3, r6, 0
- bl sub_80840D4
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x9F
- movs r2, 0x93
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- ldrh r1, [r1]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, [r7]
- adds r1, 0x9F
- mov r3, r10
- str r3, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x6E
- adds r3, r6, 0
- bl sub_80840D4
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x9F
- movs r2, 0x94
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- ldrh r1, [r1]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, [r7]
- adds r1, 0x9F
- mov r3, r10
- str r3, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0x5
- movs r2, 0x8E
- adds r3, r6, 0
- bl sub_80840D4
- ldr r1, [sp, 0x8]
- adds r1, 0x10
- str r1, [sp, 0x8]
- mov r2, r8
- lsls r2, 16
- lsrs r2, 16
- ldr r0, [r7]
- adds r0, 0x7C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _08083D8A
- b _08083C84
-_08083D8A:
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x5
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
- movs r3, 0x84
- lsls r3, 1
- adds r2, r1, r3
- movs r0, 0
- str r0, [r2]
- b _08083DF8
- .pool
-_08083DC8:
- ldr r2, [r2]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- ble _08083E12
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _08083E12
-_08083DE2:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08083E12
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_020322A4
- ldr r1, [r0]
-_08083DF8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08083E12
- .pool
-_08083E08:
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08083E14
-_08083E12:
- movs r0, 0
-_08083E14:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8083B08
-
- thumb_func_start ShowBerryBlenderRecordWindow
-ShowBerryBlenderRecordWindow: @ 8083E24
- push {r4-r7,lr}
- sub sp, 0x34
- ldr r0, =gUnknown_08339D14
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- ldr r5, =gUnknown_0203AB74
- add r0, sp, 0x2C
- bl AddWindow
- strb r0, [r5]
- ldrb r0, [r5]
- movs r1, 0
- bl sub_81973FC
- ldrb r0, [r5]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, =gText_BlenderMaxSpeedRecord
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0x90
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldrb r0, [r5]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r2, r6, 0
- bl PrintTextOnWindow
- ldrb r0, [r5]
- ldr r2, =gText_234Players
- movs r1, 0x29
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x4
- bl PrintTextOnWindow
- movs r6, 0
- movs r7, 0xA4
- lsls r7, 22
-_08083E8A:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r6, 1
- ldr r2, =0x000009bc
- adds r0, r2
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r1, r0, 0
- add r0, sp, 0xC
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- ldr r1, =sText_Dot
- bl StringAppend
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- ldr r1, =sText_RPM
- bl StringAppend
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x8C
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- ldr r4, =gUnknown_0203AB74
- ldrb r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- lsrs r1, r7, 24
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl PrintTextOnWindow
- movs r0, 0x80
- lsls r0, 21
- adds r7, r0
- adds r6, 0x1
- cmp r6, 0x2
- ble _08083E8A
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowBerryBlenderRecordWindow
-
- thumb_func_start sub_8083F3C
-sub_8083F3C: @ 8083F3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08083F62
- ldr r0, =0x0000016f
- bl PlayFanfare
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08083F62:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08083F82
- ldr r0, =gUnknown_020322A4
- ldr r0, [r0]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl PlayBGM
- adds r0, r5, 0
- bl DestroyTask
-_08083F82:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8083F3C
-
- thumb_func_start sub_8083F94
-sub_8083F94: @ 8083F94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- bl sub_8136EA4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8136EDC
- adds r1, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 1
- lsls r1, 24
- lsrs r1, 24
- bl __divsi3
- lsls r0, 16
- lsrs r3, r0, 16
- strb r3, [r7, 0xD]
- ldrb r0, [r6]
- strb r0, [r7, 0xC]
- movs r0, 0xFF
- strb r0, [r7]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080840C4
- ldr r0, =gUnknown_020322A4
- ldr r2, [r0]
- movs r4, 0xD2
- lsls r4, 1
- adds r1, r2, r4
- ldrb r1, [r1]
- mov r8, r0
- cmp r1, 0
- bne _08084058
- cmp r3, 0x14
- bls _08084058
- adds r0, r2, 0
- adds r0, 0x7C
- ldrb r1, [r0]
- subs r1, 0x1
- movs r0, 0x9E
- lsls r0, 1
- mov r9, r0
- adds r0, r2, r0
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r5, =gLinkPlayers + 8
- adds r1, r5
- adds r0, r7, 0
- bl StringCopy
- adds r0, r6, 0
- bl sub_81370B4
- strb r0, [r7, 0xB]
- ldrb r1, [r7, 0xB]
- ldrb r2, [r7, 0xC]
- ldrb r3, [r7, 0xD]
- mov r6, r8
- ldr r4, [r6]
- adds r0, r4, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x1
- add r4, r9
- adds r4, r0
- ldrb r4, [r4]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r5, r0
- ldrb r0, [r5, 0x12]
- str r0, [sp]
- adds r0, r7, 0
- bl Put3CheersForPokeblocksOnTheAir
- lsls r0, 24
- cmp r0, 0
- bne _080840BA
- b _080840C4
- .pool
-_08084058:
- mov r0, r8
- ldr r2, [r0]
- movs r1, 0xD2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080840C4
- cmp r3, 0x14
- bhi _080840C4
- movs r4, 0x9E
- lsls r4, 1
- adds r0, r2, r4
- ldrb r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r5, =gLinkPlayers + 8
- adds r1, r5
- adds r0, r7, 0
- bl StringCopy
- adds r0, r6, 0
- bl sub_81370B4
- strb r0, [r7, 0xB]
- ldrb r1, [r7, 0xB]
- ldrb r2, [r7, 0xC]
- ldrb r3, [r7, 0xD]
- mov r6, r8
- ldr r0, [r6]
- adds r0, r4
- ldrb r4, [r0]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r5, r0
- ldrb r0, [r5, 0x12]
- str r0, [sp]
- adds r0, r7, 0
- bl Put3CheersForPokeblocksOnTheAir
- lsls r0, 24
- cmp r0, 0
- beq _080840C4
-_080840BA:
- movs r0, 0x1
- b _080840C6
- .pool
-_080840C4:
- movs r0, 0
-_080840C6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8083F94
-
- thumb_func_start sub_80840D4
-sub_80840D4: @ 80840D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- mov r9, r1
- ldr r4, [sp, 0x38]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r5, 0
- cmp r4, 0x1
- beq _08084116
- cmp r4, 0x1
- bgt _08084100
- cmp r4, 0
- beq _08084108
- b _08084132
-_08084100:
- cmp r4, 0x2
- beq _08084124
- cmp r4, 0x3
- bne _08084136
-_08084108:
- add r1, sp, 0x14
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _08084130
-_08084116:
- add r0, sp, 0x14
- strb r5, [r0]
- adds r1, r0, 0
- movs r0, 0x2
- strb r0, [r1, 0x1]
- movs r0, 0x3
- b _08084130
-_08084124:
- add r0, sp, 0x14
- strb r5, [r0]
- adds r1, r0, 0
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x5
-_08084130:
- strb r0, [r1, 0x2]
-_08084132:
- cmp r4, 0x3
- beq _08084148
-_08084136:
- add r0, sp, 0x14
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl FillWindowPixelBuffer
-_08084148:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x34]
- lsls r0, 24
- asrs r0, 24
- str r0, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0x1
- mov r2, r8
- adds r3, r7, 0
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80840D4
-
- thumb_func_start sub_808417C
-sub_808417C: @ 808417C
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- movs r0, 0
- ldrsh r4, [r5, r0]
- cmp r4, 0
- beq _08084194
- cmp r4, 0x1
- beq _080841C6
- b _080841DA
-_08084194:
- movs r0, 0x4
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xF
- bl sub_8197B1C
- str r6, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x4
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_80840D4
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x4
- movs r1, 0x3
- bl CopyWindowToVram
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080841DA
-_080841C6:
- movs r0, 0x4
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080841DA
- strh r0, [r5]
- movs r0, 0x1
- b _080841DC
-_080841DA:
- movs r0, 0
-_080841DC:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808417C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
deleted file mode 100644
index 422f5f3d6..000000000
--- a/asm/berry_tag_screen.s
+++ /dev/null
@@ -1,1538 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8177C14
-sub_8177C14: @ 8177C14
- push {r4,lr}
- ldr r4, =gUnknown_0203BCF4
- ldr r0, =0x0000180c
- bl AllocZeroed
- str r0, [r4]
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemIdToBerryType
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xC0
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- ldr r0, =sub_8177C84
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8177C14
-
- thumb_func_start sub_8177C54
-sub_8177C54: @ 8177C54
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8177C54
-
- thumb_func_start sub_8177C70
-sub_8177C70: @ 8177C70
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8177C70
-
- thumb_func_start sub_8177C84
-sub_8177C84: @ 8177C84
- push {lr}
-_08177C86:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08177CAA
- bl sub_8177CB0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08177CAA
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08177C86
-_08177CAA:
- pop {r0}
- bx r0
- thumb_func_end sub_8177C84
-
- thumb_func_start sub_8177CB0
-sub_8177CB0: @ 8177CB0
- push {lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xF
- bls _08177CC4
- b _08177DF4
-_08177CC4:
- lsls r0, 2
- ldr r1, =_08177CD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08177CD8:
- .4byte _08177D18
- .4byte _08177D26
- .4byte _08177D2C
- .4byte _08177D40
- .4byte _08177D46
- .4byte _08177D4C
- .4byte _08177D5C
- .4byte _08177D78
- .4byte _08177D84
- .4byte _08177D8A
- .4byte _08177D90
- .4byte _08177D96
- .4byte _08177D9C
- .4byte _08177DA6
- .4byte _08177DB4
- .4byte _08177DC2
-_08177D18:
- bl SetVBlankHBlankCallbacksToNull
- bl sub_8121DA0
- bl clear_scheduled_bg_copies_to_vram
- b _08177DDC
-_08177D26:
- bl remove_some_task
- b _08177DDC
-_08177D2C:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- b _08177DDA
- .pool
-_08177D40:
- bl ResetSpriteData
- b _08177DDC
-_08177D46:
- bl FreeAllSpritePalettes
- b _08177DDC
-_08177D4C:
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _08177DDC
- bl ResetTasks
- b _08177DDC
-_08177D5C:
- bl sub_8177E14
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- ldr r1, =0x00001808
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _08177DDC
- .pool
-_08177D78:
- bl sub_8177E88
- lsls r0, 24
- cmp r0, 0
- beq _08177E0C
- b _08177DDC
-_08177D84:
- bl sub_8178008
- b _08177DDC
-_08177D8A:
- bl sub_8178090
- b _08177DDC
-_08177D90:
- bl sub_81780F4
- b _08177DDC
-_08177D96:
- bl sub_8178338
- b _08177DDC
-_08177D9C:
- bl sub_817839C
- bl sub_8178404
- b _08177DDC
-_08177DA6:
- ldr r0, =sub_8178654
- movs r1, 0
- bl CreateTask
- b _08177DDC
- .pool
-_08177DB4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _08177DDC
-_08177DC2:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
-_08177DDA:
- strb r0, [r2, 0x8]
-_08177DDC:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08177E0C
- .pool
-_08177DF4:
- ldr r0, =sub_8177C70
- bl SetVBlankCallback
- ldr r0, =sub_8177C54
- bl SetMainCallback2
- movs r0, 0x1
- b _08177E0E
- .pool
-_08177E0C:
- movs r0, 0
-_08177E0E:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8177CB0
-
- thumb_func_start sub_8177E14
-sub_8177E14: @ 8177E14
- push {r4,lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085EFCF0
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203BCF4
- ldr r1, [r4]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8177E14
-
- thumb_func_start sub_8177E88
-sub_8177E88: @ 8177E88
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0203BCF4
- ldr r0, [r1]
- ldr r2, =0x00001808
- adds r0, r2
- ldrh r0, [r0]
- adds r7, r1, 0
- cmp r0, 0x5
- bls _08177E9E
- b _08177FEC
-_08177E9E:
- lsls r0, 2
- ldr r1, =_08177EB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08177EB4:
- .4byte _08177ECC
- .4byte _08177EF8
- .4byte _08177F1C
- .4byte _08177F3C
- .4byte _08177FA8
- .4byte _08177FC8
-_08177ECC:
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D9BB44
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gUnknown_0203BCF4
- ldr r1, [r0]
- ldr r0, =0x00001808
- adds r1, r0
- b _08177FD6
- .pool
-_08177EF8:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08177F06
- b _08177FFC
-_08177F06:
- ldr r0, =gUnknown_08D9BF98
- ldr r4, =gUnknown_0203BCF4
- ldr r1, [r4]
- bl LZDecompressWram
- ldr r1, [r4]
- b _08177FD2
- .pool
-_08177F1C:
- ldr r0, =gUnknown_08D9C13C
- ldr r1, [r7]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- bl LZDecompressWram
- ldr r1, [r7]
- ldr r0, =0x00001808
- adds r1, r0
- b _08177FD6
- .pool
-_08177F3C:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08177F78
- movs r2, 0
- ldr r6, =gUnknown_0203BCF4
- movs r5, 0x80
- lsls r5, 4
- ldr r4, =0x00004042
- ldr r3, =0x000003ff
-_08177F52:
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08177F52
- b _08177F98
- .pool
-_08177F78:
- movs r2, 0
- ldr r6, =gUnknown_0203BCF4
- movs r5, 0x80
- lsls r5, 4
- ldr r4, =0x00005042
- ldr r3, =0x000003ff
-_08177F84:
- ldr r0, [r6]
- lsls r1, r2, 1
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08177F84
-_08177F98:
- ldr r1, [r7]
- b _08177FD2
- .pool
-_08177FA8:
- ldr r0, =gUnknown_08D9BEF0
- movs r1, 0
- movs r2, 0xC0
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0203BCF4
- ldr r1, [r0]
- ldr r0, =0x00001808
- adds r1, r0
- b _08177FD6
- .pool
-_08177FC8:
- ldr r0, =gUnknown_0857FDEC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0203BCF4
- ldr r1, [r0]
-_08177FD2:
- ldr r2, =0x00001808
- adds r1, r2
-_08177FD6:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08177FFC
- .pool
-_08177FEC:
- ldr r0, =gUnknown_0857FDF4
- bl LoadCompressedObjectPalette
- movs r0, 0x1
- b _08177FFE
- .pool
-_08177FFC:
- movs r0, 0
-_08177FFE:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8177E88
-
- thumb_func_start sub_8178008
-sub_8178008: @ 8178008
- push {r4,lr}
- ldr r0, =gUnknown_085EFD28
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r0, =gUnknown_085EFD00
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_08178020:
- lsls r0, r4, 24
- lsrs r0, 24
- bl PutWindowTilemap
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08178020
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178008
-
- thumb_func_start sub_817804C
-sub_817804C: @ 817804C
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r6, [sp, 0x24]
- ldr r5, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- lsls r4, r5, 1
- adds r4, r5
- ldr r5, =gUnknown_085EFD20
- adds r4, r5
- str r4, [sp, 0x8]
- lsls r6, 24
- asrs r6, 24
- str r6, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x1
- bl AddTextPrinterParametrized2
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817804C
-
- thumb_func_start sub_8178090
-sub_8178090: @ 8178090
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl GetBgTilemapBuffer
- ldr r1, =gUnknown_0203BCF4
- ldr r1, [r1]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r2, 0x80
- lsls r2, 4
- bl memcpy
- movs r0, 0x3
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r4, =gText_BerryTag
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x3
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_817804C
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178090
-
- thumb_func_start sub_81780F4
-sub_81780F4: @ 81780F4
- push {lr}
- bl sub_8178110
- bl sub_8178174
- bl itemid_copy_name
- bl sub_81782D0
- bl sub_8178304
- pop {r0}
- bx r0
- thumb_func_end sub_81780F4
-
- thumb_func_start sub_8178110
-sub_8178110: @ 8178110
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, =gUnknown_0203BCF4
- ldr r0, [r5]
- movs r4, 0xC0
- lsls r4, 5
- adds r0, r4
- ldrb r0, [r0]
- bl GetBerryInfo
- adds r6, r0, 0
- ldr r0, =gStringVar1
- ldr r1, [r5]
- adds r1, r4
- ldrh r1, [r1]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- adds r1, r6, 0
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_UnkF908Var1Var2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_817804C
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178110
-
- thumb_func_start sub_8178174
-sub_8178174: @ 8178174
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- bl GetBerryInfo
- adds r4, r0, 0
- ldr r2, =gText_SizeSlash
- movs r7, 0x1
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldrh r0, [r4, 0x8]
- cmp r0, 0
- beq _08178230
- adds r1, r0, 0
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- movs r1, 0xFE
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _081781C8
- adds r5, 0xA
-_081781C8:
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- movs r1, 0xA
- bl __udivsi3
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- adds r5, r0, 0
- ldr r0, =gStringVar1
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, =gStringVar2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1DotVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- str r7, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x28
- bl PrintTextOnWindow
- b _08178242
- .pool
-_08178230:
- ldr r2, =gText_ThreeMarks
- str r7, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x28
- bl PrintTextOnWindow
-_08178242:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178174
-
- thumb_func_start itemid_copy_name
-itemid_copy_name: @ 8178250
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- bl GetBerryInfo
- adds r6, r0, 0
- ldr r2, =gText_FirmSlash
- movs r5, 0x11
- str r5, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _081782B0
- ldr r0, =gBerryFirmnessStringPointers
- ldrb r1, [r6, 0x7]
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r2, [r1]
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x28
- bl PrintTextOnWindow
- b _081782C2
- .pool
-_081782B0:
- ldr r2, =gText_ThreeMarks
- str r5, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x28
- bl PrintTextOnWindow
-_081782C2:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end itemid_copy_name
-
- thumb_func_start sub_81782D0
-sub_81782D0: @ 81782D0
- push {lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- bl GetBerryInfo
- ldr r2, [r0, 0xC]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81782D0
-
- thumb_func_start sub_8178304
-sub_8178304: @ 8178304
- push {lr}
- sub sp, 0xC
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- bl GetBerryInfo
- ldr r2, [r0, 0x10]
- movs r0, 0x11
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178304
-
- thumb_func_start sub_8178338
-sub_8178338: @ 8178338
- push {r4,lr}
- ldr r4, =gUnknown_0203BCF4
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x38
- movs r2, 0x40
- bl sub_80D50D4
- ldr r1, [r4]
- ldr r2, =0x00001802
- adds r1, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178338
-
- thumb_func_start sub_817836C
-sub_817836C: @ 817836C
- push {lr}
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- ldr r1, =0x00001802
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- bl sub_80D510C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817836C
-
- thumb_func_start sub_817839C
-sub_817839C: @ 817839C
- push {r4,lr}
- movs r0, 0x40
- bl sub_80D518C
- ldr r4, =gUnknown_0203BCF4
- ldr r1, [r4]
- ldr r2, =0x00001803
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x68
- bl sub_80D518C
- ldr r1, [r4]
- ldr r2, =0x00001804
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x90
- bl sub_80D518C
- ldr r1, [r4]
- ldr r2, =0x00001805
- adds r1, r2
- strb r0, [r1]
- movs r0, 0xB8
- bl sub_80D518C
- ldr r1, [r4]
- ldr r2, =0x00001806
- adds r1, r2
- strb r0, [r1]
- movs r0, 0xE0
- bl sub_80D518C
- ldr r1, [r4]
- ldr r2, =0x00001807
- adds r1, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817839C
-
- thumb_func_start sub_8178404
-sub_8178404: @ 8178404
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCF4
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldrb r0, [r0]
- bl GetBerryInfo
- adds r5, r0, 0
- ldrb r0, [r5, 0x15]
- cmp r0, 0
- beq _08178448
- ldr r3, =gSprites
- ldr r0, [r4]
- ldr r1, =0x00001803
- adds r0, r1
- ldrb r1, [r0]
- 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
- b _08178462
- .pool
-_08178448:
- ldr r3, =gSprites
- ldr r0, [r4]
- ldr r1, =0x00001803
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_08178462:
- strb r1, [r0]
- adds r4, r3, 0
- ldrb r0, [r5, 0x16]
- cmp r0, 0
- beq _0817849C
- ldr r3, =gUnknown_0203BCF4
- ldr r0, [r3]
- ldr r1, =0x00001804
- adds r0, r1
- ldrb r1, [r0]
- 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
- b _081784B6
- .pool
-_0817849C:
- ldr r3, =gUnknown_0203BCF4
- ldr r0, [r3]
- ldr r1, =0x00001804
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_081784B6:
- strb r1, [r0]
- ldrb r0, [r5, 0x17]
- cmp r0, 0
- beq _081784E8
- ldr r0, [r3]
- ldr r1, =0x00001805
- adds r0, r1
- ldrb r1, [r0]
- 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
- b _08178500
- .pool
-_081784E8:
- ldr r0, [r3]
- ldr r1, =0x00001805
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_08178500:
- strb r1, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0
- beq _0817852C
- ldr r0, [r3]
- ldr r1, =0x00001806
- adds r0, r1
- ldrb r1, [r0]
- 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
- b _08178544
- .pool
-_0817852C:
- ldr r0, [r3]
- ldr r1, =0x00001806
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_08178544:
- strb r1, [r0]
- ldrb r0, [r5, 0x19]
- cmp r0, 0
- beq _08178570
- ldr r0, [r3]
- ldr r1, =0x00001807
- adds r0, r1
- ldrb r1, [r0]
- 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
- b _08178588
- .pool
-_08178570:
- ldr r0, [r3]
- ldr r1, =0x00001807
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_08178588:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178404
-
- thumb_func_start sub_8178594
-sub_8178594: @ 8178594
- push {r4,lr}
- movs r4, 0
-_08178598:
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- ldr r1, =0x00001803
- adds r0, r1
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08178598
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178594
-
- thumb_func_start sub_81785D0
-sub_81785D0: @ 81785D0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8178610
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81785D0
-
- thumb_func_start sub_8178610
-sub_8178610: @ 8178610
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08178642
- bl sub_817836C
- bl sub_8178594
- ldr r0, =gUnknown_0203BCF4
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =bag_menu_mail_related
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08178642:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178610
-
- thumb_func_start sub_8178654
-sub_8178654: @ 8178654
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r4, r2, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081786A6
- ldr r3, =gMain
- ldrh r0, [r3, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _08178688
- movs r1, 0x1
- negs r1, r1
- adds r0, r2, 0
- bl sub_81786AC
- b _081786A6
- .pool
-_08178688:
- cmp r1, 0x80
- bne _08178696
- adds r0, r2, 0
- movs r1, 0x1
- bl sub_81786AC
- b _081786A6
-_08178696:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081786A6
- adds r0, r4, 0
- bl sub_81785D0
-_081786A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8178654
-
- thumb_func_start sub_81786AC
-sub_81786AC: @ 81786AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r2, =gTasks + 0x8
- adds r4, r0, r2
- ldr r2, =gUnknown_0203CE58
- ldrh r0, [r2, 0xE]
- ldrh r2, [r2, 0x18]
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- lsrs r7, r1, 24
- asrs r6, r1, 24
- adds r0, r6
- cmp r0, 0x2D
- bhi _08178718
- lsls r1, r0, 16
- lsrs r1, 16
- movs r0, 0x4
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- cmp r0, 0
- beq _08178718
- cmp r6, 0
- bge _081786F4
- movs r0, 0x2
- b _081786F6
- .pool
-_081786F4:
- movs r0, 0x1
-_081786F6:
- strh r0, [r4, 0x2]
- movs r0, 0
- strh r0, [r4]
- movs r0, 0x5
- bl PlaySE
- lsls r0, r7, 24
- asrs r0, 24
- bl sub_8178728
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81787AC
- str r1, [r0]
-_08178718:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81786AC
-
- thumb_func_start sub_8178728
-sub_8178728: @ 8178728
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203CE70
- adds r6, r5, 0
- subs r6, 0xA
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- ble _08178764
- ldrh r0, [r6]
- cmp r0, 0x3
- bls _08178752
- ldrh r1, [r5]
- adds r1, 0x8
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- cmp r0, 0
- bne _08178760
-_08178752:
- ldrh r0, [r6]
- adds r0, r4
- strh r0, [r6]
- b _0817877A
- .pool
-_08178760:
- ldrh r0, [r5]
- b _08178776
-_08178764:
- ldrh r1, [r6]
- cmp r1, 0x3
- bhi _08178770
- ldrh r0, [r5]
- cmp r0, 0
- bne _08178776
-_08178770:
- adds r0, r1, r4
- strh r0, [r6]
- b _0817877A
-_08178776:
- adds r0, r4
- strh r0, [r5]
-_0817877A:
- ldrh r1, [r6]
- ldrh r5, [r5]
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x4
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- bl ItemIdToBerryType
- ldr r1, =gUnknown_0203BCF4
- ldr r1, [r1]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xC0
- lsls r2, 5
- adds r1, r2
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178728
-
- thumb_func_start sub_81787AC
-sub_81787AC: @ 81787AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldrh r0, [r6]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _08178828
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0x70
- beq _08178888
- cmp r0, 0x70
- bgt _081787FE
- cmp r0, 0x40
- beq _0817881A
- cmp r0, 0x40
- bgt _081787F4
- cmp r0, 0x30
- beq _08178898
- b _081788A6
- .pool
-_081787F4:
- cmp r0, 0x50
- beq _0817888E
- cmp r0, 0x60
- beq _08178820
- b _081788A6
-_081787FE:
- cmp r0, 0xA0
- beq _08178824
- cmp r0, 0xA0
- bgt _08178810
- cmp r0, 0x80
- beq _08178882
- cmp r0, 0x90
- beq _08178878
- b _081788A6
-_08178810:
- cmp r0, 0xB0
- beq _08178872
- cmp r0, 0xC0
- beq _0817886C
- b _081788A6
-_0817881A:
- bl sub_8178110
- b _081788A6
-_08178820:
- movs r0, 0x1
- b _0817889A
-_08178824:
- movs r0, 0x2
- b _0817889A
-_08178828:
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x70
- beq _0817887E
- cmp r0, 0x70
- bgt _0817884C
- cmp r0, 0x40
- beq _0817886C
- cmp r0, 0x40
- bgt _08178842
- cmp r0, 0x30
- beq _08178868
- b _081788A6
-_08178842:
- cmp r0, 0x50
- beq _08178872
- cmp r0, 0x60
- beq _08178878
- b _081788A6
-_0817884C:
- cmp r0, 0xA0
- beq _0817888E
- cmp r0, 0xA0
- bgt _0817885E
- cmp r0, 0x80
- beq _08178882
- cmp r0, 0x90
- beq _08178888
- b _081788A6
-_0817885E:
- cmp r0, 0xB0
- beq _08178898
- cmp r0, 0xC0
- beq _081788A2
- b _081788A6
-_08178868:
- movs r0, 0x2
- b _0817889A
-_0817886C:
- bl sub_8178304
- b _081788A6
-_08178872:
- bl sub_81782D0
- b _081788A6
-_08178878:
- bl sub_8178404
- b _081788A6
-_0817887E:
- movs r0, 0x1
- b _0817889A
-_08178882:
- bl itemid_copy_name
- b _081788A6
-_08178888:
- bl sub_8178174
- b _081788A6
-_0817888E:
- bl sub_817836C
- bl sub_8178338
- b _081788A6
-_08178898:
- movs r0, 0
-_0817889A:
- movs r1, 0
- bl FillWindowPixelBuffer
- b _081788A6
-_081788A2:
- bl sub_8178110
-_081788A6:
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, 0x1
- bne _081788B8
- ldrh r0, [r6]
- negs r0, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _081788BA
-_081788B8:
- ldrh r5, [r6]
-_081788BA:
- ldr r2, =gSprites
- ldr r3, =gUnknown_0203BCF4
- ldr r0, [r3]
- ldr r1, =0x00001802
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x26]
- movs r4, 0
- adds r7, r2, 0
- ldr r2, =0x00001803
-_081788D6:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r5, [r0, 0x26]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _081788D6
- movs r4, 0x80
- lsls r4, 5
- ldrb r2, [r6, 0x2]
- movs r0, 0x1
- adds r1, r4, 0
- bl ChangeBgY
- ldrb r2, [r6, 0x2]
- movs r0, 0x2
- adds r1, r4, 0
- bl ChangeBgY
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _08178922
- ldr r0, =gTasks
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8178654
- str r0, [r1]
-_08178922:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81787AC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/bike.s b/asm/bike.s
deleted file mode 100644
index b5d40a312..000000000
--- a/asm/bike.s
+++ /dev/null
@@ -1,2199 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start MovePlayerOnBike
-@ void MovePlayerOnBike(int dpad_direction, int buttons_new, int buttons_held)
-MovePlayerOnBike: @ 8119164
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811918C
- adds r0, r3, 0
- adds r1, r4, 0
- bl MovePlayerOnMachBike
- b _08119194
- .pool
-_0811918C:
- adds r0, r3, 0
- adds r1, r4, 0
- bl MovePlayerOnAcroBike
-_08119194:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end MovePlayerOnBike
-
- thumb_func_start MovePlayerOnMachBike
-MovePlayerOnMachBike: @ 811919C
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- strb r0, [r1]
- ldr r4, =gUnknown_0859744C
- mov r0, sp
- bl CheckMovementInputMachBike
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- mov r1, sp
- ldrb r1, [r1]
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MovePlayerOnMachBike
-
- thumb_func_start CheckMovementInputMachBike
-CheckMovementInputMachBike: @ 81191CC
- push {r4,lr}
- adds r4, r0, 0
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldrb r1, [r4]
- cmp r1, 0
- bne _081191F4
- strb r0, [r4]
- ldr r2, =gPlayerAvatar
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _08119208
- strb r1, [r2, 0x2]
- movs r0, 0
- b _0811921C
- .pool
-_081191F4:
- ldr r2, =gPlayerAvatar
- cmp r1, r3
- beq _08119218
- ldrb r0, [r2, 0x2]
- cmp r0, 0x2
- beq _08119218
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _08119214
- strb r3, [r4]
-_08119208:
- movs r0, 0x2
- strb r0, [r2, 0x2]
- movs r0, 0x3
- b _0811921C
- .pool
-_08119214:
- movs r0, 0x1
- b _0811921A
-_08119218:
- movs r0, 0x2
-_0811921A:
- strb r0, [r2, 0x2]
-_0811921C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputMachBike
-
- thumb_func_start sub_8119224
-sub_8119224: @ 8119224
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl PlayerFaceDirection
- bl sub_811A128
- pop {r0}
- bx r0
- thumb_func_end sub_8119224
-
- thumb_func_start sub_8119238
-sub_8119238: @ 8119238
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r1, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- beq _08119270
- adds r0, r5, 0
- bl PlayerTurnInPlace
- bl sub_811A128
- b _0811927A
- .pool
-_08119270:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_8119224
-_0811927A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8119238
-
- thumb_func_start sub_8119280
-sub_8119280: @ 8119280
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r1, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _081192C6
- ldrb r0, [r6, 0xB]
- cmp r0, 0
- beq _081192BC
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_8119344
- b _0811933A
- .pool
-_081192BC:
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_8119224
- b _0811933A
-_081192C6:
- adds r0, r5, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0xA
- bhi _08119316
- cmp r4, 0x6
- bne _081192E8
- adds r0, r5, 0
- bl PlayerJumpLedge
- b _0811933A
-_081192E8:
- bl sub_811A128
- cmp r4, 0x4
- bne _08119304
- adds r0, r5, 0
- bl IsPlayerCollidingWithFarawayIslandMew
- lsls r0, 24
- cmp r0, 0
- beq _08119304
- adds r0, r5, 0
- bl PlayerOnBikeCollideWithFarawayIslandMew
- b _0811933A
-_08119304:
- subs r0, r4, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0811933A
- adds r0, r7, 0
- bl PlayerOnBikeCollide
- b _0811933A
-_08119316:
- ldr r1, =gUnknown_0859745C
- ldrb r0, [r6, 0xA]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl _call_via_r1
- ldrb r2, [r6, 0xA]
- lsls r0, r2, 24
- lsrs r1, r0, 24
- lsrs r0, 25
- adds r0, r2, r0
- strb r0, [r6, 0xB]
- cmp r1, 0x1
- bhi _0811933A
- adds r0, r2, 0x1
- strb r0, [r6, 0xA]
-_0811933A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119280
-
- thumb_func_start sub_8119344
-sub_8119344: @ 8119344
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0xB]
- cmp r0, 0
- beq _0811935A
- subs r0, 0x1
- strb r0, [r6, 0xB]
- strb r0, [r6, 0xA]
-_0811935A:
- adds r0, r5, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0xA
- bhi _081193AE
- cmp r4, 0x6
- bne _08119380
- adds r0, r5, 0
- bl PlayerJumpLedge
- b _081193BE
- .pool
-_08119380:
- bl sub_811A128
- cmp r4, 0x4
- bne _0811939C
- adds r0, r5, 0
- bl IsPlayerCollidingWithFarawayIslandMew
- lsls r0, 24
- cmp r0, 0
- beq _0811939C
- adds r0, r5, 0
- bl PlayerOnBikeCollideWithFarawayIslandMew
- b _081193BE
-_0811939C:
- subs r0, r4, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _081193BE
- adds r0, r7, 0
- bl PlayerOnBikeCollide
- b _081193BE
-_081193AE:
- ldr r0, =gUnknown_0859745C
- ldrb r1, [r6, 0xA]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r7, 0
- bl _call_via_r1
-_081193BE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119344
-
- thumb_func_start MovePlayerOnAcroBike
-@ void MovePlayerOnAcroBike(int dpad_direction, int buttons_new, int buttons_held)
-MovePlayerOnAcroBike: @ 81193C8
- push {r4,lr}
- sub sp, 0x4
- mov r3, sp
- strb r0, [r3]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, =gUnknown_08597468
- mov r0, sp
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- mov r1, sp
- ldrb r1, [r1]
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MovePlayerOnAcroBike
-
- thumb_func_start CheckMovementInputAcroBike
-CheckMovementInputAcroBike: @ 8119400
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, =gUnknown_0859749C
- ldr r3, =gPlayerAvatar
- ldrb r3, [r3, 0x8]
- lsls r3, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMovementInputAcroBike
-
- thumb_func_start CheckMovementInputAcroBikeNormal
-CheckMovementInputAcroBikeNormal: @ 811942C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gPlayerAvatar
- movs r0, 0
- strb r0, [r2, 0xA]
- ldrb r1, [r4]
- cmp r1, 0
- bne _0811946C
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _08119464
- strb r3, [r4]
- strb r1, [r2, 0x2]
- movs r0, 0x2
- strb r0, [r2, 0x8]
- movs r0, 0x3
- b _081194C0
- .pool
-_08119464:
- strb r3, [r4]
- strb r1, [r2, 0x2]
- movs r0, 0
- b _081194C0
-_0811946C:
- cmp r1, r3
- bne _08119492
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0811948A
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _0811948A
- adds r0, 0x1
- strb r0, [r2, 0xB]
- movs r0, 0x4
- strb r0, [r2, 0x8]
- movs r0, 0xB
- b _081194C0
-_0811948A:
- ldrb r0, [r4]
- ldr r2, =gPlayerAvatar
- cmp r0, r3
- beq _081194BC
-_08119492:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x2]
- adds r2, r0, 0
- cmp r1, 0x2
- beq _081194BC
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- ldrb r0, [r4]
- strb r0, [r2, 0x9]
- strb r1, [r2, 0x2]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _081194C0
- .pool
-_081194BC:
- movs r0, 0x2
- strb r0, [r2, 0x2]
-_081194C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeNormal
-
- thumb_func_start CheckMovementInputAcroBikeChangingDirection
-CheckMovementInputAcroBikeChangingDirection: @ 81194C8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, =gPlayerAvatar
- ldrb r0, [r4, 0x9]
- strb r0, [r5]
- ldrb r0, [r4, 0xA]
- adds r0, 0x1
- strb r0, [r4, 0xA]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bls _081194F4
- movs r0, 0x1
- strb r0, [r4, 0x2]
- movs r0, 0
- strb r0, [r4, 0x8]
- bl sub_811A128
- movs r0, 0x1
- b _0811953A
- .pool
-_081194F4:
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_8119D30
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08119536
- bl sub_811A128
- movs r0, 0x1
- strb r0, [r4, 0xB]
- adds r0, r6, 0
- bl GetOppositeDirection
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0811952A
- movs r0, 0x6
- strb r0, [r4, 0x8]
- movs r0, 0x9
- b _0811953A
-_0811952A:
- movs r0, 0x2
- strb r0, [r4, 0x2]
- movs r0, 0x5
- strb r0, [r4, 0x8]
- movs r0, 0x8
- b _0811953A
-_08119536:
- strb r6, [r5]
- movs r0, 0
-_0811953A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeChangingDirection
-
- thumb_func_start CheckMovementInputAcroBikeStandingWheelie
-CheckMovementInputAcroBikeStandingWheelie: @ 8119540
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r1, r0, r1
- movs r0, 0
- strb r0, [r5, 0x2]
- movs r0, 0x2
- ands r4, r0
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0
- bne _08119594
- strb r4, [r5, 0xA]
- ldrb r0, [r1, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0811959A
- strb r6, [r7]
- strb r0, [r5, 0x8]
- bl sub_811A128
- movs r0, 0x4
- b _081195D8
- .pool
-_08119594:
- ldrb r0, [r5, 0xA]
- adds r0, 0x1
- strb r0, [r5, 0xA]
-_0811959A:
- ldr r1, =gPlayerAvatar
- ldrb r0, [r1, 0xA]
- cmp r0, 0x27
- bls _081195B4
- strb r6, [r7]
- movs r0, 0x3
- strb r0, [r1, 0x8]
- bl sub_811A128
- movs r0, 0x6
- b _081195D8
- .pool
-_081195B4:
- ldrb r0, [r7]
- cmp r0, r6
- bne _081195CA
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- bl sub_811A128
- movs r0, 0xA
- b _081195D8
-_081195CA:
- cmp r0, 0
- beq _081195D4
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _081195D6
-_081195D4:
- strb r6, [r7]
-_081195D6:
- movs r0, 0x5
-_081195D8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeStandingWheelie
-
- thumb_func_start CheckMovementInputAcroBikeBunnyHop
-CheckMovementInputAcroBikeBunnyHop: @ 81195E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- ldr r4, =gPlayerAvatar
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r7, r0, r1
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _08119652
- bl sub_811A128
- ldrb r0, [r7, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08119648
- movs r0, 0x2
- strb r0, [r4, 0x8]
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _08119676
- .pool
-_08119648:
- strb r5, [r6]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x8]
- movs r0, 0x4
- b _08119676
-_08119652:
- ldrb r0, [r6]
- cmp r0, 0
- bne _0811965C
- strb r5, [r6]
- b _08119668
-_0811965C:
- cmp r0, r2
- beq _0811966E
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _0811966E
- movs r0, 0x1
-_08119668:
- strb r0, [r4, 0x2]
- movs r0, 0x6
- b _08119676
-_0811966E:
- ldr r1, =gPlayerAvatar
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0x7
-_08119676:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMovementInputAcroBikeBunnyHop
-
- thumb_func_start CheckMovementInputAcroBikeMovingWheelie
-CheckMovementInputAcroBikeMovingWheelie: @ 8119688
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- ldr r4, =gPlayerAvatar
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r7, r0, r1
- movs r0, 0x2
- mov r9, r0
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _08119720
- bl sub_811A128
- ldrb r0, [r7, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0811970C
- strb r1, [r4, 0x8]
- ldrb r0, [r6]
- cmp r0, 0
- bne _081196EC
- strb r5, [r6]
- b _081196F6
- .pool
-_081196EC:
- cmp r0, r5
- beq _081196FC
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _081196FC
-_081196F6:
- strb r1, [r4, 0x2]
- movs r0, 0x4
- b _08119750
-_081196FC:
- ldr r1, =gPlayerAvatar
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xC
- b _08119750
- .pool
-_0811970C:
- mov r0, r9
- strb r0, [r4, 0x8]
- adds r0, r6, 0
- mov r1, r10
- mov r2, r8
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _08119750
-_08119720:
- ldrb r0, [r6]
- cmp r0, 0
- bne _08119736
- strb r5, [r6]
- mov r1, r9
- strb r1, [r4, 0x8]
- strb r0, [r4, 0x2]
- bl sub_811A128
- movs r0, 0x5
- b _08119750
-_08119736:
- cmp r2, r0
- beq _08119748
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _08119748
- movs r0, 0
- strb r0, [r4, 0x2]
- movs r0, 0x5
- b _08119750
-_08119748:
- ldr r1, =gPlayerAvatar
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xA
-_08119750:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMovementInputAcroBikeMovingWheelie
-
- thumb_func_start CheckMovementInputAcroBikeUnknownMode5
-CheckMovementInputAcroBikeUnknownMode5: @ 8119764
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x1]
- ldrb r1, [r0, 0x18]
- lsls r1, 28
- lsrs r1, 28
- bl FieldObjectSetDirection
- movs r0, 0
- strb r0, [r6, 0x8]
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMovementInputAcroBikeUnknownMode5
-
- thumb_func_start CheckMovementInputAcroBikeUnknownMode6
-CheckMovementInputAcroBikeUnknownMode6: @ 81197C0
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, =gPlayerAvatar
- movs r3, 0
- strb r3, [r4, 0x8]
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckMovementInputAcroBikeUnknownMode6
-
- thumb_func_start sub_81197E4
-sub_81197E4: @ 81197E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl PlayerFaceDirection
- pop {r0}
- bx r0
- thumb_func_end sub_81197E4
-
- thumb_func_start sub_81197F4
-sub_81197F4: @ 81197F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _0811981A
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_0811981A:
- adds r0, r4, 0
- bl PlayerFaceDirection
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81197F4
-
- thumb_func_start sub_8119830
-sub_8119830: @ 8119830
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r1, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _08119868
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_81197E4
- b _081198BA
- .pool
-_08119868:
- adds r0, r5, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0xA
- bhi _081198B4
- cmp r4, 0x6
- bne _0811988A
- adds r0, r5, 0
- bl PlayerJumpLedge
- b _081198BA
-_0811988A:
- cmp r4, 0x4
- bne _081198A2
- adds r0, r5, 0
- bl IsPlayerCollidingWithFarawayIslandMew
- lsls r0, 24
- cmp r0, 0
- beq _081198A2
- adds r0, r5, 0
- bl PlayerOnBikeCollideWithFarawayIslandMew
- b _081198BA
-_081198A2:
- subs r0, r4, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _081198BA
- adds r0, r6, 0
- bl PlayerOnBikeCollide
- b _081198BA
-_081198B4:
- adds r0, r6, 0
- bl PlayerGoSpeed2
-_081198BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8119830
-
- thumb_func_start sub_81198C0
-sub_81198C0: @ 81198C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _081198E6
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_081198E6:
- adds r0, r4, 0
- bl sub_808B8C0
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81198C0
-
- thumb_func_start sub_81198FC
-sub_81198FC: @ 81198FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _08119922
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_08119922:
- adds r0, r4, 0
- bl sub_808B8D8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81198FC
-
- thumb_func_start sub_8119938
-sub_8119938: @ 8119938
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _0811995E
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_0811995E:
- adds r0, r4, 0
- bl sub_808B8A8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119938
-
- thumb_func_start sub_8119974
-sub_8119974: @ 8119974
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _0811999A
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_0811999A:
- adds r0, r4, 0
- bl sub_808B8F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119974
-
- thumb_func_start sub_81199B0
-sub_81199B0: @ 81199B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _081199E4
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_8119974
- b _08119A1E
- .pool
-_081199E4:
- adds r0, r4, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08119A18
- cmp r1, 0x9
- beq _08119A18
- cmp r1, 0x6
- bne _08119A02
- adds r0, r4, 0
- bl sub_808B938
- b _08119A1E
-_08119A02:
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08119A1E
- cmp r1, 0xB
- bhi _08119A18
- adds r0, r4, 0
- bl sub_8119974
- b _08119A1E
-_08119A18:
- adds r0, r4, 0
- bl sub_808B914
-_08119A1E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81199B0
-
- thumb_func_start sub_8119A24
-sub_8119A24: @ 8119A24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _08119A58
- cmp r0, 0x7
- beq _08119A84
- cmp r0, 0x9
- bls _08119A50
- adds r0, r1, 0
- adds r1, r5, 0
- bl sub_8119FC4
- lsls r0, 24
- cmp r0, 0
- bne _08119A58
-_08119A50:
- adds r0, r5, 0
- bl sub_81197F4
- b _08119A84
-_08119A58:
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x22
- bl PlaySE
- ldrb r0, [r4, 0x1]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8093514
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
-_08119A84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119A24
-
- thumb_func_start sub_8119A94
-sub_8119A94: @ 8119A94
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_808B95C
- pop {r0}
- bx r0
- thumb_func_end sub_8119A94
-
- thumb_func_start sub_8119AA4
-sub_8119AA4: @ 8119AA4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r7, =gPlayerAvatar
- ldrb r1, [r7, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _08119ADC
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_808B8A8
- b _08119B2C
- .pool
-_08119ADC:
- adds r0, r4, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _08119B22
- cmp r1, 0x6
- bne _08119AFE
- adds r0, r4, 0
- bl sub_808B938
- b _08119B2C
-_08119AFE:
- cmp r1, 0x9
- beq _08119B12
- cmp r1, 0x4
- bhi _08119B2C
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _08119B1A
-_08119B12:
- adds r0, r4, 0
- bl sub_808B8A8
- b _08119B2C
-_08119B1A:
- adds r0, r4, 0
- bl sub_808B980
- b _08119B2C
-_08119B22:
- adds r0, r6, 0
- bl sub_808B9BC
- movs r0, 0x2
- strb r0, [r7, 0x2]
-_08119B2C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8119AA4
-
- thumb_func_start sub_8119B34
-sub_8119B34: @ 8119B34
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r7, =gPlayerAvatar
- ldrb r1, [r7, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _08119B6C
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_808B8C0
- b _08119BBC
- .pool
-_08119B6C:
- adds r0, r4, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _08119BB2
- cmp r1, 0x6
- bne _08119B8E
- adds r0, r4, 0
- bl sub_808B938
- b _08119BBC
-_08119B8E:
- cmp r1, 0x9
- beq _08119BA2
- cmp r1, 0x4
- bhi _08119BBC
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _08119BAA
-_08119BA2:
- adds r0, r4, 0
- bl sub_808B8A8
- b _08119BBC
-_08119BAA:
- adds r0, r4, 0
- bl sub_808B980
- b _08119BBC
-_08119BB2:
- adds r0, r6, 0
- bl sub_808B9A4
- movs r0, 0x2
- strb r0, [r7, 0x2]
-_08119BBC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8119B34
-
- thumb_func_start sub_8119BC4
-sub_8119BC4: @ 8119BC4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_8119F74
- lsls r0, 24
- cmp r0, 0
- bne _08119BFC
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_808B8D8
- b _08119C36
- .pool
-_08119BFC:
- adds r0, r4, 0
- bl sub_8119E38
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _08119C30
- cmp r1, 0x6
- bne _08119C1E
- adds r0, r4, 0
- bl PlayerJumpLedge
- b _08119C36
-_08119C1E:
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08119C36
- adds r0, r4, 0
- bl sub_808B8D8
- b _08119C36
-_08119C30:
- adds r0, r6, 0
- bl npc_use_some_d2s
-_08119C36:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8119BC4
-
- thumb_func_start sub_8119C3C
-@ void sub_8119C3C(int buttons_new, int buttons_held)
-sub_8119C3C: @ 8119C3C
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r2, r1, 16
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08119C5A
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8119C64
-_08119C5A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119C3C
-
- thumb_func_start sub_8119C64
-@ void sub_8119C64(int buttons_new, int buttons_held)
-sub_8119C64: @ 8119C64
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r5, 0
- bl sub_8119DF8
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, =gPlayerAvatar
- ldr r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r2, r0
- bne _08119C90
- ldrb r0, [r4, 0x14]
- cmp r0, 0xFE
- bhi _08119C9A
- adds r0, 0x1
- strb r0, [r4, 0x14]
- b _08119C9A
- .pool
-_08119C90:
- adds r0, r2, 0
- bl sub_8119D80
- movs r0, 0
- strb r0, [r4, 0xB]
-_08119C9A:
- movs r0, 0xF
- adds r2, r5, 0
- ands r2, r0
- ldr r4, =gPlayerAvatar
- ldr r0, [r4, 0x10]
- movs r1, 0xF
- ands r0, r1
- cmp r2, r0
- bne _08119CBC
- ldrb r0, [r4, 0x1C]
- cmp r0, 0xFE
- bhi _08119CC6
- adds r0, 0x1
- strb r0, [r4, 0x1C]
- b _08119CC6
- .pool
-_08119CBC:
- adds r0, r2, 0
- bl sub_8119DBC
- movs r0, 0
- strb r0, [r4, 0xB]
-_08119CC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8119C64
-
- thumb_func_start sub_8119CCC
-sub_8119CCC: @ 8119CCC
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r2, 0
- ldrb r0, [r3]
- cmp r0, 0
- beq _08119CF6
- ldr r5, =gUnknown_020375A4
-_08119CDC:
- adds r0, r2, r5
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bhi _08119D0C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08119CDC
-_08119CF6:
- movs r2, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _08119D26
- ldr r3, =gUnknown_020375AC
-_08119D00:
- adds r0, r2, r3
- adds r1, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08119D18
-_08119D0C:
- movs r0, 0
- b _08119D28
- .pool
-_08119D18:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08119D00
-_08119D26:
- movs r0, 0x1
-_08119D28:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8119CCC
-
- thumb_func_start sub_8119D30
-sub_8119D30: @ 8119D30
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_08119D36:
- ldr r0, =gUnknown_085974C0
- adds r4, r5, r0
- ldr r0, =gPlayerAvatar
- ldr r1, [r0, 0xC]
- ldr r2, [r0, 0x10]
- ldr r0, [r4, 0x8]
- ands r1, r0
- ldr r0, [r4, 0xC]
- ands r2, r0
- ldr r0, [r4]
- cmp r1, r0
- bne _08119D70
- ldr r0, [r4, 0x4]
- cmp r2, r0
- bne _08119D70
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x14]
- bl sub_8119CCC
- lsls r0, 24
- cmp r0, 0
- beq _08119D70
- ldrb r0, [r4, 0x18]
- b _08119D7A
- .pool
-_08119D70:
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- bls _08119D36
- movs r0, 0
-_08119D7A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8119D30
-
- thumb_func_start sub_8119D80
-sub_8119D80: @ 8119D80
- push {r4,lr}
- lsls r0, 24
- ldr r3, =gPlayerAvatar
- ldr r2, [r3, 0xC]
- lsls r2, 4
- movs r1, 0xF0
- lsls r1, 20
- ands r1, r0
- lsrs r1, 24
- orrs r2, r1
- str r2, [r3, 0xC]
- movs r1, 0x7
- adds r4, r3, 0
- adds r3, 0x14
-_08119D9C:
- adds r2, r1, r3
- subs r1, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _08119D9C
- movs r0, 0x1
- strb r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119D80
-
- thumb_func_start sub_8119DBC
-sub_8119DBC: @ 8119DBC
- push {r4,lr}
- lsls r0, 24
- ldr r3, =gPlayerAvatar
- ldr r2, [r3, 0x10]
- lsls r2, 4
- movs r1, 0xF0
- lsls r1, 20
- ands r1, r0
- lsrs r1, 24
- orrs r2, r1
- str r2, [r3, 0x10]
- movs r1, 0x7
- adds r4, r3, 0
- adds r3, 0x1C
-_08119DD8:
- adds r2, r1, r3
- subs r1, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _08119DD8
- movs r0, 0x1
- strb r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119DBC
-
- thumb_func_start sub_8119DF8
-sub_8119DF8: @ 8119DF8
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08119E0C
- movs r0, 0x2
- b _08119E32
-_08119E0C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08119E18
- movs r0, 0x1
- b _08119E32
-_08119E18:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08119E24
- movs r0, 0x3
- b _08119E32
-_08119E24:
- movs r0, 0x10
- ands r2, r0
- cmp r2, 0
- bne _08119E30
- movs r0, 0
- b _08119E32
-_08119E30:
- movs r0, 0x4
-_08119E32:
- pop {r1}
- bx r1
- thumb_func_end sub_8119DF8
-
- thumb_func_start sub_8119E38
-sub_8119E38: @ 8119E38
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrh r1, [r4, 0x10]
- add r0, sp, 0x4
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x6
- strh r0, [r5]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- bl MoveCoords
- add r0, sp, 0x4
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- add r1, sp, 0x4
- movs r3, 0
- ldrsh r1, [r1, r3]
- movs r3, 0
- ldrsh r2, [r5, r3]
- str r0, [sp]
- adds r0, r4, 0
- adds r3, r6, 0
- bl sub_8119EA4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8119E38
-
- thumb_func_start sub_8119EA4
-sub_8119EA4: @ 8119EA4
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- adds r5, r4, 0
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- str r5, [sp]
- bl CheckForFieldObjectCollision
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bhi _08119EE4
- cmp r4, 0
- bne _08119EE0
- adds r0, r5, 0
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- beq _08119EDC
- movs r4, 0x2
-_08119EDC:
- cmp r4, 0
- beq _08119EE4
-_08119EE0:
- bl sub_8119F50
-_08119EE4:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8119EA4
-
- thumb_func_start sub_8119EF0
-sub_8119EF0: @ 8119EF0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- bne _08119F08
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x8
- bne _08119F10
-_08119F08:
- movs r0, 0x1
- b _08119F12
- .pool
-_08119F10:
- movs r0, 0
-_08119F12:
- pop {r1}
- bx r1
- thumb_func_end sub_8119EF0
-
- thumb_func_start IsRunningDisallowedByMetatile
-@ bool8 IsRunningDisallowedByMetatile(u8 metatileBehavior)
-IsRunningDisallowedByMetatile: @ 8119F18
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsRunningDisallowed
- lsls r0, 24
- cmp r0, 0
- bne _08119F42
- adds r0, r4, 0
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- cmp r0, 0
- beq _08119F46
- bl PlayerGetZCoord
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _08119F46
-_08119F42:
- movs r0, 0x1
- b _08119F48
-_08119F46:
- movs r0, 0
-_08119F48:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsRunningDisallowedByMetatile
-
- thumb_func_start sub_8119F50
-sub_8119F50: @ 8119F50
- push {lr}
- ldr r0, =gUnknown_0203AB54
- ldrb r0, [r0]
- cmp r0, 0
- beq _08119F66
- ldr r1, =gUnknown_0203AB55
- ldrb r0, [r1]
- cmp r0, 0x63
- bhi _08119F66
- adds r0, 0x1
- strb r0, [r1]
-_08119F66:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8119F50
-
- thumb_func_start sub_8119F74
-sub_8119F74: @ 8119F74
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- movs r1, 0xFD
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08119F9E
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedVerticalRail
- lsls r0, 24
- cmp r0, 0
- bne _08119FB6
- adds r0, r4, 0
- bl MetatileBehavior_IsVerticalRail
- b _08119FB0
-_08119F9E:
- adds r0, r5, 0
- bl MetatileBehavior_IsIsolatedHorizontalRail
- lsls r0, 24
- cmp r0, 0
- bne _08119FB6
- adds r0, r5, 0
- bl MetatileBehavior_IsHorizontalRail
-_08119FB0:
- lsls r0, 24
- cmp r0, 0
- beq _08119FBA
-_08119FB6:
- movs r0, 0
- b _08119FBC
-_08119FBA:
- movs r0, 0x1
-_08119FBC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8119F74
-
- thumb_func_start sub_8119FC4
-sub_8119FC4: @ 8119FC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- movs r3, 0xFF
- lsls r3, 24
- adds r1, r3
- lsrs r1, 24
- cmp r1, 0x1
- bhi _08119FE4
- cmp r0, 0xA
- beq _08119FEC
- cmp r0, 0xC
- bne _08119FF0
- b _08119FEC
-_08119FE4:
- cmp r2, 0xB
- beq _08119FEC
- cmp r2, 0xD
- bne _08119FF0
-_08119FEC:
- movs r0, 0
- b _08119FF2
-_08119FF0:
- movs r0, 0x1
-_08119FF2:
- pop {r1}
- bx r1
- thumb_func_end sub_8119FC4
-
- thumb_func_start sub_8119FF8
-sub_8119FF8: @ 8119FF8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- bne _0811A038
- 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 r0, 24
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- bne _0811A038
- movs r0, 0
- b _0811A03A
- .pool
-_0811A038:
- movs r0, 0x1
-_0811A03A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8119FF8
-
- thumb_func_start player_should_look_direction_be_enforced_upon_movement
-player_should_look_direction_be_enforced_upon_movement: @ 811A044
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _0811A078
- ldr r2, =gMapObjects
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _0811A078
- movs r0, 0
- b _0811A07A
- .pool
-_0811A078:
- movs r0, 0x1
-_0811A07A:
- pop {r1}
- bx r1
- thumb_func_end player_should_look_direction_be_enforced_upon_movement
-
- thumb_func_start GetOnOffBike
-@ void GetOnOffBike(u8 transitionFlags)
-GetOnOffBike: @ 811A080
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gUnknown_02037348
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _0811A0B0
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- bl sav1_reset_battle_music_maybe
- bl sub_8085784
- b _0811A0C4
- .pool
-_0811A0B0:
- adds r0, r2, 0
- bl SetPlayerAvatarTransitionFlags
- ldr r4, =0x00000193
- adds r0, r4, 0
- bl Overworld_SetSavedMusic
- adds r0, r4, 0
- bl Overworld_ChangeMusicTo
-_0811A0C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GetOnOffBike
-
- thumb_func_start sub_811A0D0
-sub_811A0D0: @ 811A0D0
- push {lr}
- ldr r2, =gPlayerAvatar
- movs r3, 0
- strb r3, [r2, 0x8]
- strb r3, [r2, 0x9]
- strb r3, [r2, 0xA]
- strb r3, [r2, 0xB]
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
- movs r1, 0
- adds r2, 0x14
-_0811A0E6:
- adds r0, r1, r2
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _0811A0E6
- movs r1, 0
- ldr r3, =gUnknown_020375AC
- movs r2, 0
-_0811A0FA:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _0811A0FA
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811A0D0
-
- thumb_func_start sub_811A114
-sub_811A114: @ 811A114
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gPlayerAvatar
- strb r0, [r2, 0xA]
- lsrs r1, r0, 1
- adds r0, r1
- strb r0, [r2, 0xB]
- bx lr
- .pool
- thumb_func_end sub_811A114
-
- thumb_func_start sub_811A128
-sub_811A128: @ 811A128
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0xA]
- strb r0, [r1, 0xB]
- bx lr
- .pool
- thumb_func_end sub_811A128
-
- thumb_func_start sub_811A138
-sub_811A138: @ 811A138
- push {lr}
- sub sp, 0x8
- ldr r1, =gUnknown_085974B8
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811A168
- ldrb r0, [r2, 0xA]
- lsls r0, 1
- add r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- b _0811A182
- .pool
-_0811A168:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811A174
- movs r0, 0x3
- b _0811A182
-_0811A174:
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _0811A180
- movs r0, 0x1
- b _0811A182
-_0811A180:
- movs r0, 0x2
-_0811A182:
- add sp, 0x8
- pop {r1}
- bx r1
- thumb_func_end sub_811A138
-
- thumb_func_start sub_811A188
-sub_811A188: @ 811A188
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, =gPlayerAvatar
- ldrb r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811A1D0
- 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 r0, 24
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _0811A1D0
- movs r0, 0x2
- strb r0, [r5, 0x8]
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- bl sub_808C1B4
-_0811A1D0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811A188
-
- thumb_func_start IsRunningDisallowed
-@ bool8 IsRunningDisallowed(u8 metatileBehavior)
-IsRunningDisallowed: @ 811A1DC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0811A1FC
- adds r0, r2, 0
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0811A204
-_0811A1FC:
- movs r0, 0x1
- b _0811A206
- .pool
-_0811A204:
- movs r0, 0
-_0811A206:
- pop {r1}
- bx r1
- thumb_func_end IsRunningDisallowed
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/blit.s b/asm/blit.s
deleted file mode 100644
index 5df45e77e..000000000
--- a/asm/blit.s
+++ /dev/null
@@ -1,823 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start BlitBitmapRect4BitWithoutColorKey
-@ void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height)
-BlitBitmapRect4BitWithoutColorKey: @ 8002BDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r7, 16
- lsrs r7, 16
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r4, 0xFF
- str r4, [sp, 0x10]
- bl BlitBitmapRect4Bit
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end BlitBitmapRect4BitWithoutColorKey
-
- thumb_func_start BlitBitmapRect4Bit
-@ void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey)
-BlitBitmapRect4Bit: @ 8002C20
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r4, [sp, 0x54]
- ldr r5, [sp, 0x58]
- ldr r6, [sp, 0x5C]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x8]
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x10]
- ldr r0, [sp, 0x4]
- ldrh r3, [r0, 0x4]
- ldr r1, [sp, 0xC]
- subs r0, r3, r1
- adds r2, r4
- mov r8, r2
- cmp r0, r4
- bge _08002C74
- ldr r2, [sp, 0x8]
- adds r0, r2
- mov r8, r0
-_08002C74:
- ldr r4, [sp, 0x4]
- ldrh r0, [r4, 0x6]
- mov r1, r9
- subs r0, r1
- adds r2, r5, r7
- str r2, [sp, 0x14]
- cmp r0, r5
- bge _08002C88
- adds r0, r7
- str r0, [sp, 0x14]
-_08002C88:
- ldr r4, [sp]
- ldrh r1, [r4, 0x4]
- movs r2, 0x7
- adds r0, r1, 0
- ands r0, r2
- adds r1, r0
- asrs r1, 3
- str r1, [sp, 0x18]
- adds r0, r3, 0
- ands r0, r2
- adds r0, r3, r0
- asrs r0, 3
- str r0, [sp, 0x1C]
- ldr r0, [sp, 0x10]
- cmp r0, 0xFF
- bne _08002D46
- adds r3, r7, 0
- mov r1, r9
- ldr r2, [sp, 0x14]
- cmp r3, r2
- blt _08002CB4
- b _08002DEE
-_08002CB4:
- ldr r5, [sp, 0x8]
- ldr r6, [sp, 0xC]
- adds r4, r3, 0x1
- str r4, [sp, 0x24]
- adds r0, r1, 0x1
- str r0, [sp, 0x28]
- cmp r5, r8
- bge _08002D3A
- movs r7, 0x3
- asrs r0, r3, 3
- ldr r2, [sp, 0x18]
- muls r0, r2
- lsls r0, 5
- mov r10, r0
- lsls r0, r3, 29
- lsrs r0, 27
- mov r9, r0
- asrs r0, r1, 3
- ldr r4, [sp, 0x1C]
- muls r0, r4
- lsls r0, 5
- mov r12, r0
- lsls r0, r1, 29
- lsrs r3, r0, 27
-_08002CE4:
- asrs r0, r5, 1
- ands r0, r7
- ldr r2, [sp]
- ldr r1, [r2]
- adds r1, r0
- asrs r0, r5, 3
- lsls r0, 5
- adds r1, r0
- add r1, r10
- mov r4, r9
- adds r2, r1, r4
- asrs r0, r6, 1
- ands r0, r7
- ldr r4, [sp, 0x4]
- ldr r1, [r4]
- adds r1, r0
- asrs r0, r6, 3
- lsls r0, 5
- adds r1, r0
- add r1, r12
- adds r4, r1, r3
- ldrb r2, [r2]
- adds r0, r5, 0
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- asrs r2, r0
- movs r0, 0xF
- ands r2, r0
- adds r0, r6, 0
- ands r0, r1
- lsls r1, r0, 2
- lsls r2, r1
- movs r0, 0xF0
- asrs r0, r1
- ldrb r1, [r4]
- ands r0, r1
- orrs r2, r0
- strb r2, [r4]
- adds r5, 0x1
- adds r6, 0x1
- cmp r5, r8
- blt _08002CE4
-_08002D3A:
- ldr r3, [sp, 0x24]
- ldr r1, [sp, 0x28]
- ldr r2, [sp, 0x14]
- cmp r3, r2
- blt _08002CB4
- b _08002DEE
-_08002D46:
- adds r3, r7, 0
- mov r1, r9
- ldr r4, [sp, 0x14]
- cmp r3, r4
- bge _08002DEE
-_08002D50:
- ldr r5, [sp, 0x8]
- ldr r6, [sp, 0xC]
- adds r0, r3, 0x1
- str r0, [sp, 0x24]
- adds r2, r1, 0x1
- str r2, [sp, 0x28]
- cmp r5, r8
- bge _08002DE4
- movs r4, 0x3
- mov r9, r4
- asrs r0, r3, 3
- ldr r2, [sp, 0x18]
- muls r0, r2
- lsls r0, 5
- str r0, [sp, 0x20]
- lsls r0, r3, 29
- lsrs r0, 27
- mov r10, r0
- movs r3, 0x1
- asrs r0, r1, 3
- ldr r4, [sp, 0x1C]
- muls r0, r4
- lsls r0, 5
- mov r12, r0
- lsls r0, r1, 29
- lsrs r7, r0, 27
-_08002D84:
- asrs r0, r5, 1
- mov r1, r9
- ands r0, r1
- ldr r2, [sp]
- ldr r1, [r2]
- adds r1, r0
- asrs r0, r5, 3
- lsls r0, 5
- adds r1, r0
- ldr r4, [sp, 0x20]
- adds r1, r4
- mov r0, r10
- adds r2, r1, r0
- asrs r0, r6, 1
- mov r1, r9
- ands r0, r1
- ldr r4, [sp, 0x4]
- ldr r1, [r4]
- adds r1, r0
- asrs r0, r6, 3
- lsls r0, 5
- adds r1, r0
- add r1, r12
- adds r4, r1, r7
- ldrb r2, [r2]
- adds r0, r5, 0
- ands r0, r3
- lsls r0, 2
- asrs r2, r0
- movs r0, 0xF
- ands r2, r0
- ldr r0, [sp, 0x10]
- cmp r2, r0
- beq _08002DDC
- adds r0, r6, 0
- ands r0, r3
- lsls r1, r0, 2
- lsls r2, r1
- movs r0, 0xF0
- asrs r0, r1
- ldrb r1, [r4]
- ands r0, r1
- orrs r2, r0
- strb r2, [r4]
-_08002DDC:
- adds r5, 0x1
- adds r6, 0x1
- cmp r5, r8
- blt _08002D84
-_08002DE4:
- ldr r3, [sp, 0x24]
- ldr r1, [sp, 0x28]
- ldr r2, [sp, 0x14]
- cmp r3, r2
- blt _08002D50
-_08002DEE:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end BlitBitmapRect4Bit
-
- thumb_func_start FillBitmapRect4Bit
-@ void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
-FillBitmapRect4Bit: @ 8002E00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- ldr r0, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 16
- lsrs r2, 16
- adds r6, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r5, r4, 24
- adds r4, r1, r3
- mov r3, r9
- ldrh r1, [r3, 0x4]
- cmp r4, r1
- ble _08002E36
- adds r4, r1, 0
-_08002E36:
- adds r2, r0
- mov r12, r2
- mov r2, r9
- ldrh r0, [r2, 0x6]
- cmp r12, r0
- ble _08002E44
- mov r12, r0
-_08002E44:
- movs r0, 0x7
- ands r0, r1
- adds r0, r1, r0
- asrs r0, 3
- str r0, [sp, 0x4]
- lsls r0, r5, 28
- lsrs r0, 24
- mov r8, r0
- movs r3, 0xF
- mov r10, r3
- mov r0, r10
- ands r0, r5
- mov r10, r0
- adds r1, r6, 0
- cmp r1, r12
- bge _08002EB6
-_08002E64:
- ldr r3, [sp]
- adds r7, r1, 0x1
- cmp r3, r4
- bge _08002EB0
- asrs r0, r1, 3
- ldr r2, [sp, 0x4]
- muls r0, r2
- lsls r6, r0, 5
- lsls r0, r1, 29
- lsrs r5, r0, 27
-_08002E78:
- asrs r2, r3, 1
- movs r0, 0x3
- ands r2, r0
- mov r0, r9
- ldr r1, [r0]
- adds r1, r2
- asrs r0, r3, 3
- lsls r0, 5
- adds r1, r0
- adds r1, r6
- adds r2, r1, r5
- lsls r0, r3, 31
- cmp r0, 0
- beq _08002E9E
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- mov r1, r8
- b _08002EA6
-_08002E9E:
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- mov r1, r10
-_08002EA6:
- orrs r0, r1
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, r4
- blt _08002E78
-_08002EB0:
- adds r1, r7, 0
- cmp r1, r12
- blt _08002E64
-_08002EB6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FillBitmapRect4Bit
-
- thumb_func_start BlitBitmapRect4BitTo8Bit
-@ void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey, u8 paletteOffset)
-BlitBitmapRect4BitTo8Bit: @ 8002EC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- ldr r5, [sp, 0x64]
- ldr r4, [sp, 0x68]
- ldr r6, [sp, 0x6C]
- ldr r7, [sp, 0x70]
- mov r8, r7
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x8]
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x10]
- mov r0, r8
- lsls r0, 28
- lsrs r0, 24
- str r0, [sp, 0x14]
- lsls r0, r6, 28
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1, 0x4]
- ldr r2, [sp, 0xC]
- subs r0, r2
- ldr r1, [sp, 0x8]
- adds r1, r5, r1
- str r1, [sp, 0x18]
- cmp r0, r5
- bge _08002F2E
- ldr r2, [sp, 0x8]
- adds r0, r2
- str r0, [sp, 0x18]
-_08002F2E:
- ldr r5, [sp, 0x4]
- ldrh r1, [r5, 0x6]
- subs r0, r1, r7
- cmp r0, r4
- bge _08002F40
- adds r0, r3, r1
- subs r0, r7
- str r0, [sp, 0x1C]
- b _08002F44
-_08002F40:
- adds r4, r3, r4
- str r4, [sp, 0x1C]
-_08002F44:
- ldr r0, [sp]
- ldrh r1, [r0, 0x4]
- movs r2, 0x7
- adds r0, r1, 0
- ands r0, r2
- adds r1, r0
- asrs r1, 3
- str r1, [sp, 0x20]
- ldr r5, [sp, 0x4]
- ldrh r1, [r5, 0x4]
- adds r0, r1, 0
- ands r0, r2
- adds r1, r0
- asrs r1, 3
- str r1, [sp, 0x24]
- ldr r0, [sp, 0x10]
- cmp r0, 0xFF
- bne _08003024
- adds r2, r3, 0
- adds r5, r7, 0
- ldr r1, [sp, 0x1C]
- cmp r2, r1
- blt _08002F74
- b _08003106
-_08002F74:
- ldr r3, [sp, 0x8]
- lsrs r3, 1
- str r3, [sp, 0x2C]
- movs r0, 0x3
- ands r3, r0
- str r3, [sp, 0x2C]
- ldr r7, [sp, 0x8]
- lsrs r0, r7, 3
- lsls r0, 5
- str r0, [sp, 0x30]
-_08002F88:
- ldr r0, [sp]
- ldr r1, [r0]
- ldr r3, [sp, 0x2C]
- adds r1, r3
- ldr r7, [sp, 0x30]
- adds r1, r7
- asrs r0, r2, 3
- ldr r3, [sp, 0x20]
- muls r0, r3
- lsls r0, 5
- mov r8, r0
- add r1, r8
- lsls r0, r2, 29
- lsrs r7, r0, 27
- adds r6, r1, r7
- ldr r3, [sp, 0x8]
- ldr r4, [sp, 0xC]
- adds r2, 0x1
- mov r10, r2
- adds r0, r5, 0x1
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x18]
- cmp r3, r1
- bge _08003018
- asrs r0, r5, 3
- ldr r2, [sp, 0x24]
- muls r0, r2
- lsls r0, 6
- mov r12, r0
- lsls r0, r5, 29
- lsrs r0, 26
- mov r9, r0
-_08002FC8:
- movs r0, 0x7
- ands r0, r4
- ldr r5, [sp, 0x4]
- ldr r1, [r5]
- adds r1, r0
- asrs r0, r4, 3
- lsls r0, 6
- adds r1, r0
- add r1, r12
- mov r0, r9
- adds r5, r1, r0
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08002FEC
- ldrb r0, [r6]
- lsrs r0, 4
- b _08003008
-_08002FEC:
- asrs r2, r3, 1
- movs r0, 0x3
- ands r2, r0
- ldr r0, [sp]
- ldr r1, [r0]
- adds r1, r2
- asrs r0, r3, 3
- lsls r0, 5
- adds r1, r0
- add r1, r8
- adds r6, r1, r7
- ldrb r1, [r6]
- movs r0, 0xF
- ands r0, r1
-_08003008:
- ldr r1, [sp, 0x14]
- adds r0, r1, r0
- strb r0, [r5]
- adds r3, 0x1
- adds r4, 0x1
- ldr r2, [sp, 0x18]
- cmp r3, r2
- blt _08002FC8
-_08003018:
- mov r2, r10
- ldr r5, [sp, 0x38]
- ldr r3, [sp, 0x1C]
- cmp r2, r3
- blt _08002F88
- b _08003106
-_08003024:
- adds r2, r3, 0
- adds r5, r7, 0
- ldr r7, [sp, 0x1C]
- cmp r2, r7
- bge _08003106
- ldr r0, [sp, 0x8]
- lsrs r0, 1
- str r0, [sp, 0x34]
- movs r0, 0x3
- ldr r1, [sp, 0x34]
- ands r1, r0
- str r1, [sp, 0x34]
-_0800303C:
- ldr r3, [sp]
- ldr r1, [r3]
- ldr r7, [sp, 0x34]
- adds r1, r7
- ldr r3, [sp, 0x8]
- lsrs r0, r3, 3
- lsls r0, 5
- adds r1, r0
- asrs r0, r2, 3
- ldr r7, [sp, 0x20]
- muls r0, r7
- lsls r0, 5
- mov r8, r0
- add r1, r8
- lsls r0, r2, 29
- lsrs r7, r0, 27
- adds r6, r1, r7
- ldr r4, [sp, 0xC]
- adds r2, 0x1
- mov r10, r2
- adds r0, r5, 0x1
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x18]
- cmp r3, r1
- bge _080030FC
- asrs r0, r5, 3
- ldr r2, [sp, 0x24]
- muls r0, r2
- lsls r0, 6
- mov r9, r0
- lsls r0, r5, 29
- lsrs r0, 26
- mov r12, r0
-_0800307E:
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _080030B2
- ldrb r2, [r6]
- movs r0, 0xF0
- ands r0, r2
- ldr r5, [sp, 0x28]
- cmp r0, r5
- beq _080030F2
- adds r0, r4, 0
- movs r1, 0x7
- ands r0, r1
- ldr r5, [sp, 0x4]
- ldr r1, [r5]
- adds r1, r0
- asrs r0, r4, 3
- lsls r0, 6
- adds r1, r0
- add r1, r9
- mov r0, r12
- adds r5, r1, r0
- lsrs r0, r2, 4
- ldr r1, [sp, 0x14]
- adds r0, r1, r0
- b _080030F0
-_080030B2:
- asrs r2, r3, 1
- movs r0, 0x3
- ands r2, r0
- ldr r5, [sp]
- ldr r1, [r5]
- adds r1, r2
- asrs r0, r3, 3
- lsls r0, 5
- adds r1, r0
- add r1, r8
- adds r6, r1, r7
- ldrb r0, [r6]
- movs r2, 0xF
- ands r2, r0
- ldr r0, [sp, 0x10]
- cmp r2, r0
- beq _080030F2
- adds r0, r4, 0
- movs r1, 0x7
- ands r0, r1
- ldr r5, [sp, 0x4]
- ldr r1, [r5]
- adds r1, r0
- asrs r0, r4, 3
- lsls r0, 6
- adds r1, r0
- add r1, r9
- mov r0, r12
- adds r5, r1, r0
- ldr r1, [sp, 0x14]
- adds r0, r1, r2
-_080030F0:
- strb r0, [r5]
-_080030F2:
- adds r3, 0x1
- adds r4, 0x1
- ldr r2, [sp, 0x18]
- cmp r3, r2
- blt _0800307E
-_080030FC:
- mov r2, r10
- ldr r5, [sp, 0x38]
- ldr r3, [sp, 0x1C]
- cmp r2, r3
- blt _0800303C
-_08003106:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end BlitBitmapRect4BitTo8Bit
-
- thumb_func_start FillBitmapRect8Bit
-@ void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
-FillBitmapRect8Bit: @ 8003118
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- ldr r0, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- adds r6, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- adds r5, r1, r3
- mov r3, r8
- ldrh r1, [r3, 0x4]
- cmp r5, r1
- ble _08003150
- adds r5, r1, 0
-_08003150:
- adds r7, r2, r0
- mov r2, r8
- ldrh r0, [r2, 0x6]
- cmp r7, r0
- ble _0800315C
- adds r7, r0, 0
-_0800315C:
- movs r0, 0x7
- ands r0, r1
- adds r0, r1, r0
- asrs r0, 3
- str r0, [sp]
- adds r1, r6, 0
- cmp r1, r7
- bge _080031AC
-_0800316C:
- mov r3, r10
- adds r6, r1, 0x1
- str r6, [sp, 0x4]
- cmp r3, r5
- bge _080031A6
- movs r0, 0x7
- mov r12, r0
- asrs r0, r1, 3
- ldr r2, [sp]
- muls r0, r2
- lsls r4, r0, 6
- lsls r0, r1, 29
- lsrs r2, r0, 26
-_08003186:
- adds r0, r3, 0
- mov r6, r12
- ands r0, r6
- mov r6, r8
- ldr r1, [r6]
- adds r1, r0
- asrs r0, r3, 3
- lsls r0, 6
- adds r1, r0
- adds r1, r4
- adds r1, r2
- mov r0, r9
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, r5
- blt _08003186
-_080031A6:
- ldr r1, [sp, 0x4]
- cmp r1, r7
- blt _0800316C
-_080031AC:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end FillBitmapRect8Bit
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 092e9a75e..59245a1b2 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -88,7 +88,7 @@ _0814FD20:
bl SetVBlankCallback
movs r0, 0
bl sub_8150B6C
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r3, 0xC0
lsls r3, 19
movs r4, 0xC0
@@ -777,7 +777,7 @@ _08150340:
bl warp_in
ldr r0, =gFieldCallback
str r4, [r0]
- ldr r0, =c2_load_new_map
+ ldr r0, =CB2_LoadMap
bl SetMainCallback2
add sp, 0x8
pop {r3}
@@ -1956,7 +1956,7 @@ _08150D86:
str r2, [sp]
movs r2, 0xC8
movs r3, 0x49
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
@@ -2062,7 +2062,7 @@ _08150E68:
str r2, [sp]
movs r2, 0x80
movs r3, 0x27
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
@@ -2195,7 +2195,7 @@ _08150F3E:
ldrsh r3, [r3, r4]
movs r4, 0x6A
str r4, [sp]
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x40
diff --git a/asm/cable_car_util.s b/asm/cable_car_util.s
index 7f396b635..db434eaf9 100644
--- a/asm/cable_car_util.s
+++ b/asm/cable_car_util.s
@@ -252,7 +252,7 @@ _0815226C:
ldrb r2, [r2]
cmp r3, r2
bcs _08152292
- ldr r0, =gUnknown_030024F8
+ ldr r0, =gMain+0x238
mov r12, r0
ldr r4, =gDummyOamData
adds r2, r5, 0
@@ -350,7 +350,7 @@ _08152322:
cmp r0, 0
beq _08152348
lsls r0, r6, 3
- ldr r1, =gUnknown_030024F8
+ ldr r1, =gMain+0x238
adds r0, r1
ldr r1, =gDummyOamData
ldm r1!, {r2,r3}
@@ -412,7 +412,7 @@ _08152348:
orrs r0, r1
strh r0, [r2, 0x4]
lsls r1, r6, 3
- ldr r2, =gUnknown_030024F8
+ ldr r2, =gMain+0x238
ldr r0, [r4, 0x4]
adds r1, r2
adds r0, r5, r0
@@ -746,7 +746,7 @@ _081525FC:
orrs r0, r2
strb r0, [r1, 0x19]
lsls r1, r5, 3
- ldr r0, =gUnknown_030024F8
+ ldr r0, =gMain+0x238
adds r1, r0
ldr r0, =gDummyOamData
ldm r0!, {r2,r3}
diff --git a/asm/cable_club.s b/asm/cable_club.s
index 2ce8bb0b1..0297c2f80 100644
--- a/asm/cable_club.s
+++ b/asm/cable_club.s
@@ -143,7 +143,7 @@ sub_80B2478: @ 80B2478
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl sub_800A0C8
+ bl GetLinkPlayerDataExchangeStatusTimed
lsls r0, 24
lsrs r0, 24
subs r0, 0x1
@@ -178,7 +178,7 @@ _080B24C8:
b _080B24F2
_080B24CC:
ldr r4, =gStringVar1
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -205,7 +205,7 @@ sub_80B24F8: @ 80B24F8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -239,12 +239,12 @@ sub_80B252C: @ 80B252C
ands r0, r1
cmp r0, 0
beq _080B2570
- bl sub_800B320
+ bl IsLinkConnectionEstablished
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
bne _080B2570
- ldr r0, =gUnknown_020229C6
+ ldr r0, =gLinkType
strh r1, [r0]
ldr r1, =gTasks
lsls r0, r4, 2
@@ -269,12 +269,12 @@ sub_80B2578: @ 80B2578
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800B320
+ bl IsLinkConnectionEstablished
lsls r0, 24
cmp r0, 0
beq _080B258E
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
_080B258E:
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -286,7 +286,7 @@ _080B258E:
b _080B25BA
.pool
_080B25A4:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
movs r0, 0
strh r0, [r1]
ldr r1, =gTasks
@@ -309,7 +309,7 @@ sub_80B25CC: @ 80B25CC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800B2E8
+ bl GetSioMultiSI
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -374,9 +374,9 @@ sub_80B2634: @ 80B2634
ldrsh r2, [r4, r3]
cmp r2, 0
bne _080B266C
- bl sub_800A0AC
+ bl OpenLinkTimed
bl sub_800AB98
- bl sub_800A2BC
+ bl ResetLinkPlayers
ldr r0, =gUnknown_08550594
bl AddWindow
strh r0, [r4, 0xA]
@@ -404,7 +404,7 @@ sub_80B2688: @ 80B2688
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
@@ -418,7 +418,7 @@ sub_80B2688: @ 80B2688
cmp r5, 0x1
bls _080B26FC
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
ldr r1, =gTasks
lsls r0, r4, 2
adds r0, r4
@@ -426,7 +426,7 @@ sub_80B2688: @ 80B2688
adds r4, r0, r1
movs r0, 0
strh r0, [r4, 0xE]
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -506,7 +506,7 @@ sub_80B275C: @ 80B275C
mov r9, r0
mov r7, r8
add r7, r9
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r5, r0, 24
adds r0, r4, 0
@@ -585,7 +585,7 @@ sub_80B2804: @ 80B2804
bne _080B2898
bl sub_800AA48
adds r4, r0, 0
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -652,7 +652,7 @@ sub_80B28A8: @ 80B28A8
lsrs r0, 24
cmp r0, 0x1
beq _080B290A
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
adds r4, r0, 0
bl sub_800AA48
lsls r4, 24
@@ -729,21 +729,21 @@ _080B297C:
cmp r2, 0x9
bne _080B2994
_080B2984:
- bl sub_80097E8
+ bl CloseLink
bl HideFieldMessageBox
ldr r0, =sub_80B2CB0
b _080B29E4
.pool
_080B2994:
- bl sub_800ABAC
- ldr r4, =gUnknown_03005DB8
+ bl GetLinkPlayerCount_2
+ ldr r4, =gFieldLinkPlayerCount
strb r0, [r4]
bl GetMultiplayerId
ldr r1, =gUnknown_03005DB4
strb r0, [r1]
ldrb r0, [r4]
bl sub_800AA04
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
adds r0, r4, 0
bl sub_80C30A4
ldr r0, =gUnknown_0203CEF8
@@ -795,7 +795,7 @@ sub_80B2A08: @ 80B2A08
ldrh r0, [r0]
cmp r0, 0x4
bne _080B2A38
- bl sub_800A064
+ bl Link_AnyPartnersPlayingRubyOrSapphire
cmp r0, 0
bne _080B2A4A
bl sub_800AC34
@@ -812,7 +812,7 @@ _080B2A42:
cmp r0, 0x9
bne _080B2A6C
_080B2A4A:
- bl sub_80097E8
+ bl CloseLink
_080B2A4E:
bl HideFieldMessageBox
ldr r0, =gTasks
@@ -825,15 +825,15 @@ _080B2A4E:
b _080B2ACE
.pool
_080B2A6C:
- bl sub_800ABAC
- ldr r4, =gUnknown_03005DB8
+ bl GetLinkPlayerCount_2
+ ldr r4, =gFieldLinkPlayerCount
strb r0, [r4]
bl GetMultiplayerId
ldr r1, =gUnknown_03005DB4
strb r0, [r1]
ldrb r0, [r4]
bl sub_800AA04
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
adds r0, r4, 0
bl sub_80C30A4
ldr r0, =gUnknown_0203CEF8
@@ -960,11 +960,11 @@ task_map_chg_seq_0807EC34: @ 80B2B94
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
ldrh r0, [r5]
cmp r0, 0x1
bne _080B2C10
- ldr r0, =gUnknown_020229C6
+ ldr r0, =gLinkType
ldrh r2, [r0]
ldr r0, =0x00002266
cmp r2, r0
@@ -1044,7 +1044,7 @@ sub_80B2C30: @ 80B2C30
_080B2C5C:
movs r0, 0x64
muls r0, r4
- ldr r1, =gUnknown_02039B58
+ ldr r1, =gTrainerCards
adds r0, r1
lsls r1, r4, 8
ldr r2, =gBlockRecvBuffer
@@ -1065,7 +1065,7 @@ _080B2C7E:
cmp r4, r0
bcc _080B2C5C
movs r0, 0
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
bl ResetBlockReceivedFlags
ldr r0, =gSpecialVar_Result
adds r1, r5, 0
@@ -1215,20 +1215,20 @@ _080B2DC0:
b _080B2E34
_080B2DCA:
movs r3, 0x2
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r4, =0x00002233
b _080B2E30
.pool
_080B2DDC:
movs r3, 0x2
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r4, =0x00002244
b _080B2E30
.pool
_080B2DEC:
movs r3, 0x4
movs r2, 0x4
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r4, =0x00002255
b _080B2E30
.pool
@@ -1243,12 +1243,12 @@ _080B2E00:
ands r0, r1
cmp r0, 0
bne _080B2E2C
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r4, =0x00002266
b _080B2E30
.pool
_080B2E2C:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r4, =0x00002277
_080B2E30:
adds r0, r4, 0
@@ -1266,7 +1266,7 @@ _080B2E34:
thumb_func_start sub_80B2E4C
sub_80B2E4C: @ 80B2E4C
push {lr}
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00001133
adds r0, r2, 0
strh r0, [r1]
@@ -1287,7 +1287,7 @@ sub_80B2E74: @ 80B2E74
ldr r1, =gSpecialVar_Result
movs r0, 0
strh r0, [r1]
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00003311
adds r0, r2, 0
strh r0, [r1]
@@ -1454,7 +1454,7 @@ _080B2FC6:
thumb_func_start sub_80B2FD8
sub_80B2FD8: @ 80B2FD8
push {lr}
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00004411
adds r0, r2, 0
strh r0, [r1]
@@ -1472,7 +1472,7 @@ sub_80B2FD8: @ 80B2FD8
thumb_func_start sub_80B3000
sub_80B3000: @ 80B3000
push {lr}
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00006601
adds r0, r2, 0
strh r0, [r1]
@@ -1490,7 +1490,7 @@ sub_80B3000: @ 80B3000
thumb_func_start sub_80B3028
sub_80B3028: @ 80B3028
push {lr}
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00006602
adds r0, r2, 0
strh r0, [r1]
@@ -1540,17 +1540,17 @@ _080B3084:
.4byte _080B3128
.4byte _080B30D8
_080B30A8:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002233
b _080B3124
.pool
_080B30B8:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002244
b _080B3124
.pool
_080B30C8:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002255
b _080B3124
.pool
@@ -1564,22 +1564,22 @@ _080B30D8:
ands r0, r1
cmp r0, 0
bne _080B3100
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002266
b _080B3124
.pool
_080B3100:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002277
b _080B3124
.pool
_080B3110:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00001111
b _080B3124
.pool
_080B3120:
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00003322
_080B3124:
adds r0, r2, 0
@@ -1610,8 +1610,8 @@ sub_80B3144: @ 80B3144
ldrsh r2, [r4, r3]
cmp r2, 0
bne _080B3178
- bl sub_8009734
- bl sub_800A2BC
+ bl OpenLink
+ bl ResetLinkPlayers
ldr r0, =task00_08081A90
movs r1, 0x50
bl CreateTask
@@ -1640,12 +1640,12 @@ sub_80B3194: @ 80B3194
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bls _080B31DA
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1681,7 +1681,7 @@ sub_80B31E8: @ 80B31E8
lsrs r5, r0, 24
bl sub_800AA48
adds r4, r0, 0
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r4, 24
lsls r0, 24
cmp r4, r0
@@ -1710,7 +1710,7 @@ sub_80B3220: @ 80B3220
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3248
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1729,7 +1729,7 @@ _080B3248:
thumb_func_start sub_80B3254
sub_80B3254: @ 80B3254
push {lr}
- bl sub_809FF80
+ bl SaveGame
pop {r0}
bx r0
thumb_func_end sub_80B3254
@@ -1808,12 +1808,12 @@ _080B32E0:
_080B32F8:
movs r0, 0x1
movs r1, 0
- bl fade_screen
- ldr r1, =gUnknown_020229C6
+ bl FadeScreen
+ ldr r1, =gLinkType
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
- bl sub_8009FAC
+ bl ClearLinkCallback_2
b _080B3346
.pool
_080B3318:
@@ -1921,12 +1921,12 @@ _080B33E8:
_080B3408:
movs r0, 0x1
movs r1, 0
- bl fade_screen
- ldr r0, =gUnknown_020229C6
+ bl FadeScreen
+ ldr r0, =gLinkType
ldr r2, =0x00002211
adds r1, r2, 0
strh r1, [r0]
- bl sub_8009FAC
+ bl ClearLinkCallback_2
movs r0, 0x1
strh r0, [r6]
b _080B3532
@@ -1945,7 +1945,7 @@ _080B343A:
b _080B3532
.pool
_080B3444:
- ldr r1, =gUnknown_020229CC
+ ldr r1, =gLocalLinkPlayer
movs r0, 0
movs r2, 0x1C
bl SendBlock
@@ -2132,12 +2132,12 @@ _080B35E0:
ldrb r0, [r0]
cmp r0, 0
bne _080B35FE
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
b _080B35FE
.pool
_080B35F8:
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
_080B35FE:
bl RunTasks
@@ -2156,9 +2156,9 @@ sub_80B360C: @ 80B360C
negs r1, r1
ands r0, r1
str r0, [r2]
- bl call_ResetMapMusic
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl Overworld_ResetMapMusic
+ bl LoadPlayerParty
+ bl SavePlayerBag
bl sub_813BF10
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -2171,8 +2171,8 @@ sub_80B360C: @ 80B360C
ldrb r0, [r0]
movs r5, 0x1
eors r0, r5
- bl sub_813C2A0
- ldr r0, =gLinkVSyncDisabled
+ bl UpdatePlayerLinkBattleRecords
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B36B2
@@ -2251,8 +2251,8 @@ sub_80B36EC: @ 80B36EC
cmp r0, 0x9
bne _080B370E
_080B3706:
- bl copy_player_party_from_sav1
- bl copy_bags_and_unk_data_to_save_blocks
+ bl LoadPlayerParty
+ bl SavePlayerBag
_080B370E:
movs r0, 0x7F
bl copy_saved_warp2_bank_and_enter_x_to_warp1
@@ -2399,8 +2399,8 @@ _080B382E:
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
- bl sub_8009FAC
+ bl FadeScreen
+ bl ClearLinkCallback_2
b _080B3864
_080B3840:
ldr r0, =gPaletteFade
@@ -2470,7 +2470,7 @@ _080B38C6:
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
bl Rfu_set_zero
b _080B38FC
_080B38D8:
@@ -2512,7 +2512,7 @@ _080B391C:
thumb_func_start sub_80B3924
sub_80B3924: @ 80B3924
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3940
@@ -2548,11 +2548,11 @@ nullsub_37: @ 80B3964
thumb_func_start sub_80B3968
sub_80B3968: @ 80B3968
push {lr}
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002211
adds r0, r2, 0
strh r0, [r1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3994
@@ -2586,7 +2586,7 @@ sp02A_crash_sound: @ 80B39BC
push {lr}
ldr r0, =gSpecialVar_0x8006
ldrb r0, [r0]
- ldr r1, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r1, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl sub_80C4E74
pop {r0}
bx r0
@@ -2651,8 +2651,8 @@ task00_08081A90: @ 80B3A30
lsls r0, 17
cmp r1, r0
ble _080B3A62
- bl sub_80097E8
- ldr r0, =c2_800ACD4
+ bl CloseLink
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
@@ -2661,7 +2661,7 @@ _080B3A62:
ldrb r0, [r0]
cmp r0, 0
beq _080B3AA6
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3AA0
@@ -2669,8 +2669,8 @@ _080B3A62:
lsls r0, 24
cmp r0, 0
bne _080B3A86
- bl sub_80097E8
- ldr r0, =c2_800ACD4
+ bl CloseLink
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
_080B3A86:
adds r0, r4, 0
@@ -2752,7 +2752,7 @@ _080B3B20:
beq _080B3B9E
b _080B3BB8
_080B3B2A:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080B3B40
@@ -2761,7 +2761,7 @@ _080B3B2A:
b _080B3BB8
.pool
_080B3B40:
- bl sub_8009734
+ bl OpenLink
ldr r0, =task00_08081A90
movs r1, 0x1
bl CreateTask
@@ -2779,14 +2779,14 @@ _080B3B54:
strh r0, [r5, 0x2]
b _080B3B96
_080B3B68:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
adds r4, r0, 0
bl sub_800AA48
lsls r4, 24
lsls r0, 24
cmp r4, r0
bcc _080B3BB8
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
beq _080B3B96
@@ -2808,7 +2808,7 @@ _080B3B9E:
ldrb r0, [r0]
cmp r0, 0x1
bne _080B3BB8
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2825,11 +2825,11 @@ _080B3BB8:
thumb_func_start sub_80B3BC4
sub_80B3BC4: @ 80B3BC4
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _080B3BD6
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00002288
adds r0, r2, 0
strh r0, [r1]
diff --git a/asm/clock.s b/asm/clock.s
deleted file mode 100644
index 5d771a8b6..000000000
--- a/asm/clock.s
+++ /dev/null
@@ -1,175 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_809E778
-sub_809E778: @ 809E778
- push {lr}
- ldr r0, =0x00000895
- bl FlagSet
- bl RtcCalcLocalTime
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r2, 0xA0
- ldr r3, =gLocalTime
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, =0x00004040
- ldrh r1, [r3]
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E778
-
- thumb_func_start DoTimeBasedEvents
-DoTimeBasedEvents: @ 809E7B0
- push {r4,lr}
- ldr r0, =0x00000895
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809E7DA
- bl sub_813B9C0
- lsls r0, 24
- cmp r0, 0
- bne _0809E7DA
- bl RtcCalcLocalTime
- ldr r4, =gLocalTime
- adds r0, r4, 0
- bl sub_809E7E8
- adds r0, r4, 0
- bl sub_809E858
-_0809E7DA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoTimeBasedEvents
-
- thumb_func_start sub_809E7E8
-sub_809E7E8: @ 809E7E8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, =0x00004040
- bl GetVarPointer
- adds r6, r0, 0
- ldrh r0, [r6]
- movs r2, 0
- ldrsh r1, [r5, r2]
- cmp r0, r1
- beq _0809E84E
- cmp r0, r1
- bgt _0809E84E
- ldrh r4, [r5]
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- bl ClearUpperFlags
- adds r0, r4, 0
- bl sub_8122580
- adds r0, r4, 0
- bl sub_80ED888
- adds r0, r4, 0
- bl sub_80AEFBC
- adds r0, r4, 0
- bl UpdatePartyPokerusTime
- adds r0, r4, 0
- bl sub_8137904
- adds r0, r4, 0
- bl sub_8137A20
- adds r0, r4, 0
- bl sub_8139EF4
- adds r0, r4, 0
- bl sub_813A7F4
- adds r0, r4, 0
- bl sub_813945C
- adds r0, r4, 0
- bl SetRandomLotteryNumber
- ldrh r0, [r5]
- strh r0, [r6]
-_0809E84E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E7E8
-
- thumb_func_start sub_809E858
-sub_809E858: @ 809E858
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- mov r4, sp
- ldr r6, =gSaveBlock2Ptr
- ldr r1, [r6]
- adds r1, 0xA0
- mov r0, sp
- adds r2, r5, 0
- bl CalcTimeDifference
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 5
- movs r2, 0x2
- ldrsb r2, [r4, r2]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 2
- adds r1, r0
- movs r0, 0x3
- ldrsb r0, [r4, r0]
- adds r0, r1, r0
- cmp r0, 0
- beq _0809E8A8
- cmp r0, 0
- blt _0809E8A8
- bl BerryTreeTimeUpdate
- ldr r2, [r6]
- adds r2, 0xA0
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
-_0809E8A8:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E858
-
- thumb_func_start sub_809E8B4
-sub_809E8B4: @ 809E8B4
- push {lr}
- bl sub_809E778
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E8B4
-
- thumb_func_start Special_StartWallClock
-Special_StartWallClock: @ 809E8C8
- push {lr}
- ldr r0, =Cb2_StartWallClock
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_809E8B4
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end Special_StartWallClock
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/coins.s b/asm/coins.s
deleted file mode 100644
index d2b6cbb47..000000000
--- a/asm/coins.s
+++ /dev/null
@@ -1,74 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GiveCoins
-@ bool8 GiveCoins(u16 toAdd)
-GiveCoins: @ 8145C80
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCoins
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000270e
- cmp r1, r0
- bls _08145C9C
- movs r0, 0
- b _08145CC0
- .pool
-_08145C9C:
- adds r0, r1, r4
- cmp r1, r0
- ble _08145CAC
- ldr r0, =0x0000270f
- b _08145CBA
- .pool
-_08145CAC:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000270f
- cmp r1, r0
- bls _08145CB8
- adds r1, r0, 0
-_08145CB8:
- adds r0, r1, 0
-_08145CBA:
- bl SetCoins
- movs r0, 0x1
-_08145CC0:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GiveCoins
-
- thumb_func_start TakeCoins
-@ bool8 TakeCoins(u16 toSub)
-TakeCoins: @ 8145CCC
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCoins
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcs _08145CE2
- movs r0, 0
- b _08145CEE
-_08145CE2:
- subs r0, r4
- lsls r0, 16
- lsrs r0, 16
- bl SetCoins
- movs r0, 0x1
-_08145CEE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end TakeCoins
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/contest.s b/asm/contest.s
index 50398c518..453ecb04c 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -563,7 +563,7 @@ _080D7B4E:
bl sub_80D779C
bl sub_80D77E4
bl sub_80D7678
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
bl ResetPaletteFade
ldr r2, =gPaletteFade
ldrb r0, [r2, 0x8]
@@ -643,7 +643,7 @@ _080D7C04:
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080D7C56:
pop {r4-r6}
pop {r0}
@@ -1048,7 +1048,7 @@ _080D8004:
bl sub_80DC594
bl sub_80DC5E8
bl sub_80DC7EC
- ldr r1, =gBanksByIdentity
+ ldr r1, =gBattlerPositions
strb r4, [r1]
movs r0, 0x1
strb r0, [r1, 0x1]
@@ -1058,12 +1058,12 @@ _080D8004:
strb r2, [r1, 0x3]
ldr r0, =gBattleTypeFlags
str r4, [r0]
- ldr r4, =gBankAttacker
+ ldr r4, =gBattlerAttacker
strb r2, [r4]
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
strb r3, [r0]
bl sub_80DB0C4
- ldr r2, =gBankSpriteIds
+ ldr r2, =gBattlerSpriteIds
ldrb r1, [r4]
adds r1, r2
strb r0, [r1]
@@ -1367,7 +1367,7 @@ vblank_cb_battle: @ 80D827C
bl TransferPlttBuffer
bl LoadOam
bl ProcessSpriteCopyRequests
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
.pool
@@ -1416,13 +1416,13 @@ sub_80D833C: @ 80D833C
cmp r0, 0
bne _080D83CC
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D507
+ ldr r1, =gText_0827D507
bl StringCopy
b _080D83D4
.pool
_080D83CC:
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D531
+ ldr r1, =gText_0827D531
bl StringCopy
_080D83D4:
bl sub_80DB89C
@@ -1753,13 +1753,13 @@ _080D868E:
cmp r0, 0
bne _080D86DC
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D507
+ ldr r1, =gText_0827D507
bl StringCopy
b _080D86E4
.pool
_080D86DC:
ldr r0, =gDisplayedStringBattle
- ldr r1, =gUnknown_0827D531
+ ldr r1, =gText_0827D531
bl StringCopy
_080D86E4:
bl sub_80DB89C
@@ -2547,8 +2547,8 @@ _080D8DD0:
lsls r4, 3
adds r4, r0
strh r5, [r4, 0xC]
- ldr r1, =gBankSpriteIds
- ldr r0, =gBankAttacker
+ ldr r1, =gBattlerSpriteIds
+ ldr r0, =gBattlerAttacker
ldrb r0, [r0]
adds r0, r1
strb r5, [r0]
@@ -2655,7 +2655,7 @@ _080D8F38:
bl StringCopy
_080D8F48:
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D55A
+ ldr r1, =gText_0827D55A
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3566,7 +3566,7 @@ _080D96D4:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E793
+ ldr r1, =gText_0827E793
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3638,20 +3638,20 @@ _080D9774:
asrs r0, r4, 24
cmp r0, 0x1
bne _080D97A0
- ldr r0, =gUnknown_0827E32E
+ ldr r0, =gText_0827E32E
b _080D97A6
.pool
_080D97A0:
cmp r0, 0x2
bne _080D97B4
- ldr r0, =gUnknown_0827E35B
+ ldr r0, =gText_0827E35B
_080D97A6:
movs r1, 0x1
bl sub_80DEC30
b _080D97BC
.pool
_080D97B4:
- ldr r0, =gUnknown_0827E38D
+ ldr r0, =gText_0827E38D
movs r1, 0x1
bl sub_80DEC30
_080D97BC:
@@ -3675,7 +3675,7 @@ _080D97DC:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E2FE
+ ldr r1, =gText_0827E2FE
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -3813,7 +3813,7 @@ _080D9904:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E6E3
+ ldr r1, =gText_0827E6E3
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4043,7 +4043,7 @@ _080D9B30:
cmp r3, 0
bge _080D9B48
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E73C
+ ldr r1, =gText_0827E73C
bl StringExpandPlaceholders
b _080D9B74
.pool
@@ -4058,13 +4058,13 @@ _080D9B48:
cmp r0, 0x4
bgt _080D9B6C
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E717
+ ldr r1, =gText_0827E717
bl StringExpandPlaceholders
b _080D9B74
.pool
_080D9B6C:
ldr r0, =gStringVar4
- ldr r1, =gUnknown_0827E76A
+ ldr r1, =gText_0827E76A
bl StringExpandPlaceholders
_080D9B74:
ldr r0, =gStringVar4
@@ -4402,7 +4402,7 @@ _080D9DD4:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E7EA
+ ldr r1, =gText_0827E7EA
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4426,7 +4426,7 @@ _080D9E60:
_080D9E6A:
bl sub_80DB89C
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E817
+ ldr r1, =gText_0827E817
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4491,7 +4491,7 @@ _080D9EDC:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827E58A
+ ldr r1, =gText_0827E58A
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -4630,7 +4630,7 @@ _080DA038:
adds r1, r2
bl StringCopy
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D56F
+ ldr r1, =gText_0827D56F
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -5373,7 +5373,7 @@ _080DA668:
ldr r0, [r0]
str r0, [r1]
ldr r4, =gStringVar4
- ldr r1, =gUnknown_0827D597
+ ldr r1, =gText_0827D597
adds r0, r4, 0
bl StringExpandPlaceholders
adds r0, r4, 0
@@ -5588,7 +5588,7 @@ sub_80DA830: @ 80DA830
bl FreeAllWindowBuffers
bl sub_80D7A5C
bl FreeMonSpritesGfx
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
_080DA860:
pop {r0}
@@ -6652,12 +6652,12 @@ sub_80DB0C4: @ 80DB0C4
push {r4,r5,lr}
ldr r0, =gUnknown_08587C00
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08C1C6B8
+ ldr r0, =gContest2Pal
movs r1, 0x88
lsls r1, 1
movs r2, 0x20
bl LoadCompressedPalette
- ldr r0, =gUnknown_08587BE8
+ ldr r0, =gSpriteTemplate_8587BE8
movs r1, 0x70
movs r2, 0x24
movs r3, 0x1E
@@ -6692,7 +6692,7 @@ sub_80DB120: @ 80DB120
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08587C10
bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_08587C18
+ ldr r0, =gSpriteTemplate_8587C18
movs r1, 0x60
movs r2, 0xA
movs r3, 0x1D
@@ -6770,8 +6770,8 @@ _080DB1CC:
bl LoadCompressedPalette
adds r0, r5, 0
movs r1, 0
- bl sub_806A068
- ldr r4, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r4, =gMultiuseSpriteTemplate
movs r0, 0x2
adds r1, r5, 0
movs r2, 0
@@ -8891,7 +8891,7 @@ _080DC226:
ble _080DC284
movs r0, 0x60
bl PlaySE
- ldr r4, =gMPlay_SE1
+ ldr r4, =gMPlayInfo_SE1
adds r0, r4, 0
bl m4aMPlayImmInit
ldr r1, =0x0000ffff
@@ -8946,7 +8946,7 @@ _080DC2C8:
ldrb r0, [r0]
adds r0, r5
ldrb r2, [r0]
- ldr r0, =gUnknown_08587AD0
+ ldr r0, =gSpriteTemplate_8587AD0
movs r1, 0xB4
movs r3, 0x1
bl CreateSprite
@@ -9240,7 +9240,7 @@ _080DC506:
ldr r1, =gUnknown_08587AE8
adds r0, r1
bl LoadCompressedObjectPic
- ldr r0, =gUnknown_08587B18
+ ldr r0, =gSpriteTemplate_8587B18
adds r0, r6, r0
ldr r2, =gUnknown_08587A70
ldr r1, =gUnknown_02039F26
@@ -9264,7 +9264,7 @@ _080DC506:
adds r0, r1
lsls r0, 2
add r0, r8
- ldr r1, =gUnknown_08587B80
+ ldr r1, =gSubspriteTables_8587B80
bl SetSubspriteTables
ldr r0, [r7]
ldr r0, [r0, 0x14]
@@ -9298,7 +9298,7 @@ sub_80DC594: @ 80DC594
bl LoadCompressedObjectPic
ldr r0, =gUnknown_08587BB8
bl LoadSpritePalette
- ldr r0, =gUnknown_08587BC8
+ ldr r0, =gSpriteTemplate_8587BC8
movs r1, 0x1E
movs r2, 0x2C
movs r3, 0x1
@@ -9877,7 +9877,7 @@ sub_80DC9EC: @ 80DC9EC
lsls r4, r2, 1
adds r4, r2
lsls r4, 3
- ldr r0, =gUnknown_0858998C
+ ldr r0, =gSpriteTemplate_858998C
adds r4, r0
adds r0, r4, 0
movs r1, 0xB8
@@ -11207,7 +11207,7 @@ sub_80DD45C: @ 80DD45C
cmp r1, 0
bne _080DD4DC
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E837
+ ldr r1, =gText_0827E837
bl StringCopy
b _080DD52C
.pool
@@ -11216,7 +11216,7 @@ _080DD4DC:
cmp r0, 0x1
bne _080DD4F4
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E83F
+ ldr r1, =gText_0827E83F
bl StringCopy
b _080DD52C
.pool
@@ -11225,7 +11225,7 @@ _080DD4F4:
cmp r0, 0x2
bne _080DD50C
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E847
+ ldr r1, =gText_0827E847
bl StringCopy
b _080DD52C
.pool
@@ -11234,13 +11234,13 @@ _080DD50C:
cmp r0, 0x3
bne _080DD524
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E850
+ ldr r1, =gText_0827E850
bl StringCopy
b _080DD52C
.pool
_080DD524:
ldr r0, =gStringVar3
- ldr r1, =gUnknown_0827E85A
+ ldr r1, =gText_0827E85A
bl StringCopy
_080DD52C:
ldr r4, =gStringVar4
@@ -11731,7 +11731,7 @@ _080DD956:
ldr r1, [r0]
movs r0, 0x13
ldrsb r0, [r1, r0]
- ldr r4, =gUnknown_08D8EC24
+ ldr r4, =gContestApplauseMeterGfx
cmp r5, r0
bge _080DD966
adds r4, 0x40
@@ -13796,9 +13796,9 @@ sub_80DEA20: @ 80DEA20
push {lr}
ldr r0, =SpriteCallbackDummy
bl CreateInvisibleSpriteWithCallback
- ldr r1, =gBankSpriteIds
+ ldr r1, =gBattlerSpriteIds
strb r0, [r1, 0x3]
- ldr r0, =gBankTarget
+ ldr r0, =gBattlerTarget
ldrb r0, [r0]
adds r0, r1
ldrb r1, [r0]
@@ -13817,7 +13817,7 @@ sub_80DEA20: @ 80DEA20
thumb_func_start sub_80DEA5C
sub_80DEA5C: @ 80DEA5C
push {r4,lr}
- ldr r0, =gBankSpriteIds
+ ldr r0, =gBattlerSpriteIds
ldrb r0, [r0, 0x3]
lsls r4, r0, 4
adds r4, r0
@@ -13829,13 +13829,13 @@ sub_80DEA5C: @ 80DEA5C
strh r0, [r4, 0x26]
movs r0, 0x3
movs r1, 0
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x20]
movs r0, 0x3
movs r1, 0x1
- bl sub_80A5C6C
+ bl GetBattlerSpriteCoord
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x22]
@@ -13905,12 +13905,12 @@ _080DEAD0:
.4byte _080DEB60
.4byte _080DEB60
_080DEB54:
- ldr r1, =gBankTarget
+ ldr r1, =gBattlerTarget
movs r0, 0x2
b _080DEB64
.pool
_080DEB60:
- ldr r1, =gBankTarget
+ ldr r1, =gBattlerTarget
movs r0, 0x3
_080DEB64:
strb r0, [r1]
@@ -14067,7 +14067,7 @@ _080DEC80:
b _080DEC9C
.pool
_080DEC94:
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
lsls r0, 24
lsrs r1, r0, 24
_080DEC9C:
diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s
index 7f32c880c..36f444955 100644
--- a/asm/contest_link_80F57C4.s
+++ b/asm/contest_link_80F57C4.s
@@ -344,7 +344,7 @@ sub_80F5B00: @ 80F5B00
bl SetVBlankCallback
bl sub_80F7DF4
bl sub_80F57C4
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
bl ResetPaletteFade
bl ResetSpriteData
bl ResetTasks
@@ -492,7 +492,7 @@ sub_80F5C24: @ 80F5C24
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
.pool
@@ -1420,8 +1420,8 @@ _080F64F2:
bl LoadCompressedObjectPalette
adds r0, r6, 0
movs r1, 0x1
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
ldrh r1, [r4, 0x4]
strh r1, [r0, 0x2]
movs r1, 0x88
@@ -1825,7 +1825,7 @@ _080F6884:
adds r0, r5, 0
bl DestroyTask
bl FreeAllWindowBuffers
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
bl sub_80F7E64
_080F68A8:
@@ -2128,9 +2128,9 @@ sub_80F6AE8: @ 80F6AE8
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r4, =gSprites
- ldr r0, =gUnknown_02022B10
+ ldr r0, =gWirelessStatusIndicatorSpriteId
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
@@ -2151,7 +2151,7 @@ sub_80F6AE8: @ 80F6AE8
movs r2, 0x80
movs r3, 0x1
bl RequestDma3Fill
- ldr r0, =gUnknown_0858D8C8
+ ldr r0, =gSpriteTemplate_858D8C8
movs r1, 0x8
movs r2, 0x8
movs r3, 0
@@ -2454,7 +2454,7 @@ sub_80F6DC0: @ 80F6DC0
push {r4-r6,lr}
sub sp, 0x20
mov r1, sp
- ldr r0, =gUnknown_0858D7F8
+ ldr r0, =gSpriteTemplate_858D7F8
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
@@ -3564,7 +3564,7 @@ sub_80F7670: @ 80F7670
ldrb r0, [r0, 0x7]
cmp r0, 0x27
bhi _080F7732
- ldr r4, =gUnknown_0858D860
+ ldr r4, =gSpriteTemplate_858D860
bl Random
lsls r0, 16
lsrs r0, 16
diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s
index f1e2019da..621e26038 100644
--- a/asm/contest_link_80FC4F4.s
+++ b/asm/contest_link_80FC4F4.s
@@ -147,7 +147,7 @@ sub_80FC5DC: @ 80FC5DC
ldr r1, =gUnknown_02039F2A
movs r0, 0x1
strb r0, [r1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080FC60C
@@ -284,7 +284,7 @@ _080FC6FE:
lsls r0, 24
cmp r0, 0
beq _080FC7F4
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gUnknown_02039F25
ldrb r1, [r1]
lsls r1, 6
@@ -297,7 +297,7 @@ _080FC6FE:
b _080FC7F4
.pool
_080FC738:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gUnknown_02039F25
ldrb r1, [r1]
lsls r1, 6
@@ -487,7 +487,7 @@ _080FC8D8:
beq _080FC954
b _080FC96E
_080FC8DE:
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
ldrh r0, [r4, 0x1A]
strb r0, [r1]
bl GetMultiplayerId
@@ -1142,7 +1142,7 @@ _080FCE8C:
beq _080FCEFC
b _080FCF16
_080FCE92:
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
movs r0, 0x6E
strb r0, [r1]
bl GetMultiplayerId
diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s
index 12eb159f7..12eb159f7 100755..100644
--- a/asm/contest_link_81D9DE4.s
+++ b/asm/contest_link_81D9DE4.s
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 98f001442..8bb38eeed 100644
--- a/asm/contest_painting.s
+++ b/asm/contest_painting.s
@@ -107,7 +107,7 @@ _0812FE80:
.4byte _0812FF2A
.4byte _0812FF54
_0812FE94:
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0
bl SetVBlankCallback
bl AllocateMonSpritesGfx
@@ -386,7 +386,7 @@ sub_813010C: @ 813010C
ldr r1, =gText_Space
adds r0, r4, 0
bl StringAppend
- ldr r1, =gUnknown_085B07D4
+ ldr r1, =gContestRankTextPointers
ldr r0, [r6]
ldrb r0, [r0, 0x1E]
lsls r0, 2
@@ -415,7 +415,7 @@ _08130190:
adds r1, 0xB
bl StringCopy
ldr r0, =gStringVar4
- ldr r2, =gUnknown_085B07F4
+ ldr r2, =gContestPaintingDescriptionPointers
lsls r1, r5, 2
adds r1, r2
ldr r1, [r1]
diff --git a/asm/coord_event_weather.s b/asm/coord_event_weather.s
deleted file mode 100644
index 7c1188ad6..000000000
--- a/asm/coord_event_weather.s
+++ /dev/null
@@ -1,156 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_809D7BC
-sub_809D7BC: @ 809D7BC
- push {lr}
- movs r0, 0x1
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7BC
-
- thumb_func_start sub_809D7C8
-sub_809D7C8: @ 809D7C8
- push {lr}
- movs r0, 0x2
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7C8
-
- thumb_func_start sub_809D7D4
-sub_809D7D4: @ 809D7D4
- push {lr}
- movs r0, 0x3
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7D4
-
- thumb_func_start sub_809D7E0
-sub_809D7E0: @ 809D7E0
- push {lr}
- movs r0, 0x4
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7E0
-
- thumb_func_start sub_809D7EC
-sub_809D7EC: @ 809D7EC
- push {lr}
- movs r0, 0x5
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7EC
-
- thumb_func_start sub_809D7F8
-sub_809D7F8: @ 809D7F8
- push {lr}
- movs r0, 0x6
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D7F8
-
- thumb_func_start sub_809D804
-sub_809D804: @ 809D804
- push {lr}
- movs r0, 0x9
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D804
-
- thumb_func_start sub_809D810
-sub_809D810: @ 809D810
- push {lr}
- movs r0, 0x7
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D810
-
- thumb_func_start sub_809D81C
-sub_809D81C: @ 809D81C
- push {lr}
- movs r0, 0x8
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D81C
-
- thumb_func_start sub_809D828
-sub_809D828: @ 809D828
- push {lr}
- movs r0, 0xB
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D828
-
- thumb_func_start sub_809D834
-sub_809D834: @ 809D834
- push {lr}
- movs r0, 0xC
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D834
-
- thumb_func_start sub_809D840
-sub_809D840: @ 809D840
- push {lr}
- movs r0, 0x14
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D840
-
- thumb_func_start sub_809D84C
-sub_809D84C: @ 809D84C
- push {lr}
- movs r0, 0x15
- bl sub_80AEDF0
- pop {r0}
- bx r0
- thumb_func_end sub_809D84C
-
- thumb_func_start trigger_activate_weather
-trigger_activate_weather: @ 809D858
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- ldr r3, =gUnknown_085102E0
-_0809D862:
- lsls r1, r2, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r4
- bne _0809D87C
- adds r0, r3, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- bl _call_via_r0
- b _0809D886
- .pool
-_0809D87C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xC
- bls _0809D862
-_0809D886:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end trigger_activate_weather
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/credits.s b/asm/credits.s
deleted file mode 100644
index 33bf413c1..000000000
--- a/asm/credits.s
+++ /dev/null
@@ -1,3903 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81754C8
-sub_81754C8: @ 81754C8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81754C8
-
- thumb_func_start sub_81754DC
-sub_81754DC: @ 81754DC
- push {lr}
- bl RunTasks
- bl AnimateSprites
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08175522
- ldr r0, =gHasHallOfFameRecords
- ldrb r0, [r0]
- cmp r0, 0
- beq _08175522
- ldr r2, =gTasks
- ldr r0, =gUnknown_0203BCE2
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_8175774
- cmp r1, r0
- bne _08175522
- bl sub_81754C8
- bl RunTasks
- bl AnimateSprites
- ldr r1, =gUnknown_0203BCE5
- movs r0, 0x1
- strb r0, [r1]
-_08175522:
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81754DC
-
- thumb_func_start sub_8175548
-sub_8175548: @ 8175548
- push {lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085E6F68
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_085E56F0
- movs r1, 0x80
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_085E6F6C
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl ShowBg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175548
-
- thumb_func_start sub_81755A4
-sub_81755A4: @ 81755A4
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _081755B8
- bl Free
-_081755B8:
- pop {r0}
- bx r0
- thumb_func_end sub_81755A4
-
- thumb_func_start sub_81755BC
-sub_81755BC: @ 81755BC
- push {r4,r5,lr}
- sub sp, 0x18
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- add r1, sp, 0x14
- movs r0, 0
- strb r0, [r1]
- cmp r2, 0x1
- bne _081755DC
- movs r0, 0x3
- strb r0, [r1, 0x1]
- movs r0, 0x4
- b _081755E4
-_081755DC:
- add r1, sp, 0x14
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
-_081755E4:
- strb r0, [r1, 0x2]
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- movs r3, 0x1
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r3, r5, 0
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81755BC
-
- thumb_func_start sub_8175620
-sub_8175620: @ 8175620
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- bl sub_8175CE4
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetPaletteFade
- bl ResetTasks
- bl sub_8175548
- ldr r0, =sub_8175744
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
- movs r1, 0x1
- strh r1, [r0, 0x22]
-_0817566A:
- movs r0, 0
- adds r1, r7, 0
- bl sub_8176AB0
- lsls r0, 24
- cmp r0, 0
- beq _0817566A
- ldr r5, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r5
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- mov r8, r1
- movs r6, 0
- movs r1, 0x28
- strh r1, [r0, 0x8]
- ldr r1, =0x0000fffc
- movs r0, 0x12
- bl SetGpuReg
- ldr r0, =sub_8175DA0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r7, [r1, 0xA]
- strh r0, [r4, 0x26]
- movs r0, 0x1
- negs r0, r0
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_81754C8
- bl SetVBlankCallback
- ldr r0, =0x000001c7
- bl m4aSongNumStart
- ldr r0, =sub_81754DC
- bl SetMainCallback2
- ldr r0, =gUnknown_0203BCE5
- mov r1, r8
- strb r1, [r0]
- ldr r4, =gUnknown_0203BCE8
- movs r0, 0xEB
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- bl sub_8177388
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8E
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- ldr r0, =gUnknown_0203BCE2
- strh r7, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175620
-
- thumb_func_start sub_8175744
-sub_8175744: @ 8175744
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175764
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8175774
- str r0, [r1]
-_08175764:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175744
-
- thumb_func_start sub_8175774
-sub_8175774: @ 8175774
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _081757B0
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1E
- strh r1, [r0, 0x8]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x20]
- ldr r0, =sub_8175A9C
- b _081757FA
- .pool
-_081757B0:
- ldr r0, =gUnknown_0203BCE0
- strh r1, [r0]
- ldrh r2, [r4, 0x1E]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _081757E0
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175808
- b _081757FA
- .pool
-_081757E0:
- cmp r0, 0x2
- bne _081757FC
- strh r2, [r4, 0x22]
- strh r1, [r4, 0x1E]
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_81758A4
-_081757FA:
- str r0, [r4]
-_081757FC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175774
-
- thumb_func_start sub_8175808
-sub_8175808: @ 8175808
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175836
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =c2_080C9BFC
- str r0, [r1]
-_08175836:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175808
-
- thumb_func_start c2_080C9BFC
-c2_080C9BFC: @ 8175848
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r0, [r5, 0x16]
- adds r1, r4, 0
- bl sub_8176AB0
- lsls r0, 24
- cmp r0, 0
- beq _08175890
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_81754C8
- bl SetVBlankCallback
- ldr r0, =sub_8175744
- str r0, [r5]
-_08175890:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_080C9BFC
-
- thumb_func_start sub_81758A4
-sub_81758A4: @ 81758A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081758D2
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81758E4
- str r0, [r1]
-_081758D2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81758A4
-
- thumb_func_start sub_81758E4
-sub_81758E4: @ 81758E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r1, r0
- mov r8, r1
- ldrb r7, [r1]
- cmp r7, 0
- beq _08175906
- cmp r7, 0x1
- beq _081759F0
-_08175906:
- bl ResetSpriteData
- bl dp13_810BB8C
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gBirchHelpGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gBirchGrassTilemap
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =gBirchBagGrassPal + 0x2
- movs r1, 0x1
- movs r2, 0x3E
- bl LoadPalette
- movs r1, 0
- ldr r4, =0x0201c000
- movs r3, 0x11
- ldr r2, =0x000007ff
-_0817593C:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _0817593C
- movs r1, 0
- ldr r2, =0x0201d800
- ldr r6, =gUnknown_085E701C
- ldr r0, =0xfffff000
- adds r5, r2, r0
- movs r4, 0x22
- ldr r3, =0x000007ff
-_08175958:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _08175958
- movs r1, 0
- ldr r5, =0x0201d000
- movs r4, 0x33
- ldr r3, =0x000007ff
-_0817596E:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bls _0817596E
- movs r0, 0
- strh r0, [r2]
- ldr r1, =0x000053ff
- adds r0, r1, 0
- strh r0, [r2, 0x2]
- ldr r1, =0x0000529f
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- ldr r1, =0x00007e94
- adds r0, r1, 0
- strh r0, [r2, 0x6]
- adds r0, r6, 0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_085E702C
- bl LoadSpritePalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08175A7A
- .pool
-_081759F0:
- ldr r0, =sub_81760FC
- movs r1, 0
- bl CreateTask
- ldr r2, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- movs r5, 0
- strh r0, [r4, 0xE]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r7, [r0, 0x8]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0xA]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r4, 0x16]
- strh r1, [r0, 0xC]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0x20
- bl SetGpuReg
- ldr r1, =0x00000703
- movs r0, 0xE
- bl SetGpuReg
- movs r1, 0xCA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- mov r0, r9
- mov r1, r8
- strb r0, [r1]
- ldr r0, =gUnknown_0203BD28
- strh r5, [r0]
- ldr r0, =sub_8175744
- str r0, [r4]
-_08175A7A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81758E4
-
- thumb_func_start sub_8175A9C
-sub_8175A9C: @ 8175A9C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x20]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08175AC4
- subs r0, 0x1
- strh r0, [r4, 0x20]
- b _08175AD8
- .pool
-_08175AC4:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0xC
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175AE4
- str r0, [r4]
-_08175AD8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175A9C
-
- thumb_func_start sub_8175AE4
-sub_8175AE4: @ 8175AE4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175B0A
- adds r0, r4, 0
- bl sub_8176CA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8175B1C
- str r0, [r1]
-_08175B0A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175AE4
-
- thumb_func_start sub_8175B1C
-sub_8175B1C: @ 8175B1C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8175CE4
- bl ResetPaletteFade
- movs r1, 0xE0
- lsls r1, 6
- movs r0, 0
- movs r2, 0
- bl sub_8176D1C
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0xE0
- lsls r1, 3
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- movs r1, 0xA0
- lsls r1, 1
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xEB
- strh r1, [r0, 0x8]
- ldr r1, =sub_8175B90
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175B1C
-
- thumb_func_start sub_8175B90
-sub_8175B90: @ 8175B90
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _08175BB8
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _08175BCC
- .pool
-_08175BB8:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0x6
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175BD8
- str r0, [r4]
-_08175BCC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175B90
-
- thumb_func_start sub_8175BD8
-sub_8175BD8: @ 8175BD8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08175C1E
- movs r0, 0xE0
- lsls r0, 6
- movs r1, 0
- bl sub_8176E40
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE1
- lsls r1, 5
- strh r1, [r0, 0x8]
- ldr r1, =sub_8175C34
- str r1, [r0]
-_08175C1E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175BD8
-
- thumb_func_start sub_8175C34
-sub_8175C34: @ 8175C34
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175CB8
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08175C62
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _08175C94
-_08175C62:
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_8175CC8
- str r0, [r4]
- b _08175CB8
- .pool
-_08175C94:
- ldr r0, =0x00001be8
- cmp r1, r0
- bne _08175CA0
- movs r0, 0x8
- bl FadeOutBGM
-_08175CA0:
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- ldr r0, =0x00001ab8
- cmp r1, r0
- bne _08175CB2
- movs r0, 0xE4
- lsls r0, 1
- bl m4aSongNumStart
-_08175CB2:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
-_08175CB8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175C34
-
- thumb_func_start sub_8175CC8
-sub_8175CC8: @ 8175CC8
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08175CDC
- movs r0, 0xFF
- bl SoftReset
-_08175CDC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175CC8
-
- thumb_func_start sub_8175CE4
-sub_8175CE4: @ 8175CE4
- push {lr}
- sub sp, 0x8
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r2, [r0]
- str r0, [r1]
- ldr r0, =0x05000002
- str r0, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175CE4
-
- thumb_func_start sub_8175DA0
-sub_8175DA0: @ 8175DA0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0xA
- bhi _08175E00
- lsls r0, 2
- ldr r1, =_08175DD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08175DD4:
- .4byte _08175E00
- .4byte _08175E40
- .4byte _08175E60
- .4byte _08175F38
- .4byte _08175F5C
- .4byte _08175FC8
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175E00
- .4byte _08175FFC
-_08175E00:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08175E12
- b _0817602A
-_08175E12:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x8]
- movs r1, 0x48
- strh r1, [r0, 0xE]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0x24]
- ldr r0, =gUnknown_0203BCE0
- strh r2, [r0]
- b _0817602A
- .pool
-_08175E40:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r5
- ldrh r2, [r1, 0xE]
- movs r3, 0xE
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08175E58
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _0817602A
-_08175E58:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0817602A
-_08175E60:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r5
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r5, r0, r5
- ldr r1, [r5]
- ldr r0, =sub_8175774
- mov r9, r2
- cmp r1, r0
- bne _08175F32
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0x38
- bgt _08175F2C
- movs r5, 0
- ldr r2, =gUnknown_085E6AF4
- mov r8, r2
- adds r7, r3, 0
- movs r6, 0xA0
- lsls r6, 19
-_08175E92:
- movs r3, 0xC
- ldrsh r1, [r7, r3]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r5
- lsls r0, 2
- add r0, r8
- ldr r2, [r0]
- ldr r0, [r2, 0x4]
- lsrs r1, r6, 24
- ldrb r2, [r2, 0x1]
- bl sub_81755BC
- movs r0, 0x80
- lsls r0, 21
- adds r6, r0
- adds r5, 0x1
- cmp r5, 0x4
- ble _08175E92
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, =gTasks
- mov r2, r9
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xA
- ldrsh r2, [r1, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x24]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r3, 0x22
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _08175F14
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x0000328d
- b _08175F1A
- .pool
-_08175F14:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x00001967
-_08175F1A:
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0817602A
- .pool
-_08175F2C:
- movs r0, 0xA
- strh r0, [r3, 0x8]
- b _0817602A
-_08175F32:
- movs r0, 0
- strh r0, [r5, 0x24]
- b _0817602A
-_08175F38:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817602A
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x73
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _0817602A
- .pool
-_08175F5C:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r5
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08175F74
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _0817602A
-_08175F74:
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- bl sub_817603C
- lsls r0, 24
- cmp r0, 0
- beq _08175F8A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0817602A
-_08175F8A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _08175FB0
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x0000328d
- b _08175FB6
- .pool
-_08175FB0:
- movs r0, 0xC0
- lsls r0, 2
- ldr r1, =0x00001967
-_08175FB6:
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0817602A
- .pool
-_08175FC8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817602A
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _0817602A
- .pool
-_08175FFC:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r5, 0
- movs r1, 0x1
- strh r1, [r0, 0x10]
- adds r0, r4, 0
- bl DestroyTask
- bl sub_81755A4
- ldr r4, =gUnknown_0203BCE8
- ldr r0, [r4]
- bl Free
- str r5, [r4]
-_0817602A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8175DA0
-
- thumb_func_start sub_817603C
-sub_817603C: @ 817603C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- lsls r1, 24
- lsrs r2, r1, 24
- adds r5, r2, 0
- ldr r4, =gTasks
- cmp r3, 0x6
- bne _0817605C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_0817605C:
- cmp r3, 0xC
- bne _0817606E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x1E]
-_0817606E:
- cmp r3, 0x12
- bne _0817607E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_0817607E:
- cmp r3, 0x18
- bne _08176092
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_08176092:
- cmp r3, 0x1E
- bne _081760A2
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081760A2:
- cmp r3, 0x24
- bne _081760B6
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x3
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081760B6:
- cmp r3, 0x2A
- bne _081760C6
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x1E]
-_081760C6:
- cmp r6, 0x30
- bne _081760DA
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r4
- movs r1, 0x4
- strh r1, [r0, 0x16]
- movs r1, 0x1
- strh r1, [r0, 0x1E]
-_081760DA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _081760F4
- movs r0, 0
- b _081760F6
- .pool
-_081760F4:
- movs r0, 0x1
-_081760F6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_817603C
-
- thumb_func_start sub_81760FC
-sub_81760FC: @ 81760FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0817612C
- cmp r0, 0x1
- bgt _0817611A
- b _08176244
-_0817611A:
- cmp r0, 0x2
- beq _08176158
- cmp r0, 0x3
- bne _08176124
- b _08176230
-_08176124:
- b _08176244
- .pool
-_0817612C:
- ldr r0, =gUnknown_0203BCE8
- ldr r0, [r0]
- adds r0, 0x90
- ldrh r0, [r0]
- cmp r0, 0
- bne _0817614E
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0817614E
- b _08176244
-_0817614E:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- b _08176242
- .pool
-_08176158:
- ldr r6, =gUnknown_0203BCE8
- ldr r3, [r6]
- adds r0, r3, 0
- adds r0, 0x8E
- ldrh r0, [r0]
- cmp r0, 0x47
- beq _08176244
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, [r0]
- ldr r0, =sub_8175774
- cmp r1, r0
- bne _08176244
- adds r0, r3, 0
- adds r0, 0x92
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- ldr r4, =gUnknown_085E6F7C
- adds r1, r3, 0
- adds r1, 0x90
- ldrh r3, [r1]
- lsls r2, r3, 1
- adds r1, r2, r4
- ldrb r1, [r1]
- adds r4, 0x1
- adds r2, r4
- ldrb r2, [r2]
- bl sub_8177224
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x92
- ldrh r3, [r1]
- adds r0, 0x94
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r3, r0
- bge _081761D8
- adds r0, r3, 0x1
- strh r0, [r1]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x32
- b _081761EA
- .pool
-_081761D8:
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x80
- lsls r1, 2
-_081761EA:
- strh r1, [r0, 0x34]
- ldr r0, =gUnknown_0203BCE8
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x8E
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x90
- ldrh r0, [r1]
- cmp r0, 0x2
- bne _08176210
- movs r0, 0
- b _08176212
- .pool
-_08176210:
- adds r0, 0x1
-_08176212:
- strh r0, [r1]
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x32
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08176244
- .pool
-_08176230:
- ldrh r1, [r2, 0xE]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08176240
- subs r0, r1, 0x1
- strh r0, [r2, 0xE]
- b _08176244
-_08176240:
- movs r0, 0x1
-_08176242:
- strh r0, [r2, 0x8]
-_08176244:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81760FC
-
- thumb_func_start sub_817624C
-sub_817624C: @ 817624C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0x32
- bls _08176268
- b _08176514
-_08176268:
- lsls r0, 2
- ldr r1, =_0817627C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817627C:
- .4byte _08176348
- .4byte _0817636C
- .4byte _081763C0
- .4byte _081763D8
- .4byte _08176414
- .4byte _08176438
- .4byte _08176484
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176490
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _081764B0
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _081764D4
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176514
- .4byte _08176508
-_08176348:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- ldr r1, =gUnknown_0203BD26
- strh r0, [r1]
- b _08176390
- .pool
-_0817636C:
- ldr r7, =gUnknown_0203BD26
- movs r3, 0
- ldrsh r4, [r7, r3]
- cmp r4, 0
- beq _0817639C
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldrh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 17
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0xC
- bl Sin
- strh r0, [r7]
-_08176390:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- b _08176514
- .pool
-_0817639C:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- strh r2, [r0, 0x2E]
- strh r4, [r1, 0x12]
- b _08176430
- .pool
-_081763C0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x12]
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0x3F
- bgt _08176430
- adds r0, r2, 0x1
- strh r0, [r1, 0x12]
- b _0817644E
-_081763D8:
- ldr r3, =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- movs r0, 0x78
- strh r0, [r2, 0x10]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _08176514
- .pool
-_08176414:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r6
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0817642C
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _08176514
-_0817642C:
- movs r0, 0x40
- strh r0, [r1, 0x12]
-_08176430:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08176514
-_08176438:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08176464
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
-_0817644E:
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0x14
- bl Sin
- ldr r1, =gUnknown_0203BD26
- strh r0, [r1]
- b _08176514
- .pool
-_08176464:
- ldr r2, =gSprites
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08176514
- .pool
-_08176484:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0x32
- b _08176512
-_08176490:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- b _081764C8
- .pool
-_081764B0:
- ldr r3, =gSprites
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x4
-_081764C8:
- strh r2, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r1, 0x8]
- b _08176514
- .pool
-_081764D4:
- ldr r3, =gSprites
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r6
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5
- strh r1, [r0, 0x2E]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x3
- strh r1, [r0, 0x2E]
- movs r0, 0x32
- strh r0, [r2, 0x8]
- b _08176514
- .pool
-_08176508:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- movs r1, 0
-_08176512:
- strh r1, [r0, 0x8]
-_08176514:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_817624C
-
- thumb_func_start sub_817651C
-sub_817651C: @ 817651C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0817655C
- lsls r0, 2
- ldr r1, =_08176548
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176548:
- .4byte _0817655C
- .4byte _081765A0
- .4byte _081765AC
- .4byte _081765F4
- .4byte _08176640
-_0817655C:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- ldr r5, =0x00007fff
- cmp r0, r5
- beq _081765A0
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _081765A0
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x14
- strh r0, [r1, 0x8]
- strh r5, [r2, 0xA]
-_081765A0:
- movs r0, 0
- bl sub_817B540
- b _08176646
- .pool
-_081765AC:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- ldr r5, =0x00007fff
- cmp r0, r5
- beq _08176638
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r3, r0, r4
- ldrh r1, [r3, 0x12]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- movs r1, 0xA0
- lsls r1, 2
- cmp r0, r1
- bne _08176638
- movs r0, 0x1
- strh r0, [r3, 0x8]
- strh r5, [r2, 0xA]
- b _08176638
- .pool
-_081765F4:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r2, r0, r4
- ldrh r3, [r2, 0xA]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- ldr r5, =0x00007fff
- cmp r1, r5
- beq _08176638
- movs r0, 0x92
- lsls r0, 2
- cmp r1, r0
- bne _08176634
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0, 0x8]
- strh r5, [r2, 0xA]
- b _08176638
- .pool
-_08176634:
- adds r0, r3, 0x1
- strh r0, [r2, 0xA]
-_08176638:
- movs r0, 0x1
- bl sub_817B540
- b _08176646
-_08176640:
- movs r0, 0x2
- bl sub_817B540
-_08176646:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817651C
-
- thumb_func_start sub_817664C
-sub_817664C: @ 817664C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r0, 0x4
- bls _08176662
- b _081769E0
-_08176662:
- lsls r0, 2
- ldr r1, =_08176670
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176670:
- .4byte _08176684
- .4byte _0817672C
- .4byte _081767D8
- .4byte _08176884
- .4byte _08176934
-_08176684:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r2, 0x88
- lsls r2, 1
- strh r2, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _081769D4
- .pool
-_0817672C:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- movs r2, 0x20
- b _081769D4
- .pool
-_081767D8:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _081769D4
- .pool
-_08176884:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x78
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- b _081769D4
- .pool
-_08176934:
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r3, 0
- movs r1, 0x58
- strh r1, [r0, 0x20]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x98
- strh r1, [r0, 0x20]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r2, 0x2E
- strh r2, [r0, 0x22]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r3, [r0, 0x2E]
- movs r1, 0x80
- lsls r1, 6
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x2
-_081769D4:
- movs r3, 0x8
- bl sub_817B3DC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
-_081769E0:
- ldr r0, =sub_817651C
- movs r1, 0
- bl CreateTask
- ldr r6, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r5, r1, r6
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- strh r0, [r5, 0xC]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- mov r1, r8
- strh r1, [r0, 0x8]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0xA]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xC]
- ldr r0, =sub_817624C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x8]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r7, [r0, 0xA]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x12]
- strh r1, [r0, 0xC]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r5, 0x14]
- strh r1, [r0, 0xE]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r4, [r0, 0x10]
- mov r1, r8
- cmp r1, 0x2
- bne _08176A94
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- movs r0, 0x45
- strh r0, [r1, 0x12]
-_08176A94:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817664C
-
- thumb_func_start sub_8176AB0
-sub_8176AB0: @ 8176AB0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08176B30
- cmp r0, 0x1
- ble _08176AD6
- cmp r0, 0x2
- beq _08176B54
- cmp r0, 0x3
- bne _08176AD6
- b _08176C80
-_08176AD6:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0x8
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- strb r0, [r6]
- b _08176C96
- .pool
-_08176B30:
- ldr r1, =gUnknown_0203BD24
- movs r0, 0x22
- strh r0, [r1]
- ldr r1, =gUnknown_0203BD26
- movs r0, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_817B1C8
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _08176C96
- .pool
-_08176B54:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08176BD8
- ldr r0, =gUnknown_085F5334
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F53BC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5354
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5384
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl sub_817B834
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, =sub_8176EE8
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, =gUnknown_085E6FD0
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl sub_817B88C
- b _08176C2C
- .pool
-_08176BD8:
- ldr r0, =gUnknown_085F5344
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F53AC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5354
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F5384
- bl LoadSpritePalettes
- movs r0, 0x78
- movs r1, 0x2E
- bl sub_817B88C
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- strh r2, [r4, 0x12]
- ldr r6, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r2, r0, r5
- ldr r1, =sub_8176EE8
- str r1, [r2]
- adds r6, 0x8
- adds r0, r6
- ldr r1, =gUnknown_085E6FD0
- str r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x2E
- bl sub_817B834
-_08176C2C:
- lsls r0, 24
- lsrs r2, r0, 24
- strh r2, [r4, 0x14]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r5
- ldr r1, =sub_8176F90
- str r1, [r5]
- adds r0, r6
- ldr r1, =gUnknown_085E7010
- str r1, [r0]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08176C96
- .pool
-_08176C80:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_817664C
- adds r0, r4, 0
- bl sub_817B3A8
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- b _08176C98
-_08176C96:
- movs r0, 0
-_08176C98:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8176AB0
-
- thumb_func_start sub_8176CA0
-sub_8176CA0: @ 8176CA0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CC6
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0x8]
-_08176CC6:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CDC
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xA]
-_08176CDC:
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176CF2
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xC]
-_08176CF2:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08176D08
- lsls r0, r1, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- strh r0, [r4, 0xE]
-_08176D08:
- ldr r1, =gUnknown_0203BD28
- movs r0, 0x1
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176CA0
-
- thumb_func_start sub_8176D1C
-sub_8176D1C: @ 8176D1C
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r4, 16
- lsrs r5, r4, 16
- ldr r0, =gUnknown_085E5770
- movs r6, 0xC0
- lsls r6, 19
- adds r3, r6
- adds r1, r3, 0
- bl LZ77UnCompVram
- ldr r0, =gIntroCopyright_Pal
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- lsrs r4, 20
- lsls r4, 28
- lsrs r4, 16
- movs r1, 0
- adds r4, 0x1
- ldr r2, =0x000003ff
-_08176D52:
- lsls r0, r1, 1
- adds r0, r7
- adds r0, r6
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08176D52
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176D1C
-
- thumb_func_start sub_8176D78
-sub_8176D78: @ 8176D78
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- movs r0, 0x3F
- ands r0, r2
- adds r1, r0, 0
- adds r1, 0x50
- cmp r2, 0xFF
- bne _08176D90
- movs r0, 0x1
- b _08176DB6
-_08176D90:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08176DA0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08176DA0:
- movs r0, 0x40
- ands r3, r0
- cmp r3, 0
- beq _08176DB4
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
-_08176DB4:
- adds r0, r1, 0
-_08176DB6:
- pop {r1}
- bx r1
- thumb_func_end sub_8176D78
-
- thumb_func_start sub_8176DBC
-sub_8176DBC: @ 8176DBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x8]
- lsls r0, 16
- lsrs r0, 20
- lsls r0, 28
- lsrs r0, 16
- mov r9, r0
- movs r5, 0
-_08176DEA:
- movs r4, 0
- lsls r7, r5, 1
- ldr r1, [sp, 0x4]
- adds r0, r1, r5
- adds r2, r5, 0x1
- mov r8, r2
- lsls r0, 6
- ldr r1, [sp, 0x8]
- adds r6, r0, r1
-_08176DFC:
- adds r0, r7, r5
- adds r0, r4
- ldr r2, [sp]
- adds r0, r2, r0
- ldrb r0, [r0]
- bl sub_8176D78
- mov r2, r10
- adds r1, r2, r4
- lsls r1, 1
- adds r1, r6
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- add r0, r9
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08176DFC
- mov r1, r8
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08176DEA
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8176DBC
-
- thumb_func_start sub_8176E40
-sub_8176E40: @ 8176E40
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsrs r1, 20
- lsls r1, 28
- lsrs r1, 16
- movs r2, 0
- ldr r7, =gUnknown_085E5BAC
- movs r4, 0xC0
- lsls r4, 19
- adds r1, 0x1
- ldr r3, =0x000003ff
-_08176E5E:
- lsls r0, r2, 1
- adds r0, r5
- adds r0, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08176E5E
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0x3
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BBB
- str r6, [sp]
- movs r1, 0x7
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r4, =gUnknown_085E5BCA
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BD9
- str r6, [sp]
- movs r1, 0x14
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- ldr r0, =gUnknown_085E5BE8
- str r6, [sp]
- movs r1, 0x18
- movs r2, 0x7
- adds r3, r5, 0
- bl sub_8176DBC
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8176E40
-
- thumb_func_start sub_8176EE8
-sub_8176EE8: @ 8176EE8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08176F04
- adds r0, r4, 0
- bl DestroySprite
- b _08176F88
- .pool
-_08176F04:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bhi _08176F88
- lsls r0, 2
- ldr r1, =_08176F1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08176F1C:
- .4byte _08176F34
- .4byte _08176F3E
- .4byte _08176F44
- .4byte _08176F4E
- .4byte _08176F58
- .4byte _08176F6E
-_08176F34:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F3E:
- adds r0, r4, 0
- movs r1, 0x1
- b _08176F72
-_08176F44:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F4E:
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
- b _08176F88
-_08176F58:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- ble _08176F88
- subs r0, r1, 0x1
- b _08176F86
-_08176F6E:
- adds r0, r4, 0
- movs r1, 0
-_08176F72:
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08176F88
- subs r0, r2, 0x1
-_08176F86:
- strh r0, [r4, 0x20]
-_08176F88:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8176EE8
-
- thumb_func_start sub_8176F90
-sub_8176F90: @ 8176F90
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08176FAC
- adds r0, r4, 0
- bl DestroySprite
- b _08177048
- .pool
-_08176FAC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08176FD4
- cmp r0, 0x1
- bgt _08176FBE
- cmp r0, 0
- beq _08176FC8
- b _08177048
-_08176FBE:
- cmp r0, 0x2
- beq _08177010
- cmp r0, 0x3
- beq _0817702E
- b _08177048
-_08176FC8:
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- b _08177048
-_08176FD4:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- ble _08176FE6
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _08176FEE
-_08176FE6:
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnimIfDifferent
-_08176FEE:
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08177000
- subs r0, r2, 0x2
- strh r0, [r4, 0x20]
-_08177000:
- ldr r0, =gUnknown_0203BD26
- ldrh r0, [r0]
- negs r0, r0
- strh r0, [r4, 0x26]
- b _08177048
- .pool
-_08177010:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r1, [r4, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08177048
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _08177046
-_0817702E:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _08177048
- subs r0, r2, 0x1
-_08177046:
- strh r0, [r4, 0x20]
-_08177048:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8176F90
-
- thumb_func_start sub_8177050
-sub_8177050: @ 8177050
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0817706C
- ldrh r0, [r5, 0x3A]
- bl sub_818D820
- b _0817721C
- .pool
-_0817706C:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0xA
- bhi _081770B4
- lsls r0, 2
- ldr r1, =_08177088
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08177088:
- .4byte _081770B4
- .4byte _0817710E
- .4byte _08177190
- .4byte _081771C6
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081770B4
- .4byte _081771FE
- .4byte _08177206
-_081770B4:
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
- movs r0, 0x10
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 9
- movs r1, 0x10
- bl __divsi3
- adds r1, r0, 0
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- b _0817721C
-_0817710E:
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0xFF
- bgt _08177144
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r5, 0x32]
- ldrh r4, [r5, 0x30]
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- b _0817714A
-_08177144:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0817714A:
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- cmp r1, 0x2
- beq _0817721C
- cmp r1, 0x2
- bgt _0817715C
- cmp r1, 0x1
- beq _08177162
- b _0817721C
-_0817715C:
- cmp r1, 0x3
- beq _0817717A
- b _0817721C
-_08177162:
- ldrh r1, [r5, 0x3C]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08177172
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08177172:
- ldrh r0, [r5, 0x20]
- subs r0, 0x2
- strh r0, [r5, 0x20]
- b _0817721C
-_0817717A:
- ldrh r0, [r5, 0x3C]
- ands r1, r0
- cmp r1, 0
- bne _08177188
- ldrh r0, [r5, 0x22]
- adds r0, 0x1
- strh r0, [r5, 0x22]
-_08177188:
- ldrh r0, [r5, 0x20]
- adds r0, 0x2
- strh r0, [r5, 0x20]
- b _0817721C
-_08177190:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _081771A0
- subs r0, r1, 0x1
- strh r0, [r5, 0x34]
- b _0817721C
-_081771A0:
- movs r1, 0xF4
- lsls r1, 4
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- ldrb r1, [r5, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- b _081771FE
-_081771C6:
- ldrh r1, [r5, 0x34]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _081771EC
- subs r1, 0x1
- strh r1, [r5, 0x34]
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- b _0817721C
-_081771EC:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x9
- strh r0, [r5, 0x2E]
- b _0817721C
-_081771FE:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _0817721C
-_08177206:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- ldrh r0, [r5, 0x3A]
- bl sub_818D820
-_0817721C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8177050
-
- thumb_func_start sub_8177224
-sub_8177224: @ 8177224
- push {r4-r7,lr}
- adds r5, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r3, r5, 0
- bl sub_80C0E9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r2, r1, r6
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r2, 0x5]
- adds r0, r5, 0x1
- strh r0, [r2, 0x30]
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- orrs r0, r3
- mov r3, r12
- strb r0, [r3]
- adds r0, r6, 0
- adds r0, 0x1C
- adds r1, r0
- ldr r0, =sub_8177050
- str r0, [r1]
- strh r4, [r2, 0x3A]
- ldr r0, =gUnknown_085E7068
- movs r7, 0x20
- ldrsh r1, [r2, r7]
- movs r3, 0x22
- ldrsh r2, [r2, r3]
- movs r3, 0x1
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x2E]
- lsls r5, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8177224
-
- thumb_func_start sub_81772B8
-sub_81772B8: @ 81772B8
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, =gSprites
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0xA
- beq _081772DC
- ldr r0, =gUnknown_0203BD28
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _081772EC
-_081772DC:
- adds r0, r3, 0
- bl DestroySprite
- b _08177380
- .pool
-_081772EC:
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r1, 0x4
- ands r1, r0
- mov r0, r12
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r0, 0xC
- ands r0, r1
- ldrb r2, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r2, 0x4
- negs r2, r2
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- movs r1, 0x3E
- ands r1, r0
- ldrb r2, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x3]
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r3, 0x20]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r3, 0x22]
-_08177380:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81772B8
-
- thumb_func_start sub_8177388
-sub_8177388: @ 8177388
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =0x00004023
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- bl GetStarterPokemon
- lsls r0, 16
- lsrs r0, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- movs r4, 0x1
- movs r6, 0
- ldr r5, =0x00000181
-_081773B4:
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _081773D4
- ldr r0, =gUnknown_0203BCE8
- ldr r0, [r0]
- lsls r1, r6, 1
- adds r0, 0x96
- adds r0, r1
- strh r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081773D4:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bls _081773B4
- adds r4, r6, 0
- ldr r0, =0x00000181
- ldr r1, =gUnknown_0203BCE8
- mov r8, r1
- lsls r7, r4, 16
- cmp r4, r0
- bhi _08177406
- mov r5, r8
- movs r3, 0
- adds r2, r0, 0
-_081773F2:
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x96
- adds r0, r1
- strh r3, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bls _081773F2
-_08177406:
- mov r2, r8
- ldr r1, [r2]
- ldr r2, =0x0000039a
- adds r0, r1, r2
- strh r6, [r0]
- lsrs r0, r7, 16
- cmp r0, 0x46
- bhi _08177430
- adds r0, r1, 0
- adds r0, 0x94
- strh r6, [r0]
- b _08177436
- .pool
-_08177430:
- adds r1, 0x94
- movs r0, 0x47
- strh r0, [r1]
-_08177436:
- movs r6, 0
- ldr r0, =gUnknown_0203BCE8
- mov r9, r0
- ldr r1, =0x0000039a
- mov r8, r1
- movs r7, 0
- b _08177450
- .pool
-_0817744C:
- cmp r6, 0x46
- bhi _081774AC
-_08177450:
- bl Random
- mov r2, r9
- ldr r4, [r2]
- mov r1, r8
- adds r5, r4, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r5]
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, r6, 1
- adds r1, r4, r1
- lsls r0, r3, 1
- adds r4, 0x96
- adds r2, r4, r0
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- strh r7, [r2]
- ldrh r0, [r5]
- subs r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- lsrs r0, 16
- cmp r3, r0
- beq _081774A0
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldrh r0, [r5]
- lsls r0, 1
- adds r0, r4, r0
- strh r7, [r0]
-_081774A0:
- mov r2, r9
- ldr r0, [r2]
- add r0, r8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0817744C
-_081774AC:
- ldr r1, =gUnknown_0203BCE8
- ldr r2, [r1]
- adds r3, r2, 0
- adds r3, 0x94
- ldrh r0, [r3]
- mov r8, r1
- cmp r0, 0x46
- bhi _081774F8
- adds r6, r0, 0
- movs r3, 0
- cmp r6, 0x46
- bhi _081774EE
- mov r4, r8
-_081774C6:
- ldr r2, [r4]
- lsls r1, r6, 1
- adds r1, r2, r1
- lsls r0, r3, 1
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x94
- ldrh r2, [r2]
- cmp r3, r2
- bne _081774E4
- movs r3, 0
-_081774E4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x46
- bls _081774C6
-_081774EE:
- mov r1, r8
- ldr r0, [r1]
- b _08177538
- .pool
-_081774F8:
- movs r4, 0
- ldrh r0, [r2]
- cmp r0, r10
- beq _08177516
- adds r1, r2, 0
-_08177502:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- cmp r0, r10
- beq _08177516
- cmp r4, 0x46
- bls _08177502
-_08177516:
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x94
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- bge _08177536
- lsls r0, r4, 1
- adds r0, r2, r0
- adds r2, 0x8C
- ldrh r1, [r2]
- strh r1, [r0]
- mov r1, r10
- strh r1, [r2]
- b _0817753E
-_08177536:
- adds r0, r2, 0
-_08177538:
- adds r0, 0x8C
- mov r2, r10
- strh r2, [r0]
-_0817753E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x94
- movs r1, 0x47
- strh r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8177388
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/crt0.s b/asm/crt0.s
index 0b14a1469..9ed678968 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -68,8 +68,8 @@ GPIOPortReadEnable: @ 80000C8
.4byte gAbilityDescriptionPointers
.4byte gItems
.4byte gBattleMoves
- .4byte gUnknown_0832C400
- .4byte gUnknown_0832C460
+ .4byte gBallSpriteSheets
+ .4byte gBallSpritePalettes
.4byte 0x000000a8, 0x00000864, 0x0000089b
diff --git a/asm/dewford_trend.s b/asm/dewford_trend.s
deleted file mode 100644
index 89f89c4e0..000000000
--- a/asm/dewford_trend.s
+++ /dev/null
@@ -1,975 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start InitDewfordTrend
-InitDewfordTrend: @ 81224D4
- push {r4-r7,lr}
- movs r6, 0
- ldr r5, =gSaveBlock1Ptr
-_081224DA:
- movs r0, 0xA
- bl sub_811EE38
- ldr r1, [r5]
- lsls r4, r6, 3
- adds r1, r4
- ldr r2, =0x00002e6c
- adds r1, r2
- strh r0, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08122514
- movs r0, 0xC
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r7, =0x00002e6e
- adds r1, r7
- b _08122522
- .pool
-_08122514:
- movs r0, 0xD
- bl sub_811EE38
- ldr r1, [r5]
- adds r1, r4
- ldr r2, =0x00002e6e
- adds r1, r2
-_08122522:
- strh r0, [r1]
- bl Random
- ldr r3, [r5]
- adds r3, r4
- movs r2, 0x1
- ands r2, r0
- ldr r7, =0x00002e69
- adds r3, r7
- lsls r2, 6
- ldrb r0, [r3]
- movs r7, 0x41
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- ldr r0, =0x00002e68
- adds r1, r4, r0
- ldr r0, [r5]
- adds r0, r1
- bl sub_8122B28
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081224DA
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitDewfordTrend
-
- thumb_func_start sub_8122580
-sub_8122580: @ 8122580
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08122596
- b _081226BE
-_08122596:
- lsls r0, r1, 2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- movs r1, 0x7F
- mov r9, r1
- movs r2, 0x80
- negs r2, r2
- mov r8, r2
-_081225AA:
- ldr r2, [sp]
- mov r3, r10
- lsls r0, r3, 3
- ldr r4, =0x00002e68
- adds r0, r4
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- adds r5, r1, r0
- ldrb r6, [r5, 0x1]
- movs r0, 0x40
- ands r0, r6
- cmp r0, 0
- bne _08122608
- ldrb r4, [r5]
- lsls r3, r4, 25
- lsrs r1, r3, 25
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcc _081225F8
- adds r0, r1, 0
- subs r0, r2
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r4
- orrs r1, r0
- strb r1, [r5]
- movs r0, 0x7F
- ands r1, r0
- cmp r1, 0
- bne _0812269E
- movs r0, 0x40
- orrs r0, r6
- b _0812269C
- .pool
-_081225F8:
- lsrs r0, r3, 25
- subs r2, r0
- mov r0, r8
- ands r0, r4
- strb r0, [r5]
- movs r0, 0x40
- orrs r0, r6
- strb r0, [r5, 0x1]
-_08122608:
- ldrb r7, [r5]
- lsls r0, r7, 25
- lsrs r0, 25
- adds r4, r0, r2
- ldrh r0, [r5]
- lsls r6, r0, 18
- lsls r0, r4, 16
- lsrs r0, 16
- lsrs r1, r6, 25
- cmp r0, r1
- bls _08122678
- adds r0, r4, 0
- bl __umodsi3
- adds r3, r0, 0
- lsrs r1, r6, 25
- adds r0, r4, 0
- str r3, [sp, 0x4]
- bl __udivsi3
- adds r4, r0, 0
- movs r0, 0x1
- eors r4, r0
- ands r4, r0
- lsls r2, r4, 6
- ldrb r0, [r5, 0x1]
- movs r4, 0x41
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x1]
- movs r1, 0x40
- ands r0, r1
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _08122662
- adds r1, r3, 0
- mov r0, r9
- ands r1, r0
- mov r0, r8
- ands r0, r7
- orrs r0, r1
- strb r0, [r5]
- b _0812269E
-_08122662:
- ldrh r0, [r5]
- lsls r0, 18
- lsrs r0, 25
- subs r0, r3
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r7
- orrs r1, r0
- strb r1, [r5]
- b _0812269E
-_08122678:
- mov r2, r9
- ands r4, r2
- mov r0, r8
- ands r0, r7
- orrs r0, r4
- strb r0, [r5]
- lsls r0, 25
- ldrh r1, [r5]
- lsls r1, 18
- lsrs r0, 25
- lsrs r1, 25
- cmp r0, r1
- bne _0812269E
- ldrb r0, [r5, 0x1]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
-_0812269C:
- strb r0, [r5, 0x1]
-_0812269E:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- cmp r0, 0x4
- bhi _081226AE
- b _081225AA
-_081226AE:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00002e68
- adds r0, r1
- movs r1, 0x5
- movs r2, 0
- bl sub_8122804
-_081226BE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122580
-
- thumb_func_start sub_81226D8
-sub_81226D8: @ 81226D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, r8
- bl sub_8122BB0
- lsls r0, 24
- cmp r0, 0
- beq _081226F8
- b _081227F2
-_081226F8:
- ldr r4, =0x00000893
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- adds r0, r4, 0
- bl FlagSet
- ldr r0, =0x00000894
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08122744
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- mov r0, r8
- ldrh r2, [r0]
- ldr r3, =0x00002e6c
- adds r0, r1, r3
- strh r2, [r0]
- mov r2, r8
- ldrh r0, [r2, 0x2]
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- movs r0, 0x1
- b _081227F4
- .pool
-_08122744:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- lsls r1, 16
- ldrh r0, [r0]
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x80
- lsls r1, 7
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8122B28
- movs r5, 0
-_08122762:
- ldr r6, =gSaveBlock1Ptr
- lsls r4, r5, 3
- ldr r1, =0x00002e68
- adds r0, r4, r1
- ldr r1, [r6]
- adds r1, r0
- mov r0, sp
- movs r2, 0
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _081227D4
- movs r2, 0x4
- mov r12, r6
- cmp r2, r5
- bls _081227A6
- ldr r4, =0x00002e68
-_08122788:
- ldr r0, [r6]
- lsls r3, r2, 3
- adds r0, r4
- adds r3, r0, r3
- subs r2, 0x1
- lsls r1, r2, 3
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r3]
- str r1, [r3, 0x4]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, r5
- bhi _08122788
-_081227A6:
- mov r3, r12
- ldr r2, [r3]
- ldr r0, =0x00002e68
- adds r2, r0
- adds r2, r7
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r5, 0x4
- bne _081227C2
- mov r0, r8
- bl sub_80EDC60
-_081227C2:
- movs r0, 0
- cmp r5, 0
- bne _081227F4
- movs r0, 0x1
- b _081227F4
- .pool
-_081227D4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _08122762
- ldr r2, [r6]
- ldr r1, =0x00002e88
- adds r2, r1
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r8
- bl sub_80EDC60
-_081227F2:
- movs r0, 0
-_081227F4:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81226D8
-
- thumb_func_start sub_8122804
-sub_8122804: @ 8122804
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r2, 0
- cmp r2, r7
- bcs _0812286C
-_08122820:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r7
- bcs _08122862
- lsls r0, r2, 3
- mov r1, r9
- adds r6, r1, r0
-_08122832:
- lsls r0, r5, 3
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r10
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- cmp r0, 0
- beq _08122858
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r6]
- str r3, [r6, 0x4]
-_08122858:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- bcc _08122832
-_08122862:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _08122820
-_0812286C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122804
-
- thumb_func_start sub_812287C
-sub_812287C: @ 812287C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- bl Alloc
- mov r10, r0
- cmp r0, 0
- beq _08122980
- adds r0, r4, 0
- bl Alloc
- adds r7, r0, 0
- cmp r7, 0
- bne _081228B0
- mov r0, r10
- bl Free
- b _08122980
-_081228B0:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- cmp r5, r9
- bcs _081228DE
-_081228C0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r10
- adds r1, r5, 0
- muls r1, r6
- add r1, r8
- movs r2, 0x28
- bl memcpy
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228C0
-_081228DE:
- mov r4, r10
- mov r8, r7
- movs r3, 0
- movs r5, 0
- cmp r5, r9
- bcs _08122946
-_081228EA:
- movs r6, 0
-_081228EC:
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r3, 0
- str r3, [sp]
- bl sub_8122C1C
- lsls r0, 16
- asrs r0, 16
- ldr r3, [sp]
- cmp r0, 0
- bge _08122918
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _08122930
-_08122918:
- lsls r0, 3
- adds r2, r7, r0
- ldrb r1, [r2]
- lsls r1, 25
- ldrb r0, [r4]
- lsls r0, 25
- cmp r1, r0
- bcs _08122930
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
-_08122930:
- adds r4, 0x8
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _081228EC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r9
- bcc _081228EA
-_08122946:
- adds r0, r7, 0
- adds r1, r3, 0
- movs r2, 0x2
- bl sub_8122804
- adds r4, r7, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e68
- adds r1, r0
- mov r8, r1
- movs r5, 0
-_0812295E:
- ldm r4!, {r0,r1}
- mov r2, r8
- adds r2, 0x8
- mov r8, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0812295E
- mov r0, r10
- bl Free
- adds r0, r7, 0
- bl Free
-_08122980:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812287C
-
- thumb_func_start sub_8122998
-sub_8122998: @ 8122998
- push {lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r1, 3
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =gStringVar1
- ldr r2, =0x00002e6c
- adds r1, r2
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122998
-
- thumb_func_start sub_81229C8
-sub_81229C8: @ 81229C8
- push {r4,lr}
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r1, =0x00002e68
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 25
- ldr r2, =0x00002e70
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 25
- subs r1, r0
- cmp r1, 0x1
- bgt _08122A0C
- ldr r1, =0x00002e69
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08122A0C
- ldr r1, =0x00002e71
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_08122A0C:
- ldr r0, =gSpecialVar_Result
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81229C8
-
- thumb_func_start sub_8122A30
-sub_8122A30: @ 8122A30
- ldr r2, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00002e6c
- adds r1, r0, r3
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8122A30
-
- thumb_func_start atk90_changetypestoenemyattacktype
-atk90_changetypestoenemyattacktype: @ 8122A58
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2, 0
- cmp r2, 0x1
- beq _08122A9E
- cmp r2, 0x1
- bgt _08122A72
- cmp r2, 0
- beq _08122A78
- b _08122B1A
-_08122A72:
- cmp r0, 0x2
- beq _08122ACA
- b _08122B1A
-_08122A78:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r3, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- b _08122AC2
-_08122A9E:
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
-_08122AC2:
- cmp r1, r0
- bcs _08122B1A
-_08122AC6:
- movs r0, 0
- b _08122B22
-_08122ACA:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _08122B16
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x2]
- ldrh r0, [r5, 0x2]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
- ldrh r1, [r3, 0x6]
- ldrh r0, [r5, 0x6]
- cmp r1, r0
- bhi _08122B16
- cmp r1, r0
- bcc _08122AC6
-_08122B16:
- movs r0, 0x1
- b _08122B22
-_08122B1A:
- bl Random
- movs r1, 0x1
- ands r0, r1
-_08122B22:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end atk90_changetypestoenemyattacktype
-
- thumb_func_start sub_8122B28
-sub_8122B28: @ 8122B28
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x32
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x50
- bls _08122B6A
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08122B6A:
- adds r1, r4, 0
- adds r1, 0x1E
- movs r0, 0x7F
- ands r1, r0
- lsls r1, 7
- ldrh r2, [r5]
- ldr r0, =0xffffc07f
- ands r0, r2
- orrs r0, r1
- strh r0, [r5]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0x1
- bl __modsi3
- adds r0, 0x1E
- movs r1, 0x7F
- ands r0, r1
- ldrb r2, [r5]
- movs r1, 0x80
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5]
- bl Random
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122B28
-
- thumb_func_start sub_8122BB0
-sub_8122BB0: @ 8122BB0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
-_08122BB8:
- lsls r1, r4, 3
- ldr r0, [r6]
- adds r1, r0
- ldr r0, =0x00002e6c
- adds r1, r0
- adds r0, r5, 0
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122BDC
- movs r0, 0x1
- b _08122BE8
- .pool
-_08122BDC:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _08122BB8
- movs r0, 0
-_08122BE8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BB0
-
- thumb_func_start sub_8122BF0
-sub_8122BF0: @ 8122BF0
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r4, 0
-_08122BF8:
- ldrh r1, [r3]
- ldrh r0, [r2]
- adds r2, 0x2
- adds r3, 0x2
- cmp r1, r0
- beq _08122C08
- movs r0, 0
- b _08122C14
-_08122C08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08122BF8
- movs r0, 0x1
-_08122C14:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8122BF0
-
- thumb_func_start sub_8122C1C
-sub_8122C1C: @ 8122C1C
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- lsls r2, 16
- lsrs r6, r2, 16
- movs r4, 0
- cmp r4, r6
- bge _08122C52
-_08122C2C:
- adds r1, r5, 0x4
- adds r0, r7, 0x4
- bl sub_8122BF0
- lsls r0, 24
- cmp r0, 0
- beq _08122C40
- lsls r0, r4, 16
- asrs r0, 16
- b _08122C56
-_08122C40:
- adds r5, 0x8
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r6
- blt _08122C2C
-_08122C52:
- movs r0, 0x1
- negs r0, r0
-_08122C56:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8122C1C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/easy_chat.s b/asm/easy_chat.s
index abc2e3429..8b793ab40 100644
--- a/asm/easy_chat.s
+++ b/asm/easy_chat.s
@@ -369,7 +369,7 @@ _0811AF86:
thumb_func_start sub_811AF8C
sub_811AF8C: @ 811AF8C
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -418,7 +418,7 @@ _0811AFE6:
thumb_func_start sub_811AFEC
sub_811AFEC: @ 811AFEC
push {r4,lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -461,7 +461,7 @@ _0811B03A:
thumb_func_start sub_811B040
sub_811B040: @ 811B040
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -566,7 +566,7 @@ sub_811B0E8: @ 811B0E8
thumb_func_start sub_811B0F8
sub_811B0F8: @ 811B0F8
push {r4,lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -2425,7 +2425,7 @@ sub_811BDF0: @ 811BDF0
adds r6, r0, 0
ldr r0, =gSaveBlock1Ptr
ldr r4, [r0]
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, =0x00003b70
adds r5, r4, r0
adds r0, r5, 0
@@ -2441,17 +2441,17 @@ sub_811BDF0: @ 811BDF0
bl TVShowConvertInternationalString
movs r0, 0
mov r1, sp
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _0811BE3C
.pool
_0811BE34:
ldr r1, =gText_Lady
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_0811BE3C:
ldr r1, =gText_F700sQuiz
adds r0, r6, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
add sp, 0x20
pop {r4-r6}
pop {r0}
@@ -2700,14 +2700,14 @@ _0811BFE0:
b _0811C124
.pool
_0811C044:
- ldr r1, =gUnknown_08DCBDD0
+ ldr r1, =gEasyChatWindow_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x3
movs r2, 0
movs r3, 0
bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DCBF10
+ ldr r1, =gEasyChatWindow_Tilemap
movs r0, 0x3
movs r2, 0
movs r3, 0
@@ -4544,7 +4544,7 @@ sub_811CF04: @ 811CF04
sub_811CF64: @ 811CF64
push {r4,lr}
bl ResetPaletteFade
- ldr r0, =gUnknown_08DCBDB0
+ ldr r0, =gEasyChatMode_Pal
movs r1, 0
movs r2, 0x20
bl LoadPalette
@@ -4722,7 +4722,7 @@ sub_811D0BC: @ 811D0BC
movs r0, 0x1
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x1
movs r1, 0x1
movs r2, 0xE
@@ -4809,7 +4809,7 @@ _0811D19C:
b _0811D1BC
.pool
_0811D1A8:
- ldr r0, =gText_CombineTwoWordsOrPhrases
+ ldr r0, =gText_CombineTwoWordsOrPhrases3
str r0, [sp, 0xC]
b _0811D1BC
.pool
@@ -7722,7 +7722,7 @@ _0811E852:
adds r1, r5, 0
movs r2, 0x4C
movs r3, 0x28
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
@@ -7753,7 +7753,7 @@ _0811E8A0:
adds r1, r5, 0
movs r2, 0x34
movs r3, 0x28
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
@@ -7977,8 +7977,8 @@ _0811EA68:
bx r1
thumb_func_end sub_811EA28
- thumb_func_start start_menu_is_selected_item_valid
-start_menu_is_selected_item_valid: @ 811EA6C
+ thumb_func_start EasyChat_GetNumWordsInGroup
+EasyChat_GetNumWordsInGroup: @ 811EA6C
push {r4,lr}
lsls r0, 24
lsrs r0, 24
@@ -7986,7 +7986,7 @@ start_menu_is_selected_item_valid: @ 811EA6C
cmp r0, 0
bne _0811EA84
movs r0, 0
- bl pokedex_count
+ bl GetNationalPokedexCount
lsls r0, 16
lsrs r0, 16
b _0811EA9A
@@ -8007,7 +8007,7 @@ _0811EA9A:
pop {r1}
bx r1
.pool
- thumb_func_end start_menu_is_selected_item_valid
+ thumb_func_end EasyChat_GetNumWordsInGroup
thumb_func_start sub_811EAA4
sub_811EAA4: @ 811EAA4
@@ -8879,7 +8879,7 @@ sub_811F0F8: @ 811F0F8
sub_811F108: @ 811F108
push {r4-r7,lr}
movs r0, 0
- bl start_menu_is_selected_item_valid
+ bl EasyChat_GetNumWordsInGroup
lsls r0, 16
lsrs r4, r0, 16
cmp r4, 0
@@ -9103,7 +9103,7 @@ sub_811F2D4: @ 811F2D4
movs r5, 0
strh r5, [r0]
movs r0, 0
- bl pokedex_count
+ bl GetNationalPokedexCount
lsls r0, 16
cmp r0, 0
beq _0811F2FC
diff --git a/asm/field_camera.s b/asm/field_camera.s
deleted file mode 100644
index 35359f444..000000000
--- a/asm/field_camera.s
+++ /dev/null
@@ -1,1153 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner_
-@ void move_tilemap_camera_to_upper_left_corner_(struc_28 *a1)
-move_tilemap_camera_to_upper_left_corner_: @ 8089B58
- movs r1, 0
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- strb r1, [r0]
- strb r1, [r0, 0x1]
- movs r1, 0x1
- strb r1, [r0, 0x4]
- bx lr
- thumb_func_end move_tilemap_camera_to_upper_left_corner_
-
- thumb_func_start tilemap_move_something
-@ void tilemap_move_something(struct struc_28 *, u8 deltaX, u8 deltaY)
-tilemap_move_something: @ 8089B68
- ldrb r3, [r0, 0x2]
- adds r3, r1
- strb r3, [r0, 0x2]
- ldrb r1, [r0, 0x2]
- movs r3, 0x1F
- ands r1, r3
- strb r1, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- adds r1, r2
- strb r1, [r0, 0x3]
- ldrb r1, [r0, 0x3]
- ands r1, r3
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end tilemap_move_something
-
- thumb_func_start coords8_add
-@ void coords8_add(struct coords8 *coords, u8 x, u8 y)
-coords8_add: @ 8089B84
- ldrb r3, [r0]
- adds r3, r1
- strb r3, [r0]
- ldrb r1, [r0, 0x1]
- adds r1, r2
- strb r1, [r0, 0x1]
- bx lr
- thumb_func_end coords8_add
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner
-@ void move_tilemap_camera_to_upper_left_corner()
-move_tilemap_camera_to_upper_left_corner: @ 8089B94
- push {lr}
- ldr r0, =gUnknown_03000E20
- bl move_tilemap_camera_to_upper_left_corner_
- pop {r0}
- bx r0
- .pool
- thumb_func_end move_tilemap_camera_to_upper_left_corner
-
- thumb_func_start FieldUpdateBgTilemapScroll
-@ void FieldUpdateBgTilemapScroll()
-FieldUpdateBgTilemapScroll: @ 8089BA4
- push {r4,r5,lr}
- ldr r1, =gUnknown_03000E20
- ldr r0, =gUnknown_03000E28
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldrb r0, [r1]
- adds r5, r0
- ldr r0, =gUnknown_03000E2A
- movs r2, 0
- ldrsh r4, [r0, r2]
- ldrb r1, [r1, 0x1]
- adds r4, r1
- adds r4, 0x8
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x14
- adds r1, r5, 0
- bl SetGpuReg
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x16
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x18
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x1C
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1E
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldUpdateBgTilemapScroll
-
- thumb_func_start sub_8089C08
-sub_8089C08: @ 8089C08
- push {r4,lr}
- ldr r3, =gUnknown_03000E20
- ldr r2, =gUnknown_03000E28
- ldrh r2, [r2]
- ldrb r4, [r3]
- adds r2, r4
- strh r2, [r0]
- ldr r0, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrb r3, [r3, 0x1]
- adds r0, r3
- adds r0, 0x8
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8089C08
-
- thumb_func_start DrawWholeMapView
-@ void DrawWholeMapView()
-DrawWholeMapView: @ 8089C34
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r2, =gMapHeader
- ldr r2, [r2]
- bl DrawWholeMapViewInternal
- ldr r1, =gUnknown_03000E20
- movs r0, 0x1
- strb r0, [r1, 0x4]
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWholeMapView
-
- thumb_func_start DrawWholeMapViewInternal
-@ void DrawWholeMapViewInternal(s32 x, s32 y, struct mapdata_header *mapGrid)
-DrawWholeMapViewInternal: @ 8089C60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- mov r9, r1
- mov r8, r2
- movs r1, 0
-_08089C74:
- ldr r2, =gUnknown_03000E20
- ldrb r0, [r2, 0x3]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089C88
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089C88:
- lsls r6, r0, 5
- movs r4, 0
- adds r7, r1, 0x2
- str r7, [sp]
- lsrs r5, r1, 1
-_08089C92:
- ldr r1, =gUnknown_03000E20
- ldrb r0, [r1, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089CA6
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089CA6:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r4, 1
- add r2, r10
- mov r0, r8
- mov r7, r9
- adds r3, r7, r5
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089C92
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _08089C74
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWholeMapViewInternal
-
- thumb_func_start RedrawMapSlicesForCameraUpdate
-@ void RedrawMapSlicesForCameraUpdate(struct struc_28 *, u8 deltaX, u8 deltaY)
-RedrawMapSlicesForCameraUpdate: @ 8089CE4
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r0, =gMapHeader
- ldr r4, [r0]
- cmp r6, 0
- ble _08089CFC
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceWest
-_08089CFC:
- cmp r6, 0
- bge _08089D08
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceEast
-_08089D08:
- cmp r7, 0
- ble _08089D14
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceNorth
-_08089D14:
- cmp r7, 0
- bge _08089D20
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceSouth
-_08089D20:
- movs r0, 0x1
- strb r0, [r5, 0x4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSlicesForCameraUpdate
-
- thumb_func_start RedrawMapSliceNorth
-@ void RedrawMapSliceNorth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceNorth: @ 8089D30
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D48
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D48:
- lsls r6, r0, 5
- movs r4, 0
-_08089D4C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089D5E
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089D5E:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r3, 0xE
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D4C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceNorth
-
- thumb_func_start RedrawMapSliceSouth
-@ void RedrawMapSliceSouth(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceSouth: @ 8089D90
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- lsls r6, r0, 5
- movs r4, 0
-_08089D9C:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DAE
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DAE:
- adds r1, r6, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r0, r7, 0
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089D9C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceSouth
-
- thumb_func_start RedrawMapSliceEast
-@ void RedrawMapSliceEast(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceEast: @ 8089DDC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- ldrb r6, [r5, 0x2]
- movs r4, 0
-_08089DEA:
- ldrb r0, [r5, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089DFC
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089DFC:
- lsls r1, r0, 5
- adds r1, r6
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089DEA
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceEast
-
- thumb_func_start RedrawMapSliceWest
-@ void RedrawMapSliceWest(struct struc_28 *, struct mapdata_header *mapGrid)
-RedrawMapSliceWest: @ 8089E34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- ldrb r0, [r6, 0x2]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1F
- bls _08089E52
- adds r0, r5, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r5, r0, 24
-_08089E52:
- movs r4, 0
-_08089E54:
- ldrb r0, [r6, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _08089E66
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_08089E66:
- lsls r1, r0, 5
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0xE
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl DrawMetatileAt
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _08089E54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMapSliceWest
-
- thumb_func_start CurrentMapDrawMetatileAt
-@ void CurrentMapDrawMetatileAt(u32 x, u32 y)
-CurrentMapDrawMetatileAt: @ 8089EA0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl MapPosToBgTilemapOffset
- adds r1, r0, 0
- cmp r1, 0
- blt _08089ECC
- ldr r0, =gMapHeader
- ldr r0, [r0]
- lsls r1, 16
- lsrs r1, 16
- adds r2, r4, 0
- adds r3, r5, 0
- bl DrawMetatileAt
- movs r0, 0x1
- strb r0, [r6, 0x4]
-_08089ECC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CurrentMapDrawMetatileAt
-
- thumb_func_start DrawDoorMetatileAt
-@ void DrawDoorMetatileAt(u32 x, u32 y, u16 *metatile)
-DrawDoorMetatileAt: @ 8089EDC
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r6, =gUnknown_03000E20
- adds r0, r6, 0
- adds r1, r3, 0
- adds r2, r4, 0
- bl MapPosToBgTilemapOffset
- cmp r0, 0
- blt _08089F04
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r5, 0
- bl DrawMetatile
- movs r0, 0x1
- strb r0, [r6, 0x4]
-_08089F04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawDoorMetatileAt
-
- thumb_func_start DrawMetatileAt
-@ void DrawMetatileAt(struct mapdata_header *mapGrid, u16 offset, s32 x, s32 y)
-DrawMetatileAt: @ 8089F10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x80
- lsls r0, 3
- cmp r4, r0
- bls _08089F38
- movs r4, 0
-_08089F38:
- ldr r0, =0x000001ff
- cmp r4, r0
- bhi _08089F48
- ldr r0, [r5, 0x10]
- ldr r5, [r0, 0xC]
- b _08089F54
- .pool
-_08089F48:
- ldr r0, [r5, 0x14]
- ldr r5, [r0, 0xC]
- ldr r1, =0xfffffe00
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_08089F54:
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileLayerTypeAt
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- adds r1, r5, r1
- mov r2, r8
- bl DrawMetatile
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMetatileAt
-
- thumb_func_start DrawMetatile
-@ void DrawMetatile(u32 layerType, u16 *metatile, u16 offset)
-DrawMetatile: @ 8089F78
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x1
- beq _08089FD0
- cmp r0, 0x1
- bgt _08089F8E
- cmp r0, 0
- beq _0808A030
- b _0808A082
-_08089F8E:
- cmp r0, 0x2
- bne _0808A082
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- movs r2, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- b _0808A066
- .pool
-_08089FD0:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4, 0x8]
- strh r1, [r0]
- ldrh r1, [r4, 0xA]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0xC]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0xE]
- strh r1, [r0]
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- movs r1, 0
- strh r1, [r3]
- strh r1, [r3, 0x2]
- adds r0, r3, 0
- adds r0, 0x40
- strh r1, [r0]
- adds r3, 0x42
- strh r1, [r3]
- b _0808A082
- .pool
-_0808A030:
- ldr r0, =gUnknown_03005DA4
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldr r1, =0x00003014
- adds r2, r1, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- ldr r0, =gUnknown_03005D9C
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
-_0808A066:
- ldr r0, =gUnknown_03005DA0
- ldr r0, [r0]
- adds r3, r0
- ldrh r0, [r4, 0x8]
- strh r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r3, 0x2]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r3, 0x42
- ldrh r0, [r4, 0xE]
- strh r0, [r3]
-_0808A082:
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawMetatile
-
- thumb_func_start MapPosToBgTilemapOffset
-@ u32 MapPosToBgTilemapOffset(struct struc_28 *, u32 x, u32 y)
-MapPosToBgTilemapOffset: @ 808A0AC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r5, 0
- ldrsh r0, [r3, r5]
- subs r1, r0
- lsls r1, 1
- cmp r1, 0x1F
- bhi _0808A0D6
- ldrb r0, [r4, 0x2]
- adds r1, r0
- cmp r1, 0x1F
- ble _0808A0CA
- subs r1, 0x20
-_0808A0CA:
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- subs r0, r2, r0
- lsls r2, r0, 1
- cmp r2, 0x1F
- bls _0808A0E0
-_0808A0D6:
- movs r0, 0x1
- negs r0, r0
- b _0808A0EE
- .pool
-_0808A0E0:
- ldrb r0, [r4, 0x3]
- adds r2, r0
- cmp r2, 0x1F
- ble _0808A0EA
- subs r2, 0x20
-_0808A0EA:
- lsls r0, r2, 5
- adds r0, r1
-_0808A0EE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MapPosToBgTilemapOffset
-
- thumb_func_start CameraUpdateCallback
-@ void CameraUpdateCallback(struct CameraUpdateInfo *info)
-CameraUpdateCallback: @ 808A0F4
- push {lr}
- adds r3, r0, 0
- ldr r2, [r3, 0x4]
- cmp r2, 0
- beq _0808A114
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0x32
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x8]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- str r0, [r3, 0xC]
-_0808A114:
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdateCallback
-
- thumb_func_start ResetCameraUpdateInfo
-@ void ResetCameraUpdateInfo()
-ResetCameraUpdateInfo: @ 808A11C
- ldr r1, =gUnknown_03005DD0
- movs r0, 0
- str r0, [r1, 0x8]
- str r0, [r1, 0xC]
- str r0, [r1, 0x10]
- str r0, [r1, 0x14]
- str r0, [r1, 0x4]
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end ResetCameraUpdateInfo
-
- thumb_func_start InitCameraUpdateCallback
-@ u8 InitCameraUpdateCallback(u8 followedObjectId)
-InitCameraUpdateCallback: @ 808A134
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gUnknown_03005DD0
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _0808A150
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_0808A150:
- adds r0, r5, 0
- bl AddCameraObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, =CameraUpdateCallback
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end InitCameraUpdateCallback
-
- thumb_func_start CameraUpdate
-@ void CameraUpdate()
-CameraUpdate: @ 808A174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, =gUnknown_03005DD0
- ldr r1, [r6]
- cmp r1, 0
- beq _0808A188
- adds r0, r6, 0
- bl _call_via_r1
-_0808A188:
- ldr r7, [r6, 0x8]
- ldr r0, [r6, 0xC]
- mov r8, r0
- movs r4, 0
- movs r5, 0
- ldr r1, [r6, 0x10]
- ldr r0, [r6, 0x14]
- cmp r1, 0
- bne _0808A1A6
- cmp r7, 0
- beq _0808A1A6
- subs r4, 0x1
- cmp r7, 0
- ble _0808A1A6
- movs r4, 0x1
-_0808A1A6:
- cmp r0, 0
- bne _0808A1BA
- mov r2, r8
- cmp r2, 0
- beq _0808A1BA
- movs r5, 0x1
- negs r5, r5
- cmp r2, 0
- ble _0808A1BA
- movs r5, 0x1
-_0808A1BA:
- cmp r1, 0
- beq _0808A1CC
- cmn r1, r7
- bne _0808A1CC
- movs r4, 0x1
- negs r4, r4
- cmp r7, 0
- ble _0808A1CC
- movs r4, 0x1
-_0808A1CC:
- cmp r0, 0
- beq _0808A1E0
- mov r3, r8
- cmn r0, r3
- bne _0808A1E0
- movs r4, 0x1
- negs r4, r4
- cmp r3, 0
- ble _0808A1E0
- movs r4, 0x1
-_0808A1E0:
- ldr r2, =gUnknown_03005DD0
- ldr r0, [r2, 0x10]
- adds r1, r0, r7
- str r1, [r2, 0x10]
- adds r0, r1, 0
- cmp r1, 0
- bge _0808A1F0
- adds r0, 0xF
-_0808A1F0:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- mov r3, r8
- adds r1, r0, r3
- str r1, [r2, 0x14]
- adds r0, r1, 0
- cmp r1, 0
- bge _0808A208
- adds r0, 0xF
-_0808A208:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x14]
- cmp r4, 0
- bne _0808A218
- cmp r5, 0
- beq _0808A24E
-_0808A218:
- adds r0, r4, 0
- adds r1, r5, 0
- bl CameraMove
- adds r0, r4, 0
- adds r1, r5, 0
- bl UpdateFieldObjectsForCameraUpdate
- adds r0, r4, 0
- adds r1, r5, 0
- bl RotatingGatePuzzleCameraUpdate
- bl ResetBerryTreeSparkleFlags
- ldr r6, =gUnknown_03000E20
- lsls r4, 1
- lsls r5, 1
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl tilemap_move_something
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl RedrawMapSlicesForCameraUpdate
-_0808A24E:
- ldr r0, =gUnknown_03000E20
- adds r1, r7, 0
- mov r2, r8
- bl coords8_add
- ldr r1, =gUnknown_03005DEC
- ldrh r0, [r1]
- subs r0, r7
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- ldrh r0, [r1]
- mov r2, r8
- subs r0, r2
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CameraUpdate
-
- thumb_func_start sub_808A284
-sub_808A284: @ 808A284
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl CameraMove
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl UpdateFieldObjectsForCameraUpdate
- bl DrawWholeMapView
- ldr r1, =gUnknown_03005DEC
- lsls r4, 4
- ldrh r0, [r1]
- subs r0, r4
- strh r0, [r1]
- ldr r1, =gUnknown_03005DE8
- lsls r5, 4
- ldrh r0, [r1]
- subs r0, r5
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A284
-
- thumb_func_start SetCameraPanningCallback
-@ void SetCameraPanningCallback(void ( *callback)())
-SetCameraPanningCallback: @ 808A2C0
- ldr r1, =gUnknown_03000E30
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end SetCameraPanningCallback
-
- thumb_func_start SetCameraPanning
-@ void SetCameraPanning(s16 x, s16 y)
-SetCameraPanning: @ 808A2CC
- ldr r2, =gUnknown_03000E28
- strh r0, [r2]
- ldr r0, =gUnknown_03000E2A
- lsls r1, 16
- asrs r1, 16
- adds r1, 0x20
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end SetCameraPanning
-
- thumb_func_start InstallCameraPanAheadCallback
-@ void InstallCameraPanAheadCallback()
-InstallCameraPanAheadCallback: @ 808A2E4
- ldr r1, =gUnknown_03000E30
- ldr r0, =CameraPanningCB_PanAhead
- str r0, [r1]
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_03000E28
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03000E2A
- movs r0, 0x20
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end InstallCameraPanAheadCallback
-
- thumb_func_start UpdateCameraPanning
-@ void UpdateCameraPanning()
-UpdateCameraPanning: @ 808A314
- push {lr}
- ldr r0, =gUnknown_03000E30
- ldr r0, [r0]
- cmp r0, 0
- beq _0808A322
- bl _call_via_r0
-_0808A322:
- ldr r2, =gSpriteCoordOffsetX
- ldr r0, =gUnknown_03005DEC
- ldr r1, =gUnknown_03000E28
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r2, =gSpriteCoordOffsetY
- ldr r0, =gUnknown_03005DE8
- ldr r1, =gUnknown_03000E2A
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- subs r0, 0x8
- strh r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end UpdateCameraPanning
-
- thumb_func_start CameraPanningCB_PanAhead
-@ void CameraPanningCB_PanAhead()
-CameraPanningCB_PanAhead: @ 808A360
- push {lr}
- ldr r0, =gUnknown_02037348
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808A374
- bl InstallCameraPanAheadCallback
- b _0808A3FC
- .pool
-_0808A374:
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- bne _0808A394
- ldr r0, =gUnknown_03000E2C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- beq _0808A3FC
- b _0808A39A
- .pool
-_0808A394:
- ldr r1, =gUnknown_03000E2C
- movs r0, 0
- strb r0, [r1]
-_0808A39A:
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0808A3C4
- ldr r2, =gUnknown_03000E2A
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- ble _0808A3FC
- subs r0, r3, 0x2
- b _0808A3FA
- .pool
-_0808A3C4:
- cmp r0, 0x1
- bne _0808A3E0
- ldr r1, =gUnknown_03000E2A
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x47
- bgt _0808A3FC
- adds r0, r2, 0x2
- strh r0, [r1]
- b _0808A3FC
- .pool
-_0808A3E0:
- ldr r2, =gUnknown_03000E2A
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x1F
- bgt _0808A3F4
- adds r0, 0x2
- b _0808A3FA
- .pool
-_0808A3F4:
- cmp r1, 0x20
- ble _0808A3FC
- subs r0, 0x2
-_0808A3FA:
- strh r0, [r2]
-_0808A3FC:
- pop {r0}
- bx r0
- thumb_func_end CameraPanningCB_PanAhead
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 29164ed7b..c2b13e2bf 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_809BEDC
-sub_809BEDC: @ 809BEDC
+ thumb_func_start FieldClearPlayerInput
+FieldClearPlayerInput: @ 809BEDC
push {r4,r5,lr}
movs r1, 0x2
negs r1, r1
@@ -29,11 +29,11 @@ sub_809BEDC: @ 809BEDC
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_809BEDC
+ thumb_func_end FieldClearPlayerInput
- thumb_func_start process_overworld_input
-@ void process_overworld_input(overworld_input_data *input_data, char buttons_new, char buttons_held)
-process_overworld_input: @ 809BF08
+ thumb_func_start FieldGetPlayerInput
+@ void FieldGetPlayerInput(overworld_input_data *input_data, char buttons_new, char buttons_held)
+FieldGetPlayerInput: @ 809BF08
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -62,7 +62,7 @@ _0809BF3C:
cmp r6, 0
bne _0809BFA2
_0809BF40:
- bl sub_811A138
+ bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x4
@@ -176,7 +176,7 @@ _0809C006:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end process_overworld_input
+ thumb_func_end FieldGetPlayerInput
thumb_func_start sub_809C014
@ int sub_809C014(overworld_input_data *input_data)
@@ -187,9 +187,9 @@ sub_809C014: @ 809C014
ldr r0, =gSpecialVar_LastTalked
movs r1, 0
strh r1, [r0]
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r1, [r0]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r6, r0, 24
mov r4, sp
@@ -326,7 +326,7 @@ _0809C13A:
beq _0809C15C
movs r0, 0x6
bl PlaySE
- bl sub_809FA9C
+ bl ShowStartMenu
_0809C14E:
movs r0, 0x1
b _0809C172
@@ -479,13 +479,13 @@ TryGetScriptOnPressingA: @ 809C270
adds r7, r4, 0
adds r1, r5, 0
adds r2, r4, 0
- bl TryGetMapObjectScript
+ bl TryGetEventObjectScript
cmp r0, 0
bne _0809C2BC
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
- bl TryGetInvisibleMapObjectScript
+ bl TryGetInvisibleEventObjectScript
cmp r0, 0
bne _0809C2BC
adds r0, r6, 0
@@ -547,12 +547,12 @@ _0809C2F0:
lsrs r1, 16
_0809C30E:
ldrb r2, [r4, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0x10
beq _0809C32E
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r3, 3
adds r0, r2, r3
lsls r0, 2
@@ -567,7 +567,7 @@ _0809C32E:
.pool
_0809C33C:
movs r4, 0
- ldr r1, =gLinkPlayerMapObjects
+ ldr r1, =gLinkPlayerEventObjects
_0809C340:
ldrb r0, [r1]
cmp r0, 0x1
@@ -580,7 +580,7 @@ _0809C34C:
adds r4, 0x1
cmp r4, 0x3
ble _0809C340
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r3, [r0]
ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r3
@@ -591,7 +591,7 @@ _0809C34C:
ldr r0, =gSpecialVar_Facing
strh r6, [r0]
adds r0, r3, 0
- bl GetFieldObjectScriptPointerByFieldObjectId
+ bl GetEventObjectScriptPointerByEventObjectId
_0809C36E:
pop {r4-r6}
pop {r1}
@@ -599,8 +599,8 @@ _0809C36E:
.pool
thumb_func_end sub_809C2C8
- thumb_func_start TryGetMapObjectScript
-TryGetMapObjectScript: @ 809C384
+ thumb_func_start TryGetEventObjectScript
+TryGetEventObjectScript: @ 809C384
push {r4-r7,lr}
adds r5, r0, 0
lsls r1, 24
@@ -610,12 +610,12 @@ TryGetMapObjectScript: @ 809C384
ldrh r0, [r5]
ldrh r1, [r5, 0x2]
ldrb r2, [r5, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x10
beq _0809C3B4
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r4, 3
adds r0, r2, r4
lsls r0, 2
@@ -647,12 +647,12 @@ _0809C3B4:
lsls r1, 16
lsrs r1, 16
ldrb r2, [r5, 0x4]
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0x10
beq _0809C400
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r2, r4, 3
adds r0, r2, r4
lsls r0, 2
@@ -666,7 +666,7 @@ _0809C400:
b _0809C44E
.pool
_0809C40C:
- ldr r0, =gSelectedMapObject
+ ldr r0, =gSelectedEventObject
strb r4, [r0]
ldr r1, =gSpecialVar_LastTalked
adds r0, r2, r4
@@ -684,7 +684,7 @@ _0809C40C:
.pool
_0809C43C:
adds r0, r4, 0
- bl GetFieldObjectScriptPointerByFieldObjectId
+ bl GetEventObjectScriptPointerByEventObjectId
_0809C442:
adds r1, r0, 0
ldr r0, =gSpecialVar_LastTalked
@@ -696,11 +696,11 @@ _0809C44E:
pop {r1}
bx r1
.pool
- thumb_func_end TryGetMapObjectScript
+ thumb_func_end TryGetEventObjectScript
- thumb_func_start TryGetInvisibleMapObjectScript
-@ signed int TryGetInvisibleMapObjectScript(int a1, int a2, u8 playerFacingDirection)
-TryGetInvisibleMapObjectScript: @ 809C458
+ thumb_func_start TryGetInvisibleEventObjectScript
+@ signed int TryGetInvisibleEventObjectScript(int a1, int a2, u8 playerFacingDirection)
+TryGetInvisibleEventObjectScript: @ 809C458
push {r4,r5,lr}
lsls r2, 24
lsrs r5, r2, 24
@@ -715,13 +715,13 @@ TryGetInvisibleMapObjectScript: @ 809C458
lsrs r2, 16
ldrb r3, [r0, 0x4]
adds r0, r4, 0
- bl FindInvisibleMapObjectByPosition
+ bl FindInvisibleEventObjectByPosition
cmp r0, 0
beq _0809C4CC
ldr r2, [r0, 0x8]
cmp r2, 0
bne _0809C490
- ldr r0, =EventScript_2C8436
+ ldr r0, =EventScript_TestSignpostMsg
b _0809C532
.pool
_0809C490:
@@ -799,7 +799,7 @@ _0809C532:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end TryGetInvisibleMapObjectScript
+ thumb_func_end TryGetInvisibleEventObjectScript
thumb_func_start TryGetMetatileBehaviorScript
TryGetMetatileBehaviorScript: @ 809C538
@@ -1365,7 +1365,7 @@ per_step_scripts: @ 809C9F4
bne _0809CA04
b _0809CB24
_0809CA04:
- bl sub_80B215C
+ bl IncrementRematchStepCounter
bl AdjustFriendship_step
bl sub_81D4998
ldr r0, =gPlayerAvatar
@@ -1531,8 +1531,8 @@ _0809CB72:
.pool
thumb_func_end AdjustFriendship_step
- thumb_func_start overworld_poison_timer_set
-overworld_poison_timer_set: @ 809CB80
+ thumb_func_start ResetPoisonStepCounter
+ResetPoisonStepCounter: @ 809CB80
push {lr}
ldr r0, =0x0000402b
movs r1, 0
@@ -1540,7 +1540,7 @@ overworld_poison_timer_set: @ 809CB80
pop {r0}
bx r0
.pool
- thumb_func_end overworld_poison_timer_set
+ thumb_func_end ResetPoisonStepCounter
thumb_func_start overworld_poison_step
overworld_poison_step: @ 809CB94
@@ -2006,7 +2006,7 @@ _0809CF20:
bl sub_8084D5C
ldrb r0, [r5, 0x7]
ldrb r1, [r5, 0x6]
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldr r1, [r0, 0x4]
ldrb r0, [r5, 0x5]
ldr r1, [r1, 0x8]
@@ -2155,7 +2155,7 @@ trigger_activate: @ 809D04C
cmp r1, 0
bne _0809D062
ldrb r0, [r4, 0x6]
- bl trigger_activate_weather
+ bl DoCoordEventWeather
b _0809D082
_0809D062:
ldrh r0, [r4, 0x6]
@@ -2261,9 +2261,9 @@ sub_809D0F4: @ 809D0F4
.pool
thumb_func_end sub_809D0F4
- thumb_func_start FindInvisibleMapObjectByPosition
-@ int FindInvisibleMapObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation)
-FindInvisibleMapObjectByPosition: @ 809D11C
+ thumb_func_start FindInvisibleEventObjectByPosition
+@ int FindInvisibleEventObjectByPosition(struct mapheader *mapHeader, u16 x, u16 y, u8 elevation)
+FindInvisibleEventObjectByPosition: @ 809D11C
push {r4-r7,lr}
lsls r1, 16
lsrs r7, r1, 16
@@ -2308,7 +2308,7 @@ _0809D164:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end FindInvisibleMapObjectByPosition
+ thumb_func_end FindInvisibleEventObjectByPosition
thumb_func_start dive_warp
dive_warp: @ 809D16C
@@ -2447,12 +2447,12 @@ _0809D276:
bx r1
thumb_func_end sub_809D1E8
- thumb_func_start GetFieldObjectScriptPointerForComparison
-@ u8 *GetFieldObjectScriptPointerForComparison()
-GetFieldObjectScriptPointerForComparison: @ 809D280
+ thumb_func_start GetEventObjectScriptPointerForComparison
+@ u8 *GetEventObjectScriptPointerForComparison()
+GetEventObjectScriptPointerForComparison: @ 809D280
push {r4,r5,lr}
sub sp, 0x8
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -2470,18 +2470,18 @@ GetFieldObjectScriptPointerForComparison: @ 809D280
lsrs r1, 24
mov r0, sp
adds r2, r4, 0
- bl TryGetMapObjectScript
+ bl TryGetEventObjectScript
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end GetFieldObjectScriptPointerForComparison
+ thumb_func_end GetEventObjectScriptPointerForComparison
thumb_func_start sub_809D2BC
sub_809D2BC: @ 809D2BC
push {r4,lr}
sub sp, 0x8
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
mov r4, sp
mov r0, sp
bl player_get_pos_to_and_height
diff --git a/asm/field_door.s b/asm/field_door.s
deleted file mode 100644
index 037c76566..000000000
--- a/asm/field_door.s
+++ /dev/null
@@ -1,754 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_808A400
-sub_808A400: @ 808A400
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- cmp r0, 0x2
- bne _0808A420
- ldrh r1, [r1, 0x2]
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldr r1, =0x06007e00
- movs r2, 0x80
- bl CpuFastSet
- b _0808A42E
- .pool
-_0808A420:
- ldrh r1, [r1, 0x2]
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldr r1, =0x06007f00
- movs r2, 0x40
- bl CpuFastSet
-_0808A42E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A400
-
- thumb_func_start door_build_blockdef
-door_build_blockdef: @ 808A438
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
- adds r1, r6, 0
-_0808A444:
- ldrb r0, [r2]
- lsls r0, 28
- lsrs r3, r0, 16
- adds r2, 0x1
- adds r0, r5, r4
- orrs r3, r0
- strh r3, [r1]
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0808A444
- cmp r4, 0x7
- bgt _0808A472
- lsls r0, r4, 1
- adds r1, r0, r6
-_0808A462:
- ldrb r0, [r2]
- lsls r3, r0, 12
- adds r2, 0x1
- strh r3, [r1]
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x7
- ble _0808A462
-_0808A472:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end door_build_blockdef
-
- thumb_func_start door_patch_tilemap
-door_patch_tilemap: @ 808A478
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- adds r7, r1, 0
- mov r9, r2
- adds r5, r3, 0
- ldrb r0, [r0, 0x3]
- cmp r0, 0x2
- bne _0808A4F4
- add r4, sp, 0x10
- movs r1, 0xFC
- lsls r1, 2
- adds r0, r4, 0
- adds r2, r5, 0
- bl door_build_blockdef
- mov r6, r9
- subs r6, 0x1
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl DrawDoorMetatileAt
- movs r1, 0xFD
- lsls r1, 2
- adds r0, r5, 0x4
- mov r8, r0
- adds r0, r4, 0
- mov r2, r8
- bl door_build_blockdef
- adds r0, r7, 0
- mov r1, r9
- adds r2, r4, 0
- bl DrawDoorMetatileAt
- movs r1, 0xFE
- lsls r1, 2
- adds r0, r4, 0
- adds r2, r5, 0
- bl door_build_blockdef
- adds r5, r7, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl DrawDoorMetatileAt
- movs r1, 0xFF
- lsls r1, 2
- adds r0, r4, 0
- mov r2, r8
- bl door_build_blockdef
- adds r0, r5, 0
- mov r1, r9
- adds r2, r4, 0
- bl DrawDoorMetatileAt
- b _0808A522
-_0808A4F4:
- movs r1, 0xFE
- lsls r1, 2
- mov r0, sp
- adds r2, r5, 0
- bl door_build_blockdef
- mov r1, r9
- subs r1, 0x1
- adds r0, r7, 0
- mov r2, sp
- bl DrawDoorMetatileAt
- movs r1, 0xFF
- lsls r1, 2
- adds r2, r5, 0x4
- mov r0, sp
- bl door_build_blockdef
- adds r0, r7, 0
- mov r1, r9
- mov r2, sp
- bl DrawDoorMetatileAt
-_0808A522:
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end door_patch_tilemap
-
- thumb_func_start sub_808A530
-sub_808A530: @ 808A530
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- subs r7, r6, 0x1
- adds r0, r5, 0
- adds r1, r7, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r6, 0
- bl CurrentMapDrawMetatileAt
- ldrb r0, [r4, 0x3]
- cmp r0, 0x2
- bne _0808A562
- adds r4, r5, 0x1
- adds r0, r4, 0
- adds r1, r7, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r4, 0
- adds r1, r6, 0
- bl CurrentMapDrawMetatileAt
-_0808A562:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808A530
-
- thumb_func_start sub_808A568
-sub_808A568: @ 808A568
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldrh r1, [r5, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _0808A5B0
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_808A530
- bl sub_808A964
- lsls r0, 24
- cmp r0, 0
- beq _0808A5E2
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r1, 0x7
- ldr r0, =gSpecialVar_0x8005
- ldrh r2, [r0]
- adds r2, 0x7
- adds r0, r4, 0
- bl sub_808A530
- b _0808A5E2
- .pool
-_0808A5B0:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808A400
- ldr r3, [r4, 0x8]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl door_patch_tilemap
- bl sub_808A964
- lsls r0, 24
- cmp r0, 0
- beq _0808A5E2
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- adds r1, 0x7
- ldr r0, =gSpecialVar_0x8005
- ldrh r2, [r0]
- adds r2, 0x7
- ldr r3, [r4, 0x8]
- adds r0, r4, 0
- bl door_patch_tilemap
-_0808A5E2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A568
-
- thumb_func_start sub_808A5F0
-sub_808A5F0: @ 808A5F0
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808A616
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r1, 2
- adds r1, r5, r1
- movs r0, 0xC
- ldrsh r2, [r4, r0]
- movs r0, 0xE
- ldrsh r3, [r4, r0]
- adds r0, r6, 0
- bl sub_808A568
-_0808A616:
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r1, r0
- bne _0808A644
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808A64A
- movs r0, 0
- b _0808A64C
-_0808A644:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
-_0808A64A:
- movs r0, 0x1
-_0808A64C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808A5F0
-
- thumb_func_start task50_overworld_door
-task50_overworld_door: @ 808A654
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- ldr r0, =gTasks + 0x8
- adds r2, r0
- ldrh r1, [r2]
- lsls r1, 16
- ldrh r0, [r2, 0x2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 16
- ldrh r3, [r2, 0x6]
- orrs r0, r3
- bl sub_808A5F0
- cmp r0, 0
- bne _0808A682
- adds r0, r4, 0
- bl DestroyTask
-_0808A682:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task50_overworld_door
-
- thumb_func_start door_frame_last
-door_frame_last: @ 808A68C
- push {lr}
- adds r1, r0, 0
- b _0808A694
-_0808A692:
- adds r1, 0x4
-_0808A694:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808A692
- subs r0, r1, 0x4
- pop {r1}
- bx r1
- thumb_func_end door_frame_last
-
- thumb_func_start door_find
-door_find: @ 808A6A0
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- b _0808A6B6
-_0808A6AA:
- ldrh r0, [r2]
- cmp r0, r1
- bne _0808A6B4
- adds r0, r2, 0
- b _0808A6BE
-_0808A6B4:
- adds r2, 0xC
-_0808A6B6:
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _0808A6AA
- movs r0, 0
-_0808A6BE:
- pop {r1}
- bx r1
- thumb_func_end door_find
-
- thumb_func_start task_overworld_door_add_if_inactive
-task_overworld_door_add_if_inactive: @ 808A6C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- ldr r4, =task50_overworld_door
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808A718
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r1, r2
- strh r7, [r1, 0xC]
- mov r2, r8
- strh r2, [r1, 0xE]
- strh r5, [r1, 0x2]
- lsrs r2, r5, 16
- strh r2, [r1]
- strh r6, [r1, 0x6]
- lsrs r2, r6, 16
- strh r2, [r1, 0x4]
- lsls r0, 24
- asrs r0, 24
- b _0808A71C
- .pool
-_0808A718:
- movs r0, 0x1
- negs r0, r0
-_0808A71C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end task_overworld_door_add_if_inactive
-
- thumb_func_start sub_808A728
-sub_808A728: @ 808A728
- push {lr}
- bl sub_808A530
- pop {r0}
- bx r0
- thumb_func_end sub_808A728
-
- thumb_func_start sub_808A734
-sub_808A734: @ 808A734
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- adds r4, r0, 0
- cmp r4, 0
- beq _0808A76A
- ldr r1, =gUnknown_08496F8C
- adds r0, r1, 0
- bl door_frame_last
- adds r1, r0, 0
- adds r0, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_808A568
-_0808A76A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A734
-
- thumb_func_start task_overworld_door_add_for_opening_door_at
-@ s32 task_overworld_door_add_for_opening_door_at(void *a1, s32 x, s32 y)
-task_overworld_door_add_for_opening_door_at: @ 808A774
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- adds r2, r0, 0
- adds r4, r2, 0
- cmp r2, 0
- bne _0808A79E
- movs r0, 0x1
- negs r0, r0
- b _0808A7C0
-_0808A79E:
- ldrb r0, [r2, 0x3]
- cmp r0, 0x2
- beq _0808A7B0
- ldr r1, =gUnknown_08496F8C
- adds r0, r2, 0
- b _0808A7B4
- .pool
-_0808A7B0:
- ldr r1, =gUnknown_08496FB4
- adds r0, r4, 0
-_0808A7B4:
- adds r2, r5, 0
- adds r3, r6, 0
- bl task_overworld_door_add_if_inactive
- lsls r0, 24
- asrs r0, 24
-_0808A7C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end task_overworld_door_add_for_opening_door_at
-
- thumb_func_start sub_808A7CC
-sub_808A7CC: @ 808A7CC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- cmp r0, 0
- beq _0808A800
- ldr r1, =gUnknown_08496FA0
- adds r2, r5, 0
- adds r3, r6, 0
- bl task_overworld_door_add_if_inactive
- lsls r0, 24
- asrs r0, 24
- b _0808A804
- .pool
-_0808A800:
- movs r0, 0x1
- negs r0, r0
-_0808A804:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808A7CC
-
- thumb_func_start cur_mapdata_get_door_x2_at
-cur_mapdata_get_door_x2_at: @ 808A80C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl door_find
- cmp r0, 0
- beq _0808A830
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- b _0808A834
-_0808A830:
- movs r0, 0x1
- negs r0, r0
-_0808A834:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end cur_mapdata_get_door_x2_at
-
- thumb_func_start sub_808A83C
-sub_808A83C: @ 808A83C
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gUnknown_08497174
- adds r1, r3, 0
- bl task_overworld_door_add_for_opening_door_at
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808A83C
-
- thumb_func_start FieldSetDoorOpened
-FieldSetDoorOpened: @ 808A854
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- cmp r0, 0
- beq _0808A876
- ldr r0, =gUnknown_08497174
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_808A734
-_0808A876:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldSetDoorOpened
-
- thumb_func_start FieldSetDoorClosed
-FieldSetDoorClosed: @ 808A880
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- cmp r0, 0
- beq _0808A8A2
- ldr r0, =gUnknown_08497174
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_808A728
-_0808A8A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldSetDoorClosed
-
- thumb_func_start FieldAnimateDoorClose
-FieldAnimateDoorClose: @ 808A8AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- cmp r0, 0
- beq _0808A8D8
- ldr r0, =gUnknown_08497174
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_808A7CC
- lsls r0, 24
- asrs r0, 24
- b _0808A8DC
- .pool
-_0808A8D8:
- movs r0, 0x1
- negs r0, r0
-_0808A8DC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldAnimateDoorClose
-
- thumb_func_start FieldAnimateDoorOpen
-FieldAnimateDoorOpen: @ 808A8E4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- cmp r0, 0
- beq _0808A910
- ldr r0, =gUnknown_08497174
- adds r1, r4, 0
- adds r2, r5, 0
- bl task_overworld_door_add_for_opening_door_at
- lsls r0, 24
- asrs r0, 24
- b _0808A914
- .pool
-_0808A910:
- movs r0, 0x1
- negs r0, r0
-_0808A914:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldAnimateDoorOpen
-
- thumb_func_start FieldIsDoorAnimationRunning
-FieldIsDoorAnimationRunning: @ 808A91C
- push {lr}
- ldr r0, =task50_overworld_door
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldIsDoorAnimationRunning
-
- thumb_func_start GetDoorSoundEffect
-GetDoorSoundEffect: @ 808A930
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gUnknown_08497174
- adds r1, r3, 0
- bl cur_mapdata_get_door_x2_at
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0808A958
- cmp r0, 0x1
- bne _0808A954
- movs r0, 0x12
- b _0808A95E
- .pool
-_0808A954:
- cmp r0, 0x2
- beq _0808A95C
-_0808A958:
- movs r0, 0x8
- b _0808A95E
-_0808A95C:
- movs r0, 0x2F
-_0808A95E:
- pop {r1}
- bx r1
- thumb_func_end GetDoorSoundEffect
-
- thumb_func_start sub_808A964
-sub_808A964: @ 808A964
- push {lr}
- ldr r0, =0x00004002
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0808A990
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000101a
- cmp r1, r0
- bne _0808A990
- movs r0, 0x1
- b _0808A992
- .pool
-_0808A990:
- movs r0, 0
-_0808A992:
- pop {r1}
- bx r1
- thumb_func_end sub_808A964
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_effect.s b/asm/field_effect.s
deleted file mode 100644
index bfa563af1..000000000
--- a/asm/field_effect.s
+++ /dev/null
@@ -1,8533 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldEffectStart
-@ u8 FieldEffectStart(u8 id)
-FieldEffectStart: @ 80B5B18
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl FieldEffectActiveListAdd
- ldr r0, =gFieldEffectScriptPointers
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- str r0, [sp]
- add r4, sp, 0x4
- ldr r5, =gUnknown_0855C1F0
-_080B5B36:
- ldr r0, [sp]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- mov r0, sp
- adds r1, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _080B5B36
- ldr r0, [sp, 0x4]
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end FieldEffectStart
-
- thumb_func_start FieldEffectCmd_loadtiles
-@ bool8 FieldEffectCmd_loadtiles(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadtiles: @ 80B5B60
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadTiles
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles
-
- thumb_func_start FieldEffectCmd_loadfadedpal
-@ bool8 FieldEffectCmd_loadfadedpal(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadfadedpal: @ 80B5B74
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadFadedPalette
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal
-
- thumb_func_start FieldEffectCmd_loadpal
-@ bool8 FieldEffectCmd_loadpal(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadpal: @ 80B5B88
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadPalette
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadpal
-
- thumb_func_start FieldEffectCmd_callnative
-@ bool8 FieldEffectCmd_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_callnative: @ 80B5B9C
- push {lr}
- ldr r2, [r0]
- adds r2, 0x1
- str r2, [r0]
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_callnative
-
- thumb_func_start FieldEffectCmd_end
-@ bool8 FieldEffectCmd_end(u8 **script, u8 *returnValue)
-FieldEffectCmd_end: @ 80B5BB0
- movs r0, 0
- bx lr
- thumb_func_end FieldEffectCmd_end
-
- thumb_func_start FieldEffectCmd_loadgfx_callnative
-@ bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadgfx_callnative: @ 80B5BB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- bl FieldEffectScript_LoadFadedPalette
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadgfx_callnative
-
- thumb_func_start FieldEffectCmd_loadtiles_callnative
-@ bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadtiles_callnative: @ 80B5BDC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles_callnative
-
- thumb_func_start FieldEffectCmd_loadfadedpal_callnative
-@ bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u8 *returnValue)
-FieldEffectCmd_loadfadedpal_callnative: @ 80B5C00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadFadedPalette
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal_callnative
-
- thumb_func_start FieldEffectScript_ReadWord
-@ u32 FieldEffectScript_ReadWord(u8 **script)
-FieldEffectScript_ReadWord: @ 80B5C24
- ldr r2, [r0]
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- adds r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- adds r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- adds r0, r1
- bx lr
- thumb_func_end FieldEffectScript_ReadWord
-
- thumb_func_start FieldEffectScript_LoadTiles
-@ void FieldEffectScript_LoadTiles(u8 **script)
-FieldEffectScript_LoadTiles: @ 80B5C3C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl FieldEffectScript_ReadWord
- adds r5, r0, 0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _080B5C5A
- adds r0, r5, 0
- bl LoadSpriteSheet
-_080B5C5A:
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectScript_LoadTiles
-
- thumb_func_start FieldEffectScript_LoadFadedPalette
-@ void FieldEffectScript_LoadFadedPalette(u8 **script)
-FieldEffectScript_LoadFadedPalette: @ 80B5C6C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl FieldEffectScript_ReadWord
- adds r4, r0, 0
- bl LoadSpritePalette
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl sub_80ABE18
- ldr r0, [r5]
- adds r0, 0x4
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_LoadFadedPalette
-
- thumb_func_start FieldEffectScript_LoadPalette
-@ void FieldEffectScript_LoadPalette(u8 **script)
-FieldEffectScript_LoadPalette: @ 80B5C94
- push {r4,lr}
- adds r4, r0, 0
- bl FieldEffectScript_ReadWord
- bl LoadSpritePalette
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_LoadPalette
-
- thumb_func_start FieldEffectScript_CallNative
-@ void FieldEffectScript_CallNative(u8 **script, u8 *returnValue)
-FieldEffectScript_CallNative: @ 80B5CAC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldEffectScript_ReadWord
- bl _call_via_r0
- str r0, [r5]
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_CallNative
-
- thumb_func_start FieldEffectFreeGraphicsResources
-@ void FieldEffectFreeGraphicsResources(struct obj *object)
-FieldEffectFreeGraphicsResources: @ 80B5CC8
- push {r4,r5,lr}
- adds r1, r0, 0
- adds r1, 0x40
- ldrh r5, [r1]
- ldrb r4, [r0, 0x5]
- lsrs r4, 4
- bl DestroySprite
- adds r0, r5, 0
- bl FieldEffectFreeTilesIfUnused
- adds r0, r4, 0
- bl FieldEffectFreePaletteIfUnused
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectFreeGraphicsResources
-
- thumb_func_start FieldEffectStop
-@ void FieldEffectStop(struct obj *object, u8 id)
-FieldEffectStop: @ 80B5CEC
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl FieldEffectFreeGraphicsResources
- adds r0, r4, 0
- bl FieldEffectActiveListRemove
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectStop
-
- thumb_func_start FieldEffectFreeTilesIfUnused
-@ void FieldEffectFreeTilesIfUnused(u16 tileRangeStart)
-FieldEffectFreeTilesIfUnused: @ 80B5D04
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl GetSpriteTileTagByTileStart
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _080B5D58
- movs r2, 0
- ldr r5, =gSprites
-_080B5D1E:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r5
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080B5D48
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _080B5D48
- adds r0, r1, 0
- adds r0, 0x40
- ldrh r0, [r0]
- cmp r4, r0
- beq _080B5D58
-_080B5D48:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _080B5D1E
- adds r0, r3, 0
- bl FreeSpriteTilesByTag
-_080B5D58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectFreeTilesIfUnused
-
- thumb_func_start FieldEffectFreePaletteIfUnused
-@ void FieldEffectFreePaletteIfUnused(u8 paletteSlot)
-FieldEffectFreePaletteIfUnused: @ 80B5D68
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080B5DB0
- movs r2, 0
- ldr r6, =gSprites
- adds r3, r4, 0
-_080B5D84:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080B5DA0
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- cmp r0, r3
- beq _080B5DB0
-_080B5DA0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _080B5D84
- adds r0, r5, 0
- bl FreeSpritePaletteByTag
-_080B5DB0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectFreePaletteIfUnused
-
- thumb_func_start FieldEffectActiveListClear
-@ void FieldEffectActiveListClear()
-FieldEffectActiveListClear: @ 80B5DC0
- push {r4,lr}
- movs r2, 0
- ldr r4, =gUnknown_03000F58
- movs r3, 0xFF
-_080B5DC8:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5DC8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldEffectActiveListClear
-
- thumb_func_start FieldEffectActiveListAdd
-@ void FieldEffectActiveListAdd(u8 id)
-FieldEffectActiveListAdd: @ 80B5DE4
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, =gUnknown_03000F58
-_080B5DEE:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080B5E00
- strb r3, [r1]
- b _080B5E0A
- .pool
-_080B5E00:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5DEE
-_080B5E0A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListAdd
-
- thumb_func_start FieldEffectActiveListRemove
-@ void FieldEffectActiveListRemove(u8 id)
-FieldEffectActiveListRemove: @ 80B5E10
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, =gUnknown_03000F58
- movs r5, 0xFF
-_080B5E1C:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, r3
- bne _080B5E30
- orrs r0, r5
- strb r0, [r1]
- b _080B5E3A
- .pool
-_080B5E30:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080B5E1C
-_080B5E3A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListRemove
-
- thumb_func_start FieldEffectActiveListContains
-@ void FieldEffectActiveListContains(u8 id)
-FieldEffectActiveListContains: @ 80B5E40
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, =gUnknown_03000F58
-_080B5E4A:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080B5E5C
- movs r0, 0x1
- b _080B5E68
- .pool
-_080B5E5C:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _080B5E4A
- movs r0, 0
-_080B5E68:
- pop {r1}
- bx r1
- thumb_func_end FieldEffectActiveListContains
-
- thumb_func_start sub_80B5E6C
-sub_80B5E6C: @ 80B5E6C
- 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, =gTrainerFrontPicPaletteTable
- mov r8, r3
- add r8, r4
- mov r0, r8
- adds r1, r7, 0
- bl LoadCompressedObjectPaletteOverrideBuffer
- ldr r0, =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, =gNewGameBirchOamAttributes
- str r0, [sp, 0x4]
- ldr r0, =gDummySpriteAnimTable
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =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
- .pool
- thumb_func_end sub_80B5E6C
-
- thumb_func_start sub_80B5F0C
-sub_80B5F0C: @ 80B5F0C
- 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, =gTrainerFrontPicTable
- lsrs r4, 21
- adds r0, r4, r0
- ldr r0, [r0]
- bl LZDecompressVram
- ldr r0, =gTrainerFrontPicPaletteTable
- adds r4, r0
- ldr r0, [r4]
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B5F0C
-
- thumb_func_start AddNewGameBirchObject
-AddNewGameBirchObject: @ 80B5F44
- 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, =gNewGameBirchObjectPaletteInfo
- bl LoadSpritePalette
- ldr r0, =gNewGameBirchObjectTemplate
- 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
- .pool
- thumb_func_end AddNewGameBirchObject
-
- thumb_func_start sub_80B5F84
-sub_80B5F84: @ 80B5F84
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 8
- lsls r1, 16
- asrs r1, 16
- str r1, [sp]
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r1, =gMonPaletteTable
- lsls r4, r0, 3
- adds r4, r1
- ldrh r1, [r4, 0x4]
- str r1, [sp, 0xC]
- movs r1, 0
- adds r2, r3, 0
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AC3F8
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _080B5FDC
- lsls r0, r5, 24
- lsrs r0, 24
- b _080B5FDE
- .pool
-_080B5FDC:
- movs r0, 0x40
-_080B5FDE:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5F84
-
- thumb_func_start sub_80B5FE8
-sub_80B5FE8: @ 80B5FE8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- mov r10, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x2C]
- lsls r6, 16
- lsrs r6, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- mov r8, r0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x4]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- mov r1, r9
- mov r2, r10
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r4, r0, 16
- mov r1, r8
- ldrh r0, [r1, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AC3F8
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _080B605C
- lsls r0, r4, 24
- lsrs r0, 24
- b _080B605E
- .pool
-_080B605C:
- movs r0, 0x40
-_080B605E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5FE8
-
- thumb_func_start sub_80B6070
-sub_80B6070: @ 80B6070
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_80AC428
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _080B608E
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080B608E:
- adds r0, r5, 0
- bl sub_818D820
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6070
-
- thumb_func_start sub_80B609C
-sub_80B609C: @ 80B609C
- 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, =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, =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B609C
-
- thumb_func_start sub_80B6128
-sub_80B6128: @ 80B6128
- 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, =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, =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6128
-
- thumb_func_start sub_80B61A0
-sub_80B61A0: @ 80B61A0
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80B61E4
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =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
- .pool
- thumb_func_end sub_80B61A0
-
- thumb_func_start sub_80B61E4
-sub_80B61E4: @ 80B61E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r2, =gUnknown_0855C364
- 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
- .pool
- thumb_func_end sub_80B61E4
-
- thumb_func_start sub_80B6214
-sub_80B6214: @ 80B6214
- 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 sub_80B646C
- 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 sub_80B6850
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6214
-
- thumb_func_start sub_80B6250
-sub_80B6250: @ 80B6250
- push {r4,lr}
- adds r2, r0, 0
- ldr r3, =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 _080B6282
- 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]
-_080B6282:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6250
-
- thumb_func_start sub_80B628C
-sub_80B628C: @ 80B628C
- push {lr}
- adds r3, r0, 0
- ldr r2, =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 _080B62AC
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B62AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B628C
-
- thumb_func_start sub_80B62B4
-sub_80B62B4: @ 80B62B4
- push {lr}
- ldr r2, =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 _080B62E6
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x19
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B61E4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B62E6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B62B4
-
- thumb_func_start sub_80B62F4
-sub_80B62F4: @ 80B62F4
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80B6330
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =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
- .pool
- thumb_func_end sub_80B62F4
-
- thumb_func_start sub_80B6330
-sub_80B6330: @ 80B6330
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r2, =gUnknown_0855C374
- 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
- .pool
- thumb_func_end sub_80B6330
-
- thumb_func_start sub_80B6360
-sub_80B6360: @ 80B6360
- 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 sub_80B646C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldr r0, =sub_80B6330
- 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 sub_80B68EC
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0x48
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0xA8
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80B68EC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6360
-
- thumb_func_start sub_80B63D4
-sub_80B63D4: @ 80B63D4
- push {lr}
- adds r3, r0, 0
- ldr r2, =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 _080B63FA
- ldrh r0, [r3, 0x26]
- adds r0, 0x1
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B63FA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B63D4
-
- thumb_func_start sub_80B6404
-sub_80B6404: @ 80B6404
- push {lr}
- adds r3, r0, 0
- ldr r2, =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 _080B6424
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B6424:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6404
-
- thumb_func_start sub_80B642C
-sub_80B642C: @ 80B642C
- push {lr}
- ldr r2, =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 _080B645E
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x3E
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B6330
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B645E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B642C
-
- thumb_func_start sub_80B646C
-sub_80B646C: @ 80B646C
- 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, =sub_80B64C0
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, =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
- .pool
- thumb_func_end sub_80B646C
-
- thumb_func_start sub_80B64C0
-sub_80B64C0: @ 80B64C0
- push {lr}
- ldr r2, =gUnknown_0855C384
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B64C0
-
- thumb_func_start sub_80B64DC
-sub_80B64DC: @ 80B64DC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B64F4
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B6550
-_080B64F4:
- movs r0, 0x19
- strh r0, [r4, 0x30]
- ldr r0, =gUnknown_0855C304
- ldr r1, =gUnknown_0855C3A4
- 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, =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
-_080B6550:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6562
- movs r0, 0x20
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080B6562:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B64DC
-
- thumb_func_start sub_80B6574
-sub_80B6574: @ 80B6574
- 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 _080B65A4
- 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 _080B65A4
- movs r0, 0xB8
- lsls r0, 1
- bl PlayFanfare
-_080B65A4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B6574
-
- thumb_func_start sub_80B65A8
-sub_80B65A8: @ 80B65A8
- 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 _080B65D8
- 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 _080B65D8
- ldrh r0, [r7, 0x34]
- adds r0, 0x1
- strh r0, [r7, 0x34]
-_080B65D8:
- ldrh r4, [r7, 0x32]
- adds r4, 0x3
- movs r0, 0x3
- mov r8, r0
- mov r1, r8
- ands r4, r1
- ldr r3, =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, =gUnknown_0855C3BC
- adds r1, r4, r6
- ldrb r1, [r1]
- ldr r5, =gUnknown_0855C3C0
- adds r2, r4, r5
- ldrb r2, [r2]
- ldr r3, =gUnknown_0855C3C4
- mov r9, r3
- add r4, r9
- ldrb r3, [r4]
- bl sub_80B609C
- 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 sub_80B609C
- 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 sub_80B609C
- ldrh r4, [r7, 0x32]
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r3, =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 sub_80B609C
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80B609C
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- cmp r0, 0x2
- ble _080B66C2
- 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]
-_080B66C2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B65A8
-
- thumb_func_start sub_80B66E8
-sub_80B66E8: @ 80B66E8
- 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 _080B6718
- 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 _080B6718
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0x1E
- strh r0, [r2, 0x30]
-_080B6718:
- ldrh r4, [r2, 0x32]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =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, =gUnknown_0855C3BC
- adds r1, r4, r1
- ldrb r6, [r1]
- ldr r1, =gUnknown_0855C3C0
- adds r1, r4, r1
- ldrb r5, [r1]
- ldr r1, =gUnknown_0855C3C4
- adds r4, r1
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80B609C
- 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 sub_80B609C
- 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 sub_80B609C
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01050000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80B609C
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80B609C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B66E8
-
- thumb_func_start sub_80B67DC
-sub_80B67DC: @ 80B67DC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B67F2
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_080B67F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80B67DC
-
- thumb_func_start sub_80B67F8
-sub_80B67F8: @ 80B67F8
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end sub_80B67F8
-
- thumb_func_start sub_80B6800
-sub_80B6800: @ 80B6800
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B6816
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _080B681C
-_080B6816:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080B681C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6800
-
- thumb_func_start nullsub_97
-nullsub_97: @ 80B6824
- bx lr
- thumb_func_end nullsub_97
-
- thumb_func_start sub_80B6828
-sub_80B6828: @ 80B6828
- push {lr}
- adds r3, r0, 0
- ldr r2, =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 _080B6848
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080B6848:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6828
-
- thumb_func_start sub_80B6850
-sub_80B6850: @ 80B6850
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gUnknown_0855C31C
- 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, =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, =gUnknown_0855C2AC
- bl SetSubspriteTables
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6850
-
- thumb_func_start sub_80B68AC
-sub_80B68AC: @ 80B68AC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B68D0
- 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
-_080B68D0:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B68E4
- adds r0, r4, 0
- bl FieldEffectFreeGraphicsResources
-_080B68E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B68AC
-
- thumb_func_start sub_80B68EC
-sub_80B68EC: @ 80B68EC
- 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 _080B6934
- ldr r0, =gUnknown_0855C334
- 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, =gSprites
- adds r0, r1
- ldr r1, =gUnknown_0855C2C4
- bl SetSubspriteTables
- b _080B6948
- .pool
-_080B6934:
- ldr r0, =gUnknown_0855C34C
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
-_080B6948:
- ldr r1, =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
- .pool
- thumb_func_end sub_80B68EC
-
- thumb_func_start sub_80B6970
-sub_80B6970: @ 80B6970
- push {lr}
- adds r3, r0, 0
- ldr r2, =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 _080B69C6
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080B699E
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B69C0
-_080B699E:
- 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]
-_080B69C0:
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
-_080B69C6:
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r0, 0x7F
- ble _080B69D4
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080B69D4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6970
-
- thumb_func_start sub_80B69DC
-sub_80B69DC: @ 80B69DC
- push {lr}
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080842E8
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B69DC
-
- thumb_func_start mapldr_080842E8
-mapldr_080842E8: @ 80B69FC
- push {lr}
- bl pal_fill_black
- ldr r0, =task00_8084310
- movs r1, 0
- bl CreateTask
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080842E8
-
- thumb_func_start task00_8084310
-task00_8084310: @ 80B6A24
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r6, [r4, r0]
- cmp r6, 0
- bne _080B6A64
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B6A8A
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- cmp r0, 0x5
- ble _080B6A58
- str r6, [r1]
-_080B6A58:
- movs r0, 0x1F
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6A64:
- movs r0, 0x1F
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B6A8A
- bl flag_var_implications_of_teleport_
- bl warp_in
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_08084390
- str r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_080B6A8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_8084310
-
- thumb_func_start mapldr_08084390
-mapldr_08084390: @ 80B6AA4
- push {r4,lr}
- bl sub_8085784
- bl pal_fill_black
- ldr r0, =c3_080843F8
- movs r1, 0
- bl CreateTask
- ldr r4, =gMapObjects
- ldr r3, =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 _080B6AE6
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3
- bl FieldObjectTurn
-_080B6AE6:
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_08084390
-
- thumb_func_start c3_080843F8
-c3_080843F8: @ 80B6B0C
- 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, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6B3E
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B6B58
- movs r0, 0x20
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6B3E:
- movs r0, 0x20
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B6B58
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- adds r0, r5, 0
- bl DestroyTask
-_080B6B58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_080843F8
-
- thumb_func_start sub_80B6B68
-sub_80B6B68: @ 80B6B68
- push {lr}
- bl sub_8085784
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r0, =sub_80B6B94
- movs r1, 0
- bl CreateTask
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6B68
-
- thumb_func_start sub_80B6B94
-sub_80B6B94: @ 80B6B94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3C8
-_080B6BA6:
- 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 _080B6BA6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6B94
-
- thumb_func_start sub_80B6BCC
-sub_80B6BCC: @ 80B6BCC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r9, r0
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, =gMapObjects
- mov r8, r0
- add r5, r8
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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
- .pool
- thumb_func_end sub_80B6BCC
-
- thumb_func_start sub_80B6C74
-sub_80B6C74: @ 80B6C74
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B6C88
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6C88:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6C74
-
- thumb_func_start sub_80B6C90
-sub_80B6C90: @ 80B6C90
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r0, [r6, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =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, =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, =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
- .pool
- thumb_func_end sub_80B6C90
-
- thumb_func_start sub_80B6D04
-sub_80B6D04: @ 80B6D04
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 _080B6D46
- ldrh r1, [r4, 0xC]
- adds r0, r2, r1
- strh r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r0, 0
- beq _080B6D46
- lsls r0, r2, 1
- strh r0, [r4, 0xA]
-_080B6D46:
- ldrh r2, [r4, 0xE]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6D84
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _080B6D84
- 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]
-_080B6D84:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080B6DA8
- 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]
-_080B6DA8:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6D04
-
- thumb_func_start sub_80B6DBC
-sub_80B6DBC: @ 80B6DBC
- 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_80B6DBC
-
- thumb_func_start sub_80B6DD8
-sub_80B6DD8: @ 80B6DD8
- 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 _080B6E00
- lsls r0, r2, 16
- asrs r0, 17
- strh r0, [r4, 0xA]
-_080B6E00:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B6E0E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6E0E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6DD8
-
- thumb_func_start sub_80B6E18
-sub_80B6E18: @ 80B6E18
- push {lr}
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- bl InstallCameraPanAheadCallback
- ldr r0, =sub_80B6B94
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6E18
-
- thumb_func_start sub_80B6E4C
-sub_80B6E4C: @ 80B6E4C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B6E88
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =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 _080B6E78
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080B6E78:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6E4C
-
- thumb_func_start sub_80B6E88
-sub_80B6E88: @ 80B6E88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3E4
-_080B6E9A:
- 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 _080B6E9A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6E88
-
- thumb_func_start sub_80B6EC0
-sub_80B6EC0: @ 80B6EC0
- push {r4,lr}
- adds r4, r0, 0
- bl player_bitmagic
- bl CameraObjectReset2
- ldrb r0, [r4, 0xA]
- bl sub_80E1558
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6EC0
-
- thumb_func_start sub_80B6EE0
-sub_80B6EE0: @ 80B6EE0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B6F0A
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B6F3E
-_080B6F0A:
- 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 _080B6F38
- movs r0, 0x4
- strh r0, [r5, 0x8]
-_080B6F38:
- movs r0, 0x50
- bl PlaySE
-_080B6F3E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B6EE0
-
- thumb_func_start sub_80B6F50
-sub_80B6F50: @ 80B6F50
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B6FB8
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080B6F6A
- bl sub_80B7050
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6F6A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F50
-
- thumb_func_start sub_80B6F74
-sub_80B6F74: @ 80B6F74
- push {lr}
- bl sub_80B6FB8
- bl sub_80B7060
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F74
-
- thumb_func_start sub_80B6F84
-sub_80B6F84: @ 80B6F84
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B7004
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080B6F9E
- bl sub_80B7050
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6F9E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F84
-
- thumb_func_start sub_80B6FA8
-sub_80B6FA8: @ 80B6FA8
- push {lr}
- bl sub_80B7004
- bl sub_80B7060
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B6FA8
-
- thumb_func_start sub_80B6FB8
-sub_80B6FB8: @ 80B6FB8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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 _080B6FF6
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_080B6FF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B6FB8
-
- thumb_func_start sub_80B7004
-sub_80B7004: @ 80B7004
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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 _080B7042
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_080B7042:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7004
-
- thumb_func_start sub_80B7050
-sub_80B7050: @ 80B7050
- push {lr}
- bl music_something
- bl sub_80AF0B4
- pop {r0}
- bx r0
- thumb_func_end sub_80B7050
-
- thumb_func_start sub_80B7060
-sub_80B7060: @ 80B7060
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B709C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B709C
- bl sub_80E1570
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =sub_80B70B4
- str r0, [r1]
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r0, =sub_80B6E88
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B709C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7060
-
- thumb_func_start sub_80B70B4
-sub_80B70B4: @ 80B70B4
- push {lr}
- bl sub_8085784
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- ldr r0, =sub_80B70DC
- movs r1, 0
- bl CreateTask
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B70B4
-
- thumb_func_start sub_80B70DC
-sub_80B70DC: @ 80B70DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldr r5, =gUnknown_0855C3FC
-_080B70EE:
- 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 _080B70EE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B70DC
-
- thumb_func_start sub_80B7114
-sub_80B7114: @ 80B7114
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl CameraObjectReset2
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =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 _080B717C
- movs r1, 0x1
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080B717E
- .pool
-_080B717C:
- movs r1, 0
-_080B717E:
- adds r0, r1, 0
- bl sub_80E1558
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7114
-
- thumb_func_start sub_80B7190
-sub_80B7190: @ 80B7190
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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
- .pool
- thumb_func_end sub_80B7190
-
- thumb_func_start sub_80B71D0
-sub_80B71D0: @ 80B71D0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 _080B720E
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_080B720E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B721E
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080B721E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B71D0
-
- thumb_func_start sub_80B7230
-sub_80B7230: @ 80B7230
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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
- .pool
- thumb_func_end sub_80B7230
-
- thumb_func_start sub_80B7270
-sub_80B7270: @ 80B7270
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 _080B72AE
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_080B72AE:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B72C0
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B72C0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7270
-
- thumb_func_start sub_80B72D0
-sub_80B72D0: @ 80B72D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80E1584
- lsls r0, 24
- cmp r0, 0
- bne _080B72EC
- bl sub_80E1570
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _080B72EE
-_080B72EC:
- movs r0, 0
-_080B72EE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B72D0
-
- thumb_func_start sub_80B72F4
-sub_80B72F4: @ 80B72F4
- push {r4,lr}
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7338
- 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, =sub_80B70DC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B7338:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B72F4
-
- thumb_func_start oei_waterfall
-oei_waterfall: @ 80B734C
- push {r4,lr}
- ldr r4, =sub_80B7384
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =gFieldEffectArguments
- ldr r2, [r2]
- strh r2, [r1, 0xA]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_waterfall
-
- thumb_func_start sub_80B7384
-sub_80B7384: @ 80B7384
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0855C418
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7396:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _080B7396
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7384
-
- thumb_func_start sub_80B73D0
-sub_80B73D0: @ 80B73D0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =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
- .pool
- thumb_func_end sub_80B73D0
-
- thumb_func_start waterfall_1_do_anim_probably
-waterfall_1_do_anim_probably: @ 80B73F0
- 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 _080B7420
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldr r1, =gFieldEffectArguments
- 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]
-_080B7420:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end waterfall_1_do_anim_probably
-
- thumb_func_start waterfall_2_wait_anim_finish_probably
-waterfall_2_wait_anim_finish_probably: @ 80B742C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B7446
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _080B7448
-_080B7446:
- movs r0, 0
-_080B7448:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end waterfall_2_wait_anim_finish_probably
-
- thumb_func_start sub_80B7450
-sub_80B7450: @ 80B7450
- 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_80B7450
-
- thumb_func_start sub_80B7478
-sub_80B7478: @ 80B7478
- 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 _080B748E
- movs r0, 0
- b _080B74CA
-_080B748E:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080B74C4
- bl ScriptContext2_Disable
- ldr r0, =gPlayerAvatar
- strb r4, [r0, 0x6]
- ldr r0, =sub_80B7384
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2B
- bl FieldEffectActiveListRemove
- movs r0, 0
- b _080B74CA
- .pool
-_080B74C4:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- movs r0, 0x1
-_080B74CA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7478
-
- thumb_func_start sub_80B74D0
-sub_80B74D0: @ 80B74D0
- push {r4,lr}
- ldr r4, =sub_80B750C
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, =gFieldEffectArguments
- 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
- .pool
- thumb_func_end sub_80B74D0
-
- thumb_func_start sub_80B750C
-sub_80B750C: @ 80B750C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0855C42C
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B751E:
- 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 _080B751E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B750C
-
- thumb_func_start dive_1_lock
-dive_1_lock: @ 80B7544
- ldr r2, =gPlayerAvatar
- movs r1, 0x1
- strb r1, [r2, 0x6]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end dive_1_lock
-
- thumb_func_start dive_2_unknown
-dive_2_unknown: @ 80B7558
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, =gFieldEffectArguments
- 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
- .pool
- thumb_func_end dive_2_unknown
-
- thumb_func_start dive_3_unknown
-dive_3_unknown: @ 80B7580
- 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 _080B75C4
- ldr r2, =gMapObjects
- ldr r0, =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, =sub_80B750C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2C
- bl FieldEffectActiveListRemove
-_080B75C4:
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .pool
- thumb_func_end dive_3_unknown
-
- thumb_func_start sub_80B75D8
-sub_80B75D8: @ 80B75D8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B75F0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B75D8
-
- thumb_func_start sub_80B75F0
-sub_80B75F0: @ 80B75F0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C438
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7604:
- 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, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B7604
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B75F0
-
- thumb_func_start sub_80B764C
-sub_80B764C: @ 80B764C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl player_bitmagic
- bl CameraObjectReset2
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r0, =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
- .pool
- thumb_func_end sub_80B764C
-
- thumb_func_start sub_80B7684
-sub_80B7684: @ 80B7684
- 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 _080B76B0
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B76B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7684
-
- thumb_func_start sub_80B76B8
-sub_80B76B8: @ 80B76B8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- ldr r3, =gFieldEffectArguments
- 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
- .pool
- thumb_func_end sub_80B76B8
-
- thumb_func_start sub_80B7704
-sub_80B7704: @ 80B7704
- 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 _080B773E
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080B7750
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bgt _080B7750
- lsls r0, r2, 1
- b _080B774E
-_080B773E:
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- bne _080B7750
- lsls r0, r2, 16
- cmp r0, 0
- ble _080B7750
- asrs r0, 17
-_080B774E:
- strh r0, [r4, 0xA]
-_080B7750:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _080B779C
- 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, =gSpriteCoordOffsetY
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- asrs r2, 16
- adds r0, r2
- cmn r3, r0
- ble _080B7798
- 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 _080B779C
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080B779C
- .pool
-_080B7798:
- movs r0, 0x1
- strh r0, [r4, 0x10]
-_080B779C:
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B77DA
- movs r7, 0x26
- ldrsh r1, [r5, r7]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080B77DA
- 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]
-_080B77DA:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B77F0
- movs r7, 0x10
- ldrsh r0, [r4, r7]
- cmp r0, 0
- beq _080B77F0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B77F0:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7704
-
- thumb_func_start sub_80B77F8
-sub_80B77F8: @ 80B77F8
- push {r4,lr}
- adds r4, r0, 0
- bl music_something
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B77F8
-
- thumb_func_start sub_80B7814
-sub_80B7814: @ 80B7814
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B784C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B784C
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080851BC
- str r0, [r1]
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r0, =sub_80B75F0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B784C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7814
-
- thumb_func_start mapldr_080851BC
-mapldr_080851BC: @ 80B7868
- push {lr}
- bl sub_8085784
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- ldr r0, =gFieldCallback
- movs r1, 0
- str r1, [r0]
- ldr r0, =sub_80B7890
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080851BC
-
- thumb_func_start sub_80B7890
-sub_80B7890: @ 80B7890
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C450
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B78A4:
- 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, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B78A4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7890
-
- thumb_func_start sub_80B78EC
-sub_80B78EC: @ 80B78EC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl CameraObjectReset2
- bl player_bitmagic
- ldr r1, =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
- .pool
- thumb_func_end sub_80B78EC
-
- thumb_func_start sub_80B791C
-sub_80B791C: @ 80B791C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B795C
- ldr r1, =gFieldEffectArguments
- 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]
-_080B795C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B791C
-
- thumb_func_start sub_80B7968
-sub_80B7968: @ 80B7968
- 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, =gSprites
- adds r0, r1
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080B79B0
- 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_8093514
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
-_080B79B0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7968
-
- thumb_func_start sub_80B79BC
-sub_80B79BC: @ 80B79BC
- push {lr}
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B79E6
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, =sub_80B7890
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B79E6:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B79BC
-
- thumb_func_start sub_80B79F4
-sub_80B79F4: @ 80B79F4
- push {r4,lr}
- ldr r4, =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =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, =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
- .pool
- thumb_func_end sub_80B79F4
-
- thumb_func_start sub_80B7A58
-sub_80B7A58: @ 80B7A58
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B7A70
- adds r0, r2, 0
- movs r1, 0x32
- bl FieldEffectStop
-_080B7A70:
- pop {r0}
- bx r0
- thumb_func_end sub_80B7A58
-
- thumb_func_start sub_80B7A74
-sub_80B7A74: @ 80B7A74
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80B7A8C
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7A74
-
- thumb_func_start sub_80B7A8C
-sub_80B7A8C: @ 80B7A8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gUnknown_0855C460
- ldr r2, =gTasks
- ldr r5, =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B7AA0:
- 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, =gMapObjects
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B7AA0
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7A8C
-
- thumb_func_start sub_80B7AE8
-sub_80B7AE8: @ 80B7AE8
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl player_bitmagic
- bl CameraObjectReset2
- ldr r1, =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
- .pool
- thumb_func_end sub_80B7AE8
-
- thumb_func_start sub_80B7B18
-sub_80B7B18: @ 80B7B18
- 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 _080B7B8C
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0x3
- ble _080B7B6C
- ldr r1, =gFieldEffectArguments
- 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 _080B7B8C
- .pool
-_080B7B6C:
- 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
-_080B7B8C:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7B18
-
- thumb_func_start sub_80B7B94
-sub_80B7B94: @ 80B7B94
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r2, =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 _080B7BBE
- 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]
-_080B7BBE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7B94
-
- thumb_func_start sub_80B7BCC
-sub_80B7BCC: @ 80B7BCC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B7BEA
- bl music_something
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B7BEA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7BCC
-
- thumb_func_start sub_80B7BF4
-sub_80B7BF4: @ 80B7BF4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B7C2C
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B7C2C
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =sub_80B6B68
- str r0, [r1]
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r0, =sub_80B7A8C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B7C2C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B7BF4
-
- thumb_func_start sub_80B7C48
-sub_80B7C48: @ 80B7C48
- push {r4,lr}
- ldr r4, =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_80930E0
- ldr r0, =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, =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
- .pool
- thumb_func_end sub_80B7C48
-
- thumb_func_start sub_80B7CAC
-sub_80B7CAC: @ 80B7CAC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B7CC4
- adds r0, r2, 0
- movs r1, 0x31
- bl FieldEffectStop
-_080B7CC4:
- pop {r0}
- bx r0
- thumb_func_end sub_80B7CAC
-
- thumb_func_start sub_80B7CC8
-sub_80B7CC8: @ 80B7CC8
- push {lr}
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r0, =sub_80B7CE4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7CC8
-
- thumb_func_start sub_80B7CE4
-sub_80B7CE4: @ 80B7CE4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C474
- ldr r2, =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
- .pool
- thumb_func_end sub_80B7CE4
-
- thumb_func_start sub_80B7D14
-sub_80B7D14: @ 80B7D14
- 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_80B7D14
-
- thumb_func_start sub_80B7D34
-sub_80B7D34: @ 80B7D34
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldrh r1, [r4, 0x24]
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B7D60
- subs r0, r1, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080B7D60
- bl music_something
- bl sub_80AF0B4
-_080B7D60:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B7D86
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7E40
-_080B7D86:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B7DF8
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B7DF8
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B7DF8
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetDirection
- bl sub_8084E14
- bl warp_in
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080859D4
- str r0, [r1]
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r0, =sub_80B7CE4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _080B7E40
- .pool
-_080B7DF8:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B7E0C
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B7E40
-_080B7E0C:
- 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 _080B7E34
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080B7E34:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 18
- movs r0, 0x8
- asrs r0, r1
- strh r0, [r4, 0xA]
-_080B7E40:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7D34
-
- thumb_func_start mapldr_080859D4
-mapldr_080859D4: @ 80B7E48
- push {lr}
- bl sub_8085784
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, =gMapObjects
- ldr r0, =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, =sub_80B7E94
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080859D4
-
- thumb_func_start sub_80B7E94
-sub_80B7E94: @ 80B7E94
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C484
- ldr r2, =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
- .pool
- thumb_func_end sub_80B7E94
-
- thumb_func_start sub_80B7EC4
-sub_80B7EC4: @ 80B7EC4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B7EE2
- 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]
-_080B7EE2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7EC4
-
- thumb_func_start sub_80B7EE8
-sub_80B7EE8: @ 80B7EE8
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B7F1A
- subs r0, r1, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B7FAC
-_080B7F1A:
- adds r0, r6, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B7F32
- adds r0, r6, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B7FC0
-_080B7F32:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080B7F7C
- movs r2, 0x26
- ldrsh r4, [r5, r2]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080B7F7C
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- bl ScriptContext2_Disable
- bl UnfreezeMapObjects
- ldr r0, =sub_80B7E94
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _080B7FC0
- .pool
-_080B7F7C:
- 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 _080B7FA4
- adds r0, r1, 0x1
- strh r0, [r5, 0xC]
-_080B7FA4:
- ldrh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 18
- strh r0, [r5, 0xA]
-_080B7FAC:
- 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]
-_080B7FC0:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7EE8
-
- thumb_func_start sub_80B7FC8
-sub_80B7FC8: @ 80B7FC8
- push {lr}
- ldr r0, =sub_80B7FDC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B7FC8
-
- thumb_func_start sub_80B7FDC
-sub_80B7FDC: @ 80B7FDC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C48C
- ldr r2, =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
- .pool
- thumb_func_end sub_80B7FDC
-
- thumb_func_start sub_80B800C
-sub_80B800C: @ 80B800C
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl player_bitmagic
- 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_80B800C
-
- thumb_func_start sub_80B8034
-sub_80B8034: @ 80B8034
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B8066
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B8080
-_080B8066:
- 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]
-_080B8080:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _080B80AE
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _080B80AE
- 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
-_080B80AE:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8034
-
- thumb_func_start sub_80B80C4
-sub_80B80C4: @ 80B80C4
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r3, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _080B810E
- 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
-_080B810E:
- 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 _080B813A
- movs r0, 0x4
- strh r0, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _080B813A
- lsls r0, r1, 1
- strh r0, [r4, 0xE]
-_080B813A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- ble _080B8168
- 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 _080B8168
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080B8168:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xA7
- ble _080B817E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl music_something
- bl sub_80AF0B4
-_080B817E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B80C4
-
- thumb_func_start sub_80B8198
-sub_80B8198: @ 80B8198
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B81E6
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B81B8
- bl sub_81BE72C
- movs r0, 0x1
- strh r0, [r4, 0x12]
-_080B81B8:
- bl sub_80859A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B81E6
- bl copy_saved_warp3_bank_and_enter_x_to_warp1
- bl warp_in
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_08085D88
- str r0, [r1]
- ldr r0, =sub_80B7FDC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B81E6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8198
-
- thumb_func_start mapldr_08085D88
-mapldr_08085D88: @ 80B8200
- push {lr}
- bl sub_8085784
- bl pal_fill_for_maplights
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, =gMapObjects
- ldr r0, =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, =sub_80B8250
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_08085D88
-
- thumb_func_start sub_80B8250
-sub_80B8250: @ 80B8250
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C49C
- ldr r2, =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
- .pool
- thumb_func_end sub_80B8250
-
- thumb_func_start sub_80B8280
-sub_80B8280: @ 80B8280
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_80ABDFC
- lsls r0, 24
- cmp r0, 0
- beq _080B82F6
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =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, =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, =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
-_080B82F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8280
-
- thumb_func_start sub_80B830C
-sub_80B830C: @ 80B830C
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 _080B8384
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B83AA
- 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 _080B83AA
- .pool
-_080B8384:
- 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 _080B83AA
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_080B83AA:
- ldrh r2, [r5, 0x26]
- movs r3, 0x26
- ldrsh r1, [r5, r3]
- movs r0, 0x30
- negs r0, r0
- cmp r1, r0
- blt _080B83CE
- ldrh r1, [r4, 0xA]
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- ble _080B83CE
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080B83CE
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
-_080B83CE:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- movs r7, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B83F0
- 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
-_080B83F0:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080B8406
- 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]
-_080B8406:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B830C
-
- thumb_func_start sub_80B8410
-sub_80B8410: @ 80B8410
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C47C
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080B8484
- 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 _080B8484
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _080B8484
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeMapObjects
- ldr r0, =sub_80B8250
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B8484:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8410
-
- thumb_func_start sub_80B849C
-sub_80B849C: @ 80B849C
- 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 _080B84BC
- ldr r0, =sub_80B8554
- b _080B84BE
- .pool
-_080B84BC:
- ldr r0, =sub_80B88B4
-_080B84BE:
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gFieldEffectArguments
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80B8C60
- ldr r2, =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
- .pool
- thumb_func_end sub_80B849C
-
- thumb_func_start sub_80B84F8
-sub_80B84F8: @ 80B84F8
- push {r4-r6,lr}
- ldr r5, =gFieldEffectArguments
- 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, =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
- .pool
- thumb_func_end sub_80B84F8
-
- thumb_func_start sub_80B8554
-sub_80B8554: @ 80B8554
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4A8
- ldr r2, =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
- .pool
- thumb_func_end sub_80B8554
-
- thumb_func_start sub_80B8584
-sub_80B8584: @ 80B8584
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x04000048
- ldrh r0, [r0]
- strh r0, [r4, 0x1E]
- ldr r0, =0x0400004a
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r1, =0x0000f0f1
- strh r1, [r4, 0xA]
- ldr r0, =0x00005051
- strh r0, [r4, 0xC]
- movs r0, 0x3F
- strh r0, [r4, 0xE]
- movs r0, 0x3E
- strh r0, [r4, 0x10]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldr r0, =sub_80B880C
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8584
-
- thumb_func_start sub_80B85F8
-sub_80B85F8: @ 80B85F8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =0x04000008
- 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, =gUnknown_0855AE50
- 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, =0x05000200
- mov r0, sp
- adds r1, r5, 0
- bl CpuSet
- ldr r0, =gUnknown_0855B050
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- bl sub_80B8874
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B85F8
-
- thumb_func_start sub_80B8660
-sub_80B8660: @ 80B8660
- 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 _080B868C
- movs r2, 0
-_080B868C:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0x27
- bgt _080B8696
- movs r4, 0x28
-_080B8696:
- cmp r5, 0x78
- ble _080B869C
- movs r5, 0x78
-_080B869C:
- 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 _080B86DC
- cmp r4, 0x28
- bne _080B86DC
- cmp r1, 0x78
- bne _080B86DC
- ldr r2, =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, =sub_80B8CC0
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B86DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8660
-
- thumb_func_start sub_80B86EC
-sub_80B86EC: @ 80B86EC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldr r2, =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 _080B8712
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B8712:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B86EC
-
- thumb_func_start sub_80B871C
-sub_80B871C: @ 80B871C
- 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 _080B8744
- movs r4, 0x50
-_080B8744:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x50
- bgt _080B874E
- movs r2, 0x51
-_080B874E:
- 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 _080B876A
- cmp r2, 0x51
- bne _080B876A
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080B876A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B871C
-
- thumb_func_start sub_80B8770
-sub_80B8770: @ 80B8770
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =0x04000008
- 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, =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
- .pool
- thumb_func_end sub_80B8770
-
- thumb_func_start overworld_bg_setup_2
-overworld_bg_setup_2: @ 80B87B8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl SetVBlankCallback
- bl sub_8197200
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80B6070
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B8554
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_bg_setup_2
-
- thumb_func_start sub_80B880C
-sub_80B880C: @ 80B880C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =sub_80B8554
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0x14]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B880C
-
- thumb_func_start sub_80B8874
-sub_80B8874: @ 80B8874
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0x06000140
- adds r2, r0, r1
- movs r1, 0
- ldr r5, =gUnknown_0855B070
- movs r0, 0xF0
- lsls r0, 8
- adds r4, r0, 0
- ldr r3, =0x0000013f
-_080B888A:
- 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 _080B888A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8874
-
- thumb_func_start sub_80B88B4
-sub_80B88B4: @ 80B88B4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4C4
- ldr r2, =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
- .pool
- thumb_func_end sub_80B88B4
-
- thumb_func_start sub_80B88E4
-sub_80B88E4: @ 80B88E4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r0, =sub_80B8AE0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B88E4
-
- thumb_func_start sub_80B8920
-sub_80B8920: @ 80B8920
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =0x04000008
- 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, =gUnknown_0855B2F0
- 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, =0x05000200
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- ldr r0, =gUnknown_0855B370
- 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
- .pool
- thumb_func_end sub_80B8920
-
- thumb_func_start sub_80B898C
-sub_80B898C: @ 80B898C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B38
- lsls r0, 24
- cmp r0, 0
- beq _080B89C4
- movs r0, 0x42
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, =0x00002878
- movs r0, 0x46
- bl SetGpuReg
- ldr r2, =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, =sub_80B8CC0
- str r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B89C4:
- adds r0, r4, 0
- bl sub_80B8B28
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B898C
-
- thumb_func_start sub_80B89DC
-sub_80B89DC: @ 80B89DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- ldr r2, =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 _080B8A00
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B8A00:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B89DC
-
- thumb_func_start sub_80B8A0C
-sub_80B8A0C: @ 80B8A0C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- ldrh r1, [r4, 0xA]
- movs r0, 0x7
- ands r0, r1
- movs r1, 0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldr r5, =0x0000ffff
- movs r0, 0x42
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r5, 0
- bl SetGpuReg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8A0C
-
- thumb_func_start sub_80B8A44
-sub_80B8A44: @ 80B8A44
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80B8B28
- adds r0, r4, 0
- bl sub_80B8BF0
- lsls r0, 24
- cmp r0, 0
- beq _080B8A5E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B8A5E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B8A44
-
- thumb_func_start sub_80B8A64
-sub_80B8A64: @ 80B8A64
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, =0x04000008
- 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, =0x05000200
- mov r0, sp
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x22
- add r1, sp, 0x4
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp, 0x4]
- bl SetVBlankCallback
- bl sub_8197200
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80B6070
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B88B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8A64
-
- thumb_func_start sub_80B8AE0
-sub_80B8AE0: @ 80B8AE0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =sub_80B88B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8AE0
-
- thumb_func_start sub_80B8B28
-sub_80B8B28: @ 80B8B28
- 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_80B8B28
-
- thumb_func_start sub_80B8B38
-sub_80B8B38: @ 80B8B38
- 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 _080B8B54
- movs r0, 0x1
- b _080B8BD8
-_080B8B54:
- 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 _080B8BD6
- 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, =0x06000140
- adds r1, r0
- mov r8, r1
- movs r4, 0
- ldr r7, =gUnknown_0855B390
- 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
-_080B8B98:
- 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 _080B8B98
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080B8BD6:
- movs r0, 0
-_080B8BD8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8B38
-
- thumb_func_start sub_80B8BF0
-sub_80B8BF0: @ 80B8BF0
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _080B8C00
- movs r0, 0x1
- b _080B8C54
-_080B8C00:
- 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 _080B8C52
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r2, r0, 19
- movs r0, 0x1F
- ands r2, r0
- ldrh r0, [r5, 0x20]
- ldr r1, =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
-_080B8C30:
- 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 _080B8C30
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080B8C52:
- movs r0, 0
-_080B8C54:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8BF0
-
- thumb_func_start sub_80B8C60
-sub_80B8C60: @ 80B8C60
- 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, =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 sub_80B5FE8
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, =gSprites
- adds r2, r1
- ldr r1, =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
- .pool
- thumb_func_end sub_80B8C60
-
- thumb_func_start sub_80B8CC0
-sub_80B8CC0: @ 80B8CC0
- 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 _080B8D00
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x1E
- strh r0, [r1, 0x30]
- ldr r0, =sub_80B8D04
- str r0, [r1, 0x1C]
- movs r2, 0x3A
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B8CF8
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _080B8D00
- .pool
-_080B8CF8:
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- bl PlayCry1
-_080B8D00:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8CC0
-
- thumb_func_start sub_80B8D04
-sub_80B8D04: @ 80B8D04
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080B8D18
- ldr r0, =sub_80B8D20
- str r0, [r1, 0x1C]
-_080B8D18:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8D04
-
- thumb_func_start sub_80B8D20
-sub_80B8D20: @ 80B8D20
- 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 _080B8D38
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- b _080B8D3E
-_080B8D38:
- adds r0, r3, 0
- subs r0, 0x14
- strh r0, [r2, 0x20]
-_080B8D3E:
- pop {r0}
- bx r0
- thumb_func_end sub_80B8D20
-
- thumb_func_start sub_80B8D44
-sub_80B8D44: @ 80B8D44
- push {lr}
- ldr r0, =sub_80B8D84
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0x26]
- bl sav1_reset_battle_music_maybe
- ldr r0, =0x0000016d
- bl Overworld_ChangeMusicTo
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8D44
-
- thumb_func_start sub_80B8D84
-sub_80B8D84: @ 80B8D84
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4E0
- ldr r2, =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
- .pool
- thumb_func_end sub_80B8D84
-
- thumb_func_start sub_80B8DB4
-sub_80B8DB4: @ 80B8DB4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl player_bitmagic
- ldr r5, =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, =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
- .pool
- thumb_func_end sub_80B8DB4
-
- thumb_func_start sub_80B8E14
-sub_80B8E14: @ 80B8E14
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B8E3E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B8E50
-_080B8E3E:
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B8E50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8E14
-
- thumb_func_start sub_80B8E60
-sub_80B8E60: @ 80B8E60
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- cmp r0, 0
- beq _080B8E96
- ldr r2, =gFieldEffectArguments
- 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]
-_080B8E96:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8E60
-
- thumb_func_start sub_80B8EA8
-sub_80B8EA8: @ 80B8EA8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B8F12
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_8093540
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r1, =gFieldEffectArguments
- 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]
-_080B8F12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8EA8
-
- thumb_func_start sub_80B8F24
-sub_80B8F24: @ 80B8F24
- push {r4,r5,lr}
- ldr r5, =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B8F84
- 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_81555AC
- bl UnfreezeMapObjects
- bl ScriptContext2_Disable
- movs r0, 0x9
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B8D84
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B8F84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B8F24
-
- thumb_func_start sub_80B8F98
-sub_80B8F98: @ 80B8F98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gFieldEffectObjectTemplatePointers
- adds r0, 0x90
- ldr r0, [r0]
- movs r2, 0x18
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, r0, 4
- add r1, r8
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- movs r2, 0xF
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r2, 0
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- strh r2, [r1, 0x32]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x34]
- ldrh r0, [r1, 0x22]
- strh r0, [r1, 0x36]
- strh r2, [r1, 0x38]
- ldr r1, =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000e0e
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r0, =gUnknown_0855B610
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x12
- movs r1, 0x78
- bl SetGpuReg
- movs r4, 0x3
- ldr r7, =0x0600f800
- ldr r0, =0x0000bff4
- adds r6, r0, 0
-_080B901A:
- movs r2, 0xC
- lsls r0, r4, 1
- lsls r5, r4, 5
- adds r0, r4
- lsls r3, r0, 1
-_080B9024:
- adds r0, r5, r2
- lsls r0, 1
- adds r0, r7
- adds r1, r2, r6
- adds r1, r3, r1
- adds r1, 0x1
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x11
- bls _080B9024
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xE
- bls _080B901A
- movs r0, 0
- ldr r5, =gUnknown_0855B630
-_080B904A:
- movs r4, 0
- adds r7, r0, 0x1
- lsls r6, r0, 5
-_080B9050:
- lsls r1, r4, 2
- adds r1, r6, r1
- ldr r0, =0x06008020
- adds r3, r1, r0
- adds r0, r1, 0x1
- adds r0, r5
- ldrb r2, [r0]
- lsls r2, 8
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, r2
- strh r0, [r3]
- ldr r0, =0x06008022
- adds r3, r1, r0
- adds r0, r1, 0x3
- adds r0, r5
- ldrb r2, [r0]
- lsls r2, 8
- adds r1, 0x2
- adds r1, r5
- ldrb r0, [r1]
- adds r0, r2
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080B9050
- lsls r0, r7, 24
- lsrs r0, 24
- cmp r0, 0x59
- bls _080B904A
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B8F98
-
- thumb_func_start sub_80B90CC
-sub_80B90CC: @ 80B90CC
- push {r4,lr}
- ldr r0, =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, =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, =sub_80B9128
- str r0, [r2, 0x1C]
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r2, 0x30]
- movs r0, 0x9E
- bl PlaySE
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B90CC
-
- thumb_func_start sub_80B9128
-sub_80B9128: @ 80B9128
- 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 _080B918A
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =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]
-_080B918A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080B919A
- adds r0, r4, 0
- movs r1, 0x1E
- bl FieldEffectStop
-_080B919A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9128
-
- thumb_func_start sub_80B91A4
-sub_80B91A4: @ 80B91A4
- push {lr}
- ldr r0, =sub_80B91D4
- movs r1, 0xFE
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0xA]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B91A4
-
- thumb_func_start sub_80B91D4
-sub_80B91D4: @ 80B91D4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C4F4
- ldr r2, =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
- .pool
- thumb_func_end sub_80B91D4
-
- thumb_func_start sub_80B9204
-sub_80B9204: @ 80B9204
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B922E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B924C
-_080B922E:
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B924C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9204
-
- thumb_func_start sub_80B925C
-sub_80B925C: @ 80B925C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B928C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r1, =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
-_080B928C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B925C
-
- thumb_func_start sub_80B92A0
-sub_80B92A0: @ 80B92A0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B92E8
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrh r1, [r4, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B92D8
- ldrb r0, [r5, 0x1A]
- movs r1, 0x2
- bl sub_81555AC
- ldrb r0, [r5, 0x1A]
- movs r1, 0
- bl sub_81555D8
-_080B92D8:
- bl sub_80B94C4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B92E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B92A0
-
- thumb_func_start sub_80B92F8
-sub_80B92F8: @ 80B92F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B932C
- 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, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- movs r1, 0x2
- bl FieldObjectSetSpecialAnim
-_080B932C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B92F8
-
- thumb_func_start sub_80B933C
-sub_80B933C: @ 80B933C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r2, r0, r1
- ldrh r1, [r4, 0xC]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080B9362
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B9380
-_080B9362:
- adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B9380
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x9E
- bl PlaySE
- ldrb r0, [r4, 0xA]
- bl sub_80B9524
-_080B9380:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B933C
-
- thumb_func_start sub_80B9390
-sub_80B9390: @ 80B9390
- 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 _080B9406
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =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 FieldObjectSetGraphicsId
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =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 _080B93FC
- ldrb r1, [r4, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
-_080B93FC:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0xC]
-_080B9406:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9390
-
- thumb_func_start sub_80B9418
-sub_80B9418: @ 80B9418
- 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 _080B9464
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =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_80B9560
- bl CameraObjectReset2
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B9464:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9418
-
- thumb_func_start sub_80B9474
-sub_80B9474: @ 80B9474
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B948E
- bl sub_80AF0B4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B948E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9474
-
- thumb_func_start sub_80B9494
-sub_80B9494: @ 80B9494
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B94B6
- movs r0, 0x1F
- bl FieldEffectActiveListRemove
- ldr r0, =sub_80B91D4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B94B6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9494
-
- thumb_func_start sub_80B94C4
-sub_80B94C4: @ 80B94C4
- push {lr}
- ldr r0, =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, =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, =sub_80B957C
- str r1, [r2, 0x1C]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B94C4
-
- thumb_func_start sub_80B9508
-sub_80B9508: @ 80B9508
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =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
- .pool
- thumb_func_end sub_80B9508
-
- thumb_func_start sub_80B9524
-sub_80B9524: @ 80B9524
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldr r0, =sub_80B963C
- 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
- .pool
- thumb_func_end sub_80B9524
-
- thumb_func_start sub_80B9560
-sub_80B9560: @ 80B9560
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- strh r1, [r2, 0x3A]
- bx lr
- .pool
- thumb_func_end sub_80B9560
-
- thumb_func_start sub_80B957C
-sub_80B957C: @ 80B957C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9628
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B95C0
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_0855C548
- 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, =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]
-_080B95C0:
- 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, =0x000007ff
- cmp r1, r0
- bgt _080B95F6
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r4, 0x32]
-_080B95F6:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x81
- ble _080B9628
- 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
-_080B9628:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B957C
-
- thumb_func_start sub_80B963C
-sub_80B963C: @ 80B963C
- 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 _080B969A
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =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]
-_080B969A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080B96A6
- movs r0, 0x1
- strh r0, [r4, 0x3C]
-_080B96A6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B963C
-
- thumb_func_start sub_80B96B0
-sub_80B96B0: @ 80B96B0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9784
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B96FA
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_0855C548
- 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, =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]
-_080B96FA:
- 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 _080B973C
- ldrh r0, [r4, 0x36]
- subs r0, r1, r0
- strh r0, [r4, 0x32]
-_080B973C:
- ldrh r1, [r4, 0x36]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0xFF
- bgt _080B974C
- adds r0, r1, 0
- adds r0, 0x18
- strh r0, [r4, 0x36]
-_080B974C:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080B9756
- strh r2, [r4, 0x32]
-_080B9756:
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- ble _080B9784
- 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]
-_080B9784:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B96B0
-
- thumb_func_start sub_80B9794
-sub_80B9794: @ 80B9794
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80B9524
- ldr r1, =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80B96B0
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9794
-
- thumb_func_start sub_80B97C0
-sub_80B97C0: @ 80B97C0
- push {lr}
- ldr r0, =sub_80B97D4
- movs r1, 0xFE
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B97C0
-
- thumb_func_start sub_80B97D4
-sub_80B97D4: @ 80B97D4
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0855C550
- ldr r2, =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
- .pool
- thumb_func_end sub_80B97D4
-
- thumb_func_start sub_80B9804
-sub_80B9804: @ 80B9804
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B982E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B98A6
-_080B982E:
- 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 _080B9856
- ldrb r0, [r4, 0x1A]
- movs r1, 0
- bl sub_81555AC
-_080B9856:
- movs r0, 0x3
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- 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, =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_80B94C4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- bl sub_80B9524
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_80B9560
-_080B98A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9804
-
- thumb_func_start sub_80B98B8
-sub_80B98B8: @ 80B98B8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B98D0
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080B9910
-_080B98D0:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r5, 0xA]
- movs r1, 0x40
- bl sub_80B9560
- 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]
-_080B9910:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B98B8
-
- thumb_func_start sub_80B9924
-sub_80B9924: @ 80B9924
- push {r4,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, =gUnknown_0855C56C
- mov r0, sp
- movs r2, 0x24
- bl memcpy
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =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 _080B9962
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B9962:
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9924
-
- thumb_func_start sub_80B9978
-sub_80B9978: @ 80B9978
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B99DC
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, =gMapObjects
- adds r5, r0
- ldrb r0, [r5, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =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_808EB08
- 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_808C114
- adds r0, r5, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_080B99DC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9978
-
- thumb_func_start sub_80B99F0
-sub_80B99F0: @ 80B99F0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B9A18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r4, 0xA]
- bl sub_80B9794
-_080B9A18:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B99F0
-
- thumb_func_start sub_80B9A28
-sub_80B9A28: @ 80B9A28
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80B9508
- lsls r0, 24
- cmp r0, 0
- beq _080B9A54
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_080B9A54:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9A28
-
- thumb_func_start sub_80B9A60
-sub_80B9A60: @ 80B9A60
- 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 _080B9ACA
- ldr r6, =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- movs r7, 0
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B9A94
- movs r7, 0x3
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_81555AC
-_080B9A94:
- adds r0, r7, 0
- bl GetPlayerAvatarGraphicsIdByStateId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- 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, =sub_80B97D4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080B9ACA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9A60
-
- thumb_func_start sub_80B9ADC
-sub_80B9ADC: @ 80B9ADC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gFieldEffectArguments
- ldrb r0, [r4]
- ldrb r1, [r4, 0x4]
- ldrb r2, [r4, 0x8]
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B9B2C
- ldr r0, =sub_80B9BE8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, [r4]
- strh r0, [r1, 0x14]
- ldr r0, [r4, 0x4]
- strh r0, [r1, 0x16]
- ldr r0, [r4, 0x8]
- strh r0, [r1, 0x18]
- b _080B9B32
- .pool
-_080B9B2C:
- movs r0, 0x41
- bl FieldEffectActiveListRemove
-_080B9B32:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9ADC
-
- thumb_func_start sub_80B9B3C
-sub_80B9B3C: @ 80B9B3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B9B78
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B9B7C
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B9B7C
- subs r0, r1, 0x1
- b _080B9B7A
- .pool
-_080B9B78:
- movs r0, 0x4
-_080B9B7A:
- strh r0, [r4, 0xA]
-_080B9B7C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080B9BB6
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B9BAC
- ldrh r1, [r4, 0xA]
- negs r1, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl SetCameraPanning
- b _080B9BB6
-_080B9BAC:
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
-_080B9BB6:
- bl UpdateCameraPanning
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B9BC8
- adds r0, r5, 0
- bl DestroyTask
-_080B9BC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9B3C
-
- thumb_func_start sub_80B9BD0
-sub_80B9BD0: @ 80B9BD0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x16]
- bx lr
- .pool
- thumb_func_end sub_80B9BD0
-
- thumb_func_start sub_80B9BE8
-sub_80B9BE8: @ 80B9BE8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl InstallCameraPanAheadCallback
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r1, =gUnknown_0855C590
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9BE8
-
- thumb_func_start sub_80B9C28
-sub_80B9C28: @ 80B9C28
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =sub_80B9B3C
- movs r1, 0x5A
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x58
- bl PlaySE
- strh r4, [r5, 0xA]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9C28
-
- thumb_func_start sub_80B9C54
-sub_80B9C54: @ 80B9C54
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- ldrh r0, [r7, 0x6]
- adds r0, 0x1
- strh r0, [r7, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080B9CC2
- ldr r2, =gMapObjects
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r6, =0x0000ffff
- ldr r5, =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- adds r2, r5, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl sub_80B9D24
- movs r0, 0x57
- bl PlaySE
- ldrb r0, [r7, 0xA]
- bl sub_80B9BD0
- movs r0, 0
- strh r0, [r7, 0x6]
- ldrh r0, [r7, 0x2]
- adds r0, 0x1
- strh r0, [r7, 0x2]
-_080B9CC2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9C54
-
- thumb_func_start sub_80B9CDC
-sub_80B9CDC: @ 80B9CDC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B9D16
- ldr r0, =sub_80B9B3C
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080B9D16
- bl InstallCameraPanAheadCallback
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xE]
- ldrb r2, [r4, 0x10]
- bl RemoveFieldObjectByLocalIdAndMap
- movs r0, 0x41
- bl FieldEffectActiveListRemove
- adds r0, r5, 0
- bl DestroyTask
-_080B9D16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9CDC
-
- thumb_func_start sub_80B9D24
-sub_80B9D24: @ 80B9D24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r2, r0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- adds r2, r0
- ldr r0, =gUnknown_03005DE8
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x22
- ldrsh r1, [r6, r3]
- adds r0, r1
- movs r3, 0x26
- ldrsh r1, [r6, r3]
- adds r0, r1
- subs r0, 0x4
- movs r5, 0
- lsls r2, 16
- mov r8, r2
- lsls r7, r0, 16
-_080B9D5A:
- ldr r0, =gUnknown_0855C5EC
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080B9D96
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- strh r5, [r4, 0x2E]
- ldrb r1, [r6, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080B9D96:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B9D5A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9D24
-
- thumb_func_start sub_80B9DB8
-sub_80B9DB8: @ 80B9DB8
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080B9DE4
- cmp r0, 0x1
- bgt _080B9DCE
- cmp r0, 0
- beq _080B9DD8
- b _080B9E02
-_080B9DCE:
- cmp r0, 0x2
- beq _080B9DF0
- cmp r0, 0x3
- beq _080B9DF6
- b _080B9E02
-_080B9DD8:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _080B9E00
-_080B9DE4:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _080B9E00
-_080B9DF0:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- b _080B9DFA
-_080B9DF6:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
-_080B9DFA:
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- adds r0, 0xC
-_080B9E00:
- strh r0, [r1, 0x22]
-_080B9E02:
- ldrh r0, [r1, 0x20]
- adds r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF8
- bhi _080B9E1E
- movs r0, 0x22
- ldrsh r2, [r1, r0]
- movs r0, 0x4
- negs r0, r0
- cmp r2, r0
- blt _080B9E1E
- cmp r2, 0xA4
- ble _080B9E24
-_080B9E1E:
- adds r0, r1, 0
- bl DestroySprite
-_080B9E24:
- pop {r0}
- bx r0
- thumb_func_end sub_80B9DB8
-
- thumb_func_start sub_80B9E28
-sub_80B9E28: @ 80B9E28
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r7, =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B9EBE
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- movs r0, 0x10
- ldrsh r5, [r4, r0]
- subs r5, 0x7
- movs r0, 0x12
- ldrsh r6, [r4, r0]
- subs r6, 0x7
- ldr r1, [r7, 0xC]
- subs r5, r1, r5
- lsls r5, 4
- ldr r2, [r7, 0x10]
- subs r6, r2, r6
- lsls r6, 4
- adds r1, 0x7
- lsls r1, 16
- asrs r1, 16
- adds r2, 0x7
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- bl npc_coords_shift
- ldr r0, =sub_80B9EDC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldrb r0, [r4, 0x4]
- strh r0, [r2, 0xA]
- ldr r3, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- adds r0, r5
- strh r0, [r2, 0xC]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- adds r0, r6
- strh r0, [r2, 0xE]
- ldr r0, [r7, 0x14]
- strh r0, [r2, 0x18]
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r2, 0x1A]
-_080B9EBE:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B9E28
-
- thumb_func_start sub_80B9EDC
-sub_80B9EDC: @ 80B9EDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080B9F10
- cmp r0, 0x1
- beq _080B9F4E
- b _080B9FAC
- .pool
-_080B9F10:
- ldrh r0, [r6, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x8]
- ldrh r0, [r6, 0x22]
- lsls r0, 4
- strh r0, [r5, 0xA]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- lsls r0, 4
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xC]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 4
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xE]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080B9F4E:
- ldrh r1, [r5, 0x10]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080B9F7C
- subs r0, r1, 0x1
- strh r0, [r5, 0x10]
- ldrh r1, [r5, 0xC]
- ldrh r0, [r5, 0x8]
- adds r1, r0
- strh r1, [r5, 0x8]
- ldrh r0, [r5, 0xE]
- ldrh r2, [r5, 0xA]
- adds r0, r2
- strh r0, [r5, 0xA]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r6, 0x20]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r6, 0x22]
- b _080B9FAC
-_080B9F7C:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r6, 0x20]
- ldrh r0, [r5, 0x6]
- strh r0, [r6, 0x22]
- adds r0, r4, 0
- bl npc_coords_shift_still
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x42
- bl FieldEffectActiveListRemove
- adds r0, r7, 0
- bl DestroyTask
-_080B9FAC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B9EDC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
index 754a8f7ff..6cf62ba8b 100644
--- a/asm/field_effect_helpers.s
+++ b/asm/field_effect_helpers.s
@@ -100,7 +100,7 @@ _08153F7A:
sub_8153F98: @ 8153F98
push {lr}
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrh r0, [r0, 0xA]
subs r0, 0x2
lsls r0, 16
@@ -123,7 +123,7 @@ npc_pal_op: @ 8153FAC
movs r0, 0
strh r0, [r4, 0x32]
ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrb r1, [r0, 0xC]
movs r0, 0x80
ands r0, r1
@@ -172,7 +172,7 @@ npc_pal_op_B: @ 815401C
lsls r1, 24
lsrs r4, r1, 24
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r2, r0, 0
ldrh r1, [r2, 0x4]
ldr r0, =0x000011ff
@@ -204,7 +204,7 @@ _0815405A:
bl pal_patch_for_npc
_0815406A:
adds r0, r4, 0
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
_08154070:
pop {r4}
pop {r0}
@@ -217,7 +217,7 @@ npc_pal_op_A: @ 8154078
lsls r1, 24
lsrs r4, r1, 24
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r2, r0, 0
ldrh r1, [r2, 0x4]
ldr r0, =0x000011ff
@@ -227,7 +227,7 @@ npc_pal_op_A: @ 8154078
adds r1, r4, 0
bl pal_patch_for_npc
adds r0, r4, 0
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
_0815409C:
pop {r4}
pop {r0}
@@ -248,7 +248,7 @@ objc_reflection_maybe: @ 81540A8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r7, r0, r1
ldrb r1, [r7, 0x4]
lsls r0, r1, 4
@@ -578,16 +578,16 @@ oei_shadow: @ 8154340
ldrb r0, [r5]
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
adds r1, r2
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r4, r0, 0
ldr r2, =gFieldEffectObjectTemplatePointers
ldr r1, =gUnknown_085CDC3E
@@ -659,7 +659,7 @@ oamc_shadow: @ 81543E4
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08154412
@@ -673,7 +673,7 @@ _08154412:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r0, [r4, 0x4]
lsls r1, r0, 4
@@ -877,7 +877,7 @@ _0815459C:
adds r1, r4, 0
adds r2, r7, 0
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081545F0
@@ -909,7 +909,7 @@ _08154604:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r2, r0, r1
ldr r0, [r2, 0x10]
ldr r1, [r5, 0x30]
@@ -931,7 +931,7 @@ _08154624:
_08154632:
adds r0, r5, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r5, 0x2E]
lsls r1, 24
lsrs r1, 24
@@ -1216,7 +1216,7 @@ _0815484C:
adds r1, r7, 0
adds r2, r6, 0
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081548A0
@@ -1248,7 +1248,7 @@ _081548B4:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r2, r0, r1
ldr r0, [r2, 0x10]
ldr r1, [r5, 0x30]
@@ -1262,7 +1262,7 @@ _081548B4:
_081548D4:
adds r0, r5, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r5, 0x2E]
lsls r1, 24
lsrs r1, 24
@@ -1340,13 +1340,13 @@ sub_815496C: @ 815496C
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x78]
@@ -1428,11 +1428,11 @@ sub_8154A10: @ 8154A10
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08154A4E
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -1451,7 +1451,7 @@ _08154A4E:
.pool
_08154A5C:
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r8, r0
mov r0, sp
ldrb r1, [r0]
@@ -1523,7 +1523,7 @@ _08154AB2:
lsls r1, 29
lsrs r1, 31
adds r0, r4, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08154AF2:
add sp, 0x4
pop {r3}
@@ -1729,7 +1729,7 @@ sub_8154C7C: @ 8154C7C
_08154C92:
adds r0, r1, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
pop {r0}
bx r0
thumb_func_end sub_8154C7C
@@ -1758,7 +1758,7 @@ sub_8154CA0: @ 8154CA0
lsls r1, 29
lsrs r1, 31
adds r0, r4, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
movs r1, 0x30
ldrsh r0, [r4, r1]
cmp r0, 0x38
@@ -1781,13 +1781,13 @@ sub_8154CEC: @ 8154CEC
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x34]
@@ -1800,7 +1800,7 @@ sub_8154CEC: @ 8154CEC
cmp r4, 0x40
beq _08154D76
ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
lsls r3, r4, 4
adds r3, r4
lsls r3, 2
@@ -1870,7 +1870,7 @@ sub_8154D90: @ 8154D90
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08154DCA
@@ -1881,7 +1881,7 @@ _08154DC0:
b _08154E0A
_08154DCA:
ldr r3, =gSprites
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -1910,7 +1910,7 @@ _08154DCA:
strh r0, [r4, 0x22]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08154E0A:
add sp, 0x4
pop {r4}
@@ -2034,13 +2034,13 @@ sub_8154EFC: @ 8154EFC
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r6, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x34]
@@ -2053,7 +2053,7 @@ sub_8154EFC: @ 8154EFC
cmp r5, 0x40
beq _08154F92
ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r4, r0, 0
lsls r0, r5, 4
adds r0, r5
@@ -2123,11 +2123,11 @@ sub_8154FB4: @ 8154FB4
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08154FEE
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -2162,7 +2162,7 @@ _08154FFC:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldr r1, [r5, 0x10]
ldr r0, [r4, 0x34]
cmp r1, r0
@@ -2242,13 +2242,13 @@ sub_81550B4: @ 81550B4
ldrb r0, [r6]
ldrb r1, [r6, 0x4]
ldrb r2, [r6, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x7C]
@@ -2328,11 +2328,11 @@ sub_8155158: @ 8155158
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08155192
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -2351,7 +2351,7 @@ _08155192:
.pool
_081551A0:
ldrb r0, [r1, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r1, sp
ldrb r2, [r1]
lsls r1, r2, 3
@@ -2381,7 +2381,7 @@ _081551A0:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_081551E4:
add sp, 0x4
pop {r4,r5}
@@ -2765,7 +2765,7 @@ sub_81554AC: @ 81554AC
movs r2, 0x32
ldrsh r1, [r4, r2]
bl CurrentMapDrawMetatileAt
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2789,7 +2789,7 @@ sub_815550C: @ 815550C
push {r4,lr}
adds r4, r0, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
adds r0, r4, 0
adds r0, 0x3F
ldrb r1, [r0]
@@ -2972,7 +2972,7 @@ sub_8155658: @ 8155658
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrb r0, [r4, 0x4]
lsls r5, r0, 4
@@ -3319,13 +3319,13 @@ sub_8155900: @ 8155900
ldrb r0, [r7]
ldrb r1, [r7, 0x4]
ldrb r2, [r7, 0x8]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r6, r1, r0
ldr r0, =gFieldEffectObjectTemplatePointers
ldr r0, [r0, 0x74]
@@ -3338,7 +3338,7 @@ sub_8155900: @ 8155900
cmp r4, 0x40
beq _081559A4
ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
adds r5, r0, 0
lsls r0, r4, 4
adds r0, r4
@@ -3415,11 +3415,11 @@ sub_81559BC: @ 81559BC
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _081559F6
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3474,7 +3474,7 @@ _08155A46:
strh r6, [r4, 0x20]
strh r5, [r4, 0x22]
ldr r3, =gSprites
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3493,7 +3493,7 @@ _08155A46:
strb r0, [r1]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_08155A76:
add sp, 0x4
pop {r4-r6}
@@ -3567,7 +3567,7 @@ sub_8155AEC: @ 8155AEC
strh r1, [r4, 0x22]
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r1, [r4, 0x3E]
ldr r0, =0x00001004
ands r0, r1
@@ -3694,7 +3694,7 @@ ShowDisguiseFieldEffect: @ 8155BD0
ldrb r1, [r5, 0x4]
ldrb r2, [r5, 0x8]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08155C08
@@ -3783,7 +3783,7 @@ sub_8155C88: @ 8155C88
lsls r2, 24
lsrs r2, 24
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
beq _08155CB8
@@ -3793,7 +3793,7 @@ sub_8155C88: @ 8155C88
adds r0, r5, 0
bl FieldEffectStop
_08155CB8:
- ldr r4, =gMapObjects
+ ldr r4, =gEventObjects
mov r0, sp
ldrb r1, [r0]
lsls r0, r1, 3
@@ -3801,7 +3801,7 @@ _08155CB8:
lsls r0, 2
adds r0, r4
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r1, sp
ldrb r2, [r1]
lsls r1, r2, 3
@@ -4460,7 +4460,7 @@ sub_8156194: @ 8156194
_081561B2:
adds r0, r4, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
ldrh r0, [r4, 0x2E]
lsls r0, 24
lsrs r0, 24
@@ -4492,7 +4492,7 @@ sub_81561D0: @ 81561D0
_081561EE:
adds r0, r2, 0
movs r1, 0
- bl sub_80979D4
+ bl UpdateEventObjectSpriteVisibility
_081561F6:
pop {r0}
bx r0
@@ -4514,14 +4514,14 @@ _08156212:
lsls r0, r7, 3
adds r0, r7
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r0, [r4]
lsls r0, 31
cmp r0, 0
beq _081562B4
ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
adds r0, r1
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
deleted file mode 100644
index 2152a5c5b..000000000
--- a/asm/field_ground_effect.s
+++ /dev/null
@@ -1,1929 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetAllGroundEffectFlags_OnSpawn
-@ void GetAllGroundEffectFlags_OnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnSpawn: @ 8096638
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnSpawn
-
- thumb_func_start GetAllGroundEffectFlags_OnBeginStep
-@ void GetAllGroundEffectFlags_OnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnBeginStep: @ 8096680
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Tracks
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnBeginStep
-
- thumb_func_start GetAllGroundEffectFlags_OnFinishStep
-@ void GetAllGroundEffectFlags_OnFinishStep(struct npc_state *fieldObject, u32 *flags)
-GetAllGroundEffectFlags_OnFinishStep: @ 80966D8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldObjectUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Ripple
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Seaweed
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_JumpLanding
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnFinishStep
-
- thumb_func_start FieldObjectUpdateMetatileBehaviors
-@ void FieldObjectUpdateMetatileBehaviors(struct npc_state *fieldObject)
-FieldObjectUpdateMetatileBehaviors: @ 8096728
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1F]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateMetatileBehaviors
-
- thumb_func_start GetGroundEffectFlags_Reflection
-@ void GetGroundEffectFlags_Reflection(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Reflection: @ 8096750
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_0850E5DC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl FieldObjectCheckForReflectiveSurface
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08096798
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 30
- cmp r0, 0
- blt _080967A2
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x2]
- subs r0, r2, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r5]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r5]
- b _080967A2
- .pool
-_08096798:
- ldrb r1, [r4, 0x2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080967A2:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Reflection
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
-@ void GetGroundEffectFlags_TallGrassOnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_TallGrassOnSpawn: @ 80967AC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080967C4
- ldr r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [r4]
-_080967C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
-@ void GetGroundEffectFlags_TallGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_TallGrassOnBeginStep: @ 80967CC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass
- lsls r0, 24
- cmp r0, 0
- beq _080967E4
- ldr r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [r4]
-_080967E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
-@ void GetGroundEffectFlags_LongGrassOnSpawn(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_LongGrassOnSpawn: @ 80967EC
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096804
- ldr r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [r4]
-_08096804:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
-@ void GetGroundEffectFlags_LongGrassOnBeginStep(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_LongGrassOnBeginStep: @ 809680C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096824
- ldr r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [r4]
-_08096824:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_Tracks
-@ void GetGroundEffectFlags_Tracks(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Tracks: @ 809682C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _08096846
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 1
- b _08096862
-_08096846:
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsSandOrDeepSand
- lsls r0, 24
- cmp r0, 0
- bne _0809685E
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsUnusedFootprintMetatile
- lsls r0, 24
- cmp r0, 0
- beq _08096866
-_0809685E:
- ldr r0, [r5]
- movs r1, 0x80
-_08096862:
- orrs r0, r1
- str r0, [r5]
-_08096866:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Tracks
-
- thumb_func_start GetGroundEffectFlags_SandHeap
-@ void GetGroundEffectFlags_SandHeap(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_SandHeap: @ 809686C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _080968AA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsDeepSand
- lsls r0, 24
- cmp r0, 0
- beq _080968AA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 27
- cmp r0, 0
- blt _080968B4
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- str r0, [r5]
- b _080968B4
-_080968AA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080968B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_SandHeap
-
- thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
-@ void GetGroundEffectFlags_ShallowFlowingWater(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_ShallowFlowingWater: @ 80968BC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- beq _080968DA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShallowFlowingWater
- lsls r0, 24
- cmp r0, 0
- bne _080968F2
-_080968DA:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _08096910
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _08096910
-_080968F2:
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _0809691A
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x40
- orrs r0, r1
- str r0, [r5]
- b _0809691A
-_08096910:
- ldrb r1, [r4, 0x2]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_0809691A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
-
- thumb_func_start GetGroundEffectFlags_Puddle
-@ void GetGroundEffectFlags_Puddle(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Puddle: @ 8096920
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08096948
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08096948
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r5]
-_08096948:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Puddle
-
- thumb_func_start GetGroundEffectFlags_Ripple
-@ void GetGroundEffectFlags_Ripple(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Ripple: @ 8096950
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_HasRipples
- lsls r0, 24
- cmp r0, 0
- beq _0809696A
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r4]
-_0809696A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Ripple
-
- thumb_func_start GetGroundEffectFlags_ShortGrass
-@ void GetGroundEffectFlags_ShortGrass(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_ShortGrass: @ 8096970
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _080969AE
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsShortGrass
- lsls r0, 24
- cmp r0, 0
- beq _080969AE
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 29
- cmp r0, 0
- blt _080969B8
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [r5]
- b _080969B8
-_080969AE:
- ldrb r1, [r4, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_080969B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShortGrass
-
- thumb_func_start GetGroundEffectFlags_HotSprings
-@ void GetGroundEffectFlags_HotSprings(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_HotSprings: @ 80969C0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080969FE
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _080969FE
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 26
- cmp r0, 0
- blt _08096A08
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r5]
- b _08096A08
-_080969FE:
- ldrb r1, [r4, 0x2]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08096A08:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_HotSprings
-
- thumb_func_start GetGroundEffectFlags_Seaweed
-@ void GetGroundEffectFlags_Seaweed(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_Seaweed: @ 8096A10
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsSeaweed
- lsls r0, 24
- cmp r0, 0
- beq _08096A2A
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r4]
-_08096A2A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Seaweed
-
- thumb_func_start GetGroundEffectFlags_JumpLanding
-@ void GetGroundEffectFlags_JumpLanding(struct npc_state *fieldObject, u32 *flags)
-GetGroundEffectFlags_JumpLanding: @ 8096A30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, [r7]
- ldr r1, =0x02000020
- ands r0, r1
- cmp r0, 0x20
- bne _08096A82
- movs r5, 0
- ldr r0, =gUnknown_0850E5E4
- mov r8, r0
-_08096A4A:
- lsls r4, r5, 2
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r7, 0x1E]
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08096A78
- ldr r0, =gUnknown_0850E5FC
- adds r0, r4, r0
- ldr r1, [r6]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r6]
- b _08096A82
- .pool
-_08096A78:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08096A4A
-_08096A82:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_JumpLanding
-
- thumb_func_start FieldObjectCheckForReflectiveSurface
-@ u8 FieldObjectCheckForReflectiveSurface(struct npc_state *fieldObject)
-FieldObjectCheckForReflectiveSurface: @ 8096A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- ldrb r0, [r5, 0x5]
- bl GetFieldObjectGraphicsInfo
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- adds r1, 0x8
- lsls r1, 12
- lsrs r1, 16
- str r1, [sp]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- adds r0, 0x8
- lsls r0, 12
- movs r4, 0
- lsrs r2, r0, 16
- str r2, [sp, 0x4]
- asrs r0, 16
- cmp r4, r0
- blt _08096AC2
- b _08096BC8
-_08096AC2:
- movs r0, 0x1
- mov r10, r0
-_08096AC6:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- add r1, r10
- lsls r4, 16
- asrs r6, r4, 16
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- mov r9, r4
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- add r1, r10
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r2, 0x1
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r2, r1
- bge _08096BB6
- movs r0, 0x80
- lsls r0, 9
- asrs r7, r0, 16
-_08096B20:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- adds r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- subs r0, r4
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- adds r1, r7
- adds r1, r6
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08096BCA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, r8
- blt _08096B20
-_08096BB6:
- movs r1, 0x80
- lsls r1, 9
- add r1, r9
- lsrs r4, r1, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- cmp r1, r0
- bge _08096BC8
- b _08096AC6
-_08096BC8:
- movs r0, 0
-_08096BCA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end FieldObjectCheckForReflectiveSurface
-
- thumb_func_start GetReflectionTypeByMetatileBehavior
-@ u8 GetReflectionTypeByMetatileBehavior(u8 metatileBehavior)
-GetReflectionTypeByMetatileBehavior: @ 8096BDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsIce
- lsls r0, 24
- cmp r0, 0
- beq _08096BF2
- movs r0, 0x1
- b _08096C04
-_08096BF2:
- adds r0, r4, 0
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _08096C02
- movs r0, 0
- b _08096C04
-_08096C02:
- movs r0, 0x2
-_08096C04:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetReflectionTypeByMetatileBehavior
-
- thumb_func_start GetLedgeJumpDirection
-@ u8 GetLedgeJumpDirection(u16 x, u16 y, u8 direction)
-GetLedgeJumpDirection: @ 8096C0C
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _08096C52
- cmp r4, 0x4
- bls _08096C28
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_08096C28:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_0850E614
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08096C5C
-_08096C52:
- movs r0, 0
- b _08096C62
- .pool
-_08096C5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
-_08096C62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLedgeJumpDirection
-
- thumb_func_start FieldObjectSetSpriteOamTableForLongGrass
-@ void FieldObjectSetSpriteOamTableForLongGrass(struct npc_state *fieldObject, struct obj *object)
-FieldObjectSetSpriteOamTableForLongGrass: @ 8096C68
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5]
- lsls r0, 27
- cmp r0, 0
- blt _08096CBC
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096CBC
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08096CBC
- adds r4, 0x42
- ldrb r1, [r4]
- movs r6, 0x40
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08096CBC
- ldrb r0, [r4]
- adds r1, r6, 0
- ands r1, r0
- movs r0, 0x5
- orrs r1, r0
- strb r1, [r4]
-_08096CBC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectSetSpriteOamTableForLongGrass
-
- thumb_func_start IsZCoordMismatchAt
-@ bool8 IsZCoordMismatchAt(u8 z, u16 x, u16 y)
-IsZCoordMismatchAt: @ 8096CC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r1, r2, 16
- cmp r4, 0
- beq _08096CF2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08096CF2
- cmp r0, 0xF
- beq _08096CF2
- cmp r0, r4
- bne _08096CF6
-_08096CF2:
- movs r0, 0
- b _08096CF8
-_08096CF6:
- movs r0, 0x1
-_08096CF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsZCoordMismatchAt
-
- thumb_func_start FieldObjectUpdateZCoordAndPriority
-@ void FieldObjectUpdateZCoordAndPriority(struct npc_state *fieldObject, struct obj *object)
-FieldObjectUpdateZCoordAndPriority: @ 8096D00
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08096D4E
- adds r0, r4, 0
- bl FieldObjectUpdateZCoord
- ldr r1, =gUnknown_0850E644
- ldrb r2, [r4, 0xB]
- lsls r2, 24
- lsrs r0, r2, 28
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r5, 0
- adds r4, 0x42
- movs r1, 0x3F
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- ldr r0, =gUnknown_0850E634
- lsrs r2, 28
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r2]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_08096D4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end FieldObjectUpdateZCoordAndPriority
-
- thumb_func_start InitObjectPriorityByZCoord
-@ void InitObjectPriorityByZCoord(struct obj *object, u8 z)
-InitObjectPriorityByZCoord: @ 8096D5C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_0850E644
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r3, 0x42
- adds r3, r0
- mov r12, r3
- movs r3, 0x3F
- ands r3, r2
- mov r2, r12
- ldrb r4, [r2]
- movs r2, 0x40
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- ldr r2, =gUnknown_0850E634
- adds r1, r2
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end InitObjectPriorityByZCoord
-
- thumb_func_start ZCoordToPriority
-@ u8 ZCoordToPriority(u8 z)
-ZCoordToPriority: @ 8096DA8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0850E634
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end ZCoordToPriority
-
- thumb_func_start FieldObjectUpdateZCoord
-@ void FieldObjectUpdateZCoord(struct npc_state *fieldObject)
-FieldObjectUpdateZCoord: @ 8096DB8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0xF
- beq _08096E06
- cmp r0, 0xF
- beq _08096E06
- movs r3, 0xF
- adds r0, r5, 0
- ands r0, r3
- ldrb r1, [r4, 0xB]
- movs r2, 0x10
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- cmp r5, 0
- beq _08096E06
- cmp r5, 0xF
- beq _08096E06
- lsls r0, r5, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xB]
-_08096E06:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateZCoord
-
- thumb_func_start SetObjectSubpriorityByZCoord
-@ void SetObjectSubpriorityByZCoord(u8 z, struct obj *object, u8 offset)
-SetObjectSubpriorityByZCoord: @ 8096E0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0
- adds r3, 0x29
- movs r5, 0
- ldrsb r5, [r3, r5]
- ldrh r4, [r1, 0x22]
- ldr r3, =gSpriteCoordOffsetY
- subs r4, r5
- ldrh r3, [r3]
- adds r4, r3
- adds r4, 0x8
- movs r3, 0xFF
- ands r4, r3
- lsrs r4, 4
- movs r3, 0x10
- subs r3, r4
- lsls r3, 17
- ldr r4, =gUnknown_0850E624
- adds r0, r4
- lsrs r3, 16
- ldrb r0, [r0]
- adds r3, r0
- adds r2, r3
- adds r1, 0x43
- strb r2, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetObjectSubpriorityByZCoord
-
- thumb_func_start FieldObjectUpdateSubpriority
-@ void FieldObjectUpdateSubpriority(struct npc_state *fieldObject, struct obj *object)
-FieldObjectUpdateSubpriority: @ 8096E54
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08096E6A
- ldrb r0, [r2, 0xB]
- lsrs r0, 4
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_08096E6A:
- pop {r0}
- bx r0
- thumb_func_end FieldObjectUpdateSubpriority
-
- thumb_func_start AreZCoordsCompatible
-@ bool8 AreZCoordsCompatible(u8 z1, u8 z2)
-AreZCoordsCompatible: @ 8096E70
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0
- beq _08096E86
- cmp r1, 0
- beq _08096E86
- cmp r0, r1
- bne _08096E8A
-_08096E86:
- movs r0, 0x1
- b _08096E8C
-_08096E8A:
- movs r0, 0
-_08096E8C:
- pop {r1}
- bx r1
- thumb_func_end AreZCoordsCompatible
-
- thumb_func_start GroundEffect_SpawnOnTallGrass
-@ void GroundEffect_SpawnOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SpawnOnTallGrass: @ 8096E90
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SpawnOnTallGrass
-
- thumb_func_start GroundEffect_StepOnTallGrass
-@ void GroundEffect_StepOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnTallGrass: @ 8096EDC
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_StepOnTallGrass
-
- thumb_func_start GroundEffect_SpawnOnLongGrass
-@ void GroundEffect_SpawnOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SpawnOnLongGrass: @ 8096F28
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SpawnOnLongGrass
-
- thumb_func_start GroundEffect_StepOnLongGrass
-@ void GroundEffect_StepOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnLongGrass: @ 8096F74
- push {lr}
- ldr r3, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_StepOnLongGrass
-
- thumb_func_start GroundEffect_WaterReflection
-@ void GroundEffect_WaterReflection(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_WaterReflection: @ 8096FC0
- push {lr}
- movs r2, 0
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_WaterReflection
-
- thumb_func_start GroundEffect_IceReflection
-@ void GroundEffect_IceReflection(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_IceReflection: @ 8096FCC
- push {lr}
- movs r2, 0x1
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_IceReflection
-
- thumb_func_start GroundEffect_FlowingWater
-@ void GroundEffect_FlowingWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_FlowingWater: @ 8096FD8
- push {lr}
- adds r1, r0, 0
- movs r0, 0x22
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_FlowingWater
-
- thumb_func_start GroundEffect_SandTracks
-@ void GroundEffect_SandTracks(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SandTracks: @ 8096FE8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, =gUnknown_0850E654
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_SandTracks
-
- thumb_func_start GroundEffect_DeepSandTracks
-@ void GroundEffect_DeepSandTracks(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_DeepSandTracks: @ 8097014
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r1, =gUnknown_0850E654
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_DeepSandTracks
-
- thumb_func_start DoTracksGroundEffect_None
-@ void DoTracksGroundEffect_None(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_None: @ 8097040
- bx lr
- thumb_func_end DoTracksGroundEffect_None
-
- thumb_func_start DoTracksGroundEffect_Footprints
-@ void DoTracksGroundEffect_Footprints(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_Footprints: @ 8097044
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, =gUnknown_0850E660
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r1, =gFieldEffectArguments
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- movs r0, 0x95
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- str r0, [r1, 0x10]
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl FieldEffectStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoTracksGroundEffect_Footprints
-
- thumb_func_start DoTracksGroundEffect_BikeTireTracks
-@ void DoTracksGroundEffect_BikeTireTracks(struct npc_state *fieldObject, struct obj *object)
-DoTracksGroundEffect_BikeTireTracks: @ 8097094
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _080970D6
- ldr r2, =gFieldEffectArguments
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- movs r0, 0x95
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- ldr r3, =gUnknown_0850E664
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- subs r0, 0x5
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- str r0, [r2, 0x10]
- movs r0, 0x23
- bl FieldEffectStart
-_080970D6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoTracksGroundEffect_BikeTireTracks
-
- thumb_func_start GroundEffect_Ripple
-@ void GroundEffect_Ripple(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_Ripple: @ 80970E4
- push {lr}
- bl DoRippleFieldEffect
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_Ripple
-
- thumb_func_start GroundEffect_StepOnPuddle
-@ void GroundEffect_StepOnPuddle(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_StepOnPuddle: @ 80970F0
- push {lr}
- adds r1, r0, 0
- movs r0, 0xF
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_StepOnPuddle
-
- thumb_func_start GroundEffect_SandHeap
-@ void GroundEffect_SandHeap(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_SandHeap: @ 8097100
- push {lr}
- adds r1, r0, 0
- movs r0, 0x27
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_SandHeap
-
- thumb_func_start GroundEffect_JumpOnTallGrass
-@ void GroundEffect_JumpOnTallGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnTallGrass: @ 8097110
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl FieldEffectStart
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0x9]
- ldrb r2, [r5, 0xA]
- movs r7, 0x10
- ldrsh r3, [r5, r7]
- movs r7, 0x12
- ldrsh r4, [r5, r7]
- str r4, [sp]
- bl sub_81546C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- bne _0809715A
- adds r0, r5, 0
- adds r1, r6, 0
- bl GroundEffect_SpawnOnTallGrass
-_0809715A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnTallGrass
-
- thumb_func_start GroundEffect_JumpOnLongGrass
-@ void GroundEffect_JumpOnLongGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnLongGrass: @ 8097168
- push {lr}
- ldr r2, =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- str r1, [r2, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x12
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnLongGrass
-
- thumb_func_start GroundEffect_JumpOnShallowWater
-@ void GroundEffect_JumpOnShallowWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnShallowWater: @ 8097190
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x10
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnShallowWater
-
- thumb_func_start GroundEffect_JumpOnWater
-@ void GroundEffect_JumpOnWater(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpOnWater: @ 80971C0
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xE
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpOnWater
-
- thumb_func_start GroundEffect_JumpLandingDust
-@ void GroundEffect_JumpLandingDust(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_JumpLandingDust: @ 80971F0
- push {r4,lr}
- ldr r3, =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_JumpLandingDust
-
- thumb_func_start GroundEffect_ShortGrass
-@ void GroundEffect_ShortGrass(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_ShortGrass: @ 8097220
- push {lr}
- adds r1, r0, 0
- movs r0, 0x29
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_ShortGrass
-
- thumb_func_start GroundEffect_HotSprings
-@ void GroundEffect_HotSprings(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_HotSprings: @ 8097230
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2A
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_HotSprings
-
- thumb_func_start GroundEffect_Seaweed
-@ void GroundEffect_Seaweed(struct npc_state *fieldObject, struct obj *object)
-GroundEffect_Seaweed: @ 8097240
- push {lr}
- ldr r2, =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- str r0, [r2, 0x4]
- movs r0, 0x35
- bl FieldEffectStart
- pop {r0}
- bx r0
- .pool
- thumb_func_end GroundEffect_Seaweed
-
- thumb_func_start DoFlaggedGroundEffects
-@ void DoFlaggedGroundEffects(struct npc_state *fieldObject, struct obj *object, u32 flags)
-DoFlaggedGroundEffects: @ 8097260
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- bl FieldObjectIsFarawayIslandMew
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08097284
- adds r0, r6, 0
- bl sub_81D4A58
- lsls r0, 24
- cmp r0, 0
- beq _080972AC
-_08097284:
- movs r4, 0
- ldr r0, =gUnknown_0850E674
- mov r8, r0
-_0809728A:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _080972A0
- lsls r0, r4, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_080972A0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsrs r5, 1
- cmp r4, 0x13
- bls _0809728A
-_080972AC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoFlaggedGroundEffects
-
- thumb_func_start filters_out_some_ground_effects
-@ void filters_out_some_ground_effects(struct npc_state *fieldObject, u32 *flags)
-filters_out_some_ground_effects: @ 80972BC
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- lsls r0, 27
- cmp r0, 0
- bge _080972EA
- ldrb r1, [r2, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- adds r1, 0x8
- ands r0, r1
- subs r1, 0x18
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r0, [r3]
- ldr r1, =0xfff9f7bd
- ands r0, r1
- str r0, [r3]
-_080972EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end filters_out_some_ground_effects
-
- thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
-@ void FilterOutStepOnPuddleGroundEffectIfJumping(struct npc_state *fieldObject, u32 *flags)
-FilterOutStepOnPuddleGroundEffectIfJumping: @ 80972F4
- push {lr}
- adds r2, r1, 0
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08097308
- ldr r0, [r2]
- ldr r1, =0xfffffbff
- ands r0, r1
- str r0, [r2]
-_08097308:
- pop {r0}
- bx r0
- .pool
- thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
-
- thumb_func_start DoGroundEffects_OnSpawn
-@ void DoGroundEffects_OnSpawn(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnSpawn: @ 8097310
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08097354
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08097354:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnSpawn
-
- thumb_func_start DoGroundEffects_OnBeginStep
-@ void DoGroundEffects_OnBeginStep(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnBeginStep: @ 809735C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _080973A8
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl filters_out_some_ground_effects
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080973A8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnBeginStep
-
- thumb_func_start DoGroundEffects_OnFinishStep
-@ void DoGroundEffects_OnFinishStep(struct npc_state *fieldObject, struct obj *object)
-DoGroundEffects_OnFinishStep: @ 80973B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 28
- cmp r0, 0
- bge _080973FC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldObjectSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl FilterOutStepOnPuddleGroundEffectIfJumping
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080973FC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnFinishStep
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_message_box.s b/asm/field_message_box.s
deleted file mode 100644
index 0c1fae6de..000000000
--- a/asm/field_message_box.s
+++ /dev/null
@@ -1,337 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8098128
-sub_8098128: @ 8098128
- ldr r1, =gUnknown_020375BC
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- subs r1, 0x2
- ands r0, r1
- subs r1, 0x4
- ands r0, r1
- strb r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8098128
-
- thumb_func_start sub_8098154
-sub_8098154: @ 8098154
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08098188
- cmp r0, 0x1
- bgt _0809817C
- cmp r0, 0
- beq _08098182
- b _080981B0
- .pool
-_0809817C:
- cmp r0, 0x2
- beq _08098198
- b _080981B0
-_08098182:
- bl sub_81973A4
- b _08098190
-_08098188:
- movs r0, 0
- movs r1, 0x1
- bl sub_81973C4
-_08098190:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080981B0
-_08098198:
- bl sub_8197224
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080981B0
- ldr r1, =gUnknown_020375BC
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_080981B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098154
-
- thumb_func_start task_add_textbox
-task_add_textbox: @ 80981BC
- push {lr}
- ldr r0, =sub_8098154
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_textbox
-
- thumb_func_start task_del_textbox
-task_del_textbox: @ 80981D0
- push {lr}
- ldr r0, =sub_8098154
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080981E4
- bl DestroyTask
-_080981E4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_del_textbox
-
- thumb_func_start ShowFieldMessage
-ShowFieldMessage: @ 80981EC
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, =gUnknown_020375BC
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809820C
- adds r0, r1, 0
- movs r1, 0x1
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x2
- strb r0, [r4]
- movs r0, 0x1
- b _0809820E
- .pool
-_0809820C:
- movs r0, 0
-_0809820E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ShowFieldMessage
-
- thumb_func_start sub_8098214
-sub_8098214: @ 8098214
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8196094
- adds r1, r0, 0
- cmp r1, 0
- bne _0809822E
- ldr r0, =gUnknown_020375BC
- strb r1, [r0]
- adds r0, r4, 0
- bl DestroyTask
-_0809822E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098214
-
- thumb_func_start sub_8098238
-sub_8098238: @ 8098238
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_020375BC
- ldrb r0, [r5]
- cmp r0, 0
- bne _08098270
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl StringExpandPlaceholders
- ldr r0, =sub_8098214
- movs r1, 0
- bl CreateTask
- adds r0, r4, 0
- bl sub_8196080
- movs r0, 0x2
- strb r0, [r5]
- movs r0, 0x1
- b _08098272
- .pool
-_08098270:
- movs r0, 0
-_08098272:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098238
-
- thumb_func_start ShowFieldAutoScrollMessage
-ShowFieldAutoScrollMessage: @ 8098278
- push {lr}
- adds r1, r0, 0
- ldr r2, =gUnknown_020375BC
- ldrb r0, [r2]
- cmp r0, 0
- bne _08098298
- movs r0, 0x3
- strb r0, [r2]
- adds r0, r1, 0
- movs r1, 0
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x1
- b _0809829A
- .pool
-_08098298:
- movs r0, 0
-_0809829A:
- pop {r1}
- bx r1
- thumb_func_end ShowFieldAutoScrollMessage
-
- thumb_func_start sub_80982A0
-sub_80982A0: @ 80982A0
- push {lr}
- ldr r2, =gUnknown_020375BC
- movs r1, 0x3
- strb r1, [r2]
- movs r1, 0x1
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80982A0
-
- thumb_func_start sub_80982B8
-sub_80982B8: @ 80982B8
- push {lr}
- ldr r1, =gUnknown_020375BC
- ldrb r0, [r1]
- cmp r0, 0
- bne _080982D4
- movs r0, 0x2
- strb r0, [r1]
- bl textbox_auto_and_task_add
- movs r0, 0x1
- b _080982D6
- .pool
-_080982D4:
- movs r0, 0
-_080982D6:
- pop {r1}
- bx r1
- thumb_func_end sub_80982B8
-
- thumb_func_start textbox_fdecode_auto_and_task_add
-textbox_fdecode_auto_and_task_add: @ 80982DC
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r0, =gStringVar4
- adds r1, r2, 0
- bl StringExpandPlaceholders
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl AddTextPrinterForMessage
- bl task_add_textbox
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end textbox_fdecode_auto_and_task_add
-
- thumb_func_start textbox_auto_and_task_add
-textbox_auto_and_task_add: @ 8098304
- push {lr}
- movs r0, 0x1
- bl AddTextPrinterForMessage
- bl task_add_textbox
- pop {r0}
- bx r0
- thumb_func_end textbox_auto_and_task_add
-
- thumb_func_start HideFieldMessageBox
-HideFieldMessageBox: @ 8098314
- push {lr}
- bl task_del_textbox
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- ldr r1, =gUnknown_020375BC
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end HideFieldMessageBox
-
- thumb_func_start textbox_any_visible
-textbox_any_visible: @ 8098330
- ldr r0, =gUnknown_020375BC
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end textbox_any_visible
-
- thumb_func_start IsFieldMessageBoxHidden
-IsFieldMessageBoxHidden: @ 809833C
- push {lr}
- ldr r0, =gUnknown_020375BC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098350
- movs r0, 0
- b _08098352
- .pool
-_08098350:
- movs r0, 0x1
-_08098352:
- pop {r1}
- bx r1
- thumb_func_end IsFieldMessageBoxHidden
-
- thumb_func_start sub_8098358
-sub_8098358: @ 8098358
- push {lr}
- bl task_del_textbox
- movs r0, 0
- movs r1, 0x1
- bl sub_81973FC
- ldr r1, =gUnknown_020375BC
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098358
-
- thumb_func_start sub_8098374
-sub_8098374: @ 8098374
- push {lr}
- bl task_del_textbox
- ldr r1, =gUnknown_020375BC
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098374
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index ae405f127..c0becc6da 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -5,9 +5,9 @@
.text
- thumb_func_start FieldObjectCB_NoMovement2
-@ void FieldObjectCB_NoMovement2(struct obj *object)
-FieldObjectCB_NoMovement2: @ 808A998
+ thumb_func_start MovementType_Player
+@ void MovementType_Player(struct obj *object)
+MovementType_Player: @ 808A998
push {lr}
adds r1, r0, 0
movs r0, 0x2E
@@ -15,20 +15,20 @@ FieldObjectCB_NoMovement2: @ 808A998
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
- ldr r2, =FieldObjectCB2_NoMovement2
- bl FieldObjectStep
+ ldr r2, =EventObjectCB2_NoMovement2
+ bl UpdateEventObjectCurrentMovement
pop {r0}
bx r0
.pool
- thumb_func_end FieldObjectCB_NoMovement2
+ thumb_func_end MovementType_Player
- thumb_func_start FieldObjectCB2_NoMovement2
-FieldObjectCB2_NoMovement2: @ 808A9BC
+ thumb_func_start EventObjectCB2_NoMovement2
+EventObjectCB2_NoMovement2: @ 808A9BC
movs r0, 0
bx lr
- thumb_func_end FieldObjectCB2_NoMovement2
+ thumb_func_end EventObjectCB2_NoMovement2
thumb_func_start player_step
@ void player_step(int dpad_direction, int buttons_new, int buttons_held)
@@ -48,7 +48,7 @@ player_step: @ 808A9C0
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
bl sub_808C280
@@ -57,10 +57,10 @@ player_step: @ 808A9C0
bne _0808AA26
adds r0, r7, 0
adds r1, r6, 0
- bl sub_8119C3C
+ bl Bike_TryAcroBikeHistoryUpdate
adds r0, r5, 0
mov r1, r8
- bl TryInterruptFieldObjectSpecialAnim
+ bl TryInterruptEventObjectSpecialAnim
lsls r0, 24
cmp r0, 0
bne _0808AA26
@@ -85,25 +85,25 @@ _0808AA26:
.pool
thumb_func_end player_step
- thumb_func_start TryInterruptFieldObjectSpecialAnim
-@ bool8 TryInterruptFieldObjectSpecialAnim(struct npc_state *fieldObject, u8 direction)
-TryInterruptFieldObjectSpecialAnim: @ 808AA38
+ thumb_func_start TryInterruptEventObjectSpecialAnim
+@ bool8 TryInterruptEventObjectSpecialAnim(struct npc_state *eventObject, u8 direction)
+TryInterruptEventObjectSpecialAnim: @ 808AA38
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
adds r6, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808AA92
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _0808AA92
adds r0, r4, 0
- bl FieldObjectGetSpecialAnim
+ bl EventObjectGetHeldMovementActionId
lsls r0, 24
movs r1, 0xE7
lsls r1, 24
@@ -123,7 +123,7 @@ _0808AA74:
beq _0808AA84
_0808AA7C:
adds r0, r4, 0
- bl FieldObjectClearAnim
+ bl EventObjectClearHeldMovement
b _0808AA92
_0808AA84:
adds r0, r6, 0
@@ -138,10 +138,10 @@ _0808AA94:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end TryInterruptFieldObjectSpecialAnim
+ thumb_func_end TryInterruptEventObjectSpecialAnim
thumb_func_start npc_clear_strange_bits
-@ void npc_clear_strange_bits(struct npc_state *fieldObject)
+@ void npc_clear_strange_bits(struct npc_state *eventObject)
npc_clear_strange_bits: @ 808AA9C
ldrb r2, [r0, 0x1]
movs r1, 0x11
@@ -240,7 +240,7 @@ GetForcedMovementByMetatileBehavior: @ 808AB38
ands r0, r1
cmp r0, 0
bne _0808AB8A
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -290,7 +290,7 @@ ForcedMovement_None: @ 808AB94
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
ldrb r2, [r0, 0x1]
movs r1, 0x3
@@ -302,7 +302,7 @@ ForcedMovement_None: @ 808AB94
ldrb r1, [r0, 0x18]
lsls r1, 28
lsrs r1, 28
- bl FieldObjectSetDirection
+ bl SetEventObjectDirection
ldrb r1, [r4]
movs r0, 0xBF
ands r0, r1
@@ -386,7 +386,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
ldrb r2, [r0, 0x1]
movs r3, 0x4
@@ -405,7 +405,7 @@ DoForcedMovementInCurrentDirection: @ 808AC58
thumb_func_start ForcedMovement_Slip
ForcedMovement_Slip: @ 808AC8C
push {lr}
- ldr r0, =PlayerGoSpeed1
+ ldr r0, =PlayerGoSpeed2
bl DoForcedMovementInCurrentDirection
lsls r0, 24
lsrs r0, 24
@@ -417,7 +417,7 @@ ForcedMovement_Slip: @ 808AC8C
thumb_func_start ForcedMovement_WalkSouth
ForcedMovement_WalkSouth: @ 808ACA0
push {lr}
- ldr r1, =PlayerGoSpeed0
+ ldr r1, =PlayerGoSpeed1
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@@ -430,7 +430,7 @@ ForcedMovement_WalkSouth: @ 808ACA0
thumb_func_start ForcedMovement_WalkNorth
ForcedMovement_WalkNorth: @ 808ACB8
push {lr}
- ldr r1, =PlayerGoSpeed0
+ ldr r1, =PlayerGoSpeed1
movs r0, 0x2
bl DoForcedMovement
lsls r0, 24
@@ -443,7 +443,7 @@ ForcedMovement_WalkNorth: @ 808ACB8
thumb_func_start ForcedMovement_WalkWest
ForcedMovement_WalkWest: @ 808ACD0
push {lr}
- ldr r1, =PlayerGoSpeed0
+ ldr r1, =PlayerGoSpeed1
movs r0, 0x3
bl DoForcedMovement
lsls r0, 24
@@ -456,7 +456,7 @@ ForcedMovement_WalkWest: @ 808ACD0
thumb_func_start ForcedMovement_WalkEast
ForcedMovement_WalkEast: @ 808ACE8
push {lr}
- ldr r1, =PlayerGoSpeed0
+ ldr r1, =PlayerGoSpeed1
movs r0, 0x4
bl DoForcedMovement
lsls r0, 24
@@ -469,7 +469,7 @@ ForcedMovement_WalkEast: @ 808ACE8
thumb_func_start ForcedMovement_PushedSouthByCurrent
ForcedMovement_PushedSouthByCurrent: @ 808AD00
push {lr}
- ldr r1, =PlayerGoSpeed2
+ ldr r1, =PlayerGoSpeed3
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@@ -482,7 +482,7 @@ ForcedMovement_PushedSouthByCurrent: @ 808AD00
thumb_func_start ForcedMovement_PushedNorthByCurrent
ForcedMovement_PushedNorthByCurrent: @ 808AD18
push {lr}
- ldr r1, =PlayerGoSpeed2
+ ldr r1, =PlayerGoSpeed3
movs r0, 0x2
bl DoForcedMovement
lsls r0, 24
@@ -495,7 +495,7 @@ ForcedMovement_PushedNorthByCurrent: @ 808AD18
thumb_func_start ForcedMovement_PushedWestByCurrent
ForcedMovement_PushedWestByCurrent: @ 808AD30
push {lr}
- ldr r1, =PlayerGoSpeed2
+ ldr r1, =PlayerGoSpeed3
movs r0, 0x3
bl DoForcedMovement
lsls r0, 24
@@ -508,7 +508,7 @@ ForcedMovement_PushedWestByCurrent: @ 808AD30
thumb_func_start ForcedMovement_PushedEastByCurrent
ForcedMovement_PushedEastByCurrent: @ 808AD48
push {lr}
- ldr r1, =PlayerGoSpeed2
+ ldr r1, =PlayerGoSpeed3
movs r0, 0x4
bl DoForcedMovement
lsls r0, 24
@@ -528,7 +528,7 @@ ForcedMovement_Slide: @ 808AD60
lsls r2, r3, 3
adds r2, r3
lsls r2, 2
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
adds r2, r3
ldrb r3, [r2, 0x1]
movs r4, 0x4
@@ -548,7 +548,7 @@ ForcedMovement_Slide: @ 808AD60
thumb_func_start ForcedMovement_SlideSouth
ForcedMovement_SlideSouth: @ 808AD98
push {lr}
- ldr r1, =PlayerGoSpeed1
+ ldr r1, =PlayerGoSpeed2
movs r0, 0x1
bl ForcedMovement_Slide
lsls r0, 24
@@ -561,7 +561,7 @@ ForcedMovement_SlideSouth: @ 808AD98
thumb_func_start ForcedMovement_SlideNorth
ForcedMovement_SlideNorth: @ 808ADB0
push {lr}
- ldr r1, =PlayerGoSpeed1
+ ldr r1, =PlayerGoSpeed2
movs r0, 0x2
bl ForcedMovement_Slide
lsls r0, 24
@@ -574,7 +574,7 @@ ForcedMovement_SlideNorth: @ 808ADB0
thumb_func_start ForcedMovement_SlideWest
ForcedMovement_SlideWest: @ 808ADC8
push {lr}
- ldr r1, =PlayerGoSpeed1
+ ldr r1, =PlayerGoSpeed2
movs r0, 0x3
bl ForcedMovement_Slide
lsls r0, 24
@@ -587,7 +587,7 @@ ForcedMovement_SlideWest: @ 808ADC8
thumb_func_start ForcedMovement_SlideEast
ForcedMovement_SlideEast: @ 808ADE0
push {lr}
- ldr r1, =PlayerGoSpeed1
+ ldr r1, =PlayerGoSpeed2
movs r0, 0x4
bl ForcedMovement_Slide
lsls r0, 24
@@ -623,26 +623,26 @@ ForcedMovement_MuddySlope: @ 808AE10
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x18]
movs r0, 0xF0
ands r0, r1
cmp r0, 0x20
bne _0808AE36
- bl sub_811A138
+ bl GetPlayerSpeed
lsls r0, 16
asrs r0, 16
cmp r0, 0x3
bgt _0808AE60
_0808AE36:
movs r0, 0
- bl sub_811A114
+ bl Bike_UpdateBikeCounterSpeed
ldrb r0, [r4, 0x1]
movs r1, 0x2
orrs r0, r1
strb r0, [r4, 0x1]
- ldr r1, =PlayerGoSpeed1
+ ldr r1, =PlayerGoSpeed2
movs r0, 0x1
bl DoForcedMovement
lsls r0, 24
@@ -697,7 +697,7 @@ CheckMovementInputNotOnBike: @ 808AE98
b _0808AED2
.pool
_0808AEB0:
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
lsls r0, 24
lsrs r0, 24
cmp r4, r0
@@ -725,7 +725,7 @@ _0808AED2:
@ void PlayerNotOnBikeNotMoving(u8 direction, u8 heldKeys)
PlayerNotOnBikeNotMoving: @ 808AEDC
push {lr}
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl PlayerFaceDirection
@@ -791,7 +791,7 @@ _0808AF4E:
cmp r0, 0
beq _0808AF68
adds r0, r5, 0
- bl PlayerGoSpeed1
+ bl PlayerGoSpeed2
b _0808AFB6
.pool
_0808AF68:
@@ -809,7 +809,7 @@ _0808AF68:
lsls r0, 24
cmp r0, 0
beq _0808AFB0
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -829,7 +829,7 @@ _0808AF68:
.pool
_0808AFB0:
adds r0, r5, 0
- bl PlayerGoSpeed0
+ bl PlayerGoSpeed1
_0808AFB6:
pop {r4-r6}
pop {r0}
@@ -848,7 +848,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
add r0, sp, 0x4
@@ -877,7 +877,7 @@ CheckForPlayerAvatarCollision: @ 808AFBC
str r0, [sp]
adds r0, r4, 0
adds r3, r6, 0
- bl CheckForFieldObjectCollision
+ bl CheckForEventObjectCollision
lsls r0, 24
lsrs r0, 24
add sp, 0x8
@@ -899,7 +899,7 @@ sub_808B028: @ 808B028
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
add r0, sp, 0x4
@@ -938,9 +938,9 @@ sub_808B028: @ 808B028
.pool
thumb_func_end sub_808B028
- thumb_func_start CheckForFieldObjectCollision
-@ u8 CheckForFieldObjectCollision(struct npc_state *fieldObject, u16 x, u16 y, u8 direction, u8 metatileBehavior)
-CheckForFieldObjectCollision: @ 808B094
+ thumb_func_start CheckForEventObjectCollision
+@ u8 CheckForEventObjectCollision(struct npc_state *eventObject, u16 x, u16 y, u8 direction, u8 metatileBehavior)
+CheckForEventObjectCollision: @ 808B094
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -963,7 +963,7 @@ CheckForFieldObjectCollision: @ 808B094
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -1043,7 +1043,7 @@ _0808B152:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end CheckForFieldObjectCollision
+ thumb_func_end CheckForEventObjectCollision
thumb_func_start sub_808B164
sub_808B164: @ 808B164
@@ -1061,7 +1061,7 @@ sub_808B164: @ 808B164
adds r1, r5, 0
adds r2, r4, 0
adds r3, r6, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
mov r1, sp
@@ -1071,7 +1071,7 @@ sub_808B164: @ 808B164
adds r0, r6, 0
adds r1, r5, 0
adds r2, r4, 0
- bl sub_80FBFD4
+ bl CheckForRotatingGatePuzzleCollisionWithoutAnimation
cmp r0, 0
beq _0808B1A2
movs r0, 0x8
@@ -1120,7 +1120,7 @@ sub_808B1BC: @ 808B1BC
lsrs r0, r5, 16
lsrs r1, r4, 16
movs r2, 0x3
- bl GetFieldObjectIdByXYZ
+ bl GetEventObjectIdByXYZ
lsls r0, 24
lsrs r0, 24
cmp r0, 0x10
@@ -1182,12 +1182,12 @@ sub_808B238: @ 808B238
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r5, r2]
- bl GetFieldObjectIdByXY
+ bl GetEventObjectIdByXY
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x10
beq _0808B2D8
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
lsls r1, r6, 3
adds r1, r6
lsls r1, 2
@@ -1211,7 +1211,7 @@ sub_808B238: @ 808B238
ldrsh r2, [r5, r0]
adds r0, r4, 0
adds r3, r7, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
cmp r0, 0
bne _0808B2D8
@@ -1290,7 +1290,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324
lsls r1, r2, 3
adds r1, r2
lsls r1, 2
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
adds r3, r1, r5
ldrh r2, [r3, 0x10]
mov r1, sp
@@ -1305,7 +1305,7 @@ IsPlayerCollidingWithFarawayIslandMew: @ 808B324
movs r0, 0x1
movs r1, 0x39
movs r2, 0x1A
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r1, r0, 24
adds r6, r4, 0
@@ -1401,7 +1401,7 @@ _0808B3F4:
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
ldr r1, [r2]
bl _call_via_r1
@@ -1423,13 +1423,13 @@ _0808B428:
thumb_func_end DoPlayerAvatarTransition
thumb_func_start PlayerAvatarTransition_Dummy
-@ void PlayerAvatarTransition_Dummy(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Dummy(struct npc_state *eventObject)
PlayerAvatarTransition_Dummy: @ 808B43C
bx lr
thumb_func_end PlayerAvatarTransition_Dummy
thumb_func_start PlayerAvatarTransition_Normal
-@ void PlayerAvatarTransition_Normal(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Normal(struct npc_state *eventObject)
PlayerAvatarTransition_Normal: @ 808B440
push {r4,lr}
adds r4, r0, 0
@@ -1439,11 +1439,11 @@ PlayerAvatarTransition_Normal: @ 808B440
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x1
bl SetPlayerAvatarStateMask
pop {r4}
@@ -1452,7 +1452,7 @@ PlayerAvatarTransition_Normal: @ 808B440
thumb_func_end PlayerAvatarTransition_Normal
thumb_func_start PlayerAvatarTransition_MachBike
-@ void PlayerAvatarTransition_MachBike(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_MachBike(struct npc_state *eventObject)
PlayerAvatarTransition_MachBike: @ 808B46C
push {r4,lr}
adds r4, r0, 0
@@ -1462,23 +1462,23 @@ PlayerAvatarTransition_MachBike: @ 808B46C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x2
bl SetPlayerAvatarStateMask
movs r0, 0
movs r1, 0
- bl sub_811A0D0
+ bl BikeClearState
pop {r4}
pop {r0}
bx r0
thumb_func_end PlayerAvatarTransition_MachBike
thumb_func_start PlayerAvatarTransition_AcroBike
-@ void PlayerAvatarTransition_AcroBike(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_AcroBike(struct npc_state *eventObject)
PlayerAvatarTransition_AcroBike: @ 808B4A0
push {r4,lr}
adds r4, r0, 0
@@ -1488,24 +1488,24 @@ PlayerAvatarTransition_AcroBike: @ 808B4A0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x4
bl SetPlayerAvatarStateMask
movs r0, 0
movs r1, 0
- bl sub_811A0D0
- bl sub_811A188
+ bl BikeClearState
+ bl Bike_HandleBumpySlopeJump
pop {r4}
pop {r0}
bx r0
thumb_func_end PlayerAvatarTransition_AcroBike
thumb_func_start PlayerAvatarTransition_Surfing
-@ void PlayerAvatarTransition_Surfing(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Surfing(struct npc_state *eventObject)
PlayerAvatarTransition_Surfing: @ 808B4D8
push {r4,lr}
adds r4, r0, 0
@@ -1515,11 +1515,11 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x8
bl SetPlayerAvatarStateMask
ldr r1, =gFieldEffectArguments
@@ -1546,7 +1546,7 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
thumb_func_end PlayerAvatarTransition_Surfing
thumb_func_start PlayerAvatarTransition_Underwater
-@ void PlayerAvatarTransition_Underwater(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_Underwater(struct npc_state *eventObject)
PlayerAvatarTransition_Underwater: @ 808B534
push {r4,lr}
adds r4, r0, 0
@@ -1556,11 +1556,11 @@ PlayerAvatarTransition_Underwater: @ 808B534
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
movs r0, 0x10
bl SetPlayerAvatarStateMask
ldrb r0, [r4, 0x4]
@@ -1572,7 +1572,7 @@ PlayerAvatarTransition_Underwater: @ 808B534
thumb_func_end PlayerAvatarTransition_Underwater
thumb_func_start PlayerAvatarTransition_ReturnToField
-@ void PlayerAvatarTransition_ReturnToField(struct npc_state *fieldObject)
+@ void PlayerAvatarTransition_ReturnToField(struct npc_state *eventObject)
PlayerAvatarTransition_ReturnToField: @ 808B568
ldr r2, =gPlayerAvatar
ldrb r1, [r2]
@@ -1621,7 +1621,7 @@ _0808B5B6:
thumb_func_start player_is_anim_in_certain_ranges
player_is_anim_in_certain_ranges: @ 808B5BC
push {lr}
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -1696,9 +1696,9 @@ PlayerIsAnimActive: @ 808B63C
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1715,9 +1715,9 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -1727,7 +1727,7 @@ PlayerCheckIfAnimFinishedOrInactive: @ 808B660
thumb_func_start player_set_x22
player_set_x22: @ 808B684
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
@@ -1740,9 +1740,9 @@ player_set_x22: @ 808B684
.pool
thumb_func_end player_set_x22
- thumb_func_start player_get_x22
-player_get_x22: @ 808B6A0
- ldr r2, =gMapObjects
+ thumb_func_start PlayerGetCopyableMovement
+PlayerGetCopyableMovement: @ 808B6A0
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -1753,7 +1753,7 @@ player_get_x22: @ 808B6A0
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end player_get_x22
+ thumb_func_end PlayerGetCopyableMovement
thumb_func_start sub_808B6BC
sub_808B6BC: @ 808B6BC
@@ -1766,17 +1766,17 @@ sub_808B6BC: @ 808B6BC
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r0, r2
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
pop {r0}
bx r0
.pool
thumb_func_end sub_808B6BC
- thumb_func_start player_npc_set_state_and_x22_etc
-@ void player_npc_set_state_and_x22_etc(u8 animState, u8 a2)
-player_npc_set_state_and_x22_etc: @ 808B6E4
+ thumb_func_start PlayerSetAnimId
+@ void PlayerSetAnimId(u8 animState, u8 a2)
+PlayerSetAnimId: @ 808B6E4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -1793,88 +1793,88 @@ player_npc_set_state_and_x22_etc: @ 808B6E4
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
adds r1, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
_0808B712:
pop {r4,r5}
pop {r0}
bx r0
.pool
- thumb_func_end player_npc_set_state_and_x22_etc
-
- thumb_func_start PlayerGoSpeed0
-@ void PlayerGoSpeed0(u8 direction)
-PlayerGoSpeed0: @ 808B720
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetGoSpeed0AnimId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
- pop {r0}
- bx r0
- thumb_func_end PlayerGoSpeed0
+ thumb_func_end PlayerSetAnimId
thumb_func_start PlayerGoSpeed1
@ void PlayerGoSpeed1(u8 direction)
-PlayerGoSpeed1: @ 808B738
+PlayerGoSpeed1: @ 808B720
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed1AnimId
+ bl GetWalkNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed1
thumb_func_start PlayerGoSpeed2
@ void PlayerGoSpeed2(u8 direction)
-PlayerGoSpeed2: @ 808B750
+PlayerGoSpeed2: @ 808B738
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed2AnimId
+ bl GetWalkFastMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed2
thumb_func_start PlayerGoSpeed3
@ void PlayerGoSpeed3(u8 direction)
-PlayerGoSpeed3: @ 808B768
+PlayerGoSpeed3: @ 808B750
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed3AnimId
+ bl GetRideWaterCurrentMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerGoSpeed3
+ thumb_func_start PlayerGoSpeed4
+@ void PlayerGoSpeed4(u8 direction)
+PlayerGoSpeed4: @ 808B768
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetWalkFastestMovementAction
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x2
+ bl PlayerSetAnimId
+ pop {r0}
+ bx r0
+ thumb_func_end PlayerGoSpeed4
+
thumb_func_start PlayerRun
@ void PlayerRun(u8 direction)
PlayerRun: @ 808B780
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetRunAnimId
+ bl GetPlayerRunMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerRun
@@ -1889,11 +1889,11 @@ PlayerOnBikeCollide: @ 808B798
adds r0, r4, 0
bl PlayCollisionSoundIfNotFacingWarp
adds r0, r4, 0
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@@ -1905,11 +1905,11 @@ PlayerOnBikeCollideWithFarawayIslandMew: @ 808B7BC
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerOnBikeCollideWithFarawayIslandMew
@@ -1924,11 +1924,11 @@ PlayerNotOnBikeCollide: @ 808B7D4
adds r0, r4, 0
bl PlayCollisionSoundIfNotFacingWarp
adds r0, r4, 0
- bl GetStepInPlaceDelay32AnimId
+ bl GetWalkInPlaceSlowMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@@ -1940,11 +1940,11 @@ PlayerNotOnBikeCollideWithFarawayIslandMew: @ 808B7F8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay32AnimId
+ bl GetWalkInPlaceSlowMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerNotOnBikeCollideWithFarawayIslandMew
@@ -1955,11 +1955,11 @@ PlayerFaceDirection: @ 808B810
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerFaceDirection
@@ -1970,11 +1970,11 @@ PlayerTurnInPlace: @ 808B828
push {lr}
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay8AnimId
+ bl GetWalkInPlaceFastMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end PlayerTurnInPlace
@@ -1989,11 +1989,11 @@ PlayerJumpLedge: @ 808B840
movs r0, 0xA
bl PlaySE
adds r0, r4, 0
- bl GetJumpLedgeAnimId
+ bl GetJump2MovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@@ -2013,7 +2013,7 @@ _0808B872:
lsls r0, 24
cmp r0, 0
beq _0808B89A
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r4, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -2022,7 +2022,7 @@ _0808B872:
ldrb r0, [r0, 0x18]
lsls r0, 28
lsrs r0, 28
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
bl sub_808B6BC
@@ -2033,50 +2033,50 @@ _0808B89A:
.pool
thumb_func_end sub_808B864
- thumb_func_start sub_808B8A8
-sub_808B8A8: @ 808B8A8
+ thumb_func_start PlayerIdleWheelie
+PlayerIdleWheelie: @ 808B8A8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8093648
+ bl GetAcroWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
- thumb_func_end sub_808B8A8
+ thumb_func_end PlayerIdleWheelie
- thumb_func_start sub_808B8C0
-sub_808B8C0: @ 808B8C0
+ thumb_func_start PlayerStartWheelie
+PlayerStartWheelie: @ 808B8C0
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_8093674
+ bl GetAcroPopWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
- thumb_func_end sub_808B8C0
+ thumb_func_end PlayerStartWheelie
- thumb_func_start sub_808B8D8
-sub_808B8D8: @ 808B8D8
+ thumb_func_start PlayerEndWheelie
+PlayerEndWheelie: @ 808B8D8
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_80936A0
+ bl GetAcroEndWheelieFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
- thumb_func_end sub_808B8D8
+ thumb_func_end PlayerEndWheelie
- thumb_func_start sub_808B8F0
-sub_808B8F0: @ 808B8F0
+ thumb_func_start PlayerStandingHoppingWheelie
+PlayerStandingHoppingWheelie: @ 808B8F0
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2084,18 +2084,18 @@ sub_808B8F0: @ 808B8F0
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80936CC
+ bl GetAcroWheelieHopFaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_808B8F0
+ thumb_func_end PlayerStandingHoppingWheelie
- thumb_func_start sub_808B914
-sub_808B914: @ 808B914
+ thumb_func_start PlayerMovingHoppingWheelie
+PlayerMovingHoppingWheelie: @ 808B914
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2103,18 +2103,18 @@ sub_808B914: @ 808B914
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80936F8
+ bl GetAcroWheelieHopDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_808B914
+ thumb_func_end PlayerMovingHoppingWheelie
- thumb_func_start sub_808B938
-sub_808B938: @ 808B938
+ thumb_func_start PlayerLedgeHoppingWheelie
+PlayerLedgeHoppingWheelie: @ 808B938
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2122,18 +2122,18 @@ sub_808B938: @ 808B938
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_8093724
+ bl GetAcroWheelieJumpDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x8
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_808B938
+ thumb_func_end PlayerLedgeHoppingWheelie
- thumb_func_start sub_808B95C
-sub_808B95C: @ 808B95C
+ thumb_func_start PlayerAcroTurnJump
+PlayerAcroTurnJump: @ 808B95C
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2141,15 +2141,15 @@ sub_808B95C: @ 808B95C
movs r0, 0x22
bl PlaySE
adds r0, r4, 0
- bl sub_80934E8
+ bl GetJumpInPlaceTurnAroundMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_808B95C
+ thumb_func_end PlayerAcroTurnJump
thumb_func_start sub_808B980
sub_808B980: @ 808B980
@@ -2160,11 +2160,11 @@ sub_808B980: @ 808B980
movs r0, 0x7
bl PlaySE
adds r0, r4, 0
- bl sub_8093750
+ bl GetAcroWheelieInPlaceDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r4}
pop {r0}
bx r0
@@ -2175,11 +2175,11 @@ sub_808B9A4: @ 808B9A4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_809377C
+ bl GetAcroPopWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B9A4
@@ -2189,11 +2189,11 @@ sub_808B9BC: @ 808B9BC
push {lr}
lsls r0, 24
lsrs r0, 24
- bl sub_80937A8
+ bl GetAcroWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end sub_808B9BC
@@ -2203,11 +2203,11 @@ npc_use_some_d2s: @ 808B9D4
push {lr}
lsls r0, 24
lsrs r0, 24
- bl d2s_08064034
+ bl GetAcroEndWheelieMoveDirectionMovementAction
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
+ bl PlayerSetAnimId
pop {r0}
bx r0
thumb_func_end npc_use_some_d2s
@@ -2219,7 +2219,7 @@ PlayCollisionSoundIfNotFacingWarp: @ 808B9EC
sub sp, 0x4
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2275,7 +2275,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -2291,7 +2291,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
adds r0, r3
ldrh r0, [r0, 0x12]
strh r0, [r5]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r4, 0
@@ -2307,7 +2307,7 @@ GetXYCoordsOneStepInFrontOfPlayer: @ 808BA68
@ void PlayerGetDestCoords(u16 *x, u16 *y)
PlayerGetDestCoords: @ 808BAAC
push {r4,r5,lr}
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
ldr r4, =gPlayerAvatar
ldrb r3, [r4, 0x5]
lsls r2, r3, 3
@@ -2339,7 +2339,7 @@ plaer_get_pos_including_state_based_drift: @ 808BADC
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r3, r0, r1
ldrb r1, [r3]
movs r0, 0xC0
@@ -2462,10 +2462,10 @@ _0808BC30:
bx r1
thumb_func_end plaer_get_pos_including_state_based_drift
- thumb_func_start player_get_direction_lower_nybble
-@ u8 player_get_direction_lower_nybble()
-player_get_direction_lower_nybble: @ 808BC38
- ldr r2, =gMapObjects
+ thumb_func_start GetPlayerFacingDirection
+@ u8 GetPlayerFacingDirection()
+GetPlayerFacingDirection: @ 808BC38
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2477,12 +2477,12 @@ player_get_direction_lower_nybble: @ 808BC38
lsrs r0, 28
bx lr
.pool
- thumb_func_end player_get_direction_lower_nybble
+ thumb_func_end GetPlayerFacingDirection
- thumb_func_start player_get_direction_upper_nybble
-@ u8 player_get_direction_upper_nybble()
-player_get_direction_upper_nybble: @ 808BC58
- ldr r2, =gMapObjects
+ thumb_func_start GetPlayerMovementDirection
+@ u8 GetPlayerMovementDirection()
+GetPlayerMovementDirection: @ 808BC58
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2493,12 +2493,12 @@ player_get_direction_upper_nybble: @ 808BC58
lsrs r0, 4
bx lr
.pool
- thumb_func_end player_get_direction_upper_nybble
+ thumb_func_end GetPlayerMovementDirection
thumb_func_start PlayerGetZCoord
@ u8 PlayerGetZCoord()
PlayerGetZCoord: @ 808BC74
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -2521,7 +2521,7 @@ sub_808BC90: @ 808BC90
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
lsls r3, 16
asrs r3, 16
@@ -2578,7 +2578,7 @@ sub_808BCF4: @ 808BCF4
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
adds r0, r4, 0
bl npc_clear_strange_bits
@@ -2586,15 +2586,15 @@ sub_808BCF4: @ 808BCF4
lsls r1, 28
lsrs r1, 28
adds r0, r4, 0
- bl FieldObjectSetDirection
+ bl SetEventObjectDirection
movs r0, 0x6
bl TestPlayerAvatarFlags
lsls r0, 24
cmp r0, 0
beq _0808BD2C
- bl sub_811A188
+ bl Bike_HandleBumpySlopeJump
movs r0, 0
- bl sub_811A114
+ bl Bike_UpdateBikeCounterSpeed
_0808BD2C:
pop {r4}
pop {r0}
@@ -2602,8 +2602,8 @@ _0808BD2C:
.pool
thumb_func_end sub_808BCF4
- thumb_func_start sub_808BD3C
-sub_808BD3C: @ 808BD3C
+ thumb_func_start GetRivalAvatarGraphicsIdByStateIdAndGender
+GetRivalAvatarGraphicsIdByStateIdAndGender: @ 808BD3C
lsls r0, 24
lsls r1, 24
lsrs r1, 24
@@ -2614,7 +2614,7 @@ sub_808BD3C: @ 808BD3C
ldrb r0, [r1]
bx lr
.pool
- thumb_func_end sub_808BD3C
+ thumb_func_end GetRivalAvatarGraphicsIdByStateIdAndGender
thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender
@ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 stateId, u8 gender)
@@ -2780,7 +2780,7 @@ _0808BE46:
@ bool8 IsPlayerSurfingNorth()
IsPlayerSurfingNorth: @ 808BE50
push {lr}
- bl player_get_direction_upper_nybble
+ bl GetPlayerMovementDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -2809,7 +2809,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrh r1, [r4, 0x10]
mov r0, sp
@@ -2833,7 +2833,7 @@ IsPlayerFacingSurfableFishableWater: @ 808BE74
lsls r3, 28
lsrs r3, 28
adds r0, r4, 0
- bl npc_block_way
+ bl GetCollisionAtCoords
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -3053,14 +3053,14 @@ InitPlayerAvatar: @ 808BFE0
strh r3, [r0, 0xE]
str r3, [sp, 0x10]
strh r3, [r0, 0x14]
- bl SpawnSpecialFieldObject
+ bl SpawnSpecialEventObject
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
lsls r4, r5, 3
adds r4, r5
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
ldrb r0, [r4, 0x2]
movs r1, 0x1
@@ -3070,7 +3070,7 @@ InitPlayerAvatar: @ 808BFE0
strb r0, [r4, 0x1B]
adds r0, r4, 0
mov r1, r9
- bl FieldObjectTurn
+ bl EventObjectTurn
bl ClearPlayerAvatarInfo
ldr r0, =gPlayerAvatar
strb r6, [r0, 0x2]
@@ -3097,7 +3097,7 @@ sub_808C0A8: @ 808C0A8
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
ldr r5, =gPlayerAvatar
ldrb r0, [r5, 0x5]
lsls r1, r0, 3
@@ -3152,7 +3152,7 @@ sub_808C114: @ 808C114
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x5
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3160,7 +3160,7 @@ sub_808C114: @ 808C114
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r5, 0x4]
lsls r0, r1, 4
adds r0, r1
@@ -3186,7 +3186,7 @@ sub_808C15C: @ 808C15C
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x6
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3194,7 +3194,7 @@ sub_808C15C: @ 808C15C
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3202,7 +3202,7 @@ sub_808C15C: @ 808C15C
ldr r0, =gSprites
adds r4, r0
adds r0, r5, 0
- bl sub_8092A0C
+ bl GetFishingDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3227,7 +3227,7 @@ sub_808C1B4: @ 808C1B4
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x2
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3235,7 +3235,7 @@ sub_808C1B4: @ 808C1B4
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3244,7 +3244,7 @@ sub_808C1B4: @ 808C1B4
mov r8, r0
add r4, r8
adds r0, r5, 0
- bl sub_80929BC
+ bl GetAcroWheelieDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3276,7 +3276,7 @@ sub_808C228: @ 808C228
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
movs r0, 0x7
bl GetPlayerAvatarGraphicsIdByStateId
@@ -3284,7 +3284,7 @@ sub_808C228: @ 808C228
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r6, 0x4]
lsls r4, r0, 4
adds r4, r0
@@ -3292,7 +3292,7 @@ sub_808C228: @ 808C228
ldr r0, =gSprites
adds r4, r0
adds r0, r5, 0
- bl FieldObjectDirectionToImageAnimId
+ bl GetFaceDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3414,7 +3414,7 @@ taskFF_bump_boulder: @ 808C34C
lsrs r0, 24
ldr r6, =gUnknown_08497530
ldr r2, =gTasks
- ldr r5, =gMapObjects
+ ldr r5, =gEventObjects
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -3474,49 +3474,49 @@ do_boulder_dust: @ 808C3C4
adds r5, r1, 0
adds r4, r2, 0
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimActive
+ bl EventObjectIsHeldMovementActive
lsls r0, 24
cmp r0, 0
beq _0808C3DE
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
_0808C3DE:
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
+ bl EventObjectIsHeldMovementActive
lsls r0, 24
cmp r0, 0
beq _0808C3F0
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
_0808C3F0:
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0808C472
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _0808C472
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
ldrb r0, [r6, 0xC]
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrb r0, [r6, 0xC]
- bl GetSimpleGoAnimId
+ bl GetWalkSlowMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r2, =gFieldEffectArguments
movs r1, 0x10
ldrsh r0, [r4, r1]
@@ -3558,19 +3558,19 @@ sub_808C484: @ 808C484
adds r4, r1, 0
adds r5, r2, 0
adds r0, r4, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808C4C6
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808C4C6
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
ldr r1, =gPlayerAvatar
movs r0, 0
strb r0, [r1, 0x6]
@@ -3625,7 +3625,7 @@ _0808C50A:
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r1, r0
ldr r2, [r2]
adds r0, r4, 0
@@ -3648,7 +3648,7 @@ sub_808C544: @ 808C544
movs r0, 0x1
strb r0, [r5, 0x6]
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C5A0
@@ -3657,12 +3657,12 @@ sub_808C544: @ 808C544
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl sub_80934BC
+ bl GetJumpInPlaceMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrh r0, [r6, 0xA]
adds r0, 0x1
strh r0, [r6, 0xA]
@@ -3726,7 +3726,7 @@ _0808C5E2:
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r1, r0
ldr r2, [r2]
adds r0, r4, 0
@@ -3772,7 +3772,7 @@ sub_808C644: @ 808C644
movs r2, 0x4
bl memcpy
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C6AC
@@ -3782,12 +3782,12 @@ sub_808C644: @ 808C644
add r0, sp
ldrb r6, [r0]
adds r0, r6, 0
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldrb r0, [r4, 0xA]
cmp r6, r0
bne _0808C68A
@@ -3831,7 +3831,7 @@ sub_808C6BC: @ 808C6BC
movs r2, 0x5
bl memcpy
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C6EC
@@ -3840,7 +3840,7 @@ sub_808C6BC: @ 808C6BC
add r0, sp
ldrb r1, [r0]
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x1
strh r0, [r5, 0x8]
_0808C6EC:
@@ -3858,7 +3858,7 @@ sub_808C6FC: @ 808C6FC
adds r4, r0, 0
adds r5, r1, 0
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C740
@@ -3866,12 +3866,12 @@ sub_808C6FC: @ 808C6FC
bl GetOppositeDirection
lsls r0, 24
lsrs r0, 24
- bl GetSimpleGoAnimId
+ bl GetWalkSlowMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
bl ScriptContext2_Disable
ldr r1, =gPlayerAvatar
movs r0, 0
@@ -3896,7 +3896,7 @@ sub_808C750: @ 808C750
lsls r4, 24
lsrs r4, 24
bl ScriptContext2_Enable
- bl sav1_reset_battle_music_maybe
+ bl Overworld_ClearSavedMusic
bl Overworld_ChangeMusicToDefault
ldr r2, =gPlayerAvatar
ldrb r1, [r2]
@@ -3936,15 +3936,15 @@ taskFF_0805D1D4: @ 808C7A8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _0808C7D4
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C7FC
@@ -3958,12 +3958,12 @@ _0808C7D4:
lsls r4, 3
adds r4, r0
ldrb r0, [r4, 0x8]
- bl sub_8093540
+ bl GetJumpSpecialMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r0, =sub_808C814
str r0, [r4]
_0808C7FC:
@@ -3983,10 +3983,10 @@ sub_808C814: @ 808C814
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808C87A
@@ -3996,16 +3996,16 @@ sub_808C814: @ 808C814
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r0, [r4, 0x18]
lsls r0, 28
lsrs r0, 28
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0
strb r0, [r6, 0x6]
bl ScriptContext2_Disable
@@ -4127,7 +4127,7 @@ fish1: @ 808C918
ldrh r1, [r6]
adds r1, r0
strh r1, [r5, 0x22]
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -4142,7 +4142,7 @@ fish1: @ 808C918
lsls r4, 2
adds r4, r3
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimActive
+ bl EventObjectClearHeldMovementIfActive
ldrb r0, [r4, 0x1]
movs r1, 0x8
orrs r0, r1
@@ -4373,10 +4373,10 @@ _0808CB32:
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A2C
+ bl GetFishingBiteDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4538,7 +4538,7 @@ fish9: @ 808CC64
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
@@ -4579,18 +4579,18 @@ _0808CCBC:
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r8, r0
add r4, r8
ldrh r1, [r5, 0x24]
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
ldrb r1, [r7]
movs r0, 0x8
ands r0, r1
@@ -4671,10 +4671,10 @@ fishB: @ 808CD94
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A1C
+ bl GetFishingNoCatchDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4695,7 +4695,7 @@ fishB: @ 808CD94
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
movs r0, 0xD
strh r0, [r5, 0x8]
movs r0, 0x1
@@ -4719,10 +4719,10 @@ fishC: @ 808CE04
lsls r4, 2
ldr r0, =gSprites
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl sub_8092A1C
+ bl GetFishingNoCatchDirectionAnimNum
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4743,7 +4743,7 @@ fishC: @ 808CE04
movs r0, 0
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
@@ -4792,18 +4792,18 @@ fishE: @ 808CE8C
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
mov r8, r0
add r4, r8
ldrh r1, [r6, 0x24]
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetGraphicsId
+ bl EventObjectSetGraphicsId
ldrb r1, [r4, 0x18]
lsrs r1, 4
adds r0, r4, 0
- bl FieldObjectTurn
+ bl EventObjectTurn
ldrb r1, [r5]
movs r0, 0x8
ands r0, r1
@@ -4858,7 +4858,7 @@ fishF: @ 808CF2C
ldr r0, =gPlayerAvatar
strb r1, [r0, 0x6]
bl ScriptContext2_Disable
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0
movs r1, 0x1
bl sub_8197434
@@ -4956,7 +4956,7 @@ _0808CFF0:
bhi _0808D022
movs r0, 0x8
strh r0, [r4, 0x24]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -4984,7 +4984,7 @@ _0808D03A:
ands r0, r1
cmp r0, 0
beq _0808D05E
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldrb r1, [r3, 0x5]
lsls r0, r1, 3
adds r0, r1
@@ -5037,7 +5037,7 @@ sub_808D094: @ 808D094
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
@@ -5066,7 +5066,7 @@ _0808D0E8:
b _0808D18A
_0808D0EE:
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _0808D18A
@@ -5217,7 +5217,7 @@ sub_808D1FC: @ 808D1FC
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
ldrb r1, [r4, 0x4]
lsls r0, r1, 4
@@ -5257,12 +5257,12 @@ _0808D25E:
ldrsh r0, [r5, r3]
adds r0, r1
ldrb r0, [r0]
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
movs r0, 0
mov r9, r0
strh r6, [r5, 0x2]
@@ -5414,7 +5414,7 @@ sub_808D38C: @ 808D38C
ble _0808D3E4
_0808D3A8:
adds r0, r5, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
+ bl EventObjectCheckHeldMovementStatus
lsls r0, 24
cmp r0, 0
beq _0808D3E4
@@ -5424,12 +5424,12 @@ _0808D3A8:
lsrs r0, 28
adds r0, r4
ldrb r0, [r0]
- bl GetFaceDirectionAnimId
+ bl GetFaceDirectionMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectForceSetSpecialAnim
+ bl EventObjectForceSetHeldMovement
movs r0, 0
strh r0, [r6]
ldrb r0, [r5, 0x18]
diff --git a/asm/field_poison.s b/asm/field_poison.s
deleted file mode 100644
index 83262a1a5..000000000
--- a/asm/field_poison.s
+++ /dev/null
@@ -1,323 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F9568
-sub_80F9568: @ 80F9568
- push {lr}
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080F9580
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _080F9584
-_080F9580:
- movs r0, 0
- b _080F9586
-_080F9584:
- movs r0, 0x1
-_080F9586:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9568
-
- thumb_func_start sub_80F958C
-sub_80F958C: @ 80F958C
- push {r4,r5,lr}
- ldr r4, =gPlayerParty
- movs r5, 0
-_080F9592:
- adds r0, r4, 0
- bl sub_80F9568
- cmp r0, 0
- beq _080F95B0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080F95B0
- movs r0, 0
- b _080F95BA
- .pool
-_080F95B0:
- adds r5, 0x1
- adds r4, 0x64
- cmp r5, 0x5
- ble _080F9592
- movs r0, 0x1
-_080F95BA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F958C
-
- thumb_func_start sub_80F95C0
-sub_80F95C0: @ 80F95C0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, =gPlayerParty
- adds r4, r0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x7
- bl AdjustFriendship
- adds r0, r4, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- ldr r5, =gStringVar1
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- adds r0, r5, 0
- bl StringGetEnd10
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F95C0
-
- thumb_func_start sub_80F960C
-sub_80F960C: @ 80F960C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80F9568
- cmp r0, 0
- beq _080F964C
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080F964C
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F964C
- movs r0, 0x1
- b _080F964E
- .pool
-_080F964C:
- movs r0, 0
-_080F964E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F960C
-
- thumb_func_start sub_80F9654
-sub_80F9654: @ 80F9654
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080F96AE
- cmp r5, 0x1
- bgt _080F967C
- cmp r5, 0
- beq _080F9682
- b _080F9722
- .pool
-_080F967C:
- cmp r5, 0x2
- beq _080F96C0
- b _080F9722
-_080F9682:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bgt _080F96A8
-_080F968C:
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80F960C
- cmp r0, 0
- bne _080F96FC
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- adds r1, r0, 0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080F968C
-_080F96A8:
- movs r0, 0x2
- strh r0, [r4]
- b _080F9722
-_080F96AE:
- bl IsFieldMessageBoxHidden
- lsls r0, 24
- cmp r0, 0
- beq _080F9722
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- b _080F9722
-_080F96C0:
- bl sub_80F958C
- adds r1, r0, 0
- cmp r1, 0
- beq _080F9714
- bl InBattlePyramid
- adds r4, r0, 0
- bl InBattlePike
- orrs r4, r0
- lsls r4, 24
- cmp r4, 0
- bne _080F96E6
- bl sub_81D5C18
- lsls r0, 24
- cmp r0, 0
- beq _080F96F0
-_080F96E6:
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- b _080F9718
- .pool
-_080F96F0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- b _080F9718
- .pool
-_080F96FC:
- ldrb r0, [r4, 0x2]
- bl sub_80F95C0
- ldr r0, =gText_PkmnFainted3
- bl ShowFieldMessage
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080F9722
- .pool
-_080F9714:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080F9718:
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
-_080F9722:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F9654
-
- thumb_func_start sub_80F972C
-sub_80F972C: @ 80F972C
- push {lr}
- ldr r0, =sub_80F9654
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80F972C
-
- thumb_func_start overworld_poison
-overworld_poison: @ 80F9744
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, =gPlayerParty
- movs r7, 0
- movs r6, 0
- movs r5, 0x5
-_080F9750:
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080F9794
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F9794
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- str r0, [sp]
- cmp r0, 0
- beq _080F9786
- subs r0, 0x1
- str r0, [sp]
- cmp r0, 0
- bne _080F9788
-_080F9786:
- adds r6, 0x1
-_080F9788:
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r7, 0x1
-_080F9794:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _080F9750
- cmp r6, 0
- bne _080F97A4
- cmp r7, 0
- beq _080F97A8
-_080F97A4:
- bl overworld_posion_effect
-_080F97A8:
- cmp r6, 0
- beq _080F97B4
- movs r0, 0x2
- b _080F97BE
- .pool
-_080F97B4:
- cmp r7, 0
- bne _080F97BC
- movs r0, 0
- b _080F97BE
-_080F97BC:
- movs r0, 0x1
-_080F97BE:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end overworld_poison
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_screen.s b/asm/field_screen.s
index 497346f8a..27627ac58 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -1625,8 +1625,8 @@ _080ABCBC:
.pool
thumb_func_end sub_80ABC7C
- thumb_func_start fade_screen
-fade_screen: @ 80ABCD0
+ thumb_func_start FadeScreen
+FadeScreen: @ 80ABCD0
push {r4,r5,lr}
sub sp, 0x4
lsls r0, 24
@@ -1762,10 +1762,10 @@ _080ABDE4:
pop {r0}
bx r0
.pool
- thumb_func_end fade_screen
+ thumb_func_end FadeScreen
- thumb_func_start sub_80ABDFC
-sub_80ABDFC: @ 80ABDFC
+ thumb_func_start IsWeatherNotFadingIn
+IsWeatherNotFadingIn: @ 80ABDFC
ldr r0, =gUnknown_02038454
ldr r1, =0x000006c6
adds r0, r1
@@ -1777,11 +1777,11 @@ sub_80ABDFC: @ 80ABDFC
lsrs r0, 31
bx lr
.pool
- thumb_func_end sub_80ABDFC
+ thumb_func_end IsWeatherNotFadingIn
- thumb_func_start sub_80ABE18
-@ void sub_80ABE18(u8 a1)
-sub_80ABE18: @ 80ABE18
+ thumb_func_start UpdateSpritePaletteWithWeather
+@ void UpdateSpritePaletteWithWeather(u8 a1)
+UpdateSpritePaletteWithWeather: @ 80ABE18
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 8
@@ -1882,10 +1882,10 @@ _080ABEF4:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80ABE18
+ thumb_func_end UpdateSpritePaletteWithWeather
- thumb_func_start sub_80ABF00
-sub_80ABF00: @ 80ABF00
+ thumb_func_start ApplyWeatherGammaShiftToPal
+ApplyWeatherGammaShiftToPal: @ 80ABF00
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -1900,7 +1900,7 @@ sub_80ABF00: @ 80ABF00
pop {r0}
bx r0
.pool
- thumb_func_end sub_80ABF00
+ thumb_func_end ApplyWeatherGammaShiftToPal
thumb_func_start sub_80ABF20
sub_80ABF20: @ 80ABF20
@@ -1939,7 +1939,7 @@ sub_80ABF4C: @ 80ABF4C
movs r2, 0x20
bl LoadPalette
ldrb r0, [r4]
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
pop {r4}
pop {r0}
bx r0
@@ -2339,43 +2339,43 @@ _080AC290:
.4byte _080AC300
_080AC2B8:
movs r0, 0x1
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2C0:
movs r0, 0x2
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2C8:
movs r0, 0x3
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2D0:
movs r0, 0x4
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2D8:
movs r0, 0x5
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2E0:
movs r0, 0x6
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2E8:
movs r0, 0x9
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2F0:
movs r0, 0x7
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC2F8:
movs r0, 0x8
- bl sub_80AEDF0
+ bl SetWeather
b _080AC306
_080AC300:
movs r0, 0xB
- bl sub_80AEDF0
+ bl SetWeather
_080AC306:
pop {r0}
bx r0
@@ -2472,15 +2472,15 @@ _080AC3B6:
bx r0
thumb_func_end play_some_sound
- thumb_func_start sub_80AC3BC
-sub_80AC3BC: @ 80AC3BC
+ thumb_func_start IsWeatherChangeComplete
+IsWeatherChangeComplete: @ 80AC3BC
ldr r0, =gUnknown_02038454
ldr r1, =0x000006d3
adds r0, r1
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sub_80AC3BC
+ thumb_func_end IsWeatherChangeComplete
thumb_func_start sub_80AC3D0
sub_80AC3D0: @ 80AC3D0
@@ -2504,8 +2504,8 @@ sub_80AC3E4: @ 80AC3E4
.pool
thumb_func_end sub_80AC3E4
- thumb_func_start sub_80AC3F8
-sub_80AC3F8: @ 80AC3F8
+ thumb_func_start PreservePaletteInWeather
+PreservePaletteInWeather: @ 80AC3F8
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2524,16 +2524,16 @@ sub_80AC3F8: @ 80AC3F8
pop {r0}
bx r0
.pool
- thumb_func_end sub_80AC3F8
+ thumb_func_end PreservePaletteInWeather
- thumb_func_start sub_80AC428
-sub_80AC428: @ 80AC428
+ thumb_func_start ResetPreservedPalettesInWeather
+ResetPreservedPalettesInWeather: @ 80AC428
ldr r1, =gUnknown_03000F50
ldr r0, =gUnknown_0854C250
str r0, [r1]
bx lr
.pool
- thumb_func_end sub_80AC428
+ thumb_func_end ResetPreservedPalettesInWeather
thumb_func_start sub_80AC438
sub_80AC438: @ 80AC438
@@ -2725,13 +2725,13 @@ sub_80AC594: @ 80AC594
ldrb r0, [r0]
cmp r0, 0x1
beq _080AC650
- ldr r0, =gUnknown_0854FB5C
+ ldr r0, =sCloudSpriteSheet
bl LoadSpriteSheet
ldr r0, =gUnknown_0854C290
bl sub_80ABF4C
movs r5, 0
_080AC5B2:
- ldr r0, =gUnknown_0854FB78
+ ldr r0, =sCloudSpriteTemplate
movs r1, 0
movs r2, 0
movs r3, 0xFF
@@ -3676,7 +3676,7 @@ sub_80ACD78: @ 80ACD78
b _080ACE98
_080ACD92:
ldrb r7, [r2]
- ldr r0, =gUnknown_0854FC2C
+ ldr r0, =gSpriteTemplate_854FC2C
ldr r2, =gUnknown_0854FB90
lsls r6, r7, 2
adds r2, r6, r2
@@ -5461,7 +5461,7 @@ sub_80ADCAC: @ 80ADCAC
bl LoadSpriteSheet
movs r5, 0
_080ADCD0:
- ldr r0, =gUnknown_0854FD18
+ ldr r0, =gSpriteTemplate_854FD18
movs r1, 0
movs r2, 0
movs r3, 0xFF
@@ -5792,7 +5792,7 @@ sub_80ADF6C: @ 80ADF6C
bne _080AE008
movs r5, 0
_080ADF80:
- ldr r0, =gUnknown_0854FD58
+ ldr r0, =gSpriteTemplate_854FD58
movs r1, 0
movs r2, 0
movs r3, 0x4E
@@ -6240,7 +6240,7 @@ _080AE314:
adds r5, r0, 0
lsls r2, r5, 22
asrs r2, 16
- ldr r0, =gUnknown_0854FD8C
+ ldr r0, =gSpriteTemplate_854FD8C
movs r1, 0
movs r3, 0xFF
bl CreateSpriteAtEnd
@@ -6753,7 +6753,7 @@ _080AE758:
adds r6, r0, 0
lsls r2, r6, 22
asrs r2, 16
- ldr r0, =gUnknown_0854FDC4
+ ldr r0, =gSpriteTemplate_854FDC4
movs r1, 0
movs r3, 0x1
bl CreateSpriteAtEnd
@@ -6840,7 +6840,7 @@ _080AE818:
adds r1, 0x18
lsls r1, 16
asrs r1, 16
- ldr r0, =gUnknown_0854FDC4
+ ldr r0, =gSpriteTemplate_854FDC4
movs r2, 0xD0
movs r3, 0x1
bl CreateSpriteAtEnd
@@ -7239,7 +7239,7 @@ sub_80AEB48: @ 80AEB48
ldrh r2, [r0]
ldrh r0, [r1]
subs r2, r0
- ldr r0, =gUnknown_0854FE44
+ ldr r0, =gSpriteTemplate_854FE44
movs r4, 0
ldrsh r1, [r3, r4]
lsls r2, 16
@@ -7306,7 +7306,7 @@ _080AEBE4:
adds r0, 0x14
adds r0, r2, r0
ldr r1, [r0]
- ldr r0, =gUnknown_0854FE44
+ ldr r0, =gSpriteTemplate_854FE44
cmp r1, r0
bne _080AEBFE
adds r0, r2, r5
@@ -7332,8 +7332,8 @@ _080AEC1A:
.pool
thumb_func_end sub_80AEBD0
- thumb_func_start unc_0807DAB4
-unc_0807DAB4: @ 80AEC34
+ thumb_func_start sub_80AEC34
+sub_80AEC34: @ 80AEC34
push {lr}
adds r1, r0, 0
ldrh r0, [r1, 0x2E]
@@ -7383,7 +7383,7 @@ _080AEC74:
_080AEC8E:
pop {r0}
bx r0
- thumb_func_end unc_0807DAB4
+ thumb_func_end sub_80AEC34
thumb_func_start sub_80AEC94
sub_80AEC94: @ 80AEC94
@@ -7527,18 +7527,18 @@ SetSav1Weather: @ 80AED7C
.pool
thumb_func_end SetSav1Weather
- thumb_func_start sav1_get_weather_probably
-sav1_get_weather_probably: @ 80AEDAC
+ thumb_func_start GetSav1Weather
+GetSav1Weather: @ 80AEDAC
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
adds r0, 0x2E
ldrb r0, [r0]
bx lr
.pool
- thumb_func_end sav1_get_weather_probably
+ thumb_func_end GetSav1Weather
- thumb_func_start sub_80AEDBC
-sub_80AEDBC: @ 80AEDBC
+ thumb_func_start SetSav1WeatherFromCurrMapHeader
+SetSav1WeatherFromCurrMapHeader: @ 80AEDBC
push {r4,r5,lr}
ldr r4, =gSaveBlock1Ptr
ldr r0, [r4]
@@ -7559,25 +7559,25 @@ sub_80AEDBC: @ 80AEDBC
pop {r0}
bx r0
.pool
- thumb_func_end sub_80AEDBC
+ thumb_func_end SetSav1WeatherFromCurrMapHeader
- thumb_func_start sub_80AEDF0
-sub_80AEDF0: @ 80AEDF0
+ thumb_func_start SetWeather
+SetWeather: @ 80AEDF0
push {lr}
bl SetSav1Weather
- bl sav1_get_weather_probably
+ bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
bl weather_set
pop {r0}
bx r0
- thumb_func_end sub_80AEDF0
+ thumb_func_end SetWeather
thumb_func_start sub_80AEE08
sub_80AEE08: @ 80AEE08
push {lr}
bl SetSav1Weather
- bl sav1_get_weather_probably
+ bl GetSav1Weather
lsls r0, 24
lsrs r0, 24
bl sub_80AB104
@@ -7588,7 +7588,7 @@ sub_80AEE08: @ 80AEE08
thumb_func_start DoCurrentWeather
DoCurrentWeather: @ 80AEE20
push {r4,r5,lr}
- bl sav1_get_weather_probably
+ bl GetSav1Weather
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
@@ -7632,7 +7632,7 @@ _080AEE6E:
thumb_func_start sub_80AEE84
sub_80AEE84: @ 80AEE84
push {r4,r5,lr}
- bl sav1_get_weather_probably
+ bl GetSav1Weather
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0xF
@@ -7777,8 +7777,8 @@ _080AEFB6:
bx r1
thumb_func_end sub_80AEEE8
- thumb_func_start sub_80AEFBC
-sub_80AEFBC: @ 80AEFBC
+ thumb_func_start UpdateWeatherPerDay
+UpdateWeatherPerDay: @ 80AEFBC
lsls r0, 16
ldr r1, =gSaveBlock1Ptr
ldr r2, [r1]
@@ -7794,7 +7794,7 @@ sub_80AEFBC: @ 80AEFBC
strb r1, [r2]
bx lr
.pool
- thumb_func_end sub_80AEFBC
+ thumb_func_end UpdateWeatherPerDay
thumb_func_start sub_80AEFDC
sub_80AEFDC: @ 80AEFDC
@@ -7855,7 +7855,7 @@ pal_fill_for_maplights: @ 80AF040
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- bl sav1_map_get_light_level
+ bl Overworld_GetMapTypeOfSaveblockLocation
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -7872,13 +7872,13 @@ _080AF06A:
bl palette_bg_faded_fill_black
movs r0, 0
movs r1, 0
- bl fade_screen
+ bl FadeScreen
b _080AF084
_080AF078:
bl palette_bg_faded_fill_white
movs r0, 0x2
movs r1, 0
- bl fade_screen
+ bl FadeScreen
_080AF084:
pop {r4}
pop {r0}
@@ -7891,7 +7891,7 @@ sub_80AF08C: @ 80AF08C
bl palette_bg_faded_fill_white
movs r0, 0x2
movs r1, 0x8
- bl fade_screen
+ bl FadeScreen
pop {r0}
bx r0
thumb_func_end sub_80AF08C
@@ -7902,7 +7902,7 @@ pal_fill_black: @ 80AF0A0
bl palette_bg_faded_fill_black
movs r0, 0
movs r1, 0
- bl fade_screen
+ bl FadeScreen
pop {r0}
bx r0
thumb_func_end pal_fill_black
@@ -7910,7 +7910,7 @@ pal_fill_black: @ 80AF0A0
thumb_func_start sub_80AF0B4
sub_80AF0B4: @ 80AF0B4
push {r4,lr}
- bl sav1_map_get_light_level
+ bl Overworld_GetMapTypeOfSaveblockLocation
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
@@ -7928,12 +7928,12 @@ sub_80AF0B4: @ 80AF0B4
_080AF0DA:
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
b _080AF0EC
_080AF0E4:
movs r0, 0x3
movs r1, 0
- bl fade_screen
+ bl FadeScreen
_080AF0EC:
pop {r4}
pop {r0}
@@ -7975,7 +7975,7 @@ _080AF120:
sub_80AF128: @ 80AF128
push {lr}
bl ScriptContext2_Enable
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task0A_nop_for_a_while
movs r1, 0xA
@@ -8006,7 +8006,7 @@ _080AF160:
sub_80AF168: @ 80AF168
push {lr}
bl ScriptContext2_Enable
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task0A_asap_script_env_2_enable_and_set_ctx_running
movs r1, 0xA
@@ -8092,7 +8092,7 @@ _080AF20E:
sub_80AF214: @ 80AF214
push {lr}
bl ScriptContext2_Enable
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, =task_mpl_807DD60
movs r1, 0xA
@@ -8220,7 +8220,7 @@ _080AF30C:
sub_80AF314: @ 80AF314
push {lr}
bl ScriptContext2_Enable
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl palette_bg_faded_fill_black
ldr r0, =sub_80AF234
movs r1, 0xA
@@ -8279,7 +8279,7 @@ _080AF37E:
thumb_func_start mapldr_default
mapldr_default: @ 80AF398
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
bl sub_80AF334
bl ScriptContext2_Enable
@@ -8290,7 +8290,7 @@ mapldr_default: @ 80AF398
thumb_func_start sub_80AF3B0
sub_80AF3B0: @ 80AF3B0
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl sub_80AF08C
bl sub_80AF334
bl ScriptContext2_Enable
@@ -8304,7 +8304,7 @@ sub_80AF3C8: @ 80AF3C8
bl sub_81D6534
cmp r0, 0
bne _080AF3D6
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
_080AF3D6:
bl pal_fill_black
bl sub_80AF334
@@ -8316,7 +8316,7 @@ _080AF3D6:
thumb_func_start sub_80AF3E8
sub_80AF3E8: @ 80AF3E8
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, 0x2E
bl PlaySE
@@ -8332,7 +8332,7 @@ sub_80AF3E8: @ 80AF3E8
thumb_func_start sub_80AF40C
sub_80AF40C: @ 80AF40C
push {lr}
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_for_maplights
movs r0, 0x2E
bl PlaySE
@@ -8382,7 +8382,7 @@ _080AF46C:
_080AF480:
movs r0, 0
bl sub_80AF0F4
- bl player_bitmagic
+ bl FreezeEventObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8403,17 +8403,17 @@ _080AF4A4:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
movs r1, 0x8
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AF54A
@@ -8434,16 +8434,16 @@ _080AF4DC:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
movs r0, 0x3
strh r0, [r5, 0x8]
b _080AF54A
@@ -8461,7 +8461,7 @@ _080AF520:
cmp r0, 0x1
beq _080AF54A
_080AF536:
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0x4
strh r0, [r5, 0x8]
b _080AF54A
@@ -8508,7 +8508,7 @@ _080AF580:
_080AF58A:
movs r0, 0
bl sub_80AF0F4
- bl player_bitmagic
+ bl FreezeEventObjects
adds r0, r6, 0
adds r1, r7, 0
bl PlayerGetDestCoords
@@ -8524,23 +8524,23 @@ _080AF5A2:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
lsls r4, r0, 3
adds r4, r0
lsls r4, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetGoSpeed0AnimId
+ bl GetWalkNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AF60A
@@ -8550,7 +8550,7 @@ _080AF5EC:
lsls r0, 24
cmp r0, 0
beq _080AF60A
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
movs r0, 0x3
strh r0, [r5, 0x8]
b _080AF60A
@@ -8583,7 +8583,7 @@ task_map_chg_seq_0807E2CC: @ 80AF610
b _080AF65A
.pool
_080AF634:
- bl player_bitmagic
+ bl FreezeEventObjects
bl ScriptContext2_Enable
ldrh r0, [r4, 0x8]
adds r0, 0x1
@@ -8593,7 +8593,7 @@ _080AF644:
bl sub_80AF71C
cmp r0, 0
beq _080AF65A
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, 0
bl DestroyTask
@@ -8656,7 +8656,7 @@ task_mpl_807E3C8: @ 80AF6B0
bl ScriptContext2_Disable
adds r0, r4, 0
bl DestroyTask
- bl sub_80984F4
+ bl ScriptUnfreezeEventObjects
_080AF6CC:
pop {r4}
pop {r0}
@@ -8680,7 +8680,7 @@ sub_80AF6D4: @ 80AF6D4
sub_80AF6F0: @ 80AF6F0
push {lr}
bl ScriptContext2_Enable
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
bl pal_fill_black
ldr r0, =task_mpl_807E3C8
movs r1, 0xA
@@ -8702,7 +8702,7 @@ sub_80AF710: @ 80AF710
thumb_func_start sub_80AF71C
sub_80AF71C: @ 80AF71C
push {lr}
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -8761,7 +8761,7 @@ sub_80AF79C: @ 80AF79C
bl music_something
movs r0, 0x3
movs r1, 0x8
- bl fade_screen
+ bl FadeScreen
bl play_some_sound
ldr r0, =gFieldCallback
ldr r1, =sub_80AF3B0
@@ -8861,7 +8861,7 @@ sub_80AF87C: @ 80AF87C
movs r0, 0x1
bl sub_8085540
bl ScriptContext2_Enable
- bl save_serialize_npcs
+ bl SaveEventObjects
bl music_something
bl sub_80AF0B4
movs r0, 0x2D
@@ -8987,10 +8987,10 @@ _080AF994:
beq _080AF9D0
b _080AF9E8
_080AF99A:
- bl sub_8009FAC
+ bl ClearLinkCallback_2
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
bl music_something
movs r0, 0x9
bl PlaySE
@@ -9015,7 +9015,7 @@ _080AF9D0:
cmp r0, 0
bne _080AF9E8
bl warp_in
- ldr r0, =c2_load_new_map
+ ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -9062,7 +9062,7 @@ _080AFA34:
beq _080AFA6C
b _080AFA7C
_080AFA3A:
- bl player_bitmagic
+ bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AFA64
_080AFA44:
@@ -9087,7 +9087,7 @@ _080AFA64:
b _080AFA7C
_080AFA6C:
bl warp_in
- ldr r0, =c2_load_new_map
+ ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r6, 0
bl DestroyTask
@@ -9133,7 +9133,7 @@ _080AFAC0:
.4byte _080AFBB8
.4byte _080AFBD4
_080AFAD4:
- bl player_bitmagic
+ bl FreezeEventObjects
adds r0, r4, 0
adds r1, r6, 0
bl PlayerGetDestCoords
@@ -9174,20 +9174,20 @@ _080AFB26:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r4, =gMapObjects
+ ldr r4, =gEventObjects
adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimActive
+ bl EventObjectClearHeldMovementIfActive
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -9196,7 +9196,7 @@ _080AFB26:
lsls r0, 2
adds r0, r4
movs r1, 0x9
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
movs r0, 0x2
strh r0, [r5, 0x8]
b _080AFBE8
@@ -9218,16 +9218,16 @@ _080AFB6C:
movs r0, 0xFF
movs r1, 0
movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
movs r0, 0
bl sub_80AF0F4
movs r0, 0x3
@@ -9290,7 +9290,7 @@ _080AFC1C:
beq _080AFC46
b _080AFC56
_080AFC22:
- bl player_bitmagic
+ bl FreezeEventObjects
bl ScriptContext2_Enable
b _080AFC3E
_080AFC2C:
@@ -9572,12 +9572,12 @@ _080AFE30:
beq _080AFEBC
b _080AFEC6
_080AFE36:
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
ldrb r1, [r0, 0x14]
lsls r0, r1, 4
subs r0, r1
lsls r0, 7
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
adds r0, r1
movs r2, 0x2
ldrsh r1, [r4, r2]
@@ -9591,12 +9591,12 @@ _080AFE36:
b _080AFEC6
.pool
_080AFE64:
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
ldrb r1, [r0, 0x14]
lsls r0, r1, 4
subs r0, r1
lsls r0, 7
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
adds r0, r1
movs r6, 0x2
ldrsh r1, [r4, r6]
@@ -9621,7 +9621,7 @@ _080AFE64:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _080AFEB4
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0x2
strh r0, [r4]
b _080AFEC6
@@ -9631,7 +9631,7 @@ _080AFEB4:
bl DestroyTask
b _080AFEC6
_080AFEBC:
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
adds r0, r5, 0
bl DestroyTask
_080AFEC6:
@@ -9665,12 +9665,12 @@ _080AFEF4:
beq _080AFF80
b _080AFF8A
_080AFEFA:
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
ldrb r1, [r0, 0x14]
lsls r0, r1, 4
subs r0, r1
lsls r0, 7
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
adds r0, r1
movs r2, 0x2
ldrsh r1, [r4, r2]
@@ -9684,12 +9684,12 @@ _080AFEFA:
b _080AFF8A
.pool
_080AFF28:
- ldr r0, =gUnknown_02039B28
+ ldr r0, =gScanlineEffect
ldrb r1, [r0, 0x14]
lsls r0, r1, 4
subs r0, r1
lsls r0, 7
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
adds r0, r1
movs r6, 0x2
ldrsh r1, [r4, r6]
@@ -9714,7 +9714,7 @@ _080AFF28:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _080AFF78
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0x2
strh r0, [r4]
b _080AFF8A
@@ -9724,7 +9724,7 @@ _080AFF78:
bl DestroyTask
b _080AFF8A
_080AFF80:
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
adds r0, r5, 0
bl DestroyTask
_080AFF8A:
@@ -9877,7 +9877,7 @@ sub_80B009C: @ 80B009C
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
- bl sav1_get_flash_used_on_map
+ bl Overworld_GetFlashLevel
lsls r0, 24
lsrs r0, 24
movs r5, 0
@@ -9914,7 +9914,7 @@ sub_80B00E8: @ 80B00E8
lsrs r0, 24
cmp r0, 0
beq _080B0116
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
ldr r1, =gUnknown_0854FE64
lsls r0, 1
adds r0, r1
@@ -9940,7 +9940,7 @@ _080B0116:
thumb_func_start door_upload_tiles
door_upload_tiles: @ 80B0124
push {r4,lr}
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldr r1, =0x00000e68
@@ -9982,7 +9982,7 @@ task0A_mpl_807E31C: @ 80B0160
b _080B01B6
.pool
_080B0184:
- bl player_bitmagic
+ bl FreezeEventObjects
bl ScriptContext2_Enable
bl sub_808D194
ldrh r0, [r4, 0x8]
@@ -9996,7 +9996,7 @@ _080B0198:
bl sub_808D1B4
cmp r0, 0x1
beq _080B01B6
- bl UnfreezeMapObjects
+ bl UnfreezeEventObjects
bl ScriptContext2_Disable
adds r0, r5, 0
bl DestroyTask
@@ -10033,7 +10033,7 @@ _080B01E4:
beq _080B022A
b _080B023A
_080B01EE:
- bl player_bitmagic
+ bl FreezeEventObjects
bl ScriptContext2_Enable
movs r0, 0x2D
bl PlaySE
@@ -10060,7 +10060,7 @@ _080B0222:
b _080B023A
_080B022A:
bl warp_in
- ldr r0, =c2_load_new_map
+ ldr r0, =CB2_LoadMap
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -10261,7 +10261,7 @@ _080B0368:
bl sub_8199C30
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
movs r2, 0x4
ldrsh r1, [r5, r2]
movs r0, 0x6
@@ -10280,7 +10280,7 @@ _080B0368:
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
movs r0, 0x1
strh r0, [r5]
b _080B052C
@@ -10478,7 +10478,7 @@ sub_80B058C: @ 80B058C
thumb_func_start sub_80B05B4
sub_80B05B4: @ 80B05B4
push {lr}
- bl sub_80859B0
+ bl Overworld_FadeOutMapMusic
ldr r0, =task50_0807F0C8
movs r1, 0x50
bl CreateTask
diff --git a/asm/rom6.s b/asm/field_specials.s
index ebff777ea..cea228a2a 100644
--- a/asm/rom6.s
+++ b/asm/field_specials.s
@@ -5,4705 +5,8 @@
.text
- thumb_func_start npc_before_player_of_type
-npc_before_player_of_type: @ 8135424
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, =gUnknown_0203AB40
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- strb r0, [r4, 0x4]
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gMapObjects
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r0, [r2, 0x5]
- cmp r0, r5
- bne _08135470
- ldr r1, =gSpecialVar_LastTalked
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- movs r0, 0x1
- b _08135472
- .pool
-_08135470:
- movs r0, 0
-_08135472:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end npc_before_player_of_type
-
- thumb_func_start oei_task_add
-oei_task_add: @ 8135478
- push {lr}
- ldr r0, =gUnknown_0203AB40
- adds r1, r0, 0x2
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, =task08_080C9820
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_task_add
-
- thumb_func_start task08_080C9820
-task08_080C9820: @ 813549C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ScriptContext2_Enable
- ldr r1, =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r1, [r1, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _081354D2
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _0813551E
-_081354D2:
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- cmp r0, 0x5
- bne _08135504
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- b _0813551C
- .pool
-_08135504:
- bl sub_808C114
- adds r0, r4, 0
- movs r1, 0x39
- bl FieldObjectSetSpecialAnim
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_813552C
-_0813551C:
- str r0, [r1]
-_0813551E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task08_080C9820
-
- thumb_func_start sub_813552C
-sub_813552C: @ 813552C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08135560
- movs r0, 0x3B
- bl FieldEffectStart
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8135578
- str r0, [r1]
-_08135560:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813552C
-
- thumb_func_start sub_8135578
-sub_8135578: @ 8135578
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081355FC
- bl player_get_direction_lower_nybble
- ldr r6, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r6, 0x4]
- cmp r0, 0x1
- bne _0813559E
- str r4, [r6, 0x8]
-_0813559E:
- ldr r1, [r6, 0x4]
- cmp r1, 0x2
- bne _081355A8
- movs r0, 0x1
- str r0, [r6, 0x8]
-_081355A8:
- cmp r1, 0x3
- bne _081355B0
- movs r0, 0x2
- str r0, [r6, 0x8]
-_081355B0:
- cmp r1, 0x4
- bne _081355B8
- movs r0, 0x3
- str r0, [r6, 0x8]
-_081355B8:
- ldr r5, =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- bl GetPlayerAvatarGraphicsIdByCurrentState
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetGraphicsId
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- ldrb r1, [r6, 0x8]
- bl StartSpriteAnim
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_813561C
- str r1, [r0]
-_081355FC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135578
-
- thumb_func_start sub_813561C
-sub_813561C: @ 813561C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x18]
- lsls r1, 16
- ldrh r0, [r0, 0x1A]
- orrs r1, r0
- bl _call_via_r1
- ldr r1, =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813561C
-
- thumb_func_start sub_8135654
-sub_8135654: @ 8135654
- push {r4,lr}
- bl ShouldDoBrailleStrengthEffect
- lsls r0, 24
- cmp r0, 0
- beq _0813568C
- ldr r4, =gSpecialVar_Result
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_8179834
- b _081356A8
- .pool
-_0813568C:
- movs r0, 0x56
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813569E
- movs r0, 0
- b _081356AC
-_0813569E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_81356C4
-_081356A8:
- str r0, [r1]
- movs r0, 0x1
-_081356AC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135654
-
- thumb_func_start sub_81356C4
-sub_81356C4: @ 81356C4
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =Route111_EventScript_2907F0
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81356C4
-
- thumb_func_start oei_rocksmash
-oei_rocksmash: @ 81356E4
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_8135714
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x13
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_rocksmash
-
- thumb_func_start sub_8135714
-sub_8135714: @ 8135714
- push {lr}
- movs r0, 0x83
- bl PlaySE
- movs r0, 0x25
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8135714
-
- thumb_func_start sub_813572C
-sub_813572C: @ 813572C
- push {lr}
- bl sub_80FE314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0813573E
- movs r0, 0
- b _0813574C
-_0813573E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_dig
- str r0, [r1]
- movs r0, 0x1
-_0813574C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_813572C
-
- thumb_func_start hm2_dig
-hm2_dig: @ 8135760
- push {lr}
- bl flagmods_08054D70
- movs r0, 0x26
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_dig
-
- thumb_func_start sub_8135780
-sub_8135780: @ 8135780
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_81357BC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- cmp r0, 0
- bne _081357AC
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
-_081357AC:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8135780
-
- thumb_func_start sub_81357BC
-sub_81357BC: @ 81357BC
- push {r4,lr}
- movs r0, 0x26
- bl FieldEffectActiveListRemove
- bl ShouldDoBrailleDigEffect
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _081357D6
- bl DoBrailleDigEffect
- b _081357EE
-_081357D6:
- ldr r0, =task08_080A1C44
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_081357EE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81357BC
-
- thumb_func_start sub_81357FC
-sub_81357FC: @ 81357FC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_0203AB50
- ldr r0, =0x00000e88
- bl Alloc
- str r0, [r5]
- ldr r2, =0x00000809
- adds r0, r2
- movs r3, 0
- strb r4, [r0]
- ldr r0, [r5]
- movs r4, 0x80
- lsls r4, 4
- adds r1, r0, r4
- str r3, [r1]
- ldr r1, =0x00000e7c
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r5]
- ldr r4, =0x00000e7d
- adds r0, r4
- strb r3, [r0]
- ldr r0, =gUnknown_0203AB48
- str r6, [r0]
- ldr r5, [r5]
- adds r2, r5, r2
- ldrb r2, [r2]
- cmp r2, 0x2
- beq _08135888
- cmp r2, 0x2
- bgt _08135864
- cmp r2, 0x1
- beq _0813586A
- b _081358C0
- .pool
-_08135864:
- cmp r2, 0x3
- beq _081358A4
- b _081358C0
-_0813586A:
- ldr r0, =0x00000804
- adds r1, r5, r0
- ldr r0, =gUnknown_085B269B
- str r0, [r1]
- ldr r4, =0x00000808
- adds r1, r5, r4
- movs r0, 0x2
- b _081358D2
- .pool
-_08135888:
- ldr r1, =0x00000804
- adds r0, r5, r1
- ldr r1, =gUnknown_085B269D
- str r1, [r0]
- ldr r4, =0x00000808
- adds r0, r5, r4
- strb r2, [r0]
- b _081358D4
- .pool
-_081358A4:
- ldr r0, =0x00000804
- adds r1, r5, r0
- ldr r0, =gUnknown_085B269F
- str r0, [r1]
- ldr r4, =0x00000808
- adds r1, r5, r4
- movs r0, 0x2
- b _081358D2
- .pool
-_081358C0:
- ldr r0, =gUnknown_0203AB50
- ldr r1, [r0]
- ldr r0, =0x00000804
- adds r2, r1, r0
- ldr r0, =gUnknown_085B2698
- str r0, [r2]
- ldr r4, =0x00000808
- adds r1, r4
- movs r0, 0x3
-_081358D2:
- strb r0, [r1]
-_081358D4:
- ldr r0, =sub_813594C
- bl SetMainCallback2
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81357FC
-
- thumb_func_start sub_81358F4
-sub_81358F4: @ 81358F4
- push {lr}
- ldr r1, =SetCB2ToReshowScreenAfterMenu2
- movs r0, 0x1
- bl sub_81357FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81358F4
-
- thumb_func_start sub_8135908
-sub_8135908: @ 8135908
- push {lr}
- ldr r1, =c2_exit_to_overworld_2_switch
- movs r0, 0x2
- bl sub_81357FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135908
-
- thumb_func_start sub_813591C
-sub_813591C: @ 813591C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_813591C
-
- thumb_func_start sub_8135938
-sub_8135938: @ 8135938
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8135938
-
- thumb_func_start sub_813594C
-sub_813594C: @ 813594C
- push {lr}
-_0813594E:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135972
- bl sub_8135978
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135972
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0813594E
-_08135972:
- pop {r0}
- bx r0
- thumb_func_end sub_813594C
-
- thumb_func_start sub_8135978
-sub_8135978: @ 8135978
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x12
- bls _0813598C
- b _08135BB8
-_0813598C:
- lsls r0, 2
- ldr r1, =_081359A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081359A0:
- .4byte _081359EC
- .4byte _081359F6
- .4byte _08135A08
- .4byte _08135A0E
- .4byte _08135A30
- .4byte _08135A36
- .4byte _08135A54
- .4byte _08135A70
- .4byte _08135A8C
- .4byte _08135A9A
- .4byte _08135AC4
- .4byte _08135ADC
- .4byte _08135AFC
- .4byte _08135B02
- .4byte _08135B14
- .4byte _08135B1A
- .4byte _08135B64
- .4byte _08135B6A
- .4byte _08135B84
-_081359EC:
- bl SetVBlankHBlankCallbacksToNull
- bl clear_scheduled_bg_copies_to_vram
- b _08135B9E
-_081359F6:
- bl remove_some_task
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135A08:
- bl FreeAllSpritePalettes
- b _08135B9E
-_08135A0E:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135A30:
- bl ResetSpriteData
- b _08135B9E
-_08135A36:
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000809
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08135A46
- b _08135B9E
-_08135A46:
- bl ResetTasks
- b _08135B9E
- .pool
-_08135A54:
- bl sub_8135BDC
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e7e
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- b _08135B9E
- .pool
-_08135A70:
- bl sub_8135C38
- lsls r0, 24
- cmp r0, 0
- bne _08135A7C
- b _08135BD0
-_08135A7C:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135A8C:
- bl sub_813625C
- bl sub_81362E0
- bl sub_8136344
- b _08135B9E
-_08135A9A:
- movs r0, 0x38
- movs r1, 0x40
- movs r2, 0
- bl sub_8136444
- ldr r1, =gUnknown_0203AB50
- ldr r1, [r1]
- ldr r2, =0x00000e74
- adds r1, r2
- strb r0, [r1]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135AC4:
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e75
- adds r0, r1
- movs r1, 0x7
- bl sub_8122344
- b _08135B9E
- .pool
-_08135ADC:
- ldr r0, =gUnknown_0203AB48
- ldrh r0, [r0, 0x4]
- ldr r1, =0x00001005
- bl sub_8136110
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135AFC:
- bl sub_8135D24
- b _08135B9E
-_08135B02:
- bl sub_8135E2C
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135B14:
- bl sub_81363BC
- b _08135B9E
-_08135B1A:
- ldr r0, =sub_81365C8
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_03006310
- ldr r2, =gUnknown_0203AB48
- ldrh r1, [r2, 0x6]
- ldrh r2, [r2, 0x4]
- bl ListMenuInit
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135B64:
- bl sub_8135DAC
- b _08135B9E
-_08135B6A:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _08135BA6
- .pool
-_08135B84:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
-_08135B9E:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_08135BA6:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08135BD0
- .pool
-_08135BB8:
- ldr r0, =sub_8135938
- bl SetVBlankCallback
- ldr r0, =sub_813591C
- bl SetMainCallback2
- movs r0, 0x1
- b _08135BD2
- .pool
-_08135BD0:
- movs r0, 0
-_08135BD2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8135978
-
- thumb_func_start sub_8135BDC
-sub_8135BDC: @ 8135BDC
- push {lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B2620
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0203AB50
- ldr r1, [r0]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135BDC
-
- thumb_func_start sub_8135C38
-sub_8135C38: @ 8135C38
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e7e
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bhi _08135D18
- lsls r0, 2
- ldr r1, =_08135C64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08135C64:
- .4byte _08135C7C
- .4byte _08135C98
- .4byte _08135CBC
- .4byte _08135CCC
- .4byte _08135CD8
- .4byte _08135CFC
-_08135C7C:
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D9B2B4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _08135CDE
- .pool
-_08135C98:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08135D18
- ldr r0, =gUnknown_08D9B7C8
- ldr r4, =gUnknown_0203AB50
- ldr r1, [r4]
- bl LZDecompressWram
- ldr r1, [r4]
- b _08135CE2
- .pool
-_08135CBC:
- ldr r0, =gUnknown_08D9B470
- movs r1, 0
- movs r2, 0xC0
- bl LoadCompressedPalette
- b _08135CDE
- .pool
-_08135CCC:
- ldr r0, =gUnknown_085B26F4
- bl LoadCompressedObjectPic
- b _08135CDE
- .pool
-_08135CD8:
- ldr r0, =gUnknown_085B26FC
- bl LoadCompressedObjectPalette
-_08135CDE:
- ldr r0, =gUnknown_0203AB50
- ldr r1, [r0]
-_08135CE2:
- ldr r0, =0x00000e7e
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08135D18
- .pool
-_08135CFC:
- bl sub_8122328
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e7e
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x1
- b _08135D1A
- .pool
-_08135D18:
- movs r0, 0
-_08135D1A:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8135C38
-
- thumb_func_start sub_8135D24
-sub_8135D24: @ 8135D24
- push {r4,lr}
- ldr r0, =gUnknown_085B2748
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_809882C
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD0
- bl copy_textbox_border_tile_patterns_to_vram
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_08135D50:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _08135D50
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135D24
-
- thumb_func_start sub_8135D7C
-sub_8135D7C: @ 8135D7C
- push {r4,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r3, =gUnknown_085B271C
- str r3, [sp, 0x8]
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParametrized2
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135D7C
-
- thumb_func_start sub_8135DAC
-sub_8135DAC: @ 8135DAC
- push {r4,lr}
- ldr r0, =0x00000111
- bl ItemId_GetItem
- adds r4, r0, 0
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x48
- bl GetStringCenterAlignXOffset
- adds r2, r0, 0
- movs r0, 0
- adds r1, r4, 0
- bl sub_8135D7C
- ldr r1, =gText_Spicy
- movs r0, 0x2
- movs r2, 0
- bl sub_8135D7C
- ldr r1, =gText_Dry
- movs r0, 0x3
- movs r2, 0
- bl sub_8135D7C
- ldr r1, =gText_Sweet
- movs r0, 0x4
- movs r2, 0
- bl sub_8135D7C
- ldr r1, =gText_Bitter
- movs r0, 0x5
- movs r2, 0
- bl sub_8135D7C
- ldr r1, =gText_Sour
- movs r0, 0x6
- movs r2, 0
- bl sub_8135D7C
- movs r4, 0
-_08135DFE:
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08135DFE
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135DAC
-
- thumb_func_start sub_8135E2C
-sub_8135E2C: @ 8135E2C
- push {r4-r7,lr}
- movs r6, 0
- ldr r1, =gUnknown_0203AB50
- ldr r0, [r1]
- ldr r2, =0x0000080a
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bge _08135E7C
- adds r5, r1, 0
-_08135E42:
- lsls r4, r6, 5
- ldr r3, =0x00000954
- adds r4, r3
- ldr r0, [r5]
- adds r0, r4
- adds r1, r6, 0
- bl sub_8135F04
- ldr r1, [r5]
- lsls r2, r6, 3
- ldr r7, =0x0000080c
- adds r0, r1, r7
- adds r0, r2
- adds r4, r1, r4
- str r4, [r0]
- movs r3, 0x81
- lsls r3, 4
- adds r0, r1, r3
- adds r0, r2
- str r6, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, =0x0000080a
- adds r1, r4
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r6, r0
- blt _08135E42
-_08135E7C:
- ldr r5, =gUnknown_0203AB50
- lsls r4, r6, 5
- ldr r7, =0x00000954
- adds r4, r7
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gText_StowCase
- bl StringCopy
- ldr r1, [r5]
- lsls r2, r6, 3
- ldr r3, =0x0000080c
- adds r0, r1, r3
- adds r0, r2
- adds r4, r1, r4
- str r4, [r0]
- movs r0, 0x81
- lsls r0, 4
- adds r1, r0
- adds r1, r2
- movs r0, 0x2
- negs r0, r0
- str r0, [r1]
- ldr r2, =gUnknown_03006310
- adds r1, r2, 0
- ldr r0, =gUnknown_085B27B0
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldrb r1, [r2, 0x17]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- movs r1, 0x7
- orrs r0, r1
- strb r0, [r2, 0x17]
- ldr r1, [r5]
- ldr r4, =0x0000080a
- adds r0, r1, r4
- ldrb r0, [r0]
- strh r0, [r2, 0xC]
- adds r3, r1, r3
- str r3, [r2]
- ldr r6, =0x0000080b
- adds r1, r6
- ldrb r0, [r1]
- strh r0, [r2, 0xE]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135E2C
-
- thumb_func_start sub_8135F04
-sub_8135F04: @ 8135F04
- push {r4-r6,lr}
- lsls r1, 16
- ldr r2, =gSaveBlock1Ptr
- lsrs r1, 13
- ldr r3, =0x00000848
- adds r1, r3
- ldr r5, [r2]
- adds r5, r1
- ldr r2, =gPokeblockNames
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- adds r4, r0, 0
- movs r0, 0xFC
- strb r0, [r4]
- adds r4, 0x1
- movs r0, 0x12
- strb r0, [r4]
- adds r4, 0x1
- movs r0, 0x57
- strb r0, [r4]
- adds r4, 0x1
- ldr r6, =gStringVar1
- adds r0, r5, 0
- bl sub_8136EA4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_LvVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135F04
-
- thumb_func_start sub_8135F70
-sub_8135F70: @ 8135F70
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _08135F9C
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e74
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_8136470
- str r1, [r0]
-_08135F9C:
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e7d
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08135FB0
- adds r0, r4, 0
- bl sub_8135FCC
-_08135FB0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135F70
-
- thumb_func_start sub_8135FCC
-sub_8135FCC: @ 8135FCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0x7
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _081360A0
- ldr r1, =gSaveBlock1Ptr
- lsls r0, r4, 3
- ldr r2, =0x00000848
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- mov r8, r1
- add r1, sp, 0x8
- movs r0, 0x17
- strh r0, [r1]
- movs r0, 0x18
- strh r0, [r1, 0x2]
- movs r5, 0
- adds r6, r1, 0
-_08136002:
- adds r4, r5, 0x1
- lsls r1, r4, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8136F9C
- lsls r0, 16
- adds r7, r4, 0
- cmp r0, 0
- ble _0813602C
- lsls r1, r5, 12
- adds r0, r1, 0
- adds r0, 0x17
- strh r0, [r6]
- adds r1, 0x18
- strh r1, [r6, 0x2]
- b _08136032
- .pool
-_0813602C:
- movs r0, 0xF
- strh r0, [r6]
- strh r0, [r6, 0x2]
-_08136032:
- adds r0, r5, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl __umodsi3
- adds r3, r0, 0
- lsls r3, 25
- movs r0, 0xD0
- lsls r0, 20
- adds r3, r0
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- add r1, sp, 0x8
- adds r2, r4, 0
- bl CopyToBgTilemapBufferRect
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08136002
- ldr r4, =gStringVar1
- mov r0, r8
- bl sub_8136EDC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_8135D7C
- b _081360F8
- .pool
-_081360A0:
- add r0, sp, 0x8
- movs r1, 0xF
- strh r1, [r0]
- strh r1, [r0, 0x2]
- movs r5, 0
-_081360AA:
- adds r0, r5, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl __umodsi3
- adds r3, r0, 0
- lsls r3, 25
- movs r2, 0xD0
- lsls r2, 20
- adds r3, r2
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- add r1, sp, 0x8
- adds r2, r4, 0
- bl CopyToBgTilemapBufferRect
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _081360AA
- movs r0, 0x7
- movs r1, 0x2
- bl CopyWindowToVram
-_081360F8:
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8135FCC
-
- thumb_func_start sub_8136110
-sub_8136110: @ 8136110
- push {lr}
- sub sp, 0x8
- adds r3, r0, 0
- lsls r3, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r3, 15
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xE
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r2, 0xF
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8136110
-
- thumb_func_start sub_8136140
-sub_8136140: @ 8136140
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
-_0813614A:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r6, r0, 16
- mov r12, r1
- cmp r6, 0x27
- bhi _08136192
- ldr r0, =gSaveBlock1Ptr
- mov r9, r0
- lsls r7, r2, 3
- ldr r1, =0x00000848
- mov r8, r1
-_08136160:
- mov r0, r9
- ldr r2, [r0]
- adds r0, r2, r7
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- bne _08136188
- ldr r1, =0x00000848
- adds r2, r1
- adds r3, r2, r7
- ldr r4, [r3]
- ldr r5, [r3, 0x4]
- lsls r0, r6, 3
- adds r2, r0
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [r3]
- str r1, [r3, 0x4]
- str r4, [r2]
- str r5, [r2, 0x4]
-_08136188:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x27
- bls _08136160
-_08136192:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, 0x26
- bls _0813614A
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136140
-
- thumb_func_start sub_81361B0
-sub_81361B0: @ 81361B0
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00000848
- adds r6, r0, r1
- cmp r4, r5
- beq _08136246
- movs r0, 0x8
- bl Alloc
- adds r7, r0, 0
- lsls r0, r4, 3
- adds r0, r6
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r7]
- str r1, [r7, 0x4]
- cmp r5, r4
- bls _0813620C
- subs r5, 0x1
- lsls r3, r4, 16
- lsls r0, r5, 16
- asrs r1, r0, 16
- cmp r3, r0
- bge _08136234
- adds r4, r1, 0
-_081361E8:
- asrs r3, 16
- lsls r2, r3, 3
- adds r2, r6
- ldr r0, [r2, 0x8]
- ldr r1, [r2, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r3, 0x1
- lsls r3, 16
- asrs r0, r3, 16
- cmp r0, r4
- blt _081361E8
- b _08136234
- .pool
-_0813620C:
- lsls r3, r4, 16
- lsls r0, r5, 16
- asrs r1, r0, 16
- cmp r3, r0
- ble _08136234
- adds r4, r1, 0
-_08136218:
- asrs r3, 16
- lsls r2, r3, 3
- adds r2, r6
- adds r0, r2, 0
- subs r0, 0x8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- subs r3, 0x1
- lsls r3, 16
- asrs r0, r3, 16
- cmp r0, r4
- bgt _08136218
-_08136234:
- lsls r2, r5, 3
- adds r2, r6
- ldr r0, [r7]
- ldr r1, [r7, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r7, 0
- bl Free
-_08136246:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81361B0
-
- thumb_func_start sub_813624C
-sub_813624C: @ 813624C
- ldr r1, =gUnknown_0203AB48
- movs r0, 0
- strh r0, [r1, 0x4]
- strh r0, [r1, 0x6]
- bx lr
- .pool
- thumb_func_end sub_813624C
-
- thumb_func_start sub_813625C
-sub_813625C: @ 813625C
- push {r4,r5,lr}
- bl sub_8136140
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x0000080a
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- ldr r4, =0x00000848
-_08136274:
- ldr r0, [r5]
- lsls r1, r2, 3
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- ldr r3, =gUnknown_0203AB50
- cmp r0, 0
- beq _08136290
- ldr r1, [r3]
- ldr r0, =0x0000080a
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08136290:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08136274
- ldr r0, [r3]
- ldr r2, =0x0000080a
- adds r0, r2
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- adds r2, r0, r2
- ldrb r2, [r2]
- cmp r2, 0x9
- bls _081362D0
- ldr r2, =0x0000080b
- adds r1, r0, r2
- movs r0, 0x9
- strb r0, [r1]
- b _081362D6
- .pool
-_081362D0:
- ldr r1, =0x0000080b
- adds r0, r1
- strb r2, [r0]
-_081362D6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813625C
-
- thumb_func_start sub_81362E0
-sub_81362E0: @ 81362E0
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203AB48
- ldrh r1, [r0, 0x6]
- adds r3, r0, 0
- ldr r4, =gUnknown_0203AB50
- cmp r1, 0
- beq _08136308
- ldrh r0, [r3, 0x6]
- ldr r1, [r4]
- ldr r5, =0x0000080b
- adds r2, r1, r5
- ldrb r2, [r2]
- adds r0, r2
- subs r5, 0x1
- adds r1, r5
- ldrb r1, [r1]
- cmp r0, r1
- ble _08136308
- subs r0, r1, r2
- strh r0, [r3, 0x6]
-_08136308:
- adds r2, r3, 0
- ldrh r1, [r2, 0x6]
- ldrh r0, [r2, 0x4]
- adds r1, r0
- ldr r0, [r4]
- ldr r4, =0x0000080a
- adds r0, r4
- ldrb r0, [r0]
- cmp r1, r0
- blt _0813633C
- adds r1, r0, 0
- cmp r1, 0
- bne _08136338
- strh r1, [r2, 0x4]
- b _0813633C
- .pool
-_08136338:
- subs r0, 0x1
- strh r0, [r3, 0x4]
-_0813633C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81362E0
-
- thumb_func_start sub_8136344
-sub_8136344: @ 8136344
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203AB48
- ldrh r1, [r0, 0x4]
- adds r5, r0, 0
- cmp r1, 0x4
- bls _081363A4
- movs r4, 0
- ldrh r0, [r5, 0x4]
- subs r0, 0x4
- cmp r4, r0
- bge _081363A4
- ldrh r2, [r5, 0x6]
- ldr r6, =gUnknown_0203AB50
- ldr r0, [r6]
- ldr r3, =0x0000080b
- adds r1, r0, r3
- ldrb r1, [r1]
- adds r2, r1
- ldr r7, =0x0000080a
- adds r0, r7
- ldrb r0, [r0]
- cmp r2, r0
- beq _081363A4
- adds r3, r5, 0
-_08136374:
- ldrh r0, [r3, 0x4]
- subs r0, 0x1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x6]
- adds r0, 0x1
- strh r0, [r3, 0x6]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r3, 0x4]
- subs r0, 0x4
- cmp r4, r0
- bge _081363A4
- ldrh r2, [r5, 0x6]
- ldr r1, [r6]
- ldr r7, =0x0000080b
- adds r0, r1, r7
- ldrb r0, [r0]
- adds r2, r0
- ldr r0, =0x0000080a
- adds r1, r0
- ldrb r1, [r1]
- cmp r2, r1
- bne _08136374
-_081363A4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136344
-
- thumb_func_start sub_81363BC
-sub_81363BC: @ 81363BC
- push {r4,lr}
- sub sp, 0x10
- ldr r4, =gUnknown_0203AB50
- ldr r1, [r4]
- ldr r2, =0x00000e7c
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081363FC
- ldr r2, =0x0000080a
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- subs r0, r1
- str r0, [sp]
- ldr r0, =0x00000456
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_0203AB4E
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xB0
- movs r2, 0x8
- movs r3, 0x98
- bl AddScrollIndicatorArrowPairParametrized
- ldr r1, [r4]
- ldr r2, =0x00000e7c
- adds r1, r2
- strb r0, [r1]
-_081363FC:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81363BC
-
- thumb_func_start sub_8136418
-sub_8136418: @ 8136418
- push {r4,lr}
- ldr r4, =gUnknown_0203AB50
- ldr r0, [r4]
- ldr r2, =0x00000e7c
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _08136436
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r1, =0x00000e7c
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
-_08136436:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136418
-
- thumb_func_start sub_8136444
-sub_8136444: @ 8136444
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_085B2704
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8136444
-
- thumb_func_start sub_8136470
-sub_8136470: @ 8136470
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- ble _08136480
- movs r0, 0
- strh r0, [r4, 0x2E]
-_08136480:
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _0813648E
- cmp r5, 0x1
- beq _081364B4
- b _081364E0
-_0813648E:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_085B26F0
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x30]
- b _081364E0
- .pool
-_081364B4:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _081364E0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- strh r2, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_081364E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136470
-
- thumb_func_start sub_81364EC
-sub_81364EC: @ 81364EC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8136524
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81364EC
-
- thumb_func_start sub_8136524
-sub_8136524: @ 8136524
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r2, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081365BE
- ldr r6, =gUnknown_0203AB50
- ldr r0, [r6]
- ldr r1, =0x00000809
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0813655A
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
-_0813655A:
- ldrb r0, [r2]
- ldr r4, =gUnknown_0203AB4E
- subs r2, r4, 0x2
- adds r1, r4, 0
- bl sub_81AE6C8
- bl sub_8136418
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, [r6]
- movs r1, 0x80
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _081365A4
- bl SetMainCallback2
- b _081365AC
- .pool
-_081365A4:
- subs r0, r4, 0x6
- ldr r0, [r0]
- bl SetMainCallback2
-_081365AC:
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- bl Free
- adds r0, r5, 0
- bl DestroyTask
-_081365BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136524
-
- thumb_func_start sub_81365C8
-sub_81365C8: @ 81365C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- mov r8, r0
- ldr r0, =gTasks + 0x8
- mov r10, r0
- mov r6, r8
- add r6, r10
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081365F4
- b _08136708
-_081365F4:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08136602
- b _08136708
-_08136602:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0
- beq _08136688
- ldrb r0, [r6]
- ldr r4, =gUnknown_0203AB4E
- subs r2, r4, 0x2
- adds r1, r4, 0
- bl get_coro_args_x18_x1A
- subs r4, 0x6
- ldrh r1, [r4, 0x6]
- ldrh r0, [r4, 0x4]
- adds r1, r0
- ldr r5, =gUnknown_0203AB50
- ldr r0, [r5]
- ldr r2, =0x0000080a
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _08136708
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x4]
- ldr r1, =0x00002005
- bl sub_8136110
- ldrh r0, [r4, 0x4]
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x4]
- ldr r0, [r5]
- ldr r1, =0x00000e7d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r10
- subs r0, 0x8
- add r0, r8
- ldr r1, =sub_813671C
- str r1, [r0]
- b _08136708
- .pool
-_08136688:
- ldr r5, =gUnknown_0203AB48
- ldrh r2, [r5, 0x4]
- mov r8, r2
- ldrb r0, [r6]
- bl ListMenuHandleInput
- adds r4, r0, 0
- ldrb r0, [r6]
- adds r1, r5, 0x6
- adds r2, r5, 0x4
- bl get_coro_args_x18_x1A
- ldrh r0, [r5, 0x4]
- cmp r8, r0
- beq _081366B6
- mov r0, r8
- movs r1, 0x5
- bl sub_8136110
- ldrh r0, [r5, 0x4]
- ldr r1, =0x00001005
- bl sub_8136110
-_081366B6:
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _081366D0
- adds r0, 0x1
- cmp r4, r0
- bne _081366F8
- b _08136708
- .pool
-_081366D0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_Result
- ldr r2, =0x0000ffff
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_ItemId
- mov r1, r9
- strh r1, [r0]
- adds r0, r7, 0
- bl sub_81364EC
- b _08136708
- .pool
-_081366F8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_ItemId
- strh r4, [r0]
- adds r0, r7, 0
- bl sub_8136938
-_08136708:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81365C8
-
- thumb_func_start sub_813671C
-sub_813671C: @ 813671C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08136742
- b _08136848
-_08136742:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0813676C
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r7]
- ldr r1, =gUnknown_0203AB4E
- subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
- b _08136822
- .pool
-_0813676C:
- ldr r6, =gUnknown_0203AB48
- ldrh r4, [r6, 0x6]
- ldrh r5, [r6, 0x4]
- ldrb r0, [r7]
- bl ListMenuHandleInput
- mov r9, r0
- ldrb r0, [r7]
- adds r1, r6, 0x6
- adds r2, r6, 0x4
- bl get_coro_args_x18_x1A
- ldrh r0, [r6, 0x6]
- cmp r4, r0
- bne _08136790
- ldrh r6, [r6, 0x4]
- cmp r5, r6
- beq _081367CA
-_08136790:
- movs r4, 0
-_08136792:
- ldr r0, =gUnknown_0203AB48
- ldrh r0, [r0, 0x6]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- cmp r5, r0
- bne _081367B8
- adds r0, r4, 0
- ldr r1, =0x00002005
- bl sub_8136110
- b _081367C0
- .pool
-_081367B8:
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8136110
-_081367C0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x8
- bls _08136792
-_081367CA:
- ldr r5, =gUnknown_0203AB50
- ldr r0, [r5]
- ldr r4, =0x00000e75
- adds r0, r4
- movs r1, 0x7
- movs r2, 0
- bl sub_81223FC
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gUnknown_0203AB48
- ldrh r3, [r1, 0x4]
- lsls r3, 4
- adds r3, 0x8
- lsls r3, 16
- lsrs r3, 16
- movs r1, 0x7
- movs r2, 0x80
- bl sub_8122448
- movs r0, 0x2
- negs r0, r0
- cmp r9, r0
- beq _08136810
- adds r0, 0x1
- cmp r9, r0
- bne _0813683A
- b _08136848
- .pool
-_08136810:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08136830
-_08136822:
- mov r0, r8
- movs r1, 0
- bl sub_8136854
- b _08136848
- .pool
-_08136830:
- mov r0, r8
- movs r1, 0x1
- bl sub_8136854
- b _08136848
-_0813683A:
- movs r0, 0x5
- bl PlaySE
- mov r0, r8
- movs r1, 0
- bl sub_8136854
-_08136848:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_813671C
-
- thumb_func_start sub_8136854
-sub_8136854: @ 8136854
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r2, =gUnknown_0203AB48
- ldrh r0, [r2, 0x4]
- ldrh r1, [r2, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e7d
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r6]
- adds r1, r2, 0x6
- adds r2, 0x4
- bl sub_81AE6C8
- cmp r4, 0
- bne _081368AA
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- cmp r1, r5
- beq _081368BA
- subs r0, r5, 0x1
- cmp r1, r0
- beq _081368AA
- adds r0, r1, 0
- adds r1, r5, 0
- bl sub_81361B0
- bl sub_8135E2C
-_081368AA:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, r5
- bge _081368BA
- ldr r1, =gUnknown_0203AB48
- ldrh r0, [r1, 0x4]
- subs r0, 0x1
- strh r0, [r1, 0x4]
-_081368BA:
- ldr r0, =gUnknown_03006310
- ldr r2, =gUnknown_0203AB48
- ldrh r1, [r2, 0x6]
- ldrh r2, [r2, 0x4]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000e75
- adds r0, r1
- movs r1, 0x7
- movs r2, 0x1
- bl sub_81223FC
- movs r4, 0
- lsls r5, r7, 2
-_081368E6:
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8136110
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _081368E6
- ldr r0, =gUnknown_0203AB48
- ldrh r0, [r0, 0x4]
- ldr r1, =0x00001005
- bl sub_8136110
- ldr r1, =gTasks
- adds r0, r5, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81365C8
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136854
-
- thumb_func_start sub_8136938
-sub_8136938: @ 8136938
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r1, =0x00000808
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08136968
- movs r0, 0x8
- b _0813696A
- .pool
-_08136968:
- movs r0, 0x9
-_0813696A:
- strh r0, [r6, 0x2]
- bl sub_8136418
- ldrb r0, [r6, 0x2]
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl SetWindowBorderStyle
- ldrb r0, [r6, 0x2]
- ldr r5, =gUnknown_0203AB50
- ldr r3, [r5]
- ldr r4, =0x00000808
- adds r1, r3, r4
- ldrb r1, [r1]
- ldr r2, =gUnknown_085B2668
- mov r12, r2
- ldr r2, =0x00000804
- adds r3, r2
- ldr r3, [r3]
- mov r2, r12
- bl sub_81995E4
- ldrb r0, [r6, 0x2]
- ldr r1, [r5]
- adds r1, r4
- ldrb r1, [r1]
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldrb r0, [r6, 0x2]
- bl PutWindowTilemap
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81369E0
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136938
-
- thumb_func_start sub_81369E0
-sub_81369E0: @ 81369E0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08136A3C
- bl ProcessMenuInputNoWrapAround
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08136A3C
- adds r0, 0x1
- cmp r4, r0
- bne _08136A18
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_8136DE8
- b _08136A3C
-_08136A18:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gUnknown_085B2668
- ldr r0, =gUnknown_0203AB50
- ldr r0, [r0]
- ldr r2, =0x00000804
- adds r0, r2
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_08136A3C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81369E0
-
- thumb_func_start sub_8136A50
-sub_8136A50: @ 8136A50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203AB50
- ldr r1, [r1]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r2, =sub_8136A74
- str r2, [r1]
- bl sub_81364EC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136A50
-
- thumb_func_start sub_8136A74
-sub_8136A74: @ 8136A74
- push {lr}
- ldr r2, =gSaveBlock1Ptr
- ldr r0, =gSpecialVar_ItemId
- ldrh r1, [r0]
- lsls r1, 3
- ldr r0, =0x00000848
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, =sub_8136AA0
- bl sub_8166204
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136A74
-
- thumb_func_start sub_8136AA0
-sub_8136AA0: @ 8136AA0
- push {lr}
- ldr r0, =gUnknown_0203AB48
- ldr r1, [r0]
- movs r0, 0
- bl sub_81357FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136AA0
-
- thumb_func_start sub_8136AB4
-sub_8136AB4: @ 8136AB4
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- ldrb r0, [r0, 0x2]
- movs r1, 0
- bl sub_8198070
- ldr r0, =gStringVar1
- ldr r3, =gPokeblockNames
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- lsls r1, 3
- adds r2, r1
- ldr r1, =0x00000848
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
- ldr r5, =gStringVar4
- ldr r1, =gText_ThrowAwayVar1
- adds r0, r5, 0
- bl StringExpandPlaceholders
- bl sav2_get_text_speed
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- ldr r0, =sub_8136B48
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xA
- movs r3, 0xD
- bl DisplayMessageAndContinueTask
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136AB4
-
- thumb_func_start sub_8136B48
-sub_8136B48: @ 8136B48
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_085B27A8
- movs r2, 0x2
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0xE
- str r2, [sp, 0x8]
- ldr r2, =gUnknown_085B26A4
- str r2, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0
- bl CreateYesNoMenuWithCallbacks
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136B48
-
- thumb_func_start sub_8136B78
-sub_8136B78: @ 8136B78
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gStringVar4
- ldr r1, =gText_Var1ThrownAway
- adds r0, r5, 0
- bl StringExpandPlaceholders
- bl sav2_get_text_speed
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- ldr r0, =sub_8136BC0
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xA
- movs r3, 0xD
- bl DisplayMessageAndContinueTask
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136B78
-
- thumb_func_start sub_8136BC0
-sub_8136BC0: @ 8136BC0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08136C36
- ldr r0, =gSpecialVar_ItemId
- ldrb r0, [r0]
- bl sub_8136F68
- movs r0, 0x5
- bl PlaySE
- ldr r5, =gUnknown_0203AB4E
- subs r6, r5, 0x2
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4]
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_81AE6C8
- ldrh r0, [r6]
- movs r1, 0x5
- bl sub_8136110
- bl sub_813625C
- bl sub_81362E0
- bl sub_8135E2C
- ldr r0, =gUnknown_03006310
- ldrh r1, [r5]
- ldrh r2, [r6]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldrh r0, [r6]
- ldr r1, =0x00001005
- bl sub_8136110
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r7, 0
- bl sub_8136C54
-_08136C36:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136BC0
-
- thumb_func_start sub_8136C54
-sub_8136C54: @ 8136C54
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xA
- movs r1, 0
- bl sub_8197DF8
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- bl sub_81363BC
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81365C8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136C54
-
- thumb_func_start sub_8136C8C
-sub_8136C8C: @ 8136C8C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gEnemyParty
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSaveBlock1Ptr
- ldr r7, =gSpecialVar_ItemId
- ldrh r2, [r7]
- lsls r2, 3
- ldr r6, =0x00000848
- adds r2, r6
- ldr r1, [r5]
- adds r1, r2
- bl PokeblockGetGain
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gBattleTextBuff1
- ldr r3, =gPokeblockNames
- ldr r2, [r5]
- ldrh r1, [r7]
- lsls r1, 3
- adds r2, r1
- adds r2, r6
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
- ldrb r0, [r7]
- bl sub_8136F68
- ldr r1, [r5]
- ldrh r0, [r7]
- lsls r0, 3
- adds r1, r0
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 8
- strh r0, [r7]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0
- bne _08136D10
- adds r0, 0x1
- b _08136D1A
- .pool
-_08136D10:
- cmp r4, 0
- ble _08136D18
- adds r0, 0x2
- b _08136D1A
-_08136D18:
- adds r0, 0x3
-_08136D1A:
- strh r0, [r7]
- mov r0, r8
- bl sub_81364EC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8136C8C
-
- thumb_func_start sub_8136D2C
-sub_8136D2C: @ 8136D2C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gSpecialVar_ItemId
- ldrb r0, [r5]
- bl SafariZoneActivatePokeblockFeeder
- ldr r0, =gStringVar1
- ldr r3, =gPokeblockNames
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- ldrh r1, [r5]
- lsls r1, 3
- adds r2, r1
- ldr r1, =0x00000848
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
- ldr r1, =gSpecialVar_Result
- ldrh r0, [r5]
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8136F68
- movs r0, 0
- strh r0, [r5]
- adds r0, r4, 0
- bl sub_81364EC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136D2C
-
- thumb_func_start sub_8136D90
-sub_8136D90: @ 8136D90
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gSpecialVar_0x8004
- ldr r0, =gSaveBlock1Ptr
- ldr r5, =gSpecialVar_ItemId
- ldrh r1, [r5]
- lsls r1, 3
- ldr r2, =0x00000848
- adds r1, r2
- ldr r0, [r0]
- adds r0, r1
- bl sub_818E704
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
- ldr r1, =gSpecialVar_Result
- ldrh r0, [r5]
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8136F68
- movs r0, 0
- strh r0, [r5]
- adds r0, r4, 0
- bl sub_81364EC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136D90
-
- thumb_func_start sub_8136DE8
-sub_8136DE8: @ 8136DE8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r0, r4, r5
- ldrb r0, [r0, 0x2]
- movs r1, 0
- bl sub_8198070
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- bl sub_81363BC
- subs r5, 0x8
- adds r4, r5
- ldr r0, =sub_81365C8
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136DE8
-
- thumb_func_start sub_8136E20
-sub_8136E20: @ 8136E20
- push {r4,lr}
- lsls r0, 24
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- lsrs r0, 21
- adds r1, r0
- ldr r2, =0x00000848
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- ldr r4, =0x00000849
- adds r1, r4
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- adds r4, 0x1
- adds r1, r4
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- adds r4, 0x1
- adds r1, r4
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- adds r4, 0x1
- adds r1, r4
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- adds r4, 0x1
- adds r1, r4
- strb r2, [r1]
- ldr r1, [r3]
- adds r1, r0
- ldr r0, =0x0000084e
- adds r1, r0
- strb r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8136E20
-
- thumb_func_start ClearPokeblocks
-ClearPokeblocks: @ 8136E88
- push {r4,lr}
- movs r4, 0
-_08136E8C:
- adds r0, r4, 0
- bl sub_8136E20
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x27
- bls _08136E8C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ClearPokeblocks
-
- thumb_func_start sub_8136EA4
-sub_8136EA4: @ 8136EA4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8136F9C
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x1
-_08136EB4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8136F9C
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _08136ECC
- adds r5, r0, 0
-_08136ECC:
- adds r1, r4, 0
- cmp r1, 0x4
- bls _08136EB4
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8136EA4
-
- thumb_func_start sub_8136EDC
-sub_8136EDC: @ 8136EDC
- push {lr}
- movs r1, 0x6
- bl sub_8136F9C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _08136EEE
- movs r0, 0x63
-_08136EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8136EDC
-
- thumb_func_start sub_8136EF4
-sub_8136EF4: @ 8136EF4
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r3, =0x00000848
-_08136EFE:
- lsls r0, r1, 3
- adds r0, r2, r0
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08136F18
- lsls r0, r1, 24
- asrs r0, 24
- b _08136F26
- .pool
-_08136F18:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x27
- bls _08136EFE
- movs r0, 0x1
- negs r0, r0
-_08136F26:
- pop {r1}
- bx r1
- thumb_func_end sub_8136EF4
-
- thumb_func_start sub_8136F2C
-sub_8136F2C: @ 8136F2C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8136EF4
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08136F60
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r0, r1, 3
- ldr r1, =0x00000848
- adds r2, r1
- adds r2, r0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x1
- b _08136F62
- .pool
-_08136F60:
- movs r0, 0
-_08136F62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8136F2C
-
- thumb_func_start sub_8136F68
-sub_8136F68: @ 8136F68
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r2, 3
- adds r0, r1
- ldr r1, =0x00000848
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08136F94
- adds r0, r2, 0
- bl sub_8136E20
- movs r0, 0x1
- b _08136F96
- .pool
-_08136F94:
- movs r0, 0
-_08136F96:
- pop {r1}
- bx r1
- thumb_func_end sub_8136F68
-
- thumb_func_start sub_8136F9C
-sub_8136F9C: @ 8136F9C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0
- bne _08136FAC
- ldrb r0, [r0]
- b _08136FDE
-_08136FAC:
- cmp r1, 0x1
- bne _08136FB4
- ldrb r0, [r0, 0x1]
- b _08136FDE
-_08136FB4:
- cmp r1, 0x2
- bne _08136FBC
- ldrb r0, [r0, 0x2]
- b _08136FDE
-_08136FBC:
- cmp r1, 0x3
- bne _08136FC4
- ldrb r0, [r0, 0x3]
- b _08136FDE
-_08136FC4:
- cmp r1, 0x4
- bne _08136FCC
- ldrb r0, [r0, 0x4]
- b _08136FDE
-_08136FCC:
- cmp r1, 0x5
- bne _08136FD4
- ldrb r0, [r0, 0x5]
- b _08136FDE
-_08136FD4:
- cmp r2, 0x6
- beq _08136FDC
- movs r0, 0
- b _08136FDE
-_08136FDC:
- ldrb r0, [r0, 0x6]
-_08136FDE:
- pop {r1}
- bx r1
- thumb_func_end sub_8136F9C
-
- thumb_func_start PokeblockGetGain
-PokeblockGetGain: @ 8136FE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r1
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- movs r4, 0
- ldr r1, =gPokeblockFlavorCompatibilityTable
- mov r9, r1
- lsls r1, r0, 2
- adds r7, r1, r0
-_08136FFE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- adds r1, r5, 0
- bl sub_8136F9C
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- ble _0813702A
- adds r0, r7, r4
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r1, r0
- lsls r0, r6, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
-_0813702A:
- adds r4, r5, 0
- cmp r4, 0x4
- bls _08136FFE
- lsls r0, r6, 16
- asrs r0, 16
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end PokeblockGetGain
-
- thumb_func_start sub_8137044
-sub_8137044: @ 8137044
- push {r4,lr}
- adds r4, r1, 0
- movs r1, 0
- bl sub_8136F9C
- lsls r0, 24
- ldr r1, =gPokeblockNames
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137044
-
- thumb_func_start sub_8137068
-sub_8137068: @ 8137068
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r7, =gPokeblockNames
-_08137074:
- lsls r1, r4, 3
- ldr r0, =gUnknown_085B2720
- adds r1, r0
- adds r0, r5, 0
- bl PokeblockGetGain
- lsls r0, 16
- cmp r0, 0
- ble _081370A0
- adds r0, r4, 0x1
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- movs r0, 0x1
- b _081370AC
- .pool
-_081370A0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08137074
- movs r0, 0
-_081370AC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8137068
-
- thumb_func_start sub_81370B4
-sub_81370B4: @ 81370B4
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- movs r6, 0
-_081370BC:
- adds r1, r7, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_8136F9C
- adds r4, r0, 0
- adds r1, r6, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_8136F9C
- lsls r4, 16
- lsls r0, 16
- lsls r1, r6, 16
- cmp r4, r0
- bge _081370E2
- lsrs r7, r1, 16
-_081370E2:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r1, r2
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081370BC
- lsls r0, r7, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81370B4
-
- thumb_func_start sub_81370FC
-sub_81370FC: @ 81370FC
- push {r4,lr}
- bl ShouldDoBrailleFlyEffect
- lsls r0, 24
- cmp r0, 0
- beq _08137134
- ldr r4, =gSpecialVar_Result
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_8179918
- b _08137152
- .pool
-_08137134:
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _08137170
- ldr r0, =0x00000888
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08137170
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_flash
-_08137152:
- str r0, [r1]
- movs r0, 0x1
- b _08137172
- .pool
-_08137170:
- movs r0, 0
-_08137172:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81370FC
-
- thumb_func_start hm2_flash
-hm2_flash: @ 8137178
- push {r4,lr}
- bl oei_task_add
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, =sub_81371B4
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_flash
-
- thumb_func_start sub_81371B4
-sub_81371B4: @ 81371B4
- push {lr}
- movs r0, 0xCF
- bl PlaySE
- ldr r0, =0x00000888
- bl FlagSet
- ldr r0, =EventScript_2926F8
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81371B4
-
- thumb_func_start sub_81371D4
-sub_81371D4: @ 81371D4
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81371D4
-
- thumb_func_start sub_81371EC
-sub_81371EC: @ 81371EC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81371EC
-
- thumb_func_start c2_change_map
-c2_change_map: @ 8137200
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r4, [r0]
- str r0, [r1]
- ldr r0, =0x05000002
- str r0, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- ldr r3, =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, =sub_81371EC
- bl SetVBlankCallback
- ldr r0, =sub_81371D4
- bl SetMainCallback2
- bl sub_8137304
- lsls r0, 24
- cmp r0, 0
- bne _081372D2
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_081372D2:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_change_map
-
- thumb_func_start sub_8137304
-sub_8137304: @ 8137304
- push {r4-r7,lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r6, r0, 24
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r4, =gUnknown_085B27C8
- ldrb r0, [r4]
- cmp r0, 0
- beq _08137358
- adds r7, r4, 0
- adds r0, r4, 0x4
- mov r12, r0
-_08137326:
- lsls r2, r3, 3
- adds r1, r2, r7
- ldrb r0, [r1]
- cmp r0, r6
- bne _08137348
- ldrb r0, [r1, 0x1]
- cmp r0, r5
- bne _08137348
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- bl _call_via_r0
- movs r0, 0x1
- b _0813735A
- .pool
-_08137348:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08137326
-_08137358:
- movs r0, 0
-_0813735A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8137304
-
- thumb_func_start sub_8137360
-sub_8137360: @ 8137360
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, =gUnknown_085B27C8
- ldrb r0, [r1]
- cmp r0, 0
- beq _081373A0
- adds r6, r1, 0
-_08137376:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _08137390
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _08137390
- ldrb r0, [r2, 0x2]
- b _081373A2
- .pool
-_08137390:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08137376
-_081373A0:
- movs r0, 0
-_081373A2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8137360
-
- thumb_func_start fade_type_for_given_maplight_pair
-fade_type_for_given_maplight_pair: @ 81373A8
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, =gUnknown_085B27C8
- ldrb r0, [r1]
- cmp r0, 0
- beq _081373E8
- adds r6, r1, 0
-_081373BE:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _081373D8
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _081373D8
- ldrb r0, [r2, 0x3]
- b _081373EA
- .pool
-_081373D8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081373BE
-_081373E8:
- movs r0, 0
-_081373EA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end fade_type_for_given_maplight_pair
-
- thumb_func_start sub_81373F0
-sub_81373F0: @ 81373F0
- push {lr}
- ldr r0, =sub_8137404
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81373F0
-
- thumb_func_start sub_8137404
-sub_8137404: @ 8137404
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_8137420
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8137404
-
- thumb_func_start sub_8137420
-sub_8137420: @ 8137420
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gUnknown_085B2A90
- ldr r1, =0x0600c000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085B28B0
- ldr r1, =0x0600f800
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085B2850
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085B28A0
- movs r1, 0xE0
- movs r2, 0x10
- bl LoadPalette
- ldr r1, =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001f0c
- movs r0, 0x8
- bl SetGpuReg
- movs r1, 0x8A
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81374C4
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137420
-
- thumb_func_start sub_81374C4
-sub_81374C4: @ 81374C4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r4, [r5, 0xA]
- movs r0, 0x80
- lsls r0, 5
- adds r1, r4, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- cmp r4, 0x10
- bhi _081374F8
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _08137500
- .pool
-_081374F8:
- movs r0, 0
- strh r0, [r5, 0xC]
- ldr r0, =sub_813750C
- str r0, [r5]
-_08137500:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81374C4
-
- thumb_func_start sub_813750C
-sub_813750C: @ 813750C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =0x00001010
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xC]
- cmp r1, 0x7
- bhi _08137554
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 1
- ldr r0, =gUnknown_085B28A0
- adds r0, r1, r0
- movs r2, 0x10
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _08137566
- .pool
-_08137554:
- ldr r0, =gUnknown_085B2850
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =sub_8137574
- str r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_08137566:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813750C
-
- thumb_func_start sub_8137574
-sub_8137574: @ 8137574
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08137598
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _081375A0
- .pool
-_08137598:
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_081375A0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137574
-
- thumb_func_start sub_81375A8
-sub_81375A8: @ 81375A8
- push {lr}
- ldr r0, =sub_81375BC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81375A8
-
- thumb_func_start sub_81375BC
-sub_81375BC: @ 81375BC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_81375D8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81375BC
-
- thumb_func_start sub_81375D8
-sub_81375D8: @ 81375D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gUnknown_085B2A90
- ldr r1, =0x0600c000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085B28B0
- ldr r1, =0x0600f800
- bl LZ77UnCompVram
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001f0c
- movs r0, 0x8
- bl SetGpuReg
- movs r1, 0x8A
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_085B2850
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085B2870
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8137678
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- strh r2, [r0, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81375D8
-
- thumb_func_start sub_8137678
-sub_8137678: @ 8137678
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- cmp r1, 0xF
- bhi _081376B4
- adds r2, r1, 0x1
- adds r0, r2, 0x1
- strh r0, [r4, 0xC]
- movs r0, 0xF
- subs r0, r1
- lsls r0, 1
- ldr r1, =gUnknown_085B2890
- adds r0, r1
- lsls r2, 17
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _081376C8
- .pool
-_081376B4:
- ldr r1, =0x00001010
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- ldr r0, =sub_81376DC
- str r0, [r4]
-_081376C8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137678
-
- thumb_func_start sub_81376DC
-sub_81376DC: @ 81376DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r0, [r5, 0xA]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 21
- adds r1, r0
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- cmp r4, 0
- beq _08137714
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _08137726
- .pool
-_08137714:
- ldr r0, =gUnknown_085B2870
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_08137726:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81376DC
-
- thumb_func_start sub_8137734
-sub_8137734: @ 8137734
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x1C
- bl sp000_heal_pokemon
- ldr r4, =0x00000864
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _08137760
- ldr r0, =gHasHallOfFameRecords
- strb r1, [r0]
- b _0813776C
- .pool
-_08137760:
- ldr r1, =gHasHallOfFameRecords
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl FlagSet
-_0813776C:
- movs r0, 0x1
- bl GetGameStat
- cmp r0, 0
- bne _0813778E
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrh r1, [r2, 0xE]
- lsls r1, 16
- ldrb r0, [r2, 0x10]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x11]
- orrs r1, r0
- movs r0, 0x1
- bl sav12_xor_set
-_0813778E:
- bl sub_8076D48
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _081377AC
- movs r0, 0x1
- bl sub_8084F6C
- b _081377B2
- .pool
-_081377AC:
- movs r0, 0x2
- bl sub_8084F6C
-_081377B2:
- movs r7, 0
- movs r6, 0
- add r0, sp, 0x18
- mov r8, r0
- mov r5, sp
-_081377BC:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- movs r0, 0
- strb r6, [r5]
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _0813780A
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _0813780A
- adds r0, r4, 0
- movs r1, 0x43
- bl GetMonData
- cmp r0, 0
- bne _0813780A
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x43
- add r2, sp, 0x18
- bl SetMonData
- adds r0, r4, 0
- bl GetRibbonCount
- strb r0, [r5, 0x1]
- movs r7, 0x1
-_0813780A:
- adds r5, 0x4
- adds r6, 0x1
- cmp r6, 0x5
- ble _081377BC
- cmp r7, 0x1
- bne _0813785A
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, =0x0000089b
- bl FlagSet
- mov r3, sp
- add r2, sp, 0x4
- movs r6, 0x4
-_08137828:
- ldrb r1, [r3, 0x1]
- ldrb r0, [r2, 0x1]
- cmp r0, r1
- bls _08137838
- ldr r1, [sp]
- ldr r0, [r2]
- str r0, [sp]
- str r1, [r2]
-_08137838:
- adds r2, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _08137828
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bls _0813785A
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x43
- bl sub_80EE4DC
-_0813785A:
- ldr r0, =CB2_DoHallOfFameScreen
- bl SetMainCallback2
- movs r0, 0
- add sp, 0x1C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8137734
-
- thumb_func_start sp0C8_whiteout_maybe
-sp0C8_whiteout_maybe: @ 813787C
- push {lr}
- ldr r0, =c2_whiteout
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sp0C8_whiteout_maybe
-
- thumb_func_start sub_8137890
-sub_8137890: @ 8137890
- push {r4,lr}
- ldr r0, =0x00004024
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004025
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8137890
-
- thumb_func_start sub_81378BC
-sub_81378BC: @ 81378BC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x00004024
- lsrs r1, r4, 16
- bl VarSet
- ldr r0, =0x00004025
- lsls r4, 16
- lsrs r4, 16
- adds r1, r4, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81378BC
-
- thumb_func_start sub_81378E4
-sub_81378E4: @ 81378E4
- push {r4,lr}
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsls r0, 16
- lsrs r0, 16
- orrs r4, r0
- adds r0, r4, 0
- bl sub_81378BC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81378E4
-
- thumb_func_start sub_8137904
-sub_8137904: @ 8137904
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_8137890
- adds r1, r0, 0
- cmp r4, 0
- beq _08137928
- ldr r3, =0x41c64e6d
- ldr r2, =0x00003039
-_08137918:
- adds r0, r1, 0
- muls r0, r3
- adds r1, r0, r2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _08137918
-_08137928:
- adds r0, r1, 0
- bl sub_81378BC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137904
-
- thumb_func_start sub_813793C
-sub_813793C: @ 813793C
- push {r4-r6,lr}
- bl sub_8137890
- lsrs r6, r0, 16
- movs r5, 0
-_08137946:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08137978
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldr r1, =0x0000ffff
- ands r1, r0
- cmp r1, r6
- bne _08137978
- movs r0, 0x1
- b _08137980
- .pool
-_08137978:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08137946
- movs r0, 0
-_08137980:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_813793C
-
- thumb_func_start sub_8137988
-sub_8137988: @ 8137988
- push {lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- cmp r0, 0
- beq _081379CE
- bl RtcCalcLocalTime
- ldr r1, =gUnknown_085B2B44
- ldr r0, =gLocalTime
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081379C8
- ldr r0, =0x0000089a
- bl FlagSet
- b _081379CE
- .pool
-_081379C8:
- ldr r0, =0x0000089a
- bl FlagClear
-_081379CE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137988
-
- thumb_func_start sub_81379D8
-sub_81379D8: @ 81379D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AC3BC
- lsls r0, 24
- cmp r0, 0
- beq _081379F2
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_081379F2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81379D8
-
- thumb_func_start sub_81379F8
-sub_81379F8: @ 81379F8
- push {lr}
- ldr r0, =sub_81379D8
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81379F8
-
- thumb_func_start sub_8137A0C
-sub_8137A0C: @ 8137A0C
- push {lr}
- ldr r0, =0x00004049
- bl GetVarPointer
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137A0C
-
- thumb_func_start sub_8137A20
-sub_8137A20: @ 8137A20
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004049
- bl GetVarPointer
- adds r5, r0, 0
- ldrh r0, [r5]
- adds r4, r0
- strh r4, [r5]
- ldrh r0, [r5]
- movs r1, 0x7
- bl __umodsi3
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137A20
-
- thumb_func_start sub_8137A4C
-sub_8137A4C: @ 8137A4C
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _08137A70
- movs r0, 0
- bl sub_80C0844
- ldr r1, =gSpecialVar_0x8005
- strh r0, [r1]
- movs r0, 0x1
- bl sub_80C0844
- b _08137A80
- .pool
-_08137A70:
- movs r0, 0
- bl pokedex_count
- ldr r1, =gSpecialVar_0x8005
- strh r0, [r1]
- movs r0, 0x1
- bl pokedex_count
-_08137A80:
- ldr r1, =gSpecialVar_0x8006
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8137A4C
-
- thumb_func_start sub_8137A98
-sub_8137A98: @ 8137A98
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x9
- bhi _08137AA4
- b _08137BFC
-_08137AA4:
- cmp r0, 0x13
- bhi _08137AB0
- ldr r0, =gUnknown_082A5DAB
- b _08137C06
- .pool
-_08137AB0:
- cmp r0, 0x1D
- bhi _08137ABC
- ldr r0, =gUnknown_082A5DF1
- b _08137C06
- .pool
-_08137ABC:
- cmp r0, 0x27
- bhi _08137AC8
- ldr r0, =gUnknown_082A5E34
- b _08137C06
- .pool
-_08137AC8:
- cmp r0, 0x31
- bhi _08137AD4
- ldr r0, =gUnknown_082A5E83
- b _08137C06
- .pool
-_08137AD4:
- cmp r0, 0x3B
- bhi _08137AE0
- ldr r0, =gUnknown_082A5EB9
- b _08137C06
- .pool
-_08137AE0:
- cmp r0, 0x45
- bhi _08137AEC
- ldr r0, =gUnknown_082A5EF4
- b _08137C06
- .pool
-_08137AEC:
- cmp r0, 0x4F
- bhi _08137AF8
- ldr r0, =gUnknown_082A5F39
- b _08137C06
- .pool
-_08137AF8:
- cmp r0, 0x59
- bhi _08137B04
- ldr r0, =gUnknown_082A5F82
- b _08137C06
- .pool
-_08137B04:
- cmp r0, 0x63
- bhi _08137B10
- ldr r0, =gUnknown_082A5FB9
- b _08137C06
- .pool
-_08137B10:
- cmp r0, 0x6D
- bhi _08137B1C
- ldr r0, =gUnknown_082A6018
- b _08137C06
- .pool
-_08137B1C:
- cmp r0, 0x77
- bhi _08137B28
- ldr r0, =gUnknown_082A6061
- b _08137C06
- .pool
-_08137B28:
- cmp r0, 0x81
- bhi _08137B34
- ldr r0, =gUnknown_082A609C
- b _08137C06
- .pool
-_08137B34:
- cmp r0, 0x8B
- bhi _08137B40
- ldr r0, =gUnknown_082A60D5
- b _08137C06
- .pool
-_08137B40:
- cmp r0, 0x95
- bhi _08137B4C
- ldr r0, =gUnknown_082A6124
- b _08137C06
- .pool
-_08137B4C:
- cmp r0, 0x9F
- bhi _08137B58
- ldr r0, =gUnknown_082A616F
- b _08137C06
- .pool
-_08137B58:
- cmp r0, 0xA9
- bhi _08137B64
- ldr r0, =gUnknown_082A61D6
- b _08137C06
- .pool
-_08137B64:
- cmp r0, 0xB3
- bhi _08137B70
- ldr r0, =gUnknown_082A623A
- b _08137C06
- .pool
-_08137B70:
- cmp r0, 0xBD
- bhi _08137B7C
- ldr r0, =gUnknown_082A6287
- b _08137C06
- .pool
-_08137B7C:
- cmp r0, 0xC7
- bls _08137BEA
- cmp r0, 0xC8
- bne _08137BB8
- ldr r0, =0x00000199
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _08137BEA
- movs r0, 0xCD
- lsls r0, 1
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _08137BEA
- b _08137C04
- .pool
-_08137BB8:
- cmp r0, 0xC9
- bne _08137BF8
- ldr r0, =0x00000199
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _08137C04
- movs r0, 0xCD
- lsls r0, 1
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _08137C04
-_08137BEA:
- ldr r0, =gUnknown_082A62C9
- b _08137C06
- .pool
-_08137BF8:
- cmp r0, 0xCA
- beq _08137C04
-_08137BFC:
- ldr r0, =gUnknown_082A5D6C
- b _08137C06
- .pool
-_08137C04:
- ldr r0, =gUnknown_082A6312
-_08137C06:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8137A98
-
- thumb_func_start sub_8137C10
-sub_8137C10: @ 8137C10
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_8137A98
- bl ShowFieldMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137C10
-
- thumb_func_start sub_8137C28
-sub_8137C28: @ 8137C28
- push {lr}
- ldr r0, =CB2_DoHallOfFamePC
- bl SetMainCallback2
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137C28
-
- thumb_func_start sub_8137C3C
-sub_8137C3C: @ 8137C3C
- push {lr}
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- ldr r1, =gFieldCallback
- ldr r0, =mapldr_080CA5C0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137C3C
-
- thumb_func_start mapldr_080CA5C0
-mapldr_080CA5C0: @ 8137C5C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- bl sub_8085784
- bl sp109_CreatePCMenu
- bl sub_80E2514
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_8137C94
- movs r1, 0xA
- bl CreateTask
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080CA5C0
-
- thumb_func_start sub_8137C94
-sub_8137C94: @ 8137C94
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08137CAC
- adds r0, r2, 0
- bl DestroyTask
-_08137CAC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8137C94
-
- thumb_func_start sub_8137CB4
-sub_8137CB4: @ 8137CB4
+ thumb_func_start Special_ShowDiploma
+Special_ShowDiploma: @ 8137CB4
push {lr}
ldr r0, =CB2_ShowDiploma
bl SetMainCallback2
@@ -4711,13 +14,13 @@ sub_8137CB4: @ 8137CB4
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137CB4
+ thumb_func_end Special_ShowDiploma
thumb_func_start Special_ViewWallClock
Special_ViewWallClock: @ 8137CC8
push {lr}
ldr r0, =gMain
- ldr r1, =c2_exit_to_overworld_2_switch
+ ldr r1, =CB2_ReturnToField
str r1, [r0, 0x8]
ldr r0, =Cb2_ViewWallClock
bl SetMainCallback2
@@ -4727,26 +30,26 @@ Special_ViewWallClock: @ 8137CC8
.pool
thumb_func_end Special_ViewWallClock
- thumb_func_start wild_pokemon_reroll
-wild_pokemon_reroll: @ 8137CEC
- ldr r0, =gUnknown_0203AB54
+ thumb_func_start ResetCyclingRoadChallengeData
+ResetCyclingRoadChallengeData: @ 8137CEC
+ ldr r0, =gBikeCyclingChallenge
movs r1, 0
strb r1, [r0]
- ldr r0, =gUnknown_0203AB55
+ ldr r0, =0x0203ab55
strb r1, [r0]
ldr r1, =gUnknown_0203AB58
movs r0, 0
str r0, [r1]
bx lr
.pool
- thumb_func_end wild_pokemon_reroll
+ thumb_func_end ResetCyclingRoadChallengeData
- thumb_func_start sub_8137D0C
-sub_8137D0C: @ 8137D0C
- ldr r1, =gUnknown_0203AB54
+ thumb_func_start Special_BeginCyclingRoadChallenge
+Special_BeginCyclingRoadChallenge: @ 8137D0C
+ ldr r1, =gBikeCyclingChallenge
movs r0, 0x1
strb r0, [r1]
- ldr r1, =gUnknown_0203AB55
+ ldr r1, =0x0203ab55
movs r0, 0
strb r0, [r1]
ldr r1, =gUnknown_0203AB58
@@ -4755,10 +58,10 @@ sub_8137D0C: @ 8137D0C
str r0, [r1]
bx lr
.pool
- thumb_func_end sub_8137D0C
+ thumb_func_end Special_BeginCyclingRoadChallenge
- thumb_func_start sp0E3_walkrun_bitfield_interpretation
-sp0E3_walkrun_bitfield_interpretation: @ 8137D34
+ thumb_func_start GetPlayerAvatarBike
+GetPlayerAvatarBike: @ 8137D34
push {lr}
movs r0, 0x4
bl TestPlayerAvatarFlags
@@ -4780,10 +83,10 @@ _08137D56:
_08137D58:
pop {r1}
bx r1
- thumb_func_end sp0E3_walkrun_bitfield_interpretation
+ thumb_func_end GetPlayerAvatarBike
- thumb_func_start sub_8137D5C
-sub_8137D5C: @ 8137D5C
+ thumb_func_start DetermineCyclingRoadResults
+DetermineCyclingRoadResults: @ 8137D5C
push {r4-r7,lr}
adds r7, r0, 0
lsls r1, 24
@@ -4905,31 +208,31 @@ _08137E5C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137D5C
+ thumb_func_end DetermineCyclingRoadResults
- thumb_func_start sub_8137E6C
-sub_8137E6C: @ 8137E6C
+ thumb_func_start FinishCyclingRoadChallenge
+FinishCyclingRoadChallenge: @ 8137E6C
push {r4,r5,lr}
ldr r0, =gMain
ldr r1, =gUnknown_0203AB58
ldr r4, [r0, 0x20]
ldr r0, [r1]
subs r4, r0
- ldr r5, =gUnknown_0203AB55
+ ldr r5, =0x0203ab55
ldrb r1, [r5]
adds r0, r4, 0
- bl sub_8137D5C
+ bl DetermineCyclingRoadResults
ldrb r1, [r5]
adds r0, r4, 0
- bl sub_8137E9C
+ bl RecordCyclingRoadResults
pop {r4,r5}
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137E6C
+ thumb_func_end FinishCyclingRoadChallenge
- thumb_func_start sub_8137E9C
-sub_8137E9C: @ 8137E9C
+ thumb_func_start RecordCyclingRoadResults
+RecordCyclingRoadResults: @ 8137E9C
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -4970,10 +273,10 @@ _08137EE6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137E9C
+ thumb_func_end RecordCyclingRoadResults
- thumb_func_start sub_8137EFC
-sub_8137EFC: @ 8137EFC
+ thumb_func_start GetRecordedCyclingRoadResults
+GetRecordedCyclingRoadResults: @ 8137EFC
push {r4,lr}
ldr r0, =0x00004028
bl VarGet
@@ -4992,7 +295,7 @@ sub_8137EFC: @ 8137EFC
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl sub_8137D5C
+ bl DetermineCyclingRoadResults
movs r0, 0x1
b _08137F3E
.pool
@@ -5002,10 +305,10 @@ _08137F3E:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8137EFC
+ thumb_func_end GetRecordedCyclingRoadResults
- thumb_func_start sub_8137F44
-sub_8137F44: @ 8137F44
+ thumb_func_start UpdateCyclingRoadState
+UpdateCyclingRoadState: @ 8137F44
push {r4,lr}
ldr r0, =gUnknown_020322DC
ldrh r1, [r0]
@@ -5036,10 +339,10 @@ _08137F7C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137F44
+ thumb_func_end UpdateCyclingRoadState
- thumb_func_start sub_8137F90
-sub_8137F90: @ 8137F90
+ thumb_func_start SetSSTidalFlag
+SetSSTidalFlag: @ 8137F90
push {lr}
ldr r0, =0x0000088d
bl FlagSet
@@ -5050,17 +353,17 @@ sub_8137F90: @ 8137F90
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137F90
+ thumb_func_end SetSSTidalFlag
- thumb_func_start sub_8137FB0
-sub_8137FB0: @ 8137FB0
+ thumb_func_start ResetSSTidalFlag
+ResetSSTidalFlag: @ 8137FB0
push {lr}
ldr r0, =0x0000088d
bl FlagClear
pop {r0}
bx r0
.pool
- thumb_func_end sub_8137FB0
+ thumb_func_end ResetSSTidalFlag
thumb_func_start CountSSTidalStep
CountSSTidalStep: @ 8137FC0
@@ -5390,8 +693,8 @@ _0813823A:
bx r1
thumb_func_end sub_81381F8
- thumb_func_start sub_8138240
-sub_8138240: @ 8138240
+ thumb_func_start GetLinkPartnerNames
+GetLinkPartnerNames: @ 8138240
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -5436,10 +739,10 @@ _0813828A:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8138240
+ thumb_func_end GetLinkPartnerNames
- thumb_func_start SpawnLinkPartnerFieldObject
-SpawnLinkPartnerFieldObject: @ 81382A0
+ thumb_func_start SpawnLinkPartnerEventObject
+SpawnLinkPartnerEventObject: @ 81382A0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -5463,7 +766,7 @@ SpawnLinkPartnerFieldObject: @ 81382A0
lsls r0, 24
lsrs r0, 24
mov r10, r0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -5609,7 +912,7 @@ _0813839C:
adds r0, r5, 0
adds r2, r4, 0
mov r3, r12
- bl SpawnSpecialFieldObjectParametrized
+ bl SpawnSpecialEventObjectParameterized
adds r0, r5, 0
adds r1, r4, 0
adds r2, r6, 0
@@ -5638,7 +941,7 @@ _08138410:
pop {r0}
bx r0
.pool
- thumb_func_end SpawnLinkPartnerFieldObject
+ thumb_func_end SpawnLinkPartnerEventObject
thumb_func_start sub_813842C
sub_813842C: @ 813842C
@@ -5668,12 +971,12 @@ _08138454:
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
adds r0, r3, 0
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x10
beq _081384E6
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r0, r2, 3
adds r0, r2
lsls r0, 2
@@ -5705,15 +1008,15 @@ _081384A8:
beq _081384BC
b _081384E6
_081384B2:
- ldr r0, =gFieldObjectPalette33
+ ldr r0, =gEventObjectPalette33
b _081384C6
.pool
_081384BC:
- ldr r0, =gFieldObjectPalette34
+ ldr r0, =gEventObjectPalette34
b _081384C6
.pool
_081384C4:
- ldr r0, =gFieldObjectPalette8
+ ldr r0, =gEventObjectPalette8
_081384C6:
movs r2, 0x80
lsls r2, 1
@@ -5723,7 +1026,7 @@ _081384C6:
b _081384E6
.pool
_081384D8:
- ldr r0, =gFieldObjectPalette17
+ ldr r0, =gEventObjectPalette17
movs r2, 0x80
lsls r2, 1
adds r1, r3, r2
@@ -5736,8 +1039,8 @@ _081384E6:
.pool
thumb_func_end sub_813842C
- thumb_func_start sub_81384F0
-sub_81384F0: @ 81384F0
+ thumb_func_start MauvilleGymSpecial1
+MauvilleGymSpecial1: @ 81384F0
push {r4,r5,lr}
movs r4, 0
ldr r5, =gUnknown_085B2B68
@@ -5771,10 +1074,10 @@ _0813852A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81384F0
+ thumb_func_end MauvilleGymSpecial1
- thumb_func_start sub_8138540
-sub_8138540: @ 8138540
+ thumb_func_start MauvilleGymSpecial2
+MauvilleGymSpecial2: @ 8138540
push {r4-r6,lr}
movs r5, 0xC
_08138544:
@@ -5985,10 +1288,10 @@ _08138744:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138540
+ thumb_func_end MauvilleGymSpecial2
- thumb_func_start sub_8138750
-sub_8138750: @ 8138750
+ thumb_func_start MauvilleGymSpecial3
+MauvilleGymSpecial3: @ 8138750
push {r4-r6,lr}
ldr r4, =gUnknown_085B2B68
movs r5, 0x3
@@ -6140,10 +1443,10 @@ _081388DA:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138750
+ thumb_func_end MauvilleGymSpecial3
- thumb_func_start sub_81388E4
-sub_81388E4: @ 81388E4
+ thumb_func_start PetalburgGymSpecial1
+PetalburgGymSpecial1: @ 81388E4
push {lr}
ldr r0, =gUnknown_0203AB5C
movs r1, 0
@@ -6152,16 +1455,16 @@ sub_81388E4: @ 81388E4
strb r1, [r0]
movs r0, 0x2C
bl PlaySE
- ldr r0, =sub_8138910
+ ldr r0, =Task_PetalburgGym
movs r1, 0x8
bl CreateTask
pop {r0}
bx r0
.pool
- thumb_func_end sub_81388E4
+ thumb_func_end PetalburgGymSpecial1
- thumb_func_start sub_8138910
-sub_8138910: @ 8138910
+ thumb_func_start Task_PetalburgGym
+Task_PetalburgGym: @ 8138910
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
@@ -6180,7 +1483,7 @@ sub_8138910: @ 8138910
lsls r1, 1
adds r1, r2
ldrh r1, [r1]
- bl sub_8138978
+ bl PetalburgGymFunc
movs r0, 0
strb r0, [r4]
ldrb r0, [r5]
@@ -6202,10 +1505,10 @@ _08138970:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8138910
+ thumb_func_end Task_PetalburgGym
- thumb_func_start sub_8138978
-sub_8138978: @ 8138978
+ thumb_func_start PetalburgGymFunc
+PetalburgGymFunc: @ 8138978
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -6359,33 +1662,33 @@ _08138A92:
pop {r4-r7}
pop {r0}
bx r0
- thumb_func_end sub_8138978
+ thumb_func_end PetalburgGymFunc
- thumb_func_start sub_8138AA4
-sub_8138AA4: @ 8138AA4
+ thumb_func_start PetalburgGymSpecial2
+PetalburgGymSpecial2: @ 8138AA4
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrb r0, [r0]
ldr r1, =gUnknown_085B2B7E
ldrh r1, [r1, 0x8]
- bl sub_8138978
+ bl PetalburgGymFunc
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138AA4
+ thumb_func_end PetalburgGymSpecial2
- thumb_func_start sub_8138AC0
-sub_8138AC0: @ 8138AC0
+ thumb_func_start ShowFieldMessageStringVar4
+ShowFieldMessageStringVar4: @ 8138AC0
push {lr}
ldr r0, =gStringVar4
bl ShowFieldMessage
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138AC0
+ thumb_func_end ShowFieldMessageStringVar4
- thumb_func_start sub_8138AD0
-sub_8138AD0: @ 8138AD0
+ thumb_func_start StorePlayerCoordsInVars
+StorePlayerCoordsInVars: @ 8138AD0
ldr r1, =gSpecialVar_0x8004
ldr r0, =gSaveBlock1Ptr
ldr r2, [r0]
@@ -6396,10 +1699,10 @@ sub_8138AD0: @ 8138AD0
strh r0, [r1]
bx lr
.pool
- thumb_func_end sub_8138AD0
+ thumb_func_end StorePlayerCoordsInVars
- thumb_func_start sub_8138AF0
-sub_8138AF0: @ 8138AF0
+ thumb_func_start GetPlayerTrainerIdOnesDigit
+GetPlayerTrainerIdOnesDigit: @ 8138AF0
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -6414,10 +1717,10 @@ sub_8138AF0: @ 8138AF0
pop {r1}
bx r1
.pool
- thumb_func_end sub_8138AF0
+ thumb_func_end GetPlayerTrainerIdOnesDigit
- thumb_func_start sub_8138B10
-sub_8138B10: @ 8138B10
+ thumb_func_start GetPlayerBigGuyGirlString
+GetPlayerBigGuyGirlString: @ 8138B10
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -6437,10 +1740,10 @@ _08138B3C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138B10
+ thumb_func_end GetPlayerBigGuyGirlString
- thumb_func_start sub_8138B48
-sub_8138B48: @ 8138B48
+ thumb_func_start GetRivalSonDaughterString
+GetRivalSonDaughterString: @ 8138B48
push {lr}
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
@@ -6460,7 +1763,7 @@ _08138B74:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138B48
+ thumb_func_end GetRivalSonDaughterString
thumb_func_start sub_8138B80
sub_8138B80: @ 8138B80
@@ -6470,8 +1773,8 @@ sub_8138B80: @ 8138B80
.pool
thumb_func_end sub_8138B80
- thumb_func_start sub_8138B8C
-sub_8138B8C: @ 8138B8C
+ thumb_func_start CableCarWarp
+CableCarWarp: @ 8138B8C
push {lr}
sub sp, 0x4
ldr r0, =gSpecialVar_0x8004
@@ -6501,10 +1804,10 @@ _08138BC2:
add sp, 0x4
pop {r0}
bx r0
- thumb_func_end sub_8138B8C
+ thumb_func_end CableCarWarp
- thumb_func_start sub_8138BC8
-sub_8138BC8: @ 8138BC8
+ thumb_func_start SetFlagInVar
+SetFlagInVar: @ 8138BC8
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
@@ -6512,10 +1815,10 @@ sub_8138BC8: @ 8138BC8
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138BC8
+ thumb_func_end SetFlagInVar
- thumb_func_start sub_8138BDC
-sub_8138BDC: @ 8138BDC
+ thumb_func_start GetWeekCount
+GetWeekCount: @ 8138BDC
push {lr}
ldr r0, =gLocalTime
movs r1, 0
@@ -6532,10 +1835,10 @@ _08138BF6:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8138BDC
+ thumb_func_end GetWeekCount
- thumb_func_start sub_8138C04
-sub_8138C04: @ 8138C04
+ thumb_func_start GetLeadMonFriendshipScore
+GetLeadMonFriendshipScore: @ 8138C04
push {r4,lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -6598,32 +1901,32 @@ _08138C7E:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8138C04
+ thumb_func_end GetLeadMonFriendshipScore
- thumb_func_start sub_8138C84
-sub_8138C84: @ 8138C84
+ thumb_func_start CB2_FieldShowRegionMap
+CB2_FieldShowRegionMap: @ 8138C84
push {lr}
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl sub_817018C
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138C84
+ thumb_func_end CB2_FieldShowRegionMap
- thumb_func_start sub_8138C94
-sub_8138C94: @ 8138C94
+ thumb_func_start FieldShowRegionMap
+FieldShowRegionMap: @ 8138C94
push {lr}
- ldr r0, =sub_8138C84
+ ldr r0, =CB2_FieldShowRegionMap
bl SetMainCallback2
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138C94
+ thumb_func_end FieldShowRegionMap
- thumb_func_start sp0D9_ComputerRelated
-sp0D9_ComputerRelated: @ 8138CA4
+ thumb_func_start DoPCTurnOnEffect
+DoPCTurnOnEffect: @ 8138CA4
push {r4,lr}
- ldr r4, =sub_8138CE8
+ ldr r4, =Task_PCTurnOnEffect
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
@@ -6651,10 +1954,10 @@ _08138CD8:
pop {r0}
bx r0
.pool
- thumb_func_end sp0D9_ComputerRelated
+ thumb_func_end DoPCTurnOnEffect
- thumb_func_start sub_8138CE8
-sub_8138CE8: @ 8138CE8
+ thumb_func_start Task_PCTurnOnEffect
+Task_PCTurnOnEffect: @ 8138CE8
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -6668,15 +1971,15 @@ sub_8138CE8: @ 8138CE8
cmp r0, 0
bne _08138D06
adds r0, r1, 0
- bl sub_8138D10
+ bl PCTurnOnEffect_0
_08138D06:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138CE8
+ thumb_func_end Task_PCTurnOnEffect
- thumb_func_start sub_8138D10
-sub_8138D10: @ 8138D10
+ thumb_func_start PCTurnOnEffect_0
+PCTurnOnEffect_0: @ 8138D10
push {r4-r6,lr}
adds r4, r0, 0
movs r6, 0
@@ -6686,7 +1989,7 @@ sub_8138D10: @ 8138D10
cmp r0, 0x6
bne _08138D7C
strh r5, [r4, 0xE]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -6718,7 +2021,7 @@ _08138D4C:
asrs r1, 24
lsls r2, r5, 24
asrs r2, 24
- bl sub_8138D88
+ bl PCTurnOnEffect_1
bl DrawWholeMapView
ldrh r0, [r4, 0x10]
movs r1, 0x1
@@ -6740,10 +2043,10 @@ _08138D7C:
pop {r4-r6}
pop {r0}
bx r0
- thumb_func_end sub_8138D10
+ thumb_func_end PCTurnOnEffect_0
- thumb_func_start sub_8138D88
-sub_8138D88: @ 8138D88
+ thumb_func_start PCTurnOnEffect_1
+PCTurnOnEffect_1: @ 8138D88
push {r4,r5,lr}
lsls r1, 24
lsrs r1, 24
@@ -6815,23 +2118,23 @@ _08138DE6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138D88
+ thumb_func_end PCTurnOnEffect_1
- thumb_func_start sub_8138E20
-sub_8138E20: @ 8138E20
+ thumb_func_start DoPCTurnOffEffect
+DoPCTurnOffEffect: @ 8138E20
push {lr}
- bl sub_8138E2C
+ bl PCTurnOffEffect
pop {r0}
bx r0
- thumb_func_end sub_8138E20
+ thumb_func_end DoPCTurnOffEffect
- thumb_func_start sub_8138E2C
-sub_8138E2C: @ 8138E2C
+ thumb_func_start PCTurnOffEffect
+PCTurnOffEffect: @ 8138E2C
push {r4-r6,lr}
movs r6, 0
movs r5, 0
movs r4, 0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r1, r0, 0
@@ -6900,12 +2203,12 @@ _08138E82:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138E2C
+ thumb_func_end PCTurnOffEffect
- thumb_func_start sub_8138EC0
-sub_8138EC0: @ 8138EC0
+ thumb_func_start DoLotteryCornerComputerEffect
+DoLotteryCornerComputerEffect: @ 8138EC0
push {r4,lr}
- ldr r4, =sub_8138F04
+ ldr r4, =Task_LotteryCornerComputerEffect
adds r0, r4, 0
bl FuncIsActiveTask
lsls r0, 24
@@ -6933,10 +2236,10 @@ _08138EF4:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138EC0
+ thumb_func_end DoLotteryCornerComputerEffect
- thumb_func_start sub_8138F04
-sub_8138F04: @ 8138F04
+ thumb_func_start Task_LotteryCornerComputerEffect
+Task_LotteryCornerComputerEffect: @ 8138F04
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -6950,15 +2253,15 @@ sub_8138F04: @ 8138F04
cmp r0, 0
bne _08138F22
adds r0, r1, 0
- bl sub_8138F2C
+ bl LotteryCornerComputerEffect
_08138F22:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138F04
+ thumb_func_end Task_LotteryCornerComputerEffect
- thumb_func_start sub_8138F2C
-sub_8138F2C: @ 8138F2C
+ thumb_func_start LotteryCornerComputerEffect
+LotteryCornerComputerEffect: @ 8138F2C
push {r4,lr}
adds r4, r0, 0
movs r1, 0xE
@@ -7014,10 +2317,10 @@ _08138F9A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138F2C
+ thumb_func_end LotteryCornerComputerEffect
- thumb_func_start sub_8138FAC
-sub_8138FAC: @ 8138FAC
+ thumb_func_start EndLotteryCornerComputerEffect
+EndLotteryCornerComputerEffect: @ 8138FAC
push {lr}
ldr r2, =0x00000e9d
movs r0, 0x12
@@ -7031,10 +2334,10 @@ sub_8138FAC: @ 8138FAC
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138FAC
+ thumb_func_end EndLotteryCornerComputerEffect
- thumb_func_start sub_8138FD4
-sub_8138FD4: @ 8138FD4
+ thumb_func_start SetTrickHouseEndRoomFlag
+SetTrickHouseEndRoomFlag: @ 8138FD4
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x000001f5
@@ -7043,10 +2346,10 @@ sub_8138FD4: @ 8138FD4
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138FD4
+ thumb_func_end SetTrickHouseEndRoomFlag
- thumb_func_start sub_8138FEC
-sub_8138FEC: @ 8138FEC
+ thumb_func_start ResetTrickHouseEndRoomFlag
+ResetTrickHouseEndRoomFlag: @ 8138FEC
push {lr}
ldr r1, =gSpecialVar_0x8004
ldr r0, =0x000001f5
@@ -7055,10 +2358,10 @@ sub_8138FEC: @ 8138FEC
pop {r0}
bx r0
.pool
- thumb_func_end sub_8138FEC
+ thumb_func_end ResetTrickHouseEndRoomFlag
- thumb_func_start sub_8139004
-sub_8139004: @ 8139004
+ thumb_func_start CheckLeadMonCool
+CheckLeadMonCool: @ 8139004
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7079,10 +2382,10 @@ _08139028:
_0813902A:
pop {r1}
bx r1
- thumb_func_end sub_8139004
+ thumb_func_end CheckLeadMonCool
- thumb_func_start sub_8139030
-sub_8139030: @ 8139030
+ thumb_func_start CheckLeadMonBeauty
+CheckLeadMonBeauty: @ 8139030
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7103,10 +2406,10 @@ _08139054:
_08139056:
pop {r1}
bx r1
- thumb_func_end sub_8139030
+ thumb_func_end CheckLeadMonBeauty
- thumb_func_start sub_813905C
-sub_813905C: @ 813905C
+ thumb_func_start CheckLeadMonCute
+CheckLeadMonCute: @ 813905C
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7127,10 +2430,10 @@ _08139080:
_08139082:
pop {r1}
bx r1
- thumb_func_end sub_813905C
+ thumb_func_end CheckLeadMonCute
- thumb_func_start sub_8139088
-sub_8139088: @ 8139088
+ thumb_func_start CheckLeadMonSmart
+CheckLeadMonSmart: @ 8139088
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7151,10 +2454,10 @@ _081390AC:
_081390AE:
pop {r1}
bx r1
- thumb_func_end sub_8139088
+ thumb_func_end CheckLeadMonSmart
- thumb_func_start sub_81390B4
-sub_81390B4: @ 81390B4
+ thumb_func_start CheckLeadMonTough
+CheckLeadMonTough: @ 81390B4
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7175,10 +2478,10 @@ _081390D8:
_081390DA:
pop {r1}
bx r1
- thumb_func_end sub_81390B4
+ thumb_func_end CheckLeadMonTough
- thumb_func_start sub_81390E0
-sub_81390E0: @ 81390E0
+ thumb_func_start IsGrassTypeInParty
+IsGrassTypeInParty: @ 81390E0
push {r4-r6,lr}
movs r5, 0
ldr r6, =gBaseStats
@@ -7232,10 +2535,10 @@ _0813914A:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81390E0
+ thumb_func_end IsGrassTypeInParty
- thumb_func_start SpawnScriptFieldObject
-SpawnScriptFieldObject: @ 8139158
+ thumb_func_start SpawnScriptEventObject
+SpawnScriptEventObject: @ 8139158
push {lr}
sub sp, 0x8
ldr r0, =gSaveBlock1Ptr
@@ -7254,10 +2557,10 @@ SpawnScriptFieldObject: @ 8139158
movs r0, 0x7
movs r1, 0x8
movs r2, 0x7F
- bl SpawnSpecialFieldObjectParametrized
+ bl SpawnSpecialEventObjectParameterized
lsls r0, 24
lsrs r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@@ -7272,10 +2575,10 @@ SpawnScriptFieldObject: @ 8139158
pop {r0}
bx r0
.pool
- thumb_func_end SpawnScriptFieldObject
+ thumb_func_end SpawnScriptEventObject
- thumb_func_start RemoveScriptFieldObject
-RemoveScriptFieldObject: @ 81391AC
+ thumb_func_start RemoveScriptEventObject
+RemoveScriptEventObject: @ 81391AC
push {lr}
bl GetPlayerAvatarObjectId
lsls r0, 24
@@ -7286,14 +2589,14 @@ RemoveScriptFieldObject: @ 81391AC
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
movs r0, 0x7F
- bl RemoveFieldObjectByLocalIdAndMap
+ bl RemoveEventObjectByLocalIdAndMap
pop {r0}
bx r0
.pool
- thumb_func_end RemoveScriptFieldObject
+ thumb_func_end RemoveScriptEventObject
- thumb_func_start sub_81391D0
-sub_81391D0: @ 81391D0
+ thumb_func_start GetPokeblockNameByMonNature
+GetPokeblockNameByMonNature: @ 81391D0
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7306,16 +2609,16 @@ sub_81391D0: @ 81391D0
lsls r0, 24
lsrs r0, 24
ldr r1, =gStringVar1
- bl sub_8137068
+ bl CopyMonFavoritePokeblockName
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
- thumb_func_end sub_81391D0
+ thumb_func_end GetPokeblockNameByMonNature
- thumb_func_start sub_8139200
-sub_8139200: @ 8139200
+ thumb_func_start GetSecretBaseNearbyMapName
+GetSecretBaseNearbyMapName: @ 8139200
push {r4,lr}
ldr r4, =gStringVar1
ldr r0, =0x00004026
@@ -7330,7 +2633,7 @@ sub_8139200: @ 8139200
pop {r0}
bx r0
.pool
- thumb_func_end sub_8139200
+ thumb_func_end GetSecretBaseNearbyMapName
thumb_func_start sub_8139228
sub_8139228: @ 8139228
@@ -7476,8 +2779,8 @@ _08139342:
bx r1
thumb_func_end sub_8139320
- thumb_func_start sub_8139348
-sub_8139348: @ 8139348
+ thumb_func_start LeadMonHasEffortRibbon
+LeadMonHasEffortRibbon: @ 8139348
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7494,10 +2797,10 @@ sub_8139348: @ 8139348
pop {r1}
bx r1
.pool
- thumb_func_end sub_8139348
+ thumb_func_end LeadMonHasEffortRibbon
- thumb_func_start sub_8139370
-sub_8139370: @ 8139370
+ thumb_func_start GiveLeadMonEffortRibbon
+GiveLeadMonEffortRibbon: @ 8139370
push {r4,lr}
sub sp, 0x4
movs r0, 0x2A
@@ -7533,10 +2836,10 @@ _081393B6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_8139370
+ thumb_func_end GiveLeadMonEffortRibbon
- thumb_func_start sub_81393C8
-sub_81393C8: @ 81393C8
+ thumb_func_start Special_AreLeadMonEVsMaxedOut
+Special_AreLeadMonEVsMaxedOut: @ 81393C8
push {lr}
bl GetLeadMonIndex
lsls r0, 24
@@ -7558,7 +2861,7 @@ _081393F4:
_081393F6:
pop {r1}
bx r1
- thumb_func_end sub_81393C8
+ thumb_func_end Special_AreLeadMonEVsMaxedOut
thumb_func_start sub_81393FC
sub_81393FC: @ 81393FC
@@ -7605,18 +2908,18 @@ _08139456:
bx r1
thumb_func_end sub_81393FC
- thumb_func_start sub_813945C
-sub_813945C: @ 813945C
+ thumb_func_start SetShoalItemFlag
+SetShoalItemFlag: @ 813945C
push {lr}
ldr r0, =0x000008bf
bl FlagSet
pop {r0}
bx r0
.pool
- thumb_func_end sub_813945C
+ thumb_func_end SetShoalItemFlag
- thumb_func_start sub_813946C
-sub_813946C: @ 813946C
+ thumb_func_start PutZigzagoonInPlayerParty
+PutZigzagoonInPlayerParty: @ 813946C
push {r4,r5,lr}
sub sp, 0x14
ldr r5, =gPlayerParty
@@ -7664,10 +2967,10 @@ sub_813946C: @ 813946C
pop {r0}
bx r0
.pool
- thumb_func_end sub_813946C
+ thumb_func_end PutZigzagoonInPlayerParty
- thumb_func_start sub_81394D8
-sub_81394D8: @ 81394D8
+ thumb_func_start IsStarterInParty
+IsStarterInParty: @ 81394D8
push {r4-r6,lr}
ldr r0, =0x00004023
bl VarGet
@@ -7707,20 +3010,20 @@ _08139528:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_81394D8
+ thumb_func_end IsStarterInParty
- thumb_func_start sub_8139530
-sub_8139530: @ 8139530
+ thumb_func_start ScriptCheckFreePokemonStorageSpace
+ScriptCheckFreePokemonStorageSpace: @ 8139530
push {lr}
- bl sub_80D2218
+ bl CheckFreePokemonStorageSpace
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end sub_8139530
+ thumb_func_end ScriptCheckFreePokemonStorageSpace
- thumb_func_start sub_8139540
-sub_8139540: @ 8139540
+ thumb_func_start IsPokerusInParty
+IsPokerusInParty: @ 8139540
push {lr}
ldr r0, =gPlayerParty
movs r1, 0x3F
@@ -7736,7 +3039,7 @@ _08139558:
_0813955A:
pop {r1}
bx r1
- thumb_func_end sub_8139540
+ thumb_func_end IsPokerusInParty
thumb_func_start sub_8139560
sub_8139560: @ 8139560
@@ -7846,13 +3149,13 @@ sub_8139634: @ 8139634
bx r1
thumb_func_end sub_8139634
- thumb_func_start sub_8139648
-sub_8139648: @ 8139648
+ thumb_func_start SetRoute119Weather
+SetRoute119Weather: @ 8139648
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
+ bl is_map_type_1_2_3_5_or_6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7862,15 +3165,15 @@ sub_8139648: @ 8139648
_08139664:
pop {r0}
bx r0
- thumb_func_end sub_8139648
+ thumb_func_end SetRoute119Weather
- thumb_func_start sub_8139668
-sub_8139668: @ 8139668
+ thumb_func_start SetRoute123Weather
+SetRoute123Weather: @ 8139668
push {lr}
bl get_map_light_from_warp0
lsls r0, 24
lsrs r0, 24
- bl is_light_level_1_2_3_5_or_6
+ bl is_map_type_1_2_3_5_or_6
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7880,7 +3183,7 @@ sub_8139668: @ 8139668
_08139684:
pop {r0}
bx r0
- thumb_func_end sub_8139668
+ thumb_func_end SetRoute123Weather
thumb_func_start GetLeadMonIndex
GetLeadMonIndex: @ 8139688
@@ -7928,8 +3231,8 @@ _081396D8:
bx r1
thumb_func_end GetLeadMonIndex
- thumb_func_start sub_81396E0
-sub_81396E0: @ 81396E0
+ thumb_func_start ScriptGetPartyMonSpecies
+ScriptGetPartyMonSpecies: @ 81396E0
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r1, [r0]
@@ -7945,7 +3248,7 @@ sub_81396E0: @ 81396E0
pop {r1}
bx r1
.pool
- thumb_func_end sub_81396E0
+ thumb_func_end ScriptGetPartyMonSpecies
thumb_func_start nullsub_54
nullsub_54: @ 8139708
@@ -8085,7 +3388,7 @@ _0813980C:
_0813981C:
ldrh r5, [r2]
adds r0, r5, 0
- bl sub_80EF370
+ bl CountDigits
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -8105,7 +3408,7 @@ _0813983C:
adds r4, 0x4
ldrh r5, [r2]
adds r0, r5, 0
- bl sub_80EF370
+ bl CountDigits
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -8531,7 +3834,7 @@ sub_8139B60: @ 8139B60
movs r1, 0x1
adds r2, r4, 0
bl PrintTextOnWindow
- ldr r6, =gUnknown_085B2BB4
+ ldr r6, =gElevatorFloorsTable
ldr r4, =gSpecialVar_0x8005
ldrh r0, [r4]
lsls r0, 2
@@ -8934,8 +4237,8 @@ _08139EEE:
bx r1
thumb_func_end sub_8139ED0
- thumb_func_start sub_8139EF4
-sub_8139EF4: @ 8139EF4
+ thumb_func_start UpdateFrontierManiac
+UpdateFrontierManiac: @ 8139EF4
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
@@ -8954,7 +4257,7 @@ sub_8139EF4: @ 8139EF4
pop {r0}
bx r0
.pool
- thumb_func_end sub_8139EF4
+ thumb_func_end UpdateFrontierManiac
thumb_func_start sub_8139F20
sub_8139F20: @ 8139F20
@@ -9591,7 +4894,7 @@ sub_813A46C: @ 813A46C
lsrs r0, 24
mov r1, sp
movs r2, 0
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
ldr r1, =gUnknown_0203AB68
mov r0, sp
ldrh r0, [r0]
@@ -9600,7 +4903,7 @@ sub_813A46C: @ 813A46C
lsls r0, 24
lsrs r0, 24
mov r1, sp
- bl sub_81AE838
+ bl ListMenuGetCurrentItemArrayId
ldrh r0, [r4, 0x1E]
ldr r5, =gUnknown_0203AB6A
ldrh r1, [r5]
@@ -9637,7 +4940,7 @@ sub_813A4EC: @ 813A4EC
ldrh r0, [r6, 0x24]
lsls r0, 24
lsrs r0, 24
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r4, r0, 0
movs r0, 0x2
negs r0, r0
@@ -9704,7 +5007,7 @@ sub_813A570: @ 813A570
lsls r0, 24
lsrs r0, 24
mov r1, sp
- bl sub_81AE838
+ bl ListMenuGetCurrentItemArrayId
ldrh r0, [r4, 0x1E]
mov r1, sp
ldrh r1, [r1]
@@ -9716,7 +5019,7 @@ sub_813A570: @ 813A570
lsrs r0, 24
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldr r0, =gUnknown_0203AB64
ldr r0, [r0]
bl Free
@@ -10002,8 +5305,8 @@ _0813A7C6:
.pool
thumb_func_end sub_813A7B8
- thumb_func_start sub_813A7F4
-sub_813A7F4: @ 813A7F4
+ thumb_func_start UpdateFrontierGambler
+UpdateFrontierGambler: @ 813A7F4
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 16
@@ -10022,7 +5325,7 @@ sub_813A7F4: @ 813A7F4
pop {r0}
bx r0
.pool
- thumb_func_end sub_813A7F4
+ thumb_func_end UpdateFrontierGambler
thumb_func_start sub_813A820
sub_813A820: @ 813A820
@@ -10336,7 +5639,7 @@ _0813AAAA:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_085B312C
lsls r0, r5, 1
adds r1, r0, r1
@@ -10362,7 +5665,7 @@ _0813AAE8:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_085B3142
lsls r0, r5, 1
adds r1, r0, r1
@@ -10409,7 +5712,7 @@ _0813AB5C:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_085B314E
lsls r0, r5, 1
adds r0, r1
@@ -10433,7 +5736,7 @@ _0813AB94:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
ldr r1, =gUnknown_085B315C
lsls r0, r5, 1
adds r0, r1
@@ -10461,7 +5764,7 @@ sub_813ABD4: @ 813ABD4
adds r0, r4, 0
adds r1, r4, 0
adds r2, r5, 0
- bl AddItemIconObject
+ bl AddItemIconSprite
ldr r4, =gUnknown_0203AB6C
strb r0, [r4]
lsls r0, 24
@@ -10709,7 +6012,7 @@ sub_813ADD4: @ 813ADD4
adds r4, 0x16
add r1, sp, 0x14
adds r2, r4, 0
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
ldrh r0, [r6, 0x22]
lsls r0, 24
lsrs r0, 24
@@ -10870,7 +6173,7 @@ sub_813AF48: @ 813AF48
lsrs r0, 24
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldr r0, =gUnknown_0203AB64
ldr r0, [r0]
bl Free
@@ -11024,7 +6327,7 @@ sub_813B0B4: @ 813B0B4
ldrb r2, [r0, 0x4]
movs r0, 0x1
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
cmp r4, 0
bne _0813B0F0
movs r0, 0xC4
@@ -11074,7 +6377,7 @@ _0813B13A:
adds r0, r5, r0
ldrb r2, [r0]
movs r0, 0x1
- bl Overworld_SetMapObjTemplateCoords
+ bl Overworld_SetEventObjTemplateCoords
add sp, 0x4
pop {r4,r5}
pop {r0}
@@ -11514,7 +6817,7 @@ sub_813B4E0: @ 813B4E0
push {lr}
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
- bl sub_81D15CC
+ bl GetRematchIdxByTrainerIdx
cmp r0, 0
blt _0813B50C
movs r1, 0xAE
@@ -11823,7 +7126,7 @@ _0813B790:
b _0813B7C6
.pool
_0813B7A8:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0813B7B4
@@ -11850,17 +7153,17 @@ sub_813B7D8: @ 813B7D8
ldrh r0, [r0]
cmp r0, 0
bne _0813B7F8
- ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic
movs r0, 0
movs r1, 0x1
- bl sub_81D6720
+ bl DoRayquazaScene
b _0813B802
.pool
_0813B7F8:
- ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r2, =CB2_ReturnToFieldContinueScriptPlayMapMusic
movs r0, 0x1
movs r1, 0
- bl sub_81D6720
+ bl DoRayquazaScene
_0813B802:
pop {r0}
bx r0
diff --git a/asm/field_tasks.s b/asm/field_tasks.s
deleted file mode 100644
index 39bd3b545..000000000
--- a/asm/field_tasks.s
+++ /dev/null
@@ -1,1921 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start task_per_step_callback_manager
-task_per_step_callback_manager: @ 809D88C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- ldr r2, =gUnknown_08510348
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_per_step_callback_manager
-
- thumb_func_start sub_809D8B8
-sub_809D8B8: @ 809D8B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809D8CA
- cmp r0, 0x1
- beq _0809D8E8
- b _0809D8FC
-_0809D8CA:
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _0809D8FC
- bl DoTimeBasedEvents
- ldrh r0, [r4]
- adds r0, 0x1
- b _0809D8FA
- .pool
-_0809D8E8:
- ldr r0, =gMain
- ldr r0, [r0, 0x20]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _0809D8FC
- ldrh r0, [r4]
- subs r0, 0x1
-_0809D8FA:
- strh r0, [r4]
-_0809D8FC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809D8B8
-
- thumb_func_start sub_809D908
-sub_809D908: @ 809D908
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _0809D930
- adds r0, r4, 0
- bl sub_809D8B8
- adds r0, r4, 0x2
- adds r1, r4, 0x4
- bl wild_encounter_related
-_0809D930:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809D908
-
- thumb_func_start overworld_ensure_per_step_coros_running
-overworld_ensure_per_step_coros_running: @ 809D93C
- push {r4,r5,lr}
- ldr r5, =task_per_step_callback_manager
- adds r0, r5, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0809D966
- adds r0, r5, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
-_0809D966:
- ldr r4, =sub_809E638
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0809D97C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_0809D97C:
- ldr r4, =sub_809D908
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _0809D992
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
-_0809D992:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_ensure_per_step_coros_running
-
- thumb_func_start ActivatePerStepCallback
-ActivatePerStepCallback: @ 809D9A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =task_per_step_callback_manager
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0809D9EA
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x1E
-_0809D9CC:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _0809D9CC
- cmp r4, 0x7
- bls _0809D9E8
- movs r0, 0
- strh r0, [r1]
- b _0809D9EA
- .pool
-_0809D9E8:
- strh r4, [r1]
-_0809D9EA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ActivatePerStepCallback
-
- thumb_func_start wild_encounter_reset_coro_args
-wild_encounter_reset_coro_args: @ 809D9F0
- push {lr}
- ldr r0, =task_per_step_callback_manager
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =sub_809D908
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _0809DA1A
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
-_0809DA1A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end wild_encounter_reset_coro_args
-
- thumb_func_start nullsub_34
-nullsub_34: @ 809DA2C
- bx lr
- thumb_func_end nullsub_34
-
- thumb_func_start sub_809DA30
-sub_809DA30: @ 809DA30
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DA48
- adds r0, r5, 0
- b _0809DA80
-_0809DA48:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DA5A
- adds r0, r5, 0
- adds r0, 0x8
- b _0809DA80
-_0809DA5A:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DA6C
- adds r0, r5, 0
- adds r0, 0x10
- b _0809DA80
-_0809DA6C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- bne _0809DA7C
- movs r0, 0
- b _0809DA80
-_0809DA7C:
- adds r0, r5, 0
- adds r0, 0x18
-_0809DA80:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809DA30
-
- thumb_func_start sub_809DA88
-sub_809DA88: @ 809DA88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r3
- lsls r1, 16
- asrs r6, r1, 16
- lsls r2, 16
- asrs r7, r2, 16
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileBehaviorAt
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_809DA30
- adds r4, r0, 0
- adds r5, r4, 0
- cmp r4, 0
- beq _0809DB06
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, r6, r0
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- adds r1, r7, r1
- ldrh r2, [r4, 0x2]
- bl MapGridSetMetatileIdAt
- mov r0, r8
- cmp r0, 0
- beq _0809DADE
- movs r0, 0
- ldrsb r0, [r4, r0]
- adds r0, r6, r0
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- adds r1, r7, r1
- bl CurrentMapDrawMetatileAt
-_0809DADE:
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- adds r0, r6, r0
- movs r1, 0x5
- ldrsb r1, [r5, r1]
- adds r1, r7, r1
- ldrh r2, [r5, 0x6]
- bl MapGridSetMetatileIdAt
- mov r0, r8
- cmp r0, 0
- beq _0809DB06
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- adds r0, r6, r0
- movs r1, 0x5
- ldrsb r1, [r5, r1]
- adds r1, r7, r1
- bl CurrentMapDrawMetatileAt
-_0809DB06:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DA88
-
- thumb_func_start sub_809DB10
-sub_809DB10: @ 809DB10
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_08510368
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB10
-
- thumb_func_start sub_809DB34
-sub_809DB34: @ 809DB34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_08510388
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB34
-
- thumb_func_start sub_809DB58
-sub_809DB58: @ 809DB58
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- ldr r0, =gUnknown_085103A8
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809DA88
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DB58
-
- thumb_func_start sub_809DB7C
-sub_809DB7C: @ 809DB7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r10, r8
- lsls r1, 16
- lsrs r7, r1, 16
- mov r9, r7
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 16
- asrs r5, r3, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DBC0
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r5
- ble _0809DC06
-_0809DBBC:
- movs r0, 0
- b _0809DC08
-_0809DBC0:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DBD8
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r5
- bge _0809DC06
- b _0809DBBC
-_0809DBD8:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DBF0
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r6
- ble _0809DC06
- b _0809DBBC
-_0809DBF0:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DC06
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, r6
- blt _0809DBBC
-_0809DC06:
- movs r0, 0x1
-_0809DC08:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809DB7C
-
- thumb_func_start sub_809DC18
-sub_809DC18: @ 809DC18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- mov r10, r8
- lsls r3, 16
- lsrs r7, r3, 16
- mov r9, r7
- lsls r0, 16
- asrs r6, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- adds r0, r6, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DC5C
- lsls r0, r7, 16
- asrs r0, 16
- cmp r5, r0
- bge _0809DCA2
-_0809DC58:
- movs r0, 0
- b _0809DCA4
-_0809DC5C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogVerticalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DC74
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r5, r0
- ble _0809DCA2
- b _0809DC58
-_0809DC74:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog1
- lsls r0, 24
- cmp r0, 0
- beq _0809DC8C
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- cmp r6, r0
- bge _0809DCA2
- b _0809DC58
-_0809DC8C:
- adds r0, r4, 0
- bl MetatileBehavior_IsPacifilogHorizontalLog2
- lsls r0, 24
- cmp r0, 0
- beq _0809DCA2
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- cmp r6, r0
- bgt _0809DC58
-_0809DCA2:
- movs r0, 0x1
-_0809DCA4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809DC18
-
- thumb_func_start sub_809DCB4
-sub_809DCB4: @ 809DCB4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r6, r5, 0
- cmp r0, 0x1
- beq _0809DD0E
- cmp r0, 0x1
- bgt _0809DCEC
- cmp r0, 0
- beq _0809DCF2
- b _0809DE1E
- .pool
-_0809DCEC:
- cmp r0, 0x2
- beq _0809DDDC
- b _0809DE1E
-_0809DCF2:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r3, 0
- ldrsh r1, [r5, r3]
- movs r2, 0x1
- bl sub_809DB34
- b _0809DE1A
-_0809DD0E:
- mov r0, sp
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _0809DD28
- movs r3, 0
- ldrsh r1, [r5, r3]
- movs r7, 0x6
- ldrsh r0, [r4, r7]
- cmp r1, r0
- beq _0809DE1E
-_0809DD28:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r5, 0x6
- ldrsh r3, [r4, r5]
- bl sub_809DB7C
- cmp r0, 0
- beq _0809DD70
- movs r7, 0x4
- ldrsh r0, [r4, r7]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- bl sub_809DB10
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- movs r5, 0x6
- ldrsh r1, [r4, r5]
- movs r2, 0
- bl sub_809DB58
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x2]
- movs r0, 0x8
- strh r0, [r4, 0xC]
- b _0809DD7A
-_0809DD70:
- movs r7, 0x1
- negs r7, r7
- adds r0, r7, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
-_0809DD7A:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r5, r6, 0
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r7, 0x6
- ldrsh r3, [r4, r7]
- bl sub_809DC18
- cmp r0, 0
- beq _0809DDAE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- bl sub_809DB10
- movs r0, 0x2
- strh r0, [r4, 0x2]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_0809DDAE:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r6]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r5, 0
- ldrsh r1, [r6, r5]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsPacifidlogLog
- lsls r0, 24
- cmp r0, 0
- beq _0809DE1E
- movs r0, 0x46
- bl PlaySE
- b _0809DE1E
-_0809DDDC:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0809DE1E
- mov r0, sp
- movs r7, 0
- ldrsh r0, [r0, r7]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- bl sub_809DB34
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0809DE1A
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- cmp r0, r1
- beq _0809DE1A
- movs r7, 0x8
- ldrsh r0, [r4, r7]
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0x1
- bl sub_809DB58
-_0809DE1A:
- movs r0, 0x1
- strh r0, [r4, 0x2]
-_0809DE1E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DCB4
-
- thumb_func_start sub_809DE28
-sub_809DE28: @ 809DE28
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809DE82
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r5, 16
- asrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x0000024e
- cmp r1, r0
- beq _0809DE68
- adds r0, 0x8
- cmp r1, r0
- beq _0809DE78
- b _0809DE82
- .pool
-_0809DE68:
- ldr r2, =0x0000024f
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0809DE82
- .pool
-_0809DE78:
- ldr r2, =0x00000257
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0809DE82:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DE28
-
- thumb_func_start sub_809DE8C
-sub_809DE8C: @ 809DE8C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809DEE6
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r5, 16
- asrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x0000024f
- cmp r1, r0
- beq _0809DECC
- adds r0, 0x8
- cmp r1, r0
- beq _0809DEDC
- b _0809DEE6
- .pool
-_0809DECC:
- ldr r2, =0x0000024e
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _0809DEE6
- .pool
-_0809DEDC:
- ldr r2, =0x00000256
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_0809DEE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809DE8C
-
- thumb_func_start sub_809DEF0
-sub_809DEF0: @ 809DEF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r6, r1, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- movs r0, 0x2
- ldrsh r5, [r6, r0]
- mov r9, r4
- cmp r5, 0x1
- beq _0809DF84
- cmp r5, 0x1
- bgt _0809DF30
- cmp r5, 0
- beq _0809DF38
- b _0809E0F6
- .pool
-_0809DF30:
- cmp r5, 0x2
- bne _0809DF36
- b _0809E064
-_0809DF36:
- b _0809E0F6
-_0809DF38:
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- mov r1, r9
- ldrh r0, [r1]
- strh r0, [r6, 0x6]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r3, 0
- ldrsh r1, [r1, r3]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- cmp r0, 0
- bne _0809DF62
- b _0809E0F2
-_0809DF62:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl sub_809DE28
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl CurrentMapDrawMetatileAt
- b _0809E0F2
-_0809DF84:
- ldrh r0, [r6, 0x6]
- mov r8, r0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldrh r2, [r6, 0x4]
- mov r10, r2
- movs r3, 0x4
- ldrsh r7, [r6, r3]
- cmp r0, r7
- bne _0809DFAC
- mov r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r1, r0
- bne _0809DFAC
- b _0809E0F6
-_0809DFAC:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- lsls r4, r0, 16
- asrs r1, r4, 16
- adds r0, r7, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- lsrs r7, r0, 24
- bl PlayerGetZCoord
- movs r1, 0
- ands r5, r0
- lsls r0, r5, 24
- adds r5, r4, 0
- cmp r0, 0
- bne _0809DFF4
- movs r1, 0x1
-_0809DFF4:
- cmp r1, 0
- beq _0809E008
- ldr r1, [sp, 0x4]
- cmp r1, 0x1
- beq _0809E002
- cmp r7, 0x1
- bne _0809E008
-_0809E002:
- movs r0, 0x47
- bl PlaySE
-_0809E008:
- cmp r7, 0
- beq _0809E044
- mov r2, r10
- lsls r4, r2, 16
- asrs r4, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809DE8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl CurrentMapDrawMetatileAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl sub_809DE28
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0
- ldrsh r1, [r2, r3]
- bl CurrentMapDrawMetatileAt
-_0809E044:
- mov r0, r10
- strh r0, [r6, 0x8]
- mov r1, r8
- strh r1, [r6, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- mov r2, r9
- ldrh r0, [r2]
- strh r0, [r6, 0x6]
- cmp r7, 0
- beq _0809E0F6
- movs r0, 0x10
- strh r0, [r6, 0xC]
- movs r0, 0x2
- strh r0, [r6, 0x2]
-_0809E064:
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- ldrh r3, [r6, 0x8]
- mov r10, r3
- ldrh r0, [r6, 0xA]
- mov r8, r0
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r1, 0x7
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bhi _0809E0EA
- lsls r0, 2
- ldr r1, =_0809E094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809E094:
- .4byte _0809E0B4
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0C6
- .4byte _0809E0EA
- .4byte _0809E0EA
- .4byte _0809E0EA
-_0809E0B4:
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- mov r3, r8
- lsls r1, r3, 16
- asrs r1, 16
- bl CurrentMapDrawMetatileAt
- b _0809E0EA
-_0809E0C6:
- mov r0, r10
- lsls r5, r0, 16
- asrs r5, 16
- mov r1, r8
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809DE28
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809DE8C
-_0809E0EA:
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _0809E0F6
-_0809E0F2:
- movs r0, 0x1
- strh r0, [r6, 0x2]
-_0809E0F6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809DEF0
-
- thumb_func_start sub_809E108
-sub_809E108: @ 809E108
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r0, 16
- ldr r2, =0xfffd0000
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xA
- bhi _0809E144
- lsls r0, r1, 16
- asrs r1, r0, 16
- ldr r2, =0xfffa0000
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xD
- bhi _0809E144
- ldr r0, =gUnknown_085103C8
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0809E144
- movs r0, 0x1
- b _0809E146
- .pool
-_0809E144:
- movs r0, 0
-_0809E146:
- pop {r1}
- bx r1
- thumb_func_end sub_809E108
-
- thumb_func_start sub_809E14C
-sub_809E14C: @ 809E14C
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809E108
- cmp r0, 0
- beq _0809E17A
- ldr r1, =gUnknown_085103C8
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- bl GetVarPointer
- subs r2, r5, 0x3
- movs r1, 0x1
- lsls r1, r2
- ldrh r2, [r0]
- orrs r1, r2
- strh r1, [r0]
-_0809E17A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E14C
-
- thumb_func_start sub_809E184
-sub_809E184: @ 809E184
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809E108
- cmp r0, 0
- beq _0809E1B6
- ldr r1, =gUnknown_085103C8
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- bl VarGet
- lsls r0, 16
- subs r2, r5, 0x3
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r2
- ands r1, r0
- cmp r1, 0
- bne _0809E1C0
-_0809E1B6:
- movs r0, 0
- b _0809E1C2
- .pool
-_0809E1C0:
- movs r0, 0x1
-_0809E1C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809E184
-
- thumb_func_start sub_809E1C8
-sub_809E1C8: @ 809E1C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0]
- mov r9, r1
- ldr r7, [r0, 0x4]
- movs r5, 0
- cmp r5, r9
- bge _0809E210
-_0809E1E0:
- movs r4, 0
- adds r0, r5, 0x1
- mov r8, r0
- cmp r4, r7
- bge _0809E20A
- lsls r6, r5, 16
-_0809E1EC:
- lsls r1, r4, 16
- asrs r1, 16
- asrs r0, r6, 16
- bl sub_809E184
- cmp r0, 0x1
- bne _0809E204
- adds r1, r4, 0x7
- adds r0, r5, 0x7
- ldr r2, =0x0000020e
- bl MapGridSetMetatileIdAt
-_0809E204:
- adds r4, 0x1
- cmp r4, r7
- blt _0809E1EC
-_0809E20A:
- mov r5, r8
- cmp r5, r9
- blt _0809E1E0
-_0809E210:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E1C8
-
- thumb_func_start sub_809E224
-sub_809E224: @ 809E224
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0809E270
- cmp r0, 0x1
- bgt _0809E24C
- cmp r0, 0
- beq _0809E258
- b _0809E3A6
- .pool
-_0809E24C:
- cmp r0, 0x2
- beq _0809E306
- cmp r0, 0x3
- bne _0809E256
- b _0809E360
-_0809E256:
- b _0809E3A6
-_0809E258:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r4]
- strh r0, [r5, 0x6]
- b _0809E3A2
-_0809E270:
- mov r7, sp
- adds r7, 0x2
- mov r0, sp
- adds r1, r7, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E29A
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E29A
- b _0809E3A6
-_0809E29A:
- strh r2, [r5, 0x4]
- ldrh r0, [r7]
- strh r0, [r5, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =0x00004022
- bl GetVarPointer
- adds r6, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsThinIce
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E2E0
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x2
- b _0809E2F8
- .pool
-_0809E2E0:
- adds r0, r4, 0
- bl MetatileBehavior_IsCrackedIce
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E3A6
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r0, 0x3
-_0809E2F8:
- strh r0, [r5, 0x2]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x8]
- ldrh r0, [r7]
- strh r0, [r5, 0xA]
- b _0809E3A6
-_0809E306:
- ldrh r1, [r5, 0xC]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- cmp r0, 0
- bne _0809E36A
- mov r1, sp
- ldrh r0, [r5, 0x8]
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- ldrh r0, [r5, 0xA]
- strh r0, [r4]
- movs r0, 0x2A
- bl PlaySE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x0000020e
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4]
- subs r1, 0x7
- lsls r1, 16
- asrs r1, 16
- bl sub_809E14C
- b _0809E3A2
- .pool
-_0809E360:
- ldrh r1, [r5, 0xC]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _0809E370
-_0809E36A:
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _0809E3A6
-_0809E370:
- mov r1, sp
- ldrh r0, [r5, 0x8]
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- ldrh r0, [r5, 0xA]
- strh r0, [r4]
- movs r0, 0x29
- bl PlaySE
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000206
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
-_0809E3A2:
- movs r0, 0x1
- strh r0, [r5, 0x2]
-_0809E3A6:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E224
-
- thumb_func_start sub_809E3B4
-sub_809E3B4: @ 809E3B4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E3EE
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E47A
-_0809E3EE:
- strh r2, [r5, 0x2]
- ldrh r0, [r4]
- strh r0, [r5, 0x4]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- cmp r0, 0
- beq _0809E47A
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- ldr r1, =0x0000020a
- cmp r0, r1
- bne _0809E444
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000212
- movs r3, 0x4
- bl ash
- b _0809E456
- .pool
-_0809E444:
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, =0x00000206
- movs r3, 0x4
- bl ash
-_0809E456:
- movs r0, 0x87
- lsls r0, 1
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- beq _0809E47A
- ldr r0, =0x00004048
- bl GetVarPointer
- adds r2, r0, 0
- ldrh r1, [r2]
- ldr r0, =0x0000270e
- cmp r1, r0
- bhi _0809E47A
- adds r0, r1, 0x1
- strh r0, [r2]
-_0809E47A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E3B4
-
- thumb_func_start sub_809E490
-sub_809E490: @ 809E490
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x0000022f
- ldr r2, =0x00000237
- cmp r0, r1
- bne _0809E4AC
- subs r2, 0x31
-_0809E4AC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E490
-
- thumb_func_start sub_809E4CC
-sub_809E4CC: @ 809E4CC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- 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, 16
- lsrs r6, r0, 16
- ldrh r1, [r5, 0x8]
- movs r3, 0x8
- ldrsh r0, [r5, r3]
- adds r7, r4, 0
- cmp r0, 0
- beq _0809E51E
- subs r0, r1, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bne _0809E51E
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl sub_809E490
-_0809E51E:
- ldrh r1, [r5, 0xE]
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _0809E53E
- subs r0, r1, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _0809E53E
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- movs r2, 0x12
- ldrsh r1, [r5, r2]
- bl sub_809E490
-_0809E53E:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl MetatileBehavior_IsCrackedFloorHole
- lsls r0, 24
- cmp r0, 0
- beq _0809E556
- ldr r0, =0x00004022
- movs r1, 0
- bl VarSet
-_0809E556:
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bne _0809E572
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E5D2
-_0809E572:
- strh r2, [r5, 0x4]
- adds r4, r7, 0
- ldrh r0, [r4]
- strh r0, [r5, 0x6]
- adds r0, r6, 0
- bl MetatileBehavior_IsCrackedFloor
- lsls r0, 24
- cmp r0, 0
- beq _0809E5D2
- bl sub_811A138
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _0809E59A
- ldr r0, =0x00004022
- movs r1, 0
- bl VarSet
-_0809E59A:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809E5BC
- movs r0, 0x3
- strh r0, [r5, 0x8]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0xA]
- ldrh r0, [r4]
- strh r0, [r5, 0xC]
- b _0809E5D2
- .pool
-_0809E5BC:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0809E5D2
- movs r0, 0x3
- strh r0, [r5, 0xE]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x10]
- ldrh r0, [r7]
- strh r0, [r5, 0x12]
-_0809E5D2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E4CC
-
- thumb_func_start sub_809E5DC
-sub_809E5DC: @ 809E5DC
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _0809E5F8
- movs r2, 0xE8
- b _0809E60C
-_0809E5F8:
- ldr r1, =gUnknown_085103FC
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _0809E604
- adds r0, 0x7
-_0809E604:
- asrs r0, 3
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
-_0809E60C:
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xE8
- bl MapGridSetMetatileIdAt
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809E5DC
-
- thumb_func_start sub_809E638
-sub_809E638: @ 809E638
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- lsls r1, 8
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- orrs r0, r1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- mov r8, r5
- cmp r1, 0
- beq _0809E688
- cmp r1, 0x1
- beq _0809E6B4
- b _0809E708
- .pool
-_0809E688:
- strh r7, [r4]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- movs r0, 0x1
- strh r0, [r4, 0x2]
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xE]
- strh r1, [r4, 0x14]
- strh r1, [r4, 0x1A]
- b _0809E708
-_0809E6A2:
- movs r0, 0x20
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- strh r0, [r1, 0x4]
- b _0809E708
-_0809E6B4:
- mov r0, sp
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _0809E6D0
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _0809E708
-_0809E6D0:
- strh r2, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsMuddySlope
- lsls r0, 24
- cmp r0, 0
- beq _0809E708
- movs r6, 0x4
- adds r1, r4, 0
- adds r1, 0x8
-_0809E6F8:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0809E6A2
- adds r1, 0x6
- adds r6, 0x3
- cmp r6, 0xD
- ble _0809E6F8
-_0809E708:
- ldr r2, =gCamera
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E728
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r7, r0
- beq _0809E728
- strh r7, [r4]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r2, 0x8]
- b _0809E72C
- .pool
-_0809E728:
- movs r0, 0
- movs r1, 0
-_0809E72C:
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r0, r1, 16
- asrs r7, r0, 16
- adds r5, r4, 0
- adds r5, 0x8
- adds r4, r5, 0
- movs r6, 0x9
-_0809E73E:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E762
- ldrh r0, [r4, 0x2]
- mov r3, r8
- subs r0, r3
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- subs r0, r7
- strh r0, [r4, 0x4]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- adds r0, r5, 0
- bl sub_809E5DC
-_0809E762:
- adds r4, 0x6
- adds r5, 0x6
- subs r6, 0x3
- cmp r6, 0
- bge _0809E73E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E638
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fieldmap.s b/asm/fieldmap.s
deleted file mode 100644
index dbb8a3fa3..000000000
--- a/asm/fieldmap.s
+++ /dev/null
@@ -1,2285 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start mapconnection_get_mapheader
-mapconnection_get_mapheader: @ 8087D44
- push {lr}
- ldrb r2, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- adds r0, r2, 0
- bl get_mapheader_by_bank_and_number
- pop {r1}
- bx r1
- thumb_func_end mapconnection_get_mapheader
-
- thumb_func_start not_trainer_hill_battle_pyramid
-not_trainer_hill_battle_pyramid: @ 8087D54
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapheader_run_script_with_tag_x1
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end not_trainer_hill_battle_pyramid
-
- thumb_func_start sub_8087D74
-sub_8087D74: @ 8087D74
- push {r4,lr}
- ldr r4, =gMapHeader
- adds r0, r4, 0
- bl mapheader_copy_mapdata_with_padding
- movs r0, 0
- bl sub_80E9238
- ldr r0, [r4, 0x4]
- bl sub_80E8EE0
- bl mapdata_from_sav2
- bl mapheader_run_script_with_tag_x1
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- bl UpdateTVScreensOnMap
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087D74
-
- thumb_func_start battle_pyramid_map_load_related
-battle_pyramid_map_load_related: @ 8087DAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r5, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r5, 0
- bl CpuFastSet
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81AA078
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end battle_pyramid_map_load_related
-
- thumb_func_start trainer_hill_map_load_related
-trainer_hill_map_load_related: @ 8087DE4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- adds r0, r4, 0
- bl sub_81D5FB4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end trainer_hill_map_load_related
-
- thumb_func_start mapheader_copy_mapdata_with_padding
-@ void mapheader_copy_mapdata_with_padding(struct mapheader *mapHeader)
-mapheader_copy_mapdata_with_padding: @ 8087E14
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r5, [r6]
- ldr r0, =0x03ff03ff
- str r0, [sp]
- ldr r4, =gUnknown_02032318
- ldr r2, =0x01001400
- mov r0, sp
- adds r1, r4, 0
- bl CpuFastSet
- ldr r2, =gUnknown_03005DC0
- str r4, [r2, 0x8]
- ldr r1, [r5]
- adds r1, 0xF
- str r1, [r2]
- ldr r0, [r5, 0x4]
- adds r0, 0xE
- str r0, [r2, 0x4]
- muls r1, r0
- movs r0, 0xA0
- lsls r0, 6
- cmp r1, r0
- bgt _08087E56
- ldr r0, [r5, 0xC]
- ldrh r1, [r5]
- ldrh r2, [r5, 0x4]
- bl map_copy_with_padding
- adds r0, r6, 0
- bl mapheader_copy_mapdata_of_adjacent_maps
-_08087E56:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapheader_copy_mapdata_with_padding
-
- thumb_func_start map_copy_with_padding
-@ int map_copy_with_padding(void *src)
-map_copy_with_padding: @ 8087E70
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gUnknown_03005DC0
- ldr r4, [r0, 0x8]
- ldr r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, 0xE
- adds r4, r0
- cmp r2, 0
- beq _08087EB8
- mov r0, r8
- lsls r6, r0, 1
- adds r5, r2, 0
- movs r0, 0x1E
- adds r0, r6
- mov r9, r0
-_08087EA4:
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
- bl CpuSet
- add r4, r9
- adds r7, r6
- subs r5, 0x1
- cmp r5, 0
- bne _08087EA4
-_08087EB8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end map_copy_with_padding
-
- thumb_func_start mapheader_copy_mapdata_of_adjacent_maps
-@ void mapheader_copy_mapdata_of_adjacent_maps(struct mapheader *mapHeader)
-mapheader_copy_mapdata_of_adjacent_maps: @ 8087EC8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0xC]
- cmp r0, 0
- beq _08087F4C
- ldr r1, [r0]
- ldr r5, [r0, 0x4]
- ldr r2, =gUnknown_02037340
- ldr r0, =gUnknown_08486EF8
- ldr r0, [r0]
- str r0, [r2]
- cmp r1, 0
- ble _08087F4C
- adds r4, r2, 0
- adds r7, r1, 0
-_08087EE6:
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldr r2, [r5, 0x4]
- ldrb r0, [r5]
- cmp r0, 0x2
- beq _08087F1E
- cmp r0, 0x2
- bgt _08087F08
- cmp r0, 0x1
- beq _08087F12
- b _08087F44
- .pool
-_08087F08:
- cmp r0, 0x3
- beq _08087F2A
- cmp r0, 0x4
- beq _08087F36
- b _08087F44
-_08087F12:
- adds r0, r6, 0
- bl sub_8087FB8
- ldrb r0, [r4]
- movs r1, 0x1
- b _08087F40
-_08087F1E:
- adds r0, r6, 0
- bl sub_8088020
- ldrb r0, [r4]
- movs r1, 0x2
- b _08087F40
-_08087F2A:
- adds r0, r6, 0
- bl sub_8088080
- ldrb r0, [r4]
- movs r1, 0x4
- b _08087F40
-_08087F36:
- adds r0, r6, 0
- bl sub_80880E0
- ldrb r0, [r4]
- movs r1, 0x8
-_08087F40:
- orrs r0, r1
- strb r0, [r4]
-_08087F44:
- subs r7, 0x1
- adds r5, 0xC
- cmp r7, 0
- bne _08087EE6
-_08087F4C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end mapheader_copy_mapdata_of_adjacent_maps
-
- thumb_func_start sub_8087F54
-sub_8087F54: @ 8087F54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, [sp, 0x18]
- ldr r4, [r2]
- ldr r7, [r4]
- adds r2, r7, 0
- muls r2, r5
- adds r2, r3
- lsls r2, 1
- ldr r3, [r4, 0xC]
- adds r6, r3, r2
- ldr r3, =gUnknown_03005DC0
- ldr r2, [r3]
- muls r1, r2
- adds r1, r0
- lsls r1, 1
- ldr r0, [r3, 0x8]
- adds r5, r0, r1
- ldr r0, [sp, 0x20]
- cmp r0, 0
- ble _08087FA6
- adds r4, r0, 0
- ldr r3, =0x001fffff
- mov r8, r3
-_08087F86:
- adds r0, r6, 0
- adds r1, r5, 0
- ldr r2, [sp, 0x1C]
- mov r3, r8
- ands r2, r3
- bl CpuSet
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- lsls r0, 1
- adds r5, r0
- lsls r0, r7, 1
- adds r6, r0
- subs r4, 0x1
- cmp r4, 0
- bne _08087F86
-_08087FA6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087F54
-
- thumb_func_start sub_8087FB8
-sub_8087FB8: @ 8087FB8
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088012
- ldr r0, [r5]
- ldr r4, [r0]
- adds r2, 0x7
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r7, r0, 0x7
- cmp r2, 0
- bge _08087FEC
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08087FE2
- adds r3, r2, 0
-_08087FE2:
- movs r2, 0
- b _08087FFC
- .pool
-_08087FEC:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08087FFC
- adds r3, r4, 0
-_08087FFC:
- movs r0, 0
- str r0, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- adds r1, r7, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088012:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087FB8
-
- thumb_func_start sub_8088020
-sub_8088020: @ 8088020
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _08088074
- ldr r0, [r5]
- ldr r4, [r0]
- ldr r0, [r0, 0x4]
- adds r2, 0x7
- subs r7, r0, 0x7
- cmp r2, 0
- bge _08088050
- negs r6, r2
- adds r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0]
- cmp r2, r3
- bge _08088046
- adds r3, r2, 0
-_08088046:
- movs r2, 0
- b _08088060
- .pool
-_08088050:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088060
- adds r3, r4, 0
-_08088060:
- str r7, [sp]
- str r3, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8087F54
-_08088074:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088020
-
- thumb_func_start sub_8088080
-sub_8088080: @ 8088080
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r1, 0
- cmp r5, 0
- beq _080880D4
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r4, [r0, 0x4]
- adds r2, 0x7
- subs r7, r1, 0x7
- cmp r2, 0
- bge _080880B0
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _080880A6
- adds r3, r1, 0
-_080880A6:
- movs r2, 0
- b _080880C0
- .pool
-_080880B0:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _080880C0
- adds r3, r4, 0
-_080880C0:
- str r6, [sp]
- movs r0, 0x7
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r0, 0
- adds r1, r2, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8087F54
-_080880D4:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088080
-
- thumb_func_start sub_80880E0
-sub_80880E0: @ 80880E0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r3, r0, 0
- adds r5, r1, 0
- cmp r5, 0
- beq _08088138
- ldr r0, [r5]
- ldr r4, [r0, 0x4]
- ldr r0, [r3]
- ldr r0, [r0]
- adds r7, r0, 0x7
- adds r2, 0x7
- cmp r2, 0
- bge _08088114
- negs r6, r2
- adds r1, r2, r4
- ldr r0, =gUnknown_03005DC0
- ldr r3, [r0, 0x4]
- cmp r1, r3
- bge _0808810A
- adds r3, r1, 0
-_0808810A:
- movs r2, 0
- b _08088124
- .pool
-_08088114:
- movs r6, 0
- adds r0, r2, r4
- ldr r1, =gUnknown_03005DC0
- ldr r1, [r1, 0x4]
- subs r3, r1, r2
- cmp r0, r1
- bge _08088124
- adds r3, r4, 0
-_08088124:
- str r6, [sp]
- movs r0, 0x8
- str r0, [sp, 0x4]
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r2, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_8087F54
-_08088138:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80880E0
-
- thumb_func_start MapGridGetZCoordAt
-@ u8 MapGridGetZCoordAt(s32 x, s32 y)
-MapGridGetZCoordAt: @ 8088144
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _08088174
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _08088174
- cmp r4, 0
- blt _08088174
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _08088174
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088196
- .pool
-_08088174:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088196:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _080881A8
- lsrs r0, r1, 12
- b _080881AA
- .pool
-_080881A8:
- movs r0, 0
-_080881AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridGetZCoordAt
-
- thumb_func_start MapGridIsImpassableAt
-@ u8 MapGridIsImpassableAt(s32 x, s32 y)
-MapGridIsImpassableAt: @ 80881B0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- blt _080881E0
- ldr r1, =gUnknown_03005DC0
- ldr r3, [r1]
- cmp r2, r3
- bge _080881E0
- cmp r4, 0
- blt _080881E0
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bge _080881E0
- adds r0, r3, 0
- muls r0, r4
- adds r0, r2, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _08088202
- .pool
-_080881E0:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r2, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r4, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r1, r0
-_08088202:
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _0808821C
- movs r0, 0xC0
- lsls r0, 4
- ands r1, r0
- lsrs r0, r1, 10
- b _0808821E
- .pool
-_0808821C:
- movs r0, 0x1
-_0808821E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MapGridIsImpassableAt
-
- thumb_func_start MapGridGetMetatileIdAt
-@ u16 MapGridGetMetatileIdAt(s32 x, s32 y)
-MapGridGetMetatileIdAt: @ 8088224
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- blt _08088254
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r5, r2
- bge _08088254
- cmp r6, 0
- blt _08088254
- ldr r0, [r1, 0x4]
- cmp r6, r0
- bge _08088254
- adds r0, r2, 0
- muls r0, r6
- adds r0, r5, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- b _08088278
- .pool
-_08088254:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- adds r4, r0, 0
- orrs r4, r1
-_08088278:
- ldr r0, =0x000003ff
- cmp r4, r0
- beq _0808828C
- ands r4, r0
- adds r0, r4, 0
- b _080882B0
- .pool
-_0808828C:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r5, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r6, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- ands r0, r4
-_080882B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end MapGridGetMetatileIdAt
-
- thumb_func_start MapGridGetMetatileBehaviorAt
-@ u8 MapGridGetMetatileBehaviorAt(s32 x, s32 y)
-MapGridGetMetatileBehaviorAt: @ 80882BC
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xFF
- ands r0, r1
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileBehaviorAt
-
- thumb_func_start MapGridGetMetatileLayerTypeAt
-@ u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y)
-MapGridGetMetatileLayerTypeAt: @ 80882D4
- push {lr}
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- adds r1, r0, 0
- movs r0, 0xF0
- lsls r0, 8
- ands r0, r1
- lsrs r0, 12
- pop {r1}
- bx r1
- thumb_func_end MapGridGetMetatileLayerTypeAt
-
- thumb_func_start MapGridSetMetatileIdAt
-@ void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId)
-MapGridSetMetatileIdAt: @ 80882F0
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088328
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088328
- cmp r1, 0
- blt _08088328
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088328
- muls r1, r4
- adds r1, r3, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- movs r2, 0xF0
- lsls r2, 8
- ands r2, r0
- ldr r0, =0x00000fff
- ands r0, r5
- orrs r2, r0
- strh r2, [r1]
-_08088328:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileIdAt
-
- thumb_func_start MapGridSetMetatileEntryAt
-@ void MapGridSetMetatileEntryAt(s32 x, s32 y, u16 metatileEntry)
-MapGridSetMetatileEntryAt: @ 8088338
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r2, 16
- lsrs r5, r2, 16
- cmp r3, 0
- blt _08088364
- ldr r2, =gUnknown_03005DC0
- ldr r4, [r2]
- cmp r3, r4
- bge _08088364
- cmp r1, 0
- blt _08088364
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _08088364
- adds r0, r4, 0
- muls r0, r1
- adds r0, r3, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- strh r5, [r0]
-_08088364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapGridSetMetatileEntryAt
-
- thumb_func_start GetBehaviorByMetatileId
-@ u16 GetBehaviorByMetatileId(u16 metatileId)
-GetBehaviorByMetatileId: @ 8088370
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- ldr r0, =0x000001ff
- cmp r2, r0
- bhi _08088394
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r1, [r0, 0x10]
- lsls r0, r2, 1
- b _080883B2
- .pool
-_08088394:
- ldr r0, =0x000003ff
- cmp r2, r0
- bls _080883A4
- movs r0, 0xFF
- b _080883B6
- .pool
-_080883A4:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- ldr r1, [r0, 0x10]
- lsls r0, r3, 1
- adds r0, r1
- ldr r1, =0xfffffc00
-_080883B2:
- adds r0, r1
- ldrh r0, [r0]
-_080883B6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetBehaviorByMetatileId
-
- thumb_func_start save_serialize_map
-save_serialize_map: @ 80883C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r4, r1, 0
- adds r4, 0x34
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0
- ldrsh r6, [r1, r0]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r1, r0, 0
- adds r1, 0xE
- cmp r0, r1
- bge _08088420
- mov r12, r1
- ldr r1, =gUnknown_02032318
- mov r9, r1
- lsls r7, r6, 1
-_080883F2:
- adds r1, r6, 0
- adds r3, r1, 0
- adds r3, 0xF
- adds r5, r0, 0x1
- cmp r1, r3
- bge _0808841A
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- lsls r0, 1
- add r0, r9
- adds r2, r7, r0
- subs r1, r3, r1
-_0808840C:
- ldrh r0, [r2]
- strh r0, [r4]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _0808840C
-_0808841A:
- adds r0, r5, 0
- cmp r0, r12
- blt _080883F2
-_08088420:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end save_serialize_map
-
- thumb_func_start sub_8088438
-sub_8088438: @ 8088438
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x34
- ldr r4, =0x000001ff
-_08088448:
- lsls r0, r1, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- orrs r2, r0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bls _08088448
- cmp r2, 0
- beq _0808846C
- movs r0, 0
- b _0808846E
- .pool
-_0808846C:
- movs r0, 0x1
-_0808846E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088438
-
- thumb_func_start sav2_mapdata_clear
-sav2_mapdata_clear: @ 8088474
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r1, 0x34
- ldr r2, =0x01000100
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sav2_mapdata_clear
-
- thumb_func_start mapdata_from_sav2
-mapdata_from_sav2: @ 808849C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r7, r0, 0
- adds r7, 0x34
- bl sub_8088438
- cmp r0, 0
- bne _080885AC
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [r4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r10, r1
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r8, r1
- mov r6, r8
- adds r0, r6, 0
- adds r0, 0xE
- cmp r6, r0
- bge _0808855A
-_080884D6:
- cmp r6, r8
- bne _080884EC
- cmp r6, 0
- beq _080884EC
- movs r0, 0
- mov r9, r0
- b _08088508
- .pool
-_080884EC:
- mov r0, r8
- adds r0, 0xD
- movs r1, 0xFF
- mov r9, r1
- cmp r6, r0
- bne _08088508
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- beq _08088508
- movs r2, 0x1
- mov r9, r2
-_08088508:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- mov r1, r8
- adds r1, 0xE
- str r1, [sp, 0x8]
- adds r2, r6, 0x1
- str r2, [sp, 0x4]
- cmp r5, r0
- bge _08088552
- ldr r0, [sp]
- lsls r3, r0, 16
-_08088520:
- ldr r1, [sp]
- adds r0, r1, 0
- muls r0, r6
- adds r0, r5, r0
- lsls r0, 1
- ldr r1, =gUnknown_02032318
- adds r4, r0, r1
- adds r0, r4, 0
- lsrs r1, r3, 16
- mov r2, r9
- str r3, [sp, 0xC]
- bl sub_8088BF0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- bne _08088546
- ldrh r0, [r7]
- strh r0, [r4]
-_08088546:
- adds r7, 0x2
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088520
-_08088552:
- ldr r6, [sp, 0x4]
- ldr r2, [sp, 0x8]
- cmp r6, r2
- blt _080884D6
-_0808855A:
- mov r5, r10
- adds r0, r5, 0
- adds r0, 0xF
- cmp r5, r0
- bge _080885A8
- mov r0, r8
- subs r0, 0x1
- lsls r0, 16
- mov r9, r0
- lsls r4, r5, 16
- mov r0, r8
- adds r0, 0xD
- lsls r7, r0, 16
-_08088574:
- mov r0, r8
- cmp r0, 0
- beq _08088584
- asrs r0, r4, 16
- mov r2, r9
- asrs r1, r2, 16
- bl sub_80D423C
-_08088584:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r6, r0
- bge _08088598
- asrs r0, r4, 16
- asrs r1, r7, 16
- bl sub_80D42B8
-_08088598:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r5, 0x1
- mov r0, r10
- adds r0, 0xF
- cmp r5, r0
- blt _08088574
-_080885A8:
- bl sav2_mapdata_clear
-_080885AC:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapdata_from_sav2
-
- thumb_func_start sub_80885C4
-sub_80885C4: @ 80885C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_03005DC0
- ldr r0, [r0]
- str r0, [sp]
- movs r4, 0
- mov r9, r4
- mov r8, r4
- movs r0, 0
- ldrsh r6, [r1, r0]
- str r6, [sp, 0x8]
- movs r4, 0x2
- ldrsh r5, [r1, r4]
- movs r7, 0xF
- movs r6, 0xE
- mov r12, r6
- cmp r3, 0x2
- beq _0808861E
- cmp r3, 0x2
- bgt _08088614
- cmp r3, 0x1
- beq _08088626
- b _0808863E
- .pool
-_08088614:
- cmp r2, 0x3
- beq _08088630
- cmp r2, 0x4
- beq _08088638
- b _0808863E
-_0808861E:
- adds r5, 0x1
- movs r0, 0xD
- mov r12, r0
- b _0808863E
-_08088626:
- movs r1, 0x1
- mov r8, r1
- movs r3, 0xD
- mov r12, r3
- b _0808863E
-_08088630:
- ldr r4, [sp, 0x8]
- adds r4, 0x1
- str r4, [sp, 0x8]
- b _0808863C
-_08088638:
- movs r6, 0x1
- mov r9, r6
-_0808863C:
- movs r7, 0xE
-_0808863E:
- movs r1, 0
- cmp r1, r12
- bge _08088682
- ldr r0, =gUnknown_02032318
- mov r10, r0
-_08088648:
- adds r4, r1, 0x1
- cmp r7, 0
- beq _0808867C
- adds r0, r1, r5
- ldr r3, [sp]
- adds r2, r3, 0
- muls r2, r0
- add r1, r8
- lsls r0, r1, 4
- subs r0, r1
- add r0, r9
- ldr r6, [sp, 0x8]
- adds r2, r6, r2
- adds r3, r7, 0
- lsls r2, 1
- add r2, r10
- lsls r0, 1
- ldr r6, [sp, 0x4]
- adds r1, r0, r6
-_0808866E:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _0808866E
-_0808867C:
- adds r1, r4, 0
- cmp r1, r12
- blt _08088648
-_08088682:
- bl sav2_mapdata_clear
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80885C4
-
- thumb_func_start GetMapBorderIdAt
-@ u32 GetMapBorderIdAt(s32 x, s32 y)
-GetMapBorderIdAt: @ 808869C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r4, 0
- blt _080886D8
- ldr r1, =gUnknown_03005DC0
- ldr r2, [r1]
- cmp r4, r2
- bge _080886D8
- cmp r5, 0
- blt _080886D8
- ldr r0, [r1, 0x4]
- cmp r5, r0
- bge _080886D8
- adds r0, r2, 0
- muls r0, r5
- adds r0, r4, r0
- ldr r1, [r1, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x000003ff
- cmp r1, r0
- beq _08088770
- b _08088700
- .pool
-_080886D8:
- ldr r0, =gMapHeader
- ldr r3, [r0]
- adds r1, r4, 0x1
- movs r2, 0x1
- ands r1, r2
- adds r0, r5, 0x1
- ands r0, r2
- lsls r0, 1
- adds r1, r0
- ldr r0, [r3, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- orrs r0, r1
- ldr r1, =0x000003ff
- cmp r0, r1
- beq _08088770
-_08088700:
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- subs r0, 0x8
- cmp r4, r0
- blt _0808872C
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x4
- b _08088782
- .pool
-_0808872C:
- cmp r4, 0x6
- bgt _08088744
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x3
- b _08088782
- .pool
-_08088744:
- ldr r0, [r1, 0x4]
- subs r0, 0x7
- cmp r5, r0
- blt _08088760
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08088770
- movs r0, 0x1
- b _08088782
- .pool
-_08088760:
- cmp r5, 0x6
- bgt _08088780
- ldr r0, =gUnknown_02037340
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0808877C
-_08088770:
- movs r0, 0x1
- negs r0, r0
- b _08088782
- .pool
-_0808877C:
- movs r0, 0x2
- b _08088782
-_08088780:
- movs r0, 0
-_08088782:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetMapBorderIdAt
-
- thumb_func_start GetPostCameraMoveMapBorderId
-@ u32 GetPostCameraMoveMapBorderId(s32 deltaX, s32 deltaY)
-GetPostCameraMoveMapBorderId: @ 8088788
- push {r4,lr}
- adds r3, r1, 0
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- movs r4, 0
- ldrsh r2, [r1, r4]
- adds r0, 0x7
- adds r2, r0
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- adds r3, 0x7
- adds r1, r3
- adds r0, r2, 0
- bl GetMapBorderIdAt
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPostCameraMoveMapBorderId
-
- thumb_func_start CanCameraMoveInDirection
-@ bool32 CanCameraMoveInDirection(u8 direction)
-CanCameraMoveInDirection: @ 80887B0
- push {r4,r5,lr}
- ldr r1, =gSaveBlock1Ptr
- ldr r4, [r1]
- movs r1, 0
- ldrsh r3, [r4, r1]
- ldr r2, =gUnknown_08339D64
- lsls r0, 3
- adds r1, r0, r2
- ldr r1, [r1]
- adds r1, 0x7
- adds r3, r1
- movs r5, 0x2
- ldrsh r1, [r4, r5]
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- adds r0, 0x7
- adds r1, r0
- adds r0, r3, 0
- bl GetMapBorderIdAt
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080887F0
- movs r0, 0x1
- b _080887F2
- .pool
-_080887F0:
- movs r0, 0
-_080887F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CanCameraMoveInDirection
-
- thumb_func_start sub_80887F8
-sub_80887F8: @ 80887F8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- bl mapconnection_get_mapheader
- adds r3, r0, 0
- cmp r4, 0x2
- beq _08088860
- cmp r4, 0x2
- bgt _08088816
- cmp r4, 0x1
- beq _0808884C
- b _08088872
-_08088816:
- cmp r4, 0x3
- beq _08088834
- cmp r4, 0x4
- bne _08088872
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- negs r0, r6
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_08088834:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r3]
- ldr r0, [r0]
- strh r0, [r1]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1, 0x2]
- subs r0, r2
- b _08088870
- .pool
-_0808884C:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- negs r0, r7
- b _08088870
- .pool
-_08088860:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r2, [r5, 0x4]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
-_08088870:
- strh r0, [r1, 0x2]
-_08088872:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80887F8
-
- thumb_func_start CameraMove
-@ u8 CameraMove(s32 deltaX, s32 deltaY)
-CameraMove: @ 808887C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r9, r1
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- ldr r2, =gCamera
- strb r1, [r2]
- mov r0, r10
- mov r1, r9
- bl GetPostCameraMoveMapBorderId
- adds r7, r0, 0
- adds r0, r7, 0x1
- cmp r0, 0x1
- bhi _080888C4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- b _08088932
- .pool
-_080888C4:
- bl save_serialize_map
- bl sub_81BE72C
- ldr r1, =gSaveBlock1Ptr
- ldr r0, [r1]
- movs r2, 0
- ldrsh r5, [r0, r2]
- movs r1, 0x2
- ldrsh r6, [r0, r1]
- lsls r2, r7, 24
- lsrs r2, 24
- mov r8, r2
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8088950
- adds r4, r0, 0
- adds r1, r7, 0
- mov r2, r10
- mov r3, r9
- bl sub_80887F8
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0x9]
- bl mliX_load_map
- ldr r1, =gCamera
- ldrb r0, [r1]
- movs r1, 0x1
- orrs r0, r1
- ldr r2, =gCamera
- strb r0, [r2]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- subs r5, r0
- ldr r0, =gCamera
- str r5, [r0, 0x4]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r6, r0
- ldr r0, =gCamera
- str r6, [r0, 0x8]
- ldrh r0, [r1]
- add r0, r10
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- add r0, r9
- strh r0, [r1, 0x2]
- mov r0, r8
- bl sub_80885C4
-_08088932:
- ldr r0, =gCamera
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CameraMove
-
- thumb_func_start sub_8088950
-sub_8088950: @ 8088950
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- mov r8, r2
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0xC]
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _08088998
-_0808896E:
- ldrb r0, [r4]
- cmp r0, r6
- bne _08088990
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- adds r3, r4, 0
- bl sub_80889A8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08088990
- adds r0, r4, 0
- b _0808899A
- .pool
-_08088990:
- adds r5, 0x1
- adds r4, 0xC
- cmp r5, r7
- blt _0808896E
-_08088998:
- movs r0, 0
-_0808899A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088950
-
- thumb_func_start sub_80889A8
-sub_80889A8: @ 80889A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r5, 0
- bl mapconnection_get_mapheader
- adds r2, r0, 0
- cmp r4, 0x1
- blt _08088A00
- cmp r4, 0x2
- bgt _080889E0
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r0, [r2]
- ldr r2, [r0]
- ldr r3, [r5, 0x4]
- adds r0, r7, 0
- b _080889F2
- .pool
-_080889E0:
- cmp r6, 0x4
- bgt _08088A00
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- ldr r0, [r2]
- ldr r2, [r0, 0x4]
- ldr r3, [r5, 0x4]
- mov r0, r8
-_080889F2:
- bl sub_8088A0C
- lsls r0, 24
- lsrs r0, 24
- b _08088A02
- .pool
-_08088A00:
- movs r0, 0
-_08088A02:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80889A8
-
- thumb_func_start sub_8088A0C
-sub_8088A0C: @ 8088A0C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r2, 0
- adds r2, r3, 0
- cmp r3, 0
- bge _08088A1A
- movs r3, 0
-_08088A1A:
- adds r2, r0, r2
- cmp r2, r1
- bge _08088A22
- adds r1, r2, 0
-_08088A22:
- cmp r3, r4
- bgt _08088A2E
- cmp r4, r1
- bgt _08088A2E
- movs r0, 0x1
- b _08088A30
-_08088A2E:
- movs r0, 0
-_08088A30:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A0C
-
- thumb_func_start sub_8088A38
-sub_8088A38: @ 8088A38
- push {lr}
- cmp r0, 0
- blt _08088A46
- cmp r0, r1
- bge _08088A46
- movs r0, 0x1
- b _08088A48
-_08088A46:
- movs r0, 0
-_08088A48:
- pop {r1}
- bx r1
- thumb_func_end sub_8088A38
-
- thumb_func_start sub_8088A4C
-sub_8088A4C: @ 8088A4C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl mapconnection_get_mapheader
- adds r1, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- blt _08088A84
- cmp r0, 0x2
- bgt _08088A72
- ldr r0, [r4, 0x4]
- subs r0, r5, r0
- ldr r1, [r1]
- ldr r1, [r1]
- bl sub_8088A38
- b _08088A86
-_08088A72:
- cmp r0, 0x4
- bgt _08088A84
- ldr r0, [r4, 0x4]
- subs r0, r6, r0
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- bl sub_8088A38
- b _08088A86
-_08088A84:
- movs r0, 0
-_08088A86:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A4C
-
- thumb_func_start sub_8088A8C
-sub_8088A8C: @ 8088A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gMapHeader
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _08088AB4
- b _08088B2A
- .pool
-_08088AB0:
- adds r0, r4, 0
- b _08088B2C
-_08088AB4:
- ldr r7, [r0]
- ldr r4, [r0, 0x4]
- movs r6, 0
- cmp r6, r7
- bge _08088B2A
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r9, r2
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- mov r10, r0
-_08088ACC:
- ldrb r1, [r4]
- adds r3, r1, 0
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08088B22
- cmp r1, 0x2
- bne _08088AE2
- cmp r5, 0x6
- bgt _08088B22
-_08088AE2:
- cmp r1, 0x1
- bne _08088AF2
- mov r2, r9
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- adds r0, 0x7
- cmp r5, r0
- blt _08088B22
-_08088AF2:
- mov r0, r8
- lsls r2, r0, 16
- cmp r1, 0x3
- bne _08088B00
- mov r1, r10
- cmp r1, 0x6
- bgt _08088B22
-_08088B00:
- cmp r3, 0x4
- bne _08088B12
- asrs r1, r2, 16
- mov r3, r9
- ldr r0, [r3]
- ldr r0, [r0]
- adds r0, 0x7
- cmp r1, r0
- blt _08088B22
-_08088B12:
- asrs r1, r2, 16
- subs r1, 0x7
- adds r0, r4, 0
- subs r2, r5, 0x7
- bl sub_8088A4C
- cmp r0, 0x1
- beq _08088AB0
-_08088B22:
- adds r6, 0x1
- adds r4, 0xC
- cmp r6, r7
- blt _08088ACC
-_08088B2A:
- movs r0, 0
-_08088B2C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8088A8C
-
- thumb_func_start sub_8088B3C
-sub_8088B3C: @ 8088B3C
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- subs r0, 0x7
- strh r0, [r2]
- subs r1, 0x7
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end sub_8088B3C
-
- thumb_func_start sav1_camera_get_focus_coords
-sav1_camera_get_focus_coords: @ 8088B58
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- adds r2, 0x7
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- adds r0, 0x7
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sav1_camera_get_focus_coords
-
- thumb_func_start SetCameraCoords
-@ void SetCameraCoords(u16 x, u16 y)
-SetCameraCoords: @ 8088B70
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- strh r0, [r2]
- strh r1, [r2, 0x2]
- bx lr
- .pool
- thumb_func_end SetCameraCoords
-
- thumb_func_start GetCameraCoords
-@ void GetCameraCoords(u16 *x, u16 *y)
-GetCameraCoords: @ 8088B80
- ldr r2, =gSaveBlock1Ptr
- ldr r3, [r2]
- ldrh r2, [r3]
- strh r2, [r0]
- ldrh r0, [r3, 0x2]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end GetCameraCoords
-
- thumb_func_start sub_8088B94
-sub_8088B94: @ 8088B94
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- adds r5, r2, 0
- cmp r4, 0
- blt _08088BE6
- ldr r2, =gUnknown_03005DC0
- ldr r1, [r2]
- cmp r4, r1
- bge _08088BE6
- cmp r3, 0
- blt _08088BE6
- ldr r0, [r2, 0x4]
- cmp r3, r0
- bge _08088BE6
- cmp r5, 0
- beq _08088BD4
- adds r0, r1, 0
- muls r0, r3
- adds r0, r4, r0
- ldr r1, [r2, 0x8]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0xC0
- lsls r3, 4
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- b _08088BE6
- .pool
-_08088BD4:
- muls r1, r3
- adds r1, r4, r1
- ldr r0, [r2, 0x8]
- lsls r1, 1
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, =0x0000f3ff
- ands r0, r2
- strh r0, [r1]
-_08088BE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8088B94
-
- thumb_func_start sub_8088BF0
-sub_8088BF0: @ 8088BF0
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r1, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0xFF
- beq _08088C24
- cmp r2, 0
- bne _08088C0C
- lsls r0, 1
- subs r3, r0
- b _08088C10
-_08088C0C:
- lsls r0, r1, 1
- adds r3, r0
-_08088C10:
- ldrh r1, [r3]
- ldr r0, =0x000003ff
- ands r0, r1
- adds r1, r2, 0
- bl sub_80FADE4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08088C2C
-_08088C24:
- movs r0, 0
- b _08088C2E
- .pool
-_08088C2C:
- movs r0, 0x1
-_08088C2E:
- pop {r1}
- bx r1
- thumb_func_end sub_8088BF0
-
- thumb_func_start copy_tileset_patterns_to_vram
-@ void copy_tileset_patterns_to_vram(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram: @ 8088C34
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088C70
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088C60
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088C70
-_08088C60:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl decompress_and_copy_tile_data_to_vram
-_08088C70:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram
-
- thumb_func_start copy_tileset_patterns_to_vram2
-@ void copy_tileset_patterns_to_vram2(tileset *tileset, int num_tiles, int offset)
-copy_tileset_patterns_to_vram2: @ 8088C78
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- lsls r2, 16
- lsrs r5, r2, 16
- adds r7, r5, 0
- cmp r3, 0
- beq _08088CB4
- ldrb r0, [r3]
- cmp r0, 0
- bne _08088CA4
- ldr r1, [r3, 0x4]
- lsls r2, r4, 21
- lsrs r2, 16
- movs r0, 0x2
- adds r3, r5, 0
- bl LoadBgTiles
- b _08088CB4
-_08088CA4:
- ldr r1, [r3, 0x4]
- lsls r2, r6, 5
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- adds r3, r7, 0
- bl copy_decompressed_tile_data_to_vram_autofree
-_08088CB4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end copy_tileset_patterns_to_vram2
-
- thumb_func_start nullsub_3
-nullsub_3: @ 8088CBC
- bx lr
- thumb_func_end nullsub_3
-
- thumb_func_start nullsub_90
-nullsub_90: @ 8088CC0
- bx lr
- thumb_func_end nullsub_90
-
- thumb_func_start apply_map_tileset_palette
-@ void apply_map_tileset_palette(tileset *tileset, int dest_offset, int size)
-apply_map_tileset_palette: @ 8088CC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- lsls r6, r2, 16
- lsrs r7, r6, 16
- adds r2, r7, 0
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- cmp r4, 0
- beq _08088D42
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08088D18
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, [r4, 0x8]
- adds r0, 0x2
- adds r5, 0x1
- lsls r5, 16
- lsrs r5, 16
- subs r4, r7, 0x2
- lsls r2, r4, 16
- lsrs r2, 16
- adds r1, r5, 0
- bl LoadPalette
- lsls r4, 15
- lsrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl nullsub_3
- b _08088D42
-_08088D18:
- cmp r0, 0x1
- bne _08088D32
- ldr r0, [r4, 0x8]
- adds r0, 0xC0
- adds r1, r5, 0
- adds r2, r7, 0
- bl LoadPalette
- lsrs r1, r6, 17
- adds r0, r5, 0
- bl nullsub_3
- b _08088D42
-_08088D32:
- ldr r0, [r4, 0x8]
- mov r1, r8
- bl LoadCompressedPalette
- lsrs r1, r6, 17
- mov r0, r8
- bl nullsub_3
-_08088D42:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset_palette
-
- thumb_func_start copy_map_tileset1_to_vram
-@ void copy_map_tileset1_to_vram(mapdata_header *a1)
-copy_map_tileset1_to_vram: @ 8088D50
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 2
- movs r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram
-@ void copy_map_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset2_to_vram: @ 8088D64
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram
-
- thumb_func_start copy_map_tileset2_to_vram_2
-@ void copy_map_tileset2_to_vram_2(mapdata_header *a1)
-copy_map_tileset2_to_vram_2: @ 8088D78
- push {lr}
- ldr r0, [r0, 0x14]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- bl copy_tileset_patterns_to_vram2
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset2_to_vram_2
-
- thumb_func_start apply_map_tileset1_palette
-@ void apply_map_tileset1_palette(mapdata_header *a1)
-apply_map_tileset1_palette: @ 8088D8C
- push {lr}
- ldr r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0xC0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_palette
-
- thumb_func_start apply_map_tileset2_palette
-@ void apply_map_tileset2_palette(mapdata_header *a1)
-apply_map_tileset2_palette: @ 8088D9C
- push {lr}
- ldr r0, [r0, 0x14]
- movs r1, 0x60
- movs r2, 0xE0
- bl apply_map_tileset_palette
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset2_palette
-
- thumb_func_start copy_map_tileset1_tileset2_to_vram
-@ void copy_map_tileset1_tileset2_to_vram(mapdata_header *a1)
-copy_map_tileset1_tileset2_to_vram: @ 8088DAC
- push {r4,r5,lr}
- adds r5, r0, 0
- cmp r5, 0
- beq _08088DCC
- ldr r0, [r5, 0x10]
- movs r4, 0x80
- lsls r4, 2
- adds r1, r4, 0
- movs r2, 0
- bl copy_tileset_patterns_to_vram2
- ldr r0, [r5, 0x14]
- adds r1, r4, 0
- adds r2, r4, 0
- bl copy_tileset_patterns_to_vram2
-_08088DCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end copy_map_tileset1_tileset2_to_vram
-
- thumb_func_start apply_map_tileset1_tileset2_palette
-@ void apply_map_tileset1_tileset2_palette(mapdata_header *a1)
-apply_map_tileset1_tileset2_palette: @ 8088DD4
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08088DE6
- bl apply_map_tileset1_palette
- adds r0, r4, 0
- bl apply_map_tileset2_palette
-_08088DE6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end apply_map_tileset1_tileset2_palette
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s
index efdc114a2..3cfbe215a 100644
--- a/asm/fldeff_80F9BCC.s
+++ b/asm/fldeff_80F9BCC.s
@@ -467,7 +467,7 @@ _080F9F54:
thumb_func_start sub_80F9F5C
sub_80F9F5C: @ 80F9F5C
push {lr}
- ldr r0, =gUnknown_0203AB40
+ ldr r0, =gPlayerFacingPosition
ldr r1, =gMapHeader
ldr r1, [r1, 0x4]
bl sub_80E9608
@@ -567,12 +567,12 @@ sub_80FA004: @ 80FA004
ldrh r0, [r0]
cmp r0, 0x1
beq _080FA0AE
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _080FA0AE
- ldr r4, =gUnknown_0203AB40
+ ldr r4, =gPlayerFacingPosition
adds r1, r4, 0x2
adds r0, r4, 0
bl GetXYCoordsOneStepInFrontOfPlayer
@@ -590,10 +590,10 @@ sub_80FA004: @ 80FA004
cmp r0, 0x1
bne _080FA070
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA0DC
b _080FA0C0
.pool
@@ -605,10 +605,10 @@ _080FA070:
cmp r0, 0x1
bne _080FA0A0
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA1E8
b _080FA0C0
.pool
@@ -624,10 +624,10 @@ _080FA0AE:
b _080FA0C4
_080FA0B2:
bl sub_80F9F5C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_80FA34C
_080FA0C0:
str r0, [r1]
@@ -824,7 +824,7 @@ sub_80FA234: @ 80FA234
thumb_func_start sub_80FA248
sub_80FA248: @ 80FA248
push {r4,lr}
- ldr r1, =gUnknown_0203AB40
+ ldr r1, =gPlayerFacingPosition
movs r2, 0
ldrsh r0, [r1, r2]
movs r2, 0x2
@@ -1493,7 +1493,7 @@ sub_80FA794: @ 80FA794
lsls r1, 16
lsrs r4, r1, 16
adds r6, r4, 0
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1722,7 +1722,7 @@ _080FA9CA:
sub_80FA9D0: @ 80FA9D0
push {r4,lr}
sub sp, 0x4
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r2, =gPlayerAvatar
ldrb r1, [r2, 0x5]
lsls r0, r1, 3
@@ -1815,7 +1815,7 @@ sub_80FAA7C: @ 80FAA7C
movs r3, 0
ldrsh r0, [r4, r3]
str r0, [r1, 0x18]
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -2200,8 +2200,8 @@ _080FAE2A:
.pool
thumb_func_end sub_80FADE4
- thumb_func_start task50_overworld_posion_effect
-task50_overworld_posion_effect: @ 80FAE38
+ thumb_func_start task50_overworld_poison_effect
+task50_overworld_poison_effect: @ 80FAE38
push {lr}
lsls r0, 24
lsrs r2, r0, 24
@@ -2260,32 +2260,32 @@ _080FAE92:
_080FAEA2:
pop {r0}
bx r0
- thumb_func_end task50_overworld_posion_effect
+ thumb_func_end task50_overworld_poison_effect
- thumb_func_start overworld_posion_effect
-overworld_posion_effect: @ 80FAEA8
+ thumb_func_start overworld_poison_effect
+overworld_poison_effect: @ 80FAEA8
push {lr}
movs r0, 0x4F
bl PlaySE
- ldr r0, =task50_overworld_posion_effect
+ ldr r0, =task50_overworld_poison_effect
movs r1, 0x50
bl CreateTask
pop {r0}
bx r0
.pool
- thumb_func_end overworld_posion_effect
+ thumb_func_end overworld_poison_effect
- thumb_func_start c3_80A0DD8_is_running
-c3_80A0DD8_is_running: @ 80FAEC0
+ thumb_func_start FieldPoisonEffectIsRunning
+FieldPoisonEffectIsRunning: @ 80FAEC0
push {lr}
- ldr r0, =task50_overworld_posion_effect
+ ldr r0, =task50_overworld_poison_effect
bl FuncIsActiveTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
- thumb_func_end c3_80A0DD8_is_running
+ thumb_func_end FieldPoisonEffectIsRunning
thumb_func_start sub_80FAED4
sub_80FAED4: @ 80FAED4
@@ -2312,32 +2312,32 @@ sub_80FAEF0: @ 80FAEF0
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
beq _080FAF1C
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080FAF4E
_080FAF1C:
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
bl sub_808C228
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
ldr r1, =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -2362,10 +2362,10 @@ sub_80FAF64: @ 80FAF64
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r5, r0, r1
adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
beq _080FAFC8
@@ -2381,15 +2381,15 @@ sub_80FAF64: @ 80FAF64
asrs r0, 16
cmp r0, 0x9
bgt _080FAFC4
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
+ bl GetWalkInPlaceNormalMovementAction
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
b _080FAFC8
.pool
_080FAFC4:
@@ -2431,8 +2431,8 @@ sub_80FAFF8: @ 80FAFF8
.pool
thumb_func_end sub_80FAFF8
- thumb_func_start sub_80FB00C
-sub_80FB00C: @ 80FB00C
+ thumb_func_start CreateRecordMixingSprite
+CreateRecordMixingSprite: @ 80FB00C
push {r4,r5,lr}
ldr r0, =gUnknown_0858E864
bl LoadSpritePalette
@@ -2478,10 +2478,10 @@ _080FB06E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_80FB00C
+ thumb_func_end CreateRecordMixingSprite
- thumb_func_start sub_80FB074
-sub_80FB074: @ 80FB074
+ thumb_func_start DestroyRecordMixingSprite
+DestroyRecordMixingSprite: @ 80FB074
push {r4-r7,lr}
ldr r4, =gSprites
adds r7, r4, 0
@@ -2509,6 +2509,6 @@ _080FB098:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80FB074
+ thumb_func_end DestroyRecordMixingSprite
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
deleted file mode 100755
index 71137b705..000000000
--- a/asm/fldeff_cut.s
+++ /dev/null
@@ -1,1486 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D3718
-sub_80D3718: @ 80D3718
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r0, 0x52
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3754
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_80D3A9C
- str r0, [r1]
- movs r0, 0x1
- b _080D3A2C
- .pool
-_080D3754:
- ldr r0, =gUnknown_0203AB40
- adds r1, r0, 0x2
- bl PlayerGetDestCoords
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- cmp r0, 0x34
- bne _080D3798
- ldr r1, =gUnknown_03001100
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, =gUnknown_03001101
- movs r1, 0x2
- b _080D37A2
- .pool
-_080D3798:
- ldr r1, =gUnknown_03001100
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =gUnknown_03001101
- movs r1, 0x1
-_080D37A2:
- strb r1, [r0]
- ldr r0, =gUnknown_03001102
- strb r1, [r0]
- movs r6, 0
- movs r1, 0
-_080D37AC:
- mov r2, sp
- adds r0, r2, r6
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x8
- bls _080D37AC
- movs r6, 0
- ldr r2, =gUnknown_03001108
- movs r1, 0
-_080D37C2:
- adds r0, r6, r2
- strb r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x18
- bls _080D37C2
- movs r3, 0
- str r3, [sp, 0x10]
- movs r6, 0
-_080D37D6:
- ldr r4, =0x0000ffff
- adds r0, r6, r4
- ldr r1, =gUnknown_0203AB40
- ldrh r1, [r1, 0x2]
- adds r0, r1
- movs r5, 0
- adds r2, r6, 0x1
- str r2, [sp, 0x18]
- lsls r7, r6, 1
- lsls r0, 16
- str r0, [sp, 0x14]
- asrs r0, 16
- mov r10, r0
- lsls r0, r6, 2
- adds r0, r6
- mov r9, r0
-_080D37F6:
- ldr r3, =0x0000ffff
- adds r0, r5, r3
- ldr r4, =gUnknown_0203AB40
- ldrh r4, [r4]
- adds r0, r4
- lsls r0, 16
- lsrs r1, r0, 16
- mov r8, r1
- asrs r4, r0, 16
- adds r0, r4, 0
- mov r1, r10
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_0203AB40
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080D38BC
- adds r0, r4, 0
- mov r1, r10
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D3846
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3856
-_080D3846:
- adds r0, r5, 0x6
- add r0, r9
- ldr r3, =gUnknown_03001108
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- str r0, [sp, 0x10]
-_080D3856:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- ldr r2, [sp, 0x14]
- asrs r1, r2, 16
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3890
- adds r0, r7, r6
- adds r0, r5
- mov r3, sp
- adds r1, r3, r0
- b _080D38C4
- .pool
-_080D3890:
- adds r0, r7, r6
- adds r0, r5
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl MetatileBehavior_IsCuttableGrass
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080D38C8
- adds r0, r5, 0x6
- add r0, r9
- ldr r3, =gUnknown_03001108
- adds r0, r3
- strb r1, [r0]
- b _080D38C8
- .pool
-_080D38BC:
- adds r0, r7, r6
- adds r0, r5
- mov r4, sp
- adds r1, r4, r0
-_080D38C4:
- movs r0, 0
- strb r0, [r1]
-_080D38C8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080D37F6
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bhi _080D38DE
- b _080D37D6
-_080D38DE:
- ldr r2, [sp, 0xC]
- cmp r2, 0x34
- beq _080D38EE
- ldr r3, [sp, 0x10]
- cmp r3, 0x1
- beq _080D38EC
- b _080D3A2A
-_080D38EC:
- b _080D3A1E
-_080D38EE:
- movs r6, 0
- ldr r4, =gUnknown_0203AB40
- mov r9, r4
- ldr r0, =gUnknown_0857C608
- mov r10, r0
-_080D38F8:
- lsls r2, r6, 2
- mov r3, r10
- adds r1, r2, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- mov r4, r9
- ldrh r4, [r4]
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r0, 0x1
- ldrsb r0, [r1, r0]
- mov r1, r9
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0x1
- movs r5, 0
- ldr r3, =gUnknown_0857C60A
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r6, 0x1
- str r6, [sp, 0x18]
- adds r6, r2, 0
- cmp r0, 0
- beq _080D395A
-_080D3930:
- adds r1, r2, 0
- adds r0, r5, r2
- adds r0, r3
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D39F4
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bhi _080D395A
- adds r0, r5, r1
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080D3930
-_080D395A:
- cmp r7, 0x1
- bne _080D3A0C
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080D3A0C
- mov r3, r10
- adds r2, r6, r3
- movs r1, 0x1
- ldrsb r1, [r2, r1]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0xC
- ldrb r2, [r2]
- adds r0, r2
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D39BC
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D39F8
-_080D39BC:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_ruin_valley
- str r0, [r1]
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- strb r7, [r0]
- movs r4, 0x1
- str r4, [sp, 0x10]
- b _080D3A0C
- .pool
-_080D39F4:
- movs r7, 0
- b _080D395A
-_080D39F8:
- adds r0, r4, 0
- bl MetatileBehavior_IsCuttableGrass
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080D3A0C
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- strb r1, [r0]
-_080D3A0C:
- ldr r1, [sp, 0x18]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0xF
- bhi _080D3A18
- b _080D38F8
-_080D3A18:
- ldr r2, [sp, 0x10]
- cmp r2, 0x1
- bne _080D3A2A
-_080D3A1E:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_ruin_valley
- str r0, [r1]
-_080D3A2A:
- ldr r0, [sp, 0x10]
-_080D3A2C:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3718
-
- thumb_func_start hm2_ruin_valley
-hm2_ruin_valley: @ 80D3A50
- push {lr}
- movs r0, 0x1
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_ruin_valley
-
- thumb_func_start sub_80D3A6C
-sub_80D3A6C: @ 80D3A6C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80D3AEC
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3A6C
-
- thumb_func_start sub_80D3A9C
-sub_80D3A9C: @ 80D3A9C
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =Route103_EventScript_290705
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D3A9C
-
- thumb_func_start sub_80D3ABC
-sub_80D3ABC: @ 80D3ABC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_80D4354
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3ABC
-
- thumb_func_start sub_80D3AEC
-sub_80D3AEC: @ 80D3AEC
- push {lr}
- movs r0, 0x1
- bl FieldEffectActiveListRemove
- movs r0, 0x3A
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80D3AEC
-
- thumb_func_start sub_80D3B00
-sub_80D3B00: @ 80D3B00
- push {r4-r7,lr}
- movs r6, 0
- movs r0, 0x80
- bl PlaySE
- ldr r4, =gUnknown_0203AB40
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- adds r7, r4, 0
-_080D3B16:
- ldr r0, =gUnknown_03001108
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D3B64
- adds r0, r6, 0
- movs r1, 0x5
- bl __umodsi3
- adds r4, r0, 0
- subs r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x5
- bl __udivsi3
- adds r5, r0, 0
- subs r5, 0x2
- lsls r4, 24
- asrs r4, 24
- ldrh r0, [r7]
- adds r4, r0
- lsls r5, 24
- asrs r5, 24
- ldrh r2, [r7, 0x2]
- adds r5, r2
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80D3C10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808E75C
-_080D3B64:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x18
- bls _080D3B16
- ldr r2, =gUnknown_0203AB40
- ldr r0, =gUnknown_03001101
- ldrb r1, [r0]
- ldrh r0, [r2]
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldr r1, =gUnknown_03001102
- ldrb r1, [r1]
- mvns r1, r1
- ldrh r2, [r2, 0x2]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80D3D5C
- bl DrawWholeMapView
- ldr r4, =gUnknown_02039DD0
- movs r0, 0x8
- bl AllocZeroed
- str r0, [r4]
- movs r6, 0
- ldr r5, =gSprites
-_080D3BA0:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r2, 0x80
- lsls r2, 12
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r0]
- adds r2, 0x14
- ldr r0, =gUnknown_0857C66C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- lsls r1, r6, 5
- strh r1, [r0, 0x32]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x7
- bls _080D3BA0
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3B00
-
- thumb_func_start sub_80D3C10
-sub_80D3C10: @ 80D3C10
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r0, 16
- asrs r4, r0, 16
- lsrs r7, r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x00000207
- cmp r1, r0
- bgt _080D3C5C
- subs r0, 0x1
- cmp r1, r0
- bge _080D3CD4
- cmp r1, 0x25
- beq _080D3CF6
- cmp r1, 0x25
- bgt _080D3C4C
- cmp r1, 0xD
- beq _080D3C9C
- cmp r1, 0x15
- beq _080D3C9C
- b _080D3D00
- .pool
-_080D3C4C:
- movs r0, 0xE3
- lsls r0, 1
- cmp r1, r0
- beq _080D3CAC
- adds r0, 0x1
- cmp r1, r0
- beq _080D3CB2
- b _080D3D00
-_080D3C5C:
- ldr r0, =0x00000212
- cmp r1, r0
- beq _080D3CE4
- cmp r1, r0
- bgt _080D3C78
- subs r0, 0xA
- cmp r1, r0
- beq _080D3C9C
- adds r0, 0x2
- cmp r1, r0
- beq _080D3CE4
- b _080D3D00
- .pool
-_080D3C78:
- ldr r0, =0x00000282
- cmp r1, r0
- beq _080D3CC4
- cmp r1, r0
- bgt _080D3C90
- subs r0, 0x1
- cmp r1, r0
- beq _080D3CBC
- b _080D3D00
- .pool
-_080D3C90:
- ldr r0, =0x00000283
- cmp r1, r0
- beq _080D3CCC
- b _080D3D00
- .pool
-_080D3C9C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080D3D00
-_080D3CAC:
- movs r2, 0xE7
- lsls r2, 1
- b _080D3CD6
-_080D3CB2:
- ldr r2, =0x000001cf
- b _080D3CD6
- .pool
-_080D3CBC:
- ldr r2, =0x00000279
- b _080D3CD6
- .pool
-_080D3CC4:
- ldr r2, =0x0000027a
- b _080D3CD6
- .pool
-_080D3CCC:
- ldr r2, =0x0000027b
- b _080D3CD6
- .pool
-_080D3CD4:
- ldr r2, =0x00000271
-_080D3CD6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080D3D00
- .pool
-_080D3CE4:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x86
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080D3D00
-_080D3CF6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl MapGridSetMetatileIdAt
-_080D3D00:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3C10
-
- thumb_func_start sub_80D3D08
-sub_80D3D08: @ 80D3D08
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x1
- bne _080D3D24
- movs r0, 0x1
- b _080D3D56
-_080D3D24:
- ldr r0, =0x00000279
- cmp r1, r0
- bne _080D3D34
- movs r0, 0x2
- b _080D3D56
- .pool
-_080D3D34:
- ldr r0, =0x0000027a
- cmp r1, r0
- bne _080D3D44
- movs r0, 0x3
- b _080D3D56
- .pool
-_080D3D44:
- ldr r0, =0x0000027b
- cmp r2, r0
- beq _080D3D54
- movs r0, 0
- b _080D3D56
- .pool
-_080D3D54:
- movs r0, 0x4
-_080D3D56:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3D08
-
- thumb_func_start sub_80D3D5C
-sub_80D3D5C: @ 80D3D5C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r1, =gUnknown_03001100
- ldrb r2, [r1]
- mov r3, r10
- adds r0, r2, r3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- movs r4, 0
- cmp r4, r2
- blt _080D3D8A
- b _080D3EA0
-_080D3D8A:
- lsls r0, r3, 16
- asrs r7, r0, 16
-_080D3D8E:
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- lsls r4, 16
- asrs r1, r4, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- mov r8, r4
- cmp r0, 0x15
- bne _080D3E12
- adds r4, r7, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D3DE8
- cmp r0, 0x2
- bgt _080D3DD0
- cmp r0, 0x1
- beq _080D3DDA
- b _080D3E12
- .pool
-_080D3DD0:
- cmp r0, 0x3
- beq _080D3DF8
- cmp r0, 0x4
- beq _080D3E08
- b _080D3E12
-_080D3DDA:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x82
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080D3E12
-_080D3DE8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000281
- bl MapGridSetMetatileIdAt
- b _080D3E12
- .pool
-_080D3DF8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000282
- bl MapGridSetMetatileIdAt
- b _080D3E12
- .pool
-_080D3E08:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000283
- bl MapGridSetMetatileIdAt
-_080D3E12:
- lsls r0, r6, 16
- asrs r5, r0, 16
- ldr r3, [sp]
- lsls r0, r3, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080D3E8C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D3E44
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D3E44:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D3E5C
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x00000279
- bl MapGridSetMetatileIdAt
-_080D3E5C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D3E74
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x0000027a
- bl MapGridSetMetatileIdAt
-_080D3E74:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D3E8C
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, =0x0000027b
- bl MapGridSetMetatileIdAt
-_080D3E8C:
- movs r1, 0x80
- lsls r1, 9
- add r1, r8
- lsrs r4, r1, 16
- asrs r1, 16
- ldr r0, =gUnknown_03001100
- ldrb r0, [r0]
- cmp r1, r0
- bge _080D3EA0
- b _080D3D8E
-_080D3EA0:
- ldr r1, =gUnknown_03001100
- ldrb r0, [r1]
- cmp r0, 0x5
- bne _080D3EC8
- mov r3, r9
- lsls r5, r3, 16
- asrs r5, 16
- mov r0, r10
- lsls r4, r0, 16
- asrs r4, 16
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D3EF4
- movs r0, 0x1
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D3EF4
-_080D3EC8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D3D5C
-
- thumb_func_start sub_80D3EF4
-sub_80D3EF4: @ 80D3EF4
- 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
- lsls r1, 16
- lsrs r5, r1, 16
- adds r3, r5, 0
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- cmp r0, 0
- bne _080D3F2C
- mov r2, sp
- ldr r1, =gUnknown_03001108
- ldrb r0, [r1, 0x5]
- strb r0, [r2]
- ldrb r0, [r1, 0xA]
- strb r0, [r2, 0x1]
- ldrb r0, [r1, 0xF]
- strb r0, [r2, 0x2]
- mov r8, r5
- b _080D3F4E
- .pool
-_080D3F2C:
- cmp r0, 0x1
- beq _080D3F32
- b _080D414A
-_080D3F32:
- mov r2, sp
- ldr r1, =gUnknown_03001108
- ldrb r0, [r1, 0x9]
- strb r0, [r2]
- ldrb r0, [r1, 0xE]
- strb r0, [r2, 0x1]
- ldrb r0, [r1, 0x13]
- strb r0, [r2, 0x2]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 11
- adds r0, r1
- lsrs r0, 16
- mov r8, r0
-_080D3F4E:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080D3FC6
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- adds r4, r0, 0x3
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D3F7E
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D3F7E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D3F96
- ldr r2, =0x00000279
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3F96:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D3FAE
- ldr r2, =0x0000027a
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3FAE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D3FC6
- ldr r2, =0x0000027b
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D3FC6:
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _080D40C0
- mov r0, r8
- lsls r5, r0, 16
- asrs r6, r5, 16
- mov r1, r10
- lsls r4, r1, 16
- asrs r7, r4, 16
- adds r1, r7, 0x2
- adds r0, r6, 0
- bl MapGridGetMetatileIdAt
- mov r9, r4
- cmp r0, 0x15
- bne _080D4056
- adds r4, r7, 0x3
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r6, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D4034
- cmp r0, 0x2
- bgt _080D4024
- cmp r0, 0x1
- beq _080D402E
- b _080D4056
- .pool
-_080D4024:
- cmp r0, 0x3
- beq _080D403C
- cmp r0, 0x4
- beq _080D404C
- b _080D4056
-_080D402E:
- movs r2, 0x82
- lsls r2, 2
- b _080D403E
-_080D4034:
- ldr r2, =0x00000281
- b _080D403E
- .pool
-_080D403C:
- ldr r2, =0x00000282
-_080D403E:
- adds r0, r6, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D4056
- .pool
-_080D404C:
- ldr r2, =0x00000283
- adds r0, r6, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D4056:
- asrs r5, 16
- mov r1, r9
- asrs r0, r1, 16
- adds r4, r0, 0x4
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080D4078
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080D4078:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000281
- cmp r0, r1
- bne _080D4090
- ldr r2, =0x00000279
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D4090:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000282
- cmp r0, r1
- bne _080D40A8
- ldr r2, =0x0000027a
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D40A8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, =0x00000283
- cmp r0, r1
- bne _080D40C0
- ldr r2, =0x0000027b
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D40C0:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- bne _080D414A
- mov r1, r8
- lsls r0, r1, 16
- asrs r5, r0, 16
- mov r1, r10
- lsls r0, r1, 16
- asrs r4, r0, 16
- adds r1, r4, 0x3
- adds r0, r5, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x15
- bne _080D414A
- adds r4, 0x4
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D4128
- cmp r0, 0x2
- bgt _080D4118
- cmp r0, 0x1
- beq _080D4122
- b _080D414A
- .pool
-_080D4118:
- cmp r0, 0x3
- beq _080D4130
- cmp r0, 0x4
- beq _080D4140
- b _080D414A
-_080D4122:
- movs r2, 0x82
- lsls r2, 2
- b _080D4132
-_080D4128:
- ldr r2, =0x00000281
- b _080D4132
- .pool
-_080D4130:
- ldr r2, =0x00000282
-_080D4132:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D414A
- .pool
-_080D4140:
- ldr r2, =0x00000283
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D414A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D3EF4
-
- thumb_func_start objc_8097BA8
-objc_8097BA8: @ 80D4160
- movs r2, 0
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x34]
- ldr r1, =objc_8097BBC
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end objc_8097BA8
-
- thumb_func_start objc_8097BBC
-objc_8097BBC: @ 80D4174
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r1, 0x1
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 18
- adds r1, r0
- strh r1, [r4, 0x2E]
- adds r2, 0x1
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1C
- beq _080D41C0
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080D41C4
-_080D41C0:
- ldr r0, =sub_80D41D0
- str r0, [r4, 0x1C]
-_080D41C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end objc_8097BBC
-
- thumb_func_start sub_80D41D0
-sub_80D41D0: @ 80D41D0
- push {r4-r6,lr}
- movs r4, 0x1
-_080D41D4:
- ldr r6, =gUnknown_02039DD0
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080D41D4
- ldr r0, [r6]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3A
- bl FieldEffectStop
- ldr r0, [r6]
- bl Free
- movs r0, 0
- str r0, [r6]
- bl sub_80984F4
- bl ScriptContext2_Disable
- bl unown_chamber_related
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D422A
- ldr r0, =FarawayIsland_Interior_EventScript_267EDB
- bl ScriptContext1_SetupScript
-_080D422A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D41D0
-
- thumb_func_start sub_80D423C
-sub_80D423C: @ 80D423C
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsLongGrass_Duplicate
- lsls r0, 24
- cmp r0, 0
- beq _080D42AE
- adds r4, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80D3D08
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080D428A
- cmp r0, 0x2
- bgt _080D427A
- cmp r0, 0x1
- beq _080D4284
- b _080D42AE
-_080D427A:
- cmp r0, 0x3
- beq _080D4294
- cmp r0, 0x4
- beq _080D42A4
- b _080D42AE
-_080D4284:
- movs r2, 0x82
- lsls r2, 2
- b _080D4296
-_080D428A:
- ldr r2, =0x00000281
- b _080D4296
- .pool
-_080D4294:
- ldr r2, =0x00000282
-_080D4296:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- b _080D42AE
- .pool
-_080D42A4:
- ldr r2, =0x00000283
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
-_080D42AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D423C
-
- thumb_func_start sub_80D42B8
-sub_80D42B8: @ 80D42B8
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080D434A
- adds r5, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsLongGrassSouthEdge
- lsls r0, 24
- cmp r0, 0
- beq _080D434A
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, =0x00000281
- cmp r1, r0
- beq _080D4328
- cmp r1, r0
- bgt _080D4308
- subs r0, 0x79
- cmp r1, r0
- beq _080D431C
- b _080D434A
- .pool
-_080D4308:
- ldr r0, =0x00000282
- cmp r1, r0
- beq _080D4330
- adds r0, 0x1
- cmp r1, r0
- beq _080D4340
- b _080D434A
- .pool
-_080D431C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080D434A
-_080D4328:
- ldr r2, =0x00000279
- b _080D4332
- .pool
-_080D4330:
- ldr r2, =0x0000027a
-_080D4332:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080D434A
- .pool
-_080D4340:
- ldr r2, =0x0000027b
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
-_080D434A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D42B8
-
- thumb_func_start sub_80D4354
-sub_80D4354: @ 80D4354
- push {lr}
- movs r0, 0x80
- bl PlaySE
- movs r0, 0x2
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80D4354
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_groundshake.s b/asm/fldeff_groundshake.s
deleted file mode 100755
index 81d92430e..000000000
--- a/asm/fldeff_groundshake.s
+++ /dev/null
@@ -1,596 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81BE66C
-sub_81BE66C: @ 81BE66C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD0
- lsls r0, 5
- cmp r1, r0
- bne _081BE690
- movs r0, 0xA7
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081BE692
- .pool
-_081BE690:
- movs r0, 0
-_081BE692:
- pop {r1}
- bx r1
- thumb_func_end sub_81BE66C
-
- thumb_func_start sub_81BE698
-sub_81BE698: @ 81BE698
- push {lr}
- ldr r0, =gUnknown_0203CF18
- ldr r0, [r0]
- adds r0, 0x4
- bl sub_8151E50
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE698
-
- thumb_func_start sub_81BE6AC
-sub_81BE6AC: @ 81BE6AC
- ldr r1, =gUnknown_0203CF18
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81BE6AC
-
- thumb_func_start sub_81BE6B8
-sub_81BE6B8: @ 81BE6B8
- push {r4,lr}
- ldr r4, =gUnknown_0203CF18
- ldr r0, [r4]
- cmp r0, 0
- beq _081BE6CC
- movs r0, 0
- str r0, [r4]
- b _081BE718
- .pool
-_081BE6CC:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD0
- lsls r0, 5
- cmp r1, r0
- bne _081BE718
- movs r0, 0xA7
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081BE718
- movs r0, 0xC8
- bl AllocZeroed
- str r0, [r4]
- adds r0, 0x4
- bl sub_8151B3C
- ldr r0, [r4]
- adds r0, 0x4
- ldr r1, =gUnknown_08617E18
- bl sub_8151B68
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8151CA8
- ldr r0, =sub_81BE698
- movs r1, 0xFF
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1]
-_081BE718:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE6B8
-
- thumb_func_start sub_81BE72C
-sub_81BE72C: @ 81BE72C
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD0
- lsls r0, 5
- cmp r1, r0
- bne _081BE788
- movs r0, 0xA7
- lsls r0, 1
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081BE788
- ldr r4, =gUnknown_0203CF18
- ldr r0, [r4]
- cmp r0, 0
- beq _081BE788
- ldr r0, =sub_81BE698
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _081BE766
- ldr r0, [r4]
- ldrb r0, [r0]
- bl DestroyTask
-_081BE766:
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8151D28
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8151C50
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
-_081BE788:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE72C
-
- thumb_func_start sub_81BE79C
-sub_81BE79C: @ 81BE79C
- push {r4,lr}
- ldr r0, =0x000040cb
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _081BE7B8
- movs r0, 0xA7
- lsls r0, 1
- bl FlagClear
- b _081BE7EE
- .pool
-_081BE7B8:
- bl Random
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- ands r4, r0
- movs r0, 0x9D
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081BE7D4
- movs r4, 0x1
-_081BE7D4:
- cmp r4, 0
- beq _081BE7E6
- movs r0, 0xA7
- lsls r0, 1
- bl FlagSet
- bl sub_81BE6B8
- b _081BE7EE
-_081BE7E6:
- movs r0, 0xA7
- lsls r0, 1
- bl FlagClear
-_081BE7EE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81BE79C
-
- thumb_func_start sub_81BE7F4
-sub_81BE7F4: @ 81BE7F4
- push {lr}
- ldr r0, =sub_81BE808
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE7F4
-
- thumb_func_start sub_81BE808
-sub_81BE808: @ 81BE808
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x2D
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- mov r0, sp
- ldrb r0, [r0]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 2
- ldr r4, =gMapObjects
- adds r2, r4
- ldr r3, =gSprites
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, 0x4
- strh r1, [r0, 0x26]
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r2, 0x4]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r4, 0x22
- ldrsh r2, [r0, r4]
- movs r4, 0x26
- ldrsh r0, [r0, r4]
- adds r2, r0
- ldrb r1, [r1, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r3, 0x22
- ldrsh r1, [r0, r3]
- movs r4, 0x26
- ldrsh r0, [r0, r4]
- adds r1, r0
- cmp r2, r1
- blt _081BE882
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_081BE882:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE808
-
- thumb_func_start sp136_strengh_sound
-sp136_strengh_sound: @ 81BE89C
- 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, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =sub_81BE900
- movs r1, 0x9
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- strh r6, [r1, 0xE]
- mov r0, r8
- strh r0, [r1, 0x10]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0xD6
- bl PlaySE
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp136_strengh_sound
-
- thumb_func_start sub_81BE900
-sub_81BE900: @ 81BE900
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _081BE95C
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- bl SetCameraPanning
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081BE95C
- bl sub_81BE968
- adds r0, r5, 0
- bl DestroyTask
- bl InstallCameraPanAheadCallback
-_081BE95C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE900
-
- thumb_func_start sub_81BE968
-sub_81BE968: @ 81BE968
- push {lr}
- ldr r0, =sub_81BE9C0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _081BE988
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081BE988:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE968
-
- thumb_func_start sub_81BE994
-sub_81BE994: @ 81BE994
- push {lr}
- ldr r0, =gUnknown_08617D94
- bl LoadSpriteSheets
- bl sub_81BEA20
- ldr r0, =sub_81BE9C0
- movs r1, 0x8
- bl CreateTask
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0x3
- bl sp136_strengh_sound
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE994
-
- thumb_func_start sub_81BE9C0
-sub_81BE9C0: @ 81BE9C0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r4, =gTasks + 0x8
- adds r2, r3, r4
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
- lsls r0, 16
- movs r1, 0xFA
- lsls r1, 18
- cmp r0, r1
- beq _081BE9E6
- ldrh r0, [r2]
- cmp r0, 0x11
- bne _081BE9F0
-_081BE9E6:
- adds r0, r4, 0
- subs r0, 0x8
- adds r0, r3, r0
- ldr r1, =sub_81BEA00
- str r1, [r0]
-_081BE9F0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BE9C0
-
- thumb_func_start sub_81BEA00
-sub_81BEA00: @ 81BEA00
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xFA
- lsls r0, 4
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81BEA00
-
- thumb_func_start sub_81BEA20
-sub_81BEA20: @ 81BEA20
- push {r4-r7,lr}
- movs r4, 0
- ldr r5, =gUnknown_08617D64
- adds r7, r5, 0x2
- ldr r6, =gSprites
-_081BEA2A:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- adds r1, r0, r5
- ldrh r1, [r1]
- adds r1, 0x78
- lsls r1, 16
- asrs r1, 16
- adds r0, r7
- movs r3, 0
- ldrsh r2, [r0, r3]
- ldr r0, =gUnknown_08617E60
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0xF
- ands r2, r1
- strb r2, [r0, 0x5]
- strh r4, [r0, 0x2E]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081BEA2A
- movs r4, 0
- ldr r5, =gUnknown_08617D64
- adds r7, r5, 0x2
- ldr r6, =gSprites
-_081BEA78:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- adds r1, r0, r5
- ldrh r1, [r1]
- adds r1, 0x73
- lsls r1, 16
- asrs r1, 16
- adds r0, r7
- ldrh r2, [r0]
- subs r2, 0x3
- lsls r2, 16
- asrs r2, 16
- ldr r0, =gUnknown_08617E34
- movs r3, 0x8
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0xF
- ands r2, r1
- strb r2, [r0, 0x5]
- strh r4, [r0, 0x2E]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081BEA78
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEA20
-
- thumb_func_start sub_81BEAD8
-sub_81BEAD8: @ 81BEAD8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- movs r0, 0x22
- ldrsh r3, [r4, r0]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- adds r3, r0
- ldr r2, =gUnknown_08617D64
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- adds r2, 0x4
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r3, r0
- ble _081BEB1A
- adds r0, r4, 0
- bl DestroySprite
- bl sub_81BE968
-_081BEB1A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEAD8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_softboiled.s b/asm/fldeff_softboiled.s
deleted file mode 100755
index c3aa4f1ed..000000000
--- a/asm/fldeff_softboiled.s
+++ /dev/null
@@ -1,339 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start hm_prepare_dive_probably
-hm_prepare_dive_probably: @ 8161508
- push {r4-r6,lr}
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x64
- muls r0, r6
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- muls r0, r6
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x5
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- bhi _08161558
- movs r0, 0
- b _0816155A
- .pool
-_08161558:
- movs r0, 0x1
-_0816155A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end hm_prepare_dive_probably
-
- thumb_func_start sub_8161560
-sub_8161560: @ 8161560
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0xA
- strb r1, [r0, 0xB]
- ldrb r1, [r0, 0x9]
- strb r1, [r0, 0xA]
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0x5
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8161560
-
- thumb_func_start sub_81615A8
-sub_81615A8: @ 81615A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- str r4, [sp, 0x4]
- ldr r1, =gUnknown_0203CEC8
- ldrb r7, [r1, 0x9]
- mov r8, r7
- ldrb r0, [r1, 0xA]
- adds r5, r0, 0
- cmp r5, 0x6
- bls _081615EC
- movs r0, 0
- strb r0, [r1, 0xB]
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
- b _08161658
- .pool
-_081615EC:
- movs r0, 0x64
- mov r10, r0
- mov r0, r10
- muls r0, r5
- ldr r1, =gPlayerParty
- mov r9, r1
- adds r6, r0, r1
- adds r0, r6, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0816161A
- cmp r7, r5
- beq _0816161A
- adds r0, r6, 0
- movs r1, 0x3A
- bl GetMonData
- cmp r0, r4
- bne _08161628
-_0816161A:
- ldr r0, [sp, 0x4]
- bl sub_81617B8
- b _08161658
- .pool
-_08161628:
- movs r0, 0x1
- bl PlaySE
- mov r1, r10
- mov r0, r8
- muls r0, r1
- add r0, r9
- movs r1, 0x3A
- bl GetMonData
- movs r1, 0x5
- bl __udivsi3
- adds r3, r0, 0
- lsls r3, 16
- asrs r3, 16
- movs r2, 0x1
- negs r2, r2
- ldr r0, =sub_816166C
- str r0, [sp]
- ldr r0, [sp, 0x4]
- mov r1, r8
- bl sub_81B1F18
-_08161658:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81615A8
-
- thumb_func_start sub_816166C
-sub_816166C: @ 816166C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl PlaySE
- ldr r5, =gUnknown_0203CEC8
- movs r1, 0x9
- ldrsb r1, [r5, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- movs r1, 0x5
- bl __udivsi3
- adds r3, r0, 0
- lsls r3, 16
- asrs r3, 16
- ldrb r1, [r5, 0xA]
- ldr r0, =sub_81616C0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_81B1F18
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816166C
-
- thumb_func_start sub_81616C0
-sub_81616C0: @ 81616C0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CEC8
- movs r1, 0xA
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- ldr r4, =gStringVar4
- ldr r1, =gText_PkmnHPRestoredByVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8161724
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81616C0
-
- thumb_func_start sub_8161724
-sub_8161724: @ 8161724
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08161772
- ldr r4, =gUnknown_0203CEC8
- movs r0, 0
- strb r0, [r4, 0xB]
- ldrb r0, [r4, 0x9]
- movs r1, 0
- bl sub_81B0FCC
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- ldrb r0, [r4, 0xA]
- movs r1, 0x1
- bl sub_81B0FCC
- movs r0, 0x6
- movs r1, 0
- bl sub_8198070
- movs r0, 0x6
- bl ClearWindowTilemap
- movs r0, 0
- bl display_pokemon_menu_message
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81B1370
- str r1, [r0]
-_08161772:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8161724
-
- thumb_func_start sub_8161784
-sub_8161784: @ 8161784
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81B1BD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081617AA
- movs r0, 0x5
- bl display_pokemon_menu_message
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81B1370
- str r0, [r1]
-_081617AA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8161784
-
- thumb_func_start sub_81617B8
-sub_81617B8: @ 81617B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gText_CantBeUsedOnPkmn
- movs r1, 0
- bl sub_81B1B5C
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8161784
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81617B8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s
deleted file mode 100644
index 53a088aa3..000000000
--- a/asm/fldeff_strength.s
+++ /dev/null
@@ -1,93 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start hm_prepare_rocksmash
-hm_prepare_rocksmash: @ 8145DC4
- push {r4,lr}
- movs r0, 0x57
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08145DD8
- movs r0, 0
- b _08145DF2
-_08145DD8:
- ldr r4, =gSpecialVar_Result
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =sub_8145E0C
- str r0, [r1]
- movs r0, 0x1
-_08145DF2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end hm_prepare_rocksmash
-
- thumb_func_start sub_8145E0C
-sub_8145E0C: @ 8145E0C
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, =FieryPath_EventScript_2908FD
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8145E0C
-
- thumb_func_start sub_8145E2C
-sub_8145E2C: @ 8145E2C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_8145E74
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, =gFieldEffectArguments
- ldr r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gStringVar1
- bl GetMonNickname
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8145E2C
-
- thumb_func_start sub_8145E74
-sub_8145E74: @ 8145E74
- push {lr}
- movs r0, 0x28
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8145E74
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s
deleted file mode 100644
index eea0df12f..000000000
--- a/asm/fldeff_sweetscent.s
+++ /dev/null
@@ -1,220 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpFieldMove_SweetScent
-SetUpFieldMove_SweetScent: @ 8159EF0
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm2_sweet_scent
- str r0, [r1]
- movs r0, 0x1
- bx lr
- .pool
- thumb_func_end SetUpFieldMove_SweetScent
-
- thumb_func_start hm2_sweet_scent
-hm2_sweet_scent: @ 8159F10
- push {lr}
- movs r0, 0x33
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm2_sweet_scent
-
- thumb_func_start FldEff_SweetScent
-FldEff_SweetScent: @ 8159F2C
- push {lr}
- bl sub_80AC3D0
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_8159F5C
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end FldEff_SweetScent
-
- thumb_func_start sub_8159F5C
-sub_8159F5C: @ 8159F5C
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xEC
- bl PlaySE
- ldr r5, =gPlttBufferUnfaded
- ldr r1, =gPaletteDecompressionBuffer
- movs r4, 0x80
- lsls r4, 1
- adds r0, r5, 0
- adds r2, r4, 0
- bl CpuFastSet
- ldr r0, =gPlttBufferFaded
- adds r1, r5, 0
- adds r2, r4, 0
- bl CpuFastSet
- bl GetPlayerAvatarObjectId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- mvns r0, r0
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x8
- bl BeginNormalPaletteFade
- ldr r0, =sub_8159FEC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x33
- bl FieldEffectActiveListRemove
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8159F5C
-
- thumb_func_start sub_8159FEC
-sub_8159FEC: @ 8159FEC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0815A088
- bl sub_81BE72C
- movs r0, 0x40
- movs r1, 0x8
- movs r2, 0x1F
- bl BlendPalettes
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x40
- bne _0815A084
- strh r6, [r4, 0x8]
- bl SweetScentWildEncounter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0815A044
- adds r0, r5, 0
- bl DestroyTask
- b _0815A088
- .pool
-_0815A044:
- ldr r0, =sub_815A090
- str r0, [r4]
- bl GetPlayerAvatarObjectId
- ldr r2, =gSprites
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- mvns r0, r0
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x8
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_81BE6B8
- b _0815A088
- .pool
-_0815A084:
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
-_0815A088:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8159FEC
-
- thumb_func_start sub_815A090
-sub_815A090: @ 815A090
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0815A0BE
- ldr r0, =gPaletteDecompressionBuffer
- ldr r1, =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuFastSet
- bl sub_80AC3E4
- ldr r0, =EventScript_290CAE
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
-_0815A0BE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_815A090
-
- .align 2, 0 @ Don't pad with nop.
-
diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s
deleted file mode 100644
index 17bab1496..000000000
--- a/asm/fldeff_teleport.s
+++ /dev/null
@@ -1,84 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpFieldMove_Teleport
-SetUpFieldMove_Teleport: @ 817C8BC
- push {lr}
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x17]
- bl is_light_level_1_2_3_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0817C8D8
- movs r0, 0
- b _0817C8E6
- .pool
-_0817C8D8:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
- str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
- ldr r0, =hm_teleport_run_dp02scr
- str r0, [r1]
- movs r0, 0x1
-_0817C8E6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end SetUpFieldMove_Teleport
-
- thumb_func_start hm_teleport_run_dp02scr
-hm_teleport_run_dp02scr: @ 817C8FC
- push {lr}
- bl sub_808469C
- movs r0, 0x3F
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end hm_teleport_run_dp02scr
-
- thumb_func_start FldEff_UseTeleport
-FldEff_UseTeleport: @ 817C91C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, =sub_817C94C
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end FldEff_UseTeleport
-
- thumb_func_start sub_817C94C
-sub_817C94C: @ 817C94C
- push {lr}
- movs r0, 0x3F
- bl FieldEffectActiveListRemove
- bl sub_80B7FC8
- pop {r0}
- bx r0
- thumb_func_end sub_817C94C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s
index 6883743ec..eb7cb8ada 100755..100644
--- a/asm/fossil_specials.s
+++ b/asm/fossil_specials.s
@@ -5,893 +5,6 @@
.text
- thumb_func_start sub_81BEB24
-sub_81BEB24: @ 81BEB24
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gUnknown_08617DA4
-_081BEB2A:
- lsls r2, r4, 2
- adds r2, r5
- ldrb r0, [r2]
- adds r0, 0x7
- ldrb r1, [r2, 0x1]
- adds r1, 0x7
- ldrh r2, [r2, 0x2]
- bl MapGridSetMetatileIdAt
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x11
- bls _081BEB2A
- bl DrawWholeMapView
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEB24
-
- thumb_func_start sub_81BEB54
-sub_81BEB54: @ 81BEB54
- push {lr}
- ldr r0, =sub_81BED50
- movs r1, 0x9
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEB54
-
- thumb_func_start sub_81BEB68
-sub_81BEB68: @ 81BEB68
- push {lr}
- ldr r0, =sub_81BEBF4
- movs r1, 0x9
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEB68
-
- thumb_func_start sub_81BEB7C
-sub_81BEB7C: @ 81BEB7C
- push {lr}
- ldr r0, =sub_81BF028
- movs r1, 0x9
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEB7C
-
- thumb_func_start sub_81BEB90
-sub_81BEB90: @ 81BEB90
- push {r4,lr}
- ldr r4, =gUnknown_0203CF14
- ldr r0, [r4]
- ldrh r1, [r0]
- movs r0, 0x10
- bl SetGpuReg
- ldr r0, [r4]
- ldrh r1, [r0, 0x2]
- movs r0, 0x12
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEB90
-
- thumb_func_start sub_81BEBB4
-sub_81BEBB4: @ 81BEBB4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r2, 0x8]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _081BEBEC
- ldr r0, =gUnknown_0203CF14
- ldr r1, [r0]
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- movs r0, 0x2
- strh r0, [r2, 0x8]
- bl sub_81BEB90
- b _081BEBF0
- .pool
-_081BEBEC:
- subs r0, r1, 0x1
- strh r0, [r2, 0x8]
-_081BEBF0:
- pop {r0}
- bx r0
- thumb_func_end sub_81BEBB4
-
- thumb_func_start sub_81BEBF4
-sub_81BEBF4: @ 81BEBF4
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x6
- bls _081BEC10
- b _081BED40
-_081BEC10:
- lsls r0, 2
- ldr r1, =_081BEC24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BEC24:
- .4byte _081BEC40
- .4byte _081BEC50
- .4byte _081BEC88
- .4byte _081BECB0
- .4byte _081BECF8
- .4byte _081BED00
- .4byte _081BED1C
-_081BEC40:
- bl FreeAllWindowBuffers
- movs r0, 0
- movs r1, 0x7
- movs r2, 0x2
- bl SetBgAttribute
- b _081BED04
-_081BEC50:
- ldr r4, =gUnknown_0203CF04
- movs r0, 0x92
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- ldr r4, =gUnknown_0203CF08
- movs r0, 0x80
- lsls r0, 4
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _081BECD8
- .pool
-_081BEC88:
- ldr r0, =gUnknown_08617274
- ldr r4, =gUnknown_0203CF04
- ldr r1, [r4]
- movs r2, 0x92
- lsls r2, 3
- bl CpuSet
- ldr r1, [r4]
- movs r2, 0x92
- lsls r2, 4
- movs r0, 0
- movs r3, 0
- bl LoadBgTiles
- b _081BECD8
- .pool
-_081BECB0:
- ldr r0, =gUnknown_0203CF08
- ldr r1, [r0]
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08617B94
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r2, 0xC
- movs r3, 0x1D
- bl CopyToBgTilemapBufferRect_ChangePalette
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_081BECD8:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _081BED40
- .pool
-_081BECF8:
- movs r0, 0
- bl ShowBg
- b _081BED04
-_081BED00:
- bl sub_81BEB24
-_081BED04:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081BED40
- .pool
-_081BED1C:
- ldr r4, =gUnknown_0203CF14
- movs r0, 0x4
- bl Alloc
- str r0, [r4]
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r2, [r0, 0x2]
- ldr r0, =sub_81BEBB4
- movs r1, 0xA
- bl CreateTask
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_081BED40:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BEBF4
-
- thumb_func_start sub_81BED50
-sub_81BED50: @ 81BED50
- 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 r10, r0
- ldr r1, =gTasks
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r0, 0x7
- bls _081BED7C
- b _081BF002
-_081BED7C:
- lsls r0, 2
- ldr r1, =_081BED90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BED90:
- .4byte _081BEDB0
- .4byte _081BF002
- .4byte _081BEDC4
- .4byte _081BEF64
- .4byte _081BEF94
- .4byte _081BEFD0
- .4byte _081BEFF0
- .4byte _081BEFF8
-_081BEDB0:
- ldr r4, =gUnknown_0203CF10
- movs r0, 0xC0
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- b _081BF002
- .pool
-_081BEDC4:
- mov r1, r10
- lsls r0, r1, 2
- adds r1, r0, r1
- lsls r1, 3
- adds r2, r1, r6
- ldrh r3, [r2, 0xE]
- movs r4, 0xE
- ldrsh r1, [r2, r4]
- str r0, [sp, 0x8]
- cmp r1, 0x5F
- bgt _081BEE8A
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- ble _081BEE7C
- lsls r0, r3, 24
- lsrs r4, r0, 24
- movs r0, 0x30
- bl Alloc
- ldr r3, =gUnknown_0203CF10
- ldr r1, [r3]
- lsls r2, r4, 3
- adds r1, r2, r1
- str r0, [r1]
- movs r5, 0
- adds r4, r2, 0
-_081BEDFA:
- ldr r0, [r3]
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x2F
- bls _081BEDFA
- movs r5, 0
- ldr r7, =gUnknown_0203CF10
- adds r6, r2, 0
-_081BEE14:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x30
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x30
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r7]
- adds r1, r6, r1
- ldr r1, [r1]
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r1, r4
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, r6, r0
- ldr r0, [r0]
- adds r0, r4
- strb r2, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x2F
- bls _081BEE14
- ldr r0, =gTasks
- ldr r1, [sp, 0x8]
- add r1, r10
- lsls r1, 3
- adds r2, r1, r0
- ldrh r3, [r2, 0xE]
- movs r4, 0xE
- ldrsh r1, [r2, r4]
- adds r6, r0, 0
- cmp r1, 0x5F
- bgt _081BEE78
- adds r0, r3, 0x1
- strh r0, [r2, 0xE]
-_081BEE78:
- movs r0, 0
- strh r0, [r2, 0xA]
-_081BEE7C:
- ldr r1, [sp, 0x8]
- add r1, r10
- lsls r1, 3
- adds r1, r6
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_081BEE8A:
- ldr r0, [sp, 0x8]
- add r0, r10
- lsls r0, 3
- adds r0, r6
- ldrb r4, [r0, 0xE]
- ldrb r5, [r0, 0xC]
- lsls r0, r4, 16
- cmp r5, r4
- bcs _081BEF32
- str r0, [sp, 0xC]
-_081BEE9E:
- movs r6, 0
- adds r0, r5, 0x1
- str r0, [sp, 0x4]
- lsls r4, r5, 3
- movs r2, 0x5F
- subs r1, r2, r5
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- mov r9, r0
-_081BEEB2:
- ldr r0, =gUnknown_0203CF04
- ldr r0, [r0]
- ldr r7, =gUnknown_0203CF10
- ldr r3, [r7]
- adds r3, r4, r3
- ldrb r2, [r3, 0x4]
- adds r1, r2, 0x1
- strb r1, [r3, 0x4]
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [r3]
- adds r1, r2
- ldrb r1, [r1]
- add r1, r9
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x1
- mov r8, r2
- str r2, [sp]
- movs r2, 0
- movs r3, 0x30
- bl sub_81BF2B8
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _081BEEB2
- ldr r0, [r7]
- adds r1, r4, r0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2F
- bls _081BEF24
- ldr r0, [r1]
- bl Free
- ldr r0, [r7]
- adds r0, r4, r0
- movs r1, 0
- str r1, [r0]
- ldr r1, [sp, 0x8]
- add r1, r10
- lsls r1, 3
- ldr r4, =gTasks
- adds r1, r4
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- mov r0, r8
- ands r5, r0
- cmp r5, 0x1
- bne _081BEF24
- ldr r0, =gUnknown_0203CF14
- ldr r1, [r0]
- ldrh r0, [r1, 0x2]
- subs r0, 0x1
- strh r0, [r1, 0x2]
-_081BEF24:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- lsrs r5, r0, 16
- ldr r2, [sp, 0xC]
- lsrs r0, r2, 16
- cmp r5, r0
- bcc _081BEE9E
-_081BEF32:
- ldr r0, =gUnknown_0203CF04
- ldr r1, [r0]
- movs r2, 0x92
- lsls r2, 4
- movs r0, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r0, =gUnknown_0203CF10
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2F
- bhi _081BF002
- b _081BF014
- .pool
-_081BEF64:
- movs r0, 0
- bl UnsetBgTilemapBuffer
- ldr r0, =sub_81BEBB4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _081BEF7C
- bl DestroyTask
-_081BEF7C:
- ldr r0, =gUnknown_0203CF14
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
- bl sub_81BEB90
- b _081BF002
- .pool
-_081BEF94:
- ldr r4, =gUnknown_0203CF14
- ldr r0, [r4]
- bl Free
- movs r5, 0
- str r5, [r4]
- ldr r4, =gUnknown_0203CF10
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CF04
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- ldr r4, =gUnknown_0203CF08
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- b _081BF002
- .pool
-_081BEFD0:
- movs r0, 0xC
- movs r1, 0x2
- bl SetGpuRegBits
- movs r0, 0x8
- movs r1, 0
- bl SetGpuRegBits
- movs r0, 0
- movs r1, 0x7
- movs r2, 0
- bl SetBgAttribute
- bl sub_81971D0
- b _081BF002
-_081BEFF0:
- movs r0, 0
- bl ShowBg
- b _081BF002
-_081BEFF8:
- mov r0, r10
- bl DestroyTask
- bl EnableBothScriptContexts
-_081BF002:
- ldr r0, =gTasks
- mov r2, r10
- lsls r1, r2, 2
- add r1, r10
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081BF014:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BED50
-
- thumb_func_start sub_81BF028
-sub_81BF028: @ 81BF028
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bls _081BF04C
- b _081BF228
-_081BF04C:
- lsls r0, 2
- ldr r1, =_081BF060
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081BF060:
- .4byte _081BF080
- .4byte _081BF0B4
- .4byte _081BF0DC
- .4byte _081BF0F0
- .4byte _081BF148
- .4byte _081BF170
- .4byte _081BF1CC
- .4byte _081BF224
-_081BF080:
- ldr r4, =gUnknown_0203CF0C
- movs r0, 0x14
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x80
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1]
- movs r0, 0x8
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0
- strh r0, [r1, 0x10]
- b _081BF228
- .pool
-_081BF0B4:
- ldr r0, =gUnknown_0203CF0C
- ldr r0, [r0]
- ldr r1, [r0]
- movs r5, 0
- ldr r2, =gUnknown_08617C44
-_081BF0BE:
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r1, 0x1
- cmp r5, 0x7F
- bls _081BF0BE
- b _081BF228
- .pool
-_081BF0DC:
- ldr r0, =gUnknown_0203CF0C
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x80
- strh r0, [r1, 0x4]
- b _081BF228
- .pool
-_081BF0F0:
- mov r1, sp
- ldr r0, =gUnknown_08617E00
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, =gUnknown_0203CF0C
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0xC]
- movs r2, 0x10
- negs r2, r2
- mov r0, sp
- movs r1, 0x80
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r4]
- movs r3, 0
- strb r0, [r1, 0x8]
- ldr r2, =gSprites
- ldr r0, [r4]
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x28
- strb r3, [r0]
- ldr r3, [r4]
- ldrb r1, [r3, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x2E]
- ldrb r1, [r3, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x30]
-_081BF148:
- movs r5, 0
- ldr r2, =gUnknown_0203CF0C
-_081BF14C:
- ldr r0, [r2]
- ldr r1, [r0, 0xC]
- lsls r0, r5, 1
- adds r0, r1
- strh r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xFF
- bls _081BF14C
- b _081BF228
- .pool
-_081BF170:
- movs r5, 0
- movs r6, 0xFF
- ldr r0, =0x000001ff
- mov r8, r0
-_081BF178:
- bl Random
- adds r4, r6, 0
- ands r4, r0
- bl Random
- adds r1, r6, 0
- ands r1, r0
- ldr r0, =gUnknown_0203CF0C
- ldr r3, [r0]
- ldr r0, [r3, 0xC]
- lsls r1, 1
- adds r1, r0
- ldrh r2, [r1]
- lsls r4, 1
- adds r4, r0
- ldrh r0, [r4]
- strh r0, [r1]
- strh r2, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bls _081BF178
- ldr r2, =gSprites
- ldrb r1, [r3, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, =sub_81BF248
- str r1, [r0]
- b _081BF228
- .pool
-_081BF1CC:
- ldr r3, =gSprites
- ldr r5, =gUnknown_0203CF0C
- ldr r0, [r5]
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r2, r0, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _081BF238
- adds r0, r2, r3
- bl DestroySprite
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- bl Free
- ldr r0, [r5]
- movs r4, 0
- str r4, [r0, 0xC]
- ldr r0, [r0, 0x4]
- bl Free
- ldr r0, [r5]
- str r4, [r0, 0x4]
- ldr r0, [r0]
- bl Free
- ldr r0, [r5]
- str r4, [r0]
- bl Free
- str r4, [r5]
- b _081BF228
- .pool
-_081BF224:
- bl EnableBothScriptContexts
-_081BF228:
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081BF238:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BF028
-
- thumb_func_start sub_81BF248
-sub_81BF248: @ 81BF248
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, =gUnknown_0203CF0C
- ldr r0, [r0]
- ldrh r0, [r0, 0x10]
- cmp r0, 0xFF
- bls _081BF268
- ldr r0, =SpriteCallbackDummy
- str r0, [r5, 0x1C]
- b _081BF2B0
- .pool
-_081BF268:
- ldrh r1, [r5, 0x22]
- movs r2, 0x22
- ldrsh r0, [r5, r2]
- cmp r0, 0x5F
- ble _081BF2AC
- movs r4, 0
-_081BF274:
- ldr r0, =gUnknown_0203CF0C
- ldr r3, [r0]
- ldr r0, [r3]
- ldrh r1, [r3, 0x10]
- adds r2, r1, 0x1
- strh r2, [r3, 0x10]
- lsls r1, 16
- ldr r2, [r3, 0xC]
- lsrs r1, 15
- adds r1, r2
- ldrh r1, [r1]
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl sub_81BF2B8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _081BF274
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
- b _081BF2B0
- .pool
-_081BF2AC:
- adds r0, r1, 0x1
- strh r0, [r5, 0x22]
-_081BF2B0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81BF248
-
thumb_func_start sub_81BF2B8
sub_81BF2B8: @ 81BF2B8
push {r4-r7,lr}
diff --git a/asm/international_string_util.s b/asm/international_string_util.s
index 08e435249..469d88787 100755..100644
--- a/asm/international_string_util.s
+++ b/asm/international_string_util.s
@@ -113,8 +113,8 @@ _081DB4D4:
bx r1
thumb_func_end sub_81DB494
- thumb_func_start sub_81DB4DC
-sub_81DB4DC: @ 81DB4DC
+ thumb_func_start PadNameString
+PadNameString: @ 81DB4DC
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 24
@@ -156,7 +156,7 @@ _081DB51E:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_81DB4DC
+ thumb_func_end PadNameString
thumb_func_start sub_81DB52C
sub_81DB52C: @ 81DB52C
diff --git a/asm/intro.s b/asm/intro.s
deleted file mode 100644
index 32b52ed06..000000000
--- a/asm/intro.s
+++ /dev/null
@@ -1,6270 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_816CBE8
-sub_816CBE8: @ 816CBE8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80BA0A8
- pop {r0}
- bx r0
- thumb_func_end sub_816CBE8
-
- thumb_func_start sub_816CC00
-sub_816CC00: @ 816CC00
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0
- beq _0816CC3C
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816CC3C
- ldr r0, =sub_816CC54
- bl SetMainCallback2
- b _0816CC4C
- .pool
-_0816CC3C:
- ldr r2, =gUnknown_030062A0
- ldr r1, [r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0816CC4C
- adds r0, r1, 0x1
- str r0, [r2]
-_0816CC4C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CC00
-
- thumb_func_start sub_816CC54
-sub_816CC54: @ 816CC54
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0816CC66
- ldr r0, =c2_title_screen_1
- bl SetMainCallback2
-_0816CC66:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CC54
-
- thumb_func_start load_copyright_graphics
-@ void load_copyright_graphics(u16 tile_patterns_dest, u16 tilemap_dest, u16 unknown_dest)
-load_copyright_graphics: @ 816CC70
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gIntroCopyright_Gfx
- movs r6, 0xC0
- lsls r6, 19
- adds r3, r6
- adds r1, r3, 0
- bl LZ77UnCompVram
- ldr r0, =gIntroCopyright_Tilemap
- adds r4, r6
- adds r1, r4, 0
- bl LZ77UnCompVram
- ldr r0, =gIntroCopyright_Pal
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end load_copyright_graphics
-
- thumb_func_start SerialCb_CopyrightScreen
-SerialCb_CopyrightScreen: @ 816CCB8
- push {lr}
- ldr r0, =gUnknown_030062B0
- bl GameCubeMultiBoot_HandleSerialInterrupt
- pop {r0}
- bx r0
- .pool
- thumb_func_end SerialCb_CopyrightScreen
-
- thumb_func_start do_copyright_screen
-do_copyright_screen: @ 816CCC8
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r5, r0, r1
- ldrb r4, [r5]
- cmp r4, 0x8C
- bne _0816CCDC
- b _0816CE00
-_0816CCDC:
- cmp r4, 0x8C
- bgt _0816CCEC
- cmp r4, 0
- beq _0816CCF4
- b _0816CDBC
- .pool
-_0816CCEC:
- cmp r4, 0x8D
- bne _0816CCF2
- b _0816CE2C
-_0816CCF2:
- b _0816CDBC
-_0816CCF4:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x00007fff
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- str r4, [sp, 0x4]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- add r0, sp, 0x4
- bl CpuSet
- str r4, [sp, 0x8]
- add r0, sp, 0x8
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x05000100
- bl CpuSet
- add r0, sp, 0xC
- strh r4, [r0]
- ldr r1, =0x05000002
- ldr r2, =0x010001ff
- bl CpuSet
- bl ResetPaletteFade
- movs r1, 0xE0
- lsls r1, 6
- movs r0, 0
- movs r2, 0
- bl load_copyright_graphics
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0xE0
- lsls r1, 3
- movs r0, 0x8
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_816CBE8
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =SerialCb_CopyrightScreen
- bl SetSerialCallback
- ldr r0, =gUnknown_030062B0
- bl GameCubeMultiBoot_Init
-_0816CDBC:
- bl UpdatePaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_030062B0
- bl GameCubeMultiBoot_Main
- b _0816CEA0
- .pool
-_0816CE00:
- ldr r4, =gUnknown_030062B0
- adds r0, r4, 0
- bl GameCubeMultiBoot_Main
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _0816CEA0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0816CEA0
- .pool
-_0816CE2C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0816CEA0
- ldr r0, =task_intro_1
- movs r1, 0
- bl CreateTask
- ldr r0, =sub_816CC00
- bl SetMainCallback2
- ldr r5, =gUnknown_030062B0
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _0816CE8C
- ldrb r0, [r5, 0x2]
- cmp r0, 0x2
- bne _0816CE96
- ldr r6, =0x020000ac
- ldr r4, [r6]
- ldr r0, =0x65366347
- cmp r4, r0
- bne _0816CE6C
- ldr r0, =gMultiBootProgram_PokemonColosseum_Start
- movs r1, 0x80
- lsls r1, 18
- movs r2, 0xA0
- lsls r2, 9
- bl CpuSet
- str r4, [r6]
-_0816CE6C:
- adds r0, r5, 0
- bl GameCubeMultiBoot_ExecuteProgram
- b _0816CE96
- .pool
-_0816CE8C:
- bl GameCubeMultiBoot_Quit
- ldr r0, =sub_800BA38
- bl SetSerialCallback
-_0816CE96:
- movs r0, 0
- b _0816CEA2
- .pool
-_0816CEA0:
- movs r0, 0x1
-_0816CEA2:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end do_copyright_screen
-
- thumb_func_start c2_copyright_1
-c2_copyright_1: @ 816CEAC
- push {lr}
- bl do_copyright_screen
- lsls r0, 24
- cmp r0, 0
- bne _0816CEFA
- bl sub_815355C
- lsls r0, 16
- lsrs r0, 16
- bl SetSaveBlocksPointers
- bl sub_808447C
- bl ResetSaveCounters
- movs r0, 0
- bl sub_81534D0
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816CEDE
- cmp r0, 0x2
- bne _0816CEE2
-_0816CEDE:
- bl Sav2_ClearSetDefault
-_0816CEE2:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x15]
- lsls r0, 31
- lsrs r0, 31
- bl SetPokemonCryStereo
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
-_0816CEFA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_copyright_1
-
- thumb_func_start c2_show_copyright_and_intro_again_2
-c2_show_copyright_and_intro_again_2: @ 816CF0C
- push {lr}
- bl do_copyright_screen
- pop {r0}
- bx r0
- thumb_func_end c2_show_copyright_and_intro_again_2
-
- thumb_func_start task_intro_1
-@ void task_intro_1(int task_id)
-task_intro_1: @ 816CF18
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_0203BCC8
- bl Random
- movs r1, 0x1
- ands r1, r0
- strh r1, [r4]
- bl intro_reset_and_hide_bgs
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0x50
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0x18
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0x28
- bl SetGpuReg
- ldr r0, =gIntro1BGLeavesGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gIntro1BG0_Tilemap
- ldr r1, =0x06008000
- bl LZ77UnCompVram
- ldr r1, =0x06008800
- add r0, sp, 0x8
- movs r6, 0
- strh r6, [r0]
- ldr r4, =0x040000d4
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r5, =0x81000400
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, =gIntro1BG1_Tilemap
- ldr r1, =0x06009000
- bl LZ77UnCompVram
- ldr r1, =0x06009800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, =gIntro1BG2_Tilemap
- ldr r1, =0x0600a000
- bl LZ77UnCompVram
- ldr r1, =0x0600a800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, =gIntro1BG3_Tilemap
- ldr r1, =0x0600b000
- bl LZ77UnCompVram
- ldr r1, =0x0600b800
- add r0, sp, 0x8
- strh r6, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, =gIntro1BGPals
- movs r5, 0x80
- lsls r5, 2
- movs r1, 0
- adds r2, r5, 0
- bl LoadPalette
- ldr r1, =0x00009603
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =0x00009402
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00009201
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0x90
- lsls r1, 8
- movs r0, 0x8
- bl SetGpuReg
- ldr r0, =gUnknown_085E4FDC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E4FEC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E4FFC
- bl LoadSpritePalettes
- ldr r0, =gUnknown_085E4A74
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E4A84
- bl LoadSpritePalettes
- ldr r4, =gPlttBufferUnfaded + 0x200
- movs r3, 0xF0
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0x10
- bl CpuSet
- movs r0, 0xE1
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xF
- bl CpuSet
- movs r3, 0xD2
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0xE
- bl CpuSet
- movs r0, 0xC3
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xD
- bl CpuSet
- movs r3, 0xB4
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0xC
- bl CpuSet
- movs r0, 0xA5
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- movs r2, 0xB
- bl CpuSet
- movs r3, 0x96
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- movs r2, 0xA
- bl CpuSet
- movs r0, 0x78
- movs r1, 0x50
- movs r2, 0
- bl sub_816FDB8
- movs r1, 0xE
- negs r1, r1
- movs r0, 0x78
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0xEC
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_816F7D0
- ldr r2, =gTasks
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, =task_intro_2
- str r0, [r1]
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_1
-
- thumb_func_start task_intro_2
-task_intro_2: @ 816D12C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_816CBE8
- bl SetVBlankCallback
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_3
- str r1, [r0]
- ldr r0, =gUnknown_030062A0
- str r5, [r0]
- movs r0, 0xCF
- lsls r0, 1
- bl m4aSongNumStart
- bl sub_800B628
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_2
-
- thumb_func_start task_intro_3
-task_intro_3: @ 816D190
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, =gUnknown_030062A0
- ldr r0, [r5]
- cmp r0, 0x4C
- bne _0816D1BE
- ldr r2, =gSprites
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0816D1BE:
- ldr r0, [r5]
- cmp r0, 0x80
- bne _0816D1CC
- ldr r0, =task_intro_3_1
- movs r1, 0
- bl CreateTask
-_0816D1CC:
- ldr r0, [r5]
- cmp r0, 0xFB
- bne _0816D1EE
- ldr r2, =gSprites
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
-_0816D1EE:
- ldr r1, [r5]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bne _0816D200
- ldr r0, =task_intro_3_2
- movs r1, 0
- bl CreateTask
-_0816D200:
- ldr r1, [r5]
- movs r0, 0xB8
- lsls r0, 1
- cmp r1, r0
- bne _0816D220
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x70
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x30
- movs r1, 0
- movs r3, 0x5
- bl sub_816F7D0
-_0816D220:
- ldr r1, [r5]
- movs r0, 0xC0
- lsls r0, 1
- cmp r1, r0
- bne _0816D240
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x80
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0xC8
- movs r1, 0x3C
- movs r3, 0x9
- bl sub_816F7D0
-_0816D240:
- ldr r0, [r5]
- movs r4, 0x8C
- lsls r4, 2
- cmp r0, r4
- bne _0816D252
- ldr r0, =task_intro_3_3
- movs r1, 0
- bl CreateTask
-_0816D252:
- ldr r0, [r5]
- cmp r0, r4
- bls _0816D27A
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x50
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x18
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- movs r1, 0x28
- strh r1, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldr r1, =task_intro_4
- str r1, [r0]
-_0816D27A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_3
-
- thumb_func_start task_intro_3_3
-task_intro_3_3: @ 816D2A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816D2C4
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
-_0816D2C4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0816D2D8
- cmp r0, 0x1
- beq _0816D314
- b _0816D324
- .pool
-_0816D2D8:
- ldr r0, =gUnknown_085E4AB8
- ldr r2, =gUnknown_085E4AD0
- movs r1, 0x8
- ldrsh r3, [r4, r1]
- lsls r3, 1
- adds r1, r3, r2
- ldrb r1, [r1]
- adds r2, 0x1
- adds r3, r2
- ldrh r2, [r4, 0x6]
- ldrb r3, [r3]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0xC
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0816D324
- .pool
-_0816D314:
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0816D324
- strh r0, [r4]
-_0816D324:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- ble _0816D332
- adds r0, r5, 0
- bl DestroyTask
-_0816D332:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_intro_3_3
-
- thumb_func_start sub_816D338
-sub_816D338: @ 816D338
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _0816D350
- adds r0, r1, 0
- bl DestroySprite
-_0816D350:
- pop {r0}
- bx r0
- thumb_func_end sub_816D338
-
- thumb_func_start task_intro_4
-task_intro_4: @ 816D354
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- ldr r5, =gUnknown_030062A0
- ldr r2, [r5]
- ldr r0, =0x00000387
- cmp r2, r0
- bhi _0816D418
- ldr r0, =gTasks
- lsls r4, r1, 2
- adds r4, r1
- lsls r4, 3
- adds r4, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0xC]
- adds r1, r0, r1
- ldr r0, =0xffffa000
- adds r1, r0
- asrs r0, r1, 16
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldrh r1, [r4, 0xA]
- movs r0, 0x1A
- bl SetGpuReg
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0x10]
- adds r1, r0, r1
- ldr r0, =0xffff8000
- adds r1, r0
- asrs r0, r1, 16
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldrh r1, [r4, 0xE]
- movs r0, 0x16
- bl SetGpuReg
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0x14]
- adds r1, r0, r1
- ldr r0, =0xffff4000
- adds r1, r0
- asrs r0, r1, 16
- strh r0, [r4, 0x12]
- strh r1, [r4, 0x14]
- ldrh r1, [r4, 0x12]
- movs r0, 0x12
- bl SetGpuReg
- ldr r1, [r5]
- movs r0, 0xD0
- lsls r0, 2
- cmp r1, r0
- bne _0816D43E
- ldr r0, =gUnknown_085E4FC4
- movs r1, 0x78
- movs r2, 0xA0
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- b _0816D43E
- .pool
-_0816D418:
- ldr r0, =0x000003ef
- cmp r2, r0
- bls _0816D43E
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_5
- str r1, [r0]
-_0816D43E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_4
-
- thumb_func_start task_intro_5
-task_intro_5: @ 816D458
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- ldr r0, =0x00000402
- cmp r1, r0
- bls _0816D476
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_6
- str r0, [r1]
-_0816D476:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_5
-
- thumb_func_start task_intro_6
-task_intro_6: @ 816D48C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl intro_reset_and_hide_bgs
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =gUnknown_0203BD24
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_0203BD26
- strh r1, [r0]
- ldr r0, =gUnknown_0203BCCC
- strh r1, [r0]
- movs r0, 0x1
- bl load_intro_part2_graphics
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_7
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_6
-
- thumb_func_start task_intro_7
-task_intro_7: @ 816D4E4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCC8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816D504
- ldr r0, =gUnknown_085F52BC
- bl LoadCompressedObjectPic
- b _0816D50A
- .pool
-_0816D504:
- ldr r0, =gUnknown_085F52CC
- bl LoadCompressedObjectPic
-_0816D50A:
- ldr r0, =gUnknown_085F52DC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F52FC
- bl LoadCompressedObjectPic
- movs r6, 0
- lsls r7, r4, 2
- ldr r5, =gUnknown_085E4AE8
-_0816D51C:
- lsls r0, r6, 3
- adds r0, r5
- bl LoadCompressedObjectPic
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _0816D51C
- ldr r0, =gUnknown_085F530C
- bl LoadSpritePalettes
- ldr r0, =gUnknown_085E4B08
- bl LoadSpritePalettes
- ldr r0, =gUnknown_085E4BDC
- movs r5, 0x88
- lsls r5, 1
- adds r1, r5, 0
- movs r2, 0x80
- movs r3, 0
- bl CreateSprite
- ldr r0, =gUnknown_085E4BA4
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x6E
- movs r3, 0x1
- bl CreateSprite
- ldr r0, =gUnknown_0203BCC8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816D590
- adds r0, r5, 0
- movs r1, 0x64
- bl sub_817B834
- b _0816D598
- .pool
-_0816D590:
- adds r0, r5, 0
- movs r1, 0x64
- bl sub_817B88C
-_0816D598:
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSprites
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r2, 0
- adds r5, 0x1C
- adds r3, r0, r5
- ldr r1, =sub_816F9D4
- str r1, [r3]
- adds r2, 0x8
- adds r0, r2
- ldr r1, =gUnknown_085E4DC4
- str r1, [r0]
- ldr r0, =gTasks
- adds r4, r7, r4
- lsls r4, 3
- adds r4, r0
- strh r6, [r4, 0xA]
- ldr r0, =gUnknown_085E4B40
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x50
- movs r3, 0x4
- bl CreateSprite
- movs r0, 0x40
- negs r0, r0
- movs r1, 0x3C
- bl sub_817B9C4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r0, r5
- ldr r1, =sub_816FAB0
- str r1, [r0]
- strh r6, [r4, 0xC]
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_816CBE8
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 7
- movs r2, 0x80
- lsls r2, 3
- movs r0, 0x1
- movs r3, 0x10
- bl sub_817B3DC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r0, 0x1
- bl sub_817B150
- ldr r0, =task_intro_8
- str r0, [r4]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_7
-
- thumb_func_start task_intro_8
-@ void task_intro_8(int task_id)
-task_intro_8: @ 816D650
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r5, =gUnknown_030062A0
- ldr r1, [r5]
- movs r0, 0xE8
- lsls r0, 3
- cmp r1, r0
- bne _0816D67C
- ldr r1, =gUnknown_0203BD28
- movs r0, 0x2
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bl DestroyTask
-_0816D67C:
- ldr r1, [r5]
- ldr r0, =0x0000079a
- cmp r1, r0
- bls _0816D6A4
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_9
- str r1, [r0]
-_0816D6A4:
- ldr r1, [r5]
- ldr r0, =0x00000455
- ldr r3, =gTasks
- cmp r1, r0
- bne _0816D6C8
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0816D6C8:
- ldr r1, [r5]
- ldr r0, =0x000004be
- cmp r1, r0
- bne _0816D6EA
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
-_0816D6EA:
- ldr r1, [r5]
- ldr r0, =0x00000572
- cmp r1, r0
- bne _0816D70C
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xC
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x2E]
-_0816D70C:
- ldr r1, [r5]
- ldr r0, =0x00000576
- cmp r1, r0
- bne _0816D72E
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x2E]
-_0816D72E:
- ldr r1, [r5]
- movs r0, 0xC5
- lsls r0, 3
- cmp r1, r0
- bne _0816D752
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r7, 0xA
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x2E]
-_0816D752:
- ldr r1, [r5]
- ldr r0, =0x000006bf
- cmp r1, r0
- bne _0816D774
- ldr r2, =gSprites
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r3
- movs r4, 0xA
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0, 0x2E]
-_0816D774:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r3
- ldrh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 18
- movs r1, 0x7F
- ands r0, r1
- movs r1, 0x30
- bl Sin
- ldr r1, =gUnknown_0203BCCC
- strh r0, [r1]
- ldrh r2, [r4, 0xE]
- movs r7, 0xE
- ldrsh r1, [r4, r7]
- ldr r0, =0x000001ff
- cmp r1, r0
- bgt _0816D7A0
- adds r0, r2, 0x1
- strh r0, [r4, 0xE]
-_0816D7A0:
- movs r0, 0
- bl sub_817B540
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_8
-
- thumb_func_start task_intro_9
-task_intro_9: @ 816D7E8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- ldr r0, =0x00000814
- cmp r1, r0
- bls _0816D806
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_10
- str r0, [r1]
-_0816D806:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_9
-
- thumb_func_start sub_816D81C
-sub_816D81C: @ 816D81C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x4
- strh r0, [r4, 0x34]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bls _0816D830
- b _0816D9BA
-_0816D830:
- lsls r0, 2
- ldr r1, =_0816D840
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816D840:
- .4byte _0816D864
- .4byte _0816D87A
- .4byte _0816D898
- .4byte _0816D8BC
- .4byte _0816D8D8
- .4byte _0816D8FA
- .4byte _0816D912
- .4byte _0816D96E
- .4byte _0816D99C
-_0816D864:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB3
- bgt _0816D874
- b _0816D9BA
-_0816D874:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0816D87A:
- ldrh r0, [r4, 0x20]
- subs r0, 0x4
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- beq _0816D88A
- b _0816D9BA
-_0816D88A:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- movs r0, 0x14
- strh r0, [r4, 0x30]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- b _0816D9BA
-_0816D898:
- ldrh r1, [r4, 0x20]
- adds r1, 0x8
- strh r1, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7C
- beq _0816D8AE
- b _0816D9BA
-_0816D8AE:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- movs r0, 0x14
- strh r0, [r4, 0x30]
- movs r0, 0x3
- strh r0, [r4, 0x32]
- b _0816D9BA
-_0816D8BC:
- ldrh r0, [r4, 0x22]
- adds r0, 0x4
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x50
- bne _0816D9BA
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- b _0816D9BA
-_0816D8D8:
- ldrh r1, [r4, 0x20]
- subs r1, 0x8
- strh r1, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3C
- bne _0816D9BA
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x30]
- movs r0, 0x5
- strh r0, [r4, 0x32]
- b _0816D9BA
-_0816D8FA:
- ldrh r0, [r4, 0x20]
- adds r0, 0x3C
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- strh r0, [r4, 0x36]
- movs r0, 0x80
- strh r0, [r4, 0x38]
- movs r0, 0x3
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0816D912:
- ldrh r0, [r4, 0x36]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3C
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x36]
- adds r1, 0x2
- strh r1, [r4, 0x36]
- ldrh r0, [r4, 0x38]
- adds r0, 0x4
- strh r0, [r4, 0x38]
- movs r0, 0xFF
- ands r1, r0
- cmp r1, 0x40
- bne _0816D9BA
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _0816D9BA
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- b _0816D9B8
-_0816D96E:
- ldrh r0, [r4, 0x20]
- subs r0, 0x2
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x4
- strh r0, [r4, 0x38]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0816D9BA
- adds r0, r4, 0
- bl DestroySprite
- b _0816D9BA
-_0816D99C:
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _0816D9BA
- ldrh r0, [r4, 0x32]
-_0816D9B8:
- strh r0, [r4, 0x2E]
-_0816D9BA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816D81C
-
- thumb_func_start sub_816D9C0
-sub_816D9C0: @ 816D9C0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _0816D9CE
- b _0816DADA
-_0816D9CE:
- lsls r0, 2
- ldr r1, =_0816D9DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816D9DC:
- .4byte _0816D9F4
- .4byte _0816DA08
- .4byte _0816DA20
- .4byte _0816DA64
- .4byte _0816DA9A
- .4byte _0816DACA
-_0816D9F4:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0x99
- lsls r0, 3
- cmp r1, r0
- bne _0816DADA
- b _0816DABA
- .pool
-_0816DA08:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0xC5
- lsls r0, 3
- cmp r1, r0
- bne _0816DA70
- adds r0, r4, 0
- movs r1, 0
- b _0816DABE
- .pool
-_0816DA20:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- ldr r0, =0x000006c7
- cmp r1, r0
- beq _0816DA50
- ldrh r0, [r4, 0x30]
- adds r2, r0, 0
- adds r2, 0x20
- strh r2, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0816DADA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _0816DA8A
- .pool
-_0816DA50:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x50
- strh r0, [r4, 0x32]
- b _0816DADA
-_0816DA64:
- ldrh r0, [r4, 0x32]
- subs r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- beq _0816DA94
-_0816DA70:
- ldrh r0, [r4, 0x30]
- adds r2, r0, 0
- adds r2, 0x40
- strh r2, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0816DADA
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
-_0816DA8A:
- strh r0, [r4, 0x20]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x30]
- b _0816DADA
-_0816DA94:
- adds r0, r4, 0
- movs r1, 0x2
- b _0816DABE
-_0816DA9A:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0816DAAE
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
-_0816DAAE:
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0xA8
- lsls r0, 1
- cmp r1, r0
- ble _0816DADA
-_0816DABA:
- adds r0, r4, 0
- movs r1, 0x1
-_0816DABE:
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0816DADA
-_0816DACA:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- ldr r0, =0x0000073f
- cmp r1, r0
- bls _0816DADA
- ldrh r0, [r4, 0x20]
- subs r0, 0x2
- strh r0, [r4, 0x20]
-_0816DADA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816D9C0
-
- thumb_func_start sub_816DAE8
-sub_816DAE8: @ 816DAE8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816DB1C
- cmp r0, 0x1
- bgt _0816DAFE
- cmp r0, 0
- beq _0816DB04
- b _0816DBA4
-_0816DAFE:
- cmp r0, 0x2
- beq _0816DB42
- b _0816DBA4
-_0816DB04:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 3
- cmp r1, r0
- bne _0816DBA4
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0816DBA4
- .pool
-_0816DB1C:
- ldrh r0, [r4, 0x20]
- subs r0, 0x2
- strh r0, [r4, 0x20]
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0x92
- lsls r0, 3
- cmp r1, r0
- bne _0816DBA4
- ldrh r0, [r4, 0x22]
- subs r0, 0xC
- strh r0, [r4, 0x22]
- movs r0, 0x80
- strh r0, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0816DB42:
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _0816DB60
- adds r0, r4, 0
- bl DestroySprite
- b _0816DBA4
- .pool
-_0816DB60:
- ldrh r0, [r4, 0x30]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x3F
- bgt _0816DB72
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x10
- b _0816DB84
-_0816DB72:
- cmp r1, 0x40
- bne _0816DB7C
- ldrh r0, [r4, 0x20]
- subs r0, 0x30
- strh r0, [r4, 0x20]
-_0816DB7C:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x40
-_0816DB84:
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_0816DBA4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816DAE8
-
- thumb_func_start task_intro_10
-task_intro_10: @ 816DBAC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl intro_reset_and_hide_bgs
- ldr r0, =gIntro3Pokeball_Gfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gIntro3Pokeball_Tilemap
- ldr r1, =0x06004000
- bl LZ77UnCompVram
- ldr r0, =gIntro3PokeballPal
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadPalette
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r5, 0
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r0, 0x78
- movs r1, 0x50
- movs r2, 0
- movs r3, 0
- bl sub_816F2A8
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =0x00004883
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- ldr r0, =task_intro_11
- str r0, [r4]
- ldr r0, =gUnknown_030062A0
- str r5, [r0]
- movs r0, 0xDD
- lsls r0, 1
- bl m4aSongNumStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_10
-
- thumb_func_start task_intro_11
-task_intro_11: @ 816DC64
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r1, 0x80
- lsls r1, 3
- adds r0, r1, 0
- ldrh r1, [r3, 0x8]
- adds r0, r1
- strh r0, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- ldr r0, =0x000006bf
- cmp r1, r0
- bgt _0816DCA4
- ldrh r0, [r3, 0xC]
- adds r1, r4, r0
- strh r1, [r3, 0xA]
- adds r0, 0x2
- strh r0, [r3, 0xC]
- b _0816DCA8
- .pool
-_0816DCA4:
- ldr r0, =task_intro_12
- str r0, [r3]
-_0816DCA8:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r2
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- ldrh r3, [r4, 0x8]
- movs r0, 0x78
- movs r1, 0x50
- bl sub_816F2A8
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- cmp r0, 0x1C
- bne _0816DCE6
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0816DCE6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_11
-
- thumb_func_start task_intro_12
-task_intro_12: @ 816DCFC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- cmp r0, 0x2B
- bls _0816DD18
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_13
- str r0, [r1]
-_0816DD18:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_12
-
- thumb_func_start task_intro_13
-task_intro_13: @ 816DD28
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816DD94
- bl intro_reset_and_hide_bgs
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gUnknown_08D88494
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, =gUnknown_08D88D40
- ldr r1, =0x0600c000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D89F7C
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8A818
- ldr r1, =0x0600e000
- bl LZDecompressVram
- ldr r0, =gBattleAnimPicTable + 0x1D0
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gBattleAnimPaletteTable + 0x1D0
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_08D85CD0
- ldr r1, =gPlttBufferUnfaded
- movs r2, 0x80
- lsls r2, 1
- bl CpuSet
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_14
- str r1, [r0]
-_0816DD94:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_13
-
- thumb_func_start task_intro_14
-task_intro_14: @ 816DDD8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0xA0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x0000b880
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00001c05
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00003641
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =0x0000ffa0
- strh r0, [r4, 0xA]
- ldr r1, =0x0000ff51
- strh r1, [r4, 0xC]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r4, 0xE]
- movs r3, 0
- bl sub_816F2A8
- ldr r0, =task_intro_15
- str r0, [r4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_14
-
- thumb_func_start task_intro_15
-task_intro_15: @ 816DE7C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r2, [r4, 0x8]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- beq _0816DEB8
- adds r0, r2, 0x4
- strh r0, [r4, 0x8]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r1, 8
- adds r0, r2, 0
- subs r0, 0x9C
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- b _0816DEC6
- .pool
-_0816DEB8:
- movs r1, 0x82
- lsls r1, 6
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, =task_intro_16
- str r0, [r4]
-_0816DEC6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_15
-
- thumb_func_start task_intro_16
-task_intro_16: @ 816DED0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =task_intro_17
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end task_intro_16
-
- thumb_func_start task_intro_17
-task_intro_17: @ 816DEEC
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- ldr r0, =task_intro_18
- str r0, [r1]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA0
- movs r2, 0x4
- movs r3, 0x4
- bl sub_80BA384
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_17
-
- thumb_func_start task_intro_18
-task_intro_18: @ 816DF2C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- ldrh r0, [r4]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bhi _0816DF62
- ldrh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816DF62
- ldrh r0, [r4, 0x8]
- movs r1, 0x3
- eors r0, r1
- strh r0, [r4, 0x8]
-_0816DF62:
- ldrh r0, [r4, 0x2]
- ldrh r1, [r4, 0x8]
- ldrh r2, [r4, 0x4]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0x6]
- movs r3, 0
- bl sub_816F2A8
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bls _0816DF80
- b _0816E176
-_0816DF80:
- lsls r0, 2
- ldr r1, =_0816DF94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816DF94:
- .4byte _0816DFBC
- .4byte _0816DFE6
- .4byte _0816E024
- .4byte _0816E038
- .4byte _0816E07C
- .4byte _0816E09A
- .4byte _0816E0C8
- .4byte _0816E0DE
- .4byte _0816E13C
- .4byte _0816E156
-_0816DFBC:
- ldrh r0, [r4, 0x2]
- adds r0, 0x10
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- beq _0816DFCC
- b _0816E176
-_0816DFCC:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0x2
- strh r0, [r4, 0xC]
- movs r2, 0xF1
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r4, 0xE]
- adds r0, r5, 0
- bl sub_816E190
- b _0816E176
-_0816DFE6:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816DFF4
- b _0816E176
-_0816DFF4:
- movs r0, 0x2
- strh r0, [r4, 0xC]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0x3E
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r4, 0xE]
- adds r0, 0x2
- strh r0, [r4, 0xE]
- lsls r0, 16
- movs r1, 0xF6
- lsls r1, 17
- cmp r0, r1
- beq _0816E01A
- b _0816E176
-_0816E01A:
- b _0816E14E
- .pool
-_0816E024:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E032
- b _0816E176
-_0816E032:
- movs r0, 0x2
- strh r0, [r4, 0xC]
- b _0816E14E
-_0816E038:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E046
- b _0816E176
-_0816E046:
- movs r0, 0x2
- strh r0, [r4, 0xC]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0x3E
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r4, 0xE]
- subs r0, 0x2
- strh r0, [r4, 0xE]
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 17
- cmp r0, r1
- beq _0816E06C
- b _0816E176
-_0816E06C:
- movs r0, 0x8
- strh r0, [r4, 0xC]
- b _0816E14E
- .pool
-_0816E07C:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816E176
- movs r1, 0x60
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4, 0x2]
- movs r0, 0xA9
- strh r0, [r4, 0x4]
- movs r0, 0x3
- strh r0, [r4, 0xC]
- b _0816E14E
-_0816E09A:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _0816E176
- movs r0, 0x50
- strh r0, [r4, 0x2]
- movs r0, 0x29
- strh r0, [r4, 0x4]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- ldr r0, =0x00000195
- str r1, [sp]
- movs r1, 0
- movs r2, 0x64
- movs r3, 0xA
- bl PlayCryInternal
- b _0816E14E
- .pool
-_0816E0C8:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816E176
- movs r0, 0x50
- strh r0, [r4, 0x2]
- movs r0, 0x28
- strh r0, [r4, 0x4]
- b _0816E14E
-_0816E0DE:
- ldrh r0, [r4, 0x2]
- adds r0, 0x4
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x4]
- adds r0, 0x4
- strh r0, [r4, 0x4]
- ldr r2, =0x00000666
- adds r0, r2, 0
- ldrh r1, [r4, 0xC]
- adds r0, r1
- strh r0, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- lsrs r0, 8
- movs r1, 0x40
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- strh r0, [r4, 0x6]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- bne _0816E176
- movs r0, 0x2
- negs r0, r0
- ldr r1, =0x00007fff
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- strh r5, [r4, 0x6]
- movs r0, 0
- strh r0, [r4, 0x8]
- b _0816E14E
- .pool
-_0816E13C:
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0816E14E
- adds r0, r1, 0
- subs r0, 0x8
- strh r0, [r4, 0x6]
- b _0816E176
-_0816E14E:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0816E176
-_0816E156:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816E176
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_19
- str r1, [r0]
- ldr r1, =gUnknown_02039B28
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_0816E176:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_18
-
- thumb_func_start sub_816E190
-sub_816E190: @ 816E190
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- ldr r6, =gSprites
- ldr r5, =gUnknown_085E4C64
-_0816E19C:
- movs r0, 0
- ldrsh r1, [r5, r0]
- lsls r3, r4, 24
- lsrs r3, 24
- ldr r0, =gUnknown_08596C10
- movs r2, 0xA0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r0, r6, 0
- adds r0, 0x1C
- adds r0, r2, r0
- ldr r1, =sub_816E1F8
- str r1, [r0]
- adds r2, r6
- ldrb r0, [r2, 0x5]
- movs r3, 0xD
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2, 0x5]
- strh r4, [r2, 0x30]
- strh r7, [r2, 0x36]
- ldrb r1, [r5, 0x2]
- adds r0, r2, 0
- bl StartSpriteAnim
- adds r5, 0x6
- adds r4, 0x1
- cmp r4, 0x5
- ble _0816E19C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816E190
-
- thumb_func_start sub_816E1F8
-sub_816E1F8: @ 816E1F8
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x34]
- adds r0, 0x1
- strh r0, [r3, 0x34]
- ldrh r0, [r3, 0x34]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0816E214
- ldrh r0, [r3, 0x26]
- movs r1, 0x3
- eors r0, r1
- strh r0, [r3, 0x26]
-_0816E214:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0816E222
- cmp r0, 0x1
- beq _0816E278
- b _0816E29C
-_0816E222:
- ldr r2, =gUnknown_085E4C64
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- adds r2, 0x4
- adds r0, r2
- ldrh r2, [r0]
- ldrh r1, [r3, 0x32]
- adds r2, r1
- strh r2, [r3, 0x32]
- movs r0, 0x32
- ldrsh r1, [r3, r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r1, r0
- asrs r1, 8
- ldrh r0, [r3, 0x22]
- subs r0, r1
- strh r0, [r3, 0x22]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r3, 0x32]
- ldr r2, =gTasks
- movs r0, 0x36
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- ble _0816E29C
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _0816E29C
- .pool
-_0816E278:
- ldrh r1, [r3, 0x20]
- movs r2, 0x20
- ldrsh r0, [r3, r2]
- cmp r0, 0x77
- bgt _0816E286
- subs r0, r1, 0x2
- b _0816E288
-_0816E286:
- adds r0, r1, 0x2
-_0816E288:
- strh r0, [r3, 0x20]
- ldrh r1, [r3, 0x22]
- movs r2, 0x22
- ldrsh r0, [r3, r2]
- cmp r0, 0x4F
- bgt _0816E298
- subs r0, r1, 0x2
- b _0816E29A
-_0816E298:
- adds r0, r1, 0x2
-_0816E29A:
- strh r0, [r3, 0x22]
-_0816E29C:
- pop {r0}
- bx r0
- thumb_func_end sub_816E1F8
-
- thumb_func_start task_intro_19
-task_intro_19: @ 816E2A0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetSpriteData
- ldr r0, =gUnknown_08D89224
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, =gUnknown_08D89ABC
- ldr r1, =0x0600c000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8A934
- ldr r1, =0x0600e000
- bl LZDecompressVram
- ldr r0, =gUnknown_085E4C88
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E4C98
- bl LoadSpritePalette
- movs r0, 0x2
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_intro_20
- str r0, [r1]
- movs r4, 0
- strh r4, [r1, 0x8]
- movs r0, 0xA8
- lsls r0, 1
- strh r0, [r1, 0xA]
- movs r2, 0x50
- strh r2, [r1, 0xC]
- movs r2, 0x10
- strh r2, [r1, 0x14]
- adds r2, 0xF0
- strh r2, [r1, 0xE]
- movs r1, 0x50
- movs r3, 0
- bl sub_816F2A8
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA0
- movs r2, 0x4
- movs r3, 0x4
- bl sub_80BA384
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_19
-
- thumb_func_start task_intro_20
-task_intro_20: @ 816E358
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r5, 0x2]
- ldrh r1, [r5, 0x4]
- ldrh r2, [r5, 0x6]
- movs r3, 0
- bl sub_816F2A8
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0xD
- bls _0816E380
- b _0816E6BC
-_0816E380:
- lsls r0, 2
- ldr r1, =_0816E394
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816E394:
- .4byte _0816E3CC
- .4byte _0816E3E0
- .4byte _0816E43C
- .4byte _0816E488
- .4byte _0816E4C4
- .4byte _0816E4EC
- .4byte _0816E544
- .4byte _0816E560
- .4byte _0816E5A0
- .4byte _0816E5BC
- .4byte _0816E5FC
- .4byte _0816E61A
- .4byte _0816E664
- .4byte _0816E69C
-_0816E3CC:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E3DA
- b _0816E6BC
-_0816E3DA:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0816E3E0:
- ldrh r0, [r5, 0xC]
- adds r0, 0x4
- strh r0, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- movs r1, 0x80
- lsls r1, 1
- bl Sin
- ldr r1, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r1
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- strh r1, [r4, 0xA]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- movs r1, 0x40
- bl Cos
- movs r1, 0x54
- subs r1, r0
- strh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x40
- beq _0816E420
- b _0816E6BC
-_0816E420:
- movs r0, 0x19
- strh r0, [r5, 0xC]
- movs r0, 0x1
- strh r0, [r5, 0xE]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0
- bl sub_816E6D4
- b _0816E6BC
- .pool
-_0816E43C:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E44A
- b _0816E6BC
-_0816E44A:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r2, [r1, 0xA]
- adds r0, r2
- strh r0, [r1, 0xA]
- ldr r2, =0xfffffefe
- adds r0, r2, 0
- ldrh r2, [r1, 0xC]
- adds r0, r2
- strh r0, [r1, 0xC]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0
- bl sub_816E6D4
- bl sub_816E74C
- b _0816E6BC
- .pool
-_0816E488:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E496
- b _0816E6BC
-_0816E496:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r2, =0xffffff00
- adds r0, r2, 0
- ldrh r2, [r1, 0xA]
- adds r0, r2
- strh r0, [r1, 0xA]
- movs r2, 0x81
- lsls r2, 1
- adds r0, r2, 0
- ldrh r2, [r1, 0xC]
- adds r0, r2
- strh r0, [r1, 0xC]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _0816E690
- .pool
-_0816E4C4:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E4D2
- b _0816E6BC
-_0816E4D2:
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- subs r1, 0xFC
- strh r1, [r0, 0xC]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _0816E690
- .pool
-_0816E4EC:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E4FA
- b _0816E6BC
-_0816E4FA:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- adds r0, 0xFC
- strh r0, [r1, 0xC]
- ldrh r2, [r5, 0xE]
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _0816E528
- movs r0, 0xC
- strh r0, [r5, 0xC]
- subs r0, r2, 0x1
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5]
- b _0816E6BC
- .pool
-_0816E528:
- movs r0, 0x1
- strh r0, [r5, 0xC]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0xCA
- lsls r0, 1
- str r1, [sp]
- movs r1, 0
- movs r2, 0x78
- movs r3, 0xA
- bl PlayCryInternal
- b _0816E6BC
-_0816E544:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E552
- b _0816E6BC
-_0816E552:
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r1, 0xF5
- lsls r1, 1
- adds r0, r1, 0
- strh r0, [r5, 0xE]
- b _0816E690
-_0816E560:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E56E
- b _0816E6BC
-_0816E56E:
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0x5E
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r5, 0xE]
- subs r0, 0x2
- strh r0, [r5, 0xE]
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 17
- cmp r0, r1
- beq _0816E594
- b _0816E6BC
-_0816E594:
- b _0816E690
- .pool
-_0816E5A0:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _0816E5AE
- b _0816E6BC
-_0816E5AE:
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r1, 0xF1
- lsls r1, 1
- adds r0, r1, 0
- strh r0, [r5, 0xE]
- b _0816E690
-_0816E5BC:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816E6BC
- movs r0, 0x4
- strh r0, [r5, 0xC]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0x5E
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r5, 0xE]
- adds r0, 0x2
- strh r0, [r5, 0xE]
- lsls r0, 16
- movs r1, 0xF7
- lsls r1, 17
- cmp r0, r1
- bne _0816E6BC
- movs r0, 0x10
- strh r0, [r5, 0xC]
- b _0816E690
- .pool
-_0816E5FC:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0816E6BC
- strh r0, [r5, 0xC]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_816E6D4
- b _0816E6BC
-_0816E61A:
- ldrh r0, [r5, 0xC]
- adds r0, 0x4
- strh r0, [r5, 0xC]
- ldrh r0, [r5, 0x6]
- subs r0, 0x8
- strh r0, [r5, 0x6]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- movs r1, 0x3C
- bl Sin
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- adds r0, 0x58
- strh r0, [r1, 0xA]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x40
- bne _0816E6BC
- movs r0, 0x2
- negs r0, r0
- ldr r1, =0x00007fff
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0816E690
- .pool
-_0816E664:
- ldrh r0, [r5, 0xC]
- adds r0, 0x4
- strh r0, [r5, 0xC]
- ldrh r0, [r5, 0x6]
- subs r0, 0x8
- strh r0, [r5, 0x6]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- movs r1, 0x14
- bl Sin
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- adds r0, 0x80
- strh r0, [r1, 0xA]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x80
- bne _0816E6BC
-_0816E690:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0816E6BC
- .pool
-_0816E69C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816E6BC
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_21
- str r1, [r0]
- ldr r1, =gUnknown_02039B28
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_0816E6BC:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_20
-
- thumb_func_start sub_816E6D4
-sub_816E6D4: @ 816E6D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r7, =gUnknown_085E4CA8
- ldr r0, =gSprites
- mov r9, r0
- adds r4, r7, 0
- movs r6, 0
-_0816E6EE:
- movs r3, 0
- ldrsh r1, [r4, r3]
- adds r0, r7, 0x2
- adds r0, r6, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r3, r5, 24
- lsrs r3, 24
- ldr r0, =gUnknown_085E4D14
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- mov r0, r8
- strh r0, [r2, 0x38]
- ldrh r0, [r4, 0x4]
- strh r0, [r2, 0x3A]
- movs r0, 0x40
- strh r0, [r2, 0x3C]
- adds r4, 0x6
- adds r6, 0x6
- adds r5, 0x1
- cmp r5, 0x5
- ble _0816E6EE
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816E6D4
-
- thumb_func_start sub_816E74C
-sub_816E74C: @ 816E74C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r7, =gUnknown_085E4CA8
- adds r4, r7, 0x4
- movs r6, 0x24
- ldr r0, =gSprites
- mov r8, r0
-_0816E75E:
- movs r3, 0x20
- ldrsh r1, [r4, r3]
- adds r0, r7, 0x2
- adds r0, r6, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r3, r5, 24
- lsrs r3, 24
- ldr r0, =gUnknown_085E4D14
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4]
- strh r0, [r2, 0x3A]
- movs r0, 0x40
- strh r0, [r2, 0x3C]
- adds r4, 0x6
- adds r6, 0x6
- adds r5, 0x1
- cmp r5, 0x5
- ble _0816E75E
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816E74C
-
- thumb_func_start sub_816E7B4
-sub_816E7B4: @ 816E7B4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0816E7C6
- cmp r0, 0x1
- beq _0816E84C
- b _0816E882
-_0816E7C6:
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0816E80A
- ldrh r0, [r4, 0x30]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- adds r0, 0x30
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0816E82A
- adds r0, r4, 0
- bl DestroySprite
- b _0816E82A
-_0816E80A:
- subs r0, r1, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _0816E82A
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0816E82A:
- ldr r2, =gTasks
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0xB
- ble _0816E882
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0816E882
- .pool
-_0816E84C:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x77
- bgt _0816E85A
- subs r0, r1, 0x3
- b _0816E85C
-_0816E85A:
- adds r0, r1, 0x3
-_0816E85C:
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0x4F
- bgt _0816E86C
- subs r0, r1, 0x3
- b _0816E86E
-_0816E86C:
- adds r0, r1, 0x3
-_0816E86E:
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x22]
- subs r0, 0x14
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8C
- bls _0816E882
- adds r0, r4, 0
- bl DestroySprite
-_0816E882:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816E7B4
-
- thumb_func_start task_intro_21
-task_intro_21: @ 816E888
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x50
- movs r1, 0x87
- bl SetGpuReg
- ldr r1, =0x00001f1f
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x1F
- bl SetGpuReg
- movs r1, 0xB0
- lsls r1, 7
- movs r0, 0x8
- bl SetGpuReg
- ldr r1, =0x00005a04
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00001c06
- movs r0, 0xC
- bl SetGpuReg
- movs r1, 0xDD
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0x50
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x0000ffb0
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- ldr r4, =gUnknown_08D8AA54
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r4, 0
- bl LZDecompressVram
- ldr r1, =0x06004000
- adds r0, r4, 0
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8B6E8
- ldr r1, =0x0600e000
- bl LZDecompressVram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_22
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_21
-
- thumb_func_start task_intro_22
-task_intro_22: @ 816E954
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_08D8B180
- ldr r1, =0x0600c000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8B440
- ldr r1, =0x0600d000
- bl LZDecompressVram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_23
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_22
-
- thumb_func_start task_intro_23
-task_intro_23: @ 816E998
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_24
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0x8]
- movs r1, 0x10
- strh r1, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_23
-
- thumb_func_start task_intro_24
-task_intro_24: @ 816E9DC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r5, r1, 3
- ldr r6, =gTasks + 0x8
- adds r4, r5, r6
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 24
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x14
- bl SetGpuReg
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0816EA24
- cmp r0, 0x1
- beq _0816EA58
- b _0816EAA6
- .pool
-_0816EA24:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816EAA6
- movs r0, 0x2
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r2, 0xA0
- lsls r2, 7
- adds r0, r2, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0816EAA6
- .pool
-_0816EA58:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- movs r0, 0xA0
- lsls r0, 6
- cmp r1, r0
- bne _0816EA74
- ldr r0, =0x0000fffe
- ldr r1, =0x00002949
- str r1, [sp]
- movs r1, 0x3
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_0816EA74:
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0816EA90
- adds r0, r1, 0
- subs r0, 0x80
- strh r0, [r4, 0xC]
- b _0816EAA6
- .pool
-_0816EA90:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816EAA6
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, =task_intro_25
- str r1, [r0]
-_0816EAA6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_24
-
- thumb_func_start task_intro_25
-task_intro_25: @ 816EAB8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_08D8C16C
- ldr r1, =0x0600e000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8CCC8
- ldr r1, =0x0600c000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8BA74
- ldr r1, =0x06004000
- bl LZDecompressVram
- ldr r0, =gUnknown_08D8C838
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- movs r1, 0xD5
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_intro_26
- str r1, [r0]
- movs r2, 0
- strh r2, [r0, 0x8]
- movs r1, 0x1
- strh r1, [r0, 0x14]
- strh r2, [r0, 0x16]
- ldr r0, =gUnknown_085E4BF4
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_085E4C04
- bl LoadSpritePalettes
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_25
-
- thumb_func_start task_intro_26
-task_intro_26: @ 816EB44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r6, r1, r2
- movs r3, 0
- ldrsh r0, [r6, r3]
- cmp r0, 0x1
- beq _0816EBE0
- cmp r0, 0x1
- bgt _0816EB6C
- cmp r0, 0
- beq _0816EB72
- b _0816EC62
- .pool
-_0816EB6C:
- cmp r0, 0x2
- beq _0816EC4C
- b _0816EC62
-_0816EB72:
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816EC62
- ldr r4, =gUnknown_085E4C4C
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0xC8
- movs r2, 0x70
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- bl StartSpriteAnim
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r0, 0x48
- strh r0, [r6, 0xC]
- b _0816EC62
- .pool
-_0816EBE0:
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816EC62
- ldr r4, =gUnknown_085E4C4C
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0x28
- movs r2, 0x70
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- bl StartSpriteAnim
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- movs r0, 0x30
- strh r0, [r6, 0xC]
- b _0816EC62
- .pool
-_0816EC4C:
- ldrh r0, [r6, 0xC]
- subs r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _0816EC62
- adds r0, r2, 0
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, =task_intro_27
- str r1, [r0]
-_0816EC62:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_26
-
- thumb_func_start sub_816EC6C
-sub_816EC6C: @ 816EC6C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0816EC88
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0816EC88:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816ECAC
- cmp r0, 0x1
- bgt _0816EC9A
- cmp r0, 0
- beq _0816ECA0
- b _0816ED12
-_0816EC9A:
- cmp r0, 0x2
- beq _0816ECDC
- b _0816ED12
-_0816ECA0:
- movs r0, 0xE1
- lsls r0, 1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0816ECAC:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0xBA
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- strh r0, [r4, 0x30]
- lsls r0, 16
- movs r1, 0xE7
- lsls r1, 17
- cmp r0, r1
- bne _0816ED12
- movs r0, 0xE6
- lsls r0, 1
- strh r0, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_0816ECDC:
- ldrh r0, [r4, 0x32]
- subs r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- bne _0816ED12
- movs r0, 0x4
- strh r0, [r4, 0x32]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldr r1, =gUnknown_08D85CD0
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0xBA
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r4, 0x30]
- subs r0, 0x2
- strh r0, [r4, 0x30]
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 17
- cmp r0, r1
- bne _0816ED12
- adds r0, r4, 0
- bl DestroySprite
-_0816ED12:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816EC6C
-
- thumb_func_start task_intro_27
-task_intro_27: @ 816ED20
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_085E5048
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085E5058
- bl LoadSpritePalettes
- movs r1, 0xD5
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- ldr r6, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r6
- ldr r0, =task_intro_28
- str r0, [r4]
- ldr r0, =0x0000ffde
- ldr r1, =0x00002949
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0
- strh r0, [r4, 0x8]
- movs r0, 0xA8
- strh r0, [r4, 0xA]
- ldr r1, =0x0000fff0
- strh r1, [r4, 0xC]
- ldr r0, =0x0000ff78
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldr r0, =sub_816EEA8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- strh r5, [r1, 0x10]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_27
-
- thumb_func_start task_intro_28
-task_intro_28: @ 816EDB4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r5, =gTasks + 0x8
- adds r2, r4, r5
- ldrh r0, [r2, 0xE]
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _0816EDD6
- ldrh r0, [r2, 0xC]
- movs r1, 0x2
- eors r0, r1
- strh r0, [r2, 0xC]
-_0816EDD6:
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- movs r6, 0
- ldrsh r1, [r2, r6]
- cmp r1, 0x1
- beq _0816EE2E
- cmp r1, 0x1
- bgt _0816EDF4
- cmp r1, 0
- beq _0816EDFE
- b _0816EE86
- .pool
-_0816EDF4:
- cmp r1, 0x2
- beq _0816EE3A
- cmp r1, 0x3
- beq _0816EE70
- b _0816EE86
-_0816EDFE:
- ands r0, r3
- cmp r0, 0
- beq _0816EE1C
- ldrh r0, [r2, 0x2]
- subs r0, 0x2
- strh r0, [r2, 0x2]
- ldrh r0, [r2, 0x4]
- adds r0, 0x1
- strh r0, [r2, 0x4]
- ldrh r0, [r2, 0x6]
- adds r0, 0x2
- strh r0, [r2, 0x6]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_0816EE1C:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, 0x68
- bne _0816EE86
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- strh r3, [r2, 0xA]
- b _0816EE86
-_0816EE2E:
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- movs r0, 0x4
- strh r0, [r2, 0xA]
- b _0816EE86
-_0816EE3A:
- ldrh r0, [r2, 0x2]
- adds r0, 0x4
- strh r0, [r2, 0x2]
- ldrh r0, [r2, 0x4]
- subs r0, 0x2
- strh r0, [r2, 0x4]
- ldrh r0, [r2, 0x6]
- subs r0, 0x4
- strh r0, [r2, 0x6]
- ldrh r0, [r2, 0x8]
- subs r0, 0x2
- strh r0, [r2, 0x8]
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816EE86
- movs r0, 0x8C
- strh r0, [r2, 0xA]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _0816EE86
- .pool
-_0816EE70:
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _0816EE86
- adds r0, r5, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, =task_intro_29
- str r1, [r0]
-_0816EE86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_28
-
- thumb_func_start task_intro_29
-task_intro_29: @ 816EE90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, =sub_816CC54
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_intro_29
-
- thumb_func_start sub_816EEA8
-sub_816EEA8: @ 816EEA8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r5, 0x4]
- adds r0, 0x1
- strh r0, [r5, 0x4]
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _0816EECA
- b _0816F0B2
-_0816EECA:
- lsls r0, 2
- ldr r1, =_0816EEDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816EEDC:
- .4byte _0816EEF4
- .4byte _0816EF34
- .4byte _0816EF80
- .4byte _0816F00A
- .4byte _0816F074
- .4byte _0816F0A0
-_0816EEF4:
- ldrh r1, [r5, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816EF16
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, =gUnknown_08D85E72
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0xBC
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
-_0816EF16:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- beq _0816EF20
- b _0816F0B2
-_0816EF20:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0
- strh r0, [r5, 0x2]
- b _0816EF70
- .pool
-_0816EF34:
- ldrh r1, [r5, 0x6]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0816F004
- ldrh r1, [r5, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816EF60
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 1
- ldr r1, =gUnknown_08D85E72
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0xB0
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
-_0816EF60:
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0x6
- beq _0816EF6A
- b _0816F0B2
-_0816EF6A:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_0816EF70:
- movs r0, 0xA
- strh r0, [r5, 0x6]
- b _0816F0B2
- .pool
-_0816EF80:
- ldrh r1, [r5, 0x6]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0816F004
- ldrh r1, [r5, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816EFAC
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 1
- ldr r1, =gUnknown_08D85E52
- adds r0, r1
- ldr r1, =gPlttBufferFaded + 0xB8
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
-_0816EFAC:
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0x6
- beq _0816EFB6
- b _0816F0B2
-_0816EFB6:
- ldr r0, =gUnknown_085E5030
- movs r1, 0x78
- movs r2, 0x58
- movs r3, 0xF
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x67
- bl PlaySE
- ldr r1, =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]
- ldrh r1, [r5, 0x8]
- strh r1, [r0, 0x34]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0x10
- strh r0, [r5, 0x6]
- b _0816F0B2
- .pool
-_0816F004:
- subs r0, r1, 0x1
- strh r0, [r5, 0x6]
- b _0816F0B2
-_0816F00A:
- ldrh r1, [r5, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816F0B2
- ldrh r0, [r5, 0x6]
- subs r0, 0x1
- adds r2, r0, 0
- strh r0, [r5, 0x6]
- lsls r0, 16
- cmp r0, 0
- beq _0816F068
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =0x00002949
- movs r0, 0x50
- movs r1, 0x10
- bl BlendPalette
- ldr r4, =gUnknown_08D85E7C
- ldr r5, =gPlttBufferFaded + 0xBC
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- adds r1, r5, 0
- subs r1, 0xC
- adds r0, r4, 0
- movs r2, 0x1
- bl CpuSet
- subs r4, 0x20
- subs r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- b _0816F0B2
- .pool
-_0816F068:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- movs r0, 0x35
- strh r0, [r5, 0x6]
- b _0816F0B2
-_0816F074:
- ldrh r0, [r5, 0x6]
- subs r0, 0x1
- strh r0, [r5, 0x6]
- lsls r0, 16
- cmp r0, 0
- bne _0816F0B2
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x00007fff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0816F0B2
- .pool
-_0816F0A0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816F0B2
- adds r0, r2, 0
- bl DestroyTask
-_0816F0B2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816EEA8
-
- thumb_func_start intro_reset_and_hide_bgs
-@ void intro_reset_and_hide_bgs()
-intro_reset_and_hide_bgs: @ 816F0C0
- push {lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end intro_reset_and_hide_bgs
-
- thumb_func_start task_intro_3_1
-task_intro_3_1: @ 816F128
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816F170
- cmp r0, 0x1
- ble _0816F148
- cmp r0, 0x2
- beq _0816F1BC
-_0816F148:
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r0, =gUnknown_0853FF70
- ldrh r1, [r0, 0x3E]
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- b _0816F1AC
- .pool
-_0816F170:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0816F1A0
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r1, 0xFF
- lsls r1, 1
- ldr r2, =gUnknown_0853FF70
- ands r0, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x52
- bl SetGpuReg
- b _0816F1DA
- .pool
-_0816F1A0:
- ldr r0, =gUnknown_0853FF70
- ldrh r1, [r0]
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x10
-_0816F1AC:
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0816F1DA
- .pool
-_0816F1BC:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
-_0816F1DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_intro_3_1
-
- thumb_func_start task_intro_3_2
-task_intro_3_2: @ 816F1E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816F228
- cmp r0, 0x1
- ble _0816F200
- cmp r0, 0x2
- beq _0816F274
-_0816F200:
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r0, =gUnknown_0853FF70
- ldrh r1, [r0]
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- b _0816F264
- .pool
-_0816F228:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x3D
- bgt _0816F258
- adds r0, r1, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r1, 0xFF
- lsls r1, 1
- ldr r2, =gUnknown_0853FF70
- ands r0, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x52
- bl SetGpuReg
- b _0816F2A2
- .pool
-_0816F258:
- ldr r0, =gUnknown_0853FF70
- ldrh r1, [r0, 0x3E]
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x10
-_0816F264:
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0816F2A2
- .pool
-_0816F274:
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0816F284
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _0816F2A2
-_0816F284:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- adds r0, r5, 0
- bl DestroyTask
-_0816F2A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_intro_3_2
-
- thumb_func_start sub_816F2A8
-sub_816F2A8: @ 816F2A8
- push {r4,lr}
- sub sp, 0x24
- lsls r2, 16
- lsrs r2, 16
- movs r4, 0x80
- lsls r4, 8
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r4, sp
- strh r0, [r4, 0x8]
- mov r0, sp
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r3, [r0, 0x10]
- add r4, sp, 0x14
- adds r1, r4, 0
- movs r2, 0x1
- bl BgAffineSet
- ldrh r1, [r4]
- movs r0, 0x20
- bl SetGpuReg
- ldrh r1, [r4, 0x2]
- movs r0, 0x22
- bl SetGpuReg
- ldrh r1, [r4, 0x4]
- movs r0, 0x24
- bl SetGpuReg
- ldrh r1, [r4, 0x6]
- movs r0, 0x26
- bl SetGpuReg
- ldrh r1, [r4, 0x8]
- movs r0, 0x28
- bl SetGpuReg
- ldrh r1, [r4, 0xA]
- movs r0, 0x2A
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x2C
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x2E
- bl SetGpuReg
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816F2A8
-
- thumb_func_start sub_816F318
-sub_816F318: @ 816F318
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xBF
- ble _0816F394
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0816F336
- subs r0, r1, 0x1
- strh r0, [r4, 0x34]
- b _0816F39A
-_0816F336:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x32]
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 5
- subs r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- subs r0, 0xC0
- cmp r0, 0
- bge _0816F378
- adds r0, 0x7F
-_0816F378:
- asrs r0, 7
- adds r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0816F386
- movs r0, 0xF
-_0816F386:
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- b _0816F39A
-_0816F394:
- adds r0, r4, 0
- bl DestroySprite
-_0816F39A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816F318
-
- thumb_func_start sub_816F3A4
-sub_816F3A4: @ 816F3A4
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gSprites
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0816F420
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, =sub_816F318
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
- b _0816F44C
- .pool
-_0816F420:
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x26]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x20]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x22]
-_0816F44C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816F3A4
-
- thumb_func_start sub_816F454
-sub_816F454: @ 816F454
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0816F464
- ldr r0, =sub_816F46C
- str r0, [r1, 0x1C]
-_0816F464:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F454
-
- thumb_func_start sub_816F46C
-sub_816F46C: @ 816F46C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- ldrh r4, [r7, 0x20]
- movs r1, 0x20
- ldrsh r0, [r7, r1]
- cmp r0, 0x74
- bgt _0816F4AC
- ldrh r0, [r7, 0x26]
- ldrh r1, [r7, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r7, 0x22]
- strh r1, [r7, 0x26]
- adds r0, r4, 0x4
- strh r0, [r7, 0x20]
- ldr r0, =0x0000fffc
- strh r0, [r7, 0x24]
- movs r0, 0x80
- strh r0, [r7, 0x36]
- ldr r0, =sub_816F5B4
- str r0, [r7, 0x1C]
- b _0816F59E
- .pool
-_0816F4AC:
- ldrh r1, [r7, 0x36]
- ldr r5, =gSineTable
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r3, [r0]
- adds r1, 0x2
- strh r1, [r7, 0x36]
- lsls r2, 16
- asrs r0, r2, 16
- cmp r0, 0
- bge _0816F4D2
- adds r0, 0x1F
-_0816F4D2:
- asrs r0, 5
- strh r0, [r7, 0x26]
- subs r0, r4, 0x1
- strh r0, [r7, 0x20]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816F4E8
- ldrh r0, [r7, 0x22]
- adds r0, 0x1
- strh r0, [r7, 0x22]
-_0816F4E8:
- lsls r0, r3, 16
- asrs r0, 16
- negs r0, r0
- cmp r0, 0
- bge _0816F4F4
- adds r0, 0xF
-_0816F4F4:
- lsls r1, r0, 12
- lsrs r1, 16
- ldrh r4, [r7, 0x32]
- ldrh r3, [r7, 0x34]
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- adds r1, 0x30
- lsls r1, 24
- lsrs r1, 23
- adds r1, r5
- movs r0, 0
- ldrsh r1, [r1, r0]
- adds r0, r1, 0
- muls r0, r4
- cmp r0, 0
- bge _0816F51E
- adds r0, 0xFF
-_0816F51E:
- lsls r0, 8
- lsrs r0, 16
- mov r8, r0
- lsls r0, r2, 16
- asrs r2, r0, 16
- negs r0, r2
- muls r0, r3
- cmp r0, 0
- bge _0816F532
- adds r0, 0xFF
-_0816F532:
- lsls r0, 8
- lsrs r0, 16
- mov r10, r0
- adds r0, r2, 0
- muls r0, r4
- cmp r0, 0
- bge _0816F542
- adds r0, 0xFF
-_0816F542:
- lsls r0, 8
- lsrs r5, r0, 16
- adds r0, r1, 0
- muls r0, r3
- cmp r0, 0
- bge _0816F550
- adds r0, 0xFF
-_0816F550:
- lsls r6, r0, 8
- lsrs r6, 16
- ldrh r0, [r7, 0x30]
- lsls r0, 24
- lsrs r0, 24
- str r3, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r7, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r5
- mov r1, r10
- lsls r5, r1, 16
- lsrs r3, r5, 16
- lsls r4, r6, 16
- str r6, [sp]
- mov r1, r8
- mov r2, r9
- bl SetOamMatrix
- ldrh r0, [r7, 0x30]
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 1
- lsrs r5, 16
- lsls r4, 1
- lsrs r4, 16
- str r4, [sp]
- mov r1, r8
- mov r2, r9
- adds r3, r5, 0
- bl SetOamMatrix
-_0816F59E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F46C
-
- thumb_func_start sub_816F5B4
-sub_816F5B4: @ 816F5B4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x3A]
- adds r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldrh r1, [r4, 0x36]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0x40
- beq _0816F64C
- adds r0, r1, 0
- subs r0, 0x8
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x36]
- adds r1, r0, 0
- ldr r2, =gSineTable
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _0816F62E
- adds r0, 0x3F
-_0816F62E:
- asrs r0, 6
- strh r0, [r4, 0x24]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0816F642
- adds r0, 0x3F
-_0816F642:
- asrs r0, 6
- strh r0, [r4, 0x26]
- b _0816F654
- .pool
-_0816F64C:
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r0, =sub_816F660
- str r0, [r4, 0x1C]
-_0816F654:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F5B4
-
- thumb_func_start sub_816F660
-sub_816F660: @ 816F660
- push {r4,lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _0816F6C0
- ldrh r0, [r1, 0x36]
- adds r0, 0x8
- strh r0, [r1, 0x36]
- ldr r3, =gSineTable
- lsls r0, 24
- lsrs r0, 23
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _0816F684
- adds r0, 0xF
-_0816F684:
- asrs r0, 4
- adds r0, 0x40
- lsls r0, 16
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x40
- lsls r0, 24
- lsrs r0, 23
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _0816F6A0
- adds r0, 0x3F
-_0816F6A0:
- asrs r0, 6
- strh r0, [r1, 0x24]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _0816F6B4
- adds r0, 0x3F
-_0816F6B4:
- asrs r0, 6
- strh r0, [r1, 0x26]
- b _0816F6C4
- .pool
-_0816F6C0:
- ldr r0, =sub_816F6D0
- str r0, [r1, 0x1C]
-_0816F6C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F660
-
- thumb_func_start sub_816F6D0
-sub_816F6D0: @ 816F6D0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x22]
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0816F6E8
- adds r0, r2, 0x4
- strh r0, [r4, 0x22]
- b _0816F744
-_0816F6E8:
- movs r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, =sub_816F318
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
-_0816F744:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F6D0
-
- thumb_func_start sub_816F750
-sub_816F750: @ 816F750
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x22]
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _0816F768
- adds r0, r2, 0x4
- strh r0, [r4, 0x22]
- b _0816F7C4
-_0816F768:
- movs r0, 0x1
- strh r0, [r4, 0x3C]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 3
- strh r0, [r4, 0x34]
- ldr r0, =sub_816F318
- str r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x2
- bl CalcCenterToCornerVec
-_0816F7C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816F750
-
- thumb_func_start sub_816F7D0
-sub_816F7D0: @ 816F7D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r6, [sp, 0x34]
- ldr r0, [sp, 0x38]
- mov r8, r0
- lsls r4, 16
- lsls r5, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x8]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0xC]
- lsls r6, 16
- lsrs r6, 16
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, =gUnknown_085E4D64
- lsrs r2, r4, 16
- mov r10, r2
- asrs r4, 16
- lsrs r1, r5, 16
- str r1, [sp, 0x4]
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gSprites
- mov r9, r2
- lsls r0, r7, 4
- adds r0, r7
- lsls r5, r0, 2
- adds r4, r5, r2
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x3C]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- strh r0, [r4, 0x30]
- mov r1, sp
- ldrh r1, [r1, 0x8]
- strh r1, [r4, 0x32]
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r4, 0x34]
- strh r6, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r4, 0x3A]
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ldr r1, [sp, 0xC]
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- mov r1, r8
- cmp r1, 0
- bne _0816F898
- mov r0, r9
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, =sub_816F454
- b _0816F8A0
- .pool
-_0816F898:
- mov r0, r9
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, =sub_816F750
-_0816F8A0:
- str r1, [r0]
- str r7, [sp, 0x10]
- mov r2, r10
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- ldr r0, [sp, 0x4]
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- ldr r0, =gUnknown_085E4D64
- mov r1, r10
- mov r2, r8
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r0, r4, r5
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r0, 0x3C]
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- mov r9, r2
- strh r2, [r0, 0x30]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- mov r2, r9
- movs r1, 0x1F
- ands r2, r1
- lsls r2, 1
- ldrb r3, [r0, 0x3]
- movs r6, 0x3F
- negs r6, r6
- adds r1, r6, 0
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x3]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- ldr r2, =gSprites + 0x1C
- adds r4, r2
- ldr r0, =sub_816F3A4
- str r0, [r4]
- ldr r0, =gUnknown_085E4D64
- mov r1, r10
- mov r2, r8
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r5, r4, r5
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r5, 0x3C]
- ldr r2, [sp, 0xC]
- adds r2, 0x2
- mov r8, r2
- strh r2, [r5, 0x30]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r0, [r5, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r5, 0x1]
- mov r0, r8
- movs r2, 0x1F
- ands r0, r2
- lsls r0, 1
- ldrb r1, [r5, 0x3]
- ands r6, r1
- orrs r6, r0
- strb r6, [r5, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl CalcCenterToCornerVec
- ldr r0, =gSprites + 0x1C
- adds r4, r0
- ldr r1, =sub_816F3A4
- str r1, [r4]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 24
- lsrs r0, 24
- ldr r5, [sp, 0x8]
- adds r5, 0x20
- lsls r4, r5, 16
- lsrs r4, 16
- str r4, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- str r4, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 17
- lsrs r5, 16
- str r5, [sp]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, [sp, 0x10]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816F7D0
-
- thumb_func_start sub_816F9D4
-sub_816F9D4: @ 816F9D4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _0816FA62
- lsls r0, 2
- ldr r1, =_0816F9F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816F9F0:
- .4byte _0816FA04
- .4byte _0816FA12
- .4byte _0816FA30
- .4byte _0816FA62
- .4byte _0816FA50
-_0816FA04:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- b _0816FA60
-_0816FA12:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0816FAAA
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- b _0816FA60
- .pool
-_0816FA30:
- ldrh r2, [r4, 0x20]
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _0816FA46
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0816FA6E
-_0816FA46:
- adds r0, r2, 0x1
- b _0816FA60
- .pool
-_0816FA50:
- ldrh r2, [r4, 0x20]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x20
- negs r0, r0
- cmp r1, r0
- ble _0816FA62
- subs r0, r2, 0x2
-_0816FA60:
- strh r0, [r4, 0x20]
-_0816FA62:
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0816FAAA
-_0816FA6E:
- movs r1, 0x26
- ldrsh r5, [r4, r1]
- cmp r5, 0
- beq _0816FA80
- movs r0, 0
- strh r0, [r4, 0x26]
- b _0816FAAA
- .pool
-_0816FA80:
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- beq _0816FAA8
- cmp r1, 0x1
- bgt _0816FA96
- cmp r1, 0
- beq _0816FA9E
- b _0816FAAA
-_0816FA96:
- cmp r1, 0x3
- bgt _0816FAAA
- strh r5, [r4, 0x26]
- b _0816FAAA
-_0816FA9E:
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x26]
- b _0816FAAA
- .pool
-_0816FAA8:
- strh r1, [r4, 0x26]
-_0816FAAA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_816F9D4
-
- thumb_func_start sub_816FAB0
-sub_816FAB0: @ 816FAB0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816FACA
- cmp r0, 0x1
- ble _0816FB12
- cmp r0, 0x2
- beq _0816FAEA
- cmp r0, 0x3
- beq _0816FB04
- b _0816FB12
-_0816FACA:
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- ldr r1, =0x0000012f
- cmp r0, r1
- bgt _0816FAE4
- ldrh r0, [r4, 0x24]
- adds r0, 0x8
- b _0816FB10
- .pool
-_0816FAE4:
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- b _0816FB12
-_0816FAEA:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0x78
- ble _0816FAFE
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- b _0816FB10
-_0816FAFE:
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- b _0816FB12
-_0816FB04:
- ldrh r1, [r4, 0x24]
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _0816FB12
- subs r0, r1, 0x2
-_0816FB10:
- strh r0, [r4, 0x24]
-_0816FB12:
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8
- bl Sin
- ldr r1, =gUnknown_0203BCCC
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816FAB0
-
- thumb_func_start sub_816FB38
-sub_816FB38: @ 816FB38
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0x5
- bls _0816FB46
- b _0816FD38
-_0816FB46:
- lsls r0, 2
- ldr r1, =_0816FB54
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816FB54:
- .4byte _0816FB6C
- .4byte _0816FB94
- .4byte _0816FBB4
- .4byte _0816FC5C
- .4byte _0816FCC4
- .4byte _0816FCF4
-_0816FB6C:
- ldrh r1, [r6, 0x30]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _0816FB7C
- subs r0, r1, 0x1
- strh r0, [r6, 0x30]
- b _0816FD38
-_0816FB7C:
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _0816FCE6
-_0816FB94:
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- cmp r0, 0x90
- beq _0816FB9E
- b _0816FD38
-_0816FB9E:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- movs r0, 0x9
- strh r0, [r6, 0x30]
- movs r0, 0x2
- strh r0, [r6, 0x34]
- b _0816FD38
- .pool
-_0816FBB4:
- ldrh r1, [r6, 0x34]
- movs r2, 0x34
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _0816FC66
- movs r0, 0x2
- strh r0, [r6, 0x34]
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0816FC14
- lsls r0, 1
- ldr r4, =gUnknown_08D85C50
- adds r0, r4
- ldr r5, =gPlttBufferFaded + 0x23E
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r1
- adds r1, r5, 0
- subs r1, 0x16
- movs r2, 0x1
- bl CpuSet
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- lsls r0, 1
- adds r4, 0x40
- adds r0, r4
- subs r5, 0xA
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r6, 0x30]
- subs r0, 0x1
- strh r0, [r6, 0x30]
- b _0816FD38
- .pool
-_0816FC14:
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- lsls r0, 1
- ldr r4, =gUnknown_08D85C50
- adds r0, r4
- ldr r5, =gPlttBufferFaded + 0x23E
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r1
- adds r1, r5, 0
- subs r1, 0x16
- movs r2, 0x1
- bl CpuSet
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- lsls r0, 1
- adds r4, 0x40
- adds r0, r4
- subs r5, 0xA
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- b _0816FCE6
- .pool
-_0816FC5C:
- ldrh r1, [r6, 0x34]
- movs r2, 0x34
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _0816FC6C
-_0816FC66:
- subs r0, r1, 0x1
- strh r0, [r6, 0x34]
- b _0816FD38
-_0816FC6C:
- movs r0, 0x2
- strh r0, [r6, 0x34]
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- cmp r0, 0x9
- bgt _0816FCE6
- lsls r0, 1
- ldr r4, =gUnknown_08D85C50
- adds r0, r4
- ldr r5, =gPlttBufferFaded + 0x23E
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r1
- adds r1, r5, 0
- subs r1, 0x16
- movs r2, 0x1
- bl CpuSet
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- lsls r0, 1
- adds r4, 0x40
- adds r0, r4
- subs r5, 0xA
- adds r1, r5, 0
- movs r2, 0x1
- bl CpuSet
- ldrh r0, [r6, 0x30]
- adds r0, 0x1
- strh r0, [r6, 0x30]
- b _0816FD38
- .pool
-_0816FCC4:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bne _0816FD38
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldrb r1, [r6, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6, 0x1]
-_0816FCE6:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- b _0816FD38
- .pool
-_0816FCF4:
- ldr r1, =gUnknown_085E4F48
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r6, 0x34]
- adds r0, r1
- strh r0, [r6, 0x34]
- movs r2, 0x34
- ldrsh r0, [r6, r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- asrs r0, 8
- strh r0, [r6, 0x24]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x3
- bgt _0816FD24
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- negs r0, r0
- strh r0, [r6, 0x24]
-_0816FD24:
- adds r0, r6, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0816FD38
- adds r0, r6, 0
- bl DestroySprite
-_0816FD38:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816FB38
-
- thumb_func_start sub_816FD44
-sub_816FD44: @ 816FD44
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0816FD7C
- cmp r0, 0x1
- bgt _0816FD5A
- cmp r0, 0
- beq _0816FD60
- b _0816FDB0
-_0816FD5A:
- cmp r0, 0x2
- beq _0816FD9C
- b _0816FDB0
-_0816FD60:
- ldr r0, =gUnknown_030062A0
- ldr r0, [r0]
- cmp r0, 0x80
- bne _0816FDB0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- b _0816FD90
- .pool
-_0816FD7C:
- ldr r0, =gUnknown_030062A0
- ldr r1, [r0]
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bne _0816FDB0
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAffineAnim
-_0816FD90:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0816FDB0
- .pool
-_0816FD9C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0816FDB0
- adds r0, r4, 0
- bl DestroySprite
-_0816FDB0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816FD44
-
- thumb_func_start sub_816FDB8
-sub_816FDB8: @ 816FDB8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x4]
- movs r7, 0
-_0816FDD2:
- lsls r5, r7, 2
- ldr r0, =gUnknown_085E4E94
- adds r0, 0x2
- adds r0, r5, r0
- ldr r2, [sp]
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- ldr r3, [sp, 0x4]
- lsls r2, r3, 16
- asrs r0, r2, 16
- str r0, [sp, 0x8]
- ldr r3, =0xfffc0000
- adds r2, r3
- ldr r0, =gUnknown_085E4F5C
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r1, 0
- strh r1, [r4, 0x2E]
- ldr r0, =gUnknown_085E4FA4
- adds r0, r7, r0
- ldrb r0, [r0]
- strh r0, [r4, 0x30]
- strh r7, [r4, 0x32]
- adds r1, r4, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- mov r10, r2
- mov r3, r10
- orrs r0, r3
- strb r0, [r1]
- adds r1, r7, 0
- adds r1, 0xC
- movs r0, 0x1F
- mov r9, r0
- mov r2, r9
- ands r1, r2
- lsls r1, 1
- ldrb r0, [r4, 0x3]
- movs r3, 0x3F
- negs r3, r3
- mov r8, r3
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldr r3, =gUnknown_085E4E94
- adds r5, r3
- ldrb r1, [r5]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x8
- bls _0816FDD2
- ldr r0, =gUnknown_085E4F8C
- ldr r2, [sp, 0x8]
- subs r2, 0x6
- lsls r2, 16
- asrs r2, 16
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r2, 0
- strh r2, [r0, 0x2E]
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r3, r10
- orrs r1, r3
- strb r1, [r2]
- adds r2, r7, 0
- adds r2, 0xC
- mov r1, r9
- ands r2, r1
- lsls r2, 1
- ldrb r1, [r0, 0x3]
- mov r3, r8
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x3]
- movs r1, 0x1
- bl StartSpriteAffineAnim
- adds r0, r6, 0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816FDB8
-
- thumb_func_start sub_816FEDC
-sub_816FEDC: @ 816FEDC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0816FF48
- ldr r2, =gSineTable
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 24
- lsrs r0, 23
- adds r0, r2
- ldrh r3, [r0]
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 23
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- adds r1, r0, 0
- muls r1, r2
- adds r0, r1, 0
- cmp r1, 0
- bge _0816FF18
- adds r0, 0xFF
-_0816FF18:
- lsls r0, 8
- lsrs r6, r0, 16
- lsls r0, r3, 16
- asrs r3, r0, 16
- negs r0, r3
- muls r0, r2
- cmp r0, 0
- bge _0816FF2A
- adds r0, 0xFF
-_0816FF2A:
- lsls r0, 8
- lsrs r5, r0, 16
- adds r0, r3, 0
- muls r0, r2
- cmp r0, 0
- bge _0816FF38
- adds r0, 0xFF
-_0816FF38:
- lsls r0, 8
- lsrs r2, r0, 16
- adds r1, r6, 0
- adds r3, r5, 0
- str r1, [sp]
- movs r0, 0x1
- bl SetOamMatrix
-_0816FF48:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _0816FF9C
- cmp r0, 0x1
- ble _0816FF58
- cmp r0, 0x2
- beq _0816FFFE
-_0816FF58:
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x80
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x32]
- strh r1, [r4, 0x34]
- b _08170038
- .pool
-_0816FF9C:
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x8C
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x78
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x7
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- strh r0, [r4, 0x34]
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _08170038
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x14
- strh r0, [r4, 0x20]
- movs r0, 0x28
- strh r0, [r4, 0x22]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- movs r0, 0x10
- b _08170036
-_0816FFFE:
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x22
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3C
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- strh r0, [r4, 0x30]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08170038
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
-_08170036:
- strh r0, [r4, 0x34]
-_08170038:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816FEDC
-
- thumb_func_start sub_8170040
-sub_8170040: @ 8170040
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08170056
- adds r4, r5, 0
- adds r4, 0x3E
- cmp r0, 0x1
- beq _0817008E
-_08170056:
- adds r4, r5, 0
- adds r4, 0x3E
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r5, 0x1]
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x24
- orrs r0, r1
- strb r0, [r5, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x3
- bl CalcCenterToCornerVec
- movs r0, 0
- strh r0, [r5, 0x30]
- movs r0, 0x1
- strh r0, [r5, 0x2E]
-_0817008E:
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081700A6
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- b _081700BE
-_081700A6:
- ldrb r0, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r4]
- ldrh r1, [r5, 0x30]
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- cmp r0, 0x3F
- bgt _081700BE
- adds r0, r1, 0x1
- strh r0, [r5, 0x30]
-_081700BE:
- ldr r1, =gSineTable
- ldrh r0, [r5, 0x30]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r0, 0x12
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8170040
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/intro_credits_graphics.s b/asm/intro_credits_graphics.s
deleted file mode 100644
index ad249a470..000000000
--- a/asm/intro_credits_graphics.s
+++ /dev/null
@@ -1,1077 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start load_intro_part2_graphics
-load_intro_part2_graphics: @ 817B064
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_085F0740
- ldr r1, =0x06004000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F0BC0
- ldr r1, =0x06007800
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F06E0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- cmp r4, 0
- beq _0817B08C
- cmp r4, 0x1
- beq _0817B0EC
-_0817B08C:
- ldr r0, =gUnknown_085F0DBC
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1398
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F0CFC
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r0, =gUnknown_085F5064
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F1668
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- bl sub_817B76C
- b _0817B11E
- .pool
-_0817B0EC:
- ldr r0, =gUnknown_085F1824
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1EAC
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F17E4
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F50EC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F21B0
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- bl sub_817B788
-_0817B11E:
- ldr r1, =gUnknown_0203BD28
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end load_intro_part2_graphics
-
- thumb_func_start sub_817B150
-sub_817B150: @ 817B150
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0817B162
- cmp r0, 0x1
- ble _0817B162
- cmp r0, 0x2
- beq _0817B194
-_0817B162:
- ldr r1, =0x00000603
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =0x00000702
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00000f05
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xF2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- b _0817B1B6
- .pool
-_0817B194:
- ldr r1, =0x00000603
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =0x00000702
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00000f05
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xF2
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
-_0817B1B6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B150
-
- thumb_func_start sub_817B1C8
-sub_817B1C8: @ 817B1C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_085F0740
- ldr r1, =0x06004000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F0BC0
- ldr r1, =0x06007800
- bl LZ77UnCompVram
- cmp r4, 0x4
- bhi _0817B214
- lsls r0, r4, 2
- ldr r1, =_0817B200
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817B200:
- .4byte _0817B214
- .4byte _0817B270
- .4byte _0817B2DC
- .4byte _0817B2DC
- .4byte _0817B334
-_0817B214:
- ldr r0, =gUnknown_085F06E0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F0DBC
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1398
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F0CFC
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r0, =gUnknown_085F5064
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F16A8
- ldr r1, =0x06010000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1668
- b _0817B2A6
- .pool
-_0817B270:
- ldr r0, =gUnknown_085F0700
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F0DBC
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1398
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F0D5C
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r0, =gUnknown_085F5064
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F16A8
- ldr r1, =0x06010000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1688
-_0817B2A6:
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- bl sub_817B76C
- b _0817B370
- .pool
-_0817B2DC:
- ldr r0, =gUnknown_085F0700
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F1824
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F1EAC
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r4, =gUnknown_085F1804
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F50EC
- bl LoadCompressedObjectPic
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- bl sub_817B788
- b _0817B370
- .pool
-_0817B334:
- ldr r0, =gUnknown_085F0720
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085F235C
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F2568
- ldr r1, =0x06003000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_085F231C
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_085F5180
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085F2548
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- bl sub_817B7A4
-_0817B370:
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r1, =gUnknown_0203BD28
- movs r0, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B1C8
-
- thumb_func_start sub_817B3A8
-sub_817B3A8: @ 817B3A8
- push {lr}
- ldr r1, =0x00000603
- movs r0, 0xE
- bl SetGpuReg
- ldr r1, =0x00000702
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =0x00000f05
- movs r0, 0xA
- bl SetGpuReg
- movs r1, 0xFA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B3A8
-
- thumb_func_start sub_817B3DC
-sub_817B3DC: @ 817B3DC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- ldr r1, =sub_817B458
- mov r9, r1
- mov r0, r9
- movs r1, 0
- str r3, [sp]
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- strh r5, [r0, 0x8]
- strh r6, [r0, 0xA]
- strh r2, [r0, 0xC]
- strh r2, [r0, 0xE]
- mov r1, r8
- strh r1, [r0, 0x10]
- strh r2, [r0, 0x12]
- strh r2, [r0, 0x14]
- ldr r3, [sp]
- strh r3, [r0, 0x16]
- movs r1, 0x8
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- adds r0, r4, 0
- bl _call_via_r9
- adds r0, r4, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817B3DC
-
- thumb_func_start sub_817B458
-sub_817B458: @ 817B458
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- lsls r2, r0, 16
- cmp r2, 0
- beq _0817B4A0
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0xE]
- adds r1, r0, r1
- lsrs r0, r2, 12
- subs r1, r0
- asrs r0, r1, 16
- strh r0, [r4, 0xC]
- strh r1, [r4, 0xE]
- ldrh r1, [r4, 0xC]
- movs r0, 0x14
- bl SetGpuReg
- ldr r2, =gUnknown_0203BD24
- ldr r0, =gUnknown_0203BD26
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
-_0817B4A0:
- ldrh r0, [r4, 0x10]
- lsls r2, r0, 16
- cmp r2, 0
- beq _0817B4FA
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0x14]
- adds r1, r0, r1
- lsrs r0, r2, 12
- subs r1, r0
- asrs r0, r1, 16
- strh r0, [r4, 0x12]
- strh r1, [r4, 0x14]
- ldrh r1, [r4, 0x12]
- movs r0, 0x18
- bl SetGpuReg
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0817B4F0
- ldr r2, =gUnknown_0203BD24
- ldr r0, =gUnknown_0203BD26
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- b _0817B4FA
- .pool
-_0817B4F0:
- ldr r0, =gUnknown_0203BD24
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
-_0817B4FA:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r2, r1, r0
- ldrh r0, [r2, 0x16]
- lsls r3, r0, 16
- cmp r3, 0
- beq _0817B532
- movs r1, 0x18
- ldrsh r0, [r2, r1]
- lsls r0, 16
- ldrh r1, [r2, 0x1A]
- adds r1, r0, r1
- lsrs r0, r3, 12
- subs r1, r0
- asrs r0, r1, 16
- strh r0, [r2, 0x18]
- strh r1, [r2, 0x1A]
- ldrh r1, [r2, 0x18]
- movs r0, 0x1C
- bl SetGpuReg
- ldr r0, =gUnknown_0203BD24
- ldrh r1, [r0]
- movs r0, 0x1E
- bl SetGpuReg
-_0817B532:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B458
-
- thumb_func_start sub_817B540
-sub_817B540: @ 817B540
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0817B620
- cmp r0, 0x1
- ble _0817B554
- cmp r0, 0x2
- beq _0817B5B8
-_0817B554:
- ldr r0, =gMain
- ldr r2, [r0, 0x20]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- bne _0817B620
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817B620
- movs r0, 0x4
- ands r2, r0
- cmp r2, 0
- beq _0817B58C
- ldr r2, =gPlttBufferUnfaded
- ldrh r1, [r2, 0x12]
- mov r0, sp
- strh r1, [r0]
- ldrh r1, [r2, 0x14]
- b _0817B596
- .pool
-_0817B58C:
- ldr r2, =gPlttBufferUnfaded
- ldrh r1, [r2, 0x14]
- mov r0, sp
- strh r1, [r0]
- ldrh r1, [r2, 0x12]
-_0817B596:
- adds r0, 0x2
- strh r1, [r0]
- adds r4, r0, 0
- mov r0, sp
- movs r1, 0x9
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0x2
- bl LoadPalette
- b _0817B620
- .pool
-_0817B5B8:
- ldr r0, =gMain
- ldr r2, [r0, 0x20]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0
- bne _0817B620
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817B620
- movs r0, 0x4
- ands r2, r0
- cmp r2, 0
- beq _0817B5F8
- mov r1, sp
- ldr r2, =0x00003d27
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, =0x00000295
- b _0817B606
- .pool
-_0817B5F8:
- mov r1, sp
- movs r2, 0xC7
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, =0x00003d27
-_0817B606:
- adds r0, r2, 0
- strh r0, [r1]
- adds r4, r1, 0
- mov r0, sp
- movs r1, 0xC
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xD
- movs r2, 0x2
- bl LoadPalette
-_0817B620:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B540
-
- thumb_func_start sub_817B62C
-sub_817B62C: @ 817B62C
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203BD28
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- beq _0817B690
- cmp r0, 0
- beq _0817B64C
- adds r0, r2, 0
- bl DestroySprite
- b _0817B690
- .pool
-_0817B64C:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- lsls r0, 16
- ldrh r1, [r2, 0x32]
- orrs r0, r1
- ldrh r1, [r2, 0x30]
- adds r0, r1
- asrs r1, r0, 16
- strh r1, [r2, 0x20]
- strh r0, [r2, 0x32]
- cmp r1, 0xFF
- ble _0817B668
- ldr r0, =0x0000ffe0
- strh r0, [r2, 0x20]
-_0817B668:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0817B688
- ldr r1, =gUnknown_0203BD24
- ldr r0, =gUnknown_0203BD26
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- b _0817B68C
- .pool
-_0817B688:
- ldr r0, =gUnknown_0203BD24
- ldrh r0, [r0]
-_0817B68C:
- negs r0, r0
- strh r0, [r2, 0x26]
-_0817B690:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B62C
-
- thumb_func_start sub_817B698
-sub_817B698: @ 817B698
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r7, 0
- cmp r7, r8
- bcs _0817B74E
- ldr r0, =gSprites
- mov r10, r0
- movs r2, 0x3F
- mov r9, r2
-_0817B6C2:
- lsls r6, r7, 3
- ldr r0, [sp, 0x4]
- adds r6, r0
- ldrb r1, [r6, 0x1]
- ldrb r2, [r6, 0x2]
- ldrb r3, [r6, 0x3]
- ldr r0, =gUnknown_085F504C
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- mov r2, r10
- adds r4, r5, r2
- ldrb r2, [r6]
- lsls r1, r2, 26
- lsrs r1, 30
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
- ldrb r3, [r4, 0x5]
- movs r0, 0xC
- orrs r3, r0
- strb r3, [r4, 0x5]
- ldrb r1, [r6]
- lsls r1, 26
- lsrs r1, 30
- lsls r1, 6
- ldrb r2, [r4, 0x1]
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r6]
- lsrs r1, 6
- lsls r1, 6
- ldrb r2, [r4, 0x3]
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0xF
- ands r3, r0
- strb r3, [r4, 0x5]
- ldr r0, =gSprites + 8
- adds r5, r0
- ldr r2, [sp, 0x8]
- str r2, [r5]
- ldrb r1, [r6]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r1, 0
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x32]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, r8
- bcc _0817B6C2
-_0817B74E:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B698
-
- thumb_func_start sub_817B76C
-sub_817B76C: @ 817B76C
- push {lr}
- ldr r1, =gUnknown_085F50A4
- ldr r2, =gUnknown_085F5094
- movs r0, 0
- movs r3, 0x9
- bl sub_817B698
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B76C
-
- thumb_func_start sub_817B788
-sub_817B788: @ 817B788
- push {lr}
- ldr r1, =gUnknown_085F5120
- ldr r2, =gUnknown_085F5114
- movs r0, 0x1
- movs r3, 0xC
- bl sub_817B698
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B788
-
- thumb_func_start sub_817B7A4
-sub_817B7A4: @ 817B7A4
- push {lr}
- ldr r1, =gUnknown_085F519C
- ldr r2, =gUnknown_085F5198
- movs r0, 0x1
- movs r3, 0x6
- bl sub_817B698
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B7A4
-
- thumb_func_start nullsub_65
-nullsub_65: @ 817B7C0
- bx lr
- thumb_func_end nullsub_65
-
- thumb_func_start sub_817B7C4
-sub_817B7C4: @ 817B7C4
- push {r4,lr}
- ldr r4, =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r1, [r1]
- movs r2, 0x3E
- adds r2, r0
- mov r12, r2
- movs r2, 0x4
- ands r2, r1
- mov r1, r12
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x20]
- strh r1, [r0, 0x20]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x24]
- strh r1, [r0, 0x24]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x26]
- strh r1, [r0, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B7C4
-
- thumb_func_start sub_817B834
-sub_817B834: @ 817B834
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, =gUnknown_085F51EC
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_085F523C
- adds r4, 0x8
- lsls r4, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- strh r6, [r1, 0x2E]
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817B834
-
- thumb_func_start sub_817B88C
-sub_817B88C: @ 817B88C
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, =gUnknown_085F5204
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_085F5254
- adds r4, 0x8
- lsls r4, 16
- asrs r4, 16
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- strh r6, [r1, 0x2E]
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817B88C
-
- thumb_func_start nullsub_66
-nullsub_66: @ 817B8E4
- bx lr
- thumb_func_end nullsub_66
-
- thumb_func_start sub_817B8E8
-sub_817B8E8: @ 817B8E8
- push {r4,lr}
- ldr r4, =gSprites
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r1, [r1]
- movs r2, 0x3E
- adds r2, r0
- mov r12, r2
- movs r2, 0x4
- ands r2, r1
- mov r1, r12
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0x2E
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x22]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x24]
- strh r1, [r0, 0x24]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x26]
- strh r1, [r0, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817B8E8
-
- thumb_func_start sub_817B948
-sub_817B948: @ 817B948
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r2, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_085F528C
- mov r8, r0
- lsls r2, 16
- asrs r4, r2, 16
- ldr r0, =0xffe00000
- adds r2, r0
- asrs r2, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, r8
- adds r1, r2, 0
- adds r2, r5, 0
- movs r3, 0x5
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r4, 0x20
- lsls r4, 16
- asrs r4, 16
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- strh r6, [r0, 0x2E]
- movs r1, 0x1
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_817B8E8
- str r0, [r4]
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817B948
-
- thumb_func_start sub_817B9C4
-sub_817B9C4: @ 817B9C4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r2, r0, 0
- adds r5, r1, 0
- ldr r0, =gUnknown_085F52A4
- mov r8, r0
- lsls r2, 16
- asrs r4, r2, 16
- ldr r0, =0xffe00000
- adds r2, r0
- asrs r2, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, r8
- adds r1, r2, 0
- adds r2, r5, 0
- movs r3, 0x5
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r4, 0x20
- lsls r4, 16
- asrs r4, 16
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- strh r6, [r0, 0x2E]
- movs r1, 0x1
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, =sub_817B8E8
- str r0, [r4]
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817B9C4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item.s b/asm/item.s
deleted file mode 100644
index 89177c5d4..000000000
--- a/asm/item.s
+++ /dev/null
@@ -1,1921 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start CheckBagHasSpace
-CheckBagHasSpace: @ 80D6800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6906
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6838
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D684C
-_080D6838:
- mov r0, r8
- adds r1, r5, 0
- bl CheckPyramidBagHasSpace
- lsls r0, 24
- lsrs r0, 24
- b _080D6916
- .pool
-_080D684C:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, =0x000003e7
- cmp r2, 0x3
- beq _080D6860
- movs r7, 0x63
-_080D6860:
- movs r6, 0
- ldr r1, =gBagPockets
- lsls r4, r2, 3
- adds r0, r4, r1
- mov r9, r4
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D68BC
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080D6878:
- adds r0, r4, r1
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D68AC
- adds r0, r1, 0x2
- str r2, [sp]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r1, r5
- ldr r2, [sp]
- cmp r0, r7
- ble _080D6914
- mov r0, r10
- cmp r0, 0x1
- bls _080D6906
- subs r0, r7, r1
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080D6914
-_080D68AC:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gBagPockets
- adds r0, r4, r1
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D6878
-_080D68BC:
- cmp r5, 0
- beq _080D6914
- movs r6, 0
- ldr r3, =gBagPockets
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcs _080D6902
- adds r4, r3, 0
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
-_080D68D6:
- adds r0, r1, r4
- ldr r1, [r0]
- lsls r0, r6, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D68F2
- cmp r5, r7
- bls _080D6914
- cmp r2, 0x1
- bls _080D6906
- subs r0, r5, r7
- lsls r0, 16
- lsrs r5, r0, 16
-_080D68F2:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r9
- adds r0, r1, r3
- ldrb r0, [r0, 0x4]
- cmp r6, r0
- bcc _080D68D6
-_080D6902:
- cmp r5, 0
- beq _080D6914
-_080D6906:
- movs r0, 0
- b _080D6916
- .pool
-_080D6914:
- movs r0, 0x1
-_080D6916:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckBagHasSpace
-
- thumb_func_start AddBagItem
-@ int AddBagItem(int item_id, int quantity)
-AddBagItem: @ 80D6928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r5, r1, 16
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- bne _080D694C
- movs r0, 0
- b _080D6A92
-_080D694C:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6964
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6978
-_080D6964:
- mov r0, r9
- adds r1, r5, 0
- bl AddPyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6A92
- .pool
-_080D6978:
- mov r0, r9
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r7, r1, r0
- ldrb r0, [r7, 0x4]
- lsls r0, 2
- bl AllocZeroed
- mov r8, r0
- ldr r1, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- bl memcpy
- ldr r2, =0x000003e7
- mov r0, r10
- cmp r0, 0x3
- beq _080D69AA
- movs r2, 0x63
-_080D69AA:
- movs r6, 0
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcs _080D6A06
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_080D69BC:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, r9
- bne _080D69FA
- adds r4, r1, 0x2
- adds r0, r4, 0
- str r2, [sp, 0x4]
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, r5
- ldr r2, [sp, 0x4]
- cmp r1, r2
- ble _080D6A68
- ldr r1, [sp]
- cmp r1, 0x1
- bls _080D6A74
- subs r0, r2, r0
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
- cmp r5, 0
- beq _080D6A7E
-_080D69FA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r7, 0x4]
- cmp r6, r0
- bcc _080D69BC
-_080D6A06:
- cmp r5, 0
- beq _080D6A7E
- movs r6, 0
- cmp r6, r0
- bcs _080D6A62
- mov r0, r10
- subs r0, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
-_080D6A18:
- lsls r0, r6, 2
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D6A56
- mov r0, r9
- strh r0, [r1]
- cmp r5, r2
- bhi _080D6A40
- adds r0, r1, 0x2
- adds r1, r5, 0
- bl SetBagItemQuantity
- b _080D6A7E
- .pool
-_080D6A40:
- cmp r4, 0x1
- bls _080D6A74
- subs r0, r5, r2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r1, 0x2
- adds r1, r2, 0
- str r2, [sp, 0x4]
- bl SetBagItemQuantity
- ldr r2, [sp, 0x4]
-_080D6A56:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r1, [r7, 0x4]
- cmp r6, r1
- bcc _080D6A18
-_080D6A62:
- cmp r5, 0
- beq _080D6A7E
- b _080D6A74
-_080D6A68:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemQuantity
- b _080D6A7E
-_080D6A74:
- mov r0, r8
- bl Free
- movs r0, 0
- b _080D6A92
-_080D6A7E:
- ldr r0, [r7]
- ldrb r2, [r7, 0x4]
- lsls r2, 2
- mov r1, r8
- bl memcpy
- mov r0, r8
- bl Free
- movs r0, 0x1
-_080D6A92:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddBagItem
-
- thumb_func_start RemoveBagItem
-@ pokescrcmd
-RemoveBagItem: @ 80D6AA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- movs r4, 0
- bl ItemId_GetPocket
- lsls r0, 24
- cmp r0, 0
- beq _080D6B38
- mov r0, r8
- cmp r0, 0
- beq _080D6B38
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080D6AE0
- ldr r0, =0x00004004
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6AF4
-_080D6AE0:
- mov r0, r8
- adds r1, r7, 0
- bl RemovePyramidBagItem
- lsls r0, 24
- lsrs r0, 24
- b _080D6C5A
- .pool
-_080D6AF4:
- mov r0, r8
- bl ItemId_GetPocket
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, r0, 3
- ldr r0, =gBagPockets
- adds r5, r1, r0
- movs r6, 0
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcs _080D6B34
-_080D6B10:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6B28
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080D6B28:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcc _080D6B10
-_080D6B34:
- cmp r4, r7
- bcs _080D6B40
-_080D6B38:
- movs r0, 0
- b _080D6C5A
- .pool
-_080D6B40:
- bl CurrentMapIsSecretBase
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6B70
- ldr r4, =0x000040ee
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- ldr r0, =0x000040ed
- mov r1, r8
- bl VarSet
-_080D6B70:
- mov r0, r9
- bl sub_81ABB2C
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r0, r1
- bls _080D6BE6
- ldr r0, [r5]
- lsls r1, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6BE6
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6BB8
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6BCA
- .pool
-_080D6BB8:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6BCA:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6BE2
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6BE2:
- cmp r7, 0
- beq _080D6C58
-_080D6BE6:
- movs r6, 0
- ldrb r0, [r5, 0x4]
- cmp r6, r0
- bcs _080D6C58
-_080D6BEE:
- ldr r0, [r5]
- lsls r1, r6, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, r8
- bne _080D6C4C
- adds r0, r2, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r7
- bcc _080D6C1E
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- subs r1, r7
- lsls r1, 16
- lsrs r1, 16
- bl SetBagItemQuantity
- movs r7, 0
- b _080D6C30
-_080D6C1E:
- subs r0, r7, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
-_080D6C30:
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _080D6C48
- ldr r0, [r5]
- adds r0, r4, r0
- strh r2, [r0]
-_080D6C48:
- cmp r7, 0
- beq _080D6C58
-_080D6C4C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r5, 0x4]
- cmp r6, r2
- bcc _080D6BEE
-_080D6C58:
- movs r0, 0x1
-_080D6C5A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemoveBagItem
-
- thumb_func_start GetPocketByItemId
-GetPocketByItemId: @ 80D6C68
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetPocketByItemId
-
- thumb_func_start ClearItemSlots
-ClearItemSlots: @ 80D6C7C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- movs r4, 0
- lsrs r1, 24
- cmp r4, r1
- bcs _080D6CA6
- adds r5, r1, 0
- movs r7, 0
-_080D6C8E:
- lsls r0, r4, 2
- adds r0, r6
- strh r7, [r0]
- adds r0, 0x2
- movs r1, 0
- bl SetBagItemQuantity
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080D6C8E
-_080D6CA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ClearItemSlots
-
- thumb_func_start sub_80D6CAC
-sub_80D6CAC: @ 80D6CAC
- push {lr}
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r3, 0x93
- lsls r3, 3
-_080D6CB8:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2, r0
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6CD0
- adds r0, r1, 0
- b _080D6CE0
- .pool
-_080D6CD0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x31
- ble _080D6CB8
- movs r0, 0x1
- negs r0, r0
-_080D6CE0:
- pop {r1}
- bx r1
- thumb_func_end sub_80D6CAC
-
- thumb_func_start sub_80D6CE4
-sub_80D6CE4: @ 80D6CE4
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0x93
- lsls r4, 3
-_080D6CF2:
- lsls r0, r1, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080D6D04
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080D6D04:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x31
- bls _080D6CF2
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D6CE4
-
- thumb_func_start CheckPCHasItem
-CheckPCHasItem: @ 80D6D1C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- movs r4, 0
-_080D6D28:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r1, r4, 2
- adds r0, r2, r1
- movs r3, 0x93
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, r6
- bne _080D6D5C
- adds r0, r1, r2
- ldr r1, =0x0000049a
- adds r0, r1
- bl GetBagItemId
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080D6D5C
- movs r0, 0x1
- b _080D6D68
- .pool
-_080D6D5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bls _080D6D28
- movs r0, 0
-_080D6D68:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckPCHasItem
-
- thumb_func_start AddPCItem
-AddPCItem: @ 80D6D70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- movs r0, 0xC8
- bl AllocZeroed
- adds r7, r0, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r0, r7, 0
- movs r2, 0xC8
- bl memcpy
- movs r6, 0
-_080D6D9C:
- lsls r0, r6, 2
- adds r1, r0, r7
- ldrh r0, [r1]
- cmp r0, r8
- bne _080D6DD0
- adds r4, r1, 0x2
- adds r0, r4, 0
- bl GetBagItemId
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, r2, r5
- ldr r3, =0x000003e7
- cmp r1, r3
- ble _080D6E04
- ldr r1, =0x0000fc19
- adds r0, r5, r1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- adds r1, r3, 0
- bl SetBagItemId
- cmp r5, 0
- beq _080D6E20
-_080D6DD0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x31
- bls _080D6D9C
- cmp r5, 0
- beq _080D6E20
- bl sub_80D6CAC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D6E10
- adds r0, r7, 0
- bl Free
- movs r0, 0
- b _080D6E3A
- .pool
-_080D6E04:
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl SetBagItemId
- b _080D6E20
-_080D6E10:
- lsls r0, r1, 2
- adds r0, r7
- mov r1, r8
- strh r1, [r0]
- adds r0, 0x2
- adds r1, r5, 0
- bl SetBagItemId
-_080D6E20:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0xC8
- bl memcpy
- adds r0, r7, 0
- bl Free
- movs r0, 0x1
-_080D6E3A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddPCItem
-
- thumb_func_start sub_80D6E48
-sub_80D6E48: @ 80D6E48
- push {lr}
- lsls r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =gSaveBlock1Ptr
- ldr r2, [r2]
- lsrs r0, 22
- adds r3, r2, r0
- ldr r0, =0x0000049a
- adds r2, r3, r0
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080D6E76
- movs r2, 0x93
- lsls r2, 3
- adds r0, r3, r2
- strh r1, [r0]
- bl sub_80D6E84
-_080D6E76:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E48
-
- thumb_func_start sub_80D6E84
-sub_80D6E84: @ 80D6E84
- push {r4-r7,lr}
- movs r2, 0
-_080D6E88:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r6, r1, 0
- cmp r4, 0x31
- bhi _080D6ECA
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- lsls r5, r2, 2
- movs r7, 0x93
- lsls r7, 3
-_080D6E9E:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r5
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D6EC0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- adds r2, r1, r5
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_080D6EC0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x31
- bls _080D6E9E
-_080D6ECA:
- lsls r0, r6, 16
- lsrs r2, r0, 16
- cmp r2, 0x30
- bls _080D6E88
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D6E84
-
- thumb_func_start sub_80D6EDC
-sub_80D6EDC: @ 80D6EDC
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00000496
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r3, =0x00000103
- cmp r2, r3
- beq _080D6F04
- movs r0, 0x88
- lsls r0, 1
- cmp r2, r0
- beq _080D6F0C
- b _080D6F0E
- .pool
-_080D6F04:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r1]
- b _080D6F0E
-_080D6F0C:
- strh r3, [r1]
-_080D6F0E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6EDC
-
- thumb_func_start BagGetItemIdByPocketPosition
-@ int BagGetItemIdByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetItemIdByPocketPosition: @ 80D6F14
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldrh r0, [r1]
- bx lr
- .pool
- thumb_func_end BagGetItemIdByPocketPosition
-
- thumb_func_start BagGetQuantityByPocketPosition
-@ int BagGetQuantityByPocketPosition(int pocket_id_plus_1, int item_index_in_pocket)
-BagGetQuantityByPocketPosition: @ 80D6F30
- push {lr}
- lsls r0, 24
- lsls r1, 16
- ldr r2, =gBagPockets
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r2
- lsrs r1, 14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end BagGetQuantityByPocketPosition
-
- thumb_func_start swap32
-swap32: @ 80D6F58
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80D6F64
-sub_80D6F64: @ 80D6F64
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r3, 0
- b _080D6FA6
-_080D6F6C:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- adds r7, r1, 0
- cmp r4, r2
- bcs _080D6FA2
- lsls r5, r3, 2
-_080D6F7A:
- ldr r0, [r6]
- adds r0, r5
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- bne _080D6F96
- ldr r1, [r6]
- adds r0, r1, r5
- lsls r2, r4, 2
- adds r1, r2
- bl swap32
-_080D6F96:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r4, r0
- bcc _080D6F7A
-_080D6FA2:
- lsls r0, r7, 16
- lsrs r3, r0, 16
-_080D6FA6:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6F6C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6F64
-
- thumb_func_start sub_80D6FB4
-sub_80D6FB4: @ 80D6FB4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r3, 0
- b _080D701A
-_080D6FC0:
- adds r1, r3, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r2
- bcs _080D7014
- lsls r7, r3, 2
-_080D6FCE:
- ldr r0, [r6]
- adds r0, r7
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- lsls r4, r5, 2
- cmp r0, 0
- beq _080D6FFE
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x2
- bl GetBagItemQuantity
- lsls r0, 16
- cmp r0, 0
- beq _080D7008
- ldr r0, [r6]
- adds r1, r7, r0
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bls _080D7008
-_080D6FFE:
- ldr r1, [r6]
- adds r0, r1, r7
- adds r1, r4
- bl swap32
-_080D7008:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r6, 0x4]
- cmp r5, r0
- bcc _080D6FCE
-_080D7014:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080D701A:
- ldrb r2, [r6, 0x4]
- subs r0, r2, 0x1
- cmp r3, r0
- blt _080D6FC0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6FB4
-
- thumb_func_start sub_80D702C
-sub_80D702C: @ 80D702C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r3, r2, 0
- cmp r1, r3
- beq _080D708C
- lsls r0, r1, 2
- adds r0, r4
- ldr r6, [r0]
- cmp r3, r1
- bls _080D7064
- subs r3, 0x1
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- bge _080D7086
- adds r5, r2, 0
-_080D704E:
- asrs r2, r1, 16
- lsls r0, r2, 2
- adds r0, r4
- ldr r1, [r0, 0x4]
- str r1, [r0]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- blt _080D704E
- b _080D7086
-_080D7064:
- lsls r1, 16
- lsls r0, r3, 16
- asrs r2, r0, 16
- cmp r1, r0
- ble _080D7086
- adds r5, r2, 0
-_080D7070:
- asrs r2, r1, 16
- lsls r1, r2, 2
- adds r1, r4
- subs r0, r1, 0x4
- ldr r0, [r0]
- str r0, [r1]
- subs r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, r5
- bgt _080D7070
-_080D7086:
- lsls r0, r3, 2
- adds r0, r4
- str r6, [r0]
-_080D708C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D702C
-
- thumb_func_start ClearBag
-ClearBag: @ 80D7094
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gBagPockets
-_080D709A:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl ClearItemSlots
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080D709A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearBag
-
- thumb_func_start CountTotalItemQuantityInBag
-@ u16 CountTotalItemQuantityInBag(u16 itemId)
-CountTotalItemQuantityInBag: @ 80D70BC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- adds r0, r6, 0
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 21
- ldr r1, =gUnknown_02039DD0
- adds r5, r0, r1
- movs r4, 0
- ldrb r0, [r5, 0x4]
- cmp r7, r0
- bcs _080D70FE
-_080D70DA:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _080D70F2
- adds r0, r1, 0x2
- bl GetBagItemQuantity
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
-_080D70F2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0x4]
- cmp r4, r0
- bcc _080D70DA
-_080D70FE:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CountTotalItemQuantityInBag
-
- thumb_func_start CheckPyramidBagHasItem
-CheckPyramidBagHasItem: @ 80D710C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D7140:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- bne _080D7170
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, r4
- bcs _080D715C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D7170
-_080D715C:
- movs r0, 0x1
- b _080D717C
- .pool
-_080D7170:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D7140
- movs r0, 0
-_080D717C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasItem
-
- thumb_func_start CheckPyramidBagHasSpace
-CheckPyramidBagHasSpace: @ 80D7184
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r2, r3, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- movs r1, 0
-_080D71B8:
- lsls r0, r1, 1
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r5
- beq _080D71C6
- cmp r0, 0
- bne _080D71F0
-_080D71C6:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r4
- cmp r0, 0x63
- ble _080D71DA
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080D71F0
-_080D71DA:
- movs r0, 0x1
- b _080D71FC
- .pool
-_080D71F0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _080D71B8
- movs r0, 0
-_080D71FC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CheckPyramidBagHasSpace
-
- thumb_func_start AddPyramidBagItem
-AddPyramidBagItem: @ 80D7204
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r9, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r3, r0
- mov r8, r3
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r9
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D7266:
- lsls r0, r2, 1
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, r7
- bne _080D72AA
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, 0x62
- bhi _080D72AA
- adds r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72A4
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72A6
- .pool
-_080D72A4:
- movs r4, 0
-_080D72A6:
- cmp r4, 0
- beq _080D7304
-_080D72AA:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D7266
- cmp r4, 0
- beq _080D7304
- movs r2, 0
-_080D72BA:
- lsls r0, r2, 1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- bne _080D72E6
- strh r7, [r1]
- adds r1, r6, r2
- strb r4, [r1]
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r0, 0x63
- bls _080D72E0
- ldrb r0, [r1]
- subs r0, 0x63
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x63
- strb r0, [r1]
- b _080D72E2
-_080D72E0:
- movs r4, 0
-_080D72E2:
- cmp r4, 0
- beq _080D7304
-_080D72E6:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D72BA
- cmp r4, 0
- beq _080D7304
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D7326
-_080D7304:
- mov r0, r9
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0x1
-_080D7326:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddPyramidBagItem
-
- thumb_func_start RemovePyramidBagItem
-RemovePyramidBagItem: @ 80D7334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldr r1, =0x00000ca9
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 30
- lsrs r2, r1, 30
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- ldr r2, =0x00000e2c
- adds r0, r2
- adds r0, r3
- mov r8, r0
- lsrs r1, 30
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- ldr r1, =0x00000e54
- adds r0, r1
- adds r7, r3, r0
- ldr r1, =gUnknown_0203CF30
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 1
- mov r1, r8
- adds r3, r0, r1
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D73B4
- adds r1, r7, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73B4
- subs r0, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D744C
- strh r0, [r3]
- b _080D744C
- .pool
-_080D73B4:
- movs r0, 0x14
- bl Alloc
- adds r5, r0, 0
- movs r0, 0xA
- bl Alloc
- adds r6, r0, 0
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0x14
- bl memcpy
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0xA
- bl memcpy
- movs r2, 0
-_080D73DA:
- lsls r0, r2, 1
- adds r3, r0, r5
- ldrh r0, [r3]
- cmp r0, r9
- bne _080D740E
- adds r1, r6, r2
- ldrb r0, [r1]
- cmp r0, r4
- bcc _080D73FC
- subs r0, r4
- strb r0, [r1]
- movs r4, 0
- lsls r0, 24
- cmp r0, 0
- bne _080D740A
- strh r4, [r3]
- b _080D740A
-_080D73FC:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- strh r0, [r3]
-_080D740A:
- cmp r4, 0
- beq _080D742C
-_080D740E:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x9
- bls _080D73DA
- cmp r4, 0
- beq _080D742C
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
- movs r0, 0
- b _080D744E
-_080D742C:
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x14
- bl memcpy
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl memcpy
- adds r0, r5, 0
- bl Free
- adds r0, r6, 0
- bl Free
-_080D744C:
- movs r0, 0x1
-_080D744E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end RemovePyramidBagItem
-
- thumb_func_start SanitizeItemId
-SanitizeItemId: @ 80D745C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xBC
- lsls r0, 1
- cmp r1, r0
- bhi _080D746E
- adds r0, r1, 0
- b _080D7470
-_080D746E:
- movs r0, 0
-_080D7470:
- pop {r1}
- bx r1
- thumb_func_end SanitizeItemId
-
- thumb_func_start ItemId_GetItem
-@ item *ItemId_GetItem(s16 itemId)
-ItemId_GetItem: @ 80D7474
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, =gItems
- adds r0, r1
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetItem
-
- thumb_func_start itemid_get_number
-itemid_get_number: @ 80D7494
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_number
-
- thumb_func_start itemid_get_market_price
-itemid_get_market_price: @ 80D74B8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_market_price
-
- thumb_func_start ItemId_GetHoldEffect
-ItemId_GetHoldEffect: @ 80D74DC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffect
-
- thumb_func_start ItemId_GetHoldEffectParam
-ItemId_GetHoldEffectParam: @ 80D7500
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetHoldEffectParam
-
- thumb_func_start ItemId_GetDescription
-ItemId_GetDescription: @ 80D7524
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetDescription
-
- thumb_func_start itemid_is_unique
-itemid_is_unique: @ 80D7548
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_is_unique
-
- thumb_func_start itemid_get_x19
-itemid_get_x19: @ 80D756C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end itemid_get_x19
-
- thumb_func_start ItemId_GetPocket
-ItemId_GetPocket: @ 80D7590
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetPocket
-
- thumb_func_start ItemId_GetType
-ItemId_GetType: @ 80D75B4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetType
-
- thumb_func_start ItemId_GetFieldFunc
-ItemId_GetFieldFunc: @ 80D75D8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetFieldFunc
-
- thumb_func_start ItemId_GetBattleUsage
-ItemId_GetBattleUsage: @ 80D75FC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleUsage
-
- thumb_func_start ItemId_GetBattleFunc
-ItemId_GetBattleFunc: @ 80D7620
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetBattleFunc
-
- thumb_func_start ItemId_GetSecondaryId
-ItemId_GetSecondaryId: @ 80D7644
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =gItems
- bl SanitizeItemId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ItemId_GetSecondaryId
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_icon.s b/asm/item_icon.s
deleted file mode 100755
index e3fe4189a..000000000
--- a/asm/item_icon.s
+++ /dev/null
@@ -1,468 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AllocItemIconTemporaryBuffers
-@ bool8 AllocItemIconTemporaryBuffers()
-AllocItemIconTemporaryBuffers: @ 81AFDE4
- push {r4,r5,lr}
- ldr r5, =gUnknown_0203CEBC
- movs r0, 0x90
- lsls r0, 1
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _081AFE1A
- ldr r4, =gUnknown_0203CEC0
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- cmp r0, 0
- beq _081AFE14
- movs r0, 0x1
- b _081AFE1C
- .pool
-_081AFE14:
- ldr r0, [r5]
- bl Free
-_081AFE1A:
- movs r0, 0
-_081AFE1C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end AllocItemIconTemporaryBuffers
-
- thumb_func_start FreeItemIconTemporaryBuffers
-@ void FreeItemIconTemporaryBuffers()
-FreeItemIconTemporaryBuffers: @ 81AFE24
- push {lr}
- ldr r0, =gUnknown_0203CEBC
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203CEC0
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end FreeItemIconTemporaryBuffers
-
- thumb_func_start CopyItemIconPicTo4x4Buffer
-@ void CopyItemIconPicTo4x4Buffer(void *src, void *dest)
-CopyItemIconPicTo4x4Buffer: @ 81AFE44
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r4, 0
-_081AFE4C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 5
- adds r0, r6, r0
- lsls r1, r4, 7
- adds r1, r5, r1
- movs r2, 0x30
- bl CpuSet
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081AFE4C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end CopyItemIconPicTo4x4Buffer
-
- thumb_func_start AddItemIconObject
-@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId)
-AddItemIconObject: @ 81AFE70
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl AllocItemIconTemporaryBuffers
- lsls r0, 24
- cmp r0, 0
- beq _081AFF28
- adds r0, r5, 0
- movs r1, 0
- bl GetItemIconPicOrPalette
- ldr r4, =gUnknown_0203CEBC
- ldr r1, [r4]
- bl LZDecompressWram
- ldr r0, [r4]
- ldr r4, =gUnknown_0203CEC0
- ldr r1, [r4]
- bl CopyItemIconPicTo4x4Buffer
- ldr r0, [r4]
- str r0, [sp]
- ldr r4, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r4
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- lsls r2, r7, 16
- ldr r1, =0x0000ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r5, 0
- movs r1, 0x1
- bl GetItemIconPicOrPalette
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r4
- orrs r1, r6
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPalette
- movs r0, 0x18
- bl Alloc
- adds r5, r0, 0
- ldr r0, =gUnknown_08614FF4
- adds r1, r5, 0
- movs r2, 0xC
- bl CpuSet
- strh r7, [r5]
- strh r6, [r5, 0x2]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl FreeItemIconTemporaryBuffers
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- b _081AFF2A
- .pool
-_081AFF28:
- movs r0, 0x40
-_081AFF2A:
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddItemIconObject
-
- thumb_func_start AddItemIconObjectWithCustomObjectTemplate
-@ u8 AddItemIconObjectWithCustomObjectTemplate(struct objtemplate *objectTemplate, u16 tilesTag, u16 paletteTag, u16 itemId)
-AddItemIconObjectWithCustomObjectTemplate: @ 81AFF34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- bl AllocItemIconTemporaryBuffers
- lsls r0, 24
- cmp r0, 0
- beq _081AFFEC
- adds r0, r5, 0
- movs r1, 0
- bl GetItemIconPicOrPalette
- ldr r4, =gUnknown_0203CEBC
- ldr r1, [r4]
- bl LZDecompressWram
- ldr r0, [r4]
- ldr r4, =gUnknown_0203CEC0
- ldr r1, [r4]
- bl CopyItemIconPicTo4x4Buffer
- ldr r0, [r4]
- str r0, [sp]
- ldr r4, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r4
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- lsls r2, r7, 16
- ldr r1, =0x0000ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r5, 0
- movs r1, 0x1
- bl GetItemIconPicOrPalette
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r4
- orrs r1, r6
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPalette
- movs r0, 0x18
- bl Alloc
- adds r5, r0, 0
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0xC
- bl CpuSet
- strh r7, [r5]
- strh r6, [r5, 0x2]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl FreeItemIconTemporaryBuffers
- adds r0, r5, 0
- bl Free
- adds r0, r4, 0
- b _081AFFEE
- .pool
-_081AFFEC:
- movs r0, 0x40
-_081AFFEE:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end AddItemIconObjectWithCustomObjectTemplate
-
- thumb_func_start GetItemIconPicOrPalette
-@ u32 GetItemIconPicOrPalette(u16 itemId, u8 which)
-GetItemIconPicOrPalette: @ 81AFFFC
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =0x0000ffff
- cmp r3, r0
- bne _081B0018
- ldr r3, =0x00000179
- b _081B0022
- .pool
-_081B0018:
- movs r0, 0xBC
- lsls r0, 1
- cmp r3, r0
- bls _081B0022
- movs r3, 0
-_081B0022:
- ldr r2, =gItemIconTable
- lsls r0, r1, 2
- lsls r1, r3, 3
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetItemIconPicOrPalette
-
- thumb_func_start sub_81B0038
-sub_81B0038: @ 81B0038
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r4, 24
- lsrs r6, r4, 24
- bl reset_brm
- ldr r0, =gUnknown_0203CEC4
- mov r10, r0
- movs r0, 0x8E
- lsls r0, 2
- bl Alloc
- adds r5, r0, 0
- mov r1, r10
- str r5, [r1]
- cmp r5, 0
- bne _081B0088
- ldr r0, [sp, 0x2C]
- bl SetMainCallback2
- b _081B0194
- .pool
-_081B0088:
- ldr r3, =gUnknown_0203CEC8
- movs r1, 0xF
- mov r4, r8
- ands r1, r4
- ldrb r2, [r3, 0x8]
- movs r0, 0x10
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x8]
- ldr r0, [sp, 0x2C]
- str r0, [r3]
- movs r4, 0
- strb r7, [r3, 0xB]
- lsls r2, r6, 2
- ldrh r1, [r5, 0xA]
- movs r0, 0x3
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0xA]
- ldr r0, [sp, 0x28]
- str r0, [r5]
- str r4, [r5, 0x4]
- ldrb r1, [r5, 0x8]
- movs r0, 0xF
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x8]
- mov r1, r10
- ldr r2, [r1]
- ldrh r0, [r2, 0x8]
- movs r4, 0xFE
- lsls r4, 3
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xFE
- lsls r1, 10
- orrs r0, r1
- str r0, [r2, 0x8]
- adds r6, r3, 0
- mov r5, r8
- cmp r5, 0x4
- bne _081B00F0
- ldrb r0, [r2, 0x8]
- movs r1, 0x1
- orrs r0, r1
- b _081B00F8
- .pool
-_081B00F0:
- ldrb r1, [r2, 0x8]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
-_081B00F8:
- strb r0, [r2, 0x8]
- mov r0, r9
- cmp r0, 0xFF
- beq _081B0114
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- lsls r0, 4
- ldrb r2, [r6, 0x8]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x8]
-_081B0114:
- movs r2, 0
- ldr r5, =gUnknown_0203CEC4
- movs r4, 0x86
- lsls r4, 2
- movs r3, 0
-_081B011E:
- ldr r0, [r5]
- lsls r1, r2, 1
- adds r0, r4
- adds r0, r1
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _081B011E
- movs r2, 0
- ldr r4, =gUnknown_0203CEC4
- movs r3, 0xFF
-_081B0138:
- ldr r0, [r4]
- adds r0, 0xC
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _081B0138
- ldr r4, [sp]
- cmp r4, 0
- bne _081B015C
- strb r4, [r6, 0x9]
- b _081B017E
- .pool
-_081B015C:
- adds r1, r6, 0
- movs r0, 0x9
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _081B017A
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- bne _081B017E
-_081B017A:
- movs r0, 0
- strb r0, [r6, 0x9]
-_081B017E:
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl CalculatePlayerPartyCount
- ldr r0, =c2_811EBD0
- bl SetMainCallback2
-_081B0194:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81B0038
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu.s b/asm/item_menu.s
deleted file mode 100755
index a868b2672..000000000
--- a/asm/item_menu.s
+++ /dev/null
@@ -1,6452 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ResetBagScrollPositions
-ResetBagScrollPositions: @ 81AAB70
- push {r4,lr}
- ldr r4, =gUnknown_0203CE58
- movs r0, 0
- strb r0, [r4, 0x5]
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0
- movs r2, 0xA
- bl memset
- adds r4, 0x12
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xA
- bl memset
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetBagScrollPositions
-
- thumb_func_start CB2_BagMenuFromStartMenu
-@ void CB2_BagMenuFromStartMenu()
-CB2_BagMenuFromStartMenu: @ 81AAB9C
- push {lr}
- ldr r2, =sub_8086194
- movs r0, 0
- movs r1, 0x5
- bl GoToBagMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_BagMenuFromStartMenu
-
- thumb_func_start sub_81AABB0
-sub_81AABB0: @ 81AABB0
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081AABCC
- ldr r2, =SetCB2ToReshowScreenAfterMenu2
- movs r0, 0x1
- movs r1, 0x5
- bl GoToBagMenu
- b _081AABD4
- .pool
-_081AABCC:
- ldr r1, =SetCB2ToReshowScreenAfterMenu2
- movs r0, 0x1
- bl sub_81C4F98
-_081AABD4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AABB0
-
- thumb_func_start CB2_ChooseBerry
-CB2_ChooseBerry: @ 81AABDC
- push {lr}
- ldr r2, =sub_80861B0
- movs r0, 0x4
- movs r1, 0x3
- bl GoToBagMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_ChooseBerry
-
- thumb_func_start sub_81AABF0
-sub_81AABF0: @ 81AABF0
- push {lr}
- adds r2, r0, 0
- movs r0, 0x5
- movs r1, 0x3
- bl GoToBagMenu
- pop {r0}
- bx r0
- thumb_func_end sub_81AABF0
-
- thumb_func_start CB2_GoToSellMenu
-@ void CB2_GoToSellMenu()
-CB2_GoToSellMenu: @ 81AAC00
- push {lr}
- ldr r2, =CB2_ExitSellMenu
- movs r0, 0x3
- movs r1, 0x5
- bl GoToBagMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_GoToSellMenu
-
- thumb_func_start sub_81AAC14
-sub_81AAC14: @ 81AAC14
- push {lr}
- ldr r2, =sub_816B31C
- movs r0, 0x6
- movs r1, 0x5
- bl GoToBagMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AAC14
-
- thumb_func_start sub_81AAC28
-sub_81AAC28: @ 81AAC28
- push {lr}
- ldr r2, =bag_menu_leave_maybe_3
- movs r0, 0x9
- movs r1, 0x5
- bl GoToBagMenu
- ldr r0, =gSpecialVar_0x8005
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AAC28
-
- thumb_func_start sub_81AAC50
-sub_81AAC50: @ 81AAC50
- push {lr}
- ldr r2, =bag_menu_leave_maybe_2
- movs r0, 0x7
- movs r1, 0x5
- bl GoToBagMenu
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AAC50
-
- thumb_func_start sub_81AAC70
-sub_81AAC70: @ 81AAC70
- push {lr}
- ldr r2, =bag_menu_leave_maybe
- movs r0, 0x8
- movs r1, 0x5
- bl GoToBagMenu
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AAC70
-
- thumb_func_start GoToBagMenu
-@ void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)())
-GoToBagMenu: @ 81AAC90
- push {r4-r7,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r6, =gUnknown_0203CE54
- ldr r0, =0x00000c48
- bl AllocZeroed
- str r0, [r6]
- cmp r0, 0
- bne _081AACBC
- adds r0, r4, 0
- bl SetMainCallback2
- b _081AAD3A
- .pool
-_081AACBC:
- ldr r0, =gUnknown_0203CE58
- cmp r5, 0xC
- beq _081AACC4
- strb r5, [r0, 0x4]
-_081AACC4:
- cmp r4, 0
- beq _081AACCA
- str r4, [r0]
-_081AACCA:
- cmp r7, 0x4
- bhi _081AACD0
- strb r7, [r0, 0x5]
-_081AACD0:
- ldrb r0, [r0, 0x4]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _081AACF0
- ldr r2, [r6]
- ldr r0, =0x0000081b
- adds r2, r0
- ldrb r1, [r2]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_081AACF0:
- ldr r0, [r6]
- movs r1, 0
- str r1, [r0]
- ldr r1, =0x0000081a
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, =0x0000081e
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, =0x0000081f
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, =0x00000804
- adds r0, r1
- movs r1, 0xFF
- movs r2, 0xC
- bl memset
- ldr r0, [r6]
- movs r1, 0x81
- lsls r1, 4
- adds r0, r1
- movs r1, 0xFF
- movs r2, 0xA
- bl memset
- ldr r0, =CB2_Bag
- bl SetMainCallback2
-_081AAD3A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GoToBagMenu
-
- thumb_func_start c2_bag_3
-c2_bag_3: @ 81AAD5C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end c2_bag_3
-
- thumb_func_start vblank_cb_bag_menu
-vblank_cb_bag_menu: @ 81AAD78
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end vblank_cb_bag_menu
-
- thumb_func_start CB2_Bag
-CB2_Bag: @ 81AAD8C
- push {lr}
-_081AAD8E:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AADB2
- bl setup_bag_menu
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AADB2
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081AAD8E
-_081AADB2:
- pop {r0}
- bx r0
- thumb_func_end CB2_Bag
-
- thumb_func_start setup_bag_menu
-setup_bag_menu: @ 81AADB8
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x14
- bls _081AADCE
- b _081AB02C
-_081AADCE:
- lsls r0, 2
- ldr r1, =_081AADE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AADE0:
- .4byte _081AAE34
- .4byte _081AAE3E
- .4byte _081AAE50
- .4byte _081AAE56
- .4byte _081AAE78
- .4byte _081AAE7E
- .4byte _081AAE86
- .4byte _081AAEA4
- .4byte _081AAECC
- .4byte _081AAEDA
- .4byte _081AAEEC
- .4byte _081AAEFA
- .4byte _081AAF0C
- .4byte _081AAF1C
- .4byte _081AAF54
- .4byte _081AAFA0
- .4byte _081AAFBC
- .4byte _081AAFC2
- .4byte _081AAFD8
- .4byte _081AAFDE
- .4byte _081AAFF8
-_081AAE34:
- bl SetVBlankHBlankCallbacksToNull
- bl clear_scheduled_bg_copies_to_vram
- b _081AB012
-_081AAE3E:
- bl remove_some_task
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAE50:
- bl FreeAllSpritePalettes
- b _081AB012
-_081AAE56:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAE78:
- bl ResetSpriteData
- b _081AB012
-_081AAE7E:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _081AB01A
-_081AAE86:
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _081AAE94
- bl ResetTasks
-_081AAE94:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAEA4:
- bl bag_menu_init_bgs
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000834
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAECC:
- bl load_bag_menu_graphics
- lsls r0, 24
- cmp r0, 0
- bne _081AAED8
- b _081AB044
-_081AAED8:
- b _081AB012
-_081AAEDA:
- bl setup_bag_menu_textboxes
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAEEC:
- bl sub_81ABA6C
- bl sub_81ABAC4
- bl sub_81ABAE0
- b _081AB012
-_081AAEFA:
- bl allocate_bag_item_list_buffers
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAF0C:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- bl load_bag_item_list_buffers
- b _081AB012
- .pool
-_081AAF1C:
- ldr r1, =gPocketNamesStringsTable
- ldr r4, =gUnknown_0203CE58
- ldrb r0, [r4, 0x5]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl bag_menu_print_pocket_names
- movs r0, 0
- bl bag_menu_copy_pocket_name_to_window
- ldrb r0, [r4, 0x5]
- movs r1, 0x1
- bl bag_menu_draw_pocket_indicator_square
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAF54:
- ldr r4, =gUnknown_0203CE58
- ldrb r0, [r4, 0x4]
- bl sub_81AB1F0
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_03006310
- ldrb r2, [r4, 0x5]
- lsls r2, 1
- adds r1, r4, 0
- adds r1, 0x12
- adds r1, r2, r1
- ldrh r1, [r1]
- adds r4, 0x8
- adds r2, r4
- ldrh r2, [r2]
- bl ListMenuInit
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xE]
- strh r2, [r1, 0x18]
- b _081AB012
- .pool
-_081AAFA0:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- bl AddBagVisualObject
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAFBC:
- bl sub_80D4FAC
- b _081AB012
-_081AAFC2:
- bl bag_menu_add_pocket_scroll_arrow_indicators_maybe
- bl bag_menu_add_list_scroll_arrow_indicators_maybe
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAFD8:
- bl bag_menu_prepare_tmhm_move_window
- b _081AB012
-_081AAFDE:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _081AB01A
- .pool
-_081AAFF8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
-_081AB012:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_081AB01A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081AB044
- .pool
-_081AB02C:
- ldr r0, =vblank_cb_bag_menu
- bl SetVBlankCallback
- ldr r0, =c2_bag_3
- bl SetMainCallback2
- movs r0, 0x1
- b _081AB046
- .pool
-_081AB044:
- movs r0, 0
-_081AB046:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end setup_bag_menu
-
- thumb_func_start bag_menu_init_bgs
-bag_menu_init_bgs: @ 81AB050
- push {r4,lr}
- bl sub_8121DA0
- ldr r4, =gUnknown_0203CE54
- ldr r0, [r4]
- adds r0, 0x4
- movs r2, 0x80
- lsls r2, 4
- movs r1, 0
- bl memset
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08613F90
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0x2
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_init_bgs
-
- thumb_func_start load_bag_menu_graphics
-load_bag_menu_graphics: @ 81AB0BC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gUnknown_0203CE54
- ldr r0, [r4]
- ldr r1, =0x00000834
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _081AB0D2
- b _081AB1CC
-_081AB0D2:
- lsls r0, 2
- ldr r1, =_081AB0E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AB0E8:
- .4byte _081AB0FC
- .4byte _081AB118
- .4byte _081AB13C
- .4byte _081AB174
- .4byte _081AB1A8
-_081AB0FC:
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D9A620
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- b _081AB1AE
- .pool
-_081AB118:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AB1E4
- ldr r0, =gUnknown_08D9A88C
- ldr r4, =gUnknown_0203CE54
- ldr r1, [r4]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r1, [r4]
- b _081AB1B2
- .pool
-_081AB13C:
- bl IsWallysBag
- lsls r0, 24
- cmp r0, 0
- bne _081AB164
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _081AB164
- ldr r0, =gUnknown_08D9A5D4
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _081AB1AE
- .pool
-_081AB164:
- ldr r0, =gUnknown_08D9A588
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _081AB1AE
- .pool
-_081AB174:
- bl IsWallysBag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AB18A
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _081AB19C
-_081AB18A:
- ldr r0, =gUnknown_0857FB34
- bl LoadCompressedObjectPic
- b _081AB1AE
- .pool
-_081AB19C:
- ldr r0, =gUnknown_0857FB3C
- bl LoadCompressedObjectPic
- b _081AB1AE
- .pool
-_081AB1A8:
- ldr r0, =gUnknown_0857FB44
- bl LoadCompressedObjectPalette
-_081AB1AE:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
-_081AB1B2:
- ldr r0, =0x00000834
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081AB1E4
- .pool
-_081AB1CC:
- bl sub_8122328
- ldr r0, [r4]
- ldr r1, =0x00000834
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x1
- b _081AB1E6
- .pool
-_081AB1E4:
- movs r0, 0
-_081AB1E6:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end load_bag_menu_graphics
-
- thumb_func_start sub_81AB1F0
-sub_81AB1F0: @ 81AB1F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _081AB204
- ldr r0, =Task_WallyTutorialBagMenu
- b _081AB206
- .pool
-_081AB204:
- ldr r0, =Task_BagMenu
-_081AB206:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81AB1F0
-
- thumb_func_start allocate_bag_item_list_buffers
-allocate_bag_item_list_buffers: @ 81AB218
- push {r4,lr}
- ldr r4, =gUnknown_0203CE74
- movs r0, 0x82
- lsls r0, 2
- bl Alloc
- str r0, [r4]
- ldr r4, =gUnknown_0203CE78
- movs r0, 0xC3
- lsls r0, 3
- bl Alloc
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end allocate_bag_item_list_buffers
-
- thumb_func_start load_bag_item_list_buffers
-@ void load_bag_item_list_buffers(int pocket_id)
-load_bag_item_list_buffers: @ 81AB240
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 3
- ldr r0, =gBagPockets
- adds r1, r0
- mov r8, r1
- ldr r0, =gUnknown_0203CE54
- ldr r2, [r0]
- ldr r1, =0x0000081b
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081AB2FC
- movs r6, 0
- ldr r3, =0x00000829
- adds r0, r2, r3
- adds r0, r7
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bge _081AB2B6
- ldr r5, =gUnknown_0203CE78
-_081AB276:
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- ldr r0, [r5]
- adds r0, r4
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r6, 2
- adds r1, r2
- ldrh r1, [r1]
- bl get_name
- ldr r0, =gUnknown_0203CE74
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldr r0, [r5]
- adds r0, r4
- str r0, [r1]
- str r6, [r1, 0x4]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r3, =0x00000829
- adds r0, r3
- adds r0, r7
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _081AB276
-_081AB2B6:
- ldr r5, =gUnknown_0203CE78
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gText_CloseBag
- bl StringCopy
- ldr r0, =gUnknown_0203CE74
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldr r0, [r5]
- adds r0, r4
- str r0, [r1]
- movs r0, 0x2
- negs r0, r0
- str r0, [r1, 0x4]
- b _081AB34A
- .pool
-_081AB2FC:
- movs r6, 0
- ldr r4, =0x00000829
- adds r0, r2, r4
- adds r0, r7
- ldrb r0, [r0]
- cmp r6, r0
- bcs _081AB34A
- ldr r5, =gUnknown_0203CE78
-_081AB30C:
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- ldr r0, [r5]
- adds r0, r4
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r6, 2
- adds r1, r2
- ldrh r1, [r1]
- bl get_name
- ldr r0, =gUnknown_0203CE74
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldr r0, [r5]
- adds r0, r4
- str r0, [r1]
- str r6, [r1, 0x4]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r3, =0x00000829
- adds r0, r3
- adds r0, r7
- ldrb r0, [r0]
- cmp r6, r0
- bcc _081AB30C
-_081AB34A:
- ldr r2, =gUnknown_03006310
- adds r1, r2, 0
- ldr r0, =gUnknown_08613F9C
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r4, =0x00000829
- adds r0, r1, r4
- adds r0, r7
- ldrb r0, [r0]
- strh r0, [r2, 0xC]
- ldr r0, =gUnknown_0203CE74
- ldr r0, [r0]
- str r0, [r2]
- ldr r5, =0x0000082e
- adds r1, r5
- adds r1, r7
- ldrb r0, [r1]
- strh r0, [r2, 0xE]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end load_bag_item_list_buffers
-
- thumb_func_start get_name
-@ void get_name(char *dest, int name_id)
-get_name: @ 81AB39C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x2
- beq _081AB3C0
- cmp r0, 0x3
- beq _081AB420
- adds r0, r5, 0
- adds r1, r6, 0
- bl CopyItemName
- b _081AB43E
- .pool
-_081AB3C0:
- ldr r4, =gStringVar2
- adds r0, r5, 0
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- movs r0, 0xA9
- lsls r0, 1
- cmp r5, r0
- bls _081AB408
- ldr r0, =gStringVar1
- ldr r2, =0xfffffeae
- adds r1, r5, r2
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r1, =gText_ClearTo11Var1Clear5Var2
- b _081AB438
- .pool
-_081AB408:
- ldr r0, =gStringVar1
- ldr r2, =0xfffffee0
- adds r1, r5, r2
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- b _081AB436
- .pool
-_081AB420:
- ldr r0, =gStringVar1
- adds r1, r5, 0
- subs r1, 0x84
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r1, =gStringVar2
- adds r0, r5, 0
- bl CopyItemName
-_081AB436:
- ldr r1, =gText_UnkF908Var1Clear7Var2
-_081AB438:
- adds r0, r6, 0
- bl StringExpandPlaceholders
-_081AB43E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end get_name
-
- thumb_func_start bag_menu_change_item_callback
-bag_menu_change_item_callback: @ 81AB450
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081AB466
- movs r0, 0x5
- bl PlaySE
- bl ShakeBagVisual
-_081AB466:
- ldr r4, =gUnknown_0203CE54
- ldr r1, [r4]
- ldr r2, =0x0000081a
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081AB50C
- adds r2, 0x1
- adds r0, r1, r2
- ldrb r1, [r0]
- lsls r1, 26
- lsrs r1, 30
- movs r0, 0x1
- eors r0, r1
- bl RemoveBagItemIconObject
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _081AB4C8
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r6, 16
- lsrs r1, 16
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4]
- ldr r2, =0x0000081b
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 26
- lsrs r1, 30
- bl AddBagItemIconObject
- b _081AB4DA
- .pool
-_081AB4C8:
- ldr r0, =0x0000ffff
- ldr r1, [r4]
- ldr r2, =0x0000081b
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 26
- lsrs r1, 30
- bl AddBagItemIconObject
-_081AB4DA:
- ldr r5, =gUnknown_0203CE54
- ldr r2, [r5]
- ldr r4, =0x0000081b
- adds r2, r4
- ldrb r3, [r2]
- lsls r0, r3, 26
- lsrs r0, 30
- movs r1, 0x1
- eors r1, r0
- lsls r1, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _081AB50C
- adds r0, r6, 0
- bl bag_menu_print_description_box_text
-_081AB50C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_change_item_callback
-
- thumb_func_start sub_81AB520
-@ void sub_81AB520(u8 rbox_id, int item_index_in_pocket, int a3)
-sub_81AB520: @ 81AB520
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r7, r2, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- bne _081AB540
- b _081AB696
-_081AB540:
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x0000081a
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0xFF
- beq _081AB570
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r1, r0
- bne _081AB568
- adds r0, r7, 0
- movs r1, 0x2
- bl bag_menu_print_cursor
- b _081AB570
- .pool
-_081AB568:
- adds r0, r7, 0
- movs r1, 0xFF
- bl bag_menu_print_cursor
-_081AB570:
- ldr r5, =gUnknown_0203CE58
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- adds r1, r4, 0
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl BagGetQuantityByPocketPosition
- lsls r0, 16
- lsrs r4, r0, 16
- mov r9, r4
- ldr r1, =0xfffffead
- adds r0, r6, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bhi _081AB5BE
- ldr r1, =gUnknown_08DC6378
- subs r3, r7, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x10
- str r0, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- movs r2, 0x8
- bl BlitBitmapToWindow
-_081AB5BE:
- ldrb r0, [r5, 0x5]
- cmp r0, 0x3
- bne _081AB610
- ldr r0, =gStringVar1
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x77
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- str r7, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0xFF
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- b _081AB652
- .pool
-_081AB610:
- cmp r0, 0x4
- beq _081AB66C
- adds r0, r6, 0
- bl itemid_is_unique
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081AB66C
- ldr r0, =gStringVar1
- mov r1, r9
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x77
- bl GetStringRightAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- str r7, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0xFF
- str r0, [sp, 0xC]
- str r5, [sp, 0x10]
-_081AB652:
- mov r0, r8
- movs r1, 0x7
- adds r2, r4, 0
- bl bag_menu_print
- b _081AB696
- .pool
-_081AB66C:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00000496
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _081AB696
- cmp r0, r6
- bne _081AB696
- ldr r1, =gUnknown_086140A4
- subs r3, r7, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x18
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- mov r0, r8
- movs r2, 0x60
- bl BlitBitmapToWindow
-_081AB696:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AB520
-
- thumb_func_start bag_menu_print_description_box_text
-@ void bag_menu_print_description_box_text(int a1)
-bag_menu_print_description_box_text: @ 81AB6B0
- push {r4,lr}
- sub sp, 0x14
- adds r1, r0, 0
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _081AB6E0
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- bl ItemId_GetDescription
- adds r4, r0, 0
- b _081AB6FC
- .pool
-_081AB6E0:
- ldr r0, =gStringVar1
- ldr r2, =gReturnToXStringsTable
- ldr r1, =gUnknown_0203CE58
- ldrb r1, [r1, 0x4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_ReturnToVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
-_081AB6FC:
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print_description_box_text
-
- thumb_func_start bag_menu_print_cursor_
-bag_menu_print_cursor_: @ 81AB73C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl ListMenuGetYCoordForPrintingArrowCursor
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl bag_menu_print_cursor
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end bag_menu_print_cursor_
-
- thumb_func_start bag_menu_print_cursor
-bag_menu_print_cursor: @ 81AB75C
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0xFF
- bne _081AB798
- movs r0, 0x1
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl FillWindowPixelRect
- b _081AB7AE
-_081AB798:
- ldr r2, =gText_SelectorArrow2
- str r5, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0
- bl bag_menu_print
-_081AB7AE:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print_cursor
-
- thumb_func_start bag_menu_add_pocket_scroll_arrow_indicators_maybe
-bag_menu_add_pocket_scroll_arrow_indicators_maybe: @ 81AB7BC
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r5, =gUnknown_0203CE54
- ldr r4, [r5]
- ldr r1, =0x0000081e
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081AB80A
- ldr r2, =gUnknown_0203CE58
- ldrb r3, [r2, 0x5]
- ldr r6, =0x00000829
- adds r0, r4, r6
- adds r0, r3
- ldrb r1, [r0]
- adds r6, 0x5
- adds r0, r4, r6
- adds r0, r3
- ldrb r0, [r0]
- subs r1, r0
- str r1, [sp]
- movs r0, 0x6E
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r2, 0x12
- adds r0, r2
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xAC
- movs r2, 0xC
- movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
- ldr r1, [r5]
- ldr r2, =0x0000081e
- adds r1, r2
- strb r0, [r1]
-_081AB80A:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_add_pocket_scroll_arrow_indicators_maybe
-
- thumb_func_start sub_81AB824
-sub_81AB824: @ 81AB824
- push {r4,lr}
- ldr r4, =gUnknown_0203CE54
- ldr r0, [r4]
- ldr r2, =0x0000081e
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081AB842
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r1, =0x0000081e
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
-_081AB842:
- bl sub_81AB89C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AB824
-
- thumb_func_start bag_menu_add_list_scroll_arrow_indicators_maybe
-bag_menu_add_list_scroll_arrow_indicators_maybe: @ 81AB854
- push {r4,lr}
- ldr r4, =gUnknown_0203CE54
- ldr r2, [r4]
- ldr r1, =0x0000081b
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- beq _081AB882
- ldr r1, =0x0000081f
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081AB882
- ldr r0, =gUnknown_08614094
- ldr r1, =gUnknown_0203CE5E
- bl AddScrollIndicatorArrowPair
- ldr r1, [r4]
- ldr r2, =0x0000081f
- adds r1, r2
- strb r0, [r1]
-_081AB882:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_add_list_scroll_arrow_indicators_maybe
-
- thumb_func_start sub_81AB89C
-sub_81AB89C: @ 81AB89C
- push {r4,lr}
- ldr r4, =gUnknown_0203CE54
- ldr r0, [r4]
- ldr r2, =0x0000081f
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081AB8BA
- bl RemoveScrollIndicatorArrowPair
- ldr r0, [r4]
- ldr r1, =0x0000081f
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
-_081AB8BA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AB89C
-
- thumb_func_start free_bag_item_list_buffers
-free_bag_item_list_buffers: @ 81AB8C8
- push {lr}
- ldr r0, =gUnknown_0203CE78
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203CE74
- ldr r0, [r0]
- bl Free
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .pool
- thumb_func_end free_bag_item_list_buffers
-
- thumb_func_start unknown_ItemMenu_Confirm
-unknown_ItemMenu_Confirm: @ 81AB8F8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_close_bag_menu_2
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_ItemMenu_Confirm
-
- thumb_func_start task_close_bag_menu_2
-task_close_bag_menu_2: @ 81AB930
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r2, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081AB9A0
- ldrb r0, [r2]
- ldr r4, =gUnknown_0203CE58
- ldrb r2, [r4, 0x5]
- lsls r2, 1
- adds r1, r4, 0
- adds r1, 0x12
- adds r1, r2, r1
- adds r3, r4, 0
- adds r3, 0x8
- adds r2, r3
- bl sub_81AE6C8
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _081AB984
- bl SetMainCallback2
- b _081AB98A
- .pool
-_081AB984:
- ldr r0, [r4]
- bl SetMainCallback2
-_081AB98A:
- bl sub_81AB824
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl free_bag_item_list_buffers
- adds r0, r5, 0
- bl DestroyTask
-_081AB9A0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_close_bag_menu_2
-
- thumb_func_start sub_81AB9A8
-sub_81AB9A8: @ 81AB9A8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, r5, 3
- ldr r0, =gBagPockets
- adds r4, r1, r0
- cmp r5, 0x3
- bgt _081AB9C8
- cmp r5, 0x2
- blt _081AB9C8
- adds r0, r4, 0
- bl sub_80D6FB4
- b _081AB9CE
- .pool
-_081AB9C8:
- adds r0, r4, 0
- bl sub_80D6F64
-_081AB9CE:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r6, =0x00000829
- adds r1, r6
- adds r1, r5
- movs r2, 0
- strb r2, [r1]
- adds r3, r0, 0
- ldrb r0, [r4, 0x4]
- cmp r2, r0
- bcs _081ABA12
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _081ABA12
- adds r7, r3, 0
-_081AB9EE:
- ldr r0, [r7]
- adds r0, r6
- adds r0, r5
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r1, [r4, 0x4]
- cmp r2, r1
- bcs _081ABA12
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _081AB9EE
-_081ABA12:
- ldr r2, [r3]
- ldr r1, =0x0000081b
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081ABA2E
- ldr r0, =0x00000829
- adds r1, r2, r0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_081ABA2E:
- ldr r1, [r3]
- ldr r2, =0x00000829
- adds r0, r1, r2
- adds r0, r5
- ldrb r2, [r0]
- cmp r2, 0x8
- bls _081ABA58
- ldr r3, =0x0000082e
- adds r0, r1, r3
- adds r0, r5
- movs r1, 0x8
- strb r1, [r0]
- b _081ABA60
- .pool
-_081ABA58:
- ldr r3, =0x0000082e
- adds r0, r1, r3
- adds r0, r5
- strb r2, [r0]
-_081ABA60:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AB9A8
-
- thumb_func_start sub_81ABA6C
-sub_81ABA6C: @ 81ABA6C
- push {r4,lr}
- movs r4, 0
-_081ABA70:
- adds r0, r4, 0
- bl sub_81AB9A8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081ABA70
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81ABA6C
-
- thumb_func_start sub_81ABA88
-sub_81ABA88: @ 81ABA88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- ldr r2, =gUnknown_0203CE6A
- adds r4, r1, r2
- subs r2, 0xA
- adds r1, r2
- ldr r2, =gUnknown_0203CE54
- ldr r3, [r2]
- ldr r5, =0x0000082e
- adds r2, r3, r5
- adds r2, r0
- ldrb r2, [r2]
- subs r5, 0x5
- adds r3, r5
- adds r3, r0
- ldrb r3, [r3]
- adds r0, r4, 0
- bl sub_812225C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ABA88
-
- thumb_func_start sub_81ABAC4
-sub_81ABAC4: @ 81ABAC4
- push {r4,lr}
- movs r4, 0
-_081ABAC8:
- adds r0, r4, 0
- bl sub_81ABA88
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _081ABAC8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81ABAC4
-
- thumb_func_start sub_81ABAE0
-sub_81ABAE0: @ 81ABAE0
- push {r4-r7,lr}
- sub sp, 0x4
- movs r5, 0
- ldr r6, =gUnknown_0203CE6A
- adds r7, r6, 0
- subs r7, 0xA
-_081ABAEC:
- lsls r1, r5, 1
- adds r0, r1, r6
- adds r1, r7
- ldr r2, =gUnknown_0203CE54
- ldr r3, [r2]
- ldr r4, =0x0000082e
- adds r2, r3, r4
- adds r2, r5
- ldrb r2, [r2]
- subs r4, 0x5
- adds r3, r4
- adds r3, r5
- ldrb r3, [r3]
- movs r4, 0x8
- str r4, [sp]
- bl sub_8122298
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _081ABAEC
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ABAE0
-
- thumb_func_start sub_81ABB2C
-sub_81ABB2C: @ 81ABB2C
- lsls r0, 24
- ldr r1, =gUnknown_0203CE58
- lsrs r0, 23
- adds r2, r1, 0
- adds r2, 0x12
- adds r2, r0, r2
- adds r1, 0x8
- adds r0, r1
- ldrb r0, [r0]
- ldrb r2, [r2]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_81ABB2C
-
- thumb_func_start DisplayItemMessage
-@ void DisplayItemMessage(u8 taskId, u8 fontId, u8 *str, void ( *callback)(u8 taskId))
-DisplayItemMessage: @ 81ABB4C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0x4
- bl AddItemMessageWindow
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- bl sav2_get_text_speed
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4, 0x14]
- str r6, [sp]
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0xA
- movs r3, 0xD
- bl DisplayMessageAndContinueTask
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayItemMessage
-
- thumb_func_start bag_menu_inits_lists_menu
-bag_menu_inits_lists_menu: @ 81ABBBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- ldr r0, =gTasks + 0x8
- adds r5, r0
- ldr r7, =gUnknown_0203CE58
- ldrb r4, [r7, 0x5]
- lsls r4, 1
- movs r0, 0x12
- adds r0, r7
- mov r8, r0
- add r8, r4
- adds r0, r7, 0
- adds r0, 0x8
- adds r4, r0
- movs r0, 0x4
- bl bag_menu_RemoveBagItem_message_window
- ldrb r0, [r5]
- mov r1, r8
- adds r2, r4, 0
- bl sub_81AE6C8
- ldrb r0, [r7, 0x5]
- bl sub_81AB9A8
- ldrb r0, [r7, 0x5]
- bl sub_81ABA88
- ldrb r0, [r7, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- mov r2, r8
- ldrh r1, [r2]
- ldrh r2, [r4]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r6, 0
- bl set_callback3_to_bag
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_inits_lists_menu
-
- thumb_func_start sub_81ABC3C
-sub_81ABC3C: @ 81ABC3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl bag_menu_add_window
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81ABC54
- pop {r0}
- bx r0
- thumb_func_end sub_81ABC3C
-
- thumb_func_start sub_81ABC54
-sub_81ABC54: @ 81ABC54
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- movs r3, 0x2
- cmp r0, 0x3
- bne _081ABC6C
- movs r3, 0x3
-_081ABC6C:
- ldr r0, =gStringVar1
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x28
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ABC54
-
- thumb_func_start sub_81ABCC0
-sub_81ABCC0: @ 81ABCC0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r7, r2, 0
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- movs r3, 0x2
- cmp r0, 0x3
- bne _081ABCD4
- movs r3, 0x3
-_081ABCD4:
- ldr r0, =gStringVar1
- movs r2, 0x2
- bl ConvertIntToDecimalStringN
- ldr r6, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r6, 0
- bl StringExpandPlaceholders
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0
- bl PrintTextOnWindow
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0x26
- movs r2, 0x1
- adds r3, r7, 0
- bl PrintMoneyAmount
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ABCC0
-
- thumb_func_start Task_BagMenu
-Task_BagMenu: @ 81ABD28
- 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
- mov r9, r0
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- str r0, [sp]
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r5, =gUnknown_0203CE58
- ldrb r0, [r5, 0x5]
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0x12
- adds r7, r0, r1
- subs r1, 0xA
- adds r0, r1
- mov r8, r0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081ABD66
- b _081ABEB2
-_081ABD66:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081ABD74
- b _081ABEB2
-_081ABD74:
- bl GetSwitchBagPocketDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081ABDB8
- cmp r0, 0x2
- beq _081ABDC0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- cmp r0, 0
- beq _081ABE10
- bl sub_81AC2C0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081ABDA4
- b _081ABEB2
-_081ABDA4:
- b _081ABDCC
- .pool
-_081ABDB8:
- movs r1, 0x1
- negs r1, r1
- mov r0, r9
- b _081ABDC4
-_081ABDC0:
- mov r0, r9
- movs r1, 0x1
-_081ABDC4:
- movs r2, 0
- bl SwitchBagPocket
- b _081ABEB2
-_081ABDCC:
- ldrb r0, [r6]
- adds r1, r7, 0
- mov r2, r8
- bl get_coro_args_x18_x1A
- ldrh r2, [r7]
- mov r3, r8
- ldrh r0, [r3]
- adds r2, r0
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =gUnknown_0203CE58
- ldr r3, =0x00000829
- adds r0, r3
- ldrb r1, [r1, 0x5]
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r2, r0
- beq _081ABEB2
- movs r0, 0x5
- bl PlaySE
- mov r0, r9
- bl bag_menu_swap_items
- b _081ABEB2
- .pool
-_081ABE10:
- ldrb r0, [r6]
- bl ListMenuHandleInput
- adds r4, r0, 0
- ldrb r0, [r6]
- adds r1, r7, 0
- mov r2, r8
- bl get_coro_args_x18_x1A
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _081ABE32
- adds r0, 0x1
- cmp r4, r0
- bne _081ABE68
- b _081ABEB2
-_081ABE32:
- ldrb r0, [r5, 0x4]
- cmp r0, 0x5
- bne _081ABE40
- movs r0, 0x20
- bl PlaySE
- b _081ABEB2
-_081ABE40:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_ItemId
- mov r1, r10
- strh r1, [r0]
- ldr r0, =gTasks + 0x8
- subs r0, 0x8
- ldr r3, [sp]
- adds r0, r3, r0
- ldr r1, =unknown_ItemMenu_Confirm
- str r1, [r0]
- b _081ABEB2
- .pool
-_081ABE68:
- movs r0, 0x5
- bl PlaySE
- bl sub_81AB824
- ldrb r0, [r6]
- movs r1, 0x2
- bl bag_menu_print_cursor_
- strh r4, [r6, 0x2]
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- adds r1, r4, 0
- bl BagGetQuantityByPocketPosition
- strh r0, [r6, 0x4]
- ldrb r0, [r5, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl BagGetItemIdByPocketPosition
- ldr r1, =gSpecialVar_ItemId
- strh r0, [r1]
- ldr r1, =gUnknown_08614054
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- mov r0, r9
- bl _call_via_r1
-_081ABEB2:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_BagMenu
-
- thumb_func_start set_callback3_to_bag
-set_callback3_to_bag: @ 81ABECC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl bag_menu_add_pocket_scroll_arrow_indicators_maybe
- bl bag_menu_add_list_scroll_arrow_indicators_maybe
- movs r0, 0x3
- bl ClearWindowTilemap
- movs r0, 0x4
- bl ClearWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_BagMenu
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_callback3_to_bag
-
- thumb_func_start GetSwitchBagPocketDirection
-GetSwitchBagPocketDirection: @ 81ABF10
- push {lr}
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x0000081b
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081ABF6A
- bl GetLRKeysState
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _081ABF3C
- cmp r2, 0x1
- bne _081ABF54
-_081ABF3C:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _081ABF6C
- .pool
-_081ABF54:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081ABF60
- cmp r2, 0x2
- bne _081ABF6A
-_081ABF60:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- b _081ABF6C
-_081ABF6A:
- movs r0, 0
-_081ABF6C:
- pop {r1}
- bx r1
- thumb_func_end GetSwitchBagPocketDirection
-
- thumb_func_start ChangeBagPocketId
-@ void ChangeBagPocketId(u8 *bagPocketId, u8 deltaBagPocketId)
-ChangeBagPocketId: @ 81ABF70
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _081ABF88
- ldrb r0, [r2]
- cmp r0, 0x4
- bne _081ABF88
- movs r0, 0
- b _081ABFA0
-_081ABF88:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- ldrb r3, [r2]
- cmp r0, r1
- bne _081ABF9E
- cmp r3, 0
- bne _081ABF9E
- movs r0, 0x4
- b _081ABFA0
-_081ABF9E:
- adds r0, r3, r4
-_081ABFA0:
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ChangeBagPocketId
-
- thumb_func_start SwitchBagPocket
-@ void SwitchBagPocket(u8 taskId, u16 deltaBagPocketId, u16 a3)
-SwitchBagPocket: @ 81ABFA8
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x18]
- strh r5, [r4, 0x16]
- cmp r2, 0
- bne _081AC026
- movs r0, 0
- bl ClearWindowTilemap
- movs r0, 0x1
- bl ClearWindowTilemap
- ldrb r0, [r4]
- ldr r3, =gUnknown_0203CE58
- ldrb r2, [r3, 0x5]
- lsls r2, 1
- adds r1, r3, 0
- adds r1, 0x12
- adds r1, r2, r1
- adds r3, 0x8
- adds r2, r3
- bl sub_81AE6C8
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r3, =gSprites
- ldr r0, =gUnknown_0203CE54
- ldr r2, [r0]
- ldr r1, =0x0000081b
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r1, 26
- lsrs r1, 30
- movs r0, 0x1
- eors r0, r1
- adds r2, r0
- ldr r0, =0x00000806
- adds r2, r0
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bl sub_81AB824
-_081AC026:
- ldr r4, =gUnknown_0203CE58
- ldrb r1, [r4, 0x5]
- add r0, sp, 0x8
- strb r1, [r0]
- lsls r1, r5, 24
- asrs r1, 24
- bl ChangeBagPocketId
- lsls r0, r5, 16
- asrs r1, r0, 16
- adds r5, r0, 0
- cmp r1, 0x1
- bne _081AC07C
- ldr r2, =gPocketNamesStringsTable
- ldrb r0, [r4, 0x5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- add r1, sp, 0x8
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl bag_menu_print_pocket_names
- movs r0, 0
- bl bag_menu_copy_pocket_name_to_window
- b _081AC09A
- .pool
-_081AC07C:
- ldr r2, =gPocketNamesStringsTable
- add r0, sp, 0x8
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrb r1, [r4, 0x5]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl bag_menu_print_pocket_names
- movs r0, 0x8
- bl bag_menu_copy_pocket_name_to_window
-_081AC09A:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- movs r1, 0
- bl bag_menu_draw_pocket_indicator_square
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x1
- bl bag_menu_draw_pocket_indicator_square
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0xB
- movs r2, 0xE
- movs r3, 0x2
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add r0, sp, 0x8
- ldrb r0, [r0]
- movs r1, 0x1
- bl SetBagVisualPocketId
- movs r0, 0x1
- bl RemoveBagObject
- asrs r0, r5, 16
- bl AddSwitchPocketRotatingBallObject
- ldr r1, =sub_81AC10C
- ldr r2, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r2
- ldr r2, [r0]
- adds r0, r6, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SwitchBagPocket
-
- thumb_func_start sub_81AC10C
-sub_81AC10C: @ 81AC10C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- bne _081AC184
- bl IsWallysBag
- lsls r0, 24
- cmp r0, 0
- bne _081AC184
- bl GetSwitchBagPocketDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AC148
- cmp r0, 0x2
- beq _081AC164
- b _081AC184
- .pool
-_081AC148:
- ldr r0, =gUnknown_0203CE5D
- movs r1, 0x16
- ldrsb r1, [r6, r1]
- bl ChangeBagPocketId
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
- movs r1, 0x1
- negs r1, r1
- adds r0, r7, 0
- b _081AC178
- .pool
-_081AC164:
- ldr r0, =gUnknown_0203CE5D
- movs r1, 0x16
- ldrsb r1, [r6, r1]
- bl ChangeBagPocketId
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
- adds r0, r7, 0
- movs r1, 0x1
-_081AC178:
- movs r2, 0x1
- bl SwitchBagPocket
- b _081AC22E
- .pool
-_081AC184:
- movs r1, 0x1A
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _081AC192
- cmp r0, 0x1
- beq _081AC1DC
- b _081AC22E
-_081AC192:
- ldrb r0, [r6, 0x18]
- bl sub_81AC23C
- ldrh r0, [r6, 0x18]
- adds r1, r0, 0x1
- strh r1, [r6, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081AC1CC
- movs r2, 0x16
- ldrsh r0, [r6, r2]
- cmp r0, 0x1
- bne _081AC1BC
- lsls r0, r1, 16
- asrs r0, 17
- lsls r0, 24
- lsrs r0, 24
- bl bag_menu_copy_pocket_name_to_window
- b _081AC1CC
-_081AC1BC:
- lsls r1, 16
- asrs r1, 17
- movs r0, 0x8
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl bag_menu_copy_pocket_name_to_window
-_081AC1CC:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0x10
- bne _081AC22E
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- b _081AC22E
-_081AC1DC:
- ldr r4, =gUnknown_0203CE5D
- movs r1, 0x16
- ldrsb r1, [r6, r1]
- adds r0, r4, 0
- bl ChangeBagPocketId
- subs r5, r4, 0x5
- ldrb r0, [r5, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- ldrb r2, [r5, 0x5]
- lsls r2, 1
- adds r1, r4, 0
- adds r1, 0xD
- adds r1, r2, r1
- ldrh r1, [r1]
- adds r4, 0x3
- adds r2, r4
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- bl bag_menu_add_pocket_scroll_arrow_indicators_maybe
- bl bag_menu_add_list_scroll_arrow_indicators_maybe
- adds r0, r7, 0
- bl SwitchTaskToFollowupFunc
-_081AC22E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AC10C
-
- thumb_func_start sub_81AC23C
-sub_81AC23C: @ 81AC23C
- push {lr}
- sub sp, 0x8
- adds r3, r0, 0
- lsls r3, 24
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0xE
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_81AC23C
-
- thumb_func_start bag_menu_draw_pocket_indicator_square
-@ void bag_menu_draw_pocket_indicator_square(char x, int is_current_bag)
-bag_menu_draw_pocket_indicator_square: @ 81AC26C
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _081AC298
- ldr r1, =0x00001017
- adds r2, r0, 0x5
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
- b _081AC2AE
- .pool
-_081AC298:
- ldr r1, =0x0000102b
- adds r2, r0, 0x5
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0x3
- bl FillBgTilemapBufferRect_Palette0
-_081AC2AE:
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_draw_pocket_indicator_square
-
- thumb_func_start sub_81AC2C0
-sub_81AC2C0: @ 81AC2C0
- push {lr}
- ldr r1, =gUnknown_0203CE58
- ldrb r0, [r1, 0x4]
- cmp r0, 0x1
- bhi _081AC2E0
- ldrb r0, [r1, 0x5]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _081AC2E0
- movs r0, 0x1
- b _081AC2E2
- .pool
-_081AC2E0:
- movs r0, 0
-_081AC2E2:
- pop {r1}
- bx r1
- thumb_func_end sub_81AC2C0
-
- thumb_func_start bag_menu_swap_items
-bag_menu_swap_items: @ 81AC2E8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- mov r9, r0
- adds r6, r4, r0
- ldrb r0, [r6]
- movs r1, 0x10
- movs r2, 0x1
- bl sub_81AF15C
- ldr r3, =gUnknown_0203CE58
- ldrb r0, [r3, 0x5]
- lsls r0, 1
- adds r2, r3, 0
- adds r2, 0x12
- adds r2, r0, r2
- adds r1, r3, 0
- adds r1, 0x8
- adds r0, r1
- ldrh r1, [r0]
- ldrh r2, [r2]
- adds r1, r2
- strh r1, [r6, 0x2]
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r2, =0x0000081a
- adds r0, r2
- movs r5, 0
- strb r1, [r0]
- ldrb r0, [r3, 0x5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- bl BagGetItemIdByPocketPosition
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar4
- mov r8, r0
- ldr r1, =gText_MoveVar1Where
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- str r5, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r1, 0x1
- mov r2, r8
- movs r3, 0x3
- bl bag_menu_print
- ldrb r0, [r6, 0x2]
- bl sub_80D4FEC
- bl sub_81AB89C
- ldrb r0, [r6]
- movs r1, 0x2
- bl bag_menu_print_cursor_
- movs r2, 0x8
- negs r2, r2
- add r9, r2
- add r4, r9
- ldr r0, =sub_81AC3C0
- str r0, [r4]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_swap_items
-
- thumb_func_start sub_81AC3C0
-@ void sub_81AC3C0(u8 taskId)
-sub_81AC3C0: @ 81AC3C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AC48E
- ldr r0, =gMain
- mov r8, r0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081AC418
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- ldr r3, =gUnknown_0203CE58
- ldrb r2, [r3, 0x5]
- lsls r2, 1
- adds r1, r3, 0
- adds r1, 0x12
- adds r1, r2, r1
- adds r3, 0x8
- adds r2, r3
- bl get_coro_args_x18_x1A
- b _081AC472
- .pool
-_081AC418:
- ldrb r0, [r4]
- bl ListMenuHandleInput
- adds r7, r0, 0
- ldrb r0, [r4]
- ldr r5, =gUnknown_0203CE58
- ldrb r2, [r5, 0x5]
- lsls r2, 1
- adds r1, r5, 0
- adds r1, 0x12
- adds r1, r2, r1
- adds r4, r5, 0
- adds r4, 0x8
- adds r2, r4
- bl get_coro_args_x18_x1A
- movs r0, 0
- bl sub_80D4FC8
- ldrb r0, [r5, 0x5]
- lsls r0, 1
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80D4FEC
- movs r0, 0x2
- negs r0, r0
- cmp r7, r0
- beq _081AC460
- adds r0, 0x1
- cmp r7, r0
- bne _081AC482
- b _081AC48E
- .pool
-_081AC460:
- movs r0, 0x5
- bl PlaySE
- mov r0, r8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AC47A
-_081AC472:
- adds r0, r6, 0
- bl sub_81AC498
- b _081AC48E
-_081AC47A:
- adds r0, r6, 0
- bl sub_81AC590
- b _081AC48E
-_081AC482:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl sub_81AC498
-_081AC48E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81AC3C0
-
- thumb_func_start sub_81AC498
-sub_81AC498: @ 81AC498
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- mov r10, r0
- ldr r0, =gTasks + 0x8
- add r0, r10
- mov r9, r0
- ldr r5, =gUnknown_0203CE58
- ldrb r6, [r5, 0x5]
- lsls r1, r6, 1
- adds r0, r5, 0
- adds r0, 0x12
- adds r0, r1
- mov r8, r0
- ldr r2, =gUnknown_0203CE60
- adds r7, r1, r2
- ldrh r0, [r7]
- mov r1, r8
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- mov r0, r9
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- cmp r2, r4
- beq _081AC4E2
- subs r0, r4, 0x1
- cmp r2, r0
- bne _081AC4F8
-_081AC4E2:
- adds r0, r3, 0
- bl sub_81AC590
- b _081AC566
- .pool
-_081AC4F8:
- ldr r1, =gBagPockets
- lsls r0, r6, 3
- adds r0, r1
- ldr r0, [r0]
- adds r1, r2, 0
- adds r2, r4, 0
- bl sub_80D702C
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r2, =0x0000081a
- adds r0, r2
- movs r1, 0xFF
- strb r1, [r0]
- mov r1, r9
- ldrb r0, [r1]
- mov r1, r8
- adds r2, r7, 0
- bl sub_81AE6C8
- mov r2, r9
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, r4
- bge _081AC538
- ldrb r1, [r5, 0x5]
- lsls r1, 1
- ldr r2, =gUnknown_0203CE60
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_081AC538:
- ldrb r0, [r5, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- mov r2, r8
- ldrh r1, [r2]
- ldrh r2, [r7]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- strh r0, [r1]
- movs r0, 0x1
- bl sub_80D4FC8
- bl bag_menu_add_list_scroll_arrow_indicators_maybe
- ldr r0, =gTasks + 0x8
- subs r0, 0x8
- add r0, r10
- ldr r1, =Task_BagMenu
- str r1, [r0]
-_081AC566:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AC498
-
- thumb_func_start sub_81AC590
-sub_81AC590: @ 81AC590
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- mov r9, r1
- ldr r0, =gTasks + 0x8
- mov r10, r0
- mov r7, r9
- add r7, r10
- ldr r4, =gUnknown_0203CE58
- ldrb r0, [r4, 0x5]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x12
- adds r6, r0, r1
- movs r1, 0x8
- adds r1, r4
- mov r8, r1
- adds r5, r0, r1
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x0000081a
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrb r0, [r7]
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_81AE6C8
- movs r0, 0x2
- ldrsh r2, [r7, r0]
- ldrh r0, [r6]
- ldrh r1, [r5]
- adds r0, r1
- cmp r2, r0
- bge _081AC5F2
- ldrb r1, [r4, 0x5]
- lsls r1, 1
- add r1, r8
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_081AC5F2:
- ldrb r0, [r4, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- ldrh r1, [r6]
- ldrh r2, [r5]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r0, 0x1
- bl sub_80D4FC8
- bl bag_menu_add_list_scroll_arrow_indicators_maybe
- mov r0, r10
- subs r0, 0x8
- add r0, r9
- ldr r1, =Task_BagMenu
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AC590
-
- thumb_func_start sub_81AC644
-sub_81AC644: @ 81AC644
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x4]
- subs r0, 0x1
- cmp r0, 0x9
- bls _081AC654
- b _081AC82C
-_081AC654:
- lsls r0, 2
- ldr r1, =_081AC668
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AC668:
- .4byte _081AC690
- .4byte _081AC82C
- .4byte _081AC82C
- .4byte _081AC82C
- .4byte _081AC6E8
- .4byte _081AC82C
- .4byte _081AC76C
- .4byte _081AC7CC
- .4byte _081AC70C
- .4byte _081AC690
-_081AC690:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetBattleUsage
- lsls r0, 24
- cmp r0, 0
- beq _081AC6C4
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614042
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x2
- b _081ACA10
- .pool
-_081AC6C4:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614046
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x1
- b _081ACA10
- .pool
-_081AC6E8:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614047
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x4
- b _081ACA10
- .pool
-_081AC70C:
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AC748
- ldrh r0, [r4]
- cmp r0, 0xAF
- beq _081AC748
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_0861404B
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x2
- b _081ACA10
- .pool
-_081AC748:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614046
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x1
- b _081ACA10
- .pool
-_081AC76C:
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AC7A8
- ldrh r0, [r4]
- cmp r0, 0xAF
- beq _081AC7A8
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_0861404D
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x2
- b _081ACA10
- .pool
-_081AC7A8:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614046
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x1
- b _081ACA10
- .pool
-_081AC7CC:
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AC808
- ldrh r0, [r4]
- cmp r0, 0xAF
- beq _081AC808
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_0861404F
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x2
- b _081ACA10
- .pool
-_081AC808:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614046
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x1
- b _081ACA10
- .pool
-_081AC82C:
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AC840
- bl InUnionRoom
- cmp r0, 0x1
- bne _081AC8A4
-_081AC840:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _081AC856
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl sub_8122148
- lsls r0, 24
- cmp r0, 0
- bne _081AC880
-_081AC856:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614046
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x1
- b _081ACA10
- .pool
-_081AC880:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614044
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x2
- b _081ACA10
- .pool
-_081AC8A4:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- bls _081AC8AE
- b _081ACA12
-_081AC8AE:
- lsls r0, 2
- ldr r1, =_081AC8C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AC8C0:
- .4byte _081AC8D4
- .4byte _081AC9B4
- .4byte _081AC9D8
- .4byte _081AC9FC
- .4byte _081AC92C
-_081AC8D4:
- ldr r4, =gUnknown_0203CE54
- ldr r1, [r4]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r3, =0x00000824
- adds r0, r1, r3
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r3
- ldr r1, =gUnknown_0861402C
- movs r2, 0x4
- bl memcpy
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081AC90A
- b _081ACA12
-_081AC90A:
- ldr r0, [r4]
- ldr r1, =0x00000824
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- b _081ACA12
- .pool
-_081AC92C:
- ldr r4, =gUnknown_0203CE54
- ldr r1, [r4]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r5, =0x00000824
- adds r0, r1, r5
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r5
- ldr r1, =gUnknown_08614030
- movs r2, 0x4
- bl memcpy
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00000496
- adds r0, r1
- ldr r2, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldrh r1, [r2]
- cmp r0, r1
- bne _081AC96C
- ldr r0, [r4]
- ldr r1, =0x00000825
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
-_081AC96C:
- ldrh r1, [r2]
- ldr r0, =0x00000103
- cmp r1, r0
- beq _081AC97A
- adds r0, 0xD
- cmp r1, r0
- bne _081ACA12
-_081AC97A:
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _081ACA12
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x7
- strb r1, [r0]
- b _081ACA12
- .pool
-_081AC9B4:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614034
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x4
- b _081ACA10
- .pool
-_081AC9D8:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_08614038
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x4
- b _081ACA10
- .pool
-_081AC9FC:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- movs r0, 0x82
- lsls r0, 4
- adds r2, r1, r0
- ldr r0, =gUnknown_0861403C
- str r0, [r2]
- ldr r0, =0x00000828
- adds r1, r0
- movs r0, 0x6
-_081ACA10:
- strb r0, [r1]
-_081ACA12:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x2
- bne _081ACA50
- movs r0, 0x1
- bl ClearWindowTilemap
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl PrintTMHMMoveData
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- b _081ACA86
- .pool
-_081ACA50:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1IsSelected
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
-_081ACA86:
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000828
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081ACAB0
- movs r0, 0
- b _081ACAB6
- .pool
-_081ACAB0:
- cmp r0, 0x2
- bne _081ACAC4
- movs r0, 0x1
-_081ACAB6:
- bl bag_menu_add_window
- lsls r0, 24
- lsrs r0, 24
- bl sub_81ACAF8
- b _081ACAEE
-_081ACAC4:
- cmp r0, 0x4
- bne _081ACADC
- movs r0, 0x2
- bl bag_menu_add_window
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- movs r2, 0x2
- bl sub_81ACB54
- b _081ACAEE
-_081ACADC:
- movs r0, 0x3
- bl bag_menu_add_window
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- movs r2, 0x3
- bl sub_81ACB54
-_081ACAEE:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81AC644
-
- thumb_func_start sub_81ACAF8
-sub_81ACAF8: @ 81ACAF8
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- ldr r6, =gUnknown_0203CE54
- ldr r1, [r6]
- ldr r5, =0x00000828
- adds r0, r1, r5
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_08613FB4
- str r0, [sp, 0xC]
- movs r0, 0x82
- lsls r0, 4
- adds r1, r0
- ldr r0, [r1]
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x8
- movs r3, 0x1
- bl AddItemMenuActionTextPrinters
- ldr r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ACAF8
-
- thumb_func_start sub_81ACB54
-sub_81ACB54: @ 81ACB54
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x38
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- ldr r0, =gUnknown_08613FB4
- str r0, [sp, 0xC]
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- movs r1, 0x82
- lsls r1, 4
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x8
- movs r3, 0x1
- bl sub_8198DBC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x38
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8199944
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ACB54
-
- thumb_func_start unknown_item_menu_type
-unknown_item_menu_type: @ 81ACBB0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_81AC644
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000828
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bhi _081ACBE8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_HandleInBattleItemMenuInput
- b _081ACBF4
- .pool
-_081ACBE8:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_HandleOutOfBattleItemMenuInput
-_081ACBF4:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_item_menu_type
-
- thumb_func_start Task_HandleInBattleItemMenuInput
-Task_HandleInBattleItemMenuInput: @ 81ACC04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _081ACC6A
- bl ProcessMenuInputNoWrapAround
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _081ACC6A
- adds r0, 0x1
- cmp r4, r0
- bne _081ACC44
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_08613FB4
- ldr r1, [r0, 0x24]
- adds r0, r5, 0
- bl _call_via_r1
- b _081ACC6A
- .pool
-_081ACC44:
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gUnknown_08613FB4
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- movs r2, 0x82
- lsls r2, 4
- adds r0, r2
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
-_081ACC6A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleInBattleItemMenuInput
-
- thumb_func_start Task_HandleOutOfBattleItemMenuInput
-Task_HandleOutOfBattleItemMenuInput: @ 81ACC78
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081ACC8C
- b _081ACDF0
-_081ACC8C:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gMain
- ldrh r1, [r5, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081ACCD4
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0
- bgt _081ACCAA
- b _081ACDF0
-_081ACCAA:
- subs r0, 0x2
- lsls r0, 24
- asrs r0, 24
- bl sub_81ACDFC
- lsls r0, 24
- cmp r0, 0
- bne _081ACCBC
- b _081ACDF0
-_081ACCBC:
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- bl sub_8199134
- b _081ACDF0
- .pool
-_081ACCD4:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081ACD1C
- lsls r0, r4, 24
- asrs r1, r0, 24
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r2, =0x00000828
- adds r0, r2
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r1, r0
- blt _081ACCF2
- b _081ACDF0
-_081ACCF2:
- adds r0, r1, 0x2
- lsls r0, 24
- asrs r0, 24
- bl sub_81ACDFC
- lsls r0, 24
- cmp r0, 0
- beq _081ACDF0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- bl sub_8199134
- b _081ACDF0
- .pool
-_081ACD1C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _081ACD30
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081ACD58
-_081ACD30:
- lsls r0, r4, 24
- asrs r1, r0, 24
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081ACDF0
- subs r0, r1, 0x1
- lsls r0, 24
- asrs r0, 24
- bl sub_81ACDFC
- lsls r0, 24
- cmp r0, 0
- beq _081ACDF0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _081ACD92
-_081ACD58:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081ACD6E
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081ACD9A
-_081ACD6E:
- lsls r0, r4, 24
- asrs r1, r0, 24
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081ACDF0
- adds r0, r1, 0x1
- lsls r0, 24
- asrs r0, 24
- bl sub_81ACDFC
- lsls r0, 24
- cmp r0, 0
- beq _081ACDF0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_081ACD92:
- movs r1, 0
- bl sub_8199134
- b _081ACDF0
-_081ACD9A:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081ACDD8
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_08613FB4
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- lsls r1, r4, 24
- asrs r1, 24
- movs r3, 0x82
- lsls r3, 4
- adds r0, r3
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _081ACDF0
- .pool
-_081ACDD8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081ACDF0
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_08613FB4
- ldr r1, [r0, 0x24]
- adds r0, r6, 0
- bl _call_via_r1
-_081ACDF0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleOutOfBattleItemMenuInput
-
- thumb_func_start sub_81ACDFC
-sub_81ACDFC: @ 81ACDFC
- push {lr}
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- blt _081ACE30
- ldr r0, =gUnknown_0203CE54
- ldr r2, [r0]
- ldr r3, =0x00000828
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- bgt _081ACE30
- movs r3, 0x82
- lsls r3, 4
- adds r0, r2, r3
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _081ACE30
- movs r0, 0x1
- b _081ACE32
- .pool
-_081ACE30:
- movs r0, 0
-_081ACE32:
- pop {r1}
- bx r1
- thumb_func_end sub_81ACDFC
-
- thumb_func_start bag_menu_remove_some_window
-bag_menu_remove_some_window: @ 81ACE38
- push {lr}
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000828
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081ACE58
- movs r0, 0
- bl bag_menu_remove_window
- b _081ACE76
- .pool
-_081ACE58:
- cmp r0, 0x2
- bne _081ACE64
- movs r0, 0x1
- bl bag_menu_remove_window
- b _081ACE76
-_081ACE64:
- cmp r0, 0x4
- bne _081ACE70
- movs r0, 0x2
- bl bag_menu_remove_window
- b _081ACE76
-_081ACE70:
- movs r0, 0x3
- bl bag_menu_remove_window
-_081ACE76:
- pop {r0}
- bx r0
- thumb_func_end bag_menu_remove_some_window
-
- thumb_func_start ItemMenu_UseOutOfBattle
-@ void ItemMenu_UseOutOfBattle(u8 taskId)
-ItemMenu_UseOutOfBattle: @ 81ACE7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gSpecialVar_ItemId
- ldrh r0, [r5]
- bl ItemId_GetFieldFunc
- cmp r0, 0
- beq _081ACEEE
- bl bag_menu_remove_some_window
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _081ACEB8
- ldrh r0, [r5]
- bl ItemId_GetType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081ACEB8
- adds r0, r4, 0
- bl bag_menu_print_there_is_no_pokemon
- b _081ACEEE
- .pool
-_081ACEB8:
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x3
- beq _081ACEE8
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
- b _081ACEEE
- .pool
-_081ACEE8:
- adds r0, r4, 0
- bl sub_80FDD10
-_081ACEEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ItemMenu_UseOutOfBattle
-
- thumb_func_start ItemMenu_Toss
-ItemMenu_Toss: @ 81ACEF4
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, =gTasks + 0x8
- adds r4, r6, r7
- bl bag_menu_remove_some_window
- movs r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _081ACF24
- adds r0, r5, 0
- bl BagMenuConfirmToss
- b _081ACF6A
- .pool
-_081ACF24:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_TossHowManyVar1s
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
- movs r0, 0x7
- bl sub_81ABC3C
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =Task_ChooseHowManyToToss
- str r1, [r0]
-_081ACF6A:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemMenu_Toss
-
- thumb_func_start BagMenuConfirmToss
-BagMenuConfirmToss: @ 81ACF88
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_ConfirmTossItems
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
- ldr r2, =gUnknown_08614084
- adds r0, r5, 0
- movs r1, 0x5
- bl bag_menu_yes_no
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BagMenuConfirmToss
-
- thumb_func_start BagMenuCancelToss
-BagMenuCancelToss: @ 81AD010
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl bag_menu_print_description_box_text
- ldrb r0, [r4]
- movs r1, 0
- bl bag_menu_print_cursor_
- adds r0, r5, 0
- bl set_callback3_to_bag
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BagMenuCancelToss
-
- thumb_func_start Task_ChooseHowManyToToss
-Task_ChooseHowManyToToss: @ 81AD044
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0x10
- ldrh r1, [r4, 0x4]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081AD088
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000817
- adds r0, r1
- ldrb r0, [r0]
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- bl sub_81ABC54
- b _081AD0C6
- .pool
-_081AD088:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AD0AC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x7
- bl bag_menu_remove_window
- adds r0, r5, 0
- bl BagMenuConfirmToss
- b _081AD0C6
- .pool
-_081AD0AC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081AD0C6
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x7
- bl bag_menu_remove_window
- adds r0, r6, 0
- bl BagMenuCancelToss
-_081AD0C6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end Task_ChooseHowManyToToss
-
- thumb_func_start BagMenuActuallyToss
-BagMenuActuallyToss: @ 81AD0CC
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r6, =gStringVar4
- ldr r1, =gText_ThrewAwayVar2Var1s
- adds r0, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r6, 0
- movs r3, 0x3
- bl bag_menu_print
- subs r5, 0x8
- adds r4, r5
- ldr r0, =Task_ActuallyToss
- str r0, [r4]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end BagMenuActuallyToss
-
- thumb_func_start Task_ActuallyToss
-Task_ActuallyToss: @ 81AD150
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r4, =gUnknown_0203CE58
- ldrb r0, [r4, 0x5]
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x12
- adds r1, r0
- mov r8, r1
- adds r1, r4, 0
- adds r1, 0x8
- adds r7, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081AD1CE
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldrh r1, [r5, 0x10]
- bl RemoveBagItem
- ldrb r0, [r5]
- mov r1, r8
- adds r2, r7, 0
- bl sub_81AE6C8
- ldrb r0, [r4, 0x5]
- bl sub_81AB9A8
- ldrb r0, [r4, 0x5]
- bl sub_81ABA88
- ldrb r0, [r4, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- mov r2, r8
- ldrh r1, [r2]
- ldrh r2, [r7]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r6, 0
- bl set_callback3_to_bag
-_081AD1CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ActuallyToss
-
- thumb_func_start ItemMenu_Register
-ItemMenu_Register: @ 81AD1EC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldr r0, =gUnknown_0203CE58
- ldrb r1, [r0, 0x5]
- lsls r1, 1
- adds r2, r0, 0
- adds r2, 0x12
- adds r6, r1, r2
- adds r0, 0x8
- adds r5, r1, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00000496
- adds r1, r0, r2
- ldr r0, =gSpecialVar_ItemId
- ldrh r2, [r0]
- ldrh r0, [r1]
- cmp r0, r2
- bne _081AD238
- movs r0, 0
- strh r0, [r1]
- b _081AD23A
- .pool
-_081AD238:
- strh r2, [r1]
-_081AD23A:
- ldrb r0, [r7]
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_81AE6C8
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- ldrh r1, [r6]
- ldrh r2, [r5]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r4, 0
- bl ItemMenu_Cancel
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemMenu_Register
-
- thumb_func_start ItemMenu_Give
-ItemMenu_Give: @ 81AD278
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- bl bag_menu_remove_some_window
- ldr r5, =gSpecialVar_ItemId
- ldrh r0, [r5]
- bl itemid_80BF6D8_mail_related
- lsls r0, 24
- cmp r0, 0
- bne _081AD2AC
- ldr r2, =gText_CantWriteMail
- ldr r3, =sub_81AD350
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _081AD2EA
- .pool
-_081AD2AC:
- ldrh r0, [r5]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AD2E4
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _081AD2CA
- adds r0, r4, 0
- bl bag_menu_print_there_is_no_pokemon
- b _081AD2EA
-_081AD2CA:
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r0, =sub_81B7F60
- str r0, [r1]
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _081AD2EA
- .pool
-_081AD2E4:
- adds r0, r6, 0
- bl bag_menu_print_cant_be_held_msg
-_081AD2EA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ItemMenu_Give
-
- thumb_func_start bag_menu_print_there_is_no_pokemon
-bag_menu_print_there_is_no_pokemon: @ 81AD2F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gText_NoPokemon
- ldr r3, =sub_81AD350
- movs r1, 0x1
- bl DisplayItemMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print_there_is_no_pokemon
-
- thumb_func_start bag_menu_print_cant_be_held_msg
-bag_menu_print_cant_be_held_msg: @ 81AD30C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r5, =gStringVar4
- ldr r1, =gText_Var1CantBeHeld
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_81AD350
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl DisplayItemMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print_cant_be_held_msg
-
- thumb_func_start sub_81AD350
-sub_81AD350: @ 81AD350
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AD36E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl bag_menu_inits_lists_menu
-_081AD36E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD350
-
- thumb_func_start ItemMenu_CheckTag
-ItemMenu_CheckTag: @ 81AD378
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CE54
- ldr r2, [r1]
- ldr r1, =sub_8177C14
- str r1, [r2]
- bl unknown_ItemMenu_Confirm
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemMenu_CheckTag
-
- thumb_func_start ItemMenu_Cancel
-ItemMenu_Cancel: @ 81AD398
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl bag_menu_remove_some_window
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl bag_menu_print_description_box_text
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- ldrb r0, [r4]
- movs r1, 0
- bl bag_menu_print_cursor_
- adds r0, r5, 0
- bl set_callback3_to_bag
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemMenu_Cancel
-
- thumb_func_start ItemMenu_UseInBattle
-ItemMenu_UseInBattle: @ 81AD3DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- cmp r0, 0
- beq _081AD400
- bl bag_menu_remove_some_window
- ldrh r0, [r4]
- bl ItemId_GetBattleFunc
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
-_081AD400:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemMenu_UseInBattle
-
- thumb_func_start bag_menu_mail_related
-bag_menu_mail_related: @ 81AD40C
- push {lr}
- movs r0, 0xC
- movs r1, 0x5
- movs r2, 0
- bl GoToBagMenu
- pop {r0}
- bx r0
- thumb_func_end bag_menu_mail_related
-
- thumb_func_start item_menu_type_2
-item_menu_type_2: @ 81AD41C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl itemid_80BF6D8_mail_related
- lsls r0, 24
- cmp r0, 0
- bne _081AD44C
- ldr r2, =gText_CantWriteMail
- ldr r3, =sub_81AD350
- adds r0, r5, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _081AD4AE
- .pool
-_081AD44C:
- ldrh r0, [r4]
- bl sub_8122148
- lsls r0, 24
- cmp r0, 0
- bne _081AD488
- ldrh r0, [r4]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_Var1CantBeHeldHere
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_81AD350
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- b _081AD4AE
- .pool
-_081AD488:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _081AD4A8
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AD4A8
- adds r0, r5, 0
- bl unknown_ItemMenu_Confirm
- b _081AD4AE
- .pool
-_081AD4A8:
- adds r0, r5, 0
- bl bag_menu_print_cant_be_held_msg
-_081AD4AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end item_menu_type_2
-
- thumb_func_start item_menu_type_b
-item_menu_type_b: @ 81AD4B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gSpecialVar_ItemId
- ldrh r0, [r5]
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081AD4E4
- ldr r2, =gText_CantWriteMail
- ldr r3, =sub_81AD350
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _081AD51A
- .pool
-_081AD4E4:
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _081AD514
- ldrh r0, [r5]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _081AD514
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =unknown_ItemMenu_Confirm
- str r0, [r1]
- b _081AD51A
- .pool
-_081AD514:
- adds r0, r4, 0
- bl bag_menu_print_cant_be_held_msg
-_081AD51A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end item_menu_type_b
-
- thumb_func_start UseRegisteredKeyItemOnField
-@ bool8 UseRegisteredKeyItemOnField()
-UseRegisteredKeyItemOnField: @ 81AD520
- push {r4-r7,lr}
- bl InUnionRoom
- cmp r0, 0x1
- beq _081AD54C
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _081AD54C
- bl InBattlePike
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _081AD54C
- bl InMultiBattleRoom
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081AD550
-_081AD54C:
- movs r0, 0
- b _081AD5D2
-_081AD550:
- bl HideMapNamePopUpWindow
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY_ScreenOff
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r5, =0x00000496
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- beq _081AD5CA
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bne _081AD5C4
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_808B864
- bl sub_808BCF4
- ldr r2, =gSpecialVar_ItemId
- ldr r0, [r4]
- adds r0, r5
- ldrh r1, [r0]
- strh r1, [r2]
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0xE]
- b _081AD5D0
- .pool
-_081AD5C4:
- ldr r0, [r4]
- adds r0, r5
- strh r7, [r0]
-_081AD5CA:
- ldr r0, =EventScript_2736B3
- bl ScriptContext1_SetupScript
-_081AD5D0:
- movs r0, 0x1
-_081AD5D2:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end UseRegisteredKeyItemOnField
-
- thumb_func_start display_sell_item_ask_str
-@ void display_sell_item_ask_str(int a1)
-display_sell_item_ask_str: @ 81AD5DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r6, =gSpecialVar_ItemId
- ldrh r0, [r6]
- bl itemid_get_market_price
- lsls r0, 16
- cmp r0, 0
- bne _081AD634
- ldrh r0, [r6]
- ldr r1, =gStringVar2
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_CantBuyKeyItem
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- b _081AD66A
- .pool
-_081AD634:
- movs r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _081AD64C
- bl bag_menu_AddMoney_window
- adds r0, r5, 0
- bl sub_81AD680
- b _081AD66A
-_081AD64C:
- ldrh r0, [r6]
- ldr r1, =gStringVar2
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_HowManyToSell
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_81AD730
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
-_081AD66A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end display_sell_item_ask_str
-
- thumb_func_start sub_81AD680
-sub_81AD680: @ 81AD680
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r6, =gStringVar1
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- muls r1, r0
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_ICanPayVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_81AD6E4
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD680
-
- thumb_func_start sub_81AD6E4
-sub_81AD6E4: @ 81AD6E4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_0861408C
- movs r1, 0x6
- bl bag_menu_yes_no
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD6E4
-
- thumb_func_start sub_81AD6FC
-sub_81AD6FC: @ 81AD6FC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl bag_menu_remove_money_window
- movs r0, 0x4
- bl bag_menu_RemoveBagItem_message_window
- ldrb r0, [r4]
- movs r1, 0
- bl bag_menu_print_cursor_
- adds r0, r5, 0
- bl set_callback3_to_bag
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD6FC
-
- thumb_func_start sub_81AD730
-sub_81AD730: @ 81AD730
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, =gTasks + 0x8
- adds r0, r4, r6
- mov r8, r0
- movs r0, 0x8
- bl bag_menu_add_window
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- mov r2, r8
- movs r3, 0x10
- ldrsh r1, [r2, r3]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81ABCC0
- bl bag_menu_AddMoney_window
- subs r6, 0x8
- adds r4, r6
- ldr r0, =sub_81AD794
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD730
-
- thumb_func_start sub_81AD794
-sub_81AD794: @ 81AD794
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- adds r0, r6, 0
- adds r0, 0x10
- ldrh r1, [r6, 0x4]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081AD7F4
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000818
- adds r0, r1
- ldrb r4, [r0]
- movs r2, 0x10
- ldrsh r5, [r6, r2]
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- movs r2, 0x10
- ldrsh r1, [r6, r2]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_81ABCC0
- b _081AD844
- .pool
-_081AD7F4:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AD818
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x8
- bl bag_menu_remove_window
- adds r0, r4, 0
- bl sub_81AD680
- b _081AD844
- .pool
-_081AD818:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081AD844
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r6]
- movs r1, 0
- bl bag_menu_print_cursor_
- bl bag_menu_remove_money_window
- movs r0, 0x8
- bl bag_menu_remove_window
- movs r0, 0x4
- bl bag_menu_RemoveBagItem_message_window
- adds r0, r5, 0
- bl set_callback3_to_bag
-_081AD844:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81AD794
-
- thumb_func_start sub_81AD84C
-sub_81AD84C: @ 81AD84C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r6, =gSpecialVar_ItemId
- ldrh r0, [r6]
- ldr r1, =gStringVar2
- bl CopyItemName
- ldr r0, =gStringVar1
- mov r8, r0
- ldrh r0, [r6]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- muls r1, r0
- mov r0, r8
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_TurnedOverVar1ForVar2
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_81AD8C8
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD84C
-
- thumb_func_start sub_81AD8C8
-sub_81AD8C8: @ 81AD8C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r6, r0, 2
- adds r6, r0
- lsls r6, 3
- ldr r0, =gTasks + 0x8
- adds r0, r6
- mov r10, r0
- ldr r7, =gUnknown_0203CE58
- ldrb r5, [r7, 0x5]
- lsls r5, 1
- movs r1, 0x12
- adds r1, r7
- mov r9, r1
- add r9, r5
- adds r0, r7, 0
- adds r0, 0x8
- adds r5, r0
- movs r0, 0x5F
- bl PlaySE
- ldr r2, =gSpecialVar_ItemId
- mov r8, r2
- ldrh r0, [r2]
- mov r3, r10
- ldrh r1, [r3, 0x10]
- bl RemoveBagItem
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r4, r1
- mov r2, r8
- ldrh r0, [r2]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- mov r3, r10
- movs r2, 0x10
- ldrsh r1, [r3, r2]
- muls r1, r0
- adds r0, r4, 0
- bl AddMoney
- mov r3, r10
- ldrb r0, [r3]
- mov r1, r9
- adds r2, r5, 0
- bl sub_81AE6C8
- ldrb r0, [r7, 0x5]
- bl sub_81AB9A8
- ldrb r0, [r7, 0x5]
- bl sub_81ABA88
- ldrb r0, [r7, 0x5]
- bl load_bag_item_list_buffers
- ldr r0, =gUnknown_03006310
- mov r2, r9
- ldrh r1, [r2]
- ldrh r2, [r5]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- mov r3, r10
- strh r0, [r3]
- movs r1, 0x2
- bl bag_menu_print_cursor_
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000819
- adds r0, r1
- ldrb r4, [r0]
- ldr r2, =gSaveBlock1Ptr
- ldr r0, [r2]
- movs r3, 0x92
- lsls r3, 3
- adds r0, r3
- bl GetMoney
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl PrintMoneyAmountInMoneyBox
- ldr r0, =gTasks + 0x8
- subs r0, 0x8
- adds r6, r0
- ldr r0, =sub_81AD9C0
- str r0, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD8C8
-
- thumb_func_start sub_81AD9C0
-sub_81AD9C0: @ 81AD9C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081AD9E2
- movs r0, 0x5
- bl PlaySE
- bl bag_menu_remove_money_window
- adds r0, r4, 0
- bl bag_menu_inits_lists_menu
-_081AD9E2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AD9C0
-
- thumb_func_start display_deposit_item_ask_str
-display_deposit_item_ask_str: @ 81AD9EC
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r5, r0, 3
- ldr r6, =gTasks + 0x8
- adds r1, r5, r6
- movs r0, 0x1
- strh r0, [r1, 0x10]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bne _081ADA18
- adds r0, r2, 0
- bl sub_81ADB14
- b _081ADA5E
- .pool
-_081ADA18:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r4, =gStringVar4
- ldr r1, =gText_DepositHowManyVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
- movs r0, 0x7
- bl sub_81ABC3C
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, =sub_81ADA7C
- str r1, [r0]
-_081ADA5E:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end display_deposit_item_ask_str
-
- thumb_func_start sub_81ADA7C
-sub_81ADA7C: @ 81ADA7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x10
- ldrh r1, [r5, 0x4]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081ADAC0
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000817
- adds r0, r1
- ldrb r0, [r0]
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl sub_81ABC54
- b _081ADB0E
- .pool
-_081ADAC0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081ADAE4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x7
- bl bag_menu_remove_window
- adds r0, r4, 0
- bl sub_81ADB14
- b _081ADB0E
- .pool
-_081ADAE4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081ADB0E
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl bag_menu_print_description_box_text
- ldrb r0, [r5]
- movs r1, 0
- bl bag_menu_print_cursor_
- movs r0, 0x7
- bl bag_menu_remove_window
- adds r0, r6, 0
- bl set_callback3_to_bag
-_081ADB0E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81ADA7C
-
- thumb_func_start sub_81ADB14
-sub_81ADB14: @ 81ADB14
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r7, r1, 3
- ldr r0, =gTasks + 0x8
- mov r9, r0
- adds r2, r7, 0
- add r2, r9
- mov r8, r2
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _081ADB6C
- ldr r2, =gText_CantStoreImportantItems
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0x1
- b _081ADBE2
- .pool
-_081ADB6C:
- ldrh r0, [r4]
- mov r3, r8
- ldrh r1, [r3, 0x10]
- bl AddPCItem
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- bne _081ADBD4
- ldrh r0, [r4]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- mov r2, r8
- movs r3, 0x10
- ldrsh r1, [r2, r3]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_DepositedVar2Var1s
- adds r0, r4, 0
- bl StringExpandPlaceholders
- str r6, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- str r5, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x3
- bl bag_menu_print
- mov r0, r9
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =Task_ActuallyToss
- b _081ADBF2
- .pool
-_081ADBD4:
- ldr r2, =gText_NoRoomForItems
- movs r0, 0x1
- str r0, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- str r5, [sp, 0xC]
- str r5, [sp, 0x10]
-_081ADBE2:
- movs r1, 0x1
- movs r3, 0x3
- bl bag_menu_print
- mov r0, r9
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_81ADC0C
-_081ADBF2:
- str r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ADB14
-
- thumb_func_start sub_81ADC0C
-sub_81ADC0C: @ 81ADC0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081ADC44
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl bag_menu_print_description_box_text
- ldrb r0, [r5]
- movs r1, 0
- bl bag_menu_print_cursor_
- adds r0, r4, 0
- bl set_callback3_to_bag
-_081ADC44:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81ADC0C
-
- thumb_func_start IsWallysBag
-@ bool8 IsWallysBag()
-IsWallysBag: @ 81ADC54
- push {lr}
- ldr r0, =gUnknown_0203CE58
- ldrb r0, [r0, 0x4]
- cmp r0, 0xA
- beq _081ADC68
- movs r0, 0
- b _081ADC6A
- .pool
-_081ADC68:
- movs r0, 0x1
-_081ADC6A:
- pop {r1}
- bx r1
- thumb_func_end IsWallysBag
-
- thumb_func_start PrepareBagForWallyTutorial
-@ void PrepareBagForWallyTutorial()
-PrepareBagForWallyTutorial: @ 81ADC70
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203CE80
- movs r0, 0xD0
- bl AllocZeroed
- str r0, [r4]
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- movs r2, 0xAC
- lsls r2, 3
- adds r1, r2
- movs r2, 0x78
- bl memcpy
- ldr r0, [r4]
- ldr r1, [r5]
- movs r2, 0xCA
- lsls r2, 3
- adds r1, r2
- adds r0, 0x78
- movs r2, 0x40
- bl memcpy
- ldr r0, [r4]
- ldr r2, =gUnknown_0203CE58
- ldrb r1, [r2, 0x5]
- adds r0, 0xCE
- strh r1, [r0]
- movs r6, 0
- adds r5, r2, 0
- adds r5, 0x8
-_081ADCAE:
- ldr r2, [r4]
- lsls r3, r6, 1
- adds r0, r2, 0
- adds r0, 0xB8
- adds r0, r3
- ldrh r1, [r5]
- strh r1, [r0]
- adds r2, 0xC2
- adds r2, r3
- ldrh r0, [r5, 0xA]
- strh r0, [r2]
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- bls _081ADCAE
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1E
- bl ClearItemSlots
- ldr r0, [r4]
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r2
- movs r1, 0x10
- bl ClearItemSlots
- bl ResetBagScrollPositions
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PrepareBagForWallyTutorial
-
- thumb_func_start RestoreBagAfterWallyTutorial
-@ void RestoreBagAfterWallyTutorial()
-RestoreBagAfterWallyTutorial: @ 81ADD00
- push {r4-r6,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- movs r1, 0xAC
- lsls r1, 3
- adds r0, r1
- ldr r4, =gUnknown_0203CE80
- ldr r1, [r4]
- movs r2, 0x78
- bl memcpy
- ldr r0, [r5]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r1
- ldr r1, [r4]
- adds r1, 0x78
- movs r2, 0x40
- bl memcpy
- ldr r1, =gUnknown_0203CE58
- ldr r0, [r4]
- adds r0, 0xCE
- ldrh r0, [r0]
- strb r0, [r1, 0x5]
- movs r5, 0
- adds r6, r4, 0
- adds r3, r1, 0
- adds r3, 0x8
-_081ADD3A:
- lsls r2, r5, 1
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r3]
- adds r1, 0xC2
- adds r1, r2
- ldrh r0, [r1]
- strh r0, [r3, 0xA]
- adds r3, 0x2
- adds r5, 0x1
- cmp r5, 0x4
- bls _081ADD3A
- ldr r0, [r6]
- bl Free
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RestoreBagAfterWallyTutorial
-
- thumb_func_start DoWallyTutorialBagMenu
-@ void DoWallyTutorialBagMenu()
-DoWallyTutorialBagMenu: @ 81ADD70
- push {lr}
- bl PrepareBagForWallyTutorial
- movs r0, 0xD
- movs r1, 0x1
- bl AddBagItem
- movs r0, 0x4
- movs r1, 0x1
- bl AddBagItem
- ldr r2, =SetCB2ToReshowScreenAfterMenu2
- movs r0, 0xA
- movs r1, 0
- bl GoToBagMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoWallyTutorialBagMenu
-
- thumb_func_start Task_WallyTutorialBagMenu
-@ void Task_WallyTutorialBagMenu(u8 taskId)
-Task_WallyTutorialBagMenu: @ 81ADD98
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081ADE32
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- cmp r1, 0xCC
- beq _081ADDEC
- cmp r1, 0xCC
- bgt _081ADDD0
- cmp r1, 0x66
- beq _081ADDDA
- b _081ADE2C
- .pool
-_081ADDD0:
- movs r0, 0x99
- lsls r0, 1
- cmp r1, r0
- beq _081ADE0C
- b _081ADE2C
-_081ADDDA:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- bl SwitchBagPocket
- b _081ADE2C
-_081ADDEC:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4]
- movs r1, 0x2
- bl bag_menu_print_cursor_
- ldr r1, =gSpecialVar_ItemId
- movs r0, 0x4
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_81AC644
- b _081ADE2C
- .pool
-_081ADE0C:
- movs r0, 0x5
- bl PlaySE
- bl bag_menu_remove_some_window
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- bl RestoreBagAfterWallyTutorial
- adds r0, r5, 0
- bl unknown_ItemMenu_Confirm
- b _081ADE32
-_081ADE2C:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_081ADE32:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_WallyTutorialBagMenu
-
- thumb_func_start unknown_ItemMenu_Show
-unknown_ItemMenu_Show: @ 81ADE38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gSpecialVar_0x8005
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- bl bag_menu_remove_some_window
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_ItemMenu_Show
-
- thumb_func_start bag_menu_leave_maybe_3
-bag_menu_leave_maybe_3: @ 81ADE6C
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =sub_819FA50
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_leave_maybe_3
-
- thumb_func_start unknown_ItemMenu_Give2
-unknown_ItemMenu_Give2: @ 81ADE8C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- bl bag_menu_remove_some_window
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_ItemMenu_Give2
-
- thumb_func_start bag_menu_leave_maybe_2
-bag_menu_leave_maybe_2: @ 81ADEBC
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =sub_818DEF4
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_leave_maybe_2
-
- thumb_func_start unknown_ItemMenu_Confirm2
-unknown_ItemMenu_Confirm2: @ 81ADEDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- bl bag_menu_remove_some_window
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_ItemMenu_Confirm2
-
- thumb_func_start bag_menu_leave_maybe
-bag_menu_leave_maybe: @ 81ADF00
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =sub_818E564
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_leave_maybe
-
- thumb_func_start bag_menu_print_pocket_names
-bag_menu_print_pocket_names: @ 81ADF20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- adds r4, r0, 0
- mov r8, r1
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x14]
- str r1, [sp, 0x18]
- ldr r1, =0x00ffffff
- ldr r0, [sp, 0x14]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 21
- orrs r0, r1
- str r0, [sp, 0x14]
- ldr r1, =0xffffff00
- ldr r0, [sp, 0x18]
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- str r0, [sp, 0x18]
- add r0, sp, 0x14
- bl AddWindow
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- lsls r3, r0, 24
- lsrs r3, 24
- movs r7, 0x1
- str r7, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0xFF
- mov r9, r0
- str r0, [sp, 0xC]
- str r7, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl bag_menu_print
- mov r2, r8
- cmp r2, 0
- beq _081ADFBA
- movs r0, 0x1
- mov r1, r8
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- adds r3, 0x40
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- str r7, [sp, 0x10]
- adds r0, r6, 0
- movs r1, 0x1
- mov r2, r8
- bl bag_menu_print
-_081ADFBA:
- adds r0, r6, 0
- movs r1, 0x7
- bl GetWindowAttribute
- ldr r1, =gUnknown_0203CE54
- ldr r1, [r1]
- ldr r2, =0x00000844
- adds r1, r2
- ldr r2, =0x04000100
- bl CpuSet
- adds r0, r6, 0
- bl RemoveWindow
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print_pocket_names
-
- thumb_func_start bag_menu_copy_pocket_name_to_window
-bag_menu_copy_pocket_name_to_window: @ 81ADFF8
- push {r4-r7,lr}
- adds r7, r0, 0
- cmp r7, 0x8
- bls _081AE002
- movs r7, 0x8
-_081AE002:
- ldr r0, =gUnknown_0203CE54
- ldr r4, [r0]
- ldr r0, =0x00000844
- adds r4, r0
- movs r0, 0x2
- movs r1, 0x7
- bl GetWindowAttribute
- adds r5, r0, 0
- lsls r0, r7, 5
- adds r0, r4, r0
- ldr r6, =0x04000040
- adds r1, r5, 0
- adds r2, r6, 0
- bl CpuSet
- adds r0, r7, 0
- adds r0, 0x10
- lsls r0, 5
- adds r4, r0
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CpuSet
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_copy_pocket_name_to_window
-
- thumb_func_start setup_bag_menu_textboxes
-setup_bag_menu_textboxes: @ 81AE054
- push {r4,lr}
- ldr r0, =gUnknown_08614174
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_809882C
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD0
- bl copy_textbox_border_tile_patterns_to_vram
- movs r0, 0xC0
- movs r1, 0x1
- bl sub_819A2BC
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r4, 0
-_081AE088:
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- bl PutWindowTilemap
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _081AE088
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end setup_bag_menu_textboxes
-
- thumb_func_start bag_menu_print
-bag_menu_print: @ 81AE0BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r9, r3
- ldr r3, [sp, 0x30]
- ldr r4, [sp, 0x34]
- ldr r6, [sp, 0x38]
- ldr r5, [sp, 0x3C]
- mov r8, r5
- ldr r5, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- lsls r7, 24
- lsrs r7, 24
- mov r9, r7
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- str r4, [sp]
- str r6, [sp, 0x4]
- lsls r4, r5, 1
- adds r4, r5
- ldr r5, =gUnknown_08614164
- adds r4, r5
- str r4, [sp, 0x8]
- mov r4, r8
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- str r2, [sp, 0x10]
- mov r2, r9
- bl AddTextPrinterParametrized2
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_print
-
- thumb_func_start sub_81AE124
-sub_81AE124: @ 81AE124
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CE54
- ldr r1, [r1]
- movs r2, 0x81
- lsls r2, 4
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81AE124
-
- thumb_func_start bag_menu_add_window
-bag_menu_add_window: @ 81AE13C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CE54
- movs r3, 0x81
- lsls r3, 4
- adds r1, r2, r3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _081AE172
- lsls r0, r2, 3
- ldr r1, =gUnknown_086141AC
- adds r0, r1
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
-_081AE172:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end bag_menu_add_window
-
- thumb_func_start bag_menu_remove_window
-bag_menu_remove_window: @ 81AE184
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CE54
- movs r2, 0x81
- lsls r2, 4
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081AE1B8
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0xFF
- strb r0, [r4]
-_081AE1B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_remove_window
-
- thumb_func_start AddItemMessageWindow
-@ u8 AddItemMessageWindow(u8 a1)
-AddItemMessageWindow: @ 81AE1C4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203CE54
- movs r3, 0x81
- lsls r3, 4
- adds r1, r2, r3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _081AE1E8
- lsls r0, r2, 3
- ldr r1, =gUnknown_086141AC
- adds r0, r1
- bl AddWindow
- strb r0, [r4]
-_081AE1E8:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddItemMessageWindow
-
- thumb_func_start bag_menu_RemoveBagItem_message_window
-bag_menu_RemoveBagItem_message_window: @ 81AE1F8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CE54
- movs r2, 0x81
- lsls r2, 4
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _081AE22C
- movs r1, 0
- bl sub_8197DF8
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0xFF
- strb r0, [r4]
-_081AE22C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_RemoveBagItem_message_window
-
- thumb_func_start bag_menu_yes_no
-bag_menu_yes_no: @ 81AE238
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 21
- ldr r3, =gUnknown_086141AC
- adds r1, r3
- movs r3, 0x2
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- movs r3, 0xE
- str r3, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0
- bl CreateYesNoMenuWithCallbacks
- add sp, 0x10
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_yes_no
-
- thumb_func_start bag_menu_AddMoney_window
-bag_menu_AddMoney_window: @ 81AE268
- push {r4,lr}
- movs r0, 0x9
- bl bag_menu_add_window
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- bl GetMoney
- adds r3, r0, 0
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xE
- bl PrintMoneyAmountInMoneyBoxWithBorder
- movs r0, 0x13
- movs r1, 0xB
- bl AddMoneyLabelObject
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bag_menu_AddMoney_window
-
- thumb_func_start bag_menu_remove_money_window
-bag_menu_remove_money_window: @ 81AE2A4
- push {lr}
- movs r0, 0x9
- bl bag_menu_remove_window
- bl RemoveMoneyLabelObject
- pop {r0}
- bx r0
- thumb_func_end bag_menu_remove_money_window
-
- thumb_func_start bag_menu_prepare_tmhm_move_window
-bag_menu_prepare_tmhm_move_window: @ 81AE2B4
- push {lr}
- movs r0, 0x3
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0x13
- movs r2, 0
- movs r3, 0
- bl blit_move_info_icon
- movs r0, 0x3
- movs r1, 0x14
- movs r2, 0
- movs r3, 0xC
- bl blit_move_info_icon
- movs r0, 0x3
- movs r1, 0x15
- movs r2, 0
- movs r3, 0x18
- bl blit_move_info_icon
- movs r0, 0x3
- movs r1, 0x16
- movs r2, 0
- movs r3, 0x24
- bl blit_move_info_icon
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end bag_menu_prepare_tmhm_move_window
-
- thumb_func_start PrintTMHMMoveData
-PrintTMHMMoveData: @ 81AE2FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x4
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0
- bne _081AE354
- movs r4, 0
- movs r5, 0
-_081AE31A:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 26
- lsrs r0, 24
- str r0, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0xFF
- str r0, [sp, 0xC]
- movs r0, 0x4
- str r0, [sp, 0x10]
- movs r1, 0x1
- ldr r2, =gText_ThreeDashes
- movs r3, 0x7
- bl bag_menu_print
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081AE31A
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- b _081AE440
- .pool
-_081AE354:
- adds r0, r4, 0
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r1, =gBattleMoves
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r5, r0, r1
- ldrb r1, [r5, 0x2]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x4
- movs r2, 0
- movs r3, 0
- bl blit_move_info_icon
- ldrb r0, [r5, 0x1]
- cmp r0, 0x1
- bhi _081AE38C
- ldr r2, =gText_ThreeDashes
- b _081AE39C
- .pool
-_081AE38C:
- ldr r4, =gStringVar1
- ldrb r1, [r5, 0x1]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r4, 0
-_081AE39C:
- movs r0, 0xC
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0xFF
- str r0, [sp, 0xC]
- movs r0, 0x4
- str r0, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x7
- bl bag_menu_print
- ldr r2, =gBattleMoves
- lsls r1, r7, 1
- adds r0, r1, r7
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x3]
- adds r6, r1, 0
- cmp r0, 0
- bne _081AE3D8
- ldr r2, =gText_ThreeDashes
- b _081AE3E8
- .pool
-_081AE3D8:
- ldr r4, =gStringVar1
- ldrb r1, [r2, 0x3]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r4, 0
-_081AE3E8:
- movs r0, 0x18
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0xFF
- mov r8, r0
- str r0, [sp, 0xC]
- movs r0, 0x4
- mov r9, r0
- str r0, [sp, 0x10]
- movs r1, 0x1
- movs r3, 0x7
- bl bag_menu_print
- ldr r5, =gStringVar1
- ldr r1, =gBattleMoves
- adds r0, r6, r7
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x4]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x24
- str r0, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- movs r0, 0x4
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0x7
- bl bag_menu_print
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
-_081AE440:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end PrintTMHMMoveData
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_menu_icons.s b/asm/item_menu_icons.s
deleted file mode 100755
index 1adc0feb7..000000000
--- a/asm/item_menu_icons.s
+++ /dev/null
@@ -1,637 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start RemoveBagObject
-@ void RemoveBagObject(u8 a1)
-RemoveBagObject: @ 80D4CA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203CE54
- ldr r2, =0x00000804
- adds r1, r4, r2
- ldr r0, [r0]
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080D4CEE
- adds r4, 0x64
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r5]
-_080D4CEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveBagObject
-
- thumb_func_start AddBagVisualObject
-@ void AddBagVisualObject(u8 bagPocketId)
-AddBagVisualObject: @ 80D4D00
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203CE54
- ldr r4, [r0]
- ldr r0, =0x00000804
- adds r4, r0
- ldr r0, =gUnknown_0857FB4C
- movs r1, 0x44
- movs r2, 0x42
- movs r3, 0
- bl CreateSprite
- strb r0, [r4]
- adds r0, r5, 0
- movs r1, 0
- bl SetBagVisualPocketId
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddBagVisualObject
-
- thumb_func_start SetBagVisualPocketId
-@ void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets)
-SetBagVisualPocketId: @ 80D4D38
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r2, =0x00000804
- adds r0, r2
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, =gSprites
- adds r2, r0, r2
- cmp r1, 0
- beq _080D4D84
- ldr r0, =0x0000fffb
- strh r0, [r2, 0x26]
- ldr r0, =ObjectCB_BagVisualSwitchingPockets
- str r0, [r2, 0x1C]
- adds r0, r3, 0x1
- strh r0, [r2, 0x2E]
- adds r0, r2, 0
- movs r1, 0
- bl StartSpriteAnim
- b _080D4D90
- .pool
-_080D4D84:
- adds r1, r3, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_080D4D90:
- pop {r0}
- bx r0
- thumb_func_end SetBagVisualPocketId
-
- thumb_func_start ObjectCB_BagVisualSwitchingPockets
-@ void ObjectCB_BagVisualSwitchingPockets(struct obj *object)
-ObjectCB_BagVisualSwitchingPockets: @ 80D4D94
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x26]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D4DA8
- adds r0, r1, 0x1
- strh r0, [r4, 0x26]
- b _080D4DB8
-_080D4DA8:
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D4DB8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_BagVisualSwitchingPockets
-
- thumb_func_start ShakeBagVisual
-@ void ShakeBagVisual()
-ShakeBagVisual: @ 80D4DC4
- push {r4,lr}
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000804
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D4DF4
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, =ObjectCB_ShakeBagVisual
- str r0, [r4, 0x1C]
-_080D4DF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShakeBagVisual
-
- thumb_func_start ObjectCB_ShakeBagVisual
-@ void ObjectCB_ShakeBagVisual(struct obj *object)
-ObjectCB_ShakeBagVisual: @ 80D4E0C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D4E28
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080D4E28:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_ShakeBagVisual
-
- thumb_func_start AddSwitchPocketRotatingBallObject
-@ void AddSwitchPocketRotatingBallObject(u16 rotationDirection)
-AddSwitchPocketRotatingBallObject: @ 80D4E34
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =gUnknown_0203CE54
- ldr r4, [r0]
- ldr r0, =0x00000805
- adds r4, r0
- ldr r0, =gUnknown_0857FBA0
- bl LoadSpriteSheet
- ldr r0, =gUnknown_0857FBA8
- bl LoadSpritePalette
- ldr r0, =gUnknown_0857FBB0
- movs r1, 0x10
- movs r2, 0x10
- movs r3, 0
- bl CreateSprite
- strb r0, [r4]
- ldr r2, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddSwitchPocketRotatingBallObject
-
- thumb_func_start update_switch_pocket_rotating_ball_coords
-@ void update_switch_pocket_rotating_ball_coords(struct obj *object)
-update_switch_pocket_rotating_ball_coords: @ 80D4E8C
- ldrh r2, [r0, 0x30]
- ldrh r1, [r0, 0x34]
- adds r1, 0x1
- movs r3, 0x1
- ands r1, r3
- subs r2, r1
- adds r1, r0, 0
- adds r1, 0x28
- strb r2, [r1]
- ldrh r2, [r0, 0x30]
- ldrh r1, [r0, 0x34]
- adds r1, 0x1
- ands r1, r3
- subs r2, r1
- adds r0, 0x29
- strb r2, [r0]
- bx lr
- thumb_func_end update_switch_pocket_rotating_ball_coords
-
- thumb_func_start ObjectCB_SwitchPocketRotatingBallInit
-@ void ObjectCB_SwitchPocketRotatingBallInit(struct obj *object)
-ObjectCB_SwitchPocketRotatingBallInit: @ 80D4EB0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D4ED8
- ldr r0, =gUnknown_0857FB98
- b _080D4EDA
- .pool
-_080D4ED8:
- ldr r0, =gUnknown_0857FB9C
-_080D4EDA:
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- bl update_switch_pocket_rotating_ball_coords
- ldr r0, =ObjectCB_SwitchPocketRotatingBallContinue
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_SwitchPocketRotatingBallInit
-
- thumb_func_start ObjectCB_SwitchPocketRotatingBallContinue
-@ void ObjectCB_SwitchPocketRotatingBallContinue(struct obj *object)
-ObjectCB_SwitchPocketRotatingBallContinue: @ 80D4F14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- bl update_switch_pocket_rotating_ball_coords
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _080D4F32
- movs r0, 0x1
- bl RemoveBagObject
-_080D4F32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ObjectCB_SwitchPocketRotatingBallContinue
-
- thumb_func_start AddBagItemIconObject
-@ void AddBagItemIconObject(u16 itemId, u8 a2)
-AddBagItemIconObject: @ 80D4F38
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, =gUnknown_0203CE54
- ldr r2, =0x00000806
- adds r1, r4, r2
- ldr r0, [r0]
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _080D4F86
- adds r4, 0x66
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl AddItemIconObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080D4F86
- strb r2, [r5]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x18
- strh r1, [r0, 0x24]
- movs r1, 0x58
- strh r1, [r0, 0x26]
-_080D4F86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddBagItemIconObject
-
- thumb_func_start RemoveBagItemIconObject
-@ void RemoveBagItemIconObject(u8 a1)
-RemoveBagItemIconObject: @ 80D4F98
- push {lr}
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 18
- adds r0, r1
- lsrs r0, 24
- bl RemoveBagObject
- pop {r0}
- bx r0
- thumb_func_end RemoveBagItemIconObject
-
- thumb_func_start sub_80D4FAC
-sub_80D4FAC: @ 80D4FAC
- push {lr}
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000808
- adds r0, r1
- movs r1, 0x8
- bl sub_8122344
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4FAC
-
- thumb_func_start sub_80D4FC8
-sub_80D4FC8: @ 80D4FC8
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000808
- adds r0, r1
- movs r1, 0x8
- bl sub_81223FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4FC8
-
- thumb_func_start sub_80D4FEC
-sub_80D4FEC: @ 80D4FEC
- push {lr}
- adds r3, r0, 0
- lsls r3, 24
- ldr r0, =gUnknown_0203CE54
- ldr r0, [r0]
- ldr r1, =0x00000808
- adds r0, r1
- lsrs r3, 4
- movs r1, 0x80
- lsls r1, 13
- adds r3, r1
- lsrs r3, 16
- movs r1, 0x88
- movs r2, 0x78
- bl sub_8122448
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4FEC
-
- thumb_func_start sub_80D5018
-sub_80D5018: @ 80D5018
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r4, 0
- movs r1, 0
- bl memset
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- movs r7, 0
-_080D5036:
- adds r4, 0x20
- movs r5, 0
- adds r1, r7, 0x1
- mov r8, r1
-_080D503E:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl memcpy
- adds r4, 0x20
- adds r6, 0x20
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080D503E
- cmp r7, 0x5
- beq _080D505C
- adds r4, 0x20
-_080D505C:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _080D5036
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5018
-
- thumb_func_start sub_80D5070
-sub_80D5070: @ 80D5070
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0x2A
- bne _080D5082
- bl IsEnigmaBerryValid
-_080D5082:
- ldr r5, =gBerryPicTable
- lsls r4, 3
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp]
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, =0x00007544
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPalette
- adds r4, r5
- ldr r0, [r4]
- ldr r4, =0x0201d000
- adds r1, r4, 0
- bl LZDecompressWram
- ldr r0, =0xfffff000
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80D5018
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D5070
-
- thumb_func_start sub_80D50D4
-sub_80D50D4: @ 80D50D4
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl sub_80D5070
- ldr r0, =gUnknown_0857FBEC
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D50D4
-
- thumb_func_start sub_80D510C
-sub_80D510C: @ 80D510C
- push {lr}
- ldr r0, =0x00007544
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D510C
-
- thumb_func_start sub_80D511C
-sub_80D511C: @ 80D511C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =0x00007544
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl sub_80D5070
- ldr r0, =gUnknown_0857FC7C
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- mov r0, r8
- cmp r0, 0x1
- bne _080D5172
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080D5172:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D511C
-
- thumb_func_start sub_80D518C
-sub_80D518C: @ 80D518C
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_0857FE10
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x74
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D518C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/item_use.s b/asm/item_use.s
deleted file mode 100644
index 172080b16..000000000
--- a/asm/item_use.s
+++ /dev/null
@@ -1,2863 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpItemUseCallback
-@ void SetUpItemUseCallback(u8 taskId)
-SetUpItemUseCallback: @ 80FD060
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gSpecialVar_ItemId
- ldrh r0, [r1]
- cmp r0, 0xAF
- bne _080FD084
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x10]
- b _080FD08A
- .pool
-_080FD084:
- ldrh r0, [r1]
- bl ItemId_GetType
-_080FD08A:
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FD0B8
- ldr r0, =gUnknown_0203CE54
- ldr r2, [r0]
- ldr r1, =gUnknown_085920D8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- adds r0, r5, 0
- bl unknown_ItemMenu_Confirm
- b _080FD0CC
- .pool
-_080FD0B8:
- ldr r0, =gUnknown_0203CF2C
- ldr r2, [r0]
- ldr r1, =gUnknown_085920D8
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- adds r0, r5, 0
- bl sub_81C5B14
-_080FD0CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetUpItemUseCallback
-
- thumb_func_start SetUpItemUseOnFieldCallback
-@ void SetUpItemUseOnFieldCallback()
-SetUpItemUseOnFieldCallback: @ 80FD0DC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080FD110
- ldr r1, =gFieldCallback
- ldr r0, =MapPostLoadHook_UseItem
- str r0, [r1]
- adds r0, r2, 0
- bl SetUpItemUseCallback
- b _080FD11A
- .pool
-_080FD110:
- ldr r0, =gUnknown_0203A0F4
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
-_080FD11A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetUpItemUseOnFieldCallback
-
- thumb_func_start MapPostLoadHook_UseItem
-@ void MapPostLoadHook_UseItem()
-MapPostLoadHook_UseItem: @ 80FD124
- push {lr}
- bl pal_fill_black
- ldr r0, =Task_CallItemUseOnFieldCallback
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end MapPostLoadHook_UseItem
-
- thumb_func_start Task_CallItemUseOnFieldCallback
-@ void Task_CallItemUseOnFieldCallback(u8 taskId)
-Task_CallItemUseOnFieldCallback: @ 80FD13C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80ABDFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FD158
- ldr r0, =gUnknown_0203A0F4
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080FD158:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_CallItemUseOnFieldCallback
-
- thumb_func_start DisplayCannotUseItemMessage
-@ void DisplayCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField, u8 *str)
-DisplayCannotUseItemMessage: @ 80FD164
- push {r4-r6,lr}
- adds r4, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gStringVar4
- adds r0, r6, 0
- bl StringExpandPlaceholders
- cmp r4, 0
- bne _080FD1B4
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FD1A0
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl DisplayItemMessage
- b _080FD1BE
- .pool
-_080FD1A0:
- ldr r1, =gText_DadsAdvice
- ldr r2, =sub_81C6714
- adds r0, r5, 0
- bl DisplayItemMessageInBattlePyramid
- b _080FD1BE
- .pool
-_080FD1B4:
- ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField
- adds r0, r5, 0
- adds r1, r6, 0
- bl DisplayItemMessageOnField
-_080FD1BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayCannotUseItemMessage
-
- thumb_func_start DisplayDadsAdviceCannotUseItemMessage
-@ void DisplayDadsAdviceCannotUseItemMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
-DisplayDadsAdviceCannotUseItemMessage: @ 80FD1C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gText_DadsAdvice
- bl DisplayCannotUseItemMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayDadsAdviceCannotUseItemMessage
-
- thumb_func_start DisplayCannotDismountBikeMessage
-@ void DisplayCannotDismountBikeMessage(u8 taskId, bool8 isUsingRegisteredKeyItemOnField)
-DisplayCannotDismountBikeMessage: @ 80FD1E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gText_CantDismountBike
- bl DisplayCannotUseItemMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayCannotDismountBikeMessage
-
- thumb_func_start CleanUpAfterFailingToUseRegisteredKeyItemOnField
-@ void CleanUpAfterFailingToUseRegisteredKeyItemOnField(u8 taskId)
-CleanUpAfterFailingToUseRegisteredKeyItemOnField: @ 80FD1F8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80984F4
- bl ScriptContext2_Disable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end CleanUpAfterFailingToUseRegisteredKeyItemOnField
-
- thumb_func_start CheckIfItemIsTMHMOrEvolutionStone
-@ u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
-CheckIfItemIsTMHMOrEvolutionStone: @ 80FD21C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl ItemId_GetFieldFunc
- ldr r1, =ItemUseOutOfBattle_TMHM
- cmp r0, r1
- bne _080FD238
- movs r0, 0x1
- b _080FD24E
- .pool
-_080FD238:
- adds r0, r4, 0
- bl ItemId_GetFieldFunc
- ldr r1, =ItemUseOutOfBattle_EvolutionStone
- cmp r0, r1
- beq _080FD24C
- movs r0, 0
- b _080FD24E
- .pool
-_080FD24C:
- movs r0, 0x2
-_080FD24E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CheckIfItemIsTMHMOrEvolutionStone
-
- thumb_func_start sub_80FD254
-sub_80FD254: @ 80FD254
- push {lr}
- sub sp, 0x24
- mov r1, sp
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, =bag_menu_mail_related
- mov r0, sp
- movs r2, 0
- bl sub_8121478
- add sp, 0x24
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FD254
-
- thumb_func_start ItemUseOutOfBattle_Mail
-@ void ItemUseOutOfBattle_Mail(int taskId)
-ItemUseOutOfBattle_Mail: @ 80FD278
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CE54
- ldr r2, [r1]
- ldr r1, =sub_80FD254
- str r1, [r2]
- bl unknown_ItemMenu_Confirm
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_Mail
-
- thumb_func_start ItemUseOutOfBattle_Bike
-@ void ItemUseOutOfBattle_Bike(int taskId)
-ItemUseOutOfBattle_Bike: @ 80FD298
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =0x0000088b
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FD30E
- adds r0, r4, 0
- bl MetatileBehavior_IsVerticalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FD30E
- adds r0, r4, 0
- bl MetatileBehavior_IsHorizontalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FD30E
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedVerticalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FD30E
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedHorizontalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FD320
-_080FD30E:
- ldrb r1, [r6, 0x6]
- adds r0, r5, 0
- bl DisplayCannotDismountBikeMessage
- b _080FD350
- .pool
-_080FD320:
- bl sav1_map_is_biking_allowed
- cmp r0, 0x1
- bne _080FD348
- bl sub_8119FF8
- lsls r0, 24
- cmp r0, 0
- bne _080FD348
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =ItemUseOnFieldCB_Bike
- str r0, [r1]
- adds r0, r5, 0
- bl SetUpItemUseOnFieldCallback
- b _080FD350
- .pool
-_080FD348:
- ldrb r1, [r6, 0x6]
- adds r0, r5, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080FD350:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ItemUseOutOfBattle_Bike
-
- thumb_func_start ItemUseOnFieldCB_Bike
-ItemUseOnFieldCB_Bike: @ 80FD358
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetSecondaryId
- lsls r0, 24
- cmp r0, 0
- bne _080FD378
- movs r0, 0x2
- bl GetOnOffBike
- b _080FD37E
- .pool
-_080FD378:
- movs r0, 0x4
- bl GetOnOffBike
-_080FD37E:
- bl sub_80984F4
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemUseOnFieldCB_Bike
-
- thumb_func_start CanFish
-@ bool8 CanFish()
-CanFish: @ 80FD394
- push {r4-r6,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _080FD41C
- movs r0, 0x10
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080FD41C
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080FD3EC
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- cmp r0, 0
- beq _080FD41C
-_080FD3E8:
- movs r0, 0x1
- b _080FD41E
-_080FD3EC:
- adds r0, r5, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _080FD40C
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridIsImpassableAt
- lsls r0, 24
- cmp r0, 0
- beq _080FD3E8
-_080FD40C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl MetatileBehavior_8089510
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FD3E8
-_080FD41C:
- movs r0, 0
-_080FD41E:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CanFish
-
- thumb_func_start ItemUseOutOfBattle_Rod
-ItemUseOutOfBattle_Rod: @ 80FD428
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CanFish
- cmp r0, 0x1
- bne _080FD44C
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =ItemUseOnFieldCB_Rod
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080FD45E
- .pool
-_080FD44C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080FD45E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_Rod
-
- thumb_func_start ItemUseOnFieldCB_Rod
-ItemUseOnFieldCB_Rod: @ 80FD468
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetSecondaryId
- lsls r0, 24
- lsrs r0, 24
- bl StartFishing
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOnFieldCB_Rod
-
- thumb_func_start ItemUseOutOfBattle_Itemfinder
-ItemUseOutOfBattle_Itemfinder: @ 80FD490
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x27
- bl IncrementGameStat
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =ItemUseOnFieldCB_Itemfinder
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_Itemfinder
-
- thumb_func_start ItemUseOnFieldCB_Itemfinder
-ItemUseOnFieldCB_Itemfinder: @ 80FD4B8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0x4]
- adds r1, r4, 0
- bl ItemfinderCheckForHiddenItems
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FD4EC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80FD504
- str r0, [r1]
- b _080FD4F6
- .pool
-_080FD4EC:
- ldr r1, =gText_ItemFinderNothing
- ldr r2, =sub_80FD5CC
- adds r0, r4, 0
- bl DisplayItemMessageOnField
-_080FD4F6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOnFieldCB_Itemfinder
-
- thumb_func_start sub_80FD504
-sub_80FD504: @ 80FD504
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r4, r7, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FD5B8
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- bne _080FD5AC
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_80FD9B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080FD564
- ldr r1, =gUnknown_085920E4
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80FDA24
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_80FDA94
- str r1, [r0]
- b _080FD5C2
- .pool
-_080FD564:
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- adds r3, r6, 0
- ldr r7, =gUnknown_085920E4
- movs r6, 0x3
-_080FD574:
- adds r0, r1, r7
- adds r1, 0x1
- ldrb r0, [r0]
- cmp r2, r0
- bne _080FD584
- adds r0, r1, 0
- ands r0, r6
- strh r0, [r4, 0xA]
-_080FD584:
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080FD574
- ldr r1, =gTasks
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80FDADC
- str r1, [r0]
- movs r0, 0
- strh r0, [r4, 0x6]
- strh r0, [r4, 0x4]
- b _080FD5C2
- .pool
-_080FD5AC:
- movs r0, 0x48
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080FD5B8:
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r4, 0x6]
-_080FD5C2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD504
-
- thumb_func_start sub_80FD5CC
-sub_80FD5CC: @ 80FD5CC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- bl sub_80984F4
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD5CC
-
- thumb_func_start ItemfinderCheckForHiddenItems
-@ bool8 ItemfinderCheckForHiddenItems(struct map_events *events, u8 taskId)
-ItemfinderCheckForHiddenItems: @ 80FD5F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- movs r3, 0
- mov r9, r4
- ldrb r0, [r5, 0x3]
- cmp r3, r0
- bge _080FD6A4
- subs r1, 0x5
- mov r8, r1
-_080FD628:
- lsls r3, 16
- asrs r1, r3, 16
- ldr r2, [r5, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 2
- adds r1, r4, r2
- ldrb r0, [r1, 0x5]
- adds r7, r3, 0
- cmp r0, 0x7
- bne _080FD694
- movs r2, 0xFA
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r1, 0xA]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080FD694
- ldr r1, [r5, 0x10]
- adds r1, r4, r1
- ldrh r2, [r1]
- adds r2, 0x7
- mov r0, sp
- ldrh r0, [r0]
- subs r2, r0
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- mov r3, r9
- ldrh r1, [r3]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- asrs r1, r2, 16
- movs r3, 0xE0
- lsls r3, 11
- adds r2, r3
- lsrs r2, 16
- cmp r2, 0xE
- bhi _080FD694
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, r8
- blt _080FD694
- cmp r2, 0x5
- bgt _080FD694
- adds r0, r6, 0
- bl sub_80FD8E0
-_080FD694:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r3, r0, 16
- asrs r0, 16
- ldrb r2, [r5, 0x3]
- cmp r0, r2
- blt _080FD628
-_080FD6A4:
- adds r0, r6, 0
- bl sub_80FD7C8
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080FD6C4
- movs r0, 0
- b _080FD6C6
- .pool
-_080FD6C4:
- movs r0, 0x1
-_080FD6C6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ItemfinderCheckForHiddenItems
-
- thumb_func_start sub_80FD6D4
-sub_80FD6D4: @ 80FD6D4
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- ldrb r2, [r0, 0x3]
- ldr r5, [r0, 0x10]
- movs r1, 0
- cmp r1, r2
- bge _080FD728
- lsls r0, r3, 16
- asrs r6, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- adds r3, r5, 0
-_080FD6F2:
- ldrb r0, [r3, 0x5]
- cmp r0, 0x7
- bne _080FD720
- ldrh r0, [r3]
- cmp r6, r0
- bne _080FD720
- ldrh r0, [r3, 0x2]
- cmp r4, r0
- bne _080FD720
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r1, 0
- ldrh r3, [r3, 0xA]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080FD728
- movs r0, 0x1
- b _080FD72A
-_080FD720:
- adds r3, 0xC
- adds r1, 0x1
- cmp r1, r2
- blt _080FD6F2
-_080FD728:
- movs r0, 0
-_080FD72A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD6D4
-
- thumb_func_start sub_80FD730
-sub_80FD730: @ 80FD730
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl mapconnection_get_mapheader
- adds r3, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080FD758
- cmp r0, 0x2
- bgt _080FD74E
- cmp r0, 0x1
- beq _080FD76C
- b _080FD7AC
-_080FD74E:
- cmp r0, 0x3
- beq _080FD784
- cmp r0, 0x4
- beq _080FD78E
- b _080FD7AC
-_080FD758:
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- subs r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- subs r0, 0x7
- adds r0, r6
- b _080FD7A2
-_080FD76C:
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- subs r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- b _080FD79E
- .pool
-_080FD784:
- ldr r0, [r3]
- ldr r0, [r0]
- subs r0, 0x7
- adds r0, r5
- b _080FD798
-_080FD78E:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x7
- subs r0, r5, r0
-_080FD798:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, [r4, 0x4]
-_080FD79E:
- adds r0, 0x7
- subs r0, r6, r0
-_080FD7A2:
- lsls r0, 16
- lsrs r2, r0, 16
- b _080FD7B0
- .pool
-_080FD7AC:
- movs r0, 0
- b _080FD7C2
-_080FD7B0:
- ldr r0, [r3, 0x4]
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- bl sub_80FD6D4
- lsls r0, 24
- lsrs r0, 24
-_080FD7C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD730
-
- thumb_func_start sub_80FD7C8
-sub_80FD7C8: @ 80FD7C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, =gMapHeader
- ldr r1, [r0]
- ldr r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldr r0, [r1, 0x4]
- adds r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- adds r1, 0x7
- cmp r0, r1
- bgt _080FD8CC
-_080FD816:
- mov r5, sp
- ldrh r0, [r5, 0x2]
- subs r0, 0x5
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r2, r4, 16
- asrs r1, r2, 16
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- adds r0, 0x5
- lsls r3, 16
- mov r8, r3
- cmp r1, r0
- bgt _080FD8B6
- movs r0, 0x7
- str r0, [sp, 0x10]
- mov r1, r8
- asrs r1, 16
- mov r9, r1
- mov r10, r0
-_080FD83E:
- ldr r3, [sp, 0x10]
- cmp r3, r9
- bgt _080FD860
- ldr r5, [sp, 0x8]
- lsls r0, r5, 16
- asrs r0, 16
- cmp r9, r0
- bge _080FD860
- asrs r1, r2, 16
- cmp r10, r1
- bgt _080FD860
- ldr r6, [sp, 0xC]
- lsls r0, r6, 16
- asrs r0, 16
- lsls r7, r4, 16
- cmp r1, r0
- blt _080FD89E
-_080FD860:
- mov r0, r8
- asrs r5, r0, 16
- lsls r4, 16
- asrs r6, r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8088A8C
- adds r7, r4, 0
- cmp r0, 0
- beq _080FD89E
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80FD730
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FD89E
- mov r0, sp
- ldrh r1, [r0]
- subs r1, r5, r1
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x2]
- subs r2, r6, r2
- lsls r2, 16
- asrs r2, 16
- ldr r0, [sp, 0x4]
- bl sub_80FD8E0
-_080FD89E:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- lsls r2, r4, 16
- asrs r1, r2, 16
- mov r3, sp
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- adds r0, 0x5
- cmp r1, r0
- ble _080FD83E
-_080FD8B6:
- movs r1, 0x80
- lsls r1, 9
- add r1, r8
- lsrs r3, r1, 16
- asrs r1, 16
- mov r0, sp
- movs r6, 0
- ldrsh r0, [r0, r6]
- adds r0, 0x7
- cmp r1, r0
- ble _080FD816
-_080FD8CC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FD7C8
-
- thumb_func_start sub_80FD8E0
-sub_80FD8E0: @ 80FD8E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r12, r2
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r3, r1, r0
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080FD918
- strh r7, [r3]
- mov r0, r12
- strh r0, [r3, 0x2]
- movs r0, 0x1
- strh r0, [r3, 0x4]
- b _080FD9A2
- .pool
-_080FD918:
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bge _080FD928
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080FD92A
-_080FD928:
- ldrh r4, [r3]
-_080FD92A:
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- ldrh r1, [r3, 0x2]
- mov r9, r1
- cmp r0, 0
- bge _080FD93E
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- b _080FD940
-_080FD93E:
- ldrh r2, [r3, 0x2]
-_080FD940:
- lsls r1, r7, 16
- asrs r0, r1, 16
- cmp r0, 0
- bge _080FD950
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- b _080FD952
-_080FD950:
- lsrs r6, r1, 16
-_080FD952:
- mov r1, r12
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r1, 0
- bge _080FD964
- negs r0, r1
- lsls r0, 16
- b _080FD966
-_080FD964:
- mov r0, r8
-_080FD966:
- lsrs r5, r0, 16
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r2, 16
- asrs r2, r1, 16
- adds r4, r0, r2
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- adds r0, r1
- cmp r4, r0
- ble _080FD988
- strh r7, [r3]
- mov r1, r12
- strh r1, [r3, 0x2]
- b _080FD9A2
-_080FD988:
- cmp r4, r0
- bne _080FD9A2
- cmp r2, r1
- bgt _080FD99C
- cmp r2, r1
- bne _080FD9A2
- mov r1, r9
- lsls r0, r1, 16
- cmp r0, r8
- bge _080FD9A2
-_080FD99C:
- strh r7, [r3]
- mov r0, r12
- strh r0, [r3, 0x2]
-_080FD9A2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD8E0
-
- thumb_func_start sub_80FD9B0
-sub_80FD9B0: @ 80FD9B0
- push {r4,r5,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bne _080FD9C2
- cmp r1, 0
- beq _080FDA1C
-_080FD9C2:
- lsls r0, r2, 16
- asrs r2, r0, 16
- adds r5, r0, 0
- cmp r2, 0
- bge _080FD9D4
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- b _080FD9D6
-_080FD9D4:
- lsrs r4, r5, 16
-_080FD9D6:
- lsls r0, r1, 16
- asrs r2, r0, 16
- adds r1, r0, 0
- cmp r2, 0
- bge _080FD9E8
- negs r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- b _080FD9EA
-_080FD9E8:
- lsrs r3, r1, 16
-_080FD9EA:
- lsls r0, r4, 16
- asrs r2, r0, 16
- lsls r0, r3, 16
- asrs r0, 16
- cmp r2, r0
- ble _080FDA02
- cmp r5, 0
- bge _080FD9FE
- movs r0, 0x4
- b _080FDA1E
-_080FD9FE:
- movs r0, 0x2
- b _080FDA1E
-_080FDA02:
- cmp r2, r0
- bge _080FDA0C
- cmp r1, 0
- blt _080FDA14
- b _080FDA18
-_080FDA0C:
- cmp r2, r0
- bne _080FDA1C
- cmp r1, 0
- bge _080FDA18
-_080FDA14:
- movs r0, 0x1
- b _080FDA1E
-_080FDA18:
- movs r0, 0x3
- b _080FDA1E
-_080FDA1C:
- movs r0, 0
-_080FDA1E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD9B0
-
- thumb_func_start sub_80FDA24
-sub_80FDA24: @ 80FDA24
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, =gMapObjects
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnim
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl npc_sync_anim_pause_bits
- adds r0, r5, 0
- bl PlayerTurnInPlace
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDA24
-
- thumb_func_start sub_80FDA94
-sub_80FDA94: @ 80FDA94
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FDACA
- ldr r1, =gText_ItemFinderNearby
- ldr r2, =sub_80FD5CC
- adds r0, r4, 0
- bl DisplayItemMessageOnField
-_080FDACA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDA94
-
- thumb_func_start sub_80FDADC
-sub_80FDADC: @ 80FDADC
- 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, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FDB1C
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FDB50
-_080FDB1C:
- ldr r1, =gUnknown_085920E4
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80FDA24
- movs r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080FDB50
- ldr r1, =gText_ItemFinderOnTop
- ldr r2, =sub_80FD5CC
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_080FDB50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDADC
-
- thumb_func_start ItemUseOutOfBattle_PokeblockCase
-ItemUseOutOfBattle_PokeblockCase: @ 80FDB6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FDB98
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
- b _080FDBDA
- .pool
-_080FDB98:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r5, r1, r0
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080FDBC8
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r0, =sub_80FDBEC
- str r0, [r1]
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080FDBDA
- .pool
-_080FDBC8:
- ldr r0, =gFieldCallback
- ldr r1, =sub_80AF6D4
- str r1, [r0]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, =sub_80FDC00
- str r0, [r5]
-_080FDBDA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_PokeblockCase
-
- thumb_func_start sub_80FDBEC
-sub_80FDBEC: @ 80FDBEC
- push {lr}
- ldr r1, =bag_menu_mail_related
- movs r0, 0
- bl sub_81357FC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDBEC
-
- thumb_func_start sub_80FDC00
-sub_80FDC00: @ 80FDC00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FDC24
- bl overworld_free_bg_tilemaps
- ldr r1, =c2_exit_to_overworld_2_switch
- movs r0, 0
- bl sub_81357FC
- adds r0, r4, 0
- bl DestroyTask
-_080FDC24:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDC00
-
- thumb_func_start ItemUseOutOfBattle_CoinCase
-ItemUseOutOfBattle_CoinCase: @ 80FDC34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gStringVar1
- bl GetCoins
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_CoinCase
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080FDC90
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- b _080FDC9A
- .pool
-_080FDC90:
- ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField
- adds r0, r5, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
-_080FDC9A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_CoinCase
-
- thumb_func_start ItemUseOutOfBattle_PowderJar
-ItemUseOutOfBattle_PowderJar: @ 80FDCA4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gStringVar1
- bl sub_80247BC
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_PowderQty
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080FDCFC
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
- b _080FDD06
- .pool
-_080FDCFC:
- ldr r2, =CleanUpAfterFailingToUseRegisteredKeyItemOnField
- adds r0, r5, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
-_080FDD06:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_PowderJar
-
- thumb_func_start sub_80FDD10
-sub_80FDD10: @ 80FDD10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsPlayerFacingPlantedBerryTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FDD58
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =sub_80FDD74
- str r0, [r1]
- ldr r1, =gFieldCallback
- ldr r0, =MapPostLoadHook_UseItem
- str r0, [r1]
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- str r0, [r1]
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080FDD68
- .pool
-_080FDD58:
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetFieldFunc
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
-_080FDD68:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDD10
-
- thumb_func_start sub_80FDD74
-sub_80FDD74: @ 80FDD74
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- bl ScriptContext2_Enable
- ldr r0, =Route102_EventScript_274482
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDD74
-
- thumb_func_start ItemUseOutOfBattle_WailmerPail
-ItemUseOutOfBattle_WailmerPail: @ 80FDDA4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80FDE2C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FDDC8
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =sub_80FDE7C
- b _080FDDD8
- .pool
-_080FDDC8:
- bl TryToWaterBerryTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FDDEC
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =sub_80FDE08
-_080FDDD8:
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080FDDFE
- .pool
-_080FDDEC:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r5, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080FDDFE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_WailmerPail
-
- thumb_func_start sub_80FDE08
-sub_80FDE08: @ 80FDE08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- ldr r0, =Route102_EventScript_2744C0
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDE08
-
- thumb_func_start sub_80FDE2C
-sub_80FDE2C: @ 80FDE2C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, sp
- ldrh r0, [r0]
- ldrh r1, [r4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- beq _080FDE68
- ldr r0, =gMapObjects
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x5]
- cmp r0, 0xE4
- beq _080FDE70
-_080FDE68:
- movs r0, 0
- b _080FDE72
- .pool
-_080FDE70:
- movs r0, 0x1
-_080FDE72:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FDE2C
-
- thumb_func_start sub_80FDE7C
-sub_80FDE7C: @ 80FDE7C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- ldr r0, =BattleFrontier_OutsideEast_EventScript_242CFC
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDE7C
-
- thumb_func_start ItemUseOutOfBattle_Medicine
-ItemUseOutOfBattle_Medicine: @ 80FDEA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =ItemUseCB_Medicine
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_Medicine
-
- thumb_func_start ItemUseOutOfBattle_ReduceEV
-ItemUseOutOfBattle_ReduceEV: @ 80FDEBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =sub_81B67C8
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_ReduceEV
-
- thumb_func_start ItemUseOutOfBattle_SacredAsh
-ItemUseOutOfBattle_SacredAsh: @ 80FDED8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =sub_81B79E8
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_SacredAsh
-
- thumb_func_start ItemUseOutOfBattle_PPRecovery
-ItemUseOutOfBattle_PPRecovery: @ 80FDEF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =dp05_ether
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_PPRecovery
-
- thumb_func_start ItemUseOutOfBattle_PPUp
-ItemUseOutOfBattle_PPUp: @ 80FDF10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =dp05_pp_up
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_PPUp
-
- thumb_func_start ItemUseOutOfBattle_RareCandy
-ItemUseOutOfBattle_RareCandy: @ 80FDF2C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =dp05_rare_candy
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_RareCandy
-
- thumb_func_start ItemUseOutOfBattle_TMHM
-ItemUseOutOfBattle_TMHM: @ 80FDF48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r1, [r0]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bls _080FDF74
- ldr r2, =gText_BootedUpHM
- ldr r3, =sub_80FDF90
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FDF80
- .pool
-_080FDF74:
- ldr r2, =gText_BootedUpTM
- ldr r3, =sub_80FDF90
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
-_080FDF80:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_TMHM
-
- thumb_func_start sub_80FDF90
-sub_80FDF90: @ 80FDF90
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- bl PlaySE
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task08_0809AD8C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FDF90
-
- thumb_func_start task08_0809AD8C
-task08_0809AD8C: @ 80FDFBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080FE000
- ldr r4, =gStringVar1
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, =gStringVar4
- ldr r1, =gText_TMHMContainedVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r3, =sub_80FE024
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl DisplayItemMessage
-_080FE000:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task08_0809AD8C
-
- thumb_func_start sub_80FE024
-sub_80FE024: @ 80FE024
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_085920E8
- movs r1, 0x6
- bl bag_menu_yes_no
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE024
-
- thumb_func_start sub_80FE03C
-sub_80FE03C: @ 80FE03C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =sub_81B6DC4
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE03C
-
- thumb_func_start sub_80FE058
-sub_80FE058: @ 80FE058
- push {r4,lr}
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- ldrh r0, [r4]
- ldr r1, =gStringVar2
- bl CopyItemName
- ldr r0, =gStringVar4
- ldr r1, =gText_PlayerUsedVar2
- bl StringExpandPlaceholders
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE0AC
- ldrh r0, [r4]
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- bl sub_81AB9A8
- ldrh r0, [r4]
- bl ItemId_GetPocket
- lsls r0, 24
- lsrs r0, 24
- bl sub_81ABA88
- b _080FE0B4
- .pool
-_080FE0AC:
- bl sub_81C5924
- bl sub_81C59BC
-_080FE0B4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE058
-
- thumb_func_start ItemUseOutOfBattle_Repel
-ItemUseOutOfBattle_Repel: @ 80FE0BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =0x00004021
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080FE0EC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80FE124
- str r0, [r1]
- b _080FE116
- .pool
-_080FE0EC:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE10C
- ldr r2, =gText_RepelEffectsLingered
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE116
- .pool
-_080FE10C:
- ldr r1, =gText_RepelEffectsLingered
- ldr r2, =sub_81C6714
- adds r0, r5, 0
- bl DisplayItemMessageInBattlePyramid
-_080FE116:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_Repel
-
- thumb_func_start sub_80FE124
-sub_80FE124: @ 80FE124
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r5, =gTasks + 0x8
- adds r1, r4, r5
- ldrh r0, [r1, 0x10]
- adds r0, 0x1
- strh r0, [r1, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080FE156
- movs r0, 0
- strh r0, [r1, 0x10]
- movs r0, 0x2F
- bl PlaySE
- adds r0, r5, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, =sub_80FE164
- str r1, [r0]
-_080FE156:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE124
-
- thumb_func_start sub_80FE164
-sub_80FE164: @ 80FE164
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080FE1C2
- ldr r4, =0x00004021
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl ItemId_GetHoldEffectParam
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl VarSet
- bl sub_80FE058
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE1B8
- ldr r2, =gStringVar4
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r5, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE1C2
- .pool
-_080FE1B8:
- ldr r1, =gStringVar4
- ldr r2, =sub_81C6714
- adds r0, r6, 0
- bl DisplayItemMessageInBattlePyramid
-_080FE1C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE164
-
- thumb_func_start sub_80FE1D0
-sub_80FE1D0: @ 80FE1D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080FE226
- movs r0, 0x75
- bl PlaySE
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE21C
- ldr r2, =gStringVar4
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE226
- .pool
-_080FE21C:
- ldr r1, =gStringVar4
- ldr r2, =sub_81C6714
- adds r0, r5, 0
- bl DisplayItemMessageInBattlePyramid
-_080FE226:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE1D0
-
- thumb_func_start ItemUseOutOfBattle_BlackWhiteFlute
-ItemUseOutOfBattle_BlackWhiteFlute: @ 80FE234
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- ldr r1, =gStringVar2
- bl CopyItemName
- ldrh r0, [r4]
- cmp r0, 0x2B
- bne _080FE278
- ldr r0, =0x000008ad
- bl FlagSet
- ldr r0, =0x000008ae
- bl FlagClear
- ldr r0, =gStringVar4
- ldr r1, =gText_UsedVar2WildLured
- bl StringExpandPlaceholders
- b _080FE28C
- .pool
-_080FE278:
- ldr r0, =0x000008ae
- bl FlagSet
- ldr r0, =0x000008ad
- bl FlagClear
- ldr r0, =gStringVar4
- ldr r1, =gText_UsedVar2WildRepelled
- bl StringExpandPlaceholders
-_080FE28C:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x18]
- ldr r1, =sub_80FE1D0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_BlackWhiteFlute
-
- thumb_func_start task08_080A1C44
-task08_080A1C44: @ 80FE2BC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl player_avatar_init_params_reset
- bl sub_80B7CC8
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task08_080A1C44
-
- thumb_func_start re_escape_rope
-re_escape_rope: @ 80FE2D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl flagmods_08054D70
- bl sub_80FE058
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, =gStringVar4
- ldr r2, =task08_080A1C44
- adds r0, r4, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end re_escape_rope
-
- thumb_func_start sub_80FE314
-sub_80FE314: @ 80FE314
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080FE32C
- movs r0, 0
- b _080FE32E
- .pool
-_080FE32C:
- movs r0, 0x1
-_080FE32E:
- pop {r1}
- bx r1
- thumb_func_end sub_80FE314
-
- thumb_func_start ItemUseOutOfBattle_EscapeRope
-ItemUseOutOfBattle_EscapeRope: @ 80FE334
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80FE314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FE35C
- ldr r1, =gUnknown_0203A0F4
- ldr r0, =re_escape_rope
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080FE36E
- .pool
-_080FE35C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080FE36E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_EscapeRope
-
- thumb_func_start ItemUseOutOfBattle_EvolutionStone
-ItemUseOutOfBattle_EvolutionStone: @ 80FE378
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =sub_81B7C74
- str r1, [r2]
- bl SetUpItemUseCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_EvolutionStone
-
- thumb_func_start ItemUseInBattle_PokeBall
-ItemUseInBattle_PokeBall: @ 80FE394
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl IsPlayerPartyAndPokemonStorageFull
- lsls r0, 24
- cmp r0, 0
- bne _080FE3D0
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE3C8
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080FE3FA
- .pool
-_080FE3C8:
- adds r0, r4, 0
- bl sub_81C5B14
- b _080FE3FA
-_080FE3D0:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE3F0
- ldr r2, =gText_BoxFull
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE3FA
- .pool
-_080FE3F0:
- ldr r1, =gText_BoxFull
- ldr r2, =sub_81C6714
- adds r0, r5, 0
- bl DisplayItemMessageInBattlePyramid
-_080FE3FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseInBattle_PokeBall
-
- thumb_func_start sub_80FE408
-sub_80FE408: @ 80FE408
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080FE43A
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE434
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080FE43A
- .pool
-_080FE434:
- adds r0, r5, 0
- bl sub_81C5B14
-_080FE43A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE408
-
- thumb_func_start sub_80FE440
-sub_80FE440: @ 80FE440
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080FE4AC
- movs r0, 0x1
- bl PlaySE
- ldr r4, =gSpecialVar_ItemId
- ldrh r0, [r4]
- movs r1, 0x1
- bl RemoveBagItem
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE49C
- ldrh r0, [r4]
- bl sub_806CF78
- adds r2, r0, 0
- ldr r3, =sub_80FE408
- adds r0, r5, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE4AC
- .pool
-_080FE49C:
- ldrh r0, [r4]
- bl sub_806CF78
- adds r1, r0, 0
- ldr r2, =sub_80FE408
- adds r0, r6, 0
- bl DisplayItemMessageInBattlePyramid
-_080FE4AC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE440
-
- thumb_func_start ItemUseInBattle_StatIncrease
-ItemUseInBattle_StatIncrease: @ 80FE4B8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattlePartyID
- ldr r0, =gBankInMenu
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- bl ExecuteTableBasedItemEffect_
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080FE52C
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE518
- ldr r2, =gText_WontHaveEffect
- ldr r3, =bag_menu_inits_lists_menu
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE53C
- .pool
-_080FE518:
- ldr r1, =gText_WontHaveEffect
- ldr r2, =sub_81C6714
- adds r0, r4, 0
- bl DisplayItemMessageInBattlePyramid
- b _080FE53C
- .pool
-_080FE52C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80FE440
- str r0, [r1]
- strh r2, [r1, 0x18]
-_080FE53C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseInBattle_StatIncrease
-
- thumb_func_start sub_80FE54C
-sub_80FE54C: @ 80FE54C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE574
- ldr r0, =gUnknown_0203CE54
- ldr r1, [r0]
- ldr r0, =sub_81B89F0
- str r0, [r1]
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080FE582
- .pool
-_080FE574:
- ldr r0, =gUnknown_0203CF2C
- ldr r1, [r0]
- ldr r0, =sub_81B89F0
- str r0, [r1]
- adds r0, r4, 0
- bl sub_81C5B14
-_080FE582:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE54C
-
- thumb_func_start ItemUseInBattle_Medicine
-ItemUseInBattle_Medicine: @ 80FE590
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =ItemUseCB_Medicine
- str r1, [r2]
- bl sub_80FE54C
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseInBattle_Medicine
-
- thumb_func_start sub_80FE5AC
-sub_80FE5AC: @ 80FE5AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =sub_81B79E8
- str r1, [r2]
- bl sub_80FE54C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FE5AC
-
- thumb_func_start ItemUseInBattle_PPRecovery
-ItemUseInBattle_PPRecovery: @ 80FE5C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_03006328
- ldr r1, =dp05_ether
- str r1, [r2]
- bl sub_80FE54C
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseInBattle_PPRecovery
-
- thumb_func_start ItemUseInBattle_Escape
-ItemUseInBattle_Escape: @ 80FE5E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080FE634
- bl sub_80FE058
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- bne _080FE620
- ldr r2, =gStringVar4
- ldr r3, =unknown_ItemMenu_Confirm
- adds r0, r4, 0
- movs r1, 0x1
- bl DisplayItemMessage
- b _080FE646
- .pool
-_080FE620:
- ldr r1, =gStringVar4
- ldr r2, =sub_81C5B14
- adds r0, r4, 0
- bl DisplayItemMessageInBattlePyramid
- b _080FE646
- .pool
-_080FE634:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xE]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080FE646:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseInBattle_Escape
-
- thumb_func_start ItemUseOutOfBattle_EnigmaBerry
-ItemUseOutOfBattle_EnigmaBerry: @ 80FE650
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x14
- bls _080FE66A
- b _080FE75C
-_080FE66A:
- lsls r0, 2
- ldr r1, =_080FE67C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FE67C:
- .4byte _080FE708
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE75C
- .4byte _080FE75C
- .4byte _080FE6EC
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE6D0
- .4byte _080FE75C
- .4byte _080FE724
- .4byte _080FE724
- .4byte _080FE740
-_080FE6D0:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_Medicine
- b _080FE770
- .pool
-_080FE6EC:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_SacredAsh
- b _080FE770
- .pool
-_080FE708:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_RareCandy
- b _080FE770
- .pool
-_080FE724:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_PPUp
- b _080FE770
- .pool
-_080FE740:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_PPRecovery
- b _080FE770
- .pool
-_080FE75C:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x4
- strh r0, [r1, 0x10]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_CannotUse
-_080FE770:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_EnigmaBerry
-
- thumb_func_start ItemUseInBattle_EnigmaBerry
-ItemUseInBattle_EnigmaBerry: @ 80FE77C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- bl GetItemEffectType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _080FE814
- lsls r0, 2
- ldr r1, =_080FE7A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080FE7A4:
- .4byte _080FE7FC
- .4byte _080FE814
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE804
- .4byte _080FE814
- .4byte _080FE804
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE814
- .4byte _080FE80C
-_080FE7FC:
- adds r0, r4, 0
- bl ItemUseInBattle_StatIncrease
- b _080FE81A
-_080FE804:
- adds r0, r4, 0
- bl ItemUseInBattle_Medicine
- b _080FE81A
-_080FE80C:
- adds r0, r4, 0
- bl ItemUseInBattle_PPRecovery
- b _080FE81A
-_080FE814:
- adds r0, r4, 0
- bl ItemUseOutOfBattle_CannotUse
-_080FE81A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemUseInBattle_EnigmaBerry
-
- thumb_func_start ItemUseOutOfBattle_CannotUse
-ItemUseOutOfBattle_CannotUse: @ 80FE820
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r1, [r1, 0xE]
- bl DisplayDadsAdviceCannotUseItemMessage
- pop {r0}
- bx r0
- .pool
- thumb_func_end ItemUseOutOfBattle_CannotUse
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/landmark.s b/asm/landmark.s
deleted file mode 100644
index 12bb39885..000000000
--- a/asm/landmark.s
+++ /dev/null
@@ -1,128 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8145CF4
-sub_8145CF4: @ 8145CF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- bl sub_8145D48
- adds r4, r0, 0
- cmp r4, 0
- bne _08145D10
-_08145D0C:
- movs r0, 0
- b _08145D42
-_08145D10:
- ldr r6, =0x0000ffff
- b _08145D26
- .pool
-_08145D18:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08145D1E:
- adds r4, 0x4
- ldr r0, [r4]
- cmp r0, 0
- beq _08145D0C
-_08145D26:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- cmp r0, r6
- beq _08145D3A
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08145D1E
-_08145D3A:
- cmp r5, 0
- bne _08145D18
- ldr r0, [r4]
- ldr r0, [r0]
-_08145D42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8145CF4
-
- thumb_func_start sub_8145D48
-sub_8145D48: @ 8145D48
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r2, 0
- ldr r0, =gUnknown_085B91B8
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xD5
- beq _08145DB8
- adds r1, r4, 0
-_08145D60:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, r3
- bhi _08145DB8
- cmp r0, r3
- beq _08145D7E
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD5
- bne _08145D60
-_08145D7E:
- lsls r0, r2, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD5
- bne _08145D98
- b _08145DB8
- .pool
-_08145D90:
- adds r0, r4, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- b _08145DBA
-_08145D98:
- cmp r0, r3
- bne _08145DB8
- ldr r5, =gUnknown_085B91B8
-_08145D9E:
- lsls r1, r2, 3
- adds r0, r1, r5
- ldrb r0, [r0, 0x1]
- cmp r0, r6
- beq _08145D90
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r3
- beq _08145D9E
-_08145DB8:
- movs r0, 0
-_08145DBA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8145D48
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/learn_move.s b/asm/learn_move.s
index 159b16f7e..109f1a32e 100755..100644
--- a/asm/learn_move.s
+++ b/asm/learn_move.s
@@ -94,7 +94,7 @@ sub_81606A0: @ 81606A0
ldr r0, =gUnknown_085CEBB8
bl LoadSpritePalette
bl sub_81610B8
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4]
ldrh r2, [r4, 0x2]
bl ListMenuInit
@@ -151,7 +151,7 @@ sub_8160740: @ 8160740
ldr r0, =gUnknown_085CEBB8
bl LoadSpritePalette
bl sub_81610B8
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r4]
ldrh r2, [r4, 0x2]
bl ListMenuInit
@@ -175,14 +175,14 @@ sub_8160740: @ 8160740
thumb_func_start sub_81607EC
sub_81607EC: @ 81607EC
push {lr}
- bl sub_8121DA0
+ bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_085CEC28
movs r0, 0
movs r2, 0x2
bl InitBgsFromTemplates
- bl sub_8121E10
+ bl ResetAllBgsCoordinates
movs r1, 0x82
lsls r1, 5
movs r0, 0
@@ -353,7 +353,7 @@ _08160994:
b _08160E88
.pool
_081609A8:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -433,7 +433,7 @@ _08160A50:
b _08160E88
.pool
_08160A64:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -493,7 +493,7 @@ _08160ADC:
b _08160E88
.pool
_08160AEC:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -551,7 +551,7 @@ _08160B6C:
b _08160E88
.pool
_08160B80:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -713,7 +713,7 @@ _08160CD8:
b _08160E8A
_08160CE6:
bl sub_8160EA0
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
b _08160E8A
.pool
@@ -903,7 +903,7 @@ sub_8160EA0: @ 8160EA0
ldrb r0, [r0]
ldr r1, =gUnknown_0203BC38
adds r2, r1, 0x2
- bl sub_81AE6C8
+ bl DestroyListMenuTask
bl FreeAllWindowBuffers
ldr r0, [r4]
bl Free
@@ -980,7 +980,7 @@ sub_8160F50: @ 8160F50
lsls r4, 1
adds r0, r4
ldrb r0, [r0]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r5, r0, 0
ldr r0, [r6]
adds r0, r4
@@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50
ldr r4, =gUnknown_0203BC38
adds r2, r4, 0x2
adds r1, r4, 0
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
movs r0, 0x2
negs r0, r0
cmp r5, r0
@@ -1270,7 +1270,7 @@ _081611D4:
ldrb r0, [r0]
cmp r0, 0xFF
bne _08161210
- ldr r0, =gUnknown_0203CE8C
+ ldr r0, =gTempScrollArrowTemplate
adds r2, r0, 0
ldr r1, =gUnknown_085CEBD0
ldm r1!, {r3,r5,r6}
diff --git a/asm/librfu.s b/asm/librfu.s
index 5fc1b0d6f..82fba2202 100644
--- a/asm/librfu.s
+++ b/asm/librfu.s
@@ -33,35 +33,35 @@ _082E3EDC:
_082E3EE0:
cmp r7, 0
beq _082E3EEC
- ldr r3, _082E3EE8
+ ldr r3, =0x00000e64
b _082E3EEE
.align 2, 0
-_082E3EE8: .4byte 0x00000e64
+ .pool
_082E3EEC:
- ldr r3, _082E3EF8
+ ldr r3, =0x00000504
_082E3EEE:
cmp r2, r3
bcs _082E3EFC
movs r0, 0x1
b _082E3FB8
.align 2, 0
-_082E3EF8: .4byte 0x00000504
+ .pool
_082E3EFC:
- ldr r0, _082E3FC0
+ ldr r0, =gUnknown_03007890
str r4, [r0]
- ldr r1, _082E3FC4
+ ldr r1, =gUnknown_03007894
adds r0, r4, 0
adds r0, 0xB4
str r0, [r1]
- ldr r1, _082E3FC8
+ ldr r1, =gUnknown_03007898
adds r0, 0x28
str r0, [r1]
- ldr r2, _082E3FCC
+ ldr r2, =gUnknown_03007880
movs r1, 0xDE
lsls r1, 1
adds r0, r4, r1
str r0, [r2]
- ldr r1, _082E3FD0
+ ldr r1, =gUnknown_03007870
movs r3, 0xDF
lsls r3, 2
adds r0, r4, r3
@@ -88,10 +88,10 @@ _082E3F28:
lsrs r5, r0, 16
cmp r5, 0x3
bls _082E3F28
- ldr r0, _082E3FC8
+ ldr r0, =gUnknown_03007898
ldr r1, [r0]
adds r1, 0xDC
- ldr r4, _082E3FD0
+ ldr r4, =gUnknown_03007870
ldr r0, [r4, 0xC]
adds r0, 0x1C
str r0, [r1]
@@ -100,7 +100,7 @@ _082E3F28:
bl STWI_init_all
bl rfu_STC_clearAPIVariables
movs r5, 0
- ldr r3, _082E3FCC
+ ldr r3, =gUnknown_03007880
movs r2, 0
_082E3F6C:
lsls r1, r5, 2
@@ -117,16 +117,16 @@ _082E3F6C:
lsrs r5, r0, 16
cmp r5, 0x3
bls _082E3F6C
- ldr r4, _082E3FD4
+ ldr r4, =sub_82E53F4
movs r0, 0x2
negs r0, r0
ands r4, r0
- ldr r1, _082E3FC8
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r2, r0, 0
adds r2, 0x8
movs r3, 0x2F
- ldr r5, _082E3FD8
+ ldr r5, =0x0000ffff
_082E3F9C:
ldrh r0, [r4]
strh r0, [r2]
@@ -147,30 +147,24 @@ _082E3FB8:
pop {r1}
bx r1
.align 2, 0
-_082E3FC0: .4byte gUnknown_03007890
-_082E3FC4: .4byte gUnknown_03007894
-_082E3FC8: .4byte gUnknown_03007898
-_082E3FCC: .4byte gUnknown_03007880
-_082E3FD0: .4byte gUnknown_03007870
-_082E3FD4: .4byte sub_82E53F4
-_082E3FD8: .4byte 0x0000ffff
+ .pool
thumb_func_end rfu_initializeAPI
thumb_func_start rfu_STC_clearAPIVariables
rfu_STC_clearAPIVariables: @ 82E3FDC
push {r4-r7,lr}
sub sp, 0x4
- ldr r1, _082E4050
+ ldr r1, =0x04000208
ldrh r0, [r1]
adds r7, r0, 0
movs r6, 0
strh r6, [r1]
- ldr r5, _082E4054
+ ldr r5, =gUnknown_03007894
ldr r1, [r5]
ldrb r4, [r1]
mov r0, sp
strh r6, [r0]
- ldr r2, _082E4058
+ ldr r2, =0x01000014
bl CpuSet
ldr r2, [r5]
movs r0, 0x8
@@ -180,9 +174,9 @@ rfu_STC_clearAPIVariables: @ 82E3FDC
mov r0, sp
adds r0, 0x2
strh r1, [r0]
- ldr r4, _082E405C
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
- ldr r2, _082E4060
+ ldr r2, =0x0100005a
bl CpuSet
ldr r1, [r4]
movs r0, 0x4
@@ -208,30 +202,26 @@ _082E4030:
lsrs r2, r0, 24
cmp r2, 0x3
bls _082E4030
- ldr r0, _082E4050
+ ldr r0, =0x04000208
strh r7, [r0]
add sp, 0x4
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_082E4050: .4byte 0x04000208
-_082E4054: .4byte gUnknown_03007894
-_082E4058: .4byte 0x01000014
-_082E405C: .4byte gUnknown_03007890
-_082E4060: .4byte 0x0100005a
+ .pool
thumb_func_end rfu_STC_clearAPIVariables
thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
rfu_REQ_PARENT_resumeRetransmitAndChange: @ 82E4064
push {lr}
- ldr r0, _082E4074
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_ResumeRetransmitAndChangeREQ
pop {r0}
bx r0
.align 2, 0
-_082E4074: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
@@ -240,7 +230,7 @@ rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
adds r4, r0, 0
movs r0, 0
strb r0, [r4]
- ldr r5, _082E4090
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
ldrb r0, [r0]
cmp r0, 0x1
@@ -249,7 +239,7 @@ rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
lsls r0, 2
b _082E40BA
.align 2, 0
-_082E4090: .4byte gUnknown_03007890
+ .pool
_082E4094:
bl rfu_getSTWIRecvBuffer
adds r1, r0, 0
@@ -294,13 +284,13 @@ rfu_setTimerInterrupt: @ 82E40C0
thumb_func_start rfu_getSTWIRecvBuffer
rfu_getSTWIRecvBuffer: @ 82E40D4
- ldr r0, _082E40E0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
bx lr
.align 2, 0
-_082E40E0: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_getSTWIRecvBuffer
thumb_func_start rfu_setMSCCallback
@@ -315,7 +305,7 @@ rfu_setMSCCallback: @ 82E40E4
rfu_setREQCallback: @ 82E40F0
push {lr}
adds r1, r0, 0
- ldr r0, _082E4108
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
str r1, [r0]
negs r0, r1
@@ -325,7 +315,7 @@ rfu_setREQCallback: @ 82E40F0
pop {r0}
bx r0
.align 2, 0
-_082E4108: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_setREQCallback
thumb_func_start rfu_enableREQCallback
@@ -334,16 +324,16 @@ rfu_enableREQCallback: @ 82E410C
lsls r0, 24
cmp r0, 0
beq _082E4124
- ldr r0, _082E4120
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0x8
orrs r0, r1
b _082E412E
.align 2, 0
-_082E4120: .4byte gUnknown_03007894
+ .pool
_082E4124:
- ldr r0, _082E4134
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0xF7
@@ -353,7 +343,7 @@ _082E412E:
pop {r0}
bx r0
.align 2, 0
-_082E4134: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_enableREQCallback
thumb_func_start rfu_STC_REQ_callback
@@ -363,9 +353,9 @@ rfu_STC_REQ_callback: @ 82E4138
lsrs r5, r0, 24
lsls r1, 16
lsrs r4, r1, 16
- ldr r0, _082E416C
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
- ldr r0, _082E4170
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strh r4, [r0, 0x1C]
ldrb r1, [r0]
@@ -373,7 +363,7 @@ rfu_STC_REQ_callback: @ 82E4138
ands r0, r1
cmp r0, 0
beq _082E4166
- ldr r0, _082E4174
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
ldr r2, [r0]
adds r0, r5, 0
@@ -384,9 +374,7 @@ _082E4166:
pop {r0}
bx r0
.align 2, 0
-_082E416C: .4byte rfu_CB_defaultCallback
-_082E4170: .4byte gUnknown_03007894
-_082E4174: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_STC_REQ_callback
thumb_func_start rfu_CB_defaultCallback
@@ -398,21 +386,21 @@ rfu_CB_defaultCallback: @ 82E4178
lsrs r3, r1, 16
cmp r0, 0xFF
bne _082E41D4
- ldr r0, _082E41DC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _082E41A2
- ldr r0, _082E41E0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
ldr r2, [r0]
movs r0, 0xFF
adds r1, r3, 0
bl _call_via_r2
_082E41A2:
- ldr r0, _082E41E4
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -434,7 +422,7 @@ _082E41C2:
lsrs r4, r0, 24
cmp r4, 0x3
bls _082E41B0
- ldr r0, _082E41E4
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
movs r0, 0xFF
strb r0, [r1]
@@ -443,41 +431,39 @@ _082E41D4:
pop {r0}
bx r0
.align 2, 0
-_082E41DC: .4byte gUnknown_03007894
-_082E41E0: .4byte gUnknown_03007898
-_082E41E4: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_defaultCallback
thumb_func_start rfu_waitREQComplete
rfu_waitREQComplete: @ 82E41E8
push {lr}
bl STWI_poll_CommandEnd
- ldr r0, _082E41F8
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrh r0, [r0, 0x1C]
pop {r1}
bx r1
.align 2, 0
-_082E41F8: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_waitREQComplete
thumb_func_start rfu_REQ_RFUStatus
rfu_REQ_RFUStatus: @ 82E41FC
push {lr}
- ldr r0, _082E420C
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
pop {r0}
bx r0
.align 2, 0
-_082E420C: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_RFUStatus
thumb_func_start rfu_getRFUStatus
rfu_getRFUStatus: @ 82E4210
push {r4,r5,lr}
adds r4, r0, 0
- ldr r5, _082E4228
+ ldr r5, =gUnknown_03007898
ldr r0, [r5]
adds r0, 0xDC
ldr r0, [r0]
@@ -487,7 +473,7 @@ rfu_getRFUStatus: @ 82E4210
movs r0, 0x10
b _082E4246
.align 2, 0
-_082E4228: .4byte gUnknown_03007898
+ .pool
_082E422C:
bl STWI_poll_CommandEnd
lsls r0, 16
@@ -512,12 +498,11 @@ _082E4246:
thumb_func_start sub_82E424C
sub_82E424C: @ 82E424C
push {lr}
- ldr r2, _082E4254
- ldr r3, _082E4258
+ ldr r2, =gUnknown_089A324C
+ ldr r3, =gDma3Requests + 0xE0
b _082E4266
.align 2, 0
-_082E4254: .4byte gUnknown_089A324C
-_082E4258: .4byte gDma3Requests + 0xE0
+ .pool
thumb_func_end sub_82E424C
thumb_func_start sub_82E425C
@@ -546,17 +531,17 @@ _082E4274:
lsrs r1, r0, 24
cmp r1, 0x59
bls _082E4274
- ldr r0, _082E42B0
+ ldr r0, =gDma3Requests + 0xEA
ldrh r0, [r0]
cmp r3, r0
bne _082E42BC
movs r0, 0xC0
lsls r0, 18
- ldr r1, _082E42B4
+ ldr r1, =gUnknown_03007890
ldr r1, [r1]
movs r2, 0x5A
bl CpuSet
- ldr r0, _082E42B8
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2]
movs r0, 0x80
@@ -565,9 +550,7 @@ _082E4274:
movs r0, 0
b _082E42BE
.align 2, 0
-_082E42B0: .4byte gDma3Requests + 0xEA
-_082E42B4: .4byte gUnknown_03007890
-_082E42B8: .4byte gUnknown_03007894
+ .pool
_082E42BC:
movs r0, 0x1
_082E42BE:
@@ -578,35 +561,34 @@ _082E42BE:
thumb_func_start rfu_REQ_stopMode
rfu_REQ_stopMode: @ 82E42C4
push {lr}
- ldr r0, _082E42E4
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E42EC
movs r0, 0x3D
movs r1, 0x6
bl rfu_STC_REQ_callback
- ldr r0, _082E42E8
+ ldr r0, =gRfuState
ldr r1, [r0]
ldrh r0, [r1, 0x12]
movs r0, 0x6
strh r0, [r1, 0x12]
b _082E4362
.align 2, 0
-_082E42E4: .4byte 0x04000208
-_082E42E8: .4byte gRfuState
+ .pool
_082E42EC:
bl AgbRFU_SoftReset
bl rfu_STC_clearAPIVariables
movs r0, 0x8
bl sub_82E6D6C
- ldr r1, _082E433C
+ ldr r1, =0x00008001
cmp r0, r1
bne _082E4350
- ldr r0, _082E4340
+ ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0xA]
lsls r0, 2
- ldr r2, _082E4344
+ ldr r2, =0x04000100
adds r1, r0, r2
movs r0, 0
str r0, [r1]
@@ -615,8 +597,8 @@ _082E42EC:
str r0, [r1]
ldr r0, [r1]
lsls r0, 16
- ldr r2, _082E4348
- ldr r3, _082E434C
+ ldr r2, =0x0105ffff
+ ldr r3, =rfu_CB_stopMode
cmp r0, r2
bhi _082E432A
_082E4322:
@@ -632,13 +614,9 @@ _082E432A:
bl STWI_send_StopModeREQ
b _082E4362
.align 2, 0
-_082E433C: .4byte 0x00008001
-_082E4340: .4byte gRfuState
-_082E4344: .4byte 0x04000100
-_082E4348: .4byte 0x0105ffff
-_082E434C: .4byte rfu_CB_stopMode
+ .pool
_082E4350:
- ldr r1, _082E4368
+ ldr r1, =0x04000128
movs r2, 0x80
lsls r2, 6
adds r0, r2, 0
@@ -650,7 +628,7 @@ _082E4362:
pop {r0}
bx r0
.align 2, 0
-_082E4368: .4byte 0x04000128
+ .pool
thumb_func_end rfu_REQ_stopMode
thumb_func_start rfu_CB_stopMode
@@ -663,7 +641,7 @@ rfu_CB_stopMode: @ 82E436C
adds r2, r1, 0
cmp r2, 0
bne _082E4386
- ldr r1, _082E4394
+ ldr r1, =0x04000128
movs r4, 0x80
lsls r4, 6
adds r0, r4, 0
@@ -676,13 +654,13 @@ _082E4386:
pop {r0}
bx r0
.align 2, 0
-_082E4394: .4byte 0x04000128
+ .pool
thumb_func_end rfu_CB_stopMode
thumb_func_start rfu_REQBN_softReset_and_checkID
rfu_REQBN_softReset_and_checkID: @ 82E4398
push {lr}
- ldr r0, _082E43A8
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E43AC
@@ -690,7 +668,7 @@ rfu_REQBN_softReset_and_checkID: @ 82E4398
negs r0, r0
b _082E43CC
.align 2, 0
-_082E43A8: .4byte 0x04000208
+ .pool
_082E43AC:
bl AgbRFU_SoftReset
bl rfu_STC_clearAPIVariables
@@ -699,7 +677,7 @@ _082E43AC:
adds r2, r0, 0
cmp r2, 0
bne _082E43CA
- ldr r1, _082E43D0
+ ldr r1, =0x04000128
movs r3, 0x80
lsls r3, 6
adds r0, r3, 0
@@ -710,19 +688,19 @@ _082E43CC:
pop {r1}
bx r1
.align 2, 0
-_082E43D0: .4byte 0x04000128
+ .pool
thumb_func_end rfu_REQBN_softReset_and_checkID
thumb_func_start rfu_REQ_reset
rfu_REQ_reset: @ 82E43D4
push {lr}
- ldr r0, _082E43E4
+ ldr r0, =rfu_CB_reset
bl STWI_set_Callback_M
bl STWI_send_ResetREQ
pop {r0}
bx r0
.align 2, 0
-_082E43E4: .4byte rfu_CB_reset
+ .pool
thumb_func_end rfu_REQ_reset
thumb_func_start rfu_CB_reset
@@ -756,7 +734,7 @@ rfu_REQ_configSystem: @ 82E440C
lsrs r5, 24
lsls r2, 24
lsrs r6, r2, 24
- ldr r0, _082E4444
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
movs r0, 0x3
ands r4, r0
@@ -768,16 +746,15 @@ rfu_REQ_configSystem: @ 82E440C
bl STWI_send_SystemConfigREQ
cmp r6, 0
bne _082E444C
- ldr r0, _082E4448
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0x1
strh r0, [r1, 0x1A]
b _082E4466
.align 2, 0
-_082E4444: .4byte rfu_STC_REQ_callback
-_082E4448: .4byte gUnknown_03007894
+ .pool
_082E444C:
- ldr r5, _082E446C
+ ldr r5, =0x04000208
ldrh r4, [r5]
movs r0, 0
strh r0, [r5]
@@ -785,7 +762,7 @@ _082E444C:
lsls r0, 2
adds r1, r6, 0
bl Div
- ldr r1, _082E4470
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
strh r0, [r1, 0x1A]
strh r4, [r5]
@@ -794,8 +771,7 @@ _082E4466:
pop {r0}
bx r0
.align 2, 0
-_082E446C: .4byte 0x04000208
-_082E4470: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_REQ_configSystem
thumb_func_start rfu_REQ_configGameData
@@ -821,7 +797,7 @@ rfu_REQ_configGameData: @ 82E4474
strb r2, [r0, 0x1]
_082E449A:
movs r2, 0x2
- ldr r0, _082E44FC
+ ldr r0, =rfu_CB_configGameData
mov r12, r0
_082E44A0:
mov r3, sp
@@ -871,7 +847,7 @@ _082E44E6:
pop {r0}
bx r0
.align 2, 0
-_082E44FC: .4byte rfu_CB_configGameData
+ .pool
thumb_func_end rfu_REQ_configGameData
thumb_func_start rfu_CB_configGameData
@@ -884,10 +860,10 @@ rfu_CB_configGameData: @ 82E4500
lsrs r7, r1, 16
cmp r7, 0
bne _082E458A
- ldr r0, _082E4544
+ ldr r0, =gRfuState
ldr r0, [r0]
ldr r1, [r0, 0x24]
- ldr r0, _082E4548
+ ldr r0, =gUnknown_03007890
ldr r6, [r0]
ldrb r2, [r1, 0x4]
adds r5, r6, 0
@@ -911,8 +887,7 @@ rfu_CB_configGameData: @ 82E4500
movs r0, 0x1
b _082E4552
.align 2, 0
-_082E4544: .4byte gRfuState
-_082E4548: .4byte gUnknown_03007890
+ .pool
_082E454C:
adds r1, r6, 0
adds r1, 0x97
@@ -920,7 +895,7 @@ _082E454C:
_082E4552:
strb r0, [r1]
movs r2, 0
- ldr r3, _082E4598
+ ldr r3, =gUnknown_03007890
_082E4558:
ldr r0, [r3]
adds r0, 0x9A
@@ -935,7 +910,7 @@ _082E4558:
bls _082E4558
adds r4, 0x1
movs r2, 0
- ldr r3, _082E4598
+ ldr r3, =gUnknown_03007890
_082E4574:
ldr r0, [r3]
adds r0, 0xA9
@@ -956,15 +931,15 @@ _082E458A:
pop {r0}
bx r0
.align 2, 0
-_082E4598: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_configGameData
thumb_func_start rfu_REQ_startSearchChild
rfu_REQ_startSearchChild: @ 82E459C
push {r4,lr}
movs r1, 0
- ldr r4, _082E45E4
- ldr r3, _082E45E8
+ ldr r4, =rfu_CB_defaultCallback
+ ldr r3, =gUnknown_03007894
movs r2, 0
_082E45A6:
ldr r0, [r3]
@@ -984,7 +959,7 @@ _082E45A6:
lsrs r1, r0, 16
cmp r1, 0
bne _082E45F0
- ldr r0, _082E45EC
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -995,21 +970,19 @@ _082E45A6:
bl rfu_STC_clearLinkStatus
b _082E45F6
.align 2, 0
-_082E45E4: .4byte rfu_CB_defaultCallback
-_082E45E8: .4byte gUnknown_03007894
-_082E45EC: .4byte gUnknown_03007898
+ .pool
_082E45F0:
movs r0, 0x19
bl rfu_STC_REQ_callback
_082E45F6:
- ldr r0, _082E4608
+ ldr r0, =rfu_CB_startSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_StartREQ
pop {r4}
pop {r0}
bx r0
.align 2, 0
-_082E4608: .4byte rfu_CB_startSearchChild
+ .pool
thumb_func_end rfu_REQ_startSearchChild
thumb_func_start rfu_CB_startSearchChild
@@ -1022,7 +995,7 @@ rfu_CB_startSearchChild: @ 82E460C
adds r2, r1, 0
cmp r2, 0
bne _082E4624
- ldr r0, _082E4630
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1, 0x9]
@@ -1033,7 +1006,7 @@ _082E4624:
pop {r0}
bx r0
.align 2, 0
-_082E4630: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_startSearchChild
thumb_func_start rfu_STC_clearLinkStatus
@@ -1049,16 +1022,16 @@ rfu_STC_clearLinkStatus: @ 82E4634
mov r0, sp
movs r5, 0
strh r5, [r0]
- ldr r4, _082E4690
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
adds r1, 0x14
- ldr r2, _082E4694
+ ldr r2, =0x01000040
bl CpuSet
ldr r0, [r4]
strb r5, [r0, 0x8]
_082E465C:
movs r1, 0
- ldr r2, _082E4690
+ ldr r2, =gUnknown_03007890
adds r4, r2, 0
movs r3, 0
_082E4664:
@@ -1085,32 +1058,31 @@ _082E4664:
pop {r0}
bx r0
.align 2, 0
-_082E4690: .4byte gUnknown_03007890
-_082E4694: .4byte 0x01000040
+ .pool
thumb_func_end rfu_STC_clearLinkStatus
thumb_func_start rfu_REQ_pollSearchChild
rfu_REQ_pollSearchChild: @ 82E4698
push {lr}
- ldr r0, _082E46A8
+ ldr r0, =rfu_CB_pollAndEndSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E46A8: .4byte rfu_CB_pollAndEndSearchChild
+ .pool
thumb_func_end rfu_REQ_pollSearchChild
thumb_func_start rfu_REQ_endSearchChild
rfu_REQ_endSearchChild: @ 82E46AC
push {lr}
- ldr r0, _082E46BC
+ ldr r0, =rfu_CB_pollAndEndSearchChild
bl STWI_set_Callback_M
bl STWI_send_SC_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E46BC: .4byte rfu_CB_pollAndEndSearchChild
+ .pool
thumb_func_end rfu_REQ_endSearchChild
thumb_func_start rfu_CB_pollAndEndSearchChild
@@ -1126,13 +1098,13 @@ rfu_CB_pollAndEndSearchChild: @ 82E46C0
_082E46D2:
cmp r4, 0x1A
bne _082E4714
- ldr r5, _082E4708
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
adds r0, 0x94
ldrh r0, [r0]
cmp r0, 0
bne _082E4730
- ldr r0, _082E470C
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
@@ -1140,7 +1112,7 @@ _082E46D2:
cmp r0, 0
bne _082E4730
ldr r1, [r5]
- ldr r0, _082E4710
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1149,13 +1121,11 @@ _082E46D2:
strh r0, [r1]
b _082E4730
.align 2, 0
-_082E4708: .4byte gUnknown_03007890
-_082E470C: .4byte rfu_CB_defaultCallback
-_082E4710: .4byte gUnknown_03007898
+ .pool
_082E4714:
cmp r4, 0x1B
bne _082E4730
- ldr r0, _082E4740
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1]
cmp r0, 0xFF
@@ -1164,7 +1134,7 @@ _082E4714:
movs r0, 0
strh r0, [r1]
_082E4728:
- ldr r0, _082E4744
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0
strb r0, [r1, 0x9]
@@ -1176,8 +1146,7 @@ _082E4730:
pop {r0}
bx r0
.align 2, 0
-_082E4740: .4byte gUnknown_03007890
-_082E4744: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_pollAndEndSearchChild
thumb_func_start rfu_STC_readChildList
@@ -1185,7 +1154,7 @@ rfu_STC_readChildList: @ 82E4748
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _082E47F8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1193,9 +1162,9 @@ rfu_STC_readChildList: @ 82E4748
adds r6, r0, 0x4
cmp r7, 0
beq _082E47EE
- ldr r0, _082E47FC
+ ldr r0, =gUnknown_03007894
mov r8, r0
- ldr r1, _082E4800
+ ldr r1, =gUnknown_03007890
mov r12, r1
_082E4766:
ldrb r4, [r6, 0x2]
@@ -1274,21 +1243,19 @@ _082E47EE:
pop {r0}
bx r0
.align 2, 0
-_082E47F8: .4byte gUnknown_03007898
-_082E47FC: .4byte gUnknown_03007894
-_082E4800: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_readChildList
thumb_func_start rfu_REQ_startSearchParent
rfu_REQ_startSearchParent: @ 82E4804
push {lr}
- ldr r0, _082E4814
+ ldr r0, =rfu_CB_startSearchParent
bl STWI_set_Callback_M
bl STWI_send_SP_StartREQ
pop {r0}
bx r0
.align 2, 0
-_082E4814: .4byte rfu_CB_startSearchParent
+ .pool
thumb_func_end rfu_REQ_startSearchParent
thumb_func_start rfu_CB_startSearchParent
@@ -1315,13 +1282,13 @@ _082E482E:
thumb_func_start rfu_REQ_pollSearchParent
rfu_REQ_pollSearchParent: @ 82E483C
push {lr}
- ldr r0, _082E484C
+ ldr r0, =sub_82E4850
bl STWI_set_Callback_M
bl STWI_send_SP_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E484C: .4byte sub_82E4850
+ .pool
thumb_func_end rfu_REQ_pollSearchParent
thumb_func_start sub_82E4850
@@ -1347,13 +1314,13 @@ _082E4864:
thumb_func_start rfu_REQ_endSearchParent
rfu_REQ_endSearchParent: @ 82E4874
push {lr}
- ldr r0, _082E4884
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_SP_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E4884: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_endSearchParent
thumb_func_start rfu_STC_readParentCandidateList
@@ -1365,12 +1332,12 @@ rfu_STC_readParentCandidateList: @ 82E4888
mov r0, sp
movs r4, 0
strh r4, [r0]
- ldr r5, _082E4930
+ ldr r5, =gUnknown_03007890
ldr r1, [r5]
adds r1, 0x14
- ldr r2, _082E4934
+ ldr r2, =0x01000040
bl CpuSet
- ldr r0, _082E4938
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -1382,7 +1349,7 @@ rfu_STC_readParentCandidateList: @ 82E4888
cmp r7, 0
beq _082E498C
mov r12, r5
- ldr r0, _082E493C
+ ldr r0, =0x00007fff
mov r8, r0
_082E48BE:
subs r0, r7, 0x7
@@ -1444,10 +1411,7 @@ _082E48D8:
strb r0, [r4, 0x3]
b _082E4942
.align 2, 0
-_082E4930: .4byte gUnknown_03007890
-_082E4934: .4byte 0x01000040
-_082E4938: .4byte gUnknown_03007898
-_082E493C: .4byte 0x00007fff
+ .pool
_082E4940:
strb r3, [r4, 0x3]
_082E4942:
@@ -1507,7 +1471,7 @@ rfu_REQ_startConnectParent: @ 82E4998
lsrs r4, r0, 16
movs r3, 0
movs r2, 0
- ldr r1, _082E49E4
+ ldr r1, =gUnknown_03007890
ldr r0, [r1]
ldrh r0, [r0, 0x14]
cmp r0, r4
@@ -1533,18 +1497,16 @@ _082E49C4:
_082E49CC:
cmp r3, 0
bne _082E49F0
- ldr r0, _082E49E8
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strh r4, [r0, 0x1E]
- ldr r0, _082E49EC
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
adds r0, r4, 0
bl STWI_send_CP_StartREQ
b _082E49F8
.align 2, 0
-_082E49E4: .4byte gUnknown_03007890
-_082E49E8: .4byte gUnknown_03007894
-_082E49EC: .4byte rfu_STC_REQ_callback
+ .pool
_082E49F0:
movs r0, 0x1F
adds r1, r3, 0
@@ -1558,13 +1520,13 @@ _082E49F8:
thumb_func_start rfu_REQ_pollConnectParent
rfu_REQ_pollConnectParent: @ 82E4A00
push {lr}
- ldr r0, _082E4A10
+ ldr r0, =rfu_CB_pollConnectParent
bl STWI_set_Callback_M
bl STWI_send_CP_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E4A10: .4byte rfu_CB_pollConnectParent
+ .pool
thumb_func_end rfu_REQ_pollConnectParent
thumb_func_start rfu_CB_pollConnectParent
@@ -1583,7 +1545,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
str r1, [sp, 0x28]
cmp r1, 0
bne _082E4B16
- ldr r0, _082E4AD0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -1597,7 +1559,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
lsls r0, 17
lsls r0, r1
lsrs r2, r0, 24
- ldr r4, _082E4AD4
+ ldr r4, =gUnknown_03007890
ldr r3, [r4]
ldrb r1, [r3, 0x2]
adds r0, r2, 0
@@ -1621,7 +1583,7 @@ rfu_CB_pollConnectParent: @ 82E4A14
strb r0, [r1, 0x1]
ldr r0, [r4]
strb r2, [r0]
- ldr r3, _082E4AD8
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0x80
@@ -1656,17 +1618,14 @@ _082E4A92:
ldr r1, [r7]
adds r1, 0x14
adds r0, r6, 0
- ldr r2, _082E4ADC
+ ldr r2, =0x01000040
bl CpuSet
ldr r0, [r7]
mov r1, r8
strb r1, [r0, 0x8]
b _082E4AF4
.align 2, 0
-_082E4AD0: .4byte gUnknown_03007898
-_082E4AD4: .4byte gUnknown_03007890
-_082E4AD8: .4byte gUnknown_03007894
-_082E4ADC: .4byte 0x01000040
+ .pool
_082E4AE0:
adds r0, r4, 0
adds r0, 0x14
@@ -1682,7 +1641,7 @@ _082E4AEA:
_082E4AF4:
cmp r5, 0x3
bhi _082E4B16
- ldr r4, _082E4B30
+ ldr r4, =gUnknown_03007890
mov r0, r10
lsls r5, r0, 5
adds r0, r5, 0
@@ -1709,7 +1668,7 @@ _082E4B16:
pop {r0}
bx r0
.align 2, 0
-_082E4B30: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_pollConnectParent
thumb_func_start rfu_getConnectParentStatus
@@ -1718,7 +1677,7 @@ rfu_getConnectParentStatus: @ 82E4B34
adds r3, r0, 0
movs r0, 0xFF
strb r0, [r3]
- ldr r0, _082E4B54
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -1731,7 +1690,7 @@ rfu_getConnectParentStatus: @ 82E4B34
movs r0, 0x10
b _082E4B64
.align 2, 0
-_082E4B54: .4byte gUnknown_03007898
+ .pool
_082E4B58:
adds r2, 0x6
ldrb r0, [r2]
@@ -1747,17 +1706,17 @@ _082E4B64:
thumb_func_start rfu_REQ_endConnectParent
rfu_REQ_endConnectParent: @ 82E4B68
push {lr}
- ldr r0, _082E4B94
+ ldr r0, =rfu_CB_pollConnectParent
bl STWI_set_Callback_M
bl STWI_send_CP_EndREQ
- ldr r0, _082E4B98
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
ldrb r0, [r1, 0x6]
cmp r0, 0x3
bhi _082E4B90
- ldr r0, _082E4B9C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xA
ldrb r1, [r1, 0x6]
@@ -1768,21 +1727,19 @@ _082E4B90:
pop {r0}
bx r0
.align 2, 0
-_082E4B94: .4byte rfu_CB_pollConnectParent
-_082E4B98: .4byte gUnknown_03007898
-_082E4B9C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_REQ_endConnectParent
thumb_func_start rfu_syncVBlank
rfu_syncVBlank: @ 82E4BA0
push {r4,r5,lr}
bl rfu_NI_checkCommFailCounter
- ldr r0, _082E4BE8
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xFF
beq _082E4C78
- ldr r4, _082E4BEC
+ ldr r4, =gUnknown_03007894
ldr r1, [r4]
ldrb r0, [r1, 0x6]
cmp r0, 0
@@ -1810,8 +1767,7 @@ _082E4BBE:
strh r0, [r1, 0x20]
b _082E4BFA
.align 2, 0
-_082E4BE8: .4byte gUnknown_03007890
-_082E4BEC: .4byte gUnknown_03007894
+ .pool
_082E4BF0:
cmp r3, 0
beq _082E4C10
@@ -1822,16 +1778,16 @@ _082E4BFA:
cmp r3, 0
beq _082E4C10
_082E4BFE:
- ldr r3, _082E4C0C
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0xFD
ands r0, r1
b _082E4C1A
.align 2, 0
-_082E4C0C: .4byte gUnknown_03007894
+ .pool
_082E4C10:
- ldr r3, _082E4C6C
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r0, 0x2
@@ -1850,7 +1806,7 @@ _082E4C1A:
movs r0, 0xFB
ands r0, r1
strb r0, [r3]
- ldr r0, _082E4C70
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
ldrb r0, [r0, 0x3]
@@ -1872,15 +1828,14 @@ _082E4C54:
lsrs r4, r0, 24
cmp r4, 0x3
bls _082E4C42
- ldr r0, _082E4C70
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
movs r0, 0xFF
strb r0, [r1]
movs r0, 0x1
b _082E4C7A
.align 2, 0
-_082E4C6C: .4byte gUnknown_03007894
-_082E4C70: .4byte gUnknown_03007890
+ .pool
_082E4C74:
subs r0, 0x1
strh r0, [r3, 0x20]
@@ -1919,21 +1874,21 @@ rfu_REQBN_watchLink: @ 82E4C80
ldrb r0, [r2, 0xC]
ldr r2, [sp, 0x4]
strb r0, [r2]
- ldr r5, _082E4D20
+ ldr r5, =gUnknown_03007890
ldr r0, [r5]
ldrb r0, [r0]
cmp r0, 0xFF
bne _082E4CBE
b _082E504E
_082E4CBE:
- ldr r0, _082E4D24
+ ldr r0, =gRfuState
ldr r0, [r0]
ldrb r0, [r0, 0x14]
cmp r0, 0
bne _082E4CCA
b _082E504E
_082E4CCA:
- ldr r3, _082E4D28
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
ldrb r1, [r2]
movs r4, 0x4
@@ -1957,7 +1912,7 @@ _082E4CEE:
lsrs r0, 24
cmp r0, 0x29
bne _082E4D30
- ldr r0, _082E4D2C
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -1979,16 +1934,13 @@ _082E4D18:
str r2, [sp, 0x8]
b _082E4D88
.align 2, 0
-_082E4D20: .4byte gUnknown_03007890
-_082E4D24: .4byte gRfuState
-_082E4D28: .4byte gUnknown_03007894
-_082E4D2C: .4byte gUnknown_03007898
+ .pool
_082E4D30:
movs r0, 0x9B
lsls r0, 1
cmp r6, r0
bne _082E4D80
- ldr r0, _082E4DDC
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2011,7 +1963,7 @@ _082E4D56:
ands r0, r1
cmp r0, 0
beq _082E4D76
- ldr r0, _082E4DE0
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
adds r0, 0xA
adds r0, r5
@@ -2031,7 +1983,7 @@ _082E4D80:
bne _082E4D88
b _082E504E
_082E4D88:
- ldr r4, _082E4DDC
+ ldr r4, =gUnknown_03007898
ldr r0, [r4]
adds r0, 0xDC
ldr r0, [r0]
@@ -2039,7 +1991,7 @@ _082E4D88:
str r1, [sp, 0x10]
ldr r0, [r0, 0x4]
str r0, [sp, 0x14]
- ldr r0, _082E4DE4
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_LinkStatusREQ
bl STWI_poll_CommandEnd
@@ -2053,7 +2005,7 @@ _082E4D88:
ldr r0, [r0]
adds r2, r0, 0x4
movs r5, 0
- ldr r3, _082E4DE0
+ ldr r3, =gUnknown_03007890
_082E4DBC:
ldr r0, [r3]
adds r0, 0xA
@@ -2071,9 +2023,7 @@ _082E4DBC:
movs r5, 0
b _082E4DF4
.align 2, 0
-_082E4DDC: .4byte gUnknown_03007898
-_082E4DE0: .4byte gUnknown_03007890
-_082E4DE4: .4byte rfu_CB_defaultCallback
+ .pool
_082E4DE8:
movs r0, 0x11
ldr r1, [sp, 0xC]
@@ -2081,7 +2031,7 @@ _082E4DE8:
ldr r0, [sp, 0xC]
b _082E5050
_082E4DF4:
- ldr r1, _082E4E7C
+ ldr r1, =gUnknown_03007894
ldr r0, [r1]
adds r0, 0xE
adds r2, r0, r5
@@ -2091,7 +2041,7 @@ _082E4DF4:
beq _082E4E1A
subs r0, 0x4
strb r0, [r2]
- ldr r0, _082E4E80
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
adds r0, 0xA
adds r1, r0, r5
@@ -2115,7 +2065,7 @@ _082E4E2E:
ldr r2, [sp, 0x8]
cmp r2, 0x1
bne _082E4F10
- ldr r4, _082E4E80
+ ldr r4, =gUnknown_03007890
ldr r1, [r4]
ldrb r0, [r1, 0x2]
ands r0, r6
@@ -2152,15 +2102,14 @@ _082E4E2E:
strb r2, [r0]
b _082E4F10
.align 2, 0
-_082E4E7C: .4byte gUnknown_03007894
-_082E4E80: .4byte gUnknown_03007890
+ .pool
_082E4E84:
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
lsls r0, 16
cmp r0, 0
bne _082E4F10
- ldr r0, _082E4EB4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2177,9 +2126,9 @@ _082E4E84:
ldr r0, [sp]
b _082E4F0E
.align 2, 0
-_082E4EB4: .4byte gUnknown_03007898
+ .pool
_082E4EB8:
- ldr r2, _082E4F00
+ ldr r2, =gUnknown_03007894
ldr r1, [r2]
adds r1, 0xA
adds r1, r5
@@ -2214,7 +2163,7 @@ _082E4EB8:
strb r0, [r2]
b _082E4F10
.align 2, 0
-_082E4F00: .4byte gUnknown_03007894
+ .pool
_082E4F04:
ldr r0, [r3]
adds r0, 0xA
@@ -2224,7 +2173,7 @@ _082E4F04:
_082E4F0E:
strb r1, [r0]
_082E4F10:
- ldr r2, _082E4F70
+ ldr r2, =gUnknown_03007890
mov r12, r2
ldr r1, [r2]
ldrb r7, [r1]
@@ -2266,15 +2215,14 @@ _082E4F10:
ldrb r0, [r1, 0x1]
adds r0, 0x1
strb r0, [r1, 0x1]
- ldr r0, _082E4F74
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xA
adds r0, r5
strb r3, [r0]
b _082E5002
.align 2, 0
-_082E4F70: .4byte gUnknown_03007890
-_082E4F74: .4byte gUnknown_03007894
+ .pool
_082E4F78:
movs r0, 0
strb r0, [r4]
@@ -2287,7 +2235,7 @@ _082E4F7E:
bne _082E5002
bl STWI_send_SlotStatusREQ
bl STWI_poll_CommandEnd
- ldr r0, _082E4FC8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r2, [r0]
@@ -2302,7 +2250,7 @@ _082E4F7E:
ldrb r0, [r2, 0x2]
cmp r0, r5
bne _082E4FD0
- ldr r0, _082E4FCC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
lsls r1, r5, 1
adds r0, 0x12
@@ -2316,8 +2264,7 @@ _082E4F7E:
lsls r0, 24
b _082E4FFE
.align 2, 0
-_082E4FC8: .4byte gUnknown_03007898
-_082E4FCC: .4byte gUnknown_03007894
+ .pool
_082E4FD0:
adds r2, 0x4
subs r0, r3, 0x1
@@ -2329,7 +2276,7 @@ _082E4FD0:
ldrb r0, [r2, 0x2]
cmp r0, r5
bne _082E4FD0
- ldr r0, _082E5060
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
lsls r1, r5, 1
adds r0, 0x12
@@ -2346,7 +2293,7 @@ _082E4FFE:
lsrs r0, 24
mov r9, r0
_082E5002:
- ldr r0, _082E5064
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r1, [r0, 0x2]
mov r2, r8
@@ -2373,7 +2320,7 @@ _082E5028:
bl STWI_send_DisconnectREQ
bl STWI_poll_CommandEnd
_082E5038:
- ldr r1, _082E5068
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r0, 0xDC
ldr r0, [r0]
@@ -2396,9 +2343,7 @@ _082E5050:
pop {r1}
bx r1
.align 2, 0
-_082E5060: .4byte gUnknown_03007894
-_082E5064: .4byte gUnknown_03007890
-_082E5068: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_REQBN_watchLink
thumb_func_start rfu_STC_removeLinkData
@@ -2416,13 +2361,13 @@ rfu_STC_removeLinkData: @ 82E506C
lsls r0, 17
lsls r0, r7
lsrs r6, r0, 24
- ldr r0, _082E511C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
adds r0, 0xE
adds r0, r7
movs r1, 0
strb r1, [r0]
- ldr r1, _082E5120
+ ldr r1, =gUnknown_03007890
ldr r4, [r1]
ldrb r0, [r4, 0x2]
ands r0, r6
@@ -2449,7 +2394,7 @@ _082E50AA:
strb r0, [r2, 0x3]
ldr r3, [r3]
ldr r0, [r3]
- ldr r1, _082E5124
+ ldr r1, =0x00ff00ff
ands r0, r1
cmp r0, 0
bne _082E50D2
@@ -2468,7 +2413,7 @@ _082E50D2:
mov r2, r8
ldr r1, [r2]
adds r1, r0
- ldr r2, _082E5128
+ ldr r2, =0x01000010
mov r0, sp
bl CpuSet
mov r0, r8
@@ -2494,10 +2439,7 @@ _082E5110:
pop {r0}
bx r0
.align 2, 0
-_082E511C: .4byte gUnknown_03007894
-_082E5120: .4byte gUnknown_03007890
-_082E5124: .4byte 0x00ff00ff
-_082E5128: .4byte 0x01000010
+ .pool
thumb_func_end rfu_STC_removeLinkData
thumb_func_start rfu_REQ_disconnect
@@ -2505,7 +2447,7 @@ rfu_REQ_disconnect: @ 82E512C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- ldr r2, _082E5170
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -2513,7 +2455,7 @@ rfu_REQ_disconnect: @ 82E512C
ands r0, r4
cmp r0, 0
beq _082E51B0
- ldr r0, _082E5174
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
strb r4, [r1, 0x5]
ldr r2, [r2]
@@ -2536,14 +2478,13 @@ rfu_REQ_disconnect: @ 82E512C
bl rfu_CB_disconnect
b _082E51B0
.align 2, 0
-_082E5170: .4byte gUnknown_03007890
-_082E5174: .4byte gUnknown_03007894
+ .pool
_082E5178:
ldr r0, [r3]
ldrb r0, [r0, 0x9]
cmp r0, 0
beq _082E51A4
- ldr r0, _082E51A0
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SC_EndREQ
bl STWI_poll_CommandEnd
@@ -2555,9 +2496,9 @@ _082E5178:
bl rfu_STC_REQ_callback
b _082E51B0
.align 2, 0
-_082E51A0: .4byte rfu_CB_defaultCallback
+ .pool
_082E51A4:
- ldr r0, _082E51B8
+ ldr r0, =rfu_CB_disconnect
bl STWI_set_Callback_M
adds r0, r4, 0
bl STWI_send_DisconnectREQ
@@ -2566,7 +2507,7 @@ _082E51B0:
pop {r0}
bx r0
.align 2, 0
-_082E51B8: .4byte rfu_CB_disconnect
+ .pool
thumb_func_end rfu_REQ_disconnect
thumb_func_start rfu_CB_disconnect
@@ -2578,19 +2519,19 @@ rfu_CB_disconnect: @ 82E51BC
lsrs r5, r1, 16
cmp r5, 0x3
bne _082E51F8
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0
bne _082E51F8
- ldr r0, _082E5290
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SystemStatusREQ
bl STWI_poll_CommandEnd
lsls r0, 16
cmp r0, 0
bne _082E51F8
- ldr r0, _082E5294
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
@@ -2599,9 +2540,9 @@ rfu_CB_disconnect: @ 82E51BC
bne _082E51F8
movs r5, 0
_082E51F8:
- ldr r3, _082E5298
+ ldr r3, =gUnknown_03007894
ldr r2, [r3]
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0x2]
ldrb r1, [r1, 0x3]
@@ -2609,7 +2550,7 @@ _082E51F8:
ldrb r1, [r2, 0x5]
ands r0, r1
strb r0, [r2, 0x5]
- ldr r0, _082E5294
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -2624,7 +2565,7 @@ _082E5220:
lsls r0, 17
lsls r0, r4
lsrs r0, 24
- ldr r1, _082E5298
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldrb r1, [r1, 0x5]
ands r0, r1
@@ -2640,7 +2581,7 @@ _082E523C:
cmp r4, 0x3
bls _082E5220
_082E5246:
- ldr r0, _082E528C
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2, 0x2]
ldrb r0, [r2, 0x3]
@@ -2653,12 +2594,12 @@ _082E5258:
adds r0, r6, 0
adds r1, r5, 0
bl rfu_STC_REQ_callback
- ldr r0, _082E5298
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r0, [r0, 0x9]
cmp r0, 0
beq _082E5286
- ldr r0, _082E5290
+ ldr r0, =rfu_CB_defaultCallback
bl STWI_set_Callback_M
bl STWI_send_SC_StartREQ
bl STWI_poll_CommandEnd
@@ -2673,10 +2614,7 @@ _082E5286:
pop {r0}
bx r0
.align 2, 0
-_082E528C: .4byte gUnknown_03007890
-_082E5290: .4byte rfu_CB_defaultCallback
-_082E5294: .4byte gUnknown_03007898
-_082E5298: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_disconnect
thumb_func_start rfu_REQ_CHILD_startConnectRecovery
@@ -2684,13 +2622,13 @@ rfu_REQ_CHILD_startConnectRecovery: @ 82E529C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E52EC
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r5, [r0, 0x5]
movs r4, 0
movs r0, 0x1
ands r0, r5
- ldr r2, _082E52F0
+ ldr r2, =rfu_STC_REQ_callback
cmp r0, 0
bne _082E52CA
movs r1, 0x1
@@ -2708,7 +2646,7 @@ _082E52B6:
_082E52CA:
adds r0, r2, 0
bl STWI_set_Callback_M
- ldr r0, _082E52F4
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
lsls r0, r4, 5
adds r0, r1, r0
@@ -2721,21 +2659,19 @@ _082E52CA:
pop {r0}
bx r0
.align 2, 0
-_082E52EC: .4byte gUnknown_03007894
-_082E52F0: .4byte rfu_STC_REQ_callback
-_082E52F4: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_REQ_CHILD_startConnectRecovery
thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
rfu_REQ_CHILD_pollConnectRecovery: @ 82E52F8
push {lr}
- ldr r0, _082E5308
+ ldr r0, =rfu_CB_CHILD_pollConnectRecovery
bl STWI_set_Callback_M
bl STWI_send_CPR_PollingREQ
pop {r0}
bx r0
.align 2, 0
-_082E5308: .4byte rfu_CB_CHILD_pollConnectRecovery
+ .pool
thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
thumb_func_start rfu_CB_CHILD_pollConnectRecovery
@@ -2750,20 +2686,20 @@ rfu_CB_CHILD_pollConnectRecovery: @ 82E530C
lsrs r7, r1, 16
cmp r7, 0
bne _082E5390
- ldr r0, _082E53A4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
ldrb r0, [r0, 0x4]
cmp r0, 0
bne _082E5390
- ldr r0, _082E53A8
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
ldrb r1, [r1, 0x5]
adds r6, r0, 0
cmp r1, 0
beq _082E5390
- ldr r1, _082E53AC
+ ldr r1, =gUnknown_03007890
ldr r0, [r1]
strb r7, [r0]
movs r4, 0
@@ -2818,9 +2754,7 @@ _082E5390:
pop {r0}
bx r0
.align 2, 0
-_082E53A4: .4byte gUnknown_03007898
-_082E53A8: .4byte gUnknown_03007894
-_082E53AC: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_CHILD_pollConnectRecovery
thumb_func_start rfu_CHILD_getConnectRecoveryStatus
@@ -2829,7 +2763,7 @@ rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
adds r2, r0, 0
movs r0, 0xFF
strb r0, [r2]
- ldr r0, _082E53D0
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -2842,7 +2776,7 @@ rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
movs r0, 0x10
b _082E53DA
.align 2, 0
-_082E53D0: .4byte gUnknown_03007898
+ .pool
_082E53D4:
ldrb r0, [r1, 0x4]
strb r0, [r2]
@@ -2855,13 +2789,13 @@ _082E53DA:
thumb_func_start rfu_REQ_CHILD_endConnectRecovery
rfu_REQ_CHILD_endConnectRecovery: @ 82E53E0
push {lr}
- ldr r0, _082E53F0
+ ldr r0, =rfu_CB_CHILD_pollConnectRecovery
bl STWI_set_Callback_M
bl STWI_send_CPR_EndREQ
pop {r0}
bx r0
.align 2, 0
-_082E53F0: .4byte rfu_CB_CHILD_pollConnectRecovery
+ .pool
thumb_func_end rfu_REQ_CHILD_endConnectRecovery
thumb_func_start sub_82E53F4
@@ -2905,12 +2839,12 @@ rfu_REQ_changeMasterSlave: @ 82E5424
lsrs r0, 16
cmp r0, 0x1
bne _082E5444
- ldr r0, _082E5440
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
bl STWI_send_MS_ChangeREQ
b _082E544C
.align 2, 0
-_082E5440: .4byte rfu_STC_REQ_callback
+ .pool
_082E5444:
movs r0, 0x27
movs r1, 0
@@ -2929,7 +2863,7 @@ rfu_getMasterSlave: @ 82E5450
lsrs r2, r0, 24
cmp r2, 0x1
bne _082E547E
- ldr r0, _082E5484
+ ldr r0, =gRfuState
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x2C
@@ -2950,7 +2884,7 @@ _082E547E:
pop {r1}
bx r1
.align 2, 0
-_082E5484: .4byte gRfuState
+ .pool
thumb_func_end rfu_getMasterSlave
thumb_func_start rfu_clearAllSlot
@@ -2959,7 +2893,7 @@ rfu_clearAllSlot: @ 82E5488
mov r7, r8
push {r7}
sub sp, 0x4
- ldr r1, _082E550C
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r8, r0
movs r0, 0
@@ -2972,21 +2906,21 @@ rfu_clearAllSlot: @ 82E5488
_082E54A4:
mov r0, sp
strh r7, [r0]
- ldr r0, _082E5510
+ ldr r0, =gUnknown_03007880
lsls r4, r5, 2
adds r0, r4, r0
ldr r1, [r0]
mov r0, sp
- ldr r2, _082E5514
+ ldr r2, =0x01000034
bl CpuSet
strh r7, [r6]
- ldr r0, _082E5518
+ ldr r0, =gUnknown_03007870
adds r4, r0
ldr r1, [r4]
adds r0, r6, 0
- ldr r2, _082E551C
+ ldr r2, =0x0100000a
bl CpuSet
- ldr r3, _082E5520
+ ldr r3, =gUnknown_03007890
ldr r0, [r3]
adds r0, 0x10
adds r0, r5
@@ -3007,10 +2941,10 @@ _082E54A4:
strb r1, [r0, 0x5]
ldr r0, [r3]
strb r1, [r0, 0x6]
- ldr r0, _082E5524
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r1, [r0, 0x2]
- ldr r0, _082E550C
+ ldr r0, =0x04000208
mov r1, r8
strh r1, [r0]
add sp, 0x4
@@ -3020,13 +2954,7 @@ _082E54A4:
pop {r0}
bx r0
.align 2, 0
-_082E550C: .4byte 0x04000208
-_082E5510: .4byte gUnknown_03007880
-_082E5514: .4byte 0x01000034
-_082E5518: .4byte gUnknown_03007870
-_082E551C: .4byte 0x0100000a
-_082E5520: .4byte gUnknown_03007890
-_082E5524: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_clearAllSlot
thumb_func_start rfu_STC_releaseFrame
@@ -3038,14 +2966,14 @@ rfu_STC_releaseFrame: @ 82E5528
adds r5, r2, 0
lsls r1, 24
lsrs r3, r1, 24
- ldr r0, _082E5560
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _082E5568
- ldr r6, _082E5564
+ ldr r6, =gUnknown_03007890
cmp r3, 0
bne _082E5554
ldr r1, [r6]
@@ -3060,10 +2988,9 @@ _082E5554:
strb r0, [r1, 0xF]
b _082E5588
.align 2, 0
-_082E5560: .4byte gUnknown_03007894
-_082E5564: .4byte gUnknown_03007890
+ .pool
_082E5568:
- ldr r6, _082E5590
+ ldr r6, =gUnknown_03007890
cmp r3, 0
bne _082E557C
ldr r1, [r6]
@@ -3085,7 +3012,7 @@ _082E5588:
pop {r0}
bx r0
.align 2, 0
-_082E5590: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_releaseFrame
thumb_func_start rfu_clearSlot
@@ -3116,7 +3043,7 @@ _082E55B4:
lsls r0, 3
b _082E572C
_082E55C4:
- ldr r1, _082E5608
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r10, r0
movs r0, 0
@@ -3127,7 +3054,7 @@ _082E55C4:
cmp r0, 0
beq _082E568C
movs r3, 0
- ldr r1, _082E560C
+ ldr r1, =gUnknown_03007880
lsls r0, r7, 2
adds r0, r1
mov r9, r0
@@ -3142,7 +3069,7 @@ _082E55E2:
beq _082E5634
mov r2, r9
ldr r4, [r2]
- ldr r0, _082E5610
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
adds r0, r4, 0
adds r0, 0x2C
@@ -3152,9 +3079,7 @@ _082E55E2:
strb r0, [r2, 0x4]
b _082E5634
.align 2, 0
-_082E5608: .4byte 0x04000208
-_082E560C: .4byte gUnknown_03007880
-_082E5610: .4byte gUnknown_03007890
+ .pool
_082E5614:
movs r0, 0x8
mov r1, r8
@@ -3165,7 +3090,7 @@ _082E5614:
ldr r0, [r2]
adds r4, r0, 0
adds r4, 0x34
- ldr r0, _082E56C8
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
movs r1, 0x1
lsls r1, r7
@@ -3212,7 +3137,7 @@ _082E5674:
strh r0, [r1]
mov r0, sp
adds r1, r4, 0
- ldr r2, _082E56CC
+ ldr r2, =0x0100001a
bl CpuSet
_082E5684:
lsls r0, r6, 16
@@ -3225,7 +3150,7 @@ _082E568C:
ands r0, r4
cmp r0, 0
beq _082E5702
- ldr r1, _082E56D0
+ ldr r1, =gUnknown_03007870
lsls r0, r7, 2
adds r0, r1
ldr r3, [r0]
@@ -3235,14 +3160,14 @@ _082E568C:
ands r0, r1
cmp r0, 0
beq _082E56F4
- ldr r0, _082E56D4
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r1, [r0]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _082E56D8
- ldr r2, _082E56C8
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
ldrb r0, [r1, 0xF]
adds r0, 0x3
@@ -3251,12 +3176,9 @@ _082E568C:
strb r0, [r1, 0xF]
b _082E56EA
.align 2, 0
-_082E56C8: .4byte gUnknown_03007890
-_082E56CC: .4byte 0x0100001a
-_082E56D0: .4byte gUnknown_03007870
-_082E56D4: .4byte gUnknown_03007894
+ .pool
_082E56D8:
- ldr r2, _082E573C
+ ldr r2, =gUnknown_03007890
ldr r1, [r2]
adds r1, 0x10
adds r1, r7
@@ -3275,7 +3197,7 @@ _082E56F4:
mov r0, sp
movs r1, 0
strh r1, [r0]
- ldr r2, _082E5740
+ ldr r2, =0x01000006
adds r1, r3, 0
bl CpuSet
_082E5702:
@@ -3287,16 +3209,16 @@ _082E5702:
mov r1, sp
movs r0, 0
strh r0, [r1]
- ldr r1, _082E5744
+ ldr r1, =gUnknown_03007870
lsls r0, r7, 2
adds r0, r1
ldr r1, [r0]
adds r1, 0xC
- ldr r2, _082E5748
+ ldr r2, =0x01000004
mov r0, sp
bl CpuSet
_082E5724:
- ldr r0, _082E574C
+ ldr r0, =0x04000208
mov r2, r10
strh r2, [r0]
movs r0, 0
@@ -3310,11 +3232,7 @@ _082E572C:
pop {r1}
bx r1
.align 2, 0
-_082E573C: .4byte gUnknown_03007890
-_082E5740: .4byte 0x01000006
-_082E5744: .4byte gUnknown_03007870
-_082E5748: .4byte 0x01000004
-_082E574C: .4byte 0x04000208
+ .pool
thumb_func_end rfu_clearSlot
thumb_func_start rfu_setRecvBuffer
@@ -3338,7 +3256,7 @@ _082E576C:
ands r0, r3
cmp r0, 0
beq _082E5788
- ldr r0, _082E5784
+ ldr r0, =gUnknown_03007880
lsls r1, 2
adds r1, r0
ldr r0, [r1]
@@ -3346,7 +3264,7 @@ _082E576C:
str r6, [r0, 0x6C]
b _082E57A2
.align 2, 0
-_082E5784: .4byte gUnknown_03007880
+ .pool
_082E5788:
movs r0, 0x10
ands r2, r0
@@ -3356,7 +3274,7 @@ _082E5788:
lsls r0, 3
b _082E57A4
_082E5796:
- ldr r0, _082E57AC
+ ldr r0, =gUnknown_03007870
lsls r1, r4, 2
adds r1, r0
ldr r0, [r1]
@@ -3369,7 +3287,7 @@ _082E57A4:
pop {r1}
bx r1
.align 2, 0
-_082E57AC: .4byte gUnknown_03007870
+ .pool
thumb_func_end rfu_setRecvBuffer
thumb_func_start rfu_NI_setSendData
@@ -3406,7 +3324,7 @@ rfu_UNI_setSendData: @ 82E57DC
lsrs r1, r0, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, _082E57F8
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -3414,7 +3332,7 @@ rfu_UNI_setSendData: @ 82E57DC
adds r0, r2, 0x3
b _082E57FE
.align 2, 0
-_082E57F8: .4byte gUnknown_03007890
+ .pool
_082E57FC:
adds r0, r2, 0x2
_082E57FE:
@@ -3444,7 +3362,7 @@ rfu_NI_CHILD_setSendGameName: @ 82E5818
lsls r1, 17
lsls r1, r0
lsrs r1, 24
- ldr r0, _082E5848
+ ldr r0, =gUnknown_03007890
ldr r3, [r0]
adds r3, 0x98
movs r0, 0x1A
@@ -3457,7 +3375,7 @@ rfu_NI_CHILD_setSendGameName: @ 82E5818
pop {r1}
bx r1
.align 2, 0
-_082E5848: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_NI_CHILD_setSendGameName
thumb_func_start rfu_STC_setSendData_org
@@ -3476,17 +3394,16 @@ rfu_STC_setSendData_org: @ 82E584C
lsls r2, 24
lsrs r2, 24
mov r8, r2
- ldr r0, _082E5878
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
mov r10, r0
cmp r1, 0xFF
bne _082E5880
- ldr r0, _082E587C
+ ldr r0, =0x00000301
b _082E5A36
.align 2, 0
-_082E5878: .4byte gUnknown_03007890
-_082E587C: .4byte 0x00000301
+ .pool
_082E5880:
movs r0, 0xF
ands r0, r3
@@ -3502,10 +3419,10 @@ _082E588E:
ands r0, r3
cmp r0, r3
beq _082E58A4
- ldr r0, _082E58A0
+ ldr r0, =0x00000401
b _082E5A36
.align 2, 0
-_082E58A0: .4byte 0x00000401
+ .pool
_082E58A4:
movs r0, 0x10
ands r0, r6
@@ -3519,15 +3436,15 @@ _082E58B2:
ands r0, r3
cmp r0, 0
beq _082E58C0
- ldr r0, _082E58BC
+ ldr r0, =0x00000402
b _082E5A36
.align 2, 0
-_082E58BC: .4byte 0x00000402
+ .pool
_082E58C0:
movs r2, 0
movs r0, 0x1
ands r0, r3
- ldr r4, _082E58F0
+ ldr r4, =gUnknown_089A3220
cmp r0, 0
bne _082E58E2
movs r1, 0x1
@@ -3551,7 +3468,7 @@ _082E58E2:
adds r1, 0xF
b _082E58FE
.align 2, 0
-_082E58F0: .4byte gUnknown_089A3220
+ .pool
_082E58F4:
cmp r0, 0
bne _082E5900
@@ -3578,7 +3495,7 @@ _082E5918:
lsls r0, 3
b _082E5A36
_082E591E:
- ldr r1, _082E596C
+ ldr r1, =0x04000208
ldrh r0, [r1]
str r0, [sp, 0x4]
movs r7, 0
@@ -3592,7 +3509,7 @@ _082E591E:
cmp r6, 0x40
bne _082E59F4
_082E5938:
- ldr r1, _082E5970
+ ldr r1, =gUnknown_03007880
lsls r0, r2, 2
adds r0, r1
ldr r0, [r0]
@@ -3618,8 +3535,7 @@ _082E5938:
strb r7, [r1]
b _082E5978
.align 2, 0
-_082E596C: .4byte 0x04000208
-_082E5970: .4byte gUnknown_03007880
+ .pool
_082E5974:
movs r0, 0x1
strb r0, [r1]
@@ -3652,7 +3568,7 @@ _082E5998:
bls _082E5998
movs r2, 0
movs r5, 0x1
- ldr r4, _082E59EC
+ ldr r4, =gUnknown_03007880
movs r1, 0
_082E59B2:
adds r0, r3, 0
@@ -3681,19 +3597,18 @@ _082E59C4:
mov r1, r8
subs r0, r1
strb r0, [r2]
- ldr r0, _082E59F0
+ ldr r0, =0x00008021
mov r2, r12
strh r0, [r2]
b _082E5A2C
.align 2, 0
-_082E59EC: .4byte gUnknown_03007880
-_082E59F0: .4byte 0x00008021
+ .pool
_082E59F4:
movs r0, 0x10
ands r0, r6
cmp r0, 0
beq _082E5A2C
- ldr r1, _082E5A48
+ ldr r1, =gUnknown_03007870
lsls r0, r2, 2
adds r0, r1
ldr r1, [r0]
@@ -3709,7 +3624,7 @@ _082E59F4:
subs r0, r2
mov r2, r9
strb r0, [r2]
- ldr r0, _082E5A4C
+ ldr r0, =0x00008024
strh r0, [r1]
mov r0, r10
ldr r2, [r0]
@@ -3718,7 +3633,7 @@ _082E59F4:
orrs r0, r1
strb r0, [r2, 0x6]
_082E5A2C:
- ldr r0, _082E5A50
+ ldr r0, =0x04000208
mov r1, sp
ldrh r1, [r1, 0x4]
strh r1, [r0]
@@ -3733,9 +3648,7 @@ _082E5A36:
pop {r1}
bx r1
.align 2, 0
-_082E5A48: .4byte gUnknown_03007870
-_082E5A4C: .4byte 0x00008024
-_082E5A50: .4byte 0x04000208
+ .pool
thumb_func_end rfu_STC_setSendData_org
thumb_func_start rfu_changeSendTarget
@@ -3761,13 +3674,13 @@ rfu_changeSendTarget: @ 82E5A54
_082E5A78:
cmp r0, 0x20
bne _082E5B18
- ldr r0, _082E5B08
+ ldr r0, =gUnknown_03007880
mov r12, r0
lsls r0, r7, 2
add r0, r12
ldr r5, [r0]
ldrh r2, [r5]
- ldr r1, _082E5B0C
+ ldr r1, =0x00008020
adds r0, r1, 0
ands r0, r2
cmp r0, r1
@@ -3783,7 +3696,7 @@ _082E5A78:
bne _082E5AA6
b _082E5BAA
_082E5AA6:
- ldr r1, _082E5B10
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r8, r0
strh r2, [r1]
@@ -3812,7 +3725,7 @@ _082E5AD2:
lsrs r2, r0, 24
cmp r2, 0x3
bls _082E5ABE
- ldr r0, _082E5B14
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0x4]
ldr r2, [sp]
@@ -3829,34 +3742,29 @@ _082E5AD2:
movs r0, 0x27
strh r0, [r5]
_082E5AFE:
- ldr r0, _082E5B10
+ ldr r0, =0x04000208
mov r1, r8
strh r1, [r0]
b _082E5BAA
.align 2, 0
-_082E5B08: .4byte gUnknown_03007880
-_082E5B0C: .4byte 0x00008020
-_082E5B10: .4byte 0x04000208
-_082E5B14: .4byte gUnknown_03007890
+ .pool
_082E5B18:
cmp r3, 0x10
bne _082E5BA4
- ldr r3, _082E5B34
+ ldr r3, =gUnknown_03007870
lsls r1, r7, 2
adds r0, r1, r3
ldr r0, [r0]
ldrh r2, [r0]
- ldr r0, _082E5B38
+ ldr r0, =0x00008024
adds r5, r3, 0
cmp r2, r0
beq _082E5B40
_082E5B2E:
- ldr r0, _082E5B3C
+ ldr r0, =0x00000403
b _082E5BAC
.align 2, 0
-_082E5B34: .4byte gUnknown_03007870
-_082E5B38: .4byte 0x00008024
-_082E5B3C: .4byte 0x00000403
+ .pool
_082E5B40:
movs r3, 0
movs r2, 0
@@ -3880,16 +3788,16 @@ _082E5B54:
cmp r2, 0
beq _082E5B70
_082E5B66:
- ldr r0, _082E5B6C
+ ldr r0, =0x00000404
b _082E5BAC
.align 2, 0
-_082E5B6C: .4byte 0x00000404
+ .pool
_082E5B70:
- ldr r3, _082E5B9C
+ ldr r3, =0x04000208
ldrh r0, [r3]
mov r8, r0
strh r2, [r3]
- ldr r4, _082E5BA0
+ ldr r4, =gUnknown_03007890
ldr r2, [r4]
adds r5, r1, r5
ldr r0, [r5]
@@ -3908,8 +3816,7 @@ _082E5B70:
strh r2, [r3]
b _082E5BAA
.align 2, 0
-_082E5B9C: .4byte 0x04000208
-_082E5BA0: .4byte gUnknown_03007890
+ .pool
_082E5BA4:
movs r0, 0xC0
lsls r0, 3
@@ -3938,13 +3845,13 @@ rfu_NI_stopReceivingData: @ 82E5BBC
lsls r0, 3
b _082E5C26
_082E5BCC:
- ldr r1, _082E5BF8
+ ldr r1, =gUnknown_03007880
lsls r0, r3, 2
adds r0, r1
ldr r2, [r0]
adds r5, r2, 0
adds r5, 0x34
- ldr r1, _082E5BFC
+ ldr r1, =0x04000208
ldrh r0, [r1]
adds r4, r0, 0
movs r0, 0
@@ -3955,20 +3862,18 @@ _082E5BCC:
ands r0, r1
cmp r0, 0
beq _082E5C20
- ldr r0, _082E5C00
+ ldr r0, =0x00008043
cmp r1, r0
bne _082E5C04
movs r0, 0x48
b _082E5C06
.align 2, 0
-_082E5BF8: .4byte gUnknown_03007880
-_082E5BFC: .4byte 0x04000208
-_082E5C00: .4byte 0x00008043
+ .pool
_082E5C04:
movs r0, 0x47
_082E5C06:
strh r0, [r2, 0x34]
- ldr r0, _082E5C2C
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
movs r1, 0x1
lsls r1, r3
@@ -3980,7 +3885,7 @@ _082E5C06:
adds r2, r5, 0
bl rfu_STC_releaseFrame
_082E5C20:
- ldr r0, _082E5C30
+ ldr r0, =0x04000208
strh r4, [r0]
movs r0, 0
_082E5C26:
@@ -3988,8 +3893,7 @@ _082E5C26:
pop {r1}
bx r1
.align 2, 0
-_082E5C2C: .4byte gUnknown_03007890
-_082E5C30: .4byte 0x04000208
+ .pool
thumb_func_end rfu_NI_stopReceivingData
thumb_func_start rfu_UNI_changeAndReadySendData
@@ -4007,22 +3911,20 @@ rfu_UNI_changeAndReadySendData: @ 82E5C34
lsls r0, 3
b _082E5CC0
_082E5C4C:
- ldr r1, _082E5C60
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r4, [r0]
ldrh r1, [r4]
- ldr r0, _082E5C64
+ ldr r0, =0x00008024
cmp r1, r0
beq _082E5C6C
- ldr r0, _082E5C68
+ ldr r0, =0x00000403
b _082E5CC0
.align 2, 0
-_082E5C60: .4byte gUnknown_03007870
-_082E5C64: .4byte 0x00008024
-_082E5C68: .4byte 0x00000403
+ .pool
_082E5C6C:
- ldr r0, _082E5C80
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1]
cmp r0, 0x1
@@ -4033,7 +3935,7 @@ _082E5C6C:
ldrb r1, [r1, 0xF]
b _082E5C92
.align 2, 0
-_082E5C80: .4byte gUnknown_03007890
+ .pool
_082E5C84:
adds r0, r3, 0
adds r0, 0x10
@@ -4048,7 +3950,7 @@ _082E5C92:
lsrs r3, r0, 24
cmp r3, r5
bcc _082E5CBC
- ldr r2, _082E5CB8
+ ldr r2, =0x04000208
ldrh r1, [r2]
movs r0, 0
strh r0, [r2]
@@ -4062,7 +3964,7 @@ _082E5C92:
movs r0, 0
b _082E5CC0
.align 2, 0
-_082E5CB8: .4byte 0x04000208
+ .pool
_082E5CBC:
movs r0, 0xA0
lsls r0, 3
@@ -4079,12 +3981,12 @@ rfu_UNI_readySendData: @ 82E5CC8
lsrs r0, 24
cmp r0, 0x3
bhi _082E5CE6
- ldr r1, _082E5CEC
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r2, [r0]
ldrh r1, [r2]
- ldr r0, _082E5CF0
+ ldr r0, =0x00008024
cmp r1, r0
bne _082E5CE6
movs r0, 0x1
@@ -4093,8 +3995,7 @@ _082E5CE6:
pop {r0}
bx r0
.align 2, 0
-_082E5CEC: .4byte gUnknown_03007870
-_082E5CF0: .4byte 0x00008024
+ .pool
thumb_func_end rfu_UNI_readySendData
thumb_func_start rfu_UNI_clearRecvNewDataFlag
@@ -4104,7 +4005,7 @@ rfu_UNI_clearRecvNewDataFlag: @ 82E5CF4
lsrs r0, 24
cmp r0, 0x3
bhi _082E5D0A
- ldr r1, _082E5D10
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r1, [r0]
@@ -4114,7 +4015,7 @@ _082E5D0A:
pop {r0}
bx r0
.align 2, 0
-_082E5D10: .4byte gUnknown_03007870
+ .pool
thumb_func_end rfu_UNI_clearRecvNewDataFlag
thumb_func_start rfu_REQ_sendData
@@ -4122,7 +4023,7 @@ rfu_REQ_sendData: @ 82E5D14
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E5D60
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
adds r4, r0, 0
@@ -4140,7 +4041,7 @@ _082E5D28:
orrs r3, r0
cmp r3, 0
bne _082E5DB8
- ldr r0, _082E5D64
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2, 0x3]
adds r4, r0, 0
@@ -4159,8 +4060,7 @@ _082E5D50:
strb r0, [r1, 0x8]
b _082E5D6E
.align 2, 0
-_082E5D60: .4byte gUnknown_03007890
-_082E5D64: .4byte gUnknown_03007894
+ .pool
_082E5D68:
ldrb r0, [r1, 0x7]
adds r0, 0x1
@@ -4176,13 +4076,13 @@ _082E5D6E:
cmp r0, 0
bne _082E5E12
_082E5D80:
- ldr r4, _082E5DA4
+ ldr r4, =gUnknown_03007898
ldr r1, [r4]
movs r0, 0x1
str r0, [r1, 0x68]
movs r0, 0xFF
str r0, [r1, 0x78]
- ldr r0, _082E5DA8
+ ldr r0, =sub_82E5F00
bl STWI_set_Callback_M
cmp r5, 0
bne _082E5DAC
@@ -4192,8 +4092,7 @@ _082E5D80:
bl STWI_send_DataTxREQ
b _082E5E4E
.align 2, 0
-_082E5DA4: .4byte gUnknown_03007898
-_082E5DA8: .4byte sub_82E5F00
+ .pool
_082E5DAC:
ldr r0, [r4]
adds r0, 0x68
@@ -4211,14 +4110,14 @@ _082E5DC4:
ldrb r0, [r0, 0xE]
cmp r0, 0
beq _082E5E12
- ldr r0, _082E5DF0
+ ldr r0, =rfu_CB_sendData
bl STWI_set_Callback_M
cmp r5, 0
beq _082E5DFC
- ldr r0, _082E5DF4
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x68
- ldr r1, _082E5DF8
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldr r1, [r1, 0x24]
adds r1, 0x4
@@ -4227,14 +4126,12 @@ _082E5DC4:
bl STWI_send_DataTxAndChangeREQ
b _082E5E4E
.align 2, 0
-_082E5DF0: .4byte rfu_CB_sendData
-_082E5DF4: .4byte gUnknown_03007898
-_082E5DF8: .4byte gUnknown_03007894
+ .pool
_082E5DFC:
- ldr r0, _082E5E34
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x68
- ldr r1, _082E5E38
+ ldr r1, =gUnknown_03007894
ldr r1, [r1]
ldr r1, [r1, 0x24]
adds r1, 0x4
@@ -4244,12 +4141,12 @@ _082E5DFC:
_082E5E12:
cmp r5, 0
beq _082E5E4E
- ldr r0, _082E5E3C
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
bne _082E5E44
- ldr r0, _082E5E40
+ ldr r0, =gRfuState
ldr r0, [r0]
ldr r1, [r0, 0x1C]
cmp r1, 0
@@ -4258,12 +4155,9 @@ _082E5E12:
bl _call_via_r1
b _082E5E4E
.align 2, 0
-_082E5E34: .4byte gUnknown_03007898
-_082E5E38: .4byte gUnknown_03007894
-_082E5E3C: .4byte gUnknown_03007890
-_082E5E40: .4byte gRfuState
+ .pool
_082E5E44:
- ldr r0, _082E5E54
+ ldr r0, =rfu_CB_sendData2
bl STWI_set_Callback_M
bl STWI_send_MS_ChangeREQ
_082E5E4E:
@@ -4271,7 +4165,7 @@ _082E5E4E:
pop {r0}
bx r0
.align 2, 0
-_082E5E54: .4byte rfu_CB_sendData2
+ .pool
thumb_func_end rfu_REQ_sendData
thumb_func_start rfu_CB_sendData
@@ -4284,10 +4178,10 @@ rfu_CB_sendData: @ 82E5E58
cmp r7, 0
bne _082E5EC2
movs r6, 0
- ldr r0, _082E5EE0
+ ldr r0, =0x00008020
mov r8, r0
_082E5E6C:
- ldr r0, _082E5EE4
+ ldr r0, =gUnknown_03007870
lsls r2, r6, 2
adds r0, r2, r0
ldr r1, [r0]
@@ -4297,7 +4191,7 @@ _082E5E6C:
movs r0, 0
strb r0, [r1, 0x2]
_082E5E7E:
- ldr r0, _082E5EE8
+ ldr r0, =gUnknown_03007880
adds r0, r2, r0
ldr r4, [r0]
ldrh r0, [r4]
@@ -4307,7 +4201,7 @@ _082E5E7E:
movs r1, 0
adds r2, r4, 0
bl rfu_STC_releaseFrame
- ldr r5, _082E5EEC
+ ldr r5, =gUnknown_03007890
ldr r2, [r5]
ldrb r1, [r4, 0x1A]
ldrb r0, [r2, 0x4]
@@ -4333,7 +4227,7 @@ _082E5EB8:
cmp r6, 0x3
bls _082E5E6C
_082E5EC2:
- ldr r0, _082E5EEC
+ ldr r0, =gUnknown_03007890
ldr r1, [r0]
ldrb r0, [r1, 0xE]
movs r0, 0
@@ -4347,10 +4241,7 @@ _082E5EC2:
pop {r0}
bx r0
.align 2, 0
-_082E5EE0: .4byte 0x00008020
-_082E5EE4: .4byte gUnknown_03007870
-_082E5EE8: .4byte gUnknown_03007880
-_082E5EEC: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_CB_sendData
thumb_func_start rfu_CB_sendData2
@@ -4395,7 +4286,7 @@ rfu_constructSendLLFrame: @ 82E5F28
mov r5, r8
push {r5-r7}
sub sp, 0x4
- ldr r0, _082E5FD4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
cmp r0, 0xFF
@@ -4413,7 +4304,7 @@ _082E5F40:
movs r0, 0
strb r0, [r2, 0xE]
mov r8, r0
- ldr r0, _082E5FD8
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0x6C
str r0, [sp]
@@ -4421,11 +4312,11 @@ _082E5F40:
movs r0, 0x80
lsls r0, 8
mov r9, r0
- ldr r1, _082E5FDC
+ ldr r1, =0x00008024
mov r10, r1
_082E5F6A:
movs r5, 0
- ldr r0, _082E5FE0
+ ldr r0, =gUnknown_03007880
lsls r7, r6, 2
adds r4, r7, r0
ldr r2, [r4]
@@ -4454,7 +4345,7 @@ _082E5F8A:
lsrs r0, 16
adds r5, r0
_082E5FA6:
- ldr r0, _082E5FE4
+ ldr r0, =gUnknown_03007870
adds r0, r7, r0
ldr r0, [r0]
ldrh r0, [r0]
@@ -4469,7 +4360,7 @@ _082E5FA6:
_082E5FC0:
cmp r5, 0
beq _082E5FF4
- ldr r0, _082E5FD4
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4477,11 +4368,7 @@ _082E5FC0:
add r8, r5
b _082E5FF4
.align 2, 0
-_082E5FD4: .4byte gUnknown_03007890
-_082E5FD8: .4byte gUnknown_03007898
-_082E5FDC: .4byte 0x00008024
-_082E5FE0: .4byte gUnknown_03007880
-_082E5FE4: .4byte gUnknown_03007870
+ .pool
_082E5FE8:
adds r0, r7, r6
adds r0, 0x8
@@ -4495,15 +4382,15 @@ _082E5FF4:
lsrs r6, r0, 24
cmp r6, 0x3
bls _082E5F6A
- ldr r6, _082E6054
+ ldr r6, =gUnknown_03007894
mov r0, r8
cmp r0, 0
beq _082E603E
ldr r2, [sp]
movs r0, 0x3
ands r0, r2
- ldr r5, _082E6058
- ldr r1, _082E605C
+ ldr r5, =gUnknown_03007890
+ ldr r1, =gUnknown_03007898
cmp r0, 0
beq _082E6026
movs r4, 0
@@ -4543,9 +4430,7 @@ _082E6044:
pop {r0}
bx r0
.align 2, 0
-_082E6054: .4byte gUnknown_03007894
-_082E6058: .4byte gUnknown_03007890
-_082E605C: .4byte gUnknown_03007898
+ .pool
thumb_func_end rfu_constructSendLLFrame
thumb_func_start rfu_STC_NI_constructLLSF
@@ -4561,15 +4446,15 @@ rfu_STC_NI_constructLLSF: @ 82E6060
lsls r0, 24
lsrs r0, 24
mov r10, r0
- ldr r2, _082E60DC
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
lsls r0, 4
- ldr r1, _082E60E0
+ ldr r1, =gUnknown_089A3220
adds r0, r1
mov r8, r0
ldrh r1, [r4]
- ldr r0, _082E60E4
+ ldr r0, =0x00008022
cmp r1, r0
bne _082E60CA
adds r3, r4, 0
@@ -4615,11 +4500,9 @@ _082E60CA:
movs r5, 0
b _082E612C
.align 2, 0
-_082E60DC: .4byte gUnknown_03007890
-_082E60E0: .4byte gUnknown_089A3220
-_082E60E4: .4byte 0x00008022
+ .pool
_082E60E8:
- ldr r0, _082E6114
+ ldr r0, =0x00008022
cmp r9, r0
bne _082E611C
adds r3, r4, 0
@@ -4642,7 +4525,7 @@ _082E60E8:
lsrs r5, r0, 16
b _082E6130
.align 2, 0
-_082E6114: .4byte 0x00008022
+ .pool
_082E6118:
adds r5, r7, 0
b _082E6130
@@ -4687,7 +4570,7 @@ _082E6130:
orrs r3, r0
orrs r3, r5
str r3, [sp]
- ldr r2, _082E61EC
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4728,7 +4611,7 @@ _082E61A2:
adds r0, r1
ldr r0, [r0]
str r0, [sp, 0x4]
- ldr r0, _082E61F0
+ ldr r0, =gUnknown_03007898
ldr r1, [r0]
add r0, sp, 0x4
ldr r3, [r1, 0x4]
@@ -4737,7 +4620,7 @@ _082E61A2:
bl _call_via_r3
_082E61C2:
ldrh r1, [r4]
- ldr r0, _082E61F4
+ ldr r0, =0x00008022
cmp r1, r0
bne _082E61DC
ldrb r0, [r6]
@@ -4750,7 +4633,7 @@ _082E61C2:
movs r0, 0
strb r0, [r6]
_082E61DC:
- ldr r0, _082E61EC
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r1, [r2]
cmp r1, 0x1
@@ -4759,9 +4642,7 @@ _082E61DC:
strb r1, [r2, 0xE]
b _082E6206
.align 2, 0
-_082E61EC: .4byte gUnknown_03007890
-_082E61F0: .4byte gUnknown_03007898
-_082E61F4: .4byte 0x00008022
+ .pool
_082E61F8:
movs r0, 0x1
mov r1, r10
@@ -4796,7 +4677,7 @@ rfu_STC_UNI_constructLLSF: @ 82E6220
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r1, _082E6248
+ ldr r1, =gUnknown_03007870
lsls r0, 2
adds r0, r1
ldr r4, [r0]
@@ -4810,13 +4691,13 @@ _082E6244:
movs r0, 0
b _082E62E8
.align 2, 0
-_082E6248: .4byte gUnknown_03007870
+ .pool
_082E624C:
- ldr r0, _082E62C4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
lsls r0, 4
- ldr r1, _082E62C8
+ ldr r1, =gUnknown_089A3220
adds r5, r0, r1
ldrh r0, [r4]
movs r1, 0xF
@@ -4836,7 +4717,7 @@ _082E624C:
_082E6276:
mov r2, sp
movs r3, 0
- ldr r1, _082E62CC
+ ldr r1, =gUnknown_03007898
mov r12, r1
add r7, sp, 0x4
ldrb r0, [r5]
@@ -4865,7 +4746,7 @@ _082E629E:
adds r0, r7, 0
adds r1, r6, 0
bl _call_via_r3
- ldr r0, _082E62C4
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2]
cmp r0, 0x1
@@ -4874,9 +4755,7 @@ _082E629E:
movs r0, 0x10
b _082E62DC
.align 2, 0
-_082E62C4: .4byte gUnknown_03007890
-_082E62C8: .4byte gUnknown_089A3220
-_082E62CC: .4byte gUnknown_03007898
+ .pool
_082E62D0:
movs r0, 0x10
mov r1, r8
@@ -4903,12 +4782,12 @@ _082E62E8:
thumb_func_start rfu_REQ_recvData
rfu_REQ_recvData: @ 82E62F4
push {r4,lr}
- ldr r0, _082E6328
+ ldr r0, =gUnknown_03007890
ldr r4, [r0]
ldrb r0, [r4]
cmp r0, 0xFF
beq _082E6320
- ldr r2, _082E632C
+ ldr r2, =gUnknown_03007894
ldr r3, [r2]
ldrb r0, [r4, 0x4]
ldrb r1, [r4, 0x5]
@@ -4919,7 +4798,7 @@ rfu_REQ_recvData: @ 82E62F4
strb r0, [r3, 0x3]
ldr r0, [r2]
strb r1, [r0, 0x4]
- ldr r0, _082E6330
+ ldr r0, =rfu_CB_recvData
bl STWI_set_Callback_M
bl STWI_send_DataRxREQ
_082E6320:
@@ -4927,9 +4806,7 @@ _082E6320:
pop {r0}
bx r0
.align 2, 0
-_082E6328: .4byte gUnknown_03007890
-_082E632C: .4byte gUnknown_03007894
-_082E6330: .4byte rfu_CB_recvData
+ .pool
thumb_func_end rfu_REQ_recvData
thumb_func_start rfu_CB_recvData
@@ -4946,17 +4823,17 @@ rfu_CB_recvData: @ 82E6334
lsrs r7, r1, 16
cmp r7, 0
bne _082E63F8
- ldr r0, _082E6370
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0
beq _082E63F8
- ldr r0, _082E6374
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
strb r7, [r0, 0x1]
- ldr r0, _082E6378
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x1
@@ -4964,25 +4841,23 @@ rfu_CB_recvData: @ 82E6334
bl rfu_STC_PARENT_analyzeRecvPacket
b _082E6380
.align 2, 0
-_082E6370: .4byte gUnknown_03007898
-_082E6374: .4byte gUnknown_03007894
-_082E6378: .4byte gUnknown_03007890
+ .pool
_082E637C:
bl rfu_STC_CHILD_analyzeRecvPacket
_082E6380:
movs r6, 0
- ldr r0, _082E6410
+ ldr r0, =0x00008043
mov r8, r0
- ldr r3, _082E6414
+ ldr r3, =gUnknown_03007890
_082E6388:
- ldr r0, _082E6418
+ ldr r0, =gUnknown_03007880
lsls r1, r6, 2
adds r1, r0
ldr r4, [r1]
ldrh r0, [r4, 0x34]
cmp r0, r8
bne _082E63DA
- ldr r0, _082E641C
+ ldr r0, =gUnknown_03007894
ldr r0, [r0]
ldrb r0, [r0, 0x1]
asrs r0, r6
@@ -5022,7 +4897,7 @@ _082E63DA:
lsrs r6, r0, 24
cmp r6, 0x3
bls _082E6388
- ldr r0, _082E641C
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
ldrb r0, [r1, 0x4]
cmp r0, 0
@@ -5044,17 +4919,14 @@ _082E63F8:
pop {r0}
bx r0
.align 2, 0
-_082E6410: .4byte 0x00008043
-_082E6414: .4byte gUnknown_03007890
-_082E6418: .4byte gUnknown_03007880
-_082E641C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_CB_recvData
thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
push {r4-r7,lr}
sub sp, 0x4
- ldr r1, _082E64B0
+ ldr r1, =gUnknown_03007898
ldr r0, [r1]
adds r0, 0xDC
ldr r0, [r0]
@@ -5063,7 +4935,7 @@ rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
movs r5, 0
mov r12, r1
movs r7, 0x1F
- ldr r4, _082E64B4
+ ldr r4, =gUnknown_03007894
movs r6, 0x1
_082E643A:
mov r0, sp
@@ -5129,14 +5001,13 @@ _082E64A0:
pop {r0}
bx r0
.align 2, 0
-_082E64B0: .4byte gUnknown_03007898
-_082E64B4: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
push {r4-r6,lr}
- ldr r0, _082E6508
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
adds r0, 0xDC
ldr r1, [r0]
@@ -5147,7 +5018,7 @@ rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
adds r5, 0x8
cmp r4, 0
bne _082E64D8
- ldr r0, _082E650C
+ ldr r0, =gUnknown_03007894
ldr r1, [r0]
movs r0, 0xF
strb r0, [r1, 0x1]
@@ -5177,8 +5048,7 @@ _082E6500:
pop {r0}
bx r0
.align 2, 0
-_082E6508: .4byte gUnknown_03007898
-_082E650C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
thumb_func_start rfu_STC_analyzeLLSF
@@ -5195,14 +5065,14 @@ rfu_STC_analyzeLLSF: @ 82E6510
mov r12, r0
lsls r2, 16
lsrs r3, r2, 16
- ldr r2, _082E6544
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r0, [r0]
mvns r0, r0
movs r1, 0x1
ands r0, r1
lsls r0, 4
- ldr r1, _082E6548
+ ldr r1, =gUnknown_089A3220
adds r6, r0, r1
ldrb r0, [r6]
cmp r3, r0
@@ -5210,8 +5080,7 @@ rfu_STC_analyzeLLSF: @ 82E6510
adds r0, r3, 0
b _082E673E
.align 2, 0
-_082E6544: .4byte gUnknown_03007890
-_082E6548: .4byte gUnknown_089A3220
+ .pool
_082E654C:
movs r5, 0
movs r4, 0
@@ -5239,7 +5108,7 @@ _082E6574:
lsrs r0, r3
mov r3, r8
ands r0, r3
- ldr r1, _082E664C
+ ldr r1, =0xffffff00
mov r10, r1
mov r3, r10
mov r2, r9
@@ -5252,7 +5121,7 @@ _082E6574:
ldrb r1, [r6, 0x8]
ands r0, r1
lsls r0, 8
- ldr r4, _082E6650
+ ldr r4, =0xffff00ff
adds r2, r4, 0
ands r2, r3
orrs r2, r0
@@ -5263,7 +5132,7 @@ _082E6574:
ldrb r1, [r6, 0x9]
ands r0, r1
lsls r0, 16
- ldr r3, _082E6654
+ ldr r3, =0xff00ffff
ands r3, r2
orrs r3, r0
str r3, [sp]
@@ -5273,7 +5142,7 @@ _082E6574:
ldrb r1, [r6, 0xA]
ands r0, r1
lsls r0, 24
- ldr r2, _082E6658
+ ldr r2, =0x00ffffff
mov r8, r2
mov r1, r8
ands r1, r3
@@ -5303,7 +5172,7 @@ _082E6574:
ldrh r0, [r6, 0xE]
ands r5, r0
lsls r1, r5, 16
- ldr r0, _082E665C
+ ldr r0, =0x0000ffff
ands r0, r4
orrs r0, r1
str r0, [sp, 0x4]
@@ -5319,7 +5188,7 @@ _082E6574:
beq _082E661A
b _082E673C
_082E661A:
- ldr r2, _082E6660
+ ldr r2, =gUnknown_03007890
ldr r3, [r2]
ldrb r2, [r3]
cmp r2, 0x1
@@ -5344,12 +5213,7 @@ _082E6632:
bl rfu_STC_UNI_receive
b _082E673C
.align 2, 0
-_082E664C: .4byte 0xffffff00
-_082E6650: .4byte 0xffff00ff
-_082E6654: .4byte 0xff00ffff
-_082E6658: .4byte 0x00ffffff
-_082E665C: .4byte 0x0000ffff
-_082E6660: .4byte gUnknown_03007890
+ .pool
_082E6664:
mov r5, r9
ldrb r0, [r5, 0x3]
@@ -5362,7 +5226,7 @@ _082E6664:
b _082E673C
_082E6678:
movs r4, 0
- ldr r1, _082E6690
+ ldr r1, =gUnknown_03007880
ldr r0, [r1]
ldrb r0, [r0, 0x1A]
mov r5, r12
@@ -5373,7 +5237,7 @@ _082E6678:
ldrb r0, [r3, 0x4]
b _082E66BA
.align 2, 0
-_082E6690: .4byte gUnknown_03007880
+ .pool
_082E6694:
adds r0, r4, 0x1
lsls r0, 24
@@ -5390,7 +5254,7 @@ _082E6694:
ands r0, r2
cmp r0, 0
beq _082E6694
- ldr r3, _082E66D4
+ ldr r3, =gUnknown_03007890
ldr r0, [r3]
ldrb r0, [r0, 0x4]
mov r5, r12
@@ -5408,7 +5272,7 @@ _082E66BA:
bl rfu_STC_NI_receive_Sender
b _082E673C
.align 2, 0
-_082E66D4: .4byte gUnknown_03007890
+ .pool
_082E66D8:
ldrb r1, [r3, 0x2]
mov r2, r9
@@ -5443,7 +5307,7 @@ _082E6706:
bl rfu_STC_NI_receive_Receiver
b _082E6732
_082E6718:
- ldr r0, _082E6750
+ ldr r0, =gUnknown_03007890
ldr r0, [r0]
ldrb r0, [r0, 0x4]
asrs r0, r4
@@ -5473,7 +5337,7 @@ _082E673E:
pop {r1}
bx r1
.align 2, 0
-_082E6750: .4byte gUnknown_03007890
+ .pool
thumb_func_end rfu_STC_analyzeLLSF
thumb_func_start rfu_STC_UNI_receive
@@ -5484,7 +5348,7 @@ rfu_STC_UNI_receive: @ 82E6754
str r2, [sp]
lsls r0, 24
lsrs r7, r0, 24
- ldr r2, _082E6788
+ ldr r2, =gUnknown_03007870
lsls r1, r7, 2
adds r1, r2
ldr r3, [r1]
@@ -5501,12 +5365,11 @@ rfu_STC_UNI_receive: @ 82E6754
bcs _082E6790
movs r0, 0x49
strh r0, [r3, 0xC]
- ldr r0, _082E678C
+ ldr r0, =0x00000701
strh r0, [r5, 0x2]
b _082E67DE
.align 2, 0
-_082E6788: .4byte gUnknown_03007870
-_082E678C: .4byte 0x00000701
+ .pool
_082E6790:
ldrb r0, [r5, 0x7]
cmp r0, 0
@@ -5514,11 +5377,11 @@ _082E6790:
ldrb r0, [r5, 0x6]
cmp r0, 0
beq _082E67B4
- ldr r0, _082E67A4
+ ldr r0, =0x00000709
strh r0, [r5, 0x2]
b _082E67DE
.align 2, 0
-_082E67A4: .4byte 0x00000709
+ .pool
_082E67A8:
ldrb r0, [r5, 0x6]
cmp r0, 0
@@ -5528,7 +5391,7 @@ _082E67A8:
strh r0, [r5, 0x2]
_082E67B4:
movs r4, 0
- ldr r0, _082E67FC
+ ldr r0, =0x00008042
strh r0, [r5]
ldrh r0, [r6, 0x6]
strh r0, [r5, 0x4]
@@ -5538,7 +5401,7 @@ _082E67B4:
ldr r0, [r0]
ldr r0, [r0, 0x14]
str r0, [sp, 0x4]
- ldr r0, _082E6800
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
add r1, sp, 0x4
ldr r3, [r0, 0x4]
@@ -5551,7 +5414,7 @@ _082E67DE:
ldrh r0, [r5, 0x2]
cmp r0, 0
beq _082E67F2
- ldr r0, _082E6804
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
movs r0, 0x10
lsls r0, r7
@@ -5564,9 +5427,7 @@ _082E67F2:
pop {r0}
bx r0
.align 2, 0
-_082E67FC: .4byte 0x00008042
-_082E6800: .4byte gUnknown_03007898
-_082E6804: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_UNI_receive
thumb_func_start rfu_STC_NI_receive_Sender
@@ -5582,7 +5443,7 @@ rfu_STC_NI_receive_Sender: @ 82E6808
lsls r1, 24
lsrs r1, 24
mov r10, r1
- ldr r1, _082E68D4
+ ldr r1, =gUnknown_03007880
lsrs r0, 22
adds r0, r1
ldr r0, [r0]
@@ -5598,13 +5459,13 @@ rfu_STC_NI_receive_Sender: @ 82E6808
ldrb r2, [r6, 0x2]
cmp r2, 0x2
bne _082E6844
- ldr r0, _082E68D8
+ ldr r0, =0x00008022
cmp r9, r0
beq _082E685E
_082E6844:
cmp r2, 0x1
bne _082E684E
- ldr r0, _082E68DC
+ ldr r0, =0x00008021
cmp r9, r0
beq _082E685E
_082E684E:
@@ -5613,7 +5474,7 @@ _082E684E:
mov r8, r3
cmp r2, 0x3
bne _082E6882
- ldr r0, _082E68E0
+ ldr r0, =0x00008023
cmp r9, r0
bne _082E6882
_082E685E:
@@ -5658,14 +5519,14 @@ _082E6882:
strb r1, [r0]
mov r7, r12
ldrh r1, [r7]
- ldr r2, _082E68E4
+ ldr r2, =0x00007fdf
adds r0, r1, r2
lsls r0, 16
lsrs r0, 16
adds r5, r3, 0
cmp r0, 0x1
bhi _082E6970
- ldr r0, _082E68DC
+ ldr r0, =0x00008021
cmp r1, r0
bne _082E68E8
ldrb r1, [r6, 0x4]
@@ -5678,11 +5539,7 @@ _082E6882:
str r0, [r1]
b _082E68FE
.align 2, 0
-_082E68D4: .4byte gUnknown_03007880
-_082E68D8: .4byte 0x00008022
-_082E68DC: .4byte 0x00008021
-_082E68E0: .4byte 0x00008023
-_082E68E4: .4byte 0x00007fdf
+ .pool
_082E68E8:
ldrb r2, [r6, 0x4]
lsls r2, 2
@@ -5713,7 +5570,7 @@ _082E6912:
strb r2, [r0]
mov r7, r12
ldrh r1, [r7]
- ldr r0, _082E6954
+ ldr r0, =0x00008021
cmp r1, r0
bne _082E695C
movs r4, 0
@@ -5738,28 +5595,27 @@ _082E6926:
bls _082E6926
ldr r0, [r7, 0x30]
str r0, [r7, 0x14]
- ldr r0, _082E6958
+ ldr r0, =0x00008022
strh r0, [r7]
b _082E697E
.align 2, 0
-_082E6954: .4byte 0x00008021
-_082E6958: .4byte 0x00008022
+ .pool
_082E695C:
strb r2, [r5]
mov r0, r12
str r2, [r0, 0x14]
- ldr r0, _082E696C
+ ldr r0, =0x00008023
mov r1, r12
strh r0, [r1]
b _082E697E
.align 2, 0
-_082E696C: .4byte 0x00008023
+ .pool
_082E6970:
lsls r1, 16
- ldr r0, _082E69E0
+ ldr r0, =0x80230000
cmp r1, r0
bne _082E697E
- ldr r0, _082E69E4
+ ldr r0, =0x00008020
mov r2, r12
strh r0, [r2]
_082E697E:
@@ -5785,11 +5641,11 @@ _082E697E:
cmp r0, 0
beq _082E69CE
_082E69A8:
- ldr r4, _082E69E8
+ ldr r4, =0x04000208
ldrh r2, [r4]
movs r0, 0
strh r0, [r4]
- ldr r0, _082E69EC
+ ldr r0, =gUnknown_03007894
ldr r3, [r0]
movs r0, 0x10
mov r7, r10
@@ -5799,7 +5655,7 @@ _082E69A8:
movs r1, 0
strb r0, [r3, 0x2]
lsls r0, r7, 2
- ldr r3, _082E69F0
+ ldr r3, =gUnknown_03007880
adds r0, r3
ldr r0, [r0]
strh r1, [r0, 0x2]
@@ -5814,11 +5670,7 @@ _082E69CE:
pop {r0}
bx r0
.align 2, 0
-_082E69E0: .4byte 0x80230000
-_082E69E4: .4byte 0x00008020
-_082E69E8: .4byte 0x04000208
-_082E69EC: .4byte gUnknown_03007894
-_082E69F0: .4byte gUnknown_03007880
+ .pool
thumb_func_end rfu_STC_NI_receive_Sender
thumb_func_start rfu_STC_NI_receive_Receiver
@@ -5835,7 +5687,7 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
lsrs r0, 24
mov r8, r0
movs r7, 0
- ldr r1, _082E6A54
+ ldr r1, =gUnknown_03007880
lsls r0, 2
adds r0, r1
ldr r4, [r0]
@@ -5852,7 +5704,7 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
ldrb r0, [r6, 0x2]
cmp r0, 0x3
bne _082E6A64
- ldr r0, _082E6A58
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
movs r0, 0x1
mov r1, r8
@@ -5861,25 +5713,22 @@ rfu_STC_NI_receive_Receiver: @ 82E69F4
orrs r0, r1
strb r0, [r2, 0x1]
ldrh r1, [r4, 0x34]
- ldr r0, _082E6A5C
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AAA
adds r0, r4, 0
adds r0, 0x54
strb r7, [r0]
strb r7, [r3]
- ldr r0, _082E6A60
+ ldr r0, =0x00008043
strh r0, [r4, 0x34]
b _082E6AAA
.align 2, 0
-_082E6A54: .4byte gUnknown_03007880
-_082E6A58: .4byte gUnknown_03007894
-_082E6A5C: .4byte 0x00008042
-_082E6A60: .4byte 0x00008043
+ .pool
_082E6A64:
cmp r0, 0x2
bne _082E6A90
- ldr r0, _082E6A88
+ ldr r0, =0x00008041
cmp r9, r0
bne _082E6A7C
ldr r0, [r5, 0x14]
@@ -5890,17 +5739,16 @@ _082E6A64:
bl rfu_STC_NI_initSlot_asRecvDataEntity
_082E6A7C:
ldrh r1, [r5]
- ldr r0, _082E6A8C
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AAA
b _082E6AAE
.align 2, 0
-_082E6A88: .4byte 0x00008041
-_082E6A8C: .4byte 0x00008042
+ .pool
_082E6A90:
cmp r0, 0x1
bne _082E6AAA
- ldr r7, _082E6B5C
+ ldr r7, =0x00008041
cmp r9, r7
beq _082E6AAE
mov r0, r8
@@ -5925,7 +5773,7 @@ _082E6AAE:
ands r0, r1
cmp r2, r0
bne _082E6B04
- ldr r0, _082E6B60
+ ldr r0, =gUnknown_03007898
ldr r0, [r0]
lsls r1, r3, 2
adds r1, 0x4
@@ -5935,7 +5783,7 @@ _082E6AAE:
mov r0, sp
bl _call_via_r3
ldrh r1, [r5]
- ldr r0, _082E6B64
+ ldr r0, =0x00008042
cmp r1, r0
bne _082E6AF4
ldrb r0, [r6, 0x4]
@@ -5979,11 +5827,11 @@ _082E6B04:
cmp r0, r6
bne _082E6B4A
_082E6B2C:
- ldr r3, _082E6B68
+ ldr r3, =0x04000208
ldrh r2, [r3]
movs r0, 0
strh r0, [r3]
- ldr r0, _082E6B6C
+ ldr r0, =gUnknown_03007894
ldr r4, [r0]
movs r0, 0x1
mov r1, r8
@@ -6004,11 +5852,7 @@ _082E6B4A:
pop {r0}
bx r0
.align 2, 0
-_082E6B5C: .4byte 0x00008041
-_082E6B60: .4byte gUnknown_03007898
-_082E6B64: .4byte 0x00008042
-_082E6B68: .4byte 0x04000208
-_082E6B6C: .4byte gUnknown_03007894
+ .pool
thumb_func_end rfu_STC_NI_receive_Receiver
thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
@@ -6017,7 +5861,7 @@ rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
adds r2, r1, 0
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _082E6B8C
+ ldr r0, =gUnknown_03007890
ldr r3, [r0]
ldrb r1, [r3]
mov r12, r0
@@ -6028,7 +5872,7 @@ rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
adds r1, 0xF
b _082E6B98
.align 2, 0
-_082E6B8C: .4byte gUnknown_03007890
+ .pool
_082E6B90:
movs r5, 0x2
adds r0, r4, 0
@@ -6049,9 +5893,9 @@ _082E6B98:
bcs _082E6BD0
movs r0, 0x49
strh r0, [r2]
- ldr r0, _082E6BC8
+ ldr r0, =0x00000702
strh r0, [r2, 0x18]
- ldr r0, _082E6BCC
+ ldr r0, =gUnknown_03007894
ldr r2, [r0]
ldrb r1, [r2, 0x4]
adds r0, r6, 0
@@ -6059,8 +5903,7 @@ _082E6B98:
strb r0, [r2, 0x4]
b _082E6BF6
.align 2, 0
-_082E6BC8: .4byte 0x00000702
-_082E6BCC: .4byte gUnknown_03007894
+ .pool
_082E6BD0:
strh r3, [r2, 0x18]
ldrb r0, [r1]
@@ -6074,7 +5917,7 @@ _082E6BD0:
strb r7, [r2, 0x1F]
strh r3, [r2, 0x2E]
strb r4, [r2, 0x1A]
- ldr r0, _082E6BFC
+ ldr r0, =0x00008041
strh r0, [r2]
mov r0, r12
ldr r1, [r0]
@@ -6086,7 +5929,7 @@ _082E6BF6:
pop {r0}
bx r0
.align 2, 0
-_082E6BFC: .4byte 0x00008041
+ .pool
thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
@@ -6100,7 +5943,7 @@ rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
ldrb r0, [r0]
cmp r0, 0x1
bne _082E6C24
- ldr r0, _082E6C20
+ ldr r0, =gUnknown_03007890
lsls r1, r5, 5
adds r1, 0x14
ldr r0, [r0]
@@ -6108,9 +5951,9 @@ rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
adds r0, 0x4
b _082E6C7A
.align 2, 0
-_082E6C20: .4byte gUnknown_03007890
+ .pool
_082E6C24:
- ldr r1, _082E6C68
+ ldr r1, =gUnknown_03007880
lsls r0, r5, 2
adds r0, r1
ldr r2, [r0]
@@ -6122,18 +5965,18 @@ _082E6C24:
lsls r1, 17
lsls r1, r5
lsrs r1, 24
- ldr r0, _082E6C6C
+ ldr r0, =gUnknown_03007894
ldr r3, [r0]
ldrb r2, [r3, 0x4]
adds r0, r1, 0
orrs r0, r2
strb r0, [r3, 0x4]
- ldr r0, _082E6C70
+ ldr r0, =gUnknown_03007890
ldr r2, [r0]
ldrb r0, [r2, 0x5]
bics r0, r1
strb r0, [r2, 0x5]
- ldr r0, _082E6C74
+ ldr r0, =0x00000701
strh r0, [r4, 0x18]
movs r0, 0x47
strh r0, [r4]
@@ -6143,10 +5986,7 @@ _082E6C24:
bl rfu_STC_releaseFrame
b _082E6CAC
.align 2, 0
-_082E6C68: .4byte gUnknown_03007880
-_082E6C6C: .4byte gUnknown_03007894
-_082E6C70: .4byte gUnknown_03007890
-_082E6C74: .4byte 0x00000701
+ .pool
_082E6C78:
ldr r0, [r2, 0x68]
_082E6C7A:
@@ -6174,39 +6014,39 @@ _082E6C86:
bls _082E6C86
ldr r0, [r4, 0x30]
str r0, [r4, 0x14]
- ldr r0, _082E6CB4
+ ldr r0, =0x00008042
strh r0, [r4]
_082E6CAC:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_082E6CB4: .4byte 0x00008042
+ .pool
thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
thumb_func_start rfu_NI_checkCommFailCounter
rfu_NI_checkCommFailCounter: @ 82E6CB8
push {r4-r7,lr}
- ldr r2, _082E6D44
+ ldr r2, =gUnknown_03007890
ldr r0, [r2]
ldrb r1, [r0, 0x4]
ldrb r0, [r0, 0x5]
orrs r0, r1
cmp r0, 0
beq _082E6D3E
- ldr r1, _082E6D48
+ ldr r1, =0x04000208
ldrh r0, [r1]
mov r12, r0
movs r0, 0
strh r0, [r1]
- ldr r1, _082E6D4C
+ ldr r1, =gUnknown_03007894
ldr r0, [r1]
ldrb r0, [r0, 0x2]
lsrs r7, r0, 4
movs r3, 0
adds r6, r1, 0
adds r5, r2, 0
- ldr r4, _082E6D50
+ ldr r4, =gUnknown_03007880
_082E6CE2:
movs r0, 0x80
lsls r0, 17
@@ -6253,7 +6093,7 @@ _082E6D28:
ldr r0, [r6]
movs r1, 0
strb r1, [r0, 0x2]
- ldr r0, _082E6D48
+ ldr r0, =0x04000208
mov r1, r12
strh r1, [r0]
_082E6D3E:
@@ -6261,16 +6101,13 @@ _082E6D3E:
pop {r0}
bx r0
.align 2, 0
-_082E6D44: .4byte gUnknown_03007890
-_082E6D48: .4byte 0x04000208
-_082E6D4C: .4byte gUnknown_03007894
-_082E6D50: .4byte gUnknown_03007880
+ .pool
thumb_func_end rfu_NI_checkCommFailCounter
thumb_func_start rfu_REQ_noise
rfu_REQ_noise: @ 82E6D54
push {lr}
- ldr r0, _082E6D68
+ ldr r0, =rfu_STC_REQ_callback
bl STWI_set_Callback_M
movs r0, 0x1
movs r1, 0
@@ -6278,7 +6115,7 @@ rfu_REQ_noise: @ 82E6D54
pop {r0}
bx r0
.align 2, 0
-_082E6D68: .4byte rfu_STC_REQ_callback
+ .pool
thumb_func_end rfu_REQ_noise
thumb_func_start sub_82E6D6C
@@ -6288,7 +6125,7 @@ sub_82E6D6C: @ 82E6D6C
push {r7}
lsls r0, 24
lsrs r5, r0, 24
- ldr r0, _082E6D84
+ ldr r0, =0x04000208
ldrh r0, [r0]
cmp r0, 0
bne _082E6D88
@@ -6296,32 +6133,29 @@ sub_82E6D6C: @ 82E6D6C
negs r0, r0
b _082E6E08
.align 2, 0
-_082E6D84: .4byte 0x04000208
+ .pool
_082E6D88:
- ldr r0, _082E6DB4
+ ldr r0, =0x04000200
ldrh r0, [r0]
mov r8, r0
- ldr r4, _082E6DB8
+ ldr r4, =gRfuState
ldr r1, [r4]
movs r0, 0xA
str r0, [r1]
- ldr r0, _082E6DBC
+ ldr r0, =sub_82E6F88
bl STWI_set_Callback_ID
bl sub_82E6E20
ldr r0, [r4]
ldrb r0, [r0, 0xA]
lsls r0, 2
- ldr r1, _082E6DC0
+ ldr r1, =0x04000100
adds r4, r0, r1
lsls r0, r5, 27
lsrs r5, r0, 24
movs r7, 0
b _082E6DD6
.align 2, 0
-_082E6DB4: .4byte 0x04000200
-_082E6DB8: .4byte gRfuState
-_082E6DBC: .4byte sub_82E6F88
-_082E6DC0: .4byte 0x04000100
+ .pool
_082E6DC4:
strh r6, [r4, 0x2]
strh r6, [r4]
@@ -6344,15 +6178,15 @@ _082E6DD6:
cmp r6, 0
beq _082E6DC4
_082E6DEA:
- ldr r1, _082E6E14
+ ldr r1, =0x04000208
movs r0, 0
strh r0, [r1]
- ldr r0, _082E6E18
+ ldr r0, =0x04000200
mov r2, r8
strh r2, [r0]
movs r0, 0x1
strh r0, [r1]
- ldr r0, _082E6E1C
+ ldr r0, =gRfuState
ldr r1, [r0]
movs r0, 0
str r0, [r1]
@@ -6365,20 +6199,18 @@ _082E6E08:
pop {r1}
bx r1
.align 2, 0
-_082E6E14: .4byte 0x04000208
-_082E6E18: .4byte 0x04000200
-_082E6E1C: .4byte gRfuState
+ .pool
thumb_func_end sub_82E6D6C
thumb_func_start sub_82E6E20
sub_82E6E20: @ 82E6E20
push {r4,r5,lr}
sub sp, 0x4
- ldr r3, _082E6E78
+ ldr r3, =0x04000208
movs r4, 0
strh r4, [r3]
- ldr r2, _082E6E7C
- ldr r0, _082E6E80
+ ldr r2, =0x04000200
+ ldr r0, =gRfuState
ldr r0, [r0]
movs r1, 0x8
ldrb r0, [r0, 0xA]
@@ -6390,7 +6222,7 @@ sub_82E6E20: @ 82E6E20
strh r0, [r2]
movs r0, 0x1
strh r0, [r3]
- ldr r0, _082E6E84
+ ldr r0, =0x04000134
strh r4, [r0]
subs r2, 0xD8
movs r1, 0x80
@@ -6405,30 +6237,24 @@ sub_82E6E20: @ 82E6E20
strh r0, [r2]
movs r0, 0
str r0, [sp]
- ldr r1, _082E6E88
- ldr r2, _082E6E8C
+ ldr r1, =gUnknown_030078A0
+ ldr r2, =0x05000003
mov r0, sp
bl CpuSet
- ldr r0, _082E6E90
+ ldr r0, =0x04000202
strh r5, [r0]
add sp, 0x4
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_082E6E78: .4byte 0x04000208
-_082E6E7C: .4byte 0x04000200
-_082E6E80: .4byte gRfuState
-_082E6E84: .4byte 0x04000134
-_082E6E88: .4byte gUnknown_030078A0
-_082E6E8C: .4byte 0x05000003
-_082E6E90: .4byte 0x04000202
+ .pool
thumb_func_end sub_82E6E20
thumb_func_start sub_82E6E94
sub_82E6E94: @ 82E6E94
push {r4-r7,lr}
- ldr r0, _082E6EA8
+ ldr r0, =gUnknown_030078A0
ldrb r1, [r0, 0x1]
mov r12, r1
adds r7, r0, 0
@@ -6438,19 +6264,19 @@ sub_82E6E94: @ 82E6E94
beq _082E6EE4
b _082E6F7C
.align 2, 0
-_082E6EA8: .4byte gUnknown_030078A0
+ .pool
_082E6EAC:
movs r6, 0x1
strb r6, [r7]
- ldr r3, _082E6ED8
+ ldr r3, =0x04000128
ldrh r0, [r3]
movs r5, 0x1
orrs r0, r5
strh r0, [r3]
- ldr r4, _082E6EDC
+ ldr r4, =0x04000208
mov r0, r12
strh r0, [r4]
- ldr r2, _082E6EE0
+ ldr r2, =0x04000200
ldrh r0, [r2]
movs r1, 0x80
orrs r0, r1
@@ -6462,9 +6288,7 @@ _082E6EAC:
strb r0, [r3]
b _082E6F80
.align 2, 0
-_082E6ED8: .4byte 0x04000128
-_082E6EDC: .4byte 0x04000208
-_082E6EE0: .4byte 0x04000200
+ .pool
_082E6EE4:
ldrh r0, [r7, 0xA]
cmp r0, 0
@@ -6475,9 +6299,9 @@ _082E6EE4:
ldrh r0, [r7, 0x2]
cmp r0, 0
bne _082E6F80
- ldr r3, _082E6F0C
+ ldr r3, =0x04000208
strh r0, [r3]
- ldr r2, _082E6F10
+ ldr r2, =0x04000128
ldrh r0, [r2]
movs r1, 0x80
orrs r0, r1
@@ -6486,32 +6310,31 @@ _082E6EE4:
strh r1, [r3]
b _082E6F80
.align 2, 0
-_082E6F0C: .4byte 0x04000208
-_082E6F10: .4byte 0x04000128
+ .pool
_082E6F14:
ldrh r1, [r7, 0x4]
- ldr r0, _082E6F60
+ ldr r0, =0x00008001
cmp r1, r0
beq _082E6F80
ldrh r6, [r7, 0x2]
cmp r6, 0
bne _082E6F80
- ldr r4, _082E6F64
+ ldr r4, =0x04000208
strh r6, [r4]
- ldr r3, _082E6F68
+ ldr r3, =0x04000200
ldrh r1, [r3]
- ldr r0, _082E6F6C
+ ldr r0, =0x0000ff7f
ands r0, r1
strh r0, [r3]
mov r7, r12
strh r7, [r4]
- ldr r2, _082E6F70
+ ldr r2, =0x04000128
strh r6, [r2]
movs r1, 0x80
lsls r1, 5
adds r0, r1, 0
strh r0, [r2]
- ldr r0, _082E6F74
+ ldr r0, =0x04000202
movs r5, 0x80
strh r5, [r0]
ldrh r0, [r2]
@@ -6528,12 +6351,7 @@ _082E6F14:
strh r0, [r4]
b _082E6F80
.align 2, 0
-_082E6F60: .4byte 0x00008001
-_082E6F64: .4byte 0x04000208
-_082E6F68: .4byte 0x04000200
-_082E6F6C: .4byte 0x0000ff7f
-_082E6F70: .4byte 0x04000128
-_082E6F74: .4byte 0x04000202
+ .pool
_082E6F78:
movs r0, 0x2
strb r0, [r7, 0x1]
@@ -6551,14 +6369,14 @@ _082E6F82:
thumb_func_start sub_82E6F88
sub_82E6F88: @ 82E6F88
push {r4,r5,lr}
- ldr r0, _082E6FD0
+ ldr r0, =0x04000120
ldr r5, [r0]
- ldr r0, _082E6FD4
+ ldr r0, =gUnknown_030078A0
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0x1
beq sub_82E6FA2
- ldr r0, _082E6FD8
+ ldr r0, =0x04000128
ldrh r1, [r0]
movs r2, 0x80
orrs r1, r2
@@ -6590,9 +6408,7 @@ sub_82E6FA2: @ 82E6FA2
strh r5, [r4, 0xA]
b _082E6FF6
.align 2, 0
-_082E6FD0: .4byte 0x04000120
-_082E6FD4: .4byte gUnknown_030078A0
-_082E6FD8: .4byte 0x04000128
+ .pool
_082E6FDC:
ldrh r0, [r4, 0x4]
mvns r0, r0
@@ -6613,19 +6429,19 @@ _082E6FF6:
cmp r0, 0x3
bhi _082E700C
lsls r0, 1
- ldr r1, _082E7008
+ ldr r1, =gUnknown_089A3258
adds r0, r1
ldrh r0, [r0]
b _082E700E
.align 2, 0
-_082E7008: .4byte gUnknown_089A3258
+ .pool
_082E700C:
- ldr r0, _082E7064
+ ldr r0, =0x00008001
_082E700E:
strh r0, [r4, 0x4]
mvns r0, r5
strh r0, [r4, 0x6]
- ldr r3, _082E7068
+ ldr r3, =0x04000120
ldrh r2, [r4, 0x4]
ldrb r1, [r4]
movs r0, 0x1
@@ -6643,12 +6459,12 @@ _082E700E:
ldrh r0, [r4, 0x2]
cmp r0, 0
bne _082E703E
- ldr r0, _082E706C
+ ldr r0, =0x0000494e
cmp r5, r0
bne _082E705C
_082E703E:
movs r0, 0
- ldr r1, _082E7070
+ ldr r1, =0x00000257
_082E7042:
adds r0, 0x1
lsls r0, 16
@@ -6658,7 +6474,7 @@ _082E7042:
ldrh r0, [r4, 0xA]
cmp r0, 0
bne _082E705C
- ldr r0, _082E7074
+ ldr r0, =0x04000128
ldrh r1, [r0]
movs r2, 0x80
orrs r1, r2
@@ -6668,11 +6484,7 @@ _082E705C:
pop {r0}
bx r0
.align 2, 0
-_082E7064: .4byte 0x00008001
-_082E7068: .4byte 0x04000120
-_082E706C: .4byte 0x0000494e
-_082E7070: .4byte 0x00000257
-_082E7074: .4byte 0x04000128
+ .pool
thumb_func_end sub_82E6FA2
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
new file mode 100644
index 000000000..1179b9866
--- /dev/null
+++ b/asm/link_rfu.s
@@ -0,0 +1,2021 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8011404
+sub_8011404: @ 8011404
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x31
+ bne _08011410
+ b _08011570
+_08011410:
+ cmp r4, 0x31
+ bgt _0801143E
+ cmp r4, 0x22
+ beq _08011494
+ cmp r4, 0x22
+ bgt _0801142C
+ cmp r4, 0x20
+ beq _0801147C
+ cmp r4, 0x20
+ ble _08011426
+ b _080115DE
+_08011426:
+ cmp r4, 0
+ beq _0801146E
+ b _080115DE
+_0801142C:
+ cmp r4, 0x24
+ beq _080114BA
+ cmp r4, 0x24
+ blt _080114B0
+ cmp r4, 0x25
+ beq _08011504
+ cmp r4, 0x30
+ beq _0801150E
+ b _080115DE
+_0801143E:
+ cmp r4, 0x44
+ bgt _08011454
+ cmp r4, 0x42
+ blt _08011448
+ b _080115DE
+_08011448:
+ cmp r4, 0x33
+ beq _08011522
+ cmp r4, 0x33
+ bge _08011452
+ b _0801158C
+_08011452:
+ b _080115DE
+_08011454:
+ cmp r4, 0xF3
+ bne _0801145A
+ b _080115AC
+_0801145A:
+ cmp r4, 0xF3
+ bgt _08011466
+ cmp r4, 0xF0
+ bge _08011464
+ b _080115DE
+_08011464:
+ b _080115C4
+_08011466:
+ cmp r4, 0xFF
+ bne _0801146C
+ b _080115C4
+_0801146C:
+ b _080115DE
+_0801146E:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x6
+ strh r0, [r1, 0x4]
+ b _080115DE
+ .pool
+_0801147C:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000ccd
+ adds r0, r2
+ b _080115DC
+ .pool
+_08011494:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000c3e
+ adds r0, r2
+ ldrb r2, [r0]
+ b _080115DC
+ .pool
+_080114B0:
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+ b _080115DE
+_080114BA:
+ ldr r4, =gUnknown_03005000
+ movs r1, 0
+ movs r0, 0xB
+ strh r0, [r4, 0x4]
+ ldr r2, =0x00000c85
+ adds r0, r4, r2
+ strb r1, [r0]
+ ldr r0, =0x00000c86
+ adds r2, r4, r0
+ strb r1, [r2]
+ ldr r1, =0x00000c3e
+ adds r5, r4, r1
+ ldrb r1, [r5]
+ movs r0, 0x20
+ movs r3, 0x1
+ bl rfu_setRecvBuffer
+ ldrb r1, [r5]
+ ldr r2, =0x00000c3f
+ adds r4, r2
+ movs r0, 0x10
+ adds r2, r4, 0
+ movs r3, 0x46
+ bl rfu_setRecvBuffer
+ b _080115DE
+ .pool
+_08011504:
+ movs r0, 0x2
+ movs r1, 0x25
+ bl sub_8011A64
+ b _080115DE
+_0801150E:
+ ldr r0, =gUnknown_03005000
+ adds r2, r0, 0
+ adds r2, 0xF0
+ movs r1, 0x2
+ strb r1, [r2]
+ ldr r1, =0x00000c86
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ beq _080115DE
+_08011522:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ beq _08011532
+ movs r0, 0x4
+ strb r0, [r1]
+_08011532:
+ ldr r1, =0x00000c86
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ beq _08011544
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+_08011544:
+ ldr r0, =gUnknown_082ED7FC
+ movs r1, 0x5
+ movs r2, 0x5
+ bl nullsub_5
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080115DE
+ adds r0, r4, 0
+ bl sub_8011170
+ b _080115DE
+ .pool
+_08011570:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, =gUnknown_082ED814
+ movs r1, 0x5
+ movs r2, 0x5
+ bl nullsub_5
+ b _080115DE
+ .pool
+_0801158C:
+ ldr r1, =gUnknown_03005000
+ adds r2, r1, 0
+ adds r2, 0xF0
+ movs r0, 0x3
+ strb r0, [r2]
+ ldr r2, =0x00000c3c
+ adds r1, r2
+ ldrb r0, [r1]
+ movs r0, 0x1
+ strb r0, [r1]
+ b _080115DE
+ .pool
+_080115AC:
+ movs r0, 0x1
+ movs r1, 0xF3
+ bl sub_8011A64
+ movs r0, 0xF3
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xEF
+ b _080115DA
+ .pool
+_080115C4:
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_8011A64
+ adds r0, r4, 0
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000cdb
+ adds r0, r1
+ ldrb r1, [r0]
+_080115DA:
+ movs r1, 0x1
+_080115DC:
+ strb r1, [r0]
+_080115DE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011404
+
+ thumb_func_start sub_80115EC
+sub_80115EC: @ 80115EC
+ push {r4-r6,lr}
+ adds r3, r0, 0
+ movs r2, 0
+ movs r6, 0x1
+ ldr r0, =gUnknown_03005000
+ ldr r4, =0x00000cea
+ adds r1, r0, r4
+ movs r5, 0
+ movs r4, 0xFF
+_080115FE:
+ adds r0, r3, 0
+ asrs r0, r2
+ ands r0, r6
+ cmp r0, 0
+ beq _08011610
+ strb r5, [r1]
+ ldrb r0, [r1, 0x4]
+ orrs r0, r4
+ strb r0, [r1, 0x4]
+_08011610:
+ adds r1, 0x1
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080115FE
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_80115EC
+
+ thumb_func_start sub_8011628
+sub_8011628: @ 8011628
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r3, 0
+ movs r2, 0
+ movs r4, 0x1
+ ldr r6, =gUnknown_03007890
+ movs r7, 0x7F
+_08011636:
+ adds r0, r5, 0
+ asrs r0, r2
+ ands r0, r4
+ cmp r0, 0
+ beq _0801165C
+ lsls r1, r2, 5
+ adds r1, 0x14
+ ldr r0, [r6]
+ adds r0, r1
+ ldrb r1, [r0, 0x10]
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0x45
+ bne _0801165C
+ adds r0, r4, 0
+ lsls r0, r2
+ orrs r3, r0
+ lsls r0, r3, 24
+ lsrs r3, r0, 24
+_0801165C:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _08011636
+ adds r0, r3, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8011628
+
+ thumb_func_start sub_8011674
+sub_8011674: @ 8011674
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x25
+ bne _08011680
+ b _080118EC
+_08011680:
+ cmp r4, 0x25
+ bgt _080116C2
+ cmp r4, 0x14
+ bne _0801168A
+ b _08011804
+_0801168A:
+ cmp r4, 0x14
+ bgt _080116A2
+ cmp r4, 0x11
+ beq _08011722
+ cmp r4, 0x11
+ ble _08011698
+ b _08011A42
+_08011698:
+ cmp r4, 0
+ beq _0801170C
+ cmp r4, 0x10
+ beq _08011718
+ b _08011A42
+_080116A2:
+ cmp r4, 0x22
+ bne _080116A8
+ b _08011868
+_080116A8:
+ cmp r4, 0x22
+ bgt _080116B4
+ cmp r4, 0x20
+ bne _080116B2
+ b _08011850
+_080116B2:
+ b _08011A42
+_080116B4:
+ cmp r4, 0x23
+ bne _080116BA
+ b _08011884
+_080116BA:
+ cmp r4, 0x24
+ bne _080116C0
+ b _080118BA
+_080116C0:
+ b _08011A42
+_080116C2:
+ cmp r4, 0x44
+ bgt _080116F2
+ cmp r4, 0x42
+ blt _080116CC
+ b _08011A42
+_080116CC:
+ cmp r4, 0x32
+ bne _080116D2
+ b _08011914
+_080116D2:
+ cmp r4, 0x32
+ bgt _080116E4
+ cmp r4, 0x30
+ bne _080116DC
+ b _08011940
+_080116DC:
+ cmp r4, 0x31
+ bne _080116E2
+ b _080118F6
+_080116E2:
+ b _08011A42
+_080116E4:
+ cmp r4, 0x33
+ bne _080116EA
+ b _08011948
+_080116EA:
+ cmp r4, 0x40
+ bne _080116F0
+ b _080119FC
+_080116F0:
+ b _08011A42
+_080116F2:
+ cmp r4, 0xF3
+ bne _080116F8
+ b _08011A0C
+_080116F8:
+ cmp r4, 0xF3
+ bgt _08011704
+ cmp r4, 0xF0
+ bge _08011702
+ b _08011A42
+_08011702:
+ b _08011A28
+_08011704:
+ cmp r4, 0xFF
+ bne _0801170A
+ b _08011A28
+_0801170A:
+ b _08011A42
+_0801170C:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x11
+ strh r0, [r1, 0x4]
+ b _08011A42
+ .pool
+_08011718:
+ movs r0, 0x4
+ movs r1, 0
+ bl sub_8011A64
+ b _08011A42
+_08011722:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x45
+ bne _080117DC
+ ldr r5, =gUnknown_03005000
+ ldr r1, =0x00000cd9
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080117DC
+ ldr r0, =gUnknown_03004140
+ ldrh r0, [r0, 0x14]
+ bl sub_8011628
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _080117A6
+ adds r0, r4, 0
+ bl sub_800E87C
+ movs r2, 0x1
+ mov r12, r2
+ mov r1, r12
+ lsls r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r7, =0x00000ce6
+ adds r6, r5, r7
+ ldrb r2, [r6]
+ cmp r2, 0
+ bne _08011798
+ ldr r0, =0x00000ce8
+ adds r3, r5, r0
+ ldrb r0, [r3]
+ cmp r0, 0
+ bne _08011798
+ subs r7, 0x1
+ adds r0, r5, r7
+ strb r1, [r0]
+ eors r1, r4
+ orrs r1, r2
+ strb r1, [r6]
+ mov r0, r12
+ strb r0, [r3]
+ b _080117A6
+ .pool
+_08011798:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce6
+ adds r0, r1
+ ldrb r2, [r0]
+ adds r1, r4, 0
+ orrs r1, r2
+ strb r1, [r0]
+_080117A6:
+ ldr r0, =gUnknown_03004140
+ ldrh r1, [r0, 0x14]
+ cmp r4, r1
+ beq _080117F6
+ ldr r2, =gUnknown_03005000
+ ldr r7, =0x00000ce3
+ adds r3, r2, r7
+ adds r0, r4, 0
+ eors r0, r1
+ ldrb r1, [r3]
+ orrs r0, r1
+ strb r0, [r3]
+ ldr r0, =0x00000ce4
+ adds r2, r0
+ movs r0, 0x2
+ strb r0, [r2]
+ b _080117F6
+ .pool
+_080117DC:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x54
+ bne _080117F6
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0]
+ bl rfu_REQ_disconnect
+ bl rfu_waitREQComplete
+_080117F6:
+ ldr r0, =gUnknown_03004140
+ ldrh r0, [r0, 0x14]
+ bl sub_80115EC
+ b _08011A42
+ .pool
+_08011804:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r0, 0x7F
+ ands r0, r1
+ cmp r0, 0x45
+ beq _08011836
+ ldr r4, =gUnknown_03004140
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x1
+ bls _08011836
+ ldrb r0, [r4, 0x14]
+ bl sub_800E87C
+ movs r1, 0x80
+ lsls r1, 17
+ lsls r1, r0
+ lsrs r1, 24
+ ldrb r0, [r4]
+ eors r1, r0
+ adds r0, r1, 0
+ bl rfu_REQ_disconnect
+ bl rfu_waitREQComplete
+_08011836:
+ ldr r1, =gUnknown_03005000
+ ldrh r0, [r1, 0x4]
+ cmp r0, 0xF
+ beq _08011840
+ b _08011A42
+_08011840:
+ movs r0, 0x10
+ strh r0, [r1, 0x4]
+ b _08011A42
+ .pool
+_08011850:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r2, =0x00000ccd
+ adds r0, r2
+ b _08011A40
+ .pool
+_08011868:
+ ldr r0, =gUnknown_03005000
+ ldr r1, =gUnknown_03004140
+ ldrh r1, [r1, 0x14]
+ ldr r7, =0x00000c3e
+ adds r0, r7
+ ldrb r2, [r0]
+ b _08011A40
+ .pool
+_08011884:
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x12
+ strh r0, [r1, 0x4]
+ ldr r0, =0x00000ccf
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bhi _080118B0
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, =sub_801209C
+ movs r1, 0x2
+ bl CreateTask
+ b _08011A42
+ .pool
+_080118B0:
+ movs r0, 0x2
+ movs r1, 0x23
+ bl sub_8011A64
+ b _08011A42
+_080118BA:
+ ldr r4, =gUnknown_03005000
+ movs r0, 0xD
+ strh r0, [r4, 0x4]
+ movs r0, 0x3
+ movs r1, 0
+ bl sub_8011A64
+ ldr r1, =0x00000c3e
+ adds r0, r4, r1
+ ldrb r1, [r0]
+ ldr r2, =0x00000c3f
+ adds r4, r2
+ movs r0, 0x10
+ adds r2, r4, 0
+ movs r3, 0x46
+ bl rfu_setRecvBuffer
+ b _08011A42
+ .pool
+_080118EC:
+ movs r0, 0x2
+ movs r1, 0x25
+ bl sub_8011A64
+ b _08011A42
+_080118F6:
+ ldr r0, =gUnknown_03004140
+ ldrb r1, [r0]
+ ldrh r0, [r0, 0x14]
+ ands r1, r0
+ cmp r1, 0
+ bne _08011904
+ b _08011A42
+_08011904:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011914:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0801192A
+ b _08011A42
+_0801192A:
+ ldr r7, =0x00000c3c
+ adds r0, r2, r7
+ ldrb r1, [r0]
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011940:
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ movs r1, 0x2
+ strb r1, [r0]
+_08011948:
+ ldr r2, =gUnknown_03005000
+ adds r1, r2, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0x2
+ beq _08011958
+ movs r0, 0x4
+ strb r0, [r1]
+_08011958:
+ ldrb r0, [r2, 0xC]
+ cmp r0, 0x1
+ bne _08011996
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080119B4
+ ldr r0, =0x00000ce2
+ adds r2, r0
+ ldr r0, =gUnknown_03004140
+ ldrb r1, [r0, 0x14]
+ ldrb r0, [r2]
+ bics r0, r1
+ strb r0, [r2]
+ cmp r0, 0
+ bne _08011990
+ adds r0, r4, 0
+ bl sub_8011170
+ b _080119B4
+ .pool
+_08011990:
+ bl sub_80111FC
+ b _080119B4
+_08011996:
+ ldr r1, =0x00000ce4
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _080119B4
+ ldr r0, =gReceivedRemoteLinkPlayers
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080119B4
+ adds r0, r4, 0
+ bl sub_8011170
+ movs r0, 0
+ bl sub_800C27C
+_080119B4:
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _080119DA
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0, 0x7]
+ cmp r0, 0
+ bne _080119DA
+ ldr r0, =sub_800EB44
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080119DA
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x11
+ strh r0, [r1, 0x4]
+_080119DA:
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8011A64
+ b _08011A42
+ .pool
+_080119FC:
+ ldr r0, =gUnknown_03005000
+ ldr r2, =0x00000ce3
+ adds r0, r2
+ b _08011A3E
+ .pool
+_08011A0C:
+ movs r0, 0x1
+ movs r1, 0xF3
+ bl sub_8011A64
+ movs r0, 0xF3
+ bl sub_8011170
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xEF
+ movs r1, 0x1
+ b _08011A40
+ .pool
+_08011A28:
+ adds r0, r4, 0
+ bl sub_8011170
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_8011A64
+ ldr r0, =gUnknown_03005000
+ ldr r7, =0x00000cdb
+ adds r0, r7
+ ldrb r1, [r0]
+_08011A3E:
+ movs r1, 0
+_08011A40:
+ strb r1, [r0]
+_08011A42:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011674
+
+ thumb_func_start sub_8011A50
+sub_8011A50: @ 8011A50
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce4
+ adds r0, r1
+ movs r1, 0x2
+ strb r1, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A50
+
+ thumb_func_start sub_8011A64
+sub_8011A64: @ 8011A64
+ ldr r2, =gUnknown_03005000
+ adds r3, r2, 0
+ adds r3, 0xF1
+ strb r0, [r3]
+ strh r1, [r2, 0xA]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A64
+
+ thumb_func_start sub_8011A74
+sub_8011A74: @ 8011A74
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A74
+
+ thumb_func_start sub_8011A80
+sub_8011A80: @ 8011A80
+ push {lr}
+ bl sub_8011A74
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x1
+ bls _08011A94
+ movs r0, 0
+ b _08011A96
+_08011A94:
+ movs r0, 0x1
+_08011A96:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8011A80
+
+ thumb_func_start sub_8011A9C
+sub_8011A9C: @ 8011A9C
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000ce8
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_8011A9C
+
+ thumb_func_start Rfu_IsMaster
+Rfu_IsMaster: @ 8011AB0
+ ldr r0, =gUnknown_03005000
+ ldrb r0, [r0, 0xC]
+ bx lr
+ .pool
+ thumb_func_end Rfu_IsMaster
+
+ thumb_func_start RfuVSync
+RfuVSync: @ 8011ABC
+ push {lr}
+ bl rfu_syncVBlank_
+ pop {r0}
+ bx r0
+ thumb_func_end RfuVSync
+
+ thumb_func_start sub_8011AC8
+sub_8011AC8: @ 8011AC8
+ push {lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r1, =gRecvCmds
+ ldr r2, =0x05000014
+ mov r0, sp
+ bl CpuSet
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011AC8
+
+ thumb_func_start sub_8011AE8
+sub_8011AE8: @ 8011AE8
+ push {lr}
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011AE8
+
+ thumb_func_start sub_8011AFC
+sub_8011AFC: @ 8011AFC
+ push {r4,lr}
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ bl ResetTasks
+ bl ResetPaletteFade
+ ldr r0, =sub_8011AE8
+ bl SetVBlankCallback
+ bl IsWirelessAdapterConnected
+ lsls r0, 24
+ cmp r0, 0
+ beq _08011B70
+ ldr r1, =gLinkType
+ ldr r2, =0x00001111
+ adds r0, r2, 0
+ strh r0, [r1]
+ bl sub_800B488
+ bl OpenLink
+ ldr r0, =gMain
+ ldrh r0, [r0, 0x24]
+ bl SeedRng
+ movs r4, 0
+_08011B38:
+ bl Random
+ ldr r1, =gSaveBlock2Ptr
+ ldr r1, [r1]
+ adds r1, 0xA
+ adds r1, r4
+ strb r0, [r1]
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08011B38
+ movs r1, 0xAA
+ lsls r1, 5
+ movs r0, 0
+ bl SetGpuReg
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ bl sub_8011BA4
+ ldr r0, =sub_8011BF8
+ bl SetMainCallback2
+_08011B70:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011AFC
+
+ thumb_func_start sub_8011B90
+sub_8011B90: @ 8011B90
+ push {lr}
+ ldr r0, =sub_800EB44
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8011B90
+
+ thumb_func_start sub_8011BA4
+sub_8011BA4: @ 8011BA4
+ push {r4,lr}
+ ldr r4, =nullsub_89
+ adds r0, r4, 0
+ bl FuncIsActiveTask
+ lsls r0, 24
+ cmp r0, 0
+ bne _08011BC2
+ adds r0, r4, 0
+ movs r1, 0
+ bl CreateTask
+ ldr r1, =gUnknown_03005000
+ adds r1, 0x66
+ strb r0, [r1]
+_08011BC2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011BA4
+
+ thumb_func_start sub_8011BD0
+sub_8011BD0: @ 8011BD0
+ push {lr}
+ ldr r0, =nullsub_89
+ bl FuncIsActiveTask
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08011BEA
+ ldr r0, =gUnknown_03005000
+ adds r0, 0x66
+ ldrb r0, [r0]
+ bl DestroyTask
+_08011BEA:
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011BD0
+
+ thumb_func_start sub_8011BF8
+sub_8011BF8: @ 8011BF8
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011BF8
+
+ thumb_func_start sub_8011C10
+sub_8011C10: @ 8011C10
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r1, =gUnknown_03005000
+ movs r0, 0x1
+ strb r0, [r1, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_801120C
+ movs r1, 0
+ bl sub_800BF4C
+ ldr r2, =gUnknown_02022B2C
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082ED608
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldr r0, =gUnknown_082ED620
+ subs r4, 0x1
+ adds r4, r0
+ ldrb r0, [r4]
+ strh r0, [r2, 0x2]
+ bl sub_800EE78
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C10
+
+ thumb_func_start sub_8011C5C
+sub_8011C5C: @ 8011C5C
+ push {lr}
+ ldr r1, =gUnknown_03005000
+ movs r0, 0
+ strb r0, [r1, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_8011404
+ ldr r1, =sub_800ED34
+ bl sub_800BF4C
+ bl sub_800EF00
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C5C
+
+ thumb_func_start sub_8011C84
+sub_8011C84: @ 8011C84
+ push {r4-r7,lr}
+ ldr r4, =gUnknown_03005000
+ movs r5, 0
+ movs r0, 0x2
+ strb r0, [r4, 0xC]
+ bl sub_8010F48
+ ldr r0, =sub_8011674
+ movs r1, 0
+ bl sub_800BF4C
+ ldr r2, =gUnknown_02022B2C
+ adds r1, r2, 0
+ ldr r0, =gUnknown_082ED608
+ ldm r0!, {r3,r6,r7}
+ stm r1!, {r3,r6,r7}
+ ldm r0!, {r3,r6,r7}
+ stm r1!, {r3,r6,r7}
+ strb r5, [r2, 0x11]
+ movs r0, 0x96
+ lsls r0, 2
+ strh r0, [r2, 0x12]
+ ldr r0, =sub_800EB44
+ movs r1, 0x1
+ bl CreateTask
+ adds r4, 0x67
+ strb r0, [r4]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011C84
+
+ thumb_func_start sub_8011CD8
+sub_8011CD8: @ 8011CD8
+ ldrb r1, [r0, 0x1]
+ lsls r1, 8
+ ldrb r0, [r0]
+ orrs r0, r1
+ bx lr
+ thumb_func_end sub_8011CD8
+
+ thumb_func_start sub_8011CE4
+sub_8011CE4: @ 8011CE4
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ str r0, [sp]
+ lsls r1, 16
+ lsrs r1, 16
+ mov r10, r1
+ movs r0, 0xFF
+ mov r9, r0
+ movs r7, 0
+ ldr r1, =gUnknown_03007890
+ mov r8, r1
+_08011D02:
+ lsls r4, r7, 5
+ adds r5, r4, 0
+ adds r5, 0x14
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r5
+ adds r0, 0x8
+ bl sub_8011CD8
+ lsls r0, 16
+ lsrs r6, r0, 16
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4
+ ldrh r0, [r0, 0x18]
+ bl sub_8010454
+ cmp r0, 0
+ beq _08011D4C
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r5
+ adds r1, 0x15
+ ldr r0, [sp]
+ bl StringCompare
+ cmp r0, 0
+ bne _08011D4C
+ cmp r10, r6
+ bne _08011D4C
+ mov r9, r7
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0xFF
+ bne _08011D56
+_08011D4C:
+ adds r0, r7, 0x1
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0x3
+ bls _08011D02
+_08011D56:
+ mov r0, r9
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sub_8011CE4
+
+ thumb_func_start sub_8011D6C
+sub_8011D6C: @ 8011D6C
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl rfu_REQ_disconnect
+ bl rfu_waitREQComplete
+ ldr r4, =gUnknown_03005000
+ ldr r0, =0x00000ce2
+ adds r5, r4, r0
+ ldrb r0, [r5]
+ bics r0, r6
+ strb r0, [r5]
+ ldr r1, =0x00000cda
+ adds r6, r4, r1
+ ldrb r1, [r6]
+ movs r0, 0x1
+ bl rfu_clearSlot
+ ldrb r0, [r5]
+ ldr r1, =0x00000c87
+ adds r4, r1
+ adds r1, r4, 0
+ movs r2, 0x46
+ bl rfu_UNI_setSendData
+ ldrb r0, [r5]
+ bl sub_800E87C
+ strb r0, [r6]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011D6C
+
+ thumb_func_start sub_8011DC0
+sub_8011DC0: @ 8011DC0
+ push {lr}
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0xFF
+ beq _08011DDA
+ movs r0, 0x1
+ lsls r0, r1
+ bl sub_8011D6C
+_08011DDA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011DC0
+
+ thumb_func_start sub_8011DE0
+sub_8011DE0: @ 8011DE0
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _08011E20
+ movs r3, 0
+ movs r2, 0
+ ldr r5, =gUnknown_03005000+0xCDE
+ adds r6, r5, 0x4
+_08011DF0:
+ adds r0, r2, r5
+ ldrb r0, [r0]
+ cmp r0, r4
+ bne _08011E0E
+ ldrb r0, [r6]
+ asrs r0, r2
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08011E0E
+ adds r0, r1, 0
+ lsls r0, r2
+ orrs r3, r0
+ lsls r0, r3, 24
+ lsrs r3, r0, 24
+_08011E0E:
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08011DF0
+ cmp r3, 0
+ beq _08011E20
+ adds r0, r3, 0
+ movs r1, 0x2
+ bl sub_8011E94
+_08011E20:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011DE0
+
+ thumb_func_start sub_8011E2C
+sub_8011E2C: @ 8011E2C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r6, =gSendCmd
+ ldrh r0, [r6]
+ cmp r0, 0
+ bne _08011E7A
+ ldr r5, =gUnknown_03005000
+ ldr r1, =0x00000ce8
+ adds r0, r5, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08011E7A
+ movs r0, 0xED
+ lsls r0, 8
+ bl sub_800FD14
+ ldr r1, =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldrh r1, [r0, 0x8]
+ strh r1, [r6, 0x2]
+ ldrh r1, [r0, 0xA]
+ strh r1, [r6, 0x4]
+ ldr r1, =gUnknown_082ED695
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ adds r0, r1
+ ldrb r1, [r5, 0xD]
+ ldrb r0, [r0]
+ subs r1, r0
+ strb r1, [r5, 0xD]
+ ldrb r0, [r5, 0xD]
+ strh r0, [r6, 0x6]
+ adds r0, r4, 0
+ bl DestroyTask
+_08011E7A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011E2C
+
+ thumb_func_start sub_8011E94
+sub_8011E94: @ 8011E94
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ ldr r5, =sub_8011E2C
+ adds r0, r5, 0
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ bne _08011ECC
+ adds r0, r5, 0
+ movs r1, 0x5
+ bl CreateTask
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldr r1, =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ strh r4, [r0, 0x8]
+ b _08011EDC
+ .pool
+_08011ECC:
+ ldr r0, =gTasks
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x8]
+ orrs r4, r0
+ strh r4, [r1, 0x8]
+_08011EDC:
+ ldr r1, =gTasks
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ strh r6, [r0, 0xA]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011E94
+
+ thumb_func_start sub_8011EF4
+sub_8011EF4: @ 8011EF4
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ ldr r1, =gTasks + 0x8
+ adds r4, r0, r1
+ bl sub_800EE94
+ lsls r0, 24
+ cmp r0, 0
+ beq _08011FA4
+ adds r0, r4, 0
+ adds r0, 0x10
+ bl sub_8011CD8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _08011F8C
+ ldr r0, =gUnknown_03007890
+ ldr r0, [r0]
+ lsls r1, r2, 5
+ adds r0, r1
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0xFF
+ beq _08011F5C
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c3d
+ adds r0, r1
+ strb r2, [r0]
+ bl sub_800EEBC
+ cmp r0, 0
+ beq _08011FAA
+ b _08011F84
+ .pool
+_08011F5C:
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r5, 0x7F
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0x15
+ beq _08011FA4
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0x16
+ beq _08011FA4
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+_08011F84:
+ adds r0, r6, 0
+ bl DestroyTask
+ b _08011FAA
+_08011F8C:
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x1
+ strh r0, [r4, 0x1E]
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c3d
+ adds r0, r1
+ strb r2, [r0]
+ b _08011FAA
+ .pool
+_08011FA4:
+ ldrh r0, [r4, 0x1E]
+ adds r0, 0x1
+ strh r0, [r4, 0x1E]
+_08011FAA:
+ movs r1, 0x1E
+ ldrsh r0, [r4, r1]
+ cmp r0, 0xF0
+ ble _08011FC2
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ adds r0, r6, 0
+ bl DestroyTask
+_08011FC2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8011EF4
+
+ thumb_func_start sub_8011FC8
+sub_8011FC8: @ 8011FC8
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r5, r1, 16
+ lsrs r5, 16
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, =sub_8011EF4
+ movs r1, 0x3
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r0, 2
+ adds r4, r0
+ lsls r4, 3
+ ldr r0, =gTasks + 0x8
+ adds r4, r0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl StringCopy
+ strh r5, [r4, 0x10]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_8011FC8
+
+ thumb_func_start sub_801200C
+sub_801200C: @ 801200C
+ push {r4,r5,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r5, r0, 16
+ bl sub_800F7DC
+ ldrb r1, [r0, 0xA]
+ movs r2, 0x7F
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x45
+ bne _08012032
+ ldrb r1, [r4, 0xA]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x45
+ beq _08012092
+_0801202E:
+ movs r0, 0x1
+ b _08012094
+_08012032:
+ ldrb r1, [r4, 0xA]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _0801202E
+ cmp r5, 0x44
+ bne _08012092
+ ldr r5, =gUnknown_03005000+0x10A
+ ldrh r0, [r5, 0x8]
+ ldr r3, =0x000003ff
+ adds r2, r3, 0
+ ands r2, r0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r2, r0
+ bne _08012068
+ ldrh r1, [r4, 0x8]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, r2
+ beq _08012092
+ b _0801202E
+ .pool
+_08012068:
+ ldrh r1, [r4, 0x8]
+ adds r0, r3, 0
+ ands r0, r1
+ cmp r0, r2
+ bne _0801202E
+ ldrb r2, [r4, 0xB]
+ movs r0, 0xFE
+ ldrb r3, [r5, 0xB]
+ adds r1, r0, 0
+ ands r1, r2
+ ands r0, r3
+ cmp r1, r0
+ bne _0801202E
+ ldrb r2, [r4, 0x9]
+ movs r0, 0xFC
+ ldrb r3, [r5, 0x9]
+ adds r1, r0, 0
+ ands r1, r2
+ ands r0, r3
+ cmp r1, r0
+ bne _0801202E
+_08012092:
+ movs r0, 0
+_08012094:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801200C
+
+ thumb_func_start sub_801209C
+sub_801209C: @ 801209C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ mov r8, r5
+ ldr r6, =gUnknown_03005000
+ adds r0, r6, 0
+ adds r0, 0xF1
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _080120BA
+ adds r0, r5, 0
+ bl DestroyTask
+_080120BA:
+ ldr r1, =gTasks
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r4, r0, r1
+ ldrh r0, [r4, 0x8]
+ adds r0, 0x1
+ strh r0, [r4, 0x8]
+ lsls r0, 16
+ movs r1, 0x96
+ lsls r1, 17
+ cmp r0, r1
+ ble _080120E4
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ adds r0, r5, 0
+ bl DestroyTask
+_080120E4:
+ ldr r1, =0x00000ccd
+ adds r0, r6, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0801217C
+ ldr r0, =gUnknown_03004140
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ bne _0801217C
+ movs r2, 0x86
+ lsls r2, 1
+ adds r0, r6, r2
+ bl sub_8011CD8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r2, =0x00000119
+ adds r0, r6, r2
+ bl sub_8011CE4
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0xFF
+ beq _0801217C
+ movs r1, 0xA
+ ldrsh r0, [r4, r1]
+ ldr r7, =gUnknown_03007890
+ lsls r4, r2, 5
+ adds r2, r4, 0
+ adds r2, 0x14
+ ldr r1, [r7]
+ adds r1, r2
+ adds r1, 0x6
+ bl sub_801200C
+ cmp r0, 0
+ bne _0801216C
+ ldr r0, [r7]
+ adds r1, r0, r4
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0xFF
+ beq _0801217C
+ ldrh r0, [r1, 0x14]
+ movs r1, 0x5A
+ bl sub_800C12C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801217C
+ movs r0, 0xA
+ strh r0, [r6, 0x4]
+ adds r0, r5, 0
+ bl DestroyTask
+ b _0801217C
+ .pool
+_0801216C:
+ movs r1, 0xE0
+ lsls r1, 7
+ movs r0, 0x2
+ bl sub_8011A64
+ mov r0, r8
+ bl DestroyTask
+_0801217C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801209C
+
+ thumb_func_start sub_8012188
+sub_8012188: @ 8012188
+ push {r4-r7,lr}
+ adds r3, r0, 0
+ adds r5, r1, 0
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r6, =gUnknown_03005000
+ ldr r1, =0x00000ccf
+ adds r0, r6, r1
+ movs r7, 0
+ strb r7, [r0]
+ adds r0, r6, 0
+ adds r0, 0xF1
+ strb r7, [r0]
+ ldr r1, =0x00000119
+ adds r0, r6, r1
+ adds r1, r3, 0
+ bl StringCopy
+ movs r1, 0x85
+ lsls r1, 1
+ adds r0, r6, r1
+ adds r1, r5, 0
+ movs r2, 0xD
+ bl memcpy
+ bl sub_800D658
+ ldr r0, =sub_801209C
+ movs r1, 0x2
+ bl CreateTask
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, =gTasks
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r5
+ strh r4, [r1, 0xA]
+ ldr r0, =sub_800EB44
+ bl FindTaskIdByFunc
+ lsls r0, 24
+ lsrs r1, r0, 24
+ adds r2, r1, 0
+ cmp r4, 0x45
+ bne _08012210
+ cmp r1, 0xFF
+ beq _0801221E
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r5
+ movs r1, 0x1
+ strh r1, [r0, 0x16]
+ b _0801221E
+ .pool
+_08012210:
+ cmp r2, 0xFF
+ beq _0801221E
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r5
+ strh r7, [r0, 0x16]
+_0801221E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8012188
+
+ thumb_func_start sub_8012224
+sub_8012224: @ 8012224
+ push {lr}
+ ldr r0, =gUnknown_03005000
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _08012238
+ movs r0, 0
+ b _0801223A
+ .pool
+_08012238:
+ movs r0, 0x1
+_0801223A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012224
+
+ thumb_func_start sub_8012240
+sub_8012240: @ 8012240
+ push {r4,lr}
+ movs r1, 0
+ ldr r0, =gUnknown_03004140
+ ldrb r2, [r0]
+ ldr r4, =gUnknown_03005000+0xCD1
+ movs r3, 0x1
+_0801224C:
+ adds r0, r2, 0
+ asrs r0, r1
+ ands r0, r3
+ cmp r0, 0
+ beq _0801226C
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0801226C
+ movs r0, 0
+ b _08012274
+ .pool
+_0801226C:
+ adds r1, 0x1
+ cmp r1, 0x3
+ ble _0801224C
+ movs r0, 0x1
+_08012274:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8012240
+
+ thumb_func_start sub_801227C
+sub_801227C: @ 801227C
+ push {r4,lr}
+ movs r4, 0
+_08012280:
+ lsls r2, r4, 24
+ lsrs r2, 24
+ ldr r0, =gUnknown_082ED82C
+ movs r1, 0
+ bl nullsub_5
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08012280
+ pop {r4}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_801227C
+
+ thumb_func_start sub_801229C
+sub_801229C: @ 801229C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ bl GetBlockReceivedStatus
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1C
+ movs r2, 0x13
+ movs r3, 0x2
+ bl nullsub_13
+ ldr r4, =gUnknown_03007890
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x2]
+ movs r1, 0x14
+ movs r2, 0x1
+ movs r3, 0x1
+ bl nullsub_13
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x3]
+ movs r1, 0x17
+ movs r2, 0x1
+ movs r3, 0x1
+ bl nullsub_13
+ ldr r0, =gUnknown_03005000
+ ldrb r0, [r0, 0xC]
+ cmp r0, 0x1
+ bne _08012378
+ movs r6, 0
+ adds r7, r4, 0
+ movs r5, 0x14
+_080122E0:
+ ldr r2, [r7]
+ ldrb r0, [r2, 0x7]
+ asrs r0, r6
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0801231E
+ lsls r0, r6, 5
+ adds r0, r2, r0
+ ldrh r0, [r0, 0x18]
+ adds r4, r6, 0x3
+ lsls r4, 24
+ lsrs r4, 24
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, [r7]
+ adds r0, r5
+ adds r0, 0x6
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, [r7]
+ adds r0, r5
+ adds r0, 0x15
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+_0801231E:
+ adds r5, 0x20
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080122E0
+ movs r6, 0
+ ldr r0, =gUnknown_03005000
+ mov r8, r0
+_0801232C:
+ movs r5, 0
+ adds r7, r6, 0x1
+ lsls r0, r6, 3
+ adds r2, r6, 0
+ adds r2, 0xB
+ subs r0, r6
+ lsls r0, 1
+ mov r1, r8
+ adds r1, 0x14
+ adds r4, r0, r1
+ lsls r6, r2, 24
+_08012342:
+ ldrb r0, [r4]
+ lsls r1, r5, 25
+ lsrs r1, 24
+ lsrs r2, r6, 24
+ movs r3, 0x2
+ bl nullsub_13
+ adds r4, 0x1
+ adds r5, 0x1
+ cmp r5, 0xD
+ ble _08012342
+ adds r6, r7, 0
+ cmp r6, 0x3
+ ble _0801232C
+ ldr r0, =gUnknown_082ED868
+ movs r1, 0x1
+ movs r2, 0xF
+ bl nullsub_5
+ b _080124AA
+ .pool
+_08012378:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ beq _08012414
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _08012414
+ movs r6, 0
+ movs r5, 0xC0
+ lsls r5, 18
+_0801238C:
+ lsrs r4, r5, 24
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, =gUnknown_082ED84B
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, =gUnknown_082ED85B
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+ movs r1, 0x80
+ lsls r1, 17
+ adds r5, r1
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0801238C
+ ldr r5, =gUnknown_03007890
+ ldr r1, [r5]
+ ldr r4, =gUnknown_03005000
+ ldr r0, =0x00000c3e
+ adds r4, r0
+ ldrb r0, [r4]
+ lsls r0, 5
+ adds r1, r0
+ ldrh r0, [r1, 0x18]
+ movs r1, 0x1
+ movs r2, 0x3
+ movs r3, 0x4
+ bl nullsub_13
+ ldrb r1, [r4]
+ lsls r1, 5
+ adds r1, 0x14
+ ldr r0, [r5]
+ adds r0, r1
+ adds r0, 0x6
+ movs r1, 0x6
+ movs r2, 0x3
+ bl nullsub_5
+ ldrb r1, [r4]
+ lsls r1, 5
+ adds r1, 0x14
+ ldr r0, [r5]
+ adds r0, r1
+ adds r0, 0x15
+ movs r1, 0x16
+ movs r2, 0x3
+ bl nullsub_5
+ b _080124AA
+ .pool
+_08012414:
+ movs r6, 0
+ ldr r1, =gUnknown_03007890
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x8]
+ cmp r6, r0
+ bge _08012470
+ adds r7, r1, 0
+ movs r1, 0x14
+ mov r8, r1
+_08012426:
+ ldr r0, [r7]
+ lsls r5, r6, 5
+ adds r1, r0, r5
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0xFF
+ beq _08012462
+ ldrh r0, [r1, 0x18]
+ adds r4, r6, 0x3
+ lsls r4, 24
+ lsrs r4, 24
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, [r7]
+ adds r0, r5
+ ldrh r0, [r0, 0x14]
+ movs r1, 0x6
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, [r7]
+ add r0, r8
+ adds r0, 0x15
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+_08012462:
+ movs r0, 0x20
+ add r8, r0
+ adds r6, 0x1
+ ldr r0, [r7]
+ ldrb r0, [r0, 0x8]
+ cmp r6, r0
+ blt _08012426
+_08012470:
+ cmp r6, 0x3
+ bgt _080124AA
+ lsls r0, r6, 24
+ movs r1, 0xC0
+ lsls r1, 18
+ adds r5, r0, r1
+_0801247C:
+ lsrs r4, r5, 24
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r4, 0
+ movs r3, 0x4
+ bl nullsub_13
+ ldr r0, =gUnknown_082ED84B
+ movs r1, 0x6
+ adds r2, r4, 0
+ bl nullsub_5
+ ldr r0, =gUnknown_082ED85B
+ movs r1, 0x16
+ adds r2, r4, 0
+ bl nullsub_5
+ movs r0, 0x80
+ lsls r0, 17
+ adds r5, r0
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _0801247C
+_080124AA:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_801229C
+
+ thumb_func_start sub_80124C0
+sub_80124C0: @ 80124C0
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x00000c1a
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_80124C0
+
+ thumb_func_start sub_80124D4
+sub_80124D4: @ 80124D4
+ ldr r0, =gUnknown_03005000
+ ldr r1, =0x000009e6
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .pool
+ thumb_func_end sub_80124D4
+
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/list_menu.s b/asm/list_menu.s
deleted file mode 100755
index 5e6da159e..000000000
--- a/asm/list_menu.s
+++ /dev/null
@@ -1,1643 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ListMenuDummyTask
-@ void ListMenuDummyTask(u8 taskId)
-ListMenuDummyTask: @ 81AE458
- bx lr
- thumb_func_end ListMenuDummyTask
-
- thumb_func_start DoMysteryGiftListMenu
-@ int DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, int a3, int a4, int a5)
-DoMysteryGiftListMenu: @ 81AE45C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r0
- str r1, [sp]
- ldr r0, [sp, 0x28]
- lsls r2, 24
- lsrs r6, r2, 24
- mov r10, r6
- lsls r3, 16
- lsrs r7, r3, 16
- str r7, [sp, 0x4]
- lsls r0, 16
- mov r8, r0
- lsrs r0, 16
- mov r9, r0
- ldr r5, =gUnknown_0203CE84
- ldrb r4, [r5, 0x4]
- cmp r4, 0x1
- beq _081AE4F4
- cmp r4, 0x1
- ble _081AE492
- cmp r4, 0x2
- beq _081AE558
-_081AE492:
- mov r0, r12
- bl AddWindow
- strb r0, [r5, 0x5]
- cmp r6, 0x1
- beq _081AE4B0
- cmp r6, 0x2
- bne _081AE4C0
- ldrb r0, [r5, 0x5]
- mov r1, r9
- lsls r2, r1, 24
- lsrs r2, 24
- adds r1, r7, 0
- bl sub_809882C
-_081AE4B0:
- ldrb r0, [r5, 0x5]
- mov r3, r8
- lsrs r2, r3, 20
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x4]
- bl sub_8098858
-_081AE4C0:
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, [sp]
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldr r4, =gUnknown_0203CE84
- ldrb r1, [r4, 0x5]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r4, 0x6]
- ldrb r0, [r4, 0x5]
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x1
- strb r0, [r4, 0x4]
- b _081AE570
- .pool
-_081AE4F4:
- ldrb r0, [r5, 0x6]
- bl ListMenuHandleInput
- str r0, [r5]
- ldr r1, =gMain
- ldrh r0, [r1, 0x2E]
- ands r4, r0
- cmp r4, 0
- beq _081AE50A
- movs r0, 0x2
- strb r0, [r5, 0x4]
-_081AE50A:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081AE51E
- movs r0, 0x2
- negs r0, r0
- str r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0x4]
-_081AE51E:
- ldrb r0, [r5, 0x4]
- cmp r0, 0x2
- bne _081AE570
- cmp r6, 0
- bne _081AE534
- ldrb r0, [r5, 0x5]
- bl ClearWindowTilemap
- b _081AE546
- .pool
-_081AE534:
- mov r4, r10
- cmp r4, 0
- blt _081AE546
- cmp r4, 0x2
- bgt _081AE546
- ldrb r0, [r5, 0x5]
- movs r1, 0
- bl sub_819746C
-_081AE546:
- ldr r0, =gUnknown_0203CE84
- ldrb r0, [r0, 0x5]
- movs r1, 0x1
- bl CopyWindowToVram
- b _081AE570
- .pool
-_081AE558:
- ldrb r0, [r5, 0x6]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldrb r0, [r5, 0x5]
- bl RemoveWindow
- movs r0, 0
- strb r0, [r5, 0x4]
- ldr r0, [r5]
- b _081AE574
-_081AE570:
- movs r0, 0x1
- negs r0, r0
-_081AE574:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end DoMysteryGiftListMenu
-
- thumb_func_start ListMenuInit
-@ u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow)
-ListMenuInit: @ 81AE584
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- bl ListMenuInitInternal
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5, 0x10]
- bl PutWindowTilemap
- ldrb r0, [r5, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ListMenuInit
-
- thumb_func_start Unused_ListMenuInit2
-@ u8 Unused_ListMenuInit2(struct ListMenuTemplate *listMenuTemplate, int a2, u16 scrollOffset, u16 selectedRow)
-Unused_ListMenuInit2: @ 81AE5B0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r4, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- bl ListMenuInitInternal
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4, 0x4]
- cmp r0, 0xFF
- beq _081AE5F0
- adds r5, r4, 0
-_081AE5D4:
- ldrb r0, [r6, 0x10]
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldrb r3, [r5, 0x2]
- ldrb r4, [r5, 0x3]
- str r4, [sp]
- ldrb r4, [r5, 0x4]
- str r4, [sp, 0x4]
- bl PutWindowRectTilemapOverridePalette
- adds r5, 0x8
- ldrb r0, [r5, 0x4]
- cmp r0, 0xFF
- bne _081AE5D4
-_081AE5F0:
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end Unused_ListMenuInit2
-
- thumb_func_start ListMenuHandleInput
-@ int ListMenuHandleInput(u8 taskId)
-ListMenuHandleInput: @ 81AE604
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r3, r1, r0
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081AE638
- ldrh r0, [r3, 0x18]
- ldrh r1, [r3, 0x1A]
- adds r0, r1
- ldr r1, [r3]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _081AE6C2
- .pool
-_081AE638:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081AE646
- movs r0, 0x2
- negs r0, r0
- b _081AE6C2
-_081AE646:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081AE65A
- adds r0, r3, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0
- b _081AE6BA
-_081AE65A:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081AE66A
- adds r0, r3, 0
- movs r1, 0x1
- movs r2, 0x1
- b _081AE6B8
-_081AE66A:
- ldrb r0, [r3, 0x16]
- lsrs r0, 6
- cmp r0, 0x1
- beq _081AE680
- cmp r0, 0x1
- ble _081AE67A
- cmp r0, 0x2
- beq _081AE68C
-_081AE67A:
- movs r2, 0
- movs r0, 0
- b _081AE6A0
-_081AE680:
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0x10
- b _081AE69A
-_081AE68C:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0x80
- lsls r0, 1
-_081AE69A:
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
-_081AE6A0:
- cmp r2, 0
- beq _081AE6AE
- ldrb r2, [r3, 0xE]
- adds r0, r3, 0
- movs r1, 0x1
- movs r3, 0
- b _081AE6BA
-_081AE6AE:
- cmp r0, 0
- beq _081AE6BE
- ldrb r2, [r3, 0xE]
- adds r0, r3, 0
- movs r1, 0x1
-_081AE6B8:
- movs r3, 0x1
-_081AE6BA:
- bl ListMenuChangeSelection
-_081AE6BE:
- movs r0, 0x1
- negs r0, r0
-_081AE6C2:
- pop {r1}
- bx r1
- thumb_func_end ListMenuHandleInput
-
- thumb_func_start sub_81AE6C8
-sub_81AE6C8: @ 81AE6C8
- push {r4,lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r1, r0, r1
- cmp r3, 0
- beq _081AE6E4
- ldrh r0, [r1, 0x18]
- strh r0, [r3]
-_081AE6E4:
- cmp r2, 0
- beq _081AE6EC
- ldrh r0, [r1, 0x1A]
- strh r0, [r2]
-_081AE6EC:
- ldrb r0, [r1, 0x1E]
- cmp r0, 0xFF
- beq _081AE6FC
- ldrb r1, [r1, 0x17]
- lsrs r1, 6
- subs r1, 0x2
- bl ListMenuRemoveCursorObject
-_081AE6FC:
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AE6C8
-
- thumb_func_start sub_81AE70C
-sub_81AE70C: @ 81AE70C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4, 0x10]
- ldrb r2, [r4, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- bl FillWindowPixelBuffer
- ldrh r1, [r4, 0x18]
- ldrh r3, [r4, 0xE]
- adds r0, r4, 0
- movs r2, 0
- bl ListMenuPrintEntries
- adds r0, r4, 0
- bl ListMenuDrawCursor
- ldrb r0, [r4, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AE70C
-
- thumb_func_start sub_81AE750
-sub_81AE750: @ 81AE750
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- lsrs r1, 20
- ldrb r6, [r4, 0x14]
- movs r5, 0xF
- adds r0, r5, 0
- ands r0, r6
- orrs r0, r1
- strb r0, [r4, 0x14]
- ands r2, r5
- ldrb r1, [r4, 0x15]
- movs r0, 0x10
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- lsrs r3, 20
- ands r0, r5
- orrs r0, r3
- strb r0, [r4, 0x15]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AE750
-
- thumb_func_start sub_81AE794
-sub_81AE794: @ 81AE794
- push {r4,r5,lr}
- adds r3, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4, 0x10]
- movs r1, 0x1
- adds r2, r3, 0
- bl SetWindowAttribute
- ldrb r0, [r4, 0x10]
- movs r1, 0x2
- adds r2, r5, 0
- bl SetWindowAttribute
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AE794
-
- thumb_func_start sub_81AE7D0
-sub_81AE7D0: @ 81AE7D0
- push {r4-r7,lr}
- sub sp, 0x20
- mov r12, r2
- ldr r5, [sp, 0x34]
- lsls r3, 16
- lsrs r3, 16
- adds r4, r3, 0
- mov r3, sp
- ldm r0!, {r2,r6,r7}
- stm r3!, {r2,r6,r7}
- ldm r0!, {r2,r6,r7}
- stm r3!, {r2,r6,r7}
- mov r0, sp
- movs r3, 0
- strh r1, [r0, 0x18]
- mov r1, r12
- strh r1, [r0, 0x1A]
- strb r3, [r0, 0x1C]
- strb r3, [r0, 0x1D]
- cmp r4, 0x40
- bne _081AE804
- movs r1, 0
- movs r2, 0x1
- movs r3, 0
- bl ListMenuChangeSelection
-_081AE804:
- cmp r4, 0x80
- bne _081AE814
- mov r0, sp
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl ListMenuChangeSelection
-_081AE814:
- cmp r5, 0
- beq _081AE81E
- mov r0, sp
- ldrh r0, [r0, 0x18]
- strh r0, [r5]
-_081AE81E:
- ldr r2, [sp, 0x38]
- cmp r2, 0
- beq _081AE82A
- mov r0, sp
- ldrh r0, [r0, 0x1A]
- strh r0, [r2]
-_081AE82A:
- movs r0, 0x1
- negs r0, r0
- add sp, 0x20
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81AE7D0
-
- thumb_func_start sub_81AE838
-sub_81AE838: @ 81AE838
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- cmp r2, 0
- beq _081AE856
- ldrh r0, [r1, 0x1A]
- ldrh r1, [r1, 0x18]
- adds r0, r1
- strh r0, [r2]
-_081AE856:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AE838
-
- thumb_func_start get_coro_args_x18_x1A
-get_coro_args_x18_x1A: @ 81AE860
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- cmp r3, 0
- beq _081AE87A
- ldrh r0, [r1, 0x18]
- strh r0, [r3]
-_081AE87A:
- cmp r2, 0
- beq _081AE882
- ldrh r0, [r1, 0x1A]
- strh r0, [r2]
-_081AE882:
- pop {r0}
- bx r0
- .pool
- thumb_func_end get_coro_args_x18_x1A
-
- thumb_func_start ListMenuGetYCoordForPrintingArrowCursor
-@ u8 ListMenuGetYCoordForPrintingArrowCursor(u8 taskId)
-ListMenuGetYCoordForPrintingArrowCursor: @ 81AE88C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- ldrb r1, [r4, 0x16]
- lsls r1, 26
- lsrs r1, 29
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x1A]
- adds r2, r1, 0
- muls r2, r0
- adds r1, r2, 0
- ldrb r0, [r4, 0x14]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuGetYCoordForPrintingArrowCursor
-
- thumb_func_start ListMenuInitInternal
-@ u8 ListMenuInitInternal(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow)
-ListMenuInitInternal: @ 81AE8D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, =ListMenuDummyTask
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- adds r0, r7, 0
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- ldm r4!, {r1-r3}
- stm r0!, {r1-r3}
- movs r1, 0
- strh r5, [r7, 0x18]
- strh r6, [r7, 0x1A]
- strb r1, [r7, 0x1C]
- strb r1, [r7, 0x1D]
- movs r0, 0xFF
- strb r0, [r7, 0x1E]
- strb r1, [r7, 0x1F]
- ldr r3, =gUnknown_03006300
- ldrb r1, [r7, 0x14]
- movs r5, 0xF
- lsrs r1, 4
- ldrb r4, [r3]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r1
- strb r0, [r3]
- ldrb r1, [r7, 0x15]
- lsls r1, 28
- lsrs r1, 24
- ands r0, r5
- orrs r0, r1
- strb r0, [r3]
- ldrb r0, [r7, 0x15]
- lsrs r0, 4
- ands r5, r0
- ldrb r0, [r3, 0x1]
- ands r2, r0
- orrs r2, r5
- strb r2, [r3, 0x1]
- ldrb r1, [r7, 0x16]
- lsls r1, 29
- lsrs r1, 17
- ldr r0, [r3]
- ldr r2, =0xfffc0fff
- ands r0, r2
- orrs r0, r1
- str r0, [r3]
- ldrb r0, [r7, 0x17]
- lsls r0, 26
- lsrs r0, 26
- strb r0, [r3, 0x3]
- ldrh r0, [r7, 0xC]
- ldrh r1, [r7, 0xE]
- cmp r0, r1
- bcs _081AE96C
- strh r0, [r7, 0xE]
-_081AE96C:
- ldrb r0, [r7, 0x10]
- ldrb r2, [r7, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- bl FillWindowPixelBuffer
- ldrh r1, [r7, 0x18]
- ldrh r3, [r7, 0xE]
- adds r0, r7, 0
- movs r2, 0
- bl ListMenuPrintEntries
- adds r0, r7, 0
- bl ListMenuDrawCursor
- adds r0, r7, 0
- movs r1, 0x1
- bl ListMenuCallSelectionChangedCallback
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuInitInternal
-
- thumb_func_start ListMenuPrint
-@ void ListMenuPrint(struct ListMenu *listMenu, u8 *str, u8 x, u8 y)
-ListMenuPrint: @ 81AE9B4
- push {r4-r7,lr}
- sub sp, 0x18
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- ldr r5, =gUnknown_03006300
- ldrb r1, [r5, 0x3]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _081AEA20
- add r1, sp, 0x14
- ldr r2, [r5]
- lsls r0, r2, 24
- lsrs r0, 28
- movs r3, 0
- strb r0, [r1]
- lsls r0, r2, 28
- lsrs r0, 28
- strb r0, [r1, 0x1]
- lsls r0, r2, 20
- lsrs r0, 28
- strb r0, [r1, 0x2]
- ldrb r0, [r4, 0x10]
- lsls r1, r2, 1
- lsrs r1, 25
- lsls r2, 14
- lsrs r2, 26
- str r2, [sp]
- str r3, [sp, 0x4]
- add r2, sp, 0x14
- str r2, [sp, 0x8]
- movs r2, 0x1
- negs r2, r2
- str r2, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r2, r7, 0
- mov r3, r12
- bl AddTextPrinterParametrized2
- ldrb r1, [r5, 0x3]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5, 0x3]
- b _081AEA5E
- .pool
-_081AEA20:
- add r2, sp, 0x14
- ldrb r1, [r4, 0x15]
- lsls r0, r1, 28
- lsrs r0, 28
- strb r0, [r2]
- ldrb r0, [r4, 0x14]
- lsrs r0, 4
- strb r0, [r2, 0x1]
- adds r0, r2, 0
- lsls r1, 24
- lsrs r1, 28
- strb r1, [r0, 0x2]
- ldrb r0, [r4, 0x10]
- ldrb r1, [r4, 0x17]
- lsls r1, 26
- lsrs r1, 26
- ldrb r2, [r4, 0x16]
- lsls r2, 29
- lsrs r2, 29
- str r2, [sp]
- str r3, [sp, 0x4]
- add r2, sp, 0x14
- str r2, [sp, 0x8]
- movs r2, 0x1
- negs r2, r2
- str r2, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r2, r7, 0
- mov r3, r12
- bl AddTextPrinterParametrized2
-_081AEA5E:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ListMenuPrint
-
- thumb_func_start ListMenuPrintEntries
-@ void ListMenuPrintEntries(struct ListMenu *listMenu, u16 startIndex, u16 yOffset, u16 count)
-ListMenuPrintEntries: @ 81AEA68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- ldrb r0, [r4, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- ldrb r1, [r4, 0x16]
- lsls r1, 26
- lsrs r1, 29
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- mov r8, r0
- cmp r8, r10
- bge _081AEB10
-_081AEAAA:
- ldr r0, [r4]
- mov r2, r9
- lsls r1, r2, 3
- adds r0, r1, r0
- ldr r2, [r0, 0x4]
- movs r0, 0x3
- negs r0, r0
- adds r5, r1, 0
- cmp r2, r0
- beq _081AEAC2
- ldrb r6, [r4, 0x12]
- b _081AEAC4
-_081AEAC2:
- ldrb r6, [r4, 0x11]
-_081AEAC4:
- ldr r0, [sp]
- add r0, r8
- ldr r2, [sp, 0x4]
- adds r1, r0, 0
- muls r1, r2
- ldrb r0, [r4, 0x14]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r7, r2, 0
- ldr r3, [r4, 0x8]
- cmp r3, 0
- beq _081AEAEE
- ldrb r0, [r4, 0x10]
- ldr r1, [r4]
- adds r1, r5, r1
- ldr r1, [r1, 0x4]
- bl _call_via_r3
-_081AEAEE:
- ldr r0, [r4]
- adds r0, r5, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r2, r6, 0
- adds r3, r7, 0
- bl ListMenuPrint
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x1
- add r8, r0
- cmp r8, r10
- blt _081AEAAA
-_081AEB10:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ListMenuPrintEntries
-
- thumb_func_start ListMenuDrawCursor
-@ void ListMenuDrawCursor(struct ListMenu *listMenu)
-ListMenuDrawCursor: @ 81AEB20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- ldrb r1, [r6, 0x16]
- lsls r1, 26
- lsrs r1, 29
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6, 0x13]
- mov r8, r1
- ldrh r1, [r6, 0x1A]
- muls r1, r0
- ldrb r0, [r6, 0x14]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x17]
- lsrs r0, 6
- cmp r0, 0x1
- beq _081AEC0C
- cmp r0, 0x1
- bgt _081AEB66
- cmp r0, 0
- beq _081AEB70
- b _081AEC0C
-_081AEB66:
- cmp r0, 0x2
- beq _081AEB84
- cmp r0, 0x3
- beq _081AEBCC
- b _081AEC0C
-_081AEB70:
- ldr r1, =gText_SelectorArrow2
- adds r0, r6, 0
- mov r2, r8
- adds r3, r7, 0
- bl ListMenuPrint
- b _081AEC0C
- .pool
-_081AEB84:
- ldrb r0, [r6, 0x1E]
- cmp r0, 0xFF
- bne _081AEB94
- adds r0, r6, 0
- movs r1, 0
- bl ListMenuAddCursorObject
- strb r0, [r6, 0x1E]
-_081AEB94:
- ldrb r5, [r6, 0x1E]
- ldrb r0, [r6, 0x10]
- movs r1, 0x1
- bl GetWindowAttribute
- adds r4, r0, 0
- lsls r4, 19
- ldr r0, =0xffff0000
- adds r4, r0
- lsrs r4, 16
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl GetWindowAttribute
- adds r2, r0, 0
- lsls r2, 3
- adds r2, r7
- subs r2, 0x1
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl ListMenuUpdateCursorObject
- b _081AEC0C
- .pool
-_081AEBCC:
- ldrb r0, [r6, 0x1E]
- cmp r0, 0xFF
- bne _081AEBDC
- adds r0, r6, 0
- movs r1, 0x1
- bl ListMenuAddCursorObject
- strb r0, [r6, 0x1E]
-_081AEBDC:
- ldrb r5, [r6, 0x1E]
- ldrb r0, [r6, 0x10]
- movs r1, 0x1
- bl GetWindowAttribute
- adds r4, r0, 0
- lsls r4, 3
- add r4, r8
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl GetWindowAttribute
- adds r2, r0, 0
- lsls r2, 3
- adds r2, r7
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl ListMenuUpdateCursorObject
-_081AEC0C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ListMenuDrawCursor
-
- thumb_func_start ListMenuAddCursorObject
-ListMenuAddCursorObject: @ 81AEC18
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- mov r1, sp
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xA0
- strb r0, [r1, 0x1]
- ldrb r0, [r4, 0x10]
- movs r1, 0x3
- bl GetWindowAttribute
- mov r1, sp
- lsls r0, 3
- adds r0, 0x2
- strh r0, [r1, 0x2]
- ldrb r0, [r4, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- mov r1, sp
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x2
- strh r0, [r1, 0x4]
- movs r0, 0x80
- lsls r0, 7
- strh r0, [r1, 0x6]
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x8]
- movs r0, 0xF
- strb r0, [r1, 0xA]
- mov r0, sp
- adds r1, r5, 0
- bl ListMenuAddCursorObjectInternal
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuAddCursorObject
-
- thumb_func_start ListMenuErasePrintedCursor
-ListMenuErasePrintedCursor: @ 81AEC78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldrb r1, [r7, 0x17]
- lsrs r0, r1, 6
- cmp r0, 0
- bne _081AECF4
- lsls r0, r1, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- adds r4, r0, 0
- ldrb r0, [r7, 0x16]
- lsls r0, 26
- lsrs r0, 29
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r7, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r7, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- ldrb r6, [r7, 0x10]
- ldrb r2, [r7, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- ldrb r2, [r7, 0x13]
- mov r3, r8
- muls r3, r4
- adds r4, r3, 0
- ldrb r3, [r7, 0x14]
- lsls r3, 28
- lsrs r3, 28
- adds r3, r4
- lsls r3, 16
- lsrs r3, 16
- str r5, [sp]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl FillWindowPixelRect
-_081AECF4:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ListMenuErasePrintedCursor
-
- thumb_func_start ListMenuUpdateSelectedRowIndexAndScrollOffset
-@ u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(int, bool8 movingDown)
-ListMenuUpdateSelectedRowIndexAndScrollOffset: @ 81AED00
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- ldrh r3, [r4, 0x1A]
- ldrh r5, [r4, 0x18]
- cmp r1, 0
- bne _081AED74
- ldrh r0, [r4, 0xE]
- cmp r0, 0x1
- bne _081AED18
- movs r2, 0
- b _081AED2A
-_081AED18:
- ldrh r0, [r4, 0xE]
- lsrs r2, r0, 1
- movs r1, 0x1
- ands r1, r0
- adds r2, r1
- subs r0, r2
- subs r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_081AED2A:
- cmp r5, 0
- bne _081AED50
- cmp r3, 0
- beq _081AEDB6
- ldr r1, [r4]
- movs r2, 0x3
- negs r2, r2
-_081AED38:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r5, r3
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- cmp r0, r2
- bne _081AEDBA
- cmp r3, 0
- bne _081AED38
- b _081AEDB6
-_081AED50:
- cmp r3, r2
- bls _081AED70
- ldr r1, [r4]
- movs r6, 0x3
- negs r6, r6
-_081AED5A:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r5, r3
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- cmp r0, r6
- bne _081AEDBA
- cmp r3, r2
- bhi _081AED5A
-_081AED70:
- subs r0, r5, 0x1
- b _081AEDE2
-_081AED74:
- ldrh r0, [r4, 0xE]
- cmp r0, 0x1
- bne _081AED7E
- movs r2, 0
- b _081AED88
-_081AED7E:
- ldrh r0, [r4, 0xE]
- lsrs r2, r0, 1
- movs r1, 0x1
- ands r1, r0
- adds r2, r1
-_081AED88:
- adds r1, r0, 0
- ldrh r0, [r4, 0xC]
- subs r0, r1
- cmp r5, r0
- bne _081AEDC0
- subs r0, r1, 0x1
- cmp r3, r0
- bge _081AEDB6
- ldr r2, [r4]
- movs r6, 0x3
- negs r6, r6
- adds r1, r0, 0
-_081AEDA0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r5, r3
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0, 0x4]
- cmp r0, r6
- bne _081AEDBA
- cmp r3, r1
- blt _081AEDA0
-_081AEDB6:
- movs r0, 0
- b _081AEDE8
-_081AEDBA:
- strh r3, [r4, 0x1A]
- movs r0, 0x1
- b _081AEDE8
-_081AEDC0:
- cmp r3, r2
- bcs _081AEDE0
- ldr r1, [r4]
- movs r6, 0x3
- negs r6, r6
-_081AEDCA:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r5, r3
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- cmp r0, r6
- bne _081AEDBA
- cmp r3, r2
- bcc _081AEDCA
-_081AEDE0:
- adds r0, r5, 0x1
-_081AEDE2:
- strh r2, [r4, 0x1A]
- strh r0, [r4, 0x18]
- movs r0, 0x2
-_081AEDE8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ListMenuUpdateSelectedRowIndexAndScrollOffset
-
- thumb_func_start ListMenuScroll
-@ void ListMenuScroll(struct ListMenu *listMenu, int a2, bool8 movingDown)
-ListMenuScroll: @ 81AEDF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldrh r0, [r6, 0xE]
- cmp r5, r0
- bcc _081AEE2A
- ldrb r0, [r6, 0x10]
- ldrb r2, [r6, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- bl FillWindowPixelBuffer
- ldrh r1, [r6, 0x18]
- ldrh r3, [r6, 0xE]
- adds r0, r6, 0
- movs r2, 0
- bl ListMenuPrintEntries
- b _081AEF1A
-_081AEE2A:
- ldrb r0, [r6, 0x17]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0x1
- bl GetFontAttribute
- ldrb r1, [r6, 0x16]
- lsls r1, 26
- lsrs r1, 29
- adds r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, r8
- cmp r1, 0
- bne _081AEEBC
- ldrb r0, [r6, 0x10]
- adds r2, r5, 0
- muls r2, r4
- lsls r2, 24
- lsrs r2, 24
- ldrb r1, [r6, 0x15]
- lsls r1, 28
- lsrs r3, r1, 4
- orrs r3, r1
- lsrs r3, 24
- movs r1, 0x1
- bl ScrollWindow
- ldrh r1, [r6, 0x18]
- adds r0, r6, 0
- movs r2, 0
- adds r3, r5, 0
- bl ListMenuPrintEntries
- ldrh r0, [r6, 0xE]
- adds r1, r0, 0
- muls r1, r4
- adds r0, r1, 0
- ldrb r4, [r6, 0x14]
- lsls r4, 28
- lsrs r4, 28
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6, 0x10]
- movs r1, 0x3
- bl GetWindowAttribute
- adds r5, r0, 0
- lsls r5, 19
- lsrs r5, 16
- ldrb r0, [r6, 0x10]
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 3
- subs r0, r4
- lsls r0, 16
- lsrs r0, 16
- ldrb r3, [r6, 0x10]
- ldrb r2, [r6, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- str r5, [sp]
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r2, 0
- adds r3, r4, 0
- bl FillWindowPixelRect
- b _081AEF1A
-_081AEEBC:
- ldrb r0, [r6, 0x10]
- adds r2, r7, 0
- muls r2, r4
- lsls r2, 24
- lsrs r2, 24
- ldrb r1, [r6, 0x15]
- lsls r1, 28
- lsrs r3, r1, 4
- orrs r3, r1
- lsrs r3, 24
- movs r1, 0
- bl ScrollWindow
- ldrh r2, [r6, 0xE]
- subs r2, r7
- ldrh r1, [r6, 0x18]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- adds r0, r6, 0
- adds r3, r7, 0
- bl ListMenuPrintEntries
- ldrb r0, [r6, 0x10]
- movs r1, 0x3
- bl GetWindowAttribute
- lsls r0, 19
- lsrs r0, 16
- ldrb r3, [r6, 0x10]
- ldrb r2, [r6, 0x15]
- lsls r2, 28
- lsrs r1, r2, 4
- orrs r1, r2
- lsrs r1, 24
- str r0, [sp]
- ldrb r0, [r6, 0x14]
- lsls r0, 28
- lsrs r0, 28
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
-_081AEF1A:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ListMenuScroll
-
- thumb_func_start ListMenuChangeSelection
-@ bool8 ListMenuChangeSelection(struct ListMenu *listMenu, bool8 updateCursorAndCallCallback, u8 count, bool8 movingDown)
-ListMenuChangeSelection: @ 81AEF28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- ldrh r0, [r4, 0x1A]
- mov r10, r0
- movs r7, 0
- movs r5, 0
- movs r0, 0
- cmp r7, r8
- bcs _081AEF90
-_081AEF56:
- adds r6, r0, 0x1
- b _081AEF76
-_081AEF5A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r4, 0x18]
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- ldr r1, [r4]
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0, 0x4]
- movs r0, 0x3
- negs r0, r0
- cmp r1, r0
- bne _081AEF88
-_081AEF76:
- adds r0, r4, 0
- mov r1, r9
- bl ListMenuUpdateSelectedRowIndexAndScrollOffset
- lsls r0, 24
- lsrs r0, 24
- orrs r5, r0
- cmp r0, 0x2
- beq _081AEF5A
-_081AEF88:
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, r8
- bcc _081AEF56
-_081AEF90:
- ldr r0, [sp]
- cmp r0, 0
- beq _081AEFEE
- cmp r5, 0x1
- beq _081AEFA6
- cmp r5, 0x1
- ble _081AEFA2
- cmp r5, 0x3
- ble _081AEFC6
-_081AEFA2:
- movs r0, 0x1
- b _081AEFF0
-_081AEFA6:
- adds r0, r4, 0
- mov r1, r10
- bl ListMenuErasePrintedCursor
- adds r0, r4, 0
- bl ListMenuDrawCursor
- adds r0, r4, 0
- movs r1, 0
- bl ListMenuCallSelectionChangedCallback
- ldrb r0, [r4, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- b _081AEFEE
-_081AEFC6:
- adds r0, r4, 0
- mov r1, r10
- bl ListMenuErasePrintedCursor
- adds r0, r4, 0
- adds r1, r7, 0
- mov r2, r9
- bl ListMenuScroll
- adds r0, r4, 0
- bl ListMenuDrawCursor
- adds r0, r4, 0
- movs r1, 0
- bl ListMenuCallSelectionChangedCallback
- ldrb r0, [r4, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
-_081AEFEE:
- movs r0, 0
-_081AEFF0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ListMenuChangeSelection
-
- thumb_func_start ListMenuCallSelectionChangedCallback
-@ void ListMenuCallSelectionChangedCallback(struct ListMenu *listMenu, u8 a2)
-ListMenuCallSelectionChangedCallback: @ 81AF000
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r3, [r2, 0x4]
- cmp r3, 0
- beq _081AF022
- ldrh r0, [r2, 0x18]
- ldrh r1, [r2, 0x1A]
- adds r0, r1
- ldr r1, [r2]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- adds r1, r4, 0
- bl _call_via_r3
-_081AF022:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ListMenuCallSelectionChangedCallback
-
- thumb_func_start sub_81AF028
-sub_81AF028: @ 81AF028
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r6, =gUnknown_03006300
- movs r5, 0xF
- ands r0, r5
- ldrb r3, [r6]
- mov r8, r3
- movs r4, 0x10
- negs r4, r4
- adds r3, r4, 0
- mov r7, r8
- ands r3, r7
- orrs r3, r0
- lsrs r1, 20
- ands r3, r5
- orrs r3, r1
- strb r3, [r6]
- ands r2, r5
- ldrb r0, [r6, 0x1]
- ands r4, r0
- orrs r4, r2
- strb r4, [r6, 0x1]
- ldrb r0, [r6, 0x3]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r6, 0x3]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AF028
-
- thumb_func_start sub_81AF078
-sub_81AF078: @ 81AF078
- push {lr}
- lsls r1, 24
- cmp r1, 0
- bne _081AF086
- movs r0, 0x5
- bl PlaySE
-_081AF086:
- pop {r0}
- bx r0
- thumb_func_end sub_81AF078
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/load_save.s b/asm/load_save.s
deleted file mode 100644
index 2b4be8e67..000000000
--- a/asm/load_save.s
+++ /dev/null
@@ -1,669 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start MoveSaveBlocks_ResetHeap
-MoveSaveBlocks_ResetHeap: @ 8076C2C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r5, =gMain
- ldr r0, [r5, 0xC]
- str r0, [sp]
- ldr r1, [r5, 0x10]
- str r1, [sp, 0x4]
- movs r0, 0
- str r0, [r5, 0xC]
- str r0, [r5, 0x10]
- ldr r1, =gUnknown_0203CF5C
- str r0, [r1]
- ldr r4, =0x02000000
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r6, =0x00000f2c
- adds r0, r4, 0
- adds r2, r6, 0
- bl memcpy
- ldr r1, =gSaveBlock1Ptr
- mov r10, r1
- ldr r1, [r1]
- ldr r7, =0x00003d88
- ldr r0, =0x02000f2c
- adds r2, r7, 0
- bl memcpy
- ldr r0, =gPokemonStoragePtr
- mov r8, r0
- ldr r1, [r0]
- ldr r0, =0x000083d0
- mov r9, r0
- ldr r0, =0x02004cb4
- mov r2, r9
- bl memcpy
- ldrb r1, [r4, 0xA]
- ldrb r0, [r4, 0xB]
- adds r1, r0
- ldrb r0, [r4, 0xC]
- adds r1, r0
- ldrb r0, [r4, 0xD]
- adds r0, r1
- bl SetSaveBlocksPointers
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r1, r4, 0
- adds r2, r6, 0
- bl memcpy
- mov r1, r10
- ldr r0, [r1]
- ldr r1, =0x02000f2c
- adds r2, r7, 0
- bl memcpy
- mov r1, r8
- ldr r0, [r1]
- ldr r1, =0x02004cb4
- mov r2, r9
- bl memcpy
- movs r1, 0xE0
- lsls r1, 9
- adds r0, r4, 0
- bl InitHeap
- ldr r0, [sp, 0x4]
- str r0, [r5, 0x10]
- ldr r1, [sp]
- str r1, [r5, 0xC]
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0
- adds r0, r4, 0
- bl ApplyNewEncyprtionKeyToAllEncryptedData
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r0, 0xAC
- str r4, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MoveSaveBlocks_ResetHeap
-
- thumb_func_start sav2_x1_query_bit1
-sav2_x1_query_bit1: @ 8076D24
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sav2_x1_query_bit1
-
- thumb_func_start sav2_x9_clear_bit1
-sav2_x9_clear_bit1: @ 8076D34
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r1, [r2, 0x9]
- movs r0, 0xFE
- ands r0, r1
- strb r0, [r2, 0x9]
- bx lr
- .pool
- thumb_func_end sav2_x9_clear_bit1
-
- thumb_func_start sub_8076D48
-sub_8076D48: @ 8076D48
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r1, [r2, 0x9]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- bx lr
- .pool
- thumb_func_end sub_8076D48
-
- thumb_func_start sub_8076D5C
-sub_8076D5C: @ 8076D5C
- push {lr}
- movs r0, 0
- bl sub_8084FAC
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r1, [r2, 0x9]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076D5C
-
- thumb_func_start sav2_gender2_inplace_and_xFE
-sav2_gender2_inplace_and_xFE: @ 8076D78
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r1, [r2, 0x9]
- movs r0, 0xFE
- ands r0, r1
- strb r0, [r2, 0x9]
- bx lr
- .pool
- thumb_func_end sav2_gender2_inplace_and_xFE
-
- thumb_func_start copy_player_party_to_sav1
-@ void copy_player_party_to_sav1()
-copy_player_party_to_sav1: @ 8076D8C
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =gPlayerPartyCount
- ldrb r1, [r1]
- movs r2, 0x8D
- lsls r2, 2
- adds r0, r2
- strb r1, [r0]
- movs r4, 0
-_08076DA0:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x64
- muls r1, r4
- adds r0, r1
- movs r2, 0x8E
- lsls r2, 2
- adds r0, r2
- ldr r2, =gPlayerParty
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- adds r4, 0x1
- cmp r4, 0x5
- ble _08076DA0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_player_party_to_sav1
-
- thumb_func_start copy_player_party_from_sav1
-copy_player_party_from_sav1: @ 8076DD4
- push {r4,r5,lr}
- ldr r1, =gPlayerPartyCount
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r2, 0x8D
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- movs r4, 0
- ldr r5, =gPlayerParty
-_08076DEA:
- movs r0, 0x64
- adds r2, r4, 0
- muls r2, r0
- adds r0, r2, r5
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- adds r1, r2
- movs r2, 0x8E
- lsls r2, 2
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- adds r4, 0x1
- cmp r4, 0x5
- ble _08076DEA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_player_party_from_sav1
-
- thumb_func_start save_serialize_npcs
-save_serialize_npcs: @ 8076E1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- movs r5, 0xA3
- lsls r5, 4
- mov r8, r5
- ldr r4, =gMapObjects
- movs r3, 0
- movs r2, 0xF
-_08076E32:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r3
- add r1, r8
- adds r0, r4, 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}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08076E32
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end save_serialize_npcs
-
- thumb_func_start save_deserialize_npcs
-save_deserialize_npcs: @ 8076E64
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- movs r5, 0xA3
- lsls r5, 4
- mov r8, r5
- ldr r4, =gMapObjects
- movs r3, 0
- movs r2, 0xF
-_08076E7A:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r3
- adds r0, r4, 0
- add r1, r8
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08076E7A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end save_deserialize_npcs
-
- thumb_func_start SaveSerializedGame
-SaveSerializedGame: @ 8076EAC
- push {lr}
- bl copy_player_party_to_sav1
- bl save_serialize_npcs
- pop {r0}
- bx r0
- thumb_func_end SaveSerializedGame
-
- thumb_func_start LoadSerializedGame
-LoadSerializedGame: @ 8076EBC
- push {lr}
- bl copy_player_party_from_sav1
- bl save_deserialize_npcs
- pop {r0}
- bx r0
- thumb_func_end LoadSerializedGame
-
- thumb_func_start copy_bags_and_unk_data_from_save_blocks
-copy_bags_and_unk_data_from_save_blocks: @ 8076ECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r2, 0
- ldr r0, =gUnknown_02032180
- mov r12, r0
- ldr r1, =gSaveBlock2Ptr
- mov r10, r1
- ldr r5, =gSaveBlock1Ptr
- movs r3, 0xAC
- lsls r3, 3
- ldr r4, =gUnknown_02031C58
-_08076EE8:
- lsls r0, r2, 2
- ldr r1, [r5]
- adds r1, r3
- adds r1, r0
- ldr r0, [r1]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0x1D
- ble _08076EE8
- movs r2, 0
- ldr r0, =gUnknown_02031C58
- ldr r5, =gSaveBlock1Ptr
- movs r3, 0xBB
- lsls r3, 3
- adds r4, r0, 0
- adds r4, 0x78
-_08076F08:
- lsls r0, r2, 2
- ldr r1, [r5]
- adds r1, r3
- adds r1, r0
- ldr r0, [r1]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0x1D
- ble _08076F08
- movs r2, 0
- ldr r0, =gUnknown_02031C58
- ldr r5, =gSaveBlock1Ptr
- movs r3, 0xCA
- lsls r3, 3
- adds r4, r0, 0
- adds r4, 0xF0
-_08076F28:
- lsls r0, r2, 2
- ldr r1, [r5]
- adds r1, r3
- adds r1, r0
- ldr r0, [r1]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0xF
- ble _08076F28
- movs r2, 0
- ldr r0, =gUnknown_02031C58
- ldr r5, =gSaveBlock1Ptr
- movs r6, 0x98
- lsls r6, 1
- adds r4, r0, r6
- movs r3, 0xD2
- lsls r3, 3
-_08076F4A:
- lsls r0, r2, 2
- ldr r1, [r5]
- adds r1, r3
- adds r1, r0
- ldr r0, [r1]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0x3F
- ble _08076F4A
- movs r2, 0
- ldr r0, =gUnknown_02031C58
- ldr r5, =gSaveBlock1Ptr
- movs r7, 0x8C
- lsls r7, 2
- adds r4, r0, r7
- movs r3, 0xF2
- lsls r3, 3
-_08076F6C:
- lsls r0, r2, 2
- ldr r1, [r5]
- adds r1, r3
- adds r1, r0
- ldr r0, [r1]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0x2D
- ble _08076F6C
- ldr r0, =gUnknown_02031C58
- ldr r1, =gSaveBlock1Ptr
- mov r8, r1
- movs r5, 0xBA
- lsls r5, 2
- adds r4, r0, r5
- movs r3, 0
- ldr r6, =0x00002be0
- mov r9, r6
- movs r2, 0xF
-_08076F92:
- mov r7, r8
- ldr r1, [r7]
- adds r1, r3
- adds r0, r4, 0
- add r1, r9
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _08076F92
- mov r1, r10
- ldr r0, [r1]
- adds r0, 0xAC
- ldr r0, [r0]
- mov r5, r12
- str r0, [r5]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_bags_and_unk_data_from_save_blocks
-
- thumb_func_start copy_bags_and_unk_data_to_save_blocks
-copy_bags_and_unk_data_to_save_blocks: @ 8076FE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r2, 0
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- ldr r1, =gUnknown_02032180
- mov r12, r1
- ldr r5, =gSaveBlock1Ptr
- movs r3, 0xAC
- lsls r3, 3
- ldr r4, =gUnknown_02031C58
-_08076FFC:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r3
- adds r0, r1
- ldm r4!, {r1}
- str r1, [r0]
- adds r2, 0x1
- cmp r2, 0x1D
- ble _08076FFC
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- movs r4, 0xBB
- lsls r4, 3
- ldr r0, =gUnknown_02031C58
- adds r3, r0, 0
- adds r3, 0x78
-_0807701C:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldm r3!, {r1}
- str r1, [r0]
- adds r2, 0x1
- cmp r2, 0x1D
- ble _0807701C
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- movs r4, 0xCA
- lsls r4, 3
- ldr r0, =gUnknown_02031C58
- adds r3, r0, 0
- adds r3, 0xF0
-_0807703C:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldm r3!, {r1}
- str r1, [r0]
- adds r2, 0x1
- cmp r2, 0xF
- ble _0807703C
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- movs r4, 0xD2
- lsls r4, 3
- ldr r0, =gUnknown_02031C58
- movs r6, 0x98
- lsls r6, 1
- adds r3, r0, r6
-_0807705E:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldm r3!, {r1}
- str r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3F
- ble _0807705E
- movs r2, 0
- ldr r5, =gSaveBlock1Ptr
- movs r4, 0xF2
- lsls r4, 3
- ldr r0, =gUnknown_02031C58
- movs r7, 0x8C
- lsls r7, 2
- adds r3, r0, r7
-_08077080:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r4
- adds r0, r1
- ldm r3!, {r1}
- str r1, [r0]
- adds r2, 0x1
- cmp r2, 0x2D
- ble _08077080
- ldr r0, =gSaveBlock1Ptr
- mov r9, r0
- ldr r1, =0x00002be0
- mov r10, r1
- ldr r4, =gUnknown_02031C58
- movs r3, 0
- movs r2, 0xF
-_080770A0:
- mov r5, r9
- ldr r1, [r5]
- adds r1, r3
- add r1, r10
- movs r6, 0xBA
- lsls r6, 2
- adds r0, r4, r6
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x24
- adds r3, 0x24
- subs r2, 0x1
- cmp r2, 0
- bge _080770A0
- mov r7, r8
- ldr r0, [r7]
- adds r0, 0xAC
- ldr r4, [r0]
- mov r2, r12
- ldr r1, [r2]
- str r1, [r0]
- adds r0, r4, 0
- bl ApplyNewEncyprtionKeyToBagItems
- ldr r0, [r7]
- adds r0, 0xAC
- str r4, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_bags_and_unk_data_to_save_blocks
-
- thumb_func_start ApplyNewEncyprtionKeyToHword
-ApplyNewEncyprtionKeyToHword: @ 8077100
- ldr r2, =gSaveBlock2Ptr
- ldr r2, [r2]
- adds r2, 0xAC
- ldr r2, [r2]
- ldrh r3, [r0]
- eors r2, r3
- eors r2, r1
- strh r2, [r0]
- bx lr
- .pool
- thumb_func_end ApplyNewEncyprtionKeyToHword
-
- thumb_func_start ApplyNewEncyprtionKeyToWord
-ApplyNewEncyprtionKeyToWord: @ 8077118
- ldr r2, =gSaveBlock2Ptr
- ldr r3, [r2]
- adds r3, 0xAC
- ldr r2, [r0]
- ldr r3, [r3]
- eors r2, r3
- eors r2, r1
- str r2, [r0]
- bx lr
- .pool
- thumb_func_end ApplyNewEncyprtionKeyToWord
-
- thumb_func_start ApplyNewEncyprtionKeyToAllEncryptedData
-ApplyNewEncyprtionKeyToAllEncryptedData: @ 8077130
- push {r4,r5,lr}
- adds r4, r0, 0
- bl ApplyNewEncyprtionKeyToGameStats
- adds r0, r4, 0
- bl ApplyNewEncyprtionKeyToBagItems_
- adds r0, r4, 0
- bl ApplyNewEncyprtionKeyToBerryPowder
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- adds r1, r4, 0
- bl ApplyNewEncyprtionKeyToWord
- ldr r0, [r5]
- ldr r1, =0x00000494
- adds r0, r1
- adds r1, r4, 0
- bl ApplyNewEncyprtionKeyToHword
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyNewEncyprtionKeyToAllEncryptedData
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/macros.inc b/asm/macros.inc
index 0c6644002..7c35e059d 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -65,7 +65,7 @@
.byte 3, 4, \slot, \slot, \slot
.endm
- .macro sprite_oam x, y, priority, tile_num_offset, size
+ .macro subsprite x, y, priority, tile_num_offset, size
.byte \x
.byte \y
.2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size
@@ -114,7 +114,22 @@
.4byte 0 @ padding
.endm
- .macro obj_rot_scal_anim_end
+ .macro obj_rot_scal_anim_end unknown=0
.2byte 0x7fff
- .fill 6 @ padding
+ .2byte \unknown
+ .fill 4 @ padding
+ .endm
+
+ .macro door_anim_frame unknown, offset
+ .byte \unknown
+ .byte 0 @ padding
+ .2byte \offset
+ .endm
+
+ .macro door_anim_gfx metatile_num, unknown, unknown2, tile_addr, palette_addr
+ .2byte \metatile_num
+ .byte \unknown
+ .byte \unknown2
+ .4byte \tile_addr
+ .4byte \palette_addr
.endm
diff --git a/asm/macros/battle_ai_script.inc b/asm/macros/battle_ai_script.inc
new file mode 100644
index 000000000..5e81686bf
--- /dev/null
+++ b/asm/macros/battle_ai_script.inc
@@ -0,0 +1,619 @@
+ .macro if_random_less_than param0, param1
+ .byte 0x0
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_random_greater_than param0, param1
+ .byte 0x1
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_random_equal param0, param1
+ .byte 0x2
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_random_not_equal param0, param1
+ .byte 0x3
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro score param0
+ .byte 0x4
+ .byte \param0
+ .endm
+
+ .macro if_hp_less_than bank, param1, param2
+ .byte 0x5
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_hp_more_than bank, param1, param2
+ .byte 0x6
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_hp_equal bank, param1, param2
+ .byte 0x7
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_hp_not_equal bank, param1, param2
+ .byte 0x8
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_status bank, status1, param2
+ .byte 0x9
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro if_not_status bank, status1, param2
+ .byte 0xa
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro if_status2 bank, status2, param2
+ .byte 0xb
+ .byte \bank
+ .4byte \status2
+ .4byte \param2
+ .endm
+
+ .macro if_not_status2 bank, status2, param2
+ .byte 0xc
+ .byte \bank
+ .4byte \status2
+ .4byte \param2
+ .endm
+
+ .macro if_status3 bank, status3, param2
+ .byte 0xd
+ .byte \bank
+ .4byte \status3
+ .4byte \param2
+ .endm
+
+ .macro if_not_status3 bank, status3, param2
+ .byte 0xe
+ .byte \bank
+ .4byte \status3
+ .4byte \param2
+ .endm
+
+ .macro if_side_affecting bank, sidestatus, param2
+ .byte 0xf
+ .byte \bank
+ .4byte \sidestatus
+ .4byte \param2
+ .endm
+
+ .macro if_not_side_affecting bank, sidestatus, param2
+ .byte 0x10
+ .byte \bank
+ .4byte \sidestatus
+ .4byte \param2
+ .endm
+
+ .macro if_less_than param0, param1
+ .byte 0x11
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_more_than param0, param1
+ .byte 0x12
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_equal param0, param1
+ .byte 0x13
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_equal param0, param1
+ .byte 0x14
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_less_than_ptr param0, param1
+ .byte 0x15
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_more_than_ptr param0, param1
+ .byte 0x16
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_equal_ptr param0, param1
+ .byte 0x17
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_equal_ptr param0, param1
+ .byte 0x18
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_move param0, param1
+ .byte 0x19
+ .2byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_move param0, param1
+ .byte 0x1a
+ .2byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_in_bytes param0, param1
+ .byte 0x1b
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_in_bytes param0, param1
+ .byte 0x1c
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_in_hwords param0, param1
+ .byte 0x1d
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_in_hwords param0, param1
+ .byte 0x1e
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_user_has_attacking_move param0
+ .byte 0x1f
+ .4byte \param0
+ .endm
+
+ .macro if_user_has_no_attacking_moves param0
+ .byte 0x20
+ .4byte \param0
+ .endm
+
+ .macro get_turn_count
+ .byte 0x21
+ .endm
+
+ .macro get_type param0
+ .byte 0x22
+ .byte \param0
+ .endm
+
+ .macro get_considered_move_power
+ .byte 0x23
+ .endm
+
+ .macro get_how_powerful_move_is
+ .byte 0x24
+ .endm
+
+ .macro get_last_used_bank_move bank
+ .byte 0x25
+ .byte \bank
+ .endm
+
+ .macro if_equal_ param0, param1
+ .byte 0x26
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_equal_ param0, param1
+ .byte 0x27
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_user_goes param0, param1
+ .byte 0x28
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_user_doesnt_go param0, param1
+ .byte 0x29
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro nullsub_2A
+ .byte 0x2a
+ .endm
+
+ .macro nullsub_2B
+ .byte 0x2b
+ .endm
+
+ .macro count_usable_party_mons bank
+ .byte 0x2c
+ .byte \bank
+ .endm
+
+ .macro get_considered_move
+ .byte 0x2d
+ .endm
+
+ .macro get_considered_move_effect
+ .byte 0x2e
+ .endm
+
+ .macro get_ability bank
+ .byte 0x2f
+ .byte \bank
+ .endm
+
+ .macro get_highest_type_effectiveness
+ .byte 0x30
+ .endm
+
+ .macro if_type_effectiveness param0, param1
+ .byte 0x31
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro nullsub_32
+ .byte 0x32
+ .endm
+
+ .macro nullsub_33
+ .byte 0x33
+ .endm
+
+ .macro if_status_in_party bank, status1, param2
+ .byte 0x34
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro if_status_not_in_party bank, status1, param2
+ .byte 0x35
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro get_weather
+ .byte 0x36
+ .endm
+
+ .macro if_effect param0, param1
+ .byte 0x37
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_not_effect param0, param1
+ .byte 0x38
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_stat_level_less_than bank, stat, param2, param3
+ .byte 0x39
+ .byte \bank
+ .byte \stat
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro if_stat_level_more_than bank, stat, param2, param3
+ .byte 0x3a
+ .byte \bank
+ .byte \stat
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro if_stat_level_equal bank, stat, param2, param3
+ .byte 0x3b
+ .byte \bank
+ .byte \stat
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro if_stat_level_not_equal bank, stat, param2, param3
+ .byte 0x3c
+ .byte \bank
+ .byte \stat
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro if_can_faint param0
+ .byte 0x3d
+ .4byte \param0
+ .endm
+
+ .macro if_cant_faint param0
+ .byte 0x3e
+ .4byte \param0
+ .endm
+
+ .macro if_has_move bank, param1, param2
+ .byte 0x3f
+ .byte \bank
+ .2byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_doesnt_have_move bank, param1, param2
+ .byte 0x40
+ .byte \bank
+ .2byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_has_move_with_effect bank, param1, param2
+ .byte 0x41
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_doesnt_have_move_with_effect bank, param1, param2
+ .byte 0x42
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_any_move_disabled_or_encored bank, param1, param2
+ .byte 0x43
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro if_curr_move_disabled_or_encored param0, param1
+ .byte 0x44
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro flee
+ .byte 0x45
+ .endm
+
+ .macro if_random_safari_flee param0
+ .byte 0x46
+ .4byte \param0
+ .endm
+
+ .macro watch
+ .byte 0x47
+ .endm
+
+ .macro get_hold_effect bank
+ .byte 0x48
+ .byte \bank
+ .endm
+
+ .macro get_gender bank
+ .byte 0x49
+ .byte \bank
+ .endm
+
+ .macro is_first_turn_for bank
+ .byte 0x4a
+ .byte \bank
+ .endm
+
+ .macro get_stockpile_count bank
+ .byte 0x4b
+ .byte \bank
+ .endm
+
+ .macro is_double_battle
+ .byte 0x4c
+ .endm
+
+ .macro get_used_held_item bank
+ .byte 0x4d
+ .byte \bank
+ .endm
+
+ .macro get_move_type_from_result
+ .byte 0x4e
+ .endm
+
+ .macro get_move_power_from_result
+ .byte 0x4f
+ .endm
+
+ .macro get_move_effect_from_result
+ .byte 0x50
+ .endm
+
+ .macro get_protect_count bank
+ .byte 0x51
+ .byte \bank
+ .endm
+
+ .macro nullsub_52
+ .byte 0x52
+ .endm
+
+ .macro nullsub_53
+ .byte 0x53
+ .endm
+
+ .macro nullsub_54
+ .byte 0x54
+ .endm
+
+ .macro nullsub_55
+ .byte 0x55
+ .endm
+
+ .macro nullsub_56
+ .byte 0x56
+ .endm
+
+ .macro nullsub_57
+ .byte 0x57
+ .endm
+
+ .macro call param0
+ .byte 0x58
+ .4byte \param0
+ .endm
+
+ .macro goto param0
+ .byte 0x59
+ .4byte \param0
+ .endm
+
+ .macro end
+ .byte 0x5a
+ .endm
+
+ .macro if_level_cond param0, param1
+ .byte 0x5b
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro if_target_taunted param0
+ .byte 0x5c
+ .4byte \param0
+ .endm
+
+ .macro if_target_not_taunted param0
+ .byte 0x5d
+ .4byte \param0
+ .endm
+
+ .macro if_target_is_ally param0
+ .byte 0x5e
+ .4byte \param0
+ .endm
+
+ .macro is_of_type bank, type
+ .byte 0x5f
+ .byte \bank
+ .byte \type
+ .endm
+
+ .macro check_ability bank, ability
+ .byte 0x60
+ .byte \bank
+ .byte \ability
+ .endm
+
+ .macro if_flash_fired bank, param1
+ .byte 0x61
+ .byte \bank
+ .4byte \param1
+ .endm
+
+ .macro if_holds_item bank, param1, param2
+ .byte 0x62
+ .byte \bank
+ .2byte \param1
+ .4byte \param2
+ .endm
+
+@ useful script macros
+ .macro get_curr_move_type
+ get_type AI_TYPE_MOVE
+ .endm
+
+ .macro get_user_type1
+ get_type AI_TYPE1_USER
+ .endm
+
+ .macro get_user_type2
+ get_type AI_TYPE2_USER
+ .endm
+
+ .macro get_target_type1
+ get_type AI_TYPE1_TARGET
+ .endm
+
+ .macro get_target_type2
+ get_type AI_TYPE2_TARGET
+ .endm
+
+ .macro if_ability bank, ability, ptr
+ check_ability \bank, \ability
+ if_equal 1, \ptr
+ .endm
+
+ .macro if_no_ability bank, ability, ptr
+ check_ability \bank, \ability
+ if_equal 0, \ptr
+ .endm
+
+ .macro if_type bank, type, ptr
+ is_of_type \bank, \type
+ if_equal 1, \ptr
+ .endm
+
+ .macro if_no_type bank, type, ptr
+ is_of_type \bank, \type
+ if_equal 0, \ptr
+ .endm
+
+ .macro if_target_faster ptr
+ if_user_goes 1, \ptr
+ .endm
+
+ .macro if_user_faster ptr
+ if_user_goes 0, \ptr
+ .endm
+
+ .macro if_double_battle ptr
+ is_double_battle
+ if_equal 1, \ptr
+ .endm
+
+ .macro if_not_double_battle ptr
+ is_double_battle
+ if_equal 0, \ptr
+ .endm
+
+ .macro if_any_move_disabled bank, ptr
+ if_any_move_disabled_or_encored \bank, 0, \ptr
+ .endm
+
+ .macro if_any_move_encored bank, ptr
+ if_any_move_disabled_or_encored \bank, 1, \ptr
+ .endm
diff --git a/asm/macros/battle_anim_script.inc b/asm/macros/battle_anim_script.inc
new file mode 100644
index 000000000..b26d1218d
--- /dev/null
+++ b/asm/macros/battle_anim_script.inc
@@ -0,0 +1,268 @@
+@ commands
+
+ .macro loadspritegfx param0
+ .byte 0x0
+ .2byte \param0
+ .endm
+
+ .macro unloadspritegfx param0
+ .byte 0x1
+ .2byte \param0
+ .endm
+
+ .macro createsprite template, priority, argv:vararg
+ .byte 0x02
+ .4byte \template
+ .byte \priority
+ .byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
+.Lsprite_\@_1:
+ .2byte \argv
+.Lsprite_\@_2:
+ .endm
+
+ .macro createvisualtask addr, priority, argv:vararg
+ .byte 0x03
+ .4byte \addr
+ .byte \priority
+ .byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
+.Lcreatetask_\@_1:
+ .2byte \argv
+.Lcreatetask_\@_2:
+ .endm
+
+ .macro delay param0
+ .byte 0x4
+ .byte \param0
+ .endm
+
+ .macro waitforvisualfinish
+ .byte 0x5
+ .endm
+
+ .macro hang1
+ .byte 0x6
+ .endm
+
+ .macro hang2
+ .byte 0x7
+ .endm
+
+ .macro end
+ .byte 0x8
+ .endm
+
+ .macro playse param0
+ .byte 0x9
+ .2byte \param0
+ .endm
+
+ .macro monbg bank
+ .byte 0xa
+ .byte \bank
+ .endm
+
+ .macro clearmonbg bank
+ .byte 0xb
+ .byte \bank
+ .endm
+
+ .macro setalpha param0
+ .byte 0xc
+ .2byte \param0
+ .endm
+
+ .macro blendoff
+ .byte 0xd
+ .endm
+
+ .macro call param0
+ .byte 0xe
+ .4byte \param0
+ .endm
+
+ .macro return
+ .byte 0xf
+ .endm
+
+ .macro setarg param0, param1
+ .byte 0x10
+ .byte \param0
+ .2byte \param1
+ .endm
+
+ .macro choosetwoturnanim param0, param1
+ .byte 0x11
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro jumpifmoveturn param0, param1
+ .byte 0x12
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro goto param0
+ .byte 0x13
+ .4byte \param0
+ .endm
+
+ .macro fadetobg param0
+ .byte 0x14
+ .byte \param0
+ .endm
+
+ .macro restorebg
+ .byte 0x15
+ .endm
+
+ .macro waitbgfadeout
+ .byte 0x16
+ .endm
+
+ .macro waitbgfadein
+ .byte 0x17
+ .endm
+
+ .macro changebg param0
+ .byte 0x18
+ .byte \param0
+ .endm
+
+ .macro playsewithpan param0, param1
+ .byte 0x19
+ .2byte \param0
+ .byte \param1
+ .endm
+
+ .macro setpan param0
+ .byte 0x1a
+ .byte \param0
+ .endm
+
+ .macro panse_1B param0, param1, param2, param3, param4
+ .byte 0x1b
+ .2byte \param0
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro loopsewithpan param0, param1, param2, param3
+ .byte 0x1c
+ .2byte \param0
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .endm
+
+ .macro waitplaysewithpan param0, param1, param2
+ .byte 0x1d
+ .2byte \param0
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro setbldcnt param0
+ .byte 0x1e
+ .2byte \param0
+ .endm
+
+ .macro createsoundtask addr, argv:vararg
+ .byte 0x1F
+ .4byte \addr
+ .byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
+.Lcreatetask_1F_\@_1:
+ .2byte \argv
+.Lcreatetask_1F_\@_2:
+ .endm
+
+ .macro waitsound
+ .byte 0x20
+ .endm
+
+ .macro jumpargeq param0, param1, param2
+ .byte 0x21
+ .byte \param0
+ .2byte \param1
+ .4byte \param2
+ .endm
+
+ .macro monbg_22 bank
+ .byte 0x22
+ .byte \bank
+ .endm
+
+ .macro clearmonbg_23 bank
+ .byte 0x23
+ .byte \bank
+ .endm
+
+ .macro jumpifcontest param0
+ .byte 0x24
+ .4byte \param0
+ .endm
+
+ .macro fadetobgfromset param0, param1, param2
+ .byte 0x25
+ .byte \param0
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro panse_26 param0, param1, param2, param3, param4
+ .byte 0x26
+ .2byte \param0
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro panse_27 param0, param1, param2, param3, param4
+ .byte 0x27
+ .2byte \param0
+ .byte \param1
+ .byte \param2
+ .byte \param3
+ .byte \param4
+ .endm
+
+ .macro monbgprio_28 bank
+ .byte 0x28
+ .byte \bank
+ .endm
+
+ .macro monbgprio_29
+ .byte 0x29
+ .endm
+
+ .macro monbgprio_2A bank
+ .byte 0x2a
+ .byte \bank
+ .endm
+
+ .macro invisible bank
+ .byte 0x2b
+ .byte \bank
+ .endm
+
+ .macro visible bank
+ .byte 0x2c
+ .byte \bank
+ .endm
+
+ .macro doublebattle_2D bank
+ .byte 0x2d
+ .byte \bank
+ .endm
+
+ .macro doublebattle_2E bank
+ .byte 0x2e
+ .byte \bank
+ .endm
+
+ .macro stopsound
+ .byte 0x2f
+ .endm
diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc
new file mode 100644
index 000000000..c03d78df7
--- /dev/null
+++ b/asm/macros/battle_script.inc
@@ -0,0 +1,1401 @@
+@ commands
+ .macro attackcanceler
+ .byte 0x0
+ .endm
+
+ .macro accuracycheck param0, param1
+ .byte 0x1
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro attackstring
+ .byte 0x2
+ .endm
+
+ .macro ppreduce
+ .byte 0x3
+ .endm
+
+ .macro critcalc
+ .byte 0x4
+ .endm
+
+ .macro damagecalc
+ .byte 0x5
+ .endm
+
+ .macro typecalc
+ .byte 0x6
+ .endm
+
+ .macro adjustnormaldamage
+ .byte 0x7
+ .endm
+
+ .macro adjustnormaldamage2
+ .byte 0x8
+ .endm
+
+ .macro attackanimation
+ .byte 0x9
+ .endm
+
+ .macro waitanimation
+ .byte 0xa
+ .endm
+
+ .macro healthbarupdate bank
+ .byte 0xb
+ .byte \bank
+ .endm
+
+ .macro datahpupdate bank
+ .byte 0xc
+ .byte \bank
+ .endm
+
+ .macro critmessage
+ .byte 0xd
+ .endm
+
+ .macro effectivenesssound
+ .byte 0xe
+ .endm
+
+ .macro resultmessage
+ .byte 0xf
+ .endm
+
+ .macro printstring param0
+ .byte 0x10
+ .2byte \param0
+ .endm
+
+ .macro printselectionstring param0
+ .byte 0x11
+ .2byte \param0
+ .endm
+
+ .macro waitmessage param0
+ .byte 0x12
+ .2byte \param0
+ .endm
+
+ .macro printfromtable param0
+ .byte 0x13
+ .4byte \param0
+ .endm
+
+ .macro printselectionstringfromtable param0
+ .byte 0x14
+ .4byte \param0
+ .endm
+
+ .macro seteffectwithchance
+ .byte 0x15
+ .endm
+
+ .macro seteffectprimary
+ .byte 0x16
+ .endm
+
+ .macro seteffectsecondary
+ .byte 0x17
+ .endm
+
+ .macro clearstatusfromeffect bank
+ .byte 0x18
+ .byte \bank
+ .endm
+
+ .macro tryfaintmon bank, param1, param2
+ .byte 0x19
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro dofaintanimation bank
+ .byte 0x1a
+ .byte \bank
+ .endm
+
+ .macro cleareffectsonfaint bank
+ .byte 0x1b
+ .byte \bank
+ .endm
+
+ .macro jumpifstatus bank, status1, param2
+ .byte 0x1c
+ .byte \bank
+ .4byte \status1
+ .4byte \param2
+ .endm
+
+ .macro jumpifstatus2 bank, status2, param2
+ .byte 0x1d
+ .byte \bank
+ .4byte \status2
+ .4byte \param2
+ .endm
+
+ .macro jumpifability param0, ability, param2
+ .byte 0x1e
+ .byte \param0
+ .byte \ability
+ .4byte \param2
+ .endm
+
+ .macro jumpifsideaffecting bank, sidestatus, param2
+ .byte 0x1f
+ .byte \bank
+ .2byte \sidestatus
+ .4byte \param2
+ .endm
+
+ .macro jumpifstat bank, ifflag, stat, param3, param4
+ .byte 0x20
+ .byte \bank
+ .byte \ifflag
+ .byte \stat
+ .byte \param3
+ .4byte \param4
+ .endm
+
+ .macro jumpifstatus3condition bank, status3, param2, param3
+ .byte 0x21
+ .byte \bank
+ .4byte \status3
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpiftype bank, type, param2
+ .byte 0x22
+ .byte \bank
+ .byte \type
+ .4byte \param2
+ .endm
+
+ .macro getexp bank
+ .byte 0x23
+ .byte \bank
+ .endm
+
+ .macro atk24 param0
+ .byte 0x24
+ .4byte \param0
+ .endm
+
+ .macro movevaluescleanup
+ .byte 0x25
+ .endm
+
+ .macro setmultihit param0
+ .byte 0x26
+ .byte \param0
+ .endm
+
+ .macro decrementmultihit param0
+ .byte 0x27
+ .4byte \param0
+ .endm
+
+ .macro goto param0
+ .byte 0x28
+ .4byte \param0
+ .endm
+
+ .macro jumpifbyte ifflag, param1, param2, param3
+ .byte 0x29
+ .byte \ifflag
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifhalfword ifflag, param1, param2, param3
+ .byte 0x2a
+ .byte \ifflag
+ .4byte \param1
+ .2byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifword ifflag, param1, param2, param3
+ .byte 0x2b
+ .byte \ifflag
+ .4byte \param1
+ .4byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifarrayequal param0, param1, param2, param3
+ .byte 0x2c
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro jumpifarraynotequal param0, param1, param2, param3
+ .byte 0x2d
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .4byte \param3
+ .endm
+
+ .macro setbyte param0, param1
+ .byte 0x2e
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro addbyte param0, param1
+ .byte 0x2f
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro subbyte param0, param1
+ .byte 0x30
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro copyarray param0, param1, param2
+ .byte 0x31
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .endm
+
+ .macro copyarraywithindex param0, param1, param2, param3
+ .byte 0x32
+ .4byte \param0
+ .4byte \param1
+ .4byte \param2
+ .byte \param3
+ .endm
+
+ .macro orbyte param0, param1
+ .byte 0x33
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro orhalfword param0, param1
+ .byte 0x34
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro orword param0, param1
+ .byte 0x35
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro bicbyte param0, param1
+ .byte 0x36
+ .4byte \param0
+ .byte \param1
+ .endm
+
+ .macro bichalfword param0, param1
+ .byte 0x37
+ .4byte \param0
+ .2byte \param1
+ .endm
+
+ .macro bicword param0, param1
+ .byte 0x38
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro pause param0
+ .byte 0x39
+ .2byte \param0
+ .endm
+
+ .macro waitstate
+ .byte 0x3a
+ .endm
+
+ .macro healthbar_update bank
+ .byte 0x3b
+ .byte \bank
+ .endm
+
+ .macro return
+ .byte 0x3c
+ .endm
+
+ .macro end
+ .byte 0x3d
+ .endm
+
+ .macro end2
+ .byte 0x3e
+ .endm
+
+ .macro end3
+ .byte 0x3f
+ .endm
+
+ .macro jumpifaffectedbyprotect param0
+ .byte 0x40
+ .4byte \param0
+ .endm
+
+ .macro call param0
+ .byte 0x41
+ .4byte \param0
+ .endm
+
+ .macro jumpiftype2 bank, type, param2
+ .byte 0x42
+ .byte \bank
+ .byte \type
+ .4byte \param2
+ .endm
+
+ .macro jumpifabilitypresent ability, param1
+ .byte 0x43
+ .byte \ability
+ .4byte \param1
+ .endm
+
+ .macro endselectionscript
+ .byte 0x44
+ .endm
+
+ .macro playanimation bank, param1, param2
+ .byte 0x45
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro playanimation2 bank, param1, param2
+ .byte 0x46
+ .byte \bank
+ .4byte \param1
+ .4byte \param2
+ .endm
+
+ .macro setgraphicalstatchangevalues
+ .byte 0x47
+ .endm
+
+ .macro playstatchangeanimation bank, param1, param2
+ .byte 0x48
+ .byte \bank
+ .byte \param1
+ .byte \param2
+ .endm
+
+ .macro moveend param0, param1
+ .byte 0x49
+ .byte \param0
+ .byte \param1
+ .endm
+
+ .macro typecalc2
+ .byte 0x4a
+ .endm
+
+ .macro returnatktoball
+ .byte 0x4b
+ .endm
+
+ .macro getswitchedmondata bank
+ .byte 0x4c
+ .byte \bank
+ .endm
+
+ .macro switchindataupdate bank
+ .byte 0x4d
+ .byte \bank
+ .endm
+
+ .macro switchinanim bank, dontclearsubstitutebit
+ .byte 0x4e
+ .byte \bank
+ .byte \dontclearsubstitutebit
+ .endm
+
+ .macro jumpifcantswitch bank, param1
+ .byte 0x4f
+ .byte \bank
+ .4byte \param1
+ .endm
+
+ .macro openpartyscreen param0, param1
+ .byte 0x50
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro switchhandleorder bank, param1
+ .byte 0x51
+ .byte \bank
+ .byte \param1
+ .endm
+
+ .macro switchineffects bank
+ .byte 0x52
+ .byte \bank
+ .endm
+
+ .macro trainerslidein bank
+ .byte 0x53
+ .byte \bank
+ .endm
+
+ .macro playse param0
+ .byte 0x54
+ .2byte \param0
+ .endm
+
+ .macro fanfare param0
+ .byte 0x55
+ .2byte \param0
+ .endm
+
+ .macro playfaintcry bank
+ .byte 0x56
+ .byte \bank
+ .endm
+
+ .macro atk57
+ .byte 0x57
+ .endm
+
+ .macro returntoball bank
+ .byte 0x58
+ .byte \bank
+ .endm
+
+ .macro handlelearnnewmove param0, param1, param2
+ .byte 0x59
+ .4byte \param0
+ .4byte \param1
+ .byte \param2
+ .endm
+
+ .macro yesnoboxlearnmove param0
+ .byte 0x5a
+ .4byte \param0
+ .endm
+
+ .macro yesnoboxstoplearningmove param0
+ .byte 0x5b
+ .4byte \param0
+ .endm
+
+ .macro hitanimation bank
+ .byte 0x5c
+ .byte \bank
+ .endm
+
+ .macro getmoneyreward
+ .byte 0x5d
+ .endm
+
+ .macro atk5E bank
+ .byte 0x5e
+ .byte \bank
+ .endm
+
+ .macro swapattackerwithtarget
+ .byte 0x5f
+ .endm
+
+ .macro incrementgamestat param0
+ .byte 0x60
+ .byte \param0
+ .endm
+
+ .macro drawpartystatussummary bank
+ .byte 0x61
+ .byte \bank
+ .endm
+
+ .macro hidepartystatussummary bank
+ .byte 0x62
+ .byte \bank
+ .endm
+
+ .macro jumptorandomattack param0
+ .byte 0x63
+ .byte \param0
+ .endm
+
+ .macro statusanimation bank
+ .byte 0x64
+ .byte \bank
+ .endm
+
+ .macro status2animation bank, status2
+ .byte 0x65
+ .byte \bank
+ .4byte \status2
+ .endm
+
+ .macro chosenstatusanimation bank, param1, param2
+ .byte 0x66
+ .byte \bank
+ .byte \param1
+ .4byte \param2
+ .endm
+
+ .macro yesnobox
+ .byte 0x67
+ .endm
+
+ .macro cancelallactions
+ .byte 0x68
+ .endm
+
+ .macro adjustsetdamage
+ .byte 0x69
+ .endm
+
+ .macro removeitem bank
+ .byte 0x6a
+ .byte \bank
+ .endm
+
+ .macro atknameinbuff1
+ .byte 0x6b
+ .endm
+
+ .macro drawlvlupbox
+ .byte 0x6c
+ .endm
+
+ .macro resetsentmonsvalue
+ .byte 0x6d
+ .endm
+
+ .macro setatktoplayer0
+ .byte 0x6e
+ .endm
+
+ .macro makevisible bank
+ .byte 0x6f
+ .byte \bank
+ .endm
+
+ .macro recordlastability bank
+ .byte 0x70
+ .byte \bank
+ .endm
+
+ .macro buffermovetolearn
+ .byte 0x71
+ .endm
+
+ .macro jumpifplayerran param0
+ .byte 0x72
+ .4byte \param0
+ .endm
+
+ .macro hpthresholds bank
+ .byte 0x73
+ .byte \bank
+ .endm
+
+ .macro hpthresholds2 bank
+ .byte 0x74
+ .byte \bank
+ .endm
+
+ .macro useitemonopponent
+ .byte 0x75
+ .endm
+
+ .macro various bank, param1
+ .byte 0x76
+ .byte \bank
+ .byte \param1
+ .endm
+
+ .macro setprotectlike
+ .byte 0x77
+ .endm
+
+ .macro faintifabilitynotdamp
+ .byte 0x78
+ .endm
+
+ .macro setatkhptozero
+ .byte 0x79
+ .endm
+
+ .macro jumpifnexttargetvalid param0
+ .byte 0x7a
+ .4byte \param0
+ .endm
+
+ .macro tryhealhalfhealth param0, bank
+ .byte 0x7b
+ .4byte \param0
+ .byte \bank
+ .endm
+
+ .macro trymirrormove
+ .byte 0x7c
+ .endm
+
+ .macro setrain
+ .byte 0x7d
+ .endm
+
+ .macro setreflect
+ .byte 0x7e
+ .endm
+
+ .macro setseeded
+ .byte 0x7f
+ .endm
+
+ .macro manipulatedamage param0
+ .byte 0x80
+ .byte \param0
+ .endm
+
+ .macro trysetrest param0
+ .byte 0x81
+ .4byte \param0
+ .endm
+
+ .macro jumpifnotfirstturn param0
+ .byte 0x82
+ .4byte \param0
+ .endm
+
+ .macro nop
+ .byte 0x83
+ .endm
+
+ .macro jumpifcantmakeasleep param0
+ .byte 0x84
+ .4byte \param0
+ .endm
+
+ .macro stockpile
+ .byte 0x85
+ .endm
+
+ .macro stockpiletobasedamage param0
+ .byte 0x86
+ .4byte \param0
+ .endm
+
+ .macro stockpiletohpheal param0
+ .byte 0x87
+ .4byte \param0
+ .endm
+
+ .macro negativedamage
+ .byte 0x88
+ .endm
+
+ .macro statbuffchange param0, param1
+ .byte 0x89
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro normalisebuffs
+ .byte 0x8a
+ .endm
+
+ .macro setbide
+ .byte 0x8b
+ .endm
+
+ .macro confuseifrepeatingattackends
+ .byte 0x8c
+ .endm
+
+ .macro setmultihitcounter param0
+ .byte 0x8d
+ .byte \param0
+ .endm
+
+ .macro initmultihitstring
+ .byte 0x8e
+ .endm
+
+ .macro forcerandomswitch param0
+ .byte 0x8f
+ .4byte \param0
+ .endm
+
+ .macro tryconversiontypechange param0
+ .byte 0x90
+ .4byte \param0
+ .endm
+
+ .macro givepaydaymoney
+ .byte 0x91
+ .endm
+
+ .macro setlightscreen
+ .byte 0x92
+ .endm
+
+ .macro tryKO param0
+ .byte 0x93
+ .4byte \param0
+ .endm
+
+ .macro damagetohalftargethp
+ .byte 0x94
+ .endm
+
+ .macro setsandstorm
+ .byte 0x95
+ .endm
+
+ .macro weatherdamage
+ .byte 0x96
+ .endm
+
+ .macro tryinfatuating param0
+ .byte 0x97
+ .4byte \param0
+ .endm
+
+ .macro updatestatusicon bank
+ .byte 0x98
+ .byte \bank
+ .endm
+
+ .macro setmist
+ .byte 0x99
+ .endm
+
+ .macro setfocusenergy
+ .byte 0x9a
+ .endm
+
+ .macro transformdataexecution
+ .byte 0x9b
+ .endm
+
+ .macro setsubstitute
+ .byte 0x9c
+ .endm
+
+ .macro mimicattackcopy param0
+ .byte 0x9d
+ .4byte \param0
+ .endm
+
+ .macro metronome
+ .byte 0x9e
+ .endm
+
+ .macro dmgtolevel
+ .byte 0x9f
+ .endm
+
+ .macro psywavedamageeffect
+ .byte 0xa0
+ .endm
+
+ .macro counterdamagecalculator param0
+ .byte 0xa1
+ .4byte \param0
+ .endm
+
+ .macro mirrorcoatdamagecalculator param0
+ .byte 0xa2
+ .4byte \param0
+ .endm
+
+ .macro disablelastusedattack param0
+ .byte 0xa3
+ .4byte \param0
+ .endm
+
+ .macro trysetencore param0
+ .byte 0xa4
+ .4byte \param0
+ .endm
+
+ .macro painsplitdmgcalc param0
+ .byte 0xa5
+ .4byte \param0
+ .endm
+
+ .macro settypetorandomresistance param0
+ .byte 0xa6
+ .4byte \param0
+ .endm
+
+ .macro setalwayshitflag
+ .byte 0xa7
+ .endm
+
+ .macro copymovepermanently param0
+ .byte 0xa8
+ .4byte \param0
+ .endm
+
+ .macro trychoosesleeptalkmove param0
+ .byte 0xa9
+ .4byte \param0
+ .endm
+
+ .macro setdestinybond
+ .byte 0xaa
+ .endm
+
+ .macro trysetdestinybondtohappen
+ .byte 0xab
+ .endm
+
+ .macro remaininghptopower
+ .byte 0xac
+ .endm
+
+ .macro tryspiteppreduce param0
+ .byte 0xad
+ .4byte \param0
+ .endm
+
+ .macro healpartystatus
+ .byte 0xae
+ .endm
+
+ .macro cursetarget param0
+ .byte 0xaf
+ .4byte \param0
+ .endm
+
+ .macro trysetspikes param0
+ .byte 0xb0
+ .4byte \param0
+ .endm
+
+ .macro setforesight
+ .byte 0xb1
+ .endm
+
+ .macro trysetperishsong param0
+ .byte 0xb2
+ .4byte \param0
+ .endm
+
+ .macro rolloutdamagecalculation
+ .byte 0xb3
+ .endm
+
+ .macro jumpifconfusedandstatmaxed stat, param1
+ .byte 0xb4
+ .byte \stat
+ .4byte \param1
+ .endm
+
+ .macro furycuttercalc
+ .byte 0xb5
+ .endm
+
+ .macro happinesstodamagecalculation
+ .byte 0xb6
+ .endm
+
+ .macro presentdamagecalculation
+ .byte 0xb7
+ .endm
+
+ .macro setsafeguard
+ .byte 0xb8
+ .endm
+
+ .macro magnitudedamagecalculation
+ .byte 0xb9
+ .endm
+
+ .macro jumpifnopursuitswitchdmg param0
+ .byte 0xba
+ .4byte \param0
+ .endm
+
+ .macro setsunny
+ .byte 0xbb
+ .endm
+
+ .macro maxattackhalvehp param0
+ .byte 0xbc
+ .4byte \param0
+ .endm
+
+ .macro copyfoestats param0
+ .byte 0xbd
+ .4byte \param0
+ .endm
+
+ .macro rapidspinfree
+ .byte 0xbe
+ .endm
+
+ .macro setdefensecurlbit
+ .byte 0xbf
+ .endm
+
+ .macro recoverbasedonsunlight param0
+ .byte 0xc0
+ .4byte \param0
+ .endm
+
+ .macro hiddenpowercalc
+ .byte 0xc1
+ .endm
+
+ .macro selectfirstvalidtarget
+ .byte 0xc2
+ .endm
+
+ .macro trysetfutureattack param0
+ .byte 0xc3
+ .4byte \param0
+ .endm
+
+ .macro trydobeatup param0, param1
+ .byte 0xc4
+ .4byte \param0
+ .4byte \param1
+ .endm
+
+ .macro setsemiinvulnerablebit
+ .byte 0xc5
+ .endm
+
+ .macro clearsemiinvulnerablebit
+ .byte 0xc6
+ .endm
+
+ .macro setminimize
+ .byte 0xc7
+ .endm
+
+ .macro sethail
+ .byte 0xc8
+ .endm
+
+ .macro jumpifattackandspecialattackcannotfall param0
+ .byte 0xc9
+ .4byte \param0
+ .endm
+
+ .macro setforcedtarget
+ .byte 0xca
+ .endm
+
+ .macro setcharge
+ .byte 0xcb
+ .endm
+
+ .macro callterrainattack
+ .byte 0xcc
+ .endm
+
+ .macro cureifburnedparalysedorpoisoned param0
+ .byte 0xcd
+ .4byte \param0
+ .endm
+
+ .macro settorment param0
+ .byte 0xce
+ .4byte \param0
+ .endm
+
+ .macro jumpifnodamage param0
+ .byte 0xcf
+ .4byte \param0
+ .endm
+
+ .macro settaunt param0
+ .byte 0xd0
+ .4byte \param0
+ .endm
+
+ .macro trysethelpinghand param0
+ .byte 0xd1
+ .4byte \param0
+ .endm
+
+ .macro tryswapitems param0
+ .byte 0xd2
+ .4byte \param0
+ .endm
+
+ .macro trycopyability param0
+ .byte 0xd3
+ .4byte \param0
+ .endm
+
+ .macro trywish param0, param1
+ .byte 0xd4
+ .byte \param0
+ .4byte \param1
+ .endm
+
+ .macro trysetroots param0
+ .byte 0xd5
+ .4byte \param0
+ .endm
+
+ .macro doubledamagedealtifdamaged
+ .byte 0xd6
+ .endm
+
+ .macro setyawn param0
+ .byte 0xd7
+ .4byte \param0
+ .endm
+
+ .macro setdamagetohealthdifference param0
+ .byte 0xd8
+ .4byte \param0
+ .endm
+
+ .macro scaledamagebyhealthratio
+ .byte 0xd9
+ .endm
+
+ .macro tryswapabilities param0
+ .byte 0xda
+ .4byte \param0
+ .endm
+
+ .macro tryimprision param0
+ .byte 0xdb
+ .4byte \param0
+ .endm
+
+ .macro trysetgrudge param0
+ .byte 0xdc
+ .4byte \param0
+ .endm
+
+ .macro weightdamagecalculation
+ .byte 0xdd
+ .endm
+
+ .macro asistattackselect param0
+ .byte 0xde
+ .4byte \param0
+ .endm
+
+ .macro trysetmagiccoat param0
+ .byte 0xdf
+ .4byte \param0
+ .endm
+
+ .macro trysetsnatch param0
+ .byte 0xe0
+ .4byte \param0
+ .endm
+
+ .macro trygetintimidatetarget param0
+ .byte 0xe1
+ .4byte \param0
+ .endm
+
+ .macro switchoutabilities bank
+ .byte 0xe2
+ .byte \bank
+ .endm
+
+ .macro jumpifhasnohp bank, param1
+ .byte 0xe3
+ .byte \bank
+ .4byte \param1
+ .endm
+
+ .macro getsecretpowereffect
+ .byte 0xe4
+ .endm
+
+ .macro pickup
+ .byte 0xe5
+ .endm
+
+ .macro docastformchangeanimation
+ .byte 0xe6
+ .endm
+
+ .macro trycastformdatachange
+ .byte 0xe7
+ .endm
+
+ .macro settypebasedhalvers param0
+ .byte 0xe8
+ .4byte \param0
+ .endm
+
+ .macro setweatherballtype
+ .byte 0xe9
+ .endm
+
+ .macro tryrecycleitem param0
+ .byte 0xea
+ .4byte \param0
+ .endm
+
+ .macro settypetoterrain param0
+ .byte 0xeb
+ .4byte \param0
+ .endm
+
+ .macro pursuitrelated param0
+ .byte 0xec
+ .4byte \param0
+ .endm
+
+ .macro snatchsetbattlers
+ .byte 0xed
+ .endm
+
+ .macro removelightscreenreflect
+ .byte 0xee
+ .endm
+
+ .macro handleballthrow
+ .byte 0xef
+ .endm
+
+ .macro givecaughtmon
+ .byte 0xf0
+ .endm
+
+ .macro trysetcaughtmondexflags param0
+ .byte 0xf1
+ .4byte \param0
+ .endm
+
+ .macro displaydexinfo
+ .byte 0xf2
+ .endm
+
+ .macro trygivecaughtmonnick param0
+ .byte 0xf3
+ .4byte \param0
+ .endm
+
+ .macro subattackerhpbydmg
+ .byte 0xf4
+ .endm
+
+ .macro removeattackerstatus1
+ .byte 0xf5
+ .endm
+
+ .macro finishaction
+ .byte 0xf6
+ .endm
+
+ .macro finishturn
+ .byte 0xf7
+ .endm
+
+ .macro trainerslideout param0
+ .byte 0xf8
+ .byte \param0
+ .endm
+
+@ various command changed to more readable macros
+ .macro cancelmultiturnmoves bank
+ various \bank, VARIOUS_CANCEL_MULTI_TURN_MOVES
+ .endm
+
+ .macro setmagiccoattarget bank
+ various \bank, VARIOUS_SET_MAGIC_COAT_TARGET
+ .endm
+
+ .macro getifcantrunfrombattle bank
+ various \bank, VARIOUS_IS_RUNNING_IMPOSSIBLE
+ .endm
+
+ .macro getmovetarget bank
+ various \bank, VARIOUS_GET_MOVE_TARGET
+ .endm
+
+ .macro various4 bank
+ various \bank, 4
+ .endm
+
+ .macro resetintrimidatetracebits bank
+ various \bank, VARIOUS_RESET_INTIMIDATE_TRACE_BITS
+ .endm
+
+ .macro updatechoicemoveonlvlup bank
+ various \bank, VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP
+ .endm
+
+ .macro various7 bank
+ various \bank, 7
+ .endm
+
+ .macro various8 bank
+ various \bank, 8
+ .endm
+
+ .macro various9 bank
+ various \bank, 9
+ .endm
+
+ .macro various10 bank
+ various \bank, 10
+ .endm
+
+ .macro various11 bank
+ various \bank, 11
+ .endm
+
+ .macro various12 bank
+ various \bank, 12
+ .endm
+
+ .macro forfeityesnobox bank
+ various \bank, VARIOUS_EMIT_YESNOBOX
+ .endm
+
+ .macro various14 bank
+ various \bank, 14
+ .endm
+
+ .macro various15 bank
+ various \bank, 15
+ .endm
+
+ .macro various16 bank
+ various \bank, 16
+ .endm
+
+ .macro various17 bank
+ various \bank, 17
+ .endm
+
+ .macro waitcry bank
+ various \bank, VARIOUS_WAIT_CRY
+ .endm
+
+ .macro returnopponentmon1toball bank
+ various \bank, VARIOUS_RETURN_OPPONENT_MON1
+ .endm
+
+ .macro returnopponentmon2toball bank
+ various \bank, VARIOUS_RETURN_OPPONENT_MON2
+ .endm
+
+ .macro various21 bank
+ various \bank, 21
+ .endm
+
+ .macro various22 bank
+ various \bank, 22
+ .endm
+
+ .macro various23 bank
+ various \bank, 23
+ .endm
+
+ .macro various24 bank
+ various \bank, 24
+ .endm
+
+ .macro setoutcomeonteleport bank
+ various \bank, VARIOUS_SET_TELEPORT_OUTCOME
+ .endm
+
+ .macro playtrainerdefeatbgm bank
+ various \bank, VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC
+ .endm
+
+@ helpful macros
+ .macro setstatchanger stat, stages, down
+ setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
+ .endm
+
+ .macro setmoveeffect effect
+ setbyte cEFFECT_CHOOSER \effect
+ .endm
+
+ .macro chosenstatus1animation bank, status
+ chosenstatusanimation \bank 0x0 \status
+ .endm
+
+ .macro chosenstatus2animation bank, status
+ chosenstatusanimation \bank 0x1 \status
+ .endm
+
+ .macro sethword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ .endm
+
+ .macro setword dst, value
+ setbyte \dst, \value & 0xFF
+ setbyte \dst + 1, (\value >> 8) & 0xFF
+ setbyte \dst + 2, (\value >> 16) & 0xFF
+ setbyte \dst + 3, (\value >> 24) & 0xFF
+ .endm
+
+ .macro copybyte dst, src
+ copyarray \dst, \src, 0x1
+ .endm
+
+ .macro copyhword dst, src
+ copyarray \dst, \src, 0x2
+ .endm
+
+ .macro copyword dst, src
+ copyarray \dst, \src, 0x4
+ .endm
+
+ .macro jumpifbytenotequal byte1, byte2, jumpptr
+ jumpifarraynotequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifbyteequal byte1, byte2, jumpptr
+ jumpifarrayequal \byte1, \byte2, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmove move, jumpptr
+ jumpifhalfword CMP_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifnotmove move, jumpptr
+ jumpifhalfword CMP_NOT_EQUAL, gCurrentMove, \move, \jumpptr
+ .endm
+
+ .macro jumpifstatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x0, \jumpptr
+ .endm
+
+ .macro jumpifnostatus3 bank, status, jumpptr
+ jumpifstatus3condition \bank, \status, 0x1, \jumpptr
+ .endm
+
+ .macro jumpifmovehadnoeffect jumpptr
+ jumpifbyte CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_NO_EFFECT, \jumpptr
+ .endm
+
+ .macro jumpifbattletype flags, jumpptr
+ jumpifword CMP_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
+
+ .macro jumpifnotbattletype flags, jumpptr
+ jumpifword CMP_NO_COMMON_BITS, gBattleTypeFlags, \flags, \jumpptr
+ .endm
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 69cdb38e5..6b9227442 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1,20 +1,20 @@
@ Does nothing.
- .macro nop
+ .macro nop
.byte 0x00
.endm
@ Does nothing.
- .macro nop1
+ .macro nop1
.byte 0x01
.endm
@ Terminates script execution.
- .macro end
+ .macro end
.byte 0x02
.endm
@ Jumps back to after the last-executed call statement, and continues script execution from there.
- .macro return
+ .macro return
.byte 0x03
.endm
@@ -71,12 +71,12 @@
.endm
@ Executes a script stored in a default RAM location.
- .macro gotoram
+ .macro gotoram
.byte 0x0c
.endm
@ Terminates script execution and "resets the script RAM".
- .macro killscript
+ .macro killscript
.byte 0x0d
.endm
@@ -226,6 +226,18 @@
.2byte \var2
.endm
+ @ Generic compare macro which attempts to deduce argument types based on their values
+ @ Any values between 0x4000 to 0x4FFF and 0x8000 to 0x8FFF are considered event variable identifiers
+ .macro compare arg1, arg2
+ .if ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && ((\arg2 >> 12) == 4 || (\arg2 >> 12) == 8)
+ compare_var_to_var \arg1, \arg2
+ .elseif ((\arg1 >> 12) == 4 || (\arg1 >> 12) == 8) && (\arg2 >= 0 && \arg2 <= 0xFFFF)
+ compare_var_to_value \arg1, \arg2
+ .else
+ .error "Invalid arguments for 'compare'"
+ .endif
+ .endm
+
@ Calls the native C function stored at `func`.
.macro callnative func
.byte 0x23
@@ -250,9 +262,16 @@
.2byte \output
.2byte SPECIAL_\function
.endm
+
+ @ temporary solution
+ .macro specialvar_ output, functionId
+ .byte 0x26
+ .2byte \output
+ .2byte \functionId
+ .endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
- .macro waitstate
+ .macro waitstate
.byte 0x27
.endm
@@ -288,12 +307,12 @@
.endm
@ Runs time based events. In FireRed, this command is a nop.
- .macro dodailyevents
+ .macro dodailyevents
.byte 0x2d
.endm
@ Sets the values of variables 0x8000, 0x8001, and 0x8002 to the current hour, minute, and second. In FRLG, this command sets those variables to zero.
- .macro gettime
+ .macro gettime
.byte 0x2e
.endm
@@ -304,7 +323,7 @@
.endm
@ Blocks script execution until the currently-playing sound (triggered by playse) finishes playing.
- .macro waitse
+ .macro waitse
.byte 0x30
.endm
@@ -315,7 +334,7 @@
.endm
@ Blocks script execution until all currently-playing fanfares finish.
- .macro waitfanfare
+ .macro waitfanfare
.byte 0x32
.endm
@@ -333,7 +352,7 @@
.endm
@ Crossfades the currently-playing song into the map's default song.
- .macro fadedefaultbgm
+ .macro fadedefaultbgm
.byte 0x35
.endm
@@ -441,7 +460,7 @@
.endm
@ Retrieves the number of Pokemon in the player's party, and stores that number in variable 0x800D (LASTRESULT).
- .macro getpartysize
+ .macro getpartysize
.byte 0x43
.endm
@@ -518,57 +537,58 @@
.endm
@ Applies the movement data at movements to the specified (index) Object. Also closes any standard message boxes that are still open.
- .macro applymovement index, movements
- .byte 0x4f
- .2byte \index
- .4byte \movements
- .endm
-
- @ Applies the movement data at movements to the specified (index) Object on the specified (map_group, map_num) map. Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
- .macro applymovementat variable, movements, map
- .byte 0x50
- .2byte \variable
- .4byte \movements
- map \map
+ @ If no map is specified, then the current map is used.
+ .macro applymovement index, movements, map
+ .ifb \map
+ .byte 0x4f
+ .2byte \index
+ .4byte \movements
+ .else
+ @ Really only useful if the object has followed from one map to another (e.g. Wally during the catching event).
+ .byte 0x50
+ .2byte \index
+ .4byte \movements
+ map \map
+ .endif
.endm
@ Blocks script execution until the movements being applied to the specified (index) Object finish. If the specified Object is 0x0000, then the command will block script execution until all Objects affected by applymovement finish their movements. If the specified Object is not currently being manipulated with applymovement, then this command does nothing.
- .macro waitmovement index
- .byte 0x51
- .2byte \index
- .endm
-
- @ Blocks script execution until the movements being applied to the specified (index) Object on the specified (map) map finish.
- .macro waitmovementat index, map
- .byte 0x52
- .2byte \index
- map \map
- .endm
-
- @ Attempts to hide the specified (index) Object on the current map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
- .macro removeobject index
- .byte 0x53
- .2byte \index
+ @ If no map is specified, then the current map is used.
+ .macro waitmovement index, map
+ .ifb \map
+ .byte 0x51
+ .2byte \index
+ .else
+ .byte 0x52
+ .2byte \index
+ map \map
+ .endif
.endm
@ Attempts to hide the specified (index) Object on the specified (map_group, map_num) map, by setting its visibility flag if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
- .macro removeobjectat index, map
- .byte 0x54
- .2byte \index
- map \map
- .endm
-
- @ Unsets the specified (index) Object's visibility flag on the current map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
- .macro addobject index
- .byte 0x55
- .2byte \index
+ @ If no map is specified, then the current map is used.
+ .macro removeobject index, map
+ .ifb \map
+ .byte 0x53
+ .2byte \index
+ .else
+ .byte 0x54
+ .2byte \index
+ map \map
+ .endif
.endm
@ Unsets the specified (index) Object's visibility flag on the specified (map_group, map_num) map if it has a valid one. If the Object does not have a valid visibility flag, this command does nothing.
- .macro addobjectat index, map
- .byte 0x56
- .2byte \index
- map \map
+ @ If no map is specified, then the current map is used.
+ .macro addobject index, map
+ .ifb \map
+ .byte 0x55
+ .2byte \index
+ .else
+ .byte 0x56
+ .2byte \index
+ map \map
+ .endif
.endm
@ Sets the specified (index) Object's position on the current map.
@@ -592,7 +612,7 @@
.endm
@ If the script was called by an Object, then that Object will turn to face toward the metatile that the player is standing on.
- .macro faceplayer
+ .macro faceplayer
.byte 0x5a
.endm
@@ -659,15 +679,17 @@
@ Starts a trainer battle using the battle information stored in RAM (usually by trainerbattle, which actually calls this command behind-the-scenes), and blocks script execution until the battle finishes.
- .macro trainerbattlebegin
+ .macro trainerbattlebegin
.byte 0x5d
.endm
- .macro ontrainerbattleend
+ @ Goes to address after the trainerbattle command (called by the battle functions, see battle_setup.c)
+ .macro gotopostbattlescript
.byte 0x5e
.endm
- .macro ontrainerbattleendgoto
+ @ Goes to address specified in the trainerbattle command (called by the battle functions, see battle_setup.c)
+ .macro gotobeatenscript
.byte 0x5f
.endm
@@ -708,7 +730,7 @@
.endm
@ If a standard message box (or its text) is being drawn on-screen, this command blocks script execution until the box and its text have been fully drawn.
- .macro waitmessage
+ .macro waitmessage
.byte 0x66
.endm
@@ -719,32 +741,32 @@
.endm
@ Closes the current message box.
- .macro closemessage
+ .macro closemessage
.byte 0x68
.endm
@ Ceases movement for all Objects on-screen.
- .macro lockall
+ .macro lockall
.byte 0x69
.endm
@ If the script was called by an Object, then that Object's movement will cease.
- .macro lock
+ .macro lock
.byte 0x6a
.endm
@ Resumes normal movement for all Objects on-screen, and closes any standard message boxes that are still open.
- .macro releaseall
+ .macro releaseall
.byte 0x6b
.endm
@ If the script was called by an Object, then that Object's movement will resume. This command also closes any standard message boxes that are still open.
- .macro release
+ .macro release
.byte 0x6c
.endm
@ Blocks script execution until the player presses any key.
- .macro waitbuttonpress
+ .macro waitbuttonpress
.byte 0x6d
.endm
@@ -785,7 +807,7 @@
.endm
@ Nopped in Emerald.
- .macro drawbox
+ .macro drawbox
.byte 0x72
.endm
@@ -816,7 +838,7 @@
.endm
@ Hides all boxes displayed with drawmonpic.
- .macro erasemonpic
+ .macro erasemonpic
.byte 0x76
.endm
@@ -848,11 +870,11 @@
.2byte \species
.endm
- .macro setmonmove byte1, byte2, word
+ .macro setmonmove index, slot, move
.byte 0x7b
- .byte \byte1
- .byte \byte2
- .2byte \word
+ .byte \index
+ .byte \slot
+ .2byte \move
.endm
@ Checks if at least one Pokemon in the player's party knows the specified (index) attack. If so, variable 0x800D (LASTRESULT) is set to the (zero-indexed) slot number of the first Pokemon that knows the move. If not, LASTRESULT is set to 0x0006. Variable 0x8004 is also set to this Pokemon's species.
@@ -956,22 +978,22 @@
.endm
@ This allows you to choose a Pokemon to use in a contest. In FireRed, this command sets the byte at 0x03000EA8 to 0x01.
- .macro choosecontestpkmn
+ .macro choosecontestmon
.byte 0x8b
.endm
@ Starts a contest. In FireRed, this command is a nop.
- .macro startcontest
+ .macro startcontest
.byte 0x8c
.endm
@ Shows the results of a contest. In FireRed, this command is a nop.
- .macro showcontestresults
+ .macro showcontestresults
.byte 0x8d
.endm
@ Starts a contest over a link connection. In FireRed, this command is a nop.
- .macro contestlinktransfer
+ .macro contestlinktransfer
.byte 0x8e
.endm
@@ -1011,7 +1033,7 @@
.endm
@ Hides the secondary box spawned by showmoney.
- .macro hidemoneybox
+ .macro hidemoneybox
.byte 0x94
.endm
@@ -1022,10 +1044,10 @@
.byte \y
.endm
- @ Gets the price reduction for the index (word) given. In FireRed, this command is a nop.
- .macro getpricereduction word
+ @ Gets the price reduction for the index given. In FireRed, this command is a nop.
+ .macro getpricereduction index
.byte 0x96
- .2byte \word
+ .2byte \index
.endm
@ Fades the screen to and from black and white. Mode 0x00 fades from black, mode 0x01 fades out to black, mode 0x2 fades in from white, and mode 0x3 fades out to white.
@@ -1076,13 +1098,13 @@
.endm
@ Sets which healing place the player will return to if all of the Pokemon in their party faint.
- .macro setrespawn flightspot
+ .macro setrespawn heallocation
.byte 0x9f
- .2byte \flightspot
+ .2byte \heallocation
.endm
@ Checks the player's gender. If male, then 0x0000 is stored in variable 0x800D (LASTRESULT). If female, then 0x0001 is stored in LASTRESULT.
- .macro checkplayergender
+ .macro checkplayergender
.byte 0xa0
.endm
@@ -1103,7 +1125,7 @@
.endm
@ Queues a weather change to the default weather for the map.
- .macro resetweather
+ .macro resetweather
.byte 0xa3
.endm
@@ -1114,7 +1136,7 @@
.endm
@ Executes the weather change queued with resetweather or setweather. The current weather will smoothly fade into the queued weather.
- .macro doweather
+ .macro doweather
.byte 0xa5
.endm
@@ -1173,7 +1195,7 @@
.endm
@ Waits for the door animation started with opendoor or closedoor to finish.
- .macro waitdooranim
+ .macro waitdooranim
.byte 0xae
.endm
@@ -1185,7 +1207,7 @@
.endm
@ Sets the door tile at (x, y) to be closed without an animation.
- .macro setdoorclosed2 x, y
+ .macro setdoorclosed x, y
.byte 0xb0
.2byte \x
.2byte \y
@@ -1201,7 +1223,7 @@
.endm
@ In FireRed and Emerald, this command is a nop.
- .macro showelevmenu
+ .macro showelevmenu
.byte 0xb2
.endm
@@ -1215,9 +1237,9 @@
.2byte \count
.endm
- .macro takecoins word
+ .macro takecoins count
.byte 0xb5
- .2byte \word
+ .2byte \count
.endm
@ Prepares to start a wild battle against a species at Level level holding item. Running this command will not affect normal wild battles. You start the prepared battle with dowildbattle.
@@ -1229,14 +1251,13 @@
.endm
@ Starts a wild battle against the Pokemon generated by setwildbattle. Blocks script execution until the battle finishes.
- .macro dowildbattle
+ .macro dowildbattle
.byte 0xb7
.endm
- .macro setvaddress long, word
+ .macro setvaddress pointer
.byte 0xb8
- .4byte \long
- .2byte \word
+ .4byte \pointer
.endm
.macro vgoto pointer
@@ -1314,7 +1335,7 @@
.endm
@ Blocks script execution until cry finishes.
- .macro waitmoncry
+ .macro waitmoncry
.byte 0xc5
.endm
@@ -1338,17 +1359,17 @@
.endm
@ The exact purpose of this command is unknown, but it is related to the blue help-text box that appears on the bottom of the screen when the Main Menu is opened.
- .macro unloadhelp
+ .macro unloadhelp
.byte 0xc9
.endm
@ After using this command, all standard message boxes will use the signpost frame.
- .macro signmsg
+ .macro signmsg
.byte 0xca
.endm
@ Ends the effects of signmsg, returning message box frames to normal.
- .macro normalmsg
+ .macro normalmsg
.byte 0xcb
.endm
@@ -1372,7 +1393,7 @@
.endm
@ Depending on factors I haven't managed to understand yet, this command may cause script execution to jump to the offset specified by the pointer at 0x020375C0.
- .macro execram
+ .macro execram
.byte 0xcf
.endm
@@ -1403,7 +1424,7 @@
.2byte \unknown
.endm
- .macro mossdeepgym2
+ .macro mossdeepgym2
.byte 0xd4
.endm
@@ -1413,7 +1434,7 @@
.2byte \var
.endm
- .macro mossdeepgym4
+ .macro mossdeepgym4
.byte 0xd6
.endm
@@ -1425,15 +1446,15 @@
.2byte \word2
.endm
- .macro cmdD8
+ .macro cmdD8
.byte 0xd8
.endm
- .macro cmdD9
+ .macro cmdD9
.byte 0xd9
.endm
- .macro hidebox2
+ .macro hidebox2
.byte 0xda
.endm
@@ -1498,7 +1519,7 @@
.endm
.macro case condition, dest
- compare_var_to_value 0x8000, \condition
+ compare 0x8000, \condition
goto_eq \dest
.endm
diff --git a/asm/macros/m4a.inc b/asm/macros/m4a.inc
new file mode 100644
index 000000000..6c5abc09b
--- /dev/null
+++ b/asm/macros/m4a.inc
@@ -0,0 +1,13 @@
+ .macro song label, music_player, unknown
+ .4byte \label
+ .2byte \music_player
+ .2byte \unknown
+ .endm
+
+ .macro music_player info_struct, track_struct, unknown_1, unknown_2
+ .4byte \info_struct
+ .4byte \track_struct
+ .byte \unknown_1
+ .space 1
+ .2byte \unknown_2
+ .endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index 5367ad712..23806b4cc 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -1,38 +1,8 @@
- .macro new_map_group
- inc cur_map_group
- .set cur_map_num, 0
+ .macro map map_id
+ .byte \map_id >> 8 @ map group
+ .byte \map_id & 0xFF @ map num
.endm
- .macro map_group map_name
- .set GROUP_\map_name, cur_map_group
- .set MAP_\map_name, cur_map_num
- inc cur_map_num
- .endm
-
- .macro map map_name
- .byte GROUP_\map_name
- .byte MAP_\map_name
- .endm
-
- .macro warp_map map_name
- .byte MAP_\map_name
- .byte GROUP_\map_name
- .endm
-
- .macro heal_location map_name, x, y
- .byte GROUP_\map_name
- .byte MAP_\map_name
- .2byte \x
- .2byte \y
- .space 2
- .endm
-
- .equiv GROUP_NONE, 0x7f
- .equiv MAP_NONE, 0x7f
-
- .equiv GROUP_UNDEFINED, 0xff
- .equiv MAP_UNDEFINED, 0xff
-
.macro map_script type, address
.byte \type
.4byte \address
@@ -44,37 +14,47 @@
.4byte \address
.endm
- .macro object_event index, gfx, replacement, filler1, x, y, elevation, movement_type, radius, filler2, trainer_type, sight_radius_tree_etc, script, event_flag, filler3, filler4
- .byte \index, \gfx, \replacement, \filler1
+ .macro object_event index, gfx, replacement, x, y, elevation, movement_type, x_radius, y_radius, trainer_type, sight_radius_tree_etc, script, event_flag
+ .byte \index, \gfx, \replacement, 0
.2byte \x
.2byte \y
- .byte \elevation, \movement_type, \radius, \filler2
+ .byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0
.2byte \trainer_type, \sight_radius_tree_etc
.4byte \script
.2byte \event_flag
- .byte \filler3, \filler4
+ .2byte 0
inc _num_npcs
.endm
- .macro warp_def x, y, byte, warp, map
+ .macro warp_def x, y, byte, warp, map_id
.2byte \x, \y
.byte \byte, \warp
- warp_map \map
+ .byte \map_id & 0xFF @ map num
+ .byte \map_id >> 8 @ map group
inc _num_warps
.endm
- .macro coord_event x, y, byte1, byte2, word1, word2, word3, script
+ .macro coord_event x, y, elevation, trigger, index, script
.2byte \x, \y
- .byte \byte1, \byte2
- .2byte \word1, \word2, \word3
+ .byte \elevation, 0
+ .2byte \trigger, \index, 0
.4byte \script
inc _num_traps
.endm
- .macro bg_event x, y, byte, kind, word, arg6, arg7, arg8
+ .macro coord_weather_event x, y, elevation, weather
+ .2byte \x, \y
+ .byte \elevation, 0
+ .2byte \weather
+ .2byte 0, 0
+ .4byte 0
+ inc _num_traps
+ .endm
+
+ .macro bg_event x, y, elevation, kind, arg6, arg7, arg8
.2byte \x, \y
- .byte \byte, \kind
- .2byte \word
+ .byte \elevation, \kind
+ .2byte 0
.if \kind < 5
.4byte \arg6
.else
@@ -84,6 +64,14 @@
inc _num_signs
.endm
+ .macro bg_hidden_item_event x, y, height, item, flag
+ bg_event \x, \y, \height, 7, \item, \flag, 0
+ .endm
+
+ .macro bg_secret_base_event x, y, height, secret_base_id
+ bg_event \x, \y, \height, 8, \secret_base_id, 0, 0
+ .endm
+
.macro map_events npcs, warps, traps, signs
.byte _num_npcs, _num_warps, _num_traps, _num_signs
.4byte \npcs, \warps, \traps, \signs
@@ -107,7 +95,7 @@
.equiv connection_dive, 5
.equiv connection_emerge, 6
- .macro connection direction, offset, map, filler
+ .macro connection direction, offset, map
.4byte connection_\direction
.4byte \offset
map \map
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
index 5a810c497..99b5c8f84 100644
--- a/asm/macros/movement.inc
+++ b/asm/macros/movement.inc
@@ -1,4 +1,4 @@
- .macro create_movement name
+ .macro create_movement_action name
enum _\name
.macro \name
.byte _\name
@@ -6,118 +6,126 @@
.endm
enum_start
- create_movement step_00
- create_movement step_01
- create_movement step_02
- create_movement step_03
- create_movement slow_step_down
- create_movement slow_step_up
- create_movement slow_step_left
- create_movement slow_step_right
- create_movement step_down
- create_movement step_up
- create_movement step_left
- create_movement step_right
- create_movement fast_step_down
- create_movement fast_step_up
- create_movement fast_step_left
- create_movement fast_step_right
- create_movement step_10
- create_movement step_11
- create_movement step_12
- create_movement step_13
- create_movement step_14
- create_movement step_15
- create_movement step_16
- create_movement step_17
- create_movement step_18
- create_movement step_19
- create_movement step_1a
- create_movement step_1b
- create_movement step_1c
- create_movement step_1d
- create_movement step_1e
- create_movement step_1f
- create_movement step_20
- create_movement step_21
- create_movement step_22
- create_movement step_23
- create_movement step_24
- create_movement step_25
- create_movement step_26
- create_movement step_27
- create_movement step_28
- create_movement step_29
- create_movement step_2a
- create_movement step_2b
- create_movement step_2c
- create_movement step_2d
- create_movement step_2e
- create_movement step_2f
- create_movement step_30
- create_movement step_31
- create_movement step_32
- create_movement step_33
- create_movement step_34
- create_movement step_35
- create_movement step_36
- create_movement step_37
- create_movement step_38
- create_movement step_39
- create_movement step_3a
- create_movement step_3b
- create_movement step_3c
- create_movement step_3d
- create_movement step_3e
- create_movement step_3f
- create_movement step_40
- create_movement step_41
- create_movement step_42
- create_movement step_43
- create_movement step_44
- create_movement step_45
- create_movement step_46
- create_movement step_47
- create_movement step_48
- create_movement step_49
- create_movement step_4a
- create_movement step_4b
- create_movement step_4c
- create_movement step_4d
- create_movement step_4e
- create_movement step_4f
- create_movement step_50
- create_movement step_51
- create_movement step_52
- create_movement step_53
- create_movement step_54
- create_movement step_55
- create_movement step_56
- create_movement step_57
- create_movement step_58
- create_movement step_59
- create_movement step_5a
- create_movement step_5b
- create_movement step_5c
- create_movement step_5d
- create_movement step_5e
- create_movement step_5f
- create_movement step_60
- create_movement step_61
- create_movement step_62
- create_movement step_63
+ create_movement_action face_down
+ create_movement_action face_up
+ create_movement_action face_left
+ create_movement_action face_right
+ create_movement_action walk_slow_down
+ create_movement_action walk_slow_up
+ create_movement_action walk_slow_left
+ create_movement_action walk_slow_right
+ create_movement_action walk_down
+ create_movement_action walk_up
+ create_movement_action walk_left
+ create_movement_action walk_right
+ create_movement_action jump_2_down
+ create_movement_action jump_2_up
+ create_movement_action jump_2_left
+ create_movement_action jump_2_right
+ create_movement_action delay_1
+ create_movement_action delay_2
+ create_movement_action delay_4
+ create_movement_action delay_8
+ create_movement_action delay_16
+ create_movement_action walk_fast_down
+ create_movement_action walk_fast_up
+ create_movement_action walk_fast_left
+ create_movement_action walk_fast_right
+ create_movement_action walk_in_place_slow_down
+ create_movement_action walk_in_place_slow_up
+ create_movement_action walk_in_place_slow_left
+ create_movement_action walk_in_place_slow_right
+ create_movement_action walk_in_place_down
+ create_movement_action walk_in_place_up
+ create_movement_action walk_in_place_left
+ create_movement_action walk_in_place_right
+ create_movement_action walk_in_place_fast_down
+ create_movement_action walk_in_place_fast_up
+ create_movement_action walk_in_place_fast_left
+ create_movement_action walk_in_place_fast_right
+ create_movement_action walk_in_place_fastest_down
+ create_movement_action walk_in_place_fastest_up
+ create_movement_action walk_in_place_fastest_left
+ create_movement_action walk_in_place_fastest_right
+ create_movement_action ride_water_current_down
+ create_movement_action ride_water_current_up
+ create_movement_action ride_water_current_left
+ create_movement_action ride_water_current_right
+ create_movement_action walk_fastest_down
+ create_movement_action walk_fastest_up
+ create_movement_action walk_fastest_left
+ create_movement_action walk_fastest_right
+ create_movement_action slide_down
+ create_movement_action slide_up
+ create_movement_action slide_left
+ create_movement_action slide_right
+ create_movement_action player_run_down
+ create_movement_action player_run_up
+ create_movement_action player_run_left
+ create_movement_action player_run_right
+ create_movement_action start_anim_in_direction
+ create_movement_action jump_special_down
+ create_movement_action jump_special_up
+ create_movement_action jump_special_left
+ create_movement_action jump_special_right
+ create_movement_action face_player
+ create_movement_action face_away_player
+ create_movement_action lock_facing_direction
+ create_movement_action unlock_facing_direction
+ create_movement_action jump_down
+ create_movement_action jump_up
+ create_movement_action jump_left
+ create_movement_action jump_right
+ create_movement_action jump_in_place_down
+ create_movement_action jump_in_place_up
+ create_movement_action jump_in_place_left
+ create_movement_action jump_in_place_right
+ create_movement_action jump_in_place_down_up
+ create_movement_action jump_in_place_up_down
+ create_movement_action jump_in_place_left_right
+ create_movement_action jump_in_place_right_left
+ create_movement_action face_original_direction
+ create_movement_action nurse_joy_bow
+ create_movement_action enable_jump_landing_ground_effect
+ create_movement_action disable_jump_landing_ground_effect
+ create_movement_action disable_anim
+ create_movement_action restore_anim
+ create_movement_action set_invisible
+ create_movement_action set_visible
+ create_movement_action emote_exclamation_mark
+ create_movement_action emote_question_mark
+ create_movement_action emote_heart
+ create_movement_action reveal_trainer
+ create_movement_action rock_smash_break
+ create_movement_action cut_tree
+ create_movement_action set_fixed_priority
+ create_movement_action clear_fixed_priority
+ create_movement_action init_affine_anim
+ create_movement_action clear_affine_anim
+ create_movement_action unknown_movement_1
+ create_movement_action unknown_movement_2
+ create_movement_action walk_down_start_affine
+ create_movement_action walk_down_affine
- enum_start 0x91
- create_movement step_91
- create_movement step_92
- create_movement step_93
- create_movement step_94
- create_movement step_95
- create_movement step_96
- create_movement step_97
- create_movement step_98
- create_movement step_99
- create_movement step_9A
+ enum_start 0x8C
+ create_movement_action walk_diag_northwest
+ create_movement_action walk_diag_northeast
+ create_movement_action walk_diag_southwest
+ create_movement_action walk_diag_southeast
+ create_movement_action walk_slow_diag_northwest
+ create_movement_action walk_slow_diag_northeast
+ create_movement_action walk_slow_diag_southwest
+ create_movement_action walk_slow_diag_southeast
+ create_movement_action store_lock_anim
+ create_movement_action free_unlock_anim
+ create_movement_action walk_left_affine
+ create_movement_action walk_right_affine
+ create_movement_action levitate
+ create_movement_action stop_levitate
+ create_movement_action destroy_extra_task
+ create_movement_action figure_8
+ create_movement_action fly_up
+ create_movement_action fly_down
enum_start 0xfe
- create_movement step_end
+ create_movement_action step_end
diff --git a/asm/macros/music_voice.inc b/asm/macros/music_voice.inc
new file mode 100644
index 000000000..b7a9e7f8d
--- /dev/null
+++ b/asm/macros/music_voice.inc
@@ -0,0 +1,125 @@
+ .macro voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
+ .byte 0
+ _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_directsound_no_resample base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
+ .byte 8
+ _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_directsound_alt base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
+ .byte 16
+ _voice_directsound \base_midi_key, \pan, \sample_data_pointer, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro _voice_directsound base_midi_key, pan, sample_data_pointer, attack, decay, sustain, release
+ .byte \base_midi_key
+ .byte 0
+ .if \pan != 0
+ .byte (0x80 | \pan)
+ .else
+ .byte 0
+ .endif
+ .4byte \sample_data_pointer
+ .byte \attack
+ .byte \decay
+ .byte \sustain
+ .byte \release
+ .endm
+
+ .macro voice_square_1 sweep, duty_cycle, attack, decay, sustain, release
+ _voice_square_1 1, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_square_1_alt sweep, duty_cycle, attack, decay, sustain, release
+ _voice_square_1 9, \sweep, \duty_cycle, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro _voice_square_1 type, sweep, duty_cycle, attack, decay, sustain, release
+ .byte \type, 60, 0
+ .byte \sweep
+ .byte (\duty_cycle & 0x3)
+ .byte 0, 0, 0
+ .byte (\attack & 0x7)
+ .byte (\decay & 0x7)
+ .byte (\sustain & 0xF)
+ .byte (\release & 0x7)
+ .endm
+
+ .macro voice_square_2 duty_cycle, attack, decay, sustain, release
+ _voice_square_2 2, \duty_cycle, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_square_2_alt duty_cycle, attack, decay, sustain, release
+ _voice_square_2 10, \duty_cycle, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro _voice_square_2 type, duty_cycle, attack, decay, sustain, release
+ .byte \type, 60, 0, 0
+ .byte (\duty_cycle & 0x3)
+ .byte 0, 0, 0
+ .byte (\attack & 0x7)
+ .byte (\decay & 0x7)
+ .byte (\sustain & 0xF)
+ .byte (\release & 0x7)
+ .endm
+
+ .macro voice_programmable_wave wave_samples_pointer, attack, decay, sustain, release
+ _voice_programmable_wave 3, \wave_samples_pointer, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_programmable_wave_alt wave_samples_pointer, attack, decay, sustain, release
+ _voice_programmable_wave 11, \wave_samples_pointer, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro _voice_programmable_wave type, wave_samples_pointer, attack, decay, sustain, release
+ .byte \type, 60, 0, 0
+ .4byte \wave_samples_pointer
+ .byte (\attack & 0x7)
+ .byte (\decay & 0x7)
+ .byte (\sustain & 0xF)
+ .byte (\release & 0x7)
+ .endm
+
+ .macro voice_noise period, attack, decay, sustain, release
+ _voice_noise 4, \period, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro voice_noise_alt period, attack, decay, sustain, release
+ _voice_noise 12, \period, \attack, \decay, \sustain, \release
+ .endm
+
+ .macro _voice_noise type, period, attack, decay, sustain, release
+ .byte \type, 60, 0, 0
+ .byte (\period & 0x1)
+ .byte 0, 0, 0
+ .byte (\attack & 0x7)
+ .byte (\decay & 0x7)
+ .byte (\sustain & 0xF)
+ .byte (\release & 0x7)
+ .endm
+
+ .macro voice_keysplit voice_group_pointer, keysplit_table_pointer
+ .byte 0x40, 0, 0, 0
+ .4byte \voice_group_pointer
+ .4byte \keysplit_table_pointer
+ .endm
+
+ .macro voice_keysplit_all voice_group_pointer
+ .byte 0x80, 0, 0, 0
+ .4byte \voice_group_pointer
+ .4byte 0
+ .endm
+
+ .macro cry sample
+ .byte 0x20, 60, 0, 0
+ .4byte \sample
+ .byte 0xff, 0, 0xff, 0
+ .endm
+
+ .macro cry2 sample
+ .byte 0x30, 60, 0, 0
+ .4byte \sample
+ .byte 0xff, 0, 0xff, 0
+ .endm
diff --git a/asm/macros/pokemon_data.inc b/asm/macros/pokemon_data.inc
index 31c015334..ce8ef98ac 100644
--- a/asm/macros/pokemon_data.inc
+++ b/asm/macros/pokemon_data.inc
@@ -52,5 +52,5 @@
.byte \max_level
.endif
- .2byte SPECIES_\species
+ .2byte \species
.endm
diff --git a/asm/macros/window.inc b/asm/macros/window.inc
index b7291138b..a91782bbf 100644
--- a/asm/macros/window.inc
+++ b/asm/macros/window.inc
@@ -8,7 +8,7 @@
.2byte \vram_tile_offset
.endm
- .macro window_template_terminator
+ .macro null_window_template
window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
.endm
diff --git a/asm/mail_data.s b/asm/mail_data.s
deleted file mode 100755
index 70fc856d1..000000000
--- a/asm/mail_data.s
+++ /dev/null
@@ -1,589 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ClearMailData
-ClearMailData: @ 80D436C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSaveBlock1Ptr
-_080D4372:
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- ldr r0, =0x00002be0
- adds r1, r0
- ldr r0, [r5]
- adds r0, r1
- bl ClearMailStruct
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080D4372
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearMailData
-
- thumb_func_start ClearMailStruct
-ClearMailStruct: @ 80D439C
- push {r4-r6,lr}
- adds r3, r0, 0
- ldr r0, =0x0000ffff
- adds r4, r0, 0
- adds r1, r3, 0
- movs r2, 0x8
-_080D43A8:
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080D43A8
- movs r2, 0
- adds r6, r3, 0
- adds r6, 0x1A
- adds r4, r3, 0
- adds r4, 0x12
- movs r5, 0xFF
-_080D43C2:
- adds r1, r4, r2
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x7
- ble _080D43C2
- adds r1, r6, 0
- movs r2, 0
- adds r0, r1, 0x3
-_080D43D6:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080D43D6
- movs r1, 0
- movs r0, 0x1
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearMailStruct
-
- thumb_func_start MonHasMail
-MonHasMail: @ 80D43F0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _080D4418
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- cmp r0, 0xFF
- beq _080D4418
- movs r0, 0x1
- b _080D441A
-_080D4418:
- movs r0, 0
-_080D441A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end MonHasMail
-
- thumb_func_start sub_80D4420
-sub_80D4420: @ 80D4420
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- lsls r1, 16
- lsrs r0, r1, 16
- str r0, [sp, 0x8]
- mov r0, sp
- movs r2, 0
- ldrb r3, [r0, 0x8]
- strb r3, [r0]
- lsrs r1, 24
- strb r1, [r0, 0x1]
- add r3, sp, 0x4
- strb r2, [r3]
- ldr r4, =gSaveBlock1Ptr
- mov r10, r4
- mov r9, r3
- adds r4, r3, 0
-_080D444C:
- mov r1, r10
- ldr r0, [r1]
- ldrb r2, [r4]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r0, r1
- movs r1, 0xB0
- lsls r1, 6
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080D4468
- b _080D45A8
-_080D4468:
- movs r4, 0
- ldr r2, =gSaveBlock2Ptr
- mov r12, r2
- ldr r7, =gSaveBlock1Ptr
- add r5, sp, 0x4
- ldr r3, =0x0000ffff
- adds r6, r3, 0
-_080D4476:
- ldr r2, [r7]
- lsls r3, r4, 1
- ldrb r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- ldr r0, =0x00002be0
- adds r2, r0
- adds r2, r3
- ldrh r0, [r2]
- orrs r0, r6
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x8
- bls _080D4476
- movs r4, 0
- ldr r5, =gSaveBlock1Ptr
- add r3, sp, 0x4
-_080D44A0:
- ldr r2, [r5]
- ldrb r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldr r1, =0x00002bf2
- adds r2, r1
- adds r2, r0
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080D44A0
- mov r3, r10
- ldr r2, [r3]
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldr r1, =0x00002bf2
- adds r2, r1
- adds r2, r0
- movs r0, 0xFF
- strb r0, [r2]
- mov r2, r9
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, [r3]
- adds r0, r1
- ldr r3, =0x00002bf2
- adds r0, r3
- movs r1, 0
- bl sub_81DB4DC
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
- add r3, sp, 0x4
- ldr r5, =gSaveBlock2Ptr
-_080D4500:
- ldr r2, [r6]
- ldrb r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldr r1, =0x00002bfa
- adds r2, r1
- adds r2, r0
- ldr r0, [r5]
- adds r0, 0xA
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080D4500
- mov r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80D45C8
- mov r2, r10
- ldr r3, [r2]
- mov r4, r9
- ldrb r2, [r4]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r3, r1
- ldr r2, =0x00002bfe
- adds r1, r2
- strh r0, [r1]
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- movs r4, 0xB0
- lsls r4, 6
- adds r3, r4
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r3]
- mov r0, r8
- movs r1, 0x40
- mov r2, r9
- bl SetMonData
- mov r0, r8
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- mov r1, r9
- ldrb r0, [r1]
- b _080D45B6
- .pool
-_080D45A8:
- adds r0, r2, 0x1
- strb r0, [r3]
- ldrb r0, [r4]
- cmp r0, 0x5
- bhi _080D45B4
- b _080D444C
-_080D45B4:
- movs r0, 0xFF
-_080D45B6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D4420
-
- thumb_func_start sub_80D45C8
-sub_80D45C8: @ 80D45C8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080D45E0
- adds r0, r1, 0
- bl mon_icon_personality_to_unown_id
- lsls r0, 16
- ldr r1, =0x75300000
- adds r0, r1
- lsrs r0, 16
-_080D45E0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D45C8
-
- thumb_func_start sub_80D45E8
-sub_80D45E8: @ 80D45E8
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0xffff8ad0
- adds r2, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x1B
- bhi _080D4604
- movs r0, 0xC9
- strh r2, [r1]
- b _080D4606
- .pool
-_080D4604:
- adds r0, r3, 0
-_080D4606:
- pop {r1}
- bx r1
- thumb_func_end sub_80D45E8
-
- thumb_func_start GiveMailToMon2
-GiveMailToMon2: @ 80D460C
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- ldrh r5, [r7, 0x20]
- adds r1, r5, 0
- bl sub_80D4420
- add r4, sp, 0x4
- strb r0, [r4]
- ldrb r2, [r4]
- cmp r2, 0xFF
- beq _080D4670
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, =0x00002be0
- adds r1, r0
- adds r0, r7, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- mov r0, sp
- strb r5, [r0]
- mov r1, sp
- lsrs r0, r5, 8
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldrb r0, [r4]
- b _080D4672
- .pool
-_080D4670:
- movs r0, 0xFF
-_080D4672:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GiveMailToMon2
-
- thumb_func_start sub_80D467C
-sub_80D467C: @ 80D467C
- movs r0, 0
- bx lr
- thumb_func_end sub_80D467C
-
- thumb_func_start TakeMailFromMon
-TakeMailFromMon: @ 80D4680
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl MonHasMail
- lsls r0, 24
- cmp r0, 0
- beq _080D46D2
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- add r2, sp, 0x4
- strb r0, [r2]
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r3, r0
- movs r0, 0xB0
- lsls r0, 6
- adds r3, r0
- movs r1, 0
- movs r0, 0
- strh r0, [r3]
- movs r0, 0xFF
- strb r0, [r2]
- mov r0, sp
- strb r1, [r0]
- strb r1, [r0, 0x1]
- adds r0, r4, 0
- movs r1, 0x40
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_080D46D2:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end TakeMailFromMon
-
- thumb_func_start sub_80D46E0
-sub_80D46E0: @ 80D46E0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSaveBlock1Ptr
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- movs r0, 0xB0
- lsls r0, 6
- adds r2, r0
- movs r0, 0
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_80D46E0
-
- thumb_func_start sub_80D4700
-sub_80D4700: @ 80D4700
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r5, r0, 0
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- add r1, sp, 0x4
- movs r0, 0xFF
- strb r0, [r1]
- movs r7, 0x6
- mov r9, r1
- ldr r0, =gSaveBlock1Ptr
- mov r8, r0
- ldr r3, =0x00002be0
-_080D4724:
- mov r1, r8
- ldr r0, [r1]
- lsls r1, r7, 3
- adds r1, r7
- lsls r1, 2
- adds r4, r0, r1
- movs r2, 0xB0
- lsls r2, 6
- adds r0, r4, r2
- ldrh r6, [r0]
- cmp r6, 0
- bne _080D47A0
- adds r4, r3
- adds r0, r5, 0
- movs r1, 0x40
- str r3, [sp, 0x8]
- bl GetMonData
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r3, [sp, 0x8]
- adds r1, r3
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- movs r3, 0xB0
- lsls r3, 6
- adds r2, r3
- strh r6, [r2]
- adds r0, r5, 0
- movs r1, 0x40
- mov r2, r9
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- b _080D47AC
- .pool
-_080D47A0:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080D4724
- movs r0, 0xFF
-_080D47AC:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D4700
-
- thumb_func_start itemid_is_mail
-itemid_is_mail: @ 80D47BC
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x84
- bgt _080D47CE
- cmp r0, 0x79
- blt _080D47CE
- movs r0, 0x1
- b _080D47D0
-_080D47CE:
- movs r0, 0
-_080D47D0:
- pop {r1}
- bx r1
- thumb_func_end itemid_is_mail
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/main_menu.s b/asm/main_menu.s
deleted file mode 100644
index 6194f0487..000000000
--- a/asm/main_menu.s
+++ /dev/null
@@ -1,5477 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CB2_MainMenu
-@ void CB2_MainMenu()
-CB2_MainMenu: @ 802F6B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end CB2_MainMenu
-
- thumb_func_start VBlankCB_MainMenu
-@ void VBlankCB_MainMenu()
-VBlankCB_MainMenu: @ 802F6C8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_MainMenu
-
- thumb_func_start CB2_InitMainMenu
-@ void CB2_InitMainMenu()
-CB2_InitMainMenu: @ 802F6DC
- push {lr}
- movs r0, 0
- bl InitMainMenu
- pop {r0}
- bx r0
- thumb_func_end CB2_InitMainMenu
-
- thumb_func_start CB2_ReinitMainMenu
-@ void CB2_ReinitMainMenu()
-CB2_ReinitMainMenu: @ 802F6E8
- push {lr}
- movs r0, 0x1
- bl InitMainMenu
- pop {r0}
- bx r0
- thumb_func_end CB2_ReinitMainMenu
-
- thumb_func_start InitMainMenu
-@ void InitMainMenu(bool8 affects_palette_maybe)
-InitMainMenu: @ 802F6F4
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r5, 0
- str r5, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r5, [r0]
- str r0, [r1]
- ldr r0, =0x05000002
- str r0, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, =gMainMenuBgPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gMainMenuTextPal
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- cmp r4, 0
- beq _0802F7EC
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0802F7FE
- .pool
-_0802F7EC:
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0802F7FE:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082FF0E8
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_082FF038
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, =0x000001d5
- movs r0, 0
- bl LoadMainMenuWindowFrameTiles
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =VBlankCB_MainMenu
- bl SetVBlankCallback
- ldr r0, =CB2_MainMenu
- bl SetMainCallback2
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl HideBg
- ldr r0, =Task_MainMenuCheckSaveFile
- movs r1, 0
- bl CreateTask
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end InitMainMenu
-
- thumb_func_start Task_MainMenuCheckSaveFile
-@ void Task_MainMenuCheckSaveFile(u8 taskId)
-Task_MainMenuCheckSaveFile: @ 802F8D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r4, r7, r0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0802F900
- b _0802FA4E
-_0802F900:
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x11
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x31
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC1
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x7
- bl SetGpuReg
- bl sub_80093CC
- lsls r0, 24
- cmp r0, 0
- beq _0802F946
- movs r0, 0x1
- strh r0, [r4, 0x1E]
-_0802F946:
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _0802F990
- cmp r0, 0x2
- bgt _0802F968
- cmp r0, 0
- beq _0802F9D0
- cmp r0, 0x1
- beq _0802F972
- b _0802F9D0
- .pool
-_0802F968:
- cmp r0, 0x4
- beq _0802F9EC
- cmp r0, 0xFF
- beq _0802F9A4
- b _0802F9D0
-_0802F972:
- strh r0, [r4]
- bl IsMysteryGiftEnabled
- cmp r0, 0
- beq _0802F982
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0802F982:
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =Task_MainMenuCheckBattery
- b _0802F9FC
- .pool
-_0802F990:
- ldr r0, =gText_SaveFileErased
- bl CreateMainMenuErrorWindow
- strh r5, [r4]
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- b _0802F9FA
- .pool
-_0802F9A4:
- ldr r0, =gText_SaveFileCorrupted
- bl CreateMainMenuErrorWindow
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =Task_WaitForSaveFileErrorWindow
- str r1, [r0]
- movs r0, 0x1
- strh r0, [r4]
- bl IsMysteryGiftEnabled
- cmp r0, 0x1
- bne _0802F9FE
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0802F9FE
- .pool
-_0802F9D0:
- movs r0, 0
- strh r0, [r4]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_MainMenuCheckBattery
- b _0802F9FC
- .pool
-_0802F9EC:
- ldr r0, =gJPText_No1MSubCircuit
- bl CreateMainMenuErrorWindow
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- strh r5, [r0, 0x8]
-_0802F9FA:
- ldr r1, =Task_WaitForSaveFileErrorWindow
-_0802F9FC:
- str r1, [r0]
-_0802F9FE:
- ldr r2, =gUnknown_02022D06
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _0802FA3E
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- beq _0802FA36
- cmp r0, 0x2
- ble _0802FA2C
- cmp r0, 0x3
- beq _0802FA3A
- b _0802FA3E
- .pool
-_0802FA2C:
- cmp r0, 0
- blt _0802FA3E
- ldrh r0, [r4]
- adds r0, 0x1
- b _0802FA3C
-_0802FA36:
- movs r0, 0x3
- b _0802FA3C
-_0802FA3A:
- movs r0, 0x4
-_0802FA3C:
- strh r0, [r2]
-_0802FA3E:
- ldrh r1, [r2]
- ldr r0, =0x00007fff
- ands r0, r1
- strh r0, [r2]
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x2
- strh r0, [r4, 0x18]
-_0802FA4E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_MainMenuCheckSaveFile
-
- thumb_func_start Task_WaitForSaveFileErrorWindow
-@ void Task_WaitForSaveFileErrorWindow(u8 taskId)
-Task_WaitForSaveFileErrorWindow: @ 802FA5C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl RunTextPrinters
- movs r0, 0x7
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0802FA98
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802FA98
- movs r0, 0x7
- bl ClearWindowTilemap
- ldr r0, =gUnknown_082FF070
- bl sub_8032250
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_MainMenuCheckBattery
- str r1, [r0]
-_0802FA98:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_WaitForSaveFileErrorWindow
-
- thumb_func_start Task_MainMenuCheckBattery
-@ void Task_MainMenuCheckBattery(u8 taskId)
-Task_MainMenuCheckBattery: @ 802FAB0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0802FB3C
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x11
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x31
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC1
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x7
- bl SetGpuReg
- bl RtcGetErrorStatus
- movs r1, 0xFF
- lsls r1, 4
- ands r1, r0
- cmp r1, 0
- bne _0802FB28
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_DisplayMainMenu
- str r0, [r1]
- b _0802FB3C
- .pool
-_0802FB28:
- ldr r0, =gText_BatteryRunDry
- bl CreateMainMenuErrorWindow
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_WaitForBatteryDryErrorWindow
- str r1, [r0]
-_0802FB3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_MainMenuCheckBattery
-
- thumb_func_start Task_WaitForBatteryDryErrorWindow
-@ void Task_WaitForBatteryDryErrorWindow(u8 taskId)
-Task_WaitForBatteryDryErrorWindow: @ 802FB50
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl RunTextPrinters
- movs r0, 0x7
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0802FB8C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0802FB8C
- movs r0, 0x7
- bl ClearWindowTilemap
- ldr r0, =gUnknown_082FF070
- bl sub_8032250
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_DisplayMainMenu
- str r1, [r0]
-_0802FB8C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_WaitForBatteryDryErrorWindow
-
- thumb_func_start Task_DisplayMainMenu
-@ void Task_DisplayMainMenu(u8 taskId)
-Task_DisplayMainMenu: @ 802FBA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0802FBCE
- b _0803006C
-_0802FBCE:
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x11
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x31
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC1
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x7
- bl SetGpuReg
- add r0, sp, 0xC
- strh r4, [r0]
- movs r1, 0xFE
- movs r2, 0x2
- bl LoadPalette
- add r1, sp, 0xC
- ldr r2, =0x00007fff
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xFA
- movs r2, 0x2
- bl LoadPalette
- add r1, sp, 0xC
- ldr r2, =0x0000318c
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xFB
- movs r2, 0x2
- bl LoadPalette
- add r1, sp, 0xC
- ldr r2, =0x0000675a
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xFC
- movs r2, 0x2
- bl LoadPalette
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0802FC84
- add r1, sp, 0xC
- ldr r2, =0x00007e04
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF1
- movs r2, 0x2
- bl LoadPalette
- b _0802FC96
- .pool
-_0802FC84:
- add r1, sp, 0xC
- ldr r2, =0x0000547f
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r1, 0
- movs r1, 0xF1
- movs r2, 0x2
- bl LoadPalette
-_0802FC96:
- ldr r0, =gTasks
- mov r8, r0
- lsls r1, r7, 2
- adds r0, r1, r7
- lsls r0, 3
- add r0, r8
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r9, r1
- cmp r0, 0x1
- beq _0802FD44
- cmp r0, 0x1
- ble _0802FCBC
- cmp r0, 0x2
- bne _0802FCB6
- b _0802FE00
-_0802FCB6:
- cmp r0, 0x3
- bne _0802FCBC
- b _0802FEFC
-_0802FCBC:
- movs r0, 0
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082FF0E0
- str r5, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuNewGame
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuOption
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, =gUnknown_082FF038
- ldr r5, =0x000001d5
- adds r0, r4, 0
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r4, 0x8
- b _0802FED4
- .pool
-_0802FD44:
- movs r0, 0x2
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x4
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082FF0E0
- str r5, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuContinue
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuNewGame
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuOption
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- bl fmt_savegame
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, =gUnknown_082FF048
- ldr r5, =0x000001d5
- adds r0, r4, 0
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r0, r4, 0
- adds r0, 0x8
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r4, 0x10
- b _0802FED4
- .pool
-_0802FE00:
- movs r0, 0x2
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x4
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082FF0E0
- str r5, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuContinue
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuNewGame
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuMysteryGift
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuOption
- str r0, [sp, 0x8]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- bl fmt_savegame
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r4, =gUnknown_082FF048
- ldr r5, =0x000001d5
- adds r0, r4, 0
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r0, r4, 0
- adds r0, 0x8
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- adds r4, 0x18
-_0802FED4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl DrawMainMenuWindowBorder
- b _0803005E
- .pool
-_0802FEFC:
- movs r0, 0x2
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x3
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x4
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x5
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- movs r0, 0x6
- movs r1, 0xAA
- bl FillWindowPixelBuffer
- ldr r5, =gUnknown_082FF0E0
- str r5, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuContinue
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuNewGame
- str r0, [sp, 0x8]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuMysteryGift2
- str r0, [sp, 0x8]
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuMysteryEvents
- str r0, [sp, 0x8]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- str r5, [sp]
- str r4, [sp, 0x4]
- ldr r0, =gText_MainMenuOption
- str r0, [sp, 0x8]
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl box_print
- bl fmt_savegame
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0x5
- bl PutWindowTilemap
- movs r0, 0x6
- bl PutWindowTilemap
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x5
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x6
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r5, =gUnknown_082FF048
- ldr r4, =0x000001d5
- adds r0, r5, 0
- adds r1, r4, 0
- bl DrawMainMenuWindowBorder
- adds r0, r5, 0
- adds r0, 0x8
- adds r1, r4, 0
- bl DrawMainMenuWindowBorder
- adds r0, r5, 0
- adds r0, 0x10
- adds r1, r4, 0
- bl DrawMainMenuWindowBorder
- adds r0, r5, 0
- adds r0, 0x18
- adds r1, r4, 0
- bl DrawMainMenuWindowBorder
- adds r0, r5, 0
- adds r0, 0x20
- adds r1, r4, 0
- bl DrawMainMenuWindowBorder
- ldr r0, =gUnknown_082FF0F4
- ldr r4, =gUnknown_02022D06
- adds r1, r4, 0
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x1A]
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r1, =Task_ScrollIndicatorArrowPairOnMainMenu
- str r1, [r0]
- ldrh r0, [r4]
- cmp r0, 0x4
- bne _0803005E
- movs r4, 0x80
- lsls r4, 6
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- strh r0, [r6, 0x1C]
- movs r2, 0x1A
- ldrsh r1, [r6, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r8
- movs r1, 0x1
- strh r1, [r0, 0x26]
-_0803005E:
- ldr r0, =gTasks
- mov r2, r9
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_HighlightSelectedMainMenuItem
- str r0, [r1]
-_0803006C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_DisplayMainMenu
-
- thumb_func_start Task_HighlightSelectedMainMenuItem
-@ void Task_HighlightSelectedMainMenuItem(u8 taskId)
-Task_HighlightSelectedMainMenuItem: @ 80300B0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0xA]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- bl HighlightSelectedMainMenuItem
- ldr r0, =Task_HandleMainMenuInput
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HighlightSelectedMainMenuItem
-
- thumb_func_start HandleMainMenuInput
-@ u8 HandleMainMenuInput(u8 taskId)
-HandleMainMenuInput: @ 80300E0
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r7, =gTasks + 0x8
- adds r5, r4, r7
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08030130
- movs r0, 0x5
- bl PlaySE
- bl sub_80093CC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, =Task_HandleMainMenuAPressed
- str r1, [r0]
- b _08030240
- .pool
-_08030130:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _08030178
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0xA0
- bl SetGpuReg
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r4, r0
- ldr r1, =Task_HandleMainMenuBPressed
- str r1, [r0]
- b _08030240
- .pool
-_08030178:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _080301CA
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- cmp r2, 0
- ble _080301CA
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- bne _080301C4
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080301C4
- cmp r2, 0x1
- bne _080301C4
- movs r4, 0x80
- lsls r4, 6
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgY
- movs r2, 0x1A
- ldrsh r1, [r5, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r7, r0
- strh r6, [r5, 0x1C]
- strh r6, [r0, 0x1E]
-_080301C4:
- ldrh r0, [r5, 0x2]
- subs r0, 0x1
- b _0803022C
-_080301CA:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08030240
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- bge _08030240
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- bne _08030228
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0x3
- bne _08030228
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08030228
- movs r4, 0x80
- lsls r4, 6
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- ldr r2, =gTasks
- movs r0, 0x1A
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1
- strh r1, [r5, 0x1C]
- movs r1, 0x1
- strh r1, [r0, 0x26]
-_08030228:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
-_0803022C:
- strh r0, [r5, 0x2]
- ldr r1, =gUnknown_02022D06
- strh r0, [r1]
- movs r0, 0x1
- b _08030242
- .pool
-_08030240:
- movs r0, 0
-_08030242:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end HandleMainMenuInput
-
- thumb_func_start Task_HandleMainMenuInput
-@ void Task_HandleMainMenuInput(u8 taskId)
-Task_HandleMainMenuInput: @ 803024C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl HandleMainMenuInput
- lsls r0, 24
- cmp r0, 0
- beq _0803026C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =Task_HighlightSelectedMainMenuItem
- str r0, [r1]
-_0803026C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleMainMenuInput
-
- thumb_func_start Task_HandleMainMenuAPressed
-@ void Task_HandleMainMenuAPressed(int task_id)
-Task_HandleMainMenuAPressed: @ 803027C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08030292
- b _08030536
-_08030292:
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r0, r1, r6
- lsls r0, 3
- adds r4, r0, r2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0x3
- bne _080302B0
- ldrh r0, [r4, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveScrollIndicatorArrowPair
-_080302B0:
- movs r0, 0
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x4
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x5
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x6
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x7
- movs r1, 0x1
- bl sub_819746C
- bl sub_80093CC
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _08030324
- cmp r0, 0x1
- ble _0803030C
- cmp r0, 0x2
- beq _08030336
- cmp r0, 0x3
- beq _08030358
-_0803030C:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08030388
- cmp r0, 0x1
- bne _08030388
- b _080303D8
- .pool
-_08030324:
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _08030388
- cmp r0, 0x1
- ble _08030384
- cmp r0, 0x2
- bne _08030384
- b _080303D8
-_08030336:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _08030388
- cmp r0, 0x1
- ble _08030384
- cmp r0, 0x2
- beq _0803034C
- cmp r0, 0x3
- beq _080303D8
- b _08030384
-_0803034C:
- movs r5, 0x3
- cmp r2, 0
- bne _080303DA
- movs r5, 0x6
- strh r2, [r4, 0x8]
- b _080303DA
-_08030358:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _08030384
- lsls r0, 2
- ldr r1, =_08030370
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08030370:
- .4byte _08030384
- .4byte _08030388
- .4byte _0803038C
- .4byte _080303BC
- .4byte _080303D8
-_08030384:
- movs r5, 0x1
- b _080303DA
-_08030388:
- movs r5, 0
- b _080303DA
-_0803038C:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x26
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080303AC
- movs r5, 0x3
- cmp r2, 0
- bne _080303DA
- movs r5, 0x6
- strh r2, [r1, 0x8]
- b _080303DA
- .pool
-_080303AC:
- cmp r2, 0
- beq _080303B8
- movs r5, 0x6
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _080303DA
-_080303B8:
- movs r5, 0x5
- b _080303DA
-_080303BC:
- cmp r2, 0
- beq _080303D4
- movs r5, 0x6
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- b _080303DA
- .pool
-_080303D4:
- movs r5, 0x4
- b _080303DA
-_080303D8:
- movs r5, 0x2
-_080303DA:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- cmp r5, 0x6
- bhi _0803041C
- lsls r0, r5, 2
- ldr r1, =_08030400
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08030400:
- .4byte _0803041C
- .4byte _08030444
- .4byte _08030460
- .4byte _08030478
- .4byte _08030480
- .4byte _08030488
- .4byte _0803049C
-_0803041C:
- ldr r0, =gPlttBufferUnfaded
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- ldr r1, =gTasks
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_1
- str r1, [r0]
- b _08030514
- .pool
-_08030444:
- ldr r0, =gPlttBufferUnfaded
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- ldr r0, =sub_8086230
- b _0803048A
- .pool
-_08030460:
- ldr r0, =gMain
- ldr r1, =CB2_ReinitMainMenu
- str r1, [r0, 0x8]
- ldr r0, =CB2_OptionsMenu
- b _0803048A
- .pool
-_08030478:
- ldr r0, =c2_mystery_gift
- b _0803048A
- .pool
-_08030480:
- ldr r0, =sub_8178974
- b _0803048A
- .pool
-_08030488:
- ldr r0, =sub_801867C
-_0803048A:
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
- b _08030514
- .pool
-_0803049C:
- ldr r1, =gTasks
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r1
- movs r4, 0
- strh r4, [r0, 0xA]
- ldr r1, =Task_DisplayMainMenuInvalidActionError
- str r1, [r0]
- ldr r0, =gPlttBufferUnfaded
- movs r2, 0xF1
- lsls r2, 1
- adds r0, r2
- ldr r1, =0x00007fff
- strh r1, [r0]
- ldr r0, =gPlttBufferFaded
- adds r0, r2
- strh r1, [r0]
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08030536
- .pool
-_08030514:
- bl FreeAllWindowBuffers
- cmp r5, 0x2
- beq _08030528
- ldr r1, =gUnknown_02022D06
- movs r0, 0
- strh r0, [r1]
- b _08030536
- .pool
-_08030528:
- ldr r0, =gUnknown_02022D06
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 8
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
-_08030536:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleMainMenuAPressed
-
- thumb_func_start Task_HandleMainMenuBPressed
-@ void Task_HandleMainMenuBPressed(u8 taskId)
-Task_HandleMainMenuBPressed: @ 8030544
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0803058C
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x3
- bne _08030578
- ldrh r0, [r1, 0x22]
- lsls r0, 24
- lsrs r0, 24
- bl RemoveScrollIndicatorArrowPair
-_08030578:
- ldr r0, =gUnknown_02022D06
- strh r4, [r0]
- bl FreeAllWindowBuffers
- ldr r0, =c2_title_screen_1
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_0803058C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_HandleMainMenuBPressed
-
- thumb_func_start Task_DisplayMainMenuInvalidActionError
-@ void Task_DisplayMainMenuInvalidActionError(u8 taskId)
-Task_DisplayMainMenuInvalidActionError: @ 80305A4
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _0803063C
- cmp r1, 0x1
- bgt _080305CC
- cmp r1, 0
- beq _080305D6
- b _08030688
- .pool
-_080305CC:
- cmp r1, 0x2
- beq _0803064C
- cmp r1, 0x3
- beq _08030664
- b _08030688
-_080305D6:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08030610
- cmp r0, 0x1
- bgt _080305FC
- cmp r0, 0
- beq _08030602
- b _08030622
-_080305FC:
- cmp r0, 0x2
- beq _0803061C
- b _08030622
-_08030602:
- ldr r0, =gText_WirelessNotConnected
- bl CreateMainMenuErrorWindow
- b _08030622
- .pool
-_08030610:
- ldr r0, =gText_MysteryGiftCantUse
- bl CreateMainMenuErrorWindow
- b _08030622
- .pool
-_0803061C:
- ldr r0, =gText_MysteryEventsCantUse
- bl CreateMainMenuErrorWindow
-_08030622:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08030688
- .pool
-_0803063C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- b _08030658
- .pool
-_0803064C:
- bl RunTextPrinters
- movs r0, 0x7
- bl IsTextPrinterActive
- lsls r0, 16
-_08030658:
- cmp r0, 0
- bne _08030688
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _08030688
-_08030664:
- ldr r0, =gMain
- ldrh r0, [r0, 0x2E]
- ands r1, r0
- cmp r1, 0
- beq _08030688
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =Task_HandleMainMenuBPressed
- str r0, [r4]
-_08030688:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_DisplayMainMenuInvalidActionError
-
- thumb_func_start HighlightSelectedMainMenuItem
-@ void HighlightSelectedMainMenuItem(u8 a1, u8 selectedMenuItem, u16 a3)
-HighlightSelectedMainMenuItem: @ 8030698
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r1, =0x000009e7
- movs r0, 0x40
- bl SetGpuReg
- cmp r5, 0x1
- beq _080306DC
- cmp r5, 0x1
- ble _080306BE
- cmp r5, 0x2
- beq _08030700
- cmp r5, 0x3
- beq _08030728
-_080306BE:
- cmp r4, 0
- beq _080306C6
- cmp r4, 0x1
- beq _080306D4
-_080306C6:
- ldr r1, =0x0000011f
- b _0803078E
- .pool
-_080306D4:
- ldr r1, =0x0000213f
- b _0803078E
- .pool
-_080306DC:
- cmp r4, 0x1
- beq _080306F0
- cmp r4, 0x1
- ble _080306E8
- cmp r4, 0x2
- beq _080306F8
-_080306E8:
- ldr r1, =0x0000013f
- b _0803078E
- .pool
-_080306F0:
- ldr r1, =0x0000415f
- b _0803078E
- .pool
-_080306F8:
- ldr r1, =0x0000617f
- b _0803078E
- .pool
-_08030700:
- cmp r4, 0x1
- beq _08030718
- cmp r4, 0x1
- ble _08030710
- cmp r4, 0x2
- beq _08030720
- cmp r4, 0x3
- beq _0803078C
-_08030710:
- ldr r1, =0x0000013f
- b _0803078E
- .pool
-_08030718:
- ldr r1, =0x0000415f
- b _0803078E
- .pool
-_08030720:
- ldr r1, =0x0000617f
- b _0803078E
- .pool
-_08030728:
- cmp r4, 0x4
- bhi _08030750
- lsls r0, r4, 2
- ldr r1, =_0803073C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0803073C:
- .4byte _08030750
- .4byte _08030758
- .4byte _0803076C
- .4byte _08030780
- .4byte _0803079C
-_08030750:
- ldr r1, =0x0000013f
- b _0803078E
- .pool
-_08030758:
- cmp r6, 0
- beq _08030764
- ldr r1, =0x0000213f
- b _0803078E
- .pool
-_08030764:
- ldr r1, =0x0000415f
- b _0803078E
- .pool
-_0803076C:
- cmp r6, 0
- beq _08030778
- ldr r1, =0x0000415f
- b _0803078E
- .pool
-_08030778:
- ldr r1, =0x0000617f
- b _0803078E
- .pool
-_08030780:
- cmp r6, 0
- beq _0803078C
- ldr r1, =0x0000617f
- b _0803078E
- .pool
-_0803078C:
- ldr r1, =0x0000819f
-_0803078E:
- movs r0, 0x44
- bl SetGpuReg
- b _080307A4
- .pool
-_0803079C:
- ldr r1, =0x0000819f
- movs r0, 0x44
- bl SetGpuReg
-_080307A4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end HighlightSelectedMainMenuItem
-
- thumb_func_start task_new_game_prof_birch_speech_1
-@ void task_new_game_prof_birch_speech_1(int task_id)
-task_new_game_prof_birch_speech_1: @ 80307B0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =gUnknown_082FF0F0
- bl InitBgFromTemplate
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gBirchIntroShadowGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_082FEEF0
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =gUnknown_082FECFC
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_082FF028
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
- bl remove_some_task
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl dp13_810BB8C
- adds r0, r4, 0
- bl AddBirchSpeechObjects
- movs r0, 0x1
- negs r0, r0
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x10]
- ldr r1, =task_new_game_prof_birch_speech_2
- str r1, [r0]
- movs r1, 0xFF
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- movs r1, 0xD8
- strh r1, [r0, 0x16]
- movs r0, 0xBB
- lsls r0, 1
- bl PlayBGM
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_1
-
- thumb_func_start task_new_game_prof_birch_speech_2
-task_new_game_prof_birch_speech_2: @ 80308B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080308D4
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _0803091A
- .pool
-_080308D4:
- ldrb r0, [r4, 0x18]
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x88
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_8031BAC
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_8031D34
- movs r0, 0x50
- strh r0, [r4, 0x16]
- ldr r0, =task_new_game_prof_birch_speech_3
- str r0, [r4]
-_0803091A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_2
-
- thumb_func_start task_new_game_prof_birch_speech_3
-@ int task_new_game_prof_birch_speech_3()
-task_new_game_prof_birch_speech_3: @ 8030928
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080309B6
- ldr r2, =gSprites
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrh r1, [r4, 0x16]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08030970
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _080309B6
- .pool
-_08030970:
- ldr r0, =gUnknown_082FF080
- bl InitWindows
- movs r0, 0
- movs r1, 0xF3
- bl LoadMainMenuWindowFrameTiles
- movs r0, 0
- movs r1, 0xFC
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- movs r0, 0
- movs r1, 0x1
- bl unknown_rbox_to_vram
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl sub_8032318
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C897B
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r0, =task_new_game_prof_birch_speech_4
- str r0, [r4]
-_080309B6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_3
-
- thumb_func_start task_new_game_prof_birch_speech_4
-task_new_game_prof_birch_speech_4: @ 80309CC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08030A0A
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08030A0A
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_5
- str r1, [r0]
- ldr r0, =gStringVar4
- ldr r1, =gText_ThisIsAPokemon
- bl StringExpandPlaceholders
- ldr r1, =sub_80323A0
- movs r0, 0x1
- bl AddTextPrinterWithCallbackForMessage
- ldr r0, =gUnknown_03000DD0
- strb r4, [r0]
-_08030A0A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_4
-
- thumb_func_start task_new_game_prof_birch_speech_5
-task_new_game_prof_birch_speech_5: @ 8030A2C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08030A58
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8A1F
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_6
- str r1, [r0]
-_08030A58:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_5
-
- thumb_func_start sub_8030A70
-sub_8030A70: @ 8030A70
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gTasks
- ldr r0, =gUnknown_03000DD0
- mov r8, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrb r0, [r0, 0x1A]
- ldr r1, =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r5, 0
- movs r1, 0x64
- strh r1, [r2, 0x20]
- movs r1, 0x4B
- strh r1, [r2, 0x22]
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r3, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- mov r3, r12
- strb r1, [r3]
- strh r5, [r2, 0x2E]
- ldrb r1, [r2, 0x5]
- lsrs r1, 4
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x20
- str r2, [sp, 0x8]
- ldr r2, =0x0000ffff
- str r2, [sp, 0xC]
- ldr r2, =0x00000127
- str r2, [sp, 0x10]
- movs r2, 0x70
- movs r3, 0x3A
- bl sub_8076438
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r6
- ldr r1, =sub_8030B14
- str r1, [r0]
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- strh r5, [r0, 0x16]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8030A70
-
- thumb_func_start sub_8030B14
-sub_8030B14: @ 8030B14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- subs r1, 0x8
- mov r8, r1
- ldr r2, =gUnknown_03000DD0
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- mov r1, r8
- adds r6, r0, r1
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r7, r2, 0
- cmp r0, 0
- beq _08030B64
- cmp r0, 0x1
- beq _08030B7C
- b _08030B98
- .pool
-_08030B64:
- ldr r1, [r3, 0x1C]
- ldr r0, =SpriteCallbackDummy
- cmp r1, r0
- bne _08030BBA
- ldrb r1, [r3, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r3, 0x1]
- b _08030B98
- .pool
-_08030B7C:
- movs r1, 0x16
- ldrsh r0, [r6, r1]
- cmp r0, 0x5F
- ble _08030BBA
- adds r0, r4, 0
- bl DestroyTask
- ldrb r1, [r7]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- mov r1, r8
- adds r2, r0, r1
- b _08030BAA
-_08030B98:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r2, =gTasks
- ldrb r1, [r7]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, r0, r2
-_08030BAA:
- ldrh r3, [r2, 0x16]
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- ldr r0, =0x00003fff
- cmp r1, r0
- bgt _08030BBA
- adds r0, r3, 0x1
- strh r0, [r2, 0x16]
-_08030BBA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8030B14
-
- thumb_func_start task_new_game_prof_birch_speech_6
-task_new_game_prof_birch_speech_6: @ 8030BCC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8197224
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _08030BFE
- ldr r0, =gUnknown_02022D04
- strb r1, [r0]
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8BD0
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_7
- str r1, [r0]
-_08030BFE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_6
-
- thumb_func_start task_new_game_prof_birch_speech_7
-task_new_game_prof_birch_speech_7: @ 8030C18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08030C7C
- ldr r5, =gSprites
- ldr r0, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x1]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8031ACC
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8031C88
- movs r0, 0x40
- strh r0, [r4, 0x16]
- ldr r0, =task_new_game_prof_birch_speech_8
- str r0, [r4]
-_08030C7C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_7
-
- thumb_func_start task_new_game_prof_birch_speech_8
-task_new_game_prof_birch_speech_8: @ 8030C90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r3, [r2, 0x10]
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- movs r0, 0x3C
- negs r0, r0
- cmp r1, r0
- beq _08030CC0
- subs r0, r3, 0x2
- strh r0, [r2, 0x10]
- ldrh r1, [r2, 0x10]
- movs r0, 0x14
- bl SetGpuReg
- b _08030CC8
- .pool
-_08030CC0:
- ldr r0, =0x0000ffc4
- strh r0, [r2, 0x10]
- ldr r0, =task_new_game_prof_birch_speech_9
- str r0, [r2]
-_08030CC8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_8
-
- thumb_func_start task_new_game_prof_birch_speech_9
-task_new_game_prof_birch_speech_9: @ 8030CD4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08030D7A
- ldr r2, =gSprites
- movs r0, 0x18
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r7, 0x4
- orrs r1, r7
- strb r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- ldrh r0, [r4, 0x16]
- movs r1, 0x16
- ldrsh r6, [r4, r1]
- cmp r6, 0
- beq _08030D34
- subs r0, 0x1
- strh r0, [r4, 0x16]
- b _08030D7A
- .pool
-_08030D34:
- ldrb r3, [r4, 0x1C]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r2
- movs r0, 0xB4
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- subs r0, 0x41
- ands r0, r2
- mov r2, r12
- strb r0, [r2]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x1]
- strh r3, [r4, 0xC]
- strh r6, [r4, 0x14]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8031BAC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8031D34
- ldr r0, =task_new_game_prof_birch_speech_10
- str r0, [r4]
-_08030D7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_9
-
- thumb_func_start task_new_game_prof_birch_speech_10
-task_new_game_prof_birch_speech_10: @ 8030D84
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08030DB8
- ldr r2, =gSprites
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldr r0, =task_new_game_prof_birch_speech_11
- str r0, [r3]
-_08030DB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_10
-
- thumb_func_start task_new_game_prof_birch_speech_11
-task_new_game_prof_birch_speech_11: @ 8030DC8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_8032318
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8BDD
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_12
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_11
-
- thumb_func_start task_new_game_prof_birch_speech_12
-task_new_game_prof_birch_speech_12: @ 8030E08
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08030E2A
- bl sub_8031D74
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_new_game_prof_birch_speech_13
- str r0, [r1]
-_08030E2A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_12
-
- thumb_func_start task_new_game_prof_birch_speech_13
-task_new_game_prof_birch_speech_13: @ 8030E38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8031DB4
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- beq _08030E52
- cmp r4, 0x1
- beq _08030E52
- lsls r4, r5, 2
- b _08030E76
-_08030E52:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- strb r4, [r0, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80322E0
- ldr r1, =gTasks
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_14
- str r1, [r0]
- adds r4, r2, 0
-_08030E76:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, =gTasks
- adds r0, r4, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r3, r0
- beq _08030EB8
- strh r3, [r4, 0x14]
- ldr r2, =gSprites
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8031ACC
- ldr r0, =sub_8030ED4
- str r0, [r4]
-_08030EB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_13
-
- thumb_func_start sub_8030ED4
-sub_8030ED4: @ 8030ED4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r5, [r4, 0xC]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0
- bne _08030F0C
- ldr r0, =gSprites
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x4
- strh r0, [r1, 0x20]
- b _08030F72
- .pool
-_08030F0C:
- ldr r3, =gSprites
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08030F30
- ldrb r5, [r4, 0x1E]
- b _08030F32
- .pool
-_08030F30:
- ldrb r5, [r4, 0x1C]
-_08030F32:
- lsls r2, r5, 4
- adds r2, r5
- lsls r2, 2
- adds r2, r3
- movs r0, 0xF0
- strh r0, [r2, 0x20]
- movs r0, 0x3C
- strh r0, [r2, 0x22]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r3]
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r7
- strh r5, [r4, 0xC]
- ldrb r1, [r2, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- movs r1, 0
- bl sub_8031BAC
- ldr r0, =sub_8030F7C
- str r0, [r4]
-_08030F72:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8030ED4
-
- thumb_func_start sub_8030F7C
-sub_8030F7C: @ 8030F7C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrb r1, [r3, 0xC]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrh r1, [r2, 0x20]
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0xB4
- ble _08030FB0
- subs r0, r1, 0x4
- strh r0, [r2, 0x20]
- b _08030FCA
- .pool
-_08030FB0:
- movs r0, 0xB4
- strh r0, [r2, 0x20]
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08030FCA
- ldrb r0, [r2, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- strb r1, [r2, 0x1]
- ldr r0, =task_new_game_prof_birch_speech_13
- str r0, [r3]
-_08030FCA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8030F7C
-
- thumb_func_start task_new_game_prof_birch_speech_14
-task_new_game_prof_birch_speech_14: @ 8030FD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_8032318
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8BFF
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_15
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_14
-
- thumb_func_start task_new_game_prof_birch_speech_15
-task_new_game_prof_birch_speech_15: @ 8031014
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08031032
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_new_game_prof_birch_speech_16
- str r0, [r1]
-_08031032:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_15
-
- thumb_func_start task_new_game_prof_birch_speech_16
-task_new_game_prof_birch_speech_16: @ 8031040
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0803105C
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0803107A
-_0803105C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_17
- str r1, [r0]
-_0803107A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_16
-
- thumb_func_start task_new_game_prof_birch_speech_17
-task_new_game_prof_birch_speech_17: @ 8031090
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080310EC
- bl FreeAllWindowBuffers
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x1A]
- bl sub_818D820
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- bl set_default_player_name
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- str r5, [sp]
- ldr r0, =new_game_prof_birch_speech_part2_start
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0
- bl DoNamingScreen
-_080310EC:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_17
-
- thumb_func_start task_new_game_prof_birch_speech_part2_2
-task_new_game_prof_birch_speech_part2_2: @ 8031104
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_8032318
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8C1C
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_part2_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_2
-
- thumb_func_start task_new_game_prof_birch_speech_part2_3
-task_new_game_prof_birch_speech_part2_3: @ 8031144
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _08031178
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0xF3
- movs r3, 0xDF
- bl sub_80323CC
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =task_new_game_prof_birch_speech_part2_4
- str r1, [r0]
-_08031178:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_3
-
- thumb_func_start task_new_game_prof_birch_speech_part2_4
-task_new_game_prof_birch_speech_part2_4: @ 8031188
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080311AE
- cmp r1, 0
- bgt _080311A8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080311FC
- b _08031210
-_080311A8:
- cmp r1, 0x1
- beq _080311FC
- b _08031210
-_080311AE:
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gSprites
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8031ACC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8031C88
- ldr r0, =task_new_game_prof_birch_speech_part2_5
- str r0, [r4]
- b _08031210
- .pool
-_080311FC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =task_new_game_prof_birch_speech_11
- str r0, [r1]
-_08031210:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_4
-
- thumb_func_start task_new_game_prof_birch_speech_part2_5
-task_new_game_prof_birch_speech_part2_5: @ 8031220
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0803124C
- adds r0, r2, 0x2
- strh r0, [r1, 0x10]
- ldrh r1, [r1, 0x10]
- movs r0, 0x14
- bl SetGpuReg
- b _08031250
- .pool
-_0803124C:
- ldr r0, =task_new_game_prof_birch_speech_part2_6
- str r0, [r1]
-_08031250:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_5
-
- thumb_func_start task_new_game_prof_birch_speech_part2_6
-task_new_game_prof_birch_speech_part2_6: @ 8031258
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _08031320
- ldr r5, =gSprites
- movs r2, 0x1C
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- mov r12, r3
- mov r2, r12
- orrs r1, r2
- strb r1, [r0]
- movs r3, 0x1E
- ldrsh r1, [r7, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r7, 0x18]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x88
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r4, 0x5
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r3]
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- mov r3, r12
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldrb r1, [r7, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x64
- strh r1, [r0, 0x20]
- movs r1, 0x4B
- strh r1, [r0, 0x22]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- ands r4, r1
- strb r4, [r3]
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r1, r12
- orrs r2, r1
- strb r2, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8031BAC
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8031D34
- movs r0, 0
- bl sub_8032318
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8C2A
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r0, =task_new_game_prof_birch_speech_part2_7
- str r0, [r7]
-_08031320:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_6
-
- thumb_func_start task_new_game_prof_birch_speech_part2_7
-task_new_game_prof_birch_speech_part2_7: @ 803133C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080313D2
- ldr r7, =gSprites
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x1]
- bl sub_8197224
- lsls r0, 16
- cmp r0, 0
- bne _080313D2
- movs r0, 0x18
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r2, [r0, 0x1]
- adds r1, r6, 0
- ands r1, r2
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0, 0x1]
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x1]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8031ACC
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8031C88
- movs r0, 0x40
- strh r0, [r4, 0x16]
- ldr r0, =task_new_game_prof_birch_speech_part2_8
- str r0, [r4]
-_080313D2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_7
-
- thumb_func_start task_new_game_prof_birch_speech_part2_8
-task_new_game_prof_birch_speech_part2_8: @ 80313E4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0
- beq _080314B0
- ldr r2, =gSprites
- movs r3, 0x18
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- ldrh r1, [r4, 0x16]
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08031444
- subs r0, r1, 0x1
- strh r0, [r4, 0x16]
- b _080314B0
- .pool
-_08031444:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _08031458
- ldrb r5, [r4, 0x1E]
- b _0803145A
- .pool
-_08031458:
- ldrb r5, [r4, 0x1C]
-_0803145A:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r2
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r7
- strh r5, [r4, 0xC]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8031BAC
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8031D34
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082C8C7A
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterForMessage
- ldr r0, =task_new_game_prof_birch_speech_part2_9
- str r0, [r4]
-_080314B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_8
-
- thumb_func_start task_new_game_prof_birch_speech_part2_9
-task_new_game_prof_birch_speech_part2_9: @ 80314C4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0803155C
- ldr r7, =gSprites
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- bl sub_8197224
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- bne _0803155C
- ldrb r0, [r6, 0xC]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r5, r4, r7
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x1]
- adds r0, r7, 0
- adds r0, 0x10
- adds r0, r4, r0
- ldr r1, =gUnknown_082FF114
- str r1, [r0]
- adds r0, r5, 0
- bl InitSpriteAffineAnim
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r7, 0
- adds r0, 0x1C
- adds r4, r0
- ldr r0, =sub_80318D8
- str r0, [r4]
- ldr r0, =0x0000ffff
- mov r1, r8
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- bl FadeOutBGM
- ldr r0, =task_new_game_prof_birch_speech_part2_10
- str r0, [r6]
-_0803155C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_9
-
- thumb_func_start task_new_game_prof_birch_speech_part2_10
-task_new_game_prof_birch_speech_part2_10: @ 8031580
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrb r1, [r3, 0xC]
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080315AA
- ldr r0, =task_new_game_prof_birch_speech_part2_11
- str r0, [r3]
-_080315AA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_10
-
- thumb_func_start task_new_game_prof_birch_speech_part2_11
-task_new_game_prof_birch_speech_part2_11: @ 80315BC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0803160A
- ldr r0, =gTasks
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrb r2, [r4, 0xC]
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =nullsub_11
- str r1, [r0]
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =0xffff0000
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =task_new_game_prof_birch_speech_part2_12
- str r0, [r4]
-_0803160A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_11
-
- thumb_func_start task_new_game_prof_birch_speech_part2_12
-task_new_game_prof_birch_speech_part2_12: @ 8031630
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08031666
- bl FreeAllWindowBuffers
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x1A]
- bl sub_818D820
- bl dp13_810BB8C
- ldr r0, =CB2_NewGame
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08031666:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_12
-
- thumb_func_start new_game_prof_birch_speech_part2_start
-new_game_prof_birch_speech_part2_start: @ 8031678
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, =gUnknown_082FF0E8
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_082FF0F0
- bl InitBgFromTemplate
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- add r0, sp, 0x4
- movs r4, 0
- strh r4, [r0]
- ldr r1, =0x040000d4
- str r0, [r1]
- movs r4, 0xC0
- lsls r4, 19
- str r4, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r2, [r0]
- str r0, [r1]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, =gBirchIntroShadowGfx
- adds r1, r4, 0
- bl LZ77UnCompVram
- ldr r0, =gUnknown_082FEEF0
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =gUnknown_082FECFC
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- ldr r0, =gUnknown_082FF018+2
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
- bl ResetTasks
- ldr r0, =task_new_game_prof_birch_speech_part2_1
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0x5
- strh r0, [r4, 0x16]
- ldr r0, =0x0000ffc4
- strh r0, [r4, 0x10]
- bl remove_some_task
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl dp13_810BB8C
- adds r0, r5, 0
- bl AddBirchSpeechObjects
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080317DC
- movs r0, 0x1
- strh r0, [r4, 0x14]
- ldrb r3, [r4, 0x1E]
- b _080317E0
- .pool
-_080317DC:
- strh r0, [r4, 0x14]
- ldrb r3, [r4, 0x1C]
-_080317E0:
- ldr r0, =gSprites
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- movs r4, 0
- movs r0, 0xB4
- strh r0, [r1, 0x20]
- movs r0, 0x3C
- strh r0, [r1, 0x22]
- adds r1, 0x3E
- ldrb r2, [r1]
- subs r0, 0x41
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r1, =0x0000ffc4
- movs r0, 0x14
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- ldr r3, =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, =VBlankCB_MainMenu
- bl SetVBlankCallback
- ldr r0, =CB2_MainMenu
- bl SetMainCallback2
- ldr r0, =gUnknown_082FF080
- bl InitWindows
- movs r0, 0
- movs r1, 0xF3
- bl LoadMainMenuWindowFrameTiles
- movs r0, 0
- movs r1, 0xFC
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end new_game_prof_birch_speech_part2_start
-
- thumb_func_start nullsub_11
-nullsub_11: @ 80318D4
- bx lr
- thumb_func_end nullsub_11
-
- thumb_func_start sub_80318D8
-sub_80318D8: @ 80318D8
- movs r2, 0x22
- ldrsh r1, [r0, r2]
- lsls r1, 16
- movs r3, 0x2E
- ldrsh r2, [r0, r3]
- adds r1, r2
- movs r2, 0xC0
- lsls r2, 8
- adds r1, r2
- lsrs r2, r1, 16
- strh r2, [r0, 0x22]
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end sub_80318D8
-
- thumb_func_start sub_80318F4
-sub_80318F4: @ 80318F4
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =0x00000127
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- adds r0, r2, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0x1
- bl sub_818D3E4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80318F4
-
- thumb_func_start AddBirchSpeechObjects
-@ void AddBirchSpeechObjects(u8 taskId)
-AddBirchSpeechObjects: @ 803192C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x88
- movs r1, 0x3C
- movs r2, 0x1
- bl AddNewGameBirchObject
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r9, r1
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- movs r3, 0x1C
- add r3, r9
- mov r8, r3
- adds r1, r2, r3
- ldr r7, =nullsub_11
- str r7, [r1]
- add r2, r9
- ldrb r3, [r2, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- mov r10, r3
- mov r3, r10
- orrs r1, r3
- strb r1, [r2]
- ldr r1, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r1
- strh r0, [r5, 0x18]
- movs r0, 0x64
- movs r1, 0x4B
- bl sub_80318F4
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r4, r8
- adds r1, r2, r4
- str r7, [r1]
- add r2, r9
- ldrb r3, [r2, 0x5]
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r3, r10
- orrs r1, r3
- strb r1, [r2]
- strh r0, [r5, 0x1A]
- movs r0, 0x3C
- bl sub_806EFF0
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =0x0201c000
- str r4, [sp]
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0
- bl sub_80B5E6C
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r3, r8
- adds r1, r2, r3
- str r7, [r1]
- add r2, r9
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- mov r4, r10
- orrs r1, r4
- strb r1, [r3]
- ldrb r3, [r2, 0x5]
- adds r1, r6, 0
- ands r1, r3
- strb r1, [r2, 0x5]
- strh r0, [r5, 0x1C]
- movs r0, 0x3F
- bl sub_806EFF0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =0x0201c000
- movs r2, 0x80
- lsls r2, 4
- adds r4, r1, r2
- str r4, [sp]
- movs r1, 0x78
- movs r2, 0x3C
- movs r3, 0
- bl sub_80B5E6C
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r8, r2
- mov r3, r8
- str r7, [r3]
- add r2, r9
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- mov r4, r10
- orrs r1, r4
- strb r1, [r3]
- ldrb r1, [r2, 0x5]
- ands r6, r1
- strb r6, [r2, 0x5]
- strh r0, [r5, 0x1E]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddBirchSpeechObjects
-
- thumb_func_start sub_8031A5C
-sub_8031A5C: @ 8031A5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r4
- ldrh r1, [r2, 0xA]
- movs r5, 0xA
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _08031A94
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x1
- strh r0, [r1, 0x12]
- adds r0, r3, 0
- bl DestroyTask
- b _08031AC4
- .pool
-_08031A94:
- ldrh r3, [r2, 0x10]
- movs r4, 0x10
- ldrsh r0, [r2, r4]
- cmp r0, 0
- beq _08031AA4
- subs r0, r3, 0x1
- strh r0, [r2, 0x10]
- b _08031AC4
-_08031AA4:
- ldrh r0, [r2, 0xE]
- strh r0, [r2, 0x10]
- subs r1, 0x1
- strh r1, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r5, 0xC
- ldrsh r0, [r2, r5]
- lsls r0, 8
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_08031AC4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8031A5C
-
- thumb_func_start sub_8031ACC
-sub_8031ACC: @ 8031ACC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x94
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gTasks
- mov r8, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r6, 0
- strh r6, [r0, 0x12]
- ldr r0, =sub_8031A5C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- strh r4, [r1, 0x8]
- movs r0, 0x10
- strh r0, [r1, 0xA]
- strh r6, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031ACC
-
- thumb_func_start sub_8031B3C
-sub_8031B3C: @ 8031B3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r4
- ldrh r1, [r2, 0xA]
- movs r5, 0xA
- ldrsh r0, [r2, r5]
- cmp r0, 0x10
- bne _08031B74
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x1
- strh r0, [r1, 0x12]
- adds r0, r3, 0
- bl DestroyTask
- b _08031BA4
- .pool
-_08031B74:
- ldrh r3, [r2, 0x10]
- movs r4, 0x10
- ldrsh r0, [r2, r4]
- cmp r0, 0
- beq _08031B84
- subs r0, r3, 0x1
- strh r0, [r2, 0x10]
- b _08031BA4
-_08031B84:
- ldrh r0, [r2, 0xE]
- strh r0, [r2, 0x10]
- adds r1, 0x1
- strh r1, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- subs r0, 0x1
- strh r0, [r2, 0xC]
- movs r5, 0xC
- ldrsh r0, [r2, r5]
- lsls r0, 8
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_08031BA4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8031B3C
-
- thumb_func_start sub_8031BAC
-sub_8031BAC: @ 8031BAC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x94
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gTasks
- mov r8, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r6, 0
- strh r6, [r0, 0x12]
- ldr r0, =sub_8031B3C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- add r1, r8
- strh r4, [r1, 0x8]
- strh r6, [r1, 0xA]
- movs r0, 0x10
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031BAC
-
- thumb_func_start sub_8031C1C
-sub_8031C1C: @ 8031C1C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r3, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08031C40
- subs r0, r3, 0x1
- strh r0, [r1, 0xC]
- b _08031C7C
- .pool
-_08031C40:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0x8
- bne _08031C52
- adds r0, r2, 0
- bl DestroyTask
- b _08031C7C
-_08031C52:
- ldrh r2, [r1, 0x10]
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08031C62
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _08031C7C
-_08031C62:
- ldrh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r1, =gUnknown_082FF018
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
-_08031C7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031C1C
-
- thumb_func_start sub_8031C88
-sub_8031C88: @ 8031C88
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =sub_8031C1C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- movs r0, 0x8
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031C88
-
- thumb_func_start sub_8031CC8
-sub_8031CC8: @ 8031CC8
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r3, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08031CEC
- subs r0, r3, 0x1
- strh r0, [r1, 0xC]
- b _08031D28
- .pool
-_08031CEC:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _08031CFE
- adds r0, r2, 0
- bl DestroyTask
- b _08031D28
-_08031CFE:
- ldrh r2, [r1, 0x10]
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _08031D0E
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- b _08031D28
-_08031D0E:
- ldrh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- subs r0, r3, 0x1
- strh r0, [r1, 0xA]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- lsls r0, 1
- ldr r1, =gUnknown_082FF018
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x10
- bl LoadPalette
-_08031D28:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031CC8
-
- thumb_func_start sub_8031D34
-sub_8031D34: @ 8031D34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =sub_8031CC8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- movs r0, 0x8
- strh r0, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r5, [r1, 0xE]
- strh r5, [r1, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031D34
-
- thumb_func_start sub_8031D74
-sub_8031D74: @ 8031D74
- push {lr}
- ldr r0, =gUnknown_082FF088
- movs r1, 0xF3
- bl DrawMainMenuWindowBorder
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gUnknown_082FF118
- movs r0, 0x1
- movs r1, 0x2
- bl PrintMenuTable
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8031D74
-
- thumb_func_start sub_8031DB4
-sub_8031DB4: @ 8031DB4
- push {lr}
- bl ProcessMenuInputNoWrapAround
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8031DB4
-
- thumb_func_start set_default_player_name
-@ void set_default_player_name(int name_id)
-set_default_player_name: @ 8031DC4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- adds r5, r1, 0
- cmp r0, 0
- bne _08031DE4
- ldr r1, =gMalePresetNames
- b _08031DE6
- .pool
-_08031DE4:
- ldr r1, =gFemalePresetNames
-_08031DE6:
- lsls r0, r2, 2
- adds r0, r1
- ldr r3, [r0]
- movs r2, 0
- ldr r4, =gSaveBlock2Ptr
-_08031DF0:
- ldr r1, [r4]
- adds r1, r2
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _08031DF0
- ldr r1, [r5]
- movs r0, 0xFF
- strb r0, [r1, 0x7]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_default_player_name
-
- thumb_func_start CreateMainMenuErrorWindow
-@ void CreateMainMenuErrorWindow(u8 *str)
-CreateMainMenuErrorWindow: @ 8031E18
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0x7
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x7
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x7
- bl PutWindowTilemap
- movs r0, 0x7
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, =gUnknown_082FF070
- ldr r1, =0x000001d5
- bl DrawMainMenuWindowBorder
- ldr r1, =0x000009e7
- movs r0, 0x40
- bl SetGpuReg
- ldr r1, =0x0000719f
- movs r0, 0x44
- bl SetGpuReg
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateMainMenuErrorWindow
-
- thumb_func_start fmt_savegame
-fmt_savegame: @ 8031E7C
- push {lr}
- bl fmt_time
- bl fmt_pokedex
- bl fmt_player
- bl fmt_badges
- pop {r0}
- bx r0
- thumb_func_end fmt_savegame
-
- thumb_func_start fmt_time
-fmt_time: @ 8031E94
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r4, =gStringVar4
- ldr r1, =gText_ContinueMenuPlayer
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r6, =gUnknown_082FF0E3
- str r6, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x11
- bl box_print
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- movs r0, 0x1
- movs r2, 0x64
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r5, [sp, 0x4]
- ldr r0, [r4]
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x11
- bl box_print
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fmt_time
-
- thumb_func_start fmt_player
-fmt_player: @ 8031EF8
- push {r4-r6,lr}
- sub sp, 0x2C
- ldr r4, =gStringVar4
- ldr r1, =gText_ContinueMenuTime
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r6, =gUnknown_082FF0E3
- str r6, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x6C
- movs r3, 0x11
- bl box_print
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- add r0, sp, 0xC
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r1, 0xF0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0xD0
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r5, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x11
- bl box_print
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fmt_player
-
- thumb_func_start fmt_pokedex
-fmt_pokedex: @ 8031F7C
- push {r4-r7,lr}
- sub sp, 0x2C
- ldr r0, =0x00000861
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08031FFE
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _08031FA4
- movs r0, 0x1
- bl pokedex_count
- b _08031FAA
- .pool
-_08031FA4:
- movs r0, 0x1
- bl sub_80C0844
-_08031FAA:
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r4, =gStringVar4
- ldr r1, =gText_ContinueMenuPokedex
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r6, =gUnknown_082FF0E3
- str r6, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x21
- bl box_print
- add r0, sp, 0xC
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0x64
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r5, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x21
- bl box_print
-_08031FFE:
- add sp, 0x2C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fmt_pokedex
-
- thumb_func_start fmt_badges
-fmt_badges: @ 8032014
- push {r4-r7,lr}
- sub sp, 0x2C
- movs r7, 0
- ldr r4, =0x00000867
-_0803201C:
- lsls r0, r4, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08032030
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_08032030:
- adds r4, 0x1
- ldr r0, =0x0000086e
- cmp r4, r0
- bls _0803201C
- ldr r4, =gStringVar4
- ldr r1, =gText_ContinueMenuBadges
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r6, =gUnknown_082FF0E3
- str r6, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x6C
- movs r3, 0x21
- bl box_print
- add r0, sp, 0xC
- adds r1, r7, 0
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- add r1, sp, 0xC
- movs r2, 0xD0
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r5, [sp, 0x4]
- add r0, sp, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0x21
- bl box_print
- add sp, 0x2C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fmt_badges
-
- thumb_func_start LoadMainMenuWindowFrameTiles
-@ void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset)
-LoadMainMenuWindowFrameTiles: @ 80320A4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r6, =gSaveBlock2Ptr
- ldr r0, [r6]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- adds r0, r4, 0
- adds r3, r5, 0
- bl LoadBgTiles
- ldr r0, [r6]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadMainMenuWindowFrameTiles
-
- thumb_func_start DrawMainMenuWindowBorder
-@ void DrawMainMenuWindowBorder(struct WindowTemplate *template, u16 baseTileNum)
-DrawMainMenuWindowBorder: @ 80320EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r0, 0
- lsls r6, r1, 16
- movs r0, 0x80
- lsls r0, 9
- adds r0, r6
- lsrs r0, 16
- mov r9, r0
- movs r1, 0x80
- lsls r1, 10
- adds r1, r6
- lsrs r1, 16
- mov r10, r1
- movs r7, 0xC0
- lsls r7, 10
- adds r1, r6, r7
- lsrs r1, 16
- str r1, [sp, 0x18]
- movs r0, 0xA0
- lsls r0, 11
- adds r1, r6, r0
- lsrs r1, 16
- str r1, [sp, 0xC]
- movs r7, 0xC0
- lsls r7, 11
- adds r1, r6, r7
- lsrs r1, 16
- str r1, [sp, 0x10]
- movs r0, 0xE0
- lsls r0, 11
- adds r1, r6, r0
- lsrs r1, 16
- str r1, [sp, 0x14]
- lsrs r1, r6, 16
- movs r7, 0x80
- lsls r7, 12
- adds r6, r7
- lsrs r6, 16
- ldrb r0, [r4]
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r7, 0x2
- mov r8, r7
- str r7, [sp, 0x8]
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r4, 0x3]
- str r1, [sp]
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- mov r1, r9
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x3]
- ldrb r1, [r4, 0x1]
- adds r2, r1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- mov r1, r10
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r1, [r4, 0x4]
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- ldr r1, [sp, 0x18]
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x3]
- ldrb r7, [r4, 0x1]
- adds r2, r7
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r1, [r4, 0x4]
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- ldr r1, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r7, [r4, 0x2]
- adds r3, r7
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- ldr r1, [sp, 0x10]
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r7, [r4, 0x2]
- adds r3, r7
- lsls r3, 24
- lsrs r3, 24
- ldrb r1, [r4, 0x3]
- str r1, [sp]
- str r5, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- ldr r1, [sp, 0x14]
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- ldrb r2, [r4, 0x3]
- ldrb r7, [r4, 0x1]
- adds r2, r7
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r1, [r4, 0x2]
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r7, r8
- str r7, [sp, 0x8]
- adds r1, r6, 0
- bl FillBgTilemapBufferRect
- ldrb r0, [r4]
- bl CopyBgTilemapBufferToVram
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DrawMainMenuWindowBorder
-
- thumb_func_start sub_8032250
-sub_8032250: @ 8032250
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldrb r0, [r6]
- ldrb r1, [r6, 0x1]
- subs r2, r1, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r4, [r6, 0x2]
- subs r3, r4, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r5, [r6, 0x3]
- adds r1, r5
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- ldrb r1, [r6, 0x4]
- adds r4, r1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- movs r1, 0x2
- str r1, [sp, 0x8]
- movs r1, 0
- bl FillBgTilemapBufferRect
- ldrb r0, [r6]
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8032250
-
- thumb_func_start sub_8032298
-sub_8032298: @ 8032298
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsls r5, 24
- lsls r3, 24
- lsls r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r4, r2
- lsrs r4, 24
- adds r5, r2
- lsrs r5, 24
- movs r2, 0x80
- lsls r2, 18
- adds r3, r2
- lsrs r3, 24
- str r3, [sp]
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r1, 0x2
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8032298
-
- thumb_func_start sub_80322E0
-sub_80322E0: @ 80322E0
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_8032298
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _0803230E
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0803230E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80322E0
-
- thumb_func_start sub_8032318
-sub_8032318: @ 8032318
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x1
- movs r1, 0x6
- bl GetFontAttribute
- mov r9, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0x1
- movs r1, 0
- bl GetFontAttribute
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x1
- movs r1, 0x1
- bl GetFontAttribute
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x3
- bl GetWindowAttribute
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- muls r1, r4
- str r1, [sp]
- muls r0, r5
- str r0, [sp, 0x4]
- adds r0, r6, 0
- mov r1, r9
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8032318
-
- thumb_func_start sub_80323A0
-sub_80323A0: @ 80323A0
- push {lr}
- ldr r0, [r0]
- subs r0, 0x2
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080323C0
- ldr r1, =gUnknown_02022D04
- ldrb r0, [r1]
- cmp r0, 0
- bne _080323C0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =sub_8030A70
- movs r1, 0
- bl CreateTask
-_080323C0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80323A0
-
- thumb_func_start sub_80323CC
-sub_80323CC: @ 80323CC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldr r6, [sp, 0x34]
- ldr r1, [sp, 0x38]
- lsls r4, 24
- lsls r5, 24
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x80
- lsls r0, 17
- adds r4, r0
- lsrs r4, 24
- adds r5, r0
- lsrs r5, 24
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r3, [sp, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_8198A50
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- add r0, sp, 0x18
- mov r1, r8
- adds r2, r6, 0
- movs r3, 0
- bl CreateYesNoMenu
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80323CC
-
- thumb_func_start unknown_rbox_to_vram
-unknown_rbox_to_vram: @ 803243C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_8032474
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _0803246A
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0803246A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end unknown_rbox_to_vram
-
- thumb_func_start sub_8032474
-sub_8032474: @ 8032474
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r2, 0
- mov r9, r3
- ldr r0, [sp, 0x40]
- ldr r6, [sp, 0x44]
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r1, 24
- lsls r5, 24
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r6, 24
- lsrs r6, 24
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- movs r2, 0xFE
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x14]
- lsrs r0, r5, 24
- mov r10, r0
- movs r2, 0xFF
- lsls r2, 24
- adds r5, r2
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0xFD
- ldr r2, [sp, 0x14]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r0, [sp, 0xC]
- subs r0, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- movs r1, 0xFF
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x80
- lsls r1, 1
- mov r0, r9
- str r0, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000101
- ldr r7, [sp, 0xC]
- add r7, r9
- subs r0, r7, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x81
- lsls r1, 1
- lsls r2, r7, 24
- lsrs r7, r2, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000103
- str r4, [sp]
- movs r5, 0x5
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000105
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x18]
- mov r3, r10
- bl FillBgTilemapBufferRect
- movs r1, 0x83
- lsls r1, 1
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x000008fd
- ldr r2, [sp, 0x10]
- add r10, r2
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x000008ff
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x18]
- mov r3, r10
- bl FillBgTilemapBufferRect
- movs r1, 0x90
- lsls r1, 4
- movs r2, 0x1
- negs r2, r2
- add r9, r2
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0xC]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000901
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x1C]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000902
- str r4, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- mov r3, r10
- bl FillBgTilemapBufferRect
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8032474
-
- thumb_func_start task_new_game_prof_birch_speech_part2_1
-task_new_game_prof_birch_speech_part2_1: @ 803261C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x16]
- subs r1, r0, 0x1
- strh r1, [r4, 0x16]
- lsls r0, 16
- cmp r0, 0
- bgt _08032644
- movs r0, 0
- movs r1, 0x1
- bl unknown_rbox_to_vram
- ldr r0, =task_new_game_prof_birch_speech_part2_2
- str r0, [r4]
-_08032644:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_new_game_prof_birch_speech_part2_1
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
deleted file mode 100755
index f10dff946..000000000
--- a/asm/map_name_popup.s
+++ /dev/null
@@ -1,570 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D47D4
-sub_80D47D4: @ 80D47D4
- push {lr}
- bl sub_80A0934
- bl AddMapNamePopUpWindowTask
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80D47D4
-
- thumb_func_start AddMapNamePopUpWindowTask
-AddMapNamePopUpWindowTask: @ 80D47E4
- push {r4,lr}
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080D486C
- ldr r4, =Task_MapNamePopUpWindow
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D4844
- adds r0, r4, 0
- movs r1, 0x5A
- bl CreateTask
- ldr r4, =gUnknown_02039DD4
- strb r0, [r4]
- movs r0, 0x12
- movs r1, 0x28
- bl SetGpuReg
- ldr r2, =gTasks
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x8]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x28
- strh r1, [r0, 0xC]
- b _080D486C
- .pool
-_080D4844:
- ldr r3, =gTasks
- ldr r2, =gUnknown_02039DD4
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x2
- beq _080D485E
- movs r0, 0x2
- strh r0, [r1, 0x8]
-_080D485E:
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080D486C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddMapNamePopUpWindowTask
-
- thumb_func_start Task_MapNamePopUpWindow
-Task_MapNamePopUpWindow: @ 80D487C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- adds r3, r0, 0
- cmp r1, 0x6
- bhi _080D4966
- lsls r0, r1, 2
- ldr r1, =_080D48A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080D48A8:
- .4byte _080D48DE
- .4byte _080D4908
- .4byte _080D4920
- .4byte _080D4966
- .4byte _080D494C
- .4byte _080D4960
- .4byte _080D48C4
-_080D48C4:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080D4966
- strh r1, [r4, 0x8]
- strh r1, [r4, 0x10]
- bl ShowMapNamePopUpWindow
- b _080D4966
-_080D48DE:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- movs r2, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080D4966
- strh r2, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_02039DD4
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0xA]
- b _080D4966
- .pool
-_080D4908:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080D4966
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4920:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- movs r1, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080D4966
- movs r0, 0x28
- strh r0, [r4, 0xC]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D4946
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0xE]
- b _080D4966
-_080D4946:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080D496E
-_080D494C:
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- movs r0, 0x5
- strh r0, [r4, 0x8]
- b _080D4966
-_080D4960:
- bl HideMapNamePopUpWindow
- b _080D496E
-_080D4966:
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
-_080D496E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Task_MapNamePopUpWindow
-
- thumb_func_start HideMapNamePopUpWindow
-HideMapNamePopUpWindow: @ 80D4974
- push {lr}
- ldr r0, =Task_MapNamePopUpWindow
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080D49A4
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- bl RemoveMapNamePopUpWindow
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg_ForcedBlank
- ldr r0, =gUnknown_02039DD4
- ldrb r0, [r0]
- bl DestroyTask
-_080D49A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end HideMapNamePopUpWindow
-
- thumb_func_start ShowMapNamePopUpWindow
-ShowMapNamePopUpWindow: @ 80D49B0
- push {r4,r5,lr}
- sub sp, 0x24
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080D4A08
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _080D49DC
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gUnknown_0857F544
- ldr r1, [r0, 0x1C]
- b _080D49F2
- .pool
-_080D49DC:
- mov r4, sp
- adds r4, 0xF
- ldr r1, =gUnknown_0857F544
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000cb2
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
-_080D49F2:
- adds r0, r4, 0
- bl StringCopy
- b _080D4A18
- .pool
-_080D4A08:
- mov r4, sp
- adds r4, 0xF
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl GetMapName
-_080D4A18:
- bl AddMapNamePopUpWindow
- bl LoadMapNamePopUpWindowBg
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x50
- bl GetStringCenterAlignXOffset
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r1, sp, 0xC
- movs r5, 0
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- adds r0, r1, 0
- strb r5, [r0, 0x2]
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x7
- add r2, sp, 0xC
- adds r3, r4, 0
- bl PrintTextOnWindow
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ShowMapNamePopUpWindow
-
- thumb_func_start sub_80D4A78
-sub_80D4A78: @ 80D4A78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x14]
- movs r5, 0
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsrs r3, r2, 24
- str r3, [sp, 0xC]
- movs r6, 0xFF
- lsls r6, 24
- adds r6, r2
- mov r8, r6
- str r0, [sp, 0x18]
- subs r4, r1, 0x1
-_080D4AB4:
- ldr r0, =0x0000021d
- adds r1, r5, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r4, 24
- lsrs r2, 24
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r6, 0xE
- mov r9, r6
- str r6, [sp, 0x8]
- adds r0, r7, 0
- mov r6, r8
- lsrs r3, r6, 24
- bl FillBgTilemapBufferRect
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4AB4
- ldr r1, =0x00000229
- movs r0, 0x1
- negs r0, r0
- add r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022a
- ldr r6, [sp, 0x10]
- add r6, r10
- lsls r6, 24
- lsrs r6, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- ldr r3, [sp, 0xC]
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022b
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x8B
- lsls r1, 2
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022d
- ldr r4, [sp, 0xC]
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r7, 0
- mov r2, r8
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000022e
- str r5, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r5, 0
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- lsls r4, r0, 24
- movs r6, 0x1
-_080D4B8A:
- ldr r3, =0x0000022f
- adds r1, r5, r3
- lsls r1, 16
- lsrs r1, 16
- subs r0, r5, 0x1
- ldr r3, [sp, 0x18]
- asrs r2, r3, 24
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- adds r0, r7, 0
- lsrs r3, r4, 24
- bl FillBgTilemapBufferRect
- adds r5, 0x1
- cmp r5, 0xB
- ble _080D4B8A
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D4A78
-
- thumb_func_start LoadMapNamePopUpWindowBg
-LoadMapNamePopUpWindowBg: @ 80D4BE0
- push {r4,r5,lr}
- sub sp, 0x8
- bl GetMapNamePopUpWindowId
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- cmp r1, 0x57
- bls _080D4C0A
- cmp r1, 0xC4
- bls _080D4C08
- adds r0, r1, 0
- subs r0, 0x6D
- lsls r0, 16
- lsrs r1, r0, 16
- b _080D4C0A
- .pool
-_080D4C08:
- movs r1, 0
-_080D4C0A:
- ldr r0, =gUnknown_0857F464
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r2, =gUnknown_0857DD04
- adds r1, r2
- movs r2, 0x80
- lsls r2, 3
- ldr r3, =0x0000021d
- bl LoadBgTiles
- ldr r1, =sub_80D4A78
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- bl PutWindowTilemap
- ldr r0, =gMapHeader
- ldrb r0, [r0, 0x16]
- cmp r0, 0xE
- bne _080D4C6C
- ldr r0, =gUnknown_0857F444
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- b _080D4C7A
- .pool
-_080D4C6C:
- lsls r0, r4, 5
- ldr r1, =gUnknown_0857F384
- adds r0, r1
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
-_080D4C7A:
- lsls r1, r4, 4
- subs r1, r4
- lsls r1, 6
- ldr r0, =gUnknown_0857C684
- adds r1, r0
- movs r0, 0x50
- str r0, [sp]
- movs r0, 0x18
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapToWindow
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadMapNamePopUpWindowBg
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/map_obj_8097404.s b/asm/map_obj_8097404.s
deleted file mode 100644
index 96ffc2254..000000000
--- a/asm/map_obj_8097404.s
+++ /dev/null
@@ -1,1861 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8097404
-@ bool8 sub_8097404(struct npc_state *fieldObject)
-sub_8097404: @ 8097404
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0xA0
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0809748C
- ldrb r0, [r5, 0x1]
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r5, 0x1]
- ldr r3, =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 7
- ldrb r2, [r5, 0x2]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x2]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- lsrs r1, 7
- ands r1, r4
- ldrb r2, [r5, 0x3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
- b _0809748E
- .pool
-_0809748C:
- movs r0, 0x1
-_0809748E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8097404
-
- thumb_func_start player_bitmagic
-@ void player_bitmagic()
-player_bitmagic: @ 8097494
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMapObjects
-_0809749A:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _080974B8
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _080974B8
- adds r0, r1, 0
- bl sub_8097404
-_080974B8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0809749A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end player_bitmagic
-
- thumb_func_start sub_80974D0
-sub_80974D0: @ 80974D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, =gMapObjects
-_080974DA:
- cmp r4, r5
- beq _080974FC
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r6
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _080974FC
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _080974FC
- adds r0, r1, 0
- bl sub_8097404
-_080974FC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080974DA
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80974D0
-
- thumb_func_start npc_sync_anim_pause_bits
-@ void npc_sync_anim_pause_bits(struct npc_state *fieldObject)
-npc_sync_anim_pause_bits: @ 8097514
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r2, [r5]
- ldr r1, =0x00000101
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- bne _0809756C
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldr r4, =gSprites
- ldrb r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r5, 0x2]
- adds r1, 0x2C
- lsrs r2, 7
- lsls r2, 6
- ldrb r3, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrb r1, [r5, 0x3]
- lsls r1, 31
- lsrs r1, 31
- adds r2, 0x2C
- lsls r1, 7
- ldrb r3, [r2]
- movs r0, 0x7F
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_0809756C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end npc_sync_anim_pause_bits
-
- thumb_func_start UnfreezeMapObjects
-UnfreezeMapObjects: @ 809757C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMapObjects
-_08097582:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08097598
- adds r0, r1, 0
- bl npc_sync_anim_pause_bits
-_08097598:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08097582
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UnfreezeMapObjects
-
- thumb_func_start little_step
-@ void little_step(struct obj *object, u8 direction)
-little_step: @ 80975AC
- lsls r1, 24
- ldr r2, =gUnknown_0850DB7C
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end little_step
-
- thumb_func_start double_little_steps
-double_little_steps: @ 80975CC
- lsls r1, 24
- ldr r2, =gUnknown_0850DB7C
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 1
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 1
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end double_little_steps
-
- thumb_func_start triple_little_steps
-triple_little_steps: @ 80975F0
- lsls r1, 24
- ldr r2, =gUnknown_0850DB7C
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r3, r2, 1
- adds r2, r3
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r2, r1, 1
- adds r1, r2
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end triple_little_steps
-
- thumb_func_start quad_little_steps
-quad_little_steps: @ 8097618
- lsls r1, 24
- ldr r2, =gUnknown_0850DB7C
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 2
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 2
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end quad_little_steps
-
- thumb_func_start oct_little_steps
-@ void oct_little_steps(struct obj *object, u8 direction)
-oct_little_steps: @ 809763C
- lsls r1, 24
- ldr r2, =gUnknown_0850DB7C
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 3
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 3
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end oct_little_steps
-
- thumb_func_start oamt_npc_ministep_reset
-@ void oamt_npc_ministep_reset(struct obj *object, u8 direction, u8 speed)
-oamt_npc_ministep_reset: @ 8097660
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r3, [r0, 0x38]
- bx lr
- thumb_func_end oamt_npc_ministep_reset
-
- thumb_func_start obj_npc_ministep
-@ bool8 obj_npc_ministep(struct obj *object)
-obj_npc_ministep: @ 8097674
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_0850E768
- movs r0, 0x36
- ldrsh r2, [r4, r0]
- lsls r0, r2, 1
- adds r0, r5
- movs r3, 0x38
- ldrsh r1, [r4, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _080976D4
- ldr r1, =gUnknown_0850E754
- lsls r0, r2, 2
- adds r0, r1
- movs r1, 0x38
- ldrsh r2, [r4, r1]
- ldr r0, [r0]
- lsls r2, 2
- adds r2, r0
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r5
- lsls r0, 16
- asrs r0, 16
- movs r3, 0
- ldrsh r1, [r1, r3]
- cmp r0, r1
- blt _080976D4
- movs r0, 0x1
- b _080976D6
- .pool
-_080976D4:
- movs r0, 0
-_080976D6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end obj_npc_ministep
-
- thumb_func_start sub_80976DC
-@ void sub_80976DC(struct obj *object, u8 direction)
-sub_80976DC: @ 80976DC
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_80976DC
-
- thumb_func_start sub_80976EC
-@ bool8 sub_80976EC(struct obj *object)
-sub_80976EC: @ 80976EC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x36]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809770C
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_0809770C:
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bgt _0809771E
- movs r0, 0
- b _08097720
-_0809771E:
- movs r0, 0x1
-_08097720:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80976EC
-
- thumb_func_start sub_8097728
-sub_8097728: @ 8097728
- ldr r1, =gUnknown_0850E7BA
- lsls r0, 16
- asrs r0, 16
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_8097728
-
- thumb_func_start sub_809773C
-sub_809773C: @ 809773C
- ldr r1, =gUnknown_0850E772
- lsls r0, 16
- asrs r0, 16
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- bx lr
- .pool
- thumb_func_end sub_809773C
-
- thumb_func_start sub_8097750
-sub_8097750: @ 8097750
- movs r1, 0
- strh r1, [r0, 0x3A]
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end sub_8097750
-
- thumb_func_start sub_8097758
-sub_8097758: @ 8097758
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0809778E
- cmp r0, 0x1
- bgt _08097770
- cmp r0, 0
- beq _0809777A
- b _080977F2
-_08097770:
- cmp r0, 0x2
- beq _080977B6
- cmp r0, 0x3
- beq _080977CA
- b _080977F2
-_0809777A:
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- bl sub_809773C
- ldrh r1, [r5, 0x24]
- adds r0, r1
- strh r0, [r5, 0x24]
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- b _080977E8
-_0809778E:
- ldrh r0, [r5, 0x3A]
- movs r4, 0x47
- subs r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- bl sub_809773C
- ldrh r1, [r5, 0x24]
- subs r1, r0
- strh r1, [r5, 0x24]
- ldrh r0, [r5, 0x3A]
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_8097728
- ldrh r2, [r5, 0x26]
- adds r0, r2
- b _080977F0
-_080977B6:
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- bl sub_809773C
- ldrh r1, [r5, 0x24]
- subs r1, r0
- strh r1, [r5, 0x24]
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- b _080977E8
-_080977CA:
- ldrh r0, [r5, 0x3A]
- movs r4, 0x47
- subs r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- bl sub_809773C
- ldrh r2, [r5, 0x24]
- adds r0, r2
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x3A]
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
-_080977E8:
- bl sub_8097728
- ldrh r1, [r5, 0x26]
- adds r0, r1
-_080977F0:
- strh r0, [r5, 0x26]
-_080977F2:
- ldrh r0, [r5, 0x3A]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x48
- bne _0809780A
- strh r1, [r5, 0x3A]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_0809780A:
- movs r2, 0x3C
- ldrsh r0, [r5, r2]
- cmp r0, 0x4
- bne _08097818
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- movs r6, 0x1
-_08097818:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8097758
-
- thumb_func_start sub_8097820
-sub_8097820: @ 8097820
- lsls r1, 24
- ldr r2, =gUnknown_0850E834
- lsrs r1, 22
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- bx lr
- .pool
- thumb_func_end sub_8097820
-
- thumb_func_start sub_809783C
-sub_809783C: @ 809783C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r3, [r0, 0x38]
- strh r4, [r0, 0x3A]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809783C
-
- thumb_func_start sub_809785C
-sub_809785C: @ 809785C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, =gUnknown_0850E840
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r5, sp, 0x8
- ldr r1, =gUnknown_0850E846
- adds r0, r5, 0
- movs r2, 0x3
- bl memcpy
- movs r6, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809788E
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
-_0809788E:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- adds r1, r5, r1
- ldrb r1, [r1]
- asrs r0, r1
- ldrh r1, [r4, 0x38]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8097820
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x3A]
- adds r1, 0x1
- strh r1, [r4, 0x3A]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 17
- cmp r1, r0
- bne _080978C8
- movs r6, 0x1
-_080978C8:
- cmp r1, r2
- blt _080978D2
- movs r0, 0
- strh r0, [r4, 0x26]
- movs r6, 0xFF
-_080978D2:
- adds r0, r6, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809785C
-
- thumb_func_start sub_80978E4
-sub_80978E4: @ 80978E4
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r1, =gUnknown_0850E84A
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x8
- ldr r1, =gUnknown_0850E850
- adds r0, r4, 0
- movs r2, 0x3
- bl memcpy
- movs r6, 0
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08097920
- ldrh r1, [r5, 0x3A]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08097920
- ldrh r1, [r5, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl little_step
-_08097920:
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- adds r1, r4, r1
- ldrb r1, [r1]
- asrs r0, r1
- ldrh r1, [r5, 0x38]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8097820
- strh r0, [r5, 0x26]
- ldrh r1, [r5, 0x3A]
- adds r1, 0x1
- strh r1, [r5, 0x3A]
- movs r2, 0x36
- ldrsh r0, [r5, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 17
- cmp r1, r0
- bne _0809795A
- movs r6, 0x1
-_0809795A:
- cmp r1, r2
- blt _08097964
- movs r0, 0
- strh r0, [r5, 0x26]
- movs r6, 0xFF
-_08097964:
- adds r0, r6, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80978E4
-
- thumb_func_start SetFieldObjectStepTimer
-@ void SetFieldObjectStepTimer(struct obj *object, u16 a2)
-SetFieldObjectStepTimer: @ 8097978
- strh r1, [r0, 0x34]
- bx lr
- thumb_func_end SetFieldObjectStepTimer
-
- thumb_func_start RunFieldObjectStepTimer
-@ bool8 RunFieldObjectStepTimer(struct obj *object)
-RunFieldObjectStepTimer: @ 809797C
- push {lr}
- ldrh r1, [r0, 0x34]
- subs r1, 0x1
- strh r1, [r0, 0x34]
- lsls r1, 16
- cmp r1, 0
- beq _0809798E
- movs r0, 0
- b _08097990
-_0809798E:
- movs r0, 0x1
-_08097990:
- pop {r1}
- bx r1
- thumb_func_end RunFieldObjectStepTimer
-
- thumb_func_start obj_anim_image_set_and_seek
-obj_anim_image_set_and_seek: @ 8097994
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- adds r3, r0, 0
- adds r3, 0x2A
- strb r1, [r3]
- adds r4, r0, 0
- adds r4, 0x2C
- ldrb r3, [r4]
- movs r1, 0x41
- negs r1, r1
- ands r1, r3
- strb r1, [r4]
- adds r1, r2, 0
- bl SeekSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end obj_anim_image_set_and_seek
-
- thumb_func_start sub_80979BC
-sub_80979BC: @ 80979BC
- push {lr}
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080979CE
- movs r0, 0
- b _080979D0
-_080979CE:
- movs r0, 0x1
-_080979D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80979BC
-
- thumb_func_start sub_80979D4
-sub_80979D4: @ 80979D4
- push {r4-r6,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r1, 24
- mov r3, r12
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08097A3C
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- mov r4, r12
- adds r4, 0x28
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r2, =gSpriteCoordOffsetX
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r12
- ldrh r1, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- subs r3, 0x15
- movs r0, 0
- ldrsb r0, [r3, r0]
- ldr r2, =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r2, r3, 0
- b _08097A6A
- .pool
-_08097A3C:
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- mov r3, r12
- adds r3, 0x28
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r12
- ldrh r1, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- mov r2, r12
- adds r2, 0x29
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r3, 0
-_08097A6A:
- ldrb r0, [r4]
- lsls r0, 24
- asrs r0, 25
- subs r0, r6, r0
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r2]
- lsls r0, 24
- asrs r0, 25
- subs r0, r5, r0
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _08097A96
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08097AA2
-_08097A96:
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_08097AA2:
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _08097AB6
- lsls r0, r2, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08097AC2
-_08097AB6:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08097AC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80979D4
-
- thumb_func_start sub_8097AC8
-sub_8097AC8: @ 8097AC8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8097D68
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- ldrh r1, [r4, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80979D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8097AC8
-
- thumb_func_start sub_8097AF0
-sub_8097AF0: @ 8097AF0
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0x3F
-_08097AF6:
- ldr r0, =gSprites
- adds r2, r5, r0
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08097B16
- ldr r1, [r2, 0x1C]
- ldr r0, =sub_8097AC8
- cmp r1, r0
- bne _08097B16
- adds r0, r2, 0
- bl DestroySprite
-_08097B16:
- adds r5, 0x44
- subs r4, 0x1
- cmp r4, 0
- bge _08097AF6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097AF0
-
- thumb_func_start sub_8097B2C
-sub_8097B2C: @ 8097B2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r6, =gSprites
- movs r4, 0
-_08097B38:
- adds r2, r4, r6
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08097B68
- ldr r1, [r2, 0x1C]
- ldr r0, =sub_8097AC8
- cmp r1, r0
- bne _08097B68
- ldrh r0, [r2, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bne _08097B68
- adds r0, r3, 0
- b _08097B72
- .pool
-_08097B68:
- adds r4, 0x44
- adds r3, 0x1
- cmp r3, 0x3F
- ble _08097B38
- movs r0, 0x40
-_08097B72:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8097B2C
-
- thumb_func_start sub_8097B78
-sub_8097B78: @ 8097B78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_8097B2C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08097BAA
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r5, 0
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_08097BAA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097B78
-
- thumb_func_start sub_8097BB4
-sub_8097BB4: @ 8097BB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_8097B2C
- adds r1, r0, 0
- cmp r1, 0x40
- beq _08097C3E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r4, r0, r1
- adds r0, r5, 0
- bl GetFieldObjectGraphicsInfo
- ldrh r3, [r4, 0x4]
- lsls r3, 22
- ldr r1, [r0, 0x10]
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r4]
- str r2, [r4, 0x4]
- lsrs r3, 22
- ldrh r2, [r4, 0x4]
- ldr r1, =0xfffffc00
- ands r1, r2
- orrs r1, r3
- strh r1, [r4, 0x4]
- ldrb r2, [r0, 0xC]
- lsls r2, 28
- lsrs r2, 24
- ldrb r3, [r4, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r2
- strb r1, [r4, 0x5]
- ldr r1, [r0, 0x1C]
- str r1, [r4, 0xC]
- ldr r1, [r0, 0x14]
- cmp r1, 0
- bne _08097C20
- str r1, [r4, 0x18]
- adds r0, r4, 0
- adds r0, 0x42
- strb r1, [r0]
- b _08097C36
- .pool
-_08097C20:
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r2, r4, 0
- adds r2, 0x42
- ldrb r0, [r2]
- movs r1, 0x3F
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2]
-_08097C36:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_08097C3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8097BB4
-
- thumb_func_start sub_8097C44
-sub_8097C44: @ 8097C44
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097B2C
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- cmp r2, 0x40
- beq _08097C80
- cmp r4, 0
- beq _08097C74
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x32]
- b _08097C80
- .pool
-_08097C74:
- ldr r1, =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x32]
-_08097C80:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097C44
-
- thumb_func_start sub_8097C8C
-sub_8097C8C: @ 8097C8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097B2C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- bne _08097CA2
- movs r0, 0
- b _08097CBA
-_08097CA2:
- movs r3, 0
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _08097CB8
- movs r3, 0x1
-_08097CB8:
- adds r0, r3, 0
-_08097CBA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8097C8C
-
- thumb_func_start sub_8097CC4
-sub_8097CC4: @ 8097CC4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8097B2C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08097CEA
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r4, [r1, 0x34]
- strh r0, [r1, 0x36]
-_08097CEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097CC4
-
- thumb_func_start sub_8097CF4
-sub_8097CF4: @ 8097CF4
- push {lr}
- adds r2, r0, 0
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08097D06
- cmp r0, 0x1
- beq _08097D0E
- b _08097D2C
-_08097D06:
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x36]
- adds r0, 0x1
- strh r0, [r2, 0x36]
-_08097D0E:
- ldrh r0, [r2, 0x26]
- subs r0, 0x8
- movs r3, 0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA0
- negs r1, r1
- cmp r0, r1
- bne _08097D2C
- strh r3, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r2, 0x32]
- strh r3, [r2, 0x34]
- strh r3, [r2, 0x36]
-_08097D2C:
- pop {r0}
- bx r0
- thumb_func_end sub_8097CF4
-
- thumb_func_start sub_8097D30
-sub_8097D30: @ 8097D30
- push {lr}
- adds r1, r0, 0
- movs r2, 0x36
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08097D42
- cmp r0, 0x1
- beq _08097D4C
- b _08097D5E
-_08097D42:
- ldr r0, =0x0000ff60
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
-_08097D4C:
- ldrh r0, [r1, 0x26]
- adds r0, 0x8
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _08097D5E
- strh r0, [r1, 0x34]
- strh r0, [r1, 0x36]
-_08097D5E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097D30
-
- thumb_func_start sub_8097D68
-sub_8097D68: @ 8097D68
- push {lr}
- adds r1, r0, 0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _08097D84
- cmp r0, 0x1
- bgt _08097D7E
- cmp r0, 0
- beq _08097D98
- b _08097D94
-_08097D7E:
- cmp r0, 0x2
- beq _08097D8C
- b _08097D94
-_08097D84:
- adds r0, r1, 0
- bl sub_8097D30
- b _08097D98
-_08097D8C:
- adds r0, r1, 0
- bl sub_8097CF4
- b _08097D98
-_08097D94:
- movs r0, 0
- strh r0, [r1, 0x34]
-_08097D98:
- pop {r0}
- bx r0
- thumb_func_end sub_8097D68
-
- thumb_func_start sub_8097D9C
-sub_8097D9C: @ 8097D9C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8097B2C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08097DC0
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08097DC8
-_08097DC0:
- movs r0, 0
- b _08097DCA
- .pool
-_08097DC8:
- movs r0, 0x1
-_08097DCA:
- pop {r1}
- bx r1
- thumb_func_end sub_8097D9C
-
- thumb_func_start oe_exec_and_other_stuff
-oe_exec_and_other_stuff: @ 8097DD0
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl FieldObjectGetLocalIdAndMap
- adds r0, r4, 0
- bl FieldEffectStart
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end oe_exec_and_other_stuff
-
- thumb_func_start DoShadowFieldEffect
-DoShadowFieldEffect: @ 8097DF8
- push {lr}
- adds r1, r0, 0
- ldrb r2, [r1, 0x2]
- lsls r0, r2, 25
- cmp r0, 0
- blt _08097E10
- movs r0, 0x40
- orrs r0, r2
- strb r0, [r1, 0x2]
- movs r0, 0x3
- bl oe_exec_and_other_stuff
-_08097E10:
- pop {r0}
- bx r0
- thumb_func_end DoShadowFieldEffect
-
- thumb_func_start DoRippleFieldEffect
-@ void DoRippleFieldEffect(struct npc_state *fieldObject, struct obj *object)
-DoRippleFieldEffect: @ 8097E14
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldr r2, =gFieldEffectArguments
- movs r3, 0x20
- ldrsh r1, [r4, r3]
- str r1, [r2]
- movs r3, 0x22
- ldrsh r1, [r4, r3]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- adds r1, r0
- subs r1, 0x2
- str r1, [r2, 0x4]
- movs r0, 0x97
- str r0, [r2, 0x8]
- movs r0, 0x3
- str r0, [r2, 0xC]
- movs r0, 0x5
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoRippleFieldEffect
-
- thumb_func_start sub_8097E50
-sub_8097E50: @ 8097E50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- mov r8, r1
- movs r0, 0
- mov r12, r0
- ldr r0, =gUnknown_020375B8
- ldr r1, [r0]
- adds r6, r0, 0
- cmp r1, 0
- bne _08097E80
- movs r0, 0x14
- bl AllocZeroed
- str r0, [r6]
- ldrb r1, [r4, 0x8]
- strb r1, [r0]
- ldr r1, [r6]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- b _08097ECC
- .pool
-_08097E80:
- movs r2, 0x10
- movs r5, 0
- movs r1, 0
- adds r3, r6, 0
- b _08097E90
-_08097E8A:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
-_08097E90:
- cmp r1, 0xF
- bhi _08097EB2
- cmp r2, 0x10
- bne _08097EA4
- ldr r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08097EA4
- adds r2, r1, 0
-_08097EA4:
- ldr r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- ldrb r7, [r4, 0x8]
- cmp r0, r7
- bne _08097E8A
- movs r5, 0x1
-_08097EB2:
- cmp r5, 0
- bne _08097ECE
- cmp r2, 0x10
- beq _08097ECE
- ldr r0, [r6]
- adds r0, r2
- ldrb r1, [r4, 0x8]
- strb r1, [r0]
- ldr r1, [r6]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- movs r0, 0x1
-_08097ECC:
- mov r12, r0
-_08097ECE:
- mov r1, r12
- cmp r1, 0x1
- bne _08097EE0
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
-_08097EE0:
- movs r0, 0x1
- mov r7, r8
- strh r0, [r7, 0x32]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8097E50
-
- thumb_func_start sub_8097EF0
-sub_8097EF0: @ 8097EF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- movs r0, 0x1
- strh r0, [r1, 0x32]
- ldr r5, =gUnknown_020375B8
- ldr r0, [r5]
- cmp r0, 0
- beq _08097F68
- movs r7, 0
- adds r0, r6, 0
- bl sub_8097F78
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _08097F28
- ldr r0, [r5]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- subs r0, 0x1
- strb r0, [r1, 0x10]
- movs r7, 0x1
-_08097F28:
- ldr r0, [r5]
- ldrb r4, [r0, 0x10]
- cmp r4, 0
- bne _08097F36
- bl Free
- str r4, [r5]
-_08097F36:
- cmp r7, 0x1
- bne _08097F68
- ldrb r0, [r6, 0x5]
- bl GetFieldObjectGraphicsInfo
- ldrb r1, [r0, 0xC]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 4
- ldrb r2, [r6, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- strb r0, [r6, 0x1]
- mov r2, r8
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08097F68:
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8097EF0
-
- thumb_func_start sub_8097F78
-@ signed int sub_8097F78(npc_state *a1)
-sub_8097F78: @ 8097F78
- push {lr}
- movs r2, 0
- ldr r1, =gUnknown_020375B8
- ldr r1, [r1]
- ldrb r3, [r0, 0x8]
-_08097F82:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r3
- bne _08097F94
- adds r0, r2, 0
- b _08097FA0
- .pool
-_08097F94:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _08097F82
- movs r0, 0x10
-_08097FA0:
- pop {r1}
- bx r1
- thumb_func_end sub_8097F78
-
- thumb_func_start sub_8097FA4
-sub_8097FA4: @ 8097FA4
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, =sub_8097FE4
- movs r1, 0xFF
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x8
- adds r1, r6, 0
- bl StoreWordInTwoHalfwords
- strb r5, [r6, 0x1B]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097FA4
-
- thumb_func_start sub_8097FE4
-sub_8097FE4: @ 8097FE4
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- adds r0, r4, 0
- adds r0, 0x8
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r2, r0, r1
- ldrh r1, [r4, 0xC]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08098020
- ldrh r0, [r4, 0xE]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
-_08098020:
- ldrh r1, [r4, 0xC]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _08098030
- ldrh r0, [r4, 0xE]
- negs r0, r0
- strh r0, [r4, 0xE]
-_08098030:
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8097FE4
-
- thumb_func_start sub_8098044
-sub_8098044: @ 8098044
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- adds r0, 0x8
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- adds r0, r4, 0
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098044
-
- thumb_func_start sub_8098074
-sub_8098074: @ 8098074
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- ldr r7, =gMapObjects
-_08098082:
- cmp r4, r6
- beq _080980A8
- cmp r4, r5
- beq _080980A8
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _080980A8
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _080980A8
- adds r0, r1, 0
- bl sub_8097404
-_080980A8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08098082
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098074
-
- thumb_func_start sub_80980C0
-sub_80980C0: @ 80980C0
- movs r0, 0
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- movs r0, 0
- bx lr
- thumb_func_end sub_80980C0
-
- thumb_func_start sub_80980D0
-sub_80980D0: @ 80980D0
- push {lr}
- adds r2, r1, 0
- ldrh r0, [r2, 0x26]
- subs r0, 0x8
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA0
- negs r1, r1
- cmp r0, r1
- bne _080980EC
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
-_080980EC:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80980D0
-
- thumb_func_start sub_80980F4
-sub_80980F4: @ 80980F4
- ldr r0, =0x0000ff60
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end sub_80980F4
-
- thumb_func_start sub_8098108
-sub_8098108: @ 8098108
- push {lr}
- ldrh r0, [r1, 0x26]
- adds r0, 0x8
- strh r0, [r1, 0x26]
- lsls r0, 16
- cmp r0, 0
- bne _0809811C
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
-_0809811C:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8098108
-
- thumb_func_start sub_8098124
-sub_8098124: @ 8098124
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8098124
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/map_obj_lock.s b/asm/map_obj_lock.s
deleted file mode 100644
index 2270051c2..000000000
--- a/asm/map_obj_lock.s
+++ /dev/null
@@ -1,474 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start walkrun_is_standing_still
-walkrun_is_standing_still: @ 8098388
- push {lr}
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- beq _0809839C
- movs r0, 0x1
- b _0809839E
- .pool
-_0809839C:
- movs r0, 0
-_0809839E:
- pop {r1}
- bx r1
- thumb_func_end walkrun_is_standing_still
-
- thumb_func_start sub_80983A4
-sub_80983A4: @ 80983A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl walkrun_is_standing_still
- lsls r0, 24
- cmp r0, 0
- beq _080983BE
- bl sub_808B864
- adds r0, r4, 0
- bl DestroyTask
-_080983BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80983A4
-
- thumb_func_start sub_80983C4
-sub_80983C4: @ 80983C4
- push {lr}
- ldr r0, =sub_80983A4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080983E0
- bl sub_808BCF4
- movs r0, 0x1
- b _080983E2
- .pool
-_080983E0:
- movs r0, 0
-_080983E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80983C4
-
- thumb_func_start ScriptFreezeMapObjects
-ScriptFreezeMapObjects: @ 80983E8
- push {lr}
- bl player_bitmagic
- ldr r0, =sub_80983A4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end ScriptFreezeMapObjects
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809842A
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0809842A
- bl sub_808B864
- strh r4, [r5, 0x8]
-_0809842A:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08098452
- ldr r2, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _08098452
- adds r0, r1, 0
- bl sub_8097404
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_08098452:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098468
- adds r0, r6, 0
- bl DestroyTask
-_08098468:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098400
-
- thumb_func_start sub_809847C
-sub_809847C: @ 809847C
- push {lr}
- ldr r0, =sub_8098400
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098498
- bl sub_808BCF4
- movs r0, 0x1
- b _0809849A
- .pool
-_08098498:
- movs r0, 0
-_0809849A:
- pop {r1}
- bx r1
- thumb_func_end sub_809847C
-
- thumb_func_start LockSelectedMapObject
-LockSelectedMapObject: @ 80984A0
- push {r4,r5,lr}
- ldr r4, =gSelectedMapObject
- ldrb r0, [r4]
- bl sub_80974D0
- ldr r0, =sub_8098400
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gMapObjects
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _080984DE
- adds r0, r1, 0
- bl sub_8097404
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080984DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LockSelectedMapObject
-
- thumb_func_start sub_80984F4
-sub_80984F4: @ 80984F4
- push {lr}
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80984F4
-
- thumb_func_start sub_8098524
-sub_8098524: @ 8098524
- push {r4,lr}
- ldr r4, =gMapObjects
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08098542
- adds r0, r1, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
-_08098542:
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- bl sub_80D338C
- bl UnfreezeMapObjects
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098524
-
- thumb_func_start sub_8098574
-sub_8098574: @ 8098574
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldr r1, =gSpecialVar_Facing
- ldrb r1, [r1]
- bl FieldObjectFaceOppositeDirection
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098574
-
- thumb_func_start sub_809859C
-sub_809859C: @ 809859C
- push {lr}
- ldr r0, =gSelectedMapObject
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl FieldObjectClearAnimIfSpecialAnimActive
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809859C
-
- thumb_func_start sub_80985BC
-sub_80985BC: @ 80985BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldrb r7, [r5, 0xC]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080985E8
- bl walkrun_is_standing_still
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _080985E8
- bl sub_808B864
- strh r4, [r5, 0x8]
-_080985E8:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809860C
- ldr r0, =gMapObjects
- lsls r1, r7, 3
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809860C
- adds r0, r1, 0
- bl sub_8097404
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809860C:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08098622
- adds r0, r6, 0
- bl DestroyTask
-_08098622:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80985BC
-
- thumb_func_start sub_8098630
-sub_8098630: @ 8098630
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- bl sub_80B47E0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080986E0
- movs r0, 0x1
- bl sub_80B47E0
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8098074
- ldr r7, =sub_80985BC
- adds r0, r7, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- mov r9, r0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r6, r0, r1
- strh r4, [r6, 0xC]
- ldr r2, =gMapObjects
- mov r8, r2
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809869A
- adds r0, r1, 0
- bl sub_8097404
- movs r0, 0x1
- strh r0, [r6, 0xA]
-_0809869A:
- adds r0, r7, 0
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- mov r1, r9
- adds r4, r0, r1
- strh r5, [r4, 0xC]
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl sub_8097404
- movs r0, 0x1
- strh r0, [r4, 0xA]
- b _0809871A
- .pool
-_080986E0:
- adds r0, r4, 0
- bl sub_80974D0
- ldr r0, =sub_80985BC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- strh r4, [r5, 0xC]
- ldr r1, =gMapObjects
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _0809871A
- adds r0, r1, 0
- bl sub_8097404
- movs r0, 0x1
- strh r0, [r5, 0xA]
-_0809871A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8098630
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r0, =sub_80985BC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08098750
- bl sub_808BCF4
- movs r0, 0x1
- b _08098752
- .pool
-_08098750:
- movs r0, 0
-_08098752:
- pop {r1}
- bx r1
- thumb_func_end sub_8098734
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mauville_old_man.s b/asm/mauville_old_man.s
deleted file mode 100644
index 8c7037ca7..000000000
--- a/asm/mauville_old_man.s
+++ /dev/null
@@ -1,2519 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81200A0
-sub_81200A0: @ 81200A0
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =0x00002e28
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, =0x00002e51
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, =gGameLanguage
- ldrb r1, [r0]
- adds r3, 0x1
- adds r0, r2, r3
- strb r1, [r0]
- movs r3, 0
- ldr r0, =0x00002e2a
- adds r2, r0
- ldr r4, =gUnknown_0859EFE4
-_081200C6:
- lsls r0, r3, 1
- adds r1, r2, r0
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _081200C6
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81200A0
-
- thumb_func_start sub_81200F8
-sub_81200F8: @ 81200F8
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r1, r0
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r1, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- bx lr
- .pool
- thumb_func_end sub_81200F8
-
- thumb_func_start sub_812011C
-sub_812011C: @ 812011C
- push {lr}
- bl sub_8120E08
- pop {r0}
- bx r0
- thumb_func_end sub_812011C
-
- thumb_func_start sub_8120128
-sub_8120128: @ 8120128
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x4
- strb r0, [r2]
- strb r3, [r2, 0x1]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- ldr r2, =0x00002e48
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120128
-
- thumb_func_start sub_8120154
-sub_8120154: @ 8120154
- push {lr}
- bl sub_81339F8
- pop {r0}
- bx r0
- thumb_func_end sub_8120154
-
- thumb_func_start SetMauvilleOldMan
-SetMauvilleOldMan: @ 8120160
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 17
- cmp r0, 0x4
- bhi _081201C0
- lsls r0, 2
- ldr r1, =_08120190
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120190:
- .4byte _081201A4
- .4byte _081201AA
- .4byte _081201B0
- .4byte _081201B6
- .4byte _081201BC
-_081201A4:
- bl sub_81200A0
- b _081201C0
-_081201AA:
- bl sub_81200F8
- b _081201C0
-_081201B0:
- bl sub_8120154
- b _081201C0
-_081201B6:
- bl sub_812011C
- b _081201C0
-_081201BC:
- bl sub_8120128
-_081201C0:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end SetMauvilleOldMan
-
- thumb_func_start sub_81201C8
-sub_81201C8: @ 81201C8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81201C8
-
- thumb_func_start sub_81201DC
-sub_81201DC: @ 81201DC
- push {r4,lr}
- ldr r4, =gSpecialVar_Result
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81201DC
-
- thumb_func_start sub_81201F4
-sub_81201F4: @ 81201F4
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e51
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81201F4
-
- thumb_func_start sub_8120210
-sub_8120210: @ 8120210
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r6, r4, r0
- ldr r1, =0x00002e42
- adds r0, r4, r1
- ldr r5, =gSaveBlock2Ptr
- ldr r1, [r5]
- bl StringCopy
- movs r2, 0
- ldr r0, =0x00002e4d
- adds r4, r0
-_0812022C:
- adds r1, r4, r2
- ldr r0, [r5]
- adds r0, 0xA
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _0812022C
- movs r2, 0
- adds r5, r6, 0
- adds r5, 0x29
- adds r3, r6, 0x2
- adds r4, r6, 0
- adds r4, 0xE
-_0812024E:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _0812024E
- movs r0, 0x1
- strb r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120210
-
- thumb_func_start sub_8120280
-sub_8120280: @ 8120280
- push {r4-r7,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r2, =0x00002e36
- adds r5, r1, r2
- cmp r0, 0
- bne _08120296
- ldr r0, =0x00002e2a
- adds r5, r1, r0
-_08120296:
- ldr r2, =gStringVar4
- adds r4, r2, 0
- movs r6, 0
-_0812029C:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r7, r6, 0x1
- cmp r2, r4
- beq _081202BE
- movs r1, 0x37
-_081202B0:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202B8
- strb r1, [r4]
-_081202B8:
- adds r4, 0x1
- cmp r2, r4
- bne _081202B0
-_081202BE:
- adds r4, 0x1
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _081202E6
- movs r1, 0x37
-_081202D8:
- ldrb r0, [r4]
- cmp r0, 0
- bne _081202E0
- strb r1, [r4]
-_081202E0:
- adds r4, 0x1
- cmp r2, r4
- bne _081202D8
-_081202E6:
- adds r4, 0x1
- movs r0, 0xFE
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- cmp r2, r4
- beq _0812030E
- movs r1, 0x37
-_08120300:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08120308
- strb r1, [r4]
-_08120308:
- adds r4, 0x1
- cmp r2, r4
- bne _08120300
-_0812030E:
- cmp r6, 0
- bne _0812031E
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0xF
- strb r0, [r2]
- adds r2, 0x1
-_0812031E:
- lsls r0, r7, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _0812029C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120280
-
- thumb_func_start sub_8120340
-sub_8120340: @ 8120340
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_81206C0
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120340
-
- thumb_func_start sub_8120358
-sub_8120358: @ 8120358
- ldr r1, =gSpecialVar_Result
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8120358
-
- thumb_func_start sub_8120374
-sub_8120374: @ 8120374
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120374
-
- thumb_func_start sub_812038C
-sub_812038C: @ 812038C
- push {lr}
- bl sub_811F01C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081203AC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- b _081203B6
- .pool
-_081203AC:
- ldr r0, =gStringVar1
- bl CopyEasyChatWord
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
-_081203B6:
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812038C
-
- thumb_func_start sub_81203C4
-sub_81203C4: @ 81203C4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r2, r0, r1
- ldrb r0, [r2, 0x1]
- cmp r0, 0xA
- bne _081203EC
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- strb r0, [r2, 0x1]
- b _081203F2
- .pool
-_081203EC:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_081203F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203C4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r5, r4, r0
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- bne _08120410
- bl sub_81204DC
-_08120410:
- ldrb r0, [r5, 0x1]
- lsls r0, 1
- ldr r1, =0x00002e2c
- adds r6, r4, r1
- adds r0, r6, r0
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _08120480
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x7
- ands r4, r0
- ldr r0, =gStringVar4
- ldrb r1, [r5, 0x1]
- lsls r1, 1
- adds r1, r6, r1
- ldrh r1, [r1]
- bl CopyEasyChatWord
- adds r2, r0, 0
- ldr r1, =gUnknown_082942FD
- bl StringCopy
- adds r2, r0, 0
- ldr r0, =gUnknown_0859EFF0
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, =gUnknown_08294301
- bl StringCopy
- b _081204A2
- .pool
-_08120480:
- ldr r0, =gStringVar4
- ldr r3, =gUnknown_0859F010
- ldrb r2, [r5, 0x2]
- adds r1, r2, 0x1
- strb r1, [r5, 0x2]
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0xB9
- lsls r6, 6
- adds r1, r4, r6
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_081204A2:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _081204C4
- movs r0, 0xA
- b _081204C8
- .pool
-_081204C4:
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
-_081204C8:
- strb r0, [r5, 0x1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81203FC
-
- thumb_func_start sub_81204DC
-sub_81204DC: @ 81204DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4, r0
- str r0, [sp, 0x18]
- ldr r1, =gUnknown_0859F030
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r5, 0
- movs r1, 0x2
- add r1, sp
- mov r8, r1
- movs r2, 0xB9
- lsls r2, 6
- adds r3, r4, r2
- adds r1, r3, 0
-_0812050C:
- adds r0, r3, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _0812050C
- movs r5, 0
- ldr r3, [sp, 0x18]
- adds r3, 0x4
- mov r9, r3
- adds r6, r1, 0
-_08120524:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r4, r5, 0x1
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r6, r5
- ldrb r7, [r2]
- adds r1, r6, r1
- ldrb r0, [r1]
- strb r0, [r2]
- strb r7, [r1]
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0x7
- bls _08120524
- movs r0, 0
- mov r10, r0
- movs r5, 0
-_08120552:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl start_menu_is_selected_item_valid
- add r4, r8
- strh r0, [r4]
- add r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08120552
- movs r0, 0
- ldr r2, [sp, 0x18]
- strb r0, [r2, 0x2]
- movs r7, 0
- movs r5, 0
-_0812057E:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bhi _081205BC
- cmp r7, 0x7
- bhi _081205BC
- lsls r0, r5, 1
- add r0, r9
- ldr r1, =0x0000ffff
- strh r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, r5, 0x1
- b _0812060E
- .pool
-_081205BC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- adds r4, r5, 0x1
- lsls r6, r5, 1
- cmp r5, 0x5
- bhi _081205F8
- mov r3, r8
- ldrh r0, [r3]
- b _081205EE
-_081205DE:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r5, 0x5
- bhi _081205F8
- lsls r0, r1, 2
- adds r0, r3, r0
- ldrh r0, [r0]
-_081205EE:
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bgt _081205DE
-_081205F8:
- cmp r1, 0x6
- bne _081205FE
- movs r1, 0
-_081205FE:
- lsls r0, r1, 2
- add r0, sp
- ldrh r0, [r0]
- bl sub_811EE90
- mov r2, r9
- adds r1, r2, r6
- strh r0, [r1]
-_0812060E:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _0812057E
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81204DC
-
- thumb_func_start sub_8120628
-sub_8120628: @ 8120628
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e51
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8120628
-
- thumb_func_start sub_8120640
-sub_8120640: @ 8120640
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- movs r1, 0
- strb r1, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120640
-
- thumb_func_start sub_8120658
-sub_8120658: @ 8120658
- push {lr}
- bl sub_8133A60
- pop {r0}
- bx r0
- thumb_func_end sub_8120658
-
- thumb_func_start sub_8120664
-sub_8120664: @ 8120664
- push {lr}
- bl sub_8120E50
- pop {r0}
- bx r0
- thumb_func_end sub_8120664
-
- thumb_func_start sub_8120670
-sub_8120670: @ 8120670
- push {lr}
- bl sub_81201C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _081206B6
- lsls r0, 2
- ldr r1, =_0812068C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812068C:
- .4byte _081206A0
- .4byte _081206A6
- .4byte _081206B2
- .4byte _081206AC
- .4byte _081206B6
-_081206A0:
- bl sub_8120628
- b _081206B6
-_081206A6:
- bl sub_8120640
- b _081206B6
-_081206AC:
- bl sub_8120664
- b _081206B6
-_081206B2:
- bl sub_8120658
-_081206B6:
- bl sub_8120B5C
- pop {r0}
- bx r0
- thumb_func_end sub_8120670
-
- thumb_func_start sub_81206C0
-sub_81206C0: @ 81206C0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_8120944
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81206C0
-
- thumb_func_start sub_81206F0
-sub_81206F0: @ 81206F0
- ldr r1, =gUnknown_03002F84
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206F0
-
- thumb_func_start sub_81206FC
-sub_81206FC: @ 81206FC
- ldr r1, =gUnknown_03002F84
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_81206FC
-
- thumb_func_start sub_8120708
-sub_8120708: @ 8120708
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, =sub_81206FC
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- ldr r0, =gUnknown_03002F84
- strb r4, [r0]
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120708
-
- thumb_func_start sub_8120748
-sub_8120748: @ 8120748
- push {r4-r6,lr}
- adds r6, r1, 0
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bls _08120756
- b _08120938
-_08120756:
- lsls r0, 2
- ldr r1, =_08120764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120764:
- .4byte _0812077C
- .4byte _08120938
- .4byte _081207BC
- .4byte _081207F8
- .4byte _081207F8
- .4byte _08120938
-_0812077C:
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r3, =0x00002e36
- adds r1, r2, r3
- cmp r0, 0
- bne _08120790
- ldr r0, =0x00002e2a
- adds r1, r2, r0
-_08120790:
- adds r2, r1, 0
- adds r1, r6, 0
- adds r1, 0xC
- movs r3, 0x5
-_08120798:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08120798
- movs r0, 0
- strb r0, [r6]
- b _08120938
- .pool
-_081207BC:
- ldrb r1, [r6]
- lsls r1, 1
- adds r0, r6, 0
- adds r0, 0xC
- adds r0, r1
- ldrh r4, [r0]
- adds r0, r4, 0
- bl GetWordSounds
- str r0, [r6, 0x30]
- movs r1, 0x3
- ands r1, r4
- lsrs r4, 3
- movs r0, 0x1
- ands r4, r0
- adds r1, r4
- adds r0, r6, 0
- bl GetWordPhonemes
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- ldr r0, [r6, 0x30]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081207F4
- movs r0, 0
- b _08120936
-_081207F4:
- movs r0, 0x3
- b _0812091A
-_081207F8:
- ldrb r3, [r6, 0x1]
- lsls r1, r3, 3
- ldr r0, [r6, 0x30]
- adds r2, r0, r1
- ldrb r1, [r6, 0x3]
- cmp r1, 0x1
- beq _081208A0
- cmp r1, 0x1
- bgt _08120810
- cmp r1, 0
- beq _0812081C
- b _08120938
-_08120810:
- cmp r1, 0x2
- beq _08120850
- cmp r1, 0x3
- bne _0812081A
- b _08120922
-_0812081A:
- b _08120938
-_0812081C:
- lsls r0, r3, 2
- adds r0, r6, r0
- ldrh r0, [r0, 0x18]
- strb r0, [r6, 0x2]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120844
- movs r1, 0x3
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r1
- bl m4aSongNumStart
-_08120844:
- movs r0, 0x2
- strb r0, [r6, 0x3]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- b _08120938
-_08120850:
- movs r0, 0x1
- strb r0, [r6, 0x3]
- ldrb r0, [r2]
- cmp r0, 0x32
- bhi _08120938
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x6]
- ldr r4, =gMPlay_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- ldrb r1, [r6, 0x1]
- lsls r1, 2
- adds r1, r6, r1
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1, 0x1A]
- adds r0, r1
- strh r0, [r6, 0x8]
- movs r3, 0x8
- ldrsh r2, [r6, r3]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- b _08120938
- .pool
-_081208A0:
- ldrh r2, [r6, 0xA]
- movs r3, 0xA
- ldrsh r0, [r6, r3]
- cmp r0, 0xA
- ble _081208B0
- ldrh r0, [r6, 0x6]
- subs r0, 0x2
- strh r0, [r6, 0x6]
-_081208B0:
- ands r1, r2
- cmp r1, 0
- beq _081208BC
- ldrh r0, [r6, 0x8]
- adds r0, 0x40
- b _081208C0
-_081208BC:
- ldrh r0, [r6, 0x8]
- subs r0, 0x40
-_081208C0:
- strh r0, [r6, 0x8]
- ldr r4, =gMPlay_SE2
- ldr r5, =0x0000ffff
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- movs r0, 0x8
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08120918
- ldrb r0, [r6, 0x1]
- ldr r1, [r6, 0x30]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08120918
- movs r0, 0
- b _08120936
- .pool
-_08120918:
- movs r0, 0x3
-_0812091A:
- strb r0, [r6, 0x3]
- movs r0, 0x2
- strb r0, [r6, 0x2]
- b _08120938
-_08120922:
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- lsls r0, 24
- cmp r0, 0
- bne _08120938
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
- movs r0, 0x4
-_08120936:
- strb r0, [r6, 0x3]
-_08120938:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120748
-
- thumb_func_start sub_8120944
-sub_8120944: @ 8120944
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- ldr r1, =gUnknown_03006130
- adds r0, r5, 0
- bl sub_8120748
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _08120966
- b _08120B50
-_08120966:
- lsls r0, 2
- ldr r1, =_0812097C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0812097C:
- .4byte _08120994
- .4byte _081209B8
- .4byte _081209C8
- .4byte _08120A7E
- .4byte _08120B40
- .4byte _08120A6E
-_08120994:
- bl sub_8120280
- ldr r0, =gStringVar4
- bl sub_8120708
- movs r0, 0
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strh r0, [r5, 0x10]
- movs r0, 0x4
- bl FadeOutBGMTemporarily
- movs r0, 0x1
- b _08120B4E
- .pool
-_081209B8:
- bl IsBGMPausedOrStopped
- lsls r0, 24
- cmp r0, 0
- bne _081209C4
- b _08120B50
-_081209C4:
- movs r0, 0x2
- b _08120B4E
-_081209C8:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r4, r0, r2
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- ldr r0, =gStringVar4
- adds r1, r0
- movs r3, 0
- ldrb r0, [r1]
- ldr r7, =gUnknown_03006130
- ldrh r2, [r5, 0x12]
- ldr r6, =gUnknown_0203A128
- b _08120A02
- .pool
-_081209F8:
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r1]
-_08120A02:
- cmp r0, 0
- beq _08120A12
- cmp r0, 0xFE
- beq _08120A12
- cmp r0, 0xFC
- beq _08120A12
- cmp r0, 0xFF
- bne _081209F8
-_08120A12:
- cmp r2, 0
- bne _08120A20
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r0, r4, 0x2
- b _08120A2A
-_08120A20:
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0xE
-_08120A2A:
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- lsrs r0, 3
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r6]
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- adds r1, r3, 0
- bl __divsi3
- movs r1, 0
- strh r0, [r7, 0x4]
- lsls r0, 16
- cmp r0, 0
- bgt _08120A54
- movs r0, 0x1
- strh r0, [r7, 0x4]
-_08120A54:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _08120A66
- movs r0, 0x3
- b _08120A68
-_08120A66:
- movs r0, 0x5
-_08120A68:
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xA]
- b _08120B50
-_08120A6E:
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08120B4C
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _08120B50
-_08120A7E:
- ldr r1, =gStringVar4
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0xFF
- bne _08120AB0
- movs r0, 0x6
- bl FadeInBGM
- ldr r0, =gMPlay_SE2
- movs r1, 0x2
- bl m4aMPlayFadeOutTemporarily
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
- b _08120B50
- .pool
-_08120AB0:
- cmp r4, 0
- bne _08120AC6
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120AC6:
- cmp r4, 0xFE
- bne _08120ADA
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- b _08120B50
-_08120ADA:
- cmp r4, 0xFC
- bne _08120AEE
- ldrh r0, [r5, 0xE]
- adds r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _08120B50
-_08120AEE:
- cmp r4, 0x37
- bne _08120B04
- movs r4, 0
- strb r4, [r0]
- bl sub_81206F0
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- strh r4, [r5, 0xC]
- b _08120B50
-_08120B04:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08120B20
- cmp r0, 0x1
- bgt _08120B16
- cmp r0, 0
- beq _08120B1C
- b _08120B50
-_08120B16:
- cmp r0, 0x2
- beq _08120B28
- b _08120B50
-_08120B1C:
- bl sub_81206F0
-_08120B20:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _08120B50
-_08120B28:
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- strh r1, [r5, 0xA]
- ldr r0, =gUnknown_03006130
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xC]
- movs r0, 0x4
- b _08120B4E
- .pool
-_08120B40:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08120B50
-_08120B4C:
- movs r0, 0x3
-_08120B4E:
- strh r0, [r5, 0x8]
-_08120B50:
- bl sub_8197224
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120944
-
- thumb_func_start sub_8120B5C
-sub_8120B5C: @ 8120B5C
- push {lr}
- ldr r0, =0x00004010
- movs r1, 0x45
- bl VarSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B5C
-
- thumb_func_start sub_8120B70
-sub_8120B70: @ 8120B70
- push {r4-r7,lr}
- sub sp, 0x8
- ldrb r1, [r0]
- cmp r1, 0x2
- beq _08120B80
- cmp r1, 0x3
- beq _08120BA6
- b _08120C00
-_08120B80:
- adds r5, r0, 0
- movs r4, 0
-_08120B84:
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120B9E
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- movs r1, 0x1
- bl ConvertInternationalString
-_08120B9E:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120B84
- b _08120C00
-_08120BA6:
- adds r6, r0, 0
- movs r4, 0
- mov r7, sp
- adds r5, r6, 0
- adds r5, 0x8
-_08120BB0:
- adds r0, r6, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- strb r0, [r7, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120BF8
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- mov r0, sp
- ldr r1, =gText_Friend
- bl StringCopy
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x7
- bl memcpy
- adds r0, r6, 0
- adds r0, 0x34
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
-_08120BF8:
- adds r5, 0x7
- adds r4, 0x1
- cmp r4, 0x3
- ble _08120BB0
-_08120C00:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120B70
-
- thumb_func_start sub_8120C0C
-sub_8120C0C: @ 8120C0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- adds r7, r2, 0
- ldrb r0, [r5]
- cmp r0, 0x4
- bhi _08120CC4
- lsls r0, 2
- ldr r1, =_08120C2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120C2C:
- .4byte _08120C92
- .4byte _08120CA2
- .4byte _08120C40
- .4byte _08120C6A
- .4byte _08120CB0
-_08120C40:
- adds r6, r5, 0
- movs r5, 0
- adds r4, r6, 0
- adds r4, 0x32
-_08120C48:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r6, r0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C5E
- mov r0, r8
- strb r0, [r4]
- b _08120C60
-_08120C5E:
- strb r7, [r4]
-_08120C60:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120C48
- b _08120CC4
-_08120C6A:
- adds r4, r5, 0
- adds r4, 0x34
- adds r6, r5, 0
- adds r6, 0x8
- movs r5, 0x3
-_08120C74:
- adds r0, r6, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _08120C84
- mov r1, r8
- strb r1, [r4]
- b _08120C86
-_08120C84:
- strb r7, [r4]
-_08120C86:
- adds r4, 0x1
- adds r6, 0x7
- subs r5, 0x1
- cmp r5, 0
- bge _08120C74
- b _08120CC4
-_08120C92:
- cmp r3, 0x1
- bne _08120C9C
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CB8
-_08120C9C:
- adds r0, r5, 0
- adds r0, 0x2A
- b _08120CC2
-_08120CA2:
- cmp r3, 0x1
- bne _08120CAC
- mov r0, r8
- strb r0, [r5, 0x2]
- b _08120CC4
-_08120CAC:
- strb r7, [r5, 0x2]
- b _08120CC4
-_08120CB0:
- cmp r3, 0x1
- bne _08120CBE
- adds r0, r5, 0
- adds r0, 0x20
-_08120CB8:
- mov r1, r8
- strb r1, [r0]
- b _08120CC4
-_08120CBE:
- adds r0, r5, 0
- adds r0, 0x20
-_08120CC2:
- strb r7, [r0]
-_08120CC4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120C0C
-
- thumb_func_start sub_8120CD0
-sub_8120CD0: @ 8120CD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x3
- bne _08120D28
- cmp r2, 0x1
- bne _08120D28
- adds r7, r1, 0
- movs r6, 0
- mov r8, sp
- adds r4, r7, 0
- adds r4, 0x34
- adds r5, r7, 0
- adds r5, 0x8
-_08120CF2:
- adds r0, r7, 0x4
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120D1E
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1, 0x7]
- mov r0, sp
- bl IsStringJapanese
- cmp r0, 0
- beq _08120D1A
- movs r0, 0x1
- b _08120D1C
-_08120D1A:
- movs r0, 0x2
-_08120D1C:
- strb r0, [r4]
-_08120D1E:
- adds r4, 0x1
- adds r5, 0x7
- adds r6, 0x1
- cmp r6, 0x3
- ble _08120CF2
-_08120D28:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120CD0
-
- thumb_func_start sub_8120D34
-sub_8120D34: @ 8120D34
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r6, r2, 0
- movs r2, 0
- subs r1, 0x1
- cmp r1, 0x1
- bhi _08120D44
- movs r2, 0x1
-_08120D44:
- ldrb r0, [r3]
- cmp r0, 0x4
- bhi _08120E02
- lsls r0, 2
- ldr r1, =_08120D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08120D58:
- .4byte _08120DE6
- .4byte _08120DF0
- .4byte _08120D6C
- .4byte _08120DC6
- .4byte _08120DF8
-_08120D6C:
- adds r7, r3, 0
- cmp r2, 0
- beq _08120DA4
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120D78:
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _08120D98
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _08120D98
- adds r0, r1, 0
- bl StripExtCtrlCodes
- movs r0, 0x1
- strb r0, [r4]
- b _08120D9A
-_08120D98:
- strb r6, [r4]
-_08120D9A:
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120D78
- b _08120E02
-_08120DA4:
- movs r5, 0
- adds r4, r3, 0
- adds r4, 0x32
-_08120DAA:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08120DBE
- movs r0, 0xB
- muls r0, r5
- adds r0, 0x5
- adds r0, r7, r0
- bl StripExtCtrlCodes
-_08120DBE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08120DAA
- b _08120E02
-_08120DC6:
- cmp r2, 0
- beq _08120E02
- movs r1, 0
- adds r4, r3, 0x4
- adds r2, r3, 0
- adds r2, 0x34
-_08120DD2:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120DDE
- adds r0, r2, r1
- strb r6, [r0]
-_08120DDE:
- adds r1, 0x1
- cmp r1, 0x3
- ble _08120DD2
- b _08120E02
-_08120DE6:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x2A
- b _08120E00
-_08120DF0:
- cmp r2, 0
- beq _08120E02
- strb r6, [r3, 0x2]
- b _08120E02
-_08120DF8:
- cmp r2, 0
- beq _08120E02
- adds r0, r3, 0
- adds r0, 0x20
-_08120E00:
- strb r6, [r0]
-_08120E02:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8120D34
-
- thumb_func_start sub_8120E08
-sub_8120E08: @ 8120E08
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r2]
- movs r3, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- strb r3, [r0, 0x1]
- movs r5, 0
- movs r4, 0xFF
-_08120E24:
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r3
- strb r5, [r0]
- ldr r1, [r2]
- adds r1, 0x8
- adds r1, r3
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x3
- ble _08120E24
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120E08
-
- thumb_func_start sub_8120E50
-sub_8120E50: @ 8120E50
- ldr r3, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r0, r1
- str r0, [r3]
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r3]
- strb r2, [r0, 0x1]
- bx lr
- .pool
- thumb_func_end sub_8120E50
-
- thumb_func_start sub_8120E74
-sub_8120E74: @ 8120E74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- bne _08120E80
- movs r0, 0
-_08120E80:
- bl GetGameStat
- pop {r1}
- bx r1
- thumb_func_end sub_8120E74
-
- thumb_func_start sub_8120E88
-sub_8120E88: @ 8120E88
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_0859F048
-_08120E90:
- ldrb r0, [r1]
- cmp r0, r3
- bne _08120EA0
- adds r0, r1, 0
- b _08120EAA
- .pool
-_08120EA0:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x23
- ble _08120E90
- ldr r0, =gUnknown_0859F278
-_08120EAA:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120E88
-
- thumb_func_start sub_8120EB4
-sub_8120EB4: @ 8120EB4
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x4]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EB4
-
- thumb_func_start sub_8120EC0
-sub_8120EC0: @ 8120EC0
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_8120EC0
-
- thumb_func_start sub_8120ECC
-sub_8120ECC: @ 8120ECC
- push {lr}
- bl sub_8120E88
- ldr r0, [r0, 0x8]
- pop {r1}
- bx r1
- thumb_func_end sub_8120ECC
-
- thumb_func_start sub_8120ED8
-sub_8120ED8: @ 8120ED8
- push {lr}
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08120EFC
-_08120EE6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _08120EFC
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08120EE6
-_08120EFC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8120ED8
-
- thumb_func_start sub_8120F08
-sub_8120F08: @ 8120F08
- ldr r1, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r1]
- adds r2, r0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- orrs r0, r1
- bx lr
- .pool
- thumb_func_end sub_8120F08
-
- thumb_func_start sub_8120F2C
-sub_8120F2C: @ 8120F2C
- ldr r2, =gUnknown_0203A12C
- lsls r0, 2
- adds r0, 0x24
- ldr r2, [r2]
- adds r2, r0
- strb r1, [r2]
- lsrs r0, r1, 8
- strb r0, [r2, 0x1]
- lsrs r0, r1, 16
- strb r0, [r2, 0x2]
- lsrs r1, 24
- strb r1, [r2, 0x3]
- bx lr
- .pool
- thumb_func_end sub_8120F2C
-
- thumb_func_start sub_8120F4C
-sub_8120F4C: @ 8120F4C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8120E74
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8120F08
- cmp r4, r0
- bhi _08120F74
- movs r0, 0
- b _08120F76
- .pool
-_08120F74:
- movs r0, 0x1
-_08120F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8120F4C
-
- thumb_func_start sub_8120F7C
-sub_8120F7C: @ 8120F7C
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120F7C
-
- thumb_func_start sub_8120FAC
-sub_8120FAC: @ 8120FAC
- push {r4,r5,lr}
- adds r5, r1, 0
- ldr r2, =gUnknown_0203A12C
- lsls r1, r0, 3
- subs r1, r0
- adds r1, 0x8
- ldr r4, [r2]
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FAC
-
- thumb_func_start sub_8120FDC
-sub_8120FDC: @ 8120FDC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r8, r0
- adds r6, r1, 0
- ldr r0, =gUnknown_0203A12C
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0x4
- add r0, r8
- strb r6, [r0]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- mov r0, r8
- bl sub_8120FAC
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- mov r0, r8
- bl sub_8120F2C
- ldr r5, =gStringVar1
- adds r0, r4, 0
- bl sub_8120E74
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- adds r0, r6, 0
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x34
- add r0, r8
- ldr r1, =gGameLanguage
- ldrb r1, [r1]
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120FDC
-
- thumb_func_start sub_8121064
-sub_8121064: @ 8121064
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0
- cmp r5, r6
- bge _0812107A
-_08121070:
- adds r0, r7, r5
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, r6
- blt _08121070
-_0812107A:
- cmp r6, 0
- ble _081210B0
- adds r5, r6, 0
-_08121080:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r7, r4
- ldrb r2, [r4]
- adds r0, r7, r0
- ldrb r1, [r0]
- strb r1, [r4]
- strb r2, [r0]
- subs r5, 0x1
- cmp r5, 0
- bne _08121080
-_081210B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8121064
-
- thumb_func_start sub_81210B8
-sub_81210B8: @ 81210B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r7, sp
- mov r8, sp
- ldr r0, =gUnknown_0859F288
- ldr r0, [r0]
- lsls r0, 3
- lsrs r0, 3
- adds r0, 0x3
- lsrs r0, 2
- lsls r0, 2
- mov r1, sp
- subs r1, r0
- mov sp, r1
- mov r9, sp
- mov r0, sp
- movs r1, 0x24
- bl sub_8121064
- movs r5, 0
-_081210E4:
- ldr r1, =gUnknown_0859F048
- mov r2, r9
- adds r0, r2, r5
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r4, [r0]
- ldrb r6, [r0, 0x1]
- movs r1, 0
- ldr r2, =gUnknown_0203A12C
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- cmp r0, r4
- beq _08121112
-_08121100:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _08121112
- ldr r0, [r2]
- adds r0, 0x4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, r4
- bne _08121100
-_08121112:
- cmp r1, 0x4
- bne _08121162
- adds r0, r4, 0
- bl sub_8120E74
- cmp r0, r6
- bcc _08121162
- ldr r0, =gUnknown_0203A12C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _08121150
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_8120FDC
- b _0812115E
- .pool
-_08121150:
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8120FDC
-_0812115E:
- movs r0, 0x1
- b _0812116A
-_08121162:
- adds r5, 0x1
- cmp r5, 0x23
- ble _081210E4
- movs r0, 0
-_0812116A:
- mov sp, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81210B8
-
- thumb_func_start sub_8121178
-sub_8121178: @ 8121178
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- ldr r6, =gUnknown_0203A12C
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- mov r8, r0
- ldr r4, =gStringVar1
- adds r0, r5, 0
- bl sub_8120F08
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar2
- mov r0, r8
- bl sub_8120ECC
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, =gStringVar3
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8120F7C
- ldr r0, [r6]
- adds r0, 0x34
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl ConvertInternationalString
- mov r0, r8
- bl sub_8120EC0
- bl ShowFieldMessage
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121178
-
- thumb_func_start sub_81211EC
-sub_81211EC: @ 81211EC
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08121230
-_08121208:
- bl sub_8120EB4
- adds r1, r0, 0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- cmp r0, r5
- ble _0812121C
- adds r5, r0, 0
-_0812121C:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08121230
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121208
-_08121230:
- adds r0, r5, 0
- bl convert_pixel_width_to_tile_width
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8120ED8
- adds r3, r0, 0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl CreateWindowFromRect
- ldr r1, =gUnknown_0203A130
- strb r0, [r1]
- ldrb r0, [r1]
- movs r1, 0
- bl SetStandardWindowBorderStyle
- movs r4, 0
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _081212AA
- movs r5, 0x80
- lsls r5, 17
-_08121272:
- bl sub_8120EB4
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- lsrs r1, r5, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0x80
- lsls r0, 21
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- bgt _081212AA
- ldr r0, =gUnknown_0203A12C
- ldr r0, [r0]
- adds r0, 0x4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08121272
-_081212AA:
- ldr r5, =gUnknown_0203A130
- ldrb r0, [r5]
- ldr r2, =gText_Exit
- lsls r1, r4, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r4, [r5]
- bl sub_8120ED8
- adds r1, r0, 0
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81211EC
-
- thumb_func_start sub_81212FC
-sub_81212FC: @ 81212FC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _08121320
- cmp r5, 0x1
- beq _0812132C
- b _08121376
- .pool
-_08121320:
- bl sub_81211EC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08121376
-_0812132C:
- bl ProcessMenuInput
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08121376
- adds r0, 0x1
- cmp r4, r0
- beq _0812134E
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0812135C
-_0812134E:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _08121364
- .pool
-_0812135C:
- ldr r0, =gSpecialVar_Result
- strh r5, [r0]
- ldr r0, =gUnknown_03001178
- strb r4, [r0]
-_08121364:
- ldr r0, =gUnknown_0203A130
- ldrb r0, [r0]
- bl sub_80E2A78
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08121376:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81212FC
-
- thumb_func_start sub_8121388
-sub_8121388: @ 8121388
- push {lr}
- ldr r0, =sub_81212FC
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121388
-
- thumb_func_start sub_812139C
-sub_812139C: @ 812139C
- push {lr}
- ldr r0, =gUnknown_03001178
- ldrb r0, [r0]
- bl sub_8121178
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_812139C
-
- thumb_func_start sub_81213B0
-sub_81213B0: @ 81213B0
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_8120ED8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81213B0
-
- thumb_func_start sub_81213D8
-sub_81213D8: @ 81213D8
- push {r4,r5,lr}
- ldr r2, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r3, =0x00002e28
- adds r0, r1, r3
- str r0, [r2]
- ldr r5, =gUnknown_03001178
- ldrb r0, [r5]
- ldr r2, =0x00002e2c
- adds r1, r2
- adds r1, r0
- ldrb r4, [r1]
- bl sub_8120F4C
- cmp r0, 0x1
- beq _08121414
- movs r0, 0
- b _0812141E
- .pool
-_08121414:
- ldrb r0, [r5]
- adds r1, r4, 0
- bl sub_8120FDC
- movs r0, 0x1
-_0812141E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81213D8
-
- thumb_func_start sub_8121424
-sub_8121424: @ 8121424
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08121448
- movs r0, 0x1
- b _0812144A
- .pool
-_08121448:
- movs r0, 0
-_0812144A:
- pop {r1}
- bx r1
- thumb_func_end sub_8121424
-
- thumb_func_start sub_8121450
-sub_8121450: @ 8121450
- push {lr}
- ldr r1, =gUnknown_0203A12C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00002e28
- adds r0, r2
- str r0, [r1]
- bl sub_81210B8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8121450
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu.s b/asm/menu.s
deleted file mode 100755
index 71ff9218c..000000000
--- a/asm/menu.s
+++ /dev/null
@@ -1,5505 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AddTextPrinterWithCallbackForMessage
-@ void AddTextPrinterWithCallbackForMessage(u8 allowSkippingDelayWithButtonPress, void ( *callback)(u16, struct TextPrinter *))
-AddTextPrinterWithCallbackForMessage: @ 8197A9C
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTextFlags
- movs r4, 0x1
- ands r0, r4
- ldrb r2, [r3]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
- bl sav2_get_text_speed
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r2, =gStringVar4
- str r5, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParametrized
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddTextPrinterWithCallbackForMessage
-
- thumb_func_start sub_8197AE8
-sub_8197AE8: @ 8197AE8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- cmp r4, 0x1
- bne _08197B12
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08197B12:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8197AE8
-
- thumb_func_start sub_8197B1C
-sub_8197B1C: @ 8197B1C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CD9C
- strh r2, [r0]
- ldr r0, =gUnknown_0203CD9E
- strb r3, [r0]
- ldr r1, =sub_8197BB4
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _08197B52
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197B52:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197B1C
-
- thumb_func_start sub_8197B64
-sub_8197B64: @ 8197B64
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CD9C
- strh r2, [r0]
- ldr r5, =gUnknown_0203CD9E
- adds r0, r6, 0
- movs r1, 0x5
- bl GetWindowAttribute
- strb r0, [r5]
- ldr r1, =sub_8197BB4
- adds r0, r6, 0
- bl CallWindowFunction
- adds r0, r6, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r6, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _08197BA2
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197BA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197B64
-
- thumb_func_start sub_8197BB4
-sub_8197BB4: @ 8197BB4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- mov r8, r0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r2, [sp, 0x44]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r1, 24
- lsls r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- lsrs r3, r0, 24
- str r3, [sp, 0xC]
- movs r3, 0xFE
- lsls r3, 24
- adds r2, r0, r3
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsrs r0, r5, 24
- mov r9, r0
- movs r2, 0xFF
- lsls r2, 24
- adds r5, r2
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r3, =gUnknown_0203CD9E
- mov r10, r3
- ldrb r0, [r3]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x14]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r0, =gUnknown_0203CD9C
- ldrh r1, [r0]
- adds r1, 0x3
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0xC]
- subs r0, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x18]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- subs r0, r6, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0x5
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0xC]
- adds r7, r0, r6
- subs r0, r7, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x20]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x20]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0x6
- lsls r1, 16
- lsrs r1, 16
- lsls r2, r7, 24
- lsrs r7, r2, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- str r4, [sp]
- movs r5, 0x5
- str r5, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x14]
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0x9
- lsls r1, 16
- lsrs r1, 16
- adds r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp]
- str r5, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x18]
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r3, =gUnknown_0203CD9C
- ldrh r1, [r3]
- adds r1, 0xA
- lsls r1, 16
- lsrs r1, 16
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r3, =0x00000801
- adds r1, r3, 0
- ldr r0, =gUnknown_0203CD9C
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x10]
- add r9, r2
- mov r3, r9
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x14]
- bl FillBgTilemapBufferRect
- ldr r3, =0x00000803
- adds r1, r3, 0
- ldr r0, =gUnknown_0203CD9C
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r10
- ldrb r0, [r2]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x18]
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r3, =0x00000804
- adds r1, r3, 0
- ldr r0, =gUnknown_0203CD9C
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x1C]
- str r2, [sp]
- str r4, [sp, 0x4]
- mov r3, r10
- ldrb r0, [r3]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0xC]
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r0, =0x00000805
- adds r1, r0, 0
- ldr r2, =gUnknown_0203CD9C
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r3, r10
- ldrb r0, [r3]
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r2, [sp, 0x20]
- mov r3, r9
- bl FillBgTilemapBufferRect
- ldr r0, =0x00000806
- adds r1, r0, 0
- ldr r2, =gUnknown_0203CD9C
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r3, r10
- ldrb r0, [r3]
- str r0, [sp, 0x8]
- mov r0, r8
- adds r2, r7, 0
- mov r3, r9
- bl FillBgTilemapBufferRect
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197BB4
-
- thumb_func_start sub_8197DF8
-sub_8197DF8: @ 8197DF8
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_8197E30
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _08197E26
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197E26:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197DF8
-
- thumb_func_start sub_8197E30
-sub_8197E30: @ 8197E30
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsls r5, 24
- lsls r3, 24
- lsls r1, 24
- movs r2, 0xFD
- lsls r2, 24
- adds r4, r2
- lsrs r4, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r5, r2
- lsrs r5, 24
- movs r2, 0xC0
- lsls r2, 19
- adds r3, r2
- lsrs r3, 24
- str r3, [sp]
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8197E30
-
- thumb_func_start SetWindowBorderStyle
-@ void SetWindowBorderStyle(u8 windowId, bool copyToVram, s16 tileStart, s8 palette)
-SetWindowBorderStyle: @ 8197E80
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CD9C
- strh r2, [r0]
- ldr r0, =gUnknown_0203CD9E
- strb r3, [r0]
- ldr r1, =DrawWindowBorder
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _08197EB6
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197EB6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetWindowBorderStyle
-
- thumb_func_start sub_8197EC8
-sub_8197EC8: @ 8197EC8
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_0203CD9C
- strh r2, [r0]
- ldr r5, =gUnknown_0203CD9E
- adds r0, r6, 0
- movs r1, 0x5
- bl GetWindowAttribute
- strb r0, [r5]
- ldr r1, =DrawWindowBorder
- adds r0, r6, 0
- bl CallWindowFunction
- adds r0, r6, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r6, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _08197F06
- adds r0, r6, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197F06:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197EC8
-
- thumb_func_start DrawWindowBorder
-DrawWindowBorder: @ 8197F18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r9, r0
- adds r6, r1, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x38]
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r6, 24
- lsls r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- lsrs r0, r6, 24
- str r0, [sp, 0xC]
- movs r2, 0xFF
- lsls r2, 24
- adds r6, r2
- lsrs r6, 24
- lsrs r0, r4, 24
- mov r8, r0
- adds r4, r2
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- ldr r7, =gUnknown_0203CD9E
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- adds r2, r6, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x10]
- str r0, [sp]
- str r5, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- ldr r2, [sp, 0xC]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- adds r1, 0x2
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0xC]
- ldr r2, [sp, 0x10]
- adds r0, r2
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- str r5, [sp]
- str r5, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- mov r2, r10
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r0, =gUnknown_0203CD9C
- ldrh r1, [r0]
- adds r1, 0x3
- lsls r1, 16
- lsrs r1, 16
- str r5, [sp]
- ldr r2, [sp, 0x14]
- str r2, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- adds r2, r6, 0
- mov r3, r8
- bl FillBgTilemapBufferRect
- ldr r0, =gUnknown_0203CD9C
- ldrh r1, [r0]
- adds r1, 0x5
- lsls r1, 16
- lsrs r1, 16
- str r5, [sp]
- ldr r2, [sp, 0x14]
- str r2, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- mov r2, r10
- mov r3, r8
- bl FillBgTilemapBufferRect
- ldr r0, =gUnknown_0203CD9C
- ldrh r1, [r0]
- adds r1, 0x6
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x14]
- add r8, r2
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r5, [sp]
- str r5, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- adds r2, r6, 0
- mov r3, r8
- bl FillBgTilemapBufferRect
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- adds r1, 0x7
- lsls r1, 16
- lsrs r1, 16
- ldr r0, [sp, 0x10]
- str r0, [sp]
- str r5, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- ldr r2, [sp, 0xC]
- mov r3, r8
- bl FillBgTilemapBufferRect
- ldr r2, =gUnknown_0203CD9C
- ldrh r1, [r2]
- adds r1, 0x8
- lsls r1, 16
- lsrs r1, 16
- str r5, [sp]
- str r5, [sp, 0x4]
- ldrb r0, [r7]
- str r0, [sp, 0x8]
- mov r0, r9
- mov r2, r10
- mov r3, r8
- bl FillBgTilemapBufferRect
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DrawWindowBorder
-
- thumb_func_start sub_8198070
-sub_8198070: @ 8198070
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_81980A8
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _0819809E
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0819809E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8198070
-
- thumb_func_start sub_81980A8
-sub_81980A8: @ 81980A8
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsls r5, 24
- lsls r3, 24
- lsls r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r4, r2
- lsrs r4, 24
- adds r5, r2
- lsrs r5, 24
- movs r2, 0x80
- lsls r2, 18
- adds r3, r2
- lsrs r3, 24
- str r3, [sp]
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81980A8
-
- thumb_func_start sub_81980F0
-sub_81980F0: @ 81980F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- cmp r6, 0x3
- bls _08198126
- movs r1, 0
- mov r0, sp
- strb r1, [r0]
- b _0819812A
-_08198126:
- mov r0, sp
- strb r6, [r0]
-_0819812A:
- mov r1, sp
- mov r0, r8
- strb r0, [r1, 0x2]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- movs r0, 0x1E
- subs r0, r7
- strb r0, [r1, 0x1]
- strb r7, [r1, 0x3]
- strb r5, [r1, 0x5]
- strh r4, [r1, 0x6]
- ldr r4, =gUnknown_0203CDA0
- mov r0, sp
- bl AddWindow
- strb r0, [r4]
- cmp r5, 0xF
- bls _08198158
- movs r5, 0xF0
- b _0819815C
- .pool
-_08198158:
- lsls r0, r5, 28
- lsrs r5, r0, 24
-_0819815C:
- ldr r0, =gUnknown_0860F0B0
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0203CDA0
- ldrb r0, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81980F0
-
- thumb_func_start sub_8198180
-sub_8198180: @ 8198180
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r5, =gUnknown_0203CDA0
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _081981EE
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetWindowAttribute
- movs r2, 0xEC
- subs r2, r7
- lsls r0, 3
- subs r2, r0
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- ldr r1, =gUnknown_0860F0D0
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r3, 0x1
- bl box_print
- mov r0, r8
- cmp r0, 0
- beq _081981EE
- ldrb r0, [r5]
- movs r1, 0x3
- bl CopyWindowToVram
-_081981EE:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8198180
-
- thumb_func_start sub_8198204
-sub_8198204: @ 8198204
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- adds r6, r1, 0
- ldr r0, [sp, 0x38]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r4, 0
- ldr r0, =gUnknown_0203CDA0
- ldrb r1, [r0]
- adds r7, r0, 0
- cmp r1, 0xFF
- beq _081982C8
- cmp r2, 0
- beq _08198244
- add r0, sp, 0x14
- strb r4, [r0]
- adds r1, r0, 0
- b _0819824A
- .pool
-_08198244:
- add r1, sp, 0x14
- movs r0, 0xF
- strb r0, [r1]
-_0819824A:
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- adds r5, r7, 0
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r5]
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- cmp r6, 0
- beq _0819829E
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5]
- movs r1, 0x1
- bl GetWindowAttribute
- movs r2, 0xEC
- mov r1, r8
- subs r2, r1
- lsls r0, 3
- subs r2, r0
- subs r2, r4
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- add r1, sp, 0x14
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r3, 0x1
- bl box_print
-_0819829E:
- ldrb r0, [r7]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- add r2, sp, 0x14
- str r2, [sp, 0x8]
- str r1, [sp, 0xC]
- mov r1, r10
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0x1
- bl AddTextPrinterParametrized2
- mov r2, r9
- cmp r2, 0
- beq _081982C8
- ldrb r0, [r7]
- movs r1, 0x3
- bl CopyWindowToVram
-_081982C8:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198204
-
- thumb_func_start sub_81982D8
-sub_81982D8: @ 81982D8
- push {lr}
- ldr r1, =gUnknown_0203CDA0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081982E8
- movs r1, 0x3
- bl CopyWindowToVram
-_081982E8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81982D8
-
- thumb_func_start sub_81982F0
-sub_81982F0: @ 81982F0
- push {r4,lr}
- ldr r4, =gUnknown_0203CDA0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08198308
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
-_08198308:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81982F0
-
- thumb_func_start sub_8198314
-sub_8198314: @ 8198314
- push {r4,lr}
- ldr r4, =gUnknown_0203CDA0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _0819833C
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r4]
- bl ClearWindowTilemap
- ldrb r0, [r4]
- movs r1, 0x3
- bl CopyWindowToVram
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_0819833C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8198314
-
- thumb_func_start sub_8198348
-sub_8198348: @ 8198348
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, [sp, 0x18]
- mov r8, r4
- ldr r4, [sp, 0x1C]
- ldr r5, [sp, 0x20]
- ldr r6, [sp, 0x24]
- mov r12, r6
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r7, r5, 24
- ldr r5, =gUnknown_0203CD90
- movs r6, 0
- strb r2, [r5]
- strb r3, [r5, 0x1]
- strb r6, [r5, 0x3]
- subs r4, 0x1
- strb r4, [r5, 0x4]
- strb r0, [r5, 0x5]
- strb r1, [r5, 0x6]
- mov r0, r8
- strb r0, [r5, 0x8]
- mov r4, r12
- strb r4, [r5, 0xB]
- cmp r7, 0
- blt _08198388
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- cmp r7, r0
- ble _08198390
-_08198388:
- strb r6, [r5, 0x2]
- b _08198392
- .pool
-_08198390:
- strb r7, [r5, 0x2]
-_08198392:
- movs r0, 0
- bl MoveMenuCursor
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8198348
-
- thumb_func_start sub_81983AC
-sub_81983AC: @ 81983AC
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x24]
- ldr r6, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r4, 0
- str r4, [sp, 0xC]
- bl sub_8198348
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81983AC
-
- thumb_func_start sub_81983EC
-sub_81983EC: @ 81983EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- mov r8, r0
- adds r6, r1, 0
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0x1
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- mov r0, r8
- adds r1, r6, 0
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- bl sub_81983AC
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81983EC
-
- thumb_func_start RedrawMenuCursor
-@ void RedrawMenuCursor(s8 oldPos, s8 newPos)
-RedrawMenuCursor: @ 8198448
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r6, r0, 0
- mov r8, r1
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r5, =gUnknown_0203CD90
- ldrb r0, [r5, 0x6]
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5, 0x6]
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5, 0x5]
- mov r9, r1
- ldrb r2, [r5]
- ldrb r1, [r5, 0x8]
- adds r3, r1, 0
- muls r3, r6
- ldrb r6, [r5, 0x1]
- adds r3, r6
- lsls r3, 16
- lsrs r3, 16
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r9
- movs r1, 0x11
- bl FillWindowPixelRect
- ldrb r0, [r5, 0x5]
- ldrb r1, [r5, 0x6]
- ldr r2, =gText_SelectorArrow3
- ldrb r3, [r5]
- ldrb r4, [r5, 0x8]
- mov r6, r8
- muls r6, r4
- adds r4, r6, 0
- ldrb r5, [r5, 0x1]
- adds r4, r5
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RedrawMenuCursor
-
- thumb_func_start MoveMenuCursor
-@ s8 MoveMenuCursor(s8 cursorDelta)
-MoveMenuCursor: @ 81984D8
- push {r4,r5,lr}
- ldr r1, =gUnknown_0203CD90
- ldrb r5, [r1, 0x2]
- movs r2, 0x2
- ldrsb r2, [r1, r2]
- lsls r0, 24
- asrs r3, r0, 24
- adds r2, r3
- movs r0, 0x3
- ldrsb r0, [r1, r0]
- adds r4, r1, 0
- cmp r2, r0
- bge _081984FC
- ldrb r0, [r4, 0x4]
- b _0819850A
- .pool
-_081984FC:
- movs r0, 0x4
- ldrsb r0, [r4, r0]
- cmp r2, r0
- ble _08198508
- ldrb r0, [r4, 0x3]
- b _0819850A
-_08198508:
- adds r0, r3, r5
-_0819850A:
- strb r0, [r4, 0x2]
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl RedrawMenuCursor
- ldrb r0, [r4, 0x2]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MoveMenuCursor
-
- thumb_func_start MoveMenuCursorNoWrapAround
-@ s8 MoveMenuCursorNoWrapAround(s8 cursorDelta)
-MoveMenuCursorNoWrapAround: @ 819851C
- push {r4,r5,lr}
- ldr r1, =gUnknown_0203CD90
- ldrb r5, [r1, 0x2]
- movs r2, 0x2
- ldrsb r2, [r1, r2]
- lsls r0, 24
- asrs r3, r0, 24
- adds r2, r3
- movs r0, 0x3
- ldrsb r0, [r1, r0]
- adds r4, r1, 0
- cmp r2, r0
- bge _08198540
- ldrb r0, [r4, 0x3]
- b _0819854E
- .pool
-_08198540:
- movs r0, 0x4
- ldrsb r0, [r4, r0]
- cmp r2, r0
- ble _0819854C
- ldrb r0, [r4, 0x4]
- b _0819854E
-_0819854C:
- adds r0, r3, r5
-_0819854E:
- strb r0, [r4, 0x2]
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl RedrawMenuCursor
- ldrb r0, [r4, 0x2]
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MoveMenuCursorNoWrapAround
-
- thumb_func_start GetMenuCursorPos
-GetMenuCursorPos: @ 8198560
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- bx lr
- .pool
- thumb_func_end GetMenuCursorPos
-
- thumb_func_start ProcessMenuInput
-ProcessMenuInput: @ 819856C
- push {r4,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08198598
- ldr r4, =gUnknown_0203CD90
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _08198588
- movs r0, 0x5
- bl PlaySE
-_08198588:
- movs r0, 0x2
- ldrsb r0, [r4, r0]
- b _081985D2
- .pool
-_08198598:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081985A6
- movs r0, 0x1
- negs r0, r0
- b _081985D2
-_081985A6:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081985BA
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _081985CA
-_081985BA:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081985CE
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_081985CA:
- bl MoveMenuCursor
-_081985CE:
- movs r0, 0x2
- negs r0, r0
-_081985D2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ProcessMenuInput
-
- thumb_func_start ProcessMenuInputNoWrapAround
-@ int ProcessMenuInputNoWrapAround()
-ProcessMenuInputNoWrapAround: @ 81985D8
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203CD90
- ldrb r5, [r4, 0x2]
- adds r6, r5, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08198608
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _081985F8
- movs r0, 0x5
- bl PlaySE
-_081985F8:
- movs r0, 0x2
- ldrsb r0, [r4, r0]
- b _08198650
- .pool
-_08198608:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08198616
- movs r0, 0x1
- negs r0, r0
- b _08198650
-_08198616:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08198630
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursorNoWrapAround
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _0819864C
- b _08198646
-_08198630:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0819864C
- movs r0, 0x1
- bl MoveMenuCursorNoWrapAround
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- beq _0819864C
-_08198646:
- movs r0, 0x5
- bl PlaySE
-_0819864C:
- movs r0, 0x2
- negs r0, r0
-_08198650:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ProcessMenuInputNoWrapAround
-
- thumb_func_start ProcessMenuInput_other
-ProcessMenuInput_other: @ 8198658
- push {r4,lr}
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08198684
- ldr r4, =gUnknown_0203CD90
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _08198674
- movs r0, 0x5
- bl PlaySE
-_08198674:
- movs r0, 0x2
- ldrsb r0, [r4, r0]
- b _081986BC
- .pool
-_08198684:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08198692
- movs r0, 0x1
- negs r0, r0
- b _081986BC
-_08198692:
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _081986A8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _081986B4
-_081986A8:
- cmp r1, 0x80
- bne _081986B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_081986B4:
- bl MoveMenuCursor
-_081986B8:
- movs r0, 0x2
- negs r0, r0
-_081986BC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ProcessMenuInput_other
-
- thumb_func_start ProcessMenuInputNoWrapAround_other
-ProcessMenuInputNoWrapAround_other: @ 81986C4
- push {r4-r6,lr}
- ldr r4, =gUnknown_0203CD90
- ldrb r5, [r4, 0x2]
- adds r6, r5, 0
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081986F4
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _081986E4
- movs r0, 0x5
- bl PlaySE
-_081986E4:
- movs r0, 0x2
- ldrsb r0, [r4, r0]
- b _0819873A
- .pool
-_081986F4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08198702
- movs r0, 0x1
- negs r0, r0
- b _0819873A
-_08198702:
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _0819871E
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursorNoWrapAround
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08198736
- b _08198730
-_0819871E:
- cmp r1, 0x80
- bne _08198736
- movs r0, 0x1
- bl MoveMenuCursorNoWrapAround
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- beq _08198736
-_08198730:
- movs r0, 0x5
- bl PlaySE
-_08198736:
- movs r0, 0x2
- negs r0, r0
-_0819873A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end ProcessMenuInputNoWrapAround_other
-
- thumb_func_start PrintTextArray
-PrintTextArray: @ 8198740
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- lsls r0, 24
- lsrs r6, r0, 24
- 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
- lsls r4, 24
- lsrs r7, r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r4, 0
- cmp r4, r5
- bcs _081987A4
-_08198774:
- lsls r0, r4, 3
- ldr r1, [sp, 0x34]
- adds r0, r1
- ldr r2, [r0]
- adds r0, r7, 0
- muls r0, r4
- add r0, r8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- mov r1, r10
- mov r3, r9
- bl PrintTextOnWindow
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08198774
-_081987A4:
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PrintTextArray
-
- thumb_func_start sub_81987BC
-sub_81987BC: @ 81987BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x40]
- ldr r5, [sp, 0x44]
- ldr r6, [sp, 0x4C]
- ldr r7, [sp, 0x50]
- mov r8, r7
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x1C]
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r9, r6
- mov r0, r8
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _0819883C
-_08198804:
- lsls r0, r4, 3
- ldr r1, [sp, 0x48]
- adds r0, r1
- ldr r2, [r0]
- mov r0, r10
- muls r0, r4
- ldr r1, [sp, 0x1C]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r7, 0
- ldr r1, [sp, 0x14]
- ldr r3, [sp, 0x18]
- bl sub_8199F74
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08198804
-_0819883C:
- adds r0, r7, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81987BC
-
- thumb_func_start sub_8198854
-sub_8198854: @ 8198854
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- mov r8, r0
- adds r6, r1, 0
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r7, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- movs r1, 0
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- mov r0, r8
- adds r1, r6, 0
- movs r3, 0x1
- bl PrintTextArray
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198854
-
- thumb_func_start AddItemMenuActionTextPrinters
-AddItemMenuActionTextPrinters: @ 81988A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r6, r1, 0
- mov r8, r2
- ldr r1, [sp, 0x38]
- mov r9, r1
- ldr r1, [sp, 0x3C]
- ldr r2, [sp, 0x40]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r6, 24
- lsrs r6, 24
- mov r4, r8
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r7, r2, 24
- mov r0, sp
- ldrb r1, [r0, 0x10]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- adds r0, r6, 0
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- adds r0, r6, 0
- movs r1, 0x6
- bl GetFontAttribute
- mov r3, sp
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- adds r0, r6, 0
- movs r1, 0x7
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- adds r0, r6, 0
- movs r1, 0x4
- bl GetFontAttribute
- mov r1, sp
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- mov r0, sp
- mov r2, r9
- strb r2, [r0, 0xA]
- adds r0, r6, 0
- movs r1, 0x3
- bl GetFontAttribute
- mov r1, sp
- strb r0, [r1, 0xB]
- mov r0, sp
- mov r4, r8
- strb r4, [r0, 0x6]
- strb r4, [r0, 0x8]
- movs r4, 0
- cmp r4, r7
- bcs _0819899E
- mov r5, sp
-_0819896E:
- ldr r1, [sp, 0x48]
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, 3
- ldr r2, [sp, 0x44]
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- mov r0, r10
- muls r0, r4
- ldr r1, [sp, 0x14]
- adds r0, r1, r0
- strb r0, [r5, 0x7]
- strb r0, [r5, 0x9]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _0819896E
-_0819899E:
- ldr r0, [sp, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end AddItemMenuActionTextPrinters
-
- thumb_func_start sub_81989B8
-sub_81989B8: @ 81989B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r9, r0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- ldr r7, [sp, 0x30]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetFontAttribute
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- movs r1, 0x2
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- ldr r0, [sp, 0x34]
- str r0, [sp, 0x10]
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl AddItemMenuActionTextPrinters
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81989B8
-
- thumb_func_start SetWindowTemplateFields
-@ void SetWindowTemplateFields(WindowTemplate *template, char bg_id, char x, char y, char w, char h, char a7, s16 a8)
-SetWindowTemplateFields: @ 8198A24
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r7, [sp, 0x24]
- mov r8, r7
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- strb r4, [r0, 0x3]
- strb r5, [r0, 0x4]
- strb r6, [r0, 0x5]
- mov r1, r8
- strh r1, [r0, 0x6]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetWindowTemplateFields
-
- thumb_func_start sub_8198A50
-sub_8198A50: @ 8198A50
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- mov r8, r0
- ldr r0, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r6, [sp, 0xC]
- add r0, sp, 0x10
- bl SetWindowTemplateFields
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- mov r2, r8
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r8
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r2}
- bx r2
- thumb_func_end sub_8198A50
-
- thumb_func_start sub_8198AA4
-sub_8198AA4: @ 8198AA4
- push {r4-r6,lr}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- str r3, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- add r0, sp, 0x10
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl SetWindowTemplateFields
- add r0, sp, 0x10
- bl AddWindow
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x18
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8198AA4
-
- thumb_func_start sub_8198AF8
-sub_8198AF8: @ 8198AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- ldr r1, [sp, 0x44]
- mov r10, r1
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- mov r1, r10
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r7, =gUnknown_0203CD9F
- bl AddWindow
- strb r0, [r7]
- ldrb r0, [r7]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl SetWindowBorderStyle
- ldr r0, =gText_YesNo
- str r0, [sp, 0xC]
- add r1, sp, 0xC
- ldrb r0, [r7]
- strb r0, [r1, 0x4]
- adds r0, r1, 0
- strb r6, [r0, 0x5]
- adds r0, r6, 0
- movs r1, 0
- bl GetFontAttribute
- add r1, sp, 0xC
- add r0, r8
- strb r0, [r1, 0x6]
- adds r0, r1, 0
- mov r1, r9
- strb r1, [r0, 0x7]
- adds r1, r0, 0
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x8]
- adds r0, r1, 0
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- adds r0, r6, 0
- movs r1, 0x5
- bl GetFontAttribute
- add r3, sp, 0xC
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- adds r0, r6, 0
- movs r1, 0x6
- bl GetFontAttribute
- add r3, sp, 0xC
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- adds r0, r6, 0
- movs r1, 0x7
- bl GetFontAttribute
- add r3, sp, 0xC
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- adds r0, r6, 0
- movs r1, 0x4
- bl GetFontAttribute
- add r1, sp, 0xC
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- adds r0, r6, 0
- movs r1, 0x2
- bl GetFontAttribute
- add r1, sp, 0xC
- strb r0, [r1, 0xA]
- adds r0, r6, 0
- movs r1, 0x3
- bl GetFontAttribute
- add r1, sp, 0xC
- strb r0, [r1, 0xB]
- adds r0, r1, 0
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- adds r0, r6, 0
- movs r1, 0x1
- bl GetFontAttribute
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r7]
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- mov r0, r10
- str r0, [sp, 0x8]
- adds r0, r1, 0
- adds r1, r6, 0
- mov r2, r8
- mov r3, r9
- bl sub_81983AC
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8198AF8
-
- thumb_func_start sub_8198C34
-sub_8198C34: @ 8198C34
- push {lr}
- sub sp, 0xC
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r3, 24
- str r2, [sp]
- str r3, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- movs r3, 0x1
- bl sub_8198AF8
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8198C34
-
- thumb_func_start sub_8198C58
-sub_8198C58: @ 8198C58
- push {r4,lr}
- bl ProcessMenuInputNoWrapAround
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _08198C6E
- bl sub_8198C78
-_08198C6E:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8198C58
-
- thumb_func_start sub_8198C78
-sub_8198C78: @ 8198C78
- push {r4,lr}
- ldr r4, =gUnknown_0203CD9F
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8198070
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8198C78
-
- thumb_func_start sub_8198C94
-sub_8198C94: @ 8198C94
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x40]
- ldr r5, [sp, 0x44]
- ldr r6, [sp, 0x48]
- ldr r7, [sp, 0x4C]
- mov r8, r7
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x18]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x1C]
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- cmp r5, r9
- bcs _08198D3A
-_08198CE0:
- movs r4, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bcs _08198D30
- ldr r7, [sp, 0x1C]
- adds r0, r7, 0
- muls r0, r5
- ldr r1, [sp, 0x14]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r7, r0, 24
-_08198CF8:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- lsls r0, 3
- ldr r1, [sp, 0x50]
- adds r0, r1
- ldr r2, [r0]
- ldr r0, [sp, 0x18]
- adds r3, r0, 0
- muls r3, r4
- ldr r1, [sp, 0x10]
- adds r3, r1, r3
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r0, r10
- ldr r1, [sp, 0xC]
- bl PrintTextOnWindow
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08198CF8
-_08198D30:
- mov r7, r8
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, r9
- bcc _08198CE0
-_08198D3A:
- mov r0, r10
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198C94
-
- thumb_func_start sub_8198D54
-sub_8198D54: @ 8198D54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- mov r9, r0
- mov r8, r1
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r6, [sp, 0x34]
- ldr r3, [sp, 0x38]
- ldr r7, [sp, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0
- str r3, [sp, 0x14]
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- ldr r3, [sp, 0x14]
- str r3, [sp, 0xC]
- str r7, [sp, 0x10]
- mov r0, r9
- mov r1, r8
- movs r3, 0
- bl sub_8198C94
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198D54
-
- thumb_func_start sub_8198DBC
-sub_8198DBC: @ 8198DBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x40]
- ldr r5, [sp, 0x44]
- ldr r6, [sp, 0x48]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x1C]
- lsls r5, 24
- lsrs r5, 24
- mov r8, r5
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- mov r0, sp
- ldrb r1, [r0, 0x10]
- strb r1, [r0, 0x4]
- strb r7, [r0, 0x5]
- adds r0, r7, 0
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- adds r0, r7, 0
- movs r1, 0x6
- bl GetFontAttribute
- mov r3, sp
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- adds r0, r7, 0
- movs r1, 0x7
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- adds r0, r7, 0
- movs r1, 0x4
- bl GetFontAttribute
- mov r1, sp
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- adds r0, r7, 0
- movs r1, 0x2
- bl GetFontAttribute
- mov r1, sp
- strb r0, [r1, 0xA]
- adds r0, r7, 0
- movs r1, 0x3
- bl GetFontAttribute
- mov r1, sp
- strb r0, [r1, 0xB]
- movs r6, 0
- cmp r6, r10
- bcs _08198EDE
-_08198E7A:
- movs r5, 0
- adds r2, r6, 0x1
- mov r9, r2
- cmp r5, r8
- bcs _08198ED4
- mov r4, sp
-_08198E86:
- mov r0, r8
- muls r0, r6
- adds r0, r5
- ldr r1, [sp, 0x50]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 3
- ldr r2, [sp, 0x4C]
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- ldr r1, [sp, 0x1C]
- adds r0, r1, 0
- muls r0, r5
- ldr r2, [sp, 0x14]
- adds r0, r2, r0
- strb r0, [r4, 0x6]
- adds r0, r7, 0
- movs r1, 0x1
- bl GetFontAttribute
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [sp, 0x18]
- adds r1, r0, r1
- strb r1, [r4, 0x7]
- ldrb r0, [r4, 0x6]
- strb r0, [r4, 0x8]
- strb r1, [r4, 0x9]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _08198E86
-_08198ED4:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, r10
- bcc _08198E7A
-_08198EDE:
- ldr r0, [sp, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198DBC
-
- thumb_func_start sub_8198EF8
-sub_8198EF8: @ 8198EF8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- mov r8, r0
- adds r3, r1, 0
- adds r4, r2, 0
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r3, 0
- movs r1, 0
- str r3, [sp, 0x14]
- bl GetFontAttribute
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- str r7, [sp, 0xC]
- ldr r0, [sp, 0x3C]
- str r0, [sp, 0x10]
- mov r0, r8
- ldr r3, [sp, 0x14]
- adds r1, r3, 0
- movs r3, 0
- bl sub_8198DBC
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8198EF8
-
- thumb_func_start sub_8198F58
-sub_8198F58: @ 8198F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, [sp, 0x20]
- mov r12, r4
- ldr r4, [sp, 0x24]
- mov r8, r4
- ldr r4, [sp, 0x28]
- mov r9, r4
- ldr r4, [sp, 0x2C]
- mov r10, r4
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r7, r5, 24
- ldr r5, =gUnknown_0203CD90
- movs r6, 0
- strb r2, [r5]
- strb r3, [r5, 0x1]
- strb r6, [r5, 0x3]
- subs r4, 0x1
- strb r4, [r5, 0x4]
- strb r0, [r5, 0x5]
- strb r1, [r5, 0x6]
- mov r0, r12
- strb r0, [r5, 0x7]
- mov r4, r8
- strb r4, [r5, 0x8]
- mov r0, r9
- strb r0, [r5, 0x9]
- mov r4, r10
- strb r4, [r5, 0xA]
- cmp r7, 0
- blt _08198FAC
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- cmp r7, r0
- ble _08198FB4
-_08198FAC:
- strb r6, [r5, 0x2]
- b _08198FB6
- .pool
-_08198FB4:
- strb r7, [r5, 0x2]
-_08198FB6:
- movs r0, 0
- movs r1, 0
- bl sub_8199134
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8198F58
-
- thumb_func_start sub_8198FD4
-sub_8198FD4: @ 8198FD4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x20
- mov r9, r0
- mov r8, r1
- mov r10, r2
- ldr r6, [sp, 0x3C]
- ldr r4, [sp, 0x40]
- ldr r5, [sp, 0x44]
- ldr r2, [sp, 0x48]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r3, 24
- lsrs r3, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- movs r1, 0x1
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- muls r1, r5
- lsls r1, 24
- lsrs r1, 24
- str r6, [sp]
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r2, [sp, 0x18]
- str r2, [sp, 0x14]
- mov r0, r9
- mov r1, r8
- mov r2, r10
- ldr r3, [sp, 0x1C]
- bl sub_8198F58
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8198FD4
-
- thumb_func_start sub_8199060
-sub_8199060: @ 8199060
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r1, 24
- lsrs r7, r0, 24
- ldr r5, =gUnknown_0203CD90
- ldrb r0, [r5, 0x6]
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- mov r9, r0
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldrb r0, [r5, 0x6]
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldrb r0, [r5, 0x9]
- mov r10, r0
- mov r0, r8
- mov r1, r10
- bl __umodsi3
- ldrb r1, [r5, 0x7]
- adds r4, r1, 0
- muls r4, r0
- ldrb r1, [r5]
- adds r4, r1
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- mov r1, r10
- bl __udivsi3
- ldrb r1, [r5, 0x8]
- adds r3, r1, 0
- muls r3, r0
- ldrb r0, [r5, 0x1]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r5, 0x5]
- mov r1, r9
- str r1, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x11
- adds r2, r4, 0
- bl FillWindowPixelRect
- ldrb r6, [r5, 0x9]
- adds r0, r7, 0
- adds r1, r6, 0
- bl __umodsi3
- ldrb r1, [r5, 0x7]
- adds r4, r1, 0
- muls r4, r0
- ldrb r0, [r5]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r1, r6, 0
- bl __udivsi3
- ldrb r1, [r5, 0x8]
- adds r3, r1, 0
- muls r3, r0
- ldrb r1, [r5, 0x1]
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r5, 0x5]
- ldrb r1, [r5, 0x6]
- ldr r2, =gText_SelectorArrow3
- str r3, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- adds r3, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8199060
-
- thumb_func_start sub_8199134
-sub_8199134: @ 8199134
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r1, =gUnknown_0203CD90
- ldrb r2, [r1, 0x2]
- mov r8, r2
- lsls r0, 24
- asrs r6, r0, 24
- adds r5, r1, 0
- cmp r6, 0
- beq _0819918A
- movs r7, 0x2
- ldrsb r7, [r5, r7]
- ldrb r4, [r5, 0x9]
- adds r0, r7, 0
- adds r1, r4, 0
- bl __modsi3
- adds r0, r6
- cmp r0, 0
- bge _08199174
- adds r0, r4, 0
- adds r0, 0xFF
- add r0, r8
- b _08199188
- .pool
-_08199174:
- cmp r0, r4
- blt _08199184
- adds r0, r7, 0
- adds r1, r4, 0
- bl __divsi3
- muls r0, r4
- b _08199188
-_08199184:
- mov r1, r8
- adds r0, r6, r1
-_08199188:
- strb r0, [r5, 0x2]
-_0819918A:
- mov r2, r9
- lsls r0, r2, 24
- asrs r6, r0, 24
- cmp r6, 0
- beq _081991CE
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- ldrb r4, [r5, 0x9]
- adds r1, r4, 0
- bl __divsi3
- adds r1, r0, r6
- cmp r1, 0
- bge _081991B2
- ldrb r0, [r5, 0xA]
- subs r0, 0x1
- muls r0, r4
- ldrb r1, [r5, 0x2]
- adds r0, r1
- b _081991CC
-_081991B2:
- ldrb r0, [r5, 0xA]
- cmp r1, r0
- blt _081991C4
- subs r0, 0x1
- adds r1, r4, 0
- muls r1, r0
- ldrb r0, [r5, 0x2]
- subs r0, r1
- b _081991CC
-_081991C4:
- adds r0, r4, 0
- muls r0, r6
- ldrb r2, [r5, 0x2]
- adds r0, r2
-_081991CC:
- strb r0, [r5, 0x2]
-_081991CE:
- movs r1, 0x2
- ldrsb r1, [r5, r1]
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bgt _081991E4
- ldrb r1, [r5, 0x2]
- mov r0, r8
- bl sub_8199060
- b _081991E8
-_081991E4:
- mov r0, r8
- strb r0, [r5, 0x2]
-_081991E8:
- ldrb r0, [r5, 0x2]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8199134
-
- thumb_func_start sub_81991F8
-sub_81991F8: @ 81991F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r1, =gUnknown_0203CD90
- ldrb r7, [r1, 0x2]
- lsls r0, 24
- asrs r4, r0, 24
- adds r5, r1, 0
- cmp r4, 0
- beq _0819922C
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- ldrb r6, [r5, 0x9]
- adds r1, r6, 0
- bl __modsi3
- adds r0, r4
- cmp r0, 0
- blt _0819922C
- cmp r0, r6
- bge _0819922C
- adds r0, r4, r7
- strb r0, [r5, 0x2]
-_0819922C:
- mov r1, r8
- lsls r0, r1, 24
- asrs r4, r0, 24
- cmp r4, 0
- beq _08199258
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- ldrb r6, [r5, 0x9]
- adds r1, r6, 0
- bl __divsi3
- adds r0, r4
- cmp r0, 0
- blt _08199258
- ldrb r1, [r5, 0xA]
- cmp r0, r1
- bge _08199258
- adds r0, r6, 0
- muls r0, r4
- ldrb r1, [r5, 0x2]
- adds r0, r1
- strb r0, [r5, 0x2]
-_08199258:
- movs r1, 0x2
- ldrsb r1, [r5, r1]
- movs r0, 0x4
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bgt _08199274
- ldrb r1, [r5, 0x2]
- adds r0, r7, 0
- bl sub_8199060
- b _08199276
- .pool
-_08199274:
- strb r7, [r5, 0x2]
-_08199276:
- ldrb r0, [r5, 0x2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81991F8
-
- thumb_func_start sub_8199284
-sub_8199284: @ 8199284
- push {r4,lr}
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081992AC
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- b _0819932C
- .pool
-_081992AC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081992BA
- movs r0, 0x1
- negs r0, r0
- b _0819932C
-_081992BA:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _081992D0
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- b _08199324
-_081992D0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081992E4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- b _08199324
-_081992E4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _081992F8
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08199304
-_081992F8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _08199322
-_08199304:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0819931A
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08199328
-_0819931A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_08199322:
- movs r1, 0
-_08199324:
- bl sub_8199134
-_08199328:
- movs r0, 0x2
- negs r0, r0
-_0819932C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8199284
-
- thumb_func_start sub_8199334
-sub_8199334: @ 8199334
- push {r4-r6,lr}
- ldr r5, =gUnknown_0203CD90
- ldrb r4, [r5, 0x2]
- ldr r6, =gMain
- ldrh r1, [r6, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0819935C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- b _081993D2
- .pool
-_0819935C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819936A
- movs r0, 0x1
- negs r0, r0
- b _081993D2
-_0819936A:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0819937A
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- b _081993BC
-_0819937A:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08199388
- movs r0, 0
- movs r1, 0x1
- b _081993BC
-_08199388:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0819939C
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081993A2
-_0819939C:
- movs r0, 0x1
- negs r0, r0
- b _081993BA
-_081993A2:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _081993B8
- bl GetLRKeysState
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _081993CE
-_081993B8:
- movs r0, 0x1
-_081993BA:
- movs r1, 0
-_081993BC:
- bl sub_81991F8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _081993CE
- movs r0, 0x5
- bl PlaySE
-_081993CE:
- movs r0, 0x2
- negs r0, r0
-_081993D2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8199334
-
- thumb_func_start sub_81993D8
-sub_81993D8: @ 81993D8
- push {r4,r5,lr}
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08199400
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- b _0819947C
- .pool
-_08199400:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0819940E
- movs r0, 0x1
- negs r0, r0
- b _0819947C
-_0819940E:
- ldrh r0, [r4, 0x30]
- movs r5, 0xF0
- adds r1, r5, 0
- ands r1, r0
- cmp r1, 0x40
- bne _08199428
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- b _08199474
-_08199428:
- cmp r1, 0x80
- bne _08199438
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- b _08199474
-_08199438:
- cmp r1, 0x20
- beq _08199448
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08199454
-_08199448:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _08199472
-_08199454:
- ldrh r1, [r4, 0x30]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x10
- beq _0819946A
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08199478
-_0819946A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_08199472:
- movs r1, 0
-_08199474:
- bl sub_8199134
-_08199478:
- movs r0, 0x2
- negs r0, r0
-_0819947C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81993D8
-
- thumb_func_start sub_8199484
-sub_8199484: @ 8199484
- push {r4-r6,lr}
- ldr r6, =gUnknown_0203CD90
- ldrb r4, [r6, 0x2]
- ldr r5, =gMain
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081994AC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- ldrsb r0, [r6, r0]
- b _0819951E
- .pool
-_081994AC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081994BA
- movs r0, 0x1
- negs r0, r0
- b _0819951E
-_081994BA:
- ldrh r0, [r5, 0x30]
- movs r6, 0xF0
- adds r1, r6, 0
- ands r1, r0
- cmp r1, 0x40
- bne _081994CE
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- b _08199508
-_081994CE:
- cmp r1, 0x80
- bne _081994D8
- movs r0, 0
- movs r1, 0x1
- b _08199508
-_081994D8:
- cmp r1, 0x20
- beq _081994E8
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081994EE
-_081994E8:
- movs r0, 0x1
- negs r0, r0
- b _08199506
-_081994EE:
- ldrh r1, [r5, 0x30]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x10
- beq _08199504
- bl sub_812210C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0819951A
-_08199504:
- movs r0, 0x1
-_08199506:
- movs r1, 0
-_08199508:
- bl sub_81991F8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0819951A
- movs r0, 0x5
- bl PlaySE
-_0819951A:
- movs r0, 0x2
- negs r0, r0
-_0819951E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8199484
-
- thumb_func_start InitMenuInUpperLeftCorner
-@ int InitMenuInUpperLeftCorner(s8 windowId, s8 numItems, u8 initialCursorPos, bool doNotPlaySoundWhenAPressed)
-InitMenuInUpperLeftCorner: @ 8199524
- push {r4-r6,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r4, =gUnknown_0203CD90
- movs r6, 0
- strb r6, [r4]
- movs r2, 0x1
- strb r2, [r4, 0x1]
- strb r6, [r4, 0x3]
- subs r1, 0x1
- strb r1, [r4, 0x4]
- strb r0, [r4, 0x5]
- strb r2, [r4, 0x6]
- movs r0, 0x10
- strb r0, [r4, 0x8]
- strb r3, [r4, 0xB]
- cmp r5, 0
- blt _08199554
- movs r0, 0x4
- ldrsb r0, [r4, r0]
- cmp r5, r0
- ble _0819955C
-_08199554:
- strb r6, [r4, 0x2]
- b _0819955E
- .pool
-_0819955C:
- strb r5, [r4, 0x2]
-_0819955E:
- movs r0, 0
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end InitMenuInUpperLeftCorner
-
- thumb_func_start InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-InitMenuInUpperLeftCornerPlaySoundWhenAPressed: @ 8199570
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- bl InitMenuInUpperLeftCorner
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-
- thumb_func_start PrintMenuTable
-PrintMenuTable: @ 819958C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r5, 0
- cmp r5, r7
- bcs _081995D0
- movs r6, 0x80
- lsls r6, 17
- adds r4, r2, 0
-_081995AA:
- ldr r2, [r4]
- lsrs r0, r6, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r0, r8
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0x80
- lsls r0, 21
- adds r6, r0
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, r7
- bcc _081995AA
-_081995D0:
- mov r0, r8
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PrintMenuTable
-
- thumb_func_start sub_81995E4
-sub_81995E4: @ 81995E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r2
- mov r8, r3
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- mov r0, sp
- movs r1, 0
- mov r10, r1
- strb r6, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x5]
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- movs r0, 0x1
- movs r1, 0x6
- bl GetFontAttribute
- mov r3, sp
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x7
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x4
- bl GetFontAttribute
- mov r1, sp
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- mov r0, sp
- mov r1, r10
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- movs r1, 0x8
- strb r1, [r0, 0x6]
- strb r1, [r0, 0x8]
- movs r4, 0
- cmp r4, r7
- bcs _081996A6
- mov r5, sp
-_0819967C:
- mov r1, r8
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- lsls r0, r4, 4
- adds r0, 0x1
- strb r0, [r5, 0x7]
- strb r0, [r5, 0x9]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _0819967C
-_081996A6:
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81995E4
-
- thumb_func_start CreateYesNoMenu
-@ void CreateYesNoMenu(struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos)
-CreateYesNoMenu: @ 81996C0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gUnknown_0203CD9F
- mov r8, r1
- bl AddWindow
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl SetWindowBorderStyle
- ldr r0, =gText_YesNo
- str r0, [sp]
- mov r1, sp
- mov r2, r8
- ldrb r0, [r2]
- movs r2, 0
- mov r9, r2
- strb r0, [r1, 0x4]
- mov r0, sp
- movs r2, 0x1
- strb r2, [r0, 0x5]
- movs r0, 0x8
- strb r0, [r1, 0x6]
- mov r0, sp
- strb r2, [r0, 0x7]
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- movs r0, 0x1
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- movs r0, 0x1
- movs r1, 0x6
- bl GetFontAttribute
- mov r3, sp
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x7
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x4
- bl GetFontAttribute
- mov r1, sp
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- mov r0, sp
- mov r1, r9
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x2
- adds r2, r6, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateYesNoMenu
-
- thumb_func_start sub_81997AC
-sub_81997AC: @ 81997AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xC]
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- movs r7, 0
- cmp r7, r3
- bcs _08199824
-_081997D4:
- movs r4, 0
- adds r0, r7, 0x1
- mov r9, r0
- cmp r4, r6
- bcs _0819981C
- lsls r0, r7, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0x80
- lsls r5, 20
-_081997EC:
- adds r0, r7, 0
- muls r0, r6
- adds r0, r4
- lsls r0, 3
- ldr r1, [sp, 0x34]
- adds r0, r1
- ldr r2, [r0]
- lsrs r3, r5, 24
- mov r0, r8
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r0, r10
- movs r1, 0x1
- bl PrintTextOnWindow
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- adds r5, r0
- adds r4, 0x1
- cmp r4, r6
- bcc _081997EC
-_0819981C:
- mov r7, r9
- ldr r4, [sp, 0x10]
- cmp r7, r4
- bcc _081997D4
-_08199824:
- mov r0, r10
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81997AC
-
- thumb_func_start sub_819983C
-sub_819983C: @ 819983C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- mov r0, sp
- movs r6, 0
- ldrb r1, [r0, 0x10]
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x5]
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r5, 0xF
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- movs r0, 0x1
- movs r1, 0x6
- bl GetFontAttribute
- mov r3, sp
- adds r1, r5, 0
- ands r1, r0
- ldrb r2, [r3, 0xD]
- movs r4, 0x10
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x7
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xD]
- adds r1, r5, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- movs r0, 0x1
- movs r1, 0x4
- bl GetFontAttribute
- mov r1, sp
- ands r5, r0
- ldrb r0, [r1, 0xC]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0xC]
- mov r0, sp
- strb r6, [r0, 0xA]
- strb r6, [r0, 0xB]
- movs r7, 0
- cmp r7, r10
- bcs _0819992A
-_081998D6:
- movs r5, 0
- adds r2, r7, 0x1
- mov r9, r2
- cmp r5, r8
- bcs _08199920
- mov r4, sp
- lsls r0, r7, 4
- adds r6, r0, 0x1
-_081998E6:
- mov r0, r8
- muls r0, r7
- adds r0, r5
- ldr r1, [sp, 0x3C]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 3
- ldr r2, [sp, 0x38]
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- ldr r1, [sp, 0x14]
- adds r0, r1, 0
- muls r0, r5
- adds r0, 0x8
- strb r0, [r4, 0x6]
- strb r6, [r4, 0x7]
- strb r0, [r4, 0x8]
- strb r6, [r4, 0x9]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- bl AddTextPrinter
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _081998E6
-_08199920:
- mov r2, r9
- lsls r0, r2, 24
- lsrs r7, r0, 24
- cmp r7, r10
- bcc _081998D6
-_0819992A:
- ldr r0, [sp, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819983C
-
- thumb_func_start sub_8199944
-sub_8199944: @ 8199944
- push {r4-r7,lr}
- ldr r4, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r7, r4, 24
- ldr r6, =gUnknown_0203CD90
- movs r4, 0
- mov r12, r4
- mov r4, r12
- strb r4, [r6]
- movs r5, 0x1
- strb r5, [r6, 0x1]
- strb r4, [r6, 0x3]
- adds r4, r2, 0
- muls r4, r3
- subs r4, 0x1
- strb r4, [r6, 0x4]
- strb r0, [r6, 0x5]
- strb r5, [r6, 0x6]
- strb r1, [r6, 0x7]
- movs r0, 0x10
- strb r0, [r6, 0x8]
- strb r2, [r6, 0x9]
- strb r3, [r6, 0xA]
- cmp r7, 0
- blt _08199986
- movs r0, 0x4
- ldrsb r0, [r6, r0]
- cmp r7, r0
- ble _08199990
-_08199986:
- mov r0, r12
- strb r0, [r6, 0x2]
- b _08199992
- .pool
-_08199990:
- strb r7, [r6, 0x2]
-_08199992:
- movs r0, 0
- movs r1, 0
- bl sub_8199134
- ldr r0, =gUnknown_0203CD90
- ldrb r0, [r0, 0x2]
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8199944
-
- thumb_func_start clear_scheduled_bg_copies_to_vram
-@ void clear_scheduled_bg_copies_to_vram()
-clear_scheduled_bg_copies_to_vram: @ 81999A8
- push {lr}
- ldr r0, =gUnknown_0203CDA4
- movs r1, 0
- movs r2, 0x4
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end clear_scheduled_bg_copies_to_vram
-
- thumb_func_start schedule_bg_copy_tilemap_to_vram
-@ void schedule_bg_copy_tilemap_to_vram(u8 bg_id)
-schedule_bg_copy_tilemap_to_vram: @ 81999BC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203CDA4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end schedule_bg_copy_tilemap_to_vram
-
- thumb_func_start do_scheduled_bg_tilemap_copies_to_vram
-@ void do_scheduled_bg_tilemap_copies_to_vram()
-do_scheduled_bg_tilemap_copies_to_vram: @ 81999D0
- push {r4,lr}
- ldr r4, =gUnknown_0203CDA4
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _081999E4
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- strb r0, [r4]
-_081999E4:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bne _081999F4
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- strb r0, [r4, 0x1]
-_081999F4:
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- bne _08199A04
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- strb r0, [r4, 0x2]
-_08199A04:
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _08199A14
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- strb r0, [r4, 0x3]
-_08199A14:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end do_scheduled_bg_tilemap_copies_to_vram
-
- thumb_func_start reset_temp_tile_data_buffers
-@ void reset_temp_tile_data_buffers()
-reset_temp_tile_data_buffers: @ 8199A20
- push {lr}
- ldr r3, =gUnknown_0203CDA8
- ldr r1, =gUnknown_0203CDAC
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x7C
-_08199A2C:
- str r2, [r0]
- subs r0, 0x4
- cmp r0, r1
- bge _08199A2C
- movs r0, 0
- strh r0, [r3]
- pop {r0}
- bx r0
- .pool
- thumb_func_end reset_temp_tile_data_buffers
-
- thumb_func_start free_temp_tile_data_buffers_if_possible
-free_temp_tile_data_buffers_if_possible: @ 8199A44
- push {r4-r6,lr}
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08199A88
- ldr r1, =gUnknown_0203CDA8
- ldrh r0, [r1]
- cmp r0, 0
- beq _08199A7C
- movs r4, 0
- ldrh r1, [r1]
- cmp r4, r1
- bge _08199A76
- ldr r5, =gUnknown_0203CDAC
- movs r6, 0
-_08199A64:
- ldr r0, [r5]
- bl Free
- stm r5!, {r6}
- adds r4, 0x1
- ldr r0, =gUnknown_0203CDA8
- ldrh r0, [r0]
- cmp r4, r0
- blt _08199A64
-_08199A76:
- ldr r1, =gUnknown_0203CDA8
- movs r0, 0
- strh r0, [r1]
-_08199A7C:
- movs r0, 0
- b _08199A8A
- .pool
-_08199A88:
- movs r0, 0x1
-_08199A8A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end free_temp_tile_data_buffers_if_possible
-
- thumb_func_start decompress_and_copy_tile_data_to_vram
-@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, int src, int size, u16 offset, u8 mode)
-decompress_and_copy_tile_data_to_vram: @ 8199A90
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r6, =gUnknown_0203CDA8
- ldrh r0, [r6]
- cmp r0, 0x1F
- bhi _08199AF8
- adds r0, r4, 0
- add r1, sp, 0x4
- bl malloc_and_decompress
- adds r4, r0, 0
- cmp r5, 0
- bne _08199AC8
- ldr r5, [sp, 0x4]
-_08199AC8:
- cmp r4, 0
- beq _08199AEC
- lsls r2, r5, 16
- lsrs r2, 16
- str r7, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r3, r9
- bl copy_decompressed_tile_data_to_vram
- ldr r2, =gUnknown_0203CDAC
- ldrh r0, [r6]
- adds r1, r0, 0x1
- strh r1, [r6]
- lsls r0, 16
- lsrs r0, 14
- adds r0, r2
- str r4, [r0]
-_08199AEC:
- adds r0, r4, 0
- b _08199AFA
- .pool
-_08199AF8:
- movs r0, 0
-_08199AFA:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end decompress_and_copy_tile_data_to_vram
-
- thumb_func_start copy_decompressed_tile_data_to_vram_autofree
-@ void copy_decompressed_tile_data_to_vram_autofree(u8 bg_id, int src, u16 size, u16 offset, u8 mode)
-copy_decompressed_tile_data_to_vram_autofree: @ 8199B08
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r5, r2, 0
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r1, 0
- add r1, sp, 0x4
- bl malloc_and_decompress
- adds r6, r0, 0
- cmp r5, 0
- bne _08199B36
- ldr r5, [sp, 0x4]
-_08199B36:
- cmp r6, 0
- beq _08199B6E
- ldr r0, =task_free_buf_after_copying_tile_data_to_vram
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r5, 16
- lsrs r2, 16
- str r7, [sp]
- mov r0, r8
- adds r1, r6, 0
- mov r3, r9
- bl copy_decompressed_tile_data_to_vram
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl SetWordTaskArg
-_08199B6E:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end copy_decompressed_tile_data_to_vram_autofree
-
- thumb_func_start task_free_buf_after_copying_tile_data_to_vram
-@ void task_free_buf_after_copying_tile_data_to_vram(int task_id)
-task_free_buf_after_copying_tile_data_to_vram: @ 8199B84
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl CheckForSpaceForDma3Request
- lsls r0, 16
- cmp r0, 0
- bne _08199BB4
- adds r0, r4, 0
- movs r1, 0x1
- bl GetWordTaskArg
- bl Free
- adds r0, r4, 0
- bl DestroyTask
-_08199BB4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_free_buf_after_copying_tile_data_to_vram
-
- thumb_func_start malloc_and_decompress
-@ void *malloc_and_decompress(void *src, int *size)
-malloc_and_decompress: @ 8199BC0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r0, [r5, 0x1]
- strb r0, [r1]
- ldrb r0, [r5, 0x2]
- strb r0, [r1, 0x1]
- ldrb r0, [r5, 0x3]
- strb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x3]
- ldr r0, [r1]
- bl Alloc
- adds r4, r0, 0
- cmp r4, 0
- beq _08199BE8
- adds r0, r5, 0
- adds r1, r4, 0
- bl LZ77UnCompWram
-_08199BE8:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end malloc_and_decompress
-
- thumb_func_start copy_decompressed_tile_data_to_vram
-@ s16 copy_decompressed_tile_data_to_vram(u8 bg_id, int src, u16 size, u16 offset, u8 mode)
-copy_decompressed_tile_data_to_vram: @ 8199BF0
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, [sp, 0x8]
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _08199C18
- cmp r1, 0x1
- beq _08199C20
- ldr r0, =0x0000ffff
- b _08199C2A
- .pool
-_08199C18:
- adds r1, r4, 0
- bl LoadBgTiles
- b _08199C26
-_08199C20:
- adds r1, r4, 0
- bl LoadBgTilemap
-_08199C26:
- lsls r0, 16
- lsrs r0, 16
-_08199C2A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end copy_decompressed_tile_data_to_vram
-
- thumb_func_start sub_8199C30
-sub_8199C30: @ 8199C30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r2, 0
- ldr r4, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- bl GetBgTilemapBuffer
- mov r8, r0
- adds r0, r5, r4
- cmp r5, r0
- bge _08199CA8
- mov r9, r0
-_08199C6E:
- ldr r3, [sp]
- ldr r1, [sp, 0x4]
- adds r0, r3, r1
- adds r7, r5, 0x1
- cmp r3, r0
- bge _08199CA0
- lsls r6, r5, 5
- ldr r1, =0x00000fff
- mov r12, r1
- mov r1, r10
- lsls r5, r1, 12
- adds r4, r0, 0
-_08199C86:
- adds r1, r6, r3
- lsls r1, 1
- add r1, r8
- ldrh r2, [r1]
- mov r0, r12
- ands r0, r2
- orrs r0, r5
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- blt _08199C86
-_08199CA0:
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, r9
- blt _08199C6E
-_08199CA8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8199C30
-
- thumb_func_start sub_8199CBC
-sub_8199CBC: @ 8199CBC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r1
- ldr r1, [sp, 0x24]
- ldr r4, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- bl GetBgTilemapBuffer
- adds r7, r0, 0
- movs r0, 0
- cmp r0, r8
- bcs _08199D2A
-_08199CF4:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r5
- bcs _08199D22
- adds r4, r0, 0
- muls r4, r5
- ldr r1, [sp]
- adds r0, r1
- lsls r3, r0, 5
-_08199D06:
- adds r1, r4, r2
- lsls r1, 1
- add r1, r10
- adds r0, r3, r2
- add r0, r9
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r5
- bcc _08199D06
-_08199D22:
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, r8
- bcc _08199CF4
-_08199D2A:
- 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_8199CBC
-
- thumb_func_start sub_8199D3C
-sub_8199D3C: @ 8199D3C
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x14]
- adds r4, r2, 0
- muls r4, r3
- cmp r0, 0x1
- bne _08199D64
- adds r3, r6, 0
- movs r2, 0
- cmp r2, r4
- bge _08199D8C
-_08199D54:
- adds r1, r3, r2
- ldrb r0, [r1]
- adds r0, r5
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, r4
- blt _08199D54
- b _08199D8C
-_08199D64:
- cmp r4, 0
- ble _08199D8C
- movs r0, 0xFC
- lsls r0, 8
- mov r12, r0
- ldr r0, =0x000003ff
- adds r7, r0, 0
- adds r3, r6, 0
- adds r2, r4, 0
-_08199D76:
- ldrh r0, [r3]
- mov r1, r12
- ands r1, r0
- adds r0, r5
- ands r0, r7
- orrs r1, r0
- strh r1, [r3]
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08199D76
-_08199D8C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8199D3C
-
- thumb_func_start sub_8199D98
-sub_8199D98: @ 8199D98
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_8199D98
-
- thumb_func_start sub_8199DF0
-sub_8199DF0: @ 8199DF0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r2
- mov r9, r3
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0x4
- bl GetBgAttribute
- lsls r0, 16
- movs r7, 0x40
- cmp r0, 0
- bne _08199E16
- movs r7, 0x20
-_08199E16:
- adds r0, r5, 0
- movs r1, 0x1
- bl GetBgAttribute
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl GetBgAttribute
- lsls r4, 16
- lsrs r4, 2
- lsls r0, 16
- lsrs r0, 16
- add r0, r8
- muls r0, r7
- adds r4, r0
- lsls r0, r6, 24
- lsls r1, r6, 16
- orrs r0, r1
- lsls r1, r6, 8
- orrs r0, r1
- orrs r0, r6
- movs r1, 0xC0
- lsls r1, 19
- adds r4, r1
- mov r2, r9
- muls r2, r7
- lsls r2, 16
- lsrs r2, 16
- adds r1, r4, 0
- movs r3, 0x1
- bl RequestDma3Fill
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8199DF0
-
- thumb_func_start box_print
-box_print: @ 8199E64
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r1, 0
- ldr r6, [sp, 0x20]
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x28]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r1, [sp]
- mov r1, sp
- strb r0, [r1, 0x4]
- mov r0, sp
- strb r4, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r3, [r0, 0x7]
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x7]
- strb r0, [r1, 0x9]
- adds r0, r4, 0
- movs r1, 0x2
- bl GetFontAttribute
- mov r1, sp
- strb r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x3
- bl GetFontAttribute
- mov r1, sp
- strb r0, [r1, 0xB]
- mov r3, sp
- ldrb r2, [r3, 0xC]
- movs r1, 0x10
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- mov r2, sp
- ldrb r0, [r6, 0x1]
- lsls r0, 4
- movs r4, 0xF
- strb r0, [r2, 0xC]
- ldrb r2, [r6]
- adds r0, r4, 0
- ands r0, r2
- ldrb r2, [r3, 0xD]
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xD]
- mov r2, sp
- ldrb r0, [r6, 0x2]
- lsls r0, 4
- ands r1, r4
- orrs r1, r0
- strb r1, [r2, 0xD]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end box_print
-
- thumb_func_start AddTextPrinterParametrized2
-@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, u8 speed, u8 *str)
-AddTextPrinterParametrized2: @ 8199EEC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r5, r1, 0
- ldr r1, [sp, 0x28]
- mov r8, r1
- ldr r1, [sp, 0x2C]
- mov r9, r1
- ldr r6, [sp, 0x30]
- ldr r1, [sp, 0x34]
- ldr r4, [sp, 0x38]
- str r4, [sp]
- mov r4, sp
- strb r0, [r4, 0x4]
- mov r0, sp
- strb r5, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r3, [r0, 0x7]
- mov r2, sp
- ldrb r0, [r0, 0x6]
- strb r0, [r2, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x7]
- strb r0, [r2, 0x9]
- mov r0, sp
- mov r2, r8
- strb r2, [r0, 0xA]
- mov r2, r9
- strb r2, [r0, 0xB]
- ldrb r3, [r4, 0xC]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r4, 0xC]
- mov r3, sp
- ldrb r0, [r6, 0x1]
- lsls r0, 4
- movs r5, 0xF
- strb r0, [r3, 0xC]
- ldrb r3, [r6]
- adds r0, r5, 0
- ands r0, r3
- ldrb r3, [r4, 0xD]
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xD]
- mov r3, sp
- ldrb r0, [r6, 0x2]
- lsls r0, 4
- ands r2, r5
- orrs r2, r0
- strb r2, [r3, 0xD]
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- movs r2, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end AddTextPrinterParametrized2
-
- thumb_func_start sub_8199F74
-sub_8199F74: @ 8199F74
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r1, 0
- ldr r4, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- mov r8, r1
- ldr r7, [sp, 0x34]
- ldr r5, [sp, 0x38]
- ldr r1, [sp, 0x3C]
- mov r9, r1
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- str r2, [sp]
- mov r1, sp
- strb r0, [r1, 0x4]
- mov r0, sp
- strb r6, [r0, 0x5]
- strb r3, [r0, 0x6]
- strb r4, [r0, 0x7]
- strb r3, [r0, 0x8]
- strb r4, [r0, 0x9]
- strb r5, [r0, 0xA]
- mov r1, r9
- strb r1, [r0, 0xB]
- mov r2, sp
- ldrb r1, [r2, 0xC]
- movs r5, 0x10
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0xC]
- adds r0, r6, 0
- movs r1, 0x5
- bl GetFontAttribute
- mov r3, sp
- lsls r0, 4
- ldrb r2, [r3, 0xC]
- movs r4, 0xF
- adds r1, r4, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
- adds r0, r6, 0
- movs r1, 0x6
- bl GetFontAttribute
- mov r2, sp
- adds r1, r4, 0
- ands r1, r0
- ldrb r0, [r2, 0xD]
- ands r5, r0
- orrs r5, r1
- strb r5, [r2, 0xD]
- adds r0, r6, 0
- movs r1, 0x7
- bl GetFontAttribute
- mov r2, sp
- lsls r0, 4
- ldrb r1, [r2, 0xD]
- ands r4, r1
- orrs r4, r0
- strb r4, [r2, 0xD]
- mov r0, sp
- mov r1, r8
- adds r2, r7, 0
- bl AddTextPrinter
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8199F74
-
- thumb_func_start sub_819A024
-sub_819A024: @ 819A024
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r2, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- ldrb r0, [r3]
- ldr r6, =gStringVar4
- cmp r0, 0xFF
- beq _0819A04C
-_0819A042:
- adds r2, 0x1
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0819A042
-_0819A04C:
- adds r0, r6, 0
- bl StringExpandPlaceholders
- lsls r3, r4, 24
- lsrs r3, 24
- lsls r0, r5, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819A024
-
- thumb_func_start sub_819A080
-sub_819A080: @ 819A080
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [sp, 0x48]
- ldr r4, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x8]
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r2, [sp, 0x4]
- ldrh r0, [r2, 0x4]
- ldr r2, [sp, 0xC]
- subs r0, r2
- ldr r2, [sp, 0x8]
- adds r2, r1, r2
- str r2, [sp, 0x10]
- cmp r0, r1
- bge _0819A0CC
- ldr r1, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x10]
-_0819A0CC:
- ldr r2, [sp, 0x4]
- ldrh r1, [r2, 0x6]
- subs r0, r1, r4
- cmp r0, r5
- bge _0819A0DE
- adds r0, r3, r1
- subs r0, r4
- str r0, [sp, 0x14]
- b _0819A0E2
-_0819A0DE:
- adds r5, r3, r5
- str r5, [sp, 0x14]
-_0819A0E2:
- ldr r0, [sp]
- ldrh r1, [r0, 0x4]
- movs r2, 0x7
- adds r0, r1, 0
- ands r0, r2
- adds r1, r0
- asrs r1, 3
- str r1, [sp, 0x18]
- ldr r0, [sp, 0x4]
- ldrh r1, [r0, 0x4]
- adds r0, r1, 0
- ands r0, r2
- adds r1, r0
- asrs r1, 3
- str r1, [sp, 0x1C]
- mov r12, r3
- mov r8, r4
- ldr r1, [sp, 0x14]
- cmp r12, r1
- blt _0819A10C
- b _0819A24A
-_0819A10C:
- ldr r5, [sp, 0x8]
- ldr r6, [sp, 0xC]
- mov r2, r12
- adds r2, 0x1
- str r2, [sp, 0x20]
- mov r0, r8
- adds r0, 0x1
- str r0, [sp, 0x24]
- ldr r1, [sp, 0x10]
- cmp r5, r1
- blt _0819A124
- b _0819A23A
-_0819A124:
- movs r7, 0x1
- movs r2, 0xF0
- mov r10, r2
- movs r0, 0xF
- mov r9, r0
-_0819A12E:
- asrs r0, r5, 1
- movs r1, 0x3
- ands r0, r1
- ldr r2, [sp]
- ldr r1, [r2]
- adds r1, r0
- asrs r0, r5, 3
- lsls r0, 5
- adds r1, r0
- mov r2, r12
- asrs r0, r2, 3
- ldr r2, [sp, 0x18]
- muls r0, r2
- lsls r0, 5
- adds r1, r0
- mov r2, r12
- lsls r0, r2, 29
- lsrs r0, 27
- adds r3, r1, r0
- asrs r0, r6, 1
- movs r1, 0x3
- ands r0, r1
- ldr r2, [sp, 0x4]
- ldr r1, [r2]
- adds r1, r0
- asrs r0, r6, 3
- lsls r0, 5
- adds r1, r0
- mov r2, r8
- asrs r0, r2, 3
- ldr r2, [sp, 0x1C]
- muls r0, r2
- lsls r0, 5
- adds r1, r0
- mov r2, r8
- lsls r0, r2, 29
- lsrs r0, 27
- adds r4, r1, r0
- adds r0, r4, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A1DA
- subs r4, 0x1
- adds r0, r6, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A1B2
- ldrh r0, [r4]
- ldr r2, =0x00000fff
- ands r2, r0
- adds r0, r5, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A1A8
- ldrb r1, [r3]
- mov r0, r10
- ands r0, r1
- lsls r0, 8
- b _0819A22A
- .pool
-_0819A1A8:
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- lsls r0, 12
- b _0819A22A
-_0819A1B2:
- ldrh r0, [r4]
- ldr r2, =0x0000f0ff
- ands r2, r0
- adds r0, r5, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A1D0
- ldrb r1, [r3]
- mov r0, r10
- ands r0, r1
- lsls r0, 4
- b _0819A22A
- .pool
-_0819A1D0:
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- lsls r0, 8
- b _0819A22A
-_0819A1DA:
- adds r0, r6, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A206
- ldrh r0, [r4]
- ldr r2, =0x0000ff0f
- ands r2, r0
- adds r0, r5, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A1FC
- ldrb r1, [r3]
- mov r0, r10
- b _0819A228
- .pool
-_0819A1FC:
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- lsls r0, 4
- b _0819A22A
-_0819A206:
- ldrh r0, [r4]
- ldr r2, =0x0000fff0
- ands r2, r0
- adds r0, r5, 0
- ands r0, r7
- cmp r0, 0
- beq _0819A224
- ldrb r1, [r3]
- mov r0, r10
- ands r0, r1
- lsrs r0, 4
- b _0819A22A
- .pool
-_0819A224:
- ldrb r1, [r3]
- mov r0, r9
-_0819A228:
- ands r0, r1
-_0819A22A:
- orrs r2, r0
- strh r2, [r4]
- adds r5, 0x1
- adds r6, 0x1
- ldr r0, [sp, 0x10]
- cmp r5, r0
- bge _0819A23A
- b _0819A12E
-_0819A23A:
- ldr r1, [sp, 0x20]
- mov r12, r1
- ldr r2, [sp, 0x24]
- mov r8, r2
- ldr r0, [sp, 0x14]
- cmp r12, r0
- bge _0819A24A
- b _0819A10C
-_0819A24A:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_819A080
-
- thumb_func_start sub_819A25C
-sub_819A25C: @ 819A25C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- lsrs r0, 16
- bl GetValidMonIconPalettePtr
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_819A25C
-
- thumb_func_start sub_819A27C
-sub_819A27C: @ 819A27C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- adds r4, r3, 0
- ldr r5, [sp, 0x18]
- lsls r6, 24
- lsrs r6, 24
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- movs r2, 0x1
- bl GetMonIconPtr
- adds r1, r0, 0
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl BlitBitmapToWindow
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_819A27C
-
- thumb_func_start sub_819A2BC
-sub_819A2BC: @ 819A2BC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _0819A2DC
- cmp r1, 0x1
- ble _0819A2D2
- cmp r1, 0x2
- beq _0819A2E4
-_0819A2D2:
- ldr r0, =gUnknown_08DC4318
- b _0819A2E6
- .pool
-_0819A2DC:
- ldr r0, =gUnknown_08DC4338
- b _0819A2E6
- .pool
-_0819A2E4:
- ldr r0, =gUnknown_08DC4358
-_0819A2E6:
- adds r1, r2, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819A2BC
-
- thumb_func_start blit_move_info_icon
-@ void blit_move_info_icon(u8 windowId, u8 a2, u16 x, u16 y)
-blit_move_info_icon: @ 819A2F8
- push {r4,r5,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r4, =gUnknown_0860F0D4
- lsrs r1, 22
- adds r1, r4
- ldrh r5, [r1, 0x2]
- lsls r5, 5
- ldr r4, =gUnknown_08DC4378
- adds r5, r4
- movs r4, 0x80
- str r4, [sp]
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- ldrb r2, [r1]
- str r2, [sp, 0x10]
- ldrb r1, [r1, 0x1]
- str r1, [sp, 0x14]
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl BlitBitmapRectToWindow
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end blit_move_info_icon
-
- thumb_func_start sub_819A344
-sub_819A344: @ 819A344
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r5, r1, 0
- movs r1, 0xFC
- strb r1, [r5]
- adds r5, 0x1
- movs r0, 0x1
- strb r0, [r5]
- adds r5, 0x1
- strb r2, [r5]
- adds r5, 0x1
- strb r1, [r5]
- adds r5, 0x1
- movs r0, 0x3
- strb r0, [r5]
- adds r5, 0x1
- adds r2, 0x1
- strb r2, [r5]
- adds r5, 0x1
- cmp r3, 0x4
- bhi _0819A43C
- lsls r0, r3, 2
- ldr r1, =_0819A384
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0819A384:
- .4byte _0819A398
- .4byte _0819A3A8
- .4byte _0819A3D6
- .4byte _0819A404
- .4byte _0819A414
-_0819A398:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- b _0819A43C
- .pool
-_0819A3A8:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _0819A3B8
- movs r0, 0x1
- bl pokedex_count
- b _0819A3BE
-_0819A3B8:
- movs r0, 0x1
- bl sub_80C0844
-_0819A3BE:
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- movs r0, 0xFF
- strb r0, [r5]
- b _0819A43C
-_0819A3D6:
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- movs r0, 0xF0
- strb r0, [r5]
- adds r5, 0x1
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- b _0819A43C
- .pool
-_0819A404:
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x14]
- adds r0, r5, 0
- bl sub_81245DC
- b _0819A43C
- .pool
-_0819A414:
- ldr r4, =0x00000867
- movs r6, 0
- adds r7, r5, 0x1
-_0819A41A:
- lsls r0, r4, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0819A42A
- adds r6, 0x1
-_0819A42A:
- adds r4, 0x1
- ldr r0, =0x0000086e
- cmp r4, r0
- ble _0819A41A
- adds r0, r6, 0
- subs r0, 0x5F
- strb r0, [r5]
- movs r0, 0xFF
- strb r0, [r7]
-_0819A43C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819A344
-
- thumb_func_start sub_819A44C
-sub_819A44C: @ 819A44C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0x5]
- lsrs r4, 4
- movs r0, 0x65
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsrs r0, 24
- cmp r4, r0
- bne _0819A4BA
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0819A4B0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _0819A484
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _0819A4C2
-_0819A484:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _0819A4A6
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x20
- strh r0, [r5, 0x2E]
- b _0819A4C2
-_0819A4A6:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _0819A4C2
-_0819A4B0:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- b _0819A4C2
-_0819A4BA:
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnimIfDifferent
-_0819A4C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_819A44C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s
deleted file mode 100644
index 423f653d9..000000000
--- a/asm/menu_helpers.s
+++ /dev/null
@@ -1,986 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8121DA0
-sub_8121DA0: @ 8121DA0
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x0100c000
- mov r0, sp
- bl CpuSet
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, =0x05000100
- bl CpuSet
- add r0, sp, 0x8
- strh r4, [r0]
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x01000200
- bl CpuSet
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8121DA0
-
- thumb_func_start sub_8121E10
-sub_8121E10: @ 8121E10
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_8121E10
-
- thumb_func_start SetVBlankHBlankCallbacksToNull
-@ void SetVBlankHBlankCallbacksToNull()
-SetVBlankHBlankCallbacksToNull: @ 8121E68
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end SetVBlankHBlankCallbacksToNull
-
- thumb_func_start DisplayMessageAndContinueTask
-@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 windowBorderFirstTileNum, u8 windowBorderPalette, u8 fontId, u8 speed, u8 *str, void ( *callback)(u8 taskId))
-DisplayMessageAndContinueTask: @ 8121E7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- adds r6, r1, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r7, r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0203A140
- strb r6, [r0]
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8197B1C
- ldr r4, =gStringVar4
- ldr r0, [sp, 0x30]
- cmp r0, r4
- beq _08121EC0
- adds r0, r4, 0
- ldr r1, [sp, 0x30]
- bl StringExpandPlaceholders
-_08121EC0:
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl AddTextPrinterParametrized
- ldr r1, =gUnknown_0300117C
- ldr r0, [sp, 0x34]
- str r0, [r1]
- ldr r1, =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_ContinueTaskAfterMessagePrints
- str r1, [r0]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DisplayMessageAndContinueTask
-
- thumb_func_start sub_8121F20
-sub_8121F20: @ 8121F20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl RunTextPrinters
- adds r0, r4, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8121F20
-
- thumb_func_start Task_ContinueTaskAfterMessagePrints
-@ void Task_ContinueTaskAfterMessagePrints(u8 taskId)
-Task_ContinueTaskAfterMessagePrints: @ 8121F3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203A140
- ldrb r0, [r0]
- bl sub_8121F20
- lsls r0, 16
- cmp r0, 0
- bne _08121F5A
- ldr r0, =gUnknown_0300117C
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_08121F5A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ContinueTaskAfterMessagePrints
-
- thumb_func_start sub_8121F68
-sub_8121F68: @ 8121F68
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_0203A138
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =Task_CallYesOrNoCallback
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8121F68
-
- thumb_func_start CreateYesNoMenuWithCallbacks
-@ void CreateYesNoMenuWithCallbacks(u8 taskId, struct WindowTemplate *windowTemplate, int a3, int a4, int a5, u16 borderFirstTileNum, u8 borderPalette, void ( **callbacks)(u8 taskId))
-CreateYesNoMenuWithCallbacks: @ 8121F94
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- ldr r1, [sp, 0x10]
- ldr r2, [sp, 0x14]
- ldr r5, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- bl CreateYesNoMenu
- ldr r2, =gUnknown_0203A138
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =Task_CallYesOrNoCallback
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CreateYesNoMenuWithCallbacks
-
- thumb_func_start Task_CallYesOrNoCallback
-@ void Task_CallYesOrNoCallback(u8 taskId)
-Task_CallYesOrNoCallback: @ 8121FDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08122002
- cmp r1, 0
- bgt _08121FFC
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08122018
- b _08122028
-_08121FFC:
- cmp r1, 0x1
- beq _08122018
- b _08122028
-_08122002:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203A138
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _08122028
- .pool
-_08122018:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_0203A138
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl _call_via_r1
-_08122028:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_CallYesOrNoCallback
-
- thumb_func_start AdjustQuantityAccordingToDPadInput
-@ bool8 AdjustQuantityAccordingToDPadInput(u16 *quantity, u16 maxQuantity)
-AdjustQuantityAccordingToDPadInput: @ 8122034
- push {r4-r6,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r5, r1, 0
- ldrh r4, [r2]
- adds r6, r4, 0
- ldr r0, =gMain
- ldrh r0, [r0, 0x30]
- movs r3, 0xF0
- ands r3, r0
- cmp r3, 0x40
- bne _0812206C
- adds r0, r4, 0x1
- strh r0, [r2]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, r1
- ble _0812205E
- movs r0, 0x1
- strh r0, [r2]
-_0812205E:
- movs r0, 0
- ldrsh r1, [r2, r0]
-_08122062:
- lsls r0, r4, 16
- b _081220B6
- .pool
-_0812206C:
- cmp r3, 0x80
- bne _08122082
- subs r0, r4, 0x1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _0812207C
- strh r1, [r2]
-_0812207C:
- movs r3, 0
- ldrsh r1, [r2, r3]
- b _08122062
-_08122082:
- cmp r3, 0x10
- bne _0812209C
- adds r0, r4, 0
- adds r0, 0xA
- strh r0, [r2]
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, r5
- ble _08122096
- strh r5, [r2]
-_08122096:
- movs r3, 0
- ldrsh r1, [r2, r3]
- b _08122062
-_0812209C:
- cmp r3, 0x20
- bne _081220C6
- adds r0, r4, 0
- subs r0, 0xA
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _081220B0
- movs r0, 0x1
- strh r0, [r2]
-_081220B0:
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r6, 16
-_081220B6:
- asrs r0, 16
- cmp r1, r0
- beq _081220C6
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _081220C8
-_081220C6:
- movs r0, 0
-_081220C8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end AdjustQuantityAccordingToDPadInput
-
- thumb_func_start GetLRKeysState
-GetLRKeysState: @ 81220D0
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _08122106
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _081220F8
- movs r0, 0x1
- b _08122108
- .pool
-_081220F8:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08122106
- movs r0, 0x2
- b _08122108
-_08122106:
- movs r0, 0
-_08122108:
- pop {r1}
- bx r1
- thumb_func_end GetLRKeysState
-
- thumb_func_start sub_812210C
-sub_812210C: @ 812210C
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _08122142
- ldr r0, =gMain
- ldrh r1, [r0, 0x30]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08122134
- movs r0, 0x1
- b _08122144
- .pool
-_08122134:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08122142
- movs r0, 0x2
- b _08122144
-_08122142:
- movs r0, 0
-_08122144:
- pop {r1}
- bx r1
- thumb_func_end sub_812210C
-
- thumb_func_start sub_8122148
-sub_8122148: @ 8122148
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08122174
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- ldr r0, =0x00001919
- cmp r1, r0
- beq _08122166
- bl InUnionRoom
- cmp r0, 0x1
- bne _08122174
-_08122166:
- movs r0, 0
- b _08122176
- .pool
-_08122174:
- movs r0, 0x1
-_08122176:
- pop {r1}
- bx r1
- thumb_func_end sub_8122148
-
- thumb_func_start itemid_80BF6D8_mail_related
-itemid_80BF6D8_mail_related: @ 812217C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _08122192
- bl InUnionRoom
- cmp r0, 0x1
- bne _081221A4
-_08122192:
- adds r0, r4, 0
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081221A4
- movs r0, 0
- b _081221A6
-_081221A4:
- movs r0, 0x1
-_081221A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end itemid_80BF6D8_mail_related
-
- thumb_func_start sub_81221AC
-sub_81221AC: @ 81221AC
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _081221BE
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081221C8
-_081221BE:
- movs r0, 0x1
- b _081221CA
- .pool
-_081221C8:
- movs r0, 0
-_081221CA:
- pop {r1}
- bx r1
- thumb_func_end sub_81221AC
-
- thumb_func_start sub_81221D0
-sub_81221D0: @ 81221D0
- push {lr}
- bl sub_81221AC
- lsls r0, 24
- cmp r0, 0
- beq _081221E6
- bl sub_8087598
- lsls r0, 24
- lsrs r0, 24
- b _081221E8
-_081221E6:
- movs r0, 0
-_081221E8:
- pop {r1}
- bx r1
- thumb_func_end sub_81221D0
-
- thumb_func_start sub_81221EC
-sub_81221EC: @ 81221EC
- push {lr}
- bl sub_81221D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08122202
- bl sub_800B504
- cmp r0, 0x1
- bne _08122206
-_08122202:
- movs r0, 0x1
- b _08122208
-_08122206:
- movs r0, 0
-_08122208:
- pop {r1}
- bx r1
- thumb_func_end sub_81221EC
-
- thumb_func_start sub_812220C
-sub_812220C: @ 812220C
- push {r4-r6,lr}
- adds r6, r2, 0
- ldr r2, [sp, 0x10]
- lsls r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r3]
- movs r2, 0
- lsrs r1, 24
- cmp r2, r1
- bcs _08122240
-_08122226:
- lsls r0, r2, 2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _08122236
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_08122236:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _08122226
-_08122240:
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, r5
- bls _08122252
- strb r5, [r6]
- b _08122254
-_08122252:
- strb r1, [r6]
-_08122254:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_812220C
-
- thumb_func_start sub_812225C
-sub_812225C: @ 812225C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldrh r0, [r4]
- cmp r0, 0
- beq _0812227A
- adds r0, r2
- cmp r0, r3
- ble _0812227A
- subs r0, r3, r2
- strh r0, [r4]
-_0812227A:
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- cmp r0, r3
- blt _08122290
- cmp r3, 0
- bne _0812228C
- strh r3, [r5]
- b _08122290
-_0812228C:
- subs r0, r3, 0x1
- strh r0, [r5]
-_08122290:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_812225C
-
- thumb_func_start sub_8122298
-sub_8122298: @ 8122298
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, [sp, 0x14]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r2, r0, 24
- lsrs r0, r2, 24
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081222F0
- lsrs r2, 25
- ldrh r0, [r4]
- cmp r0, r2
- bcc _08122322
- movs r1, 0
- subs r0, r2
- cmp r1, r0
- bge _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- beq _08122322
-_081222CC:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4]
- subs r0, r2
- cmp r1, r0
- bge _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- bne _081222CC
- b _08122322
-_081222F0:
- ldrh r3, [r4]
- lsrs r2, 25
- adds r0, r2, 0x1
- cmp r3, r0
- blt _08122322
- movs r1, 0
- subs r0, r3, r2
- b _08122316
-_08122300:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4]
- subs r0, r2
-_08122316:
- cmp r1, r0
- bgt _08122322
- ldrh r0, [r5]
- adds r0, r7
- cmp r0, r6
- bne _08122300
-_08122322:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122298
-
- thumb_func_start sub_8122328
-sub_8122328: @ 8122328
- push {lr}
- ldr r0, =gUnknown_0859F514
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0859F51C
- bl LoadCompressedObjectPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122328
-
- thumb_func_start sub_8122344
-sub_8122344: @ 8122344
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- cmp r5, r6
- bcs _0812239C
- ldr r7, =gSprites
-_08122358:
- lsls r1, r5, 4
- ldr r0, =gUnknown_0859F524
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- mov r1, r8
- adds r4, r1, r5
- strb r0, [r4]
- cmp r5, 0
- beq _0812237E
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- movs r1, 0x1
- bl StartSpriteAnim
-_0812237E:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _08122358
-_0812239C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8122344
-
- thumb_func_start sub_81223B0
-sub_81223B0: @ 81223B0
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- cmp r4, r5
- bcs _081223F6
- ldr r7, =gSprites
-_081223C0:
- subs r0, r5, 0x1
- cmp r4, r0
- bne _081223DC
- adds r0, r6, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySpriteAndFreeResources
- b _081223EC
- .pool
-_081223DC:
- adds r0, r6, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- bl DestroySprite
-_081223EC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081223C0
-_081223F6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81223B0
-
- thumb_func_start sub_81223FC
-sub_81223FC: @ 81223FC
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r0, r2, 24
- movs r3, 0
- cmp r3, r4
- bcs _0812243E
- ldr r1, =gSprites
- mov r12, r1
- movs r1, 0x1
- ands r0, r1
- lsls r5, r0, 2
- movs r7, 0x5
- negs r7, r7
-_0812241C:
- adds r0, r6, r3
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcc _0812241C
-_0812243E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81223FC
-
- thumb_func_start sub_8122448
-@ void sub_8122448(int a1, u8 a2, u16 x, u16 y)
-sub_8122448: @ 8122448
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- movs r0, 0x80
- ands r0, r4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x7F
- ands r4, r0
- movs r3, 0
- cmp r3, r4
- bcs _081224C8
- ldr r5, =gSprites
- lsls r0, r7, 16
- asrs r0, 16
- subs r0, 0x8
- mov r12, r0
-_0812247E:
- subs r0, r4, 0x1
- cmp r3, r0
- bne _081224A0
- mov r0, r8
- cmp r0, 0
- beq _081224A0
- adds r2, r6, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r12
- strh r1, [r0, 0x24]
- b _081224AE
- .pool
-_081224A0:
- adds r2, r6, r3
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r7, [r0, 0x24]
-_081224AE:
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- adds r1, 0x1
- strh r1, [r0, 0x22]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r4
- bcc _0812247E
-_081224C8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8122448
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s
deleted file mode 100755
index b923b53d0..000000000
--- a/asm/menu_indicators.s
+++ /dev/null
@@ -1,1442 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81AF08C
-sub_81AF08C: @ 81AF08C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r2, r1, r0
- cmp r3, 0x10
- bhi _081AF154
- lsls r0, r3, 2
- ldr r1, =_081AF0B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AF0B8:
- .4byte _081AF0FC
- .4byte _081AF0FC
- .4byte _081AF100
- .4byte _081AF104
- .4byte _081AF108
- .4byte _081AF10C
- .4byte _081AF110
- .4byte _081AF114
- .4byte _081AF118
- .4byte _081AF11C
- .4byte _081AF122
- .4byte _081AF12A
- .4byte _081AF130
- .4byte _081AF138
- .4byte _081AF140
- .4byte _081AF146
- .4byte _081AF14E
-_081AF0FC:
- ldr r0, [r2, 0x4]
- b _081AF158
-_081AF100:
- ldrh r0, [r2, 0xC]
- b _081AF158
-_081AF104:
- ldrh r0, [r2, 0xE]
- b _081AF158
-_081AF108:
- ldrb r0, [r2, 0x10]
- b _081AF158
-_081AF10C:
- ldrb r0, [r2, 0x11]
- b _081AF158
-_081AF110:
- ldrb r0, [r2, 0x12]
- b _081AF158
-_081AF114:
- ldrb r0, [r2, 0x13]
- b _081AF158
-_081AF118:
- ldrb r0, [r2, 0x14]
- b _081AF124
-_081AF11C:
- ldrb r0, [r2, 0x14]
- lsrs r0, 4
- b _081AF158
-_081AF122:
- ldrb r0, [r2, 0x15]
-_081AF124:
- lsls r0, 28
- lsrs r0, 28
- b _081AF158
-_081AF12A:
- ldrb r0, [r2, 0x15]
- lsrs r0, 4
- b _081AF158
-_081AF130:
- ldrb r0, [r2, 0x16]
- lsls r0, 29
- lsrs r0, 29
- b _081AF158
-_081AF138:
- ldrb r0, [r2, 0x16]
- lsls r0, 26
- lsrs r0, 29
- b _081AF158
-_081AF140:
- ldrb r0, [r2, 0x16]
- lsrs r0, 6
- b _081AF158
-_081AF146:
- ldrb r0, [r2, 0x17]
- lsls r0, 26
- lsrs r0, 26
- b _081AF158
-_081AF14E:
- ldrb r0, [r2, 0x17]
- lsrs r0, 6
- b _081AF158
-_081AF154:
- movs r0, 0x1
- negs r0, r0
-_081AF158:
- pop {r1}
- bx r1
- thumb_func_end sub_81AF08C
-
- thumb_func_start sub_81AF15C
-sub_81AF15C: @ 81AF15C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r3, r1, r0
- cmp r4, 0x10
- bhi _081AF25C
- lsls r0, r4, 2
- ldr r1, =_081AF188
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081AF188:
- .4byte _081AF1CC
- .4byte _081AF1CC
- .4byte _081AF1D0
- .4byte _081AF1D4
- .4byte _081AF1D8
- .4byte _081AF1DC
- .4byte _081AF1E0
- .4byte _081AF1E4
- .4byte _081AF1E8
- .4byte _081AF1F4
- .4byte _081AF202
- .4byte _081AF20E
- .4byte _081AF21C
- .4byte _081AF228
- .4byte _081AF236
- .4byte _081AF244
- .4byte _081AF250
-_081AF1CC:
- str r2, [r3, 0x4]
- b _081AF25C
-_081AF1D0:
- strh r2, [r3, 0xC]
- b _081AF25C
-_081AF1D4:
- strh r2, [r3, 0xE]
- b _081AF25C
-_081AF1D8:
- strb r2, [r3, 0x10]
- b _081AF25C
-_081AF1DC:
- strb r2, [r3, 0x11]
- b _081AF25C
-_081AF1E0:
- strb r2, [r3, 0x12]
- b _081AF25C
-_081AF1E4:
- strb r2, [r3, 0x13]
- b _081AF25C
-_081AF1E8:
- movs r0, 0xF
- ands r2, r0
- ldrb r1, [r3, 0x14]
- movs r0, 0x10
- negs r0, r0
- b _081AF1FA
-_081AF1F4:
- lsls r2, 4
- ldrb r1, [r3, 0x14]
- movs r0, 0xF
-_081AF1FA:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x14]
- b _081AF25C
-_081AF202:
- movs r0, 0xF
- ands r2, r0
- ldrb r1, [r3, 0x15]
- movs r0, 0x10
- negs r0, r0
- b _081AF214
-_081AF20E:
- lsls r2, 4
- ldrb r1, [r3, 0x15]
- movs r0, 0xF
-_081AF214:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x15]
- b _081AF25C
-_081AF21C:
- movs r0, 0x7
- ands r2, r0
- ldrb r1, [r3, 0x16]
- movs r0, 0x8
- negs r0, r0
- b _081AF23C
-_081AF228:
- movs r0, 0x7
- ands r2, r0
- lsls r2, 3
- ldrb r1, [r3, 0x16]
- movs r0, 0x39
- negs r0, r0
- b _081AF23C
-_081AF236:
- lsls r2, 6
- ldrb r1, [r3, 0x16]
- movs r0, 0x3F
-_081AF23C:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x16]
- b _081AF25C
-_081AF244:
- movs r0, 0x3F
- ands r2, r0
- ldrb r1, [r3, 0x17]
- movs r0, 0x40
- negs r0, r0
- b _081AF256
-_081AF250:
- lsls r2, 6
- ldrb r1, [r3, 0x17]
- movs r0, 0x3F
-_081AF256:
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x17]
-_081AF25C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81AF15C
-
- thumb_func_start sub_81AF264
-sub_81AF264: @ 81AF264
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF276
- cmp r0, 0x1
- beq _081AF28A
- b _081AF2E4
-_081AF276:
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _081AF2E4
-_081AF28A:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF29A
- cmp r0, 0x1
- beq _081AF2C0
- ldrh r2, [r4, 0x38]
- b _081AF2DE
-_081AF29A:
- movs r0, 0x34
- ldrsh r3, [r4, r0]
- ldr r1, =gSineTable
- ldrh r2, [r4, 0x38]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r3
- cmp r0, 0
- bge _081AF2B4
- adds r0, 0xFF
-_081AF2B4:
- asrs r0, 8
- strh r0, [r4, 0x24]
- b _081AF2DE
- .pool
-_081AF2C0:
- movs r0, 0x34
- ldrsh r3, [r4, r0]
- ldr r1, =gSineTable
- ldrh r2, [r4, 0x38]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r3
- cmp r0, 0
- bge _081AF2DA
- adds r0, 0xFF
-_081AF2DA:
- asrs r0, 8
- strh r0, [r4, 0x26]
-_081AF2DE:
- ldrh r0, [r4, 0x36]
- adds r0, r2, r0
- strh r0, [r4, 0x38]
-_081AF2E4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AF264
-
- thumb_func_start AddScrollIndicatorArrowObject
-AddScrollIndicatorArrowObject: @ 81AF2F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r6, r0, 0
- ldr r5, [sp, 0x30]
- lsls r6, 24
- lsrs r6, 24
- mov r8, r6
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r5, 16
- lsrs r5, 16
- mov r12, r5
- mov r4, sp
- ldr r0, =gUnknown_08614244
- ldm r0!, {r5-r7}
- stm r4!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r4!, {r5-r7}
- mov r0, sp
- movs r4, 0
- strh r3, [r0]
- mov r3, r12
- strh r3, [r0, 0x2]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r1
- adds r5, r3, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r5]
- strh r4, [r3, 0x2E]
- ldr r1, =gUnknown_086141FC
- mov r5, r8
- lsls r6, r5, 2
- adds r6, r1
- ldrb r2, [r6]
- lsls r1, r2, 28
- lsrs r1, 28
- strh r1, [r3, 0x30]
- lsrs r2, 4
- strh r2, [r3, 0x32]
- ldrb r1, [r6, 0x1]
- strh r1, [r3, 0x34]
- ldrh r1, [r6, 0x2]
- strh r1, [r3, 0x36]
- strh r4, [r3, 0x38]
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowObject
-
- thumb_func_start AddScrollIndicatorArrowPair
-AddScrollIndicatorArrowPair: @ 81AF380
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r6, r0, 0
- mov r9, r1
- ldr r0, =gUnknown_086142C8
- str r0, [sp, 0x4]
- ldr r5, =0xffff0000
- ldr r0, [sp, 0x8]
- ands r0, r5
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldrh r1, [r6, 0xA]
- lsls r1, 16
- ldr r4, =0x0000ffff
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- bl LoadCompressedObjectPic
- ldrh r2, [r6, 0xC]
- cmp r2, r4
- bne _081AF3DC
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r6, 0xE]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AF3EE
- .pool
-_081AF3DC:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AF3EE:
- ldr r0, =Task_ScrollIndicatorArrowPair
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r0, 0
- strb r0, [r7]
- mov r0, r9
- str r0, [r7, 0x4]
- ldrh r0, [r6, 0x6]
- strh r0, [r7, 0x8]
- ldrh r0, [r6, 0x8]
- strh r0, [r7, 0xA]
- ldrh r0, [r6, 0xA]
- strh r0, [r7, 0xE]
- ldrh r0, [r6, 0xC]
- strh r0, [r7, 0x10]
- ldrb r0, [r6]
- ldrb r1, [r6, 0x1]
- ldrb r2, [r6, 0x2]
- ldrh r3, [r6, 0xA]
- ldrh r4, [r6, 0xC]
- str r4, [sp]
- bl AddScrollIndicatorArrowObject
- strb r0, [r7, 0xC]
- ldrb r0, [r6, 0x3]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x5]
- ldrh r3, [r6, 0xA]
- ldrh r4, [r6, 0xC]
- str r4, [sp]
- bl AddScrollIndicatorArrowObject
- strb r0, [r7, 0xD]
- ldrh r1, [r6, 0xC]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AF47C
- ldr r5, =gSprites
- ldrb r0, [r7, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r6, 0xE]
- lsls r3, 4
- ldrb r4, [r1, 0x5]
- movs r2, 0xF
- adds r0, r2, 0
- ands r0, r4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r7, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r6, 0xE]
- lsls r1, 4
- ldrb r3, [r0, 0x5]
- ands r2, r3
- orrs r2, r1
- strb r2, [r0, 0x5]
-_081AF47C:
- mov r0, r8
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowPair
-
- thumb_func_start AddScrollIndicatorArrowPairParametrized
-AddScrollIndicatorArrowPairParametrized: @ 81AF4A0
- push {r4,lr}
- adds r4, r1, 0
- subs r0, 0x2
- cmp r0, 0x1
- bhi _081AF4C4
- ldr r0, =gUnknown_0203CE8C
- movs r1, 0x2
- strb r1, [r0]
- strb r4, [r0, 0x1]
- strb r2, [r0, 0x2]
- movs r1, 0x3
- strb r1, [r0, 0x3]
- strb r4, [r0, 0x4]
- strb r3, [r0, 0x5]
- b _081AF4D6
- .pool
-_081AF4C4:
- ldr r0, =gUnknown_0203CE8C
- movs r1, 0
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r4, [r0, 0x2]
- movs r1, 0x1
- strb r1, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r4, [r0, 0x5]
-_081AF4D6:
- adds r2, r0, 0
- movs r1, 0
- movs r0, 0
- strh r0, [r2, 0x6]
- ldr r0, [sp, 0x8]
- strh r0, [r2, 0x8]
- ldr r0, [sp, 0xC]
- strh r0, [r2, 0xA]
- ldr r0, [sp, 0x10]
- strh r0, [r2, 0xC]
- strb r1, [r2, 0xE]
- adds r0, r2, 0
- ldr r1, [sp, 0x14]
- bl AddScrollIndicatorArrowPair
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddScrollIndicatorArrowPairParametrized
-
- thumb_func_start Task_ScrollIndicatorArrowPair
-Task_ScrollIndicatorArrowPair: @ 81AF504
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- ldr r0, [r4, 0x4]
- ldrh r5, [r0]
- ldrh r0, [r4, 0x8]
- cmp r5, r0
- bne _081AF548
- ldr r0, =0x0000ffff
- cmp r5, r0
- beq _081AF548
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF55E
- .pool
-_081AF548:
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- 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
-_081AF55E:
- strb r1, [r0]
- ldrh r0, [r4, 0xA]
- cmp r5, r0
- bne _081AF580
- ldrb r1, [r4, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF594
- .pool
-_081AF580:
- ldrb r1, [r4, 0xD]
- 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
-_081AF594:
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ScrollIndicatorArrowPair
-
- thumb_func_start Task_ScrollIndicatorArrowPairOnMainMenu
-Task_ScrollIndicatorArrowPairOnMainMenu: @ 81AF59C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081AF5E8
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- 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, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _081AF612
- .pool
-_081AF5E8:
- ldr r3, =gSprites
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4, 0xD]
- 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
-_081AF612:
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Task_ScrollIndicatorArrowPairOnMainMenu
-
- thumb_func_start RemoveScrollIndicatorArrowPair
-RemoveScrollIndicatorArrowPair: @ 81AF620
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r5, 0xE]
- ldr r4, =0x0000ffff
- cmp r0, r4
- beq _081AF63E
- bl FreeSpriteTilesByTag
-_081AF63E:
- ldrh r0, [r5, 0x10]
- cmp r0, r4
- beq _081AF648
- bl FreeSpritePaletteByTag
-_081AF648:
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- ldrb r1, [r5, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r0, r6, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveScrollIndicatorArrowPair
-
- thumb_func_start ListMenuAddCursorObjectInternal
-ListMenuAddCursorObjectInternal: @ 81AF680
- push {lr}
- cmp r1, 0
- beq _081AF68A
- cmp r1, 0x1
- beq _081AF690
-_081AF68A:
- bl ListMenuAddRedOutlineCursorObject
- b _081AF694
-_081AF690:
- bl ListMenuAddRedArrowCursorObject
-_081AF694:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ListMenuAddCursorObjectInternal
-
- thumb_func_start ListMenuUpdateCursorObject
-@ void ListMenuUpdateCursorObject(u8 taskId, u16 x, u16 y, u32 a4)
-ListMenuUpdateCursorObject: @ 81AF69C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r3, 0
- beq _081AF6B4
- cmp r3, 0x1
- beq _081AF6BA
- b _081AF6BE
-_081AF6B4:
- bl ListMenuUpdateRedOutlineCursorObject
- b _081AF6BE
-_081AF6BA:
- bl ListMenuUpdateRedArrowCursorObject
-_081AF6BE:
- pop {r0}
- bx r0
- thumb_func_end ListMenuUpdateCursorObject
-
- thumb_func_start ListMenuRemoveCursorObject
-ListMenuRemoveCursorObject: @ 81AF6C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r1, 0
- beq _081AF6D4
- cmp r1, 0x1
- beq _081AF6DA
- b _081AF6DE
-_081AF6D4:
- bl ListMenuRemoveRedOutlineCursorObject
- b _081AF6DE
-_081AF6DA:
- bl ListMenuRemoveRedArrowCursorObject
-_081AF6DE:
- pop {r0}
- bx r0
- thumb_func_end ListMenuRemoveCursorObject
-
- thumb_func_start Task_RedOutlineCursor
-Task_RedOutlineCursor: @ 81AF6E4
- bx lr
- thumb_func_end Task_RedOutlineCursor
-
- thumb_func_start ListMenuGetRedOutlineCursorSpriteCount
-ListMenuGetRedOutlineCursorSpriteCount: @ 81AF6E8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0x4
- cmp r0, 0x10
- bls _081AF708
- movs r2, 0x8
- subs r0, 0x8
- cmp r2, r0
- bge _081AF708
-_081AF700:
- adds r3, 0x2
- adds r2, 0x8
- cmp r2, r0
- blt _081AF700
-_081AF708:
- cmp r1, 0x10
- bls _081AF71C
- movs r2, 0x8
- subs r1, 0x8
- cmp r2, r1
- bge _081AF71C
-_081AF714:
- adds r3, 0x2
- adds r2, 0x8
- cmp r2, r1
- blt _081AF714
-_081AF71C:
- lsls r0, r3, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end ListMenuGetRedOutlineCursorSpriteCount
-
- thumb_func_start ListMenuSetUpRedOutlineCursorSpriteOamTable
-ListMenuSetUpRedOutlineCursorSpriteOamTable: @ 81AF724
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r3, r2, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r0, =gUnknown_0861425C
- ldr r0, [r0]
- str r0, [r3]
- movs r1, 0x88
- strb r1, [r3]
- strb r1, [r3, 0x1]
- ldr r0, =gUnknown_08614260
- ldr r0, [r0]
- str r0, [r3, 0x4]
- mov r2, r8
- adds r2, 0x80
- strb r2, [r3, 0x4]
- strb r1, [r3, 0x5]
- ldr r0, =gUnknown_08614274
- ldr r0, [r0]
- str r0, [r3, 0x8]
- strb r1, [r3, 0x8]
- mov r4, r9
- adds r4, 0x80
- strb r4, [r3, 0x9]
- ldr r0, =gUnknown_08614278
- ldr r0, [r0]
- str r0, [r3, 0xC]
- strb r2, [r3, 0xC]
- strb r4, [r3, 0xD]
- movs r0, 0x4
- mov r12, r0
- mov r2, r8
- cmp r2, 0x10
- bls _081AF7B8
- movs r2, 0x8
- mov r5, r8
- subs r5, 0x8
- cmp r2, r5
- bge _081AF7B8
- ldr r0, =gUnknown_08614264
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, =gUnknown_08614270
- ldr r6, [r0]
- adds r1, r3, 0
- adds r1, 0x10
- movs r7, 0x88
- mov r10, r7
-_081AF796:
- ldr r0, [sp]
- str r0, [r1]
- adds r0, r2, 0
- subs r0, 0x78
- strb r0, [r1]
- mov r7, r10
- strb r7, [r1, 0x1]
- adds r1, 0x4
- str r6, [r1]
- strb r0, [r1]
- strb r4, [r1, 0x1]
- adds r1, 0x4
- movs r0, 0x2
- add r12, r0
- adds r2, 0x8
- cmp r2, r5
- blt _081AF796
-_081AF7B8:
- mov r2, r9
- cmp r2, 0x10
- bls _081AF7F6
- movs r1, 0x8
- mov r4, r9
- subs r4, 0x8
- cmp r1, r4
- bge _081AF7F6
- ldr r0, =gUnknown_08614268
- ldr r6, [r0]
- ldr r0, =gUnknown_0861426C
- ldr r5, [r0]
- mov r7, r12
- lsls r0, r7, 2
- adds r2, r0, r3
- movs r7, 0x88
- mov r3, r8
- adds r3, 0x80
-_081AF7DC:
- str r6, [r2]
- strb r7, [r2]
- adds r0, r1, 0
- subs r0, 0x78
- strb r0, [r2, 0x1]
- adds r2, 0x4
- str r5, [r2]
- strb r3, [r2]
- strb r0, [r2, 0x1]
- adds r2, 0x4
- adds r1, 0x8
- cmp r1, r4
- blt _081AF7DC
-_081AF7F6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuSetUpRedOutlineCursorSpriteOamTable
-
- thumb_func_start ListMenuAddRedOutlineCursorObject
-ListMenuAddRedOutlineCursorObject: @ 81AF828
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- adds r6, r0, 0
- ldr r0, =gUnknown_08614338
- str r0, [sp, 0x18]
- ldr r5, =0xffff0000
- add r0, sp, 0x18
- ldr r1, [r0, 0x4]
- ands r1, r5
- movs r2, 0x80
- lsls r2, 1
- orrs r1, r2
- ldrh r2, [r6, 0x6]
- lsls r2, 16
- ldr r3, =0x0000ffff
- ands r1, r3
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPic
- ldrh r2, [r6, 0x8]
- ldr r7, =0x0000ffff
- cmp r2, r7
- bne _081AF884
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r6, 0xA]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AF896
- .pool
-_081AF884:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AF896:
- ldr r0, =Task_RedOutlineCursor
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldrh r0, [r6, 0x6]
- movs r3, 0
- mov r8, r3
- strh r0, [r5, 0xE]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x10]
- ldrh r0, [r6, 0x2]
- ldrh r1, [r6, 0x4]
- bl ListMenuGetRedOutlineCursorSpriteCount
- strb r0, [r5]
- ldrb r0, [r5]
- lsls r0, 2
- bl Alloc
- adds r2, r0, 0
- str r2, [r5, 0x8]
- str r2, [r5, 0x4]
- ldrh r0, [r6, 0x2]
- ldrh r1, [r6, 0x4]
- bl ListMenuSetUpRedOutlineCursorSpriteOamTable
- mov r1, sp
- ldr r0, =gDummySpriteTemplate
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- mov r1, sp
- ldrh r0, [r6, 0x6]
- strh r0, [r1]
- ldrh r0, [r6, 0x8]
- strh r0, [r1, 0x2]
- ldrb r1, [r6]
- adds r1, 0x78
- ldrb r2, [r6, 0x1]
- adds r2, 0x78
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0xC]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r7, =gSprites
- adds r0, r7
- adds r1, r5, 0
- bl SetSubspriteTables
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x43
- mov r1, r8
- strb r1, [r0]
- ldrb r1, [r5, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x42
- ldrb r2, [r0]
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrh r1, [r6, 0x8]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AF96E
- ldrb r0, [r5, 0xC]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r6, 0xA]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081AF96E:
- adds r0, r4, 0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuAddRedOutlineCursorObject
-
- thumb_func_start ListMenuUpdateRedOutlineCursorObject
-@ void ListMenuUpdateRedOutlineCursorObject(u8 taskId, u16 x, u16 y)
-ListMenuUpdateRedOutlineCursorObject: @ 81AF994
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- ldr r0, =gTasks + 0x8
- adds r3, r0
- ldr r5, =gSprites
- ldrb r4, [r3, 0xC]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- adds r1, 0x78
- strh r1, [r0, 0x20]
- ldrb r1, [r3, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r2, 0x78
- strh r2, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuUpdateRedOutlineCursorObject
-
- thumb_func_start ListMenuRemoveRedOutlineCursorObject
-ListMenuRemoveRedOutlineCursorObject: @ 81AF9D8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, [r4, 0x8]
- bl Free
- ldrh r0, [r4, 0xE]
- ldr r6, =0x0000ffff
- cmp r0, r6
- beq _081AF9FC
- bl FreeSpriteTilesByTag
-_081AF9FC:
- ldrh r0, [r4, 0x10]
- cmp r0, r6
- beq _081AFA06
- bl FreeSpritePaletteByTag
-_081AFA06:
- ldrb r1, [r4, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuRemoveRedOutlineCursorObject
-
- thumb_func_start ObjectCB_RedArrowCursor
-ObjectCB_RedArrowCursor: @ 81AFA30
- push {lr}
- adds r2, r0, 0
- ldr r1, =gSineTable
- ldrh r3, [r2, 0x2E]
- lsls r0, r3, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _081AFA48
- adds r0, 0x3F
-_081AFA48:
- asrs r0, 6
- strh r0, [r2, 0x24]
- adds r0, r3, 0
- adds r0, 0x8
- strh r0, [r2, 0x2E]
- pop {r0}
- bx r0
- .pool
- thumb_func_end ObjectCB_RedArrowCursor
-
- thumb_func_start Task_RedArrowCursor
-Task_RedArrowCursor: @ 81AFA5C
- bx lr
- thumb_func_end Task_RedArrowCursor
-
- thumb_func_start ListMenuAddRedArrowCursorObject
-ListMenuAddRedArrowCursorObject: @ 81AFA60
- push {r4-r7,lr}
- sub sp, 0x28
- adds r5, r0, 0
- ldr r0, =gUnknown_08614378
- str r0, [sp, 0x18]
- ldr r6, =0xffff0000
- add r0, sp, 0x18
- ldr r1, [r0, 0x4]
- ands r1, r6
- movs r2, 0x80
- orrs r1, r2
- ldrh r2, [r5, 0x6]
- lsls r2, 16
- ldr r4, =0x0000ffff
- ands r1, r4
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadCompressedObjectPic
- ldrh r2, [r5, 0x8]
- cmp r2, r4
- bne _081AFAB4
- ldr r0, =gUnknown_086142A8
- ldrb r1, [r5, 0xA]
- lsls r1, 20
- movs r2, 0x80
- lsls r2, 17
- adds r1, r2
- lsrs r1, 16
- movs r2, 0x20
- bl LoadPalette
- b _081AFAC6
- .pool
-_081AFAB4:
- ldr r0, =gUnknown_086142A8
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r6
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_081AFAC6:
- ldr r0, =Task_RedArrowCursor
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x4]
- mov r1, sp
- ldr r0, =gUnknown_08614290
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- mov r1, sp
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x2]
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- strb r0, [r4]
- ldr r3, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x8
- strh r2, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x26]
- ldrh r1, [r5, 0x8]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _081AFB46
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0xA]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_081AFB46:
- adds r0, r6, 0
- add sp, 0x28
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ListMenuAddRedArrowCursorObject
-
- thumb_func_start ListMenuUpdateRedArrowCursorObject
-@ void ListMenuUpdateRedArrowCursorObject(u8 taskId, u16 x, u16 y)
-ListMenuUpdateRedArrowCursorObject: @ 81AFB68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- ldr r0, =gTasks + 0x8
- adds r3, r0
- ldr r5, =gSprites
- ldrb r4, [r3]
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- strh r1, [r0, 0x20]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuUpdateRedArrowCursorObject
-
- thumb_func_start ListMenuRemoveRedArrowCursorObject
-ListMenuRemoveRedArrowCursorObject: @ 81AFBA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r0, [r4, 0x2]
- ldr r6, =0x0000ffff
- cmp r0, r6
- beq _081AFBBE
- bl FreeSpriteTilesByTag
-_081AFBBE:
- ldrh r0, [r4, 0x4]
- cmp r0, r6
- beq _081AFBC8
- bl FreeSpritePaletteByTag
-_081AFBC8:
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ListMenuRemoveRedArrowCursorObject
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
deleted file mode 100644
index 7c927399f..000000000
--- a/asm/mon_markings.s
+++ /dev/null
@@ -1,946 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_811F90C
-sub_811F90C: @ 811F90C
- ldr r1, =gUnknown_0203A124
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_811F90C
-
- thumb_func_start sub_811F918
-sub_811F918: @ 811F918
- push {lr}
- sub sp, 0x4
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r3, =gUnknown_0203A124
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x2C]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x30]
- ldr r0, =0x000010b4
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x34
- ldr r2, =0x01000800
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811F918
-
- thumb_func_start sub_811F960
-sub_811F960: @ 811F960
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- ldr r2, =0x000010b4
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x34
- adds r5, r1, r0
- cmp r2, 0xD
- beq _0811FA30
- cmp r2, 0xD
- bgt _0811F988
- cmp r2, 0
- beq _0811F98E
- b _0811F9D8
- .pool
-_0811F988:
- cmp r2, 0xE
- beq _0811FA7C
- b _0811F9D8
-_0811F98E:
- ldr r0, [r1, 0x2C]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F99E:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F99E
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, =0x000010b4
- adds r1, r0
- b _0811FA1E
- .pool
-_0811F9D8:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- ldr r0, [r0, 0x2C]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811F9EE:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811F9EE
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
-_0811FA1E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0811FA88
- .pool
-_0811FA30:
- ldr r0, [r1, 0x2C]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_0811FA42:
- ldr r6, =gUnknown_0203A124
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _0811FA42
- ldr r0, [r6]
- ldr r0, [r0, 0x2C]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, =0x000010b4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0811FA7C:
- movs r0, 0
- b _0811FA8A
- .pool
-_0811FA88:
- movs r0, 0x1
-_0811FA8A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_811F960
-
- thumb_func_start sub_811FA90
-sub_811FA90: @ 811FA90
- push {lr}
- bl sub_811F918
-_0811FA96:
- bl sub_811F960
- lsls r0, 24
- cmp r0, 0
- bne _0811FA96
- pop {r0}
- bx r0
- thumb_func_end sub_811FA90
-
- thumb_func_start sub_811FAA4
-sub_811FAA4: @ 811FAA4
- push {r4-r7,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, =gUnknown_0203A124
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r7, r2, 0
- adds r4, r7, 0
- movs r2, 0x1
-_0811FAC2:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FAC2
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r3, [r7]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_811FC80
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAA4
-
- thumb_func_start sub_811FAF8
-sub_811FAF8: @ 811FAF8
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, =gUnknown_0203A124
-_0811FAFE:
- ldr r0, [r4]
- ldrh r0, [r0]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FAFE
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB28:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0xC
- adds r0, r4
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FB28
- movs r5, 0
- ldr r6, =gUnknown_0203A124
-_0811FB52:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x14
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x14
- adds r0, r4
- movs r7, 0
- str r7, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FB52
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _0811FB8A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x24]
-_0811FB8A:
- ldr r0, [r4]
- ldr r0, [r0, 0x28]
- cmp r0, 0
- beq _0811FB9A
- bl DestroySprite
- ldr r0, [r4]
- str r7, [r0, 0x28]
-_0811FB9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FAF8
-
- thumb_func_start sub_811FBA4
-sub_811FBA4: @ 811FBA4
- push {r4,r5,lr}
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _0811FBDC
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _0811FC64
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _0811FC64
- .pool
-_0811FBDC:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0811FC0C
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _0811FC64
- ldr r0, [r2]
- strb r5, [r0, 0x5]
- b _0811FC64
- .pool
-_0811FC0C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0811FC68
- movs r0, 0x5
- bl PlaySE
- ldr r2, =gUnknown_0203A124
- ldr r0, [r2]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _0811FC40
- cmp r1, 0x5
- beq _0811FC76
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0811FC62
- movs r2, 0x1
- b _0811FC62
- .pool
-_0811FC40:
- strb r4, [r0, 0x4]
- movs r3, 0
- adds r4, r2, 0
-_0811FC46:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0811FC46
- b _0811FC76
-_0811FC62:
- strb r2, [r1]
-_0811FC64:
- movs r0, 0x1
- b _0811FC78
-_0811FC68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0811FC64
- movs r0, 0x5
- bl PlaySE
-_0811FC76:
- movs r0, 0
-_0811FC78:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_811FBA4
-
- thumb_func_start sub_811FC80
-sub_811FC80: @ 811FC80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r4, =gUnknown_0203A124
- ldr r0, [r4]
- adds r0, 0x34
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r7, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r5, [r0]
- add r1, sp, 0x20
- ldr r0, =gUnknown_08DC9628
- str r0, [sp, 0x20]
- movs r0, 0xC8
- lsls r0, 2
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r2, sp, 0x18
- mov r10, r2
- mov r0, sp
- mov r1, r10
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldr r0, [r0, 0x30]
- str r0, [sp, 0x30]
- add r0, sp, 0x34
- strh r6, [r0]
- add r1, sp, 0x38
- ldr r0, =gUnknown_08DC9608
- str r0, [sp, 0x38]
- adds r0, r6, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x40
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x30
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- strh r6, [r4, 0x2]
- ldr r0, =gUnknown_0859EE7C
- str r0, [r4, 0x4]
- ldr r0, =gUnknown_0859EF14
- str r0, [r4, 0x8]
- str r7, [r4, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
- ldr r0, =TaskDummy7
- str r0, [r4, 0x14]
- mov r0, sp
- bl LoadSpriteSheets
- mov r0, r10
- bl LoadSpritePalettes
- movs r5, 0
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- movs r0, 0x80
- lsls r0, 14
- add r0, r8
- mov r10, r0
- mov r1, r8
- str r1, [sp, 0x48]
- mov r2, r9
- lsls r2, 16
- mov r9, r2
- movs r7, 0x80
- lsls r7, 14
- add r7, r9
- mov r3, r9
- str r3, [sp, 0x4C]
-_0811FD58:
- adds r0, r4, 0
- mov r2, r10
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FD70
- b _0811FEFC
-_0811FD70:
- ldr r6, =gUnknown_0203A124
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0811FD58
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_0859EEDC
- str r0, [r4, 0x8]
- ldr r0, =sub_811FF40
- str r0, [r4, 0x14]
- ldr r0, =gUnknown_0859EE84
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x48]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r9, r0
-_0811FDC8:
- lsls r2, r5, 4
- adds r2, 0x10
- ldr r3, [sp, 0x4C]
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r9
- asrs r1, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _0811FDEE
- b _0811FF0C
-_0811FDEE:
- ldr r6, =gUnknown_0203A124
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, =gSprites
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0811FDC8
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FEA8
- ldr r0, [r6]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r7
- str r1, [r0, 0x28]
- ldrb r3, [r1, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- ldr r1, [r0, 0x28]
- ldrb r0, [r1, 0x3]
- ands r2, r0
- movs r0, 0x80
- orrs r2, r0
- strb r2, [r1, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x28]
- ldr r3, [sp, 0x48]
- asrs r0, r3, 16
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x28]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x28]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _0811FEAE
- .pool
-_0811FEA8:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x28]
-_0811FEAE:
- ldr r0, =sub_811FF7C
- str r0, [r4, 0x14]
- ldr r0, [sp, 0x48]
- movs r2, 0xC0
- lsls r2, 12
- adds r1, r0, r2
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _0811FF20
- ldr r0, =gUnknown_0203A124
- ldr r2, [r0]
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- str r1, [r2, 0x24]
- ldr r3, [sp, 0x4C]
- asrs r0, r3, 16
- adds r0, 0x10
- strh r0, [r1, 0x2E]
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- bl StartSpriteAnim
- b _0811FF28
- .pool
-_0811FEFC:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _0811FF14
- .pool
-_0811FF0C:
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_0811FF14:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _0811FF28
- .pool
-_0811FF20:
- ldr r0, =gUnknown_0203A124
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x24]
-_0811FF28:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_811FC80
-
- thumb_func_start TaskDummy7
-TaskDummy7: @ 811FF3C
- bx lr
- thumb_func_end TaskDummy7
-
- thumb_func_start sub_811FF40
-sub_811FF40: @ 811FF40
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_0203A124
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0811FF6C
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _0811FF76
- .pool
-_0811FF6C:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_0811FF76:
- pop {r0}
- bx r0
- thumb_func_end sub_811FF40
-
- thumb_func_start sub_811FF7C
-sub_811FF7C: @ 811FF7C
- ldr r1, =gUnknown_0203A124
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 4
- ldrh r2, [r0, 0x2E]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .pool
- thumb_func_end sub_811FF7C
-
- thumb_func_start sub_811FF94
-sub_811FF94: @ 811FF94
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFA4
- ldr r2, =gUnknown_0859E65C
-_0811FFA4:
- movs r3, 0x10
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FF94
-
- thumb_func_start sub_811FFB4
-sub_811FFB4: @ 811FFB4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _0811FFC4
- ldr r2, =gUnknown_0859E65C
-_0811FFC4:
- movs r3, 0x1
- bl sub_811FFD4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFB4
-
- thumb_func_start sub_811FFD4
-sub_811FFD4: @ 811FFD4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gUnknown_0859E67C
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, =0xffff0000
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, =gUnknown_0859EF1C
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_0859EFA4
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, =TaskDummy7
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _08120068
- movs r0, 0
- b _08120072
- .pool
-_08120068:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
-_08120072:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_811FFD4
-
- thumb_func_start sub_8120084
-sub_8120084: @ 8120084
- push {lr}
- lsls r0, 24
- lsrs r0, 17
- ldr r2, =gUnknown_0859E67C
- adds r0, r2
- movs r2, 0x80
- movs r3, 0x10
- bl RequestDma3Copy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8120084
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s
deleted file mode 100644
index df8e443a1..000000000
--- a/asm/mystery_event_menu.s
+++ /dev/null
@@ -1,669 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8178944
-sub_8178944: @ 8178944
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8178944
-
- thumb_func_start sub_8178958
-sub_8178958: @ 8178958
- push {lr}
- movs r2, 0
- ldr r1, =gLinkPlayers
- ldrh r0, [r1, 0x1A]
- ldrh r1, [r1, 0x36]
- cmp r0, r1
- bne _08178968
- movs r2, 0x1
-_08178968:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8178958
-
- thumb_func_start sub_8178974
-sub_8178974: @ 8178974
- push {r4,lr}
- sub sp, 0x8
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, =sub_8178944
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085EFD64
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085EFD68
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _08178A22
- bl DeactivateAllTextPrinters
- movs r4, 0
-_081789AC:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r4, 0x1
- cmp r4, 0x1
- ble _081789AC
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xD0
- bl sub_809882C
- movs r0, 0xE0
- bl sub_81978B0
- movs r1, 0xA0
- lsls r1, 1
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- ldr r0, =sub_8009404
- movs r1, 0
- bl CreateTask
- bl StopMapMusic
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- ldr r0, =sub_8178A78
- bl SetMainCallback2
-_08178A22:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178974
-
- thumb_func_start sub_8178A40
-sub_8178A40: @ 8178A40
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x1
- cmp r4, 0
- bne _08178A54
- ldr r1, =gText_EventSafelyLoaded
- bl StringCopy
- movs r5, 0
-_08178A54:
- cmp r4, 0x2
- bne _08178A5A
- movs r5, 0
-_08178A5A:
- cmp r4, 0x1
- bne _08178A66
- ldr r1, =gText_LoadErrorEndingSession
- adds r0, r6, 0
- bl StringCopy
-_08178A66:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8178A40
-
- thumb_func_start sub_8178A78
-sub_8178A78: @ 8178A78
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _08178A8E
- b _08178E58
-_08178A8E:
- lsls r0, 2
- ldr r1, =_08178AA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08178AA0:
- .4byte _08178AE4
- .4byte _08178B12
- .4byte _08178B48
- .4byte _08178B80
- .4byte _08178BCC
- .4byte _08178BDC
- .4byte _08178C54
- .4byte _08178D28
- .4byte _08178D38
- .4byte _08178D58
- .4byte _08178D60
- .4byte _08178D74
- .4byte _08178DBC
- .4byte _08178DE0
- .4byte _08178E0C
- .4byte _08178E24
- .4byte _08178E48
-_08178AE4:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xD
- bl SetWindowBorderStyle
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- b _08178E30
-_08178B12:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08178B20
- b _08178E58
-_08178B20:
- ldr r1, =gText_LinkStandby2
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08178E3C
- .pool
-_08178B48:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- beq _08178B56
- b _08178E58
-_08178B56:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, =gUnknown_020229C6
- ldr r2, =0x00005501
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_8009734
- b _08178E58
- .pool
-_08178B80:
- ldr r0, =gUnknown_030030E0
- ldr r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08178B8E
- b _08178D00
-_08178B8E:
- movs r0, 0x1C
- ands r1, r0
- cmp r1, 0x4
- bhi _08178B98
- b _08178D00
-_08178B98:
- movs r0, 0x15
- bl PlaySE
- ldr r1, =gText_PressAToLoadEvent
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08178D00
- .pool
-_08178BCC:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- beq _08178BDA
- b _08178E58
-_08178BDA:
- b _08178E34
-_08178BDC:
- bl sub_800ABAC
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _08178CD0
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08178C38
- movs r0, 0x5
- bl PlaySE
- bl sub_800A620
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r1, =gText_LoadingEvent
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- movs r2, 0x87
- lsls r2, 3
- adds r1, r4, r2
- b _08178E3C
- .pool
-_08178C38:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08178C42
- b _08178E58
-_08178C42:
- movs r0, 0x5
- bl PlaySE
- bl sub_80097E8
- movs r0, 0x87
- lsls r0, 3
- adds r1, r4, r0
- b _08178D1E
-_08178C54:
- bl sub_800B320
- lsls r0, 24
- cmp r0, 0
- beq _08178D00
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08178C68
- b _08178E58
-_08178C68:
- movs r0, 0x2
- movs r1, 0x2
- bl sub_800A0C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08178CAC
- bl sub_800AC34
- ldr r4, =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8178A40
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- b _08178CF2
- .pool
-_08178CAC:
- bl sub_8178958
- lsls r0, 24
- cmp r0, 0
- beq _08178CCC
- ldr r1, =gText_DontRemoveCableTurnOff
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- b _08178E34
- .pool
-_08178CCC:
- bl sub_80097E8
-_08178CD0:
- ldr r4, =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8178A40
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
-_08178CF2:
- movs r1, 0xD
- strb r1, [r0]
- b _08178E58
- .pool
-_08178D00:
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08178D0E
- b _08178E58
-_08178D0E:
- movs r0, 0x5
- bl PlaySE
- bl sub_80097E8
- movs r2, 0x87
- lsls r2, 3
- adds r1, r4, r2
-_08178D1E:
- movs r0, 0xF
- strb r0, [r1]
- b _08178E58
- .pool
-_08178D28:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- beq _08178D36
- b _08178E58
-_08178D36:
- b _08178E34
-_08178D38:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _08178D44
- b _08178E58
-_08178D44:
- bl ResetBlockReceivedFlags
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08178E3C
- .pool
-_08178D58:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r4, r0
- b _08178E3C
-_08178D60:
- bl sub_800AC34
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08178E3C
- .pool
-_08178D74:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r6, [r0]
- cmp r6, 0
- bne _08178E58
- ldr r5, =0x0201c000
- adds r0, r5, 0
- bl sub_81538A0
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- str r6, [sp, 0x4]
- ldr r2, =0x050001f5
- add r0, sp, 0x4
- adds r1, r5, 0
- bl CpuSet
- ldr r0, =gStringVar4
- adds r1, r4, 0
- bl sub_8178A40
- lsls r0, 24
- cmp r0, 0
- bne _08178E34
- movs r0, 0
- bl TrySavingData
- b _08178E34
- .pool
-_08178DBC:
- ldr r1, =gStringVar4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08178E3C
- .pool
-_08178DE0:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _08178E58
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_0203BCF8
- strb r2, [r0]
- b _08178E58
- .pool
-_08178E0C:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08178E58
- movs r0, 0x5
- bl PlaySE
- movs r2, 0x87
- lsls r2, 3
- adds r1, r4, r2
- b _08178E3C
-_08178E24:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
-_08178E30:
- bl BeginNormalPaletteFade
-_08178E34:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_08178E3C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08178E58
- .pool
-_08178E48:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08178E58
- bl DoSoftReset
-_08178E58:
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08178E98
- bl sub_800ABBC
- lsls r0, 24
- cmp r0, 0
- bne _08178E98
- bl sub_80097E8
- ldr r4, =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8178A40
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_8178EC4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0xD
- strb r1, [r0]
-_08178E98:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8178A78
-
- thumb_func_start sub_8178EC4
-sub_8178EC4: @ 8178EC4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x1C
- adds r5, r0, 0
- mov r10, r1
- adds r6, r2, 0
- ldr r4, [sp, 0x38]
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0x1
- mov r8, r1
- add r0, sp, 0x14
- mov r1, r8
- strb r1, [r0]
- adds r1, r0, 0
- movs r0, 0x2
- strb r0, [r1, 0x1]
- movs r0, 0x3
- strb r0, [r1, 0x2]
- adds r0, r1, 0
- ldrb r0, [r0]
- lsls r1, r0, 4
- orrs r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- str r3, [sp, 0x18]
- bl FillWindowPixelBuffer
- mov r0, r9
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- add r0, sp, 0x14
- str r0, [sp, 0x8]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp, 0xC]
- mov r1, r10
- str r1, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r6, 0
- ldr r3, [sp, 0x18]
- bl AddTextPrinterParametrized2
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8178EC4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s
deleted file mode 100644
index fbcc5f036..000000000
--- a/asm/mystery_event_script.s
+++ /dev/null
@@ -1,870 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81537CC
-sub_81537CC: @ 81537CC
- push {r4,lr}
- adds r4, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- lsrs r2, 16
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _081537FC
- ands r1, r3
- cmp r1, 0
- beq _081537FC
- movs r0, 0x4
- ands r2, r0
- cmp r2, 0
- beq _081537FC
- movs r0, 0x80
- lsls r0, 2
- ands r0, r4
- cmp r0, 0
- beq _081537FC
- movs r0, 0x1
- b _081537FE
-_081537FC:
- movs r0, 0
-_081537FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81537CC
-
- thumb_func_start sub_8153804
-sub_8153804: @ 8153804
- push {lr}
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674C86
- bl StringExpandPlaceholders
- movs r0, 0x3
- bl SetMysteryEventScriptStatus
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153804
-
- thumb_func_start sub_8153820
-sub_8153820: @ 8153820
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, =gUnknown_082DED2C
- ldr r2, =gUnknown_082DED2C + 0x44
- bl InitScriptContext
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetupBytecodeScript
- str r5, [r4, 0x64]
- movs r0, 0
- str r0, [r4, 0x68]
- str r0, [r4, 0x6C]
- str r0, [r4, 0x70]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153820
-
- thumb_func_start sub_8153850
-sub_8153850: @ 8153850
- push {r4,lr}
- adds r4, r0, 0
- bl RunScriptCommand
- lsls r0, 24
- cmp r0, 0
- beq _08153868
- ldr r0, [r4, 0x70]
- cmp r0, 0
- beq _08153868
- movs r0, 0x1
- b _0815386A
-_08153868:
- movs r0, 0
-_0815386A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8153850
-
- thumb_func_start sub_8153870
-sub_8153870: @ 8153870
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_0203BBC0
- bl sub_8153820
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153870
-
- thumb_func_start sub_8153884
-sub_8153884: @ 8153884
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =gUnknown_0203BBC0
- adds r0, r4, 0
- bl sub_8153850
- ldr r1, [r4, 0x6C]
- str r1, [r5]
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153884
-
- thumb_func_start sub_81538A0
-sub_81538A0: @ 81538A0
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, =gUnknown_0203BBC0
- adds r0, r4, 0
- bl sub_8153820
-_081538AC:
- adds r0, r4, 0
- bl sub_8153850
- cmp r0, 0
- bne _081538AC
- ldr r0, [r4, 0x6C]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81538A0
-
- thumb_func_start SetMysteryEventScriptStatus
-SetMysteryEventScriptStatus: @ 81538C4
- ldr r1, =gUnknown_0203BBC0
- str r0, [r1, 0x6C]
- bx lr
- .pool
- thumb_func_end SetMysteryEventScriptStatus
-
- thumb_func_start sub_81538D0
-sub_81538D0: @ 81538D0
- push {lr}
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003b18
- adds r3, r0, r1
- movs r1, 0
-_081538DE:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r2, r0
- adds r1, 0x1
- cmp r1, 0xB
- bls _081538DE
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81538D0
-
- thumb_func_start sub_81538F8
-sub_81538F8: @ 81538F8
- push {r4,r5,lr}
- ldr r5, =gSaveBlock1Ptr
- ldr r0, [r5]
- ldr r1, =0x00003b18
- adds r4, r0, r1
- bl sub_81538D0
- adds r1, r0, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0815392A
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0815392A
- ldrh r0, [r4, 0x2]
- cmp r0, 0
- beq _0815392A
- cmp r1, 0
- beq _0815392A
- ldr r0, [r5]
- ldr r2, =0x00003b14
- adds r0, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _0815393C
-_0815392A:
- movs r0, 0
- b _0815393E
- .pool
-_0815393C:
- movs r0, 0x1
-_0815393E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81538F8
-
- thumb_func_start sub_8153944
-sub_8153944: @ 8153944
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00003b14
- adds r1, r0
- ldr r2, =0x01000008
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153944
-
- thumb_func_start sub_8153970
-sub_8153970: @ 8153970
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r6, r2, 0
- cmp r3, 0
- beq _08153990
- cmp r1, 0
- beq _08153990
- cmp r2, 0
- bne _08153996
-_08153990:
- bl sub_8153944
- b _081539BC
-_08153996:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- ldr r1, =0x00003b18
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- ldr r2, =0x00003b19
- adds r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- adds r1, 0x2
- adds r0, r1
- strh r6, [r0]
- bl sub_81538D0
- ldr r1, [r4]
- ldr r2, =0x00003b14
- adds r1, r2
- str r0, [r1]
-_081539BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8153970
-
- thumb_func_start sub_81539D4
-sub_81539D4: @ 81539D4
- push {r4-r6,lr}
- ldr r6, =gSaveBlock1Ptr
- ldr r0, [r6]
- ldr r1, =0x00003b18
- adds r4, r0, r1
- bl sub_81538F8
- cmp r0, 0
- bne _081539F8
- bl sub_8153944
- movs r0, 0
- b _08153A1A
- .pool
-_081539F8:
- ldrh r5, [r4, 0x2]
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- cmp r0, 0
- bne _08153A0C
- bl sub_8153944
- b _08153A18
-_08153A0C:
- bl sub_81538D0
- ldr r1, [r6]
- ldr r2, =0x00003b14
- adds r1, r2
- str r0, [r1]
-_08153A18:
- adds r0, r5, 0
-_08153A1A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81539D4
-
- thumb_func_start script_status_stop_and_ret_1
-script_status_stop_and_ret_1: @ 8153A24
- push {lr}
- bl StopScript
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end script_status_stop_and_ret_1
-
- thumb_func_start sub_8153A30
-sub_8153A30: @ 8153A30
- push {r4-r7,lr}
- adds r7, r0, 0
- bl ScriptReadWord
- str r0, [r7, 0x68]
- adds r0, r7, 0
- bl ScriptReadHalfword
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r7, 0
- bl ScriptReadWord
- adds r6, r0, 0
- adds r0, r7, 0
- bl ScriptReadHalfword
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- bl ScriptReadWord
- adds r3, r0, 0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_81537CC
- cmp r0, 0x1
- bne _08153A74
- str r0, [r7, 0x70]
- b _08153A78
-_08153A74:
- bl sub_8153804
-_08153A78:
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8153A30
-
- thumb_func_start sub_8153A80
-sub_8153A80: @ 8153A80
- movs r0, 0
- bx lr
- thumb_func_end sub_8153A80
-
- thumb_func_start sub_8153A84
-sub_8153A84: @ 8153A84
- ldr r1, [r0, 0x8]
- ldrb r2, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- str r2, [r0, 0x6C]
- movs r0, 0
- bx lr
- thumb_func_end sub_8153A84
-
- thumb_func_start sub_8153A94
-sub_8153A94: @ 8153A94
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r5, [r0]
- adds r0, 0x1
- str r0, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- ldr r1, [r4, 0x68]
- subs r0, r1
- ldr r1, [r4, 0x64]
- adds r1, r0, r1
- cmp r5, 0xFF
- beq _08153AB8
- ldr r0, [r4, 0x6C]
- cmp r5, r0
- bne _08153ABE
-_08153AB8:
- ldr r0, =gStringVar4
- bl StringExpandPlaceholders
-_08153ABE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153A94
-
- thumb_func_start sub_8153ACC
-sub_8153ACC: @ 8153ACC
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- ldr r1, [r4, 0x68]
- subs r0, r1
- ldr r1, [r4, 0x64]
- adds r0, r1
- bl ScriptContext2_RunNewScript
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8153ACC
-
- thumb_func_start sub_8153AE8
-sub_8153AE8: @ 8153AE8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- bl IsEnigmaBerryValid
- mov r8, r0
- adds r0, r7, 0
- bl ScriptReadWord
- adds r4, r0, 0
- ldr r0, [r7, 0x68]
- subs r4, r0
- ldr r0, [r7, 0x64]
- adds r4, r0
- ldr r0, =gStringVar1
- mov r9, r0
- ldr r6, =gSaveBlock1Ptr
- ldr r1, [r6]
- ldr r5, =0x000031f8
- adds r1, r5
- movs r2, 0x7
- bl StringCopyN
- adds r0, r4, 0
- bl SetEnigmaBerry
- ldr r4, =gStringVar2
- ldr r1, [r6]
- adds r1, r5
- adds r0, r4, 0
- movs r2, 0x7
- bl StringCopyN
- mov r0, r8
- cmp r0, 0
- bne _08153B54
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674AE4
- b _08153B74
- .pool
-_08153B54:
- mov r0, r9
- adds r1, r4, 0
- bl StringCompare
- cmp r0, 0
- beq _08153B70
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674B16
- b _08153B74
- .pool
-_08153B70:
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674B42
-_08153B74:
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r7, 0x6C]
- bl IsEnigmaBerryValid
- cmp r0, 0x1
- bne _08153B9C
- ldr r0, =0x0000402d
- movs r1, 0x1
- bl VarSet
- b _08153BA0
- .pool
-_08153B9C:
- movs r0, 0x1
- str r0, [r7, 0x6C]
-_08153BA0:
- movs r0, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8153AE8
-
- thumb_func_start sub_8153BB0
-sub_8153BB0: @ 8153BB0
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, [r4, 0x8]
- ldrb r0, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- ldrb r1, [r2]
- adds r2, 0x1
- str r2, [r4, 0x8]
- bl GiveGiftRibbonToParty
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674B6A
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r4, 0x6C]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153BB0
-
- thumb_func_start sub_8153BE4
-sub_8153BE4: @ 8153BE4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, [r4, 0x8]
- ldrb r1, [r0]
- mov r9, r1
- adds r0, 0x1
- str r0, [r4, 0x8]
- ldrb r1, [r0]
- mov r8, r1
- adds r1, r0, 0x1
- str r1, [r4, 0x8]
- ldrb r6, [r0, 0x1]
- adds r1, 0x1
- str r1, [r4, 0x8]
- adds r0, r4, 0
- bl ScriptReadWord
- adds r5, r0, 0
- ldr r0, [r4, 0x68]
- subs r5, r0
- ldr r0, [r4, 0x64]
- adds r5, r0
- adds r0, r4, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, [r4, 0x68]
- subs r1, r0
- ldr r0, [r4, 0x64]
- adds r1, r0
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- str r6, [sp]
- adds r0, r5, 0
- mov r2, r9
- mov r3, r8
- bl InitRamScript
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8153BE4
-
- thumb_func_start sub_8153C4C
-sub_8153C4C: @ 8153C4C
- push {r4,lr}
- adds r4, r0, 0
- bl EnableNationalPokedex
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674B9E
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r4, 0x6C]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153C4C
-
- thumb_func_start sub_8153C70
-sub_8153C70: @ 8153C70
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x8]
- ldrb r0, [r1]
- adds r1, 0x1
- str r1, [r4, 0x8]
- bl sub_811EFC0
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674BD4
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r4, 0x6C]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153C70
-
- thumb_func_start sub_8153C9C
-sub_8153C9C: @ 8153C9C
- push {r4,r5,lr}
- ldr r1, [r0, 0x8]
- ldrb r5, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldrb r4, [r1]
- adds r1, 0x1
- str r1, [r0, 0x8]
- bl ScriptReadHalfword
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8153970
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8153C9C
-
- thumb_func_start sub_8153CC8
-sub_8153CC8: @ 8153CC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x88
- adds r6, r0, 0
- bl ScriptReadWord
- ldr r1, [r6, 0x68]
- subs r0, r1
- ldr r1, [r6, 0x64]
- adds r5, r0, r1
- movs r0, 0x64
- adds r0, r5
- mov r8, r0
- add r4, sp, 0x24
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bne _08153D18
- ldr r0, =gStringVar1
- ldr r1, =gText_EggNickname
- movs r2, 0xB
- bl StringCopyN
- b _08153D22
- .pool
-_08153D18:
- ldr r0, =gStringVar1
- ldr r1, =gText_Pokemon
- movs r2, 0xB
- bl StringCopyN
-_08153D22:
- ldr r0, =gPlayerPartyCount
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08153D4C
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674C02
- bl StringExpandPlaceholders
- movs r0, 0x3
- b _08153DB6
- .pool
-_08153D4C:
- ldr r7, =gPlayerParty + 500
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- mov r0, sp
- mov r1, r8
- movs r2, 0x24
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- beq _08153D86
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x2
- bl GetSetPokedexFlag
- adds r0, r4, 0
- movs r1, 0x3
- bl GetSetPokedexFlag
-_08153D86:
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _08153DA4
- adds r0, r7, 0
- mov r1, sp
- bl GiveMailToMon2
-_08153DA4:
- bl CompactPartySlots
- bl CalculatePlayerPartyCount
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674BF0
- bl StringExpandPlaceholders
- movs r0, 0x2
-_08153DB6:
- str r0, [r6, 0x6C]
- movs r0, 0
- add sp, 0x88
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153CC8
-
- thumb_func_start sub_8153DD4
-sub_8153DD4: @ 8153DD4
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, [r4, 0x68]
- subs r1, r0
- ldr r0, [r4, 0x64]
- adds r1, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r2, =0x00000bec
- adds r0, r2
- movs r2, 0xBC
- bl memcpy
- bl sub_81652B4
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_08674C31
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r4, 0x6C]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153DD4
-
- thumb_func_start sub_8153E1C
-sub_8153E1C: @ 8153E1C
- push {r4,lr}
- adds r4, r0, 0
- bl EnableResetRTC
- ldr r0, =gStringVar4
- ldr r1, =gText_InGameClockUsable
- bl StringExpandPlaceholders
- movs r0, 0x2
- str r0, [r4, 0x6C]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8153E1C
-
- thumb_func_start sub_8153E40
-sub_8153E40: @ 8153E40
- push {r4-r6,lr}
- adds r6, r0, 0
- bl ScriptReadWord
- adds r5, r0, 0
- adds r0, r6, 0
- bl ScriptReadWord
- adds r4, r0, 0
- ldr r0, [r6, 0x68]
- subs r4, r0
- ldr r0, [r6, 0x64]
- adds r4, r0
- adds r0, r6, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, [r6, 0x68]
- subs r1, r0
- ldr r0, [r6, 0x64]
- adds r1, r0
- subs r1, r4
- adds r0, r4, 0
- bl CalcByteArraySum
- cmp r5, r0
- beq _08153E7E
- movs r0, 0
- str r0, [r6, 0x70]
- movs r0, 0x1
- str r0, [r6, 0x6C]
-_08153E7E:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8153E40
-
- thumb_func_start sub_8153E88
-sub_8153E88: @ 8153E88
- push {r4-r6,lr}
- adds r6, r0, 0
- bl ScriptReadWord
- adds r5, r0, 0
- adds r0, r6, 0
- bl ScriptReadWord
- adds r4, r0, 0
- ldr r0, [r6, 0x68]
- subs r4, r0
- ldr r0, [r6, 0x64]
- adds r4, r0
- adds r0, r6, 0
- bl ScriptReadWord
- adds r1, r0, 0
- ldr r0, [r6, 0x68]
- subs r1, r0
- ldr r0, [r6, 0x64]
- adds r1, r0
- subs r1, r4
- adds r0, r4, 0
- bl CalcCRC16
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- beq _08153ECA
- movs r0, 0
- str r0, [r6, 0x70]
- movs r0, 0x1
- str r0, [r6, 0x6C]
-_08153ECA:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8153E88
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
deleted file mode 100644
index 22d7b260e..000000000
--- a/asm/naming_screen.s
+++ /dev/null
@@ -1,4267 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start DoNamingScreen
-@ int DoNamingScreen(u8 type, sav2 *sav2_ptr, s16 player_gender, s16 a4, int a5, void ( *after_finishing_callback)())
-DoNamingScreen: @ 80E2D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- ldr r4, =gUnknown_02039F94
- movs r0, 0xF2
- lsls r0, 5
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080E2DA8
- ldr r0, [sp, 0x1C]
- bl SetMainCallback2
- b _080E2DE2
- .pool
-_080E2DA8:
- ldr r1, =0x00001e2c
- adds r0, r1
- strb r7, [r0]
- ldr r0, [r4]
- ldr r2, =0x00001e34
- adds r1, r0, r2
- strh r5, [r1]
- adds r2, 0x2
- adds r1, r0, r2
- strh r6, [r1]
- ldr r1, =0x00001e38
- adds r2, r0, r1
- ldr r1, [sp, 0x18]
- str r1, [r2]
- ldr r2, =0x00001e30
- adds r1, r0, r2
- mov r2, r8
- str r2, [r1]
- ldr r1, =0x00001e3c
- adds r0, r1
- ldr r2, [sp, 0x1C]
- str r2, [r0]
- cmp r7, 0
- bne _080E2DDC
- bl StartTimer1
-_080E2DDC:
- ldr r0, =c2_choose_name_or_words_screen
- bl SetMainCallback2
-_080E2DE2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoNamingScreen
-
- thumb_func_start c2_choose_name_or_words_screen
-c2_choose_name_or_words_screen: @ 80E2E04
- push {lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _080E2E9C
- lsls r0, 2
- ldr r1, =_080E2E28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E2E28:
- .4byte _080E2E48
- .4byte _080E2E52
- .4byte _080E2E58
- .4byte _080E2E5E
- .4byte _080E2E68
- .4byte _080E2E6E
- .4byte _080E2E74
- .4byte _080E2E7A
-_080E2E48:
- bl sub_80E4F70
- bl choose_name_or_words_screen_setup
- b _080E2E86
-_080E2E52:
- bl choose_name_or_words_screen_init_bgs
- b _080E2E86
-_080E2E58:
- bl ResetPaletteFade
- b _080E2E86
-_080E2E5E:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _080E2E86
-_080E2E68:
- bl ResetTasks
- b _080E2E86
-_080E2E6E:
- bl choose_name_or_words_screen_apply_bg_pals
- b _080E2E86
-_080E2E74:
- bl choose_name_or_words_screen_load_bg_tile_patterns
- b _080E2E86
-_080E2E7A:
- bl sub_80E3CC8
- bl UpdatePaletteFade
- bl sub_80E501C
-_080E2E86:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080E2EA4
- .pool
-_080E2E9C:
- bl sub_80E4CB8
- bl sub_80E3194
-_080E2EA4:
- pop {r0}
- bx r0
- thumb_func_end c2_choose_name_or_words_screen
-
- thumb_func_start choose_name_or_words_screen_setup
-@ void choose_name_or_words_screen_setup()
-choose_name_or_words_screen_setup: @ 80E2EA8
- push {r4-r7,lr}
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r5]
- ldr r3, =0x00001e18
- adds r0, r1, r3
- movs r4, 0
- strh r2, [r0]
- ldr r7, =0x00001e1a
- adds r0, r1, r7
- strh r2, [r0]
- ldr r0, =0x00001e1c
- adds r2, r1, r0
- movs r3, 0x1
- movs r0, 0x1
- strh r0, [r2]
- adds r7, 0x4
- adds r2, r1, r7
- movs r0, 0x2
- strh r0, [r2]
- movs r0, 0xF1
- lsls r0, 5
- adds r1, r0
- strb r4, [r1]
- ldr r0, [r5]
- ldr r1, =0x00001e21
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r5]
- ldr r6, =0x00001e28
- adds r3, r1, r6
- ldr r2, =gUnknown_0858BFD8
- ldr r4, =0x00001e2c
- adds r0, r1, r4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldrb r0, [r0, 0x4]
- ldr r2, =0x00001e22
- adds r1, r2
- strb r0, [r1]
- ldr r2, [r5]
- adds r0, r2, r6
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 3
- movs r0, 0xF0
- subs r0, r1
- asrs r3, r0, 1
- adds r0, r3, 0x6
- subs r7, 0x8
- adds r1, r2, r7
- strh r0, [r1]
- adds r2, r4
- ldrb r0, [r2]
- cmp r0, 0x4
- bne _080E2F2C
- adds r0, r3, 0
- adds r0, 0x11
- strh r0, [r1]
-_080E2F2C:
- ldr r0, [r5]
- ldr r4, =gKeyRepeatStartDelay
- ldrh r1, [r4]
- ldr r2, =0x00001e25
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- movs r3, 0xC0
- lsls r3, 5
- adds r0, r3
- movs r1, 0xFF
- movs r2, 0x10
- bl memset
- ldr r1, [r5]
- adds r0, r1, r6
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E2F64
- movs r7, 0xC0
- lsls r7, 5
- adds r0, r1, r7
- ldr r2, =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_080E2F64:
- movs r0, 0x10
- strh r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end choose_name_or_words_screen_setup
-
- thumb_func_start sub_80E2FA4
-sub_80E2FA4: @ 80E2FA4
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, =gSprites
- movs r5, 0x5
- negs r5, r5
-_080E2FAE:
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r4
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- lsls r0, r1, 31
- cmp r0, 0
- beq _080E2FC8
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_080E2FC8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3F
- bls _080E2FAE
- movs r0, 0
- bl sub_80E3E3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E2FA4
-
- thumb_func_start choose_name_or_words_screen_init_bgs
-choose_name_or_words_screen_init_bgs: @ 80E2FE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0xC
- mov r8, r0
- add r2, sp, 0x8
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080E300A:
- strh r6, [r2]
- add r0, sp, 0x8
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080E300A
- strh r6, [r2]
- add r2, sp, 0x8
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0xC]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x8
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0858BE00
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl sub_81971D0
- bl sub_8197200
-_080E30D8:
- lsls r0, r4, 3
- ldr r1, =gUnknown_0858BE10
- adds r0, r1
- bl AddWindow
- ldr r5, =gUnknown_02039F94
- ldr r1, [r5]
- ldr r2, =0x00001e11
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080E30D8
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r1, 0xC8
- lsls r1, 3
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end choose_name_or_words_screen_init_bgs
-
- thumb_func_start sub_80E3194
-sub_80E3194: @ 80E3194
- push {lr}
- ldr r0, =sub_80E31B0
- movs r1, 0x2
- bl CreateTask
- ldr r0, =sub_80E4F58
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3194
-
- thumb_func_start sub_80E31B0
-sub_80E31B0: @ 80E31B0
- push {lr}
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080E3240
- lsls r0, 2
- ldr r1, =_080E31D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E31D8:
- .4byte _080E3200
- .4byte _080E320E
- .4byte _080E3218
- .4byte _080E3214
- .4byte _080E321E
- .4byte _080E3224
- .4byte _080E322A
- .4byte _080E3230
- .4byte _080E3236
- .4byte _080E323C
-_080E3200:
- bl sub_80E3294
- bl sub_80E2FA4
- bl sub_80E4F84
- b _080E3240
-_080E320E:
- bl sub_80E335C
- b _080E3240
-_080E3214:
- bl sub_80E33A8
-_080E3218:
- bl sub_80E3398
- b _080E3240
-_080E321E:
- bl sub_80E3640
- b _080E3240
-_080E3224:
- bl sub_80E3680
- b _080E3240
-_080E322A:
- bl pokemon_store
- b _080E3240
-_080E3230:
- bl sub_80E3604
- b _080E3240
-_080E3236:
- bl sub_80E3448
- b _080E3240
-_080E323C:
- bl sub_80E347C
-_080E3240:
- pop {r0}
- bx r0
- thumb_func_end sub_80E31B0
-
- thumb_func_start sub_80E3244
-sub_80E3244: @ 80E3244
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0858BEBB
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80E3244
-
- thumb_func_start sub_80E3254
-sub_80E3254: @ 80E3254
- ldr r1, =gUnknown_0858BEBE
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80E3254
-
- thumb_func_start sub_80E3274
-sub_80E3274: @ 80E3274
- ldr r1, =gUnknown_0858BEC1
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80E3274
-
- thumb_func_start sub_80E3294
-sub_80E3294: @ 80E3294
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_08DD4544
- movs r0, 0x3
- bl sub_80E4CF8
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r1, =0x00001e22
- adds r0, r1
- movs r6, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gUnknown_08DD46E0
- movs r0, 0x2
- bl sub_80E4CF8
- ldr r1, =gUnknown_08DD4620
- movs r0, 0x1
- bl sub_80E4CF8
- ldr r0, [r5]
- ldr r1, =0x00001e12
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_80E4DE4
- ldr r0, [r5]
- ldr r1, =0x00001e11
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_80E4DE4
- movs r0, 0x2
- movs r1, 0
- bl nullsub_10
- movs r0, 0x1
- movs r1, 0x1
- bl nullsub_10
- bl sub_80E4D10
- bl sub_80E4964
- bl sub_80E4EF0
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldr r0, =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3294
-
- thumb_func_start sub_80E335C
-sub_80E335C: @ 80E335C
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E3384
- movs r0, 0x1
- bl sub_80E4630
- movs r0, 0x1
- bl sub_80E3E94
- ldr r0, =gUnknown_02039F94
- ldr r1, [r0]
- ldr r0, =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080E3384:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E335C
-
- thumb_func_start sub_80E3398
-sub_80E3398: @ 80E3398
- push {lr}
- bl sub_80E44BC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80E3398
-
- thumb_func_start sub_80E33A8
-sub_80E33A8: @ 80E33A8
- push {lr}
- bl sub_80E3F04
- lsls r0, 24
- cmp r0, 0
- beq _080E33CA
- movs r0, 0x1
- bl sub_80E4630
- bl sub_80E3E28
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
-_080E33CA:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E33A8
-
- thumb_func_start pokemon_store
-pokemon_store: @ 80E33D8
- push {r4,lr}
- bl sub_80E4BE4
- movs r0, 0
- bl sub_80E4630
- movs r0, 0
- bl sub_80E3E94
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl sub_80E3948
- ldr r4, =gUnknown_02039F94
- ldr r0, [r4]
- ldr r1, =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080E342C
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _080E342C
- bl pokemon_transfer_to_pc_with_message
- ldr r0, [r4]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- b _080E343A
- .pool
-_080E342C:
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0x1
-_080E343A:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end pokemon_store
-
- thumb_func_start sub_80E3448
-sub_80E3448: @ 80E3448
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02039F94
- ldr r1, [r0]
- ldr r0, =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3448
-
- thumb_func_start sub_80E347C
-sub_80E347C: @ 80E347C
- push {r4,r5,lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080E34C6
- ldr r4, =gUnknown_02039F94
- ldr r0, [r4]
- ldr r1, =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E34A0
- bl SeedRngAndSetTrainerId
-_080E34A0:
- ldr r0, [r4]
- ldr r1, =0x00001e3c
- adds r0, r1
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, =sub_80E31B0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, [r4]
- bl Free
- str r5, [r4]
-_080E34C6:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E347C
-
- thumb_func_start pokemon_transfer_to_pc_with_message
-pokemon_transfer_to_pc_with_message: @ 80E34E4
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0
- bl sub_813B260
- lsls r0, 24
- cmp r0, 0
- bne _080E3534
- ldr r4, =gStringVar1
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r2, =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _080E3574
- .pool
-_080E3534:
- ldr r4, =gStringVar1
- ldr r0, =0x00004036
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, =gStringVar2
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r2, =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r4, =gStringVar3
- bl get_unknown_box_id
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- movs r5, 0x2
-_080E3574:
- ldr r0, =0x000008ab
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080E3586
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080E3586:
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_0858BDB8
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl sav2_get_text_speed
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl AddTextPrinterParametrized
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemon_transfer_to_pc_with_message
-
- thumb_func_start sub_80E3604
-sub_80E3604: @ 80E3604
- push {lr}
- bl RunTextPrinters
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080E362E
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E362E
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
-_080E362E:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3604
-
- thumb_func_start sub_80E3640
-sub_80E3640: @ 80E3640
- push {lr}
- movs r0, 0
- bl sub_80E4630
- bl sub_80E4050
- bl sub_80E373C
- movs r0, 0x1
- bl sub_80E3E3C
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_80E3948
- movs r0, 0x6
- bl PlaySE
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3640
-
- thumb_func_start sub_80E3680
-sub_80E3680: @ 80E3680
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_80E3794
- lsls r0, 24
- cmp r0, 0
- beq _080E3732
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80E3DFC
- bl sub_80E3F70
- movs r5, 0
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r4, 0
- cmp r1, r0
- bne _080E36B2
- movs r5, 0x1
-_080E36B2:
- ldr r2, =gUnknown_02039F94
- ldr r0, [r2]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, [r2]
- ldr r3, =0x00001e22
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, [r2]
- adds r4, r3
- ldrb r0, [r4]
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4]
- cmp r5, 0
- beq _080E36F4
- mov r4, sp
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- b _080E3712
- .pool
-_080E36F4:
- mov r0, sp
- movs r2, 0
- ldrsh r4, [r0, r2]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _080E3714
- mov r4, sp
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
-_080E3712:
- strh r0, [r4]
-_080E3714:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl sub_80E3D78
- bl sub_80E4E5C
- movs r0, 0x1
- bl sub_80E4630
- movs r0, 0
- bl sub_80E3E3C
-_080E3732:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E3680
-
- thumb_func_start sub_80E373C
-sub_80E373C: @ 80E373C
- push {r4,lr}
- ldr r4, =sub_80E375C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E373C
-
- thumb_func_start sub_80E375C
-sub_80E375C: @ 80E375C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0858BEC4
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080E376E:
- 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 _080E376E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E375C
-
- thumb_func_start sub_80E3794
-sub_80E3794: @ 80E3794
- push {lr}
- ldr r0, =sub_80E375C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080E37AC
- movs r0, 0
- b _080E37AE
- .pool
-_080E37AC:
- movs r0, 0x1
-_080E37AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80E3794
-
- thumb_func_start sub_80E37B4
-sub_80E37B4: @ 80E37B4
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r3, =0x00001e18
- adds r2, r1, r3
- movs r3, 0
- strh r3, [r2]
- ldr r2, =0x00001e1a
- adds r1, r2
- strh r3, [r1]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end sub_80E37B4
-
- thumb_func_start sub_80E37DC
-sub_80E37DC: @ 80E37DC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r2, =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r1, =0x00001e18
- adds r0, r1
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r2, =0x00001e21
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _080E3852
- ldr r0, [r5]
- ldr r1, =0x00001e1c
- adds r2, r0, r1
- ldrb r3, [r2]
- adds r1, 0x2
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r2]
- strh r3, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080E3852:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E37DC
-
- thumb_func_start sub_80E3870
-sub_80E3870: @ 80E3870
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r2, =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r3, =0x00001e18
- adds r0, r3
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r3, =0x00001e21
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080E38EA
- ldr r0, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r0, r2
- ldrb r2, [r1]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r3
- strb r2, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080E38EA:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3870
-
- thumb_func_start sub_80E3904
-sub_80E3904: @ 80E3904
- push {lr}
- ldr r0, =sub_80E375C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3904
-
- thumb_func_start sub_80E3920
-sub_80E3920: @ 80E3920
- push {lr}
- ldr r0, =c3_0809E58C
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x3
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3920
-
- thumb_func_start sub_80E3948
-sub_80E3948: @ 80E3948
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =c3_0809E58C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _080E3988
- cmp r6, 0
- bne _080E3988
- strh r7, [r4, 0xA]
- movs r0, 0x1
- strh r0, [r4, 0xC]
- b _080E39B4
- .pool
-_080E3988:
- cmp r5, 0x3
- bne _080E3998
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080E3998
- cmp r6, 0
- beq _080E39B4
-_080E3998:
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _080E39AA
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80E3AE8
-_080E39AA:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_80E3B10
-_080E39B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E3948
-
- thumb_func_start c3_0809E58C
-c3_0809E58C: @ 80E39BC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _080E3A6E
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080E3A6E
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80E3A74
- lsls r0, 16
- lsrs r0, 16
- ldrb r3, [r4, 0xE]
- adds r1, r3, 0
- adds r2, r3, 0
- bl sub_80B609C
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E3A08
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080E3A6E
-_080E3A08:
- movs r0, 0x2
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r0, 0
- blt _080E3A32
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0xD
- bgt _080E3A28
- adds r0, r2, r1
- b _080E3A36
- .pool
-_080E3A28:
- movs r0, 0x10
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- b _080E3A3C
-_080E3A32:
- ldrh r3, [r4, 0xE]
- adds r0, r1, r3
-_080E3A36:
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x14]
- adds r0, r1, r2
-_080E3A3C:
- strh r0, [r4, 0x14]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- ldrh r1, [r4, 0xE]
- cmp r0, 0x10
- bne _080E3A5C
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _080E3A5C
- ldr r0, =0x0000fffc
- strh r0, [r4, 0x10]
- b _080E3A6E
- .pool
-_080E3A5C:
- lsls r0, r1, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080E3A6E
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0x2
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x14]
-_080E3A6E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end c3_0809E58C
-
- thumb_func_start sub_80E3A74
-sub_80E3A74: @ 80E3A74
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x87
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- add r6, sp, 0x8
- strh r0, [r6]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- mov r1, sp
- adds r1, 0xA
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- add r1, sp, 0xC
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- ldr r1, =0x00000101
- adds r0, r1
- mov r1, sp
- adds r1, 0xE
- strh r0, [r1]
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x8
- bl memcpy
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrh r0, [r0]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3A74
-
- thumb_func_start sub_80E3AE8
-sub_80E3AE8: @ 80E3AE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80E3A74
- lsls r0, 16
- ldr r2, =gPlttBufferFaded
- lsrs r0, 15
- adds r2, r0, r2
- ldr r1, =gPlttBufferUnfaded
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3AE8
-
- thumb_func_start sub_80E3B10
-sub_80E3B10: @ 80E3B10
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- movs r2, 0x4
- strh r2, [r0, 0xE]
- movs r1, 0x2
- strh r1, [r0, 0x10]
- strh r3, [r0, 0x12]
- strh r2, [r0, 0x14]
- bx lr
- thumb_func_end sub_80E3B10
-
- thumb_func_start sub_80E3B30
-sub_80E3B30: @ 80E3B30
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E3B48
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
-_080E3B48:
- ldrh r0, [r5, 0x36]
- movs r1, 0xFF
- ands r1, r0
- adds r6, r5, 0
- adds r6, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080E3B7C
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_080E3B7C:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080E3BAC
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080E3BAC
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _080E3BAC
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r1, r0
- beq _080E3BB6
-_080E3BAC:
- movs r0, 0
- strh r0, [r5, 0x38]
- movs r0, 0x2
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
-_080E3BB6:
- ldrh r0, [r5, 0x3C]
- subs r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- cmp r0, 0
- bne _080E3BDE
- ldrh r1, [r5, 0x3A]
- ldrh r2, [r5, 0x38]
- adds r0, r1, r2
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _080E3BD6
- cmp r0, 0
- bne _080E3BDA
-_080E3BD6:
- negs r0, r1
- strh r0, [r5, 0x3A]
-_080E3BDA:
- movs r0, 0x2
- strh r0, [r5, 0x3C]
-_080E3BDE:
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080E3C14
- ldrh r4, [r5, 0x38]
- lsls r5, r4, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 17
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, =0x01010000
- adds r0, r2
- lsrs r0, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r5, 0
- bl sub_80B609C
-_080E3C14:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3B30
-
- thumb_func_start sub_80E3C20
-sub_80E3C20: @ 80E3C20
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0858BED4
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E3C44
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080E3C52
-_080E3C44:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
-_080E3C52:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3C20
-
- thumb_func_start sub_80E3C6C
-sub_80E3C6C: @ 80E3C6C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, =gUnknown_0858BEDC
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl sub_80E4A60
- lsls r0, 24
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- cmp r0, r1
- beq _080E3C98
- movs r0, 0
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x30]
- b _080E3CBE
- .pool
-_080E3C98:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080E3CC0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r0, 0
-_080E3CBE:
- strh r0, [r4, 0x32]
-_080E3CC0:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E3C6C
-
- thumb_func_start sub_80E3CC8
-sub_80E3CC8: @ 80E3CC8
- push {lr}
- bl sub_80E3CE4
- bl sub_80E3F8C
- bl sub_80E4218
- bl sub_80E4290
- bl sub_80E4354
- pop {r0}
- bx r0
- thumb_func_end sub_80E3CC8
-
- thumb_func_start sub_80E3CE4
-sub_80E3CE4: @ 80E3CE4
- push {r4-r6,lr}
- ldr r0, =gUnknown_0858C138
- movs r1, 0x26
- movs r2, 0x58
- movs r3, 0x1
- bl CreateSprite
- ldr r5, =gUnknown_02039F94
- ldr r1, [r5]
- ldr r4, =0x00001e23
- adds r1, r4
- strb r0, [r1]
- movs r0, 0x1
- bl sub_80E3E3C
- ldr r6, =gSprites
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r2, [r5]
- adds r2, r4
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- strh r1, [r0, 0x3A]
- movs r0, 0
- movs r1, 0
- bl sub_80E3D78
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3CE4
-
- thumb_func_start sub_80E3D78
-sub_80E3D78: @ 80E3D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r2, =0x00001e23
- adds r1, r2
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, =gSprites
- adds r5, r1, r2
- lsrs r1, r0, 16
- mov r8, r1
- asrs r6, r0, 16
- ldr r4, =gUnknown_0858BEA0
- bl sub_80E3274
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- cmp r6, r0
- bge _080E3DD8
- bl sub_80E3274
- ldr r1, =gUnknown_0858BEA3
- lsls r0, 24
- lsrs r0, 21
- adds r0, r6, r0
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x26
- b _080E3DDA
- .pool
-_080E3DD8:
- movs r0, 0
-_080E3DDA:
- strh r0, [r5, 0x20]
- lsls r0, r7, 16
- asrs r0, 12
- adds r0, 0x58
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- strh r0, [r5, 0x34]
- mov r2, r8
- strh r2, [r5, 0x2E]
- strh r7, [r5, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E3D78
-
- thumb_func_start sub_80E3DFC
-sub_80E3DFC: @ 80E3DFC
- ldr r2, =gUnknown_02039F94
- ldr r2, [r2]
- ldr r3, =0x00001e23
- adds r2, r3
- ldrb r3, [r2]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, =gSprites
- adds r2, r3
- ldrh r3, [r2, 0x2E]
- strh r3, [r0]
- ldrh r0, [r2, 0x30]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80E3DFC
-
- thumb_func_start sub_80E3E28
-sub_80E3E28: @ 80E3E28
- push {lr}
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80E3D78
- pop {r0}
- bx r0
- thumb_func_end sub_80E3E28
-
- thumb_func_start sub_80E3E3C
-sub_80E3E3C: @ 80E3E3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gSprites
- ldr r1, =gUnknown_02039F94
- ldr r4, [r1]
- ldr r1, =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- ldr r1, =0xffffff00
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3E3C
-
- thumb_func_start sub_80E3E94
-sub_80E3E94: @ 80E3E94
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, =gSprites
- ldr r1, =gUnknown_02039F94
- ldr r4, [r1]
- ldr r1, =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- movs r1, 0xFF
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsrs r0, 16
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3E94
-
- thumb_func_start sub_80E3ED8
-sub_80E3ED8: @ 80E3ED8
- push {lr}
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3ED8
-
- thumb_func_start sub_80E3F04
-sub_80E3F04: @ 80E3F04
- ldr r2, =gSprites
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_80E3F04
-
- thumb_func_start sub_80E3F30
-sub_80E3F30: @ 80E3F30
- push {r4,r5,lr}
- sub sp, 0x4
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl sub_80E3DFC
- mov r0, sp
- movs r1, 0
- ldrsh r4, [r0, r1]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _080E3F64
- ldr r0, =gUnknown_0858BEE4
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r1, r0
- ldrb r0, [r1]
- b _080E3F66
- .pool
-_080E3F64:
- movs r0, 0
-_080E3F66:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E3F30
-
- thumb_func_start sub_80E3F70
-sub_80E3F70: @ 80E3F70
- push {r4,lr}
- ldr r4, =gUnknown_0858BEA0
- bl sub_80E3274
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E3F70
-
- thumb_func_start sub_80E3F8C
-sub_80E3F8C: @ 80E3F8C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gUnknown_0858C0C0
- movs r1, 0xCC
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r2, =0x00001e24
- adds r1, r2
- strb r0, [r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, =gSprites
- mov r8, r0
- add r5, r8
- ldr r1, =gUnknown_0858C050
- adds r0, r5, 0
- bl SetSubspriteTables
- adds r1, r5, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r6, 0x4
- orrs r0, r6
- strb r0, [r1]
- ldr r0, =gUnknown_0858C0F0
- movs r1, 0xCC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r8
- ldr r1, =gUnknown_0858C058
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r6
- strb r0, [r4]
- ldr r0, =gUnknown_0858C0D8
- movs r1, 0xCC
- movs r2, 0x53
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r6
- strb r1, [r2, 0x5]
- strh r0, [r5, 0x3C]
- adds r2, 0x3E
- ldrb r0, [r2]
- orrs r0, r6
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E3F8C
-
- thumb_func_start sub_80E4050
-sub_80E4050: @ 80E4050
- ldr r0, =gUnknown_02039F94
- ldr r2, [r0]
- ldr r1, =0x00001e24
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldr r1, =0x00001e22
- adds r2, r1
- ldrb r1, [r2]
- strh r1, [r0, 0x30]
- bx lr
- .pool
- thumb_func_end sub_80E4050
-
- thumb_func_start sub_80E4084
-sub_80E4084: @ 80E4084
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gUnknown_0858BEE8
-_080E408A:
- movs r1, 0x2E
- 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 _080E408A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4084
-
- thumb_func_start sub_80E40AC
-sub_80E40AC: @ 80E40AC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r1, =gSprites
- adds r5, r1
- movs r2, 0x3C
- ldrsh r0, [r6, r2]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e22
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E3244
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80E41B8
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E40AC
-
- thumb_func_start sub_80E4100
-sub_80E4100: @ 80E4100
- movs r0, 0
- bx lr
- thumb_func_end sub_80E4100
-
- thumb_func_start sub_80E4104
-sub_80E4104: @ 80E4104
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, =gSprites
- adds r4, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080E4168
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, =0x0000fffc
- strh r0, [r4, 0x26]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- bl sub_80E3244
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80E41B8
-_080E4168:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E4104
-
- thumb_func_start sub_80E4178
-sub_80E4178: @ 80E4178
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r2, r0, r1
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080E41AC
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_080E41AC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E4178
-
- thumb_func_start sub_80E41B8
-sub_80E41B8: @ 80E41B8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0858BEF8
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- mov r1, r8
- ldrb r2, [r1, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- mov r0, r8
- strb r1, [r0, 0x5]
- ldr r0, =gUnknown_0858BEFE
- adds r4, r0
- ldrh r0, [r4]
- bl GetSpriteTileStartByTag
- adds r1, r6, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r6, 0x42
- movs r1, 0x3F
- ands r1, r5
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E41B8
-
- thumb_func_start sub_80E4218
-sub_80E4218: @ 80E4218
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gUnknown_0858C108
- movs r1, 0xCC
- movs r2, 0x74
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r6, =gSprites
- adds r4, r6
- ldr r0, =gUnknown_0858C070
- mov r8, r0
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r4]
- ldr r0, =gUnknown_0858C120
- movs r1, 0xCC
- movs r2, 0x8C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4218
-
- thumb_func_start sub_80E4290
-sub_80E4290: @ 80E4290
- push {r4-r6,lr}
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r4, =0x00001e16
- adds r0, r4
- ldrh r1, [r0]
- subs r1, 0x5
- ldr r0, =gUnknown_0858C150
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x38
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, r0, r4
- ldrh r1, [r4]
- movs r5, 0
- ldr r2, =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcs _080E4334
- adds r6, r3, 0
-_080E42E2:
- lsls r1, 16
- asrs r4, r1, 16
- movs r0, 0xC0
- lsls r0, 10
- adds r1, r0
- asrs r1, 16
- ldr r0, =gUnknown_0858C168
- movs r2, 0x3C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- strh r5, [r0, 0x2E]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x8
- lsls r4, 16
- lsrs r1, r4, 16
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcc _080E42E2
-_080E4334:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4290
-
- thumb_func_start sub_80E4354
-sub_80E4354: @ 80E4354
- push {lr}
- ldr r1, =gUnknown_0858BF04
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4354
-
- thumb_func_start TaskDummy2
-TaskDummy2: @ 80E4380
- bx lr
- thumb_func_end TaskDummy2
-
- thumb_func_start sub_80E4384
-sub_80E4384: @ 80E4384
- push {lr}
- sub sp, 0x4
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e34
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_808BD3C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- movs r2, 0x38
- movs r3, 0x25
- bl AddPseudoFieldObject
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x4
- bl StartSpriteAnim
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4384
-
- thumb_func_start sub_80E43E0
-sub_80E43E0: @ 80E43E0
- push {r4,lr}
- ldr r0, =gUnknown_0858C180
- movs r1, 0x38
- movs r2, 0x29
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- ldr r1, =gUnknown_0858C078
- adds r0, r4, 0
- bl SetSubspriteTables
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E43E0
-
- thumb_func_start sub_80E4420
-sub_80E4420: @ 80E4420
- push {lr}
- sub sp, 0xC
- bl sub_80D2F04
- ldr r0, =gUnknown_02039F94
- ldr r3, [r0]
- ldr r1, =0x00001e34
- adds r0, r3, r1
- ldrh r0, [r0]
- ldr r1, =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- ldr r2, =0x00001e38
- adds r3, r2
- ldr r2, [r3]
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x28
- bl sub_80D2CC4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4420
-
- thumb_func_start sub_80E447C
-sub_80E447C: @ 80E447C
- push {lr}
- sub sp, 0x4
- ldr r1, =SpriteCallbackDummy
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r2, 0x38
- movs r3, 0x25
- bl AddPseudoFieldObject
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x4
- bl StartSpriteAnim
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E447C
-
- thumb_func_start sub_80E44BC
-sub_80E44BC: @ 80E44BC
- push {r4,r5,lr}
- bl sub_80E460C
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80E3F30
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0x8
- bne _080E44DA
- bl sub_80E45E0
- b _080E44F6
-_080E44DA:
- cmp r4, 0x6
- bne _080E44E4
- bl sub_80E4AF8
- b _080E4504
-_080E44E4:
- cmp r5, 0x9
- beq _080E4500
- ldr r1, =gUnknown_0858BF18
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080E44F6:
- lsls r0, 24
- lsrs r0, 24
- b _080E4506
- .pool
-_080E4500:
- bl sub_80E3E28
-_080E4504:
- movs r0, 0
-_080E4506:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E44BC
-
- thumb_func_start sub_80E450C
-sub_80E450C: @ 80E450C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl sub_80E3948
- cmp r4, 0x5
- bne _080E4546
- bl sub_80E4B54
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80E3ED8
- cmp r4, 0
- beq _080E4546
- movs r0, 0x2
- bl sub_80E4630
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
-_080E4546:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E450C
-
- thumb_func_start sub_80E4558
-sub_80E4558: @ 80E4558
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80E3948
- cmp r4, 0x5
- beq _080E4572
- movs r0, 0
- b _080E457A
-_080E4572:
- bl sub_80E45E0
- lsls r0, 24
- lsrs r0, 24
-_080E457A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E4558
-
- thumb_func_start sub_80E4580
-sub_80E4580: @ 80E4580
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80E3948
- cmp r4, 0x5
- bne _080E459A
- bl sub_80E4AF8
-_080E459A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E4580
-
- thumb_func_start sub_80E45A4
-sub_80E45A4: @ 80E45A4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80E3948
- cmp r4, 0x5
- beq _080E45BE
- movs r0, 0
- b _080E45D2
-_080E45BE:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0x1
-_080E45D2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E45A4
-
- thumb_func_start sub_80E45E0
-sub_80E45E0: @ 80E45E0
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r1, =0x00001e10
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0x1
- bx lr
- .pool
- thumb_func_end sub_80E45E0
-
- thumb_func_start sub_80E45F8
-sub_80E45F8: @ 80E45F8
- push {lr}
- ldr r0, =sub_80E465C
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E45F8
-
- thumb_func_start sub_80E460C
-sub_80E460C: @ 80E460C
- push {lr}
- ldr r0, =sub_80E465C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xA]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E460C
-
- thumb_func_start sub_80E4630
-sub_80E4630: @ 80E4630
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80E465C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4630
-
- thumb_func_start sub_80E465C
-sub_80E465C: @ 80E465C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gUnknown_0858BF28
- ldr r2, =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
- .pool
- thumb_func_end sub_80E465C
-
- thumb_func_start sub_80E468C
-sub_80E468C: @ 80E468C
- movs r1, 0
- strh r1, [r0, 0xA]
- bx lr
- thumb_func_end sub_80E468C
-
- thumb_func_start sub_80E4692
-sub_80E4692: @ 80E4692
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E46B4
- movs r0, 0x5
- strh r0, [r2, 0xA]
- b _080E46E4
- .pool
-_080E46B4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E46C2
- movs r0, 0x6
- strh r0, [r2, 0xA]
- b _080E46E4
-_080E46C2:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E46D0
- movs r0, 0x8
- strh r0, [r2, 0xA]
- b _080E46E4
-_080E46D0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E46DE
- movs r0, 0x9
- strh r0, [r2, 0xA]
- b _080E46E4
-_080E46DE:
- adds r0, r2, 0
- bl sub_80E46F0
-_080E46E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80E4692
-
- thumb_func_start sub_80E46E8
-sub_80E46E8: @ 80E46E8
- movs r1, 0
- strh r1, [r0, 0xA]
- bx lr
- thumb_func_end sub_80E46E8
-
- thumb_func_start sub_80E46F0
-sub_80E46F0: @ 80E46F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- ldr r1, =gUnknown_0858BF34
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0xC
- mov r10, r0
- ldr r1, =gUnknown_0858BF3E
- movs r2, 0xA
- bl memcpy
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x2C]
- ldr r1, =gUnknown_0858BF48
- ldr r0, [sp, 0x2C]
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- adds r2, 0x20
- str r2, [sp, 0x30]
- ldr r1, =gUnknown_0858BF50
- adds r0, r2, 0
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80E3DFC
- ldr r0, =gMain
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r1, r0, 31
- movs r0, 0x80
- ands r0, r2
- adds r6, r4, 0
- cmp r0, 0
- beq _080E475E
- movs r1, 0x2
-_080E475E:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080E4768
- movs r1, 0x3
-_080E4768:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080E4772
- movs r1, 0x4
-_080E4772:
- ldrh r0, [r6]
- mov r8, r0
- lsls r1, 1
- mov r2, sp
- adds r7, r2, r1
- ldrh r0, [r7]
- add r0, r8
- strh r0, [r6]
- add r1, r10
- ldrh r0, [r1]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _080E479E
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
-_080E479E:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _080E47B2
- movs r0, 0
- strh r0, [r6]
-_080E47B2:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _080E481E
- movs r2, 0
- ldrsh r4, [r6, r2]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080E47F0
- ldrh r0, [r5]
- mov r1, r9
- strh r0, [r1, 0xC]
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, [sp, 0x2C]
- adds r0, r1, r0
- b _080E481A
- .pool
-_080E47F0:
- mov r2, r8
- lsls r4, r2, 16
- asrs r4, 16
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080E481E
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080E4810
- mov r2, r9
- ldrh r0, [r2, 0xC]
- b _080E481C
-_080E4810:
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r0, 1
- ldr r2, [sp, 0x30]
- adds r0, r2, r0
-_080E481A:
- ldrh r0, [r0]
-_080E481C:
- strh r0, [r5]
-_080E481E:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_80E3F70
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080E4860
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bge _080E483A
- movs r0, 0x2
- strh r0, [r5]
-_080E483A:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- ble _080E4846
- movs r0, 0
- strh r0, [r5]
-_080E4846:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E4856
- movs r0, 0x1
- mov r2, r9
- strh r0, [r2, 0xC]
- b _080E4878
-_080E4856:
- cmp r0, 0x2
- bne _080E4878
- mov r1, r9
- strh r0, [r1, 0xC]
- b _080E4878
-_080E4860:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bge _080E486C
- movs r0, 0x3
- strh r0, [r5]
-_080E486C:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- ble _080E4878
- movs r0, 0
- strh r0, [r5]
-_080E4878:
- movs r2, 0
- ldrsh r0, [r6, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_80E3D78
- 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_80E46F0
-
- thumb_func_start sub_80E4894
-sub_80E4894: @ 80E4894
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r4, =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldr r2, [r1, 0x8]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4894
-
- thumb_func_start sub_80E48E8
-sub_80E48E8: @ 80E48E8
- push {r4,r5,lr}
- sub sp, 0x2C
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r1, =0x00001e34
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r1, r0
- add r0, sp, 0xC
- bl StringCopy
- ldr r0, [r5]
- ldr r1, =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- add r0, sp, 0xC
- movs r2, 0xF
- bl StringAppendN
- ldr r0, [r5]
- ldr r4, =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- movs r3, 0x8
- bl PrintTextOnWindow
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x2C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E48E8
-
- thumb_func_start sub_80E4964
-sub_80E4964: @ 80E4964
- push {lr}
- ldr r1, =gUnknown_0858BF58
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e2c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4964
-
- thumb_func_start sub_80E498C
-sub_80E498C: @ 80E498C
- push {lr}
- ldr r1, =gUnknown_0858BF6C
- ldr r0, =gUnknown_02039F94
- ldr r0, [r0]
- ldr r2, =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E498C
-
- thumb_func_start TaskDummy3
-TaskDummy3: @ 80E49B8
- bx lr
- thumb_func_end TaskDummy3
-
- thumb_func_start sub_80E49BC
-sub_80E49BC: @ 80E49BC
- push {r4,r5,lr}
- sub sp, 0x10
- movs r4, 0
- ldr r1, =gText_MaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r1, =0x00001e36
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080E4A0C
- cmp r0, 0xFE
- bne _080E49E6
- ldr r1, =gText_FemaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- movs r4, 0x1
-_080E49E6:
- ldr r0, [r5]
- ldr r1, =0x00001e13
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r4, 1
- adds r1, r4
- ldr r2, =gUnknown_0858BF74
- adds r1, r2
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0x68
- movs r3, 0x1
- bl box_print
-_080E4A0C:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E49BC
-
- thumb_func_start sub_80E4A2C
-sub_80E4A2C: @ 80E4A2C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, =gUnknown_0858BE40
- bl sub_80E3274
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 13
- adds r4, r5
- lsls r0, 24
- lsrs r0, 19
- adds r4, r0
- adds r4, r6
- ldrb r0, [r4]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E4A2C
-
- thumb_func_start sub_80E4A60
-sub_80E4A60: @ 80E4A60
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, =gUnknown_02039F94
- ldr r4, [r0]
- ldr r3, =0x00001e28
- adds r1, r4, r3
- ldr r1, [r1]
- ldrb r3, [r1, 0x1]
- adds r5, r0, 0
- cmp r2, r3
- bcs _080E4A9A
- movs r0, 0xC0
- lsls r0, 5
- adds r1, r4, r0
-_080E4A7C:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E4A90
- adds r0, r2, 0
- b _080E4AAA
- .pool
-_080E4A90:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080E4A7C
-_080E4A9A:
- ldr r0, [r5]
- ldr r1, =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080E4AAA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E4A60
-
- thumb_func_start sub_80E4AB4
-sub_80E4AB4: @ 80E4AB4
- push {lr}
- ldr r0, =gUnknown_02039F94
- ldr r2, [r0]
- ldr r1, =0x00001e28
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- ble _080E4AF0
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r2, r0
-_080E4AD0:
- asrs r2, r1, 24
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080E4AE8
- lsrs r0, r1, 24
- b _080E4AF2
- .pool
-_080E4AE8:
- subs r0, r2, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- bgt _080E4AD0
-_080E4AF0:
- movs r0, 0
-_080E4AF2:
- pop {r1}
- bx r1
- thumb_func_end sub_80E4AB4
-
- thumb_func_start sub_80E4AF8
-sub_80E4AF8: @ 80E4AF8
- push {r4-r6,lr}
- bl sub_80E4AB4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gUnknown_02039F94
- ldr r0, [r6]
- movs r5, 0xC0
- lsls r5, 5
- adds r0, r5
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- bl sub_80E4D10
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- bl sub_80E3F30
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080E4B38
- cmp r0, 0x2
- bne _080E4B42
-_080E4B38:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl sub_80E3948
-_080E4B42:
- movs r0, 0x17
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4AF8
-
- thumb_func_start sub_80E4B54
-sub_80E4B54: @ 80E4B54
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80E3DFC
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_80E4A2C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80E4BBC
- bl sub_80E4D10
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x5
- bl PlaySE
- bl sub_80E4AB4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- ldr r2, =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldrb r1, [r1, 0x1]
- subs r1, 0x1
- cmp r0, r1
- bne _080E4BB0
- movs r0, 0x1
- b _080E4BB2
- .pool
-_080E4BB0:
- movs r0, 0
-_080E4BB2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E4B54
-
- thumb_func_start sub_80E4BBC
-sub_80E4BBC: @ 80E4BBC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80E4A60
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039F94
- ldr r1, [r1]
- movs r2, 0xC0
- lsls r2, 5
- adds r1, r2
- adds r1, r0
- strb r4, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4BBC
-
- thumb_func_start sub_80E4BE4
-sub_80E4BE4: @ 80E4BE4
- push {r4,r5,lr}
- movs r2, 0
- ldr r1, =gUnknown_02039F94
- ldr r0, [r1]
- ldr r4, =0x00001e28
- adds r0, r4
- ldr r0, [r0]
- adds r5, r1, 0
- b _080E4C44
- .pool
-_080E4C00:
- ldr r1, [r1]
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r1, r0
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E4C34
- cmp r0, 0xFF
- beq _080E4C34
- ldr r2, =0x00001e30
- adds r0, r1, r2
- ldr r0, [r0]
- adds r1, r4
- ldr r1, [r1]
- ldrb r2, [r1, 0x1]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r1, r3, 0
- bl StringCopyN
- b _080E4C4A
- .pool
-_080E4C34:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r5, 0
- ldr r0, [r1]
- ldr r4, =0x00001e28
- adds r0, r4
- ldr r0, [r0]
-_080E4C44:
- ldrb r0, [r0, 0x1]
- cmp r2, r0
- bcc _080E4C00
-_080E4C4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4BE4
-
- thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns
-choose_name_or_words_screen_load_bg_tile_patterns: @ 80E4C54
- push {r4-r6,lr}
- ldr r0, =gUnknown_08DD3838
- ldr r6, =gUnknown_02039F94
- ldr r1, [r6]
- ldr r4, =0x00001810
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r6]
- adds r1, r4
- movs r5, 0xC0
- lsls r5, 3
- movs r0, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r0, =gUnknown_0858C1C8
- bl LoadSpriteSheets
- ldr r0, =gUnknown_0858C230
- bl LoadSpritePalettes
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns
-
- thumb_func_start sub_80E4CB8
-sub_80E4CB8: @ 80E4CB8
- push {lr}
- bl sub_80E45F8
- bl sub_80E3920
- pop {r0}
- bx r0
- thumb_func_end sub_80E4CB8
-
- thumb_func_start choose_name_or_words_screen_apply_bg_pals
-choose_name_or_words_screen_apply_bg_pals: @ 80E4CC8
- push {lr}
- ldr r0, =gUnknown_08DD3778
- movs r1, 0
- movs r2, 0xC0
- bl LoadPalette
- ldr r0, =gUnknown_0858BD78
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end choose_name_or_words_screen_apply_bg_pals
-
- thumb_func_start sub_80E4CF8
-sub_80E4CF8: @ 80E4CF8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80E4CF8
-
- thumb_func_start nullsub_10
-nullsub_10: @ 80E4D0C
- bx lr
- thumb_func_end nullsub_10
-
- thumb_func_start sub_80E4D10
-sub_80E4D10: @ 80E4D10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r7, =gUnknown_02039F94
- ldr r1, [r7]
- ldr r2, =0x00001e28
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r6, [r0, 0x1]
- subs r2, 0x12
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, =0x00001e13
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r4, 0
- cmp r4, r6
- bcs _080E4DA6
- add r5, sp, 0xC
- mov r10, r4
- ldr r0, =gExpandedPlaceholder_Empty
- ldrb r0, [r0]
- mov r8, r0
-_080E4D52:
- ldr r0, [r7]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r5]
- mov r2, r8
- strb r2, [r5, 0x1]
- ldrb r0, [r5]
- bl sub_80E503C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r0, 0x1
- bne _080E4D76
- movs r1, 0x2
-_080E4D76:
- ldr r0, [r7]
- ldr r2, =0x00001e13
- adds r0, r2
- ldrb r0, [r0]
- lsls r3, r4, 3
- add r3, r9
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- bl PrintTextOnWindow
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _080E4D52
-_080E4DA6:
- bl sub_80E498C
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r4, =0x00001e13
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4D10
-
- thumb_func_start sub_80E4DE4
-sub_80E4DE4: @ 80E4DE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =gUnknown_0858BF88
- adds r0, r5, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r1, =gUnknown_0858BF8C
- lsls r0, r5, 2
- adds r0, r1
- ldr r7, [r0]
- ldr r0, =gUnknown_0858C198
- mov r8, r0
-_080E4E0E:
- lsls r3, r4, 4
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r4, 2
- lsls r1, r5, 4
- adds r0, r1
- add r0, r8
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r2, 0
- bl box_print
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080E4E0E
- adds r0, r6, 0
- bl PutWindowTilemap
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4DE4
-
- thumb_func_start sub_80E4E5C
-sub_80E4E5C: @ 80E4E5C
- push {r4-r6,lr}
- movs r0, 0xA
- bl GetGpuReg
- adds r4, r0, 0
- movs r5, 0x3
- ands r4, r5
- movs r0, 0xC
- bl GetGpuReg
- ands r0, r5
- cmp r4, r0
- bls _080E4E8C
- movs r5, 0x1
- movs r6, 0x1
- ldr r1, =gUnknown_02039F94
- ldr r0, [r1]
- ldr r2, =0x00001e11
- b _080E4E96
- .pool
-_080E4E8C:
- movs r5, 0x2
- movs r6, 0x2
- ldr r1, =gUnknown_02039F94
- ldr r0, [r1]
- ldr r2, =0x00001e12
-_080E4E96:
- adds r0, r2
- ldrb r4, [r0]
- adds r0, r1, 0
- ldr r1, =gUnknown_0858BF98
- ldr r0, [r0]
- ldr r2, =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80E4CF8
- bl sub_80E3254
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80E4DE4
- bl sub_80E3254
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl nullsub_10
- adds r0, r6, 0
- bl CopyBgTilemapBufferToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4E5C
-
- thumb_func_start sub_80E4EF0
-sub_80E4EF0: @ 80E4EF0
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r1, =gUnknown_0858BFA4
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r4, =0x00001e15
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- add r1, sp, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, =gText_MoveOkBack
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl box_print
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4EF0
-
- thumb_func_start sub_80E4F58
-sub_80E4F58: @ 80E4F58
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80E4F58
-
- thumb_func_start sub_80E4F70
-sub_80E4F70: @ 80E4F70
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_80E4F70
-
- thumb_func_start sub_80E4F84
-sub_80E4F84: @ 80E4F84
- push {lr}
- ldr r0, =sub_80E4F94
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4F84
-
- thumb_func_start sub_80E4F94
-sub_80E4F94: @ 80E4F94
- push {r4,r5,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r5, =gUnknown_02039F94
- ldr r0, [r5]
- ldr r1, =0x00001e18
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, =0x00001e1a
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- ldr r4, =0x0000fffc
- adds r1, r4, 0
- ands r1, r0
- movs r0, 0xA
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, =0x00001e1c
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuRegBits
- movs r0, 0xC
- bl GetGpuReg
- ands r4, r0
- movs r0, 0xC
- adds r1, r4, 0
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, =0x00001e1e
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xC
- bl SetGpuRegBits
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E4F94
-
- thumb_func_start sub_80E501C
-sub_80E501C: @ 80E501C
- push {lr}
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- pop {r0}
- bx r0
- thumb_func_end sub_80E501C
-
- thumb_func_start sub_80E503C
-sub_80E503C: @ 80E503C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- ldr r0, =gUnknown_0858BDC8
- ldrb r1, [r0]
- adds r3, r0, 0
- cmp r1, 0xFF
- beq _080E5066
- adds r1, r3, 0
-_080E5050:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r4, r0
- beq _080E5066
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E5050
-_080E5066:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80E503C
-
- thumb_func_start sub_80E5074
-sub_80E5074: @ 80E5074
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_8086194
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E5074
-
- thumb_func_start sub_80E509C
-sub_80E509C: @ 80E509C
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_8086194
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E509C
-
- thumb_func_start sub_80E50C4
-sub_80E50C4: @ 80E50C4
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_8086194
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E50C4
-
- thumb_func_start sub_80E50EC
-sub_80E50EC: @ 80E50EC
- push {lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, =sub_8086194
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E50EC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s
deleted file mode 100755
index d79f7df32..000000000
--- a/asm/new_menu_helpers.s
+++ /dev/null
@@ -1,1178 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8197184
-sub_8197184: @ 8197184
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl GetWindowAttribute
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0860EA6C
- movs r2, 0x80
- lsls r2, 1
- lsls r4, 16
- lsrs r4, 16
- adds r3, r4, 0
- bl LoadBgTiles
- ldr r0, =gUnknown_0860EA4C
- lsls r5, 20
- lsrs r5, 16
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197184
-
- thumb_func_start sub_81971C4
-sub_81971C4: @ 81971C4
- push {lr}
- bl sub_819645C
- pop {r0}
- bx r0
- thumb_func_end sub_81971C4
-
- thumb_func_start sub_81971D0
-sub_81971D0: @ 81971D0
- push {lr}
- ldr r0, =gUnknown_0860F098
- bl InitWindows
- ldr r0, =gUnknown_0203CD8C
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gUnknown_0203CD8D
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81971D0
-
- thumb_func_start sub_81971F4
-sub_81971F4: @ 81971F4
- push {lr}
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- thumb_func_end sub_81971F4
-
- thumb_func_start sub_8197200
-sub_8197200: @ 8197200
- push {lr}
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl DeactivateAllTextPrinters
- bl sub_81973A4
- pop {r0}
- bx r0
- thumb_func_end sub_8197200
-
- thumb_func_start sub_8197224
-sub_8197224: @ 8197224
- push {lr}
- bl RunTextPrinters
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8197224
-
- thumb_func_start AddTextPrinterParametrized
-@ u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor)
-AddTextPrinterParametrized: @ 8197238
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r7, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- mov r8, r4
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- lsls r3, 24
- lsrs r3, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- str r2, [sp]
- mov r2, sp
- movs r4, 0
- strb r0, [r2, 0x4]
- mov r0, sp
- strb r1, [r0, 0x5]
- strb r4, [r0, 0x6]
- movs r1, 0x1
- strb r1, [r0, 0x7]
- strb r4, [r0, 0x8]
- strb r1, [r0, 0x9]
- strb r4, [r0, 0xA]
- strb r4, [r0, 0xB]
- mov r4, sp
- ldrb r2, [r4, 0xC]
- subs r1, 0x11
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r4, 0xC]
- mov r0, sp
- mov r2, r8
- lsls r2, 4
- movs r4, 0xF
- strb r2, [r0, 0xC]
- mov r2, sp
- ands r5, r4
- ldrb r0, [r2, 0xD]
- ands r1, r0
- orrs r1, r5
- strb r1, [r2, 0xD]
- mov r0, sp
- lsrs r6, 20
- ands r1, r4
- orrs r1, r6
- strb r1, [r0, 0xD]
- ldr r2, =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, sp
- adds r1, r3, 0
- adds r2, r7, 0
- bl AddTextPrinter
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddTextPrinterParametrized
-
- thumb_func_start AddTextPrinterForMessage
-@ void AddTextPrinterForMessage(u8 allowSkippingDelayWithButtonPress)
-AddTextPrinterForMessage: @ 81972C4
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- ldr r3, =gTextFlags
- movs r4, 0x1
- ands r0, r4
- ldrb r2, [r3]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
- bl sav2_get_text_speed
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r2, =gStringVar4
- str r5, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParametrized
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddTextPrinterForMessage
-
- thumb_func_start AddTextPrinterForMessage_2
-@ void AddTextPrinterForMessage_2(u8 allowSkippingDelayWithButtonPress)
-AddTextPrinterForMessage_2: @ 8197310
- push {r4,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTextFlags
- movs r4, 0x1
- ands r0, r4
- ldrb r2, [r3]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3]
- bl sav2_get_text_speed
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r2, =gStringVar4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParametrized
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddTextPrinterForMessage_2
-
- thumb_func_start AddTextPrinterWithCustomSpeedForMessage
-@ void AddTextPrinterWithCustomSpeedForMessage(u8 allowSkippingDelayWithButtonPress, u8 speed)
-AddTextPrinterWithCustomSpeedForMessage: @ 819735C
- push {r4,r5,lr}
- sub sp, 0x10
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, =gTextFlags
- movs r5, 0x1
- ands r0, r5
- ldrb r2, [r4]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4]
- ldr r2, =gStringVar4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParametrized
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end AddTextPrinterWithCustomSpeedForMessage
-
- thumb_func_start sub_81973A4
-sub_81973A4: @ 81973A4
- push {lr}
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- movs r1, 0x85
- lsls r1, 2
- movs r0, 0
- movs r2, 0xE0
- bl sub_809882C
- pop {r0}
- bx r0
- thumb_func_end sub_81973A4
-
- thumb_func_start sub_81973C4
-sub_81973C4: @ 81973C4
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_81975F4
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _081973F2
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_081973F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81973C4
-
- thumb_func_start sub_81973FC
-sub_81973FC: @ 81973FC
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_81974A4
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl PutWindowTilemap
- cmp r4, 0x1
- bne _0819742A
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0819742A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81973FC
-
- thumb_func_start sub_8197434
-sub_8197434: @ 8197434
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_8197804
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _08197462
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08197462:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197434
-
- thumb_func_start sub_819746C
-sub_819746C: @ 819746C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =sub_81977BC
- adds r0, r5, 0
- bl CallWindowFunction
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r5, 0
- bl ClearWindowTilemap
- cmp r4, 0x1
- bne _0819749A
- adds r0, r5, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_0819749A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819746C
-
- thumb_func_start sub_81974A4
-sub_81974A4: @ 81974A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r2, 0
- ldr r2, [sp, 0x3C]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsls r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- movs r3, 0x85
- lsls r3, 2
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- movs r2, 0xFF
- lsls r2, 24
- adds r2, r1
- mov r8, r2
- lsrs r2, 24
- lsrs r0, r4, 24
- mov r9, r0
- movs r0, 0xFF
- lsls r0, 24
- adds r4, r0
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r6, 0xE
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r1, r3, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000215
- ldr r2, [sp, 0x10]
- str r2, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000216
- ldr r3, [sp, 0xC]
- ldr r2, [sp, 0x10]
- adds r0, r3, r2
- lsls r0, 24
- mov r10, r0
- lsrs r2, r0, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- mov r5, r9
- ldr r0, [sp, 0x14]
- add r0, r9
- cmp r9, r0
- bge _08197578
- mov r3, r8
- str r3, [sp, 0x18]
- movs r6, 0x1
- movs r0, 0xE
- mov r8, r0
-_0819753E:
- lsls r4, r5, 24
- lsrs r4, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- mov r2, r8
- str r2, [sp, 0x8]
- adds r0, r7, 0
- ldr r1, =0x00000217
- ldr r3, [sp, 0x18]
- lsrs r2, r3, 24
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- str r6, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r7, 0
- ldr r1, =0x00000219
- mov r3, r10
- lsrs r2, r3, 24
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- adds r5, 0x1
- ldr r0, [sp, 0x14]
- add r0, r9
- cmp r5, r0
- blt _0819753E
-_08197578:
- ldr r1, =0x0000021a
- ldr r2, [sp, 0xC]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r4, [sp, 0x14]
- add r4, r9
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r6, 0xE
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000021b
- ldr r0, [sp, 0x10]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- ldr r2, [sp, 0xC]
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x87
- lsls r1, 2
- ldr r3, [sp, 0xC]
- ldr r0, [sp, 0x10]
- adds r2, r3, r0
- lsls r2, 24
- lsrs r2, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- adds r0, r7, 0
- adds r3, r4, 0
- bl FillBgTilemapBufferRect
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81974A4
-
- thumb_func_start sub_81975F4
-sub_81975F4: @ 81975F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- adds r6, r0, 0
- adds r5, r2, 0
- mov r8, r3
- ldr r2, [sp, 0x44]
- lsls r6, 24
- lsrs r6, 24
- lsls r0, r1, 24
- lsls r5, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- ldr r1, =0x00000201
- lsrs r2, r0, 24
- str r2, [sp, 0xC]
- movs r3, 0xFE
- lsls r3, 24
- adds r2, r0, r3
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsrs r0, r5, 24
- mov r10, r0
- movs r2, 0xFF
- lsls r2, 24
- adds r5, r2
- lsrs r5, 24
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r3, 0xF
- mov r9, r3
- str r3, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x14]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000203
- ldr r0, [sp, 0xC]
- subs r0, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r6, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- movs r1, 0x81
- lsls r1, 2
- mov r0, r8
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0xC]
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000205
- ldr r7, [sp, 0xC]
- add r7, r8
- subs r0, r7, 0x1
- lsls r2, r0, 24
- lsrs r2, 24
- str r2, [sp, 0x20]
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r6, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000206
- lsls r2, r7, 24
- lsrs r7, r2, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r6, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000207
- str r4, [sp]
- movs r5, 0x5
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000209
- add r8, r4
- mov r3, r8
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- str r5, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x18]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x0000020a
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r6, 0
- adds r2, r7, 0
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000a01
- ldr r3, [sp, 0x10]
- add r10, r3
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x14]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000a03
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x18]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000a04
- ldr r0, [sp, 0x1C]
- str r0, [sp]
- str r4, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0xC]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000a05
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r3, r9
- str r3, [sp, 0x8]
- adds r0, r6, 0
- ldr r2, [sp, 0x20]
- mov r3, r10
- bl FillBgTilemapBufferRect
- ldr r1, =0x00000a06
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r6, 0
- adds r2, r7, 0
- mov r3, r10
- bl FillBgTilemapBufferRect
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81975F4
-
- thumb_func_start sub_81977BC
-sub_81977BC: @ 81977BC
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsls r5, 24
- lsls r3, 24
- lsls r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r4, r2
- lsrs r4, 24
- adds r5, r2
- lsrs r5, 24
- movs r2, 0x80
- lsls r2, 18
- adds r3, r2
- lsrs r3, 24
- str r3, [sp]
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r1, 0xE
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81977BC
-
- thumb_func_start sub_8197804
-sub_8197804: @ 8197804
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r1, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsls r5, 24
- lsls r3, 24
- lsls r1, 24
- movs r2, 0xFD
- lsls r2, 24
- adds r4, r2
- lsrs r4, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r5, r2
- lsrs r5, 24
- movs r2, 0xC0
- lsls r2, 19
- adds r3, r2
- lsrs r3, 24
- str r3, [sp]
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r1, 0xE
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8197804
-
- thumb_func_start SetStandardWindowBorderStyle
-@ void SetStandardWindowBorderStyle(u8 windowId, bool copyToVram)
-SetStandardWindowBorderStyle: @ 8197854
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x85
- lsls r2, 2
- movs r3, 0xE
- bl SetWindowBorderStyle
- pop {r0}
- bx r0
- thumb_func_end SetStandardWindowBorderStyle
-
- thumb_func_start sub_819786C
-sub_819786C: @ 819786C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r6, 0x80
- lsls r6, 2
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0xF
- bl sub_8197B1C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_819786C
-
- thumb_func_start sub_819789C
-sub_819789C: @ 819789C
- push {lr}
- ldr r0, =gUnknown_0860F074
- movs r1, 0xE0
- movs r2, 0x14
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_819789C
-
- thumb_func_start sub_81978B0
-sub_81978B0: @ 81978B0
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gUnknown_0860F074
- movs r2, 0x14
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81978B0
-
- thumb_func_start sub_81978C8
-sub_81978C8: @ 81978C8
- ldr r0, =gUnknown_0860F074
- bx lr
- .pool
- thumb_func_end sub_81978C8
-
- thumb_func_start sub_81978D0
-sub_81978D0: @ 81978D0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _081978DC
- movs r1, 0
-_081978DC:
- ldr r0, =gUnknown_0860F074
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81978D0
-
- thumb_func_start DisplayItemMessageOnField
-@ void DisplayItemMessageOnField(u8 taskId, u8 *str, void ( *callback)(u8 taskId))
-DisplayItemMessageOnField: @ 81978EC
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_81973A4
- bl sav2_get_text_speed
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0x1
- str r1, [sp]
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- str r6, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0xF
- bl DisplayMessageAndContinueTask
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end DisplayItemMessageOnField
-
- thumb_func_start sub_8197930
-sub_8197930: @ 8197930
- push {lr}
- ldr r0, =gUnknown_0860F0A8
- movs r1, 0x85
- lsls r1, 2
- movs r2, 0xE
- movs r3, 0
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197930
-
- thumb_func_start sub_8197948
-sub_8197948: @ 8197948
- push {lr}
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_0860F0A8
- movs r1, 0x85
- lsls r1, 2
- movs r2, 0xE
- bl CreateYesNoMenu
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8197948
-
- thumb_func_start sub_8197964
-sub_8197964: @ 8197964
- push {lr}
- ldr r0, =gTextFlags
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08197988
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsls r0, 29
- lsrs r0, 29
- b _0819798A
- .pool
-_08197988:
- movs r0, 0x1
-_0819798A:
- pop {r1}
- bx r1
- thumb_func_end sub_8197964
-
- thumb_func_start sav2_get_text_speed
-sav2_get_text_speed: @ 8197990
- push {lr}
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r1, [r2, 0x14]
- lsls r0, r1, 29
- lsrs r0, 29
- cmp r0, 0x2
- bls _081979AC
- movs r0, 0x8
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x14]
-_081979AC:
- bl sub_8197964
- ldr r1, =gUnknown_0860F094
- adds r0, r1
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav2_get_text_speed
-
- thumb_func_start sub_81979C4
-sub_81979C4: @ 81979C4
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r4, =gUnknown_0203CD8C
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _081979F6
- lsls r0, r1, 25
- movs r1, 0x80
- lsls r1, 18
- adds r0, r1
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- ldr r0, =0x00000139
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x1
- movs r3, 0x7
- bl sub_8198AA4
- strb r0, [r4]
-_081979F6:
- ldrb r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81979C4
-
- thumb_func_start GetStartMenuWindowId
-GetStartMenuWindowId: @ 8197A08
- ldr r0, =gUnknown_0203CD8C
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetStartMenuWindowId
-
- thumb_func_start remove_start_menu_window_maybe
-remove_start_menu_window_maybe: @ 8197A14
- push {r4,lr}
- ldr r4, =gUnknown_0203CD8C
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08197A26
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_08197A26:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end remove_start_menu_window_maybe
-
- thumb_func_start sub_8197A30
-sub_8197A30: @ 8197A30
- movs r0, 0x80
- lsls r0, 2
- bx lr
- thumb_func_end sub_8197A30
-
- thumb_func_start sub_8197A38
-sub_8197A38: @ 8197A38
- movs r0, 0x85
- lsls r0, 2
- bx lr
- thumb_func_end sub_8197A38
-
- thumb_func_start AddMapNamePopUpWindow
-AddMapNamePopUpWindow: @ 8197A40
- push {r4,lr}
- sub sp, 0xC
- ldr r4, =gUnknown_0203CD8D
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08197A66
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0xE
- str r0, [sp, 0x4]
- adds r0, 0xF9
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xA
- bl sub_8198AA4
- strb r0, [r4]
-_08197A66:
- ldrb r0, [r4]
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end AddMapNamePopUpWindow
-
- thumb_func_start GetMapNamePopUpWindowId
-GetMapNamePopUpWindowId: @ 8197A74
- ldr r0, =gUnknown_0203CD8D
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end GetMapNamePopUpWindowId
-
- thumb_func_start RemoveMapNamePopUpWindow
-RemoveMapNamePopUpWindow: @ 8197A80
- push {r4,lr}
- ldr r4, =gUnknown_0203CD8D
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08197A92
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_08197A92:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end RemoveMapNamePopUpWindow
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/option_menu.s b/asm/option_menu.s
deleted file mode 100644
index 1c554e26f..000000000
--- a/asm/option_menu.s
+++ /dev/null
@@ -1,1694 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80BA4B0
-sub_80BA4B0: @ 80BA4B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80BA4B0
-
- thumb_func_start sub_80BA4C8
-sub_80BA4C8: @ 80BA4C8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80BA4C8
-
- thumb_func_start CB2_OptionsMenu
-CB2_OptionsMenu: @ 80BA4DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xB
- bhi _080BA538
- lsls r0, 2
- ldr r1, =_080BA508
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BA508:
- .4byte _080BA538
- .4byte _080BA54C
- .4byte _080BA69C
- .4byte _080BA6BC
- .4byte _080BA6E0
- .4byte _080BA718
- .4byte _080BA728
- .4byte _080BA740
- .4byte _080BA748
- .4byte _080BA760
- .4byte _080BA774
- .4byte _080BA80C
-_080BA538:
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA54C:
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r1, sp, 0x8
- mov r8, r1
- add r2, sp, 0x4
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080BA56A:
- strh r6, [r2]
- add r0, sp, 0x4
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080BA56A
- strh r6, [r2]
- add r2, sp, 0x4
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x8]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0855C698
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_0855C680
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x1
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x23
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC1
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x4
- bl SetGpuReg
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- b _080BA7EC
- .pool
-_080BA69C:
- bl ResetPaletteFade
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA6BC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- b _080BA7EC
- .pool
-_080BA6E0:
- ldr r0, =gUnknown_0855C6A0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA718:
- ldr r0, =gUnknown_0855C604
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _080BA7EC
- .pool
-_080BA728:
- movs r0, 0
- bl PutWindowTilemap
- bl sub_80BB0D0
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA740:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _080BA7F4
-_080BA748:
- movs r0, 0x1
- bl PutWindowTilemap
- bl sub_80BB104
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080BA760:
- bl sub_80BB154
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA774:
- ldr r0, =sub_80BA83C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r0, [r2, 0x14]
- lsls r0, 29
- lsrs r0, 29
- strh r0, [r4, 0xA]
- ldrb r1, [r2, 0x15]
- lsls r1, 29
- lsrs r1, 31
- strh r1, [r4, 0xC]
- ldrb r1, [r2, 0x15]
- lsls r1, 30
- lsrs r1, 31
- strh r1, [r4, 0xE]
- ldrb r1, [r2, 0x15]
- lsls r1, 31
- lsrs r1, 31
- strh r1, [r4, 0x10]
- ldrb r1, [r2, 0x13]
- strh r1, [r4, 0x12]
- ldrb r1, [r2, 0x14]
- lsrs r1, 3
- strh r1, [r4, 0x14]
- bl sub_80BAC38
- ldrb r0, [r4, 0xC]
- bl sub_80BAD08
- ldrb r0, [r4, 0xE]
- bl sub_80BAD84
- ldrb r0, [r4, 0x10]
- bl sub_80BAE08
- ldrb r0, [r4, 0x12]
- bl sub_80BB028
- ldrb r0, [r4, 0x14]
- bl sub_80BAF0C
- ldrb r0, [r4, 0x8]
- bl sub_80BAB38
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_080BA7EC:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BA7F4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BA828
- .pool
-_080BA80C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BA4C8
- bl SetVBlankCallback
- ldr r0, =sub_80BA4B0
- bl SetMainCallback2
-_080BA828:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_OptionsMenu
-
- thumb_func_start sub_80BA83C
-sub_80BA83C: @ 80BA83C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA85C
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BA86C
- str r0, [r1]
-_080BA85C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA83C
-
- thumb_func_start sub_80BA86C
-sub_80BA86C: @ 80BA86C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BA89C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- beq _080BA892
- b _080BAA5A
-_080BA892:
- b _080BA8AE
- .pool
-_080BA89C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BA8BC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
-_080BA8AE:
- ldr r0, =sub_80BAA64
- str r0, [r1]
- b _080BAA5A
- .pool
-_080BA8BC:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080BA8EC
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r6, 0x8
- ldrsh r0, [r3, r6]
- adds r7, r1, 0
- cmp r0, 0
- ble _080BA8E8
- subs r0, r5, 0x1
- b _080BA90C
- .pool
-_080BA8E8:
- movs r0, 0x6
- b _080BA90C
-_080BA8EC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BA924
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r7, 0x8
- ldrsh r0, [r3, r7]
- adds r7, r1, 0
- cmp r0, 0x5
- bgt _080BA914
- adds r0, r5, 0x1
-_080BA90C:
- strh r0, [r3, 0x8]
- b _080BA916
- .pool
-_080BA914:
- strh r6, [r3, 0x8]
-_080BA916:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0, 0x8]
- bl sub_80BAB38
- b _080BAA5A
-_080BA924:
- ldr r0, =gTasks
- lsls r2, r4, 2
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r7, r0, 0
- cmp r1, 0x5
- bls _080BA93A
- b _080BAA5A
-_080BA93A:
- lsls r0, r1, 2
- ldr r1, =_080BA94C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BA94C:
- .4byte _080BA964
- .4byte _080BA98A
- .4byte _080BA9B0
- .4byte _080BA9D6
- .4byte _080BA9FC
- .4byte _080BAA22
-_080BA964:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xA]
- adds r0, r5, 0
- bl sub_80BABDC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xA]
- movs r6, 0xA
- ldrsh r0, [r4, r6]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAC38
- b _080BAA46
-_080BA98A:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xC]
- adds r0, r5, 0
- bl sub_80BACE0
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xC]
- movs r7, 0xC
- ldrsh r0, [r4, r7]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAD08
- b _080BAA46
-_080BA9B0:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xE]
- adds r0, r5, 0
- bl sub_80BAD5C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAD84
- b _080BAA46
-_080BA9D6:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x10]
- adds r0, r5, 0
- bl sub_80BADD8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAE08
- b _080BAA46
-_080BA9FC:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x12]
- adds r0, r5, 0
- bl sub_80BAFCC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x12]
- movs r6, 0x12
- ldrsh r0, [r4, r6]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BB028
- b _080BAA46
-_080BAA22:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x14]
- adds r0, r5, 0
- bl sub_80BAE5C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x14]
- movs r7, 0x14
- ldrsh r0, [r4, r7]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAF0C
-_080BAA46:
- ldr r1, =gUnknown_02039B48
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BAA5A
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_080BAA5A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA86C
-
- thumb_func_start sub_80BAA64
-sub_80BAA64: @ 80BAA64
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSaveBlock2Ptr
- ldr r3, [r6]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0x7
- ldrb r1, [r4, 0xA]
- ands r1, r0
- ldrb r2, [r3, 0x14]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x14]
- ldr r3, [r6]
- movs r5, 0x1
- ldrb r1, [r4, 0xC]
- ands r1, r5
- lsls r1, 2
- ldrb r2, [r3, 0x15]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r3, [r6]
- ldrb r1, [r4, 0xE]
- ands r1, r5
- lsls r1, 1
- ldrb r2, [r3, 0x15]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r3, [r6]
- ldrb r1, [r4, 0x10]
- ands r1, r5
- ldrb r2, [r3, 0x15]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r1, [r6]
- ldrh r0, [r4, 0x12]
- movs r5, 0
- strb r0, [r1, 0x13]
- ldr r3, [r6]
- ldrb r1, [r4, 0x14]
- lsls r1, 3
- ldrb r2, [r3, 0x14]
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x14]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BAB08
- str r0, [r4]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAA64
-
- thumb_func_start sub_80BAB08
-sub_80BAB08: @ 80BAB08
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BAB2C
- adds r0, r2, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_080BAB2C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAB08
-
- thumb_func_start sub_80BAB38
-sub_80BAB38: @ 80BAB38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x87
- lsls r1, 5
- movs r0, 0x40
- bl SetGpuReg
- lsls r4, 4
- adds r1, r4, 0
- adds r1, 0x28
- lsls r1, 8
- adds r4, 0x38
- orrs r1, r4
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAB38
-
- thumb_func_start sub_80BAB68
-sub_80BAB68: @ 80BAB68
- push {r4-r6,lr}
- sub sp, 0x1C
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _080BABA0
-_080BAB84:
- mov r0, sp
- adds r0, r2
- adds r0, 0xC
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _080BABA0
- cmp r2, 0xE
- bls _080BAB84
-_080BABA0:
- cmp r3, 0
- beq _080BABAE
- add r1, sp, 0xC
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x5]
-_080BABAE:
- mov r1, sp
- adds r1, r2
- adds r1, 0xC
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- add r2, sp, 0xC
- adds r3, r6, 0
- bl PrintTextOnWindow
- add sp, 0x1C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAB68
-
- thumb_func_start sub_80BABDC
-sub_80BABDC: @ 80BABDC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAC08
- cmp r3, 0x1
- bhi _080BAC00
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAC02
- .pool
-_080BAC00:
- movs r3, 0
-_080BAC02:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAC08:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BAC2C
- cmp r3, 0
- beq _080BAC24
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAC26
- .pool
-_080BAC24:
- movs r3, 0x2
-_080BAC26:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAC2C:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BABDC
-
- thumb_func_start sub_80BAC38
-sub_80BAC38: @ 80BAC38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gText_TextSpeedSlow
- mov r0, sp
- ldrb r3, [r0]
- adds r0, r4, 0
- movs r1, 0x68
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- ldr r0, =gText_TextSpeedMid
- mov r8, r0
- movs r0, 0x1
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- ldr r6, =gText_TextSpeedFast
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- subs r5, 0x5E
- subs r4, r5
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x68
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x2]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80BAB68
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAC38
-
- thumb_func_start sub_80BACE0
-sub_80BACE0: @ 80BACE0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BACFA
- movs r1, 0x1
- eors r2, r1
- ldr r0, =gUnknown_02039B48
- strb r1, [r0]
-_080BACFA:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BACE0
-
- thumb_func_start sub_80BAD08
-sub_80BAD08: @ 80BAD08
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_BattleSceneOn
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x10
- bl sub_80BAB68
- ldr r4, =gText_BattleSceneOff
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x10
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAD08
-
- thumb_func_start sub_80BAD5C
-sub_80BAD5C: @ 80BAD5C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BAD76
- movs r1, 0x1
- eors r2, r1
- ldr r0, =gUnknown_02039B48
- strb r1, [r0]
-_080BAD76:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAD5C
-
- thumb_func_start sub_80BAD84
-sub_80BAD84: @ 80BAD84
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_BattleStyleShift
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x20
- bl sub_80BAB68
- ldr r4, =gText_BattleStyleSet
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAD84
-
- thumb_func_start sub_80BADD8
-sub_80BADD8: @ 80BADD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BADF8
- movs r4, 0x1
- eors r5, r4
- adds r0, r5, 0
- bl SetPokemonCryStereo
- ldr r0, =gUnknown_02039B48
- strb r4, [r0]
-_080BADF8:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BADD8
-
- thumb_func_start sub_80BAE08
-sub_80BAE08: @ 80BAE08
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_SoundMono
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x30
- bl sub_80BAB68
- ldr r4, =gText_SoundStereo
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x30
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAE08
-
- thumb_func_start sub_80BAE5C
-sub_80BAE5C: @ 80BAE5C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAEAE
- cmp r4, 0x12
- bhi _080BAE80
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _080BAE82
- .pool
-_080BAE80:
- movs r4, 0
-_080BAE82:
- adds r0, r4, 0
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAEAE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BAEFE
- cmp r4, 0
- beq _080BAED0
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _080BAED2
- .pool
-_080BAED0:
- movs r4, 0x13
-_080BAED2:
- adds r0, r4, 0
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAEFE:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAE5C
-
- thumb_func_start sub_80BAF0C
-sub_80BAF0C: @ 80BAF0C
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, =gText_FrameTypeNumber
- ldrb r0, [r1]
- ldr r7, =gText_FrameType
- cmp r0, 0xFF
- beq _080BAF44
- adds r2, r1, 0
-_080BAF28:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080BAF44
- cmp r5, 0x5
- bls _080BAF28
-_080BAF44:
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- lsls r0, r2, 24
- cmp r0, 0
- beq _080BAF80
- mov r0, sp
- adds r1, r0, r5
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, sp
- adds r4, r1, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- b _080BAF9E
- .pool
-_080BAF80:
- mov r0, sp
- adds r4, r0, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, sp
- adds r1, r0, r5
- movs r0, 0x77
- strb r0, [r1]
-_080BAF9E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, sp
- adds r1, r0, r5
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x68
- movs r2, 0x50
- movs r3, 0
- bl sub_80BAB68
- mov r0, sp
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0x1
- bl sub_80BAB68
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAF0C
-
- thumb_func_start sub_80BAFCC
-sub_80BAFCC: @ 80BAFCC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAFF8
- cmp r3, 0x1
- bhi _080BAFF0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAFF2
- .pool
-_080BAFF0:
- movs r3, 0
-_080BAFF2:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAFF8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BB01C
- cmp r3, 0
- beq _080BB014
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BB016
- .pool
-_080BB014:
- movs r3, 0x2
-_080BB016:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BB01C:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAFCC
-
- thumb_func_start sub_80BB028
-sub_80BB028: @ 80BB028
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gText_ButtonTypeNormal
- mov r0, sp
- ldrb r3, [r0]
- adds r0, r4, 0
- movs r1, 0x68
- movs r2, 0x40
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- ldr r0, =gText_ButtonTypeLR
- mov r8, r0
- movs r0, 0x1
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- ldr r6, =gText_ButtonTypeLEqualsA
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- subs r5, 0x5E
- subs r4, r5
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x68
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0x40
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x2]
- adds r0, r6, 0
- movs r2, 0x40
- bl sub_80BAB68
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB028
-
- thumb_func_start sub_80BB0D0
-sub_80BB0D0: @ 80BB0D0
- push {lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_Option
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB0D0
-
- thumb_func_start sub_80BB104
-sub_80BB104: @ 80BB104
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r5, =gUnknown_0855C664
-_080BB114:
- lsls r0, r4, 2
- adds r0, r5
- ldr r2, [r0]
- lsls r0, r4, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BB114
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB104
-
- thumb_func_start sub_80BB154
-sub_80BB154: @ 80BB154
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x7
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD1
- lsls r1, 1
- movs r2, 0x1
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1B
- mov r8, r0
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a3
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD2
- lsls r1, 1
- movs r2, 0x1C
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r6, 0x2
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a5
- movs r2, 0x1
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a7
- movs r2, 0x1C
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r7, 0xD4
- lsls r7, 1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- ldr r0, =0x000001a9
- mov r10, r0
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x2
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- movs r0, 0xD5
- lsls r0, 1
- mov r9, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x1C
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD1
- lsls r1, 1
- movs r2, 0x1
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- movs r0, 0x1A
- mov r8, r0
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a3
- movs r2, 0x2
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD2
- lsls r1, 1
- movs r2, 0x1C
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r6, 0x12
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a5
- movs r2, 0x1
- movs r3, 0x5
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a7
- movs r2, 0x1C
- movs r3, 0x5
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x2
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x1C
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB154
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 018ee7b84..0d5c6b631 100755..100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -4,6 +4,192 @@
.syntax unified
.text
+
+ thumb_func_start sub_81B0038
+sub_81B0038: @ 81B0038
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ ldr r4, [sp, 0x24]
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r9, r1
+ lsls r2, 24
+ lsrs r7, r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ str r3, [sp]
+ lsls r4, 24
+ lsrs r6, r4, 24
+ bl reset_brm
+ ldr r0, =gUnknown_0203CEC4
+ mov r10, r0
+ movs r0, 0x8E
+ lsls r0, 2
+ bl Alloc
+ adds r5, r0, 0
+ mov r1, r10
+ str r5, [r1]
+ cmp r5, 0
+ bne _081B0088
+ ldr r0, [sp, 0x2C]
+ bl SetMainCallback2
+ b _081B0194
+ .pool
+_081B0088:
+ ldr r3, =gUnknown_0203CEC8
+ movs r1, 0xF
+ mov r4, r8
+ ands r1, r4
+ ldrb r2, [r3, 0x8]
+ movs r0, 0x10
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3, 0x8]
+ ldr r0, [sp, 0x2C]
+ str r0, [r3]
+ movs r4, 0
+ strb r7, [r3, 0xB]
+ lsls r2, r6, 2
+ ldrh r1, [r5, 0xA]
+ movs r0, 0x3
+ ands r0, r1
+ orrs r0, r2
+ strh r0, [r5, 0xA]
+ ldr r0, [sp, 0x28]
+ str r0, [r5]
+ str r4, [r5, 0x4]
+ ldrb r1, [r5, 0x8]
+ movs r0, 0xF
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r5, 0x8]
+ mov r1, r10
+ ldr r2, [r1]
+ ldrh r0, [r2, 0x8]
+ movs r4, 0xFE
+ lsls r4, 3
+ adds r1, r4, 0
+ orrs r0, r1
+ strh r0, [r2, 0x8]
+ ldr r0, [r2, 0x8]
+ movs r1, 0xFE
+ lsls r1, 10
+ orrs r0, r1
+ str r0, [r2, 0x8]
+ adds r6, r3, 0
+ mov r5, r8
+ cmp r5, 0x4
+ bne _081B00F0
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x1
+ orrs r0, r1
+ b _081B00F8
+ .pool
+_081B00F0:
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+_081B00F8:
+ strb r0, [r2, 0x8]
+ mov r0, r9
+ cmp r0, 0xFF
+ beq _081B0114
+ movs r0, 0x3
+ mov r1, r9
+ ands r0, r1
+ lsls r0, 4
+ ldrb r2, [r6, 0x8]
+ movs r1, 0x31
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r6, 0x8]
+_081B0114:
+ movs r2, 0
+ ldr r5, =gUnknown_0203CEC4
+ movs r4, 0x86
+ lsls r4, 2
+ movs r3, 0
+_081B011E:
+ ldr r0, [r5]
+ lsls r1, r2, 1
+ adds r0, r4
+ adds r0, r1
+ strh r3, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0xF
+ bls _081B011E
+ movs r2, 0
+ ldr r4, =gUnknown_0203CEC4
+ movs r3, 0xFF
+_081B0138:
+ ldr r0, [r4]
+ adds r0, 0xC
+ adds r0, r2
+ ldrb r1, [r0]
+ orrs r1, r3
+ strb r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x2
+ bls _081B0138
+ ldr r4, [sp]
+ cmp r4, 0
+ bne _081B015C
+ strb r4, [r6, 0x9]
+ b _081B017E
+ .pool
+_081B015C:
+ adds r1, r6, 0
+ movs r0, 0x9
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x5
+ bgt _081B017A
+ adds r1, r0, 0
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0xB
+ bl GetMonData
+ cmp r0, 0
+ bne _081B017E
+_081B017A:
+ movs r0, 0
+ strb r0, [r6, 0x9]
+_081B017E:
+ ldr r2, =gTextFlags
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ bl CalculatePlayerPartyCount
+ ldr r0, =c2_811EBD0
+ bl SetMainCallback2
+_081B0194:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .pool
+ thumb_func_end sub_81B0038
thumb_func_start sub_81B01B0
sub_81B01B0: @ 81B01B0
@@ -98,7 +284,7 @@ _081B0234:
.4byte _081B0474
_081B0290:
bl SetVBlankHBlankCallbacksToNull
- bl sub_8121DA0
+ bl ResetVramOamAndBgCntRegs
bl clear_scheduled_bg_copies_to_vram
ldr r1, =gMain
movs r0, 0x87
@@ -107,7 +293,7 @@ _081B0290:
b _081B048C
.pool
_081B02AC:
- bl remove_some_task
+ bl ScanlineEffect_Stop
b _081B0484
_081B02B2:
bl ResetPaletteFade
@@ -224,7 +410,7 @@ _081B03A6:
b _081B048C
.pool
_081B03B8:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _081B0484
_081B03BE:
bl party_menu_add_per_mon_objects
@@ -429,7 +615,7 @@ sub_81B0550: @ 81B0550
ldr r1, [r5]
movs r0, 0x1
bl SetBgTilemapBuffer
- bl sub_8121E10
+ bl ResetAllBgsCoordinates
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
@@ -487,7 +673,7 @@ _081B05F0:
.4byte _081B0694
_081B0610:
ldr r4, =gUnknown_0203CEE0
- ldr r0, =gUnknown_08D967EC
+ ldr r0, =gPartyMenuMisc_Gfx
mov r1, sp
bl malloc_and_decompress
adds r1, r0, 0
@@ -505,14 +691,14 @@ _081B0638:
lsls r0, 24
cmp r0, 0
bne _081B06B4
- ldr r0, =gUnknown_08D96BA0
+ ldr r0, =gPartyMenuMisc_Tilemap
ldr r1, =gUnknown_0203CEE4
ldr r1, [r1]
bl LZDecompressWram
b _081B069A
.pool
_081B0658:
- ldr r0, =gUnknown_08D96AB4
+ ldr r0, =gPartyMenuMisc_Pal
movs r2, 0xB0
lsls r2, 1
movs r1, 0
@@ -2554,7 +2740,7 @@ sub_81B1708: @ 81B1708
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3161,7 +3347,7 @@ sub_81B1B8C: @ 81B1B8C
lsrs r4, r0, 24
adds r5, r4, 0
movs r0, 0x6
- bl sub_8121F20
+ bl RunTextPrintersRetIsActive
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
@@ -3402,14 +3588,14 @@ sub_81B1DB8: @ 81B1DB8
lsrs r4, r5, 16
adds r7, r4, 0
adds r0, r4, 0
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _081B1DE2
adds r0, r6, 0
adds r1, r4, 0
- bl sub_80D4420
+ bl GiveMailToMon
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@@ -4010,7 +4196,7 @@ sub_81B227C: @ 81B227C
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -4210,7 +4396,7 @@ _081B23E8:
movs r0, 0
movs r1, 0x4F
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
bl GetOverworldTextboxPalettePtr
movs r1, 0xE0
movs r2, 0x20
@@ -4268,7 +4454,7 @@ _081B243E:
adds r0, r4, 0
movs r1, 0
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
adds r0, r4, 0
bl PutWindowTilemap
adds r0, r4, 0
@@ -5946,7 +6132,7 @@ _081B328C:
str r1, [sp, 0x10]
movs r1, 0x1
mov r2, r9
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
@@ -5992,7 +6178,7 @@ sub_81B3300: @ 81B3300
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -6007,7 +6193,7 @@ sub_81B3300: @ 81B3300
movs r0, 0x6
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r4}
pop {r0}
@@ -6216,7 +6402,7 @@ _081B34D2:
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B3508
@@ -7791,7 +7977,7 @@ _081B425A:
.pool
_081B4278:
ldrh r0, [r6]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B42A4
@@ -7952,7 +8138,7 @@ sub_81B43DC: @ 81B43DC
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -7999,7 +8185,7 @@ _081B4402:
.pool
_081B4458:
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B4498
@@ -8485,7 +8671,7 @@ sub_81B48DC: @ 81B48DC
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -8681,7 +8867,7 @@ sub_81B4A98: @ 81B4A98
adds r0, r1
ldr r1, =sub_81B4AE0
movs r2, 0x1
- bl sub_8121478
+ bl ReadMail
pop {r0}
bx r0
.pool
@@ -8777,7 +8963,7 @@ sub_81B4BA0: @ 81B4BA0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -8801,7 +8987,7 @@ _081B4BC6:
muls r0, r1
ldr r1, =gPlayerParty
adds r0, r1
- bl sub_80D4700
+ bl TakeMailFromMon2
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
@@ -8883,7 +9069,7 @@ sub_81B4C94: @ 81B4C94
push {r7}
lsls r0, 24
lsrs r5, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -9691,7 +9877,7 @@ sub_81B5430: @ 81B5430
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -9846,7 +10032,7 @@ _081B557C:
asrs r1, 24
lsls r1, 16
lsrs r1, 16
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
adds r1, r0, 0
ldr r0, =gStringVar1
ldrb r1, [r1, 0x14]
@@ -9871,7 +10057,7 @@ _081B55B8:
asrs r1, 24
lsls r1, 16
lsrs r1, 16
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
adds r1, r0, 0
ldr r0, =gStringVar1
ldrb r1, [r1, 0x14]
@@ -9897,7 +10083,7 @@ _081B5614:
.pool
_081B5624:
ldr r1, =gUnknown_0203CEC8
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
_081B5628:
str r0, [r1]
adds r0, r6, 0
@@ -9985,7 +10171,7 @@ sub_81B56D8: @ 81B56D8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -10003,7 +10189,7 @@ _081B56F8:
b _081B572A
_081B56FE:
ldr r1, =gUnknown_0203CEC8
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
str r0, [r1]
adds r0, r4, 0
bl sub_81B12C0
@@ -10013,10 +10199,10 @@ _081B5714:
movs r0, 0x5
bl PlaySE
_081B571A:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
movs r1, 0
str r1, [r0]
- ldr r0, =gUnknown_0203CEEC
+ ldr r0, =gPostMenuFieldCallback
str r1, [r0]
adds r0, r4, 0
bl sub_81B1C1C
@@ -10027,8 +10213,8 @@ _081B572A:
.pool
thumb_func_end sub_81B56D8
- thumb_func_start hm_add_c3_launch_phase_2
-hm_add_c3_launch_phase_2: @ 81B5738
+ thumb_func_start FieldCallback_PrepareFadeInFromMenu
+FieldCallback_PrepareFadeInFromMenu: @ 81B5738
push {lr}
bl pal_fill_black
ldr r0, =task_launch_hm_phase_2
@@ -10038,14 +10224,14 @@ hm_add_c3_launch_phase_2: @ 81B5738
pop {r1}
bx r1
.pool
- thumb_func_end hm_add_c3_launch_phase_2
+ thumb_func_end FieldCallback_PrepareFadeInFromMenu
thumb_func_start task_launch_hm_phase_2
task_launch_hm_phase_2: @ 81B5750
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -10055,7 +10241,7 @@ task_launch_hm_phase_2: @ 81B5750
lsls r0, 16
lsrs r0, 16
str r0, [r1]
- ldr r0, =gUnknown_0203CEEC
+ ldr r0, =gPostMenuFieldCallback
ldr r0, [r0]
bl _call_via_r0
adds r0, r4, 0
@@ -10159,10 +10345,10 @@ sub_81B5820: @ 81B5820
lsrs r0, 24
cmp r0, 0x1
bne _081B585C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =hm_surf_run_dp02scr
str r0, [r1]
movs r0, 0x1
@@ -10199,7 +10385,7 @@ sub_81B5884: @ 81B5884
push {lr}
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
- bl is_light_level_1_2_3_or_6
+ bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -10222,7 +10408,7 @@ sub_81B58A8: @ 81B58A8
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =sub_8086194
+ ldr r0, =CB2_ReturnToFieldWithOpenMenu
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -10277,10 +10463,10 @@ hm_prepare_waterfall: @ 81B58F0
lsrs r0, 24
cmp r0, 0x1
bne _081B594C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =hm2_waterfall
str r0, [r1]
movs r0, 0x1
@@ -10324,10 +10510,10 @@ sub_81B5974: @ 81B5974
b _081B599E
.pool
_081B5990:
- ldr r1, =gUnknown_03005DB0
- ldr r0, =hm_add_c3_launch_phase_2
+ ldr r1, =gFieldCallback2
+ ldr r0, =FieldCallback_PrepareFadeInFromMenu
str r0, [r1]
- ldr r1, =gUnknown_0203CEEC
+ ldr r1, =gPostMenuFieldCallback
ldr r0, =sub_81B5958
str r0, [r1]
movs r0, 0x1
@@ -10415,7 +10601,7 @@ party_menu_link_mon_icon_anim: @ 81B5A2C
ldr r0, [sp, 0x20]
str r0, [sp, 0x8]
adds r0, r5, 0
- bl sub_80D2CC4
+ bl CreateMonIcon
strb r0, [r4, 0x9]
ldr r2, =gSprites
ldrb r0, [r4, 0x9]
@@ -10607,7 +10793,7 @@ _081B5BD0:
sub_81B5BDC: @ 81B5BDC
push {r4,lr}
adds r4, r0, 0
- bl sub_80D30DC
+ bl UpdateMonIconFrame
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -10631,7 +10817,7 @@ _081B5C02:
thumb_func_start sub_81B5C08
sub_81B5C08: @ 81B5C08
push {lr}
- bl sub_80D30DC
+ bl UpdateMonIconFrame
pop {r0}
bx r0
thumb_func_end sub_81B5C08
@@ -10645,7 +10831,7 @@ party_menu_held_item_object: @ 81B5C14
bl GetMonData
cmp r0, 0
beq _081B5C3C
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x2]
ldrb r2, [r2, 0x3]
@@ -10671,7 +10857,7 @@ party_menu_link_mon_held_item_object: @ 81B5C48
lsrs r5, r1, 16
cmp r0, 0
beq _081B5C84
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x2]
ldrb r2, [r2, 0x3]
@@ -10735,7 +10921,7 @@ sub_81B5CB0: @ 81B5CB0
b _081B5D24
.pool
_081B5CD8:
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B5CFC
@@ -10821,7 +11007,7 @@ _081B5D68:
adds r0, r7, r5
ldrb r4, [r0]
adds r0, r1, 0
- bl itemid_is_mail
+ bl ItemIsMail
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -10853,7 +11039,7 @@ _081B5DAC:
adds r0, r5, r7
ldrb r4, [r0, 0x6]
adds r0, r1, 0
- bl itemid_is_mail
+ bl ItemIsMail
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -10896,7 +11082,7 @@ sub_81B5DF0: @ 81B5DF0
add r0, r8
adds r0, 0x43
ldrb r3, [r0]
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
subs r3, 0x1
lsls r3, 24
lsrs r3, 24
@@ -10991,7 +11177,7 @@ party_menu_pokeball_object: @ 81B5ECC
bl GetMonData
cmp r0, 0
beq _081B5EEA
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x6]
ldrb r2, [r2, 0x7]
@@ -11012,7 +11198,7 @@ party_menu_link_mon_pokeball_object: @ 81B5EF4
lsls r0, 16
cmp r0, 0
beq _081B5F24
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x6]
ldrb r2, [r2, 0x7]
@@ -11046,7 +11232,7 @@ sub_81B5F34: @ 81B5F34
lsrs r3, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
adds r1, r3, 0
movs r3, 0x8
bl CreateSprite
@@ -11078,7 +11264,7 @@ sub_81B5F74: @ 81B5F74
lsrs r3, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, =gUnknown_08615F78
+ ldr r0, =gSpriteTemplate_8615F78
adds r1, r3, 0
movs r3, 0x8
bl CreateSprite
@@ -11194,7 +11380,7 @@ party_menu_status_condition_object: @ 81B6064
bl GetMonData
cmp r0, 0
beq _081B608C
- ldr r0, =gUnknown_08616008
+ ldr r0, =gSpriteTemplate_8616008
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x4]
ldrb r2, [r2, 0x5]
@@ -11220,7 +11406,7 @@ party_menu_link_mon_status_condition_object: @ 81B6098
lsrs r5, r1, 24
cmp r0, 0
beq _081B60D4
- ldr r0, =gUnknown_08616008
+ ldr r0, =gSpriteTemplate_8616008
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x4]
ldrb r2, [r2, 0x5]
@@ -11757,7 +11943,7 @@ _081B6558:
adds r1, r5, 0
_081B6572:
adds r3, r6, 0
- bl ExecuteTableBasedItemEffect_
+ bl ExecuteTableBasedItemEffect
lsls r0, 24
lsrs r0, 24
pop {r4-r6}
@@ -11972,7 +12158,7 @@ sub_81B672C: @ 81B672C
bl sub_81B1B5C
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
- bl sub_805EAE8
+ bl HandleBattleLowHpMusicChange
ldr r1, =gTasks
lsls r0, r5, 2
adds r0, r5
@@ -12970,7 +13156,7 @@ sub_81B7028: @ 81B7028
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -13272,7 +13458,7 @@ sub_81B72C8: @ 81B72C8
muls r1, r0
ldr r0, =gPlayerParty
adds r4, r1, r0
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r5, r0, 24
cmp r5, 0
@@ -14650,7 +14836,7 @@ CB2_PartyMenuFromStartMenu: @ 81B7F34
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =sub_8086194
+ ldr r0, =CB2_ReturnToFieldWithOpenMenu
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -14728,7 +14914,7 @@ sub_81B7FAC: @ 81B7FAC
.pool
_081B7FF8:
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B800C
@@ -14770,7 +14956,7 @@ sub_81B8044: @ 81B8044
lsrs r4, r0, 24
ldr r5, =gUnknown_0203CEC8
ldrh r0, [r5, 0xC]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B807C
@@ -15054,7 +15240,7 @@ sub_81B82D4: @ 81B82D4
push {r4-r7,lr}
lsls r0, 24
lsrs r5, r0, 24
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -15093,7 +15279,7 @@ _081B82FA:
.pool
_081B8338:
adds r0, r4, 0
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _081B835C
@@ -15182,7 +15368,7 @@ sub_81B83F0: @ 81B83F0
lsls r0, r1, 24
lsrs r0, 24
movs r1, 0x1
- bl sub_80D6E48
+ bl RemovePCItem
b _081B8418
.pool
_081B8410:
@@ -15227,7 +15413,7 @@ sub_81B8448: @ 81B8448
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =sub_816BB28
+ ldr r0, =Mailbox_ReturnToMailListAfterDeposit
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -15256,7 +15442,7 @@ sub_81B8474: @ 81B8474
movs r0, 0
strb r0, [r1]
ldr r2, =gSaveBlock1Ptr
- ldr r0, =gUnknown_0203BCB8
+ ldr r0, =playerPCItemPageInfo
ldrh r1, [r0]
adds r1, 0x6
ldrh r0, [r0, 0x2]
@@ -15835,7 +16021,7 @@ sub_81B892C: @ 81B892C
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0
movs r1, 0
@@ -15856,7 +16042,7 @@ sub_81B8958: @ 81B8958
str r0, [sp]
ldr r0, =sub_81B1370
str r0, [sp, 0x4]
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
str r0, [sp, 0x8]
movs r0, 0xB
movs r1, 0
@@ -15893,8 +16079,8 @@ _081B89A6:
bx r1
thumb_func_end sub_81B8984
- thumb_func_start sub_81B89AC
-sub_81B89AC: @ 81B89AC
+ thumb_func_start OpenPartyMenuInBattle
+OpenPartyMenuInBattle: @ 81B89AC
push {r4,lr}
sub sp, 0xC
adds r4, r0, 0
@@ -15921,7 +16107,7 @@ sub_81B89AC: @ 81B89AC
pop {r0}
bx r0
.pool
- thumb_func_end sub_81B89AC
+ thumb_func_end OpenPartyMenuInBattle
thumb_func_start sub_81B89F0
sub_81B89F0: @ 81B89F0
@@ -16041,14 +16227,14 @@ _081B8AF8:
b _081B8B24
_081B8AFC:
adds r0, r4, 0
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081B8B1E
adds r0, r5, 0
bl sub_81B8F38
lsls r0, 24
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
lsls r1, r4, 1
adds r1, r2
lsrs r0, 24
@@ -16060,7 +16246,7 @@ _081B8B1E:
lsls r0, 24
lsrs r4, r0, 24
_081B8B24:
- ldr r0, =gNoOfAllBanks
+ ldr r0, =gBattlersCount
ldrb r0, [r0]
cmp r4, r0
bcc _081B8AFC
@@ -16102,7 +16288,7 @@ _081B8B94:
ldrb r0, [r0, 0xB]
cmp r0, 0x4
bne _081B8BA8
- bl sub_806E994
+ bl SetMonPreventsSwitchingString
b _081B8C46
.pool
_081B8BA8:
@@ -16115,8 +16301,8 @@ _081B8BA8:
ldr r1, =gUnknown_0203CEE8
movs r0, 0x1
strb r0, [r1]
- ldr r1, =gBattlePartyID
- ldr r0, =gBankInMenu
+ ldr r1, =gBattlerPartyIndexes
+ ldr r0, =gBattlerInMenuId
ldrb r0, [r0]
lsls r0, 1
adds r0, r1
@@ -16148,9 +16334,9 @@ _081B8BFC:
b _081B8C42
.pool
_081B8C20:
- ldr r0, =gBankInMenu
+ ldr r0, =gBattlerInMenuId
ldrb r0, [r0]
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, 1
adds r0, r1
ldrb r0, [r0]
@@ -16228,9 +16414,9 @@ _081B8CBE:
bne _081B8CFC
movs r5, 0x1
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
mov r2, sp
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, 24
lsrs r0, 23
adds r0, r1
@@ -16255,16 +16441,16 @@ _081B8CF0:
_081B8CFC:
movs r5, 0x2
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
mov r1, sp
- ldr r4, =gBattlePartyID
+ ldr r4, =gBattlerPartyIndexes
lsls r0, 24
lsrs r0, 23
adds r0, r4
ldrh r0, [r0]
strb r0, [r1]
movs r0, 0x2
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
mov r1, sp
lsls r0, 24
lsrs r0, 23
@@ -16339,24 +16525,24 @@ sub_81B8D88: @ 81B8D88
lsrs r7, r1, 24
lsls r0, 24
lsrs r0, 24
- bl GetBankSide
+ bl GetBattlerSide
lsls r0, 24
cmp r0, 0
bne _081B8DB0
movs r0, 0
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x2
b _081B8DBC
_081B8DB0:
movs r0, 0x1
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r4, r0, 24
movs r0, 0x3
_081B8DBC:
- bl GetBankByIdentity
+ bl GetBattlerAtPosition
lsls r0, 24
lsrs r6, r0, 24
bl sub_81B1250
@@ -16388,7 +16574,7 @@ _081B8DF0:
bne _081B8E28
movs r3, 0x1
mov r2, sp
- ldr r1, =gBattlePartyID
+ ldr r1, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r1
ldrh r0, [r0]
@@ -16412,7 +16598,7 @@ _081B8E1A:
_081B8E28:
movs r3, 0x2
mov r1, sp
- ldr r2, =gBattlePartyID
+ ldr r2, =gBattlerPartyIndexes
lsls r0, r4, 1
adds r0, r2
ldrh r0, [r0]
@@ -17090,14 +17276,14 @@ sub_81B9354: @ 81B9354
sub sp, 0xC
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_03005DB0
+ ldr r2, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r2]
movs r1, 0
str r1, [sp]
ldr r1, =sub_81B1370
str r1, [sp, 0x4]
- ldr r1, =c2_exit_to_overworld_2_switch
+ ldr r1, =CB2_ReturnToField
str r1, [sp, 0x8]
movs r1, 0
movs r2, 0xB
@@ -17122,10 +17308,10 @@ sub_81B9390: @ 81B9390
movs r0, 0xFF
strh r0, [r4]
_081B93A6:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
pop {r4}
pop {r0}
@@ -17151,7 +17337,7 @@ task_hm_without_phase_2: @ 81B93E0
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
cmp r0, 0
beq _081B93FE
@@ -17171,7 +17357,7 @@ sub_81B9404: @ 81B9404
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =sub_81B9424
movs r1, 0xA
bl CreateTask
@@ -17231,10 +17417,10 @@ _081B9486:
ldr r1, =gSpecialVar_0x8004
ldrb r0, [r2]
strh r0, [r1]
- ldr r1, =gUnknown_03005DB0
+ ldr r1, =gFieldCallback2
ldr r0, =hm_add_c3_without_phase_2
str r0, [r1]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
pop {r0}
bx r0
@@ -17247,7 +17433,7 @@ sub_81B94B0: @ 81B94B0
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =sub_81B94D0
movs r1, 0xA
bl CreateTask
@@ -17297,7 +17483,7 @@ sub_81B951C: @ 81B951C
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =sub_81B953C
movs r1, 0xA
bl CreateTask
@@ -17367,10 +17553,10 @@ _081B95A4:
lsrs r0, 24
strh r0, [r4]
_081B95BA:
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
pop {r4,r5}
pop {r0}
@@ -17418,7 +17604,7 @@ sub_81B9620: @ 81B9620
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =sub_81B9640
movs r1, 0xA
bl CreateTask
@@ -17474,7 +17660,7 @@ sub_81B968C: @ 81B968C
subs r3, 0x1
lsls r3, 24
lsrs r3, 24
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
str r0, [sp]
movs r0, 0x3
bl sub_81BF8EC
diff --git a/asm/player_pc.s b/asm/player_pc.s
deleted file mode 100644
index 2287d4123..000000000
--- a/asm/player_pc.s
+++ /dev/null
@@ -1,3436 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start NewGameInitPCItems
-NewGameInitPCItems: @ 816ADF4
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- movs r1, 0x32
- bl ClearItemSlots
- ldr r1, =gUnknown_085DFEFC
- ldrh r0, [r1]
- cmp r0, 0
- beq _0816AE48
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _0816AE48
- adds r5, r1, 0
- adds r6, r5, 0x2
-_0816AE1A:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- adds r1, r6
- ldrh r1, [r1]
- bl AddPCItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816AE48
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816AE48
- adds r0, r1, r6
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816AE1A
-_0816AE48:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end NewGameInitPCItems
-
- thumb_func_start sub_816AE58
-sub_816AE58: @ 816AE58
- push {lr}
- ldr r1, =gUnknown_0203BCB0
- ldr r0, =gUnknown_085DFED4
- str r0, [r1]
- ldr r1, =gUnknown_0203BCB4
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AE58
-
- thumb_func_start sub_816AE98
-sub_816AE98: @ 816AE98
- push {lr}
- ldr r1, =gUnknown_0203BCB0
- ldr r0, =gUnknown_085DFED8
- str r0, [r1]
- ldr r1, =gUnknown_0203BCB4
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =TaskDummy
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AE98
-
- thumb_func_start sub_816AED8
-sub_816AED8: @ 816AED8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gUnknown_0203BCB4
- ldrb r1, [r0]
- mov r8, r0
- cmp r1, 0x3
- bne _0816AF0C
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- b _0816AF12
- .pool
-_0816AF0C:
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0xC]
- ldr r0, [r0, 0x8]
-_0816AF12:
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r5, =gUnknown_085DFEB4
- ldr r4, =gUnknown_0203BCB0
- ldr r1, [r4]
- mov r0, r8
- ldrb r2, [r0]
- adds r0, r5, 0
- bl sub_81DB3D8
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r6, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r6, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- ldr r3, [r4]
- adds r2, r5, 0
- bl sub_81995E4
- ldrb r0, [r6, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816AF98
- str r1, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AED8
-
- thumb_func_start sub_816AF98
-sub_816AF98: @ 816AF98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gUnknown_0203BCB4
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _0816AFC0
- bl ProcessMenuInput
- b _0816AFC4
- .pool
-_0816AFC0:
- bl ProcessMenuInputNoWrapAround
-_0816AFC4:
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _0816B04C
- adds r0, 0x1
- cmp r5, r0
- bne _0816B014
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B148
- str r1, [r0]
- b _0816B04C
- .pool
-_0816B014:
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r2, =gUnknown_085DFEB4
- ldr r0, =gUnknown_0203BCB0
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
-_0816B04C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816AF98
-
- thumb_func_start sub_816B060
-sub_816B060: @ 816B060
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_WhatWouldYouLike
- ldr r2, =sub_816AED8
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B060
-
- thumb_func_start task_pc_itemstorage
-task_pc_itemstorage: @ 816B07C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_816B190
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B248
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_pc_itemstorage
-
- thumb_func_start sub_816B0A8
-sub_816B0A8: @ 816B0A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- bl sub_816B510
- ldr r5, =gUnknown_0203BCB8
- movs r1, 0
- strb r0, [r5, 0x5]
- lsls r0, 24
- cmp r0, 0
- bne _0816B0D8
- ldr r1, =gText_NoMailHere
- ldr r2, =sub_816B060
- adds r0, r4, 0
- bl DisplayItemMessageOnField
- b _0816B12A
- .pool
-_0816B0D8:
- strh r1, [r5]
- strh r1, [r5, 0x2]
- movs r0, 0xFF
- strb r0, [r5, 0x9]
- bl sub_816B54C
- adds r0, r4, 0
- bl sub_816B4C0
- ldrb r0, [r5, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B120
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- adds r0, r4, 0
- bl sub_816B5F8
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B674
- str r0, [r1]
- b _0816B12A
- .pool
-_0816B120:
- ldr r1, =gText_NoMailHere
- ldr r2, =sub_816B060
- adds r0, r6, 0
- bl DisplayItemMessageOnField
-_0816B12A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B0A8
-
- thumb_func_start sub_816B138
-sub_816B138: @ 816B138
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8126B2C
- pop {r0}
- bx r0
- thumb_func_end sub_816B138
-
- thumb_func_start sub_816B148
-sub_816B148: @ 816B148
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCB4
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0816B180
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0816B174
- ldr r0, =LittlerootTown_BrendansHouse_2F_EventScript_1F863F
- bl ScriptContext1_SetupScript
- b _0816B184
- .pool
-_0816B174:
- ldr r0, =LittlerootTown_MaysHouse_2F_EventScript_1F958F
- bl ScriptContext1_SetupScript
- b _0816B184
- .pool
-_0816B180:
- bl EnableBothScriptContexts
-_0816B184:
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B148
-
- thumb_func_start sub_816B190
-sub_816B190: @ 816B190
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r0, =gUnknown_085DFF24
- ldr r1, [r0, 0x14]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r6, =gUnknown_085DFEDC
- adds r0, r6, 0
- movs r1, 0x4
- bl GetMaxWidthInMenuTable
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl AddWindow
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldrb r0, [r4, 0x8]
- movs r1, 0x4
- adds r2, r6, 0
- bl PrintMenuTable
- ldrb r0, [r4, 0x8]
- movs r1, 0x4
- adds r2, r5, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_085DFEA4
- lsls r5, 2
- adds r5, r0
- ldr r0, [r5]
- bl sub_816B21C
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B190
-
- thumb_func_start sub_816B21C
-sub_816B21C: @ 816B21C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B21C
-
- thumb_func_start sub_816B248
-sub_816B248: @ 816B248
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
- bl ProcessMenuInput
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r4, 24
- asrs r4, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816B298
- adds r0, 0x1
- cmp r4, r0
- beq _0816B2B4
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_085DFEDC
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r6, 0
- bl _call_via_r1
- b _0816B2C0
- .pool
-_0816B298:
- lsls r1, r5, 24
- lsls r0, r2, 24
- asrs r2, r0, 24
- cmp r1, r0
- beq _0816B2C0
- ldr r0, =gUnknown_085DFEA4
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_816B21C
- b _0816B2C0
- .pool
-_0816B2B4:
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- bl sub_816B4A4
-_0816B2C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816B248
-
- thumb_func_start sub_816B2C8
-sub_816B2C8: @ 816B2C8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_816B2F0
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B2C8
-
- thumb_func_start sub_816B2F0
-sub_816B2F0: @ 816B2F0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B310
- bl overworld_free_bg_tilemaps
- bl sub_81AAC14
- adds r0, r4, 0
- bl DestroyTask
-_0816B310:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B2F0
-
- thumb_func_start sub_816B31C
-sub_816B31C: @ 816B31C
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =mapldr_080EBC0C
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B31C
-
- thumb_func_start mapldr_080EBC0C
-mapldr_080EBC0C: @ 816B33C
- push {lr}
- bl sub_81973A4
- movs r0, 0
- movs r1, 0x1
- bl sub_81973C4
- ldr r0, =sub_816B368
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_816B190
- bl pal_fill_black
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapldr_080EBC0C
-
- thumb_func_start sub_816B368
-sub_816B368: @ 816B368
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80ABDFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B388
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B248
- str r0, [r1]
-_0816B388:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B368
-
- thumb_func_start sub_816B398
-sub_816B398: @ 816B398
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl sub_80D6CE4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- cmp r0, 0
- beq _0816B3C4
- adds r0, r5, 0
- movs r1, 0
- bl sub_816B430
- b _0816B3D4
- .pool
-_0816B3C4:
- adds r0, r5, 0
- bl sub_816B4DC
- ldr r1, =gText_NoItems
- ldr r2, =task_pc_itemstorage
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_0816B3D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B398
-
- thumb_func_start sub_816B3E4
-sub_816B3E4: @ 816B3E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- bl sub_80D6CE4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- cmp r0, 0
- beq _0816B410
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_816B430
- b _0816B420
- .pool
-_0816B410:
- adds r0, r5, 0
- bl sub_816B4DC
- ldr r1, =gText_NoItems
- ldr r2, =task_pc_itemstorage
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_0816B420:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B3E4
-
- thumb_func_start sub_816B430
-sub_816B430: @ 816B430
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- ldr r6, =gTasks + 0x8
- adds r0, r5, r6
- strh r1, [r0, 0x6]
- adds r0, r4, 0
- bl sub_816B4DC
- ldr r1, =gUnknown_0203BCB8
- movs r0, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x9]
- adds r0, r4, 0
- bl sub_816B4C0
- bl sub_816BC14
- bl gpu_pal_allocator_reset__manage_upper_four
- bl sub_8122328
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- bl sub_8122344
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- subs r6, 0x8
- adds r5, r6
- ldr r0, =sub_816C158
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B430
-
- thumb_func_start sub_816B4A4
-sub_816B4A4: @ 816B4A4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_816B4DC
- adds r0, r4, 0
- bl sub_816B060
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B4A4
-
- thumb_func_start sub_816B4C0
-sub_816B4C0: @ 816B4C0
- push {lr}
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1, 0x5]
- cmp r0, 0x7
- bls _0816B4D4
- movs r0, 0x8
- b _0816B4D6
- .pool
-_0816B4D4:
- adds r0, 0x1
-_0816B4D6:
- strb r0, [r1, 0x4]
- pop {r0}
- bx r0
- thumb_func_end sub_816B4C0
-
- thumb_func_start sub_816B4DC
-sub_816B4DC: @ 816B4DC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x8]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x8]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B4DC
-
- thumb_func_start sub_816B510
-sub_816B510: @ 816B510
- push {r4,lr}
- movs r2, 0
- movs r1, 0x6
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r4, 0xB0
- lsls r4, 6
-_0816B51E:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _0816B534
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0816B534:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _0816B51E
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816B510
-
- thumb_func_start sub_816B54C
-sub_816B54C: @ 816B54C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r2, 0x6
-_0816B55A:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r4, r0, 24
- mov r8, r1
- cmp r4, 0xF
- bhi _0816B5D4
- ldr r0, =gSaveBlock1Ptr
- mov r10, r0
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- mov r12, r0
- ldr r6, =0x00002be0
-_0816B574:
- mov r1, r10
- ldr r1, [r1]
- mov r9, r1
- mov r2, r9
- add r2, r12
- movs r3, 0xB0
- lsls r3, 6
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _0816B5CA
- adds r2, r6
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- lsls r3, r4, 3
- adds r3, r4
- lsls r3, 2
- mov r5, r9
- adds r0, r5, r3
- adds r0, r6
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- mov r7, r10
- ldr r1, [r7]
- adds r1, r3
- adds r1, r6
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
-_0816B5CA:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0816B574
-_0816B5D4:
- mov r3, r8
- lsls r0, r3, 24
- lsrs r2, r0, 24
- cmp r2, 0xE
- bls _0816B55A
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B54C
-
- thumb_func_start sub_816B5F8
-sub_816B5F8: @ 816B5F8
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- bl sub_81D1C84
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_81D1C84
- ldr r6, =gText_Mailbox
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0x40
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r6, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r4, =gUnknown_0203BCB8
- adds r0, r4, 0
- bl sub_81D1DC0
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x12]
- adds r0, r4, 0
- bl sub_81D1E90
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B5F8
-
- thumb_func_start sub_816B674
-sub_816B674: @ 816B674
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r9, r0
- ldr r0, =gTasks + 0x8
- mov r10, r0
- mov r4, r9
- add r4, r10
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B71E
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r7, =gUnknown_0203BCBA
- subs r1, r7, 0x2
- mov r8, r1
- adds r1, r7, 0
- mov r2, r8
- bl get_coro_args_x18_x1A
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816B6D4
- adds r0, 0x1
- cmp r6, r0
- bne _0816B6EA
- b _0816B71E
- .pool
-_0816B6D4:
- movs r0, 0x5
- bl PlaySE
- mov r1, r8
- ldrb r0, [r1, 0x9]
- bl RemoveScrollIndicatorArrowPair
- adds r0, r5, 0
- bl sub_816B798
- b _0816B71E
-_0816B6EA:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_81D1D04
- movs r0, 0x1
- bl sub_81D1D04
- ldrb r0, [r4, 0xA]
- adds r1, r7, 0
- mov r2, r8
- bl sub_81AE6C8
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- mov r1, r8
- ldrb r0, [r1, 0x9]
- bl RemoveScrollIndicatorArrowPair
- mov r0, r10
- subs r0, 0x8
- add r0, r9
- ldr r1, =sub_816B730
- str r1, [r0]
-_0816B71E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B674
-
- thumb_func_start sub_816B730
-sub_816B730: @ 816B730
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gStringVar1
- ldr r2, =gSaveBlock1Ptr
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- adds r0, 0x6
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =0x00002bf2
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- adds r0, r5, 0
- movs r1, 0
- bl sub_81DB554
- ldr r5, =gStringVar4
- ldr r1, =gText_WhatToDoWithVar1sMail
- adds r0, r5, 0
- bl StringExpandPlaceholders
- ldr r2, =sub_816B7DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B730
-
- thumb_func_start sub_816B798
-sub_816B798: @ 816B798
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- movs r0, 0
- bl sub_81D1D04
- movs r0, 0x1
- bl sub_81D1D04
- ldrb r0, [r4, 0xA]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- bl sub_81D1EC0
- adds r0, r5, 0
- bl sub_816B060
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B798
-
- thumb_func_start sub_816B7DC
-sub_816B7DC: @ 816B7DC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x2
- bl sub_81D1C84
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, =gUnknown_085DFF04
- adds r0, r4, 0
- movs r1, 0x4
- bl PrintMenuTable
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B82C
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B7DC
-
- thumb_func_start sub_816B82C
-sub_816B82C: @ 816B82C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- bl ProcessMenuInput_other
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816B86E
- adds r0, 0x1
- cmp r4, r0
- bne _0816B858
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816BBD4
- b _0816B86E
-_0816B858:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gUnknown_085DFF04
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r6, 0
- bl _call_via_r1
-_0816B86E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B82C
-
- thumb_func_start sub_816B878
-sub_816B878: @ 816B878
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B8A4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B878
-
- thumb_func_start sub_816B8A4
-sub_816B8A4: @ 816B8A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816B8E6
- bl sub_81D1EC0
- bl overworld_free_bg_tilemaps
- ldr r2, =gSaveBlock1Ptr
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- adds r0, 0x6
- ldrh r1, [r1, 0x2]
- adds r0, r1
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =0x00002be0
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, =sub_816B900
- movs r2, 0x1
- bl sub_8121478
- adds r0, r4, 0
- bl DestroyTask
-_0816B8E6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B8A4
-
- thumb_func_start sub_816B900
-sub_816B900: @ 816B900
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =pal_fill_for_maplights_or_black
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B900
-
- thumb_func_start pal_fill_for_maplights_or_black
-pal_fill_for_maplights_or_black: @ 816B920
- push {r4,lr}
- bl sub_81973A4
- ldr r0, =task00_080EBBDC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B954
- adds r0, r4, 0
- bl sub_816B5F8
- b _0816B95A
- .pool
-_0816B954:
- adds r0, r4, 0
- bl DestroyTask
-_0816B95A:
- bl pal_fill_black
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pal_fill_for_maplights_or_black
-
- thumb_func_start task00_080EBBDC
-task00_080EBBDC: @ 816B964
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80ABDFC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816B984
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B674
- str r0, [r1]
-_0816B984:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_080EBBDC
-
- thumb_func_start sub_816B994
-sub_816B994: @ 816B994
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_MessageWillBeLost
- ldr r2, =sub_816B9B0
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B994
-
- thumb_func_start sub_816B9B0
-sub_816B9B0: @ 816B9B0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8197930
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B9D8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816B9B0
-
- thumb_func_start sub_816B9D8
-sub_816B9D8: @ 816B9D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0816BA04
- cmp r0, r1
- ble _0816BA10
- cmp r0, 0
- beq _0816B9FC
- cmp r0, 0x1
- beq _0816BA0A
- b _0816BA10
-_0816B9FC:
- adds r0, r4, 0
- bl sub_816BA18
- b _0816BA10
-_0816BA04:
- movs r0, 0x5
- bl PlaySE
-_0816BA0A:
- adds r0, r4, 0
- bl sub_816BAAC
-_0816BA10:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_816B9D8
-
- thumb_func_start sub_816BA18
-sub_816BA18: @ 816BA18
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSaveBlock1Ptr
- ldr r4, =gUnknown_0203BCB8
- ldrh r1, [r4]
- adds r1, 0x6
- ldrh r0, [r4, 0x2]
- adds r1, r0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =0x00002be0
- adds r0, r1
- ldr r1, [r2]
- adds r5, r1, r0
- ldrh r0, [r5, 0x20]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- bne _0816BA68
- ldr r1, =gText_BagIsFull
- ldr r2, =sub_816BBD4
- adds r0, r6, 0
- bl DisplayItemMessageOnField
- b _0816BA9C
- .pool
-_0816BA68:
- ldr r1, =gText_MailToBagMessageErased
- ldr r2, =sub_816BBD4
- adds r0, r6, 0
- bl DisplayItemMessageOnField
- adds r0, r5, 0
- bl ClearMailStruct
- bl sub_816B54C
- ldrb r0, [r4, 0x5]
- subs r0, 0x1
- strb r0, [r4, 0x5]
- ldrb r1, [r4, 0x5]
- ldrb r0, [r4, 0x4]
- ldrh r2, [r4, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0816BA96
- cmp r2, 0
- beq _0816BA96
- subs r0, r2, 0x1
- strh r0, [r4, 0x2]
-_0816BA96:
- adds r0, r6, 0
- bl sub_816B4C0
-_0816BA9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BA18
-
- thumb_func_start sub_816BAAC
-sub_816BAAC: @ 816BAAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_816BBD4
- pop {r0}
- bx r0
- thumb_func_end sub_816BAAC
-
- thumb_func_start sub_816BABC
-sub_816BABC: @ 816BABC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _0816BAD4
- adds r0, r4, 0
- bl sub_816BBB8
- b _0816BAEA
-_0816BAD4:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816BAF8
- str r0, [r1]
-_0816BAEA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BABC
-
- thumb_func_start sub_816BAF8
-sub_816BAF8: @ 816BAF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0816BB1C
- bl sub_81D1EC0
- bl overworld_free_bg_tilemaps
- bl sub_81B8448
- adds r0, r4, 0
- bl DestroyTask
-_0816BB1C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BAF8
-
- thumb_func_start sub_816BB28
-sub_816BB28: @ 816BB28
- push {lr}
- ldr r0, =gFieldCallback
- ldr r1, =sub_816BB48
- str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BB28
-
- thumb_func_start sub_816BB48
-sub_816BB48: @ 816BB48
- push {r4-r6,lr}
- ldr r0, =task00_080EBBDC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_0203BCB8
- ldrb r4, [r5, 0x5]
- bl sub_816B510
- strb r0, [r5, 0x5]
- bl sub_816B54C
- ldrb r0, [r5, 0x5]
- cmp r4, r0
- beq _0816BB7E
- ldrb r1, [r5, 0x5]
- ldrb r0, [r5, 0x4]
- ldrh r2, [r5, 0x2]
- adds r0, r2
- cmp r1, r0
- bge _0816BB7E
- cmp r2, 0
- beq _0816BB7E
- subs r0, r2, 0x1
- strh r0, [r5, 0x2]
-_0816BB7E:
- adds r0, r6, 0
- bl sub_816B4C0
- bl sub_81973A4
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- bl sub_81D1C44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816BBA8
- adds r0, r6, 0
- bl sub_816B5F8
- b _0816BBAE
- .pool
-_0816BBA8:
- adds r0, r6, 0
- bl DestroyTask
-_0816BBAE:
- bl pal_fill_black
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816BB48
-
- thumb_func_start sub_816BBB8
-sub_816BBB8: @ 816BBB8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gText_NoPokemon
- ldr r2, =sub_816BBD4
- bl DisplayItemMessageOnField
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BBB8
-
- thumb_func_start sub_816BBD4
-sub_816BBD4: @ 816BBD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- bl sub_81D1D04
- movs r0, 0
- movs r1, 0
- bl sub_8197434
- adds r0, r4, 0
- bl sub_816B5F8
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816B674
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BBD4
-
- thumb_func_start sub_816BC14
-sub_816BC14: @ 816BC14
- push {r4,lr}
- ldr r4, =gUnknown_0203BCC4
- movs r0, 0xCE
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0xCC
- lsls r1, 3
- adds r0, r1
- movs r1, 0xFF
- movs r2, 0x6
- bl memset
- ldr r0, [r4]
- ldr r1, =0x00000666
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, =0x00000667
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BC14
-
- thumb_func_start sub_816BC58
-sub_816BC58: @ 816BC58
- push {r4,lr}
- movs r4, 0
-_0816BC5C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_816BCC4
- adds r4, 0x1
- cmp r4, 0x5
- bls _0816BC5C
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BC58
-
- thumb_func_start sub_816BC7C
-sub_816BC7C: @ 816BC7C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_0203BCC4
- movs r3, 0xCC
- lsls r3, 3
- adds r1, r2, r3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _0816BCB4
- lsls r0, r2, 3
- ldr r1, =gUnknown_085DFF5C
- adds r0, r1
- bl AddWindow
- strb r0, [r4]
- ldrb r0, [r4]
- movs r2, 0x85
- lsls r2, 2
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
-_0816BCB4:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_816BC7C
-
- thumb_func_start sub_816BCC4
-sub_816BCC4: @ 816BCC4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_0203BCC4
- movs r2, 0xCC
- lsls r2, 3
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _0816BCF8
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4]
- bl ClearWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldrb r0, [r4]
- bl RemoveWindow
- movs r0, 0xFF
- strb r0, [r4]
-_0816BCF8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BCC4
-
- thumb_func_start sub_816BD04
-sub_816BD04: @ 816BD04
- push {r4-r6,lr}
- movs r6, 0
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- subs r0, 0x1
- cmp r6, r0
- bge _0816BD58
- ldr r5, =gUnknown_0203BCC4
-_0816BD14:
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- movs r0, 0xCC
- lsls r0, 1
- adds r4, r0
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- lsls r2, r6, 2
- adds r1, r2
- movs r2, 0x93
- lsls r2, 3
- adds r1, r2
- ldrh r1, [r1]
- bl sub_816BDC8
- ldr r0, [r5]
- lsls r2, r6, 3
- adds r1, r0, r2
- adds r4, r0, r4
- str r4, [r1]
- adds r0, 0x4
- adds r0, r2
- str r6, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203BCB8
- ldrb r0, [r0, 0x5]
- subs r0, 0x1
- cmp r6, r0
- blt _0816BD14
-_0816BD58:
- ldr r5, =gUnknown_0203BCC4
- lsls r4, r6, 1
- adds r4, r6
- lsls r4, 3
- movs r3, 0xCC
- lsls r3, 1
- adds r4, r3
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gText_Cancel2
- bl StringCopy
- ldr r0, [r5]
- lsls r2, r6, 3
- adds r1, r0, r2
- adds r4, r0, r4
- str r4, [r1]
- adds r0, 0x4
- adds r0, r2
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- ldr r4, =gUnknown_03006310
- adds r1, r4, 0
- ldr r0, =gUnknown_085DFF44
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r0, 0
- bl sub_816BC7C
- strb r0, [r4, 0x10]
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1, 0x5]
- strh r0, [r4, 0xC]
- ldr r0, [r5]
- str r0, [r4]
- ldrb r0, [r1, 0x4]
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BD04
-
- thumb_func_start sub_816BDC8
-sub_816BDC8: @ 816BDC8
- push {lr}
- adds r2, r0, 0
- lsls r0, r1, 16
- lsrs r0, 16
- adds r1, r2, 0
- bl CopyItemName
- pop {r0}
- bx r0
- thumb_func_end sub_816BDC8
-
- thumb_func_start sub_816BDDC
-sub_816BDDC: @ 816BDDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _0816BDEE
- movs r0, 0x5
- bl PlaySE
-_0816BDEE:
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000666
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0816BE38
- bl sub_816C0C8
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816BE2C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, r1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl sub_816C060
- b _0816BE32
- .pool
-_0816BE2C:
- ldr r0, =0x0000ffff
- bl sub_816C060
-_0816BE32:
- adds r0, r4, 0
- bl sub_816BEF0
-_0816BE38:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BDDC
-
- thumb_func_start fish4_goto_x5_or_x6
-fish4_goto_x5_or_x6: @ 816BE44
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0816BED4
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000666
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0xFF
- beq _0816BE8E
- lsls r0, r4, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0816BE84
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xFF
- bl sub_816BFE0
- b _0816BE8E
- .pool
-_0816BE84:
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0xFF
- bl sub_816BFE0
-_0816BE8E:
- ldr r0, =gStringVar1
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- lsls r2, r4, 2
- adds r1, r2
- ldr r2, =0x0000049a
- adds r1, r2
- ldrh r1, [r1]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x68
- bl GetStringRightAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl PrintTextOnWindow
-_0816BED4:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end fish4_goto_x5_or_x6
-
- thumb_func_start sub_816BEF0
-sub_816BEF0: @ 816BEF0
- push {r4,r5,lr}
- sub sp, 0xC
- adds r1, r0, 0
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r2, =0x00000661
- adds r0, r2
- ldrb r5, [r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _0816BF2C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl ItemId_GetDescription
- b _0816BF32
- .pool
-_0816BF2C:
- ldr r0, =0x0000ffff
- bl sub_816C228
-_0816BF32:
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BEF0
-
- thumb_func_start sub_816BF60
-sub_816BF60: @ 816BF60
- push {r4,lr}
- sub sp, 0x10
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x9]
- cmp r0, 0xFF
- bne _0816BF8C
- ldrb r0, [r4, 0x5]
- ldrb r1, [r4, 0x4]
- subs r0, r1
- str r0, [sp]
- ldr r0, =0x000013f8
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r1, 0xB0
- movs r2, 0xC
- movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
- strb r0, [r4, 0x9]
-_0816BF8C:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BF60
-
- thumb_func_start sub_816BF9C
-sub_816BF9C: @ 816BF9C
- push {r4,lr}
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x9]
- cmp r0, 0xFF
- beq _0816BFAE
- bl RemoveScrollIndicatorArrowPair
- movs r0, 0xFF
- strb r0, [r4, 0x9]
-_0816BFAE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BF9C
-
- thumb_func_start sub_816BFB8
-sub_816BFB8: @ 816BFB8
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- bl ListMenuGetYCoordForPrintingArrowCursor
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_816BFE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_816BFB8
-
- thumb_func_start sub_816BFE0
-sub_816BFE0: @ 816BFE0
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r3, 0xCC
- lsls r3, 3
- adds r0, r3
- ldrb r5, [r0]
- cmp r1, 0xFF
- bne _0816C030
- movs r0, 0x1
- movs r1, 0
- bl GetMenuCursorDimensionByFont
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- bl GetMenuCursorDimensionByFont
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x11
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- b _0816C050
- .pool
-_0816C030:
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, =gUnknown_085DFF8C
- str r0, [sp, 0x8]
- lsls r0, r2, 24
- asrs r0, 24
- str r0, [sp, 0xC]
- ldr r0, =gText_SelectorArrow2
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0
- adds r3, r6, 0
- bl AddTextPrinterParametrized2
-_0816C050:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816BFE0
-
- thumb_func_start sub_816C060
-sub_816C060: @ 816C060
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000667
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _0816C0B2
- ldr r4, =0x000013f6
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl AddItemIconObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0816C0B2
- strb r2, [r5]
- ldr r0, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x18
- strh r0, [r1, 0x24]
- movs r0, 0x50
- strh r0, [r1, 0x26]
-_0816C0B2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C060
-
- thumb_func_start sub_816C0C8
-sub_816C0C8: @ 816C0C8
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000667
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _0816C0FA
- ldr r4, =0x000013f6
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r5]
-_0816C0FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C0C8
-
- thumb_func_start sub_816C110
-sub_816C110: @ 816C110
- push {lr}
- sub sp, 0x4
- bl sub_80D6E84
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldr r2, =gUnknown_0203BCBC
- adds r3, r2, 0x1
- movs r1, 0x8
- str r1, [sp]
- movs r1, 0x32
- bl sub_812220C
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C110
-
- thumb_func_start sub_816C140
-sub_816C140: @ 816C140
- push {lr}
- ldr r0, =gUnknown_0203BCBA
- subs r1, r0, 0x2
- ldrb r2, [r1, 0x4]
- ldrb r3, [r1, 0x5]
- bl sub_812225C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C140
-
- thumb_func_start sub_816C158
-sub_816C158: @ 816C158
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- movs r4, 0
-_0816C16C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_816BC7C
- adds r4, 0x1
- cmp r4, 0x3
- bls _0816C16C
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- ldr r5, =gText_TossItem
- cmp r0, 0
- bne _0816C186
- ldr r5, =gText_WithdrawItem
-_0816C186:
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x68
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- ldr r4, =gUnknown_0203BCC4
- ldr r0, [r4]
- ldr r1, =0x00000663
- adds r0, r1
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldr r0, [r4]
- ldr r1, =0x00000662
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- bl sub_816C110
- bl sub_816C140
- bl sub_816BD04
- ldr r0, =gUnknown_03006310
- ldr r2, =gUnknown_0203BCB8
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0xA]
- bl sub_816BF60
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C158
-
- thumb_func_start sub_816C228
-sub_816C228: @ 816C228
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, =0xffff0009
- adds r0, r1, r2
- cmp r0, 0x8
- bhi _0816C2B4
- lsls r0, 2
- ldr r1, =_0816C248
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0816C248:
- .4byte _0816C2AC
- .4byte _0816C2A4
- .4byte _0816C29C
- .4byte _0816C294
- .4byte _0816C28C
- .4byte _0816C284
- .4byte _0816C27C
- .4byte _0816C274
- .4byte _0816C26C
-_0816C26C:
- ldr r0, =gText_GoBackPrevMenu
- b _0816C2BA
- .pool
-_0816C274:
- ldr r0, =gText_WithdrawHowManyItems
- b _0816C2BA
- .pool
-_0816C27C:
- ldr r0, =gText_WithdrawXItems
- b _0816C2BA
- .pool
-_0816C284:
- ldr r0, =gText_TossHowManyVar1s
- b _0816C2BA
- .pool
-_0816C28C:
- ldr r0, =gText_ThrewAwayVar2Var1s
- b _0816C2BA
- .pool
-_0816C294:
- ldr r0, =gText_NoRoomInBag
- b _0816C2BA
- .pool
-_0816C29C:
- ldr r0, =gText_TooImportantToToss
- b _0816C2BA
- .pool
-_0816C2A4:
- ldr r0, =gText_ConfirmTossItems
- b _0816C2BA
- .pool
-_0816C2AC:
- ldr r0, =gText_MoveVar1Where
- b _0816C2BA
- .pool
-_0816C2B4:
- adds r0, r1, 0
- bl ItemId_GetDescription
-_0816C2BA:
- pop {r1}
- bx r1
- thumb_func_end sub_816C228
-
- thumb_func_start sub_816C2C0
-sub_816C2C0: @ 816C2C0
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- ldr r1, =0x00000661
- adds r0, r1
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r4, =gStringVar4
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C2C0
-
- thumb_func_start sub_816C30C
-sub_816C30C: @ 816C30C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0816C35C
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r4, r1, 0x2
- adds r2, r4, 0
- bl get_coro_args_x18_x1A
- ldrh r1, [r4, 0x2]
- ldrh r0, [r4]
- adds r1, r0
- ldrb r0, [r4, 0x5]
- subs r0, 0x1
- cmp r1, r0
- beq _0816C39E
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C450
- b _0816C39E
- .pool
-_0816C35C:
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816C384
- adds r0, 0x1
- cmp r6, r0
- bne _0816C392
- b _0816C39E
- .pool
-_0816C384:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C400
- b _0816C39E
-_0816C392:
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_816C71C
-_0816C39E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_816C30C
-
- thumb_func_start bx_battle_menu_t3
-bx_battle_menu_t3: @ 816C3A4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0816C3F2
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0816C3DC
- adds r0, r4, 0
- movs r1, 0
- bl sub_816B190
- b _0816C3E4
- .pool
-_0816C3DC:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_816B190
-_0816C3E4:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_816B248
- str r0, [r1]
-_0816C3F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end bx_battle_menu_t3
-
- thumb_func_start sub_816C400
-sub_816C400: @ 816C400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, =gTasks + 0x8
- adds r5, r4, r6
- bl sub_816C0C8
- bl sub_816BF9C
- ldrb r0, [r5, 0xA]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- bl sub_81223B0
- bl sub_816BC58
- subs r6, 0x8
- adds r4, r6
- ldr r0, =bx_battle_menu_t3
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C400
-
- thumb_func_start sub_816C450
-sub_816C450: @ 816C450
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r1, r4, 0
- add r1, r8
- mov r9, r1
- ldrb r0, [r1, 0xA]
- movs r1, 0x10
- movs r2, 0x1
- bl sub_81AF15C
- ldr r6, =gUnknown_0203BCC4
- ldr r2, [r6]
- ldr r1, =gUnknown_0203BCB8
- ldrb r0, [r1]
- ldrb r1, [r1, 0x2]
- adds r0, r1
- ldr r5, =0x00000666
- adds r2, r5
- strb r0, [r2]
- mov r1, r9
- ldrb r0, [r1, 0xA]
- movs r1, 0
- movs r2, 0
- bl sub_816BFB8
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl sub_816C690
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fff7
- bl sub_816C228
- bl sub_816C2C0
- movs r1, 0x8
- negs r1, r1
- add r8, r1
- add r4, r8
- ldr r0, =sub_816C4FC
- str r0, [r4]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C450
-
- thumb_func_start sub_816C4FC
-sub_816C4FC: @ 816C4FC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldr r7, =gMain
- ldrh r1, [r7, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0816C530
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
- b _0816C57E
- .pool
-_0816C530:
- ldrb r0, [r4, 0xA]
- bl ListMenuHandleInput
- adds r6, r0, 0
- ldrb r0, [r4, 0xA]
- ldr r1, =gUnknown_0203BCBA
- subs r4, r1, 0x2
- adds r2, r4, 0
- bl get_coro_args_x18_x1A
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- movs r2, 0
- bl sub_81223FC
- ldrb r0, [r4]
- bl sub_816C690
- movs r0, 0x2
- negs r0, r0
- cmp r6, r0
- beq _0816C574
- adds r0, 0x1
- cmp r6, r0
- bne _0816C592
- b _0816C59A
- .pool
-_0816C574:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816C588
-_0816C57E:
- adds r0, r5, 0
- movs r1, 0
- bl sub_816C5A0
- b _0816C59A
-_0816C588:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_816C5A0
- b _0816C59A
-_0816C592:
- adds r0, r5, 0
- movs r1, 0
- bl sub_816C5A0
-_0816C59A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_816C4FC
-
- thumb_func_start sub_816C5A0
-sub_816C5A0: @ 816C5A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- mov r8, r0
- ldr r4, =gUnknown_0203BCB8
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0x5
- bl PlaySE
- mov r2, r8
- ldrb r0, [r2, 0xA]
- adds r1, r4, 0x2
- adds r2, r4, 0
- bl sub_81AE6C8
- cmp r5, 0
- bne _0816C60A
- ldr r1, =gUnknown_0203BCC4
- ldr r0, [r1]
- ldr r2, =0x00000666
- adds r0, r2
- ldrb r2, [r0]
- adds r4, r1, 0
- cmp r2, r6
- beq _0816C622
- subs r0, r6, 0x1
- cmp r2, r0
- beq _0816C60A
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- adds r1, r2, 0
- adds r2, r6, 0
- bl sub_80D702C
- bl sub_816BD04
-_0816C60A:
- ldr r0, =gUnknown_0203BCC4
- ldr r1, [r0]
- ldr r2, =0x00000666
- adds r1, r2
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, r6
- bcs _0816C622
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_0816C622:
- ldr r0, [r4]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- movs r1, 0x7
- movs r2, 0x1
- bl sub_81223FC
- ldr r0, [r4]
- ldr r2, =0x00000666
- adds r0, r2
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, =gUnknown_03006310
- ldr r2, =gUnknown_0203BCB8
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0xA]
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C5A0
-
- thumb_func_start sub_816C690
-sub_816C690: @ 816C690
- push {lr}
- adds r3, r0, 0
- lsls r3, 24
- ldr r0, =gUnknown_0203BCC4
- ldr r0, [r0]
- movs r1, 0xCD
- lsls r1, 3
- adds r0, r1
- lsrs r3, 4
- movs r1, 0x80
- lsls r1, 13
- adds r3, r1
- lsrs r3, 16
- movs r1, 0x7
- movs r2, 0x80
- bl sub_8122448
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C690
-
- thumb_func_start sub_816C6BC
-sub_816C6BC: @ 816C6BC
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- ldr r5, [sp, 0x1C]
- ldr r3, [sp, 0x20]
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gStringVar1
- bl ConvertIntToDecimalStringN
- ldr r4, =gStringVar4
- ldr r1, =gText_xVar1
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x30
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl PrintTextOnWindow
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C6BC
-
- thumb_func_start sub_816C71C
-sub_816C71C: @ 816C71C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_816BF9C
- movs r0, 0x1
- strh r0, [r6, 0x4]
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0816C798
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0
- ldr r2, =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0816C774
- adds r0, r5, 0
- bl sub_816C8FC
- b _0816C7FE
- .pool
-_0816C774:
- movs r2, 0x93
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fffe
- bl sub_816C228
- bl sub_816C2C0
- b _0816C7D4
- .pool
-_0816C798:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r4, 2
- adds r1, r0
- ldr r2, =0x0000049a
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _0816C7BC
- adds r0, r5, 0
- bl sub_816C9B8
- b _0816C7FE
- .pool
-_0816C7BC:
- movs r2, 0x93
- lsls r2, 3
- adds r0, r1, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =0x0000fffc
- bl sub_816C228
- bl sub_816C2C0
-_0816C7D4:
- movs r0, 0x4
- bl sub_816BC7C
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- movs r2, 0x1
- str r2, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0x2
- movs r3, 0x8
- bl sub_816C6BC
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C818
- str r1, [r0]
-_0816C7FE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C71C
-
- thumb_func_start sub_816C818
-sub_816C818: @ 816C818
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- mov r9, r5
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- ldr r0, =gUnknown_0203BCB8
- ldrh r2, [r0, 0x2]
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- adds r0, r6, 0x4
- ldr r1, =gSaveBlock1Ptr
- mov r8, r1
- ldr r1, [r1]
- lsrs r7, r2, 14
- adds r1, r7
- ldr r2, =0x0000049a
- adds r1, r2
- ldrh r1, [r1]
- bl AdjustQuantityAccordingToDPadInput
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0816C888
- movs r0, 0x4
- bl sub_816BC7C
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- str r4, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0x2
- movs r3, 0x8
- bl sub_816C6BC
- b _0816C8EC
- .pool
-_0816C888:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0816C8BC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- bl sub_816BCC4
- movs r3, 0x6
- ldrsh r0, [r6, r3]
- cmp r0, 0
- bne _0816C8B4
- adds r0, r5, 0
- bl sub_816C8FC
- b _0816C8EC
- .pool
-_0816C8B4:
- adds r0, r5, 0
- bl sub_816C9B8
- b _0816C8EC
-_0816C8BC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0816C8EC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x4
- bl sub_816BCC4
- mov r1, r8
- ldr r0, [r1]
- adds r0, r7
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r9
- bl sub_816CBC0
-_0816C8EC:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_816C818
-
- thumb_func_start sub_816C8FC
-sub_816C8FC: @ 816C8FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r4, r6, r0
- ldr r0, =gUnknown_0203BCB8
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- ldr r7, =gSaveBlock1Ptr
- ldr r0, [r7]
- lsrs r5, r1, 14
- adds r0, r5
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- bl AddBagItem
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0816C98C
- ldr r0, [r7]
- adds r0, r5
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =0x0000fffd
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_816CB04
- b _0816C9A2
- .pool
-_0816C98C:
- movs r0, 0
- strh r0, [r4, 0x4]
- ldr r0, =0x0000fffa
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_816CB74
-_0816C9A2:
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C8FC
-
- thumb_func_start sub_816C9B8
-sub_816C9B8: @ 816C9B8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- mov r8, r0
- ldr r0, =gTasks + 0x8
- mov r9, r0
- mov r7, r8
- add r7, r9
- ldr r0, =gUnknown_0203BCB8
- ldrh r1, [r0, 0x2]
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- ldr r6, =gSaveBlock1Ptr
- ldr r0, [r6]
- lsrs r4, r1, 14
- adds r0, r4
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _0816CA64
- ldr r0, [r6]
- adds r0, r4
- movs r2, 0x93
- lsls r2, 3
- adds r0, r2
- ldrh r0, [r0]
- ldr r1, =gStringVar1
- bl CopyItemName
- ldr r0, =gStringVar2
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, =0x0000fff8
- bl sub_816C228
- bl sub_816C2C0
- ldr r1, =gUnknown_085DFF84
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x85
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- ldr r0, =gUnknown_085DFF3C
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl CreateYesNoMenuWithCallbacks
- b _0816CA7C
- .pool
-_0816CA64:
- movs r0, 0
- strh r0, [r7, 0x4]
- ldr r0, =0x0000fff9
- bl sub_816C228
- bl sub_816C2C0
- mov r0, r9
- subs r0, 0x8
- add r0, r8
- ldr r1, =sub_816CB74
- str r1, [r0]
-_0816CA7C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816C9B8
-
- thumb_func_start sub_816CA94
-sub_816CA94: @ 816CA94
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =0x0000fffb
- bl sub_816C228
- bl sub_816C2C0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816CB04
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CA94
-
- thumb_func_start sub_816CAC8
-sub_816CAC8: @ 816CAC8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- movs r0, 0x93
- lsls r0, 3
- adds r2, r0
- ldrh r0, [r2]
- bl sub_816C228
- bl sub_816C2C0
- adds r0, r4, 0
- bl sub_816CBC0
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CAC8
-
- thumb_func_start sub_816CB04
-sub_816CB04: @ 816CB04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816CB5E
- ldr r4, =gUnknown_0203BCB8
- ldrb r0, [r4, 0x2]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- bl sub_80D6E48
- ldrb r0, [r5, 0xA]
- adds r1, r4, 0x2
- adds r2, r4, 0
- bl sub_81AE6C8
- bl sub_816C110
- bl sub_816C140
- bl sub_816BD04
- ldr r0, =gUnknown_03006310
- ldrh r1, [r4, 0x2]
- ldrh r2, [r4]
- bl ListMenuInit
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xA]
- adds r0, r6, 0
- bl sub_816CBC0
-_0816CB5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CB04
-
- thumb_func_start sub_816CB74
-sub_816CB74: @ 816CB74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0816CBAC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r1, =gUnknown_0203BCB8
- ldrh r0, [r1, 0x2]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- movs r0, 0x93
- lsls r0, 3
- adds r2, r0
- ldrh r0, [r2]
- bl sub_816C228
- bl sub_816C2C0
- adds r0, r4, 0
- bl sub_816CBC0
-_0816CBAC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CB74
-
- thumb_func_start sub_816CBC0
-sub_816CBC0: @ 816CBC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_816BF60
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_816C30C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816CBC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeball.s b/asm/pokeball.s
deleted file mode 100755
index b4fc36d97..000000000
--- a/asm/pokeball.s
+++ /dev/null
@@ -1,2861 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80753E8
-sub_80753E8: @ 80753E8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r6, =gActiveBank
- ldrb r1, [r6]
- ldr r2, [r0, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =sub_8075450
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- ldrb r0, [r6]
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80753E8
-
- thumb_func_start sub_8075450
-sub_8075450: @ 8075450
- 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
- mov r10, r0
- movs r0, 0
- str r0, [sp]
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08075488
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
- b _08075602
- .pool
-_08075488:
- ldrh r0, [r1, 0xC]
- mov r8, r0
- ldrb r5, [r1, 0xE]
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080754B4
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _080754C2
- .pool
-_080754B4:
- ldr r1, =gBattlePartyID
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_080754C2:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8076A78
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r1, =gUnknown_0832C588
- adds r0, r1
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1D
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gSprites
- mov r9, r2
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- adds r4, r6, r2
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- movs r3, 0
- strh r3, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x3C]
- mov r2, r8
- cmp r2, 0xFE
- beq _08075548
- cmp r2, 0xFF
- bne _08075584
- ldr r0, =gBankTarget
- strb r5, [r0]
- movs r0, 0x18
- strh r0, [r4, 0x20]
- movs r0, 0x44
- strh r0, [r4, 0x22]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_80761B4
- str r1, [r0]
- b _08075592
- .pool
-_08075548:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x22]
- ldr r0, =gBankTarget
- strb r5, [r0]
- movs r3, 0
- strh r3, [r4, 0x2E]
- mov r0, r9
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, =sub_8076398
- str r1, [r0]
- b _08075592
- .pool
-_08075584:
- movs r0, 0x1
- bl GetBankByIdentity
- ldr r1, =gBankTarget
- strb r0, [r1]
- movs r0, 0x1
- str r0, [sp]
-_08075592:
- ldr r0, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r4, r1, r0
- ldr r5, =gBankTarget
- ldrb r0, [r5]
- strh r0, [r4, 0x3A]
- ldr r2, [sp]
- cmp r2, 0
- bne _080755B8
- mov r0, r10
- bl DestroyTask
- b _08075602
- .pool
-_080755B8:
- movs r0, 0x22
- strh r0, [r4, 0x2E]
- ldrb r0, [r5]
- movs r1, 0
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffd8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80A68D4
- mov r3, r10
- strh r3, [r4, 0x6]
- ldr r1, =gTasks
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r5]
- strh r1, [r0, 0x10]
- ldr r1, =TaskDummy
- str r1, [r0]
- movs r0, 0x3D
- bl PlaySE
-_08075602:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075450
-
- thumb_func_start objc_0804ABD4
-objc_0804ABD4: @ 8075620
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- bl sub_80A6900
- lsls r0, 24
- cmp r0, 0
- beq _080756C0
- ldrb r6, [r7, 0x6]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrb r5, [r0, 0x10]
- ldrb r0, [r0, 0xC]
- mov r8, r0
- adds r0, r7, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r7, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r7, 0x24]
- ldrh r1, [r7, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r7, 0x20]
- ldrh r0, [r7, 0x26]
- ldrh r2, [r7, 0x22]
- adds r0, r2
- strh r0, [r7, 0x22]
- strh r1, [r7, 0x24]
- strh r1, [r7, 0x26]
- strh r1, [r7, 0x38]
- adds r0, r5, 0
- bl sub_8076B14
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r7, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_8171D98
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x2E]
- strh r5, [r7, 0x3A]
- mov r0, r8
- strh r0, [r7, 0x3C]
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, =sub_80756D4
- str r0, [r7, 0x1C]
-_080756C0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end objc_0804ABD4
-
- thumb_func_start sub_80756D4
-sub_80756D4: @ 80756D4
- ldr r1, =sub_80756E0
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_80756D4
-
- thumb_func_start sub_80756E0
-sub_80756E0: @ 80756E0
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x38]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r6, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0807573A
- strh r7, [r6, 0x38]
- ldr r0, =sub_807574C
- str r0, [r6, 0x1C]
- ldr r5, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAffineAnim
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r7, [r0, 0x30]
-_0807573A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80756E0
-
- thumb_func_start sub_807574C
-sub_807574C: @ 807574C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08075764
- movs r0, 0x3C
- bl PlaySE
-_08075764:
- ldr r6, =gSprites
- ldr r5, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080757BC
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
- strh r0, [r4, 0x38]
- ldr r0, =sub_80757E4
- str r0, [r4, 0x1C]
- b _080757DC
- .pool
-_080757BC:
- ldrh r0, [r1, 0x30]
- adds r0, 0x60
- strh r0, [r1, 0x30]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- negs r0, r0
- asrs r0, 8
- strh r0, [r1, 0x26]
-_080757DC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807574C
-
- thumb_func_start sub_80757E4
-sub_80757E4: @ 80757E4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807582C
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0807582C
- strh r1, [r4, 0x34]
- movs r0, 0x20
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- movs r0, 0
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldr r0, =sub_8075838
- str r0, [r4, 0x1C]
-_0807582C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80757E4
-
- thumb_func_start sub_8075838
-sub_8075838: @ 8075838
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0
- beq _0807584E
- cmp r1, 0x1
- beq _080758C2
- b _080758EE
-_0807584E:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- adds r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3F
- ble _080758EE
- ldrh r0, [r4, 0x36]
- subs r0, 0xA
- strh r0, [r4, 0x36]
- ldr r1, =0x00000101
- adds r0, r2, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _0807588A
- movs r5, 0x1
-_0807588A:
- cmp r0, 0x2
- beq _080758AA
- cmp r0, 0x2
- bgt _0807589C
- cmp r0, 0x1
- beq _080758A2
- b _080758BA
- .pool
-_0807589C:
- cmp r0, 0x3
- beq _080758B2
- b _080758BA
-_080758A2:
- movs r0, 0x38
- bl PlaySE
- b _080758EE
-_080758AA:
- movs r0, 0x39
- bl PlaySE
- b _080758EE
-_080758B2:
- movs r0, 0x3A
- bl PlaySE
- b _080758EE
-_080758BA:
- movs r0, 0x3B
- bl PlaySE
- b _080758EE
-_080758C2:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x38]
- subs r1, 0x4
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 24
- subs r1, r0
- strh r1, [r4, 0x38]
- lsls r1, 16
- cmp r1, 0
- bgt _080758EE
- strh r5, [r4, 0x38]
- ldr r0, =0xffffff00
- ands r0, r2
- strh r0, [r4, 0x34]
-_080758EE:
- cmp r5, 0
- beq _08075926
- movs r5, 0
- strh r5, [r4, 0x34]
- movs r0, 0x40
- movs r1, 0x20
- bl Cos
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807591C
- ldr r0, =sub_8075D14
- str r0, [r4, 0x1C]
- b _08075926
- .pool
-_0807591C:
- ldr r0, =sub_8075930
- str r0, [r4, 0x1C]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
-_08075926:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075838
-
- thumb_func_start sub_8075930
-sub_8075930: @ 8075930
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08075964
- movs r0, 0
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, =sub_8075970
- str r0, [r4, 0x1C]
- movs r0, 0x17
- bl PlaySE
-_08075964:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075930
-
- thumb_func_start sub_8075970
-sub_8075970: @ 8075970
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x34]
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x4
- bhi _08075A70
- lsls r0, r1, 2
- ldr r1, =_0807598C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0807598C:
- .4byte _080759A0
- .4byte _080759D2
- .4byte _080759A0
- .4byte _08075A26
- .4byte _08075A70
-_080759A0:
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x24]
- adds r1, r0, r2
- strh r1, [r4, 0x24]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bls _08075AB6
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- movs r0, 0
- strh r0, [r4, 0x38]
- b _08075AB6
-_080759D2:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08075A18
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x36]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _08075A0E
- adds r0, r4, 0
- movs r1, 0x2
- bl ChangeSpriteAffineAnim
- b _08075AB6
-_08075A0E:
- adds r0, r4, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- b _08075AB6
-_08075A18:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- b _08075AB6
-_08075A26:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r2, [r4, 0x34]
- adds r0, r2
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08075A48
- ldr r0, =sub_8075D14
- str r0, [r4, 0x1C]
- b _08075AB6
- .pool
-_08075A48:
- cmp r1, 0x4
- bne _08075A5C
- cmp r0, 0x3
- bne _08075A5C
- ldr r0, =sub_8075FB4
- str r0, [r4, 0x1C]
- b _08075A62
- .pool
-_08075A5C:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
-_08075A62:
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- b _08075AB6
-_08075A70:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _08075AB6
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r1, [r4, 0x34]
- ldr r0, =0xffffff00
- ands r0, r1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _08075AA8
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _08075AB0
- .pool
-_08075AA8:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08075AB0:
- movs r0, 0x17
- bl PlaySE
-_08075AB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8075970
-
- thumb_func_start c3_0804B070
-c3_0804B070: @ 8075ABC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0xC]
- mov r12, r1
- ldrb r5, [r0, 0xA]
- ldrh r6, [r0, 0x8]
- ldrb r3, [r0, 0xE]
- mov r8, r3
- ldrb r7, [r0, 0x10]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- lsls r3, r1, 16
- ldrh r1, [r0, 0x14]
- orrs r3, r1
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0x20
- bhi _08075B88
- lsls r0, 2
- ldr r1, =_08075B04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08075B04:
- .4byte _08075B88
- .4byte _08075BB4
- .4byte _08075BDA
- .4byte _08075C54
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075BF8
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075B88
- .4byte _08075C66
- .4byte _08075C7E
- .4byte _08075CA8
-_08075B88:
- ldr r0, =gSprites
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- adds r1, 0x3F
- ldrb r0, [r1]
- lsls r0, 26
- cmp r0, 0
- blt _08075B9E
- b _08075D04
-_08075B9E:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- mov r1, r12
- adds r1, 0x1
- strh r1, [r0, 0x26]
- b _08075D04
- .pool
-_08075BB4:
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075BCC
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0
- bl PlayCry3
- b _08075C2E
-_08075BCC:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl PlayCry3
- b _08075C2E
-_08075BDA:
- bl StopCryAndClearCrySongs
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x1C]
- movs r1, 0x14
- strh r1, [r0, 0x26]
- b _08075D04
- .pool
-_08075BF8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r7, 0x1C
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _08075CBA
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075C22
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0x1
- bl PlayCry4
- b _08075C2E
-_08075C22:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xC
- bl PlayCry4
-_08075C2E:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- adds r0, r4, 0
- bl DestroyTask
- b _08075D04
- .pool
-_08075C54:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r1, 0x6
- strh r1, [r0, 0x1C]
- movs r1, 0x1E
- strh r1, [r0, 0x26]
- b _08075D04
-_08075C66:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08075CBA
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
-_08075C7E:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _08075D04
- bl StopCryAndClearCrySongs
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
- strh r0, [r1, 0x1C]
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _08075D04
- .pool
-_08075CA8:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0x1C]
- movs r7, 0x1C
- ldrsh r0, [r1, r7]
- cmp r0, 0
- beq _08075CC0
-_08075CBA:
- subs r0, r2, 0x1
- strh r0, [r1, 0x1C]
- b _08075D04
-_08075CC0:
- adds r0, r3, 0
- bl ShouldPlayNormalPokeCry
- cmp r0, 0x1
- bne _08075CD8
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0
- bl PlayCry4
- b _08075CE4
-_08075CD8:
- lsls r1, r5, 24
- asrs r1, 24
- adds r0, r6, 0
- movs r2, 0xB
- bl PlayCry4
-_08075CE4:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- adds r0, r4, 0
- bl DestroyTask
-_08075D04:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_0804B070
-
- thumb_func_start sub_8075D14
-sub_8075D14: @ 8075D14
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r5, 0
- bl sub_8076B14
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r2, 0x1
- movs r3, 0x1C
- bl sub_8171D98
- ldrh r1, [r6, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0xE
- adds r3, r4, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x2E]
- ldr r0, =sub_8075FD4
- str r0, [r6, 0x1C]
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08075D88
- b _08075EF4
-_08075D88:
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08075DC0
- ldr r0, =gBattlePartyID
- lsls r2, r5, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r7, r1, r0
- movs r4, 0x19
- mov r10, r4
- b _08075DD4
- .pool
-_08075DC0:
- ldr r0, =gBattlePartyID
- lsls r2, r5, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r7, r1, r0
- movs r0, 0xE7
- mov r10, r0
-_08075DD4:
- mov r8, r2
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08075E00
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08075E56
-_08075E00:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08075E56
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08075E56
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x42
- ands r0, r1
- cmp r0, 0x42
- bne _08075E4C
- bl IsBGMPlaying
- lsls r0, 24
- cmp r0, 0
- beq _08075E56
- ldr r0, =gMPlay_BGM
- bl m4aMPlayStop
- b _08075E56
- .pool
-_08075E4C:
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_08075E56:
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08075E70
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08075E80
-_08075E70:
- movs r4, 0
- b _08075EA2
- .pool
-_08075E80:
- movs r0, 0
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08075E9C
- movs r0, 0x1
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08075EA0
-_08075E9C:
- movs r4, 0x1
- b _08075EA2
-_08075EA0:
- movs r4, 0x2
-_08075EA2:
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r2, r8
- adds r1, r2, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r0, =c3_0804B070
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- mov r0, r9
- strh r0, [r1, 0x8]
- mov r2, r10
- lsls r0, r2, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r5, [r1, 0xE]
- ldr r2, =gBankSpriteIds
- movs r4, 0x3A
- ldrsh r0, [r6, r4]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x10]
- lsrs r0, r7, 16
- strh r0, [r1, 0x12]
- strh r7, [r1, 0x14]
- strh r3, [r1, 0x26]
-_08075EF4:
- ldr r4, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08075F50
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8039B58
- b _08075F66
- .pool
-_08075F50:
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_8039E44
-_08075F66:
- str r1, [r0]
- ldr r5, =gBankSpriteIds
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl AnimateSprite
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x80
- lsls r1, 5
- strh r1, [r0, 0x30]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075D14
-
- thumb_func_start sub_8075FB4
-sub_8075FB4: @ 8075FB4
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r1, [r3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r3]
- ldr r1, =sub_80760F8
- str r1, [r0, 0x1C]
- movs r1, 0
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- bx lr
- .pool
- thumb_func_end sub_8075FB4
-
- thumb_func_start sub_8075FD4
-sub_8075FD4: @ 8075FD4
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- ldrh r0, [r5, 0x3A]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gSprites
- ldr r0, =gBankSpriteIds
- adds r3, r6, r0
- 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]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076016
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08076016:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08076040
- adds r0, r1, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r7, 0x1
- b _0807605C
- .pool
-_08076040:
- ldr r2, =0xfffffee0
- adds r0, r2, 0
- ldrh r2, [r1, 0x30]
- adds r0, r2
- strh r0, [r1, 0x30]
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r1, 0x26]
-_0807605C:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080760DE
- cmp r7, 0
- beq _080760DE
- ldr r2, =gSprites
- ldr r0, =gBankSpriteIds
- adds r0, r6, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x26]
- ldr r0, =gDoingBattleAnim
- strb r2, [r0]
- ldr r4, =gBattleSpritesDataPtr
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
- movs r3, 0
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- movs r5, 0x8
- movs r4, 0x3
-_080760B6:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080760C2
- adds r3, 0x1
-_080760C2:
- adds r2, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _080760B6
- cmp r3, 0x4
- bne _080760DE
- movs r4, 0
-_080760D0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8076AE8
- adds r4, 0x1
- cmp r4, 0xB
- ble _080760D0
-_080760DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075FD4
-
- thumb_func_start sub_80760F8
-sub_80760F8: @ 80760F8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- strh r0, [r6, 0x36]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0x28
- beq _08076196
- cmp r1, 0x5F
- bne _08076130
- ldr r0, =gDoingBattleAnim
- movs r1, 0
- strb r1, [r0]
- bl m4aMPlayAllStop
- ldr r0, =0x00000173
- bl PlaySE
- b _08076196
- .pool
-_08076130:
- ldr r0, =0x0000013b
- cmp r1, r0
- bne _08076196
- ldr r5, =gSprites
- ldr r4, =gBankSpriteIds
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- adds r0, r6, 0
- bl DestroySpriteAndFreeResources
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08076196
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_08076196:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80760F8
-
- thumb_func_start sub_80761B4
-sub_80761B4: @ 80761B4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x19
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_80A5C6C
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x18
- strh r0, [r4, 0x36]
- ldr r0, =0x0000ffe2
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- strh r0, [r4, 0x6]
- adds r0, r4, 0
- bl sub_80A68D4
- ldr r0, =sub_8076204
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80761B4
-
- thumb_func_start sub_8076204
-sub_8076204: @ 8076204
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r0, [r5, 0x3C]
- movs r1, 0xFF
- mov r8, r1
- lsrs r0, 8
- subs r0, 0x23
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2C
- bhi _080762F8
- ldrh r1, [r5, 0x6]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- bne _08076266
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x2
- negs r1, r1
- adds r4, r1, 0
- ands r0, r4
- orrs r6, r0
- strh r6, [r5, 0x30]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r1, 0x3
- bl __divsi3
- ands r0, r4
- orrs r7, r0
- strh r7, [r5, 0x32]
- adds r0, r5, 0
- movs r1, 0x4
- bl StartSpriteAffineAnim
-_08076266:
- ldrh r4, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_80A6F3C
- movs r1, 0x3A
- ldrsh r0, [r5, r1]
- movs r1, 0x3
- bl __divsi3
- adds r1, r0, 0
- ldrh r0, [r5, 0x3C]
- adds r0, r1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- asrs r0, 24
- mov r2, r8
- ands r0, r2
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r5, 0x6]
- adds r0, r1
- strh r0, [r5, 0x6]
- lsls r0, 16
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- beq _080762B6
- strh r4, [r5, 0x2E]
- b _080762BE
-_080762B6:
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, 0x1
- strh r0, [r5, 0x2E]
-_080762BE:
- ldrh r0, [r5, 0x3C]
- lsrs r0, 8
- cmp r0, 0x4F
- ble _08076364
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- adds r6, r1, 0
- ands r6, r0
- ldrh r0, [r5, 0x32]
- adds r7, r1, 0
- ands r7, r0
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x2
- negs r1, r1
- adds r2, r1, 0
- ands r0, r2
- orrs r0, r6
- strh r0, [r5, 0x30]
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- ands r0, r2
- orrs r0, r7
- strh r0, [r5, 0x32]
- b _08076364
-_080762F8:
- adds r0, r5, 0
- bl sub_80A6900
- lsls r0, 24
- cmp r0, 0
- beq _08076364
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldrb r0, [r5, 0x6]
- strh r0, [r5, 0x3A]
- strh r1, [r5, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08076358
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08076358
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x2
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08076358
- ldr r0, =sub_8076374
- b _0807635A
- .pool
-_08076358:
- ldr r0, =sub_8075D14
-_0807635A:
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
-_08076364:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076204
-
- thumb_func_start sub_8076374
-sub_8076374: @ 8076374
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _0807638E
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldr r0, =sub_8075D14
- str r0, [r2, 0x1C]
-_0807638E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076374
-
- thumb_func_start sub_8076398
-sub_8076398: @ 8076398
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080763EC
- movs r0, 0
- strh r0, [r5, 0x2E]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _080763E8
- ldr r0, =gBattleSpritesDataPtr
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- ldrb r1, [r0, 0x9]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080763E8
- movs r0, 0x3A
- ldrsh r4, [r5, r0]
- movs r0, 0x3
- bl GetBankByIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080763E8
- ldr r0, =sub_8076374
- b _080763EA
- .pool
-_080763E8:
- ldr r0, =sub_8075D14
-_080763EA:
- str r0, [r5, 0x1C]
-_080763EC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076398
-
- thumb_func_start sub_80763F8
-sub_80763F8: @ 80763F8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl sub_8171D98
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80763F8
-
- thumb_func_start sub_8076420
-sub_8076420: @ 8076420
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- bl sub_81729E8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8076420
-
- thumb_func_start sub_8076438
-sub_8076438: @ 8076438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- mov r9, r2
- mov r10, r3
- ldr r6, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r0, [sp, 0x30]
- ldr r2, [sp, 0x38]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- lsls r0, r2, 16
- lsrs r7, r0, 16
- ldr r0, =gUnknown_0832C400
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_0832C588
- mov r1, r9
- mov r2, r10
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r8, r1
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r2, r4, r1
- strh r5, [r2, 0x2E]
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x20]
- strh r0, [r2, 0x38]
- ldrh r0, [r1, 0x22]
- strh r0, [r2, 0x3A]
- mov r3, r9
- strh r3, [r1, 0x20]
- mov r0, r10
- strh r0, [r1, 0x22]
- strh r7, [r1, 0x3C]
- mov r3, sp
- ldrh r3, [r3, 0x4]
- strh r3, [r2, 0x30]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2, 0x32]
- mov r3, sp
- ldrh r3, [r3, 0x34]
- strh r3, [r2, 0x34]
- ldr r3, [sp, 0x34]
- lsrs r0, r3, 16
- strh r0, [r2, 0x36]
- movs r0, 0x3
- ands r6, r0
- lsls r6, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r6
- strb r0, [r2, 0x5]
- movs r0, 0x1C
- add r8, r0
- add r4, r8
- ldr r0, =sub_8076524
- str r0, [r4]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076438
-
- thumb_func_start sub_8076524
-sub_8076524: @ 8076524
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r1, [r6, 0x30]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _080765D0
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r4, [r6, 0x34]
- ldrh r0, [r6, 0x36]
- lsls r0, 16
- orrs r4, r0
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807655E
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- b _08076560
-_0807655E:
- movs r5, 0
-_08076560:
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r6, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r5, 0
- bl sub_80763F8
- movs r0, 0x1
- mov r1, r8
- adds r2, r4, 0
- bl sub_8076420
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x30]
- ldr r0, =sub_80765E0
- str r0, [r6, 0x1C]
- ldr r0, =gSprites
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r4, 0x30]
- strh r5, [r6, 0x3C]
- b _080765D4
- .pool
-_080765D0:
- subs r0, r1, 0x1
- strh r0, [r6, 0x30]
-_080765D4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8076524
-
- thumb_func_start sub_80765E0
-sub_80765E0: @ 80765E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r0, 0
- mov r12, r0
- movs r7, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076610
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08076610:
- ldr r1, =gSprites
- lsls r2, r6, 4
- adds r0, r2, r6
- lsls r0, 2
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- mov r8, r2
- cmp r0, 0
- bge _08076634
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r1, 0x1
- mov r12, r1
-_08076634:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r3, 0x20
- ldrsh r1, [r4, r3]
- subs r0, r1
- movs r1, 0x3C
- ldrsh r2, [r4, r1]
- muls r0, r2
- cmp r0, 0
- bge _0807664A
- adds r0, 0x7F
-_0807664A:
- asrs r0, 7
- ldrh r3, [r4, 0x20]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r3, 0x22
- ldrsh r1, [r4, r3]
- subs r0, r1
- muls r0, r2
- cmp r0, 0
- bge _08076668
- adds r0, 0x7F
-_08076668:
- asrs r0, 7
- ldrh r1, [r4, 0x22]
- adds r0, r1
- mov r2, r9
- strh r2, [r5, 0x20]
- strh r0, [r5, 0x22]
- ldrh r2, [r4, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0x7F
- bgt _080766AC
- ldr r1, =gSineTable
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _08076690
- adds r0, 0x7
-_08076690:
- asrs r0, 3
- negs r0, r0
- lsls r0, 16
- lsrs r0, 16
- adds r1, r2, 0x4
- strh r1, [r4, 0x3C]
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- b _080766BA
- .pool
-_080766AC:
- ldrh r0, [r4, 0x38]
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x3A]
- strh r0, [r5, 0x22]
- strh r7, [r5, 0x24]
- strh r7, [r5, 0x26]
- movs r7, 0x1
-_080766BA:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0807670E
- mov r2, r12
- cmp r2, 0
- beq _0807670E
- cmp r7, 0
- beq _0807670E
- ldr r1, =gSprites
- mov r3, r8
- adds r0, r3, r6
- lsls r0, 2
- adds r2, r0, r1
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _080766FC
- ldrh r1, [r2, 0x3C]
- adds r0, r2, 0
- movs r2, 0x1
- movs r3, 0
- bl DoMonFrontSpriteAnimation
- b _08076708
- .pool
-_080766FC:
- ldrh r1, [r2, 0x3C]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0
- bl DoMonFrontSpriteAnimation
-_08076708:
- adds r0, r4, 0
- bl DestroySpriteAndFreeResources
-_0807670E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80765E0
-
- thumb_func_start sub_807671C
-sub_807671C: @ 807671C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- adds r6, r2, 0
- mov r8, r3
- ldr r5, [sp, 0x20]
- ldr r4, [sp, 0x24]
- ldr r0, [sp, 0x28]
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gUnknown_0832C400
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- bl LoadCompressedObjectPaletteUsingHeap
- ldr r0, =gUnknown_0832C588
- adds r1, r6, 0
- mov r2, r8
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r2, r3, r6
- mov r1, r10
- strh r1, [r2, 0x2E]
- mov r4, r9
- strh r4, [r2, 0x30]
- strh r7, [r2, 0x32]
- mov r1, sp
- ldrh r1, [r1, 0x2C]
- strh r1, [r2, 0x34]
- ldr r4, [sp, 0x2C]
- lsrs r1, r4, 16
- strh r1, [r2, 0x36]
- movs r1, 0x3
- ands r5, r1
- lsls r5, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r5
- strb r1, [r2, 0x5]
- adds r6, 0x1C
- adds r3, r6
- ldr r1, =sub_80767D4
- str r1, [r3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807671C
-
- thumb_func_start sub_80767D4
-sub_80767D4: @ 80767D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0807686C
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r5, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- orrs r5, r0
- adds r0, r4, 0
- adds r0, 0x43
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807680E
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- b _08076810
-_0807680E:
- movs r6, 0
-_08076810:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, 0x5
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r4, 0x5]
- lsls r2, 28
- lsrs r2, 30
- adds r3, r6, 0
- bl sub_80763F8
- movs r0, 0x1
- mov r1, r8
- adds r2, r5, 0
- bl sub_8076420
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x30]
- ldr r0, =sub_807687C
- str r0, [r4, 0x1C]
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- bl AnimateSprite
- strh r5, [r4, 0x30]
- b _08076870
- .pool
-_0807686C:
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
-_08076870:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80767D4
-
- thumb_func_start sub_807687C
-sub_807687C: @ 807687C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _08076894
- movs r0, 0x3C
- bl PlaySE
-_08076894:
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080768D8
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- strh r0, [r5, 0x38]
- ldr r0, =sub_80768F0
- str r0, [r5, 0x1C]
- b _080768E8
- .pool
-_080768D8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x60
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- negs r0, r0
- asrs r0, 8
- strh r0, [r4, 0x26]
-_080768E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_807687C
-
- thumb_func_start sub_80768F0
-sub_80768F0: @ 80768F0
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08076904
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08076904:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80768F0
-
- thumb_func_start obj_delete_and_free_associated_resources_
-obj_delete_and_free_associated_resources_: @ 807690C
- push {lr}
- bl DestroySpriteAndFreeResources
- pop {r0}
- bx r0
- thumb_func_end obj_delete_and_free_associated_resources_
-
- thumb_func_start sub_8076918
-sub_8076918: @ 8076918
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r0, =gHealthBoxesIds
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, =gSprites
- adds r4, r0, r6
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x73
- strh r0, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldr r0, =sub_80769CC
- str r0, [r4, 0x1C]
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08076966
- ldrh r0, [r4, 0x2E]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
-_08076966:
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r1, r0, r1
- adds r0, r6
- ldr r1, [r1]
- bl _call_via_r1
- adds r0, r5, 0
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08076990
- ldr r0, =sub_80769A8
- str r0, [r4, 0x1C]
-_08076990:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076918
-
- thumb_func_start sub_80769A8
-sub_80769A8: @ 80769A8
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080769C2
- movs r0, 0
- strh r0, [r1, 0x30]
- ldr r0, =sub_80769CC
- str r0, [r1, 0x1C]
-_080769C2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80769A8
-
- thumb_func_start sub_80769CC
-sub_80769CC: @ 80769CC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- ldrh r1, [r2, 0x2E]
- subs r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- ldrh r1, [r2, 0x30]
- subs r0, r1
- strh r0, [r2, 0x26]
- ldr r0, [r2, 0x24]
- cmp r0, 0
- bne _080769EA
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_080769EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80769CC
-
- thumb_func_start DoHitAnimHealthboxEffect
-DoHitAnimHealthboxEffect: @ 80769F4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =oamc_804BEB4
- adds r0, r5, 0
- bl CreateInvisibleSpriteWithCallback
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r2
- movs r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, =gHealthBoxesIds
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r3, 0x30]
- adds r2, 0x1C
- adds r1, r2
- str r5, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoHitAnimHealthboxEffect
-
- thumb_func_start oamc_804BEB4
-oamc_804BEB4: @ 8076A38
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r0, [r3, 0x2E]
- movs r2, 0
- strh r0, [r1, 0x26]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _08076A70
- strh r2, [r1, 0x24]
- strh r2, [r1, 0x26]
- adds r0, r3, 0
- bl DestroySprite
-_08076A70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end oamc_804BEB4
-
- thumb_func_start sub_8076A78
-sub_8076A78: @ 8076A78
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_0832C400
- lsls r6, r4, 3
- adds r5, r6, r0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _08076AA0
- adds r0, r5, 0
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0832C460
- adds r0, r6, r0
- bl LoadCompressedObjectPaletteUsingHeap
-_08076AA0:
- cmp r4, 0x6
- beq _08076ACC
- cmp r4, 0x6
- blt _08076AB0
- cmp r4, 0xB
- bgt _08076AB0
- cmp r4, 0xA
- bge _08076ACC
-_08076AB0:
- ldr r1, =gUnknown_0832C400
- lsls r0, r4, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- adds r1, r0, 0
- lsls r1, 16
- ldr r0, =gUnknown_08C02300
- lsrs r1, 11
- ldr r2, =0x06010100
- adds r1, r2
- bl LZDecompressVram
-_08076ACC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076A78
-
- thumb_func_start sub_8076AE8
-sub_8076AE8: @ 8076AE8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- ldr r0, =gUnknown_0832C400
- lsrs r4, 21
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0832C460
- adds r4, r0
- ldrh r0, [r4, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8076AE8
-
- thumb_func_start sub_8076B14
-sub_8076B14: @ 8076B14
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08076B40
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- b _08076B4E
- .pool
-_08076B40:
- ldr r1, =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
-_08076B4E:
- adds r0, r1
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8076B14
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s
deleted file mode 100644
index 9cbee2fb9..000000000
--- a/asm/pokeblock_feed.s
+++ /dev/null
@@ -1,1873 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8179B68
-sub_8179B68: @ 8179B68
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8179B68
-
- thumb_func_start sub_8179B84
-sub_8179B84: @ 8179B84
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8179B84
-
- thumb_func_start sub_8179B98
-sub_8179B98: @ 8179B98
- push {r4,lr}
- sub sp, 0x4
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xD
- bls _08179BAC
- b _08179D4C
-_08179BAC:
- lsls r0, 2
- ldr r1, =_08179BC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08179BC0:
- .4byte _08179BF8
- .4byte _08179C20
- .4byte _08179C34
- .4byte _08179C48
- .4byte _08179C4E
- .4byte _08179C60
- .4byte _08179C66
- .4byte _08179C78
- .4byte _08179C98
- .4byte _08179CB0
- .4byte _08179CDC
- .4byte _08179CF8
- .4byte _08179CFE
- .4byte _08179D18
-_08179BF8:
- ldr r4, =gUnknown_0203BD18
- ldr r0, =0x00001084
- bl AllocZeroed
- str r0, [r4]
- bl SetVBlankHBlankCallbacksToNull
- bl clear_scheduled_bg_copies_to_vram
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179C20:
- bl ResetPaletteFade
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- b _08179D30
- .pool
-_08179C34:
- bl ResetSpriteData
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179C48:
- bl FreeAllSpritePalettes
- b _08179D32
-_08179C4E:
- bl AllocateMonSpritesGfx
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179C60:
- bl sub_8179D9C
- b _08179D32
-_08179C66:
- bl sub_8179FAC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179C78:
- ldr r0, =gUnknown_0203BC9C
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_8179DF4
- lsls r0, 24
- cmp r0, 0
- beq _08179D64
- b _08179D32
- .pool
-_08179C98:
- bl sub_817A4A4
- ldr r1, =gUnknown_0203BD18
- ldr r1, [r1]
- ldr r2, =0x0000105e
- adds r1, r2
- strb r0, [r1]
- b _08179D32
- .pool
-_08179CB0:
- ldr r0, =gUnknown_0203BC9C
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl sub_817A358
- ldr r1, =gUnknown_0203BD18
- ldr r1, [r1]
- ldr r2, =0x0000105d
- adds r1, r2
- strb r0, [r1]
- b _08179D32
- .pool
-_08179CDC:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xE
- bl SetWindowBorderStyle
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179CF8:
- bl sub_817A168
- b _08179D32
-_08179CFE:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _08179D3A
- .pool
-_08179D18:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
-_08179D30:
- strb r0, [r2, 0x8]
-_08179D32:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_08179D3A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08179D64
- .pool
-_08179D4C:
- ldr r0, =sub_8179B84
- bl SetVBlankCallback
- ldr r0, =sub_8179B68
- bl SetMainCallback2
- movs r0, 0x1
- b _08179D66
- .pool
-_08179D64:
- movs r0, 0
-_08179D66:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8179B98
-
- thumb_func_start sub_8179D70
-sub_8179D70: @ 8179D70
- push {lr}
-_08179D72:
- bl sub_81221EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08179D96
- bl sub_8179B98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08179D96
- bl sub_81221AC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08179D72
-_08179D96:
- pop {r0}
- bx r0
- thumb_func_end sub_8179D70
-
- thumb_func_start sub_8179D9C
-sub_8179D9C: @ 8179D9C
- push {lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085F0550
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- adds r1, 0x48
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8179D9C
-
- thumb_func_start sub_8179DF4
-sub_8179DF4: @ 8179DF4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r1, =0x0000107e
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x8
- bls _08179E0C
- b _08179FA0
-_08179E0C:
- lsls r0, 2
- ldr r1, =_08179E24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08179E24:
- .4byte _08179E48
- .4byte _08179E84
- .4byte _08179EC4
- .4byte _08179ED8
- .4byte _08179EEC
- .4byte _08179F00
- .4byte _08179F20
- .4byte _08179F44
- .4byte _08179F78
-_08179E48:
- adds r0, r6, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r0, r5, 3
- ldr r1, =gMonFrontPicTable
- adds r0, r1
- ldr r1, =gMonSpritesGfxPtr
- ldr r1, [r1]
- ldr r1, [r1, 0x8]
- adds r2, r5, 0
- adds r3, r4, 0
- bl HandleLoadSpecialPokePic_2
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179E84:
- adds r0, r6, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- movs r1, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- adds r1, r0, 0
- adds r0, r5, 0
- adds r2, r4, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- ldrh r0, [r4, 0x4]
- movs r1, 0x1
- bl sub_806A068
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179EC4:
- ldr r0, =gUnknown_085B26F4
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179ED8:
- ldr r0, =gUnknown_085B26FC
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179EEC:
- ldr r0, =gUnknown_085F06A0
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179F00:
- ldr r0, =gSpecialVar_ItemId
- ldrb r0, [r0]
- bl sub_8179FEC
- ldr r0, =gUnknown_0203BD1C
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179F20:
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D7C440
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- b _08179F5E
- .pool
-_08179F44:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08179FA0
- ldr r0, =gUnknown_08D9BA44
- ldr r4, =gUnknown_0203BD18
- ldr r1, [r4]
- adds r1, 0x48
- bl LZDecompressWram
- ldr r1, [r4]
-_08179F5E:
- ldr r0, =0x0000107e
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08179FA0
- .pool
-_08179F78:
- ldr r0, =gUnknown_08D7C9EC
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r1, =0x0000107e
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x1
- b _08179FA2
- .pool
-_08179FA0:
- movs r0, 0
-_08179FA2:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8179DF4
-
- thumb_func_start sub_8179FAC
-sub_8179FAC: @ 8179FAC
- push {lr}
- ldr r0, =gUnknown_085F0558
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_809882C
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8179FAC
-
- thumb_func_start sub_8179FEC
-sub_8179FEC: @ 8179FEC
- push {lr}
- lsls r0, 24
- ldr r1, =gSaveBlock1Ptr
- lsrs r0, 21
- ldr r2, =0x00000848
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- movs r1, 0
- bl sub_8136F9C
- lsls r0, 24
- ldr r2, =gUnknown_0203BD1C
- ldr r1, =gUnknown_085F0568
- lsrs r0, 22
- subs r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, =0x000039e2
- strh r0, [r2, 0x4]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8179FEC
-
- thumb_func_start sub_817A030
-sub_817A030: @ 817A030
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0817A044
- b _0817A154
-_0817A044:
- ldr r0, =gTasks
- lsls r2, r4, 2
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x8
- ldrsh r3, [r1, r0]
- ldr r0, =0x0000010d
- adds r5, r2, 0
- cmp r3, r0
- beq _0817A0C8
- cmp r3, r0
- bgt _0817A074
- cmp r3, 0
- beq _0817A088
- cmp r3, 0xFF
- beq _0817A0AC
- b _0817A104
- .pool
-_0817A074:
- ldr r0, =0x00000119
- cmp r3, r0
- beq _0817A0E0
- adds r0, 0x10
- cmp r3, r0
- beq _0817A0F8
- b _0817A104
- .pool
-_0817A088:
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- ldr r2, =0x00001050
- adds r1, r2
- strb r3, [r1]
- ldr r0, [r0]
- ldr r1, =0x00001058
- adds r0, r1
- strh r3, [r0]
- bl sub_817A5CC
- b _0817A104
- .pool
-_0817A0AC:
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r2, =0x0000105e
- adds r0, r2
- ldrb r0, [r0]
- ldrb r1, [r1, 0xA]
- bl sub_817A4F8
- b _0817A104
- .pool
-_0817A0C8:
- bl sub_817A56C
- ldr r1, =gUnknown_0203BD18
- ldr r1, [r1]
- ldr r2, =0x0000105f
- adds r1, r2
- strb r0, [r1]
- b _0817A104
- .pool
-_0817A0E0:
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r1, =0x0000105d
- adds r0, r1
- ldrb r0, [r0]
- bl sub_817A434
- b _0817A104
- .pool
-_0817A0F8:
- ldr r0, =sub_817A1C4
- str r0, [r1]
- b _0817A154
- .pool
-_0817A104:
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r2, =0x00001058
- adds r1, r0, r2
- subs r2, 0x2
- adds r0, r2
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- bcs _0817A128
- bl sub_817A634
- b _0817A138
- .pool
-_0817A128:
- cmp r1, r0
- bne _0817A138
- ldr r0, =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xFE
- strh r0, [r1, 0x8]
-_0817A138:
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- ldr r0, =0x00001058
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0817A154:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A030
-
- thumb_func_start sub_817A168
-sub_817A168: @ 817A168
- push {lr}
- ldr r0, =sub_817A030
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x1
- strh r0, [r1, 0xA]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A168
-
- thumb_func_start sub_817A194
-sub_817A194: @ 817A194
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl sub_8121F20
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _0817A1B6
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_817A320
- str r0, [r1]
-_0817A1B6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A194
-
- thumb_func_start sub_817A1C4
-sub_817A1C4: @ 817A1C4
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_0203BC9C
- ldrb r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, =gPlayerParty
- adds r5, r0
- ldr r1, =gSaveBlock1Ptr
- ldr r0, =gSpecialVar_ItemId
- ldrh r0, [r0]
- lsls r0, 3
- ldr r2, =0x00000848
- adds r0, r2
- ldr r4, [r1]
- adds r4, r0
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl PokeblockGetGain
- ldr r6, =gUnknown_0203BC9E
- strh r0, [r6]
- ldr r1, =gStringVar1
- adds r0, r5, 0
- bl GetMonNickname
- ldr r1, =gStringVar2
- adds r0, r4, 0
- bl sub_8137044
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0817A248
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1AteTheVar2
- bl StringExpandPlaceholders
- b _0817A268
- .pool
-_0817A248:
- cmp r0, 0
- ble _0817A260
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1HappilyAteVar2
- bl StringExpandPlaceholders
- b _0817A268
- .pool
-_0817A260:
- ldr r0, =gStringVar4
- ldr r1, =gText_Var1DisdainfullyAteVar2
- bl StringExpandPlaceholders
-_0817A268:
- ldr r2, =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl sav2_get_text_speed
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldr r2, =gStringVar4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- bl AddTextPrinterParametrized
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_817A194
- str r1, [r0]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A1C4
-
- thumb_func_start sub_817A2C0
-sub_817A2C0: @ 817A2C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0817A304
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- bl Free
- bl FreeMonSpritesGfx
-_0817A304:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A2C0
-
- thumb_func_start sub_817A320
-sub_817A320: @ 817A320
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_817A2C0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A320
-
- thumb_func_start sub_817A358
-sub_817A358: @ 817A358
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r1, 0x41
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gUnknown_0202499C
- movs r1, 0x30
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gUnknown_0203BD18
- mov r9, r0
- ldr r0, [r0]
- ldr r2, =0x00001054
- adds r1, r0, r2
- strh r4, [r1]
- ldr r1, =0x0000105b
- adds r0, r1
- mov r2, r8
- strb r2, [r0]
- adds r0, r5, 0
- bl GetNature
- mov r2, r9
- ldr r1, [r2]
- ldr r2, =0x0000105a
- adds r1, r2
- strb r0, [r1]
- ldr r7, =gSprites
- mov r1, r8
- lsls r0, r1, 4
- add r0, r8
- lsls r5, r0, 2
- adds r6, r5, r7
- strh r4, [r6, 0x32]
- adds r0, r7, 0
- adds r0, 0x1C
- adds r0, r5, r0
- ldr r1, =SpriteCallbackDummy
- str r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- ldr r1, =0x00001053
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r4, 0
- bl IsPokeSpriteNotFlipped
- lsls r0, 24
- cmp r0, 0
- bne _0817A402
- adds r0, r7, 0
- adds r0, 0x10
- adds r0, r5, r0
- ldr r1, =gUnknown_085F05B0
- str r1, [r0]
- ldrb r3, [r6, 0x1]
- movs r0, 0x3
- orrs r3, r0
- strb r3, [r6, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r6, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r6, 0
- bl CalcCenterToCornerVec
- mov r2, r9
- ldr r0, [r2]
- ldr r1, =0x00001053
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0817A402:
- mov r0, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817A358
-
- thumb_func_start sub_817A434
-sub_817A434: @ 817A434
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r2, r1, r3
- movs r0, 0x30
- strh r0, [r2, 0x20]
- movs r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, =0x0000fff8
- strh r0, [r2, 0x2E]
- movs r0, 0x1
- strh r0, [r2, 0x30]
- adds r3, 0x1C
- adds r1, r3
- ldr r0, =sub_817A468
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_817A434
-
- thumb_func_start sub_817A468
-sub_817A468: @ 817A468
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x2E]
- ldrh r2, [r4, 0x22]
- adds r1, r0, r2
- strh r1, [r4, 0x22]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0817A48E
- ldrh r0, [r4, 0x32]
- movs r1, 0
- bl PlayCry1
-_0817A48E:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bne _0817A49A
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_0817A49A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A468
-
- thumb_func_start sub_817A4A4
-sub_817A4A4: @ 817A4A4
- push {r4,r5,lr}
- movs r0, 0xBC
- movs r1, 0x64
- movs r2, 0x2
- bl sub_8136444
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gSprites
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r0, r3, r5
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x1]
- adds r1, r5, 0
- adds r1, 0x10
- adds r1, r3, r1
- ldr r2, =gUnknown_085F0664
- str r2, [r1]
- adds r5, 0x1C
- adds r3, r5
- ldr r1, =SpriteCallbackDummy
- str r1, [r3]
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817A4A4
-
- thumb_func_start sub_817A4F8
-sub_817A4F8: @ 817A4F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSprites
- mov r8, r0
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- mov r0, r8
- adds r4, r6, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- cmp r5, 0
- bne _0817A540
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, =gUnknown_085F0668
- b _0817A548
- .pool
-_0817A540:
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, =gUnknown_085F066C
-_0817A548:
- str r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl InitSpriteAffineAnim
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A4F8
-
- thumb_func_start sub_817A56C
-sub_817A56C: @ 817A56C
- push {lr}
- ldr r0, =gUnknown_085F06A8
- movs r1, 0xAE
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r2, =0x0000fff4
- strh r2, [r1, 0x2E]
- movs r2, 0x1
- strh r2, [r1, 0x30]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817A56C
-
- thumb_func_start sub_817A5A0
-sub_817A5A0: @ 817A5A0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- subs r0, 0x4
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x2E]
- ldrh r3, [r2, 0x22]
- adds r1, r0, r3
- strh r1, [r2, 0x22]
- ldrh r1, [r2, 0x30]
- adds r0, r1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _0817A5C6
- adds r0, r2, 0
- bl DestroySprite
-_0817A5C6:
- pop {r0}
- bx r0
- thumb_func_end sub_817A5A0
-
- thumb_func_start sub_817A5CC
-sub_817A5CC: @ 817A5CC
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203BD18
- ldr r1, [r0]
- ldr r0, =0x00001056
- adds r3, r1, r0
- movs r0, 0x1
- strh r0, [r3]
- ldr r2, =gUnknown_085EFEBC
- ldr r7, =0x0000105a
- adds r1, r7
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r2
- ldrb r2, [r0]
- movs r4, 0
- ldr r5, =gUnknown_085EFF00
- adds r6, r5, 0
- subs r6, 0xA
-_0817A5F0:
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r0, r1, r6
- ldrh r0, [r0]
- ldrh r7, [r3]
- adds r0, r7
- strh r0, [r3]
- adds r1, r5
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0x1
- beq _0817A61A
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0x7
- bls _0817A5F0
-_0817A61A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A5CC
-
- thumb_func_start sub_817A634
-sub_817A634: @ 817A634
- push {r4,lr}
- ldr r0, =gUnknown_0203BD18
- ldr r4, [r0]
- ldr r1, =0x00001050
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x5A
- bls _0817A646
- b _0817A90E
-_0817A646:
- lsls r0, 2
- ldr r1, =_0817A65C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817A65C:
- .4byte _0817A7C8
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A818
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A858
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A8A2
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A8FC
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
- .4byte _0817A90E
-_0817A7C8:
- ldr r1, =gUnknown_085EFEBC
- ldr r2, =0x0000105a
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r1, [r0]
- ldr r3, =0x00001051
- adds r0, r4, r3
- strb r1, [r0]
- ldr r1, =0x0000105b
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- adds r0, r4, 0
- stm r0!, {r1}
- movs r2, 0x44
- bl memcpy
- ldr r2, =0x00001050
- adds r1, r4, r2
- movs r0, 0xA
- strb r0, [r1]
- b _0817A90E
- .pool
-_0817A818:
- bl sub_817A91C
- ldr r1, =gUnknown_085EFEBC
- ldr r3, =0x0000105a
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0817A850
- ldr r2, [r4]
- ldrb r0, [r2, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r4]
- ldr r1, =gUnknown_085F04FC
- str r1, [r0, 0x10]
- bl InitSpriteAffineAnim
-_0817A850:
- ldr r0, =0x00001050
- adds r1, r4, r0
- movs r0, 0x32
- strb r0, [r1]
-_0817A858:
- ldr r1, =gUnknown_085EFEBC
- ldr r2, =0x0000105a
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x1
- adds r2, r0, r1
- ldrb r1, [r2]
- cmp r1, 0
- beq _0817A8C8
- ldr r3, =0x00001053
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0817A898
- ldr r0, [r4]
- adds r1, 0xA
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAffineAnim
- b _0817A8C8
- .pool
-_0817A898:
- ldr r0, [r4]
- ldrb r1, [r2]
- bl StartSpriteAffineAnim
- b _0817A8C8
-_0817A8A2:
- bl sub_817A9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0817A90E
- ldr r1, =0x00001072
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _0817A8E0
- ldr r3, =0x00001051
- adds r1, r4, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_817A91C
-_0817A8C8:
- ldr r0, =0x00001050
- adds r1, r4, r0
- movs r0, 0x3C
- strb r0, [r1]
- b _0817A90E
- .pool
-_0817A8E0:
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r2, =0x00001050
- adds r1, r4, r2
- movs r0, 0x46
- strb r0, [r1]
- b _0817A90E
- .pool
-_0817A8FC:
- bl sub_817AA3C
- ldr r3, =0x00001051
- adds r0, r4, r3
- movs r1, 0
- strb r1, [r0]
- ldr r2, =0x00001050
- adds r0, r4, r2
- strb r1, [r0]
-_0817A90E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817A634
-
- thumb_func_start sub_817A91C
-sub_817A91C: @ 817A91C
- push {r4-r7,lr}
- ldr r0, =gUnknown_0203BD18
- ldr r5, [r0]
- movs r4, 0
- movs r0, 0x83
- lsls r0, 5
- adds r7, r5, r0
- ldr r1, =gUnknown_085EFEEE
- mov r12, r1
- ldr r2, =0x00001051
- adds r6, r5, r2
-_0817A932:
- lsls r2, r4, 1
- adds r3, r7, r2
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- add r2, r12
- ldrh r0, [r2]
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0817A932
- ldr r0, =0x00001068
- adds r6, r5, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0817A9DC
- movs r2, 0x83
- lsls r2, 5
- adds r4, r5, r2
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r2, 0x4
- adds r1, r5, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl Sin
- ldr r2, =0x00001074
- adds r1, r5, r2
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r4, r1]
- subs r2, 0xE
- adds r1, r5, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl Cos
- ldr r2, =0x00001076
- adds r1, r5, r2
- strh r0, [r1]
- ldrh r0, [r6]
- ldr r1, =0x00001078
- adds r4, r5, r1
- strh r0, [r4]
- ldr r0, [r5]
- ldrh r1, [r0, 0x24]
- adds r2, 0x4
- adds r0, r5, r2
- strh r1, [r0]
- ldr r0, [r5]
- ldrh r1, [r0, 0x26]
- adds r2, 0x2
- adds r0, r5, r2
- strh r1, [r0]
- bl sub_817AB68
- ldrh r0, [r4]
- strh r0, [r6]
- bl sub_817AA54
- ldrh r0, [r4]
- strh r0, [r6]
- movs r0, 0
- b _0817A9DE
- .pool
-_0817A9DC:
- movs r0, 0x1
-_0817A9DE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_817A91C
-
- thumb_func_start sub_817A9E4
-sub_817A9E4: @ 817A9E4
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203BD18
- ldr r2, [r0]
- ldr r1, =0x00001078
- adds r0, r2, r1
- ldr r5, =0x00001068
- adds r4, r2, r5
- ldrh r1, [r0]
- ldrh r0, [r4]
- subs r1, r0
- lsls r1, 16
- ldr r3, [r2]
- lsrs r1, 15
- movs r5, 0x85
- lsls r5, 4
- adds r0, r2, r5
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x24]
- ldr r3, [r2]
- movs r0, 0xC5
- lsls r0, 4
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- strh r0, [r3, 0x26]
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _0817AA34
- movs r0, 0
- b _0817AA36
- .pool
-_0817AA34:
- movs r0, 0x1
-_0817AA36:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_817A9E4
-
- thumb_func_start sub_817AA3C
-sub_817AA3C: @ 817AA3C
- push {lr}
- ldr r0, =gUnknown_0203BD18
- ldr r0, [r0]
- ldr r0, [r0]
- bl FreeSpriteOamMatrix
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817AA3C
-
- thumb_func_start sub_817AA54
-sub_817AA54: @ 817AA54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, =gUnknown_0203BD18
- ldr r7, [r0]
- ldr r1, =0x00001070
- adds r0, r7, r1
- ldrh r0, [r0]
- mov r9, r0
- ldr r2, =0x00001078
- adds r0, r7, r2
- ldrh r0, [r0]
- mov r3, r9
- subs r0, r3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r4, =0x0000107a
- adds r1, r7, r4
- subs r2, 0xC
- adds r0, r7, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- ldr r3, =0x0000107c
- adds r1, r7, r3
- subs r4, 0xC
- adds r0, r7, r4
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r5, 0
- mov r0, r8
- subs r0, 0x1
- cmp r5, r0
- bge _0817AB20
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r0, 16
- str r0, [sp, 0x8]
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- asrs r0, 16
- mov r10, r0
-_0817AABE:
- mov r3, r9
- adds r0, r3, r5
- lsls r0, 1
- movs r4, 0x85
- lsls r4, 4
- adds r2, r7, r4
- adds r2, r0
- ldrh r6, [r2]
- ldr r3, [sp, 0x8]
- subs r1, r6, r3
- movs r4, 0xC5
- lsls r4, 4
- adds r3, r7, r4
- adds r3, r0
- ldrh r4, [r3]
- mov r0, r10
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 16
- asrs r1, 16
- adds r5, 0x1
- adds r0, r1, 0
- muls r0, r5
- mov r1, r8
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- bl __divsi3
- subs r6, r0
- ldr r2, [sp, 0xC]
- strh r6, [r2]
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- muls r0, r5
- mov r1, r8
- bl __divsi3
- ldr r3, [sp, 0x10]
- ldrh r1, [r3]
- subs r1, r0
- strh r1, [r3]
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- subs r0, 0x1
- cmp r5, r0
- blt _0817AABE
-_0817AB20:
- mov r0, r9
- add r0, r8
- subs r0, 0x1
- lsls r0, 1
- movs r2, 0x85
- lsls r2, 4
- adds r1, r7, r2
- adds r1, r0
- mov r3, sp
- ldrh r3, [r3]
- strh r3, [r1]
- movs r4, 0xC5
- lsls r4, 4
- adds r1, r7, r4
- adds r1, r0
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r1]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817AA54
-
- thumb_func_start sub_817AB68
-sub_817AB68: @ 817AB68
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_0203BD18
- ldr r6, [r0]
- movs r0, 0
- str r0, [sp]
- ldr r1, =0x0000107a
- adds r0, r6, r1
- ldr r2, =0x00001074
- adds r1, r6, r2
- ldrh r2, [r0]
- ldrh r0, [r1]
- subs r2, r0
- ldr r3, =0x0000107c
- adds r0, r6, r3
- ldr r1, =0x00001076
- adds r3, r6, r1
- ldrh r1, [r0]
- ldrh r0, [r3]
- subs r1, r0
- ldr r3, =0x00001068
- adds r3, r6
- mov r9, r3
- movs r0, 0x83
- lsls r0, 5
- adds r0, r6
- mov r8, r0
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- mov r10, r1
-_0817ABB2:
- ldr r1, =0x0000106a
- adds r0, r6, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _0817ABC0
- negs r0, r0
-_0817ABC0:
- lsls r0, 16
- ldr r3, =0x00001066
- adds r7, r6, r3
- lsrs r0, 16
- ldrh r1, [r7]
- adds r0, r1
- lsls r4, r0, 16
- strh r0, [r7]
- ldr r2, =0x00001064
- adds r0, r6, r2
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bge _0817ABE2
- movs r0, 0x1
- str r0, [sp]
-_0817ABE2:
- ldr r1, =0x00001078
- adds r0, r6, r1
- ldrh r0, [r0]
- mov r3, r9
- ldrh r1, [r3]
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r1, 0
- beq _0817ACB8
- ldr r0, [sp]
- cmp r0, 0
- bne _0817AC54
- mov r1, r8
- movs r3, 0
- ldrsh r0, [r1, r3]
- lsrs r4, 24
- adds r1, r2, r4
- lsls r1, 16
- asrs r1, 16
- bl Sin
- lsls r5, 1
- movs r2, 0x85
- lsls r2, 4
- adds r1, r6, r2
- adds r1, r5
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- strh r0, [r1]
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrh r1, [r7]
- adds r1, r4
- b _0817AC80
- .pool
-_0817AC54:
- mov r1, r8
- movs r3, 0
- ldrsh r0, [r1, r3]
- lsrs r4, 24
- subs r1, r2, r4
- lsls r1, 16
- asrs r1, 16
- bl Sin
- lsls r5, 1
- movs r2, 0x85
- lsls r2, 4
- adds r1, r6, r2
- adds r1, r5
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- strh r0, [r1]
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrh r1, [r7]
- subs r1, r4
-_0817AC80:
- lsls r1, 16
- asrs r1, 16
- bl Cos
- movs r3, 0xC5
- lsls r3, 4
- adds r1, r6, r3
- adds r1, r5
- add r0, r10
- strh r0, [r1]
- ldr r1, =0x00001062
- adds r0, r6, r1
- ldrh r0, [r0]
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- mov r3, r8
- strh r0, [r3]
- mov r1, r9
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- b _0817ABB2
- .pool
-_0817ACB8:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_817AB68
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokedex.s b/asm/pokedex.s
deleted file mode 100644
index a0edbab0e..000000000
--- a/asm/pokedex.s
+++ /dev/null
@@ -1,13372 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ResetPokedex
-ResetPokedex: @ 80BB2D0
- push {r4-r6,lr}
- ldr r0, =gUnknown_02039B50
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, =gUnknown_030060B0
- strb r2, [r0]
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- movs r1, 0
- strb r2, [r0, 0x19]
- ldr r0, [r4]
- strb r2, [r0, 0x18]
- ldr r0, [r4]
- strb r2, [r0, 0x1A]
- ldr r0, [r4]
- strb r2, [r0, 0x1B]
- ldr r0, [r4]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- bl DisableNationalPokedex
- movs r1, 0
- movs r2, 0
- ldr r3, =gSaveBlock1Ptr
- ldr r6, =0x00000988
- ldr r5, =0x00003b24
-_080BB30C:
- ldr r0, [r4]
- adds r0, 0x28
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x5C
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r6
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r5
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x33
- bls _080BB30C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetPokedex
-
- thumb_func_start sub_80BB358
-sub_80BB358: @ 80BB358
- ldr r1, =gUnknown_02039B50
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80BB358
-
- thumb_func_start sub_80BB370
-sub_80BB370: @ 80BB370
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80BB370
-
- thumb_func_start sub_80BB384
-sub_80BB384: @ 80BB384
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r0, =0x0000ffff
- adds r7, r0, 0
- movs r1, 0x2
- negs r1, r1
- mov r12, r1
- movs r6, 0x3
- negs r6, r6
- ldr r5, =0x00000181
-_080BB39A:
- lsls r1, r3, 2
- adds r1, r4, r1
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r12
- ands r0, r2
- ands r0, r6
- strb r0, [r1, 0x2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r5
- bls _080BB39A
- movs r2, 0xC1
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000060a
- adds r3, r4, r0
- ldrb r1, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldr r1, =0x0000060c
- adds r0, r4, r1
- strh r2, [r0]
- ldr r3, =0x0000060e
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- movs r3, 0
- ldr r0, =0x0000061e
- adds r2, r4, r0
- ldr r1, =0x0000ffff
- adds r5, r1, 0
-_080BB416:
- lsls r0, r3, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB416
- movs r2, 0xC5
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- ldr r3, =0x0000062a
- adds r0, r4, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x3
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, =0x0000063a
- adds r1, r4, r0
- movs r2, 0
-_080BB47C:
- lsls r0, r3, 1
- adds r0, r1, r0
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB47C
- ldr r1, =0x0000064a
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, =0x0000064c
- adds r3, r4, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldr r2, =0x0000064d
- adds r0, r4, r2
- strb r1, [r0]
- ldr r3, =0x0000064e
- adds r0, r4, r3
- strb r1, [r0]
- adds r2, 0x2
- adds r0, r4, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x3
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, =0x00000654
- adds r1, r4, r0
- movs r2, 0
-_080BB4CE:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _080BB4CE
- movs r3, 0
- ldr r2, =0x0000065c
- adds r1, r4, r2
- movs r2, 0
-_080BB4E4:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _080BB4E4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB384
-
- thumb_func_start sub_80BB534
-sub_80BB534: @ 80BB534
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080BB5FC
- cmp r0, 0x1
- ble _080BB558
- cmp r0, 0x2
- beq _080BB628
- cmp r0, 0x3
- bne _080BB558
- b _080BB71C
-_080BB558:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl sub_80C09B0
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x4
- mov r8, r2
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080BB582:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080BB582
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r12
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080BB74C
- .pool
-_080BB5FC:
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- bl dp13_810BB8C
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080BB74C
- .pool
-_080BB628:
- ldr r4, =gUnknown_02039B4C
- ldr r0, =0x00000664
- bl AllocZeroed
- str r0, [r4]
- bl sub_80BB384
- ldr r0, =sub_80BB78C
- movs r1, 0
- bl CreateTask
- ldr r1, [r4]
- ldr r5, =gSaveBlock2Ptr
- ldr r0, [r5]
- ldrb r0, [r0, 0x19]
- ldr r3, =0x00000612
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BB65E
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BB65E:
- ldr r1, [r4]
- ldr r0, [r5]
- ldrb r2, [r0, 0x18]
- ldr r3, =0x00000616
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =gUnknown_02039B50
- ldrh r2, [r0]
- subs r3, 0x8
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, =gUnknown_02039B52
- ldrb r0, [r0]
- ldr r2, =0x0000062c
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r3, 0x3F
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080BB6D0
- movs r0, 0
- bl sub_80C0844
- ldr r1, [r4]
- ldr r2, =0x0000061a
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl sub_80C0844
- b _080BB6E4
- .pool
-_080BB6D0:
- movs r0, 0
- bl pokedex_count
- ldr r1, [r4]
- ldr r2, =0x0000061a
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl pokedex_count
-_080BB6E4:
- ldr r1, [r4]
- ldr r3, =0x0000061c
- adds r1, r3
- strh r0, [r1]
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000062d
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BB74C
- .pool
-_080BB71C:
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_80BB370
- bl SetVBlankCallback
- ldr r0, =sub_80BB774
- bl SetMainCallback2
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x00000612
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r2, =0x00000616
- adds r1, r2
- ldrb r1, [r1]
- bl sub_80BC8D4
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_080BB74C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB534
-
- thumb_func_start sub_80BB774
-sub_80BB774: @ 80BB774
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80BB774
-
- thumb_func_start sub_80BB78C
-sub_80BB78C: @ 80BB78C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0
- bl sub_80BC514
- lsls r0, 24
- cmp r0, 0
- beq _080BB7BE
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BB7D4
- str r0, [r1]
-_080BB7BE:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB78C
-
- thumb_func_start sub_80BB7D4
-sub_80BB7D4: @ 80BB7D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_02039B4C
- ldr r0, [r7]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r7]
- adds r1, r3, r4
- ldrh r0, [r1]
- movs r4, 0
- ldrsh r2, [r1, r4]
- mov r8, r2
- cmp r2, 0
- beq _080BB810
- subs r0, 0x8
- strh r0, [r1]
- b _080BBA06
- .pool
-_080BB810:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- mov r9, r0
- ands r0, r1
- cmp r0, 0
- beq _080BB8A4
- ldr r1, =0x0000060e
- adds r0, r3, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BB8A4
- bl sub_80BD8D0
- ldr r4, =gSprites
- ldr r0, [r7]
- ldr r5, =0x00000626
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- mov r0, r9
- lsls r0, r1
- mvns r0, r0
- mov r2, r8
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r7]
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, =sub_80BE470
- str r1, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBBF4
- str r1, [r0]
- movs r0, 0x15
- b _080BB976
- .pool
-_080BB8A4:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080BB8FC
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r4, =0x00000652
- adds r0, r1, r4
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000064f
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBA78
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _080BBA06
- .pool
-_080BB8FC:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080BB9A0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_80C1258
- ldr r1, =gTasks
- lsls r3, r6, 2
- adds r3, r6
- lsls r3, 3
- adds r3, r1
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r3, 0x8]
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r4, =0x0000064e
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r1]
- ldr r2, =0x0000062c
- adds r1, r0, r2
- ldrb r2, [r1]
- subs r4, 0x24
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r2, [r1]
- subs r4, 0x1A
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x00000612
- adds r1, r0, r2
- ldrh r2, [r1]
- adds r4, 0x4
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, =0x00000616
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r4, 0x4
- adds r0, r4
- strh r1, [r0]
- ldr r0, =sub_80BBD1C
- str r0, [r3]
- movs r0, 0x2
-_080BB976:
- bl PlaySE
- bl sub_80BC890
- b _080BBA06
- .pool
-_080BB9A0:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080BB9D8
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BBA06
- .pool
-_080BB9D8:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x0000060e
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD69C
- ldr r1, [r5]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, =0x0000062e
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BBA06
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBA28
- str r0, [r1]
-_080BBA06:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB7D4
-
- thumb_func_start sub_80BBA28
-sub_80BBA28: @ 80BBA28
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r2, [r0]
- ldr r1, =0x0000062f
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, =0x00000634
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80BD404
- lsls r0, 24
- cmp r0, 0
- beq _080BBA5C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BB7D4
- str r0, [r1]
-_080BBA5C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBA28
-
- thumb_func_start sub_80BBA78
-sub_80BBA78: @ 80BBA78
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, =gUnknown_02039B4C
- ldr r0, [r6]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r6]
- adds r1, r3, r4
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0x50
- beq _080BBAB0
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- b _080BBBE8
- .pool
-_080BBAB0:
- ldr r5, =gMain
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BBB58
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080BBADC
- cmp r0, 0x1
- ble _080BBB20
- cmp r0, 0x2
- beq _080BBAF4
- cmp r0, 0x3
- beq _080BBB34
- b _080BBB20
- .pool
-_080BBADC:
- ldr r4, =0x0000060e
- adds r1, r3, r4
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x0000062c
- adds r1, r3, r0
- movs r0, 0x40
- b _080BBB0C
- .pool
-_080BBAF4:
- ldr r1, =0x0000060c
- adds r2, r3, r1
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, =0x0000060e
- adds r1, r3, r4
- strh r0, [r1]
- ldrh r0, [r2]
- lsls r0, 4
- adds r0, 0x30
- ldr r2, =0x0000062c
- adds r1, r3, r2
-_080BBB0C:
- strb r0, [r1]
- bl sub_80BDA40
- ldr r0, [r6]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
- ldrh r1, [r5, 0x2E]
-_080BBB20:
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r5, 0x2E]
- b _080BBB58
- .pool
-_080BBB34:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_080BBB58:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _080BBB98
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064f
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BB7D4
- str r1, [r0]
- b _080BBBB6
- .pool
-_080BBB98:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BBBC4
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r4, 0xCA
- lsls r4, 3
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _080BBBC4
- subs r0, 0x1
- strh r0, [r1]
-_080BBBB6:
- movs r0, 0x5
- bl PlaySE
- b _080BBBE8
- .pool
-_080BBBC4:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BBBE8
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 3
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x2
- bhi _080BBBE8
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_080BBBE8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBA78
-
- thumb_func_start sub_80BBBF4
-sub_80BBBF4: @ 80BBBF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gSprites
- ldr r5, =gUnknown_02039B4C
- ldr r3, [r5]
- ldr r6, =0x00000626
- adds r0, r3, r6
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _080BBC52
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _080BBC52
- ldr r1, =0x0000064a
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r6
- ldrb r1, [r1]
- bl sub_80BE91C
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, =sub_80BBC74
- str r0, [r1]
-_080BBC52:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBBF4
-
- thumb_func_start sub_80BBC74
-sub_80BBC74: @ 80BBC74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080BBCE0
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064a
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BBCFC
- ldrb r0, [r4, 0x8]
- bl sub_80BE9C4
- lsls r0, 24
- cmp r0, 0
- bne _080BBCFC
- bl sub_80BD930
- lsls r0, 24
- cmp r0, 0
- beq _080BBCFC
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_80BE9F8
- b _080BBCFC
- .pool
-_080BBCE0:
- ldr r2, =gUnknown_02039B50
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x0000060e
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r2, =gUnknown_02039B52
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- ldr r0, =sub_80BB78C
- str r0, [r4]
-_080BBCFC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBC74
-
- thumb_func_start sub_80BBD1C
-sub_80BBD1C: @ 80BBD1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- cmp r4, 0
- bne _080BBDCA
- bl sub_80BDA40
- ldr r5, =gUnknown_02039B4C
- ldr r2, [r5]
- ldr r1, =0x0000064e
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BBD7C
- ldr r3, =0x0000060e
- adds r0, r2, r3
- strh r4, [r0]
- ldr r0, =0x0000062c
- adds r1, r2, r0
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, =sub_80BBE70
- b _080BBDC8
- .pool
-_080BBD7C:
- ldr r1, =0x0000062a
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r3, =0x0000062c
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, [r5]
- movs r2, 0xC2
- lsls r2, 3
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BBDB6
- ldr r0, [r5]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BBDB6:
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r0, =sub_80BB78C
-_080BBDC8:
- str r0, [r6]
-_080BBDCA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBD1C
-
- thumb_func_start sub_80BBDE8
-sub_80BBDE8: @ 80BBDE8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBE4A
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r2, =0x00000612
- adds r1, r2
- ldrh r1, [r1]
- strb r1, [r0, 0x19]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BBE18
- ldr r0, [r4]
- strb r1, [r0, 0x19]
-_080BBE18:
- ldr r1, [r4]
- ldr r0, [r5]
- ldr r2, =0x00000616
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x18]
- bl sub_80BDA40
- bl sub_80BC890
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, =sub_8086194
- bl SetMainCallback2
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, [r5]
- bl Free
-_080BBE4A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBDE8
-
- thumb_func_start sub_80BBE70
-sub_80BBE70: @ 80BBE70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x3
- bl sub_80BC514
- lsls r0, 24
- cmp r0, 0
- beq _080BBEA0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBEB8
- str r0, [r1]
-_080BBEA0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBE70
-
- thumb_func_start sub_80BBEB8
-sub_80BBEB8: @ 80BBEB8
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r3, [r5]
- adds r1, r3, r4
- ldrh r0, [r1]
- movs r2, 0
- ldrsh r4, [r1, r2]
- cmp r4, 0
- beq _080BBEEC
- subs r0, 0x8
- strh r0, [r1]
- b _080BC08A
- .pool
-_080BBEEC:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r7, 0x1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080BBF70
- ldr r1, =0x0000060e
- adds r0, r3, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BBF70
- bl sub_80BD8D0
- ldr r3, =gSprites
- ldr r0, [r5]
- ldr r2, =0x00000626
- adds r0, r2
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r0, r2, r3
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- adds r0, r7, 0
- lsls r0, r1
- adds r3, 0x1C
- adds r2, r3
- ldr r1, =sub_80BE470
- str r1, [r2]
- mvns r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC2D4
- str r1, [r0]
- movs r0, 0x15
- b _080BC00A
- .pool
-_080BBF70:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080BBFC8
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r2, =0x00000652
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r0, =0x0000064f
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC0F8
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _080BC08A
- .pool
-_080BBFC8:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BC024
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_80C1258
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r1, 0x8]
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064e
- adds r0, r3
- strb r2, [r0]
- ldr r0, =sub_80BBD1C
- str r0, [r1]
- movs r0, 0x2
-_080BC00A:
- bl PlaySE
- bl sub_80BC890
- b _080BC08A
- .pool
-_080BC024:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080BC05C
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC3DC
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BC08A
- .pool
-_080BC05C:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x0000060e
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD69C
- ldr r1, [r5]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, =0x0000062e
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BC08A
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BC0A8
- str r0, [r1]
-_080BC08A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BBEB8
-
- thumb_func_start sub_80BC0A8
-sub_80BC0A8: @ 80BC0A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r2, [r0]
- ldr r1, =0x0000062f
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, =0x00000634
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_80BD404
- lsls r0, 24
- cmp r0, 0
- beq _080BC0DC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BBEB8
- str r0, [r1]
-_080BC0DC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC0A8
-
- thumb_func_start sub_80BC0F8
-sub_80BC0F8: @ 80BC0F8
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r4, =0x00000652
- adds r0, r4
- ldrh r1, [r0]
- movs r0, 0x12
- bl SetGpuReg
- ldr r5, [r5]
- adds r1, r5, r4
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x60
- beq _080BC130
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- b _080BC2C8
- .pool
-_080BC130:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BC13E
- b _080BC238
-_080BC13E:
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r5, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080BC1C2
- lsls r0, 2
- ldr r1, =_080BC15C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC15C:
- .4byte _080BC1C2
- .4byte _080BC170
- .4byte _080BC194
- .4byte _080BC1E4
- .4byte _080BC214
-_080BC170:
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r4, =0x0000060e
- adds r2, r1, r4
- movs r0, 0
- strh r0, [r2]
- ldr r2, =0x0000062c
- adds r1, r2
- movs r0, 0x40
- strb r0, [r1]
- b _080BC1B2
- .pool
-_080BC194:
- ldr r5, =gUnknown_02039B4C
- ldr r2, [r5]
- ldr r0, =0x0000060c
- adds r3, r2, r0
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, =0x0000060e
- adds r1, r2, r4
- strh r0, [r1]
- ldrh r0, [r3]
- lsls r0, 4
- adds r0, 0x30
- ldr r1, =0x0000062c
- adds r2, r1
- strb r0, [r2]
-_080BC1B2:
- bl sub_80BDA40
- ldr r0, [r5]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
-_080BC1C2:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2, 0x2E]
- b _080BC238
- .pool
-_080BC1E4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC3DC
- str r1, [r0]
- movs r0, 0x34
- bl PlaySE
- b _080BC238
- .pool
-_080BC214:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BC47C
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_080BC238:
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _080BC278
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064f
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBEB8
- str r1, [r0]
- b _080BC296
- .pool
-_080BC278:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BC2A4
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r3, 0xCA
- lsls r3, 3
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- beq _080BC2A4
- subs r0, 0x1
- strh r0, [r1]
-_080BC296:
- movs r0, 0x5
- bl PlaySE
- b _080BC2C8
- .pool
-_080BC2A4:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BC2C8
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 3
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x3
- bhi _080BC2C8
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_080BC2C8:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC0F8
-
- thumb_func_start sub_80BC2D4
-sub_80BC2D4: @ 80BC2D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSprites
- ldr r5, =gUnknown_02039B4C
- ldr r3, [r5]
- ldr r4, =0x00000626
- adds r0, r3, r4
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _080BC33A
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _080BC33A
- ldr r1, =0x0000064a
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, =0x0000064b
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r4
- ldrb r1, [r1]
- bl sub_80BE91C
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, [r5]
- adds r0, r4
- ldr r2, =0x0000ffff
- strh r2, [r0]
- ldr r0, =sub_80BC360
- str r0, [r1]
-_080BC33A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC2D4
-
- thumb_func_start sub_80BC360
-sub_80BC360: @ 80BC360
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080BC3CC
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064a
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BC3D0
- ldrb r0, [r4, 0x8]
- bl sub_80BE9C4
- lsls r0, 24
- cmp r0, 0
- bne _080BC3D0
- bl sub_80BD930
- lsls r0, 24
- cmp r0, 0
- beq _080BC3D0
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_80BE9F8
- b _080BC3D0
- .pool
-_080BC3CC:
- ldr r0, =sub_80BBE70
- str r0, [r4]
-_080BC3D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC360
-
- thumb_func_start sub_80BC3DC
-sub_80BC3DC: @ 80BC3DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC450
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r2, =0x0000062a
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, =0x0000062c
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BC42A
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BC42A:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BB78C
- str r1, [r0]
- bl sub_80BDA40
- bl sub_80BC890
-_080BC450:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC3DC
-
- thumb_func_start sub_80BC47C
-sub_80BC47C: @ 80BC47C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC4E8
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r2, =0x0000062a
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, =0x0000062c
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, =0x00000614
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- cmp r1, 0
- bne _080BC4CA
- ldr r0, [r4]
- ldr r2, =0x00000612
- adds r0, r2
- strh r1, [r0]
-_080BC4CA:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, =0x00000616
- adds r0, r2
- strh r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BBDE8
- str r1, [r0]
-_080BC4E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC47C
-
- thumb_func_start sub_80BC514
-sub_80BC514: @ 80BC514
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x6
- bhi _080BC55C
- lsls r0, 2
- ldr r1, =_080BC540
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC540:
- .4byte _080BC55C
- .4byte _080BC6CC
- .4byte _080BC6FC
- .4byte _080BC704
- .4byte _080BC768
- .4byte _080BC790
- .4byte _080BC818
-_080BC55C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080BC56E
- b _080BC838
-_080BC56E:
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- strb r5, [r0]
- movs r0, 0
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r2, =0x0000062d
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0855D298
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08DC1934
- movs r2, 0x80
- lsls r2, 6
- str r6, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC2C5C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, =gUnknown_08DC2DAC
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- cmp r5, 0
- bne _080BC640
- ldr r1, =gUnknown_08DC2A08
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0
- movs r2, 0
- bl CopyToBgTilemapBuffer
- b _080BC64E
- .pool
-_080BC640:
- ldr r1, =gUnknown_08DC2B1C
- movs r3, 0xA0
- lsls r3, 2
- movs r0, 0
- movs r2, 0
- bl CopyToBgTilemapBuffer
-_080BC64E:
- bl ResetPaletteFade
- cmp r5, 0
- bne _080BC674
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r0, =0x0000064c
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- b _080BC682
- .pool
-_080BC674:
- ldr r3, =gUnknown_02039B4C
- ldr r1, [r3]
- ldr r2, =0x0000064c
- adds r1, r2
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
-_080BC682:
- strb r0, [r1]
- ldr r0, [r3]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- ldr r0, =gUnknown_0855D2A8
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080BC838
- .pool
-_080BC6CC:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, =gUnknown_0855D26C
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
- bl LoadSpritePalettes
- adds r0, r5, 0
- bl sub_80BDB7C
- b _080BC7F8
- .pool
-_080BC6FC:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r3, r2
- b _080BC800
-_080BC704:
- cmp r5, 0
- bne _080BC71C
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r2, =0x00000612
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrb r1, [r1]
- bl sub_80BC8D4
-_080BC71C:
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_80BD2B4
- ldr r0, [r4]
- ldr r2, =0x0000064f
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BC7F8
- .pool
-_080BC768:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BB370
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080BC800
- .pool
-_080BC790:
- ldr r1, =0x00003f3f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00001d3f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00009040
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BC7F8:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080BC800:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BC838
- .pool
-_080BC818:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080BC838
- movs r1, 0x87
- lsls r1, 3
- adds r0, r3, r1
- strb r2, [r0]
- movs r0, 0x1
- b _080BC83A
- .pool
-_080BC838:
- movs r0, 0
-_080BC83A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC514
-
- thumb_func_start sub_80BC844
-sub_80BC844: @ 80BC844
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC858
- ldr r0, =gUnknown_08DC17B6
- b _080BC862
- .pool
-_080BC858:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080BC870
- ldr r0, =gUnknown_08DC16F6
-_080BC862:
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
- b _080BC87A
- .pool
-_080BC870:
- ldr r0, =gUnknown_08DC1876
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
-_080BC87A:
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC844
-
- thumb_func_start sub_80BC890
-sub_80BC890: @ 80BC890
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8A4
- bl Free
-_080BC8A4:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8B2
- bl Free
-_080BC8B2:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8C0
- bl Free
-_080BC8C0:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BC8CE
- bl Free
-_080BC8CE:
- pop {r0}
- bx r0
- thumb_func_end sub_80BC890
-
- thumb_func_start sub_80BC8D4
-sub_80BC8D4: @ 80BC8D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000060c
- adds r0, r1
- movs r5, 0
- strh r5, [r0]
- cmp r4, 0
- beq _080BC8FC
- cmp r4, 0x1
- beq _080BC910
-_080BC8FC:
- mov r1, sp
- movs r0, 0xCA
- strh r0, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x2]
- b _080BC92C
- .pool
-_080BC910:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080BC924
- mov r0, sp
- movs r1, 0xC1
- lsls r1, 1
- strh r1, [r0]
- strh r5, [r0, 0x2]
- b _080BC92C
-_080BC924:
- mov r0, sp
- movs r1, 0xCA
- strh r1, [r0]
- strh r4, [r0, 0x2]
-_080BC92C:
- cmp r6, 0x5
- bls _080BC932
- b _080BCDB4
-_080BC932:
- lsls r0, r6, 2
- ldr r1, =_080BC940
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BC940:
- .4byte _080BC958
- .4byte _080BCACC
- .4byte _080BCB78
- .4byte _080BCC08
- .4byte _080BCCA0
- .4byte _080BCD30
-_080BC958:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _080BCA00
- movs r4, 0
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _080BC96C
- b _080BCDB4
-_080BC96C:
- mov r5, sp
- ldr r2, =gUnknown_02039B4C
- mov r8, r2
- movs r3, 0x1
- mov r9, r3
-_080BC976:
- lsls r4, 16
- asrs r4, 16
- adds r7, r4, 0x1
- mov r10, r7
- lsls r0, r7, 16
- lsrs r6, r0, 16
- adds r0, r6, 0
- bl HoennToNationalOrder
- strh r0, [r5, 0x4]
- mov r2, r8
- ldr r1, [r2]
- lsls r4, 2
- adds r1, r4
- strh r0, [r1]
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- mov r3, r8
- ldr r2, [r3]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- ldrb r0, [r2, 0x2]
- movs r7, 0x2
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r3, [r1]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- subs r7, 0x1
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r4, r1, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BC9EA
- ldr r2, =0x0000060c
- adds r0, r1, r2
- mov r3, r10
- strh r3, [r0]
-_080BC9EA:
- adds r4, r6, 0
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r7, [r5]
- cmp r0, r7
- blt _080BC976
- b _080BCDB4
- .pool
-_080BCA00:
- movs r4, 0
- movs r5, 0
- mov r10, r5
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _080BCA10
- b _080BCDB4
-_080BCA10:
- mov r6, sp
- ldr r0, =gUnknown_02039B4C
- mov r8, r0
- movs r1, 0x1
- mov r9, r1
-_080BCA1A:
- lsls r4, 16
- asrs r0, r4, 16
- adds r0, 0x1
- strh r0, [r6, 0x4]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _080BCA36
- movs r2, 0x1
- mov r10, r2
-_080BCA36:
- mov r3, r10
- cmp r3, 0
- beq _080BCAB2
- mov r4, r8
- ldr r1, [r4]
- lsls r0, r5, 16
- asrs r5, r0, 16
- lsls r4, r5, 2
- adds r1, r4
- ldrh r0, [r6, 0x4]
- strh r0, [r1]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r2, [r1]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- mov r12, r3
- ldrb r0, [r2, 0x2]
- movs r3, 0x2
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrh r0, [r6, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r2, r8
- ldr r3, [r2]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- mov r12, r2
- ldrb r0, [r3, 0x2]
- movs r2, 0x3
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r3, 0x2]
- mov r3, r8
- ldr r2, [r3]
- adds r4, r2, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BCAAC
- adds r1, r5, 0x1
- ldr r4, =0x0000060c
- adds r0, r2, r4
- strh r1, [r0]
-_080BCAAC:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080BCAB2:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- ldrh r2, [r6]
- cmp r0, r2
- blt _080BCA1A
- b _080BCDB4
- .pool
-_080BCACC:
- movs r4, 0
- mov r5, sp
- ldr r3, =gUnknown_02039B4C
- mov r8, r3
- ldr r6, =0x0000060c
- movs r7, 0x1
- mov r9, r7
-_080BCADA:
- ldr r1, =gUnknown_0855C6A4
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCB58
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCB58
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- mov r4, r9
- orrs r0, r4
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- mov r1, r8
- ldr r3, [r1]
- adds r1, r3, r6
- ldrh r1, [r1]
- lsls r1, 2
- adds r3, r1
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCB58:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r7, r2
- lsrs r4, r1, 16
- movs r0, 0xCD
- lsls r0, 17
- cmp r1, r0
- ble _080BCADA
- b _080BCDB4
- .pool
-_080BCB78:
- ldr r4, =0x00000181
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- ldr r6, =0x0000060c
-_080BCB82:
- ldr r1, =gUnknown_0855C9DA
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r3, [r5]
- cmp r0, r3
- bhi _080BCBE2
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCBE2
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCBE2:
- lsls r0, r4, 16
- ldr r4, =0xffff0000
- adds r0, r4
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _080BCB82
- b _080BCDB4
- .pool
-_080BCC08:
- movs r4, 0
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- mov r8, r7
- ldr r6, =0x0000060c
- ldr r0, =0x00000181
- mov r9, r0
-_080BCC16:
- ldr r1, =gUnknown_0855C9DA
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCC7E
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCC7E
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCC7E:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _080BCC16
- b _080BCDB4
- .pool
-_080BCCA0:
- ldr r4, =0x00000181
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- ldr r6, =0x0000060c
-_080BCCAA:
- ldr r1, =gUnknown_0855CCDE
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r5]
- cmp r0, r2
- bhi _080BCD0A
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCD0A
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCD0A:
- lsls r0, r4, 16
- ldr r3, =0xffff0000
- adds r0, r3
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _080BCCAA
- b _080BCDB4
- .pool
-_080BCD30:
- movs r4, 0
- mov r5, sp
- ldr r7, =gUnknown_02039B4C
- mov r8, r7
- ldr r6, =0x0000060c
- ldr r0, =0x00000181
- mov r9, r0
-_080BCD3E:
- ldr r1, =gUnknown_0855CCDE
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _080BCDA6
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080BCDA6
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080BCDA6:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _080BCD3E
-_080BCDB4:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r4, [r0]
- lsls r3, r4, 16
- asrs r0, r3, 16
- ldr r2, =0x00000181
- cmp r0, r2
- bgt _080BCE08
- adds r5, r1, 0
- movs r4, 0x2
- negs r4, r4
- mov r9, r4
- movs r7, 0x3
- negs r7, r7
- mov r8, r7
- adds r7, r2, 0
- ldr r0, =0x0000ffff
- adds r6, r0, 0
-_080BCDDC:
- ldr r1, [r5]
- asrs r3, 16
- lsls r4, r3, 2
- adds r1, r4
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- adds r1, r4
- ldrb r2, [r1, 0x2]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r3, 0x1
- lsls r3, 16
- asrs r0, r3, 16
- cmp r0, r7
- ble _080BCDDC
-_080BCE08:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BC8D4
-
- thumb_func_start sub_80BCE2C
-sub_80BCE2C: @ 80BCE2C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- mov r8, r3
- ldr r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- add r4, sp, 0x14
- movs r6, 0
- strb r6, [r4]
- adds r5, r4, 0
- movs r4, 0xF
- strb r4, [r5, 0x1]
- movs r4, 0x3
- strb r4, [r5, 0x2]
- mov r4, r8
- lsls r4, 27
- lsrs r4, 24
- mov r8, r4
- lsrs r3, 21
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0xC]
- str r2, [sp, 0x10]
- mov r2, r8
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCE2C
-
- thumb_func_start sub_80BCE84
-sub_80BCE84: @ 80BCE84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- cmp r0, 0x1
- beq _080BCF7C
- cmp r0, 0x1
- ble _080BCEA8
- cmp r0, 0x2
- bne _080BCEA8
- b _080BD074
-_080BCEA8:
- subs r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- mov r9, r0
-_080BCEB2:
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r10, r0
- ldr r1, =0x00000181
- cmp r5, r1
- bhi _080BCED2
- ldr r2, =gUnknown_02039B4C
- mov r8, r2
- ldr r0, [r2]
- mov r3, r10
- asrs r6, r3, 14
- adds r0, r6
- ldrh r0, [r0]
- ldr r1, =0x0000ffff
- cmp r0, r1
- bne _080BCEF0
-_080BCED2:
- mov r2, r9
- lsls r1, r2, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- b _080BCF64
- .pool
-_080BCEF0:
- mov r3, r9
- lsls r0, r3, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_80BD28C
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BCF42
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
- b _080BCF64
-_080BCF42:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- movs r0, 0
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
-_080BCF64:
- movs r0, 0x80
- lsls r0, 9
- add r0, r10
- lsrs r1, r0, 16
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xA
- bls _080BCEB2
- b _080BD13E
-_080BCF7C:
- subs r0, r1, 0x5
- lsls r1, r0, 16
- lsrs r5, r1, 16
- ldr r0, =0x00000181
- ldr r2, =gUnknown_02039B4C
- cmp r5, r0
- bhi _080BCF9A
- adds r6, r2, 0
- ldr r3, [r6]
- asrs r4, r1, 14
- adds r0, r3, r4
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BCFB8
-_080BCF9A:
- ldr r0, [r2]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- b _080BD0B2
- .pool
-_080BCFB8:
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BD028
- movs r3, 0xC6
- lsls r3, 3
- adds r0, r1, r3
- movs r1, 0
- ldrsh r2, [r0, r1]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_80BD154
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_80BD1F4
- ldr r1, [r6]
- adds r0, r1, r4
- ldrh r0, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- b _080BD06C
-_080BD028:
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_80BD154
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_80BD1F4
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
-_080BD06C:
- movs r1, 0x16
- bl sub_80BD23C
- b _080BD13E
-_080BD074:
- adds r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =gUnknown_02039B4C
- mov r8, r0
- ldr r3, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r3, r2
- ldrh r0, [r0]
- adds r0, 0xA
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080BD09A
- adds r0, r2, 0
- subs r0, 0x10
- lsls r0, 16
- lsrs r2, r0, 16
-_080BD09A:
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =0x00000181
- cmp r5, r0
- bhi _080BD0B0
- asrs r6, r1, 14
- adds r0, r3, r6
- ldrh r1, [r0]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BD0CC
-_080BD0B0:
- lsls r1, r2, 25
-_080BD0B2:
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_80BD28C
- b _080BD13E
- .pool
-_080BD0CC:
- lsls r0, r2, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_80BD28C
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080BD11C
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
- b _080BD13E
-_080BD11C:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD154
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_80BD1F4
- movs r0, 0
- movs r1, 0x16
- adds r2, r4, 0
- bl sub_80BD23C
-_080BD13E:
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCE84
-
- thumb_func_start sub_80BD154
-sub_80BD154: @ 80BD154
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r1, =gUnknown_0855D2B8
- add r0, sp, 0x4
- movs r2, 0x6
- bl memcpy
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- lsls r4, 2
- adds r4, r0, r4
- ldrh r6, [r4]
- ldr r1, =0x00000612
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BD194
- adds r0, r6, 0
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r6, r0, 16
-_080BD194:
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4, 0x2]
- add r5, sp, 0x4
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x3]
- add r5, sp, 0x4
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- str r7, [sp]
- movs r0, 0
- movs r1, 0x7
- add r2, sp, 0x4
- mov r3, r8
- bl sub_80BCE2C
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD154
-
- thumb_func_start sub_80BD1F4
-sub_80BD1F4: @ 80BD1F4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r0, 0
- beq _080BD220
- ldr r1, =gUnknown_0855D2BE
- lsls r2, r3, 3
- lsls r3, r4, 3
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- bl BlitBitmapToWindow
- b _080BD234
- .pool
-_080BD220:
- lsls r2, r3, 3
- lsls r3, r4, 3
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelRect
-_080BD234:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD1F4
-
- thumb_func_start sub_80BD23C
-sub_80BD23C: @ 80BD23C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- bl NationalPokedexNumToSpecies
- adds r1, r0, 0
- cmp r1, 0
- beq _080BD264
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r4, r1, r0
- b _080BD266
- .pool
-_080BD264:
- ldr r4, =gUnknown_0855D2FE
-_080BD266:
- str r5, [sp]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_80BCE2C
- adds r0, r4, 0
- bl StringLength
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD23C
-
- thumb_func_start sub_80BD28C
-sub_80BD28C: @ 80BD28C
- push {lr}
- sub sp, 0x8
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r2, 21
- lsrs r3, 21
- movs r0, 0x60
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80BD28C
-
- thumb_func_start sub_80BD2B4
-sub_80BD2B4: @ 80BD2B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r2, =gPaletteFade
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- movs r2, 0
- ldr r7, =gUnknown_02039B4C
- adds r5, r7, 0
- ldr r4, =0x0000061e
- ldr r0, =0x0000ffff
- adds r3, r0, 0
-_080BD2DA:
- ldr r1, [r5]
- lsls r0, r2, 1
- adds r1, r4
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD2DA
- ldr r0, [r7]
- ldr r1, =0x00000626
- adds r0, r1
- ldr r1, =0x0000ffff
- strh r1, [r0]
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- ldr r4, =0x0000ffff
- cmp r0, r4
- beq _080BD334
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- ldr r1, =0x0000ffe0
- strh r1, [r0, 0x38]
-_080BD334:
- adds r0, r6, 0
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _080BD366
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x38]
-_080BD366:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _080BD39C
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0x20
- strh r1, [r0, 0x38]
-_080BD39C:
- movs r0, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_80BCE84
- ldr r0, [r7]
- ldr r2, =0x0000062d
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, =0x00000632
- adds r0, r1
- strh r2, [r0]
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD2B4
-
- thumb_func_start sub_80BD404
-sub_80BD404: @ 80BD404
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r3, =0x0000062e
- adds r2, r1, r3
- ldrb r3, [r2]
- adds r7, r0, 0
- cmp r3, 0
- bne _080BD428
- b _080BD578
-_080BD428:
- subs r0, r3, 0x1
- strb r0, [r2]
- cmp r4, 0x1
- beq _080BD440
- cmp r4, 0x2
- beq _080BD4DC
- b _080BD558
- .pool
-_080BD440:
- movs r3, 0
- ldr r4, =0x0000ffff
- mov r12, r4
- ldr r0, =gSprites
- mov r8, r0
- adds r2, r7, 0
-_080BD44C:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _080BD46A
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- adds r0, r5
- strh r0, [r1, 0x38]
-_080BD46A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BD44C
- ldr r4, [r7]
- ldr r1, =0x0000062e
- adds r0, r4, r1
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =0x0000062d
- adds r0, r4, r3
- ldr r1, =0x00000632
- adds r4, r1
- movs r3, 0
- ldrsh r1, [r4, r3]
- lsls r1, 4
- ldrb r0, [r0]
- adds r1, r0
- subs r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- ldr r4, =0x0000062c
- adds r2, r0, r4
- movs r1, 0xC5
- lsls r1, 3
- adds r0, r1
- ldrb r1, [r0]
- ldrb r0, [r2]
- subs r0, r1
- strb r0, [r2]
- b _080BD558
- .pool
-_080BD4DC:
- movs r3, 0
- ldr r2, =0x0000ffff
- mov r12, r2
- ldr r4, =gSprites
- mov r8, r4
- adds r2, r7, 0
-_080BD4E8:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _080BD506
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- subs r0, r5
- strh r0, [r1, 0x38]
-_080BD506:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BD4E8
- ldr r4, [r7]
- ldr r1, =0x0000062e
- adds r0, r4, r1
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, =0x0000062d
- adds r0, r4, r3
- ldr r1, =0x00000632
- adds r4, r1
- movs r3, 0
- ldrsh r1, [r4, r3]
- lsls r1, 4
- ldrb r0, [r0]
- adds r1, r0
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldr r0, [r7]
- ldr r4, =0x0000062c
- adds r1, r0, r4
- movs r2, 0xC5
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
-_080BD558:
- movs r0, 0
- b _080BD598
- .pool
-_080BD578:
- ldr r4, =0x0000062d
- adds r2, r1, r4
- movs r3, 0xC6
- lsls r3, 3
- adds r0, r1, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- lsls r1, 4
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0x1
-_080BD598:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD404
-
- thumb_func_start sub_80BD5A8
-sub_80BD5A8: @ 80BD5A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- movs r5, 0xC6
- lsls r5, 3
- adds r1, r0, r5
- ldrh r1, [r1]
- ldr r6, =0x00000632
- adds r0, r6
- strh r1, [r0]
- cmp r2, 0x1
- beq _080BD5D8
- cmp r2, 0x2
- beq _080BD638
- b _080BD694
- .pool
-_080BD5D8:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080BD612
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- ldr r1, =0x0000ffc0
- strh r1, [r0, 0x38]
-_080BD612:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080BD634
- subs r0, r2, 0x1
- b _080BD692
- .pool
-_080BD634:
- movs r0, 0xF
- b _080BD692
-_080BD638:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BDA8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _080BD672
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_80BDACC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, =sub_80BE4E0
- str r2, [r1]
- adds r0, r3
- movs r1, 0x40
- strh r1, [r0, 0x38]
-_080BD672:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0xE
- bgt _080BD690
- adds r0, r2, 0x1
- b _080BD692
- .pool
-_080BD690:
- movs r0, 0
-_080BD692:
- strh r0, [r1]
-_080BD694:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD5A8
-
- thumb_func_start sub_80BD69C
-sub_80BD69C: @ 80BD69C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0
- mov r10, r0
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BD6FC
- cmp r7, 0
- beq _080BD6FC
- movs r1, 0x1
- mov r10, r1
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- movs r0, 0x1
- adds r1, r7, 0
- bl sub_80BD5A8
- movs r0, 0x1
- b _080BD734
- .pool
-_080BD6FC:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BD74C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000060c
- adds r0, r3
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- bge _080BD74C
- movs r1, 0x2
- mov r10, r1
- lsls r3, r0, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- movs r0, 0x2
- adds r1, r7, 0
- bl sub_80BD5A8
- movs r0, 0x2
-_080BD734:
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_80BCE84
- movs r0, 0x6C
- bl PlaySE
- b _080BD81A
- .pool
-_080BD74C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BD7B4
- cmp r7, 0
- beq _080BD7B4
- adds r6, r7, 0
- movs r4, 0
-_080BD75E:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BD75E
- ldr r1, [r5]
- ldr r3, =0x0000062c
- adds r1, r3
- subs r0, r7, r6
- lsls r0, 4
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80BDA40
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_80BD2B4
- movs r0, 0x6D
- bl PlaySE
- b _080BD81A
- .pool
-_080BD7B4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BD81A
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000060c
- adds r0, r3
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- bge _080BD81A
- adds r6, r7, 0
- movs r4, 0
-_080BD7D2:
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80C0E0C
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BD7D2
- ldr r1, [r5]
- ldr r2, =0x0000062c
- adds r1, r2
- subs r0, r7, r6
- lsls r0, 4
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- bl sub_80BDA40
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_80BD2B4
- movs r0, 0x6D
- bl PlaySE
-_080BD81A:
- mov r0, r10
- cmp r0, 0
- bne _080BD83C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 3
- adds r0, r1
- mov r2, r10
- strh r2, [r0]
- b _080BD8A2
- .pool
-_080BD83C:
- ldr r1, =gUnknown_0855D28C
- ldr r6, =gUnknown_02039B4C
- ldr r2, [r6]
- movs r3, 0xC7
- lsls r3, 3
- mov r9, r3
- adds r0, r2, r3
- ldrh r0, [r0]
- lsrs r0, 2
- adds r1, r0, r1
- ldrb r5, [r1]
- ldr r1, =gUnknown_0855D291
- adds r0, r1
- ldrb r3, [r0]
- ldr r0, =0x0000062e
- adds r2, r0
- strb r3, [r2]
- ldr r1, [r6]
- ldr r2, =0x00000636
- mov r8, r2
- adds r0, r1, r2
- strh r3, [r0]
- ldr r4, =0x00000634
- adds r0, r1, r4
- strh r5, [r0]
- ldr r3, =0x0000062f
- adds r1, r3
- mov r0, r10
- strb r0, [r1]
- ldr r2, [r6]
- lsrs r5, 1
- movs r1, 0xC5
- lsls r1, 3
- adds r0, r2, r1
- strh r5, [r0]
- adds r3, r2, r3
- ldrb r0, [r3]
- adds r4, r2, r4
- ldrb r1, [r4]
- add r2, r8
- ldrb r2, [r2]
- bl sub_80BD404
- ldr r0, [r6]
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0xB
- bhi _080BD8A2
- adds r0, 0x1
- strh r0, [r1]
-_080BD8A2:
- adds r0, r7, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BD69C
-
- thumb_func_start sub_80BD8D0
-sub_80BD8D0: @ 80BD8D0
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, =gUnknown_02039B4C
- mov r12, r0
- ldr r6, =gSprites
- ldr r5, =0x0000ffff
-_080BD8DC:
- mov r1, r12
- ldr r3, [r1]
- lsls r1, r4, 1
- ldr r2, =0x0000061e
- adds r0, r3, r2
- adds r0, r1
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- movs r7, 0x24
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _080BD90C
- movs r7, 0x26
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _080BD90C
- cmp r2, r5
- beq _080BD90C
- ldr r1, =0x00000626
- adds r0, r3, r1
- strh r2, [r0]
-_080BD90C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080BD8DC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BD8D0
-
- thumb_func_start sub_80BD930
-sub_80BD930: @ 80BD930
- push {r4-r6,lr}
- ldr r3, =gUnknown_02039B4C
- ldr r0, [r3]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r4, [r0]
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BD9B8
- cmp r4, 0
- beq _080BD9B8
- adds r2, r4, 0
- adds r5, r3, 0
-_080BD950:
- ldr r0, [r5]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r2, 0
- movs r2, 0
- bl sub_80C0E0C
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BD9A0
- cmp r2, 0
- bne _080BD950
-_080BD97E:
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000060e
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- bne _080BD9A4
- b _080BDA38
- .pool
-_080BD9A0:
- adds r4, r2, 0
- b _080BD97E
-_080BD9A4:
- strh r4, [r2]
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x10
- b _080BDA20
- .pool
-_080BD9B4:
- adds r4, r2, 0
- b _080BDA08
-_080BD9B8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BDA38
- ldr r0, [r3]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- bge _080BDA38
- adds r2, r4, 0
- adds r6, r3, 0
- adds r5, r1, 0
-_080BD9D6:
- ldr r0, [r6]
- adds r0, r5
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r2, 0
- movs r2, 0
- bl sub_80C0E0C
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r0, r1, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BD9B4
- adds r0, r1, r5
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r2, r0
- blt _080BD9D6
-_080BDA08:
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- ldr r0, =0x0000060e
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- beq _080BDA38
- strh r4, [r2]
- ldr r0, =0x0000062c
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x10
-_080BDA20:
- strb r0, [r1]
- movs r0, 0x1
- b _080BDA3A
- .pool
-_080BDA38:
- movs r0, 0
-_080BDA3A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD930
-
- thumb_func_start sub_80BDA40
-sub_80BDA40: @ 80BDA40
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, =gUnknown_02039B4C
- ldr r7, =0x0000ffff
-_080BDA48:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, =0x0000061e
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r7
- beq _080BDA6C
- bl sub_818D820
- ldr r1, [r6]
- ldr r0, =0x0000061e
- adds r1, r0
- adds r1, r4
- ldrh r2, [r1]
- adds r0, r7, 0
- orrs r0, r2
- strh r0, [r1]
-_080BDA6C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080BDA48
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BDA40
-
- thumb_func_start sub_80BDA8C
-sub_80BDA8C: @ 80BDA8C
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x00000181
- cmp r2, r0
- bhi _080BDAA8
- ldr r0, =gUnknown_02039B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r2, r1, r0
- ldrh r1, [r2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- bne _080BDAB8
-_080BDAA8:
- ldr r0, =0x0000ffff
- b _080BDAC6
- .pool
-_080BDAB8:
- ldrb r0, [r2, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _080BDAC4
- movs r0, 0
- b _080BDAC6
-_080BDAC4:
- ldrh r0, [r2]
-_080BDAC6:
- pop {r1}
- bx r1
- thumb_func_end sub_80BDA8C
-
- thumb_func_start sub_80BDACC
-sub_80BDACC: @ 80BDACC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r2, 16
- lsrs r2, 16
- movs r6, 0
- ldr r0, =gUnknown_02039B4C
- mov r9, r0
- ldr r3, =0x0000ffff
- lsls r1, 16
-_080BDAE8:
- mov r4, r9
- ldr r0, [r4]
- lsls r7, r6, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r3
- bne _080BDB60
- lsls r2, 16
- mov r0, r8
- asrs r1, 16
- asrs r2, 16
- adds r3, r6, 0
- bl sub_80C0E9C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r2, 0x4
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r6, [r4, 0x30]
- mov r0, r8
- bl NationalPokedexNumToSpecies
- strh r0, [r4, 0x32]
- mov r4, r9
- ldr r0, [r4]
- ldr r1, =0x0000061e
- adds r0, r1
- adds r0, r7
- strh r5, [r0]
- adds r0, r5, 0
- b _080BDB6C
- .pool
-_080BDB60:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080BDAE8
- ldr r0, =0x0000ffff
-_080BDB6C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BDACC
-
- thumb_func_start sub_80BDB7C
-sub_80BDB7C: @ 80BDB7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, =gUnknown_0855D1AC
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gSprites
- mov r10, r1
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0
- strh r1, [r0, 0x30]
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- strh r1, [r0, 0x30]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldr r0, =gUnknown_0855D194
- movs r1, 0xE6
- movs r2, 0x14
- movs r3, 0
- bl CreateSprite
- ldr r5, =gUnknown_0855D1C4
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x78
- movs r3, 0
- bl CreateSprite
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r0, 0x80
- mov r9, r0
- mov r1, r9
- strh r1, [r4, 0x32]
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x90
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r6, =gUnknown_0855D1DC
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x1]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r5, 0x1
- orrs r0, r5
- strb r0, [r1, 0x1]
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- movs r2, 0x3C
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1E
- strh r0, [r1, 0x2E]
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r0, [r1, 0x1]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- movs r2, 0x3E
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1F
- strh r0, [r1, 0x2E]
- mov r0, r9
- strh r0, [r1, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _080BDCCC
- b _080BE414
-_080BDCCC:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080BDCD6
- b _080BDF4C
-_080BDCD6:
- ldr r4, =gUnknown_0855D1F4
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x28
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x48
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- ldr r0, =gUnknown_0855D224
- movs r1, 0x18
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BDD6C
- movs r0, 0x1
- mov r8, r0
- b _080BDD78
- .pool
-_080BDD6C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDD78:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x20
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BDDB0
- mov r0, r8
- cmp r0, 0
- beq _080BDDD4
-_080BDDB0:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BDDE8
- .pool
-_080BDDD4:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDDE8:
- ldr r6, =gUnknown_0855D224
- adds r0, r6, 0
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x18
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r5]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BDE80
- movs r0, 0x1
- mov r8, r0
- b _080BDE8C
- .pool
-_080BDE80:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDE8C:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x20
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BDEC4
- mov r0, r8
- cmp r0, 0
- beq _080BDEE8
-_080BDEC4:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BDEFC
- .pool
-_080BDEE8:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BDEFC:
- ldr r0, =gUnknown_0855D224
- movs r1, 0x28
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE3E2
- .pool
-_080BDF4C:
- ldr r4, =gUnknown_0855D1F4
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x28
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x4C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r4, =gUnknown_0855D20C
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x11
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0
- bl sub_80C0844
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- mov r8, r0
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x28
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE024
- movs r0, 0x1
- mov r8, r0
- b _080BE030
- .pool
-_080BE024:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE030:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE060
- mov r1, r8
- cmp r1, 0
- beq _080BE07C
-_080BE060:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE090
- .pool
-_080BE07C:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE090:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x2D
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE11C
- movs r0, 0x1
- mov r8, r0
- b _080BE128
- .pool
-_080BE11C:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE128:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE160
- mov r0, r8
- cmp r0, 0
- beq _080BE184
-_080BE160:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE198
- .pool
-_080BE184:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE198:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x37
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061a
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0x1
- bl sub_80C0844
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE230
- movs r1, 0x1
- mov r8, r1
- b _080BE23C
- .pool
-_080BE230:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE23C:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE26C
- mov r0, r8
- cmp r0, 0
- beq _080BE288
-_080BE26C:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE29C
- .pool
-_080BE288:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE29C:
- ldr r5, =gUnknown_0855D23C
- adds r0, r5, 0
- movs r1, 0x38
- movs r2, 0x51
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r1, 0
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _080BE328
- movs r0, 0x1
- mov r8, r0
- b _080BE334
- .pool
-_080BE328:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE334:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x30
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080BE36C
- mov r0, r8
- cmp r0, 0
- beq _080BE390
-_080BE36C:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _080BE3A4
- .pool
-_080BE390:
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE3A4:
- ldr r0, =gUnknown_0855D23C
- movs r1, 0x38
- movs r2, 0x5B
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000061c
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r2, =gSprites
- adds r0, r2
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_080BE3E2:
- ldr r0, =gUnknown_0855D254
- movs r1, 0x88
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gSprites
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- b _080BE42C
- .pool
-_080BE414:
- ldr r0, =gUnknown_0855D254
- movs r1, 0x88
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
-_080BE42C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BDB7C
-
- thumb_func_start nullsub_38
-nullsub_38: @ 80BE448
- bx lr
- thumb_func_end nullsub_38
-
- thumb_func_start sub_80BE44C
-sub_80BE44C: @ 80BE44C
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE464
- adds r0, r1, 0
- bl DestroySprite
-_080BE464:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE44C
-
- thumb_func_start sub_80BE470
-sub_80BE470: @ 80BE470
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- ldr r1, [r2, 0x20]
- ldr r0, =0x00380030
- cmp r1, r0
- beq _080BE4D4
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x30
- ble _080BE4A4
- subs r0, r1, 0x1
- strh r0, [r2, 0x20]
-_080BE4A4:
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x2F
- bgt _080BE4B2
- adds r0, r1, 0x1
- strh r0, [r2, 0x20]
-_080BE4B2:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x38
- ble _080BE4C0
- subs r0, r1, 0x1
- strh r0, [r2, 0x22]
-_080BE4C0:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x37
- bgt _080BE4D8
- adds r0, r1, 0x1
- strh r0, [r2, 0x22]
- b _080BE4D8
- .pool
-_080BE4D4:
- ldr r0, =nullsub_38
- str r0, [r2, 0x1C]
-_080BE4D8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE470
-
- thumb_func_start sub_80BE4E0
-sub_80BE4E0: @ 80BE4E0
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, =gUnknown_02039B4C
- ldr r1, [r7]
- ldr r2, =0x0000064a
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE520
- cmp r0, 0x3
- beq _080BE520
- lsls r5, r6, 1
- ldr r4, =0x0000061e
- adds r0, r1, r4
- adds r0, r5
- ldrh r0, [r0]
- bl sub_818D820
- ldr r0, [r7]
- adds r0, r4
- adds r0, r5
- b _080BE5EC
- .pool
-_080BE520:
- ldr r2, =gSineTable
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x4C
- muls r0, r1
- cmp r0, 0
- bge _080BE538
- adds r0, 0xFF
-_080BE538:
- asrs r0, 8
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r2, r0, 0
- ldr r0, =0x0000ffff
- cmp r2, r0
- bls _080BE55C
- adds r2, r0, 0
-_080BE55C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r1, r6, 0x1
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _080BE5B4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- b _080BE5C0
- .pool
-_080BE5B4:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080BE5C0:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bls _080BE5F0
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080BE5F0
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- lsls r6, 1
- ldr r4, =0x0000061e
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- bl sub_818D820
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
-_080BE5EC:
- ldr r1, =0x0000ffff
- strh r1, [r0]
-_080BE5F0:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE4E0
-
- thumb_func_start sub_80BE604
-sub_80BE604: @ 80BE604
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE62C
- cmp r0, 0x3
- beq _080BE62C
- adds r0, r4, 0
- bl DestroySprite
- b _080BE648
- .pool
-_080BE62C:
- ldr r2, [r1]
- ldr r1, =0x0000060e
- adds r0, r2, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- ldr r1, =0x0000060c
- adds r2, r1
- ldrh r1, [r2]
- subs r1, 0x1
- bl __divsi3
- strh r0, [r4, 0x26]
-_080BE648:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE604
-
- thumb_func_start sub_80BE658
-sub_80BE658: @ 80BE658
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _080BE680
- cmp r0, 0x3
- beq _080BE680
- adds r0, r3, 0
- bl DestroySprite
- b _080BE750
- .pool
-_080BE680:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080BE6C2
- ldr r0, [r5]
- ldr r2, =0x0000060e
- adds r1, r0, r2
- ldrh r1, [r1]
- subs r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080BE6AC
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _080BE6B8
- .pool
-_080BE6AC:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_080BE6B8:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- lsls r0, r1, 24
- b _080BE6F8
-_080BE6C2:
- ldr r0, [r5]
- ldr r1, =0x0000060e
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BE6E0
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _080BE6EC
- .pool
-_080BE6E0:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_080BE6EC:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- adds r0, r1, 0
- subs r0, 0x80
- lsls r0, 24
-_080BE6F8:
- lsrs r0, 24
- adds r4, r1, 0
- ldr r1, =gSineTable
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080BE70C
- adds r0, 0x3F
-_080BE70C:
- asrs r0, 6
- strh r0, [r3, 0x26]
- adds r0, r4, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- ldr r1, [r5]
- ldr r3, =0x0000064f
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BE748
- adds r3, 0x3
- adds r0, r1, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BE748
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080BE748
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _080BE74E
- .pool
-_080BE748:
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
-_080BE74E:
- strb r0, [r2]
-_080BE750:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE658
-
- thumb_func_start sub_80BE758
-sub_80BE758: @ 80BE758
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE774
- cmp r0, 0x3
- beq _080BE774
- adds r0, r1, 0
- bl DestroySprite
-_080BE774:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE758
-
- thumb_func_start sub_80BE780
-sub_80BE780: @ 80BE780
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- beq _080BE7AC
- cmp r0, 0x3
- beq _080BE7AC
- adds r0, r6, 0
- bl DestroySprite
- b _080BE824
- .pool
-_080BE7AC:
- ldr r0, [r7]
- ldr r5, =0x0000062c
- adds r0, r5
- ldrb r1, [r0]
- ldrh r0, [r6, 0x30]
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r4, =gSineTable
- lsls r0, r1, 1
- adds r0, r4
- ldrh r3, [r0]
- adds r1, 0x40
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1]
- lsls r3, 16
- lsrs r2, r3, 16
- negs r3, r3
- lsrs r3, 16
- str r1, [sp]
- bl SetOamMatrix
- ldr r1, [r7]
- adds r1, r5
- ldrh r0, [r6, 0x30]
- adds r0, 0x40
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r4
- ldrh r3, [r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _080BE80C
- adds r0, 0xFF
-_080BE80C:
- asrs r0, 8
- strh r0, [r6, 0x24]
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _080BE820
- adds r0, 0xFF
-_080BE820:
- asrs r0, 8
- strh r0, [r6, 0x26]
-_080BE824:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BE780
-
- thumb_func_start sub_80BE834
-sub_80BE834: @ 80BE834
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000064a
- adds r0, r2
- ldrb r2, [r0]
- cmp r2, 0
- beq _080BE85C
- cmp r2, 0x3
- beq _080BE85C
- adds r0, r3, 0
- bl DestroySprite
- b _080BE8D4
- .pool
-_080BE85C:
- ldr r4, [r1]
- ldr r1, =0x0000064a
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x60
- cmp r0, 0
- bne _080BE86C
- movs r1, 0x50
-_080BE86C:
- ldr r2, =0x0000064f
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BE8C8
- adds r2, 0x3
- adds r0, r4, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bne _080BE8C8
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0xCA
- lsls r1, 3
- adds r0, r4, r1
- ldrh r0, [r0]
- lsls r0, 4
- strh r0, [r3, 0x26]
- ldr r1, =gSineTable
- ldrh r2, [r3, 0x32]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080BE8B0
- adds r0, 0x3F
-_080BE8B0:
- asrs r0, 6
- strh r0, [r3, 0x24]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- b _080BE8D4
- .pool
-_080BE8C8:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080BE8D4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE834
-
- thumb_func_start sub_80BE8DC
-sub_80BE8DC: @ 80BE8DC
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- add r1, sp, 0x14
- movs r4, 0
- strb r4, [r1]
- adds r2, r1, 0
- movs r1, 0xF
- strb r1, [r2, 0x1]
- movs r1, 0x3
- strb r1, [r2, 0x2]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- subs r1, 0x4
- str r1, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE8DC
-
- thumb_func_start sub_80BE91C
-sub_80BE91C: @ 80BE91C
- push {r4,r5,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, =gUnknown_02039B54
- str r0, [r1]
- ldr r0, =sub_80BEA24
- movs r1, 0
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- strh r2, [r0, 0x8]
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- strh r2, [r0, 0xE]
- strh r4, [r0, 0x10]
- movs r1, 0xFF
- strh r1, [r0, 0x12]
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856E630
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856E640
- bl InitWindows
- bl DeactivateAllTextPrinters
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BE91C
-
- thumb_func_start sub_80BE9C4
-sub_80BE9C4: @ 80BE9C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BE9F0
- ldr r1, [r1]
- ldr r0, =sub_80BEDF4
- cmp r1, r0
- bne _080BE9F0
- movs r0, 0
- b _080BE9F2
- .pool
-_080BE9F0:
- movs r0, 0x1
-_080BE9F2:
- pop {r1}
- bx r1
- thumb_func_end sub_80BE9C4
-
- thumb_func_start sub_80BE9F8
-sub_80BE9F8: @ 80BE9F8
- adds r2, r0, 0
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, =gUnknown_02039B54
- str r2, [r1]
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x1
- strh r2, [r1, 0x8]
- strh r3, [r1, 0xA]
- strh r3, [r1, 0xC]
- strh r3, [r1, 0xE]
- bx lr
- .pool
- thumb_func_end sub_80BE9F8
-
- thumb_func_start sub_80BEA24
-sub_80BEA24: @ 80BEA24
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xA
- bhi _080BEA7C
- lsls r0, 2
- ldr r1, =_080BEA50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BEA50:
- .4byte _080BEA7C
- .4byte _080BEAF0
- .4byte _080BEB50
- .4byte _080BEB90
- .4byte _080BEB98
- .4byte _080BEC08
- .4byte _080BEC60
- .4byte _080BECBC
- .4byte _080BED04
- .4byte _080BED5E
- .4byte _080BED7C
-_080BEA7C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BEA8A
- b _080BEDA0
-_080BEA8A:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r3, =0x0000064a
- adds r0, r3
- movs r6, 0x1
- strb r6, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BEABA
- movs r2, 0x80
- lsls r2, 5
-_080BEABA:
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BEACA
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- orrs r2, r0
-_080BEACA:
- adds r0, r2, 0
- bl sub_80C09B0
- movs r2, 0x87
- lsls r2, 3
- adds r0, r5, r2
- strb r6, [r0]
- b _080BEDA0
- .pool
-_080BEAF0:
- ldr r1, =gUnknown_08DC1934
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3080
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0x1
- bl sub_80C0D30
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEB50:
- movs r0, 0xD
- bl sub_80BFCDC
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064d
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- ldr r0, [r4]
- ldr r2, =0x0000064c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEB90:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r5, r0
- b _080BED70
-_080BEB98:
- ldr r4, =gUnknown_02039B54
- ldr r3, [r4]
- ldrh r0, [r3]
- ldr r1, =gUnknown_02039B4C
- ldr r1, [r1]
- ldr r2, =0x00000612
- adds r1, r2
- ldrh r2, [r1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- ldr r2, [r3]
- lsls r2, 14
- lsrs r2, 31
- movs r3, 0
- bl sub_80C020C
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BEBD0
- ldr r0, =gPlttBufferUnfaded + 2
- movs r1, 0x31
- movs r2, 0x1E
- bl LoadPalette
-_080BEBD0:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BEC08:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080BEC44
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- strh r0, [r4, 0x10]
- ldr r2, =gSprites
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- 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
- strb r0, [r1, 0x5]
-_080BEC44:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BED70
- .pool
-_080BEC60:
- movs r3, 0
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BEC76
- movs r3, 0x14
-_080BEC76:
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BEC98
- ldr r2, =gSprites
- movs r0, 0x10
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r3, r0
-_080BEC98:
- mvns r0, r3
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- b _080BED68
- .pool
-_080BECBC:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BED70
- .pool
-_080BED04:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BEDA0
- movs r0, 0x87
- lsls r0, 3
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r3, r0, 0x1
- strb r3, [r2]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080BED58
- bl StopCryAndClearCrySongs
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _080BEDA0
- .pool
-_080BED58:
- adds r0, r3, 0x1
- strb r0, [r2]
- b _080BEDA0
-_080BED5E:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _080BEDA0
-_080BED68:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BED70:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BEDA0
- .pool
-_080BED7C:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- ldr r1, =sub_80BEDF4
- str r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r5, r3
- strb r2, [r0]
-_080BEDA0:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEA24
-
- thumb_func_start sub_80BEDB0
-sub_80BEDB0: @ 80BEDB0
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDC4
- bl Free
-_080BEDC4:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDD2
- bl Free
-_080BEDD2:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDE0
- bl Free
-_080BEDE0:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080BEDEE
- bl Free
-_080BEDEE:
- pop {r0}
- bx r0
- thumb_func_end sub_80BEDB0
-
- thumb_func_start sub_80BEDF4
-sub_80BEDF4: @ 80BEDF4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080BEE34
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BF038
- str r0, [r4]
- movs r0, 0x6C
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEE34:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BEE50
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- b _080BEF0E
- .pool
-_080BEE50:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080BEF28
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r1, =0x0000064d
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0x1
- beq _080BEEA0
- cmp r1, 0x1
- bgt _080BEE78
- cmp r1, 0
- beq _080BEE82
- b _080BEFBA
- .pool
-_080BEE78:
- cmp r1, 0x2
- beq _080BEEC0
- cmp r1, 0x3
- beq _080BEF08
- b _080BEFBA
-_080BEE82:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r3, =0x0000064e
- adds r0, r3
- movs r1, 0x1
- b _080BEEF0
- .pool
-_080BEEA0:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- b _080BEEF0
- .pool
-_080BEEC0:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _080BEED8
- movs r0, 0x20
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEED8:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r5]
- ldr r3, =0x0000064e
- adds r0, r3
- movs r1, 0x3
-_080BEEF0:
- strb r1, [r0]
- ldr r0, =sub_80BEFD0
- str r0, [r4]
- movs r0, 0x15
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF08:
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
-_080BEF0E:
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BF070
- str r0, [r4]
- movs r0, 0x3
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF28:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080BEF44
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080BEF78
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BEF78
-_080BEF44:
- ldr r3, =gUnknown_02039B4C
- ldr r0, [r3]
- ldr r4, =0x0000064d
- adds r2, r0, r4
- ldrb r0, [r2]
- cmp r0, 0
- beq _080BEF78
- subs r0, 0x1
- strb r0, [r2]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- movs r0, 0x6D
- bl PlaySE
- b _080BEFBA
- .pool
-_080BEF78:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080BEF96
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BEFBA
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BEFBA
-_080BEF96:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- ldr r3, =0x0000064d
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080BEFBA
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_80BFD0C
- movs r0, 0x6D
- bl PlaySE
-_080BEFBA:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEDF4
-
- thumb_func_start sub_80BEFD0
-sub_80BEFD0: @ 80BEFD0
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF02C
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080BF020
- cmp r0, 0x2
- ble _080BF008
- cmp r0, 0x3
- beq _080BF028
-_080BF008:
- ldr r0, =sub_80BF0AC
- b _080BF02A
- .pool
-_080BF020:
- ldr r0, =sub_80BF250
- b _080BF02A
- .pool
-_080BF028:
- ldr r0, =sub_80BF82C
-_080BF02A:
- str r0, [r4]
-_080BF02C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BEFD0
-
- thumb_func_start sub_80BF038
-sub_80BF038: @ 80BF038
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF05E
- ldr r0, =gTasks
- lsls r4, r2, 2
- adds r4, r2
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =sub_80BEA24
- str r0, [r4]
-_080BF05E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF038
-
- thumb_func_start sub_80BF070
-sub_80BF070: @ 80BF070
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF09C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x10]
- bl sub_818D820
- bl sub_80BEDB0
- adds r0, r4, 0
- bl DestroyTask
-_080BF09C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF070
-
- thumb_func_start sub_80BF0AC
-sub_80BF0AC: @ 80BF0AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r7, r2, r0
- ldrb r0, [r7]
- cmp r0, 0x1
- beq _080BF120
- cmp r0, 0x1
- ble _080BF0C8
- cmp r0, 0x2
- beq _080BF15C
-_080BF0C8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080BF196
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r1, =0x0000064d
- adds r0, r1
- strb r5, [r0]
- movs r0, 0x1
- strb r0, [r7]
- b _080BF196
- .pool
-_080BF120:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- movs r1, 0xD0
- lsls r1, 4
- movs r0, 0xA
- bl SetGpuReg
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _080BF196
- .pool
-_080BF15C:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r4, =0x0000064e
- adds r1, r4
- bl sub_813D3D8
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- strb r1, [r7]
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF1B4
- str r1, [r0]
-_080BF196:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF0AC
-
- thumb_func_start sub_80BF1B4
-sub_80BF1B4: @ 80BF1B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BF1D6
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BF1EC
- str r0, [r1]
-_080BF1D6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF1B4
-
- thumb_func_start sub_80BF1EC
-sub_80BF1EC: @ 80BF1EC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF242
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080BF210
- cmp r0, 0x2
- beq _080BF234
-_080BF210:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BEA24
- b _080BF240
- .pool
-_080BF234:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BF250
-_080BF240:
- str r0, [r1]
-_080BF242:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF1EC
-
- thumb_func_start sub_80BF250
-sub_80BF250: @ 80BF250
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xA
- bhi _080BF2A8
- lsls r0, 2
- ldr r1, =_080BF27C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BF27C:
- .4byte _080BF2A8
- .4byte _080BF310
- .4byte _080BF360
- .4byte _080BF38C
- .4byte _080BF3A0
- .4byte _080BF3D0
- .4byte _080BF41C
- .4byte _080BF498
- .4byte _080BF514
- .4byte _080BF540
- .4byte _080BF590
-_080BF2A8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BF2B6
- b _080BF5B2
-_080BF2B6:
- ldr r0, =gMPlay_BGM
- bl m4aMPlayStop
- ldr r5, =gUnknown_02039B4C
- ldr r0, [r5]
- ldr r3, =0x0000064a
- adds r0, r3
- movs r1, 0x6
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r4, =gMain
- ldr r0, [r4, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r5]
- ldr r1, =0x0000064d
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r2, 0x87
- lsls r2, 3
- adds r4, r2
- strb r1, [r4]
- b _080BF5B2
- .pool
-_080BF310:
- ldr r1, =gUnknown_08DC1934
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3198
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x3
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BF582
- .pool
-_080BF360:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0x1
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r4, =0x0000064c
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- b _080BF57A
- .pool
-_080BF38C:
- bl ResetPaletteFade
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080BF582
- .pool
-_080BF3A0:
- ldr r0, =gText_CryOf
- movs r1, 0x52
- movs r2, 0x21
- bl sub_80BE8DC
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0
- movs r2, 0x52
- movs r3, 0x31
- bl sub_80C0B44
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- b _080BF582
- .pool
-_080BF3D0:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- ldr r2, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- strh r0, [r1, 0x10]
- ldr r2, =gSprites
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- 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
- strb r0, [r1, 0x5]
- ldr r0, =gUnknown_030061EC
- strb r3, [r0]
- b _080BF57A
- .pool
-_080BF41C:
- ldr r1, =0xffff0000
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, =0x00004020
- orrs r0, r1
- ldr r1, =0xff00ffff
- ands r0, r1
- movs r1, 0xF8
- lsls r1, 13
- orrs r0, r1
- ldr r1, =0x00ffffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r1, =0xffff00ff
- ldr r0, [sp, 0x8]
- ands r0, r1
- movs r1, 0xF0
- lsls r1, 5
- orrs r0, r1
- ldr r1, =0xffffff00
- ands r0, r1
- movs r1, 0xC
- orrs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- movs r1, 0x2
- bl sub_8145354
- lsls r0, 24
- cmp r0, 0
- bne _080BF462
- b _080BF5B2
-_080BF462:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, =gUnknown_030061EC
- strb r2, [r0]
- b _080BF5B2
- .pool
-_080BF498:
- ldr r1, =0x00ffffff
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x90
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r2, =0xffffff00
- add r0, sp, 0xC
- ldr r1, [r0, 0x4]
- ands r1, r2
- movs r2, 0x12
- orrs r1, r2
- ldr r2, =0xffff00ff
- ands r1, r2
- movs r2, 0xC0
- lsls r2, 2
- orrs r1, r2
- str r1, [r0, 0x4]
- movs r1, 0x3
- bl sub_8145850
- lsls r0, 24
- cmp r0, 0
- beq _080BF4D8
- ldr r1, =gMain
- movs r3, 0x87
- lsls r3, 3
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080BF4D8:
- movs r0, 0x3
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BF5B2
- .pool
-_080BF514:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r4, 0x87
- lsls r4, 3
- adds r1, r4
- b _080BF582
- .pool
-_080BF540:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BF57A:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080BF582:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BF5B2
- .pool
-_080BF590:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF5CC
- str r1, [r0]
-_080BF5B2:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF250
-
- thumb_func_start sub_80BF5CC
-sub_80BF5CC: @ 80BF5CC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- bl sub_814545C
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- beq _080BF5EC
- movs r0, 0x1
- bl sub_80BF7FC
- b _080BF5F2
-_080BF5EC:
- movs r0, 0
- bl sub_80BF7FC
-_080BF5F2:
- ldr r1, =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _080BF624
- movs r0, 0x1
- bl sub_80BF7FC
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- bl sub_8145534
- b _080BF772
- .pool
-_080BF624:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080BF636
- b _080BF772
-_080BF636:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BF694
- movs r0, 0x15
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BF772
- .pool
-_080BF694:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080BF6B0
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _080BF700
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BF700
-_080BF6B0:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
- b _080BF772
- .pool
-_080BF700:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080BF71E
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BF772
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BF772
-_080BF71E:
- ldr r0, =gUnknown_02039B54
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BF73C
- movs r0, 0x20
- bl PlaySE
- b _080BF772
- .pool
-_080BF73C:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gMPlay_BGM
- bl m4aMPlayContinue
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BF790
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_080BF772:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF5CC
-
- thumb_func_start sub_80BF790
-sub_80BF790: @ 80BF790
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BF7F0
- bl sub_8145914
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080BF7E4
- cmp r0, 0x2
- ble _080BF7CC
- cmp r0, 0x3
- beq _080BF7EC
-_080BF7CC:
- ldr r0, =sub_80BEA24
- b _080BF7EE
- .pool
-_080BF7E4:
- ldr r0, =sub_80BF0AC
- b _080BF7EE
- .pool
-_080BF7EC:
- ldr r0, =sub_80BF82C
-_080BF7EE:
- str r0, [r4]
-_080BF7F0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF790
-
- thumb_func_start sub_80BF7FC
-sub_80BF7FC: @ 80BF7FC
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _080BF810
- ldr r1, =0x00000392
- b _080BF812
- .pool
-_080BF810:
- ldr r1, =0x000002af
-_080BF812:
- mov r0, sp
- strh r1, [r0]
- mov r0, sp
- movs r1, 0x5D
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF7FC
-
- thumb_func_start sub_80BF82C
-sub_80BF82C: @ 80BF82C
- push {r4-r7,lr}
- sub sp, 0x44
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x9
- bhi _080BF880
- lsls r0, 2
- ldr r1, =_080BF858
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BF858:
- .4byte _080BF880
- .4byte _080BF8D8
- .4byte _080BF910
- .4byte _080BF93C
- .4byte _080BF97C
- .4byte _080BF982
- .4byte _080BFA34
- .4byte _080BFAE8
- .4byte _080BFB14
- .4byte _080BFB64
-_080BF880:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BF88E
- b _080BFB94
-_080BF88E:
- ldr r4, =gUnknown_02039B4C
- ldr r0, [r4]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- ldr r1, =gUnknown_030060B4
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_80C09B0
- ldr r0, [r4]
- ldr r2, =0x0000064d
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x87
- lsls r0, 3
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080BFB94
- .pool
-_080BF8D8:
- ldr r1, =gUnknown_08DC1934
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC2E6C
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- b _080BFB4E
- .pool
-_080BF910:
- movs r0, 0xD
- bl sub_80BFCF4
- movs r0, 0x2
- movs r1, 0xD
- bl sub_80BFD7C
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064c
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- bl sub_80BC844
- b _080BFB4E
- .pool
-_080BF93C:
- ldr r1, =gText_SizeComparedTo
- add r0, sp, 0x4
- bl StringCopy
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- add r0, sp, 0x4
- bl StringAppend
- movs r0, 0x1
- add r1, sp, 0x4
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- add r0, sp, 0x4
- movs r2, 0x79
- bl sub_80BE8DC
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BF97C:
- bl ResetPaletteFade
- b _080BFB4E
-_080BF982:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bl PlayerGenderToFrontTrainerPicId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x98
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0EF8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gSprites
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r2, =gPokedexEntries
- ldr r0, =gUnknown_02039B54
- ldr r1, [r0]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r0, [r0, 0x1C]
- strh r0, [r4, 0x26]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r1, [r0, 0x1A]
- str r1, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, =gUnknown_0856E610
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BFA34:
- ldr r5, =gUnknown_02039B54
- ldr r0, [r5]
- ldrh r0, [r0]
- movs r1, 0x58
- movs r2, 0x38
- movs r3, 0x1
- bl sub_80C0E9C
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gSprites
- lsls r4, r6, 4
- adds r4, r6
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r2, =gPokedexEntries
- ldr r1, [r5]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r0, [r0, 0x18]
- strh r0, [r4, 0x26]
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r2
- ldrh r1, [r0, 0x16]
- str r1, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, =gUnknown_0856E610
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x10]
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080BFB4E
- .pool
-_080BFAE8:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BFB56
- .pool
-_080BFB14:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080BFB4E:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BFB56:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BFB94
- .pool
-_080BFB64:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080BFB94
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- strb r2, [r0]
- movs r1, 0x87
- lsls r1, 3
- adds r0, r5, r1
- strb r2, [r0]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFBB0
- str r1, [r0]
-_080BFB94:
- add sp, 0x44
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BF82C
-
- thumb_func_start sub_80BFBB0
-sub_80BFBB0: @ 80BFBB0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _080BFC10
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFC78
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080BFC5C
- .pool
-_080BFC10:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080BFC2C
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080BFC5C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080BFC5C
-_080BFC2C:
- movs r0, 0x15
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80BFC78
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_080BFC5C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFBB0
-
- thumb_func_start sub_80BFC78
-sub_80BFC78: @ 80BFC78
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BFCD0
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- bl sub_818D820
- ldrh r0, [r4, 0x12]
- bl sub_818D8F0
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064e
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080BFCB2
- cmp r0, 0x2
- beq _080BFCCC
-_080BFCB2:
- ldr r0, =sub_80BEA24
- b _080BFCCE
- .pool
-_080BFCCC:
- ldr r0, =sub_80BF250
-_080BFCCE:
- str r0, [r4]
-_080BFCD0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFC78
-
- thumb_func_start sub_80BFCDC
-sub_80BFCDC: @ 80BFCDC
- push {lr}
- ldr r1, =gUnknown_08DC2F5C
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFCDC
-
- thumb_func_start sub_80BFCF4
-sub_80BFCF4: @ 80BFCF4
- push {lr}
- ldr r1, =gUnknown_08DC2FEC
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFCF4
-
- thumb_func_start sub_80BFD0C
-sub_80BFD0C: @ 80BFD0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x1
- bl GetBgTilemapBuffer
- adds r7, r0, 0
- movs r1, 0
-_080BFD22:
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0x80
- lsls r3, 7
- cmp r1, r8
- bne _080BFD38
- movs r3, 0x80
- lsls r3, 6
-_080BFD38:
- movs r2, 0
- adds r6, r1, 0x1
- ldr r4, =0x00000fff
-_080BFD3E:
- adds r1, r5, r2
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _080BFD3E
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080BFD22
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFD0C
-
- thumb_func_start sub_80BFD7C
-sub_80BFD7C: @ 80BFD7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x1
- bl GetBgTilemapBuffer
- adds r7, r0, 0
- movs r1, 0
-_080BFD92:
- lsls r0, r1, 3
- subs r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r1, r8
- beq _080BFDA4
- cmp r1, 0x3
- bne _080BFDAA
-_080BFDA4:
- movs r3, 0x80
- lsls r3, 6
- b _080BFDAE
-_080BFDAA:
- movs r3, 0x80
- lsls r3, 7
-_080BFDAE:
- movs r2, 0
- adds r5, r1, 0x1
- ldr r4, =0x00000fff
-_080BFDB4:
- adds r1, r6, r2
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r4
- orrs r0, r3
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bls _080BFDB4
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080BFD92
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFD7C
-
- thumb_func_start CreateDexDisplayMonDataTask
-CreateDexDisplayMonDataTask: @ 80BFDF4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =sub_80BFE38
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r5, [r1, 0x20]
- lsrs r5, 16
- strh r5, [r1, 0x22]
- strh r6, [r1, 0x24]
- lsrs r6, 16
- strh r6, [r1, 0x26]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CreateDexDisplayMonDataTask
-
- thumb_func_start sub_80BFE38
-sub_80BFE38: @ 80BFE38
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0xA]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080BFE84
- lsls r0, 2
- ldr r1, =_080BFE68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BFE68:
- .4byte _080BFE84
- .4byte _080BFF0C
- .4byte _080BFF78
- .4byte _080BFF82
- .4byte _080BFFA8
- .4byte _080C0000
- .4byte _080C0044
-_080BFE84:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BFE92
- b _080C0074
-_080BFE92:
- ldr r1, =gUnknown_030060B4
- ldr r0, =gMain
- ldr r0, [r0, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 1
- bl sub_80C09B0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856E668
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856E670
- bl InitWindows
- bl DeactivateAllTextPrinters
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _080C0074
- .pool
-_080BFF0C:
- ldr r1, =gUnknown_08DC1934
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gUnknown_08DC3080
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- bl sub_80C0D30
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- bl ResetPaletteFade
- movs r0, 0
- bl sub_80BC844
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C0074
- .pool
-_080BFF78:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- b _080C0038
-_080BFF82:
- bl IsNationalPokedexEnabled
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80C020C
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C002E
-_080BFFA8:
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80C0E9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSprites
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gUnknown_030060B4
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0xE]
- b _080C0038
- .pool
-_080C0000:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080C002E:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
-_080C0038:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C0074
- .pool
-_080C0044:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080C0074
- adds r0, r4, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0xC]
- ldr r1, =sub_80C0088
- str r1, [r0]
-_080C0074:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BFE38
-
- thumb_func_start sub_80C0088
-sub_80C0088: @ 80C0088
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080C00E8
- ldr r0, =0x0000ffff
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r3, =gSprites
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r2, =sub_80C01CC
- str r2, [r0]
- ldr r0, =blockset_load_palette_to_gpu
- str r0, [r1]
- b _080C011E
- .pool
-_080C00E8:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- adds r1, 0x1
- strh r1, [r0, 0xC]
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- beq _080C0114
- ldr r0, =gUnknown_08DC16F6
- movs r1, 0x31
- movs r2, 0xE
- bl LoadPalette
- b _080C011E
- .pool
-_080C0114:
- ldr r0, =gUnknown_08DC1756
- movs r1, 0x31
- movs r2, 0xE
- bl LoadPalette
-_080C011E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0088
-
- thumb_func_start blockset_load_palette_to_gpu
-blockset_load_palette_to_gpu: @ 80C012C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C01BA
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl FreeAllWindowBuffers
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C015A
- bl Free
-_080C015A:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C0168
- bl Free
-_080C0168:
- ldr r0, =gTasks
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x22]
- lsls r1, 16
- ldrh r2, [r4, 0x20]
- orrs r1, r2
- ldrh r2, [r4, 0x26]
- lsls r2, 16
- ldrh r3, [r4, 0x24]
- orrs r2, r3
- ldr r5, =gSprites
- movs r3, 0xE
- ldrsh r4, [r4, r3]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r3, 0x5]
- lsrs r4, 4
- bl GetFrontSpritePalFromSpeciesAndPersonality
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r4, r1
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- bl DestroyTask
-_080C01BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end blockset_load_palette_to_gpu
-
- thumb_func_start sub_80C01CC
-sub_80C01CC: @ 80C01CC
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _080C01DE
- adds r0, r2, 0x2
- strh r0, [r1, 0x20]
-_080C01DE:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _080C01EC
- subs r0, r2, 0x2
- strh r0, [r1, 0x20]
-_080C01EC:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x4F
- bgt _080C01FA
- adds r0, r2, 0x1
- strh r0, [r1, 0x22]
-_080C01FA:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x50
- ble _080C0208
- subs r0, r2, 0x1
- strh r0, [r1, 0x22]
-_080C0208:
- pop {r0}
- bx r0
- thumb_func_end sub_80C01CC
-
- thumb_func_start sub_80C020C
-sub_80C020C: @ 80C020C
- push {r4-r7,lr}
- sub sp, 0x30
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- cmp r3, 0
- beq _080C0234
- ldr r4, =gText_PokedexRegistration
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_80BE8DC
-_080C0234:
- cmp r5, 0
- bne _080C024C
- lsls r4, r6, 16
- lsrs r0, r4, 16
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r5, r0, 16
- b _080C0250
- .pool
-_080C024C:
- adds r5, r6, 0
- lsls r4, r6, 16
-_080C0250:
- ldr r1, =gText_UnkCtrlF908Clear01
- mov r0, sp
- bl StringCopy
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x60
- movs r2, 0x19
- bl sub_80BE8DC
- lsrs r0, r4, 16
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080C028C
- movs r0, 0xB
- muls r1, r0
- ldr r0, =gSpeciesNames
- adds r0, r1, r0
- b _080C028E
- .pool
-_080C028C:
- ldr r0, =gUnknown_0856E688
-_080C028E:
- movs r1, 0x84
- movs r2, 0x19
- bl sub_80BE8DC
- cmp r7, 0
- beq _080C02AC
- add r4, sp, 0x10
- adds r0, r6, 0
- adds r1, r4, 0
- bl CopyMonCategoryText
- adds r0, r4, 0
- b _080C02AE
- .pool
-_080C02AC:
- ldr r0, =gText_5MarksPokemon
-_080C02AE:
- movs r1, 0x64
- movs r2, 0x29
- bl sub_80BE8DC
- ldr r0, =gText_HTHeight
- movs r1, 0x60
- movs r2, 0x39
- bl sub_80BE8DC
- ldr r0, =gText_WTWeight
- movs r1, 0x60
- movs r2, 0x49
- bl sub_80BE8DC
- cmp r7, 0
- beq _080C02FC
- ldr r0, =gPokedexEntries
- lsls r4, r6, 5
- adds r4, r0
- ldrh r0, [r4, 0xC]
- movs r1, 0x81
- movs r2, 0x39
- bl sub_80C0354
- ldrh r0, [r4, 0xE]
- movs r1, 0x81
- movs r2, 0x49
- bl sub_80C0460
- b _080C0310
- .pool
-_080C02FC:
- ldr r0, =gText_UnkHeight
- movs r1, 0x81
- movs r2, 0x39
- bl sub_80BE8DC
- ldr r0, =gText_UnkWeight
- movs r1, 0x81
- movs r2, 0x49
- bl sub_80BE8DC
-_080C0310:
- cmp r7, 0
- beq _080C032C
- ldr r0, =gPokedexEntries
- lsls r1, r6, 5
- adds r0, 0x10
- adds r1, r0
- ldr r4, [r1]
- b _080C032E
- .pool
-_080C032C:
- ldr r4, =gUnknown_0855D30C
-_080C032E:
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xF0
- bl GetStringCenterAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x5F
- bl sub_80BE8DC
- add sp, 0x30
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C020C
-
- thumb_func_start sub_80C0354
-sub_80C0354: @ 80C0354
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, =0x00002710
- muls r0, r1
- movs r1, 0xFE
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _080C0386
- adds r7, 0xA
-_080C0386:
- adds r0, r7, 0
- movs r1, 0x78
- bl __udivsi3
- adds r6, r0, 0
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 3
- subs r0, r7, r0
- movs r1, 0xA
- bl __udivsi3
- adds r7, r0, 0
- mov r1, sp
- movs r0, 0xFC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x13
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- cmp r2, 0
- bne _080C03D4
- mov r1, sp
- adds r1, 0x2
- movs r0, 0x12
- strb r0, [r1]
- movs r5, 0x4
- adds r1, 0x1
- adds r0, r6, 0
- adds r0, 0xA1
- strb r0, [r1]
- b _080C03F4
- .pool
-_080C03D4:
- mov r1, sp
- adds r1, 0x2
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x5
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
-_080C03F4:
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- add r1, sp
- movs r0, 0xB4
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- mov r0, sp
- adds r4, r0, r2
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, sp
- adds r4, r1, r6
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r2, r1, r5
- movs r1, 0xB2
- strb r1, [r2]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r9
- mov r2, r8
- bl sub_80BE8DC
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0354
-
- thumb_func_start sub_80C0460
-sub_80C0460: @ 80C0460
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- ldr r5, =0x000186a0
- muls r0, r5
- ldr r1, =0x000011b8
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _080C0494
- adds r7, 0xA
-_080C0494:
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r0, r7, 0
- adds r1, r5, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C04C0
- movs r6, 0x1
- mov r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C04C6
- .pool
-_080C04C0:
- movs r1, 0x1
- mov r8, r1
- movs r6, 0x1
-_080C04C6:
- ldr r1, =0x000186a0
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- mov r4, sp
- adds r4, 0x1
- ldr r1, =0x00002710
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C0504
- mov r2, r8
- cmp r2, 0
- bne _080C0504
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- add r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C050E
- .pool
-_080C0504:
- movs r3, 0x1
- mov r8, r3
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080C050E:
- ldr r1, =0x00002710
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- mov r0, sp
- adds r4, r0, r6
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r7, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080C054C
- mov r1, r8
- cmp r1, 0
- bne _080C054C
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- add r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C0552
- .pool
-_080C054C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080C0552:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r7, 0
- bl __umodsi3
- adds r7, r0, 0
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r6, 0
- mov r2, sp
- adds r4, r2, r1
- adds r0, r7, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- movs r3, 0
- mov r9, r3
- strb r0, [r4]
- adds r0, r7, 0
- movs r1, 0x64
- bl __umodsi3
- adds r7, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r1, r6, 0
- mov r2, sp
- adds r0, r2, r5
- movs r3, 0xAD
- mov r8, r3
- mov r2, r8
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r6, 0
- mov r3, sp
- adds r4, r3, r1
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r1, r6, 0
- mov r2, sp
- adds r0, r2, r5
- mov r3, r9
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- add r1, sp
- movs r0, 0xE0
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r3, r6, 0
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0xD6
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- mov r0, sp
- adds r1, r0, r3
- movs r0, 0xE7
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r3, sp
- adds r1, r3, r2
- mov r2, r8
- strb r2, [r1]
- adds r1, r3, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r10
- ldr r2, [sp, 0x10]
- bl sub_80BE8DC
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0460
-
- thumb_func_start sub_80C0620
-sub_80C0620: @ 80C0620
- lsls r0, 16
- lsrs r0, 11
- ldr r1, =gPokedexEntries
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_80C0620
-
- thumb_func_start GetPokedexHeightWeight
-GetPokedexHeightWeight: @ 80C0630
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _080C0646
- cmp r1, 0x1
- beq _080C0654
- movs r0, 0x1
- b _080C065C
-_080C0646:
- ldr r0, =gPokedexEntries
- lsls r1, r2, 5
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _080C065C
- .pool
-_080C0654:
- ldr r0, =gPokedexEntries
- lsls r1, r2, 5
- adds r1, r0
- ldrh r0, [r1, 0xE]
-_080C065C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetPokedexHeightWeight
-
- thumb_func_start GetSetPokedexFlag
-@ u8 GetSetPokedexFlag(u16 nationalPokedexNum, u8 op)
-GetSetPokedexFlag: @ 80C0664
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- adds r3, r2, 0
- ldr r1, =0xffff0000
- adds r0, r1
- lsrs r1, r0, 16
- lsrs r0, 19
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r5, r0, 24
- movs r6, 0
- cmp r2, 0x1
- beq _080C06FC
- cmp r2, 0x1
- bgt _080C069C
- cmp r2, 0
- beq _080C06AA
- b _080C07E8
- .pool
-_080C069C:
- cmp r3, 0x2
- bne _080C06A2
- b _080C079C
-_080C06A2:
- cmp r3, 0x3
- bne _080C06A8
- b _080C07D8
-_080C06A8:
- b _080C07E8
-_080C06AA:
- ldr r1, =gSaveBlock2Ptr
- ldr r0, [r1]
- adds r0, 0x5C
- adds r0, r4
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- bne _080C06BE
- b _080C07E8
-_080C06BE:
- ldr r0, =gSaveBlock1Ptr
- ldr r3, [r0]
- ldr r6, =0x00000988
- adds r1, r3, r6
- adds r1, r4
- ldrb r1, [r1]
- ands r1, r5
- adds r6, r0, 0
- cmp r2, r1
- bne _080C06E0
- ldr r1, =0x00003b24
- adds r0, r3, r1
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- beq _080C073E
-_080C06E0:
- ldr r1, [r7]
- adds r1, 0x5C
- adds r1, r4
- mvns r3, r5
- b _080C076A
- .pool
-_080C06FC:
- ldr r1, =gSaveBlock2Ptr
- ldr r3, [r1]
- adds r0, r3, 0
- adds r0, 0x28
- adds r0, r4
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- beq _080C07E8
- adds r0, r3, 0
- adds r0, 0x5C
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- ldr r6, =gSaveBlock1Ptr
- cmp r2, r0
- bne _080C0754
- ldr r1, [r6]
- ldr r3, =0x00000988
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _080C0754
- ldr r3, =0x00003b24
- adds r0, r1, r3
- adds r0, r4
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _080C0754
-_080C073E:
- movs r6, 0x1
- b _080C07E8
- .pool
-_080C0754:
- ldr r1, [r7]
- adds r1, 0x28
- adds r1, r4
- mvns r3, r5
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r7]
- adds r1, 0x5C
- adds r1, r4
-_080C076A:
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r6]
- ldr r0, =0x00000988
- adds r1, r0
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r6]
- ldr r1, =0x00003b24
- adds r0, r1
- adds r0, r4
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- movs r6, 0
- b _080C07E8
- .pool
-_080C079C:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x5C
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r3, =gSaveBlock1Ptr
- ldr r1, [r3]
- ldr r0, =0x00000988
- adds r1, r0
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- ldr r3, =0x00003b24
- adds r1, r3
- b _080C07DE
- .pool
-_080C07D8:
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0x28
-_080C07DE:
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
-_080C07E8:
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetSetPokedexFlag
-
- thumb_func_start pokedex_count
-pokedex_count: @ 80C07F4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r7, =0x00000181
-_080C0800:
- cmp r6, 0
- beq _080C0810
- cmp r6, 0x1
- beq _080C081A
- adds r4, r0, 0x1
- b _080C0832
- .pool
-_080C0810:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _080C0822
-_080C081A:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C0822:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0832
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C0832:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, r7
- bls _080C0800
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end pokedex_count
-
- thumb_func_start sub_80C0844
-sub_80C0844: @ 80C0844
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_080C084E:
- cmp r6, 0
- beq _080C085A
- cmp r6, 0x1
- beq _080C086C
- adds r4, r0, 0x1
- b _080C088C
-_080C085A:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- b _080C087C
-_080C086C:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C087C:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C088C
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C088C:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bls _080C084E
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0844
-
- thumb_func_start sub_80C089C
-sub_80C089C: @ 80C089C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_080C08A6:
- cmp r6, 0
- beq _080C08B2
- cmp r6, 0x1
- beq _080C08BC
- adds r4, r0, 0x1
- b _080C08D4
-_080C08B2:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _080C08C4
-_080C08BC:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_080C08C4:
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C08D4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C08D4:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0x96
- bls _080C08A6
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C089C
-
- thumb_func_start sub_80C08E4
-sub_80C08E4: @ 80C08E4
- push {r4,lr}
- movs r0, 0
-_080C08E8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C0908
- movs r0, 0
- b _080C0910
-_080C0908:
- adds r0, r4, 0
- cmp r0, 0xC7
- bls _080C08E8
- movs r0, 0x1
-_080C0910:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C08E4
-
- thumb_func_start sub_80C0918
-sub_80C0918: @ 80C0918
- push {r4,lr}
- movs r0, 0
-_080C091C:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C0934
- movs r0, 0
- b _080C093C
-_080C0934:
- adds r0, r4, 0
- cmp r0, 0x95
- bls _080C091C
- movs r0, 0x1
-_080C093C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0918
-
- thumb_func_start sub_80C0944
-sub_80C0944: @ 80C0944
- push {r4,r5,lr}
- movs r0, 0
-_080C0948:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0996
- adds r0, r4, 0
- cmp r0, 0x95
- bls _080C0948
- movs r0, 0x97
-_080C0964:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- beq _080C0996
- adds r0, r4, 0
- cmp r0, 0xF7
- bls _080C0964
- movs r0, 0xFB
- ldr r5, =0x0000017f
-_080C0982:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl GetSetPokedexFlag
- lsls r0, 24
- cmp r0, 0
- bne _080C09A0
-_080C0996:
- movs r0, 0
- b _080C09A8
- .pool
-_080C09A0:
- adds r0, r4, 0
- cmp r0, r5
- bls _080C0982
- movs r0, 0x1
-_080C09A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0944
-
- thumb_func_start sub_80C09B0
-sub_80C09B0: @ 80C09B0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C09E2
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
-_080C09E2:
- movs r1, 0x80
- lsls r1, 2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A0C
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
-_080C0A0C:
- movs r1, 0x80
- lsls r1, 3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A36
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
-_080C0A36:
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080C0A60
- movs r0, 0
- bl ClearGpuRegBits
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
-_080C0A60:
- movs r1, 0x80
- lsls r1, 5
- ands r5, r1
- cmp r5, 0
- bne _080C0A7E
- movs r0, 0
- bl ClearGpuRegBits
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x8
- strb r0, [r1]
-_080C0A7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C09B0
-
- thumb_func_start sub_80C0A88
-sub_80C0A88: @ 80C0A88
- push {r4-r6,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- add r4, sp, 0x14
- movs r6, 0
- strb r6, [r4]
- adds r5, r4, 0
- movs r4, 0xF
- strb r4, [r5, 0x1]
- movs r4, 0x3
- strb r4, [r5, 0x2]
- str r6, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- subs r4, 0x4
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x1
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0A88
-
- thumb_func_start sub_80C0AC4
-sub_80C0AC4: @ 80C0AC4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- mov r9, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r6, 0
- mov r2, r8
- mov r3, r9
- bl sub_80C0A88
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0AC4
-
- thumb_func_start sub_80C0B44
-sub_80C0B44: @ 80C0B44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r4, 0
- movs r2, 0xFF
-_080C0B62:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080C0B62
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- adds r5, r0, 0
- cmp r5, 0
- beq _080C0BC0
- movs r4, 0
- ldr r2, =gSpeciesNames
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C0BD4
- adds r3, r2, 0
- adds r2, r1, 0
-_080C0B98:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C0BD4
- cmp r4, 0x9
- bls _080C0B98
- b _080C0BD4
- .pool
-_080C0BC0:
- movs r4, 0
- movs r1, 0xAE
-_080C0BC4:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080C0BC4
-_080C0BD4:
- mov r0, r8
- mov r1, sp
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C0A88
- adds r0, r4, 0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0B44
-
- thumb_func_start sub_80C0BF0
-sub_80C0BF0: @ 80C0BF0
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r5, r3, 24
- movs r2, 0
- movs r1, 0
-_080C0C08:
- mov r3, sp
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _080C0C08
- movs r3, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080C0C32
-_080C0C20:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C0C32
- cmp r3, 0xA
- bls _080C0C20
-_080C0C32:
- movs r2, 0
- cmp r2, r3
- bcs _080C0C52
-_080C0C38:
- adds r0, r2, 0
- adds r0, 0xB
- subs r0, r3
- mov r7, sp
- adds r1, r7, r0
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080C0C38
-_080C0C52:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0xB]
- adds r0, r6, 0
- mov r2, r12
- adds r3, r5, 0
- bl sub_80C0A88
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0BF0
-
- thumb_func_start sub_80C0C6C
-sub_80C0C6C: @ 80C0C6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- movs r5, 0
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080C0CA2
- mov r1, sp
- movs r0, 0x77
- strb r0, [r1]
- b _080C0CAA
-_080C0CA2:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x1
-_080C0CAA:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080C0CD0
- cmp r5, 0
- bne _080C0CD0
- mov r1, sp
- movs r0, 0x77
- b _080C0CD4
-_080C0CD0:
- mov r1, sp
- adds r0, 0xA1
-_080C0CD4:
- strb r0, [r1, 0x1]
- mov r5, sp
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xAD
- strb r0, [r1, 0x3]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, r8
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C0A88
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C0C6C
-
- thumb_func_start sub_80C0D30
-sub_80C0D30: @ 80C0D30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, =gMonFootprintTable
- adds r0, r1, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 14
- adds r0, r4
- ldr r0, [r0]
- mov r12, r0
- movs r5, 0
- movs r1, 0
- movs r7, 0x2
-_080C0D5A:
- mov r2, r12
- adds r0, r2, r1
- ldrb r3, [r0]
- movs r4, 0
- adds r6, r1, 0x1
-_080C0D64:
- lsls r2, r4, 1
- adds r1, r3, 0
- asrs r1, r2
- movs r0, 0x1
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- ands r1, r7
- adds r0, r7, 0
- lsls r0, r2
- ands r0, r3
- cmp r0, 0
- beq _080C0D84
- movs r0, 0x20
- orrs r1, r0
-_080C0D84:
- mov r2, sp
- adds r0, r2, r5
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080C0D64
- lsls r0, r6, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _080C0D5A
- mov r0, r8
- mov r1, sp
- movs r2, 0x80
- movs r3, 0
- bl CopyToWindowPixelBuffer
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0D30
-
- thumb_func_start sub_80C0DC0
-sub_80C0DC0: @ 80C0DC0
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r0, 5
- ldr r2, =0x06000232
- adds r3, r0, r2
- movs r4, 0xF0
- lsls r4, 8
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000234
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000272
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, =0x06000274
- adds r0, r2
- adds r4, 0x1
- adds r1, r4
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C0DC0
-
- thumb_func_start sub_80C0E0C
-sub_80C0E0C: @ 80C0E0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r4, 0x1
- beq _080C0E38
- cmp r4, 0x1
- bgt _080C0E2E
- cmp r4, 0
- beq _080C0E40
- b _080C0E60
-_080C0E2E:
- cmp r5, 0x2
- beq _080C0E52
- cmp r5, 0x3
- beq _080C0E46
- b _080C0E60
-_080C0E38:
- cmp r0, r2
- bls _080C0E60
- subs r0, 0x1
- b _080C0E58
-_080C0E40:
- cmp r0, r3
- bcs _080C0E60
- b _080C0E56
-_080C0E46:
- cmp r0, r2
- bls _080C0E4E
- subs r0, 0x1
- b _080C0E58
-_080C0E4E:
- adds r0, r3, 0
- b _080C0E60
-_080C0E52:
- cmp r0, r3
- bcs _080C0E5E
-_080C0E56:
- adds r0, 0x1
-_080C0E58:
- lsls r0, 16
- lsrs r0, 16
- b _080C0E60
-_080C0E5E:
- adds r0, r2, 0
-_080C0E60:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0E0C
-
- thumb_func_start sub_80C0E68
-sub_80C0E68: @ 80C0E68
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xC9
- beq _080C0E88
- movs r0, 0x9A
- lsls r0, 1
- cmp r1, r0
- bne _080C0E94
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- b _080C0E96
- .pool
-_080C0E88:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r0, [r0, 0x1C]
- b _080C0E96
- .pool
-_080C0E94:
- movs r0, 0
-_080C0E96:
- pop {r1}
- bx r1
- thumb_func_end sub_80C0E68
-
- thumb_func_start sub_80C0E9C
-sub_80C0E9C: @ 80C0E9C
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- bl NationalPokedexNumToSpecies
- adds r1, r0, 0
- adds r0, r1, 0
- str r1, [sp, 0x10]
- bl sub_80C0E68
- adds r2, r0, 0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- lsls r6, 24
- lsrs r6, 24
- str r6, [sp, 0x8]
- ldr r0, =0x0000ffff
- str r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- adds r0, r1, 0
- movs r1, 0x8
- movs r3, 0x1
- bl sub_818D7D8
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0E9C
-
- thumb_func_start sub_80C0EF8
-sub_80C0EF8: @ 80C0EF8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- ldr r1, =0x0000ffff
- str r1, [sp, 0x4]
- movs r1, 0x1
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_818D8AC
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0EF8
-
- thumb_func_start sub_80C0F30
-sub_80C0F30: @ 80C0F30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x8]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- bl sub_80BC8D4
- movs r5, 0
- movs r6, 0
- ldr r4, =0x00000181
- ldr r3, =gUnknown_02039B4C
-_080C0F6A:
- ldr r2, [r3]
- lsls r0, r5, 2
- adds r1, r2, r0
- ldrb r0, [r1, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _080C0F86
- lsls r0, r6, 2
- adds r0, r2, r0
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C0F86:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r4
- bls _080C0F6A
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- adds r1, r6, 0
- strh r6, [r0]
- cmp r7, 0xFF
- beq _080C103C
- movs r5, 0
- lsls r0, r1, 16
- movs r6, 0
- cmp r0, 0
- beq _080C1032
- lsls r7, 2
- ldr r0, =gUnknown_0856ED08
- adds r0, 0x3
- adds r0, r7, r0
- str r0, [sp, 0xC]
- ldr r0, =gUnknown_0856ED08
- adds r0, r7
- mov r9, r0
-_080C0FBA:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gSpeciesNames
- movs r0, 0xB
- muls r0, r2
- adds r0, r1
- ldrb r2, [r0]
- adds r3, r2, 0
- mov r0, r9
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080C0FF2
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, =gUnknown_0856ED08
- adds r1, 0x1
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r0, r1
- cmp r2, r0
- blt _080C100A
-_080C0FF2:
- ldr r0, =gUnknown_0856ED08
- adds r0, 0x2
- adds r0, r7, r0
- ldrb r2, [r0]
- cmp r3, r2
- bcc _080C101E
- ldrb r1, [r0]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- adds r1, r0
- cmp r3, r1
- bge _080C101E
-_080C100A:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C101E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C0FBA
-_080C1032:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C103C:
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- beq _080C10AC
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C10A2
- adds r7, r1, 0
- ldr r0, =gBaseStats
- mov r8, r0
-_080C105A:
- ldr r0, [r7]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x19]
- lsls r0, 25
- lsrs r0, 25
- ldr r1, [sp, 0x4]
- cmp r1, r0
- bne _080C1090
- ldr r0, [r7]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C1090:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r7]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C105A
-_080C10A2:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C10AC:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- bne _080C10C2
- mov r1, r10
- cmp r1, 0xFF
- bne _080C10BA
- b _080C11DE
-_080C10BA:
- mov r2, r10
- str r2, [sp, 0x8]
- movs r0, 0xFF
- mov r10, r0
-_080C10C2:
- mov r1, r10
- cmp r1, 0xFF
- bne _080C1158
- movs r5, 0
- movs r6, 0
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C11D4
- adds r3, r2, 0
- mov r7, sp
- mov r8, r2
-_080C10E0:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x2]
- lsls r0, 30
- cmp r0, 0
- bge _080C112A
- ldrh r0, [r1]
- str r3, [sp, 0x10]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r3, [sp, 0x10]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- beq _080C1118
- cmp r0, r2
- bne _080C112A
-_080C1118:
- ldr r0, [r3]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C112A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, r8
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C10E0
- b _080C11D4
- .pool
-_080C1158:
- movs r5, 0
- movs r6, 0
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080C11D4
- mov r7, sp
-_080C116C:
- ldr r0, [r1]
- lsls r1, r5, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x2]
- lsls r0, 30
- adds r4, r1, 0
- cmp r0, 0
- bge _080C11C0
- ldrh r0, [r2]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, =gBaseStats
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bne _080C11A2
- cmp r0, r10
- beq _080C11AC
-_080C11A2:
- cmp r1, r10
- bne _080C11C0
- ldr r1, [sp, 0x8]
- cmp r0, r1
- bne _080C11C0
-_080C11AC:
- ldr r2, =gUnknown_02039B4C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080C11C0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _080C116C
-_080C11D4:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r0, r2
- strh r6, [r0]
-_080C11DE:
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x0000060c
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C1232
- adds r5, r0, 0
- ldr r0, =0x00000181
- cmp r5, r0
- bhi _080C1232
- ldr r4, =gUnknown_02039B4C
- movs r1, 0x2
- negs r1, r1
- mov r10, r1
- movs r2, 0x3
- negs r2, r2
- mov r9, r2
- mov r8, r0
- ldr r0, =0x0000ffff
- adds r7, r0, 0
-_080C1208:
- ldr r1, [r4]
- lsls r3, r5, 2
- adds r1, r3
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r10
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bls _080C1208
-_080C1232:
- adds r0, r6, 0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C0F30
-
- thumb_func_start sub_80C1258
-sub_80C1258: @ 80C1258
- push {lr}
- ldr r0, =sub_80C12E0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C1258
-
- thumb_func_start sub_80C1270
-sub_80C1270: @ 80C1270
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r1, 0
- adds r3, r2, 0
- add r1, sp, 0x14
- movs r4, 0
- strb r4, [r1]
- adds r2, r1, 0
- movs r1, 0xF
- strb r1, [r2, 0x1]
- movs r1, 0x2
- strb r1, [r2, 0x2]
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- str r4, [sp, 0x4]
- str r2, [sp, 0x8]
- subs r1, 0x3
- str r1, [sp, 0xC]
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParametrized2
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1270
-
- thumb_func_start sub_80C12B0
-sub_80C12B0: @ 80C12B0
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl FillWindowPixelRect
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C12B0
-
- thumb_func_start sub_80C12E0
-sub_80C12E0: @ 80C12E0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bhi _080C1320
- lsls r0, 2
- ldr r1, =_080C130C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C130C:
- .4byte _080C1320
- .4byte _080C1414
- .4byte _080C1480
- .4byte _080C14A0
- .4byte _080C14F0
-_080C1320:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080C1332
- b _080C1516
-_080C1332:
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000064a
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0
- bl sub_80C09B0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0856EFF8
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- adds r0, r4, 0
- bl AllocZeroed
- adds r1, r0, 0
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_0856F008
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- bl PutWindowTilemap
- ldr r1, =gUnknown_08DC3304
- movs r2, 0x80
- lsls r2, 6
- str r5, [sp]
- movs r0, 0x3
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C13E4
- ldr r1, =gUnknown_08DC3A0C
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- b _080C13F0
- .pool
-_080C13E4:
- ldr r1, =gUnknown_08DC3870
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
-_080C13F0:
- ldr r0, =gUnknown_08DC3286
- movs r1, 0x1
- movs r2, 0x7E
- bl LoadPalette
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080C1516
- .pool
-_080C1414:
- ldr r0, =gUnknown_0855D26C
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0855D27C
- bl LoadSpritePalettes
- adds r0, r4, 0
- bl sub_80C2594
- movs r1, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 3
- ldr r5, =gTasks + 0x8
- movs r3, 0
-_080C1432:
- lsls r0, r1, 1
- adds r0, r2
- adds r0, r5
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _080C1432
- adds r0, r4, 0
- bl sub_80C23B8
- movs r0, 0
- bl sub_80C2040
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C14DA
- .pool
-_080C1480:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- b _080C14E2
- .pool
-_080C14A0:
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl HideBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
-_080C14DA:
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
-_080C14E2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080C1516
- .pool
-_080C14F0:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080C1516
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1570
- str r1, [r0]
- movs r1, 0x87
- lsls r1, 3
- adds r0, r3, r1
- strb r2, [r0]
-_080C1516:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C12E0
-
- thumb_func_start sub_80C152C
-sub_80C152C: @ 80C152C
- push {lr}
- bl FreeAllWindowBuffers
- movs r0, 0
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C1540
- bl Free
-_080C1540:
- movs r0, 0x1
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C154E
- bl Free
-_080C154E:
- movs r0, 0x2
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C155C
- bl Free
-_080C155C:
- movs r0, 0x3
- bl GetBgTilemapBuffer
- cmp r0, 0
- beq _080C156A
- bl Free
-_080C156A:
- pop {r0}
- bx r0
- thumb_func_end sub_80C152C
-
- thumb_func_start sub_80C1570
-sub_80C1570: @ 80C1570
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x8]
- bl sub_80C2040
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_80C15B0
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1570
-
- thumb_func_start sub_80C15B0
-sub_80C15B0: @ 80C15B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C15E4
- movs r0, 0x3
- bl PlaySE
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1D38
- str r0, [r1]
- b _080C16BC
- .pool
-_080C15E4:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1640
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _080C161C
- cmp r4, 0x1
- bgt _080C160C
- cmp r4, 0
- beq _080C1612
- b _080C16BC
- .pool
-_080C160C:
- cmp r4, 0x2
- beq _080C1630
- b _080C16BC
-_080C1612:
- movs r0, 0x15
- bl PlaySE
- strh r4, [r5, 0xA]
- b _080C1626
-_080C161C:
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x4
- strh r0, [r5, 0xA]
-_080C1626:
- ldr r0, =sub_80C16CC
- str r0, [r5]
- b _080C16BC
- .pool
-_080C1630:
- movs r0, 0x3
- bl PlaySE
- ldr r0, =sub_80C1D38
- str r0, [r5]
- b _080C16BC
- .pool
-_080C1640:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C167C
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _080C167C
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2040
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C167C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C16BC
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bgt _080C16BC
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2040
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C16BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C15B0
-
- thumb_func_start sub_80C16CC
-sub_80C16CC: @ 80C16CC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gTasks
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0xA]
- bl sub_80C2064
- adds r0, r4, 0
- bl sub_80C20F8
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, =sub_80C170C
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C16CC
-
- thumb_func_start sub_80C170C
-sub_80C170C: @ 80C170C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080C1740
- bl IsNationalPokedexEnabled
- ldr r6, =gUnknown_0856EDB8
- cmp r0, 0
- bne _080C174C
- ldr r6, =gUnknown_0856EDF0
- b _080C174C
- .pool
-_080C1740:
- bl IsNationalPokedexEnabled
- ldr r6, =gUnknown_0856ED9C
- cmp r0, 0
- bne _080C174C
- ldr r6, =gUnknown_0856EDD4
-_080C174C:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080C178C
- movs r0, 0x17
- bl PlaySE
- adds r0, r5, 0
- bl sub_80C23B8
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1570
- str r0, [r1]
- b _080C1994
- .pool
-_080C178C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1870
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _080C1860
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080C183C
- ldr r1, =gUnknown_02039B52
- movs r0, 0x40
- strb r0, [r1]
- ldr r7, =gUnknown_02039B4C
- ldr r1, [r7]
- ldr r0, =0x0000062a
- adds r2, r1, r0
- movs r0, 0x40
- strh r0, [r2]
- ldr r0, =gUnknown_02039B50
- strh r3, [r0]
- movs r2, 0xC2
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80C2318
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- strb r0, [r1, 0x19]
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C17E8
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0x19]
-_080C17E8:
- ldr r0, [r7]
- ldr r1, [r4]
- ldrb r1, [r1, 0x19]
- ldr r2, =0x00000614
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80C2318
- ldr r1, [r4]
- strb r0, [r1, 0x18]
- ldr r0, [r7]
- ldr r1, [r4]
- ldrb r1, [r1, 0x18]
- movs r2, 0xC3
- lsls r2, 3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0x3
- bl PlaySE
- ldr r0, =sub_80C1D38
- str r0, [r6]
- b _080C1994
- .pool
-_080C183C:
- ldr r0, =gText_SearchingPleaseWait
- bl sub_80C2618
- ldr r0, =sub_80C19A4
- str r0, [r6]
- movs r0, 0x70
- bl PlaySE
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _080C1994
- .pool
-_080C1860:
- movs r0, 0x15
- bl PlaySE
- ldr r0, =sub_80C1B64
- str r0, [r6]
- b _080C1994
- .pool
-_080C1870:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080C18B6
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080C18B6
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C18B6:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080C1900
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _080C1900
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C1900:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C194A
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- cmp r0, 0xFF
- beq _080C194A
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x2]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C194A:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1994
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- cmp r0, 0xFF
- beq _080C1994
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x3]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_80C2064
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
-_080C1994:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C170C
-
- thumb_func_start sub_80C19A4
-sub_80C19A4: @ 80C19A4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80C2318
- mov r10, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80C2318
- mov r9, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_80C2318
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C2318
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80C2318
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80C2318
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r9
- mov r2, r8
- adds r3, r6, 0
- bl sub_80C0F30
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1A4C
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C19A4
-
- thumb_func_start sub_80C1A4C
-sub_80C1A4C: @ 80C1A4C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080C1AA6
- ldr r0, =gUnknown_02039B4C
- ldr r0, [r0]
- ldr r1, =0x0000060c
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C1A84
- movs r0, 0x1F
- bl PlaySE
- ldr r0, =gText_SearchCompleted
- bl sub_80C2618
- b _080C1A90
- .pool
-_080C1A84:
- movs r0, 0x20
- bl PlaySE
- ldr r0, =gUnknown_085E8785
- bl sub_80C2618
-_080C1A90:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C1AB8
- str r0, [r1]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
-_080C1AA6:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1A4C
-
- thumb_func_start sub_80C1AB8
-sub_80C1AB8: @ 80C1AB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1B54
- ldr r5, =gUnknown_02039B4C
- ldr r1, [r5]
- ldr r3, =0x0000060c
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080C1B40
- ldr r0, =0x0000064e
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_80C2318
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =0x00000612
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80C2318
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =0x00000616
- adds r1, r3
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1D38
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080C1B54
- .pool
-_080C1B40:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80C16CC
- str r0, [r1]
- movs r0, 0x17
- bl PlaySE
-_080C1B54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1AB8
-
- thumb_func_start sub_80C1B64
-sub_80C1B64: @ 80C1B64
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- bl sub_80C21D4
- ldr r2, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r2
- ldrb r0, [r6, 0xA]
- adds r2, 0x8
- adds r1, r2
- ldr r2, =gUnknown_0856EFC8
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- lsls r4, 1
- adds r4, r1, r4
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r4]
- strh r0, [r6, 0x24]
- ldrh r0, [r1]
- strh r0, [r6, 0x26]
- adds r0, r5, 0
- bl sub_80C2294
- ldrh r0, [r4]
- bl sub_80C2650
- ldr r0, =sub_80C1BCC
- str r0, [r6]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1B64
-
- thumb_func_start sub_80C1BCC
-sub_80C1BCC: @ 80C1BCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, =gTasks
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r5, r2, r3
- ldrb r1, [r5, 0xA]
- ldr r0, =gUnknown_0856EFC8
- lsls r1, 3
- adds r1, r0
- ldr r0, [r1]
- mov r8, r0
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r4, r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r6, r2, r0
- ldrh r0, [r1, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gMain
- mov r12, r0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C1C30
- movs r0, 0x15
- bl PlaySE
- bl sub_80C267C
- movs r0, 0x1
- bl sub_80C21D4
- b _080C1C50
- .pool
-_080C1C30:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C1C68
- movs r0, 0x17
- bl PlaySE
- bl sub_80C267C
- movs r0, 0x1
- bl sub_80C21D4
- ldrh r0, [r5, 0x24]
- strh r0, [r4]
- ldrh r0, [r5, 0x26]
- strh r0, [r6]
-_080C1C50:
- ldr r0, =sub_80C16CC
- str r0, [r5]
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _080C1D2E
- .pool
-_080C1C68:
- movs r3, 0
- mov r0, r12
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080C1CCA
- ldrh r0, [r4]
- cmp r0, 0
- beq _080C1C8E
- bl sub_80C2638
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_80C2650
- b _080C1CAA
-_080C1C8E:
- ldrh r0, [r6]
- cmp r0, 0
- beq _080C1CA6
- subs r0, 0x1
- strh r0, [r6]
- adds r0, r7, 0
- bl sub_80C2294
- ldrh r0, [r4]
- bl sub_80C2650
- movs r3, 0x1
-_080C1CA6:
- cmp r3, 0
- beq _080C1D2E
-_080C1CAA:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r6]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_80C2618
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- b _080C1D2E
-_080C1CCA:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080C1D2E
- ldrh r0, [r4]
- cmp r0, 0x4
- bhi _080C1CEE
- cmp r0, r2
- bcs _080C1CEE
- bl sub_80C2638
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- bl sub_80C2650
- b _080C1D10
-_080C1CEE:
- cmp r2, 0x5
- bls _080C1D0C
- ldrh r1, [r6]
- subs r0, r2, 0x5
- cmp r1, r0
- bge _080C1D0C
- adds r0, r1, 0x1
- strh r0, [r6]
- adds r0, r7, 0
- bl sub_80C2294
- movs r0, 0x5
- bl sub_80C2650
- movs r3, 0x1
-_080C1D0C:
- cmp r3, 0
- beq _080C1D2E
-_080C1D10:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r6]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_80C2618
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
-_080C1D2E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C1BCC
-
- thumb_func_start sub_80C1D38
-sub_80C1D38: @ 80C1D38
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80C1D70
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D38
-
- thumb_func_start sub_80C1D70
-sub_80C1D70: @ 80C1D70
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C1D8C
- bl sub_80C152C
- adds r0, r4, 0
- bl DestroyTask
-_080C1D8C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D70
-
- thumb_func_start sub_80C1D98
-sub_80C1D98: @ 80C1D98
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r3, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- bl GetBgTilemapBuffer
- adds r2, r0, 0
- movs r3, 0
- cmp r3, r4
- bcs _080C1DEC
- lsls r0, r5, 6
- adds r7, r0, r2
- ldr r5, =0x00000fff
- lsls r2, r6, 12
-_080C1DC8:
- mov r0, r8
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r7
- ldrh r0, [r1]
- ands r0, r5
- orrs r0, r2
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- ands r0, r5
- orrs r0, r2
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _080C1DC8
-_080C1DEC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1D98
-
- thumb_func_start sub_80C1DFC
-sub_80C1DFC: @ 80C1DFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- ands r5, r0
- ands r2, r0
- lsls r2, 1
- orrs r5, r2
- cmp r4, 0xA
- bhi _080C1EE8
- lsls r0, r4, 2
- ldr r1, =_080C1E28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C1E28:
- .4byte _080C1E54
- .4byte _080C1E54
- .4byte _080C1E54
- .4byte _080C1E64
- .4byte _080C1E64
- .4byte _080C1E7C
- .4byte _080C1E7C
- .4byte _080C1E64
- .4byte _080C1E64
- .4byte _080C1EA4
- .4byte _080C1E94
-_080C1E54:
- ldr r1, =gUnknown_0856ED30
- lsls r0, r4, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- b _080C1EC2
- .pool
-_080C1E64:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_80C1D98
-_080C1E7C:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x7]
- ldrb r2, [r0, 0x8]
- ldrb r3, [r0, 0x9]
- b _080C1EC4
- .pool
-_080C1E94:
- ldr r0, =gUnknown_0856ED48
- ldrb r1, [r0, 0x1C]
- ldrb r2, [r0, 0x1D]
- ldrb r3, [r0, 0x1E]
- b _080C1EC4
- .pool
-_080C1EA4:
- bl IsNationalPokedexEnabled
- cmp r0, 0
- bne _080C1ED0
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- subs r2, 0x2
- lsls r2, 24
- lsrs r2, 24
-_080C1EC2:
- ldrb r3, [r0, 0x6]
-_080C1EC4:
- adds r0, r5, 0
- bl sub_80C1D98
- b _080C1EE8
- .pool
-_080C1ED0:
- ldr r2, =gUnknown_0856ED48
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_80C1D98
-_080C1EE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C1DFC
-
- thumb_func_start sub_80C1EF4
-sub_80C1EF4: @ 80C1EF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080C1F5E
- cmp r0, 0x1
- bgt _080C1F0A
- cmp r0, 0
- beq _080C1F10
- b _080C203C
-_080C1F0A:
- cmp r1, 0x2
- beq _080C1FCE
- b _080C203C
-_080C1F10:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0
- b _080C1FAA
-_080C1F5E:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
-_080C1FAA:
- bl sub_80C1DFC
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- b _080C203C
-_080C1FCE:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0x1
- bl sub_80C1DFC
-_080C203C:
- pop {r0}
- bx r0
- thumb_func_end sub_80C1EF4
-
- thumb_func_start sub_80C2040
-sub_80C2040: @ 80C2040
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80C1EF4
- ldr r0, =gUnknown_0856ED30
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- bl sub_80C2618
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2040
-
- thumb_func_start sub_80C2064
-sub_80C2064: @ 80C2064
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_80C1EF4
- cmp r4, 0x6
- bhi _080C20DE
- lsls r0, r4, 2
- ldr r1, =_080C2084
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2084:
- .4byte _080C20A0
- .4byte _080C20A4
- .4byte _080C20A8
- .4byte _080C20B6
- .4byte _080C20C4
- .4byte _080C20C8
- .4byte _080C20D4
-_080C20A0:
- movs r0, 0x3
- b _080C20CA
-_080C20A4:
- movs r0, 0x4
- b _080C20CA
-_080C20A8:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x5
- b _080C20CA
-_080C20B6:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- movs r0, 0x6
- b _080C20CA
-_080C20C4:
- movs r0, 0x7
- b _080C20CA
-_080C20C8:
- movs r0, 0x8
-_080C20CA:
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
- b _080C20DE
-_080C20D4:
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_80C1DFC
-_080C20DE:
- ldr r0, =gUnknown_0856ED48
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_80C2618
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2064
-
- thumb_func_start sub_80C20F8
-sub_80C20F8: @ 80C20F8
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x28
- movs r1, 0x10
- movs r2, 0x60
- movs r3, 0x50
- bl sub_80C12B0
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x14]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EE5C
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x11
- bl sub_80C1270
- ldrh r0, [r5, 0x1A]
- ldrh r1, [r5, 0x18]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EEB4
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x21
- bl sub_80C1270
- ldrh r0, [r5, 0x1E]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- lsls r0, 16
- ldr r4, =gUnknown_0856EF14
- lsrs r0, 13
- adds r4, 0x4
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x31
- bl sub_80C1270
- ldrh r0, [r5, 0x22]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 13
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x5D
- movs r2, 0x31
- bl sub_80C1270
- ldrh r0, [r5, 0x12]
- ldrh r1, [r5, 0x10]
- adds r0, r1
- lsls r0, 16
- ldr r1, =gUnknown_0856EE24
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x41
- bl sub_80C1270
- bl IsNationalPokedexEnabled
- cmp r0, 0
- beq _080C21B6
- ldrh r0, [r5, 0xE]
- ldrh r5, [r5, 0xC]
- adds r0, r5
- lsls r0, 16
- ldr r1, =gUnknown_0856EE0C
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2D
- movs r2, 0x51
- bl sub_80C1270
-_080C21B6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C20F8
-
- thumb_func_start sub_80C21D4
-sub_80C21D4: @ 80C21D4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- bl GetBgTilemapBuffer
- adds r5, r0, 0
- cmp r4, 0
- bne _080C2268
- ldr r1, =0x00000c0b
- adds r0, r1, 0
- strh r0, [r5, 0x22]
- movs r1, 0x12
- ldr r0, =0x0000080d
- adds r2, r0, 0
-_080C21F4:
- lsls r0, r1, 1
- adds r0, r5
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C21F4
- movs r2, 0x1
- ldr r1, =0x0000040a
- adds r6, r1, 0
- movs r4, 0x2
-_080C220C:
- lsls r0, r2, 6
- adds r0, r5
- strh r6, [r0, 0x22]
- movs r1, 0x12
- adds r3, r2, 0x1
- adds r2, r0, 0
-_080C2218:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C2218
- lsls r0, r3, 16
- lsrs r2, r0, 16
- cmp r2, 0xC
- bls _080C220C
- ldr r2, =0x00000362
- adds r1, r5, r2
- adds r2, 0xA9
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- movs r3, 0xD0
- lsls r3, 2
- movs r2, 0xD
-_080C2242:
- lsls r0, r1, 1
- adds r0, r5
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1E
- bls _080C2242
- b _080C228C
- .pool
-_080C2268:
- movs r2, 0
- movs r4, 0x4F
-_080C226C:
- movs r1, 0x11
- lsls r0, r2, 6
- adds r3, r2, 0x1
- adds r2, r0, r5
-_080C2274:
- lsls r0, r1, 1
- adds r0, r2
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1D
- bls _080C2274
- lsls r0, r3, 16
- lsrs r2, r0, 16
- cmp r2, 0xD
- bls _080C226C
-_080C228C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C21D4
-
- thumb_func_start sub_80C2294
-sub_80C2294: @ 80C2294
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_0856EFC8
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r0, r2, r3
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- lsls r1, 3
- adds r1, r4
- ldr r6, [r1]
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r2
- mov r8, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r7, r2, r0
- bl sub_80C267C
- movs r5, 0
- ldrh r4, [r7]
- b _080C22F2
- .pool
-_080C22D8:
- adds r0, r1, r6
- ldr r1, [r0, 0x4]
- adds r0, r5, 0
- bl sub_80C2668
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x5
- bhi _080C22FC
-_080C22F2:
- lsls r1, r4, 3
- adds r0, r1, r6
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _080C22D8
-_080C22FC:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7]
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r0, [r0]
- bl sub_80C2618
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2294
-
- thumb_func_start sub_80C2318
-sub_80C2318: @ 80C2318
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- ldr r2, =gUnknown_0856EFC8
- lsls r0, r3, 3
- adds r0, r2
- ldrb r2, [r0, 0x4]
- lsls r2, 1
- adds r2, r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x5
- bhi _080C237C
- lsls r0, r3, 2
- ldr r1, =_080C2364
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2364:
- .4byte _080C2390
- .4byte _080C239A
- .4byte _080C23AA
- .4byte _080C23AA
- .4byte _080C2388
- .4byte _080C2380
-_080C237C:
- movs r0, 0
- b _080C23B0
-_080C2380:
- ldr r0, =gUnknown_0856EFAC
- b _080C23AC
- .pool
-_080C2388:
- ldr r0, =gUnknown_0856EFAE
- b _080C23AC
- .pool
-_080C2390:
- cmp r2, 0
- beq _080C239E
- lsls r0, r2, 24
- lsrs r0, 24
- b _080C23B0
-_080C239A:
- cmp r2, 0
- bne _080C23A2
-_080C239E:
- movs r0, 0xFF
- b _080C23B0
-_080C23A2:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _080C23B0
-_080C23AA:
- ldr r0, =gUnknown_0856EFB4
-_080C23AC:
- adds r0, r2, r0
- ldrb r0, [r0]
-_080C23B0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80C2318
-
- thumb_func_start sub_80C23B8
-sub_80C23B8: @ 80C23B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gUnknown_02039B4C
- ldr r0, [r1]
- ldr r2, =0x00000614
- adds r0, r2
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _080C23D2
- cmp r0, 0x1
- beq _080C23E0
-_080C23D2:
- movs r3, 0
- b _080C23E2
- .pool
-_080C23E0:
- movs r3, 0x1
-_080C23E2:
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bhi _080C2428
- lsls r0, 2
- ldr r1, =_080C2410
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080C2410:
- .4byte _080C2428
- .4byte _080C242C
- .4byte _080C2430
- .4byte _080C2434
- .4byte _080C2438
- .4byte _080C243C
-_080C2428:
- movs r3, 0
- b _080C243E
-_080C242C:
- movs r3, 0x1
- b _080C243E
-_080C2430:
- movs r3, 0x2
- b _080C243E
-_080C2434:
- movs r3, 0x3
- b _080C243E
-_080C2438:
- movs r3, 0x4
- b _080C243E
-_080C243C:
- movs r3, 0x5
-_080C243E:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r5
- strh r3, [r0, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C23B8
-
- thumb_func_start sub_80C244C
-sub_80C244C: @ 80C244C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, =gUnknown_0856EFC8
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080C248C
- ldrh r0, [r1]
- cmp r0, 0
- beq _080C248C
- movs r0, 0
- b _080C248E
- .pool
-_080C248C:
- movs r0, 0x1
-_080C248E:
- pop {r1}
- bx r1
- thumb_func_end sub_80C244C
-
- thumb_func_start sub_80C2494
-sub_80C2494: @ 80C2494
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, =gUnknown_0856EFC8
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080C24D8
- ldrh r1, [r1]
- subs r0, 0x5
- cmp r1, r0
- bge _080C24D8
- movs r0, 0
- b _080C24DA
- .pool
-_080C24D8:
- movs r0, 0x1
-_080C24DA:
- pop {r1}
- bx r1
- thumb_func_end sub_80C2494
-
- thumb_func_start sub_80C24E0
-sub_80C24E0: @ 80C24E0
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_80C1BCC
- cmp r1, r0
- bne _080C2580
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C2528
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C2494
- lsls r0, 24
- cmp r0, 0
- beq _080C2544
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _080C2550
- .pool
-_080C2528:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C244C
- lsls r0, 24
- cmp r0, 0
- beq _080C2544
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _080C2550
-_080C2544:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_080C2550:
- strb r0, [r2]
- ldrh r2, [r4, 0x32]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 7
- adds r0, r2, r0
- lsls r0, 24
- ldr r1, =gSineTable
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080C256E
- adds r0, 0x7F
-_080C256E:
- asrs r0, 7
- strh r0, [r4, 0x26]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r4, 0x32]
- b _080C258C
- .pool
-_080C2580:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080C258C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C24E0
-
- thumb_func_start sub_80C2594
-sub_80C2594: @ 80C2594
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gUnknown_0855D1AC
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r4
- movs r2, 0
- strh r5, [r0, 0x2E]
- strh r2, [r0, 0x30]
- movs r0, 0x1C
- adds r0, r4
- mov r9, r0
- add r1, r9
- ldr r0, =sub_80C24E0
- mov r8, r0
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r4
- strh r5, [r4, 0x2E]
- movs r0, 0x1
- strh r0, [r4, 0x30]
- adds r4, 0x3F
- ldrb r0, [r4]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r4]
- add r1, r9
- mov r0, r8
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2594
-
- thumb_func_start sub_80C2618
-sub_80C2618: @ 80C2618
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x8
- movs r1, 0x78
- movs r2, 0xE0
- movs r3, 0x20
- bl sub_80C12B0
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0x79
- bl sub_80C1270
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2618
-
- thumb_func_start sub_80C2638
-sub_80C2638: @ 80C2638
- push {lr}
- adds r1, r0, 0
- lsls r1, 4
- adds r1, 0x8
- movs r0, 0x90
- movs r2, 0x8
- movs r3, 0x10
- bl sub_80C12B0
- pop {r0}
- bx r0
- thumb_func_end sub_80C2638
-
- thumb_func_start sub_80C2650
-sub_80C2650: @ 80C2650
- push {lr}
- adds r2, r0, 0
- ldr r0, =gText_SelectorArrow
- lsls r2, 4
- adds r2, 0x9
- movs r1, 0x90
- bl sub_80C1270
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80C2650
-
- thumb_func_start sub_80C2668
-sub_80C2668: @ 80C2668
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 4
- adds r2, 0x9
- movs r1, 0x98
- bl sub_80C1270
- pop {r0}
- bx r0
- thumb_func_end sub_80C2668
-
- thumb_func_start sub_80C267C
-sub_80C267C: @ 80C267C
- push {lr}
- movs r0, 0x90
- movs r1, 0x8
- movs r2, 0x60
- movs r3, 0x60
- bl sub_80C12B0
- pop {r0}
- bx r0
- thumb_func_end sub_80C267C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokedex_area_screen.s b/asm/pokedex_area_screen.s
index 9bf70a379..579788e14 100644
--- a/asm/pokedex_area_screen.s
+++ b/asm/pokedex_area_screen.s
@@ -308,7 +308,7 @@ _0813CCB8:
ldr r1, [r5]
ldrb r0, [r1, 0x10]
ldrb r1, [r1, 0x11]
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldr r1, [r5]
ldrb r0, [r0, 0x14]
strh r0, [r1, 0x12]
@@ -360,7 +360,7 @@ sub_813CD04: @ 813CD04
strb r3, [r1, 0x11]
adds r0, r5, 0
adds r1, r3, 0
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldrb r0, [r0, 0x14]
bl CorrectSpecialMapSecId
ldr r2, [r4]
@@ -496,7 +496,7 @@ sub_813CE34: @ 813CE34
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldrb r0, [r0, 0x14]
pop {r1}
bx r1
@@ -1781,7 +1781,7 @@ sub_813D8A8: @ 813D8A8
str r1, [sp]
ldr r0, =0x00030600
str r0, [sp, 0x4]
- ldr r0, =gUnknown_08DC4140
+ ldr r0, =gPokedexAreaScreenAreaUnknown_Gfx
bl LZ77UnCompWram
mov r0, sp
bl LoadSpriteSheet
@@ -1831,7 +1831,7 @@ _0813D924:
lsls r6, 16
adds r1, r6
asrs r1, 16
- ldr r0, =gUnknown_085B40FC
+ ldr r0, =gSpriteTemplate_85B40FC
movs r2, 0x8C
movs r3, 0
bl CreateSprite
diff --git a/asm/pokedex_cry_screen.s b/asm/pokedex_cry_screen.s
index f6d5ec271..846b20881 100644
--- a/asm/pokedex_cry_screen.s
+++ b/asm/pokedex_cry_screen.s
@@ -239,7 +239,7 @@ sub_8145534: @ 8145534
lsls r0, 16
lsrs r4, r0, 16
adds r5, r4, 0
- ldr r0, =gMPlay_BGM
+ ldr r0, =gMPlayInfo_BGM
ldr r0, [r0, 0x4]
cmp r0, 0
bge _08145582
@@ -675,9 +675,9 @@ _08145884:
b _081458F8
.pool
_081458B0:
- ldr r0, =gUnknown_085B8C80
+ ldr r0, =gCryMeterNeedleSpriteSheets
bl LoadSpriteSheets
- ldr r0, =gUnknown_085B8C90
+ ldr r0, =gCryMeterNeedleSpritePalettes
bl LoadSpritePalettes
ldr r0, =gUnknown_085B8C68
ldrb r1, [r4, 0x4]
diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s
deleted file mode 100644
index 15b4af009..000000000
--- a/asm/pokemon_1.s
+++ /dev/null
@@ -1,2016 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_8068528
-sub_8068528: @ 8068528
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r7, r0, 0
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- ldr r6, =gUnknown_08610970
- ldrb r0, [r1]
- lsls r3, r0, 27
- lsrs r1, r3, 27
- movs r5, 0x58
- muls r1, r5
- adds r1, r6
- ldrh r1, [r1, 0x30]
- mov r8, r1
- lsrs r1, r3, 27
- muls r1, r5
- adds r1, r6
- ldrh r4, [r1, 0x30]
- lsrs r4, 8
- lsrs r3, 27
- adds r1, r3, 0
- muls r1, r5
- adds r1, r6
- ldrh r3, [r1, 0x30]
- movs r1, 0xFF
- ands r1, r3
- lsls r1, 8
- lsls r5, r2, 1
- adds r5, r2
- lsls r5, 2
- mov r2, r9
- adds r6, r2, r5
- orrs r4, r1
- ldrh r1, [r6, 0x4]
- adds r4, r1
- ldrb r1, [r2, 0x2]
- adds r4, r1
- lsls r0, 25
- lsrs r0, 30
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- bl BattleFrontierGetOpponentLvl
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldrh r1, [r6, 0x4]
- movs r0, 0x1
- str r0, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- adds r0, r7, 0
- movs r3, 0x1F
- bl CreateMon
- mov r1, r9
- adds r2, r5, r1
- adds r2, 0xE
- adds r0, r7, 0
- movs r1, 0xC
- bl SetMonData
- movs r4, 0
- movs r2, 0x12
- add r2, sp
- mov r8, r2
- mov r6, r9
- adds r6, 0x6
-_080685BE:
- adds r0, r6, r5
- ldrh r1, [r0]
- lsls r2, r4, 24
- lsrs r2, 24
- adds r0, r7, 0
- bl SetMonMoveSlot
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080685BE
- movs r1, 0x55
- add r0, sp, 0x10
- strh r1, [r0]
- movs r4, 0
- mov r5, r9
- adds r5, 0x3F
-_080685E0:
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r7, 0
- add r2, sp, 0x10
- bl SetMonData
- adds r4, 0x1
- cmp r4, 0x5
- ble _080685E0
- ldrb r0, [r5]
- mov r1, r8
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x3
- mov r2, r8
- bl SetMonData
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 27
- lsrs r0, 27
- mov r2, r8
- ldrb r1, [r2]
- bl sub_81A1650
- adds r2, r0, 0
- adds r0, r7, 0
- movs r1, 0x7
- bl SetMonData
- adds r0, r7, 0
- bl CalculateMonStats
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8068528
-
- thumb_func_start sub_8068634
-sub_8068634: @ 8068634
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r7, r0, 0
- ldr r0, [sp, 0x38]
- ldr r4, [sp, 0x3C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r3, 24
- lsrs r5, r3, 24
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- mov r8, r4
- movs r6, 0
-_08068664:
- bl Random
- adds r4, r0, 0
- bl Random
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- orrs r4, r0
- adds r0, r4, 0
- bl GetNatureFromPersonality
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bne _08068664
- movs r0, 0x1
- str r0, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x40]
- str r0, [sp, 0xC]
- adds r0, r7, 0
- ldr r1, [sp, 0x14]
- mov r2, r10
- mov r3, r9
- bl CreateMon
- mov r5, r8
- movs r1, 0x1
- movs r4, 0x5
-_080686A2:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080686AC
- adds r6, 0x1
-_080686AC:
- lsrs r5, 1
- subs r4, 0x1
- cmp r4, 0
- bge _080686A2
- movs r0, 0xFF
- lsls r0, 1
- adds r1, r6, 0
- bl __divsi3
- add r1, sp, 0x10
- strh r0, [r1]
- movs r5, 0x1
- movs r4, 0
-_080686C6:
- mov r0, r8
- ands r0, r5
- cmp r0, 0
- beq _080686DA
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r7, 0
- add r2, sp, 0x10
- bl SetMonData
-_080686DA:
- lsls r0, r5, 25
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r4, 0x5
- ble _080686C6
- adds r0, r7, 0
- bl CalculateMonStats
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8068634
-
- thumb_func_start sub_80686FC
-sub_80686FC: @ 80686FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r6]
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _08068726
- movs r0, 0
-_08068726:
- strh r0, [r6, 0x2]
- movs r5, 0
- movs r0, 0x2B
- adds r0, r6
- mov r8, r0
- movs r1, 0x20
- adds r1, r6
- mov r9, r1
- adds r4, r6, 0x4
-_08068738:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r7, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r4]
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068738
- adds r0, r7, 0
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xC]
- adds r0, r7, 0
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xD]
- adds r0, r7, 0
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- str r0, [r6, 0x14]
- adds r0, r7, 0
- movs r1, 0x1A
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xE]
- adds r0, r7, 0
- movs r1, 0x1B
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0xF]
- adds r0, r7, 0
- movs r1, 0x1C
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x10]
- adds r0, r7, 0
- movs r1, 0x1D
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x11]
- adds r0, r7, 0
- movs r1, 0x1E
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x12]
- adds r0, r7, 0
- movs r1, 0x1F
- movs r2, 0
- bl GetMonData
- strb r0, [r6, 0x13]
- adds r0, r7, 0
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- mov r1, r8
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x27
- movs r2, 0
- bl GetMonData
- movs r4, 0x1F
- ands r0, r4
- ldrb r2, [r6, 0x18]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x28
- movs r2, 0
- bl GetMonData
- movs r5, 0x1F
- ands r0, r5
- lsls r0, 5
- ldrh r2, [r6, 0x18]
- ldr r1, =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x29
- movs r2, 0
- bl GetMonData
- ands r0, r4
- lsls r0, 2
- ldrb r2, [r6, 0x19]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x19]
- adds r0, r7, 0
- movs r1, 0x2A
- movs r2, 0
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [r6, 0x18]
- ldr r2, =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [r6, 0x18]
- adds r0, r7, 0
- movs r1, 0x2B
- movs r2, 0
- bl GetMonData
- ands r0, r5
- lsls r0, 4
- ldrh r2, [r6, 0x1A]
- ldr r1, =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x1A]
- adds r0, r7, 0
- movs r1, 0x2C
- movs r2, 0
- bl GetMonData
- ands r0, r4
- lsls r0, 1
- ldrb r2, [r6, 0x1B]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x1B]
- adds r0, r7, 0
- movs r1, 0x2E
- movs r2, 0
- bl GetMonData
- lsls r0, 7
- ldrb r2, [r6, 0x1B]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r6, 0x1B]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [r6, 0x1C]
- adds r0, r7, 0
- movs r1, 0x2
- mov r2, r9
- bl GetMonData
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80686FC
-
- thumb_func_start CreateObedientMon
-CreateObedientMon: @ 80688A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- ldr r4, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r7, [sp, 0x38]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- str r7, [sp, 0xC]
- mov r0, r8
- bl CreateMon
- mov r0, r8
- movs r1, 0x50
- add r2, sp, 0x10
- bl SetMonData
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CreateObedientMon
-
- thumb_func_start sub_80688F8
-sub_80688F8: @ 80688F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x5
- bhi _080689CE
- lsls r0, 2
- ldr r1, =_08068914
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08068914:
- .4byte _080689CE
- .4byte _0806892C
- .4byte _08068A00
- .4byte _08068958
- .4byte _08068A00
- .4byte _08068990
-_0806892C:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- b _080689B6
- .pool
-_08068958:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- cmp r5, 0x1
- beq _08068A00
- cmp r5, 0x4
- beq _08068A00
- cmp r5, 0x5
- beq _08068A00
- b _080689CE
- .pool
-_08068990:
- ldr r0, =gBattleTypeFlags
- ldr r2, [r0]
- movs r3, 0x2
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _080689E4
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080689CE
- movs r0, 0x40
- ands r2, r0
- cmp r2, 0
- beq _080689F4
-_080689B6:
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x18]
- cmp r0, r5
- bne _08068A00
-_080689CE:
- movs r0, 0
- b _08068A02
- .pool
-_080689E4:
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080689CE
-_080689F4:
- adds r0, r5, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _080689CE
-_08068A00:
- movs r0, 0x1
-_08068A02:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80688F8
-
- thumb_func_start GetDeoxysStat
-GetDeoxysStat: @ 8068A10
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08068A34
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- beq _08068A3C
-_08068A34:
- movs r0, 0
- b _08068A9A
- .pool
-_08068A3C:
- adds r1, r6, 0
- adds r1, 0x27
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r1, r6, 0
- adds r1, 0x1A
- adds r0, r5, 0
- movs r2, 0
- bl GetMonData
- ldr r2, =gUnknown_08329D48
- lsls r1, r6, 1
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 1
- adds r1, r4
- cmp r0, 0
- bge _08068A68
- adds r0, 0x3
-_08068A68:
- asrs r0, 2
- adds r0, r1, r0
- adds r1, r5, 0
- adds r1, 0x54
- ldrb r1, [r1]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r6, 24
- lsrs r2, 24
- adds r1, r4, 0
- bl nature_stat_mod
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
-_08068A9A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetDeoxysStat
-
- thumb_func_start sub_8068AA4
-sub_8068AA4: @ 8068AA4
- push {r4,r5,lr}
- sub sp, 0x4
- movs r5, 0
-_08068AAA:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- bne _08068B34
- adds r0, r4, 0
- movs r1, 0x3B
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3B
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3D
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3E
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x3F
- mov r2, sp
- bl SetMonData
-_08068B34:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08068AAA
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8068AA4
-
- thumb_func_start sub_8068B48
-sub_8068B48: @ 8068B48
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _08068B6C
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- b _08068B78
- .pool
-_08068B6C:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_08068B78:
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r3, 0x4
- adds r0, r1, r0
- ldr r2, [r0]
- movs r0, 0x7
- ands r2, r0
- adds r1, r3
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- orrs r2, r0
- ldr r0, =gUnknown_08329D54
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- bl sub_806EFF0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8068B48
-
- thumb_func_start sub_8068BB0
-sub_8068BB0: @ 8068BB0
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 18
- ands r0, r1
- cmp r0, 0
- beq _08068BD4
- ldr r0, =gUnknown_0203C7B4
- ldrb r1, [r0]
- movs r0, 0x1
- eors r0, r1
- b _08068BE0
- .pool
-_08068BD4:
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
-_08068BE0:
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r3, 0x4
- adds r0, r1, r0
- ldr r2, [r0]
- movs r0, 0x7
- ands r2, r0
- adds r1, r3
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- orrs r2, r0
- ldr r1, =gTrainerClassToNameIndex
- ldr r0, =gUnknown_08329D54
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8068BB0
-
- thumb_func_start DoScriptedWildBattle
-DoScriptedWildBattle: @ 8068C18
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, =gSpecialVar_0x8004
- ldrh r5, [r0]
- ldr r0, =gSpecialVar_0x8005
- ldrh r4, [r0]
- ldr r0, =gSpecialVar_0x8006
- ldrh r6, [r0]
- bl ZeroEnemyPartyMons
- ldr r7, =gEnemyParty
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x20
- bl CreateObedientMon
- cmp r6, 0
- beq _08068C60
- add r0, sp, 0x10
- strb r6, [r0]
- adds r1, r0, 0
- asrs r0, r6, 8
- strb r0, [r1, 0x1]
- adds r0, r7, 0
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
-_08068C60:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DoScriptedWildBattle
-
- thumb_func_start CalculateBoxMonChecksum
-@ int CalculateBoxMonChecksum(pokemon *mon)
-CalculateBoxMonChecksum: @ 8068C78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- movs r6, 0
- ldr r1, [r4]
- movs r2, 0
- bl GetSubstruct
- adds r5, r0, 0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x1
- bl GetSubstruct
- adds r7, r0, 0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x2
- bl GetSubstruct
- mov r8, r0
- ldr r1, [r4]
- adds r0, r4, 0
- movs r2, 0x3
- bl GetSubstruct
- adds r3, r0, 0
- movs r1, 0x5
-_08068CB2:
- ldrh r0, [r5]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r5, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CB2
- adds r2, r7, 0
- movs r1, 0x5
-_08068CC6:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CC6
- mov r2, r8
- movs r1, 0x5
-_08068CDA:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CDA
- adds r2, r3, 0
- movs r1, 0x5
-_08068CEE:
- ldrh r0, [r2]
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08068CEE
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CalculateBoxMonChecksum
-
- thumb_func_start CalculateMonStats
-CalculateMonStats: @ 8068D0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r5, r0, 0
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x1C]
- adds r0, r5, 0
- movs r1, 0x27
- movs r2, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r5, 0
- movs r1, 0x1A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x28
- movs r2, 0
- bl GetMonData
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x1B
- movs r2, 0
- bl GetMonData
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0x29
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x20]
- adds r0, r5, 0
- movs r1, 0x1C
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x24]
- adds r0, r5, 0
- movs r1, 0x2A
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x28]
- adds r0, r5, 0
- movs r1, 0x1D
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x2C]
- adds r0, r5, 0
- movs r1, 0x2B
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x30]
- adds r0, r5, 0
- movs r1, 0x1E
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x34]
- adds r0, r5, 0
- movs r1, 0x2C
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x38]
- adds r0, r5, 0
- movs r1, 0x1F
- movs r2, 0
- bl GetMonData
- str r0, [sp, 0x3C]
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r5, 0
- bl GetLevelFromMonExp
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x38
- mov r2, sp
- bl SetMonData
- ldr r0, =0x0000012f
- cmp r7, r0
- bne _08068DF8
- movs r0, 0x1
- str r0, [sp, 0x4]
- lsls r6, r7, 3
- b _08068E26
- .pool
-_08068DF8:
- ldr r1, =gBaseStats
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, r0, r6
- adds r0, r4, 0
- adds r6, r2, 0
- cmp r0, 0
- bge _08068E12
- adds r0, 0x3
-_08068E12:
- asrs r0, 2
- adds r0, r1, r0
- ldr r4, [sp]
- muls r0, r4
- movs r1, 0x64
- bl __divsi3
- adds r0, r4
- adds r0, 0xA
- str r0, [sp, 0x4]
-_08068E26:
- ldr r1, =gBattleScripting
- add r2, sp, 0x4
- ldrb r0, [r2]
- mov r3, r8
- subs r0, r3
- adds r1, 0x23
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _08068E3E
- movs r0, 0x1
- strb r0, [r1]
-_08068E3E:
- adds r0, r5, 0
- movs r1, 0x3A
- bl SetMonData
- ldr r0, =gBaseStats
- subs r1, r6, r7
- lsls r1, 2
- adds r6, r1, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 1
- mov r2, r10
- adds r1, r0, r2
- mov r0, r9
- cmp r0, 0
- bge _08068E5E
- adds r0, 0x3
-_08068E5E:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x8]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x8
- ldrh r1, [r4]
- movs r2, 0x1
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0x3B
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x2]
- lsls r0, 1
- ldr r3, [sp, 0x20]
- adds r1, r0, r3
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bge _08068EA4
- adds r0, 0x3
-_08068EA4:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0xC]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0xC
- ldrh r1, [r4]
- movs r2, 0x2
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x3C
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x3]
- lsls r0, 1
- ldr r2, [sp, 0x28]
- adds r1, r0, r2
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- bge _08068EEA
- adds r0, 0x3
-_08068EEA:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x10]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x10
- ldrh r1, [r4]
- movs r2, 0x3
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r5, 0
- movs r1, 0x3D
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x4]
- lsls r0, 1
- ldr r3, [sp, 0x30]
- adds r1, r0, r3
- ldr r0, [sp, 0x34]
- cmp r0, 0
- bge _08068F30
- adds r0, 0x3
-_08068F30:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x14]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x14
- ldrh r1, [r4]
- movs r2, 0x4
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x14]
- adds r0, r5, 0
- movs r1, 0x3E
- adds r2, r4, 0
- bl SetMonData
- ldrb r0, [r6, 0x5]
- lsls r0, 1
- ldr r2, [sp, 0x38]
- adds r1, r0, r2
- ldr r0, [sp, 0x3C]
- cmp r0, 0
- bge _08068F76
- adds r0, 0x3
-_08068F76:
- asrs r0, 2
- adds r0, r1, r0
- ldr r1, [sp]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, 0x5
- str r0, [sp, 0x18]
- adds r0, r5, 0
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x18
- ldrh r1, [r4]
- movs r2, 0x5
- bl nature_stat_mod
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
- adds r0, r5, 0
- movs r1, 0x3F
- adds r2, r4, 0
- bl SetMonData
- ldr r0, =0x0000012f
- cmp r7, r0
- bne _08068FD0
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _08068FBE
- mov r3, r8
- cmp r3, 0
- bne _08068FF4
-_08068FBE:
- movs r0, 0x1
- b _08068FE8
- .pool
-_08068FD0:
- ldr r1, [sp, 0x1C]
- cmp r1, 0
- bne _08068FE0
- mov r0, r8
- cmp r0, 0
- bne _08068FF4
- ldr r0, [sp, 0x4]
- b _08068FE8
-_08068FE0:
- ldr r0, [sp, 0x4]
- mov r2, r8
- subs r0, r2
- adds r0, r1, r0
-_08068FE8:
- str r0, [sp, 0x1C]
- add r2, sp, 0x1C
- adds r0, r5, 0
- movs r1, 0x39
- bl SetMonData
-_08068FF4:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CalculateMonStats
-
- thumb_func_start BoxMonToMon
-BoxMonToMon: @ 8069004
- push {r4,lr}
- sub sp, 0x4
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r2, 0x50
- bl memcpy
- adds r0, r4, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- mov r2, sp
- bl SetMonData
- movs r0, 0xFF
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x40
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- bl CalculateMonStats
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end BoxMonToMon
-
- thumb_func_start GetLevelFromMonExp
-GetLevelFromMonExp: @ 8069054
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x19
- movs r2, 0
- bl GetMonData
- adds r3, r0, 0
- movs r2, 0x1
- ldr r6, =gExperienceTables
- ldr r1, =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x13]
- movs r5, 0xCA
- lsls r5, 1
- muls r0, r5
- adds r0, 0x4
- adds r0, r6
- ldr r0, [r0]
- cmp r0, r3
- bhi _080690AA
- adds r4, r1, 0
-_08069094:
- adds r2, 0x1
- cmp r2, 0x64
- bgt _080690AA
- lsls r1, r2, 2
- ldrb r0, [r4, 0x13]
- muls r0, r5
- adds r1, r0
- adds r1, r6
- ldr r0, [r1]
- cmp r0, r3
- bls _08069094
-_080690AA:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetLevelFromMonExp
-
- thumb_func_start GetLevelFromBoxMonExp
-GetLevelFromBoxMonExp: @ 80690C0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x19
- movs r2, 0
- bl GetBoxMonData
- adds r3, r0, 0
- movs r2, 0x1
- ldr r6, =gExperienceTables
- ldr r1, =gBaseStats
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1, 0x13]
- movs r5, 0xCA
- lsls r5, 1
- muls r0, r5
- adds r0, 0x4
- adds r0, r6
- ldr r0, [r0]
- cmp r0, r3
- bhi _08069116
- adds r4, r1, 0
-_08069100:
- adds r2, 0x1
- cmp r2, 0x64
- bgt _08069116
- lsls r1, r2, 2
- ldrb r0, [r4, 0x13]
- muls r0, r5
- adds r1, r0
- adds r1, r6
- ldr r0, [r1]
- cmp r0, r3
- bls _08069100
-_08069116:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetLevelFromBoxMonExp
-
- thumb_func_start GiveMoveToMon
-GiveMoveToMon: @ 806912C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl GiveMoveToBoxMon
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GiveMoveToMon
-
- thumb_func_start GiveMoveToBoxMon
-GiveMoveToBoxMon: @ 8069140
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- mov r0, sp
- strh r1, [r0]
- movs r5, 0
- mov r6, sp
-_0806914E:
- adds r4, r5, 0
- adds r4, 0xD
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0806918C
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, sp
- bl SetBoxMonData
- adds r1, r5, 0
- adds r1, 0x11
- ldrh r0, [r6]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r7, 0
- bl SetBoxMonData
- ldrh r0, [r6]
- b _080691A4
- .pool
-_0806918C:
- ldrh r1, [r6]
- cmp r0, r1
- bne _0806919C
- ldr r0, =0x0000fffe
- b _080691A4
- .pool
-_0806919C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806914E
- ldr r0, =0x0000ffff
-_080691A4:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GiveMoveToBoxMon
-
- thumb_func_start GiveMoveToBattleMon
-GiveMoveToBattleMon: @ 80691B0
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- movs r3, 0
- adds r5, r0, 0
- adds r5, 0x24
- ldr r2, =gBattleMoves
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r2, r1, r2
- adds r1, r0, 0
- adds r1, 0xC
-_080691CA:
- ldrh r0, [r1]
- cmp r0, 0
- bne _080691E0
- strh r4, [r1]
- adds r1, r5, r3
- ldrb r0, [r2, 0x4]
- strb r0, [r1]
- adds r0, r4, 0
- b _080691EA
- .pool
-_080691E0:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080691CA
- ldr r0, =0x0000ffff
-_080691EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end GiveMoveToBattleMon
-
- thumb_func_start SetMonMoveSlot
-SetMonMoveSlot: @ 80691F4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r2, 0
- mov r0, sp
- strh r1, [r0]
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, 0
- mov r2, sp
- bl SetMonData
- adds r4, 0x11
- mov r0, sp
- ldrh r0, [r0]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- ldr r0, =gBattleMoves + 0x4 @ PP offset
- adds r2, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetMonData
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetMonMoveSlot
-
- thumb_func_start SetBattleMonMoveSlot
-SetBattleMonMoveSlot: @ 8069234
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r4, r2, 1
- adds r3, r0, 0
- adds r3, 0xC
- adds r3, r4
- strh r1, [r3]
- adds r0, 0x24
- adds r0, r2
- ldr r3, =gBattleMoves
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x4]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetBattleMonMoveSlot
-
- thumb_func_start GiveMonInitialMoveset
-GiveMonInitialMoveset: @ 8069264
- push {lr}
- bl GiveBoxMonInitialMoveset
- pop {r0}
- bx r0
- thumb_func_end GiveMonInitialMoveset
-
- thumb_func_start GiveBoxMonInitialMoveset
-GiveBoxMonInitialMoveset: @ 8069270
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- movs r1, 0xB
- movs r2, 0
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, =gLevelUpLearnsets
- lsls r6, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- ldrh r1, [r0]
- ldr r2, =0xffff0000
- lsrs r0, r2, 16
- cmp r1, r0
- beq _080692FC
- mov r9, r2
- movs r3, 0
-_080692AE:
- ldr r0, =gLevelUpLearnsets
- adds r7, r6, r0
- ldr r0, [r7]
- adds r0, r3, r0
- ldrh r2, [r0]
- movs r1, 0xFE
- lsls r1, 8
- adds r0, r1, 0
- ands r0, r2
- mov r4, r10
- lsls r1, r4, 9
- cmp r0, r1
- bgt _080692FC
- ldr r1, =0x000001ff
- adds r0, r1, 0
- adds r4, r0, 0
- ands r4, r2
- mov r0, r8
- adds r1, r4, 0
- str r3, [sp]
- bl GiveMoveToBoxMon
- lsls r0, 16
- mov r1, r9
- lsrs r5, r1, 16
- ldr r3, [sp]
- cmp r0, r9
- bne _080692F0
- mov r0, r8
- adds r1, r4, 0
- bl DeleteFirstMoveAndGiveMoveToBoxMon
- ldr r3, [sp]
-_080692F0:
- adds r3, 0x2
- ldr r0, [r7]
- adds r0, r3, r0
- ldrh r0, [r0]
- cmp r0, r5
- bne _080692AE
-_080692FC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end GiveBoxMonInitialMoveset
-
- thumb_func_start MonTryLearningNewMove
-MonTryLearningNewMove: @ 8069318
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- lsls r4, r1, 24
- lsrs r4, 24
- movs r0, 0
- str r0, [sp]
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r4, 0
- beq _080693B0
- ldr r4, =sLearningMoveTableID
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r4]
- ldr r2, =gLevelUpLearnsets
- mov r5, r9
- lsls r3, r5, 2
- adds r5, r3, r2
- ldr r0, [r5]
- ldrh r1, [r0]
- movs r7, 0xFE
- lsls r7, 8
- adds r0, r7, 0
- ands r0, r1
- adds r6, r4, 0
- mov r12, r2
- mov r1, r10
- lsls r4, r1, 9
- cmp r0, r4
- beq _080693D8
- adds r2, r6, 0
- ldr r0, =0x0000ffff
- mov r12, r0
- adds r6, r7, 0
- adds r3, r5, 0
-_08069384:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldrb r0, [r2]
- ldr r1, [r3]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, r12
- bne _080693A8
- movs r0, 0
- b _08069404
- .pool
-_080693A8:
- adds r0, r6, 0
- ands r0, r1
- cmp r0, r4
- bne _08069384
-_080693B0:
- ldr r3, =gLevelUpLearnsets
- mov r1, r9
- lsls r4, r1, 2
- adds r1, r4, r3
- ldr r2, =sLearningMoveTableID
- ldrb r0, [r2]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- mov r5, r10
- lsls r1, r5, 9
- adds r6, r2, 0
- mov r12, r3
- adds r3, r4, 0
- cmp r0, r1
- bne _08069402
-_080693D8:
- ldr r2, =gMoveToLearn
- mov r0, r12
- adds r1, r3, r0
- ldrb r0, [r6]
- ldr r1, [r1]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, =0x000001ff
- ands r0, r1
- strh r0, [r2]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- ldrh r1, [r2]
- mov r0, r8
- bl GiveMoveToMon
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
-_08069402:
- ldr r0, [sp]
-_08069404:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end MonTryLearningNewMove
-
- thumb_func_start DeleteFirstMoveAndGiveMoveToMon
-DeleteFirstMoveAndGiveMoveToMon: @ 8069424
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r4, 0
- add r7, sp, 0x8
- add r0, sp, 0xC
- mov r9, r0
- mov r5, sp
-_08069440:
- adds r1, r4, 0
- adds r1, 0xE
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- strh r0, [r5]
- adds r1, r4, 0
- adds r1, 0x12
- adds r0, r6, 0
- movs r2, 0
- bl GetMonData
- adds r1, r7, r4
- strb r0, [r1]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _08069440
- adds r0, r6, 0
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r1]
- lsrs r0, 2
- strb r0, [r1]
- mov r0, sp
- mov r2, r8
- strh r2, [r0, 0x6]
- ldr r1, =gBattleMoves
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- strb r0, [r7, 0x3]
- movs r4, 0
- mov r5, sp
-_08069494:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- adds r2, r5, 0
- bl SetMonData
- adds r1, r4, 0
- adds r1, 0x11
- adds r2, r7, r4
- adds r0, r6, 0
- bl SetMonData
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08069494
- adds r0, r6, 0
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DeleteFirstMoveAndGiveMoveToMon
-
- thumb_func_start DeleteFirstMoveAndGiveMoveToBoxMon
-DeleteFirstMoveAndGiveMoveToBoxMon: @ 80694D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r4, 0
- add r7, sp, 0x8
- add r0, sp, 0xC
- mov r9, r0
- mov r5, sp
-_080694EC:
- adds r1, r4, 0
- adds r1, 0xE
- adds r0, r6, 0
- movs r2, 0
- bl GetBoxMonData
- strh r0, [r5]
- adds r1, r4, 0
- adds r1, 0x12
- adds r0, r6, 0
- movs r2, 0
- bl GetBoxMonData
- adds r1, r7, r4
- strb r0, [r1]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080694EC
- adds r0, r6, 0
- movs r1, 0x15
- movs r2, 0
- bl GetBoxMonData
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r1]
- lsrs r0, 2
- strb r0, [r1]
- mov r0, sp
- mov r2, r8
- strh r2, [r0, 0x6]
- ldr r1, =gBattleMoves
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x4]
- strb r0, [r7, 0x3]
- movs r4, 0
- mov r5, sp
-_08069540:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r6, 0
- adds r2, r5, 0
- bl SetBoxMonData
- adds r1, r4, 0
- adds r1, 0x11
- adds r2, r7, r4
- adds r0, r6, 0
- bl SetBoxMonData
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _08069540
- adds r0, r6, 0
- movs r1, 0x15
- mov r2, r9
- bl SetBoxMonData
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end DeleteFirstMoveAndGiveMoveToBoxMon
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s
deleted file mode 100644
index 4301dccfd..000000000
--- a/asm/pokemon_3.s
+++ /dev/null
@@ -1,529 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
-
- thumb_func_start sub_806F160
-sub_806F160: @ 806F160
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- ldrb r0, [r6]
- lsls r0, 28
- movs r4, 0
- cmp r0, 0
- beq _0806F1EA
-_0806F176:
- ldr r0, [r6, 0xC]
- lsls r2, r4, 1
- adds r1, r2, r4
- lsls r1, 3
- adds r0, r1, r0
- ldr r3, =gUnknown_08329D98
- adds r1, r3
- ldm r1!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r0!, {r3,r5,r7}
- movs r5, 0
- ldrb r3, [r6, 0x1]
- ldr r7, [r6, 0xC]
- mov r9, r7
- mov r8, r2
- ldr r0, [r6, 0x10]
- mov r12, r0
- adds r1, r4, 0x1
- mov r10, r1
- cmp r5, r3
- bcs _0806F1C8
- mov r7, r12
- ldr r1, [r6, 0x8]
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
-_0806F1AC:
- adds r0, r4, 0
- muls r0, r3
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- lsls r1, r5, 11
- adds r1, r2, r1
- str r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r3, [r6, 0x1]
- cmp r5, r3
- bcc _0806F1AC
-_0806F1C8:
- mov r3, r8
- adds r1, r3, r4
- lsls r1, 3
- add r1, r9
- ldrb r0, [r6, 0x1]
- muls r0, r4
- lsls r0, 3
- add r0, r12
- str r0, [r1, 0xC]
- mov r5, r10
- lsls r0, r5, 16
- lsrs r4, r0, 16
- ldrb r0, [r6]
- lsls r0, 28
- lsrs r0, 28
- cmp r4, r0
- blt _0806F176
-_0806F1EA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806F160
-
- thumb_func_start sub_806F1FC
-sub_806F1FC: @ 806F1FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- ldrb r0, [r4]
- lsls r0, 28
- movs r3, 0
- cmp r0, 0
- beq _0806F296
- ldr r0, =gUnknown_08329F28
- mov r10, r0
-_0806F216:
- ldr r0, [r4, 0xC]
- lsls r2, r3, 1
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r0
- mov r0, r10
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- movs r5, 0
- ldr r0, [r4, 0xC]
- mov r8, r0
- mov r12, r2
- ldr r7, [r4, 0x10]
- adds r1, r3, 0x1
- mov r9, r1
- ldrb r6, [r4, 0x1]
- cmp r5, r6
- bcs _0806F26A
- adds r6, r7, 0
- ldr r1, [r4, 0x8]
- lsls r0, r3, 2
- adds r0, r1
- ldr r2, [r0]
-_0806F248:
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- adds r1, r3, 0
- muls r1, r0
- adds r1, r5
- lsls r1, 3
- adds r1, r6
- lsls r0, r5, 11
- adds r0, r2, r0
- str r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r4, 0x1]
- cmp r5, r0
- bcc _0806F248
-_0806F26A:
- mov r5, r12
- adds r1, r5, r3
- lsls r1, 3
- add r1, r8
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- muls r0, r3
- lsls r0, 3
- adds r0, r7, r0
- str r0, [r1, 0xC]
- ldr r6, =gUnknown_082FF70C
- str r6, [r1, 0x8]
- strh r3, [r1, 0x2]
- mov r7, r9
- lsls r0, r7, 16
- lsrs r3, r0, 16
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F216
-_0806F296:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_806F1FC
-
- thumb_func_start sub_806F2AC
-sub_806F2AC: @ 806F2AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r7, 0
- movs r0, 0x1
- ands r6, r0
- movs r0, 0x14
- bl AllocZeroed
- adds r4, r0, 0
- cmp r4, 0
- bne _0806F2D0
- movs r0, 0
- b _0806F46E
-_0806F2D0:
- cmp r5, 0
- beq _0806F2E6
- cmp r5, 0x2
- bne _0806F2E6
- movs r0, 0x77
- strb r0, [r4]
- movs r0, 0x4
- strb r0, [r4, 0x1]
- movs r0, 0x21
- strb r0, [r4, 0x3]
- b _0806F30E
-_0806F2E6:
- ldrb r1, [r4]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r3, 0xF
- ands r0, r3
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x4
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- ands r2, r3
- strb r2, [r4, 0x3]
-_0806F30E:
- ldrb r1, [r4, 0x3]
- lsls r1, 28
- lsrs r1, 28
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 15
- muls r0, r1
- bl AllocZeroed
- str r0, [r4, 0x4]
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 23
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4, 0x8]
- ldr r2, [r4, 0x4]
- cmp r2, 0
- beq _0806F33A
- cmp r1, 0
- bne _0806F344
-_0806F33A:
- movs r0, 0x1
- orrs r7, r0
- lsls r6, 2
- mov r8, r6
- b _0806F378
-_0806F344:
- ldrb r0, [r4]
- lsls r0, 28
- movs r3, 0
- lsls r6, 2
- mov r8, r6
- cmp r0, 0
- beq _0806F378
- adds r6, r1, 0
- adds r5, r2, 0
-_0806F356:
- lsls r2, r3, 2
- adds r2, r6
- ldrb r0, [r4, 0x3]
- lsls r0, 28
- lsrs r0, 28
- lsls r1, r3, 13
- muls r0, r1
- adds r0, r5, r0
- str r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F356
-_0806F378:
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- bl AllocZeroed
- str r0, [r4, 0xC]
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- ldrb r0, [r4, 0x1]
- lsls r0, 3
- muls r0, r1
- bl AllocZeroed
- adds r1, r0, 0
- str r1, [r4, 0x10]
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F3A8
- cmp r1, 0
- bne _0806F3B2
-_0806F3A8:
- movs r0, 0x2
- orrs r7, r0
- lsls r0, r7, 24
- lsrs r7, r0, 24
- b _0806F400
-_0806F3B2:
- movs r3, 0
- ldrb r0, [r4, 0x1]
- ldrb r1, [r4]
- lsls r1, 28
- lsrs r1, 28
- muls r0, r1
- cmp r3, r0
- bge _0806F3E2
- movs r2, 0x80
- lsls r2, 4
-_0806F3C6:
- ldr r1, [r4, 0x10]
- lsls r0, r3, 3
- adds r0, r1
- strh r2, [r0, 0x4]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r4, 0x1]
- ldrb r0, [r4]
- lsls r0, 28
- lsrs r0, 28
- muls r0, r1
- cmp r3, r0
- blt _0806F3C6
-_0806F3E2:
- ldrb r0, [r4, 0x3]
- lsrs r0, 4
- cmp r0, 0
- blt _0806F3FA
- cmp r0, 0x1
- ble _0806F3FA
- cmp r0, 0x2
- bne _0806F3FA
- adds r0, r4, 0
- bl sub_806F1FC
- b _0806F400
-_0806F3FA:
- adds r0, r4, 0
- bl sub_806F160
-_0806F400:
- movs r0, 0x2
- ands r0, r7
- cmp r0, 0
- beq _0806F424
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0806F416
- bl Free
- movs r0, 0
- str r0, [r4, 0x10]
-_0806F416:
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F424
- bl Free
- movs r0, 0
- str r0, [r4, 0xC]
-_0806F424:
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _0806F448
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0806F43A
- bl Free
- movs r0, 0
- str r0, [r4, 0x8]
-_0806F43A:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0806F448
- bl Free
- movs r0, 0
- str r0, [r4, 0x4]
-_0806F448:
- cmp r7, 0
- beq _0806F45E
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- bl Free
- b _0806F468
-_0806F45E:
- movs r0, 0xA3
- strb r0, [r4, 0x2]
- ldr r0, =gUnknown_020249B4
- add r0, r8
- str r4, [r0]
-_0806F468:
- ldr r0, =gUnknown_020249B4
- add r0, r8
- ldr r0, [r0]
-_0806F46E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806F2AC
-
- thumb_func_start sub_806F47C
-sub_806F47C: @ 806F47C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- ands r0, r1
- ldr r1, =gUnknown_020249B4
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0806F4F0
- ldrb r0, [r4, 0x2]
- cmp r0, 0xA3
- beq _0806F4A8
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- b _0806F4F0
- .pool
-_0806F4A8:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0806F4B6
- bl Free
- movs r0, 0
- str r0, [r4, 0x10]
-_0806F4B6:
- ldr r0, [r4, 0xC]
- cmp r0, 0
- beq _0806F4C4
- bl Free
- movs r0, 0
- str r0, [r4, 0xC]
-_0806F4C4:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0806F4D2
- bl Free
- movs r0, 0
- str r0, [r4, 0x8]
-_0806F4D2:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0806F4E0
- bl Free
- movs r0, 0
- str r0, [r4, 0x4]
-_0806F4E0:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- bl Free
-_0806F4F0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806F47C
-
- thumb_func_start sub_806F4F8
-sub_806F4F8: @ 806F4F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r2, =gUnknown_020249B4
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- cmp r0, 0xA3
- beq _0806F51C
- movs r0, 0
- b _0806F530
- .pool
-_0806F51C:
- ldrb r0, [r1]
- lsls r0, 28
- lsrs r0, 28
- cmp r3, r0
- blt _0806F528
- movs r3, 0
-_0806F528:
- ldr r0, [r1, 0x8]
- lsls r1, r3, 2
- adds r1, r0
- ldr r0, [r1]
-_0806F530:
- pop {r1}
- bx r1
- thumb_func_end sub_806F4F8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_animation.s b/asm/pokemon_animation.s
deleted file mode 100644
index 870e658f7..000000000
--- a/asm/pokemon_animation.s
+++ /dev/null
@@ -1,11782 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start nullsub_69
-nullsub_69: @ 817F3EC
- bx lr
- thumb_func_end nullsub_69
-
- thumb_func_start sub_817F3F0
-sub_817F3F0: @ 817F3F0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r9, r0
- mov r8, r1
- adds r5, r2, 0
- adds r4, r3, 0
- lsls r5, 16
- negs r5, r5
- lsls r4, 16
- negs r4, r4
- lsrs r4, 16
- mov r0, r8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- asrs r5, 16
- adds r1, r5, 0
- bl Cos
- adds r6, r0, 0
- lsls r4, 16
- asrs r4, 16
- mov r0, r8
- adds r1, r4, 0
- bl Sin
- subs r6, r0
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- adds r1, r4, 0
- bl Cos
- adds r2, r0, 0
- mov r0, r8
- adds r1, r5, 0
- str r2, [sp]
- bl Sin
- ldr r2, [sp]
- adds r2, r0
- negs r5, r5
- negs r4, r4
- lsls r6, 16
- asrs r6, 16
- lsls r5, 16
- asrs r5, 16
- adds r6, r5
- mov r0, r9
- strh r6, [r0, 0x24]
- lsls r2, 16
- asrs r2, 16
- lsls r4, 16
- asrs r4, 16
- adds r2, r4
- strh r2, [r0, 0x26]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_817F3F0
-
- thumb_func_start GetSpeciesBackAnimId
-GetSpeciesBackAnimId: @ 817F474
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gUnknown_0860A8C8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0817F48C
- movs r0, 0
- b _0817F492
- .pool
-_0817F48C:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0817F492:
- pop {r1}
- bx r1
- thumb_func_end GetSpeciesBackAnimId
-
- thumb_func_start sub_817F498
-sub_817F498: @ 817F498
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- lsls r3, r0, 16
- movs r4, 0xC
- ldrsh r0, [r2, r4]
- orrs r3, r0
- movs r0, 0x8
- ldrsh r4, [r2, r0]
- mov r8, r1
- ldr r0, =SpriteCallbackDummy
- mov r12, r0
- cmp r4, 0
- bne _0817F508
- ldrh r0, [r3, 0x2E]
- strh r0, [r2, 0x10]
- ldrh r0, [r3, 0x32]
- strh r0, [r2, 0x12]
- movs r0, 0x1
- strh r0, [r3, 0x30]
- strh r4, [r3, 0x2E]
- movs r0, 0x2
- adds r1, r6, 0
- ldr r6, =gUnknown_0860AA88
- ldr r7, =gUnknown_03001274
- movs r4, 0
- adds r2, r3, 0
- adds r2, 0x32
-_0817F4E2:
- strh r4, [r2]
- adds r2, 0x2
- adds r0, 0x1
- cmp r0, 0x7
- bls _0817F4E2
- adds r1, r5
- lsls r1, 3
- add r1, r8
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0
- str r0, [r7]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0817F508:
- ldr r0, [r3, 0x1C]
- cmp r0, r12
- bne _0817F528
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- add r0, r8
- ldrh r1, [r0, 0x10]
- movs r2, 0
- strh r1, [r3, 0x2E]
- ldrh r0, [r0, 0x12]
- strh r0, [r3, 0x32]
- strh r2, [r3, 0x30]
- adds r0, r5, 0
- bl DestroyTask
-_0817F528:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817F498
-
- thumb_func_start LaunchAnimationTaskForFrontSprite
-LaunchAnimationTaskForFrontSprite: @ 817F544
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r0, =sub_817F498
- movs r1, 0x80
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsrs r0, r5, 16
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- strh r4, [r1, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LaunchAnimationTaskForFrontSprite
-
- thumb_func_start sub_817F578
-sub_817F578: @ 817F578
- lsls r1, 24
- ldr r3, =gUnknown_03001274
- movs r2, 0x1
- str r2, [r3]
- ldr r2, =gUnknown_0860AA88
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_817F578
-
- thumb_func_start LaunchAnimationTaskForBackSprite
-LaunchAnimationTaskForBackSprite: @ 817F594
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r6, r1, 24
- lsrs r6, 24
- ldr r0, =sub_817F498
- movs r1, 0x80
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- lsrs r0, r5, 16
- strh r0, [r4, 0xA]
- strh r5, [r4, 0xC]
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- ldr r1, =gBattlePartyID
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl GetNature
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r6, 1
- ldr r2, =gUnknown_0860AD2F
- adds r0, r2
- adds r1, r6
- ldrb r0, [r0]
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gUnknown_0860ACE4
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LaunchAnimationTaskForBackSprite
-
- thumb_func_start sub_817F60C
-sub_817F60C: @ 817F60C
- ldr r1, =nullsub_69
- str r1, [r0, 0x1C]
- bx lr
- .pool
- thumb_func_end sub_817F60C
-
- thumb_func_start sub_817F618
-sub_817F618: @ 817F618
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r1, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r4, =0xffff0000
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- ldr r1, [sp, 0x4]
- ands r1, r4
- orrs r1, r3
- str r1, [sp, 0x4]
- ldrb r4, [r0, 0x3]
- lsls r4, 26
- lsrs r4, 27
- add r5, sp, 0x8
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ObjAffineSet
- ldr r0, =gOamMatrices
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r5]
- strh r0, [r4]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x6]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817F618
-
- thumb_func_start sub_817F670
-sub_817F670: @ 817F670
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, =gUnknown_0860AD68
- str r0, [r4, 0x10]
- ldr r0, =gUnknown_03001274
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0817F68E
- adds r0, r4, 0
- bl InitSpriteAffineAnim
-_0817F68E:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0817F6A8
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _0817F6B0
- .pool
-_0817F6A8:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
-_0817F6B0:
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817F670
-
- thumb_func_start sub_817F6D4
-sub_817F6D4: @ 817F6D4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- movs r5, 0x30
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _0817F6F8
- lsls r0, r1, 16
- negs r0, r0
- lsrs r1, r0, 16
- negs r0, r3
- lsls r0, 16
- lsrs r3, r0, 16
-_0817F6F8:
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- bl sub_817F618
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817F6D4
-
- thumb_func_start sub_817F70C
-sub_817F70C: @ 817F70C
- push {lr}
- adds r1, r0, 0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0817F720
- movs r2, 0x24
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x24]
-_0817F720:
- pop {r0}
- bx r0
- thumb_func_end sub_817F70C
-
- thumb_func_start sub_817F724
-sub_817F724: @ 817F724
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _0817F750
- ldr r1, =gUnknown_03001240
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0
- strh r2, [r0, 0x6]
- strh r2, [r0]
- movs r1, 0x1
- strh r1, [r0, 0x4]
- strh r2, [r0, 0x2]
- strh r2, [r0, 0x8]
- movs r0, 0x1
- b _0817F752
- .pool
-_0817F750:
- movs r0, 0
-_0817F752:
- pop {r1}
- bx r1
- thumb_func_end sub_817F724
-
- thumb_func_start sub_817F758
-sub_817F758: @ 817F758
- push {r4,lr}
- ldr r4, =gUnknown_03001270
- ldrb r1, [r4]
- adds r2, r1, 0x1
- adds r0, r2, 0
- asrs r0, 2
- lsls r0, 2
- subs r0, r2, r0
- strb r0, [r4]
- ldrb r0, [r4]
- bl sub_817F724
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_817F758
-
- thumb_func_start sub_817F77C
-sub_817F77C: @ 817F77C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x1]
- movs r3, 0x4
- negs r3, r3
- ands r3, r0
- movs r5, 0x1
- orrs r3, r5
- strb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r0, =gUnknown_03001274
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0817F800
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0817F7C0
- adds r1, r4, 0
- adds r1, 0x3F
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- adds r5, r1, 0
- b _0817F7D0
- .pool
-_0817F7C0:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r2, [r0]
- movs r1, 0x2
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r5, r0, 0
-_0817F7D0:
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r2, [r4, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- ldrb r0, [r5]
- lsls r0, 31
- lsrs r0, 31
- lsls r0, 3
- orrs r1, r0
- lsls r1, 1
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_0817F800:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817F77C
-
- thumb_func_start pokemonanimfunc_01
-pokemonanimfunc_01: @ 817F808
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0817F81A
- adds r0, r6, 0
- bl sub_817F670
-_0817F81A:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x28
- ble _0817F840
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _0817F88C
- .pool
-_0817F840:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 9
- movs r1, 0x28
- bl __divsi3
- adds r4, r0, 0
- cmp r0, 0
- bge _0817F854
- adds r4, 0xFF
-_0817F854:
- asrs r4, 8
- lsls r4, 8
- subs r4, r0, r4
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x20
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- strh r0, [r6, 0x36]
- adds r0, r4, 0
- movs r1, 0x20
- bl Cos
- adds r0, r5
- strh r0, [r6, 0x38]
- movs r0, 0x36
- ldrsh r1, [r6, r0]
- movs r0, 0x38
- ldrsh r2, [r6, r0]
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F6D4
-_0817F88C:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_01
-
- thumb_func_start pokemonanimfunc_02
-pokemonanimfunc_02: @ 817F898
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x28
- ble _0817F8B4
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0817F8EE
- .pool
-_0817F8B4:
- movs r0, 0x1
- ands r0, r1
- movs r5, 0xFF
- cmp r0, 0
- bne _0817F8C0
- movs r5, 0x1
-_0817F8C0:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0817F8D4
- adds r0, 0xFF
-_0817F8D4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl Sin
- lsls r1, r5, 24
- asrs r1, 24
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
-_0817F8EE:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_02
-
- thumb_func_start sub_817F8FC
-sub_817F8FC: @ 817F8FC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _0817F91C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0817F946
- .pool
-_0817F91C:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 7
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0817F936
- adds r0, 0xFF
-_0817F936:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl Sin
-_0817F946:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817F8FC
-
- thumb_func_start pokemonanimfunc_03
-pokemonanimfunc_03: @ 817F95C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x28
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F8FC
- ldr r0, =sub_817F8FC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_03
-
- thumb_func_start sub_817F978
-sub_817F978: @ 817F978
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _0817F998
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0817F9C4
- .pool
-_0817F998:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 7
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0817F9B2
- adds r0, 0xFF
-_0817F9B2:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl Sin
- negs r0, r0
-_0817F9C4:
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817F978
-
- thumb_func_start pokemonanimfunc_04
-pokemonanimfunc_04: @ 817F9D8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x28
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F978
- ldr r0, =sub_817F978
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_04
-
- thumb_func_start sub_817F9F4
-sub_817F9F4: @ 817F9F4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0xC0
- lsls r0, 1
- cmp r1, r0
- ble _0817FA14
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- b _0817FA5E
- .pool
-_0817FA14:
- adds r0, r1, 0
- cmp r1, 0
- bge _0817FA1C
- adds r0, 0x7F
-_0817FA1C:
- asrs r2, r0, 7
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0
- blt _0817FA60
- cmp r0, 0x1
- ble _0817FA48
- cmp r0, 0x3
- bgt _0817FA60
- ldr r2, =0xffffff00
- adds r1, r2
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x2E
- ldrsh r2, [r4, r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 16
- b _0817FA56
- .pool
-_0817FA48:
- lsls r0, r2, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsls r1, 17
-_0817FA56:
- asrs r1, 16
- bl Sin
- negs r0, r0
-_0817FA5E:
- strh r0, [r4, 0x26]
-_0817FA60:
- ldrh r0, [r4, 0x32]
- adds r0, 0xC
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817F9F4
-
- thumb_func_start pokemonanimfunc_1E
-pokemonanimfunc_1E: @ 817FA6C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x4
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F9F4
- ldr r0, =sub_817F9F4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_1E
-
- thumb_func_start pokemonanimfunc_06
-pokemonanimfunc_06: @ 817FA88
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r0, 0xC0
- lsls r0, 2
- cmp r2, r0
- ble _0817FAA8
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- b _0817FB56
- .pool
-_0817FAA8:
- adds r0, r2, 0
- cmp r2, 0
- bge _0817FAB0
- adds r0, 0x7F
-_0817FAB0:
- lsls r0, 9
- asrs r0, 16
- cmp r0, 0x5
- bhi _0817FB3C
- lsls r0, 2
- ldr r1, =_0817FAC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0817FAC8:
- .4byte _0817FAE0
- .4byte _0817FAE0
- .4byte _0817FAE4
- .4byte _0817FAE8
- .4byte _0817FB04
- .4byte _0817FB1E
-_0817FAE0:
- movs r0, 0
- b _0817FB3A
-_0817FAE4:
- movs r2, 0
- b _0817FB3C
-_0817FAE8:
- adds r0, r2, 0
- cmp r2, 0
- bge _0817FAF0
- adds r0, 0x7F
-_0817FAF0:
- asrs r0, 7
- lsls r0, 7
- subs r0, r2, r0
- lsls r0, 3
- negs r0, r0
- cmp r0, 0
- bge _0817FB00
- adds r0, 0x7F
-_0817FB00:
- asrs r0, 7
- b _0817FB3A
-_0817FB04:
- adds r0, r2, 0
- cmp r2, 0
- bge _0817FB0C
- adds r0, 0x7F
-_0817FB0C:
- asrs r0, 7
- lsls r0, 7
- subs r0, r2, r0
- cmp r0, 0
- bge _0817FB18
- adds r0, 0x7
-_0817FB18:
- asrs r0, 3
- subs r0, 0x8
- b _0817FB3A
-_0817FB1E:
- adds r0, r2, 0
- cmp r2, 0
- bge _0817FB26
- adds r0, 0x7F
-_0817FB26:
- asrs r0, 7
- lsls r0, 7
- subs r0, r2, r0
- lsls r0, 3
- negs r0, r0
- cmp r0, 0
- bge _0817FB36
- adds r0, 0x7F
-_0817FB36:
- asrs r0, 7
- adds r0, 0x8
-_0817FB3A:
- strh r0, [r4, 0x24]
-_0817FB3C:
- adds r0, r2, 0
- cmp r2, 0
- bge _0817FB44
- adds r0, 0x7F
-_0817FB44:
- asrs r0, 7
- lsls r0, 7
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
-_0817FB56:
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0xC
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_06
-
- thumb_func_start pokemonanimfunc_09
-pokemonanimfunc_09: @ 817FB64
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0817FB76
- adds r0, r6, 0
- bl sub_817F670
-_0817FB76:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x28
- ble _0817FB9C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _0817FC12
- .pool
-_0817FB9C:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 8
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0817FBB0
- adds r0, 0xFF
-_0817FBB0:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r0, [r6, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0817FBE0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x20
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- strh r0, [r6, 0x36]
- adds r0, r4, 0
- movs r1, 0x20
- b _0817FBFA
-_0817FBE0:
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x8
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- strh r0, [r6, 0x36]
- adds r0, r4, 0
- movs r1, 0x8
-_0817FBFA:
- bl Sin
- adds r0, r5
- strh r0, [r6, 0x38]
- movs r0, 0x36
- ldrsh r1, [r6, r0]
- movs r0, 0x38
- ldrsh r2, [r6, r0]
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F6D4
-_0817FC12:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_09
-
- thumb_func_start sub_817FC20
-sub_817FC20: @ 817FC20
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0817FC32
- strh r0, [r4, 0x34]
-_0817FC32:
- ldr r2, =gUnknown_0860AD70
- movs r5, 0x34
- ldrsh r1, [r4, r5]
- lsls r0, r1, 1
- adds r0, r1
- adds r1, r2, 0x2
- adds r3, r0, r1
- movs r1, 0
- ldrsb r1, [r3, r1]
- movs r5, 0x32
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0817FC6A
- adds r0, r1, 0
- cmp r0, 0
- bne _0817FC60
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0817FC6A
- .pool
-_0817FC60:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x34]
- strh r1, [r4, 0x32]
-_0817FC6A:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r1, r0, r1
- adds r0, r2, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _0817FC8C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0817FCBE
- .pool
-_0817FC8C:
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r5, 0x34
- ldrsh r1, [r4, r5]
- lsls r0, r1, 1
- adds r0, r1
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
-_0817FCBE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_817FC20
-
- thumb_func_start pokemonanimfunc_0A
-pokemonanimfunc_0A: @ 817FCC4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817FC20
- ldr r0, =sub_817FC20
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0A
-
- thumb_func_start sub_817FCDC
-sub_817FCDC: @ 817FCDC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x90
- lsls r0, 4
- cmp r1, r0
- ble _0817FCF8
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0817FD12
- .pool
-_0817FCF8:
- adds r0, r1, 0
- cmp r1, 0
- bge _0817FD00
- adds r0, 0xFF
-_0817FD00:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
-_0817FD12:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817FCDC
-
- thumb_func_start pokemonanimfunc_0F
-pokemonanimfunc_0F: @ 817FD24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817FCDC
- ldr r0, =sub_817FCDC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0F
-
- thumb_func_start sub_817FD44
-sub_817FD44: @ 817FD44
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x90
- lsls r0, 4
- cmp r1, r0
- ble _0817FD60
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0817FD78
- .pool
-_0817FD60:
- adds r0, r1, 0
- cmp r1, 0
- bge _0817FD68
- adds r0, 0xFF
-_0817FD68:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl Sin
-_0817FD78:
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_817FD44
-
- thumb_func_start pokemonanimfunc_10
-pokemonanimfunc_10: @ 817FD88
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817FD44
- ldr r0, =sub_817FD44
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_10
-
- thumb_func_start pokemonanimfunc_11
-pokemonanimfunc_11: @ 817FDA4
- push {r4-r7,lr}
- adds r7, r0, 0
- ldrh r2, [r7, 0x32]
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _0817FDC8
- ldr r0, =sub_8184D88
- str r0, [r7, 0x1C]
- movs r0, 0
- strh r0, [r7, 0x24]
- strh r0, [r7, 0x26]
- b _0817FE24
- .pool
-_0817FDC8:
- movs r0, 0x1
- ands r0, r2
- movs r5, 0xFF
- cmp r0, 0
- bne _0817FDD4
- movs r5, 0x1
-_0817FDD4:
- movs r1, 0x32
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bge _0817FDDE
- adds r0, 0x3
-_0817FDDE:
- asrs r0, 2
- movs r1, 0x8
- bl Sin
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0x32
- ldrsh r1, [r7, r0]
- adds r4, r1, 0
- cmp r1, 0
- bge _0817FDF6
- adds r4, 0xFF
-_0817FDF6:
- asrs r4, 8
- lsls r4, 8
- subs r4, r1, r4
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- adds r1, r6, 0
- bl Sin
- lsls r5, 24
- asrs r5, 24
- adds r1, r0, 0
- muls r1, r5
- adds r0, r1, 0
- strh r0, [r7, 0x26]
- adds r0, r4, 0
- adds r1, r6, 0
- bl Cos
- adds r1, r0, 0
- muls r1, r5
- adds r0, r1, 0
- strh r0, [r7, 0x24]
-_0817FE24:
- ldrh r0, [r7, 0x32]
- adds r0, 0x9
- strh r0, [r7, 0x32]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_11
-
- thumb_func_start sub_817FE30
-sub_817FE30: @ 817FE30
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_03001240
- ldrh r6, [r4, 0x2E]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrh r0, [r5]
- cmp r0, 0
- beq _0817FE54
- subs r0, 0x1
- strh r0, [r5]
- b _0817FEF8
- .pool
-_0817FE54:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0817FE70
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _0817FE70
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0817FE70:
- ldr r2, =gUnknown_03001240
- lsls r1, r6, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r1, r0
- ble _0817FEC4
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r1, [r5, 0x4]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- ble _0817FEB4
- subs r0, r1, 0x1
- movs r1, 0
- strh r0, [r5, 0x4]
- movs r0, 0xA
- strh r0, [r5]
- strh r1, [r4, 0x32]
- b _0817FEF2
- .pool
-_0817FEB4:
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0817FEF2
- .pool
-_0817FEC4:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _0817FED0
- adds r0, 0xFF
-_0817FED0:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x80
- lsls r1, 5
- bl Sin
- strh r0, [r4, 0x3A]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3A]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
-_0817FEF2:
- ldrh r0, [r4, 0x32]
- adds r0, 0x10
- strh r0, [r4, 0x32]
-_0817FEF8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_817FE30
-
- thumb_func_start pokemonanimfunc_12
-pokemonanimfunc_12: @ 817FF00
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r1, 0x6]
- strh r3, [r1]
- adds r0, r4, 0
- bl sub_817FE30
- ldr r0, =sub_817FE30
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_12
-
- thumb_func_start sub_817FF3C
-sub_817FF3C: @ 817FF3C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0817FF54
- adds r0, r4, 0
- bl sub_817F670
-_0817FF54:
- movs r2, 0x32
- ldrsh r6, [r4, r2]
- ldr r1, =gUnknown_03001240
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- cmp r6, r1
- ble _0817FF8C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0817FFAA
- .pool
-_0817FF8C:
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- muls r0, r6
- strh r0, [r4, 0x3A]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3A]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
-_0817FFAA:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_817FF3C
-
- thumb_func_start pokemonanimfunc_1F
-pokemonanimfunc_1F: @ 817FFB8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3C
- strh r0, [r1]
- movs r0, 0x14
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_817FF3C
- ldr r0, =sub_817FF3C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_1F
-
- thumb_func_start sub_817FFF0
-sub_817FFF0: @ 817FFF0
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- bl sub_817F70C
- ldr r1, =gUnknown_03001240
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r6, r0, r1
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _0818002C
- movs r0, 0
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
- b _0818006A
- .pool
-_0818002C:
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- adds r0, r1, 0
- adds r0, 0xC0
- adds r4, r0, 0
- cmp r0, 0
- bge _0818003E
- ldr r2, =0x000001bf
- adds r4, r1, r2
-_0818003E:
- asrs r4, 8
- lsls r4, 8
- subs r4, r0, r4
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r1, 17
- asrs r1, 16
- adds r0, r4, 0
- bl Cos
- negs r0, r0
- strh r0, [r5, 0x24]
- movs r2, 0x8
- ldrsh r1, [r6, r2]
- adds r0, r4, 0
- bl Sin
- ldrh r1, [r6, 0x8]
- adds r0, r1
- strh r0, [r5, 0x26]
-_0818006A:
- ldr r0, =gUnknown_03001240
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F70C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_817FFF0
-
- thumb_func_start pokemonanimfunc_14
-pokemonanimfunc_14: @ 8180090
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r1, 0x6]
- movs r0, 0x6
- strh r0, [r1, 0x8]
- movs r0, 0x18
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- bl sub_817FFF0
- ldr r0, =sub_817FFF0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_14
-
- thumb_func_start pokemonanimfunc_15
-pokemonanimfunc_15: @ 81800D0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081800EC
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_081800EC:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _0818010C
- ldrh r0, [r4, 0x3C]
- movs r1, 0x10
- movs r2, 0
- movs r3, 0
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180128
- .pool
-_0818010C:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x10
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x10
- movs r3, 0
- bl BlendPalette
-_08180128:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_15
-
- thumb_func_start pokemonanimfunc_16
-pokemonanimfunc_16: @ 8180134
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08180148
- adds r0, r6, 0
- bl sub_817F670
-_08180148:
- ldrh r5, [r6, 0x32]
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- cmp r0, 0x28
- ble _08180170
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08180204
- .pool
-_08180170:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 7
- movs r1, 0x28
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _08180196
- ldrh r0, [r6, 0x3C]
- adds r0, 0x33
- strh r0, [r6, 0x3C]
- movs r7, 0xFF
- ands r7, r0
-_08180196:
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bne _081801C4
- lsls r5, r4, 16
- asrs r0, r5, 16
- movs r1, 0x28
- bl Sin
- adds r4, r0, 0
- adds r0, r7, 0
- movs r1, 0x10
- bl Sin
- ldr r1, =0xffffff00
- adds r0, r1
- adds r4, r0
- strh r4, [r6, 0x36]
- adds r4, r5, 0
- b _081801E4
- .pool
-_081801C4:
- adds r0, r7, 0
- movs r1, 0x10
- bl Sin
- adds r5, r0, 0
- lsls r4, 16
- asrs r0, r4, 16
- movs r1, 0x28
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r5
- subs r1, r0
- strh r1, [r6, 0x36]
-_081801E4:
- asrs r0, r4, 16
- movs r1, 0x10
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x38]
- movs r2, 0x36
- ldrsh r1, [r6, r2]
- movs r0, 0x38
- ldrsh r2, [r6, r0]
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F618
-_08180204:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_16
-
- thumb_func_start pokemonanimfunc_17
-pokemonanimfunc_17: @ 8180210
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- movs r7, 0
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0818022C
- adds r0, r5, 0
- bl sub_817F670
-_0818022C:
- ldrh r6, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0x28
- ble _08180258
- movs r2, 0x80
- lsls r2, 1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r5, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
- mov r0, r8
- strh r0, [r5, 0x26]
- b _0818030A
- .pool
-_08180258:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- lsls r0, 7
- movs r1, 0x28
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r6, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _0818027E
- ldrh r0, [r5, 0x3C]
- adds r0, 0x33
- strh r0, [r5, 0x3C]
- movs r7, 0xFF
- ands r7, r0
-_0818027E:
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _081802A0
- lsls r4, 16
- asrs r0, r4, 16
- movs r1, 0x10
- bl Sin
- ldr r2, =0xffffff00
- adds r1, r2, 0
- subs r1, r0
- strh r1, [r5, 0x36]
- b _081802B2
- .pool
-_081802A0:
- lsls r4, 16
- asrs r0, r4, 16
- movs r1, 0x10
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r5, 0x36]
-_081802B2:
- adds r6, r4, 0
- adds r0, r7, 0
- movs r1, 0x8
- bl Sin
- adds r4, r0, 0
- asrs r0, r6, 16
- movs r1, 0x28
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r4, r1, r4
- subs r4, r0
- strh r4, [r5, 0x38]
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r1, 16
- cmp r4, r1
- beq _081802F0
- movs r2, 0x38
- ldrsh r0, [r5, r2]
- subs r0, r1, r0
- cmp r0, 0
- bge _081802EA
- adds r0, 0x7
-_081802EA:
- lsls r0, 13
- lsrs r0, 16
- mov r8, r0
-_081802F0:
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- movs r0, 0x38
- ldrsh r2, [r5, r0]
- adds r0, r5, 0
- movs r3, 0
- bl sub_817F618
-_0818030A:
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_17
-
- thumb_func_start sub_818031C
-sub_818031C: @ 818031C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gUnknown_0860AA80
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r1, r0, r2
- ldrb r5, [r1]
- adds r2, 0x1
- adds r0, r2
- ldrb r6, [r0]
- movs r1, 0
- cmp r5, 0xFE
- beq _08180358
- subs r0, r6, r7
- muls r0, r5
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r1, r0, 24
-_08180358:
- cmp r5, 0xFF
- bne _08180370
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x26]
- b _08180394
- .pool
-_08180370:
- mov r0, r8
- bl Sin
- strh r0, [r4, 0x26]
- cmp r7, r6
- bne _08180386
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r0, 0
- b _08180392
-_08180386:
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
-_08180392:
- strh r0, [r4, 0x3A]
-_08180394:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_818031C
-
- thumb_func_start pokemonanimfunc_19
-pokemonanimfunc_19: @ 81803A0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_818031C
- ldr r0, =sub_818031C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_19
-
- thumb_func_start pokemonanimfunc_1A
-pokemonanimfunc_1A: @ 81803BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x32]
- lsls r7, r0, 24
- lsrs r5, r7, 24
- mov r8, r5
- cmp r0, 0
- bne _081803DA
- adds r0, r4, 0
- bl sub_817F670
-_081803DA:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x23
- ble _08180404
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- b _0818045E
- .pool
-_08180404:
- adds r6, r5, 0
- subs r6, 0xA
- lsls r0, r6, 7
- movs r1, 0x14
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r5, 0x9
- bhi _0818042A
- movs r2, 0x80
- lsls r2, 1
- lsrs r3, r7, 25
- lsls r3, 9
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- b _0818045E
-_0818042A:
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _08180442
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x5
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- b _0818045E
-_08180442:
- movs r2, 0x80
- lsls r2, 1
- movs r3, 0x23
- mov r0, r8
- subs r3, r0
- lsrs r0, r3, 31
- adds r3, r0
- asrs r3, 1
- lsls r3, 26
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
-_0818045E:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_1A
-
- thumb_func_start pokemonanimfunc_1B
-pokemonanimfunc_1B: @ 8180474
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08180486
- adds r0, r6, 0
- bl sub_817F670
-_08180486:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x64
- ble _081804B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r0, 0
- strh r0, [r6, 0x26]
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _081804E8
- .pool
-_081804B0:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 8
- movs r1, 0x64
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl Sin
- strh r0, [r6, 0x26]
- movs r5, 0x80
- lsls r5, 1
- ldr r1, =0x00000ccc
- adds r0, r4, 0
- bl Sin
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r5, 0
- bl sub_817F6D4
-_081804E8:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_1B
-
- thumb_func_start sub_81804F8
-sub_81804F8: @ 81804F8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0818050C
- adds r0, r6, 0
- bl sub_817F670
-_0818050C:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x64
- ble _08180534
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r5, [r6, 0x26]
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08180582
- .pool
-_08180534:
- movs r0, 0x32
- ldrsh r5, [r6, r0]
- lsls r0, r5, 8
- movs r1, 0x64
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 9
- adds r0, r5, 0
- movs r1, 0x64
- bl __divsi3
- adds r5, r0, 0
- movs r0, 0xFF
- ands r5, r0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- adds r0, r4, 0
- bl Sin
- strh r0, [r6, 0x26]
- movs r4, 0x80
- lsls r4, 1
- adds r0, r5, 0
- ldr r1, =0x00000ccc
- bl Sin
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r4, 0
- bl sub_817F6D4
-_08180582:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81804F8
-
- thumb_func_start pokemonanimfunc_1C
-pokemonanimfunc_1C: @ 8180594
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_81804F8
- ldr r0, =sub_81804F8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_1C
-
- thumb_func_start sub_81805B0
-sub_81805B0: @ 81805B0
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081805C4
- adds r0, r6, 0
- bl sub_817F670
-_081805C4:
- movs r2, 0x32
- ldrsh r0, [r6, r2]
- cmp r0, 0x64
- ble _081805EC
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r5, [r6, 0x26]
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08180644
- .pool
-_081805EC:
- movs r0, 0x32
- ldrsh r5, [r6, r0]
- lsls r0, r5, 8
- movs r1, 0x64
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 9
- adds r0, r5, 0
- movs r1, 0x64
- bl __divsi3
- adds r5, r0, 0
- movs r0, 0xFF
- ands r5, r0
- lsls r4, 16
- asrs r0, r4, 16
- lsrs r4, 31
- adds r0, r4
- asrs r0, 1
- movs r2, 0x2E
- ldrsh r1, [r6, r2]
- lsls r1, 17
- asrs r1, 16
- bl Sin
- negs r0, r0
- strh r0, [r6, 0x26]
- movs r4, 0x80
- lsls r4, 1
- adds r0, r5, 0
- ldr r1, =0x00000ccc
- bl Sin
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r4, 0
- bl sub_817F6D4
-_08180644:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81805B0
-
- thumb_func_start pokemonanimfunc_18
-pokemonanimfunc_18: @ 8180654
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_81805B0
- ldr r0, =sub_81805B0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_18
-
- thumb_func_start pokemonanimfunc_1D
-pokemonanimfunc_1D: @ 8180670
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_817F70C
- movs r5, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08180688
- adds r0, r6, 0
- bl sub_817F670
-_08180688:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x64
- ble _081806B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r5, [r6, 0x24]
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _081806FC
- .pool
-_081806B0:
- movs r0, 0x32
- ldrsh r5, [r6, r0]
- lsls r0, r5, 8
- movs r1, 0x64
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 9
- adds r0, r5, 0
- movs r1, 0x64
- bl __divsi3
- adds r5, r0, 0
- movs r0, 0xFF
- ands r5, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x8
- bl Sin
- strh r0, [r6, 0x24]
- movs r4, 0x80
- lsls r4, 1
- adds r0, r5, 0
- ldr r1, =0x00000ccc
- bl Sin
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r4, 0
- bl sub_817F6D4
-_081806FC:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- adds r0, r6, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_1D
-
- thumb_func_start sub_8180714
-sub_8180714: @ 8180714
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r6, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0818072A
- adds r0, r4, 0
- bl sub_817F670
- strh r6, [r4, 0x34]
-_0818072A:
- adds r0, r4, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- cmp r2, r0
- ble _08180760
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r6, [r4, 0x26]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _081807FE
- .pool
-_08180760:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _08180796
- adds r2, r0, 0
- lsls r0, r2, 1
- cmp r1, r0
- bge _08180796
- movs r0, 0x80
- adds r1, r2, 0
- bl __divsi3
- ldrh r1, [r4, 0x34]
- adds r1, r0
- strh r1, [r4, 0x34]
-_08180796:
- lsls r0, r5, 16
- asrs r1, r0, 16
- movs r2, 0x80
- lsls r2, 1
- adds r5, r0, 0
- cmp r1, r2
- ble _081807B0
- subs r0, r2, r1
- cmp r0, 0
- bge _081807AC
- adds r0, 0x7
-_081807AC:
- lsls r0, 13
- lsrs r6, r0, 16
-_081807B0:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- negs r0, r0
- lsls r1, r6, 16
- asrs r1, 16
- subs r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0x20
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- asrs r2, r5, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- bl __divsi3
- ldrh r1, [r4, 0x36]
- adds r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x36]
-_081807FE:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8180714
-
- thumb_func_start pokemonanimfunc_00
-pokemonanimfunc_00: @ 818080C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8180714
- ldr r0, =sub_8180714
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_00
-
- thumb_func_start sub_8180828
-sub_8180828: @ 8180828
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
- movs r0, 0x32
- ldrsh r4, [r5, r0]
- movs r2, 0x3A
- ldrsh r1, [r5, r2]
- movs r0, 0x80
- bl __divsi3
- movs r2, 0x3C
- ldrsh r1, [r5, r2]
- muls r0, r1
- cmp r4, r0
- ble _08180868
- movs r2, 0x80
- lsls r2, 1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r6, [r5, 0x26]
- adds r0, r5, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
- b _081808D0
- .pool
-_08180868:
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0x20
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- cmp r0, r1
- ble _08180894
- subs r0, r1, r0
- cmp r0, 0
- bge _08180890
- adds r0, 0x7
-_08180890:
- lsls r0, 13
- lsrs r6, r0, 16
-_08180894:
- lsls r0, r6, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0x30
- bl Sin
- adds r1, r0, 0
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- lsls r2, r4, 16
- asrs r2, 16
- adds r0, r5, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x36]
-_081808D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8180828
-
- thumb_func_start pokemonanimfunc_13
-pokemonanimfunc_13: @ 81808D8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081808F2
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
-_081808F2:
- adds r0, r4, 0
- bl sub_8180828
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_13
-
- thumb_func_start sub_8180900
-sub_8180900: @ 8180900
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gUnknown_03001240
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x6]
- str r1, [sp]
- ldr r5, =gUnknown_0860AD8E
- movs r3, 0x36
- ldrsh r2, [r4, r3]
- lsls r1, r2, 1
- adds r1, r2
- movs r3, 0x8
- ldrsh r2, [r0, r3]
- lsls r0, r2, 1
- adds r0, r2
- lsls r6, r0, 3
- adds r1, r6
- adds r2, r1, r5
- adds r0, r5, 0x1
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- mov r9, r2
- subs r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldrh r7, [r4, 0x34]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0818096C
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_0818096C:
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r6
- adds r5, 0x2
- mov r8, r5
- adds r1, r0, r5
- movs r5, 0
- ldrsb r5, [r1, r5]
- cmp r5, 0
- bne _081809B0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x26]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180A3A
- .pool
-_081809B0:
- lsls r0, r7, 16
- asrs r5, r0, 16
- lsls r0, r5, 7
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- mov r3, r10
- lsls r0, r3, 16
- asrs r0, 16
- muls r0, r5
- movs r1, 0x36
- ldrsh r2, [r4, r1]
- lsls r1, r2, 1
- adds r1, r2
- adds r1, r6
- add r1, r8
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- bl __divsi3
- add r0, r9
- strh r0, [r4, 0x24]
- ldr r2, [sp]
- lsls r0, r2, 16
- asrs r0, 16
- movs r3, 0x24
- ldrsh r1, [r4, r3]
- muls r0, r1
- negs r0, r0
- cmp r0, 0
- bge _08180A04
- adds r0, 0x7
-_08180A04:
- lsls r3, r0, 13
- lsrs r3, 16
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r6
- add r0, r8
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _08180A34
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r0, 0
- b _08180A38
-_08180A34:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
-_08180A38:
- strh r0, [r4, 0x34]
-_08180A3A:
- adds r0, r4, 0
- bl sub_817F70C
- 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_8180900
-
- thumb_func_start pokemonanimfunc_05
-pokemonanimfunc_05: @ 8180A50
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1, 0x6]
- ldrh r0, [r4, 0x3A]
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_8180900
- ldr r0, =sub_8180900
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_05
-
- thumb_func_start pokemonanimfunc_20
-pokemonanimfunc_20: @ 8180A8C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180AA8
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_08180AA8:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _08180ACC
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000002df
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180AE8
- .pool
-_08180ACC:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =0x000002df
- movs r1, 0x10
- bl BlendPalette
-_08180AE8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_20
-
- thumb_func_start pokemonanimfunc_21
-pokemonanimfunc_21: @ 8180AF8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180B14
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_08180B14:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _08180B34
- ldrh r0, [r4, 0x3C]
- movs r1, 0x10
- movs r2, 0
- movs r3, 0x1F
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180B50
- .pool
-_08180B34:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x10
- movs r3, 0x1F
- bl BlendPalette
-_08180B50:
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_21
-
- thumb_func_start pokemonanimfunc_22
-pokemonanimfunc_22: @ 8180B5C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180B78
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_08180B78:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _08180B98
- ldrh r0, [r4, 0x3C]
- movs r3, 0xF8
- lsls r3, 7
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180BB6
- .pool
-_08180B98:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0xF8
- lsls r3, 7
- movs r1, 0x10
- bl BlendPalette
-_08180BB6:
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_22
-
- thumb_func_start pokemonanimfunc_23
-pokemonanimfunc_23: @ 8180BC4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180BE0
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_08180BE0:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _08180C04
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000003ff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180C20
- .pool
-_08180C04:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =0x000003ff
- movs r1, 0x10
- bl BlendPalette
-_08180C20:
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_23
-
- thumb_func_start pokemonanimfunc_24
-pokemonanimfunc_24: @ 8180C30
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180C4C
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
-_08180C4C:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x80
- ble _08180C70
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x00006018
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08180C8C
- .pool
-_08180C70:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =0x00006018
- movs r1, 0x10
- bl BlendPalette
-_08180C8C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_24
-
- thumb_func_start pokemonanimfunc_25
-pokemonanimfunc_25: @ 8180C9C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- ldr r0, =sub_8180CB4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_25
-
- thumb_func_start sub_8180CB4
-sub_8180CB4: @ 8180CB4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08180CD6
- movs r0, 0x8
- strh r0, [r4, 0x24]
- movs r0, 0x2
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8180CE8
- str r0, [r4, 0x1C]
-_08180CD6:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180CB4
-
- thumb_func_start sub_8180CE8
-sub_8180CE8: @ 8180CE8
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x3C]
- subs r1, r0
- strh r1, [r4, 0x24]
- adds r0, 0x1
- adds r2, r0, 0
- strh r0, [r4, 0x3C]
- lsls r1, 16
- cmp r1, 0
- bgt _08180D32
- lsls r0, r2, 24
- lsrs r2, r0, 24
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x24]
- ldr r5, =sub_8180D44
- movs r3, 0x8
- negs r3, r3
-_08180D14:
- subs r0, r1, r2
- lsls r0, 16
- ldrh r1, [r4, 0x3A]
- adds r1, 0x1
- strh r1, [r4, 0x3A]
- adds r1, r2, 0x1
- lsls r1, 24
- lsrs r2, r1, 24
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, r3
- bgt _08180D14
- movs r0, 0x1
- strh r0, [r4, 0x38]
- str r5, [r4, 0x1C]
-_08180D32:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180CE8
-
- thumb_func_start sub_8180D44
-sub_8180D44: @ 8180D44
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x3C]
- subs r0, r1
- strh r0, [r4, 0x24]
- adds r1, 0x1
- strh r1, [r4, 0x3C]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _08180D84
- strh r2, [r4, 0x38]
-_08180D84:
- movs r2, 0x80
- lsls r2, 1
- lsls r3, r5, 8
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- bge _08180DAE
- strh r1, [r4, 0x24]
- movs r0, 0x2
- strh r0, [r4, 0x36]
- movs r0, 0
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x32]
- ldr r0, =sub_8180DC0
- str r0, [r4, 0x1C]
-_08180DAE:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180D44
-
- thumb_func_start sub_8180DC0
-sub_8180DC0: @ 8180DC0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0xB
- ble _08180E08
- ldrh r0, [r4, 0x32]
- subs r0, 0x2
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- bge _08180DE2
- movs r0, 0
- strh r0, [r4, 0x32]
-_08180DE2:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x32]
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08180E1C
- ldr r0, =sub_8180E28
- str r0, [r4, 0x1C]
- b _08180E1C
- .pool
-_08180E08:
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x36]
- adds r0, r1, 0x1
- strh r0, [r4, 0x34]
-_08180E1C:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8180DC0
-
- thumb_func_start sub_8180E28
-sub_8180E28: @ 8180E28
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- adds r0, 0x2
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _08180E4A
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08180E4A:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180E28
-
- thumb_func_start pokemonanimfunc_26
-pokemonanimfunc_26: @ 8180E5C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r0, 0
- strh r0, [r4, 0x34]
- ldr r0, =sub_8180E78
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_26
-
- thumb_func_start sub_8180E78
-sub_8180E78: @ 8180E78
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r0, 0x1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x24]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08180EA2
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _08180EA2
- movs r0, 0xA
- strh r0, [r4, 0x34]
-_08180EA2:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _08180EBA
- movs r1, 0
- movs r0, 0x8
- strh r0, [r4, 0x24]
- ldr r0, =0x0000fff8
- strh r0, [r4, 0x26]
- strh r1, [r4, 0x36]
- ldr r0, =sub_8180ED0
- str r0, [r4, 0x1C]
-_08180EBA:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180E78
-
- thumb_func_start sub_8180ED0
-sub_8180ED0: @ 8180ED0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Cos
- subs r0, 0x8
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- subs r0, 0x8
- strh r0, [r4, 0x26]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _08180F08
- movs r0, 0xA0
- strh r0, [r4, 0x32]
- movs r0, 0xA
- strh r0, [r4, 0x34]
- ldr r0, =sub_8180F2C
- str r0, [r4, 0x1C]
-_08180F08:
- ldrh r0, [r4, 0x36]
- adds r0, 0x8
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- ble _08180F1A
- movs r0, 0x40
- strh r0, [r4, 0x36]
-_08180F1A:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180ED0
-
- thumb_func_start sub_8180F2C
-sub_8180F2C: @ 8180F2C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x34]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08180F44
- subs r0, r1, 0x1
- strh r0, [r4, 0x34]
- b _08180F96
-_08180F44:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl Cos
- subs r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x5
- bl Sin
- negs r0, r0
- adds r0, 0x4
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- subs r0, 0x4
- strh r0, [r4, 0x32]
- movs r0, 0x32
- ldrsh r3, [r4, r0]
- subs r3, 0x20
- movs r2, 0x80
- lsls r2, 1
- lsls r3, 25
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bgt _08180F96
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x26]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08180F96:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8180F2C
-
- thumb_func_start pokemonanimfunc_27
-pokemonanimfunc_27: @ 8180FA8
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _08180FBA
- subs r0, r1, 0x1
- b _08180FFE
-_08180FBA:
- movs r2, 0
- movs r1, 0x36
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08180FC6
- movs r2, 0x1
-_08180FC6:
- strh r2, [r3, 0x36]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r2, 2
- ldrb r1, [r0]
- movs r4, 0x5
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- orrs r0, r2
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _08180FFC
- ldrb r0, [r1]
- adds r1, r4, 0
- ands r1, r0
- mov r2, r12
- strb r1, [r2]
- ldr r0, =sub_8184D88
- str r0, [r3, 0x1C]
-_08180FFC:
- movs r0, 0x2
-_08180FFE:
- strh r0, [r3, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_27
-
- thumb_func_start pokemonanimfunc_28
-pokemonanimfunc_28: @ 818100C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- ldr r0, =sub_8181024
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_28
-
- thumb_func_start sub_8181024
-sub_8181024: @ 8181024
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x26]
- adds r1, 0x1
- strh r1, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _08181054
- ldr r0, =0x0000fff0
- strh r0, [r4, 0x24]
- movs r0, 0x10
- strh r0, [r4, 0x26]
- ldr r0, =sub_8181068
- str r0, [r4, 0x1C]
- movs r0, 0xA0
- strh r0, [r4, 0x32]
-_08181054:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181024
-
- thumb_func_start sub_8181068
-sub_8181068: @ 8181068
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x32]
- subs r0, 0x4
- strh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x16
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x16
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r0, 0x32
- ldrsh r3, [r4, r0]
- subs r3, 0x20
- movs r2, 0x80
- lsls r2, 1
- lsls r3, 25
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bgt _081810B2
- ldr r0, =sub_81810C4
- str r0, [r4, 0x1C]
-_081810B2:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181068
-
- thumb_func_start sub_81810C4
-sub_81810C4: @ 81810C4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x24]
- subs r1, 0x1
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- lsls r1, 16
- cmp r1, 0
- bgt _081810E8
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_081810E8:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81810C4
-
- thumb_func_start pokemonanimfunc_29
-pokemonanimfunc_29: @ 81810F8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- ldr r0, =sub_8181110
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_29
-
- thumb_func_start sub_8181110
-sub_8181110: @ 8181110
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x24]
- adds r1, 0x1
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r0, 0x1
- strh r0, [r4, 0x26]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xF
- ble _08181134
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r0, =sub_8181144
- str r0, [r4, 0x1C]
-_08181134:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181110
-
- thumb_func_start sub_8181144
-sub_8181144: @ 8181144
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x32]
- adds r0, 0x10
- strh r0, [r4, 0x32]
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bgt _0818117C
- ldr r0, =0x0000fff0
- strh r0, [r4, 0x24]
- movs r0, 0x10
- strh r0, [r4, 0x26]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r0, =sub_81811A4
- str r0, [r4, 0x1C]
- b _08181186
- .pool
-_0818117C:
- subs r0, r2, 0x2
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x2
- strh r0, [r4, 0x26]
-_08181186:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x32]
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8181144
-
- thumb_func_start sub_81811A4
-sub_81811A4: @ 81811A4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x24]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r0, 0x1
- strh r0, [r4, 0x26]
- lsls r1, 16
- cmp r1, 0
- blt _081811CE
- strh r2, [r4, 0x24]
- strh r2, [r4, 0x26]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_081811CE:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81811A4
-
- thumb_func_start pokemonanimfunc_2A
-pokemonanimfunc_2A: @ 81811E0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x2
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- bl sub_8181214
- ldr r0, =sub_8181214
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_2A
-
- thumb_func_start sub_8181214
-sub_8181214: @ 8181214
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- ldrh r0, [r1]
- cmp r0, 0
- beq _08181238
- subs r0, 0x1
- strh r0, [r1]
- b _0818134A
- .pool
-_08181238:
- adds r0, r4, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r5, [r4, r1]
- cmp r5, 0
- bne _08181270
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F670
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r0, [r0, 0x2]
- strh r0, [r4, 0x3C]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x34]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
- strh r5, [r4, 0x3A]
-_08181270:
- movs r3, 0x3C
- ldrsh r1, [r4, r3]
- movs r6, 0x34
- ldrsh r0, [r4, r6]
- lsls r0, 1
- muls r1, r0
- ldrh r0, [r4, 0x24]
- adds r1, r0
- strh r1, [r4, 0x24]
- ldrh r2, [r4, 0x3C]
- ldrh r0, [r4, 0x36]
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrh r6, [r4, 0x26]
- adds r2, r0, r6
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x8
- strh r0, [r4, 0x3A]
- adds r1, 0xF
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x1E
- bls _081812B8
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 4
- strh r0, [r4, 0x24]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x34]
- b _081812D4
- .pool
-_081812B8:
- adds r0, r2, 0
- adds r0, 0xF
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _081812DA
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- lsls r0, 4
- strh r0, [r4, 0x26]
- movs r6, 0x36
- ldrsh r0, [r4, r6]
- negs r0, r0
- strh r0, [r4, 0x36]
-_081812D4:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_081812DA:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _08181332
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bgt _08181332
- movs r3, 0
- strh r3, [r4, 0x24]
- strh r3, [r4, 0x26]
- ldr r5, =gUnknown_03001240
- movs r6, 0x2E
- ldrsh r0, [r4, r6]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrh r2, [r1, 0x4]
- movs r6, 0x4
- ldrsh r0, [r1, r6]
- cmp r0, 0x1
- ble _08181328
- subs r0, r2, 0x1
- strh r0, [r1, 0x4]
- strh r3, [r4, 0x38]
- strh r3, [r4, 0x3A]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xA
- strh r1, [r0]
- b _08181332
- .pool
-_08181328:
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08181332:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3A]
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
-_0818134A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181214
-
- thumb_func_start pokemonanimfunc_2B
-pokemonanimfunc_2B: @ 8181354
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r0, 0
- strh r0, [r4, 0x3A]
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8181370
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_2B
-
- thumb_func_start sub_8181370
-sub_8181370: @ 8181370
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3A]
- adds r0, 0x4
- strh r0, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0xC0
- ble _081813BA
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _081813BA
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- b _081813D2
-_081813BA:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- ble _081813DE
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081813DE
- ldr r1, =0xffffff00
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
-_081813D2:
- movs r3, 0
- bl sub_817F6D4
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_081813DE:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _08181404
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08181404:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181370
-
- thumb_func_start pokemonanimfunc_2C
-pokemonanimfunc_2C: @ 8181418
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08181442
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- strh r2, [r4, 0x3A]
- strh r2, [r4, 0x38]
- strh r2, [r4, 0x36]
-_08181442:
- ldr r1, =gUnknown_0860AA64
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r2, r0, 1
- adds r0, r1, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08181464
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _081814CE
- .pool
-_08181464:
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _0818149A
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08181488
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000003ff
- movs r1, 0x10
- movs r2, 0x10
- bl BlendPalette
- b _08181494
- .pool
-_08181488:
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000003ff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
-_08181494:
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r1, =gUnknown_0860AA64
-_0818149A:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r1, [r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _081814C8
- movs r1, 0
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- b _081814CE
- .pool
-_081814C8:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_081814CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_2C
-
- thumb_func_start sub_81814D4
-sub_81814D4: @ 81814D4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081814E6
- adds r0, r6, 0
- bl sub_817F670
-_081814E6:
- adds r0, r6, 0
- bl sub_817F70C
- ldr r4, =gUnknown_03001240
- movs r3, 0x2E
- ldrsh r1, [r6, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r4
- movs r0, 0x32
- ldrsh r1, [r6, r0]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r1, r0
- ble _0818154C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r3, 0
- strh r3, [r6, 0x24]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrh r2, [r1, 0x4]
- movs r4, 0x4
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- ble _0818153C
- subs r0, r2, 0x1
- strh r0, [r1, 0x4]
- strh r3, [r6, 0x32]
- b _08181588
- .pool
-_0818153C:
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08181588
- .pool
-_0818154C:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl Sin
- negs r0, r0
- strh r0, [r6, 0x24]
- movs r5, 0x80
- lsls r5, 1
- ldr r1, =0x00000ccc
- adds r0, r4, 0
- bl Sin
- adds r3, r0, 0
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r5, 0
- bl sub_817F6D4
-_08181588:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- adds r0, r6, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81814D4
-
- thumb_func_start pokemonanimfunc_2D
-pokemonanimfunc_2D: @ 81815A0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x32
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_81814D4
- ldr r0, =sub_81814D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_2D
-
- thumb_func_start sub_81815D4
-sub_81815D4: @ 81815D4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081815E6
- adds r0, r6, 0
- bl sub_817F670
-_081815E6:
- adds r0, r6, 0
- bl sub_817F70C
- ldr r4, =gUnknown_03001240
- movs r3, 0x2E
- ldrsh r1, [r6, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r4
- movs r0, 0x32
- ldrsh r1, [r6, r0]
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- cmp r1, r0
- ble _0818164C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r3, 0
- strh r3, [r6, 0x24]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrh r2, [r1, 0x4]
- movs r4, 0x4
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- ble _0818163C
- subs r0, r2, 0x1
- strh r0, [r1, 0x4]
- strh r3, [r6, 0x32]
- b _0818168A
- .pool
-_0818163C:
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _0818168A
- .pool
-_0818164C:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl Sin
- negs r0, r0
- strh r0, [r6, 0x24]
- movs r5, 0x80
- lsls r5, 1
- ldr r1, =0x00000ccc
- adds r0, r4, 0
- bl Sin
- adds r3, r0, 0
- negs r3, r3
- lsls r3, 16
- lsrs r3, 16
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r5, 0
- bl sub_817F6D4
-_0818168A:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- adds r0, r6, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81815D4
-
- thumb_func_start pokemonanimfunc_2E
-pokemonanimfunc_2E: @ 81816A0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x32
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_81815D4
- ldr r0, =sub_81815D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_2E
-
- thumb_func_start pokemonanimfunc_2F
-pokemonanimfunc_2F: @ 81816D4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- adds r0, r4, 0
- adds r0, 0x28
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- movs r1, 0xA
- bl __divsi3
- negs r0, r0
- strh r0, [r4, 0x3A]
- movs r0, 0x80
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8181708
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_2F
-
- thumb_func_start sub_8181708
-sub_8181708: @ 8181708
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Cos
- ldrh r1, [r4, 0x3A]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- subs r3, 0x80
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- bgt _08181760
- movs r0, 0x78
- strh r0, [r4, 0x3C]
- movs r0, 0
- strh r0, [r4, 0x34]
- ldr r0, =sub_8181770
- str r0, [r4, 0x1C]
-_08181760:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181708
-
- thumb_func_start sub_8181770
-sub_8181770: @ 8181770
- push {lr}
- adds r1, r0, 0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x14
- bne _08181784
- ldr r0, =sub_8181794
- str r0, [r1, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x34]
-_08181784:
- ldrh r0, [r1, 0x34]
- adds r0, 0x1
- strh r0, [r1, 0x34]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181770
-
- thumb_func_start sub_8181794
-sub_8181794: @ 8181794
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3C]
- adds r0, 0x2
- movs r6, 0
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Cos
- ldrh r1, [r4, 0x3A]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r5, 0x80
- lsls r5, 1
- ldrh r3, [r4, 0x3C]
- subs r3, 0x80
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r5, 0
- bl sub_817F6D4
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _08181800
- strh r6, [r4, 0x24]
- strh r6, [r4, 0x26]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_817F6D4
- strh r6, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =pokemonanimfunc_10
- str r0, [r4, 0x1C]
-_08181800:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181794
-
- thumb_func_start sub_8181810
-sub_8181810: @ 8181810
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrh r0, [r1]
- adds r6, r0, 0
- cmp r6, 0
- beq _08181834
- subs r0, 0x1
- strh r0, [r1]
- b _08181950
- .pool
-_08181834:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0818184A
- adds r0, r5, 0
- bl sub_817F670
- strh r6, [r5, 0x36]
- strh r6, [r5, 0x38]
- movs r0, 0x1
- strh r0, [r5, 0x32]
-_0818184A:
- movs r3, 0x38
- ldrsh r0, [r5, r3]
- cmp r0, 0
- bne _081818A2
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4, 0
- bl Sin
- strh r0, [r5, 0x3C]
- movs r3, 0x36
- ldrsh r0, [r5, r3]
- movs r1, 0x10
- bl Sin
- strh r0, [r5, 0x26]
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0x20
- bl Sin
- adds r1, r0, 0
- strh r1, [r5, 0x3A]
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r5, 0x3C]
- adds r2, r4
- lsls r2, 16
- asrs r2, 16
- adds r0, r5, 0
- movs r3, 0
- bl sub_817F6D4
- movs r3, 0x36
- ldrsh r0, [r5, r3]
- cmp r0, 0x80
- bne _0818193A
- strh r6, [r5, 0x36]
- movs r0, 0x1
- strh r0, [r5, 0x38]
- b _0818193A
-_081818A2:
- cmp r0, 0x1
- bne _0818193A
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r5, 0x3C]
- movs r3, 0x36
- ldrsh r0, [r5, r3]
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- bl Sin
- adds r1, r0, 0
- strh r1, [r5, 0x3A]
- movs r3, 0x80
- lsls r3, 1
- adds r2, r3, 0
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- ldrh r0, [r5, 0x3C]
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r5, 0
- movs r3, 0
- bl sub_817F6D4
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- cmp r0, 0x80
- bne _0818193A
- movs r3, 0x2E
- ldrsh r0, [r5, r3]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r2, [r1, 0x4]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- ble _08181922
- subs r0, r2, 0x1
- strh r0, [r1, 0x4]
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0]
- strh r6, [r5, 0x36]
- strh r6, [r5, 0x38]
- b _0818193A
-_08181922:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r5, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r5, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
-_0818193A:
- ldr r2, =gUnknown_03001240
- movs r3, 0x2E
- ldrsh r1, [r5, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
-_08181950:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181810
-
- thumb_func_start pokemonanimfunc_30
-pokemonanimfunc_30: @ 8181960
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x4
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- bl sub_8181810
- ldr r0, =sub_8181810
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_30
-
- thumb_func_start pokemonanimfunc_31
-pokemonanimfunc_31: @ 8181994
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r4, [r5, r0]
- adds r0, r5, 0
- bl sub_817F70C
- movs r0, 0x80
- lsls r0, 2
- cmp r4, r0
- ble _081819B8
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
- movs r0, 0
- strh r0, [r5, 0x24]
- b _08181A62
- .pool
-_081819B8:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bge _081819C2
- adds r0, 0x7F
-_081819C2:
- asrs r0, 7
- cmp r0, 0x1
- beq _081819F8
- cmp r0, 0x1
- bgt _081819D2
- cmp r0, 0
- beq _081819DC
- b _08181A48
-_081819D2:
- cmp r0, 0x2
- beq _08181A12
- cmp r0, 0x3
- beq _08181A2A
- b _08181A48
-_081819DC:
- adds r0, r4, 0
- cmp r4, 0
- bge _081819E4
- adds r0, 0x7F
-_081819E4:
- asrs r0, 7
- lsls r0, 7
- subs r0, r4, r0
- lsls r0, 3
- negs r0, r0
- cmp r0, 0
- bge _081819F4
- adds r0, 0x7F
-_081819F4:
- asrs r0, 7
- b _08181A46
-_081819F8:
- adds r0, r4, 0
- cmp r4, 0
- bge _08181A00
- adds r0, 0x7F
-_08181A00:
- asrs r0, 7
- lsls r0, 7
- subs r0, r4, r0
- cmp r0, 0
- bge _08181A0C
- adds r0, 0xF
-_08181A0C:
- asrs r0, 4
- subs r0, 0x8
- b _08181A46
-_08181A12:
- adds r0, r4, 0
- cmp r4, 0
- bge _08181A1A
- adds r0, 0x7F
-_08181A1A:
- asrs r0, 7
- lsls r0, 7
- subs r0, r4, r0
- cmp r0, 0
- bge _08181A26
- adds r0, 0xF
-_08181A26:
- asrs r0, 4
- b _08181A46
-_08181A2A:
- adds r0, r4, 0
- cmp r4, 0
- bge _08181A32
- adds r0, 0x7F
-_08181A32:
- asrs r0, 7
- lsls r0, 7
- subs r0, r4, r0
- lsls r0, 3
- negs r0, r0
- cmp r0, 0
- bge _08181A42
- adds r0, 0x7F
-_08181A42:
- asrs r0, 7
- adds r0, 0x8
-_08181A46:
- strh r0, [r5, 0x24]
-_08181A48:
- adds r0, r4, 0
- cmp r4, 0
- bge _08181A50
- adds r0, 0x7F
-_08181A50:
- asrs r0, 7
- lsls r0, 7
- subs r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
-_08181A62:
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x32]
- adds r0, 0xC
- strh r0, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_31
-
- thumb_func_start pokemonanimfunc_32
-pokemonanimfunc_32: @ 8181A78
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, =0x0000ffff
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_817F670
- strh r5, [r4, 0x34]
- adds r0, r4, 0
- bl sub_8181ABC
- ldr r0, =sub_8181ABC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_32
-
- thumb_func_start sub_8181ABC
-sub_8181ABC: @ 8181ABC
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- ldrh r0, [r1]
- adds r5, r0, 0
- cmp r5, 0
- beq _08181AE0
- subs r0, 0x1
- strh r0, [r1]
- b _08181B44
- .pool
-_08181AE0:
- adds r0, r4, 0
- bl sub_817F70C
- movs r1, 0x32
- ldrsh r2, [r4, r1]
- adds r0, r2, 0
- cmp r0, 0x80
- ble _08181AFC
- strh r5, [r4, 0x32]
- ldr r0, =sub_8181B4C
- str r0, [r4, 0x1C]
- b _08181B3E
- .pool
-_08181AFC:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r3, r0, 3
- adds r0, r2, 0
- cmp r2, 0
- bge _08181B16
- adds r0, 0x7F
-_08181B16:
- asrs r0, 7
- lsls r0, 7
- subs r1, r2, r0
- adds r0, r3, 0
- muls r0, r1
- cmp r0, 0
- bge _08181B26
- adds r0, 0x7F
-_08181B26:
- asrs r0, 7
- strh r0, [r4, 0x24]
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0xC
- strh r0, [r4, 0x32]
-_08181B3E:
- adds r0, r4, 0
- bl sub_817F70C
-_08181B44:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8181ABC
-
- thumb_func_start sub_8181B4C
-sub_8181B4C: @ 8181B4C
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x30
- ble _08181B7C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r0, 0
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x32]
- ldr r0, =sub_8181C2C
- str r0, [r4, 0x1C]
- b _08181C1A
- .pool
-_08181B7C:
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0x40
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r6, r1, 0
- adds r0, r6
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r0, [r4, 0x32]
- subs r0, 0x10
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _08181BBA
- ldrh r0, [r4, 0x34]
- adds r0, 0x8
- strh r0, [r4, 0x34]
- ldr r2, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x24]
- ldrh r0, [r0, 0x8]
- subs r1, r0
- strh r1, [r4, 0x24]
-_08181BBA:
- movs r5, 0
- lsls r1, r3, 16
- asrs r2, r1, 16
- lsls r0, r6, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r2, r0
- ble _08181BD6
- subs r0, r2
- cmp r0, 0
- bge _08181BD2
- adds r0, 0x7
-_08181BD2:
- lsls r0, 13
- lsrs r5, r0, 16
-_08181BD6:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- negs r0, r0
- lsls r1, r5, 16
- asrs r1, 16
- subs r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0x20
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- asrs r2, r6, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x36]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x36]
-_08181C1A:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181B4C
-
- thumb_func_start sub_8181C2C
-sub_8181C2C: @ 8181C2C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r3, [r4, r0]
- cmp r3, 0x80
- ble _08181C90
- ldr r3, =gUnknown_03001240
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x4]
- movs r5, 0x4
- ldrsh r0, [r1, r5]
- cmp r0, 0x1
- ble _08181C7C
- subs r0, r2, 0x1
- movs r2, 0
- strh r0, [r1, 0x4]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0xA
- strh r1, [r0]
- strh r2, [r4, 0x34]
- strh r2, [r4, 0x32]
- strh r2, [r4, 0x36]
- ldr r0, =sub_8181ABC
- b _08181C84
- .pool
-_08181C7C:
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
-_08181C84:
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- b _08181CD0
- .pool
-_08181C90:
- ldr r2, =gUnknown_03001240
- movs r5, 0x2E
- ldrsh r1, [r4, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x8
- ldrsh r5, [r0, r1]
- lsls r1, r5, 3
- adds r0, r3, 0
- cmp r3, 0
- bge _08181CAC
- adds r0, 0x7F
-_08181CAC:
- asrs r0, 7
- lsls r0, 7
- subs r2, r3, r0
- adds r0, r1, 0
- muls r0, r2
- cmp r0, 0
- bge _08181CBC
- adds r0, 0x7F
-_08181CBC:
- asrs r0, 7
- lsls r1, r5, 3
- subs r0, r1
- strh r0, [r4, 0x24]
- lsls r0, r2, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
-_08181CD0:
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0xC
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181C2C
-
- thumb_func_start sub_8181CE8
-sub_8181CE8: @ 8181CE8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08181D00
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_08181D00:
- adds r0, r4, 0
- bl sub_817F70C
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r0, 0xFE
- ble _08181D60
- movs r5, 0
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldr r2, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrh r2, [r1, 0x4]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- ble _08181D48
- subs r0, r2, 0x1
- strh r0, [r1, 0x4]
- strh r5, [r4, 0x32]
- strh r5, [r4, 0x3C]
- b _08181D52
- .pool
-_08181D48:
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08181D52:
- adds r0, r4, 0
- bl sub_817F70C
- b _08181DA6
- .pool
-_08181D60:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- movs r1, 0x20
- bl Sin
- adds r3, r0, 0
- movs r2, 0x80
- lsls r2, 1
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- ldr r2, =gUnknown_03001240
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x6]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817F70C
-_08181DA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181CE8
-
- thumb_func_start pokemonanimfunc_33
-pokemonanimfunc_33: @ 8181DB0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x4
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- bl sub_8181CE8
- ldr r0, =sub_8181CE8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_33
-
- thumb_func_start pokemonanimfunc_34
-pokemonanimfunc_34: @ 8181DE4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08181DFC
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_08181DFC:
- adds r0, r4, 0
- bl sub_817F70C
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0xFE
- ble _08181E34
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- adds r0, r4, 0
- bl sub_817F70C
- b _08181E8A
- .pool
-_08181E34:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08181E4E
- adds r0, 0x7F
-_08181E4E:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- adds r3, r0, 0
- movs r2, 0x80
- lsls r2, 1
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817F70C
-_08181E8A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_34
-
- thumb_func_start pokemonanimfunc_35
-pokemonanimfunc_35: @ 8181E90
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0x32
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08181E9E
- strh r0, [r3, 0x3C]
-_08181E9E:
- ldrh r4, [r3, 0x32]
- movs r5, 0x32
- ldrsh r1, [r3, r5]
- ldrh r2, [r3, 0x3C]
- movs r5, 0x3C
- ldrsh r0, [r3, r5]
- cmp r1, r0
- bne _08181EC8
- movs r0, 0
- strh r0, [r3, 0x3C]
- adds r0, r4, 0x1
- strh r0, [r3, 0x32]
- adds r1, r3, 0
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r2, r1, 0
- b _08181ED8
-_08181EC8:
- adds r0, r2, 0x1
- strh r0, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08181ED8:
- movs r1, 0x32
- ldrsh r0, [r3, r1]
- cmp r0, 0xA
- ble _08181EEE
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- ldr r0, =sub_8184D88
- str r0, [r3, 0x1C]
-_08181EEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_35
-
- thumb_func_start pokemonanimfunc_36
-pokemonanimfunc_36: @ 8181EF8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r0, 0
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8181F14
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_36
-
- thumb_func_start sub_8181F14
-sub_8181F14: @ 8181F14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x1F
- ble _08181F34
- movs r0, 0
- movs r1, 0x20
- strh r1, [r4, 0x3C]
- strh r0, [r4, 0x32]
- ldr r0, =sub_8181F50
- str r0, [r4, 0x1C]
- b _08181F38
- .pool
-_08181F34:
- adds r0, r1, 0x4
- strh r0, [r4, 0x3C]
-_08181F38:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8181F14
-
- thumb_func_start sub_8181F50
-sub_8181F50: @ 8181F50
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _08181F74
- ldr r0, =sub_8181FC0
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3A]
- b _08181FAE
- .pool
-_08181F74:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsls r0, 4
- negs r0, r0
- cmp r0, 0
- bge _08181F84
- ldr r1, =0x000001ff
- adds r0, r1
-_08181F84:
- asrs r0, 9
- strh r0, [r4, 0x24]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08181F94
- adds r0, 0x7F
-_08181F94:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0xC
- strh r0, [r4, 0x32]
-_08181FAE:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8181F50
-
- thumb_func_start sub_8181FC0
-sub_8181FC0: @ 8181FC0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3C]
- subs r0, 0x2
- movs r1, 0
- strh r0, [r4, 0x3C]
- lsls r0, 16
- cmp r0, 0
- bge _08181FEC
- strh r1, [r4, 0x3C]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08181FFE
- .pool
-_08181FEC:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsls r0, 17
- asrs r0, 16
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
-_08181FFE:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8181FC0
-
- thumb_func_start pokemonanimfunc_37
-pokemonanimfunc_37: @ 818201C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08182036
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_08182036:
- adds r0, r4, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- ble _08182060
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _081820A6
- .pool
-_08182060:
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r4, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182072
- adds r0, 0x7F
-_08182072:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182092
- adds r0, 0x7F
-_08182092:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
-_081820A6:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081820B2
- adds r0, 0x7F
-_081820B2:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- bl Sin
- adds r3, r0, 0
- movs r2, 0x80
- lsls r2, 1
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_37
-
- thumb_func_start pokemonanimfunc_38
-pokemonanimfunc_38: @ 81820E0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r0, 0
- strh r0, [r4, 0x3C]
- strh r0, [r4, 0x36]
- ldr r0, =sub_81820FC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_38
-
- thumb_func_start sub_81820FC
-sub_81820FC: @ 81820FC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x18
- ble _0818212C
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0818214A
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r0, =sub_818216C
- str r0, [r4, 0x1C]
- b _0818214A
- .pool
-_0818212C:
- adds r0, r1, 0x2
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
-_0818214A:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- negs r3, r3
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81820FC
-
- thumb_func_start sub_818216C
-sub_818216C: @ 818216C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- ble _0818218C
- movs r0, 0x1
- strh r0, [r4, 0x3A]
- ldr r0, =sub_81821CC
- str r0, [r4, 0x1C]
- b _081821AA
- .pool
-_0818218C:
- adds r0, r1, 0x2
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
-_081821AA:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- negs r3, r3
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_818216C
-
- thumb_func_start sub_81821CC
-sub_81821CC: @ 81821CC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 2
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- ble _081821F0
- movs r0, 0x20
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8182248
- str r0, [r4, 0x1C]
-_081821F0:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bls _08182224
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_08182224:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- negs r3, r3
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81821CC
-
- thumb_func_start sub_8182248
-sub_8182248: @ 8182248
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bgt _08182270
- movs r0, 0
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0818228E
- .pool
-_08182270:
- subs r0, r1, 0x2
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
-_0818228E:
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3C]
- negs r3, r3
- lsls r3, 24
- lsrs r3, 16
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8182248
-
- thumb_func_start pokemonanimfunc_39
-pokemonanimfunc_39: @ 81822B0
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x28
- ble _081822D0
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- b _0818235C
- .pool
-_081822D0:
- movs r0, 0x1
- ands r0, r1
- movs r5, 0xFF
- cmp r0, 0
- bne _081822DC
- movs r5, 0x1
-_081822DC:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- adds r0, r2, 0
- cmp r2, 0
- bge _081822E8
- adds r0, r2, 0x3
-_081822E8:
- asrs r0, 2
- lsls r0, 2
- subs r0, r2, r0
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- cmp r1, 0
- bne _0818232C
- lsls r0, r2, 7
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0818230C
- adds r0, 0xFF
-_0818230C:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- bl Sin
- lsls r1, r5, 24
- asrs r1, 24
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- strh r0, [r4, 0x24]
- negs r0, r0
- b _0818235A
-_0818232C:
- lsls r0, r2, 7
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _0818233C
- adds r0, 0xFF
-_0818233C:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- bl Sin
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- lsls r1, r5, 24
- asrs r1, 24
- muls r0, r1
- strh r0, [r4, 0x24]
-_0818235A:
- strh r0, [r4, 0x26]
-_0818235C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_39
-
- thumb_func_start pokemonanimfunc_3A
-pokemonanimfunc_3A: @ 8182370
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08182392
- adds r0, r4, 0
- bl sub_817F670
- strh r5, [r4, 0x38]
- strh r5, [r4, 0x3A]
- strh r5, [r4, 0x3C]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_08182392:
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _081823E4
- subs r0, r1, 0x1
- strh r0, [r4, 0x3A]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _08182494
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 3
- movs r1, 0x14
- bl __divsi3
- adds r1, r0, 0
- ldrh r0, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x40
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r2, r1, 0
- lsls r0, 16
- asrs r0, 16
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- b _08182494
-_081823E4:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bne _08182424
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _08182410
- movs r0, 0x40
- strh r0, [r4, 0x3C]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08182410:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x40
- bl Cos
- lsls r0, 16
- lsrs r3, r0, 16
- b _08182474
- .pool
-_08182424:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x40
- bl Sin
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x3F
- ble _08182448
- movs r0, 0
- movs r1, 0x3
- strh r1, [r4, 0x38]
- movs r1, 0xA
- strh r1, [r4, 0x3A]
- strh r0, [r4, 0x3C]
- b _08182474
-_08182448:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0x30
- ble _0818245C
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _0818245C
- movs r0, 0x2
- b _0818246E
-_0818245C:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _08182474
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08182474
- movs r0, 0x1
-_0818246E:
- strh r0, [r4, 0x38]
- movs r0, 0x14
- strh r0, [r4, 0x3A]
-_08182474:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x2
- strh r0, [r4, 0x3C]
- movs r0, 0x80
- lsls r0, 1
- adds r2, r0, 0
- lsls r0, r3, 16
- asrs r0, 16
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_08182494:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_3A
-
- thumb_func_start pokemonanimfunc_3B
-pokemonanimfunc_3B: @ 81824A0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _081824BA
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_081824BA:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _081824E8
- movs r0, 0
- strh r0, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08182540
- .pool
-_081824E8:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081824F4
- adds r0, 0xFF
-_081824F4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182518
- adds r0, 0x7F
-_08182518:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x60
- bl Sin
- adds r2, r0, 0
- movs r1, 0x80
- lsls r1, 1
- lsls r2, 16
- asrs r2, 16
- adds r2, r1
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
-_08182540:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_3B
-
- thumb_func_start pokemonanimfunc_3C
-pokemonanimfunc_3C: @ 8182548
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08182562
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_08182562:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r5, 0x80
- lsls r5, 1
- cmp r0, r5
- ble _08182590
- movs r0, 0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _081825D4
- .pool
-_08182590:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x4
- strh r0, [r4, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081825AE
- adds r0, 0x3F
-_081825AE:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- lsls r0, 17
- asrs r0, 16
- movs r1, 0x80
- bl Sin
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- adds r2, r5
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_817F6D4
-_081825D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_3C
-
- thumb_func_start pokemonanimfunc_3D
-pokemonanimfunc_3D: @ 81825DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- ldr r0, =sub_81825F8
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_3D
-
- thumb_func_start sub_81825F8
-sub_81825F8: @ 81825F8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- movs r1, 0
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _0818261C
- strh r1, [r4, 0x3C]
- strh r1, [r4, 0x3A]
- ldr r0, =sub_8182648
- str r0, [r4, 0x1C]
- movs r0, 0x40
- b _08182620
- .pool
-_0818261C:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
-_08182620:
- movs r1, 0x80
- bl Sin
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 1
- lsls r2, r0, 16
- asrs r2, 16
- adds r2, r1
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81825F8
-
- thumb_func_start sub_8182648
-sub_8182648: @ 8182648
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x4
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5F
- ble _08182672
- movs r0, 0
- movs r1, 0x80
- bl Cos
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- b _081826C8
-_08182672:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- lsls r1, 2
- negs r1, r1
- subs r1, r0
- strh r1, [r4, 0x26]
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x3F
- ble _081826A4
- ldr r5, =0x0000ffff
- adds r0, r1, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- b _081826A8
- .pool
-_081826A4:
- movs r5, 0x1
- movs r0, 0
-_081826A8:
- lsls r0, 16
- asrs r0, 15
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x80
- bl Cos
- lsls r1, r5, 16
- asrs r1, 16
- adds r2, r1, 0
- muls r2, r0
- adds r0, r2, 0
- lsls r0, 16
- lsrs r2, r0, 16
-_081826C8:
- movs r1, 0x80
- lsls r1, 1
- lsls r2, 16
- asrs r2, 16
- adds r2, r1
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _081826EE
- movs r0, 0
- strh r0, [r4, 0x3C]
- ldr r0, =sub_81826F8
- str r0, [r4, 0x1C]
-_081826EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8182648
-
- thumb_func_start sub_81826F8
-sub_81826F8: @ 81826F8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- bl Cos
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0xC
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _08182742
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_08182742:
- movs r1, 0x80
- lsls r1, 1
- lsls r2, r5, 16
- asrs r2, 16
- adds r2, r1
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81826F8
-
- thumb_func_start sub_8182764
-sub_8182764: @ 8182764
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _08182798
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- b _081827F4
- .pool
-_08182798:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081827A4
- adds r0, 0xFF
-_081827A4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- cmp r1, 0
- bge _081827CC
- adds r0, 0x7F
-_081827CC:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x60
- bl Sin
- adds r1, r0, 0
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- asrs r1, 16
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
-_081827F4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8182764
-
- thumb_func_start pokemonanimfunc_3E
-pokemonanimfunc_3E: @ 81827FC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08182822
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r1, 0x8
- strh r1, [r4, 0x3A]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0x38]
- strh r1, [r4, 0x36]
-_08182822:
- adds r0, r4, 0
- bl sub_8182764
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_3E
-
- thumb_func_start sub_8182830
-sub_8182830: @ 8182830
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _08182864
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- b _081828C0
- .pool
-_08182864:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182870
- adds r0, 0xFF
-_08182870:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182898
- adds r0, 0x3F
-_08182898:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- lsls r0, 17
- asrs r0, 16
- movs r1, 0x80
- bl Sin
- adds r1, r0, 0
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- asrs r1, 16
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F6D4
-_081828C0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8182830
-
- thumb_func_start pokemonanimfunc_3F
-pokemonanimfunc_3F: @ 81828C8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _081828EE
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x4
- strh r0, [r4, 0x3A]
- adds r0, 0xFC
- strh r0, [r4, 0x38]
- movs r0, 0x10
- strh r0, [r4, 0x36]
-_081828EE:
- adds r0, r4, 0
- bl sub_8182830
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_3F
-
- thumb_func_start pokemonanimfunc_40
-pokemonanimfunc_40: @ 81828FC
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _0818291A
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_0818291A:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _08182948
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0818299E
- .pool
-_08182948:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182954
- adds r0, 0xFF
-_08182954:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182978
- adds r0, 0x7F
-_08182978:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x60
- bl Sin
- adds r2, r0, 0
- lsls r2, 16
- movs r0, 0x80
- lsls r0, 17
- adds r2, r0
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_0818299E:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_40
-
- thumb_func_start pokemonanimfunc_41
-pokemonanimfunc_41: @ 81829AC
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _081829CA
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_081829CA:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _081829F8
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08182A5E
- .pool
-_081829F8:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- adds r1, r0, 0
- cmp r0, 0
- bge _08182A04
- adds r1, 0xFF
-_08182A04:
- asrs r1, 8
- lsls r1, 8
- subs r1, r0, r1
- lsls r1, 16
- asrs r0, r1, 16
- lsrs r1, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x10
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- adds r1, r0, 0
- cmp r0, 0
- bge _08182A30
- adds r1, 0xFF
-_08182A30:
- asrs r1, 8
- lsls r1, 8
- subs r1, r0, r1
- lsls r1, 16
- asrs r0, r1, 16
- lsrs r1, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x40
- bl Sin
- adds r2, r0, 0
- negs r2, r2
- lsls r2, 16
- movs r0, 0x80
- lsls r0, 17
- adds r2, r0
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_08182A5E:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_41
-
- thumb_func_start pokemonanimfunc_42
-pokemonanimfunc_42: @ 8182A6C
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08182A8A
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
-_08182A8A:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- ble _08182AB8
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08182B16
- .pool
-_08182AB8:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182AC4
- adds r0, 0xFF
-_08182AC4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- adds r1, r0, 0
- cmp r0, 0
- bge _08182AEA
- adds r1, 0xFF
-_08182AEA:
- asrs r1, 8
- lsls r1, 8
- subs r1, r0, r1
- lsls r1, 16
- asrs r0, r1, 16
- lsrs r1, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x60
- bl Sin
- adds r2, r0, 0
- lsls r2, 16
- movs r0, 0x80
- lsls r0, 17
- adds r2, r0
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_08182B16:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_42
-
- thumb_func_start pokemonanimfunc_43
-pokemonanimfunc_43: @ 8182B24
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- ble _08182B48
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3A]
- b _08182C08
- .pool
-_08182B48:
- movs r1, 0x32
- ldrsh r2, [r4, r1]
- adds r0, r2, 0
- cmp r2, 0
- bge _08182B56
- ldr r1, =0x000001ff
- adds r0, r2, r1
-_08182B56:
- asrs r3, r0, 9
- adds r1, r3, 0
- adds r0, r1, 0
- cmp r1, 0
- bge _08182B62
- adds r0, r1, 0x3
-_08182B62:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _08182BA4
- cmp r0, 0x1
- bgt _08182B80
- cmp r0, 0
- beq _08182B8A
- b _08182BE2
- .pool
-_08182B80:
- cmp r0, 0x2
- beq _08182BB8
- cmp r0, 0x3
- beq _08182BCA
- b _08182BE2
-_08182B8A:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _08182B9C
- ldr r1, =0x000001ff
- adds r0, r1
-_08182B9C:
- asrs r0, 9
- b _08182BE0
- .pool
-_08182BA4:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08182BB2
- adds r0, 0x1F
-_08182BB2:
- asrs r0, 5
- subs r0, 0x10
- b _08182BE0
-_08182BB8:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08182BC6
- adds r0, 0x1F
-_08182BC6:
- asrs r0, 5
- b _08182BE0
-_08182BCA:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _08182BDC
- ldr r1, =0x000001ff
- adds r0, r1
-_08182BDC:
- asrs r0, 9
- adds r0, 0x10
-_08182BE0:
- strh r0, [r4, 0x24]
-_08182BE2:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08182BEE
- adds r0, 0x7F
-_08182BEE:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x18
- strh r0, [r4, 0x32]
-_08182C08:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_43
-
- thumb_func_start pokemonanimfunc_44
-pokemonanimfunc_44: @ 8182C18
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08182C34
- strh r0, [r4, 0x3A]
- movs r0, 0x40
- strh r0, [r4, 0x3C]
- adds r0, r1, 0x1
- strh r0, [r4, 0x32]
-_08182C34:
- ldrh r0, [r4, 0x3C]
- adds r1, r0, 0
- adds r1, 0x8
- movs r3, 0
- strh r1, [r4, 0x3C]
- ldrh r2, [r4, 0x3A]
- movs r5, 0x3A
- ldrsh r0, [r4, r5]
- cmp r0, 0x4
- bne _08182C52
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _08182C60
- b _08182C5A
-_08182C52:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _08182C60
-_08182C5A:
- strh r3, [r4, 0x3C]
- adds r0, r2, 0x1
- strh r0, [r4, 0x3A]
-_08182C60:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _08182D08
- lsls r0, 2
- ldr r1, =_08182C78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08182C78:
- .4byte _08182CEC
- .4byte _08182C8C
- .4byte _08182CAA
- .4byte _08182CCC
- .4byte _08182CEC
-_08182C8C:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x8
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r5, 0x3C
- ldrsh r0, [r4, r5]
- movs r1, 0x8
- bl Sin
- subs r0, 0x8
- strh r0, [r4, 0x26]
- b _08182D12
-_08182CAA:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- adds r0, 0x8
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- b _08182D12
-_08182CCC:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- adds r0, 0x8
- strh r0, [r4, 0x26]
- b _08182D12
-_08182CEC:
- movs r5, 0x3C
- ldrsh r0, [r4, r5]
- movs r1, 0x8
- bl Sin
- subs r0, 0x8
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- b _08182D12
-_08182D08:
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_08182D12:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_44
-
- thumb_func_start pokemonanimfunc_45
-pokemonanimfunc_45: @ 8182D24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8180714
- ldr r0, =sub_8180714
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_45
-
- thumb_func_start pokemonanimfunc_46
-pokemonanimfunc_46: @ 8182D40
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F8FC
- ldr r0, =sub_817F8FC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_46
-
- thumb_func_start pokemonanimfunc_47
-pokemonanimfunc_47: @ 8182D5C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x50
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F978
- ldr r0, =sub_817F978
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_47
-
- thumb_func_start pokemonanimfunc_48
-pokemonanimfunc_48: @ 8182D78
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1, 0x6]
- ldrh r0, [r4, 0x3A]
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_8180900
- ldr r0, =sub_8180900
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_48
-
- thumb_func_start pokemonanimfunc_49
-pokemonanimfunc_49: @ 8182DB4
- push {lr}
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- bl pokemonanimfunc_05
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_49
-
- thumb_func_start pokemonanimfunc_4A
-pokemonanimfunc_4A: @ 8182DC4
- push {lr}
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- bl pokemonanimfunc_48
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_4A
-
- thumb_func_start pokemonanimfunc_4B
-pokemonanimfunc_4B: @ 8182DD4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08182DE2
- strh r0, [r4, 0x2E]
-_08182DE2:
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bgt _08182DF6
- adds r0, r4, 0
- bl sub_817FC20
- movs r0, 0x1
- b _08182DF8
-_08182DF6:
- subs r0, r1, 0x1
-_08182DF8:
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_4B
-
- thumb_func_start pokemonanimfunc_4C
-pokemonanimfunc_4C: @ 8182E00
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817FCDC
- ldr r0, =sub_817FCDC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_4C
-
- thumb_func_start pokemonanimfunc_4D
-pokemonanimfunc_4D: @ 8182E20
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817FD44
- ldr r0, =sub_817FD44
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_4D
-
- thumb_func_start pokemonanimfunc_4E
-pokemonanimfunc_4E: @ 8182E3C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r1, 0x6]
- strh r3, [r1]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_817FE30
- ldr r0, =sub_817FE30
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_4E
-
- thumb_func_start pokemonanimfunc_4F
-pokemonanimfunc_4F: @ 8182E7C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r1, 0x6]
- movs r0, 0x3
- strh r0, [r1, 0x8]
- movs r0, 0xC
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- bl sub_817FFF0
- ldr r0, =sub_817FFF0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_4F
-
- thumb_func_start pokemonanimfunc_50
-pokemonanimfunc_50: @ 8182EBC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x18
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_818031C
- ldr r0, =sub_818031C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_50
-
- thumb_func_start pokemonanimfunc_51
-pokemonanimfunc_51: @ 8182ED8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_81804F8
- ldr r0, =sub_81804F8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_51
-
- thumb_func_start pokemonanimfunc_52
-pokemonanimfunc_52: @ 8182EF4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F9F4
- ldr r0, =sub_817F9F4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_52
-
- thumb_func_start pokemonanimfunc_53
-pokemonanimfunc_53: @ 8182F10
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3C
- strh r0, [r1]
- movs r0, 0x1E
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_817FF3C
- ldr r0, =sub_817FF3C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_53
-
- thumb_func_start pokemonanimfunc_54
-pokemonanimfunc_54: @ 8182F48
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x2]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_8181214
- ldr r0, =sub_8181214
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_54
-
- thumb_func_start pokemonanimfunc_55
-pokemonanimfunc_55: @ 8182F80
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x4
- strh r0, [r1, 0x6]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_8181810
- ldr r0, =sub_8181810
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_55
-
- thumb_func_start pokemonanimfunc_56
-pokemonanimfunc_56: @ 8182FB8
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_817F670
- strh r5, [r4, 0x34]
- adds r0, r4, 0
- bl sub_8181ABC
- ldr r0, =sub_8181ABC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_56
-
- thumb_func_start pokemonanimfunc_07
-pokemonanimfunc_07: @ 8182FFC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x2
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- bl sub_8181CE8
- ldr r0, =sub_8181CE8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_07
-
- thumb_func_start pokemonanimfunc_08
-pokemonanimfunc_08: @ 8183030
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x4
- strh r0, [r1, 0x6]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_8181CE8
- ldr r0, =sub_8181CE8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_08
-
- thumb_func_start pokemonanimfunc_0B
-pokemonanimfunc_0B: @ 8183068
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x64
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_81814D4
- ldr r0, =sub_81814D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0B
-
- thumb_func_start pokemonanimfunc_0C
-pokemonanimfunc_0C: @ 818309C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x32
- strh r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81814D4
- ldr r0, =sub_81814D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0C
-
- thumb_func_start pokemonanimfunc_0D
-pokemonanimfunc_0D: @ 81830D4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x64
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- bl sub_81815D4
- ldr r0, =sub_81815D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0D
-
- thumb_func_start pokemonanimfunc_0E
-pokemonanimfunc_0E: @ 8183108
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x32
- strh r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- bl sub_81815D4
- ldr r0, =sub_81815D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_0E
-
- thumb_func_start sub_8183140
-sub_8183140: @ 8183140
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r0, 0x90
- lsls r0, 4
- cmp r2, r0
- ble _0818315C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _08183180
- .pool
-_0818315C:
- adds r1, r2, 0
- adds r1, 0xC0
- adds r0, r1, 0
- cmp r1, 0
- bge _0818316A
- ldr r3, =0x000001bf
- adds r0, r2, r3
-_0818316A:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x3C]
- adds r0, r1
-_08183180:
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- ldrh r3, [r4, 0x32]
- adds r0, r3
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8183140
-
- thumb_func_start pokemonanimfunc_57
-pokemonanimfunc_57: @ 8183194
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183140
- ldr r0, =sub_8183140
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_57
-
- thumb_func_start pokemonanimfunc_58
-pokemonanimfunc_58: @ 81831B4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183140
- ldr r0, =sub_8183140
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_58
-
- thumb_func_start pokemonanimfunc_59
-pokemonanimfunc_59: @ 81831D4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- ble _081831F8
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3A]
- b _081832BC
- .pool
-_081831F8:
- movs r1, 0x32
- ldrsh r2, [r4, r1]
- adds r0, r2, 0
- cmp r2, 0
- bge _08183206
- ldr r1, =0x000001ff
- adds r0, r2, r1
-_08183206:
- asrs r3, r0, 9
- adds r1, r3, 0
- adds r0, r1, 0
- cmp r1, 0
- bge _08183212
- adds r0, r1, 0x3
-_08183212:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _08183268
- cmp r0, 0x1
- bgt _08183230
- cmp r0, 0
- beq _0818323A
- b _08183298
- .pool
-_08183230:
- cmp r0, 0x2
- beq _0818324C
- cmp r0, 0x3
- beq _08183284
- b _08183298
-_0818323A:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08183248
- adds r0, 0x1F
-_08183248:
- asrs r0, 5
- b _08183296
-_0818324C:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _0818325E
- ldr r1, =0x000001ff
- adds r0, r1
-_0818325E:
- asrs r0, 9
- b _08183296
- .pool
-_08183268:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _0818327A
- ldr r1, =0x000001ff
- adds r0, r1
-_0818327A:
- asrs r0, 9
- adds r0, 0x10
- b _08183296
- .pool
-_08183284:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08183292
- adds r0, 0x1F
-_08183292:
- asrs r0, 5
- subs r0, 0x10
-_08183296:
- strh r0, [r4, 0x24]
-_08183298:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _081832A4
- adds r0, 0x7F
-_081832A4:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x18
- strh r0, [r4, 0x32]
-_081832BC:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_59
-
- thumb_func_start sub_81832C8
-sub_81832C8: @ 81832C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0x38
- ldrsh r1, [r6, r2]
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _0818331A
- mov r0, r8
- strh r0, [r6, 0x26]
- strh r0, [r6, 0x38]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r1, [r6, 0x36]
- movs r2, 0x36
- ldrsh r0, [r6, r2]
- cmp r0, 0x1
- bgt _08183310
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _081833DC
- .pool
-_08183310:
- subs r0, r1, 0x1
- strh r0, [r6, 0x36]
- mov r0, r8
- strh r0, [r6, 0x3C]
- b _081833DC
-_0818331A:
- movs r1, 0x38
- ldrsh r5, [r6, r1]
- lsls r0, r5, 7
- movs r2, 0x3A
- ldrsh r4, [r6, r2]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r4, 0
- bge _08183334
- adds r4, 0x3
-_08183334:
- asrs r1, r4, 2
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r1
- blt _08183358
- cmp r5, r0
- bge _08183358
- ldrh r0, [r6, 0x3C]
- adds r0, 0x33
- strh r0, [r6, 0x3C]
- movs r1, 0xFF
- mov r8, r1
- ands r1, r0
- mov r8, r1
-_08183358:
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0818337C
- lsls r4, r2, 16
- asrs r0, r4, 16
- movs r1, 0x10
- bl Sin
- ldr r2, =0xffffff00
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- b _08183392
- .pool
-_0818337C:
- lsls r4, r2, 16
- asrs r0, r4, 16
- movs r1, 0x10
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
-_08183392:
- adds r7, r4, 0
- ldrh r4, [r6, 0x34]
- lsls r4, 24
- lsrs r4, 24
- mov r5, r8
- adds r0, r4, 0
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl Sin
- adds r5, r0, 0
- asrs r0, r7, 16
- adds r1, r4, 0
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r2, r1, 0
- subs r2, r5
- subs r2, r0
- mov r0, r9
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F618
- ldrh r0, [r6, 0x38]
- adds r0, 0x1
- strh r0, [r6, 0x38]
-_081833DC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81832C8
-
- thumb_func_start pokemonanimfunc_5A
-pokemonanimfunc_5A: @ 81833E8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _0818340A
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x28
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x38]
- strh r6, [r5, 0x3C]
-_0818340A:
- adds r0, r5, 0
- bl sub_81832C8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_5A
-
- thumb_func_start sub_8183418
-sub_8183418: @ 8183418
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0x38
- ldrsh r1, [r6, r2]
- movs r2, 0x3A
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _0818346A
- mov r0, r8
- strh r0, [r6, 0x38]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r1, [r6, 0x36]
- movs r2, 0x36
- ldrsh r0, [r6, r2]
- cmp r0, 0x1
- bgt _08183460
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08183538
- .pool
-_08183460:
- subs r0, r1, 0x1
- strh r0, [r6, 0x36]
- mov r0, r8
- strh r0, [r6, 0x3C]
- b _08183538
-_0818346A:
- movs r1, 0x38
- ldrsh r5, [r6, r1]
- lsls r0, r5, 7
- movs r2, 0x3A
- ldrsh r4, [r6, r2]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r4, 0
- bge _08183486
- adds r4, 0x3
-_08183486:
- asrs r1, r4, 2
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r1
- blt _081834AC
- cmp r5, r0
- bge _081834AC
- ldrh r0, [r6, 0x3C]
- adds r0, 0x33
- strh r0, [r6, 0x3C]
- movs r1, 0xFF
- mov r8, r1
- mov r2, r8
- ands r2, r0
- mov r8, r2
-_081834AC:
- ldrh r0, [r6, 0x34]
- lsls r0, 24
- lsrs r7, r0, 24
- movs r1, 0x30
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _081834F0
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- adds r1, r7, 0
- bl Sin
- adds r4, r0, 0
- mov r5, r8
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 23
- adds r0, r5, 0
- bl Sin
- ldr r1, =0xffffff00
- adds r0, r1
- adds r4, r0
- lsls r4, 16
- lsrs r1, r4, 16
- b _08183522
- .pool
-_081834F0:
- mov r4, r8
- adds r0, r7, 0
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 23
- adds r0, r4, 0
- bl Sin
- adds r4, r0, 0
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- adds r1, r7, 0
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r4
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
-_08183522:
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F618
- ldrh r0, [r6, 0x38]
- adds r0, 0x1
- strh r0, [r6, 0x38]
-_08183538:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8183418
-
- thumb_func_start pokemonanimfunc_5B
-pokemonanimfunc_5B: @ 8183544
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _08183566
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x28
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x38]
- strh r6, [r5, 0x3C]
-_08183566:
- adds r0, r5, 0
- bl sub_8183418
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_5B
-
- thumb_func_start sub_8183574
-sub_8183574: @ 8183574
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x3A]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r3, =gUnknown_0860AA80
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r0, r1, r3
- ldrb r5, [r0]
- adds r2, r5, 0
- cmp r5, 0xFF
- beq _081835A6
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r5, r0, 24
-_081835A6:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r6, [r0]
- movs r7, 0
- cmp r2, 0xFE
- beq _081835C2
- mov r1, r9
- subs r0, r6, r1
- muls r0, r5
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r7, r0, 24
-_081835C2:
- cmp r5, 0xFF
- bne _081835D8
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x26]
- b _0818360A
- .pool
-_081835D8:
- mov r1, r8
- adds r1, 0xC0
- adds r0, r1, 0
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- adds r1, r7, 0
- bl Sin
- adds r0, r7
- strh r0, [r4, 0x26]
- cmp r9, r6
- bne _081835FC
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r0, 0
- b _08183608
-_081835FC:
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
-_08183608:
- strh r0, [r4, 0x3A]
-_0818360A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8183574
-
- thumb_func_start pokemonanimfunc_5C
-pokemonanimfunc_5C: @ 8183618
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x28
- strh r0, [r4, 0x2E]
- movs r0, 0x6
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183574
- ldr r0, =sub_8183574
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_5C
-
- thumb_func_start pokemonanimfunc_5D
-pokemonanimfunc_5D: @ 8183638
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x46
- strh r0, [r4, 0x2E]
- movs r0, 0x6
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_817FCDC
- ldr r0, =sub_817FCDC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_5D
-
- thumb_func_start pokemonanimfunc_5E
-pokemonanimfunc_5E: @ 8183658
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_817F8FC
- ldr r0, =sub_817F8FC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_5E
-
- thumb_func_start pokemonanimfunc_5F
-pokemonanimfunc_5F: @ 8183674
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x28
- ble _08183690
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _081836CA
- .pool
-_08183690:
- movs r0, 0x1
- ands r0, r1
- movs r5, 0xFF
- cmp r0, 0
- bne _0818369C
- movs r5, 0x1
-_0818369C:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _081836B0
- adds r0, 0xFF
-_081836B0:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x9
- bl Sin
- lsls r1, r5, 24
- asrs r1, 24
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
-_081836CA:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_5F
-
- thumb_func_start pokemonanimfunc_60
-pokemonanimfunc_60: @ 81836D8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x28
- ble _081836F4
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- b _0818372E
- .pool
-_081836F4:
- movs r0, 0x1
- ands r0, r1
- movs r5, 0xFF
- cmp r0, 0
- bne _08183700
- movs r5, 0x1
-_08183700:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r1, 0x28
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _08183714
- adds r0, 0xFF
-_08183714:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xC
- bl Sin
- lsls r1, r5, 24
- asrs r1, 24
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
-_0818372E:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_60
-
- thumb_func_start pokemonanimfunc_61
-pokemonanimfunc_61: @ 818373C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x46
- strh r0, [r4, 0x2E]
- movs r0, 0x6
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183140
- ldr r0, =sub_8183140
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_61
-
- thumb_func_start pokemonanimfunc_62
-pokemonanimfunc_62: @ 818375C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x18
- strh r0, [r4, 0x2E]
- movs r0, 0x6
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183574
- ldr r0, =sub_8183574
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_62
-
- thumb_func_start pokemonanimfunc_63
-pokemonanimfunc_63: @ 818377C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x38
- strh r0, [r4, 0x2E]
- movs r0, 0x9
- strh r0, [r4, 0x3C]
- adds r0, r4, 0
- bl sub_8183574
- ldr r0, =sub_8183574
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_63
-
- thumb_func_start pokemonanimfunc_64
-pokemonanimfunc_64: @ 818379C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F758
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, =gUnknown_03001240
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r1, 0x6]
- movs r0, 0x6
- strh r0, [r1, 0x8]
- movs r0, 0x18
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- bl sub_817FFF0
- ldr r0, =sub_817FFF0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_64
-
- thumb_func_start sub_81837DC
-sub_81837DC: @ 81837DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- movs r5, 0
- movs r0, 0x38
- ldrsh r1, [r7, r0]
- movs r2, 0x3A
- ldrsh r0, [r7, r2]
- cmp r1, r0
- ble _0818382C
- strh r5, [r7, 0x26]
- strh r5, [r7, 0x38]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r7, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- ldrh r1, [r7, 0x36]
- movs r2, 0x36
- ldrsh r0, [r7, r2]
- cmp r0, 0x1
- bgt _08183824
- adds r0, r7, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r7, 0x1C]
- b _0818392C
- .pool
-_08183824:
- subs r0, r1, 0x1
- strh r0, [r7, 0x36]
- strh r5, [r7, 0x3C]
- b _0818392C
-_0818382C:
- movs r0, 0x38
- ldrsh r6, [r7, r0]
- lsls r0, r6, 7
- movs r1, 0x3A
- ldrsh r4, [r7, r1]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r4, 0
- bge _08183846
- adds r4, 0x3
-_08183846:
- asrs r1, r4, 2
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r1
- blt _08183866
- cmp r6, r0
- bge _08183866
- ldrh r0, [r7, 0x3C]
- adds r0, 0x33
- strh r0, [r7, 0x3C]
- movs r5, 0xFF
- ands r5, r0
-_08183866:
- ldrh r0, [r7, 0x34]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _081838B0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- mov r1, r9
- bl Sin
- adds r4, r0, 0
- lsls r6, r5, 16
- asrs r5, r6, 16
- mov r0, r9
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 23
- adds r0, r5, 0
- bl Sin
- ldr r2, =0xffffff00
- adds r4, r2
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- b _081838EA
- .pool
-_081838B0:
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- mov r1, r9
- bl Sin
- adds r6, r0, 0
- lsls r5, 16
- asrs r4, r5, 16
- mov r0, r9
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 23
- adds r0, r4, 0
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r6
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- mov r0, r8
- adds r6, r5, 0
-_081838EA:
- asrs r0, 16
- mov r1, r9
- bl Sin
- adds r5, r0, 0
- asrs r4, r6, 16
- mov r0, r9
- movs r1, 0x5
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r2, r1, 0
- subs r2, r5
- subs r2, r0
- mov r0, r10
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r0, r7, 0
- movs r3, 0
- bl sub_817F618
- ldrh r0, [r7, 0x38]
- adds r0, 0x1
- strh r0, [r7, 0x38]
-_0818392C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81837DC
-
- thumb_func_start pokemonanimfunc_65
-pokemonanimfunc_65: @ 818393C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _0818395E
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x28
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x38]
- strh r6, [r5, 0x3C]
-_0818395E:
- adds r0, r5, 0
- bl sub_81837DC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_65
-
- thumb_func_start pokemonanimfunc_66
-pokemonanimfunc_66: @ 818396C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- ble _08183990
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3A]
- b _08183A54
- .pool
-_08183990:
- movs r1, 0x32
- ldrsh r2, [r4, r1]
- adds r0, r2, 0
- cmp r2, 0
- bge _0818399E
- ldr r1, =0x000001ff
- adds r0, r2, r1
-_0818399E:
- asrs r3, r0, 9
- adds r1, r3, 0
- adds r0, r1, 0
- cmp r1, 0
- bge _081839AA
- adds r0, r1, 0x3
-_081839AA:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _08183A00
- cmp r0, 0x1
- bgt _081839C8
- cmp r0, 0
- beq _081839D2
- b _08183A30
- .pool
-_081839C8:
- cmp r0, 0x2
- beq _081839E4
- cmp r0, 0x3
- beq _08183A1C
- b _08183A30
-_081839D2:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081839E0
- adds r0, 0x1F
-_081839E0:
- asrs r0, 5
- b _08183A2E
-_081839E4:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _081839F6
- ldr r1, =0x000001ff
- adds r0, r1
-_081839F6:
- asrs r0, 9
- b _08183A2E
- .pool
-_08183A00:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _08183A12
- ldr r1, =0x000001ff
- adds r0, r1
-_08183A12:
- asrs r0, 9
- adds r0, 0x10
- b _08183A2E
- .pool
-_08183A1C:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08183A2A
- adds r0, 0x1F
-_08183A2A:
- asrs r0, 5
- subs r0, 0x10
-_08183A2E:
- strh r0, [r4, 0x24]
-_08183A30:
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08183A3C
- adds r0, 0x7F
-_08183A3C:
- asrs r0, 7
- lsls r0, 7
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x30
- strh r0, [r4, 0x32]
-_08183A54:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_66
-
- thumb_func_start pokemonanimfunc_67
-pokemonanimfunc_67: @ 8183A60
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- ble _08183A84
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x3A]
- b _08183B40
- .pool
-_08183A84:
- movs r1, 0x32
- ldrsh r2, [r4, r1]
- adds r0, r2, 0
- cmp r2, 0
- bge _08183A92
- ldr r1, =0x000001ff
- adds r0, r2, r1
-_08183A92:
- asrs r3, r0, 9
- adds r1, r3, 0
- adds r0, r1, 0
- cmp r1, 0
- bge _08183A9E
- adds r0, r1, 0x3
-_08183A9E:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _08183AF4
- cmp r0, 0x1
- bgt _08183ABC
- cmp r0, 0
- beq _08183AC6
- b _08183B24
- .pool
-_08183ABC:
- cmp r0, 0x2
- beq _08183AD8
- cmp r0, 0x3
- beq _08183B10
- b _08183B24
-_08183AC6:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08183AD4
- adds r0, 0x1F
-_08183AD4:
- asrs r0, 5
- b _08183B22
-_08183AD8:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _08183AEA
- ldr r1, =0x000001ff
- adds r0, r1
-_08183AEA:
- asrs r0, 9
- b _08183B22
- .pool
-_08183AF4:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 12
- negs r0, r0
- cmp r0, 0
- bge _08183B06
- ldr r1, =0x000001ff
- adds r0, r1
-_08183B06:
- asrs r0, 9
- adds r0, 0x10
- b _08183B22
- .pool
-_08183B10:
- lsls r0, r3, 9
- subs r0, r2, r0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08183B1E
- adds r0, 0x1F
-_08183B1E:
- asrs r0, 5
- subs r0, 0x10
-_08183B22:
- strh r0, [r4, 0x24]
-_08183B24:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x60
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x40
- strh r0, [r4, 0x32]
-_08183B40:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_67
-
- thumb_func_start sub_8183B4C
-sub_8183B4C: @ 8183B4C
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08183B5E
- strh r0, [r4, 0x34]
-_08183B5E:
- ldr r7, =gUnknown_0860ADBE
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- lsls r0, r1, 1
- adds r0, r1
- adds r5, r7, 0x2
- adds r0, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl __divsi3
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _08183B8C
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x34]
- strh r1, [r4, 0x32]
-_08183B8C:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r6, r0, r1
- adds r0, r6, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x38
- ldrsh r5, [r4, r1]
- adds r1, r5, 0
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bne _08183BCC
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _08183BC8
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08183C06
- .pool
-_08183BC8:
- strh r1, [r4, 0x32]
- b _08183C06
-_08183BCC:
- adds r0, r6, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r0, r5
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r1, r7, 0x1
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r4, 0x38]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F70C
-_08183C06:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8183B4C
-
- thumb_func_start pokemonanimfunc_68
-pokemonanimfunc_68: @ 8183C0C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x38]
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_8183B4C
- ldr r0, =sub_8183B4C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_68
-
- thumb_func_start pokemonanimfunc_69
-pokemonanimfunc_69: @ 8183C2C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- strh r0, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_8183B4C
- ldr r0, =sub_8183B4C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_69
-
- thumb_func_start pokemonanimfunc_6A
-pokemonanimfunc_6A: @ 8183C4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- strh r0, [r4, 0x38]
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_8183B4C
- ldr r0, =sub_8183B4C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_6A
-
- thumb_func_start sub_8183C6C
-sub_8183C6C: @ 8183C6C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- ble _08183CAE
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bgt _08183CA4
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- b _08183CE8
- .pool
-_08183CA4:
- subs r0, r1, 0x1
- movs r1, 0
- strh r0, [r4, 0x38]
- strh r1, [r4, 0x3C]
- b _08183CE8
-_08183CAE:
- ldrh r0, [r4, 0x3A]
- adds r0, r1, r0
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x80
- lsls r5, 1
- cmp r0, r5
- ble _08183CC2
- strh r5, [r4, 0x3C]
-_08183CC2:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x40
- bl Sin
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- subs r2, r5, r2
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
-_08183CE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8183C6C
-
- thumb_func_start pokemonanimfunc_6B
-pokemonanimfunc_6B: @ 8183CF0
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183D16
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x4
- strh r0, [r4, 0x3A]
- movs r0, 0x1
- strh r0, [r4, 0x38]
-_08183D16:
- adds r0, r4, 0
- bl sub_8183C6C
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_6B
-
- thumb_func_start pokemonanimfunc_6C
-pokemonanimfunc_6C: @ 8183D28
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_817F70C
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183D4E
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
- movs r0, 0x2
- strh r0, [r4, 0x38]
-_08183D4E:
- adds r0, r4, 0
- bl sub_8183C6C
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_6C
-
- thumb_func_start pokemonanimfunc_6D
-pokemonanimfunc_6D: @ 8183D60
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183D88
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0x38]
- movs r0, 0x10
- strh r0, [r4, 0x36]
-_08183D88:
- adds r0, r4, 0
- bl sub_8182764
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_6D
-
- thumb_func_start pokemonanimfunc_6E
-pokemonanimfunc_6E: @ 8183D94
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183DBA
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x4
- strh r0, [r4, 0x3A]
- adds r0, 0xFC
- strh r0, [r4, 0x38]
- movs r0, 0x10
- strh r0, [r4, 0x36]
-_08183DBA:
- adds r0, r4, 0
- bl sub_8182764
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_6E
-
- thumb_func_start pokemonanimfunc_6F
-pokemonanimfunc_6F: @ 8183DC8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183DF0
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0x38]
- movs r0, 0x10
- strh r0, [r4, 0x36]
-_08183DF0:
- adds r0, r4, 0
- bl sub_8182830
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_6F
-
- thumb_func_start pokemonanimfunc_70
-pokemonanimfunc_70: @ 8183DFC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183E22
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x3C]
- movs r1, 0x8
- strh r1, [r4, 0x3A]
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r4, 0x38]
- strh r1, [r4, 0x36]
-_08183E22:
- adds r0, r4, 0
- bl sub_8182830
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_70
-
- thumb_func_start pokemonanimfunc_71
-pokemonanimfunc_71: @ 8183E30
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08183E4A
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x5
- strh r0, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
-_08183E4A:
- adds r0, r4, 0
- bl sub_8180828
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_71
-
- thumb_func_start pokemonanimfunc_72
-pokemonanimfunc_72: @ 8183E58
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08183E72
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x3
- strh r0, [r4, 0x3C]
- movs r0, 0x4
- strh r0, [r4, 0x3A]
-_08183E72:
- adds r0, r4, 0
- bl sub_8180828
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_72
-
- thumb_func_start pokemonanimfunc_73
-pokemonanimfunc_73: @ 8183E80
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _08183EA2
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x1E
- strh r0, [r5, 0x3A]
- movs r0, 0x3C
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x3C]
-_08183EA2:
- adds r0, r5, 0
- bl sub_81832C8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_73
-
- thumb_func_start pokemonanimfunc_74
-pokemonanimfunc_74: @ 8183EB0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183ED4
- movs r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x2
- strh r0, [r4, 0x36]
- movs r0, 0x14
- strh r0, [r4, 0x3A]
- movs r0, 0x46
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x3C]
-_08183ED4:
- adds r0, r4, 0
- bl sub_81832C8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_74
-
- thumb_func_start pokemonanimfunc_75
-pokemonanimfunc_75: @ 8183EE0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183F06
- movs r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x2
- strh r0, [r4, 0x36]
- movs r0, 0x14
- strh r0, [r4, 0x3A]
- movs r0, 0x46
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x38]
- strh r5, [r4, 0x3C]
-_08183F06:
- adds r0, r4, 0
- bl sub_8183418
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_75
-
- thumb_func_start pokemonanimfunc_76
-pokemonanimfunc_76: @ 8183F14
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _08183F38
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x1E
- strh r0, [r5, 0x3A]
- movs r0, 0x3C
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x38]
- strh r6, [r5, 0x3C]
-_08183F38:
- adds r0, r5, 0
- bl sub_8183418
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_76
-
- thumb_func_start pokemonanimfunc_77
-pokemonanimfunc_77: @ 8183F44
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08183F6A
- movs r0, 0x1
- strh r0, [r4, 0x32]
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x2
- strh r0, [r4, 0x36]
- movs r0, 0x14
- strh r0, [r4, 0x3A]
- movs r0, 0x46
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x38]
- strh r5, [r4, 0x3C]
-_08183F6A:
- adds r0, r4, 0
- bl sub_81837DC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_77
-
- thumb_func_start pokemonanimfunc_78
-pokemonanimfunc_78: @ 8183F78
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x32
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _08183F9C
- movs r4, 0x1
- strh r4, [r5, 0x32]
- adds r0, r5, 0
- bl sub_817F670
- strh r4, [r5, 0x36]
- movs r0, 0x1E
- strh r0, [r5, 0x3A]
- movs r0, 0x3C
- strh r0, [r5, 0x34]
- strh r6, [r5, 0x38]
- strh r6, [r5, 0x3C]
-_08183F9C:
- adds r0, r5, 0
- bl sub_81837DC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_78
-
- thumb_func_start sub_8183FA8
-sub_8183FA8: @ 8183FA8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _08183FEA
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bgt _08183FD0
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- b _0818403E
- .pool
-_08183FD0:
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08183FDC
- adds r0, 0xFF
-_08183FDC:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- strh r0, [r4, 0x3C]
- subs r0, r2, 0x1
- strh r0, [r4, 0x3A]
- b _0818403E
-_08183FEA:
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r3, 0x3C
- ldrsh r2, [r4, r3]
- adds r1, r2, 0
- adds r1, 0xC0
- adds r0, r1, 0
- cmp r1, 0
- bge _0818400C
- ldr r3, =0x000001bf
- adds r0, r2, r3
-_0818400C:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- ble _0818402E
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- negs r0, r0
- strh r0, [r4, 0x26]
-_0818402E:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- strh r0, [r4, 0x3C]
-_0818403E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8183FA8
-
- thumb_func_start pokemonanimfunc_79
-pokemonanimfunc_79: @ 8184048
- push {lr}
- adds r1, r0, 0
- movs r0, 0x32
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _08184066
- movs r0, 0x1
- strh r0, [r1, 0x32]
- strh r0, [r1, 0x3A]
- strh r2, [r1, 0x3C]
- movs r0, 0xC
- strh r0, [r1, 0x38]
- strh r0, [r1, 0x36]
- movs r0, 0x4
- strh r0, [r1, 0x34]
-_08184066:
- adds r0, r1, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_79
-
- thumb_func_start pokemonanimfunc_7A
-pokemonanimfunc_7A: @ 8184070
- push {lr}
- adds r1, r0, 0
- movs r0, 0x32
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _0818408E
- movs r0, 0x1
- strh r0, [r1, 0x32]
- strh r0, [r1, 0x3A]
- strh r2, [r1, 0x3C]
- movs r0, 0xC
- strh r0, [r1, 0x38]
- strh r0, [r1, 0x36]
- movs r0, 0x6
- strh r0, [r1, 0x34]
-_0818408E:
- adds r0, r1, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7A
-
- thumb_func_start pokemonanimfunc_7B
-pokemonanimfunc_7B: @ 8184098
- push {lr}
- adds r1, r0, 0
- movs r0, 0x32
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _081840B8
- movs r0, 0x1
- strh r0, [r1, 0x32]
- movs r0, 0x2
- strh r0, [r1, 0x3A]
- strh r2, [r1, 0x3C]
- movs r0, 0xC
- strh r0, [r1, 0x38]
- strh r0, [r1, 0x36]
- movs r0, 0x8
- strh r0, [r1, 0x34]
-_081840B8:
- adds r0, r1, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7B
-
- thumb_func_start sub_81840C4
-sub_81840C4: @ 81840C4
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- ble _081840FC
- movs r2, 0x3A
- ldrsh r1, [r5, r2]
- ldrh r2, [r5, 0x36]
- movs r3, 0x36
- ldrsh r0, [r5, r3]
- cmp r1, r0
- bgt _081840EC
- ldr r0, =sub_8184D88
- str r0, [r5, 0x1C]
- b _081840F4
- .pool
-_081840EC:
- adds r0, r2, 0x1
- movs r1, 0
- strh r0, [r5, 0x36]
- strh r1, [r5, 0x3C]
-_081840F4:
- movs r0, 0
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- b _08184188
-_081840FC:
- cmp r0, 0x9F
- ble _08184126
- cmp r0, r1
- ble _08184106
- strh r1, [r5, 0x3C]
-_08184106:
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08184112
- adds r0, 0xFF
-_08184112:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- bl Sin
- negs r0, r0
- b _08184154
-_08184126:
- cmp r0, 0x5F
- ble _0818414A
- movs r0, 0x60
- movs r1, 0x6
- bl Sin
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- subs r0, 0x60
- lsls r0, 17
- asrs r0, 16
- movs r1, 0x4
- bl Sin
- subs r4, r0
- strh r4, [r5, 0x26]
- b _08184156
-_0818414A:
- movs r2, 0x3C
- ldrsh r0, [r5, r2]
- movs r1, 0x6
- bl Sin
-_08184154:
- strh r0, [r5, 0x26]
-_08184156:
- movs r3, 0x3C
- ldrsh r0, [r5, r3]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- bl Sin
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r5, 0x36]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0818417E
- lsls r0, r2, 16
- negs r0, r0
- lsrs r2, r0, 16
-_0818417E:
- strh r2, [r5, 0x24]
- ldrh r0, [r5, 0x34]
- ldrh r3, [r5, 0x3C]
- adds r0, r3
- strh r0, [r5, 0x3C]
-_08184188:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81840C4
-
- thumb_func_start pokemonanimfunc_7C
-pokemonanimfunc_7C: @ 8184190
- push {lr}
- adds r2, r0, 0
- movs r0, 0x32
- ldrsh r3, [r2, r0]
- cmp r3, 0
- bne _081841B0
- movs r1, 0x1
- strh r1, [r2, 0x32]
- movs r0, 0x2
- strh r0, [r2, 0x3A]
- strh r3, [r2, 0x3C]
- movs r0, 0x10
- strh r0, [r2, 0x38]
- strh r1, [r2, 0x36]
- movs r0, 0x4
- strh r0, [r2, 0x34]
-_081841B0:
- adds r0, r2, 0
- bl sub_81840C4
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7C
-
- thumb_func_start pokemonanimfunc_7D
-pokemonanimfunc_7D: @ 81841BC
- push {lr}
- adds r2, r0, 0
- movs r0, 0x32
- ldrsh r3, [r2, r0]
- cmp r3, 0
- bne _081841DC
- movs r1, 0x1
- strh r1, [r2, 0x32]
- movs r0, 0x2
- strh r0, [r2, 0x3A]
- strh r3, [r2, 0x3C]
- movs r0, 0x10
- strh r0, [r2, 0x38]
- strh r1, [r2, 0x36]
- movs r0, 0x6
- strh r0, [r2, 0x34]
-_081841DC:
- adds r0, r2, 0
- bl sub_81840C4
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7D
-
- thumb_func_start pokemonanimfunc_7E
-pokemonanimfunc_7E: @ 81841E8
- push {lr}
- adds r2, r0, 0
- movs r0, 0x32
- ldrsh r3, [r2, r0]
- cmp r3, 0
- bne _08184208
- movs r1, 0x1
- strh r1, [r2, 0x32]
- movs r0, 0x3
- strh r0, [r2, 0x3A]
- strh r3, [r2, 0x3C]
- movs r0, 0x10
- strh r0, [r2, 0x38]
- strh r1, [r2, 0x36]
- movs r0, 0x8
- strh r0, [r2, 0x34]
-_08184208:
- adds r0, r2, 0
- bl sub_81840C4
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7E
-
- thumb_func_start pokemonanimfunc_7F
-pokemonanimfunc_7F: @ 8184214
- push {lr}
- adds r2, r0, 0
- movs r0, 0x32
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _08184232
- movs r0, 0x1
- strh r0, [r2, 0x32]
- strh r0, [r2, 0x3A]
- strh r1, [r2, 0x3C]
- movs r1, 0x4
- strh r1, [r2, 0x38]
- movs r0, 0x6
- strh r0, [r2, 0x36]
- strh r1, [r2, 0x34]
-_08184232:
- adds r0, r2, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_7F
-
- thumb_func_start pokemonanimfunc_80
-pokemonanimfunc_80: @ 818423C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x32
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _0818425A
- movs r0, 0x1
- strh r0, [r1, 0x32]
- strh r0, [r1, 0x3A]
- strh r2, [r1, 0x3C]
- movs r0, 0x4
- strh r0, [r1, 0x38]
- movs r0, 0x6
- strh r0, [r1, 0x36]
- strh r0, [r1, 0x34]
-_0818425A:
- adds r0, r1, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_80
-
- thumb_func_start pokemonanimfunc_81
-pokemonanimfunc_81: @ 8184264
- push {lr}
- adds r1, r0, 0
- movs r0, 0x32
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _08184286
- movs r0, 0x1
- strh r0, [r1, 0x32]
- movs r0, 0x2
- strh r0, [r1, 0x3A]
- strh r2, [r1, 0x3C]
- movs r0, 0x4
- strh r0, [r1, 0x38]
- movs r0, 0x6
- strh r0, [r1, 0x36]
- movs r0, 0x8
- strh r0, [r1, 0x34]
-_08184286:
- adds r0, r1, 0
- bl sub_8183FA8
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_81
-
- thumb_func_start sub_8184290
-sub_8184290: @ 8184290
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 8
- negs r0, r0
- strh r0, [r4, 0x3A]
- movs r0, 0x36
- ldrsh r2, [r4, r0]
- adds r0, r4, 0
- movs r3, 0
- bl sub_817F3F0
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x3A]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_817F6D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8184290
-
- thumb_func_start pokemonanimfunc_82
-pokemonanimfunc_82: @ 81842DC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08184300
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x3C
- strh r0, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x38]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x36]
- movs r0, 0x1
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x2E]
-_08184300:
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _0818434C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r2, 0
- strh r2, [r4, 0x24]
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08184348
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08184358
- .pool
-_08184348:
- strh r2, [r4, 0x32]
- b _08184352
-_0818434C:
- adds r0, r4, 0
- bl sub_8184290
-_08184352:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_08184358:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_82
-
- thumb_func_start pokemonanimfunc_83
-pokemonanimfunc_83: @ 8184360
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08184384
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x5A
- strh r0, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x38]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x36]
- movs r0, 0x1
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x2E]
-_08184384:
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _081843D0
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r2, 0
- strh r2, [r4, 0x24]
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bgt _081843CC
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _081843DC
- .pool
-_081843CC:
- strh r2, [r4, 0x32]
- b _081843D6
-_081843D0:
- adds r0, r4, 0
- bl sub_8184290
-_081843D6:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_081843DC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_83
-
- thumb_func_start pokemonanimfunc_84
-pokemonanimfunc_84: @ 81843E4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _08184408
- adds r0, r4, 0
- bl sub_817F670
- movs r0, 0x1E
- strh r0, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x38]
- ldr r0, =0x0000ffe0
- strh r0, [r4, 0x36]
- movs r0, 0x2
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x2E]
-_08184408:
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- movs r3, 0x3C
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _08184454
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- movs r2, 0
- strh r2, [r4, 0x24]
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08184450
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _08184460
- .pool
-_08184450:
- strh r2, [r4, 0x32]
- b _0818445A
-_08184454:
- adds r0, r4, 0
- bl sub_8184290
-_0818445A:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
-_08184460:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_84
-
- thumb_func_start sub_8184468
-sub_8184468: @ 8184468
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x32
- ldrsh r1, [r6, r0]
- movs r2, 0x3C
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _0818449C
- movs r0, 0
- strh r0, [r6, 0x26]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl sub_817F6D4
- adds r0, r6, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r6, 0x1C]
- b _08184544
- .pool
-_0818449C:
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- movs r2, 0x3A
- ldrsh r4, [r6, r2]
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r0, 16
- adds r1, r4, 0
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _081844BC
- adds r0, 0xFF
-_081844BC:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r0, [r6, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081844F8
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x20
- bl Sin
- movs r1, 0x80
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- strh r0, [r6, 0x36]
- adds r0, r4, 0
- movs r1, 0x20
- bl Sin
- adds r0, r5
- strh r0, [r6, 0x38]
- adds r0, r4, 0
- movs r1, 0x20
- b _0818451E
-_081844F8:
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x8
- bl Sin
- movs r2, 0x80
- lsls r2, 1
- adds r5, r2, 0
- adds r0, r5
- strh r0, [r6, 0x36]
- adds r0, r4, 0
- movs r1, 0x8
- bl Sin
- adds r0, r5
- strh r0, [r6, 0x38]
- adds r0, r4, 0
- movs r1, 0x8
-_0818451E:
- bl Sin
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _08184530
- adds r0, 0x7
-_08184530:
- lsrs r0, 3
- strh r0, [r6, 0x26]
- movs r0, 0x36
- ldrsh r1, [r6, r0]
- movs r0, 0x38
- ldrsh r2, [r6, r0]
- adds r0, r6, 0
- movs r3, 0
- bl sub_817F6D4
-_08184544:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8184468
-
- thumb_func_start pokemonanimfunc_85
-pokemonanimfunc_85: @ 8184550
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08184570
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x26]
- adds r0, 0x2
- strh r0, [r4, 0x26]
- movs r0, 0x28
- strh r0, [r4, 0x3A]
- movs r0, 0x50
- strh r0, [r4, 0x3C]
-_08184570:
- adds r0, r4, 0
- bl sub_8184468
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_85
-
- thumb_func_start pokemonanimfunc_86
-pokemonanimfunc_86: @ 818457C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0818459A
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x26]
- adds r0, 0x2
- strh r0, [r4, 0x26]
- movs r0, 0x28
- strh r0, [r4, 0x3A]
- strh r0, [r4, 0x3C]
-_0818459A:
- adds r0, r4, 0
- bl sub_8184468
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_86
-
- thumb_func_start pokemonanimfunc_87
-pokemonanimfunc_87: @ 81845A8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081845C6
- adds r0, r4, 0
- bl sub_817F670
- ldrh r0, [r4, 0x26]
- adds r0, 0x2
- strh r0, [r4, 0x26]
- movs r0, 0x50
- strh r0, [r4, 0x3A]
- strh r0, [r4, 0x3C]
-_081845C6:
- adds r0, r4, 0
- bl sub_8184468
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_87
-
- thumb_func_start sub_81845D4
-sub_81845D4: @ 81845D4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x32]
- subs r0, r1
- strh r0, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmn r1, r0
- bgt _081845FE
- ldrh r0, [r4, 0x3A]
- negs r0, r0
- strh r0, [r4, 0x24]
- movs r0, 0x2
- strh r0, [r4, 0x3C]
- ldr r0, =sub_8184610
- str r0, [r4, 0x1C]
-_081845FE:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81845D4
-
- thumb_func_start sub_8184610
-sub_8184610: @ 8184610
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3C]
- ldrh r2, [r4, 0x24]
- adds r1, r0, r2
- strh r1, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r1, 16
- cmp r1, 0
- blt _0818462E
- ldr r0, =sub_8184640
- str r0, [r4, 0x1C]
-_0818462E:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8184610
-
- thumb_func_start sub_8184640
-sub_8184640: @ 8184640
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x3C]
- ldrh r2, [r4, 0x24]
- adds r1, r0, r2
- strh r1, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r4, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _08184668
- strh r2, [r4, 0x24]
- ldr r0, =sub_8184678
- str r0, [r4, 0x1C]
-_08184668:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8184640
-
- thumb_func_start sub_8184678
-sub_8184678: @ 8184678
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r2, [r4, 0x34]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _08184698
- ldr r0, =sub_81846B8
- str r0, [r4, 0x1C]
- b _081846AC
- .pool
-_08184698:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- negs r0, r0
- strh r0, [r4, 0x36]
- adds r0, r2, 0x1
- strh r0, [r4, 0x34]
-_081846AC:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8184678
-
- thumb_func_start sub_81846B8
-sub_81846B8: @ 81846B8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F70C
- ldrh r0, [r4, 0x24]
- subs r0, 0x2
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bgt _081846DA
- movs r0, 0
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- bl sub_817F77C
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
-_081846DA:
- adds r0, r4, 0
- bl sub_817F70C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81846B8
-
- thumb_func_start pokemonanimfunc_88
-pokemonanimfunc_88: @ 81846EC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r2, 0
- movs r1, 0x4
- strh r1, [r4, 0x3C]
- movs r0, 0xC
- strh r0, [r4, 0x3A]
- movs r0, 0x10
- strh r0, [r4, 0x38]
- strh r1, [r4, 0x36]
- strh r2, [r4, 0x34]
- movs r0, 0x2
- strh r0, [r4, 0x32]
- ldr r0, =sub_81845D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_88
-
- thumb_func_start pokemonanimfunc_89
-pokemonanimfunc_89: @ 8184718
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r2, 0
- movs r1, 0x2
- strh r1, [r4, 0x3C]
- movs r0, 0x8
- strh r0, [r4, 0x3A]
- movs r0, 0xC
- strh r0, [r4, 0x38]
- strh r1, [r4, 0x36]
- strh r2, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x32]
- ldr r0, =sub_81845D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_89
-
- thumb_func_start pokemonanimfunc_8A
-pokemonanimfunc_8A: @ 8184744
- push {r4,lr}
- adds r4, r0, 0
- bl sub_817F670
- movs r1, 0
- strh r1, [r4, 0x3C]
- movs r0, 0x6
- strh r0, [r4, 0x3A]
- strh r0, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x32]
- ldr r0, =sub_81845D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end pokemonanimfunc_8A
-
- thumb_func_start sub_8184770
-sub_8184770: @ 8184770
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- strh r0, [r1, 0x24]
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- ble _0818478E
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x30]
- movs r0, 0
- b _08184790
-_0818478E:
- adds r0, r2, 0x1
-_08184790:
- strh r0, [r1, 0x2E]
- pop {r0}
- bx r0
- thumb_func_end sub_8184770
-
- thumb_func_start sub_8184798
-sub_8184798: @ 8184798
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_0860AE7C
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl sub_8184770
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _081847D0
- movs r0, 0
- strh r0, [r4, 0x24]
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0818482E
- .pool
-_081847D0:
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _08184800
- ldrb r0, [r1]
- cmp r0, 0
- beq _081847F0
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000003ff
- movs r1, 0x10
- movs r2, 0x10
- bl BlendPalette
- b _081847FC
- .pool
-_081847F0:
- ldrh r0, [r4, 0x3C]
- ldr r3, =0x000003ff
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
-_081847FC:
- movs r0, 0
- strh r0, [r4, 0x36]
-_08184800:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08184828
- movs r1, 0
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- b _0818482E
- .pool
-_08184828:
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_0818482E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8184798
-
- thumb_func_start pokemonanimfunc_8B
-pokemonanimfunc_8B: @ 8184834
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _08184860
- ldrb r0, [r2, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2, 0x3C]
- strh r3, [r2, 0x3A]
- strh r3, [r2, 0x38]
- strh r3, [r2, 0x36]
- strh r3, [r2, 0x34]
-_08184860:
- adds r0, r2, 0
- bl sub_8184798
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_8B
-
- thumb_func_start pokemonanimfunc_8C
-pokemonanimfunc_8C: @ 818486C
- push {r4,r5,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0x1
- bne _08184898
- ldrb r0, [r2, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r5, 0x80
- lsls r5, 1
- adds r1, r5, 0
- adds r0, r1
- strh r0, [r2, 0x3C]
- strh r3, [r2, 0x3A]
- strh r3, [r2, 0x38]
- strh r3, [r2, 0x36]
- strh r4, [r2, 0x34]
-_08184898:
- adds r0, r2, 0
- bl sub_8184798
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_8C
-
- thumb_func_start pokemonanimfunc_8D
-pokemonanimfunc_8D: @ 81848A4
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _081848D2
- ldrb r0, [r2, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2, 0x3C]
- strh r3, [r2, 0x3A]
- strh r3, [r2, 0x38]
- strh r3, [r2, 0x36]
- movs r0, 0x2
- strh r0, [r2, 0x34]
-_081848D2:
- adds r0, r2, 0
- bl sub_8184798
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_8D
-
- thumb_func_start sub_81848E0
-sub_81848E0: @ 81848E0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _08184904
- ldrh r0, [r4, 0x3C]
- movs r1, 0x10
- movs r2, 0
- movs r3, 0x1F
- bl BlendPalette
- ldr r0, =sub_8184D88
- str r0, [r4, 0x1C]
- b _0818492A
- .pool
-_08184904:
- movs r5, 0x32
- ldrsh r0, [r4, r5]
- movs r1, 0xC
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, =gUnknown_0860AE88
- movs r5, 0x30
- ldrsh r1, [r4, r5]
- lsls r1, 1
- adds r1, r3
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
-_0818492A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81848E0
-
- thumb_func_start sub_8184934
-sub_8184934: @ 8184934
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _081849CC
- adds r0, r4, 0
- bl sub_817F70C
- movs r3, 0x38
- ldrsh r1, [r4, r3]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- ble _08184970
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x36
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bge _0818496C
- strh r2, [r4, 0x38]
-_0818496C:
- strh r2, [r4, 0x24]
- b _081849C6
-_08184970:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- lsls r1, 16
- asrs r1, 15
- movs r0, 0x1
- subs r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 7
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _081849A4
- adds r0, 0xFF
-_081849A4:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl Sin
- lsls r1, r5, 24
- asrs r1, 24
- adds r2, r1, 0
- muls r2, r0
- adds r0, r2, 0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_081849C6:
- adds r0, r4, 0
- bl sub_817F70C
-_081849CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8184934
-
- thumb_func_start pokemonanimfunc_8E
-pokemonanimfunc_8E: @ 81849D4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _081849FE
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r2, [r4, 0x30]
-_081849FE:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184A0E
- adds r0, r4, 0
- bl sub_81848E0
-_08184A0E:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184A30
- adds r0, r4, 0
- bl sub_8184934
-_08184A30:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_8E
-
- thumb_func_start pokemonanimfunc_8F
-pokemonanimfunc_8F: @ 8184A3C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184A66
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r2, [r4, 0x30]
-_08184A66:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184A76
- adds r0, r4, 0
- bl sub_81848E0
-_08184A76:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184A98
- adds r0, r4, 0
- bl sub_8184934
-_08184A98:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_8F
-
- thumb_func_start pokemonanimfunc_90
-pokemonanimfunc_90: @ 8184AA4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184ACE
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x50
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r2, [r4, 0x30]
-_08184ACE:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184ADE
- adds r0, r4, 0
- bl sub_81848E0
-_08184ADE:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184B00
- adds r0, r4, 0
- bl sub_8184934
-_08184B00:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_90
-
- thumb_func_start pokemonanimfunc_91
-pokemonanimfunc_91: @ 8184B0C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184B38
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x30]
-_08184B38:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184B48
- adds r0, r4, 0
- bl sub_81848E0
-_08184B48:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184B6A
- adds r0, r4, 0
- bl sub_8184934
-_08184B6A:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_91
-
- thumb_func_start pokemonanimfunc_92
-pokemonanimfunc_92: @ 8184B78
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184BA2
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r0, [r4, 0x30]
-_08184BA2:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184BB2
- adds r0, r4, 0
- bl sub_81848E0
-_08184BB2:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184BD4
- adds r0, r4, 0
- bl sub_8184934
-_08184BD4:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_92
-
- thumb_func_start pokemonanimfunc_93
-pokemonanimfunc_93: @ 8184BE0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184C0A
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x50
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r0, [r4, 0x30]
-_08184C0A:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184C1A
- adds r0, r4, 0
- bl sub_81848E0
-_08184C1A:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184C3C
- adds r0, r4, 0
- bl sub_8184934
-_08184C3C:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_93
-
- thumb_func_start pokemonanimfunc_94
-pokemonanimfunc_94: @ 8184C48
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184C72
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- strh r0, [r4, 0x30]
-_08184C72:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184C82
- adds r0, r4, 0
- bl sub_81848E0
-_08184C82:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184CA4
- adds r0, r4, 0
- bl sub_8184934
-_08184CA4:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_94
-
- thumb_func_start pokemonanimfunc_95
-pokemonanimfunc_95: @ 8184CB0
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184CDC
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- movs r0, 0x2
- strh r0, [r4, 0x30]
-_08184CDC:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184CEC
- adds r0, r4, 0
- bl sub_81848E0
-_08184CEC:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184D0E
- adds r0, r4, 0
- bl sub_8184934
-_08184D0E:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_95
-
- thumb_func_start pokemonanimfunc_96
-pokemonanimfunc_96: @ 8184D1C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _08184D48
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- lsls r0, 4
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r4, 0x3C]
- movs r0, 0x50
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x34]
- movs r0, 0x2
- strh r0, [r4, 0x30]
-_08184D48:
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08184D58
- adds r0, r4, 0
- bl sub_81848E0
-_08184D58:
- movs r0, 0x32
- ldrsh r2, [r4, r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- muls r1, r0
- movs r0, 0x80
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r2, r0
- blt _08184D7A
- adds r0, r4, 0
- bl sub_8184934
-_08184D7A:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemonanimfunc_96
-
- thumb_func_start sub_8184D88
-sub_8184D88: @ 8184D88
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08184D9C
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_08184D9C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8184D88
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
deleted file mode 100755
index 6009bd3f3..000000000
--- a/asm/pokemon_icon.s
+++ /dev/null
@@ -1,822 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80D2CC4
-@ int sub_80D2CC4(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
-sub_80D2CC4: @ 80D2CC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x4C]
- ldr r1, [sp, 0x50]
- ldr r5, [sp, 0x54]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- lsls r3, 16
- lsrs r7, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, =gUnknown_0857C570
- str r0, [sp, 0x18]
- adds r0, r4, 0
- adds r2, r5, 0
- bl GetMonIconPtr
- str r0, [sp, 0x1C]
- ldr r0, =gUnknown_0857C5B4
- str r0, [sp, 0x20]
- ldr r0, =gUnknown_0857C5E8
- str r0, [sp, 0x24]
- str r6, [sp, 0x28]
- ldr r0, =gMonIconPaletteIndices
- adds r0, r4, r0
- ldr r1, =0x0000dac0
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2D2A
- mov r0, sp
- strh r5, [r0, 0x14]
-_080D2D2A:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- lsls r2, r7, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl sub_80D31B4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D2CC4
-
- thumb_func_start sub_80D2D78
-sub_80D2D78: @ 80D2D78
- push {r4-r7,lr}
- sub sp, 0x18
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r6, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- mov r3, sp
- ldr r2, =gUnknown_0857C570
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- ldr r2, =gUnknown_0857C5B4
- str r2, [sp, 0x8]
- ldr r2, =gUnknown_0857C5E8
- str r2, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r2, =gMonIconPaletteIndices
- adds r2, r0, r2
- ldr r7, =0x0000dac0
- adds r1, r7, 0
- ldrb r2, [r2]
- adds r1, r2
- strh r1, [r3, 0x14]
- ldr r1, [sp, 0x30]
- bl GetMonIconTiles
- str r0, [sp, 0x4]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80D31B4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl sub_80D30DC
- adds r0, r4, 0
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D2D78
-
- thumb_func_start mon_icon_convert_unown_species_id
-@ u16 mon_icon_convert_unown_species_id(u16 speciesId, u32 personality)
-mon_icon_convert_unown_species_id: @ 80D2E08
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xC9
- bne _080D2E32
- adds r0, r1, 0
- bl mon_icon_personality_to_unown_id
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _080D2E24
- movs r0, 0xC9
- b _080D2E2E
-_080D2E24:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_080D2E2E:
- adds r1, r0, 0
- b _080D2E40
-_080D2E32:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _080D2E40
- movs r1, 0x82
- lsls r1, 1
-_080D2E40:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start mon_icon_personality_to_unown_id
-mon_icon_personality_to_unown_id: @ 80D2E48
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080D2E7E
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- b _080D2E80
-_080D2E7E:
- movs r0, 0
-_080D2E80:
- pop {r1}
- bx r1
- thumb_func_end mon_icon_personality_to_unown_id
-
- thumb_func_start sub_80D2E84
-sub_80D2E84: @ 80D2E84
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl sub_80D45E8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080D2EBA
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _080D2EAA
- mov r1, sp
- adds r0, 0xC9
- b _080D2EB2
-_080D2EAA:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_080D2EB2:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _080D2ED2
-_080D2EBA:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _080D2EC6
- movs r4, 0x82
- lsls r4, 1
-_080D2EC6:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_080D2ED2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D2E84
-
- thumb_func_start GetMonIconPtr
-@ void *GetMonIconPtr(u16 speciesId, u32 personality, bool32)
-GetMonIconPtr: @ 80D2EDC
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl GetMonIconTiles
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetMonIconPtr
-
- thumb_func_start sub_80D2EF8
-sub_80D2EF8: @ 80D2EF8
- push {lr}
- bl sub_80D328C
- pop {r0}
- bx r0
- thumb_func_end sub_80D2EF8
-
- thumb_func_start sub_80D2F04
-sub_80D2F04: @ 80D2F04
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2F0A:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2F0A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F04
-
- thumb_func_start sub_80D2F28
-sub_80D2F28: @ 80D2F28
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2F3A
- movs r1, 0x82
- lsls r1, 1
-_080D2F3A:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F5A
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F5A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F28
-
- thumb_func_start sub_80D2F68
-sub_80D2F68: @ 80D2F68
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080D2F8E
- adds r0, r4, 0
- bl LoadSpritePalette
-_080D2F8E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F68
-
- thumb_func_start sub_80D2F9C
-sub_80D2F9C: @ 80D2F9C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gMonIconPaletteTable
-_080D2FA2:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _080D2FA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2F9C
-
- thumb_func_start sub_80D2FC0
-sub_80D2FC0: @ 80D2FC0
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D2FD2
- movs r1, 0x82
- lsls r1, 1
-_080D2FD2:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FC0
-
- thumb_func_start sub_80D2FF0
-sub_80D2FF0: @ 80D2FF0
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D2FF0
-
- thumb_func_start sub_80D3014
-sub_80D3014: @ 80D3014
- push {lr}
- bl sub_80D30DC
- pop {r0}
- bx r0
- thumb_func_end sub_80D3014
-
- thumb_func_start GetMonIconTiles
-@ void *GetMonIconTiles(u16 speciesId, bool32)
-GetMonIconTiles: @ 80D3020
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gMonIconTable
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- movs r1, 0xCD
- lsls r1, 1
- cmp r0, r1
- bne _080D3042
- cmp r3, 0x1
- bne _080D3042
- movs r0, 0x80
- lsls r0, 3
- adds r2, r0
-_080D3042:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetMonIconTiles
-
- thumb_func_start sub_80D304C
-sub_80D304C: @ 80D304C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xA0
- bhi _080D3074
- ldr r6, =gMonIconPaletteTable
- movs r5, 0x5
-_080D305A:
- ldr r0, [r6]
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _080D305A
-_080D3074:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D304C
-
- thumb_func_start sub_80D3080
-sub_80D3080: @ 80D3080
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _080D3092
- movs r1, 0x82
- lsls r1, 1
-_080D3092:
- ldr r0, =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D3080
-
- thumb_func_start sub_80D30A0
-sub_80D30A0: @ 80D30A0
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D30A0
-
- thumb_func_start GetValidMonIconPalettePtr
-GetValidMonIconPalettePtr: @ 80D30B0
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bls _080D30C2
- movs r2, 0x82
- lsls r2, 1
-_080D30C2:
- ldr r1, =gMonIconPaletteTable
- ldr r0, =gMonIconPaletteIndices
- adds r0, r2, r0
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetValidMonIconPalettePtr
-
- thumb_func_start sub_80D30DC
-sub_80D30DC: @ 80D30DC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _080D3190
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _080D3126
- adds r0, 0x1
- cmp r3, r0
- bne _080D312A
- b _080D31A4
-_080D3126:
- strb r7, [r5]
- b _080D31A4
-_080D312A:
- ldr r2, =gUnknown_0857C5F0
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, =0x06010000
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _080D31A4
- .pool
-_080D3190:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_080D31A4:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D30DC
-
- thumb_func_start sub_80D31B4
-sub_80D31B4: @ 80D31B4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, =gUnknown_0857C5F0
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, =0xffff0000
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, =0x0000ffff
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D31B4
-
- thumb_func_start sub_80D328C
-sub_80D328C: @ 80D328C
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, =gUnknown_0857C5F0
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D328C
-
- thumb_func_start sub_80D32C8
-sub_80D32C8: @ 80D32C8
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_80D32C8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s
deleted file mode 100644
index 49b205967..000000000
--- a/asm/pokemon_item_effect.s
+++ /dev/null
@@ -1,1967 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start ExecuteTableBasedItemEffect_
-@ bool8 ExecuteTableBasedItemEffect_(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex)
-ExecuteTableBasedItemEffect_: @ 806BD04
- push {r4,lr}
- sub sp, 0x4
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- str r4, [sp]
- bl ExecuteTableBasedItemEffect
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ExecuteTableBasedItemEffect_
-
- thumb_func_start ExecuteTableBasedItemEffect
-@ bool8 ExecuteTableBasedItemEffect(struct pokemon *mon, u16 itemId, u8 a3, u8 monMoveIndex, u8 a5)
-ExecuteTableBasedItemEffect: @ 806BD28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r8, r0
- ldr r0, [sp, 0x64]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- movs r0, 0x1
- str r0, [sp, 0x20]
- movs r1, 0x6
- str r1, [sp, 0x28]
- movs r2, 0
- str r2, [sp, 0x30]
- movs r3, 0x4
- str r3, [sp, 0x38]
- movs r5, 0
- str r5, [sp, 0x3C]
- mov r0, r8
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0806BDBC
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BDA8
- ldr r2, =gEnigmaBerries
- ldr r0, =gBankInMenu
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x7]
- b _0806BDC4
- .pool
-_0806BDA8:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003226
- adds r0, r2
- ldrb r0, [r0]
- b _0806BDC4
- .pool
-_0806BDBC:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
-_0806BDC4:
- str r0, [sp, 0x34]
- ldr r1, =gStringBank
- ldr r0, =gBankInMenu
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, =gMain
- ldr r3, =0x00000439
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0806BE64
- ldr r0, =gActiveBank
- strb r2, [r0]
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x1C]
- ldr r0, =gNoOfAllBanks
- ldr r4, [sp, 0xC]
- subs r4, 0xD
- ldrb r0, [r0]
- cmp r1, r0
- bge _0806BE70
- ldr r2, =gBattlePartyID
- lsls r0, r1, 1
- adds r0, r2
- ldrh r3, [r0]
- ldr r5, [sp, 0x10]
- lsls r0, r5, 16
- lsrs r1, r0, 16
- adds r5, r0, 0
- cmp r3, r1
- bne _0806BE3C
- ldr r0, [sp, 0x1C]
- str r0, [sp, 0x38]
- b _0806BE70
- .pool
-_0806BE3C:
- ldr r1, [sp, 0x1C]
- adds r1, 0x2
- str r1, [sp, 0x1C]
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r1, r0
- bge _0806BE70
- lsls r0, r1, 1
- adds r0, r2
- ldrh r1, [r0]
- lsrs r0, r5, 16
- cmp r1, r0
- bne _0806BE3C
- ldr r2, [sp, 0x1C]
- lsls r0, r2, 24
- lsrs r0, 24
- str r0, [sp, 0x38]
- b _0806BE70
- .pool
-_0806BE64:
- ldr r0, =gActiveBank
- strb r1, [r0]
- movs r3, 0x4
- str r3, [sp, 0x38]
- ldr r4, [sp, 0xC]
- subs r4, 0xD
-_0806BE70:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xA5
- bhi _0806BEF0
- ldr r1, =gItemEffectTable
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0806BE94
- ldr r5, [sp, 0xC]
- cmp r5, 0xAF
- beq _0806BE9A
- b _0806BEF0
- .pool
-_0806BE94:
- ldr r1, [sp, 0xC]
- cmp r1, 0xAF
- bne _0806BEF6
-_0806BE9A:
- ldr r0, =gMain
- ldr r2, =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BECC
- ldr r0, =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, =gEnigmaBerries + 8
- adds r0, r1
- b _0806BEF6
- .pool
-_0806BECC:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r3, =0x00003214
- adds r3, r0, r3
- str r3, [sp, 0x24]
- b _0806BEF8
- .pool
-_0806BEE0:
- mov r0, r8
- movs r2, 0
- ldr r3, [sp, 0x10]
- bl BeginEvolutionScene
- movs r0, 0
- bl _0806CD5C
-_0806BEF0:
- movs r0, 0x1
- bl _0806CD5C
-_0806BEF6:
- str r0, [sp, 0x24]
-_0806BEF8:
- movs r5, 0
- str r5, [sp, 0x1C]
-_0806BEFC:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x5
- bls _0806BF06
- bl _0806CD4C
-_0806BF06:
- lsls r0, 2
- ldr r1, =_0806BF14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806BF14:
- .4byte _0806BF2C
- .4byte _0806BFFC
- .4byte _0806C08C
- .4byte _0806C120
- .4byte _0806C300
- .4byte _0806C9BE
-_0806BF2C:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0806BF76
- ldr r0, =gMain
- ldr r5, =0x00000439
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806BF76
- ldr r0, [sp, 0x38]
- cmp r0, 0x4
- beq _0806BF76
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r2, [sp, 0x38]
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0xF0
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- beq _0806BF76
- ldr r0, =0xfff0ffff
- ands r1, r0
- str r1, [r2]
- movs r3, 0
- str r3, [sp, 0x20]
-_0806BF76:
- ldrb r1, [r6]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0806BFA4
- ldr r1, =gBattleMons
- ldr r0, =gActiveBank
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 13
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _0806BFA4
- orrs r1, r3
- str r1, [r2]
- movs r5, 0
- str r5, [sp, 0x20]
-_0806BFA4:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806BFB2
- bl _0806CD4C
-_0806BFB2:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x19]
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806BFCC
- bl _0806CD4C
-_0806BFCC:
- adds r0, r2, r3
- strb r0, [r1, 0x19]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x19
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- bgt _0806BFE0
- b _0806C110
-_0806BFE0:
- movs r0, 0xC
- strb r0, [r1, 0x19]
- b _0806C110
- .pool
-_0806BFFC:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0806C042
- ldr r7, =gBattleMons
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1A]
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0806C042
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1A]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C03E
- movs r0, 0xC
- strb r0, [r1, 0x1A]
-_0806C03E:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C042:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806C050
- bl _0806CD4C
-_0806C050:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1B]
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806C06A
- bl _0806CD4C
-_0806C06A:
- adds r0, r2, r3
- strb r0, [r1, 0x1B]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1B
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C110
- movs r0, 0xC
- strb r0, [r1, 0x1B]
- b _0806C110
- .pool
-_0806C08C:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0xF0
- ands r0, r1
- lsls r3, r0, 24
- adds r6, r2, 0
- cmp r3, 0
- beq _0806C0D2
- ldr r7, =gBattleMons
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r7
- ldrb r2, [r1, 0x1E]
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- bgt _0806C0D2
- lsrs r0, r3, 28
- adds r0, r2, r0
- strb r0, [r1, 0x1E]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r7
- movs r0, 0x1E
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C0CE
- movs r0, 0xC
- strb r0, [r1, 0x1E]
-_0806C0CE:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C0D2:
- ldrb r0, [r6]
- movs r3, 0xF
- ands r3, r0
- cmp r3, 0
- bne _0806C0E0
- bl _0806CD4C
-_0806C0E0:
- ldr r6, =gBattleMons
- ldr r5, =gActiveBank
- ldrb r0, [r5]
- movs r4, 0x58
- muls r0, r4
- adds r1, r0, r6
- ldrb r2, [r1, 0x1C]
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xB
- ble _0806C0FA
- bl _0806CD4C
-_0806C0FA:
- adds r0, r2, r3
- strb r0, [r1, 0x1C]
- ldrb r0, [r5]
- muls r0, r4
- adds r1, r0, r6
- movs r0, 0x1C
- ldrsb r0, [r1, r0]
- cmp r0, 0xC
- ble _0806C110
- movs r0, 0xC
- strb r0, [r1, 0x1C]
-_0806C110:
- movs r0, 0
- str r0, [sp, 0x20]
- bl _0806CD4C
- .pool
-_0806C120:
- ldr r1, [sp, 0x24]
- ldr r3, [sp, 0x1C]
- adds r2, r1, r3
- ldrb r1, [r2]
- movs r0, 0x80
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _0806C168
- ldr r5, =gSideTimers
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0806C168
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- movs r0, 0x5
- strb r0, [r1, 0x4]
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C168:
- ldrb r1, [r6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806C1CA
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- cmp r0, 0x64
- beq _0806C1CA
- ldr r5, =gExperienceTables
- mov r0, r8
- movs r1, 0x38
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, 0x1
- lsls r4, 2
- ldr r2, =gBaseStats
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r1, [r1, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r0, r1
- adds r4, r0
- adds r4, r5
- ldr r0, [r4]
- str r0, [sp]
- mov r0, r8
- movs r1, 0x19
- mov r2, sp
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r0, 0
- str r0, [sp, 0x20]
-_0806C1CA:
- ldrb r1, [r6]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0806C206
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x7
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C206
- ldr r1, [sp, 0x38]
- cmp r1, 0x4
- beq _0806C202
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r3, [sp, 0x38]
- adds r2, r3, 0
- muls r2, r0
- adds r1, 0x50
- adds r2, r1
- ldr r0, [r2]
- ldr r1, =0xf7ffffff
- ands r0, r1
- str r0, [r2]
-_0806C202:
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C206:
- ldrb r1, [r6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0806C226
- ldr r2, =0x00000f88
- mov r0, r8
- ldr r1, [sp, 0x10]
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C226
- movs r0, 0
- str r0, [sp, 0x20]
-_0806C226:
- ldrb r1, [r6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0806C246
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x10
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C246
- movs r1, 0
- str r1, [sp, 0x20]
-_0806C246:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0806C266
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x20
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C266
- movs r2, 0
- str r2, [sp, 0x20]
-_0806C266:
- ldrb r1, [r6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C286
- mov r0, r8
- ldr r1, [sp, 0x10]
- movs r2, 0x40
- ldr r3, [sp, 0x38]
- bl HealStatusConditions
- lsls r0, 24
- cmp r0, 0
- bne _0806C286
- movs r3, 0
- str r3, [sp, 0x20]
-_0806C286:
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806C294
- bl _0806CD4C
-_0806C294:
- ldr r0, =gMain
- ldr r5, =0x00000439
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806C2A8
- bl _0806CD4C
-_0806C2A8:
- ldr r0, [sp, 0x38]
- cmp r0, 0x4
- bne _0806C2B2
- bl _0806CD4C
-_0806C2B2:
- ldr r1, =gBattleMons
- movs r0, 0x58
- ldr r2, [sp, 0x38]
- muls r0, r2
- adds r1, 0x50
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _0806C2CC
- bl _0806CD4C
-_0806C2CC:
- movs r0, 0x8
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- movs r3, 0
- str r3, [sp, 0x20]
- bl _0806CD4C
- .pool
-_0806C300:
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x1C]
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x20
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- beq _0806C3D8
- movs r0, 0xDF
- ands r2, r0
- mov r10, r2
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D22
- ldr r3, [sp, 0x14]
- adds r1, r3, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r3, 1
- lsrs r0, r1
- str r0, [sp]
- adds r5, r3, 0
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x2C]
- ldr r0, [sp]
- cmp r0, 0x2
- bhi _0806C3D8
- ldr r0, [sp, 0x2C]
- cmp r0, 0x4
- bls _0806C3D8
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D2A
- ldr r2, [sp, 0x14]
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x2C]
- subs r0, r3
- str r0, [sp]
- ldr r4, [sp, 0x14]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
-_0806C3D8:
- movs r0, 0
- str r0, [sp, 0x2C]
- mov r1, r10
- cmp r1, 0
- bne _0806C3E6
- bl _0806CD4C
-_0806C3E6:
- movs r0, 0x1
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- bne _0806C3F2
- b _0806C9AA
-_0806C3F2:
- ldr r3, [sp, 0x2C]
- cmp r3, 0x7
- bls _0806C3FA
- b _0806C9AA
-_0806C3FA:
- lsls r0, r3, 2
- ldr r1, =_0806C410
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806C410:
- .4byte _0806C430
- .4byte _0806C430
- .4byte _0806C4DC
- .4byte _0806C700
- .4byte _0806C9AA
- .4byte _0806C9AA
- .4byte _0806C9AA
- .4byte _0806C994
-_0806C430:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x28]
- adds r0, r5, r1
- ldrb r5, [r0]
- ldr r0, =gUnknown_08329EC2
- ldr r2, [sp, 0x2C]
- adds r0, r2, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp, 0x4]
- lsls r0, r5, 24
- asrs r2, r0, 24
- cmp r2, 0
- ble _0806C498
- ldr r0, =0x000001fd
- cmp r6, r0
- bls _0806C466
- b _0806BEF0
-_0806C466:
- adds r3, r1, 0
- cmp r3, 0x63
- ble _0806C46E
- b _0806C9AA
-_0806C46E:
- adds r1, r3, r2
- cmp r1, 0x64
- ble _0806C484
- adds r0, r2, 0
- adds r0, 0x64
- subs r5, r0, r1
- b _0806C486
- .pool
-_0806C484:
- adds r5, r2, 0
-_0806C486:
- adds r1, r6, r5
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0806C494
- adds r0, r5, r0
- subs r5, r0, r1
-_0806C494:
- adds r0, r3, r5
- b _0806C4B2
-_0806C498:
- cmp r1, 0
- bne _0806C4A8
- movs r3, 0x1
- str r3, [sp, 0x3C]
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C4A8:
- adds r0, r1, r2
- str r0, [sp, 0x4]
- cmp r0, 0
- bge _0806C4B4
- movs r0, 0
-_0806C4B2:
- str r0, [sp, 0x4]
-_0806C4B4:
- ldr r0, =gUnknown_08329EC2
- ldr r5, [sp, 0x2C]
- adds r0, r5, r0
- ldrb r1, [r0]
- add r2, sp, 0x4
- mov r0, r8
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- b _0806C978
- .pool
-_0806C4DC:
- movs r0, 0x10
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _0806C59C
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- beq _0806C4FC
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C4FC:
- ldr r0, =gMain
- ldr r2, =0x00000439
- adds r0, r2
- ldrb r1, [r0]
- movs r4, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C5B2
- ldr r3, [sp, 0x38]
- cmp r3, 0x4
- beq _0806C55C
- ldr r2, =gAbsentBankFlags
- ldr r1, =gBitTable
- lsls r0, r3, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldr r1, =gBattlePartyID
- lsls r0, r3, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [sp, 0x38]
- bl CopyPlayerPartyMonToBattleData
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- b _0806C574
- .pool
-_0806C55C:
- ldr r3, =gAbsentBankFlags
- ldr r1, =gBitTable
- ldr r2, =gActiveBank
- ldrb r0, [r2]
- eors r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldrb r0, [r3]
- bics r0, r1
- strb r0, [r3]
- ldrb r0, [r2]
-_0806C574:
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0806C5B2
- ldr r1, =gBattleResults
- ldrb r0, [r1, 0x4]
- cmp r0, 0xFE
- bhi _0806C5B2
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0806C5B2
- .pool
-_0806C59C:
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r0, 0
- bne _0806C5B2
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- b _0806C83E
-_0806C5B2:
- ldr r1, [sp, 0x28]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r5, [sp, 0x24]
- adds r1, r5, r1
- ldrb r1, [r1]
- str r1, [sp]
- adds r0, r1, 0
- cmp r0, 0xFE
- beq _0806C5F4
- cmp r0, 0xFE
- bhi _0806C5D4
- cmp r0, 0xFD
- beq _0806C60A
- b _0806C612
-_0806C5D4:
- cmp r1, 0xFF
- bne _0806C612
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- subs r4, r0
- str r4, [sp]
- b _0806C612
-_0806C5F4:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- lsrs r0, 1
- str r0, [sp]
- cmp r0, 0
- bne _0806C612
- movs r0, 0x1
- b _0806C610
-_0806C60A:
- ldr r0, =gBattleScripting
- adds r0, 0x23
- ldrb r0, [r0]
-_0806C610:
- str r0, [sp]
-_0806C612:
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- beq _0806C6F0
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _0806C6E4
- mov r0, r8
- movs r1, 0x39
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C65E
- mov r0, r8
- movs r1, 0x3A
- movs r2, 0
- bl GetMonData
- str r0, [sp]
-_0806C65E:
- mov r0, r8
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C6EC
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C6EC
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- ldr r1, [sp]
- strh r1, [r0, 0x28]
- movs r0, 0x10
- mov r3, r10
- ands r0, r3
- cmp r0, 0
- bne _0806C6EC
- ldr r4, =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0806C6EC
- ldr r1, =gBattleResults
- ldrb r0, [r1, 0x3]
- cmp r0, 0xFE
- bhi _0806C6AE
- adds r0, 0x1
- strb r0, [r1, 0x3]
-_0806C6AE:
- ldrb r5, [r4]
- add r0, sp, 0x38
- ldrb r0, [r0]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl EmitGetMonData
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
- strb r5, [r4]
- b _0806C6EC
- .pool
-_0806C6E4:
- ldr r1, =gBattleMoveDamage
- ldr r0, [sp]
- negs r0, r0
- str r0, [r1]
-_0806C6EC:
- movs r1, 0
- str r1, [sp, 0x20]
-_0806C6F0:
- movs r0, 0xEF
- mov r2, r10
- ands r2, r0
- mov r10, r2
- b _0806C9AA
- .pool
-_0806C700:
- movs r7, 0x2
- mov r0, r10
- ands r0, r7
- cmp r0, 0
- beq _0806C70C
- b _0806C858
-_0806C70C:
- movs r5, 0
- ldr r3, [sp, 0x28]
- adds r3, 0x1
- str r3, [sp, 0x40]
-_0806C714:
- movs r0, 0x11
- adds r0, r5
- mov r9, r0
- mov r0, r8
- mov r1, r9
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- adds r7, r5, 0
- adds r7, 0xD
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r5, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- beq _0806C832
- ldr r2, [sp, 0x24]
- ldr r3, [sp, 0x28]
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r0, r1, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C7CC
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r6, 0
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0806C7CC:
- mov r0, r8
- mov r1, r9
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806C82E
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C82E
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r3, r2, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 14
- ands r1, r0
- cmp r1, 0
- bne _0806C82E
- ldr r1, =gDisableStructs
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0806C82E
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0806C82E:
- movs r3, 0
- str r3, [sp, 0x20]
-_0806C832:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0806C83A
- b _0806C714
-_0806C83A:
- ldr r5, [sp, 0x40]
- lsls r0, r5, 24
-_0806C83E:
- lsrs r0, 24
- str r0, [sp, 0x28]
- b _0806C9AA
- .pool
-_0806C858:
- ldr r6, [sp, 0x14]
- adds r6, 0x11
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r5, [sp, 0x14]
- adds r5, 0xD
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp]
- cmp r2, r0
- bne _0806C8A0
- b _0806C9AA
-_0806C8A0:
- ldr r1, [sp, 0x28]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r0, [sp, 0x24]
- adds r1, r0, r1
- ldrb r0, [r1]
- adds r0, r2, r0
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- cmp r1, r0
- bls _0806C914
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
-_0806C914:
- mov r0, r8
- adds r1, r6, 0
- mov r2, sp
- bl SetMonData
- ldr r0, =gMain
- ldr r1, =0x00000439
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0806C978
- ldr r2, [sp, 0x38]
- cmp r2, 0x4
- beq _0806C978
- ldr r4, =gBattleMons
- movs r0, 0x58
- adds r3, r2, 0
- muls r3, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r3, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0806C978
- ldr r1, =gDisableStructs
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, =gBitTable
- ldr r5, [sp, 0x14]
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0806C978
- adds r0, r5, r3
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r1
- ldr r1, [sp]
- strb r1, [r0]
-_0806C978:
- movs r0, 0
- str r0, [sp, 0x20]
- b _0806C9AA
- .pool
-_0806C994:
- mov r0, r8
- movs r1, 0x2
- ldr r2, [sp, 0xC]
- bl GetEvolutionTargetSpecies
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0806C9AA
- bl _0806BEE0
-_0806C9AA:
- ldr r1, [sp, 0x2C]
- adds r1, 0x1
- str r1, [sp, 0x2C]
- mov r2, r10
- lsrs r2, 1
- mov r10, r2
- cmp r2, 0
- beq _0806C9BC
- b _0806C3E6
-_0806C9BC:
- b _0806CD4C
-_0806C9BE:
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x1C]
- adds r0, r3, r5
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0
- str r0, [sp, 0x2C]
- mov r1, r10
- cmp r1, 0
- bne _0806C9D4
- b _0806CD4C
-_0806C9D4:
- movs r0, 0x1
- mov r2, r10
- ands r0, r2
- cmp r0, 0
- bne _0806C9E0
- b _0806CD3A
-_0806C9E0:
- ldr r3, [sp, 0x2C]
- cmp r3, 0x7
- bls _0806C9E8
- b _0806CD3A
-_0806C9E8:
- lsls r0, r3, 2
- ldr r1, =_0806C9F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0806C9F8:
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CA18
- .4byte _0806CAB8
- .4byte _0806CB94
- .4byte _0806CC00
- .4byte _0806CC68
-_0806CA18:
- mov r0, r8
- bl GetMonEVCount
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x28]
- adds r0, r5, r1
- ldrb r5, [r0]
- ldr r0, =gUnknown_08329EC2
- ldr r4, [sp, 0x2C]
- adds r4, 0x2
- adds r0, r4, r0
- ldrb r1, [r0]
- mov r0, r8
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- str r1, [sp, 0x4]
- lsls r0, r5, 24
- asrs r2, r0, 24
- cmp r2, 0
- ble _0806CA84
- ldr r0, =0x000001fd
- cmp r6, r0
- bls _0806CA52
- bl _0806BEF0
-_0806CA52:
- adds r3, r1, 0
- cmp r3, 0x63
- ble _0806CA5A
- b _0806CD3A
-_0806CA5A:
- adds r1, r3, r2
- cmp r1, 0x64
- ble _0806CA70
- adds r0, r2, 0
- adds r0, 0x64
- subs r5, r0, r1
- b _0806CA72
- .pool
-_0806CA70:
- adds r5, r2, 0
-_0806CA72:
- adds r1, r6, r5
- movs r0, 0xFF
- lsls r0, 1
- cmp r1, r0
- bls _0806CA80
- adds r0, r5, r0
- subs r5, r0, r1
-_0806CA80:
- adds r0, r3, r5
- b _0806CA98
-_0806CA84:
- cmp r1, 0
- bne _0806CA8E
- movs r2, 0x1
- str r2, [sp, 0x3C]
- b _0806CD30
-_0806CA8E:
- adds r0, r1, r2
- str r0, [sp, 0x4]
- cmp r0, 0
- bge _0806CA9A
- movs r0, 0
-_0806CA98:
- str r0, [sp, 0x4]
-_0806CA9A:
- ldr r0, =gUnknown_08329EC2
- adds r0, r4, r0
- ldrb r1, [r0]
- add r2, sp, 0x4
- mov r0, r8
- bl SetMonData
- mov r0, r8
- bl CalculateMonStats
- movs r3, 0
- str r3, [sp, 0x20]
- b _0806CD30
- .pool
-_0806CAB8:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- ldr r1, =gUnknown_08329D22
- ldr r5, [sp, 0x14]
- adds r1, r5, r1
- ldrb r1, [r1]
- ands r0, r1
- lsls r1, r5, 1
- lsrs r0, r1
- str r0, [sp]
- adds r6, r5, 0
- adds r6, 0xD
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [sp]
- cmp r0, 0x2
- bls _0806CB0A
- b _0806CD3A
-_0806CB0A:
- cmp r5, 0x4
- bhi _0806CB10
- b _0806CD3A
-_0806CB10:
- mov r0, r8
- movs r1, 0x15
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r1, =gUnknown_08329D26
- ldr r2, [sp, 0x14]
- adds r1, r2, r1
- ldrb r2, [r1]
- ands r2, r0
- str r2, [sp]
- ldr r0, =gUnknown_08329D2A
- ldr r3, [sp, 0x14]
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r2, r0
- str r2, [sp]
- mov r0, r8
- movs r1, 0x15
- mov r2, sp
- bl SetMonData
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [sp]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [sp, 0x14]
- bl CalculatePPWithBonus
- lsls r0, 24
- lsrs r0, 24
- subs r0, r5
- str r0, [sp]
- ldr r4, [sp, 0x14]
- adds r4, 0x11
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl GetMonData
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp]
- mov r0, r8
- adds r1, r4, 0
- mov r2, sp
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
- b _0806CD3A
- .pool
-_0806CB94:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bls _0806CBA4
- b _0806CD30
-_0806CBA4:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CBB2
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- bne _0806CBB2
- b _0806CD30
-_0806CBB2:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- beq _0806CBBE
- b _0806CD30
-_0806CBBE:
- ldr r2, [sp, 0x30]
- cmp r2, 0
- beq _0806CBC6
- b _0806CD30
-_0806CBC6:
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- str r5, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r4, r0, 24
- asrs r1, r4, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- bne _0806CCCC
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r5, r0
- str r0, [sp, 0x8]
- adds r2, r4, 0
- b _0806CCD8
-_0806CC00:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0x63
- bhi _0806CC10
- b _0806CD30
-_0806CC10:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _0806CC20
- b _0806CD30
-_0806CC20:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CC2E
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- bne _0806CC2E
- b _0806CD30
-_0806CC2E:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- bne _0806CD30
- ldr r2, [sp, 0x30]
- cmp r2, 0
- bne _0806CD30
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r5, r0, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- beq _0806CCBA
- b _0806CCCC
-_0806CC68:
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- cmp r0, 0xC7
- bls _0806CD30
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _0806CC82
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- beq _0806CD30
-_0806CC82:
- bl sub_806F104
- lsls r0, 24
- cmp r0, 0
- bne _0806CD30
- ldr r2, [sp, 0x30]
- cmp r2, 0
- bne _0806CD30
- ldr r3, [sp, 0x24]
- ldr r5, [sp, 0x28]
- adds r0, r3, r5
- ldrb r0, [r0]
- str r0, [sp, 0x30]
- mov r0, r8
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- str r4, [sp, 0x8]
- ldr r0, [sp, 0x30]
- lsls r5, r0, 24
- asrs r1, r5, 24
- cmp r1, 0
- ble _0806CCCC
- ldr r2, [sp, 0x34]
- cmp r2, 0x1B
- bne _0806CCCC
-_0806CCBA:
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- adds r0, r4, r0
- str r0, [sp, 0x8]
- adds r2, r5, 0
- b _0806CCD8
-_0806CCCC:
- ldr r3, [sp, 0x30]
- lsls r2, r3, 24
- asrs r1, r2, 24
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
-_0806CCD8:
- cmp r2, 0
- ble _0806CD0E
- mov r0, r8
- movs r1, 0x26
- movs r2, 0
- bl GetMonData
- cmp r0, 0xB
- bne _0806CCF0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
-_0806CCF0:
- mov r0, r8
- movs r1, 0x23
- movs r2, 0
- bl GetMonData
- adds r4, r0, 0
- bl sav1_map_get_name
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0806CD0E
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
-_0806CD0E:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bge _0806CD18
- movs r0, 0
- str r0, [sp, 0x8]
-_0806CD18:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- ble _0806CD22
- movs r0, 0xFF
- str r0, [sp, 0x8]
-_0806CD22:
- add r2, sp, 0x8
- mov r0, r8
- movs r1, 0x20
- bl SetMonData
- movs r5, 0
- str r5, [sp, 0x20]
-_0806CD30:
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
-_0806CD3A:
- ldr r0, [sp, 0x2C]
- adds r0, 0x1
- str r0, [sp, 0x2C]
- mov r1, r10
- lsrs r1, 1
- mov r10, r1
- cmp r1, 0
- beq _0806CD4C
- b _0806C9D4
-_0806CD4C:
- ldr r2, [sp, 0x1C]
- adds r2, 0x1
- str r2, [sp, 0x1C]
- cmp r2, 0x5
- bgt _0806CD5A
- bl _0806BEFC
-_0806CD5A:
- ldr r0, [sp, 0x20]
-_0806CD5C:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ExecuteTableBasedItemEffect
-
- .align 2, 0 @ Don't pad with nop.
- \ No newline at end of file
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 94245f93b..24e041b7f 100755..100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -211,7 +211,7 @@ _080C72AC:
bl sub_81973A4
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -233,7 +233,7 @@ _080C72AC:
movs r0, 0
movs r1, 0x1
movs r3, 0xFF
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -245,7 +245,7 @@ _080C72AC:
b _080C7318
.pool
_080C730C:
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
cmp r0, 0
bne _080C7318
@@ -339,7 +339,7 @@ _080C7392:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _080C756A
.pool
_080C73D0:
@@ -406,7 +406,7 @@ _080C7428:
_080C745C:
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
movs r0, 0x4
strh r0, [r5, 0x8]
b _080C756A
@@ -509,7 +509,7 @@ _080C7532:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
strh r4, [r5, 0x8]
b _080C756A
.pool
@@ -627,7 +627,7 @@ sub_80C75FC: @ 80C75FC
lsrs r4, 24
adds r0, r4, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
adds r0, r4, 0
movs r1, 0x5
mov r2, r8
@@ -657,7 +657,7 @@ sub_80C7678: @ 80C7678
ldr r1, =gFieldCallback
ldr r0, =mapldr_0808C6D8
str r0, [r1]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
pop {r0}
bx r0
@@ -1106,7 +1106,7 @@ sub_80C7958: @ 80C7958
ldrh r0, [r3]
adds r0, 0x1
strh r0, [r1]
- ldr r0, =gUnknown_08571710
+ ldr r0, =sSpriteAnimTable_8571710
str r0, [sp, 0xC]
movs r4, 0
_080C7A10:
@@ -1837,7 +1837,7 @@ _080C805E:
movs r0, 0x1
movs r1, 0xB
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
b _080C8198
.pool
_080C808C:
@@ -2201,7 +2201,7 @@ _080C83CC:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C83F4
@@ -2304,7 +2304,7 @@ _080C84C8:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C84F8
@@ -2874,7 +2874,7 @@ _080C8A0C:
ldr r2, =0x00000ce6
adds r0, r2
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C8A8C
@@ -2913,7 +2913,7 @@ _080C8A7C:
ldr r2, =0x00000ce6
adds r0, r1, r2
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _080C8A98
@@ -3409,7 +3409,7 @@ _080C8F0C:
adds r0, 0x1
strb r0, [r1]
_080C8F22:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3661,7 +3661,7 @@ _080C914E:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C9168
@@ -3943,7 +3943,7 @@ _080C93E4:
ldr r1, =0x00000ce6
adds r0, r1
ldrh r0, [r0]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080C9404
@@ -4133,7 +4133,7 @@ _080C9584:
b _080C9664
.pool
_080C95A4:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -4927,7 +4927,7 @@ _080C9C78:
b _080C9CAA
.pool
_080C9C8C:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -5058,7 +5058,7 @@ _080C9DAC:
b _080C9DE0
.pool
_080C9DC0:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -5343,7 +5343,7 @@ sub_80CA044: @ 80CA044
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
- ldr r1, =gUnknown_08DD2FE8
+ ldr r1, =gPSSMenu_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x1
@@ -5393,7 +5393,7 @@ _080CA0C2:
thumb_func_start sub_80CA0C8
sub_80CA0C8: @ 80CA0C8
push {lr}
- ldr r0, =gUnknown_08572744
+ ldr r0, =gWaveformSpritePalette
bl LoadSpritePalette
pop {r0}
bx r0
@@ -5498,7 +5498,7 @@ sub_80CA154: @ 80CA154
sub_80CA1C4: @ 80CA1C4
push {r4,lr}
sub sp, 0x8
- ldr r0, =gUnknown_0857274C
+ ldr r0, =gWaveformSpriteSheet
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp]
@@ -6104,7 +6104,7 @@ sub_80CA704: @ 80CA704
ldr r1, [r4]
adds r1, 0xB0
bl LZ77UnCompWram
- ldr r0, =gUnknown_08DD36A8
+ ldr r0, =gPSSMenu_Pal
movs r1, 0x10
movs r2, 0x20
bl LoadPalette
@@ -6712,7 +6712,7 @@ sub_80CAC1C: @ 80CAC1C
movs r0, 0x1
movs r1, 0x2
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x20
str r0, [sp]
movs r0, 0x14
@@ -6737,7 +6737,7 @@ sub_80CAC58: @ 80CAC58
sub sp, 0xC
lsls r0, 24
lsrs r6, r0, 24
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, =gUnknown_0857276C
lsls r0, r6, 3
adds r0, r1
@@ -6774,7 +6774,7 @@ _080CACB8:
adds r1, r2
_080CACC0:
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _080CAD30
.pool
_080CACD0:
@@ -6817,7 +6817,7 @@ _080CAD16:
ldr r0, =0x000021eb
adds r1, r0
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_080CAD30:
ldr r5, =gUnknown_02039D08
ldr r0, [r5]
@@ -6827,7 +6827,7 @@ _080CAD30:
lsls r1, r6, 3
adds r1, r2
ldr r1, [r1]
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
movs r1, 0x11
bl FillWindowPixelBuffer
@@ -7034,7 +7034,7 @@ _080CAEFA:
thumb_func_start sub_80CAF04
sub_80CAF04: @ 80CAF04
push {r4-r6,lr}
- bl sub_80D2F04
+ bl LoadMonIconPalettes
movs r2, 0
ldr r3, =gUnknown_02039D08
ldr r5, =0x00000b08
@@ -9124,7 +9124,7 @@ _080CBF80:
adds r1, r3
ldr r0, [r1]
ldr r2, [r0]
- ldr r0, =gUnknown_0857291C
+ ldr r0, =gSpriteAffineAnimTable_857291C
str r0, [r2, 0x10]
ldr r0, [r1]
ldr r0, [r0]
@@ -10135,7 +10135,7 @@ _080CC7E6:
lsls r0, r1, 1
adds r0, r1
lsls r0, 2
- ldr r1, =gUnknown_085775B8
+ ldr r1, =gWallpaperTable
adds r6, r0, r1
ldr r0, [r6, 0x4]
ldr r1, [r7]
@@ -10646,7 +10646,7 @@ _080CCC70:
adds r1, r6, r1
lsls r1, 16
asrs r1, 16
- ldr r0, =gUnknown_0857B0A8
+ ldr r0, =gSpriteTemplate_857B0A8
movs r2, 0x1C
movs r3, 0x18
bl CreateSprite
@@ -10720,7 +10720,7 @@ sub_80CCCFC: @ 80CCCFC
ldr r0, =0x00030200
str r0, [r3, 0x4]
add r1, sp, 0x4
- ldr r0, =gUnknown_0857B0A8
+ ldr r0, =gSpriteTemplate_857B0A8
ldm r0!, {r5-r7}
stm r1!, {r5-r7}
ldm r0!, {r5-r7}
@@ -14810,7 +14810,7 @@ _080CF020:
beq _080CF0AC
ldr r3, =0x00000d65
adds r4, r3
- bl ItemId_GetItem
+ bl ItemId_GetName
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0
@@ -16168,7 +16168,7 @@ sub_80CFB44: @ 80CFB44
.pool
_080CFB8C:
ldrh r0, [r1]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
bne _080CFBA4
@@ -16197,7 +16197,7 @@ _080CFBAC:
.pool
_080CFBCC:
ldrh r0, [r1]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -16240,14 +16240,14 @@ sub_80CFC14: @ 80CFC14
push {r4-r6,lr}
sub sp, 0x2C
mov r1, sp
- ldr r0, =gUnknown_0857B9E4
+ ldr r0, =gHandCursorSpriteSheets
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
add r4, sp, 0x18
adds r1, r4, 0
- ldr r0, =gUnknown_0857B9FC
+ ldr r0, =gHandCursorSpritePalettes
ldm r0!, {r2,r3,r5}
stm r1!, {r2,r3,r5}
ldr r0, [r0]
@@ -16279,7 +16279,7 @@ sub_80CFC14: @ 80CFC14
adds r2, r4, 0
adds r3, r5, 0
bl sub_80CD444
- ldr r0, =gUnknown_0857BA50
+ ldr r0, =gSpriteTemplate_857BA50
movs r2, 0
ldrsh r1, [r4, r2]
movs r3, 0
@@ -16353,7 +16353,7 @@ _080CFD3C:
movs r3, 0x15
movs r4, 0x2
_080CFD40:
- ldr r0, =gUnknown_0857BA68
+ ldr r0, =gSpriteTemplate_857BA68
movs r1, 0
movs r2, 0
bl CreateSprite
@@ -18324,7 +18324,7 @@ sub_80D0C60: @ 80D0C60
orrs r0, r1
str r0, [r2, 0x4]
mov r1, sp
- ldr r0, =gUnknown_0857BC70
+ ldr r0, =gSpriteTemplate_857BC70
ldm r0!, {r4-r6}
stm r1!, {r4-r6}
ldm r0!, {r4-r6}
@@ -19057,7 +19057,7 @@ sub_80D12B8: @ 80D12B8
ldr r1, =0x00002234
adds r0, r1
ldrh r0, [r0]
- bl ItemId_GetItem
+ bl ItemId_GetName
pop {r1}
bx r1
.pool
@@ -21048,8 +21048,8 @@ _080D220C:
bx r1
thumb_func_end sub_80D214C
- thumb_func_start sub_80D2218
-sub_80D2218: @ 80D2218
+ thumb_func_start CheckFreePokemonStorageSpace
+CheckFreePokemonStorageSpace: @ 80D2218
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -21095,7 +21095,7 @@ _080D2262:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_80D2218
+ thumb_func_end CheckFreePokemonStorageSpace
thumb_func_start sub_80D2270
sub_80D2270: @ 80D2270
@@ -21660,7 +21660,7 @@ sub_80D2644: @ 80D2644
mov r2, r9
ldr r1, [r2]
adds r5, r1
- ldr r2, =gUnknown_0857BC88
+ ldr r2, =gSpriteTemplate_857BC88
lsls r4, 2
lsls r1, r0, 4
adds r4, r1
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index d30c6b4ee..b2cba6dab 100755..100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -5,869 +5,7 @@
.text
- thumb_func_start sub_81C3E2C
-sub_81C3E2C: @ 81C3E2C
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bne _081C3E48
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c4
- b _081C3E50
- .pool
-_081C3E48:
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- lsls r1, 1
- adds r0, 0x84
-_081C3E50:
- adds r0, r1
- ldrh r4, [r0]
- cmp r4, 0
- beq _081C3E82
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gContestEffectDescriptionPointers
- ldr r2, =gContestMoves
- lsls r1, r4, 3
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- movs r2, 0
- str r2, [sp]
- str r2, [sp, 0x4]
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
-_081C3E82:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C3E2C
-
- thumb_func_start sub_81C3E9C
-sub_81C3E9C: @ 81C3E9C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- cmp r4, 0
- beq _081C3F30
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C3F00
- adds r0, r4, 0
- bl sub_81C3C5C
- ldr r1, =gMoveDescriptionPointers
- subs r0, r4, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
- b _081C3F20
- .pool
-_081C3F00:
- ldr r2, =gContestEffectDescriptionPointers
- ldr r1, =gContestMoves
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
-_081C3F20:
- adds r0, r5, 0
- bl PutWindowTilemap
- b _081C3F36
- .pool
-_081C3F30:
- adds r0, r5, 0
- bl ClearWindowTilemap
-_081C3F36:
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81C3E9C
-
- thumb_func_start sub_81C3F44
-sub_81C3F44: @ 81C3F44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, =gUnknown_0861CD14
- adds r0, r4, 0
- movs r1, 0
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C2D2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, =gUnknown_0203CF1C
- ldr r1, [r0]
- ldr r2, =0x000040c4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0
- bne _081C3F9C
- ldr r1, =gText_Cancel
- str r2, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
- b _081C4044
- .pool
-_081C3F9C:
- ldrh r5, [r0]
- ldr r2, =0x000040c0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C3FD0
- movs r0, 0xD
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
- b _081C3FEC
- .pool
-_081C3FD0:
- movs r0, 0xD
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gMoveNames
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0
- movs r3, 0x41
- bl sub_81C25A4
-_081C3FEC:
- ldr r4, =gStringVar1
- ldr r1, =gBattleMoves
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x4]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- bl sub_81AFBF0
- movs r0, 0
- adds r1, r4, 0
- bl sub_81AFC0C
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_81AFC0C
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_0861CE97
- adds r0, r4, 0
- bl sub_81AFC28
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x2C
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x41
- bl sub_81C25A4
-_081C4044:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C3F44
-
- thumb_func_start sub_81C4064
-sub_81C4064: @ 81C4064
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0861CD14
- movs r1, 0
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x48
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x42
- bl FillWindowPixelRect
- adds r0, r4, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4064
-
- thumb_func_start sub_81C40A0
-sub_81C40A0: @ 81C40A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r5, =gUnknown_0861CD14
- adds r0, r5, 0
- movs r1, 0
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81C2D2C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r6, r0, 4
- movs r0, 0x48
- mov r8, r0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- mov r0, r10
- lsls r7, r0, 4
- mov r0, r8
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- adds r3, r7, 0
- bl FillWindowPixelRect
- movs r4, 0x30
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- adds r3, r6, 0
- bl FillWindowPixelRect
- str r4, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- adds r3, r7, 0
- bl FillWindowPixelRect
- mov r0, r9
- bl sub_81C3B08
- mov r0, r10
- bl sub_81C3B08
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C40A0
-
- thumb_func_start sub_81C4154
-sub_81C4154: @ 81C4154
- push {r4,lr}
- sub sp, 0x8
- ldr r0, =gUnknown_0861CD14
- movs r1, 0x2
- bl sub_81C2D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r1, =gText_HMMovesCantBeForgotten2
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0x6
- movs r3, 0x1
- bl sub_81C25A4
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4154
-
- thumb_func_start sub_81C4190
-sub_81C4190: @ 81C4190
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, =gUnknown_0203CF1C
- ldr r4, =0x000040d3
- movs r3, 0xFF
-_081C419A:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1B
- bls _081C419A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4190
-
- thumb_func_start sub_81C41C0
-sub_81C41C0: @ 81C41C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, =gUnknown_0203CF1C
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _081C41F2
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
-_081C41F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C41C0
-
- thumb_func_start sub_81C4204
-sub_81C4204: @ 81C4204
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, =gSprites
- ldr r2, =gUnknown_0203CF1C
- ldr r2, [r2]
- ldr r4, =0x000040d3
- adds r2, r4
- adds r2, r0
- ldrb r0, [r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4204
-
- thumb_func_start sub_81C424C
-sub_81C424C: @ 81C424C
- push {r4,lr}
- movs r4, 0x3
-_081C4250:
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _081C4268
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C4204
-_081C4268:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1B
- bls _081C4250
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C424C
- thumb_func_start sub_81C4280
-sub_81C4280: @ 81C4280
- push {lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040c0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _081C42B0
- cmp r0, 0x2
- bgt _081C42A4
- cmp r0, 0
- beq _081C42AA
- b _081C42C2
- .pool
-_081C42A4:
- cmp r0, 0x3
- beq _081C42BA
- b _081C42C2
-_081C42AA:
- bl sub_81C43A0
- b _081C42C2
-_081C42B0:
- bl sub_81C4420
- bl sub_81C44F0
- b _081C42C2
-_081C42BA:
- bl sub_81C4484
- bl sub_81C44F0
-_081C42C2:
- pop {r0}
- bx r0
- thumb_func_end sub_81C4280
-
- thumb_func_start sub_81C42C8
-sub_81C42C8: @ 81C42C8
- push {r4,r5,lr}
- movs r4, 0x3
- ldr r5, =gUnknown_0203CF1C
-_081C42CE:
- ldr r0, [r5]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _081C42F2
- ldr r0, =gUnknown_0861CFC4
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl CreateSprite
- ldr r1, [r5]
- ldr r2, =0x000040d3
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_081C42F2:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81C4204
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _081C42CE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C42C8
-
- thumb_func_start sub_81C4318
-sub_81C4318: @ 81C4318
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 24
- lsrs r3, 24
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- ldr r1, =0x000040d3
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- str r3, [sp]
- bl StartSpriteAnim
- ldr r0, =gUnknown_0861CFDC
- adds r5, r0
- ldrb r1, [r5]
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r6, 0x10
- strh r6, [r4, 0x20]
- movs r0, 0x8
- add r8, r0
- mov r1, r8
- strh r1, [r4, 0x22]
- ldr r3, [sp]
- adds r0, r3, 0
- movs r1, 0
- bl sub_81C4204
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C4318
-
- thumb_func_start sub_81C43A0
-sub_81C43A0: @ 81C43A0
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _081C43CC
- movs r0, 0x9
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0x3
- bl sub_81C4318
- movs r0, 0x4
- movs r1, 0x1
- bl sub_81C4204
- b _081C4418
- .pool
-_081C43CC:
- ldr r4, =gBaseStats
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x6]
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0x3
- bl sub_81C4318
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x6]
- ldrb r2, [r1, 0x7]
- cmp r0, r2
- beq _081C4410
- ldrb r0, [r1, 0x7]
- movs r1, 0xA0
- movs r2, 0x30
- movs r3, 0x4
- bl sub_81C4318
- movs r0, 0x4
- movs r1, 0
- bl sub_81C4204
- b _081C4418
- .pool
-_081C4410:
- movs r0, 0x4
- movs r1, 0x1
- bl sub_81C4204
-_081C4418:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81C43A0
-
- thumb_func_start sub_81C4420
-sub_81C4420: @ 81C4420
- push {r4-r6,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- movs r4, 0
- ldr r6, =gBattleMoves
-_081C442E:
- lsls r0, r4, 1
- adds r1, r5, 0
- adds r1, 0x14
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _081C4468
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r2, r4, 28
- movs r1, 0x80
- lsls r1, 22
- adds r2, r1
- lsrs r2, 24
- adds r3, r4, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x55
- bl sub_81C4318
- b _081C4474
- .pool
-_081C4468:
- adds r0, r4, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81C4204
-_081C4474:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081C442E
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81C4420
-
- thumb_func_start sub_81C4484
-sub_81C4484: @ 81C4484
- push {r4,r5,lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0x70
- movs r4, 0
-_081C4490:
- lsls r0, r4, 1
- adds r1, r5, 0
- adds r1, 0x14
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, 0
- beq _081C44D4
- ldr r1, =gContestMoves
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- lsls r2, r4, 28
- movs r1, 0x80
- lsls r1, 22
- adds r2, r1
- lsrs r2, 24
- adds r3, r4, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x55
- bl sub_81C4318
- b _081C44E0
- .pool
-_081C44D4:
- adds r0, r4, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_81C4204
-_081C44E0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081C4490
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81C4484
-
- thumb_func_start sub_81C44F0
-sub_81C44F0: @ 81C44F0
- push {lr}
- ldr r0, =gUnknown_0203CF1C
- ldr r1, [r0]
- ldr r0, =0x000040c4
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0
- bne _081C4514
- movs r0, 0x7
- movs r1, 0x1
- bl sub_81C4204
- b _081C4560
- .pool
-_081C4514:
- ldr r2, =0x000040c0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _081C4540
- ldr r2, =gBattleMoves
- ldrh r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- movs r1, 0x55
- movs r2, 0x60
- movs r3, 0x7
- bl sub_81C4318
- b _081C4560
- .pool
-_081C4540:
- ldr r1, =gContestMoves
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- movs r1, 0x55
- movs r2, 0x60
- movs r3, 0x7
- bl sub_81C4318
-_081C4560:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81C44F0
thumb_func_start sub_81C4568
sub_81C4568: @ 81C4568
@@ -1092,7 +230,7 @@ _081C4750:
bl LoadCompressedObjectPalette
ldrh r0, [r4, 0x4]
movs r1, 0x1
- bl sub_806A068
+ bl SetMultiuseSpriteTemplateToPokemon
_081C4768:
ldrh r0, [r6]
adds r0, 0x1
@@ -1116,7 +254,7 @@ sub_81C4778: @ 81C4778
bne _081C47AE
adds r0, r1, 0
adds r0, 0xC
- bl ShouldPlayNormalPokeCry
+ bl ShouldPlayNormalMonCry
cmp r0, 0x1
bne _081C47A4
ldrh r0, [r4, 0x2]
@@ -1144,7 +282,7 @@ sub_81C47B4: @ 81C47B4
ldr r0, =gUnknown_0203CF1C
ldr r6, [r0]
adds r6, 0x70
- ldr r0, =gUnknown_0202499C
+ ldr r0, =gMultiuseSpriteTemplate
movs r1, 0x28
movs r2, 0x40
movs r3, 0x5
@@ -1173,7 +311,7 @@ sub_81C47B4: @ 81C47B4
ands r0, r1
strb r0, [r7, 0x5]
ldrh r0, [r6, 0x2]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _081C4828
@@ -1221,7 +359,7 @@ sub_81C4844: @ 81C4844
cmp r0, 0x1
beq _081C487E
ldrh r0, [r4, 0x2E]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
lsrs r0, 24
strh r0, [r4, 0x30]
@@ -1424,16 +562,16 @@ sub_81C4A08: @ 81C4A08
bl GetMonData
lsls r0, 16
lsrs r0, 16
- bl ball_number_to_ball_processing_index
+ bl ItemIdToBallId
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8076A78
+ bl LoadBallGfx
lsls r0, r4, 1
adds r0, r4
lsls r0, 3
- ldr r1, =gUnknown_0832C588
+ ldr r1, =gBallSpriteTemplates
adds r0, r1
movs r1, 0x10
movs r2, 0x88
@@ -2024,7 +1162,7 @@ sub_81C4EEC: @ 81C4EEC
thumb_func_start sub_81C4EFC
sub_81C4EFC: @ 81C4EFC
push {lr}
- ldr r1, =sub_8086194
+ ldr r1, =CB2_ReturnToFieldWithOpenMenu
movs r0, 0
bl sub_81C4F98
pop {r0}
@@ -2049,7 +1187,7 @@ sub_81C4F24: @ 81C4F24
bl ScriptContext2_Enable
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
ldr r0, =sub_81C4F44
movs r1, 0xA
bl CreateTask
@@ -2070,10 +1208,10 @@ sub_81C4F44: @ 81C4F44
cmp r0, 0
bne _081C4F6E
bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_03005DB0
+ ldr r0, =gFieldCallback2
ldr r1, =hm_add_c3_without_phase_2
str r1, [r0]
- ldr r1, =c2_exit_to_overworld_2_switch
+ ldr r1, =CB2_ReturnToField
movs r0, 0x3
bl sub_81C4F98
adds r0, r4, 0
@@ -2239,7 +1377,7 @@ _081C50E4:
bl clear_scheduled_bg_copies_to_vram
b _081C51A2
_081C50EE:
- bl remove_some_task
+ bl ScanlineEffect_Stop
b _081C51A2
_081C50F4:
bl FreeAllSpritePalettes
@@ -2351,7 +1489,7 @@ _081C51D6:
thumb_func_start sub_81C51DC
sub_81C51DC: @ 81C51DC
push {lr}
- bl sub_8121DA0
+ bl ResetVramOamAndBgCntRegs
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_0861F2B4
@@ -2363,7 +1501,7 @@ sub_81C51DC: @ 81C51DC
adds r1, 0x4
movs r0, 0x2
bl SetBgTilemapBuffer
- bl sub_8121E10
+ bl ResetAllBgsCoordinates
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r1, 0x82
@@ -2411,7 +1549,7 @@ _081C5264:
.4byte _081C52D4
_081C5278:
bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08D9A620
+ ldr r1, =gBagScreen_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -2460,7 +1598,7 @@ _081C52DC:
b _081C5308
.pool
_081C52F0:
- bl sub_8122328
+ bl LoadListMenuArrowsGfx
ldr r0, [r4]
ldr r1, =0x00000984
adds r0, r1
@@ -2559,7 +1697,7 @@ _081C5382:
movs r0, 0x2
negs r0, r0
str r0, [r1]
- ldr r2, =gUnknown_03006310
+ ldr r2, =gMultiuseListMenuTemplate
adds r1, r2, 0
ldr r0, =gUnknown_0861F2C0
ldm r0!, {r4,r6,r7}
@@ -2869,7 +2007,7 @@ sub_81C5674: @ 81C5674
movs r1, 0xAC
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r4]
ldr r2, =0x00000816
adds r1, r2
@@ -2918,7 +2056,7 @@ sub_81C56F8: @ 81C56F8
lsls r4, 3
ldr r0, =gTasks + 0x8
adds r4, r0
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldr r2, =gUnknown_0203CF30
ldrh r1, [r2, 0x8]
ldrh r2, [r2, 0x6]
@@ -3469,7 +2607,7 @@ sub_81C5B4C: @ 81C5B4C
ldr r4, =gUnknown_0203CF38
subs r2, r4, 0x2
adds r1, r4, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldr r0, =gUnknown_0203CF2C
ldr r0, [r0]
ldr r0, [r0]
@@ -3545,7 +2683,7 @@ _081C5C12:
adds r1, r4, 0
adds r1, 0x8
adds r2, r4, 0x6
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
ldrh r1, [r4, 0x8]
ldrh r0, [r4, 0x6]
adds r1, r0
@@ -3565,14 +2703,14 @@ _081C5C12:
.pool
_081C5C5C:
ldrb r0, [r7]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r7]
ldr r1, =gUnknown_0203CF38
mov r8, r1
mov r2, r8
subs r2, 0x2
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
movs r0, 0x2
negs r0, r0
cmp r6, r0
@@ -4207,7 +3345,7 @@ sub_81C61E0: @ 81C61E0
cmp r0, 0x3
beq _081C620C
ldrh r0, [r4]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4642,11 +3780,11 @@ sub_81C65CC: @ 81C65CC
ldrb r0, [r4]
adds r1, r6, 0
adds r2, r7, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
bl sub_81C5924
bl sub_81C59BC
bl sub_81C5314
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r6]
ldrh r2, [r7]
bl ListMenuInit
@@ -4673,7 +3811,7 @@ sub_81C6648: @ 81C6648
bl sub_81C61A8
ldr r5, =gSpecialVar_ItemId
ldrh r0, [r5]
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -4686,7 +3824,7 @@ sub_81C6648: @ 81C6648
.pool
_081C667C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C66A0
@@ -4799,7 +3937,7 @@ sub_81C674C: @ 81C674C
.pool
_081C677C:
ldrh r0, [r5]
- bl itemid_is_unique
+ bl ItemId_GetImportance
lsls r0, 24
cmp r0, 0
bne _081C6790
@@ -4868,7 +4006,7 @@ sub_81C67CC: @ 81C67CC
ldrb r0, [r5]
movs r1, 0x10
movs r2, 0x1
- bl sub_81AF15C
+ bl ListMenuSetUnkIndicatorsStructField
ldr r0, =gSaveBlock2Ptr
ldr r3, [r0]
movs r0, 0x2
@@ -4953,18 +4091,18 @@ sub_81C68B0: @ 81C68B0
ldrb r0, [r4]
ldr r1, =gUnknown_0203CF38
subs r2, r1, 0x2
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
b _081C6940
.pool
_081C68F8:
ldrb r0, [r4]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r6, r0, 0
ldrb r0, [r4]
ldr r4, =gUnknown_0203CF38
subs r2, r4, 0x2
adds r1, r4, 0
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
movs r0, 0
bl sub_81C7028
subs r4, 0x8
@@ -5054,7 +4192,7 @@ _081C69A8:
ldrb r0, [r5]
adds r1, r7, 0
mov r2, r8
- bl sub_81AE6C8
+ bl DestroyListMenuTask
movs r3, 0x2
ldrsh r0, [r5, r3]
cmp r0, r4
@@ -5066,7 +4204,7 @@ _081C69A8:
strh r0, [r1, 0x6]
_081C69E0:
bl sub_81C5314
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r7]
mov r3, r8
ldrh r2, [r3]
@@ -5109,7 +4247,7 @@ sub_81C6A14: @ 81C6A14
ldrb r0, [r4]
adds r1, r5, 0
adds r2, r7, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
movs r0, 0x2
ldrsh r2, [r4, r0]
ldrh r0, [r5]
@@ -5124,7 +4262,7 @@ sub_81C6A14: @ 81C6A14
strh r0, [r1, 0x6]
_081C6A5E:
bl sub_81C5314
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
ldrh r1, [r5]
ldrh r2, [r7]
bl ListMenuInit
@@ -5293,11 +4431,11 @@ sub_81C6BD8: @ 81C6BD8
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0xA
movs r2, 0xD0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
ldr r0, =gUnknown_0860F074
movs r1, 0xF0
movs r2, 0x20
@@ -5362,7 +4500,7 @@ sub_81C6C3C: @ 81C6C3C
str r4, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x14
pop {r3}
mov r8, r3
@@ -5408,7 +4546,7 @@ sub_81C6C94: @ 81C6C94
str r4, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x7
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x14
pop {r3}
mov r8, r3
@@ -5547,7 +4685,7 @@ DisplayItemMessageInBattlePyramid: @ 81C6DD8
movs r0, 0x2
movs r1, 0x11
bl FillWindowPixelBuffer
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -5756,7 +4894,7 @@ sub_81C6F90: @ 81C6F90
adds r0, r4, 0
adds r1, r4, 0
adds r2, r6, 0
- bl AddItemIconObject
+ bl AddItemIconSprite
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 6da267d78..dd2dbf4e0 100755..100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -14,7 +14,7 @@ CB2_PokeNav: @ 81C7250
str r0, [r4]
cmp r0, 0
bne _081C7270
- ldr r0, =sub_8086194
+ ldr r0, =CB2_ReturnToFieldWithOpenMenu
bl SetMainCallback2
b _081C7292
.pool
@@ -44,7 +44,7 @@ sub_81C72A4: @ 81C72A4
bl SetMainCallback2
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
pop {r0}
bx r0
.pool
@@ -66,7 +66,7 @@ sub_81C72BC: @ 81C72BC
str r0, [r4]
cmp r0, 0
bne _081C72F0
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081C7320
.pool
@@ -351,12 +351,12 @@ _081C752C:
bl sub_81C7334
cmp r4, 0
beq _081C755C
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
b _081C7562
.pool
_081C755C:
- ldr r0, =sub_8086194
+ ldr r0, =CB2_ReturnToFieldWithOpenMenu
bl SetMainCallback2
_081C7562:
pop {r4-r7}
@@ -683,7 +683,7 @@ _081C77B0:
movs r0, 0
bl sub_81C763C
adds r4, r0, 0
- ldr r1, =gUnknown_08DC7B80
+ ldr r1, =gPokenavHeader_Gfx
movs r0, 0
str r0, [sp]
movs r2, 0
@@ -693,12 +693,12 @@ _081C77B0:
movs r0, 0
adds r1, r4, 0
bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08DC7D84
+ ldr r1, =gPokenavHeader_Tilemap
movs r0, 0
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
- ldr r0, =gUnknown_08DC7B60
+ ldr r0, =gPokenavHeader_Pal
movs r1, 0
movs r2, 0x20
bl sub_81C7944
@@ -1568,10 +1568,10 @@ sub_81C7E58: @ 81C7E58
ldr r2, [r6]
mov r8, r2
mov r0, r8
- bl sub_8034974
+ bl GetDecompressedDataSize
adds r5, r0, 0
lsls r4, 5
- ldr r0, =gUnknown_08DC7F00
+ ldr r0, =gPokenavLeftHeader_Pal
adds r4, r0
movs r0, 0x1
bl IndexOfSpritePaletteTag
@@ -1650,10 +1650,10 @@ sub_81C7F24: @ 81C7F24
adds r1, r2
ldr r6, [r1]
adds r0, r6, 0
- bl sub_8034974
+ bl GetDecompressedDataSize
adds r5, r0, 0
lsls r4, 5
- ldr r0, =gUnknown_08DC7F00
+ ldr r0, =gPokenavLeftHeader_Pal
adds r4, r0
movs r0, 0x2
bl IndexOfSpritePaletteTag
@@ -5198,7 +5198,7 @@ _081C9A5C:
ldr r0, =gUnknown_08620194
movs r1, 0x3
bl sub_81C7B54
- ldr r1, =gUnknown_08DC90E0
+ ldr r1, =gPokenavMessageBox_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x1
@@ -5209,14 +5209,14 @@ _081C9A5C:
adds r1, 0x8C
movs r0, 0x1
bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08DC9130
+ ldr r1, =gPokenavMessageBox_Tilemap
movs r0, 0x1
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBuffer
movs r0, 0x1
bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_08DC90C0
+ ldr r0, =gPokenavMessageBox_Pal
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
@@ -6948,7 +6948,7 @@ sub_81CA818: @ 81CA818
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r5, =gUnknown_0861FC7A
+ ldr r5, =gUnknown_0861FC78 + 2
adds r0, r4, 0
movs r1, 0x1
adds r2, r5, 0
@@ -6967,7 +6967,7 @@ sub_81CA818: @ 81CA818
thumb_func_start sub_81CA850
sub_81CA850: @ 81CA850
push {lr}
- ldr r0, =gUnknown_0861FC86
+ ldr r0, =gUnknown_0861FC78 + 0xE
movs r1, 0x31
movs r2, 0x4
bl sub_81C7944
@@ -6985,7 +6985,7 @@ sub_81CA864: @ 81CA864
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r5, =gUnknown_0861FC86
+ ldr r5, =gUnknown_0861FC78 + 0xE
adds r0, r4, 0
movs r1, 0x1
adds r2, r5, 0
@@ -7068,7 +7068,7 @@ sub_81CA914: @ 81CA914
bl TransferPlttBuffer
bl LoadOam
bl ProcessSpriteCopyRequests
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
thumb_func_end sub_81CA914
@@ -7095,13 +7095,13 @@ titlescreen_0: @ 81CA92C
movs r0, 0x44
movs r1, 0xA0
bl SetGpuRegBits
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl sub_81CAA3C
ldr r2, =gUnknown_08620384
ldr r0, [r2]
ldr r1, [r2, 0x4]
ldr r2, [r2, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldr r0, =sub_81CA914
bl c3args_set_0toR1_1to0
ldr r0, =sub_81CA9EC
@@ -7122,7 +7122,7 @@ sub_81CA994: @ 81CA994
lsls r1, 6
movs r0, 0
bl ClearGpuRegBits
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r0, =sub_81CA9EC
bl FindTaskIdByFunc
lsls r0, 24
@@ -7220,7 +7220,7 @@ sub_81CAA3C: @ 81CAA3C
mov r0, sp
movs r6, 0
strh r6, [r0]
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
ldr r0, =0x010000a0
mov r8, r0
mov r0, sp
@@ -7611,7 +7611,7 @@ _081CAD4C:
ldrh r5, [r4, 0x8]
_081CAD50:
adds r0, r5, 0
- bl sub_81D15F4
+ bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CAD80
ldrh r0, [r4, 0xA]
@@ -7834,7 +7834,7 @@ sub_81CAEBC: @ 81CAEBC
b _081CAEDC
_081CAED4:
ldrh r0, [r1, 0x1E]
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
_081CAEDC:
cmp r4, 0x4E
@@ -7870,7 +7870,7 @@ sub_81CAF04: @ 81CAF04
cmp r0, 0
bne _081CAF34
ldrh r0, [r1, 0x1E]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r1, =gTrainers
lsls r0, r4, 2
@@ -7883,21 +7883,21 @@ sub_81CAF04: @ 81CAF04
_081CAF34:
ldrh r5, [r1, 0x1E]
adds r0, r5, 0
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r4, r0, 0
cmp r4, 0x4E
bne _081CAF58
adds r0, r5, 0
bl sub_81D1BD0
adds r4, r0, 0
- ldr r0, =gUnknown_0831F578
+ ldr r0, =gFacilityClassToPicIndex
adds r0, r4, r0
ldrb r0, [r0]
b _081CAF6C
.pool
_081CAF58:
adds r0, r4, 0
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
adds r4, r0, 0
ldr r0, =gTrainers
lsls r1, r4, 2
@@ -7924,7 +7924,7 @@ sub_81CAF78: @ 81CAF78
strb r0, [r6]
ldr r0, =gMapHeader
ldrb r0, [r0, 0x17]
- bl is_light_level_1_2_3_or_6
+ bl Overworld_MapTypeAllowsTeleportAndFly
lsls r0, 24
cmp r0, 0
bne _081CAFA4
@@ -7938,7 +7938,7 @@ _081CAFA4:
cmp r0, 0
bne _081CAFC4
ldrh r0, [r1, 0x1E]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
ldr r1, =gStringVar4
bl sub_81967AC
strb r0, [r6]
@@ -7947,7 +7947,7 @@ _081CAFA4:
_081CAFC4:
ldrh r0, [r1, 0x1E]
ldr r1, =gStringVar4
- bl sub_81D189C
+ bl MatchCall_GetMessage
_081CAFCC:
ldr r0, =gStringVar4
_081CAFCE:
@@ -7970,7 +7970,7 @@ sub_81CAFD8: @ 81CAFD8
cmp r0, 0
beq _081CB004
ldrh r0, [r4, 0x1E]
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
adds r1, r0, 0
cmp r1, 0x4E
bne _081CB006
@@ -8036,7 +8036,7 @@ sub_81CB050: @ 81CB050
cmp r0, 0
bne _081CB088
ldrh r0, [r2, 0x2]
- bl sub_81D15BC
+ bl GetTrainerIdxByRematchIdx
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
@@ -8089,13 +8089,13 @@ _081CB0C0:
thumb_func_start sub_81CB0C8
sub_81CB0C8: @ 81CB0C8
push {lr}
- ldr r1, =gUnknown_085500A4
+ ldr r1, =gRematchTable
lsls r0, 4
adds r0, r1
ldrh r2, [r0, 0xA]
ldrh r1, [r0, 0xC]
adds r0, r2, 0
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldrb r0, [r0, 0x14]
pop {r1}
bx r1
@@ -8207,11 +8207,11 @@ _081CB18A:
movs r4, 0
_081CB192:
adds r0, r4, 0
- bl sub_81D15F4
+ bl MatchCallFlagGetByIndex
cmp r0, 0
beq _081CB1C0
adds r0, r4, 0
- bl sub_81D1854
+ bl MatchCall_GetRematchTableIdx
ldr r1, =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, =0x000009ca
@@ -10101,7 +10101,7 @@ sub_81CC09C: @ 81CC09C
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x40
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
ldrb r0, [r4, 0x14]
movs r1, 0x1
movs r2, 0x4
@@ -10207,7 +10207,7 @@ sub_81CC158: @ 81CC158
adds r1, 0xF
bl sub_81CAF78
adds r5, r0, 0
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
ldrb r2, [r4, 0x14]
@@ -11351,7 +11351,7 @@ sub_81CCA1C: @ 81CCA1C
lsrs r0, 24
movs r1, 0x42
movs r2, 0x40
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r5, 0x8]
movs r1, 0x42
movs r2, 0x4
@@ -11374,7 +11374,7 @@ sub_81CCA1C: @ 81CCA1C
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
- ldr r0, =gUnknown_08DC91E8
+ ldr r0, =gHoennMapZoomIcons_Pal
movs r1, 0x30
movs r2, 0x20
bl sub_81C7944
@@ -11813,7 +11813,7 @@ _081CCE34:
mov r1, r8
lsrs r0, r1, 24
lsrs r1, r7, 24
- bl sub_8145CF4
+ bl GetLandmarkName
adds r1, r0, 0
cmp r1, 0
bne _081CCE08
@@ -13941,7 +13941,7 @@ _081CDF18:
ldr r1, =0x0000040b
movs r0, 0x52
bl SetGpuReg
- ldr r1, =gUnknown_08DC6548
+ ldr r1, =gPokenavCondition_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x3
@@ -13973,7 +13973,7 @@ _081CDFB8:
beq _081CDFC4
b _081CE2C0
_081CDFC4:
- ldr r0, =gUnknown_08DC6DFC
+ ldr r0, =gPokenavCondition_Tilemap
adds r4, r5, 0x4
adds r1, r4, 0
bl LZ77UnCompVram
@@ -13983,7 +13983,7 @@ _081CDFC4:
bl sub_81CDD5C
cmp r0, 0x1
bne _081CDFF2
- ldr r1, =gUnknown_08DC7070
+ ldr r1, =gPokenavOptions_Tilemap
movs r0, 0x9
str r0, [sp]
movs r0, 0x4
@@ -13995,7 +13995,7 @@ _081CDFC4:
_081CDFF2:
movs r0, 0x3
bl CopyBgTilemapBufferToVram
- ldr r0, =gUnknown_08DC6528
+ ldr r0, =gPokenavCondition_Pal
movs r1, 0x10
movs r2, 0x20
bl sub_81C7944
@@ -15647,7 +15647,7 @@ sub_81CEE44: @ 81CEE44
bl TransferPlttBuffer
adds r0, r4, 0
bl sub_81D2108
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r4}
pop {r0}
bx r0
@@ -16941,17 +16941,17 @@ sub_81CF7F4: @ 81CF7F4
mov r8, r0
bl sub_81CF0F0
adds r7, r0, 0
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r4, =gStringVar1
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0xFF
strb r0, [r4]
ldr r5, =gStringVar2
ldr r1, =gText_NumberF700
adds r0, r5, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
mov r1, r8
ldrb r0, [r1, 0x8]
movs r1, 0x1
@@ -19854,14 +19854,14 @@ sub_81D0E84: @ 81D0E84
movs r2, 0
movs r3, 0x2
bl ConvertIntToDecimalStringN
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r4, =gStringVar4
ldr r1, =gText_RibbonsF700
adds r0, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldrb r0, [r5, 0xA]
movs r1, 0x44
bl FillWindowPixelBuffer
@@ -20697,1034 +20697,7 @@ _081D156A:
.pool
thumb_func_end sub_81D1538
- thumb_func_start sub_81D1574
-sub_81D1574: @ 81D1574
- push {lr}
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _081D15A4
- lsls r0, 2
- ldr r1, =_081D158C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D158C:
- .4byte _081D15A4
- .4byte _081D15A8
- .4byte _081D15AC
- .4byte _081D15B4
- .4byte _081D15B0
- .4byte _081D15A8
-_081D15A4:
- movs r0, 0
- b _081D15B6
-_081D15A8:
- movs r0, 0x1
- b _081D15B6
-_081D15AC:
- movs r0, 0x2
- b _081D15B6
-_081D15B0:
- movs r0, 0x3
- b _081D15B6
-_081D15B4:
- movs r0, 0x4
-_081D15B6:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1574
-
- thumb_func_start sub_81D15BC
-sub_81D15BC: @ 81D15BC
- ldr r1, =gUnknown_085500A4
- lsls r0, 4
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81D15BC
-
- thumb_func_start sub_81D15CC
-sub_81D15CC: @ 81D15CC
- push {lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r2, =gUnknown_085500A4
-_081D15D4:
- ldrh r0, [r2]
- cmp r0, r3
- bne _081D15E4
- adds r0, r1, 0
- b _081D15F0
- .pool
-_081D15E4:
- adds r2, 0x10
- adds r1, 0x1
- cmp r1, 0x4D
- ble _081D15D4
- movs r0, 0x1
- negs r0, r0
-_081D15F0:
- pop {r1}
- bx r1
- thumb_func_end sub_81D15CC
-
- thumb_func_start sub_81D15F4
-sub_81D15F4: @ 81D15F4
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1620
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_086252FC
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1622
- .pool
-_081D1620:
- movs r0, 0
-_081D1622:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D15F4
-
- thumb_func_start sub_81D1628
-sub_81D1628: @ 81D1628
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1644
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D1646
- .pool
-_081D1644:
- movs r0, 0x1
-_081D1646:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1628
-
- thumb_func_start sub_81D164C
-sub_81D164C: @ 81D164C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1668
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D166A
- .pool
-_081D1668:
- movs r0, 0x1
-_081D166A:
- pop {r1}
- bx r1
- thumb_func_end sub_81D164C
-
- thumb_func_start sub_81D1670
-sub_81D1670: @ 81D1670
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D168C
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D168E
- .pool
-_081D168C:
- movs r0, 0x1
-_081D168E:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1670
-
- thumb_func_start sub_81D1694
-sub_81D1694: @ 81D1694
- push {lr}
- adds r2, r0, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r0, [r2, 0x1]
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- beq _081D16AC
- movs r0, 0
- b _081D16C6
- .pool
-_081D16AC:
- ldrh r1, [r2, 0x2]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D16C4
- adds r0, r1, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- b _081D16C6
- .pool
-_081D16C4:
- movs r0, 0x1
-_081D16C6:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1694
-
- thumb_func_start sub_81D16CC
-sub_81D16CC: @ 81D16CC
- push {lr}
- ldrh r0, [r0, 0x2]
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_81D16CC
-
- thumb_func_start sub_81D16DC
-sub_81D16DC: @ 81D16DC
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D170C
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625310
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- b _081D170E
- .pool
-_081D170C:
- movs r0, 0
-_081D170E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D16DC
-
- thumb_func_start sub_81D1714
-sub_81D1714: @ 81D1714
- ldrb r0, [r0, 0x1]
- bx lr
- thumb_func_end sub_81D1714
-
- thumb_func_start sub_81D1718
-sub_81D1718: @ 81D1718
- ldrb r0, [r0, 0x1]
- bx lr
- thumb_func_end sub_81D1718
-
- thumb_func_start sub_81D171C
-sub_81D171C: @ 81D171C
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldr r7, =0x0000ffff
- b _081D172E
- .pool
-_081D172C:
- adds r6, 0x1
-_081D172E:
- ldr r0, [r5, 0x10]
- lsls r4, r6, 2
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, r7
- beq _081D1744
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _081D172C
-_081D1744:
- ldr r0, [r5, 0x10]
- adds r0, r4, r0
- ldrb r0, [r0, 0x2]
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D171C
-
- thumb_func_start sub_81D1750
-sub_81D1750: @ 81D1750
- movs r0, 0xD5
- bx lr
- thumb_func_end sub_81D1750
-
- thumb_func_start sub_81D1754
-sub_81D1754: @ 81D1754
- movs r0, 0xD5
- bx lr
- thumb_func_end sub_81D1754
-
- thumb_func_start sub_81D1758
-sub_81D1758: @ 81D1758
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1784
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625324
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1786
- .pool
-_081D1784:
- movs r0, 0
-_081D1786:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1758
-
- thumb_func_start sub_81D178C
-sub_81D178C: @ 81D178C
- movs r0, 0
- bx lr
- thumb_func_end sub_81D178C
-
- thumb_func_start sub_81D1790
-sub_81D1790: @ 81D1790
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x4]
- cmp r0, 0x48
- bhi _081D17B8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x000009ca
- adds r0, r2
- ldrh r1, [r1, 0x4]
- adds r0, r1
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _081D17BA
- .pool
-_081D17B8:
- movs r0, 0
-_081D17BA:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1790
-
- thumb_func_start sub_81D17C0
-sub_81D17C0: @ 81D17C0
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- ldr r2, =0x000009ca
- adds r1, r2
- ldrh r0, [r0, 0x4]
- adds r1, r0
- ldrb r1, [r1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .pool
- thumb_func_end sub_81D17C0
-
- thumb_func_start sub_81D17E0
-sub_81D17E0: @ 81D17E0
- movs r0, 0
- bx lr
- thumb_func_end sub_81D17E0
-
- thumb_func_start sub_81D17E4
-sub_81D17E4: @ 81D17E4
- movs r0, 0
- bx lr
- thumb_func_end sub_81D17E4
-
- thumb_func_start sub_81D17E8
-sub_81D17E8: @ 81D17E8
- push {r4,r5,lr}
- adds r5, r0, 0
- cmp r5, 0x14
- bhi _081D1832
- ldr r1, =gUnknown_086252A8
- lsls r0, r5, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- adds r2, r0, 0
- ldr r1, =gUnknown_08625338
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- cmp r0, 0
- beq _081D1820
-_081D1812:
- movs r0, 0x1
- b _081D1834
- .pool
-_081D1820:
- movs r2, 0
- ldr r1, =gUnknown_08625388
-_081D1824:
- ldrh r0, [r1]
- cmp r0, r5
- beq _081D1812
- adds r1, 0x18
- adds r2, 0x1
- cmp r2, 0x3
- bls _081D1824
-_081D1832:
- movs r0, 0
-_081D1834:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D17E8
-
- thumb_func_start sub_81D1840
-sub_81D1840: @ 81D1840
- movs r0, 0
- bx lr
- thumb_func_end sub_81D1840
-
- thumb_func_start sub_81D1844
-sub_81D1844: @ 81D1844
- movs r0, 0x1
- bx lr
- thumb_func_end sub_81D1844
-
- thumb_func_start sub_81D1848
-sub_81D1848: @ 81D1848
- movs r0, 0x1
- bx lr
- thumb_func_end sub_81D1848
-
- thumb_func_start sub_81D184C
-sub_81D184C: @ 81D184C
- movs r0, 0
- bx lr
- thumb_func_end sub_81D184C
-
- thumb_func_start sub_81D1850
-sub_81D1850: @ 81D1850
- movs r0, 0
- bx lr
- thumb_func_end sub_81D1850
-
- thumb_func_start sub_81D1854
-sub_81D1854: @ 81D1854
- push {r4,lr}
- cmp r0, 0x14
- bhi _081D1880
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_0862534C
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _081D1882
- .pool
-_081D1880:
- movs r0, 0x4E
-_081D1882:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1854
-
- thumb_func_start sub_81D1888
-sub_81D1888: @ 81D1888
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1888
-
- thumb_func_start sub_81D188C
-sub_81D188C: @ 81D188C
- ldrh r0, [r0, 0x4]
- bx lr
- thumb_func_end sub_81D188C
-
- thumb_func_start sub_81D1890
-sub_81D1890: @ 81D1890
- ldrh r0, [r0, 0x4]
- bx lr
- thumb_func_end sub_81D1890
-
- thumb_func_start sub_81D1894
-sub_81D1894: @ 81D1894
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1894
-
- thumb_func_start sub_81D1898
-sub_81D1898: @ 81D1898
- movs r0, 0x4E
- bx lr
- thumb_func_end sub_81D1898
-
- thumb_func_start sub_81D189C
-sub_81D189C: @ 81D189C
- push {r4,r5,lr}
- adds r5, r1, 0
- cmp r0, 0x14
- bhi _081D18C2
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625360
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
-_081D18C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D189C
-
- thumb_func_start sub_81D18D0
-sub_81D18D0: @ 81D18D0
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D18D0
-
- thumb_func_start sub_81D18DC
-sub_81D18DC: @ 81D18DC
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrb r0, [r3]
- cmp r0, 0x5
- beq _081D18F0
- ldr r0, [r3, 0x10]
- bl sub_81D1920
- b _081D18F8
-_081D18F0:
- ldr r0, [r3, 0x10]
- ldrh r1, [r3, 0x4]
- bl sub_81D199C
-_081D18F8:
- pop {r0}
- bx r0
- thumb_func_end sub_81D18DC
-
- thumb_func_start sub_81D18FC
-sub_81D18FC: @ 81D18FC
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D18FC
-
- thumb_func_start sub_81D1908
-sub_81D1908: @ 81D1908
- push {lr}
- ldr r0, [r0, 0xC]
- bl sub_81D1920
- pop {r0}
- bx r0
- thumb_func_end sub_81D1908
-
- thumb_func_start sub_81D1914
-sub_81D1914: @ 81D1914
- push {lr}
- adds r0, r1, 0
- bl sub_8197080
- pop {r0}
- bx r0
- thumb_func_end sub_81D1914
-
- thumb_func_start sub_81D1920
-sub_81D1920: @ 81D1920
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- mov r9, r1
- movs r5, 0
- ldr r0, [r6]
- cmp r0, 0
- beq _081D1940
- adds r1, r6, 0
-_081D1936:
- adds r1, 0x8
- adds r5, 0x1
- ldr r0, [r1]
- cmp r0, 0
- bne _081D1936
-_081D1940:
- cmp r5, 0
- beq _081D1946
- subs r5, 0x1
-_081D1946:
- ldr r0, =0x0000ffff
- mov r8, r0
- lsls r0, r5, 3
- adds r0, 0x4
- adds r4, r0, r6
- b _081D195C
- .pool
-_081D1958:
- subs r4, 0x8
- subs r5, 0x1
-_081D195C:
- lsls r7, r5, 3
- cmp r5, 0
- beq _081D1974
- ldrh r0, [r4]
- cmp r0, r8
- beq _081D1958
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081D1958
-_081D1974:
- adds r4, r7, r6
- ldrh r1, [r4, 0x6]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1984
- adds r0, r1, 0
- bl FlagSet
-_081D1984:
- ldr r1, [r4]
- mov r0, r9
- bl StringExpandPlaceholders
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1920
-
- thumb_func_start sub_81D199C
-sub_81D199C: @ 81D199C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r10, r2
- lsls r1, 16
- lsrs r7, r1, 16
- movs r5, 0
- ldr r0, [r6]
- cmp r0, 0
- beq _081D19E6
- ldrh r0, [r6, 0x4]
- ldr r1, =0x0000fffe
- cmp r0, r1
- beq _081D1A24
- ldr r0, =0x0000ffff
- mov r9, r0
- mov r8, r1
- adds r4, r6, 0
-_081D19C6:
- ldrh r0, [r4, 0x4]
- cmp r0, r9
- beq _081D19D6
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D19E6
-_081D19D6:
- adds r4, 0x8
- adds r5, 0x1
- ldr r0, [r4]
- cmp r0, 0
- beq _081D19E6
- ldrh r0, [r4, 0x4]
- cmp r0, r8
- bne _081D19C6
-_081D19E6:
- lsls r0, r5, 3
- adds r0, r6
- ldrh r1, [r0, 0x4]
- ldr r0, =0x0000fffe
- cmp r1, r0
- beq _081D1A24
- cmp r5, 0
- beq _081D19F8
- subs r5, 0x1
-_081D19F8:
- lsls r0, r5, 3
- adds r4, r0, r6
- ldrh r1, [r4, 0x6]
- ldr r0, =0x0000ffff
- cmp r1, r0
- beq _081D1A0A
- adds r0, r1, 0
- bl FlagSet
-_081D1A0A:
- ldr r1, [r4]
- mov r0, r10
- bl StringExpandPlaceholders
- b _081D1A5C
- .pool
-_081D1A1C:
- adds r5, 0x2
- b _081D1A50
-_081D1A20:
- adds r5, 0x3
- b _081D1A50
-_081D1A24:
- ldr r0, =0x00000864
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D1A50
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x000009ca
- adds r0, r1
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D1A1C
- adds r0, r7, 0
- bl sub_80B2318
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _081D1A20
- adds r5, 0x1
-_081D1A50:
- lsls r0, r5, 3
- adds r0, r6
- ldr r1, [r0]
- mov r0, r10
- bl StringExpandPlaceholders
-_081D1A5C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D199C
-
- thumb_func_start sub_81D1A78
-sub_81D1A78: @ 81D1A78
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r6, r2, 0
- cmp r0, 0x14
- bhi _081D1AA2
- ldr r1, =gUnknown_086252A8
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_81D1574
- ldr r1, =gUnknown_08625374
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl _call_via_r3
-_081D1AA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1A78
-
- thumb_func_start sub_81D1AB0
-sub_81D1AB0: @ 81D1AB0
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1AB0
-
- thumb_func_start sub_81D1ABC
-sub_81D1ABC: @ 81D1ABC
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0
- bne _081D1AD0
- ldrh r0, [r4, 0x4]
- bl sub_81D1B0C
- b _081D1AD2
-_081D1AD0:
- str r0, [r2]
-_081D1AD2:
- ldr r0, [r4, 0x8]
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1ABC
-
- thumb_func_start sub_81D1ADC
-sub_81D1ADC: @ 81D1ADC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrh r0, [r4, 0x4]
- bl sub_81D1B0C
- ldr r0, [r4, 0x8]
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D1ADC
-
- thumb_func_start sub_81D1AF4
-sub_81D1AF4: @ 81D1AF4
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1AF4
-
- thumb_func_start sub_81D1B00
-sub_81D1B00: @ 81D1B00
- ldr r3, [r0, 0x4]
- str r3, [r1]
- ldr r0, [r0, 0x8]
- str r0, [r2]
- bx lr
- thumb_func_end sub_81D1B00
-
- thumb_func_start sub_81D1B0C
-sub_81D1B0C: @ 81D1B0C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- bl sub_81D15BC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTrainers
- adds r1, r0
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- muls r0, r2
- ldr r2, =gTrainerClassNames
- adds r0, r2
- str r0, [r4]
- adds r1, 0x4
- str r1, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1B0C
-
- thumb_func_start sub_81D1B40
-sub_81D1B40: @ 81D1B40
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- movs r5, 0
- ldr r2, =gUnknown_08625388
- movs r0, 0x8
- adds r0, r2
- mov r9, r0
-_081D1B54:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D1BBC
- adds r4, r5, 0x1
- lsls r1, 2
- mov r8, r1
- cmp r4, 0x3
- bhi _081D1BA8
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r6
- bne _081D1BA8
- ldr r7, =gUnknown_08625388
-_081D1B7C:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r1, r7, 0x4
- adds r0, r1
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081D1BA8
- adds r5, r4, 0
- adds r4, r5, 0x1
- cmp r4, 0x3
- bhi _081D1BA8
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r6
- beq _081D1B7C
-_081D1BA8:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- add r0, r8
- add r0, r9
- ldr r0, [r0]
- b _081D1BC4
- .pool
-_081D1BBC:
- adds r5, 0x1
- cmp r5, 0x3
- bls _081D1B54
- movs r0, 0
-_081D1BC4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1B40
-
- thumb_func_start sub_81D1BD0
-sub_81D1BD0: @ 81D1BD0
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, =gUnknown_08625388
-_081D1BD8:
- ldrh r0, [r1]
- cmp r0, r3
- bne _081D1BE8
- ldrh r0, [r1, 0x2]
- b _081D1BF4
- .pool
-_081D1BE8:
- adds r1, 0x18
- adds r2, 0x1
- cmp r2, 0x3
- bls _081D1BD8
- movs r0, 0x1
- negs r0, r0
-_081D1BF4:
- pop {r1}
- bx r1
- thumb_func_end sub_81D1BD0
-
- thumb_func_start sub_81D1BF8
-sub_81D1BF8: @ 81D1BF8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_081D1BFE:
- adds r0, r4, 0
- bl sub_81D1854
- cmp r0, 0x4E
- beq _081D1C10
- cmp r0, r5
- bne _081D1C10
- movs r0, 0x1
- b _081D1C18
-_081D1C10:
- adds r4, 0x1
- cmp r4, 0x14
- ble _081D1BFE
- movs r0, 0
-_081D1C18:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81D1BF8
-
- thumb_func_start sub_81D1C20
-sub_81D1C20: @ 81D1C20
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_81D15CC
- cmp r0, 0
- blt _081D1C3C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagSet
-_081D1C3C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D1C20
+ .section .text.after.match.call
thumb_func_start sub_81D1C44
sub_81D1C44: @ 81D1C44
@@ -21780,7 +20753,7 @@ sub_81D1C84: @ 81D1C84
ldr r0, [r0, 0x10]
str r0, [sp]
str r1, [sp, 0x4]
- ldr r0, =gUnknown_085DFF04
+ ldr r0, =gMailboxMailOptions
movs r1, 0x4
bl GetMaxWidthInMenuTable
lsls r0, 24
@@ -21900,7 +20873,7 @@ _081D1D8C:
movs r1, 0x1
movs r2, 0x8
adds r3, r5, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_081D1DAC:
add sp, 0x34
pop {r4,r5}
@@ -21921,7 +20894,7 @@ sub_81D1DC0: @ 81D1DC0
ldr r7, =gUnknown_0203CF4C
ldr r0, =gText_Cancel2
mov r12, r0
- ldr r4, =gUnknown_03006310
+ ldr r4, =gMultiuseListMenuTemplate
ldr r1, =gUnknown_0203CF48
mov r8, r1
ldr r2, =sub_81D1E7C
@@ -22028,7 +21001,7 @@ sub_81D1E90: @ 81D1E90
movs r1, 0xC8
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
strb r0, [r4, 0x9]
add sp, 0x10
pop {r4}
@@ -22318,7 +21291,7 @@ sub_81D20BC: @ 81D20BC
b _081D20FA
.pool
_081D20D4:
- bl dp12_8087EA4
+ bl ScanlineEffect_Clear
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
@@ -22332,7 +21305,7 @@ _081D20E2:
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
@@ -22366,7 +21339,7 @@ sub_81D2108: @ 81D2108
adds r0, r6, 0
bl sub_81D2634
movs r7, 0
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
mov r12, r5
movs r0, 0xF0
lsls r0, 3
@@ -23309,7 +22282,7 @@ sub_81D2824: @ 81D2824
movs r0, 0
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
ldr r0, =gUnknown_0860F074
movs r1, 0xF0
movs r2, 0x20
@@ -23376,7 +22349,7 @@ sub_81D28C8: @ 81D28C8
push {r4-r7,lr}
lsls r1, 16
lsrs r4, r1, 16
- ldr r3, =gUnknown_03006310
+ ldr r3, =gMultiuseListMenuTemplate
adds r2, r3, 0
ldr r1, =gUnknown_08625548
ldm r1!, {r5-r7}
@@ -23751,7 +22724,7 @@ sub_81D2BF4: @ 81D2BF4
movs r1, 0x1
orrs r0, r1
strb r0, [r2]
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
@@ -23765,7 +22738,7 @@ sub_81D2BF4: @ 81D2BF4
str r0, [sp, 0xC]
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r4}
pop {r0}
@@ -25789,7 +24762,7 @@ sub_81D3B54: @ 81D3B54
adds r5, r1, 0
bl sub_81D41A0
movs r7, 0x2
- ldr r4, =gUnknown_03003144
+ ldr r4, =gShouldAdvanceLinkState
_081D3B64:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -25857,7 +24830,7 @@ sub_81D3BE8: @ 81D3BE8
adds r5, r0, 0
bl sub_81D41A0
movs r6, 0x2
- ldr r4, =gUnknown_03003144
+ ldr r4, =gShouldAdvanceLinkState
_081D3BF6:
bl sub_81D4170
ldr r0, =gUnknown_030012E2
@@ -26006,7 +24979,7 @@ sub_81D3D34: @ 81D3D34
movs r1, 0x8
orrs r0, r1
strh r0, [r2]
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
strb r3, [r0]
ldr r0, =gUnknown_030012E6
strh r3, [r0]
@@ -26062,7 +25035,7 @@ _081D3DC8:
beq _081D3DD8
bl sub_81D413C
_081D3DD8:
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
beq _081D3DE2
@@ -26080,7 +25053,7 @@ _081D3DE8:
movs r0, 0x3
strb r0, [r1, 0x1]
_081D3DFC:
- ldr r0, =gUnknown_03003144
+ ldr r0, =gShouldAdvanceLinkState
ldrb r0, [r0]
cmp r0, 0x2
bne _081D3E18
@@ -26611,7 +25584,7 @@ sub_81D4258: @ 81D4258
ldrb r2, [r0, 0x4]
movs r0, 0x1
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
mov r0, sp
ldrb r0, [r0]
add sp, 0x4
@@ -26633,7 +25606,7 @@ sub_81D427C: @ 81D427C
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
adds r5, r1, r2
ldr r4, =gUnknown_030012F8
ldr r3, =gPlayerAvatar
@@ -26671,7 +25644,7 @@ _081D42CA:
mov r8, r0
cmp r0, 0x3
bls _081D42CA
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -26727,7 +25700,7 @@ _081D4356:
_081D4360:
movs r4, 0
mov r8, r4
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
mov r10, r6
_081D4368:
ldr r3, =gPlayerAvatar
@@ -26745,7 +25718,7 @@ _081D4368:
ldrsh r2, [r4, r6]
movs r6, 0
ldrsh r0, [r0, r6]
- ldr r6, =gMapObjects
+ ldr r6, =gEventObjects
mov r9, r6
mov r12, r3
adds r7, r1, 0
@@ -26754,7 +25727,7 @@ _081D4368:
b _081D449E
_081D4394:
movs r3, 0
- ldr r1, =gUnknown_0862608E
+ ldr r1, =gUnknown_0862608C + 2
adds r0, r7, r1
movs r2, 0x16
ldrsh r1, [r4, r2]
@@ -26887,13 +25860,13 @@ _081D449E:
mov r3, r10
adds r4, r0, r3
ldr r6, =gUnknown_0862608C
- ldr r1, =gUnknown_0862608E
+ ldr r1, =gUnknown_0862608C + 2
adds r0, r7, r1
movs r3, 0x16
ldrsh r1, [r4, r3]
movs r3, 0
ldrsh r0, [r0, r3]
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
mov r9, r3
mov r12, r2
cmp r1, r0
@@ -27151,7 +26124,7 @@ _081D46D0:
ldrsh r0, [r0, r3]
cmp r0, 0
bne _081D476E
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27176,7 +26149,7 @@ _081D46D0:
beq _081D470C
b _081D447C
_081D470C:
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27230,7 +26203,7 @@ _081D476E:
ldrsh r0, [r0, r2]
cmp r0, 0
bne _081D480C
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27255,7 +26228,7 @@ _081D476E:
beq _081D47AA
b _081D45AA
_081D47AA:
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
ldr r0, =gPlayerAvatar
ldrb r1, [r0, 0x5]
lsls r0, r1, 3
@@ -27326,7 +26299,7 @@ sub_81D4834: @ 81D4834
lsls r0, 16
lsls r1, 16
lsrs r4, r1, 16
- ldr r3, =gMapObjects
+ ldr r3, =gEventObjects
ldr r1, =gPlayerAvatar
ldrb r2, [r1, 0x5]
lsls r1, r2, 3
@@ -27377,7 +26350,7 @@ sub_81D4890: @ 81D4890
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r4, r1, r0
movs r1, 0
ldr r3, =gUnknown_030012FC
@@ -27530,9 +26503,9 @@ _081D49E0:
bx r0
thumb_func_end sub_81D4998
- thumb_func_start FieldObjectIsFarawayIslandMew
-@ bool8 FieldObjectIsFarawayIslandMew(struct npc_state *fieldObject)
-FieldObjectIsFarawayIslandMew: @ 81D49E8
+ thumb_func_start EventObjectIsFarawayIslandMew
+@ bool8 EventObjectIsFarawayIslandMew(struct npc_state *eventObject)
+EventObjectIsFarawayIslandMew: @ 81D49E8
push {lr}
adds r2, r0, 0
ldr r0, =gSaveBlock1Ptr
@@ -27552,10 +26525,10 @@ _081D4A0C:
_081D4A0E:
pop {r1}
bx r1
- thumb_func_end FieldObjectIsFarawayIslandMew
+ thumb_func_end EventObjectIsFarawayIslandMew
- thumb_func_start unown_chamber_related
-unown_chamber_related: @ 81D4A14
+ thumb_func_start IsMewPlayingHideAndSeek
+IsMewPlayingHideAndSeek: @ 81D4A14
push {lr}
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
@@ -27584,7 +26557,7 @@ _081D4A50:
_081D4A52:
pop {r1}
bx r1
- thumb_func_end unown_chamber_related
+ thumb_func_end IsMewPlayingHideAndSeek
thumb_func_start sub_81D4A58
sub_81D4A58: @ 81D4A58
@@ -27625,7 +26598,7 @@ sub_81D4A90: @ 81D4A90
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
- ldr r0, =gMapObjects
+ ldr r0, =gEventObjects
adds r5, r1, r0
ldrb r1, [r5, 0x1]
movs r0, 0x21
@@ -27703,7 +26676,7 @@ _081D4B3A:
bl IndexOfSpritePaletteTag
lsls r0, 24
lsrs r0, 24
- bl sub_80ABE18
+ bl UpdateSpritePaletteWithWeather
ldrh r1, [r5, 0x10]
mov r0, sp
strh r1, [r0]
@@ -28050,7 +27023,7 @@ _081D4E12:
beq _081D4E1C
movs r5, 0x3
_081D4E1C:
- ldr r1, =gUnknown_03003144
+ ldr r1, =gShouldAdvanceLinkState
movs r0, 0
strb r0, [r1]
adds r0, r5, 0
@@ -28068,13 +27041,13 @@ sub_81D4E30: @ 81D4E30
lsls r2, 6
movs r1, 0
bl memset
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00005503
adds r0, r2, 0
strh r0, [r1]
- bl sub_8009734
+ bl OpenLink
movs r0, 0x1
- bl sub_800B330
+ bl SetSuppressLinkErrorMessage
pop {r0}
bx r0
.pool
@@ -28090,7 +27063,7 @@ sub_81D4E60: @ 81D4E60
strh r0, [r1]
movs r0, 0
strh r0, [r2]
- ldr r0, =gUnknown_03003174
+ ldr r0, =gLink+0x4
ldr r1, [r0, 0x4]
ldr r0, [r0]
str r0, [sp, 0x4]
@@ -28128,11 +27101,11 @@ _081D4EBA:
thumb_func_start sub_81D4EC0
sub_81D4EC0: @ 81D4EC0
push {lr}
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
beq _081D4EDC
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -28157,7 +27130,7 @@ sub_81D4EE4: @ 81D4EE4
lsrs r0, 24
cmp r0, 0x2
bhi _081D4F08
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D4F08
@@ -28186,11 +27159,11 @@ _081D4F20:
.4byte _081D4FEC
.4byte _081D4FF8
_081D4F38:
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
beq _081D4F88
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -28212,7 +27185,7 @@ _081D4F54:
strb r0, [r4]
b _081D500C
_081D4F6C:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -28248,7 +27221,7 @@ _081D4FA0:
movs r0, 0x5
b _081D500E
_081D4FB6:
- bl sub_800B320
+ bl IsLinkConnectionEstablished
lsls r0, 24
cmp r0, 0
beq _081D500C
@@ -28256,7 +27229,7 @@ _081D4FB6:
ldrb r0, [r0]
cmp r0, 0
beq _081D4FE6
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
cmp r0, 0
beq _081D4FE0
@@ -28447,7 +27420,7 @@ _081D515C:
beq _081D5166
b _081D52FC
_081D5166:
- bl sub_80097E8
+ bl CloseLink
b _081D525C
_081D516C:
adds r0, r4, 0
@@ -28500,20 +27473,20 @@ _081D51D0:
beq _081D51F4
movs r0, 0x5
bl PlaySE
- bl sub_80097E8
+ bl CloseLink
adds r0, r4, 0
bl sub_81D505C
b _081D535A
.pool
_081D51F4:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bls _081D5210
adds r0, r4, 0
bl sub_81D505C
- bl sub_80097E8
+ bl CloseLink
movs r0, 0x7
strb r0, [r4, 0x8]
b _081D548A
@@ -28523,7 +27496,7 @@ _081D5210:
beq _081D522E
movs r0, 0x5
bl PlaySE
- bl sub_80097E8
+ bl CloseLink
adds r0, r4, 0
bl sub_81D505C
movs r0, 0x8
@@ -28537,7 +27510,7 @@ _081D522E:
bne _081D523C
b _081D548A
_081D523C:
- bl sub_80097E8
+ bl CloseLink
bl sub_81D4E30
adds r0, r4, 0
bl sub_81D505C
@@ -28654,23 +27627,23 @@ _081D5340:
_081D5350:
movs r0, 0x5
bl PlaySE
- bl sub_80097E8
+ bl CloseLink
_081D535A:
movs r0, 0x17
strb r0, [r4, 0x8]
b _081D548A
_081D5360:
- bl sub_80097E8
+ bl CloseLink
movs r0, 0x15
strb r0, [r4, 0x8]
b _081D548A
_081D536A:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
beq _081D537A
_081D5374:
- bl sub_80097E8
+ bl CloseLink
b _081D53C0
_081D537A:
bl GetBlockReceivedStatus
@@ -28880,7 +27853,7 @@ sub_81D5530: @ 81D5530
lsls r1, 24
adds r0, r1
lsrs r0, 24
- ldr r2, =gTrainerClassToNameIndex
+ ldr r2, =gFacilityClassToTrainerClass
ldr r1, =gUnknown_0203CF58
ldr r1, [r1]
adds r1, 0x16
@@ -28947,7 +27920,7 @@ sub_81D5588: @ 81D5588
adds r3, r0
ldrb r4, [r3, 0x1B]
bl sub_81D5710
- ldr r0, =gUnknown_0831F578
+ ldr r0, =gFacilityClassToPicIndex
adds r4, r0
ldrb r0, [r4]
pop {r4}
@@ -29745,8 +28718,8 @@ nullsub_2: @ 81D5C88
bx lr
thumb_func_end nullsub_2
- thumb_func_start sub_81D5C8C
-sub_81D5C8C: @ 81D5C8C
+ thumb_func_start PrintOnTrainerHillRecordsWindow
+PrintOnTrainerHillRecordsWindow: @ 81D5C8C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -29884,7 +28857,7 @@ _081D5CD6:
pop {r0}
bx r0
.pool
- thumb_func_end sub_81D5C8C
+ thumb_func_end PrintOnTrainerHillRecordsWindow
thumb_func_start free_203F458
free_203F458: @ 81D5DF0
@@ -30295,7 +29268,7 @@ sub_81D6120: @ 81D6120
push {lr}
movs r0, 0x1A
movs r1, 0x40
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldr r0, [r0, 0x4]
ldr r0, [r0, 0x8]
adds r0, 0x8
@@ -30334,7 +29307,7 @@ _081D6162:
adds r0, r1
ldrh r1, [r0]
movs r0, 0x1A
- bl get_mapheader_by_bank_and_number
+ bl Overworld_GetMapHeaderByGroupAndId
ldr r0, [r0, 0x4]
ldr r0, [r0, 0x8]
_081D6176:
@@ -30343,8 +29316,8 @@ _081D6176:
.pool
thumb_func_end sub_81D6134
- thumb_func_start battle_init
-battle_init: @ 81D6180
+ thumb_func_start sub_81D6180
+sub_81D6180: @ 81D6180
lsls r0, 24
ldr r1, =gSaveBlock2Ptr
ldr r1, [r1]
@@ -30355,10 +29328,10 @@ battle_init: @ 81D6180
ldrh r0, [r1]
bx lr
.pool
- thumb_func_end battle_init
+ thumb_func_end sub_81D6180
thumb_func_start GetTrainerHillTrainerFlag
-@ u8 GetTrainerHillTrainerFlag(u8 fieldObjectId)
+@ u8 GetTrainerHillTrainerFlag(u8 eventObjectId)
GetTrainerHillTrainerFlag: @ 81D619C
push {r4,lr}
adds r4, r0, 0
@@ -30367,7 +29340,7 @@ GetTrainerHillTrainerFlag: @ 81D619C
bl sub_81D5520
lsls r0, 24
lsrs r0, 23
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r4, 3
adds r1, r4
lsls r1, 2
@@ -30656,7 +29629,7 @@ sub_81D63C8: @ 81D63C8
ldrb r4, [r3, 0x1B]
bl sub_81D5710
movs r2, 0
- ldr r0, =gTrainerClassToNameIndex
+ ldr r0, =gFacilityClassToTrainerClass
adds r4, r0
ldrb r3, [r4]
ldr r1, =gUnknown_0862A3B4
diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s
new file mode 100644
index 000000000..c6d4fd88f
--- /dev/null
+++ b/asm/post_battle_event_funcs.s
@@ -0,0 +1,165 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start GameClear
+GameClear: @ 8137734
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x1C
+ bl HealPlayerParty
+ ldr r4, =0x00000864
+ adds r0, r4, 0
+ bl FlagGet
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x1
+ bne _08137760
+ ldr r0, =gHasHallOfFameRecords
+ strb r1, [r0]
+ b _0813776C
+ .pool
+_08137760:
+ ldr r1, =gHasHallOfFameRecords
+ movs r0, 0
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl FlagSet
+_0813776C:
+ movs r0, 0x1
+ bl GetGameStat
+ cmp r0, 0
+ bne _0813778E
+ ldr r0, =gSaveBlock2Ptr
+ ldr r2, [r0]
+ ldrh r1, [r2, 0xE]
+ lsls r1, 16
+ ldrb r0, [r2, 0x10]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r2, 0x11]
+ orrs r1, r0
+ movs r0, 0x1
+ bl SetGameStat
+_0813778E:
+ bl sub_8076D48
+ ldr r0, =gSaveBlock2Ptr
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0
+ bne _081377AC
+ movs r0, 0x1
+ bl sub_8084F6C
+ b _081377B2
+ .pool
+_081377AC:
+ movs r0, 0x2
+ bl sub_8084F6C
+_081377B2:
+ movs r7, 0
+ movs r6, 0
+ add r0, sp, 0x18
+ mov r8, r0
+ mov r5, sp
+_081377BC:
+ movs r0, 0x64
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, =gPlayerParty
+ adds r4, r1, r0
+ movs r0, 0
+ strb r6, [r5]
+ strb r0, [r5, 0x1]
+ adds r0, r4, 0
+ movs r1, 0x5
+ bl GetMonData
+ cmp r0, 0
+ beq _0813780A
+ adds r0, r4, 0
+ movs r1, 0x6
+ bl GetMonData
+ cmp r0, 0
+ bne _0813780A
+ adds r0, r4, 0
+ movs r1, 0x43
+ bl GetMonData
+ cmp r0, 0
+ bne _0813780A
+ movs r0, 0x1
+ mov r1, r8
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x43
+ add r2, sp, 0x18
+ bl SetMonData
+ adds r0, r4, 0
+ bl GetRibbonCount
+ strb r0, [r5, 0x1]
+ movs r7, 0x1
+_0813780A:
+ adds r5, 0x4
+ adds r6, 0x1
+ cmp r6, 0x5
+ ble _081377BC
+ cmp r7, 0x1
+ bne _0813785A
+ movs r0, 0x2A
+ bl IncrementGameStat
+ ldr r0, =0x0000089b
+ bl FlagSet
+ mov r3, sp
+ add r2, sp, 0x4
+ movs r6, 0x4
+_08137828:
+ ldrb r1, [r3, 0x1]
+ ldrb r0, [r2, 0x1]
+ cmp r0, r1
+ bls _08137838
+ ldr r1, [sp]
+ ldr r0, [r2]
+ str r0, [sp]
+ str r1, [r2]
+_08137838:
+ adds r2, 0x4
+ subs r6, 0x1
+ cmp r6, 0
+ bge _08137828
+ mov r0, sp
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0x4
+ bls _0813785A
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, =gPlayerParty
+ adds r0, r1
+ movs r1, 0x43
+ bl sub_80EE4DC
+_0813785A:
+ ldr r0, =CB2_DoHallOfFameScreen
+ bl SetMainCallback2
+ movs r0, 0
+ add sp, 0x1C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end GameClear
+
+ thumb_func_start sp0C8_whiteout_maybe
+sp0C8_whiteout_maybe: @ 813787C
+ push {lr}
+ ldr r0, =CB2_WhiteOut
+ bl SetMainCallback2
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .pool
+ thumb_func_end sp0C8_whiteout_maybe
diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s
deleted file mode 100755
index f9936f1ca..000000000
--- a/asm/rayquaza_scene.s
+++ /dev/null
@@ -1,5972 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81D6720
-sub_81D6720: @ 81D6720
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gUnknown_0203CF60
- ldr r0, =0x00002018
- bl AllocZeroed
- str r0, [r6]
- ldr r1, =0x00002006
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0]
- ldr r1, =0x00002007
- adds r0, r1
- strb r5, [r0]
- ldr r0, =sub_81D6774
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6720
-
- thumb_func_start sub_81D6774
-sub_81D6774: @ 81D6774
- push {lr}
- bl SetVBlankHBlankCallbacksToNull
- bl clear_scheduled_bg_copies_to_vram
- bl remove_some_task
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- movs r0, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl FillPalette
- ldr r1, =gUnknown_0862A6A0
- ldr r0, =gUnknown_0203CF60
- ldr r0, [r0]
- ldr r2, =0x00002006
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl CreateTask
- ldr r0, =sub_81D67D0
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6774
-
- thumb_func_start sub_81D67D0
-sub_81D67D0: @ 81D67D0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_81D67D0
-
- thumb_func_start sub_81D67EC
-sub_81D67EC: @ 81D67EC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81D67EC
-
- thumb_func_start sub_81D6800
-sub_81D6800: @ 81D6800
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081D6830
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r4, =gUnknown_0203CF60
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- bl Free
- adds r0, r5, 0
- bl DestroyTask
-_081D6830:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6800
-
- thumb_func_start sub_81D6840
-sub_81D6840: @ 81D6840
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r6, r3, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081D68B2
- ldr r2, =gUnknown_0203CF60
- ldr r1, [r2]
- ldr r4, =0x00002007
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _081D6888
- ldr r0, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81D6800
- b _081D68B0
- .pool
-_081D6888:
- ldr r4, =0x00002006
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, [r2]
- ldr r1, =0x00002004
- adds r0, r2, r1
- strh r5, [r0]
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r3, =gUnknown_0862A6A0
- adds r2, r4
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
-_081D68B0:
- str r0, [r1]
-_081D68B2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6840
-
- thumb_func_start sub_81D68C8
-sub_81D68C8: @ 81D68C8
- push {lr}
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, =0x00001888
- movs r0, 0x44
- bl SetGpuReg
- ldr r0, =gPlttBufferUnfaded
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D68C8
-
- thumb_func_start sub_81D6904
-sub_81D6904: @ 81D6904
- push {lr}
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3F
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_81D6904
-
- thumb_func_start sub_81D691C
-sub_81D691C: @ 81D691C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- bl sub_81D750C
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081D697E
- movs r0, 0
- ldrsh r1, [r5, r0]
- cmp r1, 0x40
- bne _081D6954
- bl sub_81D7438
- b _081D6978
- .pool
-_081D6954:
- cmp r1, 0x90
- bne _081D695E
- bl sub_81D7480
- b _081D6978
-_081D695E:
- cmp r1, 0x94
- beq _081D6974
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- bne _081D6978
- adds r0, r4, 0
- movs r1, 0
- bl sub_81D75B4
- b _081D697E
-_081D6974:
- bl sub_81D74C8
-_081D6978:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_081D697E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D691C
-
- thumb_func_start sub_81D6984
-sub_81D6984: @ 81D6984
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gUnknown_0862A72C
- mov r8, r0
- movs r1, 0x58
- movs r2, 0x48
- movs r3, 0x3
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =sub_81D6A20
- str r1, [r0]
- adds r0, r6, 0
- adds r0, 0x2E
- adds r4, r0
- mov r0, r8
- movs r1, 0x38
- movs r2, 0x68
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r0, =gUnknown_0862A750
- movs r1, 0x4B
- movs r2, 0x65
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_0862A774
- movs r1, 0x6D
- movs r2, 0x72
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D6984
-
- thumb_func_start sub_81D6A20
-sub_81D6A20: @ 81D6A20
- push {r4,lr}
- adds r3, r0, 0
- movs r0, 0x2E
- adds r0, r3
- mov r12, r0
- ldrh r0, [r0, 0xA]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- mov r1, r12
- strh r0, [r1, 0xA]
- cmp r0, 0
- bne _081D6A84
- ldrh r1, [r3, 0x20]
- movs r2, 0x20
- ldrsh r0, [r3, r2]
- cmp r0, 0x48
- beq _081D6A84
- subs r0, r1, 0x1
- strh r0, [r3, 0x20]
- ldr r2, =gSprites
- movs r4, 0x2E
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
-_081D6A84:
- adds r0, r3, 0
- adds r0, 0x2B
- ldrb r3, [r0]
- cmp r3, 0x1
- beq _081D6AE4
- cmp r3, 0x1
- bgt _081D6A9C
- cmp r3, 0
- beq _081D6AA6
- b _081D6B68
- .pool
-_081D6A9C:
- cmp r3, 0x2
- beq _081D6B24
- cmp r3, 0x3
- beq _081D6AE4
- b _081D6B68
-_081D6AA6:
- ldr r2, =gSprites
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- b _081D6B5E
- .pool
-_081D6AE4:
- ldr r2, =gSprites
- mov r0, r12
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- mov r4, r12
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0
- strh r3, [r0, 0x26]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- b _081D6B58
- .pool
-_081D6B24:
- ldr r2, =gSprites
- mov r3, r12
- movs r4, 0x2
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x1
- strh r3, [r0, 0x26]
- mov r4, r12
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffe
-_081D6B58:
- strh r1, [r0, 0x24]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
-_081D6B5E:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
-_081D6B68:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6A20
-
- thumb_func_start sub_81D6B7C
-sub_81D6B7C: @ 81D6B7C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r5, =gUnknown_0862A81C
- adds r0, r5, 0
- movs r1, 0x88
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r6, =gSprites
- lsls r4, r0, 4
- add r4, r8
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =sub_81D6D20
- str r1, [r0]
- adds r0, r6, 0
- adds r0, 0x2E
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0xA8
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x88
- movs r2, 0x70
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0xA8
- movs r2, 0x70
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r1, 0x88
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- orrs r0, r1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r1, 0xA8
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- movs r1, 0x68
- movs r2, 0x80
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- movs r1, 0x88
- movs r2, 0x80
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x6]
- adds r0, r5, 0
- movs r1, 0xB8
- movs r2, 0x80
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- orrs r0, r1
- strh r0, [r4, 0x6]
- ldr r0, =gUnknown_0862A84C
- movs r1, 0xD0
- movs r2, 0x84
- movs r3, 0
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_0862A864
- movs r1, 0xC8
- movs r2, 0x78
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x8]
- orrs r0, r1
- strh r0, [r4, 0x8]
- ldrh r1, [r4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x3
- bl StartSpriteAnim
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x4
- bl StartSpriteAnim
- ldrh r1, [r4, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- bl StartSpriteAnim
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x6
- bl StartSpriteAnim
- ldrh r1, [r4, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x7
- bl StartSpriteAnim
- ldrb r1, [r4, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x8
- bl StartSpriteAnim
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D6B7C
-
- thumb_func_start sub_81D6D20
-sub_81D6D20: @ 81D6D20
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r3, r4, 0
- adds r3, 0x2E
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r3, 0xA]
- ldr r7, =gSprites
- cmp r0, 0
- bne _081D6E0E
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x98
- beq _081D6E0E
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r4, 0x2E]
- movs r2, 0xFF
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x2]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x4]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x6]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x8]
- ands r2, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
-_081D6E0E:
- adds r6, r7, 0
- movs r5, 0xFF
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2B
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _081D6EE0
- cmp r2, 0x1
- bgt _081D6E34
- cmp r2, 0
- beq _081D6E40
- b _081D6FC8
- .pool
-_081D6E34:
- cmp r2, 0x2
- bne _081D6E3A
- b _081D6F68
-_081D6E3A:
- cmp r2, 0x3
- beq _081D6EE0
- b _081D6FC8
-_081D6E40:
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x2]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x4]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x6]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- ands r1, r5
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- b _081D6FC6
-_081D6EE0:
- movs r2, 0x1
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x8]
- b _081D6FBE
-_081D6F68:
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r0, [r3]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x2]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- ands r1, r5
-_081D6FBE:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
-_081D6FC6:
- strh r2, [r0, 0x26]
-_081D6FC8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D6D20
-
- thumb_func_start sub_81D6FD0
-sub_81D6FD0: @ 81D6FD0
- push {lr}
- bl sub_81D67EC
- bl sub_80BA0A8
- pop {r0}
- bx r0
- thumb_func_end sub_81D6FD0
-
- thumb_func_start sub_81D6FE0
-sub_81D6FE0: @ 81D6FE0
- push {r4,lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0862A888
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000804
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001004
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D6FE0
-
- thumb_func_start sub_81D706C
-sub_81D706C: @ 81D706C
- push {r4,lr}
- sub sp, 0x4
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08DA33C0
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
-_081D7082:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _081D7082
- ldr r0, =gUnknown_08DA3988
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA3824
- ldr r1, [r4]
- ldr r2, =0x00000804
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA3A88
- ldr r1, [r4]
- ldr r2, =0x00001004
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA37E8
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0862A8C4
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862A8F8
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862A924
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862A9D4
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AA14
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AA34
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862A8CC
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0862A9DC
- bl LoadCompressedObjectPalette
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D706C
-
- thumb_func_start task_add_00_WIN0V_open_close_above_and_more
-task_add_00_WIN0V_open_close_above_and_more: @ 81D7134
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r7, =gTasks + 0x8
- adds r5, r6, r7
- bl dp12_8087EA4
- bl sub_81D6FE0
- bl sub_81D706C
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, =gUnknown_02038C28
- ldr r2, =0x010003c0
- add r0, sp, 0x4
- bl CpuFastSet
- ldr r2, =gUnknown_0862A87C
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80BA038
- strh r4, [r5]
- ldr r0, =sub_81D7228
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- ldr r0, =gUnknown_0203CF60
- ldr r0, [r0]
- ldr r1, =0x00002006
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D71CC
- bl sub_81D6984
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x4]
- bl sub_81D6B7C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x6]
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_81D691C
- str r1, [r0]
- b _081D71EE
- .pool
-_081D71CC:
- bl sub_81D7664
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x4]
- bl sub_81D78BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x6]
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_81D736C
- str r1, [r0]
- bl StopMapMusic
-_081D71EE:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_81D6FD0
- bl SetVBlankCallback
- movs r0, 0x53
- bl PlaySE
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_00_WIN0V_open_close_above_and_more
-
- thumb_func_start sub_81D7228
-sub_81D7228: @ 81D7228
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r3, r1, r0
- movs r1, 0x18
- ldr r7, =gUnknown_0203CF60
- ldr r4, =gUnknown_02038C28
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r4, r0
-_081D7244:
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r0, 0
- cmp r1, 0x2F
- bgt _081D726C
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3]
- b _081D72CA
- .pool
-_081D726C:
- cmp r1, 0x3F
- bgt _081D7280
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3, 0x2]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0x2]
- b _081D72CA
-_081D7280:
- cmp r1, 0x4B
- bgt _081D7294
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3, 0x4]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0x4]
- b _081D72CA
-_081D7294:
- cmp r1, 0x53
- bgt _081D72A8
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3, 0x6]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0x6]
- b _081D72CA
-_081D72A8:
- cmp r1, 0x57
- bgt _081D72BC
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3, 0x8]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0x8]
- b _081D72CA
-_081D72BC:
- lsls r1, 1
- adds r2, r1, r4
- ldrh r0, [r3, 0xA]
- lsrs r0, 8
- strh r0, [r2]
- adds r1, r5
- ldrh r0, [r3, 0xA]
-_081D72CA:
- lsrs r0, 8
- strh r0, [r1]
- movs r1, 0x80
- lsls r1, 9
- adds r0, r6, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x5B
- ble _081D7244
- ldr r0, [r7]
- ldr r1, =0x00002006
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081D7324
- movs r1, 0xE0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3, 0x2]
- adds r0, r1
- strh r0, [r3, 0x2]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3, 0x6]
- adds r0, r1
- strh r0, [r3, 0x6]
- ldrh r0, [r3, 0x8]
- adds r0, 0xC0
- b _081D735E
- .pool
-_081D7324:
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1, 0
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- movs r1, 0xA0
- lsls r1, 2
- adds r0, r1, 0
- ldrh r1, [r3, 0x2]
- adds r0, r1
- strh r0, [r3, 0x2]
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3, 0x6]
- adds r0, r1
- strh r0, [r3, 0x6]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r3, 0x8]
- adds r0, r1
-_081D735E:
- strh r0, [r3, 0x8]
- ldrh r0, [r3, 0xA]
- adds r0, 0x80
- strh r0, [r3, 0xA]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D7228
-
- thumb_func_start sub_81D736C
-sub_81D736C: @ 81D736C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r7, =gTasks + 0x8
- adds r4, r0, r7
- bl sub_81D750C
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _081D742E
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0x20
- beq _081D739C
- cmp r1, 0x70
- bne _081D73AC
-_081D739C:
- bl sub_81D7438
- b _081D7428
- .pool
-_081D73AC:
- cmp r1, 0xD8
- bne _081D73B6
- bl sub_81D7480
- b _081D7428
-_081D73B6:
- cmp r1, 0xDC
- bne _081D73C0
- bl sub_81D74C8
- b _081D7428
-_081D73C0:
- movs r0, 0xBE
- lsls r0, 1
- cmp r1, r0
- beq _081D73D8
- adds r0, 0x20
- cmp r1, r0
- bne _081D7428
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_81D75B4
- b _081D742E
-_081D73D8:
- movs r1, 0x91
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- adds r2, r7, 0
- subs r2, 0x8
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_81D752C
- str r1, [r0]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r6, [r0, 0x8]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0xC]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r4, 0x6]
- strh r1, [r0, 0xE]
- bl remove_some_task
-_081D7428:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_081D742E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D736C
-
- thumb_func_start sub_81D7438
-sub_81D7438: @ 81D7438
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0x57
- bl PlaySE
- ldr r0, =0x00007fff
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- ldr r0, =0xffff0000
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7438
-
- thumb_func_start sub_81D7480
-sub_81D7480: @ 81D7480
- push {r4,lr}
- sub sp, 0xC
- movs r0, 0x57
- bl PlaySE
- ldr r0, =0x00007fff
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl sub_80A2C44
- ldr r0, =0xffff0000
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl sub_80A2C44
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7480
-
- thumb_func_start sub_81D74C8
-sub_81D74C8: @ 81D74C8
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =0x00007fff
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x4
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- ldr r0, =0xffff0000
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0x4
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D74C8
-
- thumb_func_start sub_81D750C
-sub_81D750C: @ 81D750C
- push {lr}
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgX
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0x2
- bl ChangeBgY
- pop {r0}
- bx r0
- thumb_func_end sub_81D750C
-
- thumb_func_start sub_81D752C
-sub_81D752C: @ 81D752C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl sub_81D7860
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl sub_81D7D14
- movs r0, 0x1
- bl GetBgY
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- bl GetBgY
- cmp r0, 0
- beq _081D757A
- movs r0, 0x80
- lsls r0, 8
- cmp r4, r0
- bls _081D7586
-_081D757A:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0x1
- movs r2, 0x2
- bl ChangeBgY
-_081D7586:
- ldrh r2, [r5]
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x10
- beq _081D75A6
- adds r2, 0x1
- strh r2, [r5]
- lsls r1, r2, 8
- movs r0, 0x10
- subs r0, r2
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_081D75A6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D752C
-
- thumb_func_start sub_81D75B4
-sub_81D75B4: @ 81D75B4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x54
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- lsls r4, 24
- asrs r4, 24
- movs r1, 0
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81D7600
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D75B4
-
- thumb_func_start sub_81D7600
-sub_81D7600: @ 81D7600
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r7, =gTasks + 0x8
- adds r5, r6, r7
- bl sub_81D750C
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _081D7652
- ldrb r0, [r5, 0x2]
- bl DestroyTask
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- bl SetVBlankCallback
- bl remove_some_task
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- strh r4, [r5]
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_81D6840
- str r1, [r0]
-_081D7652:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7600
-
- thumb_func_start sub_81D7664
-sub_81D7664: @ 81D7664
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gUnknown_0862A8D4
- mov r8, r0
- movs r1, 0x62
- movs r2, 0x48
- movs r3, 0x3
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =sub_81D7700
- str r1, [r0]
- adds r0, r6, 0
- adds r0, 0x2E
- adds r4, r0
- mov r0, r8
- movs r1, 0x42
- movs r2, 0x68
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r0, =gUnknown_0862A900
- movs r1, 0x55
- movs r2, 0x65
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- ldr r0, =gUnknown_0862A92C
- movs r1, 0x77
- movs r2, 0x72
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D7664
-
- thumb_func_start sub_81D7700
-sub_81D7700: @ 81D7700
- push {r4,lr}
- adds r3, r0, 0
- movs r0, 0x2E
- adds r0, r3
- mov r12, r0
- ldrh r0, [r0, 0xA]
- adds r0, 0x1
- movs r1, 0xF
- ands r0, r1
- mov r1, r12
- strh r0, [r1, 0xA]
- movs r1, 0x7
- ands r1, r0
- cmp r1, 0
- bne _081D7768
- ldrh r1, [r3, 0x20]
- movs r2, 0x20
- ldrsh r0, [r3, r2]
- cmp r0, 0x48
- beq _081D7768
- subs r0, r1, 0x1
- strh r0, [r3, 0x20]
- ldr r2, =gSprites
- movs r4, 0x2E
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x1
- strh r1, [r0, 0x20]
-_081D7768:
- adds r0, r3, 0
- adds r0, 0x2B
- ldrb r3, [r0]
- cmp r3, 0x1
- beq _081D77C8
- cmp r3, 0x1
- bgt _081D7780
- cmp r3, 0
- beq _081D778A
- b _081D784C
- .pool
-_081D7780:
- cmp r3, 0x2
- beq _081D7808
- cmp r3, 0x3
- beq _081D77C8
- b _081D784C
-_081D778A:
- ldr r2, =gSprites
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- mov r0, r12
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- mov r0, r12
- movs r4, 0x4
- ldrsh r1, [r0, r4]
- b _081D7842
- .pool
-_081D77C8:
- ldr r2, =gSprites
- mov r0, r12
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- mov r4, r12
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0
- strh r3, [r0, 0x26]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- b _081D783C
- .pool
-_081D7808:
- ldr r2, =gSprites
- mov r3, r12
- movs r4, 0x2
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x24]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r3, 0x1
- strh r3, [r0, 0x26]
- mov r4, r12
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffe
-_081D783C:
- strh r1, [r0, 0x24]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
-_081D7842:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
-_081D784C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7700
-
- thumb_func_start sub_81D7860
-sub_81D7860: @ 81D7860
- push {r4,lr}
- adds r1, r0, 0
- adds r3, r1, 0
- adds r3, 0x2E
- ldrh r2, [r1, 0x22]
- movs r4, 0x22
- ldrsh r0, [r1, r4]
- cmp r0, 0xA0
- bgt _081D78B0
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1, 0x22]
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- movs r4, 0x2
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- movs r0, 0x4
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
-_081D78B0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7860
-
- thumb_func_start sub_81D78BC
-sub_81D78BC: @ 81D78BC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r5, =gUnknown_0862A9E4
- adds r0, r5, 0
- movs r1, 0x7E
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r6, =gSprites
- lsls r4, r0, 4
- add r4, r8
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, =sub_81D7A60
- str r1, [r0]
- adds r0, r6, 0
- adds r0, 0x2E
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x9E
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x7E
- movs r2, 0x70
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x9E
- movs r2, 0x70
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r1, 0x7E
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- orrs r0, r1
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r1, 0x9E
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- movs r1, 0x5E
- movs r2, 0x80
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- movs r1, 0x7E
- movs r2, 0x80
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x6]
- adds r0, r5, 0
- movs r1, 0xAE
- movs r2, 0x80
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- orrs r0, r1
- strh r0, [r4, 0x6]
- ldr r0, =gUnknown_0862AA1C
- movs r1, 0xC6
- movs r2, 0x84
- movs r3, 0
- bl CreateSprite
- lsls r0, 8
- strh r0, [r4, 0x8]
- ldr r0, =gUnknown_0862AA3C
- movs r1, 0xBE
- movs r2, 0x78
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x8]
- orrs r0, r1
- strh r0, [r4, 0x8]
- ldrh r1, [r4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x3
- bl StartSpriteAnim
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x4
- bl StartSpriteAnim
- ldrh r1, [r4, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- bl StartSpriteAnim
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x6
- bl StartSpriteAnim
- ldrh r1, [r4, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x7
- bl StartSpriteAnim
- ldrb r1, [r4, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x8
- bl StartSpriteAnim
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D78BC
-
- thumb_func_start sub_81D7A60
-sub_81D7A60: @ 81D7A60
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r3, r4, 0
- adds r3, 0x2E
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- movs r1, 0xF
- ands r0, r1
- strh r0, [r3, 0xA]
- movs r1, 0x7
- ands r1, r0
- ldr r7, =gSprites
- cmp r1, 0
- bne _081D7B52
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x98
- beq _081D7B52
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r4, 0x2E]
- movs r2, 0xFF
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x2]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x4]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x6]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0x8]
- ands r2, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r7
- ldrh r1, [r0, 0x20]
- adds r1, 0x1
- strh r1, [r0, 0x20]
-_081D7B52:
- adds r6, r7, 0
- movs r5, 0xFF
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x2B
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _081D7C24
- cmp r2, 0x1
- bgt _081D7B78
- cmp r2, 0
- beq _081D7B84
- b _081D7D0C
- .pool
-_081D7B78:
- cmp r2, 0x2
- bne _081D7B7E
- b _081D7CAC
-_081D7B7E:
- cmp r2, 0x3
- beq _081D7C24
- b _081D7D0C
-_081D7B84:
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x2]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x4]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x6]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- ands r1, r5
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- b _081D7D0A
-_081D7C24:
- movs r2, 0x1
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrb r1, [r3, 0x8]
- b _081D7D02
-_081D7CAC:
- strh r2, [r4, 0x26]
- ldrh r1, [r3]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r0, [r3]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x2]
- adds r1, r5, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- ldrh r1, [r3, 0x8]
- ands r1, r5
-_081D7D02:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
-_081D7D0A:
- strh r2, [r0, 0x26]
-_081D7D0C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D7A60
-
- thumb_func_start sub_81D7D14
-sub_81D7D14: @ 81D7D14
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- adds r0, r2
- mov r12, r0
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0xA0
- bgt _081D7E08
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r2, 0x22]
- ldr r3, =gSprites
- ldrh r1, [r2, 0x2E]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldrh r0, [r2, 0x2E]
- movs r2, 0xFF
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r0, r12
- ldrh r1, [r0, 0x2]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r1, r12
- ldrh r0, [r1, 0x2]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r0, r12
- ldrh r1, [r0, 0x4]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r1, r12
- ldrh r0, [r1, 0x4]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r0, r12
- ldrh r1, [r0, 0x6]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r1, r12
- ldrh r0, [r1, 0x6]
- adds r1, r2, 0
- ands r1, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r0, r12
- ldrh r1, [r0, 0x8]
- lsls r1, 16
- asrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- mov r1, r12
- ldrh r0, [r1, 0x8]
- ands r2, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
-_081D7E08:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7D14
-
- thumb_func_start sub_81D7E10
-sub_81D7E10: @ 81D7E10
- push {r4,lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0862AA54
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000804
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001004
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7E10
-
- thumb_func_start sub_81D7E9C
-sub_81D7E9C: @ 81D7E9C
- push {r4,lr}
- sub sp, 0x4
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08DA33C0
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DA4F70
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DA3C94
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
-_081D7ED0:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _081D7ED0
- ldr r0, =gUnknown_08DA3988
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA60B8
- ldr r1, [r4]
- ldr r2, =0x00000804
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA4DEC
- ldr r1, [r4]
- ldr r2, =0x00001004
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA4DA8
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0862AA90
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AA98
- bl LoadCompressedObjectPalette
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7E9C
-
- thumb_func_start sub_81D7F4C
-sub_81D7F4C: @ 81D7F4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- movs r0, 0xE8
- lsls r0, 1
- bl PlayNewMapMusic
- bl sub_81D7E10
- bl sub_81D7E9C
- movs r1, 0x94
- lsls r1, 2
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000808
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_81D67EC
- bl SetVBlankCallback
- ldr r0, =sub_81D81A4
- movs r1, 0
- bl CreateTask
- movs r0, 0
- strh r0, [r6]
- strh r0, [r6, 0x2]
- subs r5, 0x8
- adds r4, r5
- ldr r0, =sub_81D7FC0
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D7F4C
-
- thumb_func_start sub_81D7FC0
-sub_81D7FC0: @ 81D7FC0
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _081D802A
- cmp r5, 0x1
- bgt _081D7FE8
- cmp r5, 0
- beq _081D7FF4
- b _081D815A
- .pool
-_081D7FE8:
- cmp r5, 0x2
- beq _081D80A4
- cmp r5, 0x3
- bne _081D7FF2
- b _081D8124
-_081D7FF2:
- b _081D815A
-_081D7FF4:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _081D8024
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- strh r5, [r4, 0x4]
- movs r0, 0x1E
- strh r0, [r4, 0x6]
- strh r5, [r4, 0x8]
- movs r0, 0x7
- strh r0, [r4, 0xA]
- strh r5, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081D815A
-_081D8024:
- adds r0, r1, 0x1
- strh r0, [r4, 0x2]
- b _081D815A
-_081D802A:
- ldrh r1, [r4, 0x6]
- ldrh r3, [r4, 0x4]
- adds r0, r1, r3
- strh r0, [r4, 0x4]
- ldrh r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- adds r0, r2, r3
- strh r0, [r4, 0x8]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _081D8046
- subs r0, r1, 0x3
- strh r0, [r4, 0x6]
-_081D8046:
- lsls r0, r2, 16
- cmp r0, 0
- beq _081D8050
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
-_081D8050:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _081D8078
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r4, 0x4]
- movs r1, 0
- strh r1, [r4, 0x6]
- movs r0, 0xC
- strh r0, [r4, 0xC]
- movs r3, 0x1
- negs r3, r3
- adds r0, r3, 0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_081D8078:
- movs r1, 0xF0
- lsls r1, 7
- movs r2, 0xC0
- lsls r2, 5
- ldrh r0, [r4, 0x8]
- adds r0, 0x20
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x4]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r3, 0x78
- bl SetBgAffine
- b _081D815A
-_081D80A4:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0xF0
- lsls r1, 7
- movs r2, 0xC0
- lsls r2, 5
- ldrh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 18
- adds r0, 0x20
- ldrh r3, [r4, 0x8]
- adds r0, r3
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x4]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x8]
- movs r5, 0
- str r5, [sp, 0xC]
- movs r0, 0x2
- movs r3, 0x78
- bl SetBgAffine
- ldrh r0, [r4, 0xE]
- ldrh r1, [r4, 0xC]
- adds r0, r1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0xC
- beq _081D80F4
- movs r0, 0xC
- negs r0, r0
- cmp r1, r0
- bne _081D815A
-_081D80F4:
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0xE]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- ldr r0, =0x00000127
- cmp r1, r0
- ble _081D815A
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0x6
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _081D815A
- .pool
-_081D8124:
- ldrh r0, [r4, 0x4]
- adds r0, 0x10
- strh r0, [r4, 0x4]
- movs r1, 0xF0
- lsls r1, 7
- movs r2, 0xC0
- lsls r2, 5
- ldrh r0, [r4, 0x8]
- adds r0, 0x20
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x4]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- movs r0, 0x2
- movs r3, 0x78
- bl SetBgAffine
- adds r0, r6, 0
- bl sub_81D8164
-_081D815A:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D7FC0
-
- thumb_func_start sub_81D8164
-sub_81D8164: @ 81D8164
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081D8192
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81D6840
- str r0, [r1]
-_081D8192:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8164
-
- thumb_func_start sub_81D81A4
-sub_81D81A4: @ 81D81A4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- ldrh r1, [r4, 0x2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081D8254
- ldr r0, =gUnknown_0862AAA0
- ldr r3, =gUnknown_0862AAB8
- movs r1, 0
- ldrsh r2, [r4, r1]
- lsls r2, 1
- adds r1, r2, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 18
- movs r6, 0xF0
- lsls r6, 15
- adds r1, r6
- asrs r1, 16
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- lsls r2, 18
- movs r3, 0xA0
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r1
- movs r0, 0
- ldrsb r0, [r4, r0]
- strh r0, [r3, 0x2E]
- ldrb r2, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- movs r2, 0x3
- orrs r0, r2
- strb r0, [r3, 0x1]
- ldrb r0, [r3, 0x5]
- ands r1, r0
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r3, 0x5]
- adds r0, r3, 0
- bl InitSpriteAffineAnim
- ldrh r1, [r4]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r0, 0x9
- bne _081D8250
- adds r0, r5, 0
- bl DestroyTask
- b _081D825A
- .pool
-_081D8250:
- adds r0, r1, 0x1
- strh r0, [r4]
-_081D8254:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_081D825A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81D81A4
-
- thumb_func_start sub_81D8260
-sub_81D8260: @ 81D8260
- push {lr}
- adds r2, r0, 0
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081D8270
- strh r0, [r2, 0x24]
- b _081D829A
-_081D8270:
- ldr r1, =gUnknown_0862AAB8
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- adds r0, r1
-_081D829A:
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0xF
- ands r0, r1
- strh r0, [r2, 0x30]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8260
-
- thumb_func_start sub_81D82B0
-sub_81D82B0: @ 81D82B0
- push {r4,lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0862AACC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000804
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001004
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001804
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D82B0
-
- thumb_func_start sub_81D8358
-sub_81D8358: @ 81D8358
- push {r4-r7,lr}
- sub sp, 0xC
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08DA7528
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DA69BC
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- add r7, sp, 0x8
-_081D8380:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _081D8380
- ldr r0, =gUnknown_08DA7AAC
- ldr r5, =gUnknown_0203CF60
- ldr r1, [r5]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA7784
- ldr r1, [r5]
- ldr r4, =0x00001804
- adds r1, r4
- bl LZDecompressWram
- str r6, [sp, 0x4]
- ldr r1, [r5]
- ldr r0, =0x00001004
- adds r1, r0
- ldr r2, =0x01000200
- add r0, sp, 0x4
- bl CpuFastSet
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, =0x00000804
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r4, 0
- bl CpuFastSet
- str r6, [sp, 0x8]
- ldr r1, [r5]
- ldr r0, =0x00000904
- adds r1, r0
- ldr r2, =0x010000d0
- adds r0, r7, 0
- bl CpuFastSet
- ldr r0, =gUnknown_08DA7744
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- ldr r0, =gPlttBufferUnfaded
- ldr r1, =0x00007fff
- strh r1, [r0]
- ldr r0, =gPlttBufferFaded
- strh r1, [r0]
- ldr r0, =gUnknown_0862AAFC
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AB04
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AB0C
- bl LoadCompressedObjectPalette
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8358
-
- thumb_func_start sub_81D844C
-sub_81D844C: @ 81D844C
- push {r4,r5,lr}
- movs r0, 0x6
- bl GetGpuReg
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, r2, 0
- subs r1, 0x18
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0x6F
- bhi _081D848C
- ldr r0, =gUnknown_0203CF60
- ldr r0, [r0]
- ldr r3, =0x00002008
- adds r0, r3
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bgt _081D848C
- ldr r1, =0x04000052
- ldr r3, =0x00000d08
- b _081D8492
- .pool
-_081D848C:
- ldr r1, =0x04000052
- movs r3, 0x80
- lsls r3, 5
-_081D8492:
- adds r0, r3, 0
- strh r0, [r1]
- cmp r2, 0
- bne _081D84E0
- ldr r0, =gUnknown_0203CF60
- ldr r1, [r0]
- ldr r2, =0x00002008
- adds r3, r1, r2
- ldrh r4, [r3]
- movs r1, 0
- ldrsh r2, [r3, r1]
- ldr r1, =0x00001fff
- adds r5, r0, 0
- cmp r2, r1
- bgt _081D84D4
- cmp r2, 0x27
- bgt _081D84C8
- adds r0, r4, 0x4
- b _081D84D2
- .pool
-_081D84C8:
- cmp r2, 0x4F
- bgt _081D84D0
- adds r0, r4, 0x2
- b _081D84D2
-_081D84D0:
- adds r0, r4, 0x1
-_081D84D2:
- strh r0, [r3]
-_081D84D4:
- ldr r1, [r5]
- ldr r2, =0x0000200a
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081D84E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D844C
-
- thumb_func_start sub_81D84EC
-sub_81D84EC: @ 81D84EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, =gTasks + 0x8
- adds r5, r4, r6
- bl sub_81D82B0
- bl sub_81D8358
- ldr r1, =0x00001e41
- movs r0, 0x50
- bl SetGpuRegBits
- movs r0, 0x80
- lsls r0, 5
- mov r8, r0
- movs r0, 0x52
- mov r1, r8
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_81D67EC
- bl SetVBlankCallback
- ldr r0, =gUnknown_0203CF60
- ldr r0, [r0]
- ldr r1, =0x00002008
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r2, =0x0000200a
- adds r0, r2
- strh r1, [r0]
- strh r1, [r5]
- strh r1, [r5, 0x2]
- strh r1, [r5, 0x4]
- strh r1, [r5, 0x6]
- mov r0, r8
- strh r0, [r5, 0x8]
- subs r6, 0x8
- adds r4, r6
- ldr r0, =sub_81D857C
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D84EC
-
- thumb_func_start sub_81D857C
-sub_81D857C: @ 81D857C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bhi _081D8674
- lsls r0, 2
- ldr r1, =_081D85A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081D85A8:
- .4byte _081D85BC
- .4byte _081D85DC
- .4byte _081D861A
- .4byte _081D863A
- .4byte _081D8656
-_081D85BC:
- ldrh r1, [r5, 0x2]
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0x8
- bne _081D8634
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- strh r4, [r5, 0x2]
- b _081D864E
-_081D85DC:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _081D8674
- ldrh r2, [r5, 0x2]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- cmp r0, 0xA
- bne _081D8614
- strh r1, [r5, 0x2]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ldr r0, =sub_81D844C
- bl SetHBlankCallback
- movs r0, 0x3
- bl EnableInterrupts
- b _081D8674
- .pool
-_081D8614:
- adds r0, r2, 0x1
- strh r0, [r5, 0x2]
- b _081D8674
-_081D861A:
- ldrh r1, [r5, 0x2]
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0x50
- bne _081D8634
- movs r0, 0
- strh r0, [r5, 0x2]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- bl sub_81D86CC
- b _081D8674
-_081D8634:
- adds r0, r1, 0x1
- strh r0, [r5, 0x2]
- b _081D8674
-_081D863A:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- movs r1, 0xB8
- lsls r1, 17
- cmp r0, r1
- bne _081D8674
- movs r0, 0
- strh r0, [r5, 0x2]
-_081D864E:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _081D8674
-_081D8656:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81D8684
- str r1, [r0]
-_081D8674:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D857C
-
- thumb_func_start sub_81D8684
-sub_81D8684: @ 81D8684
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081D86B8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_81D6840
- str r0, [r1]
-_081D86B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8684
-
- thumb_func_start sub_81D86CC
-sub_81D86CC: @ 81D86CC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gUnknown_0862AB14
- movs r1, 0xA0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r5, r6, 4
- adds r5, r6
- lsls r5, 2
- ldr r4, =gSprites + 0x2E
- adds r0, r5, r4
- mov r8, r0
- ldr r0, =gUnknown_0862AB2C
- movs r2, 0x30
- negs r2, r2
- movs r1, 0xB8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1]
- adds r3, r4, 0
- subs r3, 0x2E
- subs r4, 0x12
- adds r4, r5, r4
- ldr r0, =sub_81D874C
- str r0, [r4]
- adds r5, r3
- ldrb r0, [r5, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r5, 0x5]
- movs r4, 0
- ldrsh r1, [r1, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81D86CC
-
- thumb_func_start sub_81D874C
-sub_81D874C: @ 81D874C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _081D8764
- movs r0, 0xC
- strh r0, [r4, 0x6]
- movs r0, 0x8
- b _081D87C2
-_081D8764:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bne _081D8774
- movs r0, 0x9
- strh r0, [r4, 0x6]
- movs r0, 0x7
- b _081D87C2
-_081D8774:
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- bne _081D8784
- movs r0, 0x8
- strh r0, [r4, 0x6]
- movs r0, 0x6
- b _081D87C2
-_081D8784:
- movs r0, 0x8C
- lsls r0, 1
- cmp r1, r0
- bne _081D8794
- movs r0, 0x7
- strh r0, [r4, 0x6]
- movs r0, 0x5
- b _081D87C2
-_081D8794:
- movs r0, 0x92
- lsls r0, 1
- cmp r1, r0
- bne _081D87A4
- movs r0, 0x6
- strh r0, [r4, 0x6]
- movs r0, 0x4
- b _081D87C2
-_081D87A4:
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bne _081D87B4
- movs r0, 0x5
- strh r0, [r4, 0x6]
- movs r0, 0x3
- b _081D87C2
-_081D87B4:
- movs r0, 0xA0
- lsls r0, 1
- cmp r1, r0
- bne _081D87C4
- movs r0, 0x4
- strh r0, [r4, 0x6]
- movs r0, 0x2
-_081D87C2:
- strh r0, [r4, 0x8]
-_081D87C4:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _081D87EE
- ldrh r0, [r5, 0x24]
- subs r0, 0x1
- strh r0, [r5, 0x24]
- ldr r2, =gSprites
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- subs r1, 0x1
- strh r1, [r0, 0x24]
-_081D87EE:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _081D8818
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
- ldr r2, =gSprites
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- strh r1, [r0, 0x26]
-_081D8818:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D874C
-
- thumb_func_start sub_81D8828
-sub_81D8828: @ 81D8828
- push {r4,lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0862AB44
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000804
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001004
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001804
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8828
-
- thumb_func_start sub_81D88D0
-sub_81D88D0: @ 81D88D0
- push {r4,lr}
- sub sp, 0x4
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08DA80BC
- movs r4, 0
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DA7EAC
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DA7C30
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
-_081D8904:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _081D8904
- ldr r0, =gUnknown_08DA8D6C
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA8B40
- ldr r1, [r4]
- ldr r2, =0x00000804
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA7FB4
- ldr r1, [r4]
- ldr r2, =0x00001004
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA7D6C
- ldr r1, [r4]
- ldr r2, =0x00001804
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DA8E84
- movs r1, 0
- movs r2, 0x80
- bl LoadCompressedPalette
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D88D0
-
- thumb_func_start sub_81D8980
-sub_81D8980: @ 81D8980
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- bl sub_81D8828
- bl sub_81D88D0
- bl sub_81D68C8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_81D67EC
- bl SetVBlankCallback
- movs r0, 0
- strh r0, [r6]
- strh r0, [r6, 0x2]
- ldr r0, =sub_81D8AD8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x4]
- subs r5, 0x8
- adds r4, r5
- ldr r0, =sub_81D89E0
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8980
-
- thumb_func_start sub_81D89E0
-sub_81D89E0: @ 81D89E0
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- bl sub_81D8BB4
- ldrh r1, [r4, 0x6]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _081D8A16
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bgt _081D8A16
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x59
- bgt _081D8A16
- movs r0, 0x67
- bl PlaySE
-_081D8A16:
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
- movs r0, 0
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _081D8A5C
- cmp r5, 0x1
- bgt _081D8A34
- cmp r5, 0
- beq _081D8A3E
- b _081D8AC6
- .pool
-_081D8A34:
- cmp r5, 0x2
- beq _081D8A8C
- cmp r5, 0x3
- beq _081D8AA8
- b _081D8AC6
-_081D8A3E:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _081D8AA2
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- strh r5, [r4, 0x2]
- b _081D8A9A
-_081D8A5C:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x7F
- bne _081D8AA2
- movs r0, 0
- strh r0, [r4, 0x2]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r2, =gTasks
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, =sub_81D8B2C
- b _081D8AC4
- .pool
-_081D8A8C:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- bne _081D8AA2
- movs r0, 0
- strh r0, [r4, 0x2]
-_081D8A9A:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081D8AC6
-_081D8AA2:
- adds r0, r1, 0x1
- strh r0, [r4, 0x2]
- b _081D8AC6
-_081D8AA8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_81D8BEC
-_081D8AC4:
- str r1, [r0]
-_081D8AC6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D89E0
-
- thumb_func_start sub_81D8AD8
-sub_81D8AD8: @ 81D8AD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r5, r1, r0
- ldrh r1, [r5, 0x1E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081D8B1C
- bl Random
- movs r4, 0x7
- adds r1, r4, 0
- ands r1, r0
- subs r1, 0x4
- lsls r1, 8
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- bl Random
- ands r4, r0
- subs r4, 0x4
- lsls r4, 8
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
-_081D8B1C:
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8AD8
-
- thumb_func_start sub_81D8B2C
-sub_81D8B2C: @ 81D8B2C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081D8B70
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0xA
- strh r0, [r4, 0x2]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- b _081D8BAA
- .pool
-_081D8B70:
- cmp r0, 0x1
- bne _081D8BAC
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r1, 8
- movs r0, 0x1
- movs r2, 0x2
- bl ChangeBgX
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r1, 8
- movs r0, 0x1
- movs r2, 0x1
- bl ChangeBgY
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA
- negs r1, r1
- cmp r0, r1
- bne _081D8BAC
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- negs r0, r0
-_081D8BAA:
- strh r0, [r4, 0x4]
-_081D8BAC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D8B2C
-
- thumb_func_start sub_81D8BB4
-sub_81D8BB4: @ 81D8BB4
- push {r4,lr}
- movs r4, 0x80
- lsls r4, 3
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgX
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- movs r4, 0x80
- lsls r4, 4
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl ChangeBgX
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81D8BB4
-
- thumb_func_start sub_81D8BEC
-sub_81D8BEC: @ 81D8BEC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r5, r1, 3
- ldr r6, =gTasks + 0x8
- adds r4, r5, r6
- bl sub_81D8BB4
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081D8C26
- movs r0, 0
- bl SetVBlankCallback
- bl sub_81D6904
- ldrb r0, [r4, 0x4]
- bl DestroyTask
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, =sub_81D6840
- str r1, [r0]
-_081D8C26:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8BEC
-
- thumb_func_start sub_81D8C38
-sub_81D8C38: @ 81D8C38
- push {r4,lr}
- bl sub_8121DA0
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0862AD08
- movs r0, 0x1
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- adds r1, 0x4
- movs r0, 0
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00000804
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- ldr r0, =0x00001004
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- bl sub_8121E10
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8C38
-
- thumb_func_start sub_81D8CC4
-sub_81D8CC4: @ 81D8CC4
- push {r4,lr}
- sub sp, 0x4
- bl reset_temp_tile_data_buffers
- ldr r1, =gUnknown_08DAAB24
- movs r4, 0
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DAA8B4
- str r4, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl decompress_and_copy_tile_data_to_vram
-_081D8CEA:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- cmp r0, 0
- bne _081D8CEA
- ldr r0, =gUnknown_08DAAE54
- ldr r4, =gUnknown_0203CF60
- ldr r1, [r4]
- ldr r2, =0x00000804
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DAAC1C
- ldr r1, [r4]
- adds r1, 0x4
- bl LZDecompressWram
- ldr r0, =gUnknown_08DAAF98
- ldr r1, [r4]
- ldr r2, =0x00001004
- adds r1, r2
- bl LZDecompressWram
- ldr r0, =gUnknown_08DAAFEC
- movs r1, 0
- movs r2, 0x60
- bl LoadCompressedPalette
- ldr r0, =gUnknown_0862AC28
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC30
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC38
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC40
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC48
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC50
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862AC58
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0862AC60
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0862AC68
- bl LoadCompressedObjectPalette
- ldr r0, =gUnknown_0862AC70
- bl LoadCompressedObjectPalette
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8CC4
-
- thumb_func_start sub_81D8DB4
-sub_81D8DB4: @ 81D8DB4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r6, r4, r5
- bl sub_81D8C38
- bl sub_81D8CC4
- bl sub_81D68C8
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl ClearGpuRegBits
- ldr r1, =0x00000241
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000e09
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_81D67EC
- bl SetVBlankCallback
- movs r0, 0
- strh r0, [r6]
- strh r0, [r6, 0x2]
- subs r5, 0x8
- adds r4, r5
- ldr r0, =sub_81D8E80
- str r0, [r4]
- ldr r0, =sub_81D8FB0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x4]
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r2, 0
- strh r2, [r0, 0x8]
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0xA]
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0xC]
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r2, 0x1
- strh r2, [r0, 0xE]
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- strh r2, [r0, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8DB4
-
- thumb_func_start sub_81D8E80
-sub_81D8E80: @ 81D8E80
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r4, r7, r0
- movs r1, 0
- ldrsh r5, [r4, r1]
- cmp r5, 0x1
- beq _081D8EDE
- cmp r5, 0x1
- bgt _081D8EB0
- cmp r5, 0
- beq _081D8EBA
- b _081D8FA0
- .pool
-_081D8EB0:
- cmp r5, 0x2
- beq _081D8F1E
- cmp r5, 0x3
- beq _081D8F84
- b _081D8FA0
-_081D8EBA:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _081D8F18
- adds r0, r6, 0
- bl sub_81D90A8
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- strh r5, [r4, 0x2]
- b _081D8F30
-_081D8EDE:
- ldr r2, =gSprites
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, =sub_81D97E0
- cmp r1, r0
- bne _081D8FA0
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x40
- bne _081D8F18
- adds r0, r6, 0
- bl sub_81D94D4
- adds r0, r6, 0
- bl sub_81D93D8
- b _081D8F2C
- .pool
-_081D8F18:
- adds r0, r1, 0x1
- strh r0, [r4, 0x2]
- b _081D8FA0
-_081D8F1E:
- ldrh r2, [r4, 0x2]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- bne _081D8F38
-_081D8F2C:
- movs r0, 0
- strh r0, [r4, 0x2]
-_081D8F30:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081D8FA0
-_081D8F38:
- adds r0, r2, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r1, 0x90
- bl __modsi3
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bne _081D8FA0
- ldr r0, =0x0000fffe
- ldr r1, =0x0000ffff
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- ldr r0, =0xffff0000
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl sub_80A2C44
- b _081D8FA0
- .pool
-_081D8F84:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_81D9034
- str r1, [r0]
-_081D8FA0:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8E80
-
- thumb_func_start sub_81D8FB0
-sub_81D8FB0: @ 81D8FB0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- ldrh r1, [r4]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081D9024
- ldrh r1, [r4, 0x2]
- adds r1, 0xE
- lsls r1, 8
- movs r2, 0xF8
- lsls r2, 5
- adds r0, r2, 0
- ands r1, r0
- ldrh r0, [r4, 0x4]
- adds r0, 0x9
- movs r2, 0xF
- ands r0, r2
- orrs r1, r0
- movs r0, 0x52
- bl SetGpuReg
- ldrh r1, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- subs r1, r0
- strh r1, [r4, 0x2]
- ldrh r0, [r4, 0x8]
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r4, 0x4]
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x3
- negs r0, r0
- cmp r1, r0
- beq _081D9008
- cmp r1, 0
- bne _081D9010
-_081D9008:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x6]
-_081D9010:
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _081D901C
- cmp r0, 0
- bne _081D9024
-_081D901C:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x8]
-_081D9024:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D8FB0
-
- thumb_func_start sub_81D9034
-sub_81D9034: @ 81D9034
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 3
- ldr r7, =gTasks + 0x8
- adds r4, r6, r7
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _081D90A0
- bl StopMapMusic
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081D9078
- movs r0, 0
- bl SetVBlankCallback
- bl sub_81D6904
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldrb r0, [r4, 0x4]
- bl DestroyTask
-_081D9078:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _081D909C
- strh r5, [r4, 0x2]
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, =sub_81D6840
- str r1, [r0]
- b _081D90A0
- .pool
-_081D909C:
- adds r0, r1, 0x1
- strh r0, [r4, 0x2]
-_081D90A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D9034
-
- thumb_func_start sub_81D90A8
-sub_81D90A8: @ 81D90A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- ldr r0, =gUnknown_0862AC78
- movs r1, 0x40
- movs r2, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x6]
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites + 0x2E
- mov r10, r1
- adds r7, r0, r1
- ldr r0, =gUnknown_0862AC90
- movs r1, 0x10
- movs r2, 0x82
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r2, 0x2E
- negs r2, r2
- add r2, r10
- mov r8, r2
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- movs r2, 0x4
- mov r9, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r5, =gUnknown_0862ACA8
- adds r0, r5, 0
- movs r1, 0xA0
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r7, r0, r1
- adds r0, r5, 0
- movs r1, 0xC0
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- adds r0, r5, 0
- movs r1, 0xE0
- movs r2, 0x80
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x2]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x1
- bl StartSpriteAnim
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r0, =gUnknown_0862ACC0
- movs r2, 0x41
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r1, r10
- adds r7, r0, r1
- ldr r0, =gUnknown_0862ACD8
- movs r2, 0x71
- negs r2, r2
- movs r1, 0x78
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- mov r2, r9
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x5]
- ands r6, r1
- orrs r6, r2
- strb r6, [r0, 0x5]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D90A8
-
- thumb_func_start sub_81D9274
-sub_81D9274: @ 81D9274
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r0, =gTasks + 0x8
- adds r2, r0
- ldr r3, =gSprites
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- movs r1, 0x1C
- adds r1, r3
- mov r8, r1
- add r0, r8
- ldr r6, =pokemon_alive_on_battle_side
- str r6, [r0]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r4, 0
- strh r4, [r0, 0x36]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x38]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r5, 0x4
- strh r5, [r0, 0x3A]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x3C]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- str r6, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x36]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x38]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x3A]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x3C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9274
-
- thumb_func_start pokemon_alive_on_battle_side
-pokemon_alive_on_battle_side: @ 81D9338
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x36]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- bne _081D93CC
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081D9370
- ldrh r0, [r4, 0x20]
- ldrh r3, [r4, 0x3A]
- subs r0, r3
- strh r0, [r4, 0x20]
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, r3
- b _081D939E
- .pool
-_081D9370:
- ldrh r2, [r4, 0x3A]
- ldrh r1, [r4, 0x20]
- adds r0, r2, r1
- strh r0, [r4, 0x20]
- ldr r3, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x20]
- adds r2, r1
- strh r2, [r0, 0x20]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r4, 0x3A]
- ldrh r2, [r0, 0x20]
- adds r1, r2
-_081D939E:
- strh r1, [r0, 0x20]
- ldrh r1, [r4, 0x38]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- subs r0, r1
- strh r0, [r4, 0x3A]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x3
- bne _081D93CC
- strh r2, [r4, 0x36]
- strh r2, [r4, 0x38]
- strh r2, [r4, 0x3A]
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
- b _081D93D2
- .pool
-_081D93CC:
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
-_081D93D2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end pokemon_alive_on_battle_side
-
- thumb_func_start sub_81D93D8
-sub_81D93D8: @ 81D93D8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r0, =gTasks + 0x8
- adds r2, r0
- ldr r3, =gSprites
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_81D9420
- str r1, [r0]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D93D8
-
- thumb_func_start sub_81D9420
-sub_81D9420: @ 81D9420
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081D9488
- cmp r0, 0x1
- bgt _081D9436
- cmp r0, 0
- beq _081D9440
- b _081D94C4
-_081D9436:
- cmp r0, 0x2
- beq _081D9440
- cmp r0, 0x3
- beq _081D9488
- b _081D94C4
-_081D9440:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 26
- movs r1, 0xC
- bl __umodsi3
- lsls r0, 24
- ldr r2, =gSprites
- cmp r0, 0
- bne _081D9470
- ldrh r0, [r4, 0x20]
- subs r0, 0x2
- strh r0, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- subs r1, 0x2
- strh r1, [r0, 0x20]
-_081D9470:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x26]
- b _081D94C4
- .pool
-_081D9488:
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =0x0000fffe
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r1, 26
- lsrs r1, 26
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _081D94C4
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
-_081D94C4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9420
-
- thumb_func_start sub_81D94D4
-sub_81D94D4: @ 81D94D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- movs r0, 0x8
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, =gSprites + 0x2E
- adds r4, r0, r2
- subs r2, 0x12
- adds r0, r2
- ldr r3, =sub_81D9528
- str r3, [r0]
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- str r3, [r0]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- str r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D94D4
-
- thumb_func_start sub_81D9528
-sub_81D9528: @ 81D9528
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldrh r1, [r7, 0x36]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _081D9550
- ldrh r1, [r7, 0x24]
- movs r2, 0x24
- ldrsh r0, [r7, r2]
- cmp r0, 0x1
- bne _081D954C
- ldr r0, =0x0000ffff
- b _081D954E
- .pool
-_081D954C:
- movs r0, 0x1
-_081D954E:
- strh r0, [r7, 0x24]
-_081D9550:
- movs r1, 0x38
- ldrsh r0, [r7, r1]
- cmp r0, 0x80
- bne _081D95CE
- ldr r2, =gUnknown_0862ACF0
- mov r8, r2
- mov r0, r8
- movs r1, 0x98
- movs r2, 0x84
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x3C]
- ldr r5, =gSprites
- movs r1, 0x3C
- ldrsh r0, [r7, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r6, 0x4
- orrs r0, r6
- strb r0, [r1, 0x5]
- mov r0, r8
- movs r1, 0xE0
- movs r2, 0x84
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x3C]
- movs r2, 0x3C
- ldrsh r1, [r7, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x5]
- ands r4, r1
- orrs r4, r6
- strb r4, [r0, 0x5]
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrh r0, [r7, 0x38]
- adds r0, 0x1
- strh r0, [r7, 0x38]
-_081D95CE:
- ldrh r1, [r7, 0x38]
- movs r2, 0x38
- ldrsh r0, [r7, r2]
- cmp r0, 0x7F
- ble _081D95F8
- movs r1, 0x26
- ldrsh r0, [r7, r1]
- cmp r0, 0x20
- beq _081D95FC
- ldrh r0, [r7, 0x3A]
- adds r0, 0x1
- strh r0, [r7, 0x3A]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r7, 0x26]
- b _081D95FC
- .pool
-_081D95F8:
- adds r0, r1, 0x1
- strh r0, [r7, 0x38]
-_081D95FC:
- ldrh r0, [r7, 0x36]
- movs r1, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _081D960C
- movs r0, 0xA5
- bl PlaySE
-_081D960C:
- ldrh r0, [r7, 0x36]
- adds r0, 0x1
- strh r0, [r7, 0x36]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D9528
-
- thumb_func_start sub_81D961C
-sub_81D961C: @ 81D961C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- cmp r1, 0x40
- bgt _081D968C
- ldrh r0, [r4, 0x26]
- adds r0, 0x2
- strh r0, [r4, 0x26]
- ldr r5, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r1, 0x2
- strh r1, [r0, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _081D964C
- b _081D979E
-_081D964C:
- movs r3, 0x30
- negs r3, r3
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_81D9868
- movs r2, 0x5
- strh r2, [r4, 0x36]
- ldr r0, =0x0000ffff
- strh r0, [r4, 0x38]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3
- strh r1, [r0, 0x36]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- b _081D979E
- .pool
-_081D968C:
- cmp r1, 0x6F
- bgt _081D96BE
- adds r0, r4, 0
- bl sub_81D97E0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081D96A4
- movs r0, 0x68
- bl PlaySE
-_081D96A4:
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- movs r0, 0x3
- negs r0, r0
- cmp r1, r0
- bne _081D979E
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x30
- movs r3, 0x10
- bl sub_81D9868
- b _081D979E
-_081D96BE:
- cmp r1, 0x70
- bne _081D96EC
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x7
- strh r1, [r0, 0x36]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x38]
- b _081D96F2
- .pool
-_081D96EC:
- ldr r0, =0x00000147
- cmp r1, r0
- bgt _081D9700
-_081D96F2:
- adds r0, r4, 0
- bl sub_81D97E0
- b _081D979E
- .pool
-_081D9700:
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- bne _081D974C
- adds r0, r4, 0
- bl sub_81D97E0
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x30
- movs r3, 0x10
- bl sub_81D9868
- movs r3, 0x1
- strh r3, [r4, 0x24]
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- movs r0, 0xCB
- lsls r0, 1
- movs r1, 0
- bl PlayCry1
- ldr r0, =sub_81D98B4
- movs r1, 0
- bl CreateTask
- b _081D979E
- .pool
-_081D974C:
- movs r0, 0xB0
- lsls r0, 1
- cmp r1, r0
- beq _081D9790
- adds r0, 0x18
- cmp r1, r0
- bne _081D979E
- movs r3, 0
- strh r3, [r4, 0x24]
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- adds r0, r4, 0
- bl sub_81D97E0
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x30
- movs r3, 0x10
- bl sub_81D9868
- ldr r0, =sub_81D97E0
- str r0, [r4, 0x1C]
- b _081D97D2
- .pool
-_081D9790:
- ldr r0, =sub_81D8E80
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl sub_81D9274
-_081D979E:
- ldrh r2, [r4, 0x3C]
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- movs r0, 0xA4
- lsls r0, 1
- cmp r1, r0
- ble _081D97CC
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _081D97CC
- movs r1, 0x24
- ldrsh r2, [r4, r1]
- negs r2, r2
- strh r2, [r4, 0x24]
- ldr r3, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x24]
-_081D97CC:
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_081D97D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D961C
-
- thumb_func_start sub_81D97E0
-sub_81D97E0: @ 81D97E0
- push {r4-r7,lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, =gSprites
- adds r4, r0, r5
- ldrh r1, [r3, 0x3A]
- ldrh r0, [r4, 0x36]
- ands r0, r1
- cmp r0, 0
- bne _081D985C
- ldrh r2, [r3, 0x36]
- ldrh r1, [r3, 0x26]
- adds r0, r2, r1
- strh r0, [r3, 0x26]
- movs r7, 0x2E
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x26]
- adds r2, r1
- strh r2, [r0, 0x26]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x36]
- adds r0, r2
- strh r0, [r3, 0x36]
- lsls r0, 16
- asrs r5, r0, 16
- ldrh r6, [r4, 0x38]
- movs r7, 0x38
- ldrsh r2, [r4, r7]
- cmp r5, r2
- bge _081D9836
- movs r0, 0x36
- ldrsh r1, [r3, r0]
- adds r0, r2, 0
- cmn r1, r0
- bgt _081D985C
-_081D9836:
- cmp r5, r2
- ble _081D9844
- strh r6, [r3, 0x36]
- b _081D9854
- .pool
-_081D9844:
- movs r0, 0x36
- ldrsh r1, [r3, r0]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmn r1, r0
- bge _081D9854
- negs r0, r6
- strh r0, [r3, 0x36]
-_081D9854:
- movs r7, 0x38
- ldrsh r0, [r3, r7]
- negs r0, r0
- strh r0, [r3, 0x38]
-_081D985C:
- ldrh r0, [r3, 0x3A]
- adds r0, 0x1
- strh r0, [r3, 0x3A]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81D97E0
-
- thumb_func_start sub_81D9868
-sub_81D9868: @ 81D9868
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r5, 24
- lsrs r5, 24
- movs r4, 0x2E
- ldrsh r1, [r0, r4]
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r1, =gSprites
- adds r4, r1
- lsls r2, 16
- asrs r2, 16
- ldrh r1, [r0, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- lsls r3, 16
- asrs r3, 16
- ldrh r1, [r0, 0x22]
- adds r3, r1
- strh r3, [r4, 0x22]
- ldrh r1, [r0, 0x24]
- strh r1, [r4, 0x24]
- ldrh r1, [r0, 0x26]
- strh r1, [r4, 0x26]
- adds r1, r5, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- adds r1, r5, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81D9868
-
- thumb_func_start sub_81D98B4
-sub_81D98B4: @ 81D98B4
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _081D990C
- cmp r1, 0x1
- bgt _081D98DC
- cmp r1, 0
- beq _081D98E2
- b _081D99B4
- .pool
-_081D98DC:
- cmp r1, 0x2
- beq _081D99A4
- b _081D99B4
-_081D98E2:
- movs r2, 0x80
- lsls r2, 7
- movs r0, 0x40
- str r0, [sp]
- adds r0, 0xC0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0x2
- adds r1, r2, 0
- movs r3, 0x78
- bl SetBgAffine
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl SetGpuRegBits
- movs r0, 0x10
- strh r0, [r4, 0x8]
- b _081D9922
-_081D990C:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _081D991A
- movs r0, 0x12
- bl PlaySE
-_081D991A:
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0x2
- bne _081D992A
-_081D9922:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081D99B4
-_081D992A:
- ldrh r5, [r4, 0x8]
- ldrh r1, [r4, 0x2]
- adds r0, r5, r1
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _081D9954
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _081D9954
- subs r0, r5, 0x2
- strh r0, [r4, 0x8]
-_081D9954:
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
- movs r2, 0x80
- lsls r2, 7
- movs r0, 0x40
- str r0, [sp]
- ldrh r0, [r4, 0x2]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- subs r0, r1, r0
- lsls r0, 16
- asrs r0, 16
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0x2]
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- str r1, [sp, 0x8]
- movs r5, 0
- str r5, [sp, 0xC]
- movs r0, 0x2
- adds r1, r2, 0
- movs r3, 0x78
- bl SetBgAffine
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- ble _081D99B4
- strh r5, [r4, 0x2]
- strh r5, [r4, 0x6]
- strh r5, [r4, 0xA]
- movs r0, 0x10
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- b _081D99B4
-_081D99A4:
- movs r1, 0x80
- lsls r1, 3
- movs r0, 0
- bl ClearGpuRegBits
- adds r0, r5, 0
- bl DestroyTask
-_081D99B4:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81D98B4
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/record_mixing.s b/asm/record_mixing.s
deleted file mode 100644
index 35e0557ee..000000000
--- a/asm/record_mixing.s
+++ /dev/null
@@ -1,3711 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80E6BE8
-sub_80E6BE8: @ 80E6BE8
- push {lr}
- ldr r0, =sub_80E715C
- bl sub_80B37D4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6BE8
-
- thumb_func_start sub_80E6BF8
-sub_80E6BF8: @ 80E6BF8
- push {r4,lr}
- ldr r2, =gUnknown_03001134
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r3, =0x00001a9c
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001138
- ldr r4, =0x000027cc
- adds r0, r1, r4
- str r0, [r2]
- ldr r2, =gUnknown_0300113C
- ldr r3, =0x00002b50
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001140
- ldr r4, =0x00002e28
- adds r0, r1, r4
- str r0, [r2]
- ldr r2, =gUnknown_03001144
- ldr r3, =0x00002e68
- adds r0, r1, r3
- str r0, [r2]
- ldr r2, =gUnknown_03001148
- ldr r0, =gUnknown_02039F9C
- str r0, [r2]
- ldr r2, =gUnknown_0300114C
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r4, =0x0000064c
- adds r3, r0, r4
- str r3, [r2]
- ldr r2, =gUnknown_03001150
- ldr r4, =0x00003b58
- adds r1, r4
- str r1, [r2]
- ldr r1, =gUnknown_03001154
- adds r0, 0xDC
- str r0, [r1]
- ldr r0, =gUnknown_03001158
- str r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6BF8
-
- thumb_func_start sub_80E6CA0
-sub_80E6CA0: @ 80E6CA0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_03001134
- ldr r1, [r0]
- movs r4, 0xC8
- lsls r4, 4
- adds r0, r5, 0
- adds r2, r4, 0
- bl memcpy
- adds r4, r5, r4
- ldr r0, =gUnknown_03001138
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 2
- adds r0, r4, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_80F14F8
- ldr r1, =0x00001004
- adds r0, r5, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, =0x00001044
- adds r0, r5, r2
- ldr r1, =gUnknown_03001140
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r1, =0x00001084
- adds r0, r5, r1
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r2, =0x000010ac
- adds r0, r5, r2
- bl sub_80E89F8
- ldr r0, =gUnknown_0300114C
- ldr r0, [r0]
- ldr r2, =0x00001124
- adds r1, r5, r2
- bl sub_81659DC
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6D1C
- bl sub_81539D4
- ldr r2, =0x000011c8
- adds r1, r5, r2
- strh r0, [r1]
-_080E6D1C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6CA0
-
- thumb_func_start sub_80E6D54
-sub_80E6D54: @ 80E6D54
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, =gUnknown_03001134
- ldr r1, [r0]
- movs r4, 0xC8
- lsls r4, 4
- adds r0, r5, 0
- adds r2, r4, 0
- bl memcpy
- adds r0, r5, 0
- bl sub_80EB18C
- adds r4, r5, r4
- ldr r0, =gUnknown_03001138
- ldr r1, [r0]
- movs r2, 0xE1
- lsls r2, 2
- adds r0, r4, 0
- bl memcpy
- adds r0, r4, 0
- bl sub_80F1208
- ldr r1, =0x00001004
- adds r0, r5, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, =0x00001044
- adds r4, r5, r2
- ldr r0, =gUnknown_03001140
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r4, 0
- bl sub_8120B70
- ldr r1, =0x00001084
- adds r0, r5, r1
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r2, =0x000010ac
- adds r4, r5, r2
- adds r0, r4, 0
- bl sub_80E89F8
- adds r0, r4, 0
- bl sub_80E8A54
- ldr r0, =gUnknown_0300114C
- ldr r0, [r0]
- ldr r1, =0x00001124
- adds r4, r5, r1
- adds r1, r4, 0
- bl sub_81659DC
- adds r0, r4, 0
- bl TaskDummy4
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6DEE
- bl sub_81539D4
- ldr r2, =0x000011c8
- adds r1, r5, r2
- strh r0, [r1]
-_080E6DEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6D54
-
- thumb_func_start sub_80E6E24
-sub_80E6E24: @ 80E6E24
- push {r4,r5,lr}
- bl sub_80E9914
- bl sub_80F0BB8
- bl sub_80E6BF8
- bl sub_800A064
- cmp r0, 0
- beq _080E6E60
- bl sub_800A03C
- cmp r0, 0
- bne _080E6E50
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl sub_80E6CA0
- b _080E6F12
- .pool
-_080E6E50:
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl sub_80E6D54
- b _080E6F12
- .pool
-_080E6E60:
- ldr r5, =gUnknown_0203A018
- ldr r0, [r5]
- ldr r1, =gUnknown_03001134
- ldr r1, [r1]
- movs r4, 0xC8
- lsls r4, 4
- adds r2, r4, 0
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- ldr r1, =gUnknown_03001138
- ldr r1, [r1]
- movs r2, 0xE1
- lsls r2, 2
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- ldr r1, =gUnknown_0300113C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r2, =0x00001044
- adds r0, r2
- ldr r1, =gUnknown_03001140
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x00001214
- adds r0, r1
- ldr r1, =gUnknown_03001150
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r0, [r5]
- ldr r2, =0x00001084
- adds r0, r2
- ldr r1, =gUnknown_03001144
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r0, [r5]
- ldr r1, =0x000010ac
- adds r0, r1
- bl sub_80E89F8
- ldr r0, [r5]
- ldr r4, =0x00001124
- adds r0, r4
- ldr r1, =gUnknown_0300114C
- ldr r1, [r1]
- movs r2, 0xEC
- bl memcpy
- ldr r0, [r5]
- adds r0, r4
- bl sub_80E8AC0
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E6EFA
- bl sub_81539D4
- ldr r1, [r5]
- ldr r2, =0x00001210
- adds r1, r2
- strh r0, [r1]
-_080E6EFA:
- ldr r0, [r5]
- ldr r1, =0x00001254
- adds r0, r1
- ldr r1, =gUnknown_03001154
- ldr r1, [r1]
- bl sub_80E8110
- ldr r0, [r5]
- ldr r2, =0x000012dc
- adds r0, r2
- bl sub_80E8260
-_080E6F12:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6E24
-
- thumb_func_start sub_80E6F60
-sub_80E6F60: @ 80E6F60
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl sub_800A064
- cmp r0, 0
- beq _080E7014
- ldr r5, =gUnknown_0203A014
- ldr r0, [r5]
- movs r1, 0xC8
- lsls r1, 4
- mov r8, r1
- add r0, r8
- bl sub_80E7B2C
- ldr r0, [r5]
- ldr r6, =0x00001230
- lsls r4, 24
- lsrs r4, 24
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80EAF80
- ldr r3, [r5]
- ldr r1, =0x000010ac
- adds r0, r3, r1
- add r3, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7B60
- ldr r0, [r5]
- ldr r1, =0x00001124
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7948
- ldr r0, [r5]
- add r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F01E8
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F0C7C
- ldr r0, [r5]
- ldr r1, =0x00001044
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E78C4
- ldr r0, [r5]
- ldr r1, =0x00001084
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812287C
- ldr r0, [r5]
- ldr r1, =0x000011c8
- adds r0, r1
- adds r1, r4, 0
- bl sub_80E7F68
- b _080E70BE
- .pool
-_080E7014:
- ldr r5, =gUnknown_0203A014
- ldr r0, [r5]
- movs r1, 0xC8
- lsls r1, 4
- mov r8, r1
- add r0, r8
- bl sub_80E7B2C
- ldr r0, [r5]
- ldr r6, =0x00001444
- lsls r4, 24
- lsrs r4, 24
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80EAF80
- ldr r0, [r5]
- add r0, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F01E8
- ldr r0, [r5]
- ldr r1, =0x00001004
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80F0C7C
- ldr r0, [r5]
- ldr r1, =0x00001044
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E78C4
- ldr r0, [r5]
- ldr r1, =0x00001084
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_812287C
- ldr r3, [r5]
- ldr r1, =0x000010ac
- adds r0, r3, r1
- add r3, r8
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7B60
- ldr r0, [r5]
- ldr r1, =0x00001124
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7948
- ldr r0, [r5]
- ldr r1, =0x00001210
- adds r0, r1
- adds r1, r4, 0
- bl sub_80E7F68
- ldr r0, [r5]
- ldr r1, =0x00001214
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E7A14
- ldr r0, [r5]
- ldr r1, =0x00001254
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E8468
- ldr r0, [r5]
- ldr r1, =0x000012dc
- adds r0, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80E89AC
-_080E70BE:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E6F60
-
- thumb_func_start sub_80E70F4
-sub_80E70F4: @ 80E70F4
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl sub_81973C4
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E70F4
-
- thumb_func_start sub_80E7128
-sub_80E7128: @ 80E7128
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bne _080E7150
- movs r0, 0xE2
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x8]
-_080E7150:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7128
-
- thumb_func_start sub_80E715C
-sub_80E715C: @ 80E715C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _080E7176
- b _080E730A
-_080E7176:
- lsls r0, 2
- ldr r1, =_080E7188
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E7188:
- .4byte _080E71A0
- .4byte _080E7218
- .4byte _080E724C
- .4byte _080E726C
- .4byte _080E72AC
- .4byte _080E72C0
-_080E71A0:
- ldr r4, =gUnknown_0203A018
- ldr r0, =0x00001444
- bl Alloc
- str r0, [r4]
- ldr r4, =gUnknown_0203A014
- ldr r0, =0x00005110
- bl Alloc
- str r0, [r4]
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_8009628
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- bl VarSet
- ldr r1, =gUnknown_03001130
- movs r0, 0
- strb r0, [r1]
- bl sub_80E6E24
- bl sub_80FB00C
- movs r0, 0x1
- strh r0, [r5]
- ldr r0, =sub_80E7324
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldr r0, =sub_80E7128
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1E]
- b _080E730A
- .pool
-_080E7218:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E730A
- movs r0, 0x2
- strh r0, [r5]
- ldr r0, =0x00000894
- bl FlagSet
- bl sub_80FB074
- ldrb r0, [r5, 0x1E]
- bl DestroyTask
- b _080E730A
- .pool
-_080E724C:
- ldr r0, =sub_80E7FF8
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- movs r0, 0x3
- strh r0, [r5]
- movs r0, 0xE0
- bl PlaySE
- b _080E730A
- .pool
-_080E726C:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r4, [r0, 0x4]
- cmp r4, 0
- bne _080E730A
- movs r0, 0x4
- strh r0, [r5]
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7296
- bl sub_80B3050
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
-_080E7296:
- ldr r0, =gText_RecordMixingComplete
- bl sub_80E70F4
- strh r4, [r5, 0x10]
- b _080E730A
- .pool
-_080E72AC:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080E730A
- movs r0, 0x5
- strh r0, [r5]
- b _080E730A
-_080E72C0:
- ldr r2, =gTasks
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E730A
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- bl Free
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- bl Free
- bl sub_808729C
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E72F8
- ldr r0, =sub_80AF2B4
- movs r1, 0xA
- bl CreateTask
-_080E72F8:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080E730A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E715C
-
- thumb_func_start sub_80E7324
-sub_80E7324: @ 80E7324
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r6, =gTasks
- adds r5, r0, r6
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x64
- beq _080E73A0
- cmp r1, 0x64
- bgt _080E7362
- cmp r1, 0x1
- bne _080E7346
- b _080E7464
-_080E7346:
- cmp r1, 0x1
- bgt _080E7354
- cmp r1, 0
- beq _080E7384
- b _080E7566
- .pool
-_080E7354:
- cmp r1, 0x2
- bne _080E735A
- b _080E7490
-_080E735A:
- cmp r1, 0x5
- bne _080E7360
- b _080E7550
-_080E7360:
- b _080E7566
-_080E7362:
- cmp r1, 0xC9
- beq _080E73F8
- cmp r1, 0xC9
- bgt _080E7370
- cmp r1, 0x65
- beq _080E73B8
- b _080E7566
-_080E7370:
- ldr r0, =0x0000012d
- cmp r1, r0
- beq _080E7432
- adds r0, 0x63
- cmp r1, r0
- beq _080E744A
- b _080E7566
- .pool
-_080E7384:
- ldr r0, =gText_MixingRecords
- bl sub_80E70F4
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x18]
- movs r0, 0xC8
- lsls r0, 1
- strh r0, [r5, 0x8]
- bl sub_8009FAC
- b _080E7566
- .pool
-_080E73A0:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080E73B0
- b _080E7566
-_080E73B0:
- movs r0, 0
- strh r0, [r5, 0x20]
- movs r0, 0x65
- b _080E7564
-_080E73B8:
- bl sub_800ABAC
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_800ABBC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E73EA
- bl sub_800AA48
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _080E73DA
- b _080E7566
-_080E73DA:
- movs r0, 0x15
- bl PlaySE
- movs r1, 0
- movs r0, 0xC9
- strh r0, [r5, 0x8]
- strh r1, [r5, 0x20]
- b _080E7566
-_080E73EA:
- movs r0, 0x16
- bl PlaySE
- ldr r0, =0x0000012d
- b _080E7564
- .pool
-_080E73F8:
- bl sub_800AA48
- adds r4, r0, 0
- bl sub_800ABAC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080E740C
- b _080E7566
-_080E740C:
- ldrh r4, [r5, 0x20]
- adds r4, 0x1
- strh r4, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- bl sub_800ABAC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- cmp r4, r1
- bgt _080E742A
- b _080E7566
-_080E742A:
- bl sub_800A620
- movs r0, 0x1
- b _080E7564
-_080E7432:
- bl sub_800AA48
- adds r4, r0, 0
- bl sub_800ABAC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080E7446
- b _080E7566
-_080E7446:
- movs r0, 0x1
- b _080E7564
-_080E744A:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080E745A
- b _080E7566
-_080E745A:
- movs r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0x20]
- b _080E7566
-_080E7464:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E746E
- b _080E7566
-_080E746E:
- ldr r4, =gStringVar1
- bl sub_80E7810
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x5
- b _080E7564
- .pool
-_080E7490:
- bl sub_800ABAC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x8]
- bl sub_80E7810
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- ldr r0, =sub_80E756C
- str r0, [r5]
- bl sub_800A064
- cmp r0, 0
- beq _080E7504
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- adds r1, r5, 0
- adds r1, 0xC
- bl sub_80E7808
- ldr r0, =sub_80E7630
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r6
- strh r4, [r0, 0x8]
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- adds r1, r6, r1
- adds r1, 0x12
- bl sub_80E7808
- ldr r1, =gUnknown_0300115C
- ldr r0, =0x00001230
- str r0, [r1]
- b _080E7566
- .pool
-_080E7504:
- ldr r0, =gUnknown_0203A018
- ldr r0, [r0]
- adds r1, r5, 0
- adds r1, 0xC
- bl sub_80E7808
- ldr r0, =sub_80E7630
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r6
- strh r4, [r0, 0x8]
- ldr r0, =gUnknown_0203A014
- ldr r0, [r0]
- adds r1, r6, r1
- adds r1, 0x12
- bl sub_80E7808
- ldr r1, =gUnknown_0300115C
- ldr r0, =0x00001444
- str r0, [r1]
- b _080E7566
- .pool
-_080E7550:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080E7566
- movs r0, 0
- strh r0, [r5, 0x1C]
- movs r0, 0x2
-_080E7564:
- strh r0, [r5, 0x8]
-_080E7566:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7324
-
- thumb_func_start sub_80E756C
-sub_80E756C: @ 80E756C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r5, r1, r0
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E7624
- lsls r0, r1, 2
- ldr r1, =_080E7598
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E7598:
- .4byte _080E75AC
- .4byte _080E75D0
- .4byte _080E7624
- .4byte _080E75E2
- .4byte _080E760E
-_080E75AC:
- adds r0, r5, 0
- adds r0, 0xC
- bl sub_80E77FC
- adds r1, r0, 0
- movs r0, 0x10
- ldrsh r2, [r5, r0]
- movs r0, 0xC8
- muls r0, r2
- adds r1, r0
- ldr r0, =gUnknown_020228C4
- movs r2, 0xC8
- bl memcpy
- b _080E75FC
- .pool
-_080E75D0:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080E75FC
- movs r0, 0x1
- bl sub_800A4D8
- b _080E75FC
-_080E75E2:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r1, 0x10
- ldrsh r4, [r5, r1]
- ldr r0, =gUnknown_0300115C
- ldr r0, [r0]
- movs r1, 0xC8
- bl __udivsi3
- adds r0, 0x1
- cmp r4, r0
- bne _080E7608
-_080E75FC:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080E7624
- .pool
-_080E7608:
- movs r0, 0
- strh r0, [r5, 0x8]
- b _080E7624
-_080E760E:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _080E7624
- ldr r0, =sub_80E77D4
- str r0, [r5]
-_080E7624:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E756C
-
- thumb_func_start sub_80E7630
-sub_80E7630: @ 80E7630
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- mov r10, r0
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- bl sub_800A9D8
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _080E773E
- movs r4, 0
- mov r8, r4
- b _080E771C
- .pool
-_080E7678:
- ldr r1, [sp, 0x4]
- mov r0, r8
- asrs r1, r0
- movs r0, 0x1
- ands r1, r0
- movs r2, 0x1
- add r2, r8
- mov r9, r2
- cmp r1, 0
- beq _080E7714
- mov r0, r10
- adds r0, 0x12
- bl sub_80E77FC
- mov r3, r9
- lsls r4, r3, 1
- mov r5, r10
- adds r5, 0x8
- adds r4, r5, r4
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r7, 0xC8
- muls r1, r7
- adds r0, r1
- ldr r3, =gUnknown_0300115C
- ldr r1, [r3]
- mov r2, r8
- muls r2, r1
- adds r1, r2, 0
- adds r6, r0, r1
- mov r0, r8
- bl sub_80E7820
- adds r1, r0, 0
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r2, 0x1
- muls r0, r7
- ldr r4, =gUnknown_0300115C
- ldr r3, [r4]
- cmp r0, r3
- bls _080E76DC
- muls r2, r7
- subs r2, r3, r2
- adds r0, r6, 0
- bl memcpy
- b _080E76E4
- .pool
-_080E76DC:
- adds r0, r6, 0
- movs r2, 0xC8
- bl memcpy
-_080E76E4:
- mov r0, r8
- bl ResetBlockReceivedFlag
- mov r0, r9
- lsls r1, r0, 1
- adds r1, r5, r1
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r2, 0
- ldrsh r4, [r1, r2]
- ldr r3, =gUnknown_0300115C
- ldr r0, [r3]
- movs r1, 0xC8
- bl __udivsi3
- adds r0, 0x1
- cmp r4, r0
- bne _080E7714
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
-_080E7714:
- mov r4, r9
- lsls r0, r4, 24
- lsrs r0, 24
- mov r8, r0
-_080E771C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r8, r0
- bcc _080E7678
- ldr r2, =gTasks
- mov r0, r10
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080E773E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- ldr r4, [sp, 0x8]
- cmp r4, r0
- bne _080E7752
- ldr r0, [sp]
- bl DestroyTask
-_080E7752:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7630
-
- thumb_func_start sub_80E776C
-sub_80E776C: @ 80E776C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r2, =gTasks
- adds r0, r2
- movs r4, 0x1C
- ldrsh r1, [r0, r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080E7794
- adds r0, r3, 0
- bl DestroyTask
-_080E7794:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E776C
-
- thumb_func_start sub_80E77A0
-sub_80E77A0: @ 80E77A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- ldr r0, =sub_80E776C
- str r0, [r1]
- ldr r0, =gUnknown_03001130
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E77C4
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl sub_80E6F60
-_080E77C4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E77A0
-
- thumb_func_start sub_80E77D4
-sub_80E77D4: @ 80E77D4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, =sub_80E77A0
- str r0, [r1]
- ldr r1, =gUnknown_03001130
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80E77D4
-
- thumb_func_start sub_80E77FC
-sub_80E77FC: @ 80E77FC
- adds r1, r0, 0
- ldrh r0, [r1]
- ldrh r1, [r1, 0x2]
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80E77FC
-
- thumb_func_start sub_80E7808
-sub_80E7808: @ 80E7808
- strh r0, [r1]
- lsrs r0, 16
- strh r0, [r1, 0x2]
- bx lr
- thumb_func_end sub_80E7808
-
- thumb_func_start sub_80E7810
-sub_80E7810: @ 80E7810
- push {lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80E7810
-
- thumb_func_start sub_80E7820
-sub_80E7820: @ 80E7820
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- bx lr
- .pool
- thumb_func_end sub_80E7820
-
- thumb_func_start sub_80E7830
-sub_80E7830: @ 80E7830
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E7868
- cmp r0, 0x3
- bhi _080E784A
- cmp r0, 0x2
- beq _080E7850
- b _080E78B8
-_080E784A:
- cmp r0, 0x4
- beq _080E7894
- b _080E78B8
-_080E7850:
- movs r3, 0
- ldr r2, =gUnknown_0858CF8C
- adds r1, r4, 0
-_080E7856:
- adds r0, r3, r2
- ldrb r0, [r0]
- stm r1!, {r0}
- adds r3, 0x1
- cmp r3, 0x1
- bls _080E7856
- b _080E78B8
- .pool
-_080E7868:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- adds r2, r0, 0
- movs r0, 0x1
- ands r2, r0
- movs r3, 0
- ldr r1, =gUnknown_0858CF8E
- lsls r0, r2, 1
- adds r0, r2
- adds r1, r0, r1
- adds r2, r4, 0
-_080E7880:
- ldrb r0, [r1]
- stm r2!, {r0}
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x2
- bls _080E7880
- b _080E78B8
- .pool
-_080E7894:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- movs r1, 0x9
- bl __umodsi3
- adds r2, r0, 0
- movs r3, 0
- ldr r1, =gUnknown_0858CF94
- lsls r0, r2, 2
- adds r1, r0, r1
- adds r2, r4, 0
-_080E78AC:
- ldrb r0, [r1]
- stm r2!, {r0}
- adds r1, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bls _080E78AC
-_080E78B8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7830
-
- thumb_func_start sub_80E78C4
-sub_80E78C4: @ 80E78C4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r9, r0
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- mov r0, sp
- bl sub_80E7830
- lsls r0, r7, 2
- add r0, sp
- ldr r1, [r0]
- mov r0, r8
- muls r0, r1
- mov r2, r9
- adds r6, r2, r0
- ldr r2, =gLinkPlayers
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0]
- ldrh r5, [r0, 0x1A]
- bl sub_800A064
- cmp r0, 0
- beq _080E7910
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8120D34
- b _080E791A
- .pool
-_080E7910:
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8120CD0
-_080E791A:
- ldr r0, =gUnknown_03001140
- ldr r0, [r0]
- lsls r1, r7, 2
- add r1, sp
- ldr r1, [r1]
- mov r2, r8
- muls r2, r1
- adds r1, r2, 0
- add r1, r9
- movs r2, 0x40
- bl memcpy
- bl sub_8120670
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E78C4
-
- thumb_func_start sub_80E7948
-sub_80E7948: @ 80E7948
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r0, sp
- bl sub_80E7830
- bl sub_800A064
- cmp r0, 0
- beq _080E79AC
- lsls r0, r6, 2
- mov r1, sp
- adds r5, r1, r0
- ldr r0, [r5]
- muls r0, r7
- add r0, r8
- adds r4, r7, 0
- muls r4, r6
- mov r1, r8
- adds r6, r1, r4
- adds r1, r6, 0
- bl sub_816587C
- mov r9, r4
- cmp r0, 0x1
- bne _080E79FE
- adds r7, r6, 0
- ldr r2, =gLinkPlayers
- ldr r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x1A]
- adds r0, r7, 0
- adds r0, 0xE4
- strb r1, [r0]
- adds r0, r7, 0
- bl sub_8164F70
- b _080E79FE
- .pool
-_080E79AC:
- adds r5, r7, 0
- muls r5, r6
- mov r0, r8
- adds r4, r0, r5
- lsls r0, r6, 2
- add r0, sp
- ldr r0, [r0]
- adds r1, r7, 0
- muls r1, r0
- add r1, r8
- adds r0, r4, 0
- movs r2, 0xEC
- bl memcpy
- adds r7, r4, 0
- movs r6, 0
- mov r9, r5
-_080E79CE:
- movs r0, 0x2C
- muls r0, r6
- adds r0, 0x34
- adds r1, r7, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080E79F2
- adds r4, r1, 0
- adds r4, 0x20
- adds r0, r4, 0
- bl IsStringJapanese
- cmp r0, 0
- beq _080E79F2
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_080E79F2:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080E79CE
- adds r0, r7, 0
- bl sub_8164F70
-_080E79FE:
- mov r0, r8
- add r0, r9
- bl sub_81628A0
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7948
-
- thumb_func_start sub_80E7A14
-sub_80E7A14: @ 80E7A14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- mov r0, sp
- bl sub_80E7830
- adds r0, r7, 0
- muls r0, r5
- add r0, r8
- ldr r6, =gUnknown_03001150
- ldr r1, [r6]
- movs r2, 0x40
- bl memcpy
- bl GetLilycoveLadyId
- lsls r0, 24
- cmp r0, 0
- bne _080E7A60
- movs r0, 0x40
- bl Alloc
- adds r4, r0, 0
- cmp r4, 0
- beq _080E7A8A
- ldr r1, [r6]
- movs r2, 0x40
- bl memcpy
- b _080E7A62
- .pool
-_080E7A60:
- movs r4, 0
-_080E7A62:
- ldr r0, =gUnknown_03001150
- ldr r0, [r0]
- lsls r1, r5, 2
- add r1, sp
- ldr r1, [r1]
- muls r1, r7
- add r1, r8
- movs r2, 0x40
- bl memcpy
- bl sub_818DA78
- cmp r4, 0
- beq _080E7A8A
- adds r0, r4, 0
- bl sub_818E570
- adds r0, r4, 0
- bl Free
-_080E7A8A:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7A14
-
- thumb_func_start sub_80E7A9C
-sub_80E7A9C: @ 80E7A9C
- ldrh r0, [r0, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_80E7A9C
-
- thumb_func_start sub_80E7AA4
-sub_80E7AA4: @ 80E7AA4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x38
- mov r8, r0
- mov r10, r1
- mov r9, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x54]
- lsls r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsrs r4, 23
- add r4, r9
- ldrb r0, [r4]
- mov r6, r10
- muls r6, r0
- add r6, r8
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- adds r1, r6, r1
- mov r0, sp
- movs r2, 0x38
- bl memcpy
- lsls r5, 1
- add r5, r9
- ldrb r0, [r5]
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r8, r0
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- adds r6, r0
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- add r1, r8
- adds r0, r6, 0
- movs r2, 0x38
- bl memcpy
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- add r8, r0
- mov r0, r8
- mov r1, sp
- movs r2, 0x38
- bl memcpy
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7AA4
-
- thumb_func_start sub_80E7B2C
-sub_80E7B2C: @ 80E7B2C
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r1, 0
- ldr r4, =gUnknown_03001160
-_080E7B36:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r2, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r1, 0xFF
- ble _080E7B36
- strb r2, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7B2C
-
- thumb_func_start sub_80E7B54
-sub_80E7B54: @ 80E7B54
- ldr r0, =gUnknown_03001160
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80E7B54
-
- thumb_func_start sub_80E7B60
-sub_80E7B60: @ 80E7B60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x38]
- ldr r0, =gLinkPlayers
- ldrh r0, [r0, 0x4]
- bl SeedRng2
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r8, r0
- mov r1, sp
- adds r1, 0x1C
- str r1, [sp, 0x4C]
- mov r2, sp
- adds r2, 0x1D
- str r2, [sp, 0x50]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x48]
- movs r7, 0xFF
- add r3, sp, 0x8
- movs r2, 0
- adds r6, r1, 0
- ldr r5, [sp, 0x50]
-_080E7BB0:
- mov r1, sp
- add r1, r8
- adds r1, 0x4
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- mov r1, r8
- adds r0, r3, r1
- strb r2, [r0]
- lsls r1, 1
- adds r0, r6, r1
- strb r2, [r0]
- adds r1, r5, r1
- strb r2, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x3
- bls _080E7BB0
- bl sub_800A064
- str r0, [sp, 0x3C]
- movs r2, 0
- mov r8, r2
- lsls r4, 16
- str r4, [sp, 0x54]
- ldr r0, [sp, 0x30]
- mov r3, r9
- muls r3, r0
- str r3, [sp, 0x44]
- b _080E7D04
- .pool
-_080E7BF8:
- ldr r1, [sp, 0x30]
- mov r0, r8
- muls r0, r1
- ldr r2, [sp, 0x2C]
- adds r7, r2, r0
- ldr r1, =gLinkPlayers
- mov r3, r8
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x1A]
- mov r9, r1
- ldrb r0, [r0]
- str r0, [sp, 0x40]
- movs r6, 0
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcs _080E7CFA
- movs r2, 0x10
- negs r2, r2
- mov r10, r2
-_080E7C24:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 3
- adds r5, r7, r0
- ldrh r0, [r5, 0x20]
- cmp r0, 0
- beq _080E7CEE
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- beq _080E7C9A
- adds r4, r5, 0
- adds r4, 0x24
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _080E7C54
- movs r4, 0x1
- b _080E7C5C
- .pool
-_080E7C54:
- adds r0, r4, 0
- bl StripExtCtrlCodes
- mov r4, r9
-_080E7C5C:
- ldrh r1, [r5, 0x2C]
- ldr r0, =0x000015fc
- cmp r1, r0
- bne _080E7C74
- adds r0, r5, 0
- adds r0, 0x2C
- bl StripExtCtrlCodes
- movs r1, 0x1
- b _080E7C76
- .pool
-_080E7C74:
- mov r1, r9
-_080E7C76:
- ldr r0, [sp, 0x40]
- subs r0, 0x1
- cmp r0, 0x1
- bhi _080E7CEE
- adds r2, r5, 0
- adds r2, 0x37
- movs r0, 0xF
- ands r4, r0
- ldrb r0, [r2]
- mov r3, r10
- ands r0, r3
- orrs r0, r4
- lsls r1, 4
- movs r3, 0xF
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _080E7CEE
-_080E7C9A:
- mov r0, r9
- cmp r0, 0x1
- bne _080E7CEE
- adds r0, r5, 0
- adds r0, 0x24
- bl IsStringJapanese
- cmp r0, 0
- beq _080E7CBA
- adds r0, r5, 0
- adds r0, 0x37
- ldrb r1, [r0]
- mov r2, r10
- ands r1, r2
- movs r2, 0x1
- b _080E7CC6
-_080E7CBA:
- adds r0, r5, 0
- adds r0, 0x37
- ldrb r1, [r0]
- mov r3, r10
- ands r1, r3
- movs r2, 0x2
-_080E7CC6:
- orrs r1, r2
- strb r1, [r0]
- adds r4, r0, 0
- adds r0, r5, 0
- adds r0, 0x2C
- bl IsStringJapanese
- cmp r0, 0
- beq _080E7CE2
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _080E7CEA
-_080E7CE2:
- ldrb r0, [r4]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
-_080E7CEA:
- orrs r1, r0
- strb r1, [r4]
-_080E7CEE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcc _080E7C24
-_080E7CFA:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080E7D04:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r8, r0
- bcs _080E7D12
- b _080E7BF8
-_080E7D12:
- movs r0, 0
- str r0, [sp, 0x34]
- mov r8, r0
- ldr r1, [sp, 0x54]
- lsrs r0, r1, 16
- ldr r2, [sp, 0x34]
- cmp r2, r0
- bcs _080E7D70
- adds r5, r0, 0
-_080E7D24:
- ldr r3, [sp, 0x30]
- mov r0, r8
- muls r0, r3
- ldr r1, [sp, 0x2C]
- adds r7, r1, r0
- ldr r0, [r7, 0x70]
- cmp r0, 0
- beq _080E7D62
- movs r6, 0
- cmp r6, r0
- bcs _080E7D62
- adds r3, r7, 0
- adds r3, 0x74
- ldr r2, [sp, 0x4C]
- mov r0, r8
- lsls r1, r0, 1
- movs r4, 0x1
-_080E7D46:
- lsls r0, r6, 1
- adds r0, r3, r0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080E7D56
- adds r0, r6, r1
- adds r0, r2, r0
- strb r4, [r0]
-_080E7D56:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r7, 0x70]
- cmp r6, r0
- bcc _080E7D46
-_080E7D62:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r8, r5
- bcc _080E7D24
-_080E7D70:
- movs r6, 0
- mov r8, r6
- ldr r1, [sp, 0x54]
- cmp r1, 0
- beq _080E7E64
- add r2, sp, 0x24
- mov r10, r2
- movs r3, 0x25
- add r3, sp
- mov r9, r3
-_080E7D84:
- ldr r1, [sp, 0x30]
- mov r0, r8
- muls r0, r1
- ldr r2, [sp, 0x2C]
- adds r7, r2, r0
- mov r3, r8
- lsls r1, r3, 1
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080E7DA6
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7DB0
-_080E7DA6:
- ldr r0, [sp, 0x34]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x34]
-_080E7DB0:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7DD4
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080E7DD4
-_080E7DC4:
- lsls r1, r6, 1
- mov r3, r10
- adds r0, r3, r1
- mov r3, r8
- strb r3, [r0]
- add r1, r9
- strb r2, [r1]
- b _080E7E4E
-_080E7DD4:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7DE8
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _080E7DC4
-_080E7DE8:
- ldr r2, [sp, 0x4C]
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7E54
- ldr r3, [sp, 0x50]
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E7E54
- lsls r5, r6, 1
- mov r1, r10
- adds r0, r1, r5
- mov r2, r8
- strb r2, [r0]
- adds r0, r7, 0
- bl sub_80E7A9C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- adds r0, 0x38
- bl sub_80E7A9C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- bne _080E7E30
- cmp r1, 0
- beq _080E7E34
- mov r3, r9
- adds r1, r3, r5
- movs r0, 0x1
- strb r0, [r1]
- b _080E7E4E
-_080E7E30:
- cmp r1, 0
- beq _080E7E48
-_080E7E34:
- bl Random2
- mov r1, r9
- adds r2, r1, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- b _080E7E4E
-_080E7E48:
- mov r2, r9
- adds r0, r2, r5
- strb r1, [r0]
-_080E7E4E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080E7E54:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r8, r3
- ldr r1, [sp, 0x54]
- cmp r0, r1
- bcc _080E7D84
-_080E7E64:
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x44]
- lsls r0, r3, 4
- subs r0, r3
- lsls r0, 3
- ldr r1, [sp, 0x2C]
- adds r7, r1, r0
- ldr r1, [sp, 0x48]
-_080E7E76:
- mov r2, r8
- lsls r0, r2, 2
- adds r0, r1, r0
- str r7, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x3
- bls _080E7E76
- bl sub_80E7B54
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [sp, 0x34]
- cmp r3, 0x3
- beq _080E7EC8
- cmp r3, 0x3
- bgt _080E7EAE
- cmp r3, 0x2
- beq _080E7EB6
- b _080E7F1C
-_080E7EAE:
- ldr r0, [sp, 0x34]
- cmp r0, 0x4
- beq _080E7EE8
- b _080E7F1C
-_080E7EB6:
- add r2, sp, 0x24
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- movs r3, 0
- bl sub_80E7AA4
- b _080E7F1C
-_080E7EC8:
- ldr r0, =gUnknown_0858CFB8
- lsls r1, 1
- adds r2, r1, r0
- ldrb r3, [r2]
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- add r2, sp, 0x24
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- bl sub_80E7AA4
- b _080E7F1C
- .pool
-_080E7EE8:
- add r6, sp, 0x24
- ldr r4, =gUnknown_0858CFBE
- lsls r5, r1, 2
- adds r0, r5, r4
- ldrb r3, [r0]
- adds r0, r4, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80E7AA4
- adds r0, r4, 0x2
- adds r0, r5, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r5, r4
- ldrb r0, [r5]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80E7AA4
-_080E7F1C:
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x44]
- adds r7, r1, r2
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- movs r3, 0xC2
- lsls r3, 6
- adds r0, r3
- adds r1, r7, 0
- movs r2, 0x38
- bl memcpy
- ldr r0, [r4]
- ldr r1, =0x0000310c
- adds r0, r1
- adds r1, r7, 0
- adds r1, 0x38
- movs r2, 0x38
- bl memcpy
- ldr r0, [sp, 0x38]
- bl SeedRng
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7B60
-
- thumb_func_start sub_80E7F68
-sub_80E7F68: @ 80E7F68
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080E7FEC
- ldrh r0, [r4]
- cmp r0, 0
- beq _080E7FEC
- bl GetPocketByItemId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080E7FEC
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckBagHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080E7FE4
- ldrh r0, [r4]
- movs r1, 0x1
- bl CheckPCHasItem
- lsls r0, 24
- cmp r0, 0
- bne _080E7FE4
- ldrh r0, [r4]
- movs r1, 0x1
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _080E7FE4
- ldr r0, =0x00004001
- ldrh r1, [r4]
- bl VarSet
- ldr r0, =gStringVar1
- ldr r1, =gLinkPlayers + 8
- bl StringCopy
- ldrh r1, [r4]
- ldr r0, =0x00000113
- cmp r1, r0
- bne _080E7FEC
- ldr r0, =0x000008b3
- bl FlagSet
- b _080E7FEC
- .pool
-_080E7FE4:
- ldr r0, =0x00004001
- movs r1, 0
- bl VarSet
-_080E7FEC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E7F68
-
- thumb_func_start sub_80E7FF8
-sub_80E7FF8: @ 80E7FF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x9
- bls _080E8012
- b _080E810A
-_080E8012:
- lsls r0, 2
- ldr r1, =_080E8024
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080E8024:
- .4byte _080E80F2
- .4byte _080E804C
- .4byte _080E805A
- .4byte _080E8064
- .4byte _080E807C
- .4byte _080E8090
- .4byte _080E80A4
- .4byte _080E80C0
- .4byte _080E80EE
- .4byte _080E80FA
-_080E804C:
- bl sub_800A064
- cmp r0, 0
- bne _080E80F2
- movs r0, 0x6
- strh r0, [r4, 0x8]
- b _080E810A
-_080E805A:
- bl sub_8076D5C
- bl sub_8153430
- b _080E80F2
-_080E8064:
- bl sub_8153474
- lsls r0, 24
- cmp r0, 0
- beq _080E810A
- bl sav2_gender2_inplace_and_xFE
- movs r1, 0
- movs r0, 0x4
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- b _080E810A
-_080E807C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080E810A
- bl sub_800AC34
- b _080E80F2
-_080E8090:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E810A
- adds r0, r5, 0
- bl DestroyTask
- b _080E810A
- .pool
-_080E80A4:
- movs r0, 0
- bl sub_801048C
- lsls r0, 24
- cmp r0, 0
- bne _080E810A
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- b _080E80F2
- .pool
-_080E80C0:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080E810A
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E80E8
- movs r0, 0x1
- bl sub_801048C
- movs r0, 0x8
- strh r0, [r4, 0x8]
- b _080E810A
- .pool
-_080E80E8:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080E810A
-_080E80EE:
- bl sub_800ADF8
-_080E80F2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E810A
-_080E80FA:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080E810A
- adds r0, r5, 0
- bl DestroyTask
-_080E810A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E7FF8
-
- thumb_func_start sub_80E8110
-sub_80E8110: @ 80E8110
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- mov r10, r1
- adds r1, r0, 0
- adds r1, 0x38
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, [sp]
- adds r1, 0x7C
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- ldr r0, [sp]
- mov r1, r10
- movs r2, 0x44
- bl memcpy
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- movs r2, 0
- str r2, [sp, 0x4]
- mov r8, r2
- movs r7, 0
- ldr r0, =gSaveBlock2Ptr
- mov r9, r0
-_080E8150:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- adds r0, r7, r0
- movs r1, 0x3
- bl __modsi3
- adds r6, r0, 0x1
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- mov r2, r10
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x38
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080E81B8
- adds r5, r1, 0
- adds r5, 0x34
- adds r0, r5, 0
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xA
- bl ReadUnalignedWord
- cmp r4, r0
- beq _080E819A
- movs r2, 0x1
- add r8, r2
- str r6, [sp, 0x4]
-_080E819A:
- adds r0, r5, 0
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xA
- bl ReadUnalignedWord
- cmp r4, r0
- bne _080E81B8
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- str r6, [sp, 0x8]
-_080E81B8:
- adds r7, 0x1
- cmp r7, 0x1
- ble _080E8150
- mov r0, r8
- cmp r0, 0
- bne _080E81D0
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _080E81D0
- mov r8, r1
- ldr r2, [sp, 0x8]
- str r2, [sp, 0x4]
-_080E81D0:
- mov r0, r8
- cmp r0, 0x1
- beq _080E81E0
- cmp r0, 0x2
- beq _080E81EC
- b _080E824C
- .pool
-_080E81E0:
- ldr r2, [sp, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- b _080E820E
-_080E81EC:
- bl Random2
- lsls r0, 16
- ldr r1, =0x33330000
- cmp r0, r1
- bls _080E8224
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- adds r1, 0x44
-_080E820E:
- ldr r0, [sp]
- adds r0, 0x44
- movs r2, 0x44
- bl memcpy
- b _080E824C
- .pool
-_080E8224:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xB2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 30
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r10
- adds r1, 0x44
- ldr r0, [sp]
- adds r0, 0x44
- movs r2, 0x44
- bl memcpy
-_080E824C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8110
-
- thumb_func_start sub_80E8260
-sub_80E8260: @ 80E8260
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- movs r6, 0
- ldr r0, =gSaveBlock2Ptr
- mov r10, r0
-_080E8274:
- movs r7, 0
- lsls r0, r6, 5
- adds r6, 0x1
- mov r9, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, 0x6
- adds r6, r1, r0
- adds r5, r4, 0
-_080E8286:
- mov r2, r10
- ldr r1, [r2]
- adds r1, 0xA
- adds r0, r5, 0
- bl CopyUnalignedWord
- movs r0, 0x2
- strb r0, [r4, 0xE]
- mov r0, r10
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- adds r4, 0x10
- adds r6, 0x10
- adds r5, 0x10
- adds r7, 0x1
- cmp r7, 0x1
- ble _080E8286
- mov r6, r9
- cmp r6, 0x8
- ble _080E8274
- ldr r1, =gSaveBlock2Ptr
- mov r10, r1
- ldr r2, =0x00000ee1
- str r2, [sp, 0x4]
- movs r4, 0x99
- lsls r4, 1
- add r4, r8
- movs r0, 0x95
- lsls r0, 1
- add r0, r8
- mov r9, r0
- ldr r1, =0x00000ef1
- str r1, [sp, 0x8]
- movs r6, 0x92
- lsls r6, 1
- add r6, r8
- movs r5, 0x90
- lsls r5, 1
- add r5, r8
- movs r7, 0x1
-_080E82DA:
- movs r0, 0x2
- strb r0, [r4, 0x8]
- mov r2, r10
- ldr r1, [r2]
- adds r1, 0xA
- adds r0, r5, 0
- bl CopyUnalignedWord
- mov r0, r10
- ldr r1, [r0]
- ldr r2, [sp, 0x8]
- adds r1, r2
- adds r0, r6, 0
- bl CopyUnalignedWord
- mov r0, r10
- ldr r1, [r0]
- mov r0, r9
- bl StringCopy
- mov r2, r10
- ldr r1, [r2]
- ldr r0, [sp, 0x4]
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, [sp, 0x4]
- adds r1, 0x8
- str r1, [sp, 0x4]
- adds r4, 0x1C
- movs r2, 0x1C
- add r9, r2
- ldr r0, [sp, 0x8]
- adds r0, 0x4
- str r0, [sp, 0x8]
- adds r6, 0x1C
- adds r5, 0x1C
- subs r7, 0x1
- cmp r7, 0
- bge _080E82DA
- movs r6, 0
- ldr r0, =gSaveBlock2Ptr
- ldr r3, [r0]
- mov r4, r8
- movs r1, 0xC4
- adds r1, r4
- mov r9, r1
- movs r2, 0x84
- adds r2, r4
- mov r8, r2
- movs r0, 0x44
- adds r0, r4
- mov r12, r0
- adds r7, r4, 0x4
- movs r1, 0xCF
- lsls r1, 4
- adds r1, r3, r1
- str r1, [sp]
- mov r10, r4
- ldr r2, =0x00000cf4
- adds r5, r3, r2
-_080E8356:
- lsls r2, r6, 1
- ldr r1, [sp]
- ldrh r0, [r1]
- strh r0, [r7]
- ldrh r0, [r5]
- strh r0, [r7, 0x20]
- ldrh r0, [r5, 0x4]
- mov r1, r12
- strh r0, [r1]
- ldr r1, =0x00000d14
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r12
- strh r0, [r1, 0x20]
- movs r1, 0xDD
- lsls r1, 4
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r8
- strh r0, [r1]
- ldr r1, =0x00000dde
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r8
- strh r0, [r1, 0x20]
- ldr r1, =0x00000dea
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r9
- strh r0, [r1]
- ldr r1, =0x00000e08
- adds r0, r3, r1
- adds r0, r2
- ldrh r0, [r0]
- mov r1, r9
- strh r0, [r1, 0x20]
- ldr r1, =0x00000e1e
- adds r0, r3, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x82
- lsls r0, 1
- add r0, r10
- strh r1, [r0]
- ldr r1, =0x00000cfc
- adds r0, r3, r1
- adds r0, r2
- ldrh r1, [r0]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r4, r2
- strh r1, [r0]
- adds r4, 0x1C
- movs r0, 0x10
- add r9, r0
- add r8, r0
- add r12, r0
- adds r7, 0x10
- ldr r1, [sp]
- adds r1, 0x2
- str r1, [sp]
- add r10, r0
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x1
- ble _080E8356
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8260
-
- thumb_func_start sub_80E841C
-sub_80E841C: @ 80E841C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- adds r6, r1, 0
- adds r6, 0x34
- adds r5, r1, 0
-_080E842E:
- adds r0, r7, 0
- adds r0, 0x34
- bl ReadUnalignedWord
- adds r4, r0, 0
- adds r0, r6, 0
- bl ReadUnalignedWord
- cmp r4, r0
- bne _080E844E
- ldrb r0, [r7, 0x2]
- ldrb r1, [r5, 0x2]
- cmp r0, r1
- bne _080E844E
- movs r0, 0x1
- b _080E845E
-_080E844E:
- adds r6, 0x44
- adds r5, 0x44
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _080E842E
- movs r0, 0
-_080E845E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E841C
-
- thumb_func_start sub_80E8468
-sub_80E8468: @ 80E8468
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- mov r0, sp
- bl sub_80E7830
- lsls r4, 2
- mov r1, sp
- adds r0, r1, r4
- ldr r0, [r0]
- muls r0, r5
- adds r3, r6, r0
- movs r7, 0
- movs r2, 0
- mov r8, r2
- movs r5, 0
- adds r6, r3, 0
- adds r6, 0x38
- adds r4, r3, 0
-_080E8496:
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080E84B4
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0xDC
- adds r0, r4, 0
- str r3, [sp, 0x10]
- bl sub_80E841C
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bne _080E84B4
- adds r7, 0x1
- mov r8, r5
-_080E84B4:
- adds r6, 0x44
- adds r4, 0x44
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E8496
- cmp r7, 0x1
- beq _080E84CC
- cmp r7, 0x2
- beq _080E8508
- b _080E8566
- .pool
-_080E84CC:
- ldr r4, =gSaveBlock2Ptr
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xB2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 30
- adds r2, r1, 0x1
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r0, r1
- adds r0, 0xDC
- mov r2, r8
- lsls r1, r2, 4
- add r1, r8
- lsls r1, 2
- adds r1, r3
- movs r2, 0x44
- bl memcpy
- ldr r4, [r4]
- adds r4, 0xB2
- ldrb r5, [r4]
- lsls r0, r5, 27
- lsrs r0, 30
- adds r0, 0x1
- b _080E8550
- .pool
-_080E8508:
- movs r5, 0
- adds r6, r3, 0
-_080E850C:
- movs r0, 0x1
- eors r0, r5
- ldr r7, =gSaveBlock2Ptr
- ldr r4, [r7]
- adds r1, r4, 0
- adds r1, 0xB2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 30
- adds r0, r1
- movs r1, 0x3
- bl __modsi3
- adds r2, r0, 0x1
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0
- adds r4, 0xDC
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x44
- bl memcpy
- adds r6, 0x44
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E850C
- ldr r4, [r7]
- adds r4, 0xB2
- ldrb r5, [r4]
- lsls r0, r5, 27
- lsrs r0, 30
- adds r0, 0x2
-_080E8550:
- movs r1, 0x3
- bl __modsi3
- movs r1, 0x3
- ands r0, r1
- lsls r0, 3
- movs r1, 0x19
- negs r1, r1
- ands r1, r5
- orrs r1, r0
- strb r1, [r4]
-_080E8566:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8468
-
- thumb_func_start sub_80E8578
-sub_80E8578: @ 80E8578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x54
- str r0, [sp]
- ldr r0, [sp, 0x74]
- movs r4, 0
- mov r8, r4
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r4, =gUnknown_03001168
- b _080E85A0
- .pool
-_080E8598:
- adds r1, r2
- ldr r6, [sp, 0x4]
- adds r6, 0x1
- str r6, [sp, 0x4]
-_080E85A0:
- ldr r5, [sp, 0x4]
- cmp r5, r0
- bge _080E85B6
- cmp r5, r3
- beq _080E85B0
- stm r4!, {r1}
- movs r6, 0x1
- add r8, r6
-_080E85B0:
- mov r5, r8
- cmp r5, 0x3
- bne _080E8598
-_080E85B6:
- movs r6, 0
- str r6, [sp, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x24]
-_080E85BE:
- movs r0, 0
- str r0, [sp, 0x8]
- ldr r1, [sp, 0x4]
- adds r1, 0x1
- str r1, [sp, 0x28]
- ldr r2, [sp, 0x4]
- lsls r2, 1
- str r2, [sp, 0x34]
- ldr r3, [sp, 0x4]
- adds r3, r2, r3
- str r3, [sp, 0x10]
- movs r4, 0
- str r4, [sp, 0x44]
- movs r5, 0
- str r5, [sp, 0x48]
-_080E85DC:
- movs r6, 0
- mov r8, r6
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, [sp, 0x10]
- lsls r0, r2, 5
- ldr r3, [sp, 0x48]
- adds r0, r3, r0
- adds r3, r0, r1
- lsls r0, r2, 6
- ldr r4, [sp, 0x44]
- adds r0, r4, r0
- ldr r5, [sp]
- adds r2, r0, r5
-_080E85F8:
- adds r0, r2, 0
- movs r6, 0x87
- lsls r6, 2
- adds r1, r3, r6
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
- adds r3, 0x10
- adds r2, 0x10
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x2
- ble _080E85F8
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x24]
- cmp r8, r3
- bge _080E86DC
- ldr r4, [sp, 0x4]
- lsls r4, 5
- mov r9, r4
- ldr r5, [sp, 0x8]
- lsls r7, r5, 4
- ldr r6, [sp, 0x34]
- ldr r1, [sp, 0x4]
- adds r0, r6, r1
- lsls r0, 6
- str r0, [sp, 0x14]
- ldr r2, [sp]
- adds r0, r2, r0
- ldr r3, [sp, 0x44]
- str r3, [sp, 0x18]
- adds r0, r3
- str r0, [sp, 0x1C]
- ldr r4, [sp, 0x14]
- adds r0, r3, r4
- adds r0, r2
- adds r0, 0x30
- mov r10, r0
-_080E864A:
- movs r5, 0
- str r5, [sp, 0xC]
- movs r3, 0
- mov r6, r8
- lsls r6, 2
- str r6, [sp, 0x38]
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x14]
- adds r0, r1, r2
- ldr r4, [sp]
- adds r5, r0, r4
- ldr r0, =gUnknown_03001168
- adds r0, r6, r0
- str r0, [sp, 0x50]
-_080E8666:
- lsls r0, r3, 4
- ldr r6, [sp, 0x1C]
- adds r0, r6, r0
- str r3, [sp, 0x4C]
- bl ReadUnalignedWord
- adds r4, r0, 0
- ldr r1, [sp, 0x50]
- ldr r0, [r1]
- add r0, r9
- adds r0, r7
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E86A8
- ldr r2, [sp, 0xC]
- adds r2, 0x1
- str r2, [sp, 0xC]
- ldr r4, [sp, 0x50]
- ldr r0, [r4]
- mov r6, r9
- adds r1, r7, r6
- adds r1, r0, r1
- ldrh r0, [r5, 0x4]
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcs _080E86A8
- adds r0, r5, 0
- ldm r1!, {r2,r4,r6}
- stm r0!, {r2,r4,r6}
- ldr r1, [r1]
- str r1, [r0]
-_080E86A8:
- adds r5, 0x10
- adds r3, 0x1
- cmp r3, 0x2
- ble _080E8666
- ldr r3, [sp, 0xC]
- cmp r3, 0
- bne _080E86CE
- ldr r0, =gUnknown_03001168
- ldr r4, [sp, 0x38]
- adds r0, r4, r0
- ldr r0, [r0]
- mov r5, r9
- adds r2, r7, r5
- mov r1, r10
- adds r0, r2
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
-_080E86CE:
- movs r4, 0x10
- add r10, r4
- movs r5, 0x1
- add r8, r5
- ldr r6, [sp, 0x24]
- cmp r8, r6
- blt _080E864A
-_080E86DC:
- ldr r0, [sp, 0x44]
- adds r0, 0x60
- str r0, [sp, 0x44]
- ldr r1, [sp, 0x48]
- adds r1, 0x30
- str r1, [sp, 0x48]
- ldr r2, [sp, 0x8]
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r2, 0x1
- bgt _080E86F4
- b _080E85DC
-_080E86F4:
- ldr r3, [sp, 0x28]
- str r3, [sp, 0x4]
- cmp r3, 0x8
- bgt _080E86FE
- b _080E85BE
-_080E86FE:
- movs r4, 0
- str r4, [sp, 0x8]
-_080E8702:
- ldr r5, [sp, 0x8]
- adds r5, 0x1
- str r5, [sp, 0x2C]
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- movs r0, 0x54
- ldr r6, [sp, 0x8]
- muls r0, r6
- adds r3, r0, r1
- movs r0, 0xA8
- muls r0, r6
- ldr r1, [sp]
- adds r2, r0, r1
- movs r4, 0x2
- mov r8, r4
-_080E8720:
- movs r5, 0xD8
- lsls r5, 3
- adds r0, r2, r5
- ldr r6, =0x0000057c
- adds r1, r3, r6
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
- adds r3, 0x1C
- adds r2, 0x1C
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- mov r1, r8
- cmp r1, 0
- bge _080E8720
- movs r2, 0
- mov r8, r2
- ldr r3, [sp, 0x24]
- cmp r8, r3
- blt _080E8752
- b _080E885A
-_080E8752:
- ldr r4, [sp, 0x8]
- lsls r1, r4, 3
- movs r0, 0xA8
- adds r5, r4, 0
- muls r5, r0
- str r5, [sp, 0x20]
- str r5, [sp, 0x3C]
- subs r1, r4
- lsls r1, 2
- mov r10, r1
-_080E8766:
- movs r6, 0
- str r6, [sp, 0xC]
- mov r0, r8
- lsls r0, 2
- str r0, [sp, 0x38]
- mov r1, r8
- adds r1, 0x1
- str r1, [sp, 0x30]
- ldr r0, =gUnknown_03001168
- ldr r2, [sp, 0x38]
- adds r2, r0
- mov r9, r2
- ldr r3, [sp]
- movs r4, 0xD8
- lsls r4, 3
- adds r0, r3, r4
- ldr r5, [sp, 0x3C]
- adds r7, r5, r0
- str r6, [sp, 0x40]
- movs r3, 0x2
-_080E878E:
- ldr r1, [sp, 0x20]
- movs r2, 0xD8
- lsls r2, 3
- adds r0, r1, r2
- ldr r4, [sp]
- adds r0, r4, r0
- ldr r6, [sp, 0x40]
- adds r5, r0, r6
- adds r0, r5, 0
- str r3, [sp, 0x4C]
- bl ReadUnalignedWord
- adds r4, r0, 0
- movs r6, 0x90
- lsls r6, 1
- add r6, r10
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E8808
- adds r0, r5, 0x4
- bl ReadUnalignedWord
- adds r4, r0, 0
- mov r2, r9
- ldr r0, [r2]
- adds r0, r6
- adds r0, 0x4
- bl ReadUnalignedWord
- ldr r3, [sp, 0x4C]
- cmp r4, r0
- bne _080E8808
- ldr r4, [sp, 0xC]
- adds r4, 0x1
- str r4, [sp, 0xC]
- mov r5, r9
- ldr r0, [r5]
- mov r6, r10
- adds r2, r0, r6
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r7, 0x8]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080E8808
- adds r0, r7, 0
- movs r4, 0x90
- lsls r4, 1
- adds r1, r2, r4
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r1]
- str r1, [r0]
-_080E8808:
- adds r7, 0x1C
- ldr r0, [sp, 0x40]
- adds r0, 0x1C
- str r0, [sp, 0x40]
- subs r3, 0x1
- cmp r3, 0
- bge _080E878E
- ldr r1, [sp, 0xC]
- cmp r1, 0
- bne _080E8850
- mov r0, r8
- adds r0, 0x3
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r2, [sp, 0x20]
- adds r1, r2
- ldr r3, [sp]
- adds r1, r3, r1
- ldr r0, =gUnknown_03001168
- ldr r4, [sp, 0x38]
- adds r0, r4, r0
- ldr r0, [r0]
- add r0, r10
- movs r5, 0xD8
- lsls r5, 3
- adds r1, r5
- movs r6, 0x90
- lsls r6, 1
- adds r0, r6
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
-_080E8850:
- ldr r3, [sp, 0x30]
- mov r8, r3
- ldr r4, [sp, 0x24]
- cmp r8, r4
- blt _080E8766
-_080E885A:
- ldr r5, [sp, 0x2C]
- str r5, [sp, 0x8]
- cmp r5, 0x1
- bgt _080E8864
- b _080E8702
-_080E8864:
- add sp, 0x54
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8578
-
- thumb_func_start sub_80E8880
-sub_80E8880: @ 80E8880
- push {r4-r7,lr}
- mov r12, r0
- adds r7, r1, 0
- movs r5, 0
-_080E8888:
- movs r2, 0
- movs r4, 0x1
- negs r4, r4
- movs r1, 0
- adds r6, r5, 0x1
- adds r3, r7, 0
-_080E8894:
- ldrh r0, [r3, 0x4]
- cmp r0, r2
- ble _080E889E
- adds r4, r1, 0
- adds r2, r0, 0
-_080E889E:
- adds r3, 0x10
- adds r1, 0x1
- cmp r1, 0x5
- ble _080E8894
- cmp r4, 0
- blt _080E88C0
- lsls r1, r5, 4
- lsls r2, r4, 4
- adds r2, r7
- add r1, r12
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x4]
-_080E88C0:
- adds r5, r6, 0
- cmp r5, 0x2
- ble _080E8888
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8880
-
- thumb_func_start sub_80E88CC
-sub_80E88CC: @ 80E88CC
- push {r4-r7,lr}
- mov r12, r0
- adds r6, r1, 0
- movs r5, 0
-_080E88D4:
- movs r3, 0
- movs r4, 0x1
- negs r4, r4
- movs r2, 0
- adds r7, r5, 0x1
- adds r1, r6, 0
-_080E88E0:
- ldrh r0, [r1, 0x8]
- cmp r0, r3
- ble _080E88EA
- adds r4, r2, 0
- adds r3, r0, 0
-_080E88EA:
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x5
- ble _080E88E0
- cmp r4, 0
- blt _080E8918
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r2, r6
- add r1, r12
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- strh r0, [r2, 0x8]
-_080E8918:
- adds r5, r7, 0
- cmp r5, 0x2
- ble _080E88D4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E88CC
-
- thumb_func_start sub_80E8924
-sub_80E8924: @ 80E8924
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- movs r0, 0
- ldr r1, =gSaveBlock2Ptr
- mov r10, r1
-_080E8936:
- lsls r1, r0, 1
- adds r2, r0, 0x1
- mov r8, r2
- adds r1, r0
- lsls r0, r1, 5
- movs r2, 0x87
- lsls r2, 2
- adds r7, r0, r2
- lsls r1, 6
- mov r0, r9
- adds r4, r0, r1
- movs r6, 0
- movs r5, 0x1
-_080E8950:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7
- adds r0, r6
- adds r1, r4, 0
- bl sub_80E8880
- adds r4, 0x60
- adds r6, 0x30
- subs r5, 0x1
- cmp r5, 0
- bge _080E8950
- mov r0, r8
- cmp r0, 0x8
- ble _080E8936
- movs r5, 0
- ldr r4, =gSaveBlock2Ptr
-_080E8972:
- movs r0, 0x54
- adds r1, r5, 0
- muls r1, r0
- ldr r2, =0x0000057c
- adds r1, r2
- ldr r0, [r4]
- adds r0, r1
- movs r1, 0xA8
- muls r1, r5
- movs r2, 0xD8
- lsls r2, 3
- adds r1, r2
- add r1, r9
- bl sub_80E88CC
- adds r5, 0x1
- cmp r5, 0x1
- ble _080E8972
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E8924
-
- thumb_func_start sub_80E89AC
-sub_80E89AC: @ 80E89AC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- mov r9, r2
- bl GetLinkPlayerCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x81
- lsls r0, 4
- bl AllocZeroed
- adds r5, r0, 0
- str r4, [sp]
- adds r1, r6, 0
- mov r2, r8
- mov r3, r9
- bl sub_80E8578
- adds r0, r5, 0
- bl sub_80E8924
- adds r0, r5, 0
- bl Free
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E89AC
-
- thumb_func_start sub_80E89F8
-sub_80E89F8: @ 80E89F8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, =gUnknown_02039F9C
- ldr r4, =gSaveBlock1Ptr
- ldr r1, [r4]
- movs r0, 0xC2
- lsls r0, 6
- adds r1, r0
- adds r0, r5, 0
- movs r2, 0x38
- bl memcpy
- ldr r1, [r4]
- ldr r0, =0x0000310c
- adds r1, r0
- adds r0, r5, 0
- adds r0, 0x38
- movs r2, 0x38
- bl memcpy
- ldr r0, [r4]
- ldr r1, =0x00003030
- adds r0, r1
- adds r1, r5, 0
- bl InitDaycareMailRecordMixing
- ldr r0, =gUnknown_03001148
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x78
- bl memcpy
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80E89F8
-
- thumb_func_start sub_80E8A54
-sub_80E8A54: @ 80E8A54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0
- mov r9, r0
- ldr r0, [r5, 0x70]
- cmp r9, r0
- bcs _080E8AAE
- adds r4, r5, 0
- adds r4, 0x2C
- movs r0, 0x24
- adds r0, r5
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x37
- adds r6, r5, 0
-_080E8A78:
- ldrh r0, [r6, 0x20]
- cmp r0, 0
- beq _080E8A9A
- ldrb r1, [r4, 0xB]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- beq _080E8A90
- mov r0, r8
- movs r1, 0xFC
- bl sub_81DB4DC
-_080E8A90:
- ldrb r1, [r7]
- lsrs r1, 4
- adds r0, r4, 0
- bl ConvertInternationalString
-_080E8A9A:
- adds r4, 0x38
- movs r0, 0x38
- add r8, r0
- adds r7, 0x38
- adds r6, 0x38
- movs r0, 0x1
- add r9, r0
- ldr r0, [r5, 0x70]
- cmp r9, r0
- bcc _080E8A78
-_080E8AAE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8A54
-
- thumb_func_start TaskDummy4
-TaskDummy4: @ 80E8ABC
- bx lr
- thumb_func_end TaskDummy4
-
- thumb_func_start sub_80E8AC0
-sub_80E8AC0: @ 80E8AC0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_080E8AC6:
- movs r0, 0x2C
- muls r0, r4
- adds r0, 0x34
- adds r1, r5, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _080E8ADC
- adds r0, r1, 0
- adds r0, 0x20
- bl StripExtCtrlCodes
-_080E8ADC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080E8AC6
- adds r0, r5, 0
- bl sub_8164F70
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E8AC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
deleted file mode 100644
index 1f5ef83d8..000000000
--- a/asm/reset_rtc_screen.s
+++ /dev/null
@@ -1,1342 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_809E8E8
-sub_809E8E8: @ 809E8E8
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0809E9FE
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0809E9FE
- lsls r0, 2
- ldr r1, =_0809E920
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809E920:
- .4byte _0809E938
- .4byte _0809E95C
- .4byte _0809E980
- .4byte _0809E9A4
- .4byte _0809E9CE
- .4byte _0809E9F8
-_0809E938:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0809E9C6
-_0809E95C:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0809E9C6
-_0809E980:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x65
- b _0809E9C6
-_0809E9A4:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x74
-_0809E9C6:
- strh r0, [r3, 0x20]
- movs r0, 0x44
- strh r0, [r3, 0x22]
- b _0809E9FE
-_0809E9CE:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x2
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x42
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x99
- strh r0, [r3, 0x20]
- movs r0, 0x50
- strh r0, [r3, 0x22]
- b _0809E9FE
-_0809E9F8:
- adds r0, r3, 0
- bl DestroySprite
-_0809E9FE:
- pop {r0}
- bx r0
- thumb_func_end sub_809E8E8
-
- thumb_func_start sub_809EA04
-sub_809EA04: @ 809EA04
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0809EAFE
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0809EAFE
- lsls r0, 2
- ldr r1, =_0809EA3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809EA3C:
- .4byte _0809EA54
- .4byte _0809EA78
- .4byte _0809EA9C
- .4byte _0809EAC0
- .4byte _0809EAEA
- .4byte _0809EAF8
-_0809EA54:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0809EAE2
-_0809EA78:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0809EAE2
-_0809EA9C:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x65
- b _0809EAE2
-_0809EAC0:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x74
-_0809EAE2:
- strh r0, [r3, 0x20]
- movs r0, 0x5C
- strh r0, [r3, 0x22]
- b _0809EAFE
-_0809EAEA:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809EAFE
-_0809EAF8:
- adds r0, r3, 0
- bl DestroySprite
-_0809EAFE:
- pop {r0}
- bx r0
- thumb_func_end sub_809EA04
-
- thumb_func_start sub_809EB04
-sub_809EB04: @ 809EB04
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_085104C4
- bl LoadSpritePalette
- ldr r0, =gSpriteTemplate_85104F0
- mov r8, r0
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r6, 0
- adds r4, 0x1C
- adds r2, r0, r4
- ldr r1, =sub_809E8E8
- str r1, [r2]
- adds r0, r6
- strh r5, [r0, 0x2E]
- ldr r1, =0x0000ffff
- strh r1, [r0, 0x30]
- mov r0, r8
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r4
- ldr r1, =sub_809EA04
- str r1, [r4]
- adds r0, r6
- strh r5, [r0, 0x2E]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EB04
-
- thumb_func_start sub_809EB8C
-sub_809EB8C: @ 809EB8C
- push {lr}
- ldr r0, =gUnknown_085104C4
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EB8C
-
- thumb_func_start sub_809EBA0
-sub_809EBA0: @ 809EBA0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8198070
- adds r0, r4, 0
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809EBA0
-
- thumb_func_start sub_809EBC4
-sub_809EBC4: @ 809EBC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- adds r0, r1, 0
- mov r9, r2
- adds r1, r3, 0
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- ldr r2, [sp, 0x38]
- mov r8, r2
- mov r2, r10
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r3, r0, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r7, =gStringVar4
- ldr r4, =gStringVar1
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r1, =gText_Day
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r5, =gText_Colon3
- adds r1, r5, 0
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- adds r1, r5, 0
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- ldr r2, =gStringVar4
- mov r0, r9
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r0, r10
- movs r1, 0x1
- ldr r3, [sp, 0xC]
- bl PrintTextOnWindow
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EBC4
-
- thumb_func_start sub_809ECB4
-sub_809ECB4: @ 809ECB4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- adds r4, r0, 0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x24]
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0x85
- lsls r2, 2
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- str r5, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- mov r3, r9
- bl sub_809EBC4
- ldr r2, =gText_Confirm2
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0x7E
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809ECB4
-
- thumb_func_start sub_809ED38
-sub_809ED38: @ 809ED38
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, 16
- lsrs r3, 16
- adds r1, r3, 0
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0809ED52
- ldrh r0, [r4]
- subs r0, 0x1
- b _0809ED6C
-_0809ED52:
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- beq _0809ED60
- ldrh r0, [r4]
- adds r0, 0x1
- b _0809ED8A
-_0809ED60:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0809ED7A
- ldrh r0, [r4]
- subs r0, 0xA
-_0809ED6C:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r5
- bge _0809ED96
- strh r2, [r4]
- b _0809ED96
-_0809ED7A:
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- bne _0809ED86
- movs r0, 0
- b _0809ED98
-_0809ED86:
- ldrh r0, [r4]
- adds r0, 0xA
-_0809ED8A:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r2
- ble _0809ED96
- strh r5, [r4]
-_0809ED96:
- movs r0, 0x1
-_0809ED98:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809ED38
-
- thumb_func_start sub_809EDA0
-sub_809EDA0: @ 809EDA0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- bx lr
- .pool
- thumb_func_end sub_809EDA0
-
- thumb_func_start sub_809EDB8
-sub_809EDB8: @ 809EDB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, =gTasks + 0x8
- adds r0, r4, r5
- ldrb r0, [r0, 0x10]
- bl sub_809EBA0
- bl sub_809EB8C
- subs r5, 0x8
- adds r4, r5
- ldr r0, =sub_809EDA0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EDB8
-
- thumb_func_start sub_809EDE8
-sub_809EDE8: @ 809EDE8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- adds r5, r7, r0
- ldrb r4, [r5, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, =gUnknown_08510420 - 0x4
- adds r2, r0, r1
- ldr r1, =gMain
- ldrh r3, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r3
- mov r12, r1
- cmp r0, 0
- beq _0809EE3C
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, =sub_809EDB8
- str r1, [r0]
- movs r0, 0
- strh r0, [r5, 0x2]
- movs r0, 0x6
- b _0809EE5C
- .pool
-_0809EE3C:
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _0809EE4A
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- bne _0809EE5C
-_0809EE4A:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809EE66
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0809EE66
-_0809EE5C:
- strh r0, [r5, 0x4]
- movs r0, 0x5
- bl PlaySE
- b _0809EEF4
-_0809EE66:
- cmp r4, 0x5
- bne _0809EEB4
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0809EEF4
- ldr r1, =gLocalTime
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
- ldrh r0, [r5, 0x8]
- strb r0, [r1, 0x2]
- ldrh r0, [r5, 0xA]
- strb r0, [r1, 0x3]
- ldrh r0, [r5, 0xC]
- strb r0, [r1, 0x4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_809EDB8
- str r1, [r0]
- strh r4, [r5, 0x2]
- movs r0, 0x6
- strh r0, [r5, 0x4]
- b _0809EEF4
- .pool
-_0809EEB4:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2, 0x4]
- mov r3, r12
- ldrh r4, [r3, 0x30]
- movs r3, 0xC0
- ands r3, r4
- bl sub_809ED38
- cmp r0, 0
- beq _0809EEF4
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r5, 0x10]
- ldrh r3, [r5, 0x6]
- ldrb r1, [r5, 0x8]
- str r1, [sp]
- ldrb r1, [r5, 0xA]
- str r1, [sp, 0x4]
- ldrb r1, [r5, 0xC]
- str r1, [sp, 0x8]
- movs r1, 0
- movs r2, 0x1
- bl sub_809EBC4
- ldrb r0, [r5, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
-_0809EEF4:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809EDE8
-
- thumb_func_start sub_809EF00
-sub_809EF00: @ 809EF00
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, r0, 2
- add r6, r8
- lsls r6, 3
- ldr r0, =gTasks + 0x8
- mov r9, r0
- adds r5, r6, r0
- movs r0, 0
- strh r0, [r5]
- ldr r1, =gLocalTime
- ldrh r0, [r1]
- strh r0, [r5, 0x6]
- movs r0, 0x2
- ldrsb r0, [r1, r0]
- strh r0, [r5, 0x8]
- movs r0, 0x3
- ldrsb r0, [r1, r0]
- strh r0, [r5, 0xA]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- strh r0, [r5, 0xC]
- ldr r0, =gUnknown_08510420
- bl AddWindow
- strh r0, [r5, 0x10]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x6]
- ldrb r2, [r5, 0x8]
- ldrb r3, [r5, 0xA]
- ldrb r4, [r5, 0xC]
- str r4, [sp]
- bl sub_809ECB4
- mov r0, r8
- bl sub_809EB04
- movs r0, 0x2
- strh r0, [r5, 0x4]
- movs r0, 0x8
- negs r0, r0
- add r9, r0
- add r6, r9
- ldr r0, =sub_809EDE8
- str r0, [r6]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EF00
-
- thumb_func_start sub_809EF88
-sub_809EF88: @ 809EF88
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0xA0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0809EFCA:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _0809EFCA
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- bl LoadOam
- bl remove_some_task
- bl dp12_8087EA4
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- bl sub_809F048
- ldr r0, =sub_809F0AC
- bl SetVBlankCallback
- ldr r0, =sub_809F090
- bl SetMainCallback2
- ldr r0, =sub_809F200
- movs r1, 0x50
- bl CreateTask
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809EF88
-
- thumb_func_start sub_809F048
-sub_809F048: @ 809F048
- push {lr}
- bl clear_scheduled_bg_copies_to_vram
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_08510404
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- ldr r0, =gUnknown_08510408
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl sub_81973A4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F048
-
- thumb_func_start sub_809F090
-sub_809F090: @ 809F090
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_809F090
-
- thumb_func_start sub_809F0AC
-sub_809F0AC: @ 809F0AC
- push {lr}
- bl ProcessSpriteCopyRequests
- bl LoadOam
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_809F0AC
-
- thumb_func_start sub_809F0C0
-sub_809F0C0: @ 809F0C0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r2, 0x80
- lsls r2, 2
- movs r0, 0x1
- movs r1, 0
- movs r3, 0xF
- bl sub_8197B1C
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809F0C0
-
- thumb_func_start sub_809F0F8
-sub_809F0F8: @ 809F0F8
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r0, 0
- ldrsh r5, [r6, r0]
- cmp r5, 0
- beq _0809F11C
- cmp r5, 0x1
- beq _0809F1B2
- b _0809F1F8
- .pool
-_0809F11C:
- movs r2, 0x85
- lsls r2, 2
- movs r0, 0
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- ldr r2, =gText_PresentTime
- movs r0, 0x1
- str r0, [sp]
- movs r4, 0xFF
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldr r1, =gLocalTime
- ldrh r3, [r1]
- ldrb r0, [r1, 0x2]
- str r0, [sp]
- ldrb r0, [r1, 0x3]
- str r0, [sp, 0x4]
- ldrb r0, [r1, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x11
- bl sub_809EBC4
- ldr r2, =gText_PreviousTime
- movs r0, 0x21
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xA0
- ldrh r3, [r0]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0xA3
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x31
- bl sub_809EBC4
- ldr r0, =gText_ResetRTCConfirmCancel
- bl sub_809F0C0
- movs r0, 0
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_0809F1B2:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809F1E4
- adds r0, r7, 0
- bl DestroyTask
- bl DoSoftReset
- b _0809F1F8
- .pool
-_0809F1E4:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809F1F8
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl DestroyTask
-_0809F1F8:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809F0F8
-
- thumb_func_start sub_809F200
-sub_809F200: @ 809F200
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _0809F21C
- b _0809F404
-_0809F21C:
- lsls r0, 2
- ldr r1, =_0809F230
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809F230:
- .4byte _0809F24C
- .4byte _0809F268
- .4byte _0809F2B4
- .4byte _0809F310
- .4byte _0809F398
- .4byte _0809F3C8
- .4byte _0809F3EA
-_0809F24C:
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- strh r0, [r5]
- b _0809F404
- .pool
-_0809F268:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809F276
- b _0809F404
-_0809F276:
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809F282
- cmp r0, 0x2
- bne _0809F29C
-_0809F282:
- ldr r0, =gText_NoSaveFileCantSetTime
- bl sub_809F0C0
- movs r0, 0x5
- strh r0, [r5]
- b _0809F404
- .pool
-_0809F29C:
- bl RtcCalcLocalTime
- ldr r0, =sub_809F0F8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- b _0809F334
- .pool
-_0809F2B4:
- ldr r2, =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0x1
- bne _0809F2CA
- b _0809F404
-_0809F2CA:
- movs r0, 0
- movs r1, 0
- bl sub_8198070
- ldr r0, =gText_PleaseResetTime
- bl sub_809F0C0
- ldr r2, =gLocalTime
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xA0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, =sub_809EF00
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- movs r0, 0x3
- strh r0, [r5]
- b _0809F404
- .pool
-_0809F310:
- ldr r2, =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0809F404
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0809F340
- ldrb r0, [r5, 0x2]
- bl DestroyTask
-_0809F334:
- movs r0, 0x2
- strh r0, [r5]
- b _0809F404
- .pool
-_0809F340:
- ldrb r0, [r5, 0x2]
- bl DestroyTask
- bl RtcReset
- ldr r4, =gLocalTime
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- movs r2, 0x3
- ldrsb r2, [r4, r2]
- movs r3, 0x4
- ldrsb r3, [r4, r3]
- bl RtcCalcLocalTimeOffset
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- adds r2, 0xA0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, =0x00004040
- ldrh r1, [r4]
- bl VarSet
- bl DisableResetRTC
- ldr r0, =gText_ClockHasBeenReset
- bl sub_809F0C0
- movs r0, 0x4
- strh r0, [r5]
- b _0809F404
- .pool
-_0809F398:
- movs r0, 0
- bl TrySavingData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F3B8
- ldr r0, =gText_SaveCompleted
- bl sub_809F0C0
- movs r0, 0x49
- bl PlaySE
- b _0809F3C4
- .pool
-_0809F3B8:
- ldr r0, =gText_SaveFailed
- bl sub_809F0C0
- movs r0, 0x16
- bl PlaySE
-_0809F3C4:
- movs r0, 0x5
- strh r0, [r5]
-_0809F3C8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809F404
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x6
- strh r0, [r5]
-_0809F3EA:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809F404
- adds r0, r4, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- bl DoSoftReset
-_0809F404:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F200
-
- thumb_func_start sub_809F41C
-sub_809F41C: @ 809F41C
- push {lr}
- ldr r0, =0x00000861
- bl FlagSet
- movs r0, 0x86
- lsls r0, 4
- bl FlagSet
- ldr r0, =0x00000862
- bl FlagSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F41C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom4.s b/asm/rom4.s
deleted file mode 100644
index 8b7dec1ae..000000000
--- a/asm/rom4.s
+++ /dev/null
@@ -1,6825 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8084620
-sub_8084620: @ 8084620
- push {r4,lr}
- ldr r0, =EverGrandeCity_HallOfFame_EventScript_271857
- bl ScriptContext2_RunNewScript
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- movs r0, 0x92
- lsls r0, 3
- adds r4, r0
- adds r0, r4, 0
- bl GetMoney
- adds r1, r0, 0
- lsrs r1, 1
- adds r0, r4, 0
- bl SetMoney
- bl sp000_heal_pokemon
- bl sub_8084720
- bl copy_saved_warp3_bank_and_enter_x_to_warp1
- bl warp_in
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084620
-
- thumb_func_start flag_var_implications_of_teleport_
-flag_var_implications_of_teleport_: @ 8084660
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flag_var_implications_of_teleport_
-
- thumb_func_start sub_808469C
-sub_808469C: @ 808469C
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- ldr r0, =EverGrandeCity_HallOfFame_EventScript_271862
- bl ScriptContext2_RunNewScript
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808469C
-
- thumb_func_start flagmods_08054D70
-flagmods_08054D70: @ 80846E4
- push {lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- pop {r0}
- bx r0
- .pool
- thumb_func_end flagmods_08054D70
-
- thumb_func_start sub_8084720
-sub_8084720: @ 8084720
- push {r4,lr}
- bl player_avatar_init_params_reset
- ldr r0, =0x0000088b
- bl FlagClear
- ldr r0, =0x0000088d
- bl FlagClear
- ldr r0, =0x0000088c
- bl FlagClear
- ldr r0, =0x00000889
- bl FlagClear
- ldr r0, =0x00000888
- bl FlagClear
- ldr r4, =0x00004039
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _08084764
- adds r0, r4, 0
- movs r1, 0
- bl VarSet
- ldr r0, =0x00004037
- movs r1, 0
- bl VarSet
-_08084764:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084720
-
- thumb_func_start sub_8084788
-sub_8084788: @ 8084788
- push {lr}
- ldr r0, =0x0000088c
- bl FlagClear
- bl sub_8085B2C
- bl wild_pokemon_reroll
- bl UpdateLocationHistoryForRoamer
- bl RoamerMoveToOtherLocationSet
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084788
-
- thumb_func_start ResetGameStats
-ResetGameStats: @ 80847A8
- push {r4,lr}
- movs r4, 0
-_080847AC:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0
- bl sav12_xor_set
- adds r4, 0x1
- cmp r4, 0x3F
- ble _080847AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ResetGameStats
-
- thumb_func_start IncrementGameStat
-@ void IncrementGameStat(u8 a1)
-IncrementGameStat: @ 80847C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x33
- bhi _080847EC
- adds r0, r4, 0
- bl GetGameStat
- adds r1, r0, 0
- ldr r0, =0x00fffffe
- cmp r1, r0
- bhi _080847E4
- adds r1, 0x1
- b _080847E6
- .pool
-_080847E4:
- ldr r1, =0x00ffffff
-_080847E6:
- adds r0, r4, 0
- bl sav12_xor_set
-_080847EC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end IncrementGameStat
-
- thumb_func_start GetGameStat
-GetGameStat: @ 80847F8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x33
- bhi _08084828
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- lsls r0, r1, 2
- ldr r1, =0x0000159c
- adds r2, r1
- adds r2, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r1, 0xAC
- ldr r0, [r2]
- ldr r1, [r1]
- eors r0, r1
- b _0808482A
- .pool
-_08084828:
- movs r0, 0
-_0808482A:
- pop {r1}
- bx r1
- thumb_func_end GetGameStat
-
- thumb_func_start sav12_xor_set
-sav12_xor_set: @ 8084830
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x33
- bhi _08084854
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r2, 2
- ldr r2, =0x0000159c
- adds r1, r2
- adds r1, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- adds r0, 0xAC
- ldr r0, [r0]
- eors r0, r3
- str r0, [r1]
-_08084854:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sav12_xor_set
-
- thumb_func_start ApplyNewEncyprtionKeyToGameStats
-ApplyNewEncyprtionKeyToGameStats: @ 8084864
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gSaveBlock1Ptr
-_0808486C:
- lsls r1, r4, 2
- ldr r0, =0x0000159c
- adds r1, r0
- ldr r0, [r6]
- adds r0, r1
- adds r1, r5, 0
- bl ApplyNewEncyprtionKeyToWord
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3F
- bls _0808486C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ApplyNewEncyprtionKeyToGameStats
-
- thumb_func_start CopyFieldObjectTemplatesToSav1
-@ void CopyFieldObjectTemplatesToSav1()
-CopyFieldObjectTemplatesToSav1: @ 8084894
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- movs r4, 0xC7
- lsls r4, 4
- adds r1, r4
- ldr r2, =0x05000180
- mov r0, sp
- bl CpuSet
- ldr r0, =gMapHeader
- ldr r2, [r0, 0x4]
- ldr r0, [r2, 0x4]
- ldr r1, [r5]
- adds r1, r4
- ldrb r3, [r2]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 1
- movs r3, 0x80
- lsls r3, 19
- orrs r2, r3
- bl CpuSet
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFieldObjectTemplatesToSav1
-
- thumb_func_start CopyFieldObjectTemplateCoordsToSav1
-@ void CopyFieldObjectTemplateCoordsToSav1()
-CopyFieldObjectTemplateCoordsToSav1: @ 80848E0
- push {lr}
- ldr r0, =gMapHeader
- ldr r1, [r0, 0x4]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, [r1, 0x4]
- movs r3, 0xC7
- lsls r3, 4
- adds r1, r0, r3
- movs r3, 0x3F
-_080848F4:
- ldr r0, [r2, 0x10]
- str r0, [r1, 0x10]
- adds r2, 0x18
- adds r1, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _080848F4
- pop {r0}
- bx r0
- .pool
- thumb_func_end CopyFieldObjectTemplateCoordsToSav1
-
- thumb_func_start Overworld_SetMapObjTemplateCoords
-Overworld_SetMapObjTemplateCoords: @ 8084910
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r1, 0
- movs r6, 0xC7
- lsls r6, 4
- adds r3, r0, r6
-_0808492A:
- ldrb r0, [r3]
- cmp r0, r5
- bne _0808493C
- strh r4, [r3, 0x4]
- strh r2, [r3, 0x6]
- b _08084944
- .pool
-_0808493C:
- adds r3, 0x18
- adds r1, 0x1
- cmp r1, 0x3F
- ble _0808492A
-_08084944:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end Overworld_SetMapObjTemplateCoords
-
- thumb_func_start Overworld_SetMapObjTemplateMovementType
-Overworld_SetMapObjTemplateMovementType: @ 808494C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- movs r5, 0xC7
- lsls r5, 4
- adds r2, r0, r5
-_08084962:
- ldrb r0, [r2]
- cmp r0, r4
- bne _08084970
- strb r1, [r2, 0x9]
- b _08084978
- .pool
-_08084970:
- adds r2, 0x18
- adds r3, 0x1
- cmp r3, 0x3F
- ble _08084962
-_08084978:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Overworld_SetMapObjTemplateMovementType
-
- thumb_func_start mapdata_load_assets_to_gpu_and_full_redraw
-mapdata_load_assets_to_gpu_and_full_redraw: @ 8084980
- push {r4,lr}
- bl move_tilemap_camera_to_upper_left_corner
- ldr r4, =gMapHeader
- ldr r0, [r4]
- bl copy_map_tileset1_tileset2_to_vram
- ldr r0, [r4]
- bl apply_map_tileset1_tileset2_palette
- bl DrawWholeMapView
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mapdata_load_assets_to_gpu_and_full_redraw
-
- thumb_func_start get_mapdata_header
-@ mapdata_header *get_mapdata_header()
-get_mapdata_header: @ 80849A8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x32]
- cmp r1, 0
- bne _080849BC
- movs r0, 0
- b _080849C6
- .pool
-_080849BC:
- ldr r0, =gMapAttributes
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_080849C6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end get_mapdata_header
-
- thumb_func_start warp_shift
-@ void warp_shift()
-warp_shift: @ 80849D0
- ldr r3, =gUnknown_020322DC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, [r2, 0x4]
- ldr r1, [r2, 0x8]
- str r0, [r3]
- str r1, [r3, 0x4]
- ldr r0, =gUnknown_020322E4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- ldr r2, =gUnknown_020322EC
- ldr r0, =gUnknown_08339D3C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, =gUnknown_020322F4
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp_shift
-
- thumb_func_start set_warp2_warp3_to_neg_1
-@ void set_warp2_warp3_to_neg_1()
-set_warp2_warp3_to_neg_1: @ 8084A14
- ldr r2, =gUnknown_020322EC
- ldr r0, =gUnknown_08339D3C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, =gUnknown_020322F4
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end set_warp2_warp3_to_neg_1
-
- thumb_func_start warp_set
-@ void warp_set(warpdata *warp, char bank, char map, char warpid, char enter_x, char enter_y)
-warp_set: @ 8084A34
- push {r4,r5,lr}
- ldr r4, [sp, 0xC]
- ldr r5, [sp, 0x10]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r0, 0x4]
- lsls r5, 24
- asrs r5, 24
- strh r5, [r0, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end warp_set
-
- thumb_func_start warp_data_is_not_neg_1
-@ int warp_data_is_not_neg_1(warpdata *warp)
-warp_data_is_not_neg_1: @ 8084A54
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _08084A88
- movs r0, 0x1
- ldrsb r0, [r1, r0]
- cmp r0, r2
- bne _08084A88
- movs r2, 0x2
- ldrsb r2, [r1, r2]
- cmp r2, r0
- bne _08084A88
- movs r0, 0x4
- ldrsh r3, [r1, r0]
- cmp r3, r2
- bne _08084A88
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, r3
- bne _08084A88
- movs r0, 0x1
- b _08084A8A
-_08084A88:
- movs r0, 0
-_08084A8A:
- pop {r1}
- bx r1
- thumb_func_end warp_data_is_not_neg_1
-
- thumb_func_start get_mapheader_by_bank_and_number
-@ struct mapheader *get_mapheader_by_bank_and_number(unsigned int bank, unsigned int num)
-get_mapheader_by_bank_and_number: @ 8084A90
- lsls r0, 16
- lsls r1, 16
- ldr r2, =gMapGroups
- lsrs r0, 14
- adds r0, r2
- ldr r0, [r0]
- lsrs r1, 14
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .pool
- thumb_func_end get_mapheader_by_bank_and_number
-
- thumb_func_start warp1_get_mapheader
-@ struct mapheader *warp1_get_mapheader()
-warp1_get_mapheader: @ 8084AA8
- push {lr}
- ldr r1, =gUnknown_020322E4
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- pop {r1}
- bx r1
- .pool
- thumb_func_end warp1_get_mapheader
-
- thumb_func_start set_current_map_header_from_sav1_save_old_name
-@ void set_current_map_header_from_sav1_save_old_name()
-set_current_map_header_from_sav1_save_old_name: @ 8084ACC
- push {r4-r6,lr}
- ldr r1, =gUnknown_020322FC
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x14]
- strh r0, [r1]
- ldr r5, =gSaveBlock1Ptr
- ldr r1, [r5]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r1, r4, 0
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, [r5]
- ldrh r0, [r4, 0x12]
- strh r0, [r1, 0x32]
- bl get_mapdata_header
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_current_map_header_from_sav1_save_old_name
-
- thumb_func_start set_current_map_header_from_sav1
-set_current_map_header_from_sav1: @ 8084B1C
- push {r4,r5,lr}
- ldr r4, =gMapHeader
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r1, r4, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- bl get_mapdata_header
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end set_current_map_header_from_sav1
-
- thumb_func_start update_camera_pos_from_warpid
-@ void update_camera_pos_from_warpid()
-update_camera_pos_from_warpid: @ 8084B5C
- push {r4,r5,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r1, 0x6
- ldrsb r1, [r2, r1]
- adds r4, r0, 0
- cmp r1, 0
- blt _08084B94
- ldr r3, =gMapHeader
- ldr r0, [r3, 0x4]
- ldrb r5, [r0, 0x1]
- cmp r1, r5
- bge _08084B94
- ldr r0, [r0, 0x8]
- lsls r1, 3
- adds r0, r1, r0
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r0, [r3, 0x4]
- ldr r0, [r0, 0x8]
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x2]
- b _08084BCC
- .pool
-_08084B94:
- ldr r1, [r4]
- ldrh r3, [r1, 0x8]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- blt _08084BB0
- ldrh r2, [r1, 0xA]
- movs r5, 0xA
- ldrsh r0, [r1, r5]
- cmp r0, 0
- blt _08084BB0
- strh r3, [r1]
- strh r2, [r1, 0x2]
- b _08084BCC
-_08084BB0:
- ldr r3, [r4]
- ldr r2, =gMapHeader
- ldr r0, [r2]
- ldr r0, [r0]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r3]
- ldr r0, [r2]
- ldr r0, [r0, 0x4]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r3, 0x2]
-_08084BCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end update_camera_pos_from_warpid
-
- thumb_func_start warp_in
-warp_in: @ 8084BD8
- push {lr}
- bl warp_shift
- bl set_current_map_header_from_sav1_save_old_name
- bl update_camera_pos_from_warpid
- pop {r0}
- bx r0
- thumb_func_end warp_in
-
- thumb_func_start Overworld_SetWarpDestination
-@ void Overworld_SetWarpDestination(char bank, char map, char warpid, char enter_x, char enter_y)
-Overworld_SetWarpDestination: @ 8084BEC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322E4
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetWarpDestination
-
- thumb_func_start warp1_set_2
-@ void warp1_set_2(char bank, char map, char warpid)
-warp1_set_2: @ 8084C28
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- asrs r0, 24
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- bl Overworld_SetWarpDestination
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end warp1_set_2
-
- thumb_func_start saved_warp2_set
-@ void saved_warp2_set(char bank, char map, char warpid)
-saved_warp2_set: @ 8084C48
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, =gSaveBlock1Ptr
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x14
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- lsls r3, 24
- asrs r3, 24
- movs r4, 0
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end saved_warp2_set
-
- thumb_func_start saved_warp2_set_2
-saved_warp2_set_2: @ 8084C7C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x14]
- ldr r5, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x14
- lsls r1, 24
- asrs r1, 24
- lsls r2, 24
- asrs r2, 24
- lsls r3, 24
- asrs r3, 24
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- lsls r5, 24
- asrs r5, 24
- str r5, [sp, 0x4]
- bl warp_set
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end saved_warp2_set_2
-
- thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1
-copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8084CB4
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x18]
- ldr r0, [r0, 0x14]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1
-
- thumb_func_start sub_8084CCC
-@ void sub_8084CCC(int a1)
-sub_8084CCC: @ 8084CCC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r4, r0, 0
- cmp r4, 0
- beq _08084CFA
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- movs r3, 0x2
- ldrsb r3, [r4, r3]
- ldrb r4, [r4, 0x4]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
-_08084CFA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8084CCC
-
- thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1
-@ void copy_saved_warp3_bank_and_enter_x_to_warp1()
-copy_saved_warp3_bank_and_enter_x_to_warp1: @ 8084D04
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x20]
- ldr r0, [r0, 0x1C]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1
-
- thumb_func_start Overworld_SetHealLocationWarp
-Overworld_SetHealLocationWarp: @ 8084D1C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r5, r0, 0
- cmp r5, 0
- beq _08084D50
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x1C
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x4
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
-_08084D50:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetHealLocationWarp
-
- thumb_func_start sub_8084D5C
-sub_8084D5C: @ 8084D5C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- bl sav1_map_get_light_level
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gUnknown_020322E4
- movs r0, 0
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- cmp r0, 0
- beq _08084DC4
- adds r0, r5, 0
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08084DC4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- subs r3, r6, 0x7
- lsls r3, 24
- asrs r3, 24
- subs r4, r7, 0x6
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl sub_8084DD4
-_08084DC4:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084D5C
-
- thumb_func_start sub_8084DD4
-sub_8084DD4: @ 8084DD4
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x24
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084DD4
-
- thumb_func_start sub_8084E14
-sub_8084E14: @ 8084E14
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x28]
- ldr r0, [r0, 0x24]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8084E14
-
- thumb_func_start sub_8084E2C
-sub_8084E2C: @ 8084E2C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322EC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084E2C
-
- thumb_func_start warp1_set_to_warp2
-warp1_set_to_warp2: @ 8084E68
- ldr r2, =gUnknown_020322E4
- ldr r0, =gUnknown_020322EC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp1_set_to_warp2
-
- thumb_func_start sub_8084E80
-sub_8084E80: @ 8084E80
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gUnknown_020322F4
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084E80
-
- thumb_func_start sub_8084EBC
-sub_8084EBC: @ 8084EBC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r4, =gUnknown_020322F4
- adds r0, r4, 0
- bl warp_data_is_not_neg_1
- cmp r0, 0x1
- bne _08084EF0
- ldr r2, =gUnknown_020322E4
- ldr r0, =gUnknown_020322DC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- b _08084F0A
- .pool
-_08084EF0:
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- lsls r3, r5, 24
- asrs r3, 24
- lsls r4, r6, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
-_08084F0A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8084EBC
-
- thumb_func_start warp1_set_to_sav1w
-warp1_set_to_sav1w: @ 8084F14
- ldr r2, =gUnknown_020322E4
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- ldr r0, [r0, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .pool
- thumb_func_end warp1_set_to_sav1w
-
- thumb_func_start sub_8084F2C
-sub_8084F2C: @ 8084F2C
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r1, [sp, 0x18]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0xC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- lsls r6, 24
- asrs r6, 24
- lsls r3, 24
- asrs r3, 24
- str r3, [sp]
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x4]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl warp_set
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084F2C
-
- thumb_func_start sub_8084F6C
-sub_8084F6C: @ 8084F6C
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- bl GetHealLocationPointer
- adds r5, r0, 0
- cmp r5, 0
- beq _08084FA0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0xC
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r2, 0x1
- ldrsb r2, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- movs r4, 0x2
- ldrsb r4, [r5, r4]
- str r4, [sp]
- movs r4, 0x4
- ldrsb r4, [r5, r4]
- str r4, [sp, 0x4]
- bl warp_set
-_08084FA0:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8084F6C
-
- thumb_func_start sub_8084FAC
-sub_8084FAC: @ 8084FAC
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r0, [r2, 0x14]
- ldr r1, [r2, 0x18]
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
- bx lr
- .pool
- thumb_func_end sub_8084FAC
-
- thumb_func_start sub_8084FC0
-sub_8084FC0: @ 8084FC0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMapHeader
- ldr r0, [r0, 0xC]
- ldr r3, [r0]
- ldr r1, [r0, 0x4]
- cmp r1, 0
- bne _08084FDC
- b _08084FF0
- .pool
-_08084FD8:
- adds r0, r1, 0
- b _08084FF2
-_08084FDC:
- movs r2, 0
- cmp r2, r3
- bge _08084FF0
-_08084FE2:
- ldrb r0, [r1]
- cmp r0, r4
- beq _08084FD8
- adds r2, 0x1
- adds r1, 0xC
- cmp r2, r3
- blt _08084FE2
-_08084FF0:
- movs r0, 0
-_08084FF2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084FC0
-
- thumb_func_start sub_8084FF8
-sub_8084FF8: @ 8084FF8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl sub_8084FC0
- adds r1, r0, 0
- cmp r1, 0
- beq _08085030
- movs r0, 0x8
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x9]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- lsls r3, r4, 24
- asrs r3, 24
- lsls r4, r5, 24
- asrs r4, 24
- str r4, [sp]
- bl Overworld_SetWarpDestination
- b _0808504C
-_08085030:
- bl mapheader_run_script_with_tag_x6
- ldr r0, =gUnknown_020322EC
- bl warp_data_is_not_neg_1
- cmp r0, 0
- beq _08085048
- movs r0, 0
- b _0808504E
- .pool
-_08085048:
- bl warp1_set_to_warp2
-_0808504C:
- movs r0, 0x1
-_0808504E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084FF8
-
- thumb_func_start sub_8085058
-sub_8085058: @ 8085058
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x6
- adds r1, r3, 0
- bl sub_8084FF8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8085058
-
- thumb_func_start sub_8085078
-sub_8085078: @ 8085078
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0x5
- adds r1, r3, 0
- bl sub_8084FF8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8085078
-
- thumb_func_start mliX_load_map
-mliX_load_map: @ 8085098
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- lsls r0, r6, 24
- asrs r0, 24
- lsls r1, r5, 24
- asrs r1, 24
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- adds r2, r3, 0
- bl Overworld_SetWarpDestination
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x14]
- cmp r0, 0x3A
- beq _080850C8
- bl sub_8085810
-_080850C8:
- bl warp_shift
- bl set_current_map_header_from_sav1_save_old_name
- bl CopyFieldObjectTemplatesToSav1
- bl TrySetMapSaveWarpStatus
- bl ClearTempFieldEventData
- bl wild_pokemon_reroll
- bl prev_quest_postbuffer_cursor_backup_reset
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80B21B4
- bl DoTimeBasedEvents
- bl sub_80AEDBC
- bl sub_8085B2C
- bl update_sav1_flash_used_on_map
- bl sav1_reset_battle_music_maybe
- bl mapheader_run_script_with_tag_x3
- bl not_trainer_hill_battle_pyramid
- ldr r0, [r4]
- bl copy_map_tileset2_to_vram_2
- ldr r0, [r4]
- bl apply_map_tileset2_palette
- movs r4, 0x6
-_08085116:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80ABF00
- adds r4, 0x1
- cmp r4, 0xC
- ble _08085116
- bl sub_80A0A2C
- bl UpdateLocationHistoryForRoamer
- bl RoamerMove
- bl DoCurrentWeather
- bl wild_encounter_reset_coro_args
- bl mapheader_run_script_with_tag_x5
- ldr r2, =gMapHeader
- ldrb r0, [r2, 0x14]
- cmp r0, 0x3A
- bne _0808514C
- ldr r1, =gUnknown_020322FC
- ldrh r1, [r1]
- cmp r0, r1
- beq _08085150
-_0808514C:
- bl AddMapNamePopUpWindowTask
-_08085150:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mliX_load_map
-
- thumb_func_start mli0_load_map
-mli0_load_map: @ 8085160
- push {r4-r7,lr}
- adds r7, r0, 0
- bl set_current_map_header_from_sav1_save_old_name
- ldr r0, =gUnknown_020322D8
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080851A2
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08085190
- bl sub_81AA1D8
- b _080851A2
- .pool
-_08085190:
- bl InTrainerHill
- cmp r0, 0
- beq _0808519E
- bl sub_81D5DF8
- b _080851A2
-_0808519E:
- bl CopyFieldObjectTemplatesToSav1
-_080851A2:
- ldr r4, =gMapHeader
- ldrb r0, [r4, 0x17]
- bl is_light_level_1_2_3_5_or_6
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x17]
- bl is_light_level_8_or_9
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_80EB218
- bl TrySetMapSaveWarpStatus
- bl ClearTempFieldEventData
- bl wild_pokemon_reroll
- bl prev_quest_postbuffer_cursor_backup_reset
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_80B21B4
- cmp r7, 0x1
- beq _080851EE
- bl DoTimeBasedEvents
-_080851EE:
- bl sub_80AEDBC
- bl sub_8085B2C
- cmp r5, 0
- beq _08085200
- ldr r0, =0x00000888
- bl FlagClear
-_08085200:
- bl update_sav1_flash_used_on_map
- bl sav1_reset_battle_music_maybe
- bl mapheader_run_script_with_tag_x3
- bl UpdateLocationHistoryForRoamer
- bl RoamerMoveToOtherLocationSet
- ldrh r1, [r4, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08085234
- movs r0, 0
- bl battle_pyramid_map_load_related
- b _08085246
- .pool
-_08085234:
- bl InTrainerHill
- cmp r0, 0
- beq _08085242
- bl trainer_hill_map_load_related
- b _08085246
-_08085242:
- bl not_trainer_hill_battle_pyramid
-_08085246:
- cmp r7, 0x1
- beq _0808525E
- cmp r6, 0
- beq _0808525E
- ldr r1, =gUnknown_03005DC0
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- bl UpdateTVScreensOnMap
- movs r0, 0x1
- bl sub_80E9238
-_0808525E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mli0_load_map
-
- thumb_func_start player_avatar_init_params_reset
-player_avatar_init_params_reset: @ 8085268
- ldr r1, =gUnknown_02032300
- movs r0, 0x1
- strb r0, [r1, 0x1]
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end player_avatar_init_params_reset
-
- thumb_func_start walkrun_find_lowest_active_bit_in_bitfield
-walkrun_find_lowest_active_bit_in_bitfield: @ 8085278
- push {r4,lr}
- bl player_get_direction_lower_nybble
- ldr r4, =gUnknown_02032300
- strb r0, [r4, 0x1]
- movs r0, 0x2
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085298
- movs r0, 0x2
- b _080852CA
- .pool
-_08085298:
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852A8
- movs r0, 0x4
- b _080852CA
-_080852A8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852B8
- movs r0, 0x8
- b _080852CA
-_080852B8:
- movs r0, 0x10
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080852C8
- movs r0, 0x10
- b _080852CA
-_080852C8:
- movs r0, 0x1
-_080852CA:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end walkrun_find_lowest_active_bit_in_bitfield
-
- thumb_func_start sub_80852D4
-sub_80852D4: @ 80852D4
- push {r4-r7,lr}
- bl sav1_map_get_light_level
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl cur_mapdata_block_role_at_screen_center_acc_to_sav1
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r6, =gUnknown_02032300
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_808532C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =0xffffff00
- ands r7, r0
- orrs r7, r1
- adds r0, r6, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_808538C
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =0xffff00ff
- ands r7, r1
- orrs r7, r0
- str r7, [r6]
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80852D4
-
- thumb_func_start sub_808532C
-sub_808532C: @ 808532C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0x8
- beq _08085348
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08085382
-_08085348:
- cmp r4, 0x5
- bne _08085354
- movs r0, 0x10
- b _08085384
- .pool
-_08085354:
- lsls r0, r5, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085368
- movs r0, 0x8
- b _08085384
-_08085368:
- bl sav1_map_is_biking_allowed
- cmp r0, 0x1
- bne _08085382
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0808537A
- movs r0, 0x2
- b _08085384
-_0808537A:
- cmp r0, 0x4
- bne _08085382
- movs r0, 0x4
- b _08085384
-_08085382:
- movs r0, 0x1
-_08085384:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808532C
-
- thumb_func_start sub_808538C
-sub_808538C: @ 808538C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, =0x0000088d
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080853AC
- cmp r5, 0x6
- beq _0808540C
-_080853AC:
- lsls r4, 24
- lsrs r5, r4, 24
- adds r0, r5, 0
- bl MetatileBehavior_IsDeepSouthWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080853E8
- adds r0, r5, 0
- bl MetatileBehavior_IsNonAnimDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsDoor
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080853F0
-_080853E8:
- movs r0, 0x2
- b _08085448
- .pool
-_080853F0:
- adds r0, r5, 0
- bl MetatileBehavior_IsNorthArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085442
- adds r0, r5, 0
- bl MetatileBehavior_IsWestArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085410
-_0808540C:
- movs r0, 0x4
- b _08085448
-_08085410:
- adds r0, r5, 0
- bl MetatileBehavior_IsEastArrowWarp
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085422
- movs r0, 0x3
- b _08085448
-_08085422:
- ldrb r0, [r6]
- cmp r0, 0x10
- bne _0808542C
- cmp r7, 0x8
- beq _08085446
-_0808542C:
- cmp r0, 0x8
- bne _08085434
- cmp r7, 0x10
- beq _08085446
-_08085434:
- lsrs r0, r4, 24
- bl MetatileBehavior_IsLadder
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085446
-_08085442:
- movs r0, 0x1
- b _08085448
-_08085446:
- ldrb r0, [r6, 0x1]
-_08085448:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808538C
-
- thumb_func_start cur_mapdata_block_role_at_screen_center_acc_to_sav1
-cur_mapdata_block_role_at_screen_center_acc_to_sav1: @ 8085450
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x7
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- adds r1, 0x7
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end cur_mapdata_block_role_at_screen_center_acc_to_sav1
-
- thumb_func_start sav1_map_is_biking_allowed
-sav1_map_is_biking_allowed: @ 8085474
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808548C
- movs r0, 0x1
- b _0808548E
- .pool
-_0808548C:
- movs r0, 0
-_0808548E:
- pop {r1}
- bx r1
- thumb_func_end sav1_map_is_biking_allowed
-
- thumb_func_start update_sav1_flash_used_on_map
-update_sav1_flash_used_on_map: @ 8085494
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x15]
- cmp r1, 0
- bne _080854B0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- strb r1, [r0]
- b _080854DE
- .pool
-_080854B0:
- ldr r0, =0x00000888
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080854D0
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- movs r1, 0x1
- strb r1, [r0]
- b _080854DE
- .pool
-_080854D0:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =gUnknown_0854FE78
- ldr r0, [r0]
- subs r0, 0x1
- adds r1, 0x30
- strb r0, [r1]
-_080854DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end update_sav1_flash_used_on_map
-
- thumb_func_start Overworld_SetFlashLevel
-Overworld_SetFlashLevel: @ 80854EC
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- blt _080854FC
- ldr r0, =gUnknown_0854FE78
- ldr r0, [r0]
- cmp r1, r0
- ble _080854FE
-_080854FC:
- movs r1, 0
-_080854FE:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- strb r1, [r0]
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_SetFlashLevel
-
- thumb_func_start sav1_get_flash_used_on_map
-sav1_get_flash_used_on_map: @ 8085514
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x30
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sav1_get_flash_used_on_map
-
- thumb_func_start sub_8085524
-sub_8085524: @ 8085524
- push {lr}
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- strh r0, [r1, 0x32]
- bl get_mapdata_header
- ldr r1, =gMapHeader
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8085524
-
- thumb_func_start sub_8085540
-sub_8085540: @ 8085540
- ldr r1, =gUnknown_020322D8
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8085540
-
- thumb_func_start sub_808554C
-sub_808554C: @ 808554C
- ldr r0, =gUnknown_020322D8
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_808554C
-
- thumb_func_start sub_8085558
-sub_8085558: @ 8085558
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x0000088a
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080855AC
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080855AC
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x5
- blt _08085584
- cmp r0, 0x8
- ble _0808559E
- cmp r0, 0x2B
- bgt _08085584
- cmp r0, 0x27
- bge _0808559E
-_08085584:
- ldr r0, =0x0000405e
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bls _080855AC
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x2E
- bgt _080855AC
- cmp r0, 0x2C
- blt _080855AC
-_0808559E:
- movs r0, 0x1
- b _080855AE
- .pool
-_080855AC:
- movs r0, 0
-_080855AE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8085558
-
- thumb_func_start sub_80855B4
-sub_80855B4: @ 80855B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000040ca
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080855D6
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080855D6
- movs r0, 0x1
- ldrsb r0, [r4, r0]
- cmp r0, 0x7
- beq _080855E0
-_080855D6:
- movs r0, 0
- b _080855E2
- .pool
-_080855E0:
- movs r0, 0x1
-_080855E2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80855B4
-
- thumb_func_start sub_80855E8
-sub_80855E8: @ 80855E8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =0x000040b3
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _08085606
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x20
- bne _08085606
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _08085610
-_08085606:
- movs r0, 0
- b _08085612
- .pool
-_08085610:
- movs r0, 0x1
-_08085612:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80855E8
-
- thumb_func_start sub_8085618
-sub_8085618: @ 8085618
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =0x0000405d
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- beq _0808564C
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0808564C
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0xE
- bne _0808564C
- ldrb r0, [r5, 0x1]
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08085654
-_0808564C:
- movs r0, 0
- b _08085656
- .pool
-_08085654:
- movs r0, 0x1
-_08085656:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8085618
-
- thumb_func_start warp_target_get_music
-warp_target_get_music: @ 808565C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80855B4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _08085674
- ldr r0, =0x0000ffff
- b _080856CE
- .pool
-_08085674:
- adds r0, r4, 0
- bl sub_8085558
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _0808568C
- ldr r0, =0x000001bb
- b _080856CE
- .pool
-_0808568C:
- adds r0, r4, 0
- bl sub_8085618
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080856A4
- ldr r0, =0x000001b9
- b _080856CE
- .pool
-_080856A4:
- adds r0, r4, 0
- bl sub_80855E8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080856CA
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrh r0, [r0, 0x10]
- b _080856CE
-_080856CA:
- movs r0, 0xCB
- lsls r0, 1
-_080856CE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end warp_target_get_music
-
- thumb_func_start sav1_map_get_music
-sav1_map_get_music: @ 80856D4
- push {r4,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xD0
- lsls r0, 5
- cmp r1, r0
- bne _080856FC
- bl sav1_get_weather_probably
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _080856FC
- ldr r0, =0x00000199
- b _08085730
- .pool
-_080856FC:
- ldr r4, =gSaveBlock1Ptr
- ldr r0, [r4]
- adds r0, 0x4
- bl warp_target_get_music
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x00007fff
- cmp r1, r0
- beq _0808571C
- adds r0, r1, 0
- b _08085730
- .pool
-_0808571C:
- ldr r0, [r4]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x17
- ble _0808572C
- movs r0, 0xC9
- lsls r0, 1
- b _08085730
-_0808572C:
- movs r0, 0xB4
- lsls r0, 1
-_08085730:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sav1_map_get_music
-
- thumb_func_start warp1_target_get_music
-warp1_target_get_music: @ 8085738
- push {lr}
- ldr r0, =gUnknown_020322E4
- bl warp_target_get_music
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x00007fff
- cmp r1, r0
- beq _08085758
- adds r0, r1, 0
- b _08085774
- .pool
-_08085758:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _08085770
- subs r0, 0x6E
- b _08085774
- .pool
-_08085770:
- movs r0, 0xB4
- lsls r0, 1
-_08085774:
- pop {r1}
- bx r1
- thumb_func_end warp1_target_get_music
-
- thumb_func_start call_ResetMapMusic
-call_ResetMapMusic: @ 8085778
- push {lr}
- bl ResetMapMusic
- pop {r0}
- bx r0
- thumb_func_end call_ResetMapMusic
-
- thumb_func_start sub_8085784
-sub_8085784: @ 8085784
- push {r4,lr}
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x000001bb
- cmp r4, r0
- beq _080857D6
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _080857D6
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrh r0, [r1, 0x2C]
- cmp r0, 0
- beq _080857B4
- adds r4, r0, 0
- b _080857D6
- .pool
-_080857B4:
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080857C8
- ldr r4, =0x0000019b
- b _080857D6
- .pool
-_080857C8:
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080857D6
- ldr r4, =0x0000016d
-_080857D6:
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _080857E8
- adds r0, r4, 0
- bl PlayNewMapMusic
-_080857E8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8085784
-
- thumb_func_start Overworld_SetSavedMusic
-Overworld_SetSavedMusic: @ 80857F4
- ldr r1, =gSaveBlock1Ptr
- ldr r1, [r1]
- strh r0, [r1, 0x2C]
- bx lr
- .pool
- thumb_func_end Overworld_SetSavedMusic
-
- thumb_func_start sav1_reset_battle_music_maybe
-sav1_reset_battle_music_maybe: @ 8085800
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x2C]
- bx lr
- .pool
- thumb_func_end sav1_reset_battle_music_maybe
-
- thumb_func_start sub_8085810
-sub_8085810: @ 8085810
- push {r4-r6,lr}
- ldr r0, =0x00004001
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085890
- bl warp1_target_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, =0x000001bb
- cmp r4, r0
- beq _08085856
- ldr r0, =0x0000ffff
- cmp r4, r0
- beq _08085856
- ldr r0, =0x0000019b
- cmp r5, r0
- beq _08085890
- ldr r6, =0x0000016d
- cmp r5, r6
- beq _08085890
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085856
- adds r4, r6, 0
-_08085856:
- cmp r4, r5
- beq _08085890
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _08085888
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x4
- bl FadeOutAndFadeInNewMapMusic
- b _08085890
- .pool
-_08085888:
- adds r0, r4, 0
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_08085890:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8085810
-
- thumb_func_start Overworld_ChangeMusicToDefault
-Overworld_ChangeMusicToDefault: @ 8085898
- push {r4,lr}
- bl GetCurrentMapMusic
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _080858BE
- bl sav1_map_get_music
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_080858BE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Overworld_ChangeMusicToDefault
-
- thumb_func_start Overworld_ChangeMusicTo
-Overworld_ChangeMusicTo: @ 80858C4
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- beq _080858E4
- ldr r0, =0x000001bb
- cmp r1, r0
- beq _080858E4
- adds r0, r4, 0
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
-_080858E4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Overworld_ChangeMusicTo
-
- thumb_func_start is_warp1_light_level_8_or_9
-is_warp1_light_level_8_or_9: @ 80858F0
- push {lr}
- bl warp1_get_mapheader
- ldrb r0, [r0, 0x17]
- bl is_light_level_8_or_9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08085908
- movs r0, 0x4
- b _0808590A
-_08085908:
- movs r0, 0x2
-_0808590A:
- pop {r1}
- bx r1
- thumb_func_end is_warp1_light_level_8_or_9
-
- thumb_func_start music_something
-music_something: @ 8085910
- push {r4,r5,lr}
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r5, r0, 16
- bl warp1_target_get_music
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =0x00004001
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808597E
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- beq _0808597E
- ldr r0, =0x0000016d
- cmp r5, r0
- bne _08085972
- ldr r0, =0x000040ca
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _08085972
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x0000ffff
- ldrh r2, [r0, 0x4]
- movs r0, 0xE0
- lsls r0, 3
- cmp r2, r0
- bne _08085972
- ldr r3, =gUnknown_020322E4
- ldrh r0, [r3]
- ands r1, r0
- cmp r1, r2
- bne _08085972
- ldr r1, [r3, 0x4]
- ldr r0, =0x0035001d
- cmp r1, r0
- beq _0808597E
-_08085972:
- bl is_warp1_light_level_8_or_9
- lsls r0, 24
- lsrs r0, 24
- bl FadeOutMapMusic
-_0808597E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end music_something
-
- thumb_func_start sub_80859A0
-sub_80859A0: @ 80859A0
- push {lr}
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80859A0
-
- thumb_func_start sub_80859B0
-sub_80859B0: @ 80859B0
- push {lr}
- movs r0, 0x4
- bl FadeOutMapMusic
- pop {r0}
- bx r0
- thumb_func_end sub_80859B0
-
- thumb_func_start sub_80859BC
-sub_80859BC: @ 80859BC
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldr r0, =gUnknown_02032306
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080859F0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _08085A2C
-_080859F0:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x58
- bl __umodsi3
- adds r4, r0, 0
- adds r4, 0xD4
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1E
- bl __umodsi3
- adds r2, r0, 0
- adds r2, 0x32
- ldr r0, =gUnknown_02032304
- ldrh r0, [r0]
- lsls r4, 24
- asrs r4, 24
- lsls r2, 24
- asrs r2, 24
- adds r1, r4, 0
- movs r3, 0x1
- bl PlayCry2
-_08085A2C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80859BC
-
- thumb_func_start wild_encounter_related
-wild_encounter_related: @ 8085A3C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r7, r1, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _08085B20
- lsls r0, 2
- ldr r1, =_08085A60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08085A60:
- .4byte _08085A74
- .4byte _08085A88
- .4byte _08085AA4
- .4byte _08085B0C
- .4byte _08085B20
-_08085A74:
- ldr r0, =gUnknown_02032304
- ldrh r0, [r0]
- cmp r0, 0
- bne _08085A84
- movs r0, 0x4
- b _08085B1E
- .pool
-_08085A84:
- movs r0, 0x1
- b _08085B1E
-_08085A88:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x96
- lsls r1, 4
- bl __umodsi3
- movs r1, 0x96
- lsls r1, 3
- adds r0, r1
- strh r0, [r7]
- movs r0, 0x3
- b _08085B1E
-_08085AA4:
- movs r0, 0x1
- mov r9, r0
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- b _08085ABC
-_08085AB6:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08085ABC:
- cmp r5, r8
- bcs _08085AE4
- movs r0, 0x64
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _08085AB6
- adds r0, r4, 0
- bl GetMonAbility
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x44
- bne _08085AB6
- movs r1, 0x2
- mov r9, r1
-_08085AE4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x96
- lsls r4, 3
- adds r1, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, r4
- mov r1, r9
- bl __divsi3
- strh r0, [r7]
- movs r0, 0x3
- b _08085B1E
- .pool
-_08085B0C:
- ldrh r0, [r7]
- subs r0, 0x1
- strh r0, [r7]
- lsls r0, 16
- cmp r0, 0
- bne _08085B20
- bl sub_80859BC
- movs r0, 0x2
-_08085B1E:
- strh r0, [r6]
-_08085B20:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end wild_encounter_related
-
- thumb_func_start sub_8085B2C
-sub_8085B2C: @ 8085B2C
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0xB4
- lsls r0, 6
- cmp r1, r0
- bne _08085B5C
- bl sub_813793C
- lsls r0, 24
- cmp r0, 0
- bne _08085B5C
- ldr r1, =gUnknown_02032306
- movs r0, 0x1
- strb r0, [r1]
- bl GetLocalWaterMon
- b _08085B62
- .pool
-_08085B5C:
- ldr r0, =gUnknown_02032306
- bl GetLocalWildMon
-_08085B62:
- ldr r1, =gUnknown_02032304
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8085B2C
-
- thumb_func_start get_map_light_level_by_bank_and_number
-@ int get_map_light_level_by_bank_and_number(int bank, int number)
-get_map_light_level_by_bank_and_number: @ 8085B74
- push {lr}
- lsls r0, 24
- asrs r0, 8
- lsrs r0, 16
- lsls r1, 24
- asrs r1, 8
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x17]
- pop {r1}
- bx r1
- thumb_func_end get_map_light_level_by_bank_and_number
-
- thumb_func_start get_map_light_level_from_warp
-@ int get_map_light_level_from_warp(warpdata *warp)
-get_map_light_level_from_warp: @ 8085B8C
- push {lr}
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0x1
- ldrsb r1, [r0, r1]
- adds r0, r2, 0
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end get_map_light_level_from_warp
-
- thumb_func_start sav1_map_get_light_level
-sav1_map_get_light_level: @ 8085BA4
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- adds r0, 0x4
- bl get_map_light_level_from_warp
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_map_get_light_level
-
- thumb_func_start get_map_light_from_warp0
-get_map_light_from_warp0: @ 8085BBC
- push {lr}
- ldr r0, =gUnknown_020322DC
- bl get_map_light_level_from_warp
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end get_map_light_from_warp0
-
- thumb_func_start is_light_level_1_2_3_5_or_6
-is_light_level_1_2_3_5_or_6: @ 8085BD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08085BEA
- cmp r0, 0x1
- beq _08085BEA
- cmp r0, 0x5
- beq _08085BEA
- cmp r0, 0x2
- beq _08085BEA
- cmp r0, 0x6
- bne _08085BEE
-_08085BEA:
- movs r0, 0x1
- b _08085BF0
-_08085BEE:
- movs r0, 0
-_08085BF0:
- pop {r1}
- bx r1
- thumb_func_end is_light_level_1_2_3_5_or_6
-
- thumb_func_start is_light_level_1_2_3_or_6
-is_light_level_1_2_3_or_6: @ 8085BF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08085C0A
- cmp r0, 0x1
- beq _08085C0A
- cmp r0, 0x6
- beq _08085C0A
- cmp r0, 0x2
- bne _08085C0E
-_08085C0A:
- movs r0, 0x1
- b _08085C10
-_08085C0E:
- movs r0, 0
-_08085C10:
- pop {r1}
- bx r1
- thumb_func_end is_light_level_1_2_3_or_6
-
- thumb_func_start is_light_level_8_or_9
-is_light_level_8_or_9: @ 8085C14
- push {lr}
- lsls r0, 24
- movs r1, 0xF8
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bls _08085C28
- movs r0, 0
- b _08085C2A
-_08085C28:
- movs r0, 0x1
-_08085C2A:
- pop {r1}
- bx r1
- thumb_func_end is_light_level_8_or_9
-
- thumb_func_start sav1_saved_warp2_map_get_name
-sav1_saved_warp2_map_get_name: @ 8085C30
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x14
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x15]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_saved_warp2_map_get_name
-
- thumb_func_start sav1_map_get_name
-sav1_map_get_name: @ 8085C58
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x14]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_map_get_name
-
- thumb_func_start sav1_map_get_battletype
-sav1_map_get_battletype: @ 8085C80
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- ldrb r0, [r0, 0x1B]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sav1_map_get_battletype
-
- thumb_func_start overworld_bg_setup
-@ void overworld_bg_setup()
-overworld_bg_setup: @ 8085CA8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, =gUnknown_08339DAC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0x1
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0x2
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- movs r0, 0x3
- movs r1, 0x5
- movs r2, 0x1
- bl SetBgAttribute
- ldr r0, =gUnknown_03005DA0
- mov r8, r0
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- bl AllocZeroed
- mov r1, r8
- str r0, [r1]
- ldr r6, =gUnknown_03005D9C
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r6]
- ldr r5, =gUnknown_03005DA4
- adds r0, r4, 0
- bl AllocZeroed
- str r0, [r5]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r6]
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- bl sub_81971D0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_bg_setup
-
- thumb_func_start overworld_free_bg_tilemaps
-overworld_free_bg_tilemaps: @ 8085D34
- push {r4,lr}
- bl sub_81BE72C
- bl sub_81971F4
- ldr r4, =gUnknown_03005DA4
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D4E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D4E:
- ldr r4, =gUnknown_03005D9C
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D5E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D5E:
- ldr r4, =gUnknown_03005DA0
- ldr r0, [r4]
- cmp r0, 0
- beq _08085D6E
- bl Free
- movs r0, 0
- str r0, [r4]
-_08085D6E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end overworld_free_bg_tilemaps
-
- thumb_func_start ResetSafariZoneFlag_
-ResetSafariZoneFlag_: @ 8085D80
- push {lr}
- bl ResetSafariZoneFlag
- pop {r0}
- bx r0
- thumb_func_end ResetSafariZoneFlag_
-
- thumb_func_start is_c1_link_related_active
-@ _BOOL4 is_c1_link_related_active()
-is_c1_link_related_active: @ 8085D8C
- push {lr}
- ldr r0, =gMain
- ldr r1, [r0]
- ldr r0, =c1_link_related
- cmp r1, r0
- beq _08085DA4
- movs r0, 0
- b _08085DA6
- .pool
-_08085DA4:
- movs r0, 0x1
-_08085DA6:
- pop {r1}
- bx r1
- thumb_func_end is_c1_link_related_active
-
- thumb_func_start c1_overworld_normal
-@ void c1_overworld_normal(int buttons_new, int buttons_held)
-c1_overworld_normal: @ 8085DAC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- bl sub_808B578
- mov r6, sp
- mov r0, sp
- bl sub_809BEDC
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl process_overworld_input
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- cmp r0, 0
- bne _08085DFA
- mov r0, sp
- bl sub_809C014
- cmp r0, 0x1
- bne _08085DF0
- bl ScriptContext2_Enable
- bl HideMapNamePopUpWindow
- b _08085DFA
-_08085DF0:
- ldrb r0, [r6, 0x2]
- adds r1, r5, 0
- adds r2, r4, 0
- bl player_step
-_08085DFA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end c1_overworld_normal
-
- thumb_func_start c1_overworld
-c1_overworld: @ 8085E04
- push {lr}
- ldr r2, =gMain
- ldr r1, [r2, 0x4]
- ldr r0, =c2_overworld
- cmp r1, r0
- bne _08085E18
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x2C]
- bl c1_overworld_normal
-_08085E18:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c1_overworld
-
- thumb_func_start c2_overworld_basic
-@ void c2_overworld_basic()
-c2_overworld_basic: @ 8085E24
- push {lr}
- bl ScriptContext2_RunScript
- bl RunTasks
- bl AnimateSprites
- bl CameraUpdate
- bl UpdateCameraPanning
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_80A0A38
- bl do_scheduled_bg_tilemap_copies_to_vram
- pop {r0}
- bx r0
- thumb_func_end c2_overworld_basic
-
- thumb_func_start sub_8085E50
-sub_8085E50: @ 8085E50
- push {lr}
- bl c2_overworld_basic
- pop {r0}
- bx r0
- thumb_func_end sub_8085E50
-
- thumb_func_start c2_overworld
-c2_overworld: @ 8085E5C
- push {r4,lr}
- ldr r0, =gPaletteFade
- ldrb r0, [r0, 0x7]
- lsrs r0, 7
- adds r4, r0, 0
- cmp r4, 0
- beq _08085E70
- movs r0, 0
- bl SetVBlankCallback
-_08085E70:
- bl c2_overworld_basic
- cmp r4, 0
- beq _08085E7C
- bl SetFieldVBlankCallback
-_08085E7C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_overworld
-
- thumb_func_start set_callback1
-set_callback1: @ 8085E88
- ldr r1, =gMain
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end set_callback1
-
- thumb_func_start sub_8085E94
-sub_8085E94: @ 8085E94
- ldr r1, =gUnknown_03000E0C
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8085E94
-
- thumb_func_start map_post_load_hook_exec
-map_post_load_hook_exec: @ 8085EA0
- push {r4,lr}
- ldr r4, =gUnknown_03005DB0
- ldr r0, [r4]
- cmp r0, 0
- beq _08085ECC
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _08085EBC
- movs r0, 0
- b _08085EEC
- .pool
-_08085EBC:
- movs r1, 0
- str r1, [r4]
- ldr r0, =gFieldCallback
- str r1, [r0]
- b _08085EEA
- .pool
-_08085ECC:
- ldr r0, =gFieldCallback
- ldr r0, [r0]
- cmp r0, 0
- beq _08085EE0
- bl _call_via_r0
- b _08085EE4
- .pool
-_08085EE0:
- bl mapldr_default
-_08085EE4:
- ldr r1, =gFieldCallback
- movs r0, 0
- str r0, [r1]
-_08085EEA:
- movs r0, 0x1
-_08085EEC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end map_post_load_hook_exec
-
- thumb_func_start CB2_NewGame
-CB2_NewGame: @ 8085EF8
- push {lr}
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- bl NewGameInitData
- bl player_avatar_init_params_reset
- bl PlayTimeCounter_Start
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- ldr r1, =gFieldCallback
- ldr r0, =ExecuteTruckSequence
- str r0, [r1]
- ldr r1, =gUnknown_03005DB0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_030026F8
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_NewGame
-
- thumb_func_start c2_whiteout
-c2_whiteout: @ 8085F58
- push {lr}
- sub sp, 0x4
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08085FB0
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- bl sub_8084620
- bl player_avatar_init_params_reset
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3C8
- str r0, [r1]
- mov r1, sp
- movs r0, 0
- strb r0, [r1]
- mov r0, sp
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08085FB0:
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_whiteout
-
- thumb_func_start c2_load_new_map
-c2_load_new_map: @ 8085FCC
- push {lr}
- bl sub_808631C
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- movs r0, 0
- bl set_callback1
- ldr r0, =c2_change_map
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =c2_load_new_map_2
- str r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_load_new_map
-
- thumb_func_start c2_load_new_map_2
-c2_load_new_map_2: @ 8085FFC
- push {lr}
- ldr r0, =gUnknown_030026F8
- bl do_load_map_stuff_loop
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_load_new_map_2
-
- thumb_func_start sub_8086024
-sub_8086024: @ 8086024
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08086046
- bl sub_808631C
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- movs r0, 0
- bl set_callback1
-_08086046:
- adds r0, r4, 0
- movs r1, 0x1
- bl load_map_stuff
- cmp r0, 0
- beq _08086062
- bl SetFieldVBlankCallback
- ldr r0, =c1_overworld
- bl set_callback1
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08086062:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086024
-
- thumb_func_start sub_8086074
-sub_8086074: @ 8086074
- push {lr}
- bl sub_808631C
- ldr r0, =gFieldCallback
- ldr r1, =sub_80AF314
- str r1, [r0]
- ldr r0, =c2_80567AC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086074
-
- thumb_func_start c2_80567AC
-c2_80567AC: @ 8086098
- push {lr}
- ldr r0, =gUnknown_030026F8
- bl map_loading_iteration_3
- cmp r0, 0
- beq _080860B8
- bl SetFieldVBlankCallback
- ldr r0, =c1_link_related
- bl set_callback1
- bl sub_8086C2C
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_080860B8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_80567AC
-
- thumb_func_start c2_exit_to_overworld_2_switch
-c2_exit_to_overworld_2_switch: @ 80860C8
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _080860E0
- ldr r0, =c2_exit_to_overworld_2_link
- bl SetMainCallback2
- b _080860EA
- .pool
-_080860E0:
- bl sub_808631C
- ldr r0, =c2_exit_to_overworld_2_local
- bl SetMainCallback2
-_080860EA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_switch
-
- thumb_func_start c2_exit_to_overworld_2_local
-c2_exit_to_overworld_2_local: @ 80860F4
- push {lr}
- ldr r0, =gUnknown_030026F8
- bl sub_8086638
- cmp r0, 0
- beq _0808610A
- bl SetFieldVBlankCallback
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_0808610A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_local
-
- thumb_func_start c2_exit_to_overworld_2_link
-c2_exit_to_overworld_2_link: @ 8086118
- push {lr}
- bl sub_8087598
- cmp r0, 0
- bne _08086132
- ldr r0, =gUnknown_030026F8
- bl map_loading_iteration_2_link
- cmp r0, 0
- beq _08086132
- ldr r0, =c2_overworld
- bl SetMainCallback2
-_08086132:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_2_link
-
- thumb_func_start c2_8056854
-c2_8056854: @ 8086140
- push {lr}
- bl sub_808631C
- bl StopMapMusic
- ldr r0, =c1_link_related
- bl set_callback1
- bl sub_8086C2C
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086174
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF314
- b _08086178
- .pool
-_08086174:
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF214
-_08086178:
- str r0, [r1]
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_8056854
-
- thumb_func_start sub_8086194
-sub_8086194: @ 8086194
- push {lr}
- bl sub_808631C
- ldr r1, =gUnknown_03005DB0
- ldr r0, =sub_80AF6A4
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086194
-
- thumb_func_start sub_80861B0
-sub_80861B0: @ 80861B0
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF188
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80861B0
-
- thumb_func_start c2_exit_to_overworld_1_continue_scripts_restart_music
-c2_exit_to_overworld_1_continue_scripts_restart_music: @ 80861CC
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF168
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_exit_to_overworld_1_continue_scripts_restart_music
-
- thumb_func_start sub_80861E8
-sub_80861E8: @ 80861E8
- push {lr}
- bl sub_808631C
- ldr r1, =gFieldCallback
- ldr r0, =sub_80AF3C8
- str r0, [r1]
- bl c2_exit_to_overworld_2_switch
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80861E8
-
- thumb_func_start sub_8086204
-sub_8086204: @ 8086204
- push {lr}
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0xF8
- ands r0, r1
- cmp r0, 0x8
- bne _08086222
- bl sub_80E909C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086222
- bl AddMapNamePopUpWindowTask
-_08086222:
- bl sub_80AF3C8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086204
-
- thumb_func_start sub_8086230
-sub_8086230: @ 8086230
- push {r4,lr}
- bl sub_808631C
- bl StopMapMusic
- bl ResetSafariZoneFlag_
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0xFF
- bne _0808624A
- bl sub_81A3908
-_0808624A:
- bl set_current_map_header_from_sav1
- bl set_warp2_warp3_to_neg_1
- bl GetCurrentTrainerHillMapId
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _08086278
- bl sub_81AA2F8
- b _0808628A
- .pool
-_08086278:
- cmp r4, 0
- beq _08086286
- cmp r4, 0x6
- beq _08086286
- bl sub_81D5F48
- b _0808628A
-_08086286:
- bl CopyFieldObjectTemplateCoordsToSav1
-_0808628A:
- bl UnfreezeMapObjects
- bl DoTimeBasedEvents
- bl sub_8084788
- ldr r0, =gMapHeader
- ldrh r1, [r0, 0x12]
- ldr r0, =0x00000169
- cmp r1, r0
- bne _080862B0
- movs r0, 0x1
- bl battle_pyramid_map_load_related
- b _080862BE
- .pool
-_080862B0:
- cmp r4, 0
- beq _080862BA
- bl trainer_hill_map_load_related
- b _080862BE
-_080862BA:
- bl sub_8087D74
-_080862BE:
- bl PlayTimeCounter_Start
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl sub_8195E10
- bl sav2_x1_query_bit1
- cmp r0, 0x1
- bne _080862F4
- bl sav2_x9_clear_bit1
- bl warp1_set_to_sav1w
- bl warp_in
- bl sub_80EDB44
- ldr r0, =c2_load_new_map
- bl SetMainCallback2
- b _08086308
- .pool
-_080862F4:
- bl sub_80EDB44
- ldr r0, =gFieldCallback
- ldr r1, =sub_8086204
- str r1, [r0]
- ldr r0, =c1_overworld
- bl set_callback1
- bl c2_exit_to_overworld_2_switch
-_08086308:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086230
-
- thumb_func_start sub_808631C
-@ void sub_808631C()
-sub_808631C: @ 808631C
- push {r4,lr}
- bl warp0_in_pokecenter
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0808632E
- bl sub_80097E8
-_0808632E:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086348
- movs r0, 0xC5
- bl EnableInterrupts
- movs r0, 0x2
- bl DisableInterrupts
- b _08086362
- .pool
-_08086348:
- ldr r4, =0x04000208
- ldrh r3, [r4]
- strh r0, [r4]
- ldr r2, =0x04000200
- ldrh r1, [r2]
- ldr r0, =0x0000fffd
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- strh r3, [r4]
-_08086362:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808631C
-
- thumb_func_start SetFieldVBlankCallback
-@ void SetFieldVBlankCallback()
-SetFieldVBlankCallback: @ 8086380
- push {lr}
- ldr r0, =VBlankCB_Field
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end SetFieldVBlankCallback
-
- thumb_func_start VBlankCB_Field
-VBlankCB_Field: @ 8086390
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_80BA0A8
- bl FieldUpdateBgTilemapScroll
- bl TransferPlttBuffer
- bl TransferTilesetAnimsBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_Field
-
- thumb_func_start sub_80863B0
-sub_80863B0: @ 80863B0
- push {lr}
- bl sub_81A9E6C
- lsls r0, 24
- cmp r0, 0
- beq _080863D4
- bl door_upload_tiles
- ldr r2, =gUnknown_08339DBC
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80BA038
- b _080863F0
- .pool
-_080863D4:
- bl sav1_get_flash_used_on_map
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080863F0
- bl sub_80B00E8
- ldr r2, =gUnknown_08339DBC
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80BA038
-_080863F0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80863B0
-
- thumb_func_start map_loading_iteration_3
-map_loading_iteration_3: @ 80863F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _08086404
- b _08086512
-_08086404:
- lsls r0, 2
- ldr r1, =_08086414
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086414:
- .4byte _0808644C
- .4byte _08086462
- .4byte _0808646A
- .4byte _08086472
- .4byte _08086484
- .4byte _08086492
- .4byte _08086498
- .4byte _080864A8
- .4byte _080864B8
- .4byte _080864D4
- .4byte _080864DA
- .4byte _080864E0
- .4byte _080864FC
- .4byte _0808650E
-_0808644C:
- bl overworld_bg_setup
- bl ScriptContext1_Init
- bl ScriptContext2_Disable
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086506
-_08086462:
- movs r0, 0x1
- bl mli0_load_map
- b _08086506
-_0808646A:
- movs r0, 0x1
- bl sub_8086988
- b _08086506
-_08086472:
- bl sub_8086AE4
- bl sub_80869DC
- bl sub_8086B14
- bl sub_8086AAC
- b _08086506
-_08086484:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086506
-_08086492:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086506
-_08086498:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086506
- .pool
-_080864A8:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086506
- .pool
-_080864B8:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08086512
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086506
- .pool
-_080864D4:
- bl DrawWholeMapView
- b _08086506
-_080864DA:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086506
-_080864E0:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086506
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- b _08086506
- .pool
-_080864FC:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _08086512
-_08086506:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08086512
-_0808650E:
- movs r0, 0x1
- b _08086514
-_08086512:
- movs r0, 0
-_08086514:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end map_loading_iteration_3
-
- thumb_func_start load_map_stuff
-@ int load_map_stuff(u8 *a1, int a2)
-load_map_stuff: @ 808651C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _0808652A
- b _0808662E
-_0808652A:
- lsls r0, 2
- ldr r1, =_08086538
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086538:
- .4byte _08086570
- .4byte _0808657C
- .4byte _08086586
- .4byte _0808658E
- .4byte _08086598
- .4byte _080865A6
- .4byte _080865AC
- .4byte _080865BC
- .4byte _080865CC
- .4byte _080865E8
- .4byte _080865EE
- .4byte _080865F4
- .4byte _08086618
- .4byte _0808662A
-_08086570:
- bl sub_808631C
- adds r0, r5, 0
- bl mli0_load_map
- b _08086622
-_0808657C:
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086622
-_08086586:
- adds r0, r5, 0
- bl sub_8086988
- b _08086622
-_0808658E:
- bl mli4_mapscripts_and_other
- bl sub_8086A80
- b _08086622
-_08086598:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086622
-_080865A6:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086622
-_080865AC:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086622
- .pool
-_080865BC:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086622
- .pool
-_080865CC:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0808662E
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086622
- .pool
-_080865E8:
- bl DrawWholeMapView
- b _08086622
-_080865EE:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086622
-_080865F4:
- ldr r0, =gMapHeader
- ldrb r1, [r0, 0x1A]
- movs r0, 0xF8
- ands r0, r1
- cmp r0, 0x8
- bne _08086622
- bl sub_80E909C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086622
- bl AddMapNamePopUpWindowTask
- b _08086622
- .pool
-_08086618:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _0808662E
-_08086622:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0808662E
-_0808662A:
- movs r0, 0x1
- b _08086630
-_0808662E:
- movs r0, 0
-_08086630:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end load_map_stuff
-
- thumb_func_start sub_8086638
-sub_8086638: @ 8086638
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0808666E
- cmp r0, 0x1
- bgt _0808664C
- cmp r0, 0
- beq _08086656
- b _0808668E
-_0808664C:
- cmp r0, 0x2
- beq _08086678
- cmp r0, 0x3
- beq _0808668A
- b _0808668E
-_08086656:
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- movs r0, 0
- bl sub_8086988
- bl sub_8086A68
- bl sub_8086A80
- b _08086682
-_0808666E:
- bl sub_8086860
- bl sub_81D64C0
- b _08086682
-_08086678:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _0808668E
-_08086682:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0808668E
-_0808668A:
- movs r0, 0x1
- b _08086690
-_0808668E:
- movs r0, 0
-_08086690:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086638
-
- thumb_func_start map_loading_iteration_2_link
-map_loading_iteration_2_link: @ 8086698
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bls _080866A4
- b _080867A8
-_080866A4:
- lsls r0, 2
- ldr r1, =_080866B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080866B4:
- .4byte _080866EC
- .4byte _080866FA
- .4byte _08086702
- .4byte _08086710
- .4byte _0808671E
- .4byte _08086724
- .4byte _08086734
- .4byte _08086744
- .4byte _08086760
- .4byte _08086766
- .4byte _08086792
- .4byte _0808676C
- .4byte _08086788
- .4byte _0808679A
-_080866EC:
- bl sub_808631C
- bl MoveSaveBlocks_ResetHeap_
- bl sub_80867D8
- b _08086792
-_080866FA:
- movs r0, 0x1
- bl sub_8086988
- b _08086792
-_08086702:
- bl sub_8086B9C
- bl sub_8086A68
- bl sub_8086AC8
- b _08086792
-_08086710:
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- b _08086792
-_0808671E:
- bl move_tilemap_camera_to_upper_left_corner
- b _08086792
-_08086724:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset1_to_vram
- b _08086792
- .pool
-_08086734:
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl copy_map_tileset2_to_vram
- b _08086792
- .pool
-_08086744:
- bl free_temp_tile_data_buffers_if_possible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080867A8
- ldr r0, =gMapHeader
- ldr r0, [r0]
- bl apply_map_tileset1_tileset2_palette
- b _08086792
- .pool
-_08086760:
- bl DrawWholeMapView
- b _08086792
-_08086766:
- bl cur_mapheader_run_tileset_funcs_after_some_cpuset
- b _08086792
-_0808676C:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086792
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- b _08086792
- .pool
-_08086788:
- bl map_post_load_hook_exec
- lsls r0, 24
- cmp r0, 0
- beq _080867A8
-_08086792:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080867A8
-_0808679A:
- bl SetFieldVBlankCallback
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- b _080867AA
-_080867A8:
- movs r0, 0
-_080867AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end map_loading_iteration_2_link
-
- thumb_func_start do_load_map_stuff_loop
-do_load_map_stuff_loop: @ 80867B0
- push {r4,lr}
- adds r4, r0, 0
-_080867B4:
- adds r0, r4, 0
- movs r1, 0
- bl load_map_stuff
- cmp r0, 0
- beq _080867B4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end do_load_map_stuff_loop
-
- thumb_func_start MoveSaveBlocks_ResetHeap_
-MoveSaveBlocks_ResetHeap_: @ 80867C8
- push {lr}
- bl sub_81BE6AC
- bl MoveSaveBlocks_ResetHeap
- pop {r0}
- bx r0
- thumb_func_end MoveSaveBlocks_ResetHeap_
-
- thumb_func_start sub_80867D8
-sub_80867D8: @ 80867D8
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl remove_some_task
- ldr r2, =0x05000002
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08086816:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _08086816
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- bl LoadOam
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80867D8
-
- thumb_func_start sub_8086860
-sub_8086860: @ 8086860
- push {lr}
- bl sub_80863B0
- bl map_loading_lcd_reset
- bl sub_8197200
- bl mapdata_load_assets_to_gpu_and_full_redraw
- pop {r0}
- bx r0
- thumb_func_end sub_8086860
-
- thumb_func_start map_loading_lcd_reset
-map_loading_lcd_reset: @ 8086878
- push {r4,lr}
- bl clear_scheduled_bg_copies_to_vram
- bl reset_temp_tile_data_buffers
- movs r0, 0x4C
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001f1f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00000101
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0xFF
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0xFF
- bl SetGpuReg
- ldr r4, =0x0000ffff
- movs r0, 0x42
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r4, 0
- bl SetGpuReg
- ldr r0, =gUnknown_82EC7C4
- ldrh r1, [r0, 0x2]
- ldrh r2, [r0, 0x4]
- orrs r1, r2
- ldrh r0, [r0, 0x6]
- orrs r1, r0
- movs r2, 0x82
- lsls r2, 5
- adds r0, r2, 0
- orrs r1, r0
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x0000070d
- movs r0, 0x52
- bl SetGpuReg
- bl overworld_bg_setup
- movs r0, 0x1
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0x3
- bl schedule_bg_copy_tilemap_to_vram
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r1, =0x00007060
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- bl sub_8098128
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end map_loading_lcd_reset
-
- thumb_func_start sub_8086988
-sub_8086988: @ 8086988
- push {r4,lr}
- adds r4, r0, 0
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl dp12_8087EA4
- bl dp13_810BB8C
- bl ResetCameraUpdateInfo
- bl InstallCameraPanAheadCallback
- cmp r4, 0
- bne _080869B4
- movs r0, 0
- bl npc_paltag_set_load
- b _080869BA
-_080869B4:
- movs r0, 0x1
- bl npc_paltag_set_load
-_080869BA:
- bl FieldEffectActiveListClear
- bl sub_80AAFA4
- bl sub_80AEE84
- cmp r4, 0
- bne _080869CE
- bl overworld_ensure_per_step_coros_running
-_080869CE:
- bl mapheader_run_script_with_tag_x5
- bl sub_81BE6B8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086988
-
- thumb_func_start sub_80869DC
-sub_80869DC: @ 80869DC
- push {lr}
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03005DE8
- strh r1, [r0]
- bl sub_808D438
- movs r0, 0
- movs r1, 0
- bl SpawnFieldObjectsInView
- bl mapheader_run_first_tag4_script_list_match
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80869DC
-
- thumb_func_start mli4_mapscripts_and_other
-mli4_mapscripts_and_other: @ 8086A04
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gUnknown_03005DEC
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gUnknown_03005DE8
- strh r1, [r0]
- bl sub_808D438
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- bl sub_80852D4
- adds r5, r0, 0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldrb r2, [r5, 0x1]
- ldr r3, =gSaveBlock2Ptr
- ldr r3, [r3]
- ldrb r3, [r3, 0x8]
- bl InitPlayerAvatar
- ldrb r0, [r5]
- bl SetPlayerAvatarTransitionFlags
- bl player_avatar_init_params_reset
- movs r0, 0
- movs r1, 0
- bl SpawnFieldObjectsInView
- bl mapheader_run_first_tag4_script_list_match
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mli4_mapscripts_and_other
-
- thumb_func_start sub_8086A68
-sub_8086A68: @ 8086A68
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_808E16C
- bl sub_80FBED0
- bl mapheader_run_script_with_tag_x7
- pop {r0}
- bx r0
- thumb_func_end sub_8086A68
-
- thumb_func_start sub_8086A80
-sub_8086A80: @ 8086A80
- push {lr}
- ldr r2, =gMapObjects
- ldr r3, =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldrb r0, [r3, 0x4]
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086A80
-
- thumb_func_start sub_8086AAC
-sub_8086AAC: @ 8086AAC
- push {lr}
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- bl sub_8087858
- lsls r0, 24
- lsrs r0, 24
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AAC
-
- thumb_func_start sub_8086AC8
-sub_8086AC8: @ 8086AC8
- push {lr}
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- bl sub_8087858
- lsls r0, 24
- lsrs r0, 24
- bl InitCameraUpdateCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AC8
-
- thumb_func_start sub_8086AE4
-sub_8086AE4: @ 8086AE4
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- mov r2, sp
- ldr r0, =gUnknown_03005DB4
- ldrb r1, [r0]
- ldrh r0, [r2]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4]
- bl sub_8088B3C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086AE4
-
- thumb_func_start sub_8086B14
-sub_8086B14: @ 8086B14
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sav1_camera_get_focus_coords
- mov r3, sp
- mov r2, sp
- ldr r0, =gUnknown_03005DB4
- ldrb r1, [r0]
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r3]
- movs r6, 0
- ldr r0, =gUnknown_03005DB8
- mov r8, r4
- ldrb r0, [r0]
- cmp r6, r0
- bcs _08086B7E
- ldr r7, =gLinkPlayers
-_08086B44:
- lsls r5, r6, 24
- lsrs r5, 24
- mov r0, sp
- ldrh r1, [r0]
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- mov r0, r8
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r4, r6, 3
- subs r4, r6
- lsls r4, 2
- adds r4, r7
- ldrb r3, [r4, 0x13]
- adds r0, r5, 0
- bl sub_80876F0
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8087BCC
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08086B44
-_08086B7E:
- bl sub_8086C40
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086B14
-
- thumb_func_start sub_8086B9C
-sub_8086B9C: @ 8086B9C
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08086BCA
- ldr r5, =gLinkPlayers
-_08086BAA:
- lsls r0, r4, 24
- lsrs r0, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- ldrb r1, [r1]
- bl sub_8087BCC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08086BAA
-_08086BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086B9C
-
- thumb_func_start c1_link_related
-c1_link_related: @ 8086BD8
- push {r4,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086BF2
- bl sub_800F0B8
- cmp r0, 0
- beq _08086BF2
- bl sub_8009F3C
- cmp r0, 0
- bne _08086C14
-_08086BF2:
- ldr r0, =gUnknown_03005DB4
- ldrb r4, [r0]
- ldr r0, =gUnknown_03003020
- adds r1, r4, 0
- bl sub_8086F38
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_8086FA0
- bl sub_8086C40
-_08086C14:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c1_link_related
-
- thumb_func_start sub_8086C2C
-sub_8086C2C: @ 8086C2C
- push {lr}
- bl sub_8086C90
- ldr r0, =sub_80870B0
- bl c1_link_related_func_set
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C2C
-
- thumb_func_start sub_8086C40
-sub_8086C40: @ 8086C40
- push {lr}
- ldr r0, =gUnknown_03003020
- bl sub_808709C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C40
-
- thumb_func_start c1_link_related_func_set
-c1_link_related_func_set: @ 8086C50
- ldr r2, =gUnknown_03000E19
- movs r1, 0
- strb r1, [r2]
- ldr r1, =gUnknown_03000E14
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end c1_link_related_func_set
-
- thumb_func_start sub_8086C64
-sub_8086C64: @ 8086C64
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086C82
- ldr r1, =gUnknown_03000E19
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3C
- bls _08086C82
- bl sub_8010198
-_08086C82:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C64
-
- thumb_func_start sub_8086C90
-sub_8086C90: @ 8086C90
- push {lr}
- ldr r1, =gUnknown_03000E10
- movs r2, 0x80
- adds r0, r1, 0x3
-_08086C98:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08086C98
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086C90
-
- thumb_func_start sub_8086CA8
-sub_8086CA8: @ 8086CA8
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r2, [r0]
- movs r1, 0
- cmp r1, r2
- bge _08086CD6
- ldr r4, =gUnknown_03000E10
-_08086CBA:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- beq _08086CD0
- movs r0, 0
- b _08086CD8
- .pool
-_08086CD0:
- adds r1, 0x1
- cmp r1, r2
- blt _08086CBA
-_08086CD6:
- movs r0, 0x1
-_08086CD8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086CA8
-
- thumb_func_start sub_8086CE0
-sub_8086CE0: @ 8086CE0
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_03005DB8
- ldrb r2, [r0]
- movs r1, 0
- cmp r1, r2
- bge _08086D0E
- ldr r4, =gUnknown_03000E10
-_08086CF2:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _08086D08
- movs r0, 0x1
- b _08086D10
- .pool
-_08086D08:
- adds r1, 0x1
- cmp r1, r2
- blt _08086CF2
-_08086D0E:
- movs r0, 0
-_08086D10:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8086CE0
-
- thumb_func_start sub_8086D18
-sub_8086D18: @ 8086D18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r2, 0
- mov r9, r3
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r0, =gUnknown_03000E10
- adds r5, r7, r0
- ldrb r0, [r5]
- cmp r0, 0x80
- beq _08086D38
- b _08086EB2
-_08086D38:
- adds r0, r6, 0
- bl sub_8087370
- adds r4, r0, 0
- cmp r4, 0
- beq _08086D70
- bl sub_8087480
- mov r1, r9
- strh r0, [r1]
- movs r0, 0x81
- strb r0, [r5]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- bne _08086D58
- b _08086F26
-_08086D58:
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- adds r0, r4, 0
- bl sub_8087530
- b _08086F26
- .pool
-_08086D70:
- movs r0, 0x83
- bl sub_8086CE0
- cmp r0, 0x1
- bne _08086D98
- movs r0, 0x81
- strb r0, [r5]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- bne _08086D86
- b _08086F26
-_08086D86:
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_8087584
- b _08086F26
- .pool
-_08086D98:
- mov r0, r8
- subs r0, 0x12
- cmp r0, 0xA
- bls _08086DA2
- b _08086EB2
-_08086DA2:
- lsls r0, 2
- ldr r1, =_08086DB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08086DB0:
- .4byte _08086E08
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086EB2
- .4byte _08086DDC
- .4byte _08086E34
- .4byte _08086EB2
- .4byte _08086E64
- .4byte _08086E90
-_08086DDC:
- adds r0, r6, 0
- bl sub_8087358
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_808751C
- b _08086EB2
- .pool
-_08086E08:
- adds r0, r6, 0
- bl sub_8087388
- cmp r0, 0x1
- bne _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- bl sub_808754C
- b _08086EB2
- .pool
-_08086E34:
- adds r0, r6, 0
- bl sub_80873B4
- adds r4, r0, 0
- cmp r4, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- adds r0, r4, 0
- bl sub_8087568
- b _08086EB2
- .pool
-_08086E64:
- adds r0, r6, 0
- bl sub_8087340
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_808711C
- bl c1_link_related_func_set
- bl sub_8087510
- b _08086EB2
- .pool
-_08086E90:
- adds r0, r6, 0
- bl sub_8087340
- cmp r0, 0
- beq _08086EB2
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x81
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086EB2
- ldr r0, =sub_8087140
- bl c1_link_related_func_set
- bl sub_8087510
-_08086EB2:
- mov r0, r8
- cmp r0, 0x17
- beq _08086ED8
- cmp r0, 0x17
- bgt _08086ECC
- cmp r0, 0x16
- beq _08086EE8
- b _08086F26
- .pool
-_08086ECC:
- mov r1, r8
- cmp r1, 0x1A
- beq _08086EF8
- cmp r1, 0x1D
- beq _08086F18
- b _08086F26
-_08086ED8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x83
- strb r1, [r0]
- b _08086F26
- .pool
-_08086EE8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x82
- strb r1, [r0]
- b _08086F26
- .pool
-_08086EF8:
- ldr r0, =gUnknown_03000E10
- adds r0, r7, r0
- movs r1, 0x80
- strb r1, [r0]
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08086F26
- ldr r0, =sub_80870B0
- bl c1_link_related_func_set
- b _08086F26
- .pool
-_08086F18:
- ldr r0, =gUnknown_03000E10
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0x82
- bne _08086F26
- movs r0, 0x81
- strb r0, [r1]
-_08086F26:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086D18
-
- thumb_func_start sub_8086F38
-sub_8086F38: @ 8086F38
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r1
- movs r6, 0
- add r5, sp, 0x10
- mov r9, r5
- adds r7, r0, 0
-_08086F4C:
- ldrb r4, [r7]
- movs r0, 0
- strh r0, [r5]
- adds r0, r6, 0
- mov r1, r8
- mov r2, sp
- bl sub_80872D8
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r5, 0
- bl sub_8086D18
- ldr r0, =gUnknown_03000E10
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08086F7C
- adds r0, r4, 0
- bl sub_8087068
- mov r1, r9
- strh r0, [r1]
-_08086F7C:
- lsls r0, r6, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_808796C
- adds r7, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08086F4C
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086F38
-
- thumb_func_start sub_8086FA0
-sub_8086FA0: @ 8086FA0
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, =0xffef0000
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC
- bhi _08086FC0
- ldr r0, =gUnknown_03005DA8
- strh r4, [r0]
- b _08086FC6
- .pool
-_08086FC0:
- ldr r1, =gUnknown_03005DA8
- movs r0, 0x11
- strh r0, [r1]
-_08086FC6:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086FFC
- bl sub_8087690
- cmp r0, 0x1
- bls _08086FFC
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _08086FFC
- bl sub_8009F3C
- cmp r0, 0x1
- bne _08086FFC
- cmp r4, 0x11
- blt _08086FFC
- cmp r4, 0x15
- ble _08086FF6
- cmp r4, 0x19
- bgt _08086FFC
- cmp r4, 0x18
- blt _08086FFC
-_08086FF6:
- ldr r1, =gUnknown_03005DA8
- movs r0, 0
- strh r0, [r1]
-_08086FFC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8086FA0
-
- thumb_func_start sub_808700C
-sub_808700C: @ 808700C
- push {lr}
- ldr r2, =gMain
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08087024
- movs r0, 0x13
- b _08087064
- .pool
-_08087024:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08087030
- movs r0, 0x12
- b _08087064
-_08087030:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808703C
- movs r0, 0x14
- b _08087064
-_0808703C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08087048
- movs r0, 0x15
- b _08087064
-_08087048:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08087056
- movs r0, 0x18
- b _08087064
-_08087056:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08087062
- movs r0, 0x11
- b _08087064
-_08087062:
- movs r0, 0x19
-_08087064:
- pop {r1}
- bx r1
- thumb_func_end sub_808700C
-
- thumb_func_start sub_8087068
-sub_8087068: @ 8087068
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x13
- beq _0808708E
- cmp r0, 0x13
- bgt _0808707E
- cmp r0, 0x12
- beq _08087092
- b _08087096
-_0808707E:
- cmp r1, 0x14
- beq _0808708A
- cmp r1, 0x15
- bne _08087096
- movs r0, 0x4
- b _08087098
-_0808708A:
- movs r0, 0x3
- b _08087098
-_0808708E:
- movs r0, 0x1
- b _08087098
-_08087092:
- movs r0, 0x2
- b _08087098
-_08087096:
- movs r0, 0
-_08087098:
- pop {r1}
- bx r1
- thumb_func_end sub_8087068
-
- thumb_func_start sub_808709C
-sub_808709C: @ 808709C
- push {lr}
- movs r2, 0x11
- adds r1, r0, 0x6
-_080870A2:
- strh r2, [r1]
- subs r1, 0x2
- cmp r1, r0
- bge _080870A2
- pop {r0}
- bx r0
- thumb_func_end sub_808709C
-
- thumb_func_start sub_80870B0
-sub_80870B0: @ 80870B0
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080870C4
- movs r0, 0x11
- b _080870E6
-_080870C4:
- bl sub_800B4DC
- cmp r0, 0x4
- bls _080870D0
- movs r0, 0x1B
- b _080870E6
-_080870D0:
- bl sub_8087690
- cmp r0, 0x4
- bls _080870DC
- movs r0, 0x1C
- b _080870E6
-_080870DC:
- adds r0, r4, 0
- bl sub_808700C
- lsls r0, 16
- lsrs r0, 16
-_080870E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80870B0
-
- thumb_func_start sub_80870EC
-sub_80870EC: @ 80870EC
- push {lr}
- bl sub_8086C64
- movs r0, 0x11
- pop {r1}
- bx r1
- thumb_func_end sub_80870EC
-
- thumb_func_start sub_80870F8
-sub_80870F8: @ 80870F8
- push {r4,lr}
- bl ScriptContext2_IsEnabled
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x11
- cmp r0, 0x1
- beq _08087110
- movs r4, 0x1A
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087110:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80870F8
-
- thumb_func_start sub_808711C
-sub_808711C: @ 808711C
- push {r4,lr}
- bl sub_800B4DC
- movs r4, 0x11
- cmp r0, 0x2
- bhi _08087134
- movs r4, 0x1A
- bl ScriptContext2_Disable
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087134:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808711C
-
- thumb_func_start sub_8087140
-sub_8087140: @ 8087140
- push {r4,lr}
- bl sub_8087690
- movs r4, 0x11
- cmp r0, 0x2
- bhi _08087158
- movs r4, 0x1A
- bl ScriptContext2_Disable
- ldr r0, =sub_80870EC
- bl c1_link_related_func_set
-_08087158:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087140
-
- thumb_func_start sub_8087164
-sub_8087164: @ 8087164
- push {lr}
- bl sub_8086C64
- movs r0, 0x11
- pop {r1}
- bx r1
- thumb_func_end sub_8087164
-
- thumb_func_start sub_8087170
-sub_8087170: @ 8087170
- push {lr}
- ldr r1, =gUnknown_03000E10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x82
- bne _080871A0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080871A4
- ldr r0, =sub_8087164
- bl c1_link_related_func_set
- movs r0, 0x1D
- b _080871A6
- .pool
-_080871A0:
- bl sub_8086C64
-_080871A4:
- movs r0, 0x11
-_080871A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8087170
-
- thumb_func_start sub_80871AC
-sub_80871AC: @ 80871AC
- push {lr}
- ldr r0, =sub_8087170
- bl c1_link_related_func_set
- movs r0, 0x16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871AC
-
- thumb_func_start sub_80871C0
-sub_80871C0: @ 80871C0
- movs r0, 0x11
- bx lr
- thumb_func_end sub_80871C0
-
- thumb_func_start sub_80871C4
-sub_80871C4: @ 80871C4
- push {lr}
- ldr r1, =gUnknown_03000E10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x83
- beq _080871D4
- bl sub_8086C64
-_080871D4:
- movs r0, 0x83
- bl sub_8086CA8
- cmp r0, 0x1
- bne _080871EA
- ldr r0, =gUnknown_08277513
- bl ScriptContext1_SetupScript
- ldr r0, =sub_80871C0
- bl c1_link_related_func_set
-_080871EA:
- movs r0, 0x11
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871C4
-
- thumb_func_start sub_80871FC
-sub_80871FC: @ 80871FC
- push {lr}
- ldr r0, =sub_80871C4
- bl c1_link_related_func_set
- movs r0, 0x17
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80871FC
-
- thumb_func_start sub_8087210
-sub_8087210: @ 8087210
- movs r0, 0x11
- bx lr
- thumb_func_end sub_8087210
-
- thumb_func_start sub_8087214
-sub_8087214: @ 8087214
- push {lr}
- movs r0, 0x83
- bl sub_8086CE0
- cmp r0, 0x1
- beq _08087250
- ldr r0, =gUnknown_03000E14
- ldr r2, [r0]
- ldr r1, =sub_8087170
- adds r3, r0, 0
- cmp r2, r1
- bne _0808723A
- ldr r1, =gUnknown_03000E10
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x82
- bne _08087272
-_0808723A:
- ldr r1, [r3]
- ldr r0, =sub_8087164
- cmp r1, r0
- bne _08087268
- ldr r1, =gUnknown_03000E10
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _08087268
-_08087250:
- movs r0, 0x2
- b _08087278
- .pool
-_08087268:
- movs r0, 0x82
- bl sub_8086CA8
- cmp r0, 0
- bne _08087276
-_08087272:
- movs r0, 0
- b _08087278
-_08087276:
- movs r0, 0x1
-_08087278:
- pop {r1}
- bx r1
- thumb_func_end sub_8087214
-
- thumb_func_start sub_808727C
-sub_808727C: @ 808727C
- push {lr}
- movs r0, 0x83
- bl sub_8086CE0
- pop {r1}
- bx r1
- thumb_func_end sub_808727C
-
- thumb_func_start sub_8087288
-sub_8087288: @ 8087288
- push {lr}
- ldr r0, =sub_80871AC
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087288
-
- thumb_func_start sub_808729C
-sub_808729C: @ 808729C
- push {lr}
- ldr r0, =sub_80870F8
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_808729C
-
- thumb_func_start sub_80872B0
-sub_80872B0: @ 80872B0
- push {lr}
- ldr r0, =sub_80871FC
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80872B0
-
- thumb_func_start sub_80872C4
-sub_80872C4: @ 80872C4
- push {lr}
- ldr r0, =sub_8087210
- bl c1_link_related_func_set
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80872C4
-
- thumb_func_start sub_80872D8
-sub_80872D8: @ 80872D8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- strb r4, [r6]
- movs r0, 0
- cmp r4, r1
- bne _080872EA
- movs r0, 0x1
-_080872EA:
- strb r0, [r6, 0x1]
- ldr r1, =gLinkPlayerMapObjects
- lsls r0, r4, 2
- adds r0, r1
- ldrb r0, [r0, 0x3]
- strb r0, [r6, 0x2]
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80878A0
- strb r0, [r6, 0x3]
- mov r5, sp
- adds r5, 0x2
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_8087878
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r6, 0x4]
- ldrh r0, [r5]
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- bl sub_80878C0
- strb r0, [r6, 0x8]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- strh r0, [r6, 0xC]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80872D8
-
- thumb_func_start sub_8087340
-sub_8087340: @ 8087340
- push {lr}
- ldrb r0, [r0, 0x2]
- cmp r0, 0x2
- beq _0808734C
- cmp r0, 0
- bne _08087350
-_0808734C:
- movs r0, 0x1
- b _08087352
-_08087350:
- movs r0, 0
-_08087352:
- pop {r1}
- bx r1
- thumb_func_end sub_8087340
-
- thumb_func_start sub_8087358
-sub_8087358: @ 8087358
- push {lr}
- ldrb r0, [r0, 0x2]
- cmp r0, 0x2
- beq _08087364
- cmp r0, 0
- bne _08087368
-_08087364:
- movs r0, 0x1
- b _0808736A
-_08087368:
- movs r0, 0
-_0808736A:
- pop {r1}
- bx r1
- thumb_func_end sub_8087358
-
- thumb_func_start sub_8087370
-sub_8087370: @ 8087370
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x2
- bne _08087382
- adds r0, r1, 0x4
- bl sub_809D0F4
- b _08087384
-_08087382:
- movs r0, 0
-_08087384:
- pop {r1}
- bx r1
- thumb_func_end sub_8087370
-
- thumb_func_start sub_8087388
-sub_8087388: @ 8087388
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _08087396
- cmp r0, 0
- bne _080873AC
-_08087396:
- ldrb r0, [r4, 0xC]
- bl MetatileBehavior_IsSouthArrowWarp
- lsls r0, 24
- cmp r0, 0
- beq _080873AC
- ldrb r0, [r4, 0x3]
- cmp r0, 0x1
- bne _080873AC
- movs r0, 0x1
- b _080873AE
-_080873AC:
- movs r0, 0
-_080873AE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087388
-
- thumb_func_start sub_80873B4
-sub_80873B4: @ 80873B4
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080873C8
- cmp r0, 0x2
- beq _080873C8
- movs r0, 0
- b _08087476
-_080873C8:
- ldr r0, [r4, 0x4]
- ldr r1, [r4, 0x8]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r3, =gUnknown_08339D64
- ldrb r0, [r4, 0x3]
- lsls r0, 3
- adds r0, r3
- ldr r0, [r0]
- mov r1, sp
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, =0xffff0000
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- asrs r1, r2, 16
- ldrb r0, [r4, 0x3]
- lsls r0, 3
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- adds r0, r1
- lsls r0, 16
- ldr r1, =0x0000ffff
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldr r2, =0xffffff00
- ldr r0, [sp, 0x4]
- ands r0, r2
- str r0, [sp, 0x4]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_808790C
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r1, 0x4
- beq _0808746C
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08087434
- ldr r0, =gUnknown_03000E10
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _08087450
-_08087434:
- ldr r0, =gUnknown_0827749C
- b _08087476
- .pool
-_08087450:
- adds r0, r2, 0
- bl sub_80B39D4
- cmp r0, 0
- bne _08087464
- ldr r0, =gUnknown_0827747E
- b _08087476
- .pool
-_08087464:
- ldr r0, =gUnknown_0827748D
- b _08087476
- .pool
-_0808746C:
- ldrb r1, [r4, 0xC]
- ldrb r2, [r4, 0x3]
- mov r0, sp
- bl sub_809C2C8
-_08087476:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80873B4
-
- thumb_func_start sub_8087480
-sub_8087480: @ 8087480
- push {lr}
- adds r1, r0, 0
- ldr r0, =gUnknown_08277388
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_082773A3
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_082773BE
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_082773D9
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_0827741D
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_08277432
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_08277447
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_0827745C
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_08277374
- cmp r1, r0
- beq _080874C6
- ldr r0, =gUnknown_0827737E
- cmp r1, r0
- beq _08087508
- ldr r0, =gUnknown_082773F5
- cmp r1, r0
- bne _080874F8
-_080874C6:
- movs r0, 0xA
- b _0808750A
- .pool
-_080874F8:
- ldr r0, =gUnknown_082773FF
- cmp r1, r0
- beq _08087508
- movs r0, 0
- b _0808750A
- .pool
-_08087508:
- movs r0, 0x9
-_0808750A:
- pop {r1}
- bx r1
- thumb_func_end sub_8087480
-
- thumb_func_start sub_8087510
-sub_8087510: @ 8087510
- push {lr}
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_8087510
-
- thumb_func_start sub_808751C
-sub_808751C: @ 808751C
- push {lr}
- movs r0, 0x6
- bl PlaySE
- bl sub_809FA9C
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- thumb_func_end sub_808751C
-
- thumb_func_start sub_8087530
-sub_8087530: @ 8087530
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087530
-
- thumb_func_start sub_808754C
-sub_808754C: @ 808754C
- push {lr}
- movs r0, 0x6
- bl PlaySE
- ldr r0, =gUnknown_082774EF
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808754C
-
- thumb_func_start sub_8087568
-sub_8087568: @ 8087568
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087568
-
- thumb_func_start sub_8087584
-sub_8087584: @ 8087584
- push {lr}
- ldr r0, =gUnknown_08277509
- bl ScriptContext1_SetupScript
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087584
-
- thumb_func_start sub_8087598
-sub_8087598: @ 8087598
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0
- bne _080875A6
- movs r0, 0
- b _080875C0
-_080875A6:
- bl sub_800B4DC
- cmp r0, 0x2
- bls _080875B8
- ldr r1, =gUnknown_03000E18
- movs r0, 0x1
- b _080875BC
- .pool
-_080875B8:
- ldr r1, =gUnknown_03000E18
- movs r0, 0
-_080875BC:
- strb r0, [r1]
- ldrb r0, [r1]
-_080875C0:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087598
-
- thumb_func_start sub_80875C8
-sub_80875C8: @ 80875C8
- push {lr}
- bl sub_800B4DC
- cmp r0, 0x1
- bls _0808762C
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _0808762C
- bl sub_8009F3C
- cmp r0, 0x1
- bne _0808762C
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- ldr r0, =sub_808711C
- cmp r1, r0
- beq _08087614
- ldr r0, =sub_80870F8
- cmp r1, r0
- bne _0808762C
- ldr r0, =gUnknown_03000E18
- ldrb r2, [r0]
- movs r1, 0
- strb r1, [r0]
- cmp r2, 0x1
- beq _08087614
- ldr r2, =gPaletteFade
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808762C
- ldrb r1, [r2, 0xA]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808762C
-_08087614:
- movs r0, 0x1
- b _0808762E
- .pool
-_0808762C:
- movs r0, 0
-_0808762E:
- pop {r1}
- bx r1
- thumb_func_end sub_80875C8
-
- thumb_func_start sub_8087634
-sub_8087634: @ 8087634
- push {lr}
- bl sub_8087690
- cmp r0, 0x1
- bls _08087658
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _08087658
- bl sub_8009F3C
- cmp r0, 0x1
- bne _08087658
- ldr r0, =gUnknown_03000E14
- ldr r1, [r0]
- ldr r0, =sub_8087140
- cmp r1, r0
- beq _08087664
-_08087658:
- movs r0, 0
- b _08087666
- .pool
-_08087664:
- movs r0, 0x1
-_08087666:
- pop {r1}
- bx r1
- thumb_func_end sub_8087634
-
- thumb_func_start sub_808766C
-sub_808766C: @ 808766C
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08087688
- bl sub_8009F3C
- cmp r0, 0
- beq _08087688
- movs r0, 0x1
- b _0808768A
- .pool
-_08087688:
- movs r0, 0
-_0808768A:
- pop {r1}
- bx r1
- thumb_func_end sub_808766C
-
- thumb_func_start sub_8087690
-sub_8087690: @ 8087690
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _080876B0
- ldr r0, =gUnknown_03003170
- ldr r1, =0x00000339
- adds r0, r1
- ldrb r0, [r0]
- b _080876B8
- .pool
-_080876B0:
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c1a
- adds r0, r1
- ldrb r0, [r0]
-_080876B8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8087690
-
- thumb_func_start sub_80876C4
-sub_80876C4: @ 80876C4
- movs r1, 0
- str r1, [r0]
- bx lr
- thumb_func_end sub_80876C4
-
- thumb_func_start strange_npc_table_clear
-strange_npc_table_clear: @ 80876CC
- push {lr}
- ldr r0, =gLinkPlayerMapObjects
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .pool
- thumb_func_end strange_npc_table_clear
-
- thumb_func_start sub_80876E0
-sub_80876E0: @ 80876E0
- push {lr}
- movs r1, 0
- movs r2, 0x24
- bl memset
- pop {r0}
- bx r0
- thumb_func_end sub_80876E0
-
- thumb_func_start sub_80876F0
-sub_80876F0: @ 80876F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r1
- mov r10, r2
- mov r8, r3
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r1, r10
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- bl sub_808D4F4
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, r7, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r4, r0
- lsls r5, r6, 3
- adds r5, r6
- lsls r5, 2
- ldr r0, =gMapObjects
- adds r5, r0
- adds r0, r4, 0
- bl sub_80876C4
- adds r0, r5, 0
- bl sub_80876E0
- movs r2, 0
- movs r1, 0x1
- movs r0, 0x1
- strb r0, [r4]
- strb r7, [r4, 0x1]
- strb r6, [r4, 0x2]
- strb r2, [r4, 0x3]
- ldrb r0, [r5]
- orrs r0, r1
- mov r2, r8
- ands r2, r1
- lsls r2, 1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- orrs r0, r2
- strb r0, [r5]
- movs r0, 0x2
- strb r0, [r5, 0x19]
- movs r0, 0x40
- strb r0, [r5, 0x4]
- mov r0, r9
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r1, r10
- lsls r1, 16
- asrs r1, 16
- mov r10, r1
- adds r0, r5, 0
- mov r1, r9
- mov r2, r10
- bl sub_808779C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80876F0
-
- thumb_func_start sub_808779C
-sub_808779C: @ 808779C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r1, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- strh r0, [r4, 0x14]
- strh r1, [r4, 0x16]
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0xC
- adds r3, r4, 0
- adds r3, 0xE
- bl sub_8093038
- ldrh r0, [r4, 0xC]
- adds r0, 0x8
- strh r0, [r4, 0xC]
- adds r0, r4, 0
- bl FieldObjectUpdateZCoord
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808779C
-
- thumb_func_start sub_80877DC
-sub_80877DC: @ 80877DC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080877FE
- ldrb r0, [r1, 0x2]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, =gMapObjects
- adds r1, r0
- strb r2, [r1, 0x19]
-_080877FE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80877DC
-
- thumb_func_start sub_808780C
-sub_808780C: @ 808780C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 22
- ldr r1, =gLinkPlayerMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0x40
- beq _08087838
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl DestroySprite
-_08087838:
- movs r0, 0
- strb r0, [r5]
- ldrb r1, [r4]
- subs r0, 0x2
- ands r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808780C
-
- thumb_func_start sub_8087858
-sub_8087858: @ 8087858
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x4]
- bx lr
- .pool
- thumb_func_end sub_8087858
-
- thumb_func_start sub_8087878
-sub_8087878: @ 8087878
- lsls r0, 24
- ldr r3, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r3
- ldrb r3, [r0, 0x2]
- lsls r0, r3, 3
- adds r0, r3
- lsls r0, 2
- ldr r3, =gMapObjects
- adds r0, r3
- ldrh r3, [r0, 0x10]
- strh r3, [r1]
- ldrh r0, [r0, 0x12]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_8087878
-
- thumb_func_start sub_80878A0
-sub_80878A0: @ 80878A0
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x19]
- bx lr
- .pool
- thumb_func_end sub_80878A0
-
- thumb_func_start sub_80878C0
-sub_80878C0: @ 80878C0
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0xB]
- lsls r0, 28
- lsrs r0, 28
- bx lr
- .pool
- thumb_func_end sub_80878C0
-
- thumb_func_start sub_80878E4
-sub_80878E4: @ 80878E4
- lsls r0, 24
- ldr r1, =gLinkPlayerMapObjects
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- adds r0, 0x21
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x10
- subs r0, r1
- bx lr
- .pool
- thumb_func_end sub_80878E4
-
- thumb_func_start sub_808790C
-sub_808790C: @ 808790C
- push {r4-r6,lr}
- movs r2, 0
- ldr r5, =gLinkPlayerMapObjects
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
-_0808791A:
- lsls r0, r2, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- beq _08087958
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _0808792E
- cmp r0, 0x2
- bne _08087958
-_0808792E:
- ldrb r1, [r1, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r1, r0, r1
- movs r6, 0x10
- ldrsh r0, [r1, r6]
- cmp r0, r4
- bne _08087958
- movs r6, 0x12
- ldrsh r0, [r1, r6]
- cmp r0, r3
- bne _08087958
- adds r0, r2, 0
- b _08087964
- .pool
-_08087958:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0808791A
- movs r0, 0x4
-_08087964:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808790C
-
- thumb_func_start sub_808796C
-sub_808796C: @ 808796C
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- adds r2, r3, 0
- lsrs r0, 22
- ldr r1, =gLinkPlayerMapObjects
- adds r5, r0, r1
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrb r0, [r5]
- cmp r0, 0
- beq _080879C8
- cmp r3, 0xA
- bls _080879A4
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- b _080879C8
- .pool
-_080879A4:
- ldr r4, =gUnknown_08339E00
- ldr r1, =gUnknown_08339DC8
- ldrb r0, [r5, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl _call_via_r2
-_080879C8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_808796C
-
- thumb_func_start sub_80879D8
-sub_80879D8: @ 80879D8
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldr r4, =gUnknown_08339DD4
- lsls r3, r2, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80879D8
-
- thumb_func_start sub_80879F8
-sub_80879F8: @ 80879F8
- movs r0, 0x1
- bx lr
- thumb_func_end sub_80879F8
-
- thumb_func_start sub_80879FC
-sub_80879FC: @ 80879FC
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldr r4, =gUnknown_08339DD4
- lsls r3, r2, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80879FC
-
- thumb_func_start sub_8087A1C
-sub_8087A1C: @ 8087A1C
- movs r0, 0
- bx lr
- thumb_func_end sub_8087A1C
-
- thumb_func_start sub_8087A20
-sub_8087A20: @ 8087A20
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- ldrb r1, [r5, 0x19]
- bl npc_something3
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x19]
- mov r6, sp
- adds r6, 0x2
- adds r0, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl FieldObjectMoveDestCoords
- ldrb r0, [r4, 0x2]
- ldrb r1, [r5, 0x19]
- mov r2, sp
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r4, 0
- ldrsh r3, [r6, r4]
- bl npc_080587EC
- lsls r0, 24
- cmp r0, 0
- bne _08087A7E
- adds r1, r5, 0
- adds r1, 0x21
- movs r0, 0x10
- strb r0, [r1]
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0
- ldrsh r2, [r6, r3]
- adds r0, r5, 0
- bl npc_coords_shift
- adds r0, r5, 0
- bl FieldObjectUpdateZCoord
- movs r0, 0x1
- b _08087A80
-_08087A7E:
- movs r0, 0
-_08087A80:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8087A20
-
- thumb_func_start sub_8087A88
-sub_8087A88: @ 8087A88
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- ldrb r1, [r4, 0x19]
- bl npc_something3
- strb r0, [r4, 0x19]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087A88
-
- thumb_func_start sub_8087AA0
-sub_8087AA0: @ 8087AA0
- movs r1, 0
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end sub_8087AA0
-
- thumb_func_start sub_8087AA8
-sub_8087AA8: @ 8087AA8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r4, 0
- adds r5, 0x21
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- movs r0, 0x1
- strb r0, [r6, 0x3]
- ldrb r0, [r4, 0x19]
- adds r1, 0xC
- adds r2, r4, 0
- adds r2, 0xE
- bl MoveCoords
- ldrb r0, [r5]
- cmp r0, 0
- bne _08087AD8
- adds r0, r4, 0
- bl npc_coords_shift_still
- movs r0, 0x2
- strb r0, [r6, 0x3]
-_08087AD8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087AA8
-
- thumb_func_start npc_something3
-npc_something3: @ 8087AE0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- subs r0, 0x1
- cmp r0, 0x9
- bhi _08087B38
- lsls r0, 2
- ldr r1, =_08087B00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08087B00:
- .4byte _08087B28
- .4byte _08087B2C
- .4byte _08087B30
- .4byte _08087B34
- .4byte _08087B38
- .4byte _08087B38
- .4byte _08087B28
- .4byte _08087B2C
- .4byte _08087B30
- .4byte _08087B34
-_08087B28:
- movs r0, 0x2
- b _08087B3A
-_08087B2C:
- movs r0, 0x1
- b _08087B3A
-_08087B30:
- movs r0, 0x3
- b _08087B3A
-_08087B34:
- movs r0, 0x4
- b _08087B3A
-_08087B38:
- adds r0, r2, 0
-_08087B3A:
- pop {r1}
- bx r1
- thumb_func_end npc_something3
-
- thumb_func_start npc_080587EC
-npc_080587EC: @ 8087B40
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 16
- lsrs r2, 16
- mov r12, r2
- lsls r3, 16
- movs r4, 0
- ldr r0, =gMapObjects
- mov r9, r0
- lsrs r2, r3, 16
- mov r10, r2
- asrs r6, r3, 16
-_08087B64:
- mov r7, r12
- lsls r3, r7, 16
- mov r0, r10
- lsls r5, r0, 16
- cmp r4, r8
- beq _08087BA8
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- mov r2, r9
- adds r1, r0, r2
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- asrs r2, r3, 16
- cmp r0, r2
- bne _08087B8C
- movs r7, 0x12
- ldrsh r0, [r1, r7]
- cmp r0, r6
- beq _08087B9E
-_08087B8C:
- movs r7, 0x14
- ldrsh r0, [r1, r7]
- cmp r0, r2
- bne _08087BA8
- movs r0, 0x16
- ldrsh r1, [r1, r0]
- asrs r0, r5, 16
- cmp r1, r0
- bne _08087BA8
-_08087B9E:
- movs r0, 0x1
- b _08087BBE
- .pool
-_08087BA8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08087B64
- asrs r0, r3, 16
- asrs r1, r5, 16
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
-_08087BBE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end npc_080587EC
-
- thumb_func_start sub_8087BCC
-sub_8087BCC: @ 8087BCC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, r5, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r2, r0
- ldrb r1, [r2, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- beq _08087C7A
- subs r0, r3, 0x1
- cmp r0, 0x4
- bhi _08087C56
- lsls r0, 2
- ldr r1, =_08087C0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08087C0C:
- .4byte _08087C2C
- .4byte _08087C2C
- .4byte _08087C38
- .4byte _08087C20
- .4byte _08087C20
-_08087C20:
- ldrb r0, [r4]
- lsls r0, 30
- lsrs r0, 31
- bl sub_808BD6C
- b _08087C44
-_08087C2C:
- ldrb r0, [r4]
- lsls r0, 30
- lsrs r0, 31
- bl sub_808BD7C
- b _08087C44
-_08087C38:
- ldrb r1, [r4]
- lsls r1, 30
- lsrs r1, 31
- movs r0, 0
- bl sub_808BD3C
-_08087C44:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =sub_8087C8C
- movs r2, 0
- str r2, [sp]
- movs r3, 0
- bl AddPseudoFieldObject
- strb r0, [r4, 0x4]
-_08087C56:
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- strh r5, [r0, 0x2E]
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
-_08087C7A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8087BCC
-
- thumb_func_start sub_8087C8C
-sub_8087C8C: @ 8087C8C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- lsls r4, 2
- ldr r0, =gLinkPlayerMapObjects
- adds r4, r0
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r6, r0, r1
- ldrh r0, [r6, 0xC]
- strh r0, [r5, 0x20]
- ldrh r0, [r6, 0xE]
- strh r0, [r5, 0x22]
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- adds r1, r5, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- ldrb r0, [r6, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- bne _08087CF8
- ldrb r0, [r6, 0x19]
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- b _08087D0A
- .pool
-_08087CF8:
- ldrb r0, [r6, 0x19]
- bl get_go_image_anim_num
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnimIfDifferent
-_08087D0A:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80979D4
- ldrb r0, [r6]
- lsls r0, 29
- cmp r0, 0
- bge _08087D3C
- ldrh r0, [r5, 0x3C]
- movs r1, 0x4
- ands r1, r0
- lsls r1, 16
- adds r3, r5, 0
- adds r3, 0x3E
- lsrs r1, 18
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r5, 0x3C]
- adds r0, 0x1
- strh r0, [r5, 0x3C]
-_08087D3C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087C8C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/link.s b/asm/rom_8011DC0.s
index d2dc05630..fd2cccca3 100644
--- a/asm/link.s
+++ b/asm/rom_8011DC0.s
@@ -5,23228 +5,6 @@
.text
- thumb_func_start sub_80093CC
-sub_80093CC: @ 80093CC
- push {lr}
- bl sub_800B488
- bl sub_800E700
- bl sub_800BEC0
- ldr r1, =0x00008001
- cmp r0, r1
- beq _080093F4
- bl sub_800B4A4
- bl sub_80097E8
- bl RestoreSerialTimer3IntrHandlers
- movs r0, 0
- b _080093FE
- .pool
-_080093F4:
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- movs r0, 0x1
-_080093FE:
- pop {r1}
- bx r1
- thumb_func_end sub_80093CC
-
- thumb_func_start sub_8009404
-sub_8009404: @ 8009404
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- thumb_func_end sub_8009404
-
- thumb_func_start sub_8009414
-sub_8009414: @ 8009414
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r4, [sp, 0x18]
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gLinkTestDigitsPal
- lsls r1, r5, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r3, =0x040000d4
- ldr r0, =gLinkTestDigitsGfx
- str r0, [r3]
- lsls r2, r7, 14
- lsls r0, r4, 5
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- adds r2, r0
- str r2, [r3, 0x4]
- ldr r0, =0x80000110
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- ldr r0, =gUnknown_03003130
- str r6, [r0]
- str r5, [r0, 0x4]
- str r4, [r0, 0x8]
- mov r0, r8
- cmp r0, 0x2
- beq _0800949E
- cmp r0, 0x2
- bgt _08009484
- cmp r0, 0x1
- beq _0800948C
- b _080094C0
- .pool
-_08009484:
- mov r0, r8
- cmp r0, 0x3
- beq _080094B0
- b _080094C0
-_0800948C:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xA
- bl SetGpuReg
- b _080094C0
-_0800949E:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xC
- bl SetGpuReg
- b _080094C0
-_080094B0:
- lsls r1, r6, 8
- movs r0, 0x1
- orrs r1, r0
- lsls r0, r7, 2
- orrs r1, r0
- movs r0, 0xE
- bl SetGpuReg
-_080094C0:
- mov r0, r8
- lsls r4, r0, 2
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl SetGpuReg
- adds r4, 0x12
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetGpuReg
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8009414
-
- thumb_func_start sub_80094EC
-sub_80094EC: @ 80094EC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r6, r1, 0
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gLinkTestDigitsPal
- mov r2, r8
- lsls r1, r2, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r2, =0x040000d4
- ldr r0, =gLinkTestDigitsGfx
- str r0, [r2]
- lsls r0, r5, 14
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, =0x80000110
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gUnknown_03003130
- str r4, [r0]
- mov r1, r8
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- ldr r0, =gUnknown_082ED1D0
- adds r6, r0
- ldrb r0, [r6]
- lsls r4, 8
- lsls r5, 2
- orrs r4, r5
- adds r1, r4, 0
- bl SetGpuReg
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80094EC
-
- thumb_func_start sub_8009570
-sub_8009570: @ 8009570
- push {r4,lr}
- sub sp, 0x4
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, =sub_80096BC
- bl SetVBlankCallback
- bl sub_800A2E0
- ldr r1, =gUnknown_020229C6
- ldr r2, =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_8009734
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_080095A0:
- bl Random
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080095A0
- movs r4, 0
- str r4, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0
- bl sub_8009414
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, =sub_8009404
- movs r1, 0
- bl CreateTask
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, =gUnknown_03000D60
- str r4, [r0]
- bl sub_8009638
- ldr r0, =task00_link_test
- movs r1, 0
- bl CreateTask
- ldr r0, =c2_08009A8C
- bl SetMainCallback2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009570
-
- thumb_func_start sub_8009628
-sub_8009628: @ 8009628
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_020229CC
- strh r0, [r1, 0x18]
- bx lr
- .pool
- thumb_func_end sub_8009628
-
- thumb_func_start sub_8009638
-sub_8009638: @ 8009638
- push {r4,r5,lr}
- ldr r5, =gUnknown_020229CC
- ldr r4, =gSaveBlock2Ptr
- ldr r1, [r4]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- orrs r2, r0
- str r2, [r5, 0x4]
- adds r0, r5, 0
- adds r0, 0x8
- bl StringCopy
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- strb r0, [r5, 0x13]
- ldr r0, =gUnknown_020229C6
- ldrh r0, [r0]
- str r0, [r5, 0x14]
- ldr r0, =gGameLanguage
- ldrb r0, [r0]
- strh r0, [r5, 0x1A]
- ldr r0, =gGameVersion
- ldrb r0, [r0]
- movs r2, 0x80
- lsls r2, 7
- adds r1, r2, 0
- adds r0, r1
- strh r0, [r5]
- movs r0, 0x80
- lsls r0, 8
- strh r0, [r5, 0x2]
- bl IsNationalPokedexEnabled
- strb r0, [r5, 0x10]
- ldr r0, =0x0000087f
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0800969E
- ldrb r0, [r5, 0x10]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x10]
-_0800969E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009638
-
- thumb_func_start sub_80096BC
-sub_80096BC: @ 80096BC
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80096BC
-
- thumb_func_start sub_80096D0
-sub_80096D0: @ 80096D0
- push {lr}
- ldr r3, =gUnknown_020229C4
- ldr r1, =gUnknown_03003110
- ldr r2, =0x0000efff
- adds r0, r1, 0
- adds r0, 0xE
-_080096DC:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080096DC
- movs r0, 0x1
- strb r0, [r3]
- bl sub_800B594
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80096D0
-
- thumb_func_start task02_080097CC
-task02_080097CC: @ 80096FC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _08009726
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r2, 0
- bl DestroyTask
-_08009726:
- pop {r0}
- bx r0
- .pool
- thumb_func_end task02_080097CC
-
- thumb_func_start sub_8009734
-sub_8009734: @ 8009734
- push {r4-r6,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r4, [r0]
- cmp r4, 0
- bne _080097A8
- bl sub_800B628
- bl sub_80096D0
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A824
- str r0, [r1]
- ldr r0, =gUnknown_03002748
- strb r4, [r0]
- ldr r0, =gUnknown_0300306C
- strb r4, [r0]
- ldr r0, =gUnknown_030030F8
- strb r4, [r0]
- bl ResetBlockReceivedFlags
- bl sub_800A2E0
- ldr r0, =gUnknown_03000D54
- str r4, [r0]
- ldr r0, =gUnknown_030030E8
- strb r4, [r0]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
- ldr r0, =gUnknown_030030F4
- strh r4, [r0]
- ldr r0, =task02_080097CC
- movs r1, 0x2
- bl CreateTask
- b _080097AC
- .pool
-_080097A8:
- bl sub_800E700
-_080097AC:
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- movs r1, 0
- ldr r6, =gUnknown_03003078
- movs r2, 0
- movs r5, 0x1
- ldr r4, =gUnknown_030030F0
- ldr r3, =gUnknown_030030EC
-_080097BE:
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r1, r4
- strb r2, [r0]
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x3
- ble _080097BE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009734
-
- thumb_func_start sub_80097E8
-sub_80097E8: @ 80097E8
- push {r4,lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- movs r4, 0
- strb r4, [r0]
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080097FC
- bl sub_800EDD4
-_080097FC:
- ldr r0, =gUnknown_020229C4
- strb r4, [r0]
- bl sub_800B53C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80097E8
-
- thumb_func_start sub_8009818
-sub_8009818: @ 8009818
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, =gUnknown_03000D64
- ldr r4, =gUnknown_03000D10
- ldrb r0, [r5]
- ldrh r1, [r4]
- cmp r0, r1
- beq _0800983C
- ldrh r0, [r4]
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0x2
- bl sub_800A6E8
- ldrh r0, [r4]
- strb r0, [r5]
-_0800983C:
- movs r5, 0
- ldr r7, =gUnknown_03000D20
-_08009840:
- ldr r0, =gUnknown_03000D68
- adds r6, r5, r0
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r7
- ldrb r0, [r6]
- ldrh r1, [r4]
- cmp r0, r1
- beq _08009868
- ldrh r0, [r4]
- adds r2, r5, 0x4
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x2
- movs r3, 0x2
- bl sub_800A6E8
- ldrh r0, [r4]
- strb r0, [r6]
-_08009868:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08009840
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bne _080098CE
- movs r5, 0
- ldr r0, =gUnknown_03000D20
- mov r9, r0
- ldr r1, =0x00000342
- mov r8, r1
-_08009888:
- adds r0, r7, 0
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080098C4
- lsls r0, r5, 8
- ldr r1, =gBlockRecvBuffer
- adds r0, r1
- lsls r4, r5, 1
- adds r1, r4, r5
- lsls r1, 2
- add r1, r9
- ldrh r1, [r1, 0x2]
- bl sub_800A648
- ldr r1, =gUnknown_03003148
- adds r4, r1
- movs r6, 0
- strh r0, [r4]
- adds r0, r5, 0
- bl ResetBlockReceivedFlag
- ldrh r0, [r4]
- cmp r0, r8
- beq _080098C4
- ldr r0, =gUnknown_020223BC
- strb r6, [r0]
- ldr r0, =gUnknown_020223BD
- strb r6, [r0]
-_080098C4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08009888
-_080098CE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009818
-
- thumb_func_start sub_8009900
-sub_8009900: @ 8009900
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08009916
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
-_08009916:
- ldrh r1, [r4, 0x2C]
- movs r5, 0x2
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0800992A
- ldr r0, =0x02004000
- ldr r1, =0x00002004
- bl sub_800A2F4
-_0800992A:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08009946
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_08009946:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08009956
- movs r0, 0x1
- bl sub_800B330
-_08009956:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08009968
- movs r0, 0x1
- bl TrySavingData
-_08009968:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08009976
- bl sub_800AC34
-_08009976:
- ldr r0, =gUnknown_020223BC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009996
- ldr r2, [r4, 0x24]
- ldr r0, =gUnknown_03002748
- ldrb r1, [r0]
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- bne _08009990
- movs r0, 0x10
- orrs r1, r0
-_08009990:
- adds r0, r2, 0
- bl sub_800A994
-_08009996:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009900
-
- thumb_func_start c2_08009A8C
-c2_08009A8C: @ 80099BC
- push {lr}
- bl sub_8009900
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_8009818
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end c2_08009A8C
-
- thumb_func_start sub_80099E0
-sub_80099E0: @ 80099E0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_020229C4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080099F4
- movs r0, 0
- b _08009A3C
- .pool
-_080099F4:
- movs r1, 0
- ldr r5, =gUnknown_03003084
- ldr r3, =gUnknown_03003110
- movs r2, 0
-_080099FC:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _080099FC
- ldrh r0, [r4]
- strh r0, [r5]
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08009A38
- ldr r0, =0x04000128
- ldr r0, [r0]
- lsls r0, 26
- lsrs r0, 30
- bl sub_8009AA0
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- beq _08009A34
- bl _call_via_r0
-_08009A34:
- bl sub_800AEB4
-_08009A38:
- ldr r0, =gUnknown_030030E0
- ldrh r0, [r0]
-_08009A3C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80099E0
-
- thumb_func_start sub_8009A58
-sub_8009A58: @ 8009A58
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- ldr r1, =gUnknown_03003078
- adds r0, r1
- strb r5, [r0]
- movs r4, 0
- adds r6, r1, 0
- b _08009A78
- .pool
-_08009A70:
- adds r0, r4, r6
- ldrb r0, [r0]
- adds r5, r0
- adds r4, 0x1
-_08009A78:
- bl sub_800ABAC
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08009A70
- cmp r5, 0
- bne _08009A94
- ldr r1, =gReceivedRemoteLinkPlayers
- ldrb r0, [r1]
- cmp r0, 0
- bne _08009A94
- movs r0, 0x1
- strb r0, [r1]
-_08009A94:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009A58
-
- thumb_func_start sub_8009AA0
-sub_8009AA0: @ 8009AA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
-_08009AAE:
- ldr r0, =gUnknown_03003020
- lsls r1, r6, 1
- adds r3, r1, r0
- movs r0, 0
- strh r0, [r3]
- lsls r4, r6, 4
- ldr r5, =gUnknown_03003090
- adds r2, r4, r5
- ldrh r0, [r2]
- mov r12, r1
- adds r7, r6, 0x1
- str r7, [sp]
- cmp r0, 0
- bne _08009ACC
- b _08009D6E
-_08009ACC:
- ldrh r1, [r2]
- ldr r0, =0x00005fff
- cmp r1, r0
- bne _08009AD6
- b _08009D20
-_08009AD6:
- cmp r1, r0
- bgt _08009B24
- ldr r0, =0x00004444
- cmp r1, r0
- bne _08009AE2
- b _08009D64
-_08009AE2:
- cmp r1, r0
- bgt _08009B10
- ldr r0, =0x00002222
- cmp r1, r0
- beq _08009B68
- ldr r0, =0x00002ffe
- cmp r1, r0
- bne _08009AF4
- b _08009D28
-_08009AF4:
- b _08009D6E
- .pool
-_08009B10:
- ldr r0, =0x00005555
- cmp r1, r0
- beq _08009BB8
- adds r0, 0x11
- cmp r1, r0
- beq _08009BB8
- b _08009D6E
- .pool
-_08009B24:
- ldr r0, =0x0000bbbb
- cmp r1, r0
- beq _08009BC4
- cmp r1, r0
- bgt _08009B4C
- ldr r0, =0x00008888
- cmp r1, r0
- beq _08009BF0
- ldr r0, =0x0000aaaa
- cmp r1, r0
- bne _08009B3C
- b _08009D38
-_08009B3C:
- b _08009D6E
- .pool
-_08009B4C:
- ldr r0, =0x0000cafe
- cmp r1, r0
- bne _08009B54
- b _08009D64
-_08009B54:
- ldr r0, =0x0000cccc
- cmp r1, r0
- bne _08009B5C
- b _08009D3E
-_08009B5C:
- b _08009D6E
- .pool
-_08009B68:
- bl sub_8009638
- ldr r0, =gUnknown_03003030
- adds r2, r0, 0
- adds r2, 0x10
- ldr r1, =gUnknown_020229CC
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldr r1, [r1]
- str r1, [r2]
- ldr r4, =gASCIIGameFreakInc
- adds r2, r0, 0
- adds r1, r4, 0
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldrh r3, [r1]
- strh r3, [r2]
- ldrb r1, [r1, 0x2]
- strb r1, [r2, 0x2]
- adds r1, r0, 0
- adds r1, 0x2C
- ldm r4!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldrh r2, [r4]
- strh r2, [r1]
- ldrb r2, [r4, 0x2]
- strb r2, [r1, 0x2]
- movs r1, 0x3C
- bl sub_800A2F4
- b _08009D6E
- .pool
-_08009BB8:
- ldr r1, =gUnknown_030030E8
- movs r0, 0x1
- strb r0, [r1]
- b _08009D6E
- .pool
-_08009BC4:
- mov r7, r12
- adds r1, r7, r6
- lsls r1, 2
- ldr r0, =gUnknown_03000D20
- adds r1, r0
- movs r2, 0
- strh r2, [r1]
- ldr r0, =gUnknown_03003090
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- ldr r0, =gUnknown_03003090
- adds r0, 0x4
- adds r0, r4, r0
- ldrh r0, [r0]
- strb r0, [r1, 0x9]
- b _08009D6E
- .pool
-_08009BF0:
- mov r3, r12
- adds r0, r3, r6
- lsls r0, 2
- ldr r5, =gUnknown_03000D20
- adds r3, r0, r5
- ldrh r1, [r3, 0x2]
- movs r0, 0x80
- lsls r0, 1
- adds r7, r5, 0
- mov r10, r7
- cmp r1, r0
- bls _08009C40
- ldr r0, =0x0201c000
- mov r8, r0
- movs r2, 0
- adds r5, r3, 0
- ldr r7, =gUnknown_03003090
- adds r3, r4, 0
-_08009C14:
- ldrh r1, [r5]
- lsrs r1, 1
- adds r1, r2
- lsls r1, 1
- add r1, r8
- adds r2, 0x1
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, 0x6
- bls _08009C14
- b _08009C70
- .pool
-_08009C40:
- movs r2, 0
- ldr r1, =gBlockRecvBuffer
- mov r9, r1
- adds r7, r3, 0
- ldr r3, =gUnknown_03003090
- mov r8, r3
- lsls r5, r6, 8
- adds r3, r4, 0
-_08009C50:
- ldrh r1, [r7]
- lsrs r1, 1
- adds r1, r2
- lsls r1, 1
- adds r1, r5
- add r1, r9
- adds r2, 0x1
- lsls r0, r2, 1
- adds r0, r3
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r2, 16
- cmp r2, 0x6
- bls _08009C50
-_08009C70:
- mov r4, r12
- adds r1, r4, r6
- lsls r1, 2
- add r1, r10
- ldrh r0, [r1]
- adds r0, 0xE
- movs r3, 0
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x2]
- cmp r0, r1
- bcc _08009D6E
- ldr r0, =gUnknown_03003078
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08009D16
- lsls r1, r6, 8
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- mov r8, r1
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r1, =gLinkPlayers
- adds r2, r0, r1
- adds r1, r2, 0
- mov r0, r8
- adds r0, 0x10
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r2]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08009CCA
- strb r3, [r2, 0x12]
- strb r3, [r2, 0x11]
- strb r3, [r2, 0x10]
-_08009CCA:
- adds r0, r2, 0
- bl sub_800B524
- ldr r5, =gASCIIGameFreakInc
- mov r0, r8
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- bne _08009CEC
- mov r0, r8
- adds r0, 0x2C
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _08009D0C
-_08009CEC:
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
- b _08009D6E
- .pool
-_08009D0C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8009A58
- b _08009D6E
-_08009D16:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_800A588
- b _08009D6E
-_08009D20:
- ldr r0, =gUnknown_030030F0
- b _08009D2A
- .pool
-_08009D28:
- ldr r0, =gUnknown_030030EC
-_08009D2A:
- adds r0, r6, r0
- movs r1, 0x1
- strb r1, [r0]
- b _08009D6E
- .pool
-_08009D38:
- bl sub_800A418
- b _08009D6E
-_08009D3E:
- ldr r3, =gUnknown_082ED1A8
- ldr r0, =gUnknown_03003090
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r2, [r0]
- lsls r2, 3
- adds r0, r2, r3
- ldr r1, [r0]
- adds r3, 0x4
- adds r2, r3
- ldrh r2, [r2]
- movs r0, 0
- bl SendBlock
- b _08009D6E
- .pool
-_08009D64:
- ldr r0, =gUnknown_03003090
- adds r0, 0x2
- adds r0, r4, r0
- ldrh r0, [r0]
- strh r0, [r3]
-_08009D6E:
- ldr r5, [sp]
- lsls r0, r5, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bhi _08009D7A
- b _08009AAE
-_08009D7A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009AA0
-
- thumb_func_start sub_8009D90
-sub_8009D90: @ 8009D90
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =0x00006666
- cmp r2, r0
- beq _08009E60
- cmp r2, r0
- bgt _08009DF0
- ldr r0, =0x00004444
- cmp r2, r0
- beq _08009E4C
- cmp r2, r0
- bgt _08009DCC
- ldr r0, =0x00002222
- cmp r2, r0
- beq _08009E38
- ldr r0, =0x00002ffe
-_08009DB2:
- cmp r2, r0
- bne _08009DB8
- b _08009EE4
-_08009DB8:
- b _08009F06
- .pool
-_08009DCC:
- ldr r0, =0x00005566
- cmp r2, r0
- bne _08009DD4
- b _08009EE4
-_08009DD4:
- cmp r2, r0
- bgt _08009DE0
- subs r0, 0x11
- b _08009DB2
- .pool
-_08009DE0:
- ldr r0, =0x00005fff
- cmp r2, r0
- bne _08009DE8
- b _08009ED0
-_08009DE8:
- b _08009F06
- .pool
-_08009DF0:
- ldr r0, =0x0000aaab
- cmp r2, r0
- beq _08009EA8
- cmp r2, r0
- bgt _08009E10
- ldr r0, =0x00007777
- cmp r2, r0
- beq _08009E6C
- ldr r0, =0x0000aaaa
- b _08009DB2
- .pool
-_08009E10:
- ldr r0, =0x0000cafe
- cmp r2, r0
- beq _08009EF0
- cmp r2, r0
- bgt _08009E2C
- ldr r0, =0x0000bbbb
- cmp r2, r0
- beq _08009E8C
- b _08009F06
- .pool
-_08009E2C:
- ldr r0, =0x0000cccc
- cmp r2, r0
- beq _08009EBC
- b _08009F06
- .pool
-_08009E38:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- ldr r1, =gUnknown_020229C6
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009E4C:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- ldr r1, =gMain
- ldrh r1, [r1, 0x2C]
- b _08009F04
- .pool
-_08009E60:
- ldr r0, =gUnknown_03003110
- movs r1, 0
- b _08009F02
- .pool
-_08009E6C:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- movs r1, 0
- adds r3, r0, 0
- movs r2, 0xEE
-_08009E76:
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x4
- bls _08009E76
- b _08009F06
- .pool
-_08009E8C:
- ldr r1, =gUnknown_03003110
- strh r2, [r1]
- ldr r2, =gUnknown_03000D10
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0x2]
- ldrb r0, [r2, 0x9]
- adds r0, 0x80
- strh r0, [r1, 0x4]
- b _08009F06
- .pool
-_08009EA8:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- ldr r1, =gSpecialVar_ItemId
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009EBC:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- ldr r1, =gUnknown_03003150
- ldrb r1, [r1]
- b _08009F04
- .pool
-_08009ED0:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- ldr r1, =gUnknown_030030F4
- ldrh r1, [r1]
- b _08009F04
- .pool
-_08009EE4:
- ldr r0, =gUnknown_03003110
- strh r2, [r0]
- b _08009F06
- .pool
-_08009EF0:
- ldr r0, =gUnknown_03005DA8
- ldrh r1, [r0]
- cmp r1, 0
- beq _08009F06
- ldr r0, =gUnknown_030022B4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08009F06
- ldr r0, =gUnknown_03003110
-_08009F02:
- strh r2, [r0]
-_08009F04:
- strh r1, [r0, 0x2]
-_08009F06:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009D90
-
- thumb_func_start sub_8009F18
-sub_8009F18: @ 8009F18
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009F26
- bl sub_800F804
-_08009F26:
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_8009F70
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F18
-
- thumb_func_start sub_8009F3C
-sub_8009F3C: @ 8009F3C
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _08009F50
- bl sub_800F7E4
- b _08009F6A
- .pool
-_08009F50:
- ldr r0, =gUnknown_03003140
- ldr r1, [r0]
- ldr r0, =sub_8009F70
- cmp r1, r0
- beq _08009F68
- movs r0, 0
- b _08009F6A
- .pool
-_08009F68:
- movs r0, 0x1
-_08009F6A:
- pop {r1}
- bx r1
- thumb_func_end sub_8009F3C
-
- thumb_func_start sub_8009F70
-sub_8009F70: @ 8009F70
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08009F80
- ldr r0, =0x0000cafe
- bl sub_8009D90
-_08009F80:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F70
-
- thumb_func_start sub_8009F8C
-sub_8009F8C: @ 8009F8C
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r1, [r0]
- cmp r1, 0
- beq _08009FA0
- bl Rfu_set_zero
- b _08009FA4
- .pool
-_08009FA0:
- ldr r0, =gUnknown_03003140
- str r1, [r0]
-_08009FA4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009F8C
-
- thumb_func_start sub_8009FAC
-sub_8009FAC: @ 8009FAC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r1, [r0]
- cmp r1, 0
- beq _08009FC0
- bl Rfu_set_zero
- b _08009FC4
- .pool
-_08009FC0:
- ldr r0, =gUnknown_03003140
- str r1, [r0]
-_08009FC4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8009FAC
-
- thumb_func_start GetLinkPlayerCount
-GetLinkPlayerCount: @ 8009FCC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _08009FEC
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- b _08009FF4
- .pool
-_08009FEC:
- bl sub_80104F4
- lsls r0, 24
- lsrs r0, 24
-_08009FF4:
- pop {r1}
- bx r1
- thumb_func_end GetLinkPlayerCount
-
- thumb_func_start sub_8009FF8
-sub_8009FF8: @ 8009FF8
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- cmp r2, r4
- bge _0800A030
- movs r7, 0xFF
- ldr r3, =gLinkPlayers
-_0800A010:
- ldrh r0, [r3]
- adds r1, r7, 0
- ands r1, r0
- cmp r1, r6
- beq _0800A01E
- cmp r1, r5
- bne _0800A028
-_0800A01E:
- movs r0, 0x1
- b _0800A034
- .pool
-_0800A028:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, r4
- blt _0800A010
-_0800A030:
- movs r0, 0x1
- negs r0, r0
-_0800A034:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8009FF8
-
- thumb_func_start sub_800A03C
-sub_800A03C: @ 800A03C
- movs r0, 0x2
- bx lr
- thumb_func_end sub_800A03C
-
- thumb_func_start sub_800A040
-sub_800A040: @ 800A040
- push {lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0800A05A
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8009FF8
- cmp r0, 0
- bge _0800A05E
-_0800A05A:
- movs r0, 0
- b _0800A060
-_0800A05E:
- movs r0, 0x1
-_0800A060:
- pop {r1}
- bx r1
- thumb_func_end sub_800A040
-
- thumb_func_start sub_800A064
-sub_800A064: @ 800A064
- push {lr}
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8009FF8
- cmp r0, 0
- bge _0800A076
- movs r0, 0
- b _0800A078
-_0800A076:
- movs r0, 0x1
-_0800A078:
- pop {r1}
- bx r1
- thumb_func_end sub_800A064
-
- thumb_func_start sub_800A07C
-sub_800A07C: @ 800A07C
- push {lr}
- movs r0, 0x4
- movs r1, 0x5
- bl sub_8009FF8
- adds r2, r0, 0
- cmp r2, 0
- blt _0800A0A4
- ldr r0, =gLinkPlayers
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x1
- bne _0800A0A4
- movs r0, 0x1
- b _0800A0A6
- .pool
-_0800A0A4:
- movs r0, 0
-_0800A0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_800A07C
-
- thumb_func_start sub_800A0AC
-sub_800A0AC: @ 800A0AC
- push {lr}
- ldr r0, =gUnknown_03000D5C
- movs r1, 0
- str r1, [r0]
- ldr r0, =gUnknown_020229C8
- strh r1, [r0]
- bl sub_8009734
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A0AC
-
- thumb_func_start sub_800A0C8
-sub_800A0C8: @ 800A0C8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _0800A0DA
- b _0800A214
-_0800A0DA:
- bl sub_800ABAC
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bgt _0800A0EA
- cmp r0, r6
- ble _0800A0FC
-_0800A0EA:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x6
- str r0, [r1]
- b _0800A22E
- .pool
-_0800A0FC:
- bl GetLinkPlayerCount
- lsls r0, 24
- cmp r0, 0
- bne _0800A10E
- ldr r0, =gUnknown_0300306C
- strb r4, [r0]
- bl sub_80097E8
-_0800A10E:
- movs r6, 0
- ldr r4, =gLinkPlayers
- movs r5, 0
- b _0800A134
- .pool
-_0800A120:
- adds r0, r4, 0
- adds r0, 0x14
- adds r0, r5, r0
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- bne _0800A130
- adds r7, 0x1
-_0800A130:
- adds r5, 0x1C
- adds r6, 0x1
-_0800A134:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- blt _0800A120
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- bne _0800A1AC
- ldr r0, =gLinkPlayers
- ldr r1, [r0, 0x14]
- ldr r0, =0x00001133
- cmp r1, r0
- bne _0800A19C
- bl sub_807A728
- cmp r0, 0x1
- beq _0800A184
- cmp r0, 0x1
- bgt _0800A178
- cmp r0, 0
- beq _0800A19C
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A178:
- cmp r0, 0x2
- beq _0800A190
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A184:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x4
- b _0800A1A0
- .pool
-_0800A190:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x5
- b _0800A1A0
- .pool
-_0800A19C:
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x1
-_0800A1A0:
- str r0, [r1]
- adds r3, r1, 0
- b _0800A22C
- .pool
-_0800A1AC:
- ldr r6, =gUnknown_03000D5C
- movs r0, 0x3
- str r0, [r6]
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x14
- adds r1, r4
- ldr r5, [r1]
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldr r1, [r1]
- ldr r2, =0x00002266
- cmp r5, r2
- bne _0800A1EA
- ldr r0, =0x00002277
- cmp r1, r0
- beq _0800A1F6
-_0800A1EA:
- ldr r0, =0x00002277
- adds r3, r6, 0
- cmp r5, r0
- bne _0800A22C
- cmp r1, r2
- bne _0800A22C
-_0800A1F6:
- ldr r1, =gSpecialVar_0x8005
- movs r0, 0x3
- strh r0, [r1]
- ldr r3, =gUnknown_03000D5C
- b _0800A22C
- .pool
-_0800A214:
- ldr r0, =gUnknown_020229C8
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x96
- lsls r0, 18
- ldr r3, =gUnknown_03000D5C
- cmp r1, r0
- bls _0800A22C
- movs r0, 0x2
- str r0, [r3]
-_0800A22C:
- ldrb r0, [r3]
-_0800A22E:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A0C8
-
- thumb_func_start sub_800A23C
-sub_800A23C: @ 800A23C
- push {r4-r6,lr}
- movs r6, 0
- movs r4, 0
- ldr r5, =gLinkPlayers
- b _0800A26C
- .pool
-_0800A24C:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x14]
- cmp r1, r0
- bne _0800A266
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0800A266:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0800A26C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _0800A24C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0800A290
- movs r2, 0x1
- ldr r0, =gUnknown_03000D5C
- str r2, [r0]
- b _0800A298
- .pool
-_0800A290:
- movs r2, 0
- ldr r1, =gUnknown_03000D5C
- movs r0, 0x3
- str r0, [r1]
-_0800A298:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A23C
-
- thumb_func_start GetLinkPlayerTrainerId
-GetLinkPlayerTrainerId: @ 800A2A4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, 0x4
- adds r1, r2
- ldr r0, [r1]
- bx lr
- .pool
- thumb_func_end GetLinkPlayerTrainerId
-
- thumb_func_start sub_800A2BC
-sub_800A2BC: @ 800A2BC
- push {r4,r5,lr}
- ldr r5, =gLinkPlayers
- movs r4, 0x4
-_0800A2C2:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1C
- bl memset
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _0800A2C2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A2BC
-
- thumb_func_start sub_800A2E0
-sub_800A2E0: @ 800A2E0
- ldr r1, =gUnknown_03000D10
- movs r0, 0
- strb r0, [r1, 0x8]
- strh r0, [r1]
- strh r0, [r1, 0x2]
- str r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800A2E0
-
- thumb_func_start sub_800A2F4
-sub_800A2F4: @ 800A2F4
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r4, =gUnknown_03000D10
- ldrb r5, [r4, 0x8]
- cmp r5, 0
- beq _0800A30C
- movs r0, 0
- b _0800A34A
- .pool
-_0800A30C:
- bl GetMultiplayerId
- strb r0, [r4, 0x9]
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strh r6, [r4, 0x2]
- strh r5, [r4]
- adds r0, 0xFF
- cmp r6, r0
- bls _0800A324
- str r7, [r4, 0x4]
- b _0800A336
-_0800A324:
- ldr r5, =gUnknown_020228C4
- cmp r7, r5
- beq _0800A334
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
-_0800A334:
- str r5, [r4, 0x4]
-_0800A336:
- ldr r0, =0x0000bbbb
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A364
- str r0, [r1]
- ldr r1, =gUnknown_03000D50
- movs r0, 0
- str r0, [r1]
- movs r0, 0x1
-_0800A34A:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A2F4
-
- thumb_func_start sub_800A364
-sub_800A364: @ 800A364
- push {lr}
- ldr r1, =gUnknown_03000D50
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x2
- bls _0800A378
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A388
- str r0, [r1]
-_0800A378:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A364
-
- thumb_func_start sub_800A388
-sub_800A388: @ 800A388
- push {r4-r6,lr}
- ldr r0, =gUnknown_03000D10
- ldr r5, [r0, 0x4]
- ldr r2, =gUnknown_03003110
- ldr r1, =0x00008888
- strh r1, [r2]
- movs r3, 0
- adds r4, r0, 0
- adds r6, r4, 0
- adds r2, 0x2
-_0800A39C:
- lsls r0, r3, 1
- ldrh r1, [r6]
- adds r0, r1
- adds r0, r5
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r2]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x6
- ble _0800A39C
- ldrh r0, [r4]
- adds r0, 0xE
- strh r0, [r4]
- ldrh r1, [r4, 0x2]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _0800A3D0
- movs r0, 0
- strb r0, [r4, 0x8]
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A3EC
- str r0, [r1]
-_0800A3D0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A388
-
- thumb_func_start sub_800A3EC
-sub_800A3EC: @ 800A3EC
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800A3EC
-
- thumb_func_start sub_800A3F8
-sub_800A3F8: @ 800A3F8
- push {lr}
- bl GetMultiplayerId
- ldr r0, =0x00004444
- bl sub_8009D90
- ldr r1, =gUnknown_020223C0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A3F8
-
- thumb_func_start sub_800A418
-sub_800A418: @ 800A418
- push {lr}
- ldr r1, =gUnknown_020223C0
- movs r0, 0
- str r0, [r1]
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800A438
- bl sub_800F850
- b _0800A43E
- .pool
-_0800A438:
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800A3F8
- str r0, [r1]
-_0800A43E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A418
-
- thumb_func_start sub_800A44C
-sub_800A44C: @ 800A44C
- ldr r0, =gUnknown_020223C0
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800A44C
-
- thumb_func_start sub_800A458
-sub_800A458: @ 800A458
- push {lr}
- ldr r0, =0x0000aaaa
- bl sub_8009D90
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A458
-
- thumb_func_start GetMultiplayerId
-GetMultiplayerId: @ 800A468
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A484
- ldr r0, =0x04000128
- ldr r0, [r0]
- lsls r0, 26
- lsrs r0, 30
- b _0800A48C
- .pool
-_0800A484:
- bl rfu_get_multiplayer_id
- lsls r0, 24
- lsrs r0, 24
-_0800A48C:
- pop {r1}
- bx r1
- thumb_func_end GetMultiplayerId
-
- thumb_func_start bitmask_all_link_players_but_self
-bitmask_all_link_players_but_self: @ 800A490
- push {lr}
- bl GetMultiplayerId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- lsls r0, r1
- movs r1, 0xF
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end bitmask_all_link_players_but_self
-
- thumb_func_start SendBlock
-SendBlock: @ 800A4AC
- push {lr}
- adds r3, r1, 0
- lsls r2, 16
- lsrs r1, r2, 16
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A4C8
- adds r0, r3, 0
- bl sub_800A2F4
- b _0800A4CE
- .pool
-_0800A4C8:
- adds r0, r3, 0
- bl sub_800FE84
-_0800A4CE:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end SendBlock
-
- thumb_func_start sub_800A4D8
-sub_800A4D8: @ 800A4D8
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A4F8
- adds r0, r1, 0
- bl sub_8010100
- lsls r0, 24
- lsrs r0, 24
- b _0800A514
- .pool
-_0800A4F8:
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- beq _0800A508
- movs r0, 0
- b _0800A514
- .pool
-_0800A508:
- ldr r0, =gUnknown_03003150
- strb r2, [r0]
- ldr r0, =0x0000cccc
- bl sub_8009D90
- movs r0, 0x1
-_0800A514:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A4D8
-
- thumb_func_start sub_800A520
-sub_800A520: @ 800A520
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A538
- bl sub_8010500
- lsls r0, 24
- lsrs r0, 24
- b _0800A546
- .pool
-_0800A538:
- movs r1, 0
- ldr r0, =gUnknown_03003140
- ldr r0, [r0]
- cmp r0, 0
- bne _0800A544
- movs r1, 0x1
-_0800A544:
- adds r0, r1, 0
-_0800A546:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A520
-
- thumb_func_start GetBlockReceivedStatus
-GetBlockReceivedStatus: @ 800A550
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800A57C
- ldr r2, =gUnknown_0300307C
- ldrb r0, [r2, 0x3]
- lsls r0, 3
- ldrb r1, [r2, 0x2]
- lsls r1, 2
- orrs r0, r1
- ldrb r1, [r2, 0x1]
- lsls r1, 1
- orrs r0, r1
- ldrb r1, [r2]
- orrs r0, r1
- b _0800A580
- .pool
-_0800A57C:
- bl sub_800FCD8
-_0800A580:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetBlockReceivedStatus
-
- thumb_func_start sub_800A588
-sub_800A588: @ 800A588
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A5A4
- adds r0, r1, 0
- bl sub_800F6FC
- b _0800A5AC
- .pool
-_0800A5A4:
- ldr r0, =gUnknown_0300307C
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0]
-_0800A5AC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A588
-
- thumb_func_start ResetBlockReceivedFlags
-ResetBlockReceivedFlags: @ 800A5B4
- push {r4,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A5D4
- movs r4, 0
-_0800A5C0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_800F728
- adds r4, 0x1
- cmp r4, 0x4
- ble _0800A5C0
- b _0800A5E2
- .pool
-_0800A5D4:
- ldr r1, =gUnknown_0300307C
- movs r2, 0
- adds r0, r1, 0x3
-_0800A5DA:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _0800A5DA
-_0800A5E2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetBlockReceivedFlags
-
- thumb_func_start ResetBlockReceivedFlag
-ResetBlockReceivedFlag: @ 800A5EC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800A608
- adds r0, r1, 0
- bl sub_800F728
- b _0800A616
- .pool
-_0800A608:
- ldr r0, =gUnknown_0300307C
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800A616
- movs r0, 0
- strb r0, [r1]
-_0800A616:
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetBlockReceivedFlag
-
- thumb_func_start sub_800A620
-sub_800A620: @ 800A620
- push {lr}
- ldr r0, =gUnknown_030030E0
- ldr r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0800A63C
- movs r0, 0x1C
- ands r1, r0
- cmp r1, 0x4
- bls _0800A63C
- ldr r1, =gUnknown_03003144
- movs r0, 0x1
- strb r0, [r1]
-_0800A63C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A620
-
- thumb_func_start sub_800A648
-sub_800A648: @ 800A648
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- movs r3, 0
- movs r2, 0
- lsrs r1, 17
- cmp r3, r1
- bcs _0800A66E
-_0800A658:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r0, [r0]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _0800A658
-_0800A66E:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800A648
-
- thumb_func_start sub_800A678
-sub_800A678: @ 800A678
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- ldr r4, =gUnknown_03003130
- ldr r3, [r4]
- lsls r3, 11
- movs r5, 0xC0
- lsls r5, 19
- adds r3, r5
- lsrs r2, 19
- adds r2, r1
- lsls r2, 1
- adds r2, r3
- ldr r3, [r4, 0x4]
- lsls r3, 12
- ldr r1, [r4, 0x8]
- adds r1, 0x1
- adds r0, r1
- orrs r3, r0
- strh r3, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A678
-
- thumb_func_start sub_800A6B0
-sub_800A6B0: @ 800A6B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- ldr r4, =gUnknown_03003130
- ldr r3, [r4]
- lsls r3, 11
- movs r5, 0xC0
- lsls r5, 19
- adds r3, r5
- lsrs r2, 19
- adds r2, r1
- lsls r2, 1
- adds r2, r3
- ldr r3, [r4, 0x4]
- lsls r3, 12
- ldr r1, [r4, 0x8]
- adds r1, r0
- orrs r3, r1
- strh r3, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A6B0
-
- thumb_func_start sub_800A6E8
-sub_800A6E8: @ 800A6E8
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- cmp r4, r3
- bge _0800A714
- movs r2, 0xF
-_0800A702:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- lsrs r5, 4
- adds r4, 0x1
- cmp r4, r3
- blt _0800A702
-_0800A714:
- subs r4, r3, 0x1
- cmp r4, 0
- blt _0800A734
-_0800A71A:
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_800A678
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- subs r4, 0x1
- cmp r4, 0
- bge _0800A71A
-_0800A734:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A6E8
-
- thumb_func_start sub_800A73C
-sub_800A73C: @ 800A73C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x10]
- cmp r6, 0
- bge _0800A768
- str r7, [sp, 0x10]
- negs r6, r6
-_0800A768:
- movs r5, 0
- movs r1, 0x1
- negs r1, r1
- add r1, r8
- mov r10, r1
- cmp r5, r8
- bge _0800A794
-_0800A776:
- mov r0, sp
- adds r4, r0, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __modsi3
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- adds r5, 0x1
- cmp r5, r8
- blt _0800A776
-_0800A794:
- mov r5, r10
- cmp r5, 0
- blt _0800A7B4
-_0800A79A:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r1, r7, 0
- mov r2, r9
- bl sub_800A678
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- subs r5, 0x1
- cmp r5, 0
- bge _0800A79A
-_0800A7B4:
- movs r0, 0x1
- negs r0, r0
- ldr r1, [sp, 0x10]
- cmp r1, r0
- beq _0800A7CA
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xA
- mov r2, r9
- bl sub_800A678
-_0800A7CA:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A73C
-
- thumb_func_start sub_800A7DC
-sub_800A7DC: @ 800A7DC
- push {r4-r7,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800A81C
- adds r4, r3, 0
- lsls r5, r2, 24
-_0800A7F4:
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _0800A804
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- movs r6, 0
- b _0800A814
-_0800A804:
- ldrb r0, [r4]
- adds r1, r7, r6
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r5, 24
- bl sub_800A6B0
- adds r6, 0x1
-_0800A814:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- bne _0800A7F4
-_0800A81C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800A7DC
-
- thumb_func_start sub_800A824
-sub_800A824: @ 800A824
- push {lr}
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- movs r1, 0x20
- ands r0, r1
- cmp r0, 0
-_0800A830:
- beq _0800A838
- ldr r0, =0x00002222
- bl sub_8009D90
-_0800A838:
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800A824
-
- thumb_func_start task00_link_test
-task00_link_test: @ 800A850
- push {r4-r6,lr}
- sub sp, 0x20
- ldr r1, =gASCIITestPrint
- mov r0, sp
- bl strcpy
- mov r0, sp
- movs r1, 0x5
- movs r2, 0x2
- bl sub_800A7DC
- ldr r0, =gUnknown_03003144
- ldrb r0, [r0]
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800A6E8
- ldr r4, =gUnknown_030030E0
- ldr r0, [r4]
- movs r1, 0xF
- movs r2, 0x1
- movs r3, 0x8
- bl sub_800A6E8
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0, 0x1]
- movs r1, 0x2
- movs r2, 0xA
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, [r4]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- movs r1, 0xF
- movs r2, 0xA
- movs r3, 0x2
- bl sub_800A6E8
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xF
- movs r2, 0xC
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_03003160
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- movs r1, 0x19
- movs r2, 0x2
- movs r3, 0x2
- bl sub_800A6E8
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xF
- movs r2, 0x5
- movs r3, 0x2
- bl sub_800A6E8
- ldr r0, =gUnknown_0300302C
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xC
- movs r3, 0x8
- bl sub_800A6E8
- ldr r0, =gUnknown_03003070
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- movs r3, 0x8
- bl sub_800A6E8
- bl sub_800B2E8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x5
- movs r3, 0x1
- bl sub_800A6E8
- bl sub_800B2F8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x6
- movs r3, 0x1
- bl sub_800A6E8
- bl sub_800B320
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x7
- movs r3, 0x1
- bl sub_800A6E8
- bl sub_800B33C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x19
- movs r2, 0x8
- movs r3, 0x1
- bl sub_800A6E8
- movs r6, 0
- movs r5, 0x80
- lsls r5, 19
- ldr r4, =gUnknown_03003148
-_0800A94E:
- ldrh r0, [r4]
- lsrs r2, r5, 24
- movs r1, 0xA
- movs r3, 0x4
- bl sub_800A6E8
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _0800A94E
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_link_test
-
- thumb_func_start sub_800A994
-sub_800A994: @ 800A994
- ldr r2, =gUnknown_0300302C
- str r0, [r2]
- ldr r0, =gUnknown_03003070
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800A994
-
- thumb_func_start sub_800A9A8
-sub_800A9A8: @ 800A9A8
- push {r4,lr}
- movs r1, 0
- movs r2, 0
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r1, r0
- bge _0800A9CA
- movs r4, 0x1
- adds r3, r0, 0
-_0800A9BA:
- adds r0, r4, 0
- lsls r0, r2
- orrs r1, r0
- lsls r0, r1, 24
- lsrs r1, r0, 24
- adds r2, 0x1
- cmp r2, r3
- blt _0800A9BA
-_0800A9CA:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800A9A8
-
- thumb_func_start sub_800A9D8
-sub_800A9D8: @ 800A9D8
- push {r4-r6,lr}
- movs r4, 0
- movs r5, 0
- movs r6, 0x1
- b _0800A9EE
-_0800A9E2:
- adds r0, r6, 0
- lsls r0, r5
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r5, 0x1
-_0800A9EE:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0800A9E2
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_800A9D8
-
- thumb_func_start sub_800AA04
-sub_800AA04: @ 800AA04
- push {r4-r7,lr}
- ldr r1, =gUnknown_03003100
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03003120
- strb r0, [r1]
- ldr r4, =gLinkPlayers
- ldr r3, =gUnknown_02022A74
- movs r2, 0x4
-_0800AA18:
- adds r0, r3, 0
- adds r1, r4, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r4, 0x1C
- adds r3, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bge _0800AA18
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AA04
-
- thumb_func_start sub_800AA48
-sub_800AA48: @ 800AA48
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AA48
-
- thumb_func_start sub_800AA54
-sub_800AA54: @ 800AA54
- ldr r0, =gUnknown_03003120
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AA54
-
- thumb_func_start sub_800AA60
-sub_800AA60: @ 800AA60
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r3, 0
- ldr r0, =gUnknown_03003100
- ldrb r1, [r0]
- mov r9, r0
- cmp r3, r1
- bge _0800AAB4
- ldr r0, =gLinkPlayers
- mov r12, r0
- ldr r0, =gUnknown_02022A74
- ldr r2, =0x00002288
- mov r8, r2
- ldr r7, =gUnknown_020229C6
- mov r6, r12
- adds r6, 0x14
- adds r5, r0, 0x4
- movs r4, 0
- adds r2, r1, 0
-_0800AA8A:
- mov r0, r12
- adds r0, 0x4
- adds r0, r4, r0
- ldr r1, [r0]
- ldr r0, [r5]
- cmp r1, r0
- bne _0800AAA8
- ldrh r0, [r7]
- cmp r0, r8
- bne _0800AAA6
- adds r1, r0, 0
- ldr r0, [r6]
- cmp r1, r0
- bne _0800AAA8
-_0800AAA6:
- adds r3, 0x1
-_0800AAA8:
- adds r6, 0x1C
- adds r5, 0x1C
- adds r4, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bne _0800AA8A
-_0800AAB4:
- mov r0, r9
- ldrb r0, [r0]
- cmp r3, r0
- bne _0800AAE4
- bl sub_800ABAC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- ldrb r1, [r1]
- cmp r0, r1
- bne _0800AAE4
- movs r0, 0x1
- b _0800AAE6
- .pool
-_0800AAE4:
- movs r0, 0
-_0800AAE6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800AA60
-
- thumb_func_start sub_800AAF4
-sub_800AAF4: @ 800AAF4
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022A74
- movs r4, 0x3
-_0800AAFA:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1C
- bl CpuSet
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _0800AAFA
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AAF4
-
- thumb_func_start sub_800AB18
-sub_800AB18: @ 800AB18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0800AB78
- ldr r6, =gUnknown_02022A74
- ldr r5, =gLinkPlayers
- movs r0, 0x8
- adds r0, r6
- mov r8, r0
- adds r7, r5, 0
- adds r7, 0x8
-_0800AB36:
- lsls r0, r4, 3
- subs r0, r4
- lsls r2, r0, 2
- adds r1, r6, 0x4
- adds r1, r2, r1
- adds r0, r5, 0x4
- adds r0, r2, r0
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- bne _0800AB5A
- mov r1, r8
- adds r0, r2, r1
- adds r1, r2, r7
- bl StringCompare
- cmp r0, 0
- beq _0800AB6A
-_0800AB5A:
- ldr r1, =gUnknown_0300306C
- movs r0, 0x1
- strb r0, [r1]
- bl sub_80097E8
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800AB6A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_03003100
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0800AB36
-_0800AB78:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AB18
-
- thumb_func_start sub_800AB98
-sub_800AB98: @ 800AB98
- ldr r0, =gUnknown_03003100
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_03003120
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800AB98
-
- thumb_func_start sub_800ABAC
-sub_800ABAC: @ 800ABAC
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- movs r1, 0x1C
- ands r0, r1
- lsrs r0, 2
- bx lr
- .pool
- thumb_func_end sub_800ABAC
-
- thumb_func_start sub_800ABBC
-sub_800ABBC: @ 800ABBC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800ABDC
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- ands r0, r1
- b _0800ABE4
- .pool
-_0800ABDC:
- bl sub_8011AB0
- lsls r0, 24
- lsrs r0, 24
-_0800ABE4:
- pop {r1}
- bx r1
- thumb_func_end sub_800ABBC
-
- thumb_func_start sub_800ABE8
-sub_800ABE8: @ 800ABE8
- ldr r0, =gUnknown_03000D58
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800ABE8
-
- thumb_func_start sub_800ABF4
-sub_800ABF4: @ 800ABF4
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AC0C
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AC20
- .pool
-_0800AC0C:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- bne _0800AC20
- ldr r0, =sub_800AC80
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r3, [r0]
-_0800AC20:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ABF4
-
- thumb_func_start sub_800AC34
-sub_800AC34: @ 800AC34
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AC48
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AC70
- .pool
-_0800AC48:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- beq _0800AC64
- ldr r1, =gUnknown_02022B08
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0800AC70
- .pool
-_0800AC64:
- ldr r0, =sub_800AC80
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r1, [r0]
-_0800AC70:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AC34
-
- thumb_func_start sub_800AC80
-sub_800AC80: @ 800AC80
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AC96
- ldr r0, =0x00005fff
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800ACAC
- str r0, [r1]
-_0800AC96:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AC80
-
- thumb_func_start sub_800ACAC
-sub_800ACAC: @ 800ACAC
- push {r4,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- movs r1, 0
- cmp r3, r2
- bge _0800ACD0
- ldr r4, =gUnknown_030030F0
-_0800ACC0:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800ACCA
- adds r3, 0x1
-_0800ACCA:
- adds r1, 0x1
- cmp r1, r2
- blt _0800ACC0
-_0800ACD0:
- cmp r3, r2
- bne _0800ACF4
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_03002748
- movs r4, 0x1
- strb r4, [r0]
- bl sub_80097E8
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
-_0800ACF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ACAC
-
- thumb_func_start sub_800AD10
-sub_800AD10: @ 800AD10
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AD24
- bl task_add_05_task_del_08FA224_when_no_RfuFunc
- b _0800AD4C
- .pool
-_0800AD24:
- ldr r2, =gUnknown_03003140
- ldr r1, [r2]
- cmp r1, 0
- beq _0800AD40
- ldr r1, =gUnknown_02022B08
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0800AD4C
- .pool
-_0800AD40:
- ldr r0, =sub_800AD5C
- str r0, [r2]
- ldr r0, =gUnknown_030030E4
- strb r1, [r0]
- ldr r0, =gUnknown_030030F4
- strh r1, [r0]
-_0800AD4C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD10
-
- thumb_func_start sub_800AD5C
-sub_800AD5C: @ 800AD5C
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AD72
- ldr r0, =0x00005fff
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800AD88
- str r0, [r1]
-_0800AD72:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD5C
-
- thumb_func_start sub_800AD88
-sub_800AD88: @ 800AD88
- push {r4,r5,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- movs r2, 0
- cmp r1, r3
- bge _0800ADB6
- ldr r5, =gUnknown_030030F0
- ldr r4, =gLinkPlayers
-_0800AD9E:
- ldrh r0, [r4, 0x1A]
- cmp r0, 0x1
- beq _0800ADAC
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800ADAE
-_0800ADAC:
- adds r1, 0x1
-_0800ADAE:
- adds r4, 0x1C
- adds r2, 0x1
- cmp r2, r3
- blt _0800AD9E
-_0800ADB6:
- cmp r1, r3
- bne _0800ADDA
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldr r0, =gUnknown_03002748
- movs r4, 0x1
- strb r4, [r0]
- bl sub_80097E8
- ldr r1, =gUnknown_03003140
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_030030E4
- strb r4, [r0]
-_0800ADDA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AD88
-
- thumb_func_start sub_800ADF8
-sub_800ADF8: @ 800ADF8
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800AE0C
- bl sub_8010434
- b _0800AE1E
- .pool
-_0800AE0C:
- ldr r1, =gUnknown_03003140
- ldr r0, [r1]
- cmp r0, 0
- bne _0800AE18
- ldr r0, =sub_800AE30
- str r0, [r1]
-_0800AE18:
- ldr r1, =gUnknown_030030E4
- movs r0, 0
- strb r0, [r1]
-_0800AE1E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ADF8
-
- thumb_func_start sub_800AE30
-sub_800AE30: @ 800AE30
- push {lr}
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AE46
- ldr r0, =0x00002ffe
- bl sub_8009D90
- ldr r1, =gUnknown_03003140
- ldr r0, =sub_800AE5C
- str r0, [r1]
-_0800AE46:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AE30
-
- thumb_func_start sub_800AE5C
-sub_800AE5C: @ 800AE5C
- push {r4,lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- cmp r1, r2
- bcs _0800AE86
- ldr r3, =gUnknown_030030EC
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800AE86
-_0800AE74:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _0800AE86
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AE74
-_0800AE86:
- cmp r1, r2
- bne _0800AEA4
- movs r1, 0
- ldr r4, =gUnknown_03003140
- ldr r3, =gUnknown_030030EC
- movs r2, 0
-_0800AE92:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _0800AE92
- movs r0, 0
- str r0, [r4]
-_0800AEA4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AE5C
-
- thumb_func_start sub_800AEB4
-sub_800AEB4: @ 800AEB4
- push {lr}
- ldr r0, =gUnknown_020229C4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800AEF4
- ldr r0, =gUnknown_030030E0
- ldr r2, [r0]
- movs r0, 0xFE
- lsls r0, 11
- ands r0, r2
- cmp r0, 0
- beq _0800AEF4
- ldr r0, =gUnknown_030030F8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800AEEA
- ldr r1, =gUnknown_02022B00
- str r2, [r1]
- ldr r0, =gUnknown_03004130
- ldrb r0, [r0]
- strb r0, [r1, 0x4]
- ldr r0, =gUnknown_03003160
- ldrb r0, [r0]
- strb r0, [r1, 0x5]
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800AEEA:
- ldr r1, =gUnknown_0300306C
- movs r0, 0x1
- strb r0, [r1]
- bl sub_80097E8
-_0800AEF4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AEB4
-
- thumb_func_start sub_800AF18
-sub_800AF18: @ 800AF18
- push {r4,lr}
- ldr r4, =gUnknown_02022B00
- str r0, [r4]
- strb r1, [r4, 0x5]
- strb r2, [r4, 0x4]
- strb r3, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800AF18
-
- thumb_func_start c2_800ACD4
-c2_800ACD4: @ 800AF30
- push {r4,lr}
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gMPlay_SE1
- bl m4aMPlayStop
- ldr r0, =gMPlay_SE2
- bl m4aMPlayStop
- ldr r0, =gMPlay_SE3
- bl m4aMPlayStop
- ldr r0, =0x02000000
- movs r1, 0xE0
- lsls r1, 9
- bl InitHeap
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetPaletteFadeControl
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- bl ResetTasks
- bl remove_some_task
- ldr r1, =gLinkVSyncDisabled
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800AF8C
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0800AF88
- movs r0, 0x3
- strb r0, [r1]
-_0800AF88:
- bl sub_800E604
-_0800AF8C:
- ldr r0, =sub_80096BC
- bl SetVBlankCallback
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_082ED1FC
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- ldr r4, =gUnknown_02022B0C
- movs r0, 0x80
- lsls r0, 4
- bl Alloc
- adds r1, r0, 0
- str r1, [r4]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, =gUnknown_082ED204
- bl InitWindows
- lsls r0, 16
- cmp r0, 0
- beq _0800B03C
- bl DeactivateAllTextPrinters
- bl reset_temp_tile_data_buffers
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0
- bl ClearGpuRegBits
- ldr r0, =gUnknown_0860F074
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- ldr r0, =sub_8009404
- movs r1, 0
- bl CreateTask
- bl StopMapMusic
- ldr r1, =gMain
- movs r0, 0
- str r0, [r1]
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, =sub_800B1A0
- bl SetMainCallback2
-_0800B03C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_800ACD4
-
- thumb_func_start sub_800B080
-sub_800B080: @ 800B080
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, =g2BlankTilesGfx
- movs r0, 0
- movs r2, 0x20
- movs r3, 0
- bl LoadBgTiles
- ldr r1, =gWirelessLinkDisplayGfx
- movs r5, 0
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl copy_decompressed_tile_data_to_vram_autofree
- ldr r1, =gWirelessLinkDisplayTilemap
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- ldr r0, =gWirelessLinkDisplayPal
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r4, =gUnknown_082ED224
- str r4, [sp]
- str r5, [sp, 0x4]
- ldr r0, =gText_CommErrorEllipsis
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x6
- bl box_print
- str r4, [sp]
- str r5, [sp, 0x4]
- ldr r0, =gText_MoveCloserToLinkPartner
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x1
- bl box_print
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B080
-
- thumb_func_start sub_800B138
-sub_800B138: @ 800B138
- push {lr}
- sub sp, 0xC
- ldr r1, =g2BlankTilesGfx
- movs r0, 0
- movs r2, 0x20
- movs r3, 0
- bl LoadBgTiles
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0
- bl FillWindowPixelBuffer
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_CommErrorCheckConnections
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0
- bl box_print
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x1
- movs r1, 0
- bl CopyWindowToVram
- movs r0, 0x2
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B138
-
- thumb_func_start sub_800B1A0
-sub_800B1A0: @ 800B1A0
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1E
- beq _0800B20C
- cmp r0, 0x1E
- bgt _0800B1C4
- cmp r0, 0
- beq _0800B1D8
- cmp r0, 0x2
- beq _0800B1F2
- b _0800B260
- .pool
-_0800B1C4:
- cmp r0, 0x5A
- beq _0800B20C
- cmp r0, 0x5A
- bgt _0800B1D2
- cmp r0, 0x3C
- beq _0800B20C
- b _0800B260
-_0800B1D2:
- cmp r0, 0x82
- beq _0800B214
- b _0800B260
-_0800B1D8:
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800B1EC
- bl sub_800B080
- b _0800B260
- .pool
-_0800B1EC:
- bl sub_800B138
- b _0800B260
-_0800B1F2:
- movs r0, 0
- bl ShowBg
- ldr r0, =gUnknown_02022B00
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800B260
- movs r0, 0x1
- bl ShowBg
- b _0800B260
- .pool
-_0800B20C:
- movs r0, 0x16
- bl PlaySE
- b _0800B260
-_0800B214:
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0800B244
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_ABtnTitleScreen
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x14
- bl box_print
- b _0800B260
- .pool
-_0800B244:
- cmp r0, 0x1
- bne _0800B260
- ldr r0, =gUnknown_082ED224
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r0, =gText_ABtnRegistrationCounter
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x14
- bl box_print
-_0800B260:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r1, [r1]
- cmp r1, 0xA0
- bne _0800B2D0
- ldr r4, =gLinkVSyncDisabled
- ldrb r2, [r4]
- cmp r2, 0x1
- bne _0800B2A8
- ldrh r0, [r0, 0x2E]
- ands r2, r0
- cmp r2, 0
- beq _0800B2C2
- movs r0, 0x15
- bl PlaySE
- movs r0, 0
- strb r0, [r4]
- ldr r1, =gUnknown_02022B00
- movs r0, 0
- strb r0, [r1, 0x6]
- bl sub_81700F8
- b _0800B2C2
- .pool
-_0800B2A8:
- cmp r2, 0x2
- bne _0800B2C2
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800B2C2
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- bl DoSoftReset
-_0800B2C2:
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r1, [r1]
- cmp r1, 0xA0
- beq _0800B2DC
-_0800B2D0:
- movs r2, 0x87
- lsls r2, 3
- adds r1, r0, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0800B2DC:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B1A0
-
- thumb_func_start sub_800B2E8
-sub_800B2E8: @ 800B2E8
- ldr r0, =0x04000128
- ldrh r0, [r0]
- lsrs r0, 2
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_800B2E8
-
- thumb_func_start sub_800B2F8
-sub_800B2F8: @ 800B2F8
- push {lr}
- movs r3, 0
- ldr r2, =0x04000128
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0800B314
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0800B314
- movs r3, 0x1
-_0800B314:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800B2F8
-
- thumb_func_start sub_800B320
-sub_800B320: @ 800B320
- ldr r0, =gUnknown_030030E0
- ldr r0, [r0]
- lsrs r0, 6
- movs r1, 0x1
- ands r0, r1
- bx lr
- .pool
- thumb_func_end sub_800B320
-
- thumb_func_start sub_800B330
-sub_800B330: @ 800B330
- ldr r1, =gUnknown_030030F8
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800B330
-
- thumb_func_start sub_800B33C
-sub_800B33C: @ 800B33C
- ldr r0, =gUnknown_0300306C
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800B33C
-
- thumb_func_start sub_800B348
-sub_800B348: @ 800B348
- push {r4-r6,lr}
- bl sub_8009638
- ldr r1, =gUnknown_03003030
- adds r2, r1, 0
- adds r2, 0x10
- ldr r0, =gUnknown_020229CC
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r2]
- ldr r3, =gASCIIGameFreakInc
- adds r2, r1, 0
- adds r0, r3, 0
- ldm r0!, {r4-r6}
- stm r2!, {r4-r6}
- ldrh r4, [r0]
- strh r4, [r2]
- ldrb r0, [r0, 0x2]
- strb r0, [r2, 0x2]
- adds r0, r1, 0
- adds r0, 0x2C
- ldm r3!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldrh r2, [r3]
- strh r2, [r0]
- ldrb r2, [r3, 0x2]
- strb r2, [r0, 0x2]
- ldr r0, =gUnknown_020228C4
- movs r2, 0x3C
- bl memcpy
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B348
-
- thumb_func_start sub_800B3A4
-sub_800B3A4: @ 800B3A4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 8
- ldr r1, =gBlockRecvBuffer
- adds r4, r2, r1
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, =gLinkPlayers
- adds r2, r0
- adds r1, r2, 0
- adds r0, r4, 0
- adds r0, 0x10
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r2, 0
- bl sub_800B524
- ldr r5, =gASCIIGameFreakInc
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- bne _0800B3EE
- adds r0, r4, 0
- adds r0, 0x2C
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _0800B3F4
-_0800B3EE:
- ldr r0, =c2_800ACD4
- bl SetMainCallback2
-_0800B3F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B3A4
-
- thumb_func_start HandleLinkConnection
-HandleLinkConnection: @ 800B40C
- push {r4,r5,lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B45C
- ldr r0, =gUnknown_03003144
- ldr r1, =gUnknown_03003110
- ldr r2, =gUnknown_03003090
- bl sub_800B638
- ldr r4, =gUnknown_030030E0
- str r0, [r4]
- ldr r0, =gUnknown_030022EC
- bl sub_80099E0
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- beq _0800B480
- bl sub_808766C
- cmp r0, 0x1
- bne _0800B480
-_0800B43E:
- movs r0, 0x1
- b _0800B482
- .pool
-_0800B45C:
- bl sub_8010EC0
- adds r4, r0, 0
- bl sub_8010F1C
- adds r5, r0, 0
- bl sub_808766C
- cmp r0, 0x1
- bne _0800B480
- cmp r4, 0x1
- beq _0800B43E
- bl sub_800F0B8
- cmp r0, 0
- bne _0800B43E
- cmp r5, 0
- bne _0800B43E
-_0800B480:
- movs r0, 0
-_0800B482:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end HandleLinkConnection
-
- thumb_func_start sub_800B488
-sub_800B488: @ 800B488
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B498
- ldr r1, =gLinkVSyncDisabled
- movs r0, 0x1
- strb r0, [r1]
-_0800B498:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B488
-
- thumb_func_start sub_800B4A4
-sub_800B4A4: @ 800B4A4
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0800B4B2
- ldr r0, =gLinkVSyncDisabled
- strb r1, [r0]
-_0800B4B2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B4A4
-
- thumb_func_start sub_800B4C0
-sub_800B4C0: @ 800B4C0
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r1, [r0]
- cmp r1, 0
- bne _0800B4CE
- ldr r0, =gLinkVSyncDisabled
- strb r1, [r0]
-_0800B4CE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B4C0
-
- thumb_func_start sub_800B4DC
-sub_800B4DC: @ 800B4DC
- push {lr}
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800B4FC
- ldr r0, =gUnknown_03003170
- ldr r1, =0x00000fbd
- adds r0, r1
- ldrb r0, [r0]
- b _0800B500
- .pool
-_0800B4FC:
- bl sub_80124D4
-_0800B500:
- pop {r1}
- bx r1
- thumb_func_end sub_800B4DC
-
- thumb_func_start sub_800B504
-sub_800B504: @ 800B504
- push {lr}
- bl sub_800B4DC
- cmp r0, 0x2
- bhi _0800B512
- movs r0, 0
- b _0800B514
-_0800B512:
- movs r0, 0x1
-_0800B514:
- pop {r1}
- bx r1
- thumb_func_end sub_800B504
-
- thumb_func_start sub_800B518
-sub_800B518: @ 800B518
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800B518
-
- thumb_func_start sub_800B524
-sub_800B524: @ 800B524
- push {lr}
- ldrb r1, [r0, 0x10]
- strb r1, [r0, 0x12]
- adds r2, r0, 0
- adds r2, 0x8
- ldrb r1, [r0, 0x1A]
- adds r0, r2, 0
- bl ConvertInternationalString
- pop {r0}
- bx r0
- thumb_func_end sub_800B524
-
- thumb_func_start sub_800B53C
-sub_800B53C: @ 800B53C
- push {lr}
- sub sp, 0x4
- movs r0, 0xC0
- bl DisableInterrupts
- ldr r1, =0x04000128
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =0x0400010e
- movs r2, 0
- strh r2, [r0]
- adds r1, 0xDA
- movs r0, 0xC0
- strh r0, [r1]
- ldr r0, =0x0400012a
- strh r2, [r0]
- ldr r2, =0x04000120
- movs r0, 0
- movs r1, 0
- str r0, [r2]
- str r1, [r2, 0x4]
- str r0, [sp]
- ldr r1, =gUnknown_03003170
- ldr r2, =0x050003f0
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B53C
-
- thumb_func_start sub_800B594
-sub_800B594: @ 800B594
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xC0
- bl DisableInterrupts
- ldr r0, =0x04000134
- movs r4, 0
- strh r4, [r0]
- ldr r2, =0x04000128
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- ldr r3, =0x00004003
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0x80
- bl EnableInterrupts
- ldr r0, =0x0400012a
- strh r4, [r0]
- movs r5, 0
- str r5, [sp]
- ldr r1, =gUnknown_03003170
- ldr r2, =0x050003f0
- mov r0, sp
- bl CpuSet
- ldr r0, =gUnknown_03000D6C
- strb r4, [r0]
- ldr r0, =gUnknown_03000D6E
- strh r5, [r0]
- ldr r0, =gUnknown_03000D70
- strh r5, [r0]
- ldr r0, =gUnknown_03000D72
- strb r4, [r0]
- ldr r0, =gUnknown_03000D73
- strb r4, [r0]
- ldr r0, =gUnknown_03003160
- strb r4, [r0]
- ldr r0, =gUnknown_03004130
- strb r4, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B594
-
- thumb_func_start sub_800B628
-sub_800B628: @ 800B628
- push {lr}
- bl sub_800B594
- bl sub_800B53C
- pop {r0}
- bx r0
- thumb_func_end sub_800B628
-
- thumb_func_start sub_800B638
-sub_800B638: @ 800B638
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bhi _0800B6EA
- lsls r0, 2
- ldr r1, =_0800B65C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800B65C:
- .4byte _0800B670
- .4byte _0800B680
- .4byte _0800B698
- .4byte _0800B6D4
- .4byte _0800B6DE
-_0800B670:
- bl sub_800B53C
- ldr r1, =gUnknown_03003170
- movs r0, 0x1
- strb r0, [r1, 0x1]
- b _0800B6EA
- .pool
-_0800B680:
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _0800B6EA
- bl sub_800B594
- ldr r1, =gUnknown_03003170
- movs r0, 0x2
- strb r0, [r1, 0x1]
- b _0800B6EA
- .pool
-_0800B698:
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _0800B6A8
- cmp r1, 0x2
- beq _0800B6C0
- bl sub_800B764
- b _0800B6EA
-_0800B6A8:
- ldr r2, =gUnknown_03003170
- ldrb r0, [r2]
- cmp r0, 0x8
- bne _0800B6EA
- ldrb r0, [r2, 0x3]
- cmp r0, 0x1
- bls _0800B6EA
- strb r1, [r2, 0xE]
- b _0800B6EA
- .pool
-_0800B6C0:
- ldr r0, =gUnknown_03003170
- movs r1, 0
- strb r1, [r0, 0x1]
- ldr r0, =0x0400012a
- strh r1, [r0]
- b _0800B6EA
- .pool
-_0800B6D4:
- bl sub_800B790
- ldr r1, =gUnknown_03003170
- movs r0, 0x4
- strb r0, [r1, 0x1]
-_0800B6DE:
- adds r0, r5, 0
- bl sub_800B7C0
- adds r0, r6, 0
- bl sub_800B8A8
-_0800B6EA:
- movs r0, 0
- strb r0, [r4]
- ldr r1, =gUnknown_03003170
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 2
- orrs r2, r0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _0800B702
- movs r0, 0x20
- orrs r2, r0
-_0800B702:
- ldrb r0, [r1, 0xC]
- lsls r3, r0, 8
- ldrb r0, [r1, 0xF]
- lsls r4, r0, 9
- ldrb r0, [r1, 0x10]
- lsls r5, r0, 12
- ldrb r0, [r1, 0x11]
- lsls r6, r0, 13
- ldrb r0, [r1, 0x12]
- lsls r7, r0, 14
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- bne _0800B728
- movs r0, 0x40
- orrs r0, r3
- orrs r0, r2
- b _0800B72C
- .pool
-_0800B728:
- adds r0, r2, 0
- orrs r0, r3
-_0800B72C:
- orrs r0, r4
- orrs r0, r5
- orrs r0, r6
- orrs r0, r7
- adds r2, r0, 0
- ldrb r3, [r1, 0x13]
- cmp r3, 0x1
- bne _0800B742
- movs r0, 0x80
- lsls r0, 9
- orrs r2, r0
-_0800B742:
- ldrb r0, [r1, 0x2]
- cmp r0, 0x3
- bls _0800B74E
- movs r0, 0x80
- lsls r0, 10
- orrs r2, r0
-_0800B74E:
- adds r1, r2, 0
- cmp r3, 0x2
- bne _0800B75A
- movs r0, 0x80
- lsls r0, 11
- orrs r1, r0
-_0800B75A:
- adds r0, r1, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800B638
-
- thumb_func_start sub_800B764
-sub_800B764: @ 800B764
- push {lr}
- ldr r0, =0x04000128
- ldr r1, [r0]
- movs r0, 0xC
- ands r1, r0
- ldr r2, =gUnknown_03003170
- cmp r1, 0x8
- bne _0800B788
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0800B788
- strb r1, [r2]
- b _0800B78C
- .pool
-_0800B788:
- movs r0, 0
- strb r0, [r2]
-_0800B78C:
- pop {r0}
- bx r0
- thumb_func_end sub_800B764
-
- thumb_func_start sub_800B790
-sub_800B790: @ 800B790
- push {lr}
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800B7AE
- ldr r1, =0x0400010c
- ldr r2, =0x0000ff3b
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x41
- strh r0, [r1]
- movs r0, 0x40
- bl EnableInterrupts
-_0800B7AE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B790
-
- thumb_func_start sub_800B7C0
-sub_800B7C0: @ 800B7C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r3, r0, 0
- ldr r2, =gUnknown_03004134
- ldr r1, =0x04000208
- ldrh r0, [r1]
- strh r0, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03003170
- ldr r4, =0x00000339
- adds r0, r1, r4
- ldrb r4, [r0]
- adds r6, r1, 0
- cmp r4, 0x31
- bhi _0800B850
- movs r1, 0xCE
- lsls r1, 2
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800B7FE
- subs r0, 0x32
- lsls r0, 24
- lsrs r0, 24
-_0800B7FE:
- movs r2, 0
- ldr r4, =gUnknown_03000D6E
- mov r9, r4
- ldr r1, =gUnknown_03003160
- mov r10, r1
- lsls r5, r0, 1
- movs r0, 0x18
- adds r0, r6
- mov r8, r0
- mov r12, r2
- movs r7, 0x64
-_0800B814:
- ldrh r0, [r4]
- ldrh r1, [r3]
- orrs r0, r1
- strh r0, [r4]
- adds r0, r2, 0
- muls r0, r7
- adds r0, r5, r0
- add r0, r8
- strh r1, [r0]
- mov r1, r12
- strh r1, [r3]
- adds r3, 0x2
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B814
- b _0800B85C
- .pool
-_0800B850:
- movs r0, 0x1
- strb r0, [r6, 0x12]
- ldr r2, =gUnknown_03000D6E
- mov r9, r2
- ldr r4, =gUnknown_03003160
- mov r10, r4
-_0800B85C:
- mov r1, r9
- ldrh r0, [r1]
- cmp r0, 0
- beq _0800B874
- ldr r2, =0x00000339
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strb r1, [r0]
- mov r4, r9
- strh r2, [r4]
-_0800B874:
- ldr r1, =0x04000208
- ldr r2, =gUnknown_03004134
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r4, =0x00000339
- adds r0, r6, r4
- ldrb r0, [r0]
- mov r1, r10
- strb r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B7C0
-
- thumb_func_start sub_800B8A8
-sub_800B8A8: @ 800B8A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- ldr r2, =gUnknown_03004134
- ldr r1, =0x04000208
- ldrh r0, [r1]
- strh r0, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gUnknown_03003170
- ldr r3, =0x00000fbd
- adds r0, r1, r3
- ldrb r0, [r0]
- mov r12, r1
- cmp r0, 0
- bne _0800B914
- movs r3, 0
- ldrb r0, [r1, 0x3]
- cmp r3, r0
- bcs _0800B8FA
- movs r5, 0
- adds r6, r0, 0
-_0800B8DA:
- movs r2, 0
- lsls r1, r3, 4
- adds r4, r3, 0x1
- add r1, r9
-_0800B8E2:
- lsls r0, r2, 1
- adds r0, r1
- strh r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B8E2
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, r6
- bcc _0800B8DA
-_0800B8FA:
- movs r0, 0x1
- mov r7, r12
- strb r0, [r7, 0xC]
- b _0800B990
- .pool
-_0800B914:
- movs r3, 0
- mov r0, r12
- ldrb r1, [r0, 0x3]
- cmp r3, r1
- bcs _0800B96A
- ldr r0, =0x00000fbc
- add r0, r12
- ldrb r0, [r0]
- lsls r6, r0, 1
- movs r2, 0xCF
- lsls r2, 2
- add r2, r12
- mov r8, r2
- mov r10, r1
-_0800B930:
- movs r2, 0
- lsls r1, r3, 4
- adds r4, r3, 0x1
- lsls r0, r3, 1
- mov r7, r9
- adds r5, r1, r7
- adds r0, r3
- lsls r0, 3
- adds r0, r3
- lsls r3, r0, 5
-_0800B944:
- lsls r1, r2, 1
- adds r1, r5
- movs r7, 0x64
- adds r0, r2, 0
- muls r0, r7
- adds r0, r6, r0
- adds r0, r3
- add r0, r8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0800B944
- lsls r0, r4, 24
- lsrs r3, r0, 24
- cmp r3, r10
- bcc _0800B930
-_0800B96A:
- mov r2, r12
- ldr r0, =0x00000fbd
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- movs r3, 0
- strb r0, [r1]
- ldr r1, =0x00000fbc
- adds r2, r1
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800B98C
- strb r3, [r2]
-_0800B98C:
- mov r2, r12
- strb r3, [r2, 0xC]
-_0800B990:
- ldr r1, =0x04000208
- ldr r3, =gUnknown_03004134
- ldrh r0, [r3]
- strh r0, [r1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B8A8
-
- thumb_func_start sub_800B9B8
-sub_800B9B8: @ 800B9B8
- push {r4,lr}
- ldr r3, =gUnknown_03003170
- ldrb r4, [r3]
- cmp r4, 0
- beq _0800B9F4
- ldrb r0, [r3, 0x1]
- cmp r0, 0x2
- beq _0800B9EE
- cmp r0, 0x4
- bne _0800BA1E
- movs r0, 0xD
- ldrsb r0, [r3, r0]
- cmp r0, 0x8
- bgt _0800B9E4
- ldrb r0, [r3, 0x10]
- cmp r0, 0x1
- beq _0800B9EE
- movs r0, 0x1
- strb r0, [r3, 0x13]
- b _0800BA1E
- .pool
-_0800B9E4:
- ldrb r0, [r3, 0x13]
- cmp r0, 0x1
- beq _0800BA1E
- movs r0, 0
- strb r0, [r3, 0xD]
-_0800B9EE:
- bl sub_800BAC0
- b _0800BA1E
-_0800B9F4:
- ldrb r2, [r3, 0x1]
- cmp r2, 0x4
- beq _0800B9FE
- cmp r2, 0x2
- bne _0800BA1E
-_0800B9FE:
- ldr r1, =gUnknown_03000D6C
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bls _0800BA1E
- cmp r2, 0x4
- bne _0800BA16
- movs r0, 0x2
- strb r0, [r3, 0x13]
-_0800BA16:
- cmp r2, 0x2
- bne _0800BA1E
- strb r4, [r3, 0x3]
- strb r4, [r3, 0xF]
-_0800BA1E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800B9B8
-
- thumb_func_start Timer3Intr
-Timer3Intr: @ 800BA28
- push {lr}
- bl sub_800BD98
- bl sub_800BAC0
- pop {r0}
- bx r0
- thumb_func_end Timer3Intr
-
- thumb_func_start sub_800BA38
-sub_800BA38: @ 800BA38
- push {r4,lr}
- ldr r4, =gUnknown_03003170
- ldr r0, =0x04000128
- ldr r1, [r0]
- lsls r0, r1, 26
- lsrs r0, 30
- strb r0, [r4, 0x2]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _0800BA6C
- cmp r0, 0x4
- bne _0800BA8A
- lsls r0, r1, 25
- lsrs r0, 31
- strb r0, [r4, 0x10]
- bl sub_800BBCC
- bl sub_800BCE4
- bl sub_800BDCC
- b _0800BA8A
- .pool
-_0800BA6C:
- bl sub_800BAD0
- lsls r0, 24
- cmp r0, 0
- beq _0800BA8A
- ldrb r0, [r4]
- cmp r0, 0
- beq _0800BA86
- movs r0, 0x3
- strb r0, [r4, 0x1]
- movs r0, 0x8
- strb r0, [r4, 0xD]
- b _0800BA8A
-_0800BA86:
- movs r0, 0x4
- strb r0, [r4, 0x1]
-_0800BA8A:
- ldr r3, =gUnknown_03003170
- ldrb r0, [r3, 0xD]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r3, 0xD]
- ldr r1, =gUnknown_03000D6C
- strb r2, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x8
- bne _0800BAAA
- ldr r0, =gUnknown_03004130
- ldr r2, =0x00000fbd
- adds r1, r3, r2
- ldrb r1, [r1]
- strb r1, [r0]
-_0800BAAA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BA38
-
- thumb_func_start sub_800BAC0
-sub_800BAC0: @ 800BAC0
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800BAC0
-
- thumb_func_start sub_800BAD0
-sub_800BAD0: @ 800BAD0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- ldr r6, =0x0000ffff
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0xE]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _0800BAFC
- ldr r1, =0x0400012a
- ldr r2, =0x00008fff
- b _0800BB00
- .pool
-_0800BAFC:
- ldr r1, =0x0400012a
- ldr r2, =0x0000b9a0
-_0800BB00:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, =gUnknown_03003174
- ldr r3, =0x04000120
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
- movs r1, 0
- str r0, [r3]
- str r1, [r3, 0x4]
- strb r0, [r2, 0xA]
- movs r4, 0
- ldr r0, =gUnknown_03000D73
- mov r9, r0
- mov r8, r2
- ldr r2, =0x00008fff
- ldr r1, =0x0000ffff
- mov r12, r1
-_0800BB28:
- lsls r0, r4, 1
- add r0, r8
- ldrh r3, [r0]
- movs r0, 0x4
- negs r0, r0
- ands r0, r3
- ldr r1, =0x0000b9a0
- cmp r0, r1
- beq _0800BB40
- adds r0, r3, 0
- cmp r0, r2
- bne _0800BB70
-_0800BB40:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r3, 0
- cmp r6, r0
- bls _0800BB78
- cmp r0, 0
- beq _0800BB78
- adds r6, r3, 0
- b _0800BB78
- .pool
-_0800BB70:
- cmp r0, r12
- beq _0800BB82
- movs r5, 0
- b _0800BB82
-_0800BB78:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800BB28
-_0800BB82:
- strb r5, [r7, 0x3]
- adds r0, r5, 0
- cmp r0, 0x1
- bls _0800BBB2
- mov r2, r9
- ldrb r2, [r2]
- cmp r0, r2
- bne _0800BBA4
- ldrh r1, [r7, 0x4]
- ldr r0, =0x00008fff
- cmp r1, r0
- bne _0800BBA4
- movs r0, 0x1
- b _0800BBBE
- .pool
-_0800BBA4:
- ldrb r0, [r7, 0x3]
- cmp r0, 0x1
- bls _0800BBB2
- movs r0, 0x3
- ands r6, r0
- adds r0, r6, 0x1
- b _0800BBB4
-_0800BBB2:
- movs r0, 0
-_0800BBB4:
- strb r0, [r7, 0xF]
- ldrb r0, [r7, 0x3]
- mov r1, r9
- strb r0, [r1]
- movs r0, 0
-_0800BBBE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800BAD0
-
- thumb_func_start sub_800BBCC
-sub_800BBCC: @ 800BBCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, =0x04000120
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0x16]
- adds r6, r0, 0
- cmp r1, 0
- bne _0800BC30
- movs r4, 0
- ldr r7, =gUnknown_03000D72
- ldrb r0, [r6, 0x3]
- cmp r4, r0
- bcs _0800BC1A
- adds r5, r6, 0
- ldrh r1, [r6, 0x14]
- adds r3, r7, 0
- adds r2, r6, 0
-_0800BBFA:
- lsls r0, r4, 1
- add r0, sp
- ldrh r0, [r0]
- cmp r1, r0
- beq _0800BC0E
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800BC0E
- movs r0, 0x1
- strb r0, [r5, 0x11]
-_0800BC0E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r2, 0x3]
- cmp r4, r0
- bcc _0800BBFA
-_0800BC1A:
- movs r0, 0
- strh r0, [r6, 0x14]
- movs r0, 0x1
- strb r0, [r7]
- b _0800BCD0
- .pool
-_0800BC30:
- ldr r2, =0x00000fbc
- adds r1, r6, r2
- adds r2, 0x1
- adds r0, r6, r2
- ldrb r2, [r0]
- ldrb r1, [r1]
- adds r0, r2, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800BC4C
- subs r0, 0x32
- lsls r0, 24
- lsrs r0, 24
-_0800BC4C:
- cmp r2, 0x31
- bhi _0800BCA8
- movs r4, 0
- ldrb r1, [r6, 0x3]
- cmp r4, r1
- bcs _0800BCAC
- adds r5, r6, 0
- ldr r7, =gUnknown_03000D70
- lsls r0, 1
- mov r12, r0
- movs r2, 0xCF
- lsls r2, 2
- adds r2, r6
- mov r8, r2
-_0800BC68:
- lsls r1, r4, 1
- mov r2, sp
- adds r0, r2, r1
- ldrh r3, [r0]
- ldrh r2, [r5, 0x14]
- adds r0, r3, r2
- strh r0, [r5, 0x14]
- ldrh r0, [r7]
- orrs r0, r3
- strh r0, [r7]
- ldrb r2, [r5, 0x17]
- movs r0, 0x64
- muls r0, r2
- add r0, r12
- adds r1, r4
- lsls r1, 3
- adds r1, r4
- lsls r1, 5
- adds r0, r1
- add r0, r8
- strh r3, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x3]
- cmp r4, r0
- bcc _0800BC68
- b _0800BCAC
- .pool
-_0800BCA8:
- movs r0, 0x2
- strb r0, [r6, 0x12]
-_0800BCAC:
- ldrb r0, [r6, 0x17]
- adds r0, 0x1
- strb r0, [r6, 0x17]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _0800BCD0
- ldr r2, =gUnknown_03000D70
- ldrh r0, [r2]
- cmp r0, 0
- beq _0800BCD0
- ldr r1, =0x00000fbd
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0
- strh r0, [r2]
-_0800BCD0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BBCC
-
- thumb_func_start sub_800BCE4
-sub_800BCE4: @ 800BCE4
- push {r4,lr}
- ldr r0, =gUnknown_03003170
- ldrb r1, [r0, 0x16]
- adds r4, r0, 0
- cmp r1, 0x8
- bne _0800BD36
- ldr r1, =0x0400012a
- ldrh r0, [r4, 0x14]
- strh r0, [r1]
- ldr r1, =gUnknown_03000D6D
- ldrb r2, [r1]
- cmp r2, 0
- bne _0800BD30
- ldr r0, =0x00000339
- adds r1, r4, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- movs r0, 0xCE
- lsls r0, 2
- adds r1, r4, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x31
- bls _0800BD8C
- strb r2, [r1]
- b _0800BD8C
- .pool
-_0800BD30:
- movs r0, 0
- strb r0, [r1]
- b _0800BD8C
-_0800BD36:
- ldr r1, =gUnknown_03000D6D
- ldrb r0, [r1]
- cmp r0, 0
- bne _0800BD52
- ldr r2, =0x00000339
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800BD4C
- movs r0, 0x1
- strb r0, [r1]
-_0800BD4C:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800BD68
-_0800BD52:
- ldr r1, =0x0400012a
- movs r0, 0
- strh r0, [r1]
- b _0800BD86
- .pool
-_0800BD68:
- ldr r3, =0x0400012a
- movs r1, 0xCE
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 1
- ldrb r2, [r4, 0x16]
- movs r1, 0x64
- muls r1, r2
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
-_0800BD86:
- ldrb r0, [r4, 0x16]
- adds r0, 0x1
- strb r0, [r4, 0x16]
-_0800BD8C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BCE4
-
- thumb_func_start sub_800BD98
-sub_800BD98: @ 800BD98
- push {lr}
- ldr r0, =gUnknown_03003170
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800BDB4
- ldr r2, =0x0400010e
- ldrh r1, [r2]
- ldr r0, =0x0000ff7f
- ands r0, r1
- strh r0, [r2]
- ldr r1, =0x0400010c
- ldr r2, =0x0000ff3b
- adds r0, r2, 0
- strh r0, [r1]
-_0800BDB4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BD98
-
- thumb_func_start sub_800BDCC
-sub_800BDCC: @ 800BDCC
- push {lr}
- ldr r1, =gUnknown_03003170
- ldrb r0, [r1, 0x17]
- cmp r0, 0x8
- bne _0800BDE4
- movs r0, 0
- strb r0, [r1, 0x16]
- strb r0, [r1, 0x17]
- b _0800BDF4
- .pool
-_0800BDE4:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800BDF4
- ldr r0, =0x0400010e
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_0800BDF4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BDCC
-
- thumb_func_start sub_800BDFC
-sub_800BDFC: @ 800BDFC
- push {r4-r6,lr}
- ldr r1, =gUnknown_03003170
- ldr r2, =0x00000339
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- movs r3, 0xCE
- lsls r3, 2
- adds r0, r1, r3
- strb r2, [r0]
- movs r0, 0
- movs r6, 0x64
- adds r5, r1, 0
- adds r5, 0x18
- ldr r4, =0x0000efff
-_0800BE1A:
- movs r2, 0
- adds r1, r0, 0x1
- adds r3, r0, 0
- muls r3, r6
-_0800BE22:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x31
- bls _0800BE22
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _0800BE1A
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BDFC
-
- thumb_func_start sub_800BE50
-sub_800BE50: @ 800BE50
- push {r4-r7,lr}
- ldr r1, =gUnknown_03003170
- ldr r2, =0x00000fbd
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, =0x00000fbc
- adds r0, r1, r3
- strb r2, [r0]
- movs r0, 0x64
- mov r12, r0
- movs r3, 0xCF
- lsls r3, 2
- adds r7, r1, r3
- ldr r6, =0x0000efff
-_0800BE6E:
- movs r3, 0
- lsls r0, r2, 1
- adds r5, r2, 0x1
- adds r0, r2
- lsls r0, 3
- adds r0, r2
- lsls r4, r0, 5
-_0800BE7C:
- movs r2, 0
- adds r1, r3, 0x1
- mov r0, r12
- muls r0, r3
- adds r3, r0, 0
-_0800BE86:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r4
- adds r0, r7
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x31
- bls _0800BE86
- lsls r0, r1, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _0800BE7C
- lsls r0, r5, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800BE6E
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BE50
-
- thumb_func_start sub_800BEC0
-sub_800BEC0: @ 800BEC0
- push {r4,lr}
- bl rfu_REQBN_softReset_and_checkID
- adds r4, r0, 0
- ldr r0, =0x00008001
- cmp r4, r0
- bne _0800BED4
- ldr r1, =gUnknown_03004140
- movs r0, 0x1
- strb r0, [r1, 0x8]
-_0800BED4:
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0, 0x4]
- adds r1, r0, 0
- cmp r2, 0x17
- beq _0800BEE8
- cmp r2, 0x1
- beq _0800BEE8
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_0800BEE8:
- movs r0, 0
- strb r0, [r1, 0x7]
- strb r0, [r1, 0xD]
- strb r0, [r1, 0x1]
- strb r0, [r1]
- movs r0, 0xFF
- strb r0, [r1, 0x6]
- bl sub_800D610
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800BEC0
-
- thumb_func_start rfu_REQ_sendData_wrapper
-rfu_REQ_sendData_wrapper: @ 800BF0C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800BF34
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- movs r2, 0
- cmp r0, 0x1
- bne _0800BF3C
- movs r2, 0x1
- b _0800BF3C
- .pool
-_0800BF34:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x3]
- movs r1, 0
- strb r1, [r0, 0x3]
-_0800BF3C:
- adds r0, r2, 0
- bl rfu_REQ_sendData
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_REQ_sendData_wrapper
-
- thumb_func_start sub_800BF4C
-sub_800BF4C: @ 800BF4C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0800BF94
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldr r2, =0x01000024
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- str r5, [r4, 0x40]
- str r6, [r4, 0x44]
- ldr r0, =sub_800CEB0
- bl rfu_setMSCCallback
- ldr r0, =sub_800C7B4
- bl rfu_setREQCallback
- movs r0, 0
- b _0800BF96
- .pool
-_0800BF94:
- movs r0, 0x4
-_0800BF96:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_800BF4C
-
- thumb_func_start sub_800BFA0
-sub_800BFA0: @ 800BFA0
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldr r2, =0x01000020
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BFA0
-
- thumb_func_start sub_800BFCC
-sub_800BFCC: @ 800BFCC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_800C000
- ldr r1, =gUnknown_03004140
- movs r2, 0x1
- strb r2, [r1, 0x4]
- movs r0, 0x2
- strb r0, [r1, 0x5]
- str r4, [r1, 0x3C]
- ldrb r0, [r4, 0x11]
- strb r0, [r1, 0x9]
- ldrh r0, [r4, 0x12]
- strh r0, [r1, 0x32]
- ldrh r0, [r4, 0x14]
- strh r0, [r1, 0x18]
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _0800BFF4
- strb r2, [r1, 0xB]
-_0800BFF4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800BFCC
-
- thumb_func_start sub_800C000
-sub_800C000: @ 800C000
- push {r4,r5,lr}
- ldr r2, =gUnknown_03004140
- movs r0, 0
- strb r0, [r2, 0x5]
- strb r0, [r2, 0x4]
- movs r1, 0xFF
- strb r1, [r2, 0x6]
- strb r0, [r2, 0x7]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0xC]
- adds r1, r2, 0
- adds r1, 0x24
- strb r0, [r1]
- adds r1, 0xC
- strb r0, [r1]
- movs r3, 0
- adds r5, r2, 0
- adds r5, 0x28
- movs r4, 0
- adds r2, 0x34
-_0800C028:
- lsls r1, r3, 1
- adds r0, r1, r5
- strh r4, [r0]
- adds r1, r2
- strh r4, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800C028
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C000
-
- thumb_func_start sub_800C048
-sub_800C048: @ 800C048
- ldr r1, =gUnknown_03004140
- movs r0, 0x15
- strb r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800C048
-
- thumb_func_start sub_800C054
-sub_800C054: @ 800C054
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r3, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C090
- cmp r0, 0x8
- bne _0800C07A
- cmp r5, 0x1
- beq _0800C090
-_0800C07A:
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x1
- b _0800C122
- .pool
-_0800C090:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _0800C0B0
- ldr r1, =gUnknown_03004140
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x2
- b _0800C122
- .pool
-_0800C0B0:
- movs r2, 0
- ldrh r0, [r6]
- ldr r4, =0x0000ffff
- adds r1, r6, 0x2
- ldr r3, =gUnknown_03004140
- cmp r0, r4
- beq _0800C0D0
-_0800C0BE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bhi _0800C0D0
- ldrh r0, [r1]
- adds r1, 0x2
- cmp r0, r4
- bne _0800C0BE
-_0800C0D0:
- cmp r2, 0x10
- bne _0800C0EC
- movs r0, 0x4
- strh r0, [r3, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x4
- b _0800C122
- .pool
-_0800C0EC:
- cmp r5, 0x1
- bls _0800C0FA
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r5, 0x1
- movs r7, 0
- b _0800C0FE
-_0800C0FA:
- movs r0, 0
- strb r0, [r3, 0x7]
-_0800C0FE:
- cmp r5, 0
- beq _0800C108
- movs r0, 0x5
- strb r0, [r3, 0x4]
- b _0800C116
-_0800C108:
- movs r0, 0x9
- strb r0, [r3, 0x4]
- ldrb r0, [r3, 0xB]
- cmp r0, 0
- beq _0800C116
- movs r0, 0x2
- strb r0, [r3, 0xB]
-_0800C116:
- strb r5, [r3, 0x6]
- strh r7, [r3, 0x1A]
- mov r0, r8
- strh r0, [r3, 0x26]
- str r6, [r3, 0x20]
- movs r0, 0
-_0800C122:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800C054
-
- thumb_func_start sub_800C12C
-sub_800C12C: @ 800C12C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C164
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0800C164
- movs r0, 0x1
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x1
- b _0800C204
- .pool
-_0800C164:
- bl rfu_getMasterSlave
- lsls r0, 24
- cmp r0, 0
- bne _0800C184
- ldr r1, =gUnknown_03004140
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x2
- b _0800C204
- .pool
-_0800C184:
- movs r2, 0
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldrb r3, [r1, 0x8]
- ldr r5, =gUnknown_03004140
- adds r7, r0, 0
- cmp r2, r3
- bcs _0800C1B2
- ldrh r0, [r1, 0x14]
- cmp r0, r6
- beq _0800C1B2
- adds r4, r1, 0
- adds r1, r3, 0
-_0800C19E:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcs _0800C1B2
- lsls r0, r2, 5
- adds r0, r4, r0
- ldrh r0, [r0, 0x14]
- cmp r0, r6
- bne _0800C19E
-_0800C1B2:
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _0800C1BE
- cmp r2, r0
- bne _0800C1D8
-_0800C1BE:
- movs r0, 0x3
- strh r0, [r5, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x3
- b _0800C204
- .pool
-_0800C1D8:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _0800C1E2
- cmp r0, 0x9
- bne _0800C1EA
-_0800C1E2:
- movs r0, 0xC
- strb r0, [r5, 0x4]
- movs r0, 0xD
- b _0800C1F0
-_0800C1EA:
- movs r0, 0xB
- strb r0, [r5, 0x4]
- movs r0, 0xC
-_0800C1F0:
- strb r0, [r5, 0x5]
- strh r6, [r5, 0x1E]
- mov r0, r8
- strh r0, [r5, 0x1A]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0800C202
- movs r0, 0x7
- strb r0, [r5, 0x7]
-_0800C202:
- movs r0, 0
-_0800C204:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800C12C
-
- thumb_func_start sub_800C210
-sub_800C210: @ 800C210
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, =gUnknown_03004140
- adds r3, r6, 0
- adds r3, 0x30
- ldrb r2, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _0800C26C
- adds r0, r2, 0
- bics r0, r1
- strb r0, [r3]
- movs r4, 0
- ldr r7, =gUnknown_03007890
- movs r5, 0x1
- adds r3, 0x4
- movs r2, 0
-_0800C236:
- adds r0, r1, 0
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- beq _0800C246
- lsls r0, r4, 1
- adds r0, r3
- strh r2, [r0]
-_0800C246:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800C236
- ldr r0, [r7]
- ldrb r4, [r0, 0x3]
- ands r4, r1
- cmp r4, 0
- beq _0800C260
- adds r0, r4, 0
- bl sub_800D334
-_0800C260:
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x33
- adds r1, r4, 0
- bl sub_800D30C
-_0800C26C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C210
-
- thumb_func_start sub_800C27C
-sub_800C27C: @ 800C27C
- push {r4,r5,lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, =gUnknown_03004140
- strb r2, [r1, 0x7]
- adds r5, r1, 0
- cmp r0, 0
- beq _0800C29C
- bl sub_800C000
- movs r0, 0x17
- strb r0, [r5, 0x4]
- b _0800C366
- .pool
-_0800C29C:
- ldrb r0, [r5, 0x4]
- subs r0, 0x5
- cmp r0, 0xD
- bhi _0800C352
- lsls r0, 2
- ldr r1, =_0800C2B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C2B4:
- .4byte _0800C2EC
- .4byte _0800C2F8
- .4byte _0800C2F8
- .4byte _0800C358
- .4byte _0800C302
- .4byte _0800C30C
- .4byte _0800C30C
- .4byte _0800C316
- .4byte _0800C320
- .4byte _0800C320
- .4byte _0800C358
- .4byte _0800C326
- .4byte _0800C34C
- .4byte _0800C34C
-_0800C2EC:
- movs r1, 0
- movs r0, 0x8
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- movs r2, 0x13
- b _0800C358
-_0800C2F8:
- movs r0, 0x7
- strb r0, [r5, 0x4]
- movs r0, 0x8
- strb r0, [r5, 0x5]
- b _0800C358
-_0800C302:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x21
- b _0800C358
-_0800C30C:
- movs r1, 0
- movs r0, 0xB
- strb r0, [r5, 0x4]
- strb r1, [r5, 0x5]
- b _0800C358
-_0800C316:
- movs r0, 0
- strb r0, [r5, 0x5]
- strb r0, [r5, 0x4]
- movs r2, 0x23
- b _0800C358
-_0800C320:
- movs r0, 0xE
- strb r0, [r5, 0x4]
- b _0800C358
-_0800C326:
- ldrb r0, [r5, 0x11]
- strb r0, [r5, 0x4]
- ldrb r0, [r5, 0x12]
- strb r0, [r5, 0x5]
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- bl sub_800D334
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- strh r0, [r5, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_800D30C
- b _0800C366
- .pool
-_0800C34C:
- movs r0, 0x12
- strb r0, [r5, 0x4]
- b _0800C358
-_0800C352:
- strb r2, [r5, 0x5]
- strb r2, [r5, 0x4]
- movs r2, 0x43
-_0800C358:
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- bne _0800C366
- adds r0, r2, 0
- movs r1, 0
- bl sub_800D30C
-_0800C366:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800C27C
-
- thumb_func_start sub_800C36C
-sub_800C36C: @ 800C36C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- mov r8, r1
- mov r5, sp
- adds r5, 0x1
- mov r4, sp
- adds r4, 0x2
- mov r1, sp
- adds r2, r5, 0
- adds r3, r4, 0
- bl rfu_REQBN_watchLink
- mov r0, sp
- ldrb r0, [r0]
- adds r7, r4, 0
- cmp r0, 0
- beq _0800C43E
- ldr r1, =gUnknown_03004140
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0x14]
- ldrb r0, [r5]
- strh r0, [r1, 0x16]
- ldrb r0, [r1, 0x9]
- adds r6, r1, 0
- cmp r0, 0
- beq _0800C426
- movs r0, 0x1
- strb r0, [r6, 0xA]
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _0800C3C2
- ldrb r0, [r5]
- cmp r0, 0
- bne _0800C3C2
- movs r0, 0x4
- strb r0, [r6, 0xA]
-_0800C3C2:
- ldrb r0, [r6, 0xA]
- cmp r0, 0x1
- bne _0800C40C
- movs r2, 0
- mov r4, sp
- movs r5, 0x1
- mov r12, r6
- mov r3, r12
- adds r3, 0x30
- movs r6, 0x34
- add r6, r12
- mov r9, r6
-_0800C3DA:
- ldrb r0, [r4]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _0800C3F8
- adds r0, r5, 0
- lsls r0, r2
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- lsls r0, r2, 1
- add r0, r9
- mov r6, r12
- ldrh r1, [r6, 0x32]
- strh r1, [r0]
-_0800C3F8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C3DA
- movs r0, 0x31
- b _0800C41E
- .pool
-_0800C40C:
- movs r0, 0
- strb r0, [r6, 0xA]
- mov r0, sp
- ldrb r0, [r0]
- bl sub_800D334
- movs r0, 0x1
- mov r8, r0
- movs r0, 0x33
-_0800C41E:
- movs r1, 0x1
- bl sub_800D30C
- b _0800C43A
-_0800C426:
- mov r0, sp
- ldrb r0, [r0]
- bl sub_800D334
- movs r1, 0x1
- mov r8, r1
- movs r0, 0x30
- movs r1, 0x2
- bl sub_800D30C
-_0800C43A:
- bl sub_800D610
-_0800C43E:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800C518
- ldrb r0, [r7]
- cmp r0, 0
- beq _0800C49C
- movs r2, 0
- ldr r6, =gUnknown_03004140
- movs r3, 0x1
- adds r4, r6, 0
- adds r4, 0x34
- adds r6, 0x30
- adds r5, r7, 0
-_0800C45C:
- ldrb r0, [r6]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _0800C478
- ldrb r0, [r5]
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- beq _0800C478
- lsls r0, r2, 1
- adds r0, r4
- movs r1, 0
- strh r1, [r0]
-_0800C478:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C45C
- ldr r3, =gUnknown_03004140
- adds r2, r3, 0
- adds r2, 0x30
- ldrb r1, [r7]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r7]
- strh r0, [r3, 0x14]
- movs r0, 0x32
- movs r1, 0x1
- bl sub_800D30C
-_0800C49C:
- ldr r0, =gUnknown_03004140
- adds r3, r0, 0
- adds r3, 0x30
- ldrb r1, [r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _0800C514
- movs r4, 0
- movs r2, 0
- movs r5, 0x1
-_0800C4B0:
- ldrb r0, [r3]
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _0800C4E2
- lsls r1, r2, 1
- adds r0, r6, 0
- adds r0, 0x34
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _0800C4E2
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0800C4E2
- adds r0, r5, 0
- lsls r0, r2
- ldrb r1, [r3]
- bics r1, r0
- strb r1, [r3]
- orrs r4, r0
- lsls r0, r4, 24
- lsrs r4, r0, 24
-_0800C4E2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800C4B0
- cmp r4, 0
- beq _0800C506
- adds r0, r4, 0
- bl sub_800D334
- movs r6, 0x1
- mov r8, r6
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x33
- movs r1, 0x1
- bl sub_800D30C
-_0800C506:
- ldr r0, =gUnknown_03004140
- adds r1, r0, 0
- adds r1, 0x30
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- bne _0800C518
-_0800C514:
- movs r0, 0
- strb r0, [r6, 0xA]
-_0800C518:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800C36C
-
- thumb_func_start rfu_syncVBlank_
-rfu_syncVBlank_: @ 800C530
- push {lr}
- bl rfu_syncVBlank
- lsls r0, 16
- cmp r0, 0
- beq _0800C548
- movs r0, 0xF1
- movs r1, 0
- bl sub_800D30C
- bl sub_800D610
-_0800C548:
- pop {r0}
- bx r0
- thumb_func_end rfu_syncVBlank_
-
- thumb_func_start sub_800C54C
-sub_800C54C: @ 800C54C
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_03004140
- ldr r2, [r1, 0x40]
- cmp r2, 0
- bne _0800C568
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0800C568
- strb r2, [r1, 0x4]
- b _0800C736
- .pool
-_0800C568:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0800C576
- adds r0, r3, 0
- bl sub_800C744
-_0800C576:
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- bne _0800C580
- b _0800C700
-_0800C580:
- bl rfu_waitREQComplete
- movs r0, 0x1
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0x4]
- subs r0, 0x1
- cmp r0, 0x16
- bls _0800C592
- b _0800C6F6
-_0800C592:
- lsls r0, 2
- ldr r1, =_0800C5A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C5A4:
- .4byte _0800C624
- .4byte _0800C65C
- .4byte _0800C662
- .4byte _0800C678
- .4byte _0800C690
- .4byte _0800C696
- .4byte _0800C69C
- .4byte _0800C6F6
- .4byte _0800C6A2
- .4byte _0800C6A8
- .4byte _0800C6AE
- .4byte _0800C6B4
- .4byte _0800C6C4
- .4byte _0800C6CA
- .4byte _0800C6F6
- .4byte _0800C6D0
- .4byte _0800C6E0
- .4byte _0800C6E6
- .4byte _0800C6EC
- .4byte _0800C6F6
- .4byte _0800C6F2
- .4byte _0800C6F6
- .4byte _0800C600
-_0800C600:
- bl sub_800BEC0
- ldr r1, =0x00008001
- movs r2, 0xFF
- cmp r0, r1
- bne _0800C60E
- movs r2, 0x44
-_0800C60E:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- adds r0, r2, 0
- b _0800C64E
- .pool
-_0800C624:
- bl sub_800BEC0
- ldr r1, =0x00008001
- cmp r0, r1
- bne _0800C644
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x3
- strb r1, [r0, 0x5]
- b _0800C6F6
- .pool
-_0800C644:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- movs r0, 0xFF
-_0800C64E:
- movs r1, 0
- bl sub_800D30C
- b _0800C6F6
- .pool
-_0800C65C:
- bl rfu_REQ_reset
- b _0800C6F6
-_0800C662:
- ldr r0, =gUnknown_03004140
- ldr r2, [r0, 0x3C]
- ldrh r0, [r2, 0x2]
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- bl rfu_REQ_configSystem
- b _0800C6F6
- .pool
-_0800C678:
- ldr r0, =gUnknown_03004140
- ldr r3, [r0, 0x3C]
- ldrb r0, [r3, 0x4]
- ldrh r1, [r3, 0x6]
- ldr r2, [r3, 0x8]
- ldr r3, [r3, 0xC]
- bl rfu_REQ_configGameData
- b _0800C6F6
- .pool
-_0800C690:
- bl rfu_REQ_startSearchChild
- b _0800C6F6
-_0800C696:
- bl rfu_REQ_pollSearchChild
- b _0800C6F6
-_0800C69C:
- bl rfu_REQ_endSearchChild
- b _0800C6F6
-_0800C6A2:
- bl rfu_REQ_startSearchParent
- b _0800C6F6
-_0800C6A8:
- bl rfu_REQ_pollSearchParent
- b _0800C6F6
-_0800C6AE:
- bl rfu_REQ_endSearchParent
- b _0800C6F6
-_0800C6B4:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x1E]
- bl rfu_REQ_startConnectParent
- b _0800C6F6
- .pool
-_0800C6C4:
- bl rfu_REQ_pollConnectParent
- b _0800C6F6
-_0800C6CA:
- bl rfu_REQ_endConnectParent
- b _0800C6F6
-_0800C6D0:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl rfu_REQ_CHILD_startConnectRecovery
- b _0800C6F6
- .pool
-_0800C6E0:
- bl rfu_REQ_CHILD_pollConnectRecovery
- b _0800C6F6
-_0800C6E6:
- bl rfu_REQ_CHILD_endConnectRecovery
- b _0800C6F6
-_0800C6EC:
- bl rfu_REQ_changeMasterSlave
- b _0800C6F6
-_0800C6F2:
- bl rfu_REQ_stopMode
-_0800C6F6:
- bl rfu_waitREQComplete
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0xE]
-_0800C700:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x4]
- subs r0, 0x12
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0800C710
- b _0800C576
-_0800C710:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800C726
- movs r0, 0
- bl sub_800C36C
- lsls r0, 24
- cmp r0, 0
- bne _0800C736
-_0800C726:
- bl sub_800CF34
- bl sub_800D158
- bl sub_800D268
- bl sub_800D434
-_0800C736:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800C54C
-
- thumb_func_start sub_800C744
-sub_800C744: @ 800C744
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x7]
- adds r4, r0, 0
- cmp r1, 0x5
- bne _0800C76E
- movs r2, 0x1
- strb r2, [r4, 0x6]
- strb r1, [r4, 0x4]
- ldrh r0, [r4, 0x1C]
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800C76C
- movs r0, 0x6
- strb r0, [r4, 0x7]
- b _0800C76E
- .pool
-_0800C76C:
- strb r2, [r4, 0x7]
-_0800C76E:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x1
- bne _0800C798
- strb r0, [r4, 0x6]
- movs r0, 0x5
- strb r0, [r4, 0x4]
- adds r0, r3, 0
- movs r1, 0x8C
- bl __umodsi3
- strh r0, [r4, 0x1A]
- movs r1, 0x8C
- subs r1, r0
- strh r1, [r4, 0x1C]
- lsls r0, 16
- cmp r0, 0
- beq _0800C794
- movs r0, 0x2
- b _0800C796
-_0800C794:
- movs r0, 0x3
-_0800C796:
- strb r0, [r4, 0x7]
-_0800C798:
- ldrb r0, [r4, 0x7]
- cmp r0, 0x3
- bne _0800C7AE
- movs r0, 0
- strb r0, [r4, 0x6]
- movs r0, 0x28
- strh r0, [r4, 0x1A]
- movs r0, 0x4
- strb r0, [r4, 0x7]
- movs r0, 0x9
- strb r0, [r4, 0x4]
-_0800C7AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800C744
-
- thumb_func_start sub_800C7B4
-sub_800C7B4: @ 800C7B4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0xE]
- adds r7, r0, 0
- cmp r1, 0
- bne _0800C7D2
- b _0800CC98
-_0800C7D2:
- movs r0, 0
- strb r0, [r7, 0xE]
- mov r0, r8
- subs r0, 0x10
- cmp r0, 0x2D
- bls _0800C7E0
- b _0800CC8A
-_0800C7E0:
- lsls r0, 2
- ldr r1, =_0800C7F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800C7F4:
- .4byte _0800C8AC
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800C8D8
- .4byte _0800C8C4
- .4byte _0800CC8A
- .4byte _0800C8EC
- .4byte _0800C8FC
- .4byte _0800C920
- .4byte _0800C940
- .4byte _0800C960
- .4byte _0800C9D0
- .4byte _0800CA02
- .4byte _0800CA18
- .4byte _0800CA60
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CBD8
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CAD0
- .4byte _0800CB1C
- .4byte _0800CB64
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC8A
- .4byte _0800CC78
-_0800C8AC:
- cmp r6, 0
- beq _0800C8B2
- b _0800CC8A
-_0800C8B2:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- movs r1, 0x4
- strb r1, [r0, 0x5]
- b _0800CC8A
- .pool
-_0800C8C4:
- cmp r6, 0
- beq _0800C8CA
- b _0800CC8A
-_0800C8CA:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- b _0800CC8A
- .pool
-_0800C8D8:
- cmp r6, 0
- beq _0800C8DE
- b _0800CC8A
-_0800C8DE:
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0
- b _0800CBF6
- .pool
-_0800C8EC:
- cmp r6, 0
- beq _0800C8F2
- b _0800CC8A
-_0800C8F2:
- ldr r1, =gUnknown_03004140
- movs r0, 0x6
- b _0800CA0C
- .pool
-_0800C8FC:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800C906
- b _0800CC8A
-_0800C906:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800C912
- b _0800CC8A
-_0800C912:
- movs r0, 0x7
- strb r0, [r1, 0x4]
- movs r0, 0x8
- strb r0, [r1, 0x5]
- b _0800CC8A
- .pool
-_0800C920:
- cmp r6, 0
- beq _0800C926
- b _0800CC8A
-_0800C926:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x5]
- strb r1, [r0, 0x4]
- strb r6, [r0, 0x5]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0800C936
- b _0800CC8A
-_0800C936:
- movs r0, 0x13
- b _0800CBF6
- .pool
-_0800C940:
- cmp r6, 0
- beq _0800C946
- b _0800CC8A
-_0800C946:
- ldrb r0, [r7, 0xB]
- cmp r0, 0x1
- bne _0800C956
- ldrh r0, [r7, 0x1A]
- cmp r0, 0x1
- bls _0800C956
- subs r0, 0x1
- strh r0, [r7, 0x1A]
-_0800C956:
- ldr r1, =gUnknown_03004140
- movs r0, 0xA
- b _0800CA0C
- .pool
-_0800C960:
- cmp r6, 0
- bne _0800C9A6
- bl sub_800D294
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r4, =gUnknown_03004140
- strh r0, [r4, 0x14]
- cmp r0, 0
- beq _0800C980
- movs r0, 0x20
- movs r1, 0x1
- bl sub_800D30C
-_0800C980:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0800C9A6
- ldrh r0, [r4, 0x1A]
- cmp r0, 0x1
- beq _0800C9A6
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _0800C9A6
- bl rfu_REQ_endSearchParent
- bl rfu_waitREQComplete
- movs r0, 0x9
- strb r0, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0xB]
-_0800C9A6:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800C9B0
- b _0800CC8A
-_0800C9B0:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800C9BC
- b _0800CC8A
-_0800C9BC:
- movs r0, 0xB
- strb r0, [r1, 0x4]
- movs r0, 0
- strb r0, [r1, 0x5]
- b _0800CC8A
- .pool
-_0800C9D0:
- cmp r6, 0
- beq _0800C9D6
- b _0800CC8A
-_0800C9D6:
- ldr r2, =gUnknown_03004140
- ldrb r0, [r2, 0x5]
- strb r0, [r2, 0x4]
- ldrb r1, [r2, 0x7]
- cmp r1, 0
- bne _0800C9F4
- lsls r0, 24
- cmp r0, 0
- beq _0800C9EA
- b _0800CC8A
-_0800C9EA:
- movs r0, 0x21
- b _0800CBF6
- .pool
-_0800C9F4:
- cmp r1, 0x7
- bne _0800C9FA
- b _0800CC8A
-_0800C9FA:
- movs r0, 0x5
- strb r0, [r2, 0x4]
- strb r0, [r2, 0x7]
- b _0800CC8A
-_0800CA02:
- cmp r6, 0
- beq _0800CA08
- b _0800CC8A
-_0800CA08:
- ldr r1, =gUnknown_03004140
- movs r0, 0xD
-_0800CA0C:
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
- b _0800CC8A
- .pool
-_0800CA18:
- cmp r6, 0
- bne _0800CA3C
- ldr r4, =gUnknown_03004150
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- bne _0800CA3C
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CA3C
- adds r1, r4, 0
- subs r1, 0x10
- movs r0, 0xE
- strb r0, [r1, 0x4]
-_0800CA3C:
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x1A]
- cmp r0, 0
- bne _0800CA46
- b _0800CC8A
-_0800CA46:
- subs r0, 0x1
- strh r0, [r1, 0x1A]
- lsls r0, 16
- cmp r0, 0
- beq _0800CA52
- b _0800CC8A
-_0800CA52:
- movs r0, 0xE
- strb r0, [r1, 0x4]
- b _0800CC8A
- .pool
-_0800CA60:
- cmp r6, 0
- beq _0800CA66
- b _0800CC8A
-_0800CA66:
- ldr r4, =gUnknown_03004150
- mov r0, sp
- adds r1, r4, 0
- bl rfu_getConnectParentStatus
- lsls r0, 16
- cmp r0, 0
- beq _0800CA78
- b _0800CC8A
-_0800CA78:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CA9C
- adds r1, r4, 0
- subs r1, 0x10
- movs r0, 0x13
- strb r0, [r1, 0x4]
- movs r0, 0xF
- strb r0, [r1, 0x5]
- movs r0, 0x22
- strh r0, [r1, 0x1E]
- ldrb r0, [r1, 0x10]
- strh r0, [r1, 0x14]
- b _0800CABC
- .pool
-_0800CA9C:
- adds r1, r4, 0
- subs r1, 0x10
- strb r6, [r1, 0x5]
- strb r6, [r1, 0x4]
- movs r0, 0x23
- strh r0, [r1, 0x1E]
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0x14]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _0800CABC
- movs r0, 0x3
- strb r0, [r1, 0x7]
- movs r0, 0x9
- strb r0, [r1, 0x4]
-_0800CABC:
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x1E]
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _0800CC8A
- .pool
-_0800CAD0:
- cmp r6, 0
- beq _0800CAD6
- b _0800CC8A
-_0800CAD6:
- ldr r2, =gUnknown_03007890
- ldr r3, [r2]
- ldrb r0, [r3, 0x3]
- movs r1, 0
- strh r0, [r7, 0x14]
- movs r0, 0x11
- strb r0, [r7, 0x5]
- strb r0, [r7, 0x4]
- strb r1, [r7, 0x10]
- ldrb r0, [r3, 0x3]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800CAF4
- b _0800CC8A
-_0800CAF4:
- adds r1, r7, 0
- movs r3, 0x1
-_0800CAF8:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0800CB08
- b _0800CC8A
-_0800CB08:
- ldr r0, [r2]
- ldrb r0, [r0, 0x3]
- ldrb r4, [r7, 0x10]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _0800CAF8
- b _0800CC8A
- .pool
-_0800CB1C:
- cmp r6, 0
- bne _0800CB3A
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- bne _0800CB3A
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0800CB3A
- ldr r1, =gUnknown_03004140
- movs r0, 0x12
- strb r0, [r1, 0x4]
-_0800CB3A:
- ldr r2, =gUnknown_03004140
- ldrb r0, [r2, 0x10]
- lsls r0, 1
- adds r1, r2, 0
- adds r1, 0x34
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _0800CB4E
- b _0800CC8A
-_0800CB4E:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0800CB5A
- b _0800CC8A
-_0800CB5A:
- movs r0, 0x12
- strb r0, [r2, 0x4]
- b _0800CC8A
- .pool
-_0800CB64:
- cmp r6, 0
- beq _0800CB6A
- b _0800CC8A
-_0800CB6A:
- mov r0, sp
- bl rfu_CHILD_getConnectRecoveryStatus
- lsls r0, 16
- cmp r0, 0
- beq _0800CB78
- b _0800CC8A
-_0800CB78:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CB94
- ldr r1, =gUnknown_03004140
- movs r0, 0x13
- strb r0, [r1, 0x4]
- movs r0, 0x16
- strb r0, [r1, 0x5]
- movs r0, 0x32
- strh r0, [r1, 0x1E]
- b _0800CBA8
- .pool
-_0800CB94:
- ldr r4, =gUnknown_03004140
- strb r6, [r4, 0x5]
- strb r6, [r4, 0x4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bl sub_800D334
- movs r0, 0x33
- strh r0, [r4, 0x1E]
-_0800CBA8:
- ldr r5, =gUnknown_03004140
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0x34
- adds r0, r1
- movs r1, 0
- movs r4, 0
- strh r4, [r0]
- adds r0, r5, 0
- adds r0, 0x30
- strb r1, [r0]
- strb r1, [r5, 0xA]
- ldrb r0, [r5, 0x1E]
- movs r1, 0x1
- bl sub_800D30C
- strh r4, [r5, 0x1E]
- b _0800CC8A
- .pool
-_0800CBD8:
- cmp r6, 0
- bne _0800CC8A
- ldr r5, =gUnknown_03004140
- ldrb r1, [r5, 0x5]
- adds r0, r1, 0
- cmp r0, 0x16
- bne _0800CC04
- ldrb r0, [r5, 0x11]
- strb r0, [r5, 0x4]
- ldrb r0, [r5, 0x12]
- strb r0, [r5, 0x5]
- ldrb r0, [r5, 0x2]
- movs r0, 0x1
- strb r0, [r5, 0x2]
- movs r0, 0x41
-_0800CBF6:
- movs r1, 0
- bl sub_800D30C
- b _0800CC8A
- .pool
-_0800CC04:
- cmp r0, 0xF
- bne _0800CC8A
- strb r1, [r5, 0x4]
- ldrb r0, [r5, 0x2]
- movs r4, 0x1
- strb r4, [r5, 0x2]
- movs r0, 0x41
- movs r1, 0
- bl sub_800D30C
- adds r1, r5, 0
- adds r1, 0x24
- ldrb r0, [r5, 0x10]
- lsls r4, r0
- ldrb r0, [r1]
- orrs r4, r0
- strb r4, [r1]
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, 0x4
- adds r0, r1
- ldrh r1, [r5, 0x26]
- movs r7, 0
- strh r1, [r0]
- ldrb r1, [r5, 0x10]
- movs r0, 0x4
- bl rfu_clearSlot
- mov r4, sp
- ldrb r0, [r5, 0x10]
- movs r1, 0xE
- bl rfu_NI_CHILD_setSendGameName
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- beq _0800CC8A
- strb r7, [r5, 0x5]
- strb r7, [r5, 0x4]
- bl sub_800D610
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_800D334
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_800D30C
- b _0800CC8A
- .pool
-_0800CC78:
- cmp r6, 0
- bne _0800CC8A
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0x5]
- strb r6, [r0, 0x4]
- movs r0, 0x42
- movs r1, 0
- bl sub_800D30C
-_0800CC8A:
- ldr r1, =gUnknown_03004140
- movs r0, 0x1
- strb r0, [r1, 0xE]
- b _0800CCE6
- .pool
-_0800CC98:
- cmp r6, 0x3
- bne _0800CCE6
- ldrb r0, [r7, 0xF]
- cmp r0, 0
- beq _0800CCE6
- mov r3, r8
- cmp r3, 0x24
- beq _0800CCB0
- cmp r3, 0x26
- beq _0800CCB0
- cmp r3, 0x27
- bne _0800CCE6
-_0800CCB0:
- bl rfu_REQ_RFUStatus
- bl rfu_waitREQComplete
- mov r0, sp
- bl rfu_getRFUStatus
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CCE6
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800CCE6
- bl rfu_getSTWIRecvBuffer
- ldr r1, [r4]
- ldrb r1, [r1, 0x2]
- strb r1, [r0, 0x4]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- movs r0, 0x29
- bl sub_800C36C
- movs r6, 0
-_0800CCE6:
- mov r4, r8
- cmp r4, 0x26
- bne _0800CCEE
- b _0800CE02
-_0800CCEE:
- cmp r4, 0x26
- bgt _0800CD00
- cmp r4, 0x10
- bne _0800CCF8
- b _0800CE20
-_0800CCF8:
- b _0800CE3E
- .pool
-_0800CD00:
- mov r0, r8
- cmp r0, 0x30
- beq _0800CD0E
- cmp r0, 0x3D
- bne _0800CD0C
- b _0800CE20
-_0800CD0C:
- b _0800CE3E
-_0800CD0E:
- cmp r6, 0
- beq _0800CD14
- b _0800CE42
-_0800CD14:
- bl rfu_getSTWIRecvBuffer
- ldr r4, =gUnknown_03004140
- ldrb r0, [r0, 0x8]
- strh r0, [r4, 0x14]
- bl sub_800D358
- adds r2, r4, 0
- adds r2, 0x30
- ldrb r1, [r2]
- cmp r1, 0
- beq _0800CD6A
- ldrb r0, [r4, 0x14]
- adds r3, r1, 0
- bics r3, r0
- adds r0, r3, 0
- strb r0, [r2]
- movs r3, 0
- adds r7, r4, 0
- adds r1, r7, 0
- movs r5, 0x1
- adds r4, r1, 0
- adds r4, 0x34
- movs r2, 0
-_0800CD44:
- ldrh r0, [r1, 0x14]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _0800CD54
- lsls r0, r3, 1
- adds r0, r4
- strh r2, [r0]
-_0800CD54:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800CD44
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0800CD6A
- strb r0, [r1, 0x5]
- strb r0, [r1, 0x4]
-_0800CD6A:
- mov r3, sp
- ldr r1, =gUnknown_03004140
- ldrb r2, [r1]
- ldrb r0, [r1, 0x14]
- ands r0, r2
- strb r0, [r3]
- movs r3, 0
- adds r7, r1, 0
- ldr r2, =gUnknown_03007890
- mov r1, sp
- movs r5, 0x1
- adds r4, r7, 0
-_0800CD82:
- ldrb r0, [r1]
- asrs r0, r3
- ands r0, r5
- cmp r0, 0
- beq _0800CD96
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0800CD96
- subs r0, 0x1
- strb r0, [r7, 0x1]
-_0800CD96:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800CD82
- ldrb r1, [r7, 0x14]
- ldrb r0, [r7]
- bics r0, r1
- strb r0, [r7]
- ldrb r1, [r7, 0x7]
- cmp r1, 0
- beq _0800CDE0
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0800CDF2
- cmp r1, 0x8
- bne _0800CDCC
- ldrh r0, [r7, 0x1C]
- strh r0, [r7, 0x1A]
- movs r0, 0x6
- strb r0, [r7, 0x7]
- b _0800CDDE
- .pool
-_0800CDCC:
- ldrb r0, [r7, 0x4]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0800CDE0
- movs r0, 0x1
- strb r0, [r7, 0x7]
- movs r0, 0x5
-_0800CDDE:
- strb r0, [r7, 0x4]
-_0800CDE0:
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0800CDF2
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- bne _0800CDF2
- movs r0, 0xFF
- strb r0, [r7, 0x6]
-_0800CDF2:
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- bne _0800CE3E
- movs r0, 0x40
- movs r1, 0x1
- bl sub_800D30C
- b _0800CE3E
-_0800CE02:
- bl sub_800D20C
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0800CE3E
- movs r0, 0x50
- movs r1, 0
- bl sub_800D30C
- b _0800CE3E
- .pool
-_0800CE20:
- cmp r6, 0
- bne _0800CE42
- ldr r0, =gUnknown_03004140
- strb r6, [r0, 0xD]
- strb r6, [r0, 0x1]
- strb r6, [r0]
- movs r1, 0xFF
- strb r1, [r0, 0x6]
- bl sub_800D610
- mov r4, r8
- cmp r4, 0x3D
- bne _0800CE3E
- bl sub_800BFA0
-_0800CE3E:
- cmp r6, 0
- beq _0800CE92
-_0800CE42:
- ldr r7, =gUnknown_03004140
- mov r0, r8
- cmp r0, 0x1C
- bne _0800CE74
- cmp r6, 0
- beq _0800CE74
- ldrb r0, [r7, 0x7]
- cmp r0, 0x4
- bne _0800CE74
- ldr r2, =gUnknown_03007890
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, [r2]
- movs r0, 0xF
- strb r0, [r1, 0x2]
- bl sub_800D334
- bl rfu_waitREQComplete
- b _0800CEA4
- .pool
-_0800CE74:
- movs r1, 0
- mov r3, r8
- strh r3, [r7, 0x14]
- strh r6, [r7, 0x16]
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- beq _0800CE86
- strb r1, [r7, 0x5]
- strb r1, [r7, 0x4]
-_0800CE86:
- movs r0, 0xF0
- movs r1, 0x2
- bl sub_800D30C
- bl sub_800D610
-_0800CE92:
- mov r4, r8
- cmp r4, 0xFF
- bne _0800CEA4
- movs r0, 0xF2
- movs r1, 0
- bl sub_800D30C
- bl sub_800D610
-_0800CEA4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800C7B4
-
- thumb_func_start sub_800CEB0
-sub_800CEB0: @ 800CEB0
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, =gUnknown_03004140
- ldrb r7, [r4, 0xE]
- movs r0, 0
- strb r0, [r4, 0xE]
- movs r0, 0x1
- strb r0, [r4, 0xF]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r5, [r0]
- cmp r5, 0
- bne _0800CEEC
- adds r0, r6, 0
- bl sub_800C36C
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _0800CF04
- bl sub_800D610
- strb r5, [r4, 0xF]
- strb r7, [r4, 0xE]
- b _0800CF28
- .pool
-_0800CEEC:
- mov r0, sp
- bl rfu_UNI_PARENT_getDRAC_ACK
- lsls r0, 16
- cmp r0, 0
- bne _0800CF04
- mov r1, sp
- ldrb r0, [r4, 0x3]
- ldrb r1, [r1]
- orrs r0, r1
- ldrb r1, [r4, 0x3]
- strb r0, [r4, 0x3]
-_0800CF04:
- ldr r4, =gUnknown_03004140
- ldr r1, [r4, 0x44]
- cmp r1, 0
- beq _0800CF20
- adds r0, r6, 0
- bl _call_via_r1
- bl rfu_waitREQComplete
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- bne _0800CF20
- bl sub_800D610
-_0800CF20:
- ldr r1, =gUnknown_03004140
- movs r0, 0
- strb r0, [r1, 0xF]
- strb r7, [r1, 0xE]
-_0800CF28:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800CEB0
-
- thumb_func_start sub_800CF34
-sub_800CF34: @ 800CF34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- adds r3, r1, 0
- cmp r0, 0x3
- bls _0800CF52
- b _0800D146
-_0800CF52:
- ldr r0, =gUnknown_03007890
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r3, 0xC]
- adds r4, r1, 0
- eors r4, r0
- ands r4, r1
- ldrb r0, [r2, 0x7]
- bics r4, r0
- mov r8, r4
- strb r1, [r3, 0xC]
- cmp r4, 0
- beq _0800CF7A
- strh r4, [r3, 0x14]
- movs r0, 0x10
- movs r1, 0x1
- str r3, [sp, 0x4]
- bl sub_800D30C
- ldr r3, [sp, 0x4]
-_0800CF7A:
- movs r0, 0
- str r0, [sp]
- movs r6, 0
- adds r7, r3, 0
- movs r1, 0x24
- adds r1, r3
- mov r9, r1
-_0800CF88:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r6
- lsrs r4, r0, 24
- movs r5, 0
- mov r0, r8
- ands r0, r4
- cmp r0, 0
- beq _0800CFDA
- lsls r1, r6, 1
- adds r0, r7, 0
- adds r0, 0x28
- adds r1, r0
- ldrh r0, [r7, 0x26]
- strh r0, [r1]
- mov r2, r9
- ldrb r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r2]
- adds r6, 0x1
- mov r10, r6
- b _0800D090
- .pool
-_0800CFC0:
- ldrb r1, [r7]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r7, 0x1]
- adds r0, 0x1
- strb r0, [r7, 0x1]
- ldr r0, [sp]
- orrs r0, r4
- str r0, [sp]
- movs r0, 0x1
- orrs r5, r0
- b _0800D024
-_0800CFDA:
- mov r1, r9
- ldrb r0, [r1]
- ands r0, r4
- adds r2, r6, 0x1
- mov r10, r2
- cmp r0, 0
- beq _0800D090
- ldr r0, =gUnknown_03007880
- lsls r1, r6, 2
- adds r1, r0
- ldr r1, [r1]
- ldrh r0, [r1, 0x34]
- cmp r0, 0x46
- bne _0800D040
- adds r0, r1, 0
- adds r0, 0x61
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800D058
- movs r5, 0x2
- ldr r3, [r3, 0x20]
- ldrh r2, [r3]
- ldr r0, =0x0000ffff
- cmp r2, r0
- beq _0800D024
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r6, 5
- adds r0, r1
- ldrh r0, [r0, 0x18]
- ldr r1, =0x0000ffff
-_0800D018:
- cmp r0, r2
- beq _0800CFC0
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r1
- bne _0800D018
-_0800D024:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0800D058
- movs r0, 0x4
- orrs r5, r0
- b _0800D058
- .pool
-_0800D040:
- lsls r1, r6, 1
- adds r0, r3, 0
- adds r0, 0x28
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldr r1, =0x0000ffff
- ands r0, r1
- cmp r0, 0
- bne _0800D058
- movs r5, 0x6
-_0800D058:
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _0800D07E
- mov r2, r9
- ldrb r0, [r2]
- bics r0, r4
- movs r2, 0
- mov r1, r9
- strb r0, [r1]
- lsls r0, r6, 1
- adds r1, r7, 0
- adds r1, 0x28
- adds r0, r1
- strh r2, [r0]
- movs r0, 0x8
- adds r1, r6, 0
- bl rfu_clearSlot
-_0800D07E:
- movs r0, 0x4
- ands r5, r0
- ldr r3, =gUnknown_03004140
- cmp r5, 0
- beq _0800D090
- ldrb r1, [r7, 0xD]
- adds r0, r4, 0
- orrs r0, r1
- strb r0, [r7, 0xD]
-_0800D090:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _0800D09C
- b _0800CF88
-_0800D09C:
- ldr r4, [sp]
- cmp r4, 0
- beq _0800D0AE
- ldr r0, =gUnknown_03004140
- strh r4, [r0, 0x14]
- movs r0, 0x11
- movs r1, 0x1
- bl sub_800D30C
-_0800D0AE:
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- beq _0800D0EA
- movs r5, 0x1
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800D0CE
- ldrb r0, [r1, 0x3]
- ldrb r1, [r1]
- ands r0, r1
- cmp r0, r1
- beq _0800D0CE
- movs r5, 0
-_0800D0CE:
- cmp r5, 0
- beq _0800D0EA
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0xD]
- bl sub_800D334
- ldrb r0, [r4, 0xD]
- movs r1, 0
- strh r0, [r4, 0x14]
- strb r1, [r4, 0xD]
- movs r0, 0x12
- movs r1, 0x1
- bl sub_800D30C
-_0800D0EA:
- ldr r0, =gUnknown_03004140
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0
- bne _0800D146
- ldrb r0, [r3, 0x4]
- cmp r0, 0x8
- bne _0800D146
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- bne _0800D120
- strb r0, [r3, 0x5]
- strb r0, [r3, 0x4]
- movs r0, 0x14
- movs r1, 0
- bl sub_800D30C
- b _0800D146
- .pool
-_0800D120:
- cmp r0, 0x2
- bne _0800D12C
- movs r0, 0x3
- strb r0, [r3, 0x7]
- movs r0, 0x9
- b _0800D132
-_0800D12C:
- movs r0, 0x1
- strb r0, [r3, 0x7]
- movs r0, 0x5
-_0800D132:
- strb r0, [r3, 0x4]
- ldrb r0, [r3]
- cmp r0, 0
- beq _0800D146
- movs r0, 0
- strh r0, [r3, 0x1A]
- movs r0, 0x8
- strb r0, [r3, 0x7]
- movs r0, 0x5
- strb r0, [r3, 0x4]
-_0800D146:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800CF34
-
- thumb_func_start sub_800D158
-sub_800D158: @ 800D158
- push {r4-r6,lr}
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r6, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x4]
- cmp r0, 0xF
- bne _0800D1BC
- ldrb r1, [r4, 0x10]
- lsls r1, 1
- adds r5, r4, 0
- adds r5, 0x28
- adds r1, r5
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0800D192
- ldr r1, =gUnknown_03007880
- ldrb r0, [r4, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _0800D1BC
-_0800D192:
- bl sub_800D630
- movs r0, 0x18
- strb r0, [r4, 0x4]
- ldrb r1, [r4, 0x10]
- movs r0, 0x4
- bl rfu_clearSlot
- adds r2, r4, 0
- adds r2, 0x24
- movs r1, 0x1
- ldrb r0, [r4, 0x10]
- lsls r1, r0
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r4, 0x10]
- lsls r0, 1
- adds r0, r5
- movs r1, 0
- strh r1, [r0]
-_0800D1BC:
- ldr r0, =0x04000208
- strh r6, [r0]
- ldr r5, =gUnknown_03004140
- ldrb r0, [r5, 0x4]
- cmp r0, 0x18
- bne _0800D1F6
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _0800D1D2
- bl sub_800D630
-_0800D1D2:
- ldrb r0, [r5, 0x2]
- adds r4, r0, 0
- cmp r4, 0
- bne _0800D1F6
- strb r4, [r5, 0x5]
- strb r4, [r5, 0x4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl sub_800D334
- strh r4, [r5, 0x14]
- movs r0, 0x25
- movs r1, 0x1
- bl sub_800D30C
-_0800D1F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D158
-
- thumb_func_start sub_800D20C
-sub_800D20C: @ 800D20C
- push {r4,r5,lr}
- ldr r5, =gUnknown_03004140
- ldrb r0, [r5, 0x4]
- cmp r0, 0xF
- bne _0800D258
- ldr r1, =gUnknown_03007880
- ldrb r2, [r5, 0x10]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- bne _0800D258
- movs r4, 0
- strb r4, [r5, 0x5]
- strb r4, [r5, 0x4]
- movs r0, 0x4
- adds r1, r2, 0
- bl rfu_clearSlot
- adds r2, r5, 0
- adds r2, 0x24
- movs r1, 0x1
- ldrb r0, [r5, 0x10]
- lsls r1, r0
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- ldrb r0, [r5, 0x10]
- lsls r0, 1
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r1
- strh r4, [r0]
- movs r0, 0x24
- movs r1, 0
- bl sub_800D30C
-_0800D258:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D20C
-
- thumb_func_start sub_800D268
-sub_800D268: @ 800D268
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0800D28C
- ldrb r0, [r1, 0xA]
- cmp r0, 0x1
- bne _0800D28C
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x11]
- ldrb r0, [r1, 0x5]
- strb r0, [r1, 0x12]
- movs r0, 0x10
- strb r0, [r1, 0x4]
- movs r0, 0x11
- strb r0, [r1, 0x5]
- movs r0, 0x2
- strb r0, [r1, 0xA]
-_0800D28C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D268
-
- thumb_func_start sub_800D294
-sub_800D294: @ 800D294
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r5, 0
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bcs _0800D2F0
- mov r8, r0
- ldr r0, =gUnknown_03004140
- mov r10, r0
- mov r9, r1
-_0800D2B4:
- mov r1, r10
- ldr r3, [r1, 0x20]
- ldrh r2, [r3]
- adds r0, r5, 0x1
- mov r12, r0
- ldr r1, =0x0000ffff
- cmp r2, r1
- beq _0800D2E6
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r5, 5
- adds r0, r1
- ldrh r4, [r0, 0x18]
- ldr r7, =0x0000ffff
- movs r1, 0x1
- lsls r1, r5
-_0800D2D4:
- cmp r4, r2
- bne _0800D2DE
- orrs r6, r1
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_0800D2DE:
- adds r3, 0x2
- ldrh r2, [r3]
- cmp r2, r7
- bne _0800D2D4
-_0800D2E6:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, r8
- bcc _0800D2B4
-_0800D2F0:
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D294
-
- thumb_func_start sub_800D30C
-sub_800D30C: @ 800D30C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, =gUnknown_03004140
- ldr r2, [r4, 0x40]
- cmp r2, 0
- beq _0800D322
- bl _call_via_r2
-_0800D322:
- movs r0, 0
- strh r0, [r4, 0x16]
- strh r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D30C
-
- thumb_func_start sub_800D334
-sub_800D334: @ 800D334
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gUnknown_03004140
- ldrb r5, [r4, 0xE]
- movs r1, 0x1
- strb r1, [r4, 0xE]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- strb r5, [r4, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D334
-
- thumb_func_start sub_800D358
-sub_800D358: @ 800D358
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0800D3A0
- movs r4, 0
-_0800D36A:
- ldr r1, =gUnknown_03007880
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D396
- ldrb r1, [r2, 0x1A]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D396
- adds r2, r1, 0
- bics r2, r5
- movs r0, 0x20
- adds r1, r4, 0
- bl rfu_changeSendTarget
-_0800D396:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D36A
-_0800D3A0:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _0800D3DE
- movs r4, 0
-_0800D3AC:
- ldr r1, =gUnknown_03007880
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2, 0x34]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D3D4
- adds r0, r2, 0
- adds r0, 0x4E
- ldrb r0, [r0]
- ands r0, r5
- cmp r0, 0
- beq _0800D3D4
- adds r0, r4, 0
- bl rfu_NI_stopReceivingData
-_0800D3D4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D3AC
-_0800D3DE:
- ldr r0, =gUnknown_03007890
- ldr r3, [r0]
- ldrb r2, [r3, 0x6]
- cmp r2, 0
- beq _0800D41C
- mvns r1, r5
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0x6]
- movs r4, 0
- ldr r7, =gUnknown_03007870
- ldr r6, =0x00008024
-_0800D3F6:
- lsls r0, r4, 2
- adds r0, r7
- ldr r2, [r0]
- ldrh r0, [r2]
- cmp r0, r6
- bne _0800D412
- ldrb r3, [r2, 0x3]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _0800D412
- adds r0, r1, 0
- ands r0, r3
- strb r0, [r2, 0x3]
-_0800D412:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D3F6
-_0800D41C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D358
-
- thumb_func_start sub_800D434
-sub_800D434: @ 800D434
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _0800D510
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0800D4D4
- movs r6, 0
-_0800D454:
- ldr r3, =gUnknown_03007880
- lsls r2, r6, 2
- adds r0, r2, r3
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r1, r0
- adds r7, r2, 0
- adds r0, r6, 0x1
- mov r9, r0
- cmp r1, 0
- beq _0800D4CA
- movs r5, 0
- movs r4, 0
- movs r1, 0x1
- mov r8, r1
- mov r10, r3
-_0800D47A:
- adds r0, r7, r3
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- asrs r0, r4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0800D4A4
- lsls r0, r4, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r1, =gUnknown_03004140
- ldrh r0, [r0, 0x2]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _0800D4A4
- mov r0, r8
- lsls r0, r4
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_0800D4A4:
- cmp r5, 0
- beq _0800D4C0
- mov r1, r10
- adds r0, r7, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- adds r2, r5, 0
- eors r2, r0
- movs r0, 0x20
- adds r1, r6, 0
- str r3, [sp]
- bl rfu_changeSendTarget
- ldr r3, [sp]
-_0800D4C0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800D47A
-_0800D4CA:
- mov r3, r9
- lsls r0, r3, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0800D454
-_0800D4D4:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- beq _0800D510
- movs r6, 0
-_0800D4E0:
- ldr r1, =gUnknown_03007880
- lsls r0, r6, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r0, [r2, 0x34]
- movs r4, 0x80
- lsls r4, 8
- adds r1, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0800D506
- ldr r1, =gUnknown_03004140
- ldrh r0, [r2, 0x36]
- ldrh r1, [r1, 0x18]
- cmp r0, r1
- bls _0800D506
- adds r0, r6, 0
- bl rfu_NI_stopReceivingData
-_0800D506:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0800D4E0
-_0800D510:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D434
-
- thumb_func_start sub_800D52C
-sub_800D52C: @ 800D52C
- push {lr}
- ldr r1, =gUnknown_03004140
- str r0, [r1, 0x44]
- ldr r0, =sub_800CEB0
- bl rfu_setMSCCallback
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D52C
-
- thumb_func_start sub_800D544
-sub_800D544: @ 800D544
- ldr r1, =gUnknown_03004140
- str r0, [r1, 0x40]
- bx lr
- .pool
- thumb_func_end sub_800D544
-
- thumb_func_start sub_800D550
-sub_800D550: @ 800D550
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x9]
- adds r3, r0, 0
- cmp r1, 0
- beq _0800D578
- cmp r4, 0
- bne _0800D578
- adds r0, 0x30
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D578
- movs r0, 0x5
- b _0800D588
- .pool
-_0800D578:
- ldr r2, =0x04000208
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- strb r4, [r3, 0x9]
- strh r5, [r3, 0x32]
- strh r1, [r2]
- movs r0, 0
-_0800D588:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D550
-
- thumb_func_start sub_800D594
-sub_800D594: @ 800D594
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- bne _0800D5B8
- ldr r0, =gUnknown_03004140
- strh r2, [r0, 0x18]
- movs r0, 0
- b _0800D5C8
- .pool
-_0800D5B8:
- ldr r1, =gUnknown_03004140
- movs r0, 0x6
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x6
-_0800D5C8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D594
-
- thumb_func_start sub_800D5D0
-sub_800D5D0: @ 800D5D0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x4]
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _0800D5FC
- movs r0, 0x7
- strh r0, [r1, 0x14]
- movs r0, 0xF3
- movs r1, 0x1
- bl sub_800D30C
- movs r0, 0x7
- b _0800D60A
- .pool
-_0800D5FC:
- cmp r2, 0
- beq _0800D606
- movs r0, 0x1
- strb r0, [r1, 0xB]
- b _0800D608
-_0800D606:
- strb r3, [r1, 0xB]
-_0800D608:
- movs r0, 0
-_0800D60A:
- pop {r1}
- bx r1
- thumb_func_end sub_800D5D0
-
- thumb_func_start sub_800D610
-sub_800D610: @ 800D610
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0800D628
- ldrb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x2]
- movs r0, 0x45
- movs r1, 0
- bl sub_800D30C
-_0800D628:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D610
-
- thumb_func_start sub_800D630
-sub_800D630: @ 800D630
- push {lr}
- ldr r1, =gUnknown_03004140
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0800D648
- movs r0, 0x45
- movs r1, 0
- bl sub_800D30C
- b _0800D654
- .pool
-_0800D648:
- ldrb r0, [r1, 0x2]
- cmp r0, 0x1
- bne _0800D654
- ldrb r0, [r1, 0x2]
- movs r0, 0x2
- strb r0, [r1, 0x2]
-_0800D654:
- pop {r0}
- bx r0
- thumb_func_end sub_800D630
-
- thumb_func_start sub_800D658
-sub_800D658: @ 800D658
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x7]
- adds r2, r0, 0
- cmp r1, 0
- beq _0800D6C2
- ldrb r0, [r2, 0x4]
- subs r0, 0x5
- cmp r0, 0x6
- bhi _0800D6C2
- lsls r0, 2
- ldr r1, =_0800D680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800D680:
- .4byte _0800D69C
- .4byte _0800D6A4
- .4byte _0800D6AE
- .4byte _0800D6AE
- .4byte _0800D6B4
- .4byte _0800D6B4
- .4byte _0800D6BA
-_0800D69C:
- movs r0, 0x3
- strb r0, [r2, 0x7]
- movs r0, 0x9
- b _0800D6C0
-_0800D6A4:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- movs r0, 0x1
- strh r0, [r2, 0x1A]
- b _0800D6C2
-_0800D6AE:
- movs r0, 0x2
- strb r0, [r2, 0x7]
- b _0800D6C2
-_0800D6B4:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- b _0800D6C2
-_0800D6BA:
- movs r0, 0x28
- strh r0, [r2, 0x1A]
- movs r0, 0xA
-_0800D6C0:
- strb r0, [r2, 0x4]
-_0800D6C2:
- pop {r0}
- bx r0
- thumb_func_end sub_800D658
-
- thumb_func_start sub_800D6C8
-sub_800D6C8: @ 800D6C8
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0
- movs r4, 0
- movs r5, 0x46
-_0800D6D2:
- adds r2, r0, 0x1
- movs r1, 0x45
- muls r0, r5
- adds r0, r3
- adds r0, 0x45
-_0800D6DC:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D6DC
- adds r0, r2, 0
- cmp r0, 0x1F
- ble _0800D6D2
- movs r1, 0
- ldr r2, =0x000008c1
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x8C
- lsls r2, 4
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x000008c2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x000008c3
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D6C8
-
- thumb_func_start sub_800D724
-sub_800D724: @ 800D724
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_0800D72C:
- lsls r0, r1, 3
- adds r2, r1, 0x1
- subs r0, r1
- movs r1, 0xD
- lsls r0, 1
- adds r0, r3
- adds r0, 0xD
-_0800D73A:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D73A
- adds r1, r2, 0
- cmp r1, 0x27
- ble _0800D72C
- movs r1, 0
- ldr r2, =0x00000231
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000232
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000233
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D724
-
- thumb_func_start sub_800D780
-sub_800D780: @ 800D780
- push {r4,lr}
- adds r3, r0, 0
- movs r1, 0
- movs r4, 0
-_0800D788:
- lsls r0, r1, 8
- adds r2, r1, 0x1
- movs r1, 0xFF
- adds r0, r3
- adds r0, 0xFF
-_0800D792:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800D792
- adds r1, r2, 0
- cmp r1, 0x1
- ble _0800D788
- movs r1, 0
- ldr r2, =0x00000201
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- movs r2, 0x80
- lsls r2, 2
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000202
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r2, =0x00000203
- adds r0, r3, r2
- ldrb r2, [r0]
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D780
-
- thumb_func_start sub_800D7D8
-sub_800D7D8: @ 800D7D8
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r1, =0x000008c2
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1F
- bhi _0800D874
- ldr r0, =0x04000208
- ldrh r1, [r0]
- adds r7, r1, 0
- movs r1, 0
- strh r1, [r0]
- movs r5, 0
- movs r2, 0
-_0800D7F6:
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0800D80A
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _0800D80A
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0800D80A:
- adds r2, 0xE
- cmp r2, 0x45
- ble _0800D7F6
- cmp r5, 0x5
- beq _0800D866
- movs r2, 0
- movs r0, 0x8C
- lsls r0, 4
- adds r5, r3, r0
- movs r6, 0x46
-_0800D81E:
- ldrb r0, [r5]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r2, r1
- adds r1, r3, r1
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _0800D81E
- movs r0, 0x8C
- lsls r0, 4
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x000008c2
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x45
-_0800D85E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r4
- bge _0800D85E
-_0800D866:
- ldr r0, =0x04000208
- strh r7, [r0]
- b _0800D87E
- .pool
-_0800D874:
- ldr r1, =0x000008c3
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800D87E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D7D8
-
- thumb_func_start sub_800D888
-sub_800D888: @ 800D888
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r1, =0x00000232
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x27
- bhi _0800D920
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r0, 0
- strh r0, [r1]
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _0800D8B8
-_0800D8AA:
- adds r2, 0x1
- cmp r2, 0xD
- bgt _0800D8B8
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D8AA
-_0800D8B8:
- cmp r2, 0xE
- beq _0800D910
- movs r2, 0
- movs r0, 0x8C
- lsls r0, 2
- adds r3, r6, r0
-_0800D8C4:
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r2, r0
- adds r0, r6, r0
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xD
- ble _0800D8C4
- movs r1, 0x8C
- lsls r1, 2
- adds r4, r6, r1
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x28
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r0, =0x00000232
- adds r1, r6, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0
- adds r0, r5, 0
- adds r0, 0xD
-_0800D908:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r5
- bge _0800D908
-_0800D910:
- ldr r0, =0x04000208
- strh r7, [r0]
- b _0800D92A
- .pool
-_0800D920:
- ldr r1, =0x00000233
- adds r0, r6, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800D92A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800D888
-
- thumb_func_start sub_800D934
-sub_800D934: @ 800D934
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r12, r0
- movs r0, 0
- strh r0, [r1]
- movs r1, 0x8C
- lsls r1, 4
- adds r0, r3, r1
- ldr r7, =0x000008c1
- adds r5, r3, r7
- ldrb r1, [r0]
- ldrb r0, [r5]
- cmp r1, r0
- beq _0800D960
- ldr r1, =0x000008c3
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800D984
-_0800D960:
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x45
-_0800D966:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r4
- bge _0800D966
- ldr r0, =0x04000208
- mov r7, r12
- strh r7, [r0]
- movs r0, 0
- b _0800D9CA
- .pool
-_0800D984:
- movs r2, 0
- movs r6, 0x46
-_0800D988:
- adds r1, r4, r2
- ldrb r0, [r5]
- adds r7, r0, 0
- muls r7, r6
- adds r0, r7, 0
- adds r0, r2, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x45
- ble _0800D988
- ldr r0, =0x000008c1
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1F
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r7, =0x000008c2
- adds r1, r3, r7
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x04000208
- mov r1, r12
- strh r1, [r0]
- movs r0, 0x1
-_0800D9CA:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D934
-
- thumb_func_start sub_800D9DC
-sub_800D9DC: @ 800D9DC
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r5, r1
- adds r1, 0x1
- adds r4, r5, r1
- ldrb r1, [r0]
- ldrb r0, [r4]
- cmp r1, r0
- beq _0800DA00
- ldr r1, =0x00000233
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r2, r0, 0
- cmp r2, 0
- beq _0800DA08
-_0800DA00:
- movs r0, 0
- b _0800DA54
- .pool
-_0800DA08:
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- strh r2, [r1]
- movs r3, 0
-_0800DA12:
- adds r2, r6, r3
- ldrb r1, [r4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r5, r0
- ldrb r0, [r0]
- strb r0, [r2]
- adds r3, 0x1
- cmp r3, 0xD
- ble _0800DA12
- ldr r0, =0x00000231
- adds r4, r5, r0
- ldrb r0, [r4]
- adds r0, 0x1
- ldrb r1, [r4]
- strb r0, [r4]
- ldrb r0, [r4]
- movs r1, 0x28
- bl __umodsi3
- ldrb r1, [r4]
- strb r0, [r4]
- ldr r0, =0x00000232
- adds r1, r5, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x04000208
- strh r7, [r0]
- movs r0, 0x1
-_0800DA54:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800D9DC
-
- thumb_func_start sub_800DA68
-sub_800DA68: @ 800DA68
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _0800DA7E
- adds r0, r2, 0
- movs r1, 0
- bl sub_800DAC8
- b _0800DAC0
-_0800DA7E:
- movs r3, 0
-_0800DA80:
- ldrb r1, [r2, 0x1C]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0xD
- ble _0800DA80
- ldrb r0, [r2, 0x1C]
- adds r0, 0x1
- ldrb r1, [r2, 0x1C]
- strb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1C]
- movs r0, 0x1
- ands r0, r1
- ldrb r1, [r2, 0x1C]
- strb r0, [r2, 0x1C]
- ldrb r0, [r2, 0x1E]
- cmp r0, 0x1
- bhi _0800DABA
- ldrb r0, [r2, 0x1E]
- adds r0, 0x1
- ldrb r1, [r2, 0x1E]
- strb r0, [r2, 0x1E]
- b _0800DAC0
-_0800DABA:
- ldrb r0, [r2, 0x1C]
- ldrb r1, [r2, 0x1D]
- strb r0, [r2, 0x1D]
-_0800DAC0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_800DA68
-
- thumb_func_start sub_800DAC8
-sub_800DAC8: @ 800DAC8
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldrb r0, [r3, 0x1E]
- cmp r0, 0
- bne _0800DAD8
- movs r0, 0
- b _0800DB12
-_0800DAD8:
- cmp r5, 0
- beq _0800DAF6
- movs r4, 0
-_0800DADE:
- adds r2, r5, r4
- ldrb r1, [r3, 0x1D]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r0, r4, r0
- adds r0, r3, r0
- ldrb r0, [r0]
- strb r0, [r2]
- adds r4, 0x1
- cmp r4, 0xD
- ble _0800DADE
-_0800DAF6:
- ldrb r0, [r3, 0x1D]
- adds r0, 0x1
- ldrb r1, [r3, 0x1D]
- strb r0, [r3, 0x1D]
- ldrb r1, [r3, 0x1D]
- movs r0, 0x1
- ands r0, r1
- ldrb r1, [r3, 0x1D]
- strb r0, [r3, 0x1D]
- ldrb r0, [r3, 0x1E]
- subs r0, 0x1
- ldrb r1, [r3, 0x1E]
- strb r0, [r3, 0x1E]
- movs r0, 0x1
-_0800DB12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_800DAC8
-
- thumb_func_start sub_800DB18
-sub_800DB18: @ 800DB18
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldr r1, =0x00000202
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _0800DB70
- movs r2, 0
- movs r0, 0x80
- lsls r0, 2
- adds r4, r3, r0
-_0800DB30:
- ldrb r0, [r4]
- lsls r0, 8
- adds r0, r2, r0
- adds r0, r3, r0
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xFF
- ble _0800DB30
- movs r0, 0x80
- lsls r0, 2
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- b _0800DB7A
- .pool
-_0800DB70:
- ldr r1, =0x00000203
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
-_0800DB7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DB18
-
- thumb_func_start sub_800DB84
-sub_800DB84: @ 800DB84
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- movs r1, 0x80
- lsls r1, 2
- adds r0, r3, r1
- adds r1, 0x1
- adds r4, r3, r1
- ldrb r1, [r0]
- ldrb r0, [r4]
- cmp r1, r0
- beq _0800DBA6
- ldr r1, =0x00000203
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800DBB0
-_0800DBA6:
- movs r0, 0
- b _0800DBEA
- .pool
-_0800DBB0:
- movs r2, 0
-_0800DBB2:
- adds r0, r5, r2
- ldrb r1, [r4]
- lsls r1, 8
- adds r1, r2, r1
- adds r1, r3, r1
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xFF
- ble _0800DBB2
- ldr r0, =0x00000201
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- ldrb r2, [r1]
- strb r0, [r1]
- ldr r0, =0x00000202
- adds r1, r3, r0
- ldrb r0, [r1]
- subs r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r0, 0x1
-_0800DBEA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800DB84
-
- thumb_func_start sub_800DBF8
-sub_800DBF8: @ 800DBF8
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- movs r5, 0
- cmp r1, 0x1
- beq _0800DC36
- cmp r1, 0x1
- bgt _0800DC12
- cmp r1, 0
- beq _0800DC1C
- b _0800DCAA
-_0800DC12:
- cmp r0, 0x2
- beq _0800DC56
- cmp r0, 0x3
- beq _0800DC76
- b _0800DCAA
-_0800DC1C:
- movs r4, 0
-_0800DC1E:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r1, [r0]
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r1, 0
- cmp r4, 0xC7
- ble _0800DC1E
- b _0800DC70
-_0800DC36:
- movs r4, 0
- adds r2, r6, 0
- adds r2, 0xC8
-_0800DC3C:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r1, [r0]
- lsls r0, r5, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r1, 0
- cmp r4, 0x63
- ble _0800DC3C
- strh r5, [r2]
- b _0800DCAA
-_0800DC56:
- movs r4, 0
-_0800DC58:
- bl Random
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, r4
- strb r0, [r1]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x1
- cmp r4, 0xC7
- ble _0800DC58
-_0800DC70:
- adds r0, r6, r4
- strh r5, [r0]
- b _0800DCAA
-_0800DC76:
- movs r4, 0
- ldr r3, =gUnknown_03000D74
- ldrb r1, [r3]
- ldrb r0, [r3]
- adds r7, r0, 0x1
- adds r2, r1, 0x1
- movs r0, 0xFF
- mov r12, r0
-_0800DC86:
- adds r0, r6, r4
- adds r1, r4, 0x1
- strb r2, [r0]
- adds r0, r4, r7
- mov r4, r12
- ands r0, r4
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r2, 0x1
- adds r4, r1, 0
- cmp r1, 0xC7
- ble _0800DC86
- adds r0, r6, r1
- strh r5, [r0]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_0800DCAA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DBF8
-
- thumb_func_start sub_800DCB4
-sub_800DCB4: @ 800DCB4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0800DCD8
- ldr r5, =gUnknown_082ED470
- adds r2, r1, 0
-_0800DCC4:
- adds r1, r4, r3
- ldrb r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _0800DCC4
-_0800DCD8:
- adds r1, r4, r3
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DCB4
-
- thumb_func_start sub_800DCE8
-sub_800DCE8: @ 800DCE8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800DD0C
- ldr r5, =gUnknown_082ED370
- adds r2, r1, 0
-_0800DCF8:
- adds r1, r4, r3
- ldrb r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0
- bne _0800DCF8
-_0800DD0C:
- adds r1, r4, r3
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DCE8
-
- thumb_func_start sub_800DD1C
-sub_800DD1C: @ 800DD1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, =gUnknown_03007890
- ldr r4, [r0]
- ldrb r2, [r4, 0x2]
- ldrb r1, [r4]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _0800DD72
- movs r3, 0
- ands r1, r2
- cmp r1, 0
- beq _0800DD4E
- cmp r5, 0x1
- bne _0800DD48
- ldrb r0, [r4, 0xA]
- b _0800DD8C
- .pool
-_0800DD48:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0800DD4E:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _0800DD8A
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0800DD4E
- adds r0, r6, 0x1
- cmp r5, r0
- bne _0800DD48
-_0800DD68:
- ldr r0, [r7]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _0800DD8C
-_0800DD72:
- movs r3, 0
- movs r1, 0x1
-_0800DD76:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0800DD68
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800DD76
-_0800DD8A:
- movs r0, 0
-_0800DD8C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DD1C
-
- thumb_func_start sub_800DD94
-sub_800DD94: @ 800DD94
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r4, 0
- ldr r0, =gSaveBlock2Ptr
- mov r8, r0
- adds r6, r7, 0x2
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0xA
-_0800DDB2:
- adds r0, r6, r4
- adds r1, r5, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x1
- ble _0800DDB2
- movs r4, 0
- lsls r2, 7
- mov r12, r2
- adds r1, r7, 0x4
-_0800DDC8:
- adds r0, r1, r4
- strb r3, [r0]
- asrs r3, 8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0800DDC8
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- movs r6, 0x1
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r7, 0xB]
- movs r5, 0x2
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0xB]
- movs r4, 0x7F
- mov r1, r9
- ands r1, r4
- ldrb r2, [r7, 0xA]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- ands r0, r4
- mov r1, r12
- orrs r0, r1
- strb r0, [r7, 0xA]
- ldrb r0, [r7]
- movs r1, 0x10
- negs r1, r1
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- ldrb r2, [r7, 0x1]
- movs r0, 0x3D
- negs r0, r0
- ands r0, r2
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r7, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r1, r0
- subs r0, 0x10
- ands r1, r0
- subs r0, 0x20
- ands r1, r0
- strb r1, [r7]
- ldr r0, =0x0000087f
- bl FlagGet
- lsls r0, 7
- ldrb r1, [r7]
- ands r4, r1
- orrs r4, r0
- strb r4, [r7]
- bl IsNationalPokedexEnabled
- ands r0, r6
- ldrb r1, [r7, 0x1]
- ands r5, r1
- orrs r5, r0
- strb r5, [r7, 0x1]
- ldr r0, =0x00000864
- bl FlagGet
- ands r6, r0
- lsls r6, 1
- ldrb r1, [r7, 0x1]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- orrs r0, r6
- strb r0, [r7, 0x1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DD94
-
- thumb_func_start sub_800DE7C
-sub_800DE7C: @ 800DE7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _0800DED8
- movs r0, 0x1
- mov r9, r0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _0800DEB8
- ldr r1, [r6]
- ldrb r0, [r1, 0x7]
- asrs r0, r5
- mov r2, r9
- ands r0, r2
- cmp r0, 0
- bne _0800DEF0
-_0800DEB8:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
- b _0800DF24
- .pool
-_0800DED8:
- movs r0, 0
- mov r9, r0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsls r4, r5, 5
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _0800DF10
- ldr r1, [r6]
-_0800DEF0:
- adds r1, r4, r1
- adds r1, 0x1A
- adds r0, r7, 0
- movs r2, 0xD
- bl memcpy
- ldr r1, [r6]
- adds r1, r4, r1
- adds r1, 0x29
- mov r0, r8
- movs r2, 0x8
- bl memcpy
- b _0800DF24
- .pool
-_0800DF10:
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800DF24:
- mov r0, r9
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DE7C
-
- thumb_func_start sub_800DF34
-sub_800DF34: @ 800DF34
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- movs r7, 0
- ldr r6, =gUnknown_03007890
- ldr r0, [r6]
- lsrs r4, r2, 19
- adds r2, r0, r4
- ldrh r1, [r2, 0x18]
- ldr r0, =0x00007f7d
- cmp r1, r0
- bne _0800DF74
- adds r1, r2, 0
- adds r1, 0x1A
- adds r0, r3, 0
- movs r2, 0xD
- bl memcpy
- ldr r1, [r6]
- adds r1, r4, r1
- adds r1, 0x29
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- movs r7, 0x1
- b _0800DF88
- .pool
-_0800DF74:
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800DF88:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800DF34
-
- thumb_func_start sub_800DF90
-sub_800DF90: @ 800DF90
- push {r4,lr}
- adds r4, r1, 0
- ldr r1, =gUnknown_02022B14
- movs r2, 0xD
- bl memcpy
- ldr r1, =gUnknown_02022B22
- adds r0, r4, 0
- movs r2, 0x8
- bl memcpy
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DF90
-
- thumb_func_start sub_800DFB4
-sub_800DFB4: @ 800DFB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r3, 0
- bne _0800DFCA
- cmp r2, 0
- bne _0800DFCA
- movs r3, 0xE7
- movs r2, 0x8
-_0800DFCA:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800E024
- ldr r0, =gUnknown_082ED5F0
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldr r0, =0x00001234
- strh r0, [r4, 0x3C]
- ldr r0, =gUnknown_082ED5E0
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- strh r0, [r4, 0x3A]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldr r0, =gUnknown_02022B10
- strb r5, [r0]
- b _0800E06A
- .pool
-_0800E024:
- ldr r0, =gUnknown_082ED5F0
- adds r1, r3, 0
- movs r3, 0
- bl CreateSprite
- ldr r4, =gUnknown_02022B10
- strb r0, [r4]
- ldr r5, =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, =0x00001234
- strh r1, [r0, 0x3C]
- ldr r0, =gUnknown_082ED5E0
- ldrh r0, [r0, 0x6]
- bl GetSpriteTileStartByTag
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- strh r0, [r1, 0x3A]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0800E06A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800DFB4
-
- thumb_func_start sub_800E084
-sub_800E084: @ 800E084
- push {r4,lr}
- ldr r4, =gSprites
- ldr r3, =gUnknown_02022B10
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r4
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- ldr r0, =0x00001234
- cmp r1, r0
- bne _0800E0CA
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldr r3, =gMain
- movs r0, 0x84
- lsls r0, 3
- adds r3, r0
- ldr r0, =gDummyOamData
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r1, =0x070003e8
- movs r2, 0x4
- bl CpuSet
-_0800E0CA:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E084
-
- thumb_func_start sub_800E0E8
-sub_800E0E8: @ 800E0E8
- push {r4,lr}
- ldr r4, =gUnknown_082ED5E0
- ldrh r0, [r4, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _0800E100
- adds r0, r4, 0
- bl LoadCompressedObjectPic
-_0800E100:
- ldr r0, =gUnknown_082ED5E8
- bl LoadSpritePalette
- ldr r1, =gUnknown_02022B10
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E0E8
-
- thumb_func_start sub_800E124
-sub_800E124: @ 800E124
- push {r4,lr}
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r2, [r0, 0x2]
- movs r3, 0
- movs r4, 0x1
-_0800E130:
- adds r0, r2, 0
- ands r0, r4
- cmp r0, 0
- beq _0800E148
- ldr r0, [r1]
- adds r0, 0xA
- adds r0, r3
- ldrb r0, [r0]
- b _0800E156
- .pool
-_0800E148:
- lsrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E130
- movs r0, 0
-_0800E156:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800E124
-
- thumb_func_start sub_800E15C
-sub_800E15C: @ 800E15C
- push {lr}
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, r1
- beq _0800E170
- movs r0, 0
- strh r1, [r2, 0x32]
- strh r0, [r2, 0x34]
- strh r0, [r2, 0x36]
-_0800E170:
- pop {r0}
- bx r0
- thumb_func_end sub_800E15C
-
- thumb_func_start sub_800E174
-sub_800E174: @ 800E174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, =gUnknown_02022B10
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0800E184
- b _0800E346
-_0800E184:
- ldr r2, =gSprites
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- ldr r0, =0x00001234
- cmp r1, r0
- beq _0800E19C
- b _0800E346
-_0800E19C:
- adds r6, r2, 0
- movs r5, 0xFF
- movs r4, 0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800E1F6
- adds r7, r6, 0
- adds r7, 0x28
- movs r1, 0x29
- adds r1, r6
- mov r8, r1
- b _0800E1E6
- .pool
-_0800E1C8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_800DD1C
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _0800E1E6
- adds r0, r4, 0
- bl sub_800DD1C
- lsls r0, 24
- lsrs r5, r0, 24
-_0800E1E6:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r4, r0
- blt _0800E1C8
- b _0800E208
-_0800E1F6:
- bl sub_800E124
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r6, 0
- adds r7, 0x28
- movs r2, 0x29
- adds r2, r6
- mov r8, r2
-_0800E208:
- bl sub_8012224
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800E218
- movs r0, 0x4
- b _0800E246
-_0800E218:
- cmp r5, 0x18
- bhi _0800E220
- movs r0, 0x3
- b _0800E246
-_0800E220:
- adds r0, r5, 0
- subs r0, 0x19
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _0800E230
- movs r0, 0x2
- b _0800E246
-_0800E230:
- adds r0, r5, 0
- subs r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x65
- bhi _0800E240
- movs r0, 0x1
- b _0800E246
-_0800E240:
- cmp r5, 0xE4
- bls _0800E248
- movs r0, 0
-_0800E246:
- strh r0, [r6, 0x2E]
-_0800E248:
- movs r3, 0x2E
- ldrsh r1, [r6, r3]
- movs r2, 0x30
- ldrsh r0, [r6, r2]
- cmp r1, r0
- beq _0800E25E
- adds r0, r6, 0
- bl sub_800E15C
- ldrh r0, [r6, 0x2E]
- strh r0, [r6, 0x30]
-_0800E25E:
- movs r0, 0x32
- ldrsh r1, [r6, r0]
- ldr r2, [r6, 0x8]
- lsls r1, 2
- adds r1, r2
- movs r3, 0x36
- ldrsh r0, [r6, r3]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- movs r3, 0x34
- ldrsh r1, [r6, r3]
- cmp r0, r1
- bge _0800E2AC
- ldrh r0, [r6, 0x36]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r6, 0x36]
- strh r3, [r6, 0x34]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r0, 2
- adds r0, r2
- movs r2, 0x36
- ldrsh r1, [r6, r2]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _0800E2B2
- strh r3, [r6, 0x36]
- b _0800E2B2
-_0800E2AC:
- ldrh r0, [r6, 0x34]
- adds r0, 0x1
- strh r0, [r6, 0x34]
-_0800E2B2:
- ldr r4, =gMain
- movs r1, 0x84
- lsls r1, 3
- adds r0, r4, r1
- ldr r1, =gUnknown_082ED570
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r0]
- str r2, [r0, 0x4]
- movs r3, 0x20
- ldrsh r2, [r6, r3]
- movs r1, 0
- ldrsb r1, [r7, r1]
- adds r2, r1
- ldr r1, =0x00000422
- adds r5, r4, r1
- ldr r3, =0x000001ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r5]
- ldr r1, =0xfffffe00
- ands r1, r3
- orrs r1, r2
- strh r1, [r5]
- ldrh r1, [r6, 0x22]
- mov r2, r8
- ldrb r2, [r2]
- adds r1, r2
- strb r1, [r0]
- ldrb r2, [r6, 0x5]
- ldr r3, =0x00000425
- adds r5, r4, r3
- lsrs r2, 4
- lsls r2, 4
- ldrb r3, [r5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r2
- strb r1, [r5]
- movs r1, 0x32
- ldrsh r2, [r6, r1]
- ldr r1, [r6, 0x8]
- lsls r2, 2
- adds r2, r1
- movs r3, 0x36
- ldrsh r1, [r6, r3]
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1]
- ldrh r6, [r6, 0x3A]
- adds r2, r6
- ldr r1, =0x00000424
- adds r4, r1
- ldr r3, =0x000003ff
- adds r1, r3, 0
- ands r2, r1
- ldrh r3, [r4]
- ldr r1, =0xfffffc00
- ands r1, r3
- orrs r1, r2
- strh r1, [r4]
- ldr r1, =0x070003e8
- movs r2, 0x4
- bl CpuSet
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800E346
- bl sub_800E084
-_0800E346:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E174
-
- thumb_func_start sub_800E378
-sub_800E378: @ 800E378
- push {lr}
- stm r0!, {r1}
- adds r1, r2, 0
- bl StringCopy
- pop {r0}
- bx r0
- thumb_func_end sub_800E378
-
- thumb_func_start sub_800E388
-sub_800E388: @ 800E388
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_0800E38E:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800E39A
- movs r0, 0x1
- b _0800E3A2
-_0800E39A:
- adds r1, 0x1
- cmp r1, 0x7
- ble _0800E38E
- movs r0, 0
-_0800E3A2:
- pop {r1}
- bx r1
- thumb_func_end sub_800E388
-
- thumb_func_start sub_800E3A8
-sub_800E3A8: @ 800E3A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800E3BE
- b _0800E520
-_0800E3BE:
- movs r0, 0xF0
- bl AllocZeroed
- str r0, [sp, 0x14]
- movs r4, 0
- b _0800E434
- .pool
-_0800E3D0:
- lsls r2, r4, 2
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r5, 0
- mov r8, r2
- lsls r0, r4, 3
- adds r1, r4, 0x1
- mov r9, r1
- subs r0, r4
- lsls r0, 2
- str r0, [sp, 0x1C]
- ldr r7, =gLinkPlayers + 8
- mov r10, r7
- ldr r6, =0x00003b98
- movs r4, 0
- mov r0, r10
- subs r0, 0x4
- ldr r1, [sp, 0x1C]
- adds r3, r1, r0
-_0800E3FC:
- ldrh r1, [r3]
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldr r7, =0x00003b98
- adds r0, r2, r7
- adds r0, r4
- ldr r0, [r0]
- cmp r1, r0
- bne _0800E428
- adds r1, r2, r6
- adds r1, 0x4
- ldr r0, [sp, 0x1C]
- add r0, r10
- str r3, [sp, 0x18]
- bl StringCompare
- ldr r3, [sp, 0x18]
- cmp r0, 0
- bne _0800E428
- mov r0, sp
- add r0, r8
- str r5, [r0]
-_0800E428:
- adds r6, 0xC
- adds r4, 0xC
- adds r5, 0x1
- cmp r5, 0x13
- ble _0800E3FC
- mov r4, r9
-_0800E434:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0800E3D0
- movs r0, 0
- mov r8, r0
- movs r4, 0
- mov r7, sp
- movs r5, 0
- ldr r6, [sp, 0x14]
- b _0800E4AC
- .pool
-_0800E45C:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0800E4A6
- ldr r2, =gLinkPlayers
- adds r0, r5, r2
- ldrh r0, [r0, 0x1A]
- cmp r0, 0x1
- beq _0800E4A6
- adds r0, r2, 0x4
- adds r0, r5, r0
- ldrh r1, [r0]
- adds r2, 0x8
- adds r2, r5, r2
- adds r0, r6, 0
- bl sub_800E378
- ldr r2, [r7]
- cmp r2, 0
- blt _0800E4A0
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r1, =0x00003b9c
- adds r0, r1
- movs r1, 0
- movs r2, 0x8
- bl memset
-_0800E4A0:
- adds r6, 0xC
- movs r0, 0x1
- add r8, r0
-_0800E4A6:
- adds r7, 0x4
- adds r5, 0x1C
- adds r4, 0x1
-_0800E4AC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0800E45C
- movs r4, 0
- ldr r1, =gSaveBlock1Ptr
- mov r9, r1
- ldr r6, =0x00003b98
- movs r7, 0
- mov r1, r8
- lsls r0, r1, 1
- add r0, r8
- lsls r0, 2
- ldr r1, [sp, 0x14]
- adds r5, r0, r1
-_0800E4CE:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6
- adds r0, 0x4
- bl sub_800E388
- cmp r0, 0
- beq _0800E500
- mov r0, r9
- ldr r2, [r0]
- ldr r1, =0x00003b98
- adds r0, r2, r1
- adds r0, r7
- ldr r1, [r0]
- adds r2, r6
- adds r2, 0x4
- adds r0, r5, 0
- bl sub_800E378
- adds r5, 0xC
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x13
- bgt _0800E50A
-_0800E500:
- adds r6, 0xC
- adds r7, 0xC
- adds r4, 0x1
- cmp r4, 0x13
- ble _0800E4CE
-_0800E50A:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r7, =0x00003b98
- adds r0, r7
- ldr r1, [sp, 0x14]
- movs r2, 0xF0
- bl memcpy
- ldr r0, [sp, 0x14]
- bl Free
-_0800E520:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E3A8
-
- thumb_func_start sub_800E540
-sub_800E540: @ 800E540
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r7, 0
- ldr r6, =gSaveBlock1Ptr
- ldr r4, =0x00003b98
- movs r5, 0
-_0800E558:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- mov r1, r9
- bl StringCompare
- cmp r0, 0
- bne _0800E584
- ldr r0, [r6]
- ldr r1, =0x00003b98
- adds r0, r1
- adds r0, r5
- ldr r0, [r0]
- cmp r0, r8
- bne _0800E584
- movs r0, 0x1
- b _0800E59E
- .pool
-_0800E584:
- ldr r0, [r6]
- adds r0, r4
- adds r0, 0x4
- bl sub_800E388
- cmp r0, 0
- beq _0800E59C
- adds r4, 0xC
- adds r5, 0xC
- adds r7, 0x1
- cmp r7, 0x13
- ble _0800E558
-_0800E59C:
- movs r0, 0
-_0800E59E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800E540
-
- thumb_func_start sub_800E5AC
-sub_800E5AC: @ 800E5AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =0x00003b98
- mov r8, r0
- movs r7, 0
- mov r6, r8
- movs r5, 0
- movs r4, 0x13
-_0800E5C0:
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- mov r2, r8
- adds r0, r1, r2
- adds r0, r5
- str r7, [r0]
- mov r0, sp
- strh r7, [r0]
- adds r1, r6
- adds r1, 0x4
- ldr r2, =0x01000004
- bl CpuSet
- adds r6, 0xC
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _0800E5C0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E5AC
-
- thumb_func_start nullsub_5
-nullsub_5: @ 800E5FC
- bx lr
- thumb_func_end nullsub_5
-
- thumb_func_start nullsub_13
-nullsub_13: @ 800E600
- bx lr
- thumb_func_end nullsub_13
-
- thumb_func_start sub_800E604
-sub_800E604: @ 800E604
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r6, =gUnknown_03005000
- adds r5, r6, 0
- adds r5, 0xEE
- ldrb r4, [r5]
- mov r0, sp
- movs r7, 0
- strh r7, [r0]
- ldr r2, =0x0100067a
- adds r1, r6, 0
- bl CpuSet
- ldrb r0, [r5]
- strb r4, [r5]
- movs r0, 0xFF
- strb r0, [r6, 0xC]
- ldrb r0, [r5]
- cmp r0, 0x4
- beq _0800E636
- ldrb r0, [r5]
- strb r7, [r5]
-_0800E636:
- mov r7, sp
- adds r7, 0x2
- add r0, sp, 0x4
- mov r8, r0
- movs r0, 0x6
- add r0, sp
- mov r9, r0
- adds r5, r6, 0
- adds r5, 0x80
- movs r4, 0x4
-_0800E64A:
- adds r0, r5, 0
- bl sub_800FCC4
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _0800E64A
- movs r5, 0
- ldr r4, =gUnknown_0300506C
- adds r0, r4, 0
- bl sub_800FCC4
- adds r0, r4, 0
- adds r0, 0xB8
- bl sub_800D6C8
- ldr r0, =0x0000097c
- adds r4, r0
- adds r0, r4, 0
- bl sub_800D724
- strh r5, [r7]
- ldr r1, =gUnknown_03003110
- ldr r2, =0x01000008
- adds r0, r7, 0
- bl CpuSet
- mov r0, r8
- strh r5, [r0]
- ldr r1, =gUnknown_03003090
- ldr r2, =0x01000028
- bl CpuSet
- mov r0, r9
- strh r5, [r0]
- ldr r1, =gLinkPlayers
- ldr r2, =0x01000046
- bl CpuSet
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E604
-
- thumb_func_start sub_800E6D0
-sub_800E6D0: @ 800E6D0
- push {r4-r6,lr}
- ldr r4, =gIntrTable
- ldr r5, [r4, 0x4]
- ldr r6, [r4, 0x8]
- bl sub_800E700
- bl rfu_REQ_stopMode
- bl rfu_waitREQComplete
- ldr r1, =0x04000208
- movs r0, 0
- strh r0, [r1]
- str r5, [r4, 0x4]
- str r6, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E6D0
-
- thumb_func_start sub_800E700
-sub_800E700: @ 800E700
- push {r4,lr}
- ldr r0, =gUnknown_03004190
- ldr r1, =0x00000e64
- ldr r4, =gIntrTable + 0x4
- adds r2, r4, 0
- movs r3, 0x1
- bl rfu_initializeAPI
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _0800E732
- ldr r0, =gUnknown_020229C6
- strh r1, [r0]
- bl sub_800AAF4
- movs r0, 0
- bl sub_80111B0
- bl sub_800E604
- adds r1, r4, 0x4
- movs r0, 0x3
- bl rfu_setTimerInterrupt
-_0800E732:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E700
-
- thumb_func_start sub_800E748
-sub_800E748: @ 800E748
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8010750
- ldr r0, =gUnknown_03005000
- ldrh r0, [r0, 0x4]
- cmp r0, 0x12
- bls _0800E75C
- b _0800E862
-_0800E75C:
- lsls r0, 2
- ldr r1, =_0800E770
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800E770:
- .4byte _0800E7BC
- .4byte _0800E862
- .4byte _0800E7E4
- .4byte _0800E862
- .4byte _0800E814
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E862
- .4byte _0800E828
-_0800E7BC:
- ldr r0, =gUnknown_02022B2C
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800E862
- .pool
-_0800E7E4:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- ldr r3, =gUnknown_082ED6E0
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- movs r0, 0x3
- strh r0, [r4, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0xA]
- b _0800E862
- .pool
-_0800E814:
- movs r0, 0
- bl sub_800C27C
- ldr r1, =gUnknown_03005000
- movs r0, 0x5
- strh r0, [r1, 0x4]
- b _0800E862
- .pool
-_0800E828:
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000cdb
- adds r1, r4, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =sub_800EDBC
- bl sub_800D52C
- bl sub_800EAB4
- bl sub_800EAFC
- movs r0, 0x14
- strh r0, [r4, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- adds r0, r5, 0
- bl DestroyTask
-_0800E862:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E748
-
- thumb_func_start sub_800E87C
-sub_800E87C: @ 800E87C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gUnknown_082ED6A5
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_800E87C
-
- thumb_func_start sub_800E88C
-sub_800E88C: @ 800E88C
- push {r4-r7,lr}
- adds r2, r0, 0
- adds r5, r1, 0
- movs r4, 0x1
- adds r1, r2, 0
- movs r6, 0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0800E8CC
- movs r3, 0
- movs r5, 0x1
- ldr r1, =gUnknown_03005CDE
-_0800E8A6:
- adds r0, r2, 0
- ands r0, r5
- cmp r0, 0
- beq _0800E8B8
- adds r0, r3, r1
- strb r4, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0800E8B8:
- asrs r2, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E8A6
- b _0800E942
- .pool
-_0800E8CC:
- movs r3, 0
- mvns r0, r1
- mov r12, r0
- movs r7, 0x1
- ldr r4, =gUnknown_03005CDE
-_0800E8D6:
- adds r2, r1, 0
- ands r2, r7
- cmp r2, 0
- bne _0800E8E2
- adds r0, r3, r4
- strb r2, [r0]
-_0800E8E2:
- asrs r1, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E8D6
- movs r4, 0x4
- ldr r0, =gUnknown_03005CDE
- ldrb r7, [r0]
-_0800E8F4:
- movs r3, 0
- subs r1, r4, 0x1
- cmp r7, r4
- beq _0800E910
- ldr r2, =gUnknown_03005CDE
-_0800E8FE:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _0800E910
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, r4
- bne _0800E8FE
-_0800E910:
- cmp r3, 0x4
- bne _0800E916
- adds r6, r4, 0
-_0800E916:
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0800E8F4
- mov r0, r12
- ands r5, r0
- movs r3, 0
- movs r2, 0x1
- ldr r1, =gUnknown_03005CDE
-_0800E928:
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0800E936
- adds r0, r3, r1
- strb r6, [r0]
- adds r6, 0x1
-_0800E936:
- asrs r5, 1
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0800E928
-_0800E942:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E88C
-
- thumb_func_start sub_800E94C
-sub_800E94C: @ 800E94C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_03005000
- ldrh r3, [r0, 0x4]
- adds r7, r0, 0
- cmp r3, 0xC
- bls _0800E95E
- b _0800EA9A
-_0800E95E:
- lsls r0, r3, 2
- ldr r1, =_0800E970
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800E970:
- .4byte _0800E9A4
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800E9BC
- .4byte _0800EA9A
- .4byte _0800EA9A
- .4byte _0800E9E4
- .4byte _0800EA9A
- .4byte _0800E9F8
- .4byte _0800EA3C
-_0800E9A4:
- ldr r0, =gUnknown_082ED608
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- b _0800E9CC
- .pool
-_0800E9BC:
- ldrb r0, [r7, 0xC]
- ldr r3, =gUnknown_082ED6E0
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- movs r2, 0x7
- strh r2, [r7, 0x4]
-_0800E9CC:
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800EA9A
- .pool
-_0800E9E4:
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1, 0xA]
- b _0800EA9A
- .pool
-_0800E9F8:
- bl sub_80107A0
- cmp r0, 0x6
- beq _0800EA1C
- cmp r0, 0x6
- bgt _0800EA0A
- cmp r0, 0x5
- beq _0800EA10
- b _0800EA9A
-_0800EA0A:
- cmp r0, 0x9
- beq _0800EA1C
- b _0800EA9A
-_0800EA10:
- ldr r1, =gUnknown_03005000
- movs r0, 0xC
- strh r0, [r1, 0x4]
- b _0800EA9A
- .pool
-_0800EA1C:
- bl sub_800D630
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce4
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r6, 0
- bl DestroyTask
- b _0800EA9A
- .pool
-_0800EA3C:
- ldr r0, =0x00000c3e
- adds r4, r7, r0
- ldrb r0, [r4]
- movs r5, 0x80
- lsls r5, 17
- lsls r5, r0
- lsrs r5, 24
- ldrb r1, [r4]
- movs r0, 0xC
- bl rfu_clearSlot
- ldrb r1, [r4]
- ldr r0, =0x00000c3f
- adds r2, r7, r0
- movs r0, 0x10
- movs r3, 0x46
- bl rfu_setRecvBuffer
- adds r1, r7, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0xE
- bl rfu_UNI_setSendData
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- adds r0, r6, 0
- bl DestroyTask
- ldr r4, =gUnknown_02022B44
- ldrb r0, [r4, 0xF]
- cmp r0, 0
- bne _0800EA92
- bl sub_801227C
- ldrb r0, [r4, 0xF]
- adds r0, 0x1
- strb r0, [r4, 0xF]
-_0800EA92:
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
-_0800EA9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800E94C
-
- thumb_func_start sub_800EAB4
-sub_800EAB4: @ 800EAB4
- push {r4,r5,lr}
- ldr r0, =gUnknown_03004140
- ldrb r5, [r0]
- movs r4, 0
-_0800EABC:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _0800EAE0
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 1
- ldr r0, =gUnknown_03005014
- adds r2, r0
- movs r0, 0x10
- adds r1, r4, 0
- movs r3, 0xE
- bl rfu_setRecvBuffer
- movs r0, 0x3
- adds r1, r4, 0
- bl rfu_clearSlot
-_0800EAE0:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800EABC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EAB4
-
- thumb_func_start sub_800EAFC
-sub_800EAFC: @ 800EAFC
- push {r4-r6,lr}
- ldr r0, =gUnknown_03004140
- ldrb r5, [r0]
- ldr r4, =gUnknown_03005C87
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- adds r0, r5, 0
- bl sub_800E87C
- ldr r1, =0xfffff379
- adds r6, r4, r1
- adds r1, r4, 0
- adds r1, 0x53
- strb r0, [r1]
- adds r4, 0x5B
- strb r5, [r4]
- movs r1, 0x1
- negs r1, r1
- adds r0, r5, 0
- bl sub_800E88C
- movs r0, 0x1
- strb r0, [r6, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EAFC
-
- thumb_func_start sub_800EB44
-sub_800EB44: @ 800EB44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _0800EB78
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0800EB78
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
-_0800EB78:
- ldr r0, =gUnknown_03005000
- ldrh r2, [r0, 0x4]
- adds r6, r0, 0
- cmp r2, 0x12
- bls _0800EB84
- b _0800ECF4
-_0800EB84:
- lsls r0, r2, 2
- ldr r1, =_0800EB9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0800EB9C:
- .4byte _0800EBE8
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800ECF4
- .4byte _0800EC38
- .4byte _0800EC98
- .4byte _0800ECF4
- .4byte _0800ECAC
- .4byte _0800EC10
- .4byte _0800ECF4
-_0800EBE8:
- ldr r0, =gUnknown_02022B2C
- bl sub_800BFCC
- ldr r0, =gUnknown_03005000
- movs r2, 0x1
- strh r2, [r0, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0xA]
- b _0800ECF4
- .pool
-_0800EC10:
- ldr r3, =gUnknown_082ED6E0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- ldr r0, =sub_800ED34
- bl sub_800D52C
- ldr r1, =gUnknown_03005000
- movs r0, 0x12
- strh r0, [r1, 0x4]
- b _0800ECF4
- .pool
-_0800EC38:
- ldr r1, =0x00000c3e
- adds r0, r6, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r0, 24
- adds r1, r6, 0
- adds r1, 0x4C
- movs r2, 0xE
- bl rfu_UNI_setSendData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0800ECF4
- strb r0, [r6, 0xC]
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x16
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0800EC88
- ldr r0, =sub_8010D0C
- movs r1, 0x1
- bl CreateTask
- b _0800ECF4
- .pool
-_0800EC88:
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- b _0800ECF4
- .pool
-_0800EC98:
- movs r0, 0
- bl sub_800C27C
- ldr r1, =gUnknown_03005000
- movs r0, 0xF
- strh r0, [r1, 0x4]
- b _0800ECF4
- .pool
-_0800ECAC:
- ldr r0, =0x00000cdb
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =sub_800EDBC
- bl sub_800D52C
- movs r0, 0x1
- bl sub_8011068
- bl sub_800EAB4
- bl sub_800EAFC
- movs r0, 0x14
- strh r0, [r6, 0x4]
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0xA]
- movs r4, 0x1
- strb r4, [r6, 0xC]
- ldr r0, =sub_801084C
- movs r1, 0x5
- bl CreateTask
- ldr r1, =0x00000ce8
- adds r0, r6, r1
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_0800ECF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EB44
-
- thumb_func_start sub_800ED10
-sub_800ED10: @ 800ED10
- push {lr}
- ldr r3, =gUnknown_082ED6E0
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xF0
- bl sub_800C054
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ED10
-
- thumb_func_start sub_800ED28
-sub_800ED28: @ 800ED28
- push {lr}
- movs r0, 0
- bl sub_800C27C
- pop {r0}
- bx r0
- thumb_func_end sub_800ED28
-
- thumb_func_start sub_800ED34
-sub_800ED34: @ 800ED34
- push {r4,lr}
- ldr r0, =gUnknown_03005000
- movs r2, 0
- movs r1, 0xD
- adds r0, 0x59
-_0800ED3E:
- strb r2, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0800ED3E
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r1, =gUnknown_03007870
- ldr r3, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r4, r3, r0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- cmp r0, 0
- beq _0800ED9A
- movs r2, 0xCD
- lsls r2, 4
- adds r1, r3, r2
- ldrb r0, [r1]
- adds r0, 0x1
- ldrb r2, [r1]
- strb r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- adds r0, r3, r1
- ldr r2, =0x00000c3f
- adds r1, r3, r2
- bl sub_800D7D8
- ldr r1, =gUnknown_02022B44
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- bl sub_800F048
- ldrb r0, [r4]
- bl rfu_UNI_readySendData
- ldrb r0, [r4]
- bl rfu_UNI_clearRecvNewDataFlag
-_0800ED9A:
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800ED34
-
- thumb_func_start sub_800EDBC
-sub_800EDBC: @ 800EDBC
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_800EDBC
-
- thumb_func_start sub_800EDD4
-sub_800EDD4: @ 800EDD4
- push {r4-r6,lr}
- bl sub_800C048
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _0800EDF0
- ldr r0, =sub_800E748
- b _0800EDF6
- .pool
-_0800EDF0:
- cmp r0, 0
- bne _0800EE18
- ldr r0, =sub_800E94C
-_0800EDF6:
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800EE38
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_800E604
- b _0800EE38
- .pool
-_0800EE18:
- cmp r0, 0x2
- bne _0800EE38
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800EE38
- adds r0, r4, 0
- adds r0, 0x67
- ldrb r0, [r0]
- bl DestroyTask
- bl sub_800E604
-_0800EE38:
- movs r5, 0
- ldr r6, =gUnknown_082ED7E0
-_0800EE3C:
- lsls r0, r5, 2
- adds r0, r6
- ldr r4, [r0]
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0800EE5E
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0800EE5E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _0800EE3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EDD4
-
- thumb_func_start sub_800EE78
-sub_800EE78: @ 800EE78
- push {lr}
- ldr r0, =sub_800E748
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x67
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EE78
-
- thumb_func_start sub_800EE94
-sub_800EE94: @ 800EE94
- push {lr}
- ldr r1, =gUnknown_03005000
- ldrh r0, [r1, 0x4]
- cmp r0, 0x7
- bne _0800EEB4
- ldr r2, =0x00000ccd
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800EEB4
- movs r0, 0x1
- b _0800EEB6
- .pool
-_0800EEB4:
- movs r0, 0
-_0800EEB6:
- pop {r1}
- bx r1
- thumb_func_end sub_800EE94
-
- thumb_func_start sub_800EEBC
-sub_800EEBC: @ 800EEBC
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldrh r0, [r4, 0x4]
- cmp r0, 0x7
- bne _0800EEF8
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldr r2, =0x00000c3d
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x14]
- movs r1, 0xF0
- bl sub_800C12C
- lsls r0, 24
- cmp r0, 0
- bne _0800EEF8
- movs r0, 0x9
- strh r0, [r4, 0x4]
- movs r0, 0x1
- b _0800EEFA
- .pool
-_0800EEF8:
- movs r0, 0
-_0800EEFA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800EEBC
-
- thumb_func_start sub_800EF00
-sub_800EF00: @ 800EF00
- push {lr}
- ldr r0, =sub_800E94C
- movs r1, 0x1
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x67
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EF00
-
- thumb_func_start sub_800EF1C
-sub_800EF1C: @ 800EF1C
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800EF30
- movs r0, 0
- b _0800EF32
- .pool
-_0800EF30:
- movs r0, 0x1
-_0800EF32:
- pop {r1}
- bx r1
- thumb_func_end sub_800EF1C
-
- thumb_func_start sub_800EF38
-sub_800EF38: @ 800EF38
- ldr r1, =gUnknown_03005000
- movs r0, 0x4
- strh r0, [r1, 0x4]
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- ldr r2, =0x00000ce7
- adds r1, r2
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800EF38
-
- thumb_func_start sub_800EF58
-sub_800EF58: @ 800EF58
- push {lr}
- adds r1, r0, 0
- ldr r2, =gUnknown_03005000
- ldrh r0, [r2, 0x4]
- cmp r0, 0x11
- beq _0800EF68
- cmp r1, 0
- beq _0800EF74
-_0800EF68:
- movs r0, 0x12
- strh r0, [r2, 0x4]
- movs r0, 0x1
- b _0800EF76
- .pool
-_0800EF74:
- movs r0, 0
-_0800EF76:
- pop {r1}
- bx r1
- thumb_func_end sub_800EF58
-
- thumb_func_start sub_800EF7C
-sub_800EF7C: @ 800EF7C
- ldr r1, =gUnknown_03005000
- movs r0, 0xE
- strh r0, [r1, 0x4]
- bx lr
- .pool
- thumb_func_end sub_800EF7C
-
- thumb_func_start sub_800EF88
-sub_800EF88: @ 800EF88
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- b _0800EF9A
-_0800EF92:
- lsrs r1, 1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0800EF9A:
- cmp r2, 0x3
- bhi _0800EFAC
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800EF92
- adds r0, r2, 0
- bl rfu_UNI_readySendData
-_0800EFAC:
- pop {r0}
- bx r0
- thumb_func_end sub_800EF88
-
- thumb_func_start sub_800EFB0
-sub_800EFB0: @ 800EFB0
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0
- ldr r7, =gUnknown_03003090
- ldr r0, =gUnknown_03005000
- adds r6, r7, 0
- ldr r1, =0x00000c87
- adds r5, r0, r1
-_0800EFC0:
- movs r3, 0
- lsls r0, r2, 3
- lsls r1, r2, 4
- adds r4, r2, 0x1
- subs r0, r2
- lsls r0, 1
- adds r2, r0, r5
- adds r1, r6
-_0800EFD0:
- ldrh r0, [r1]
- lsrs r0, 8
- strb r0, [r2, 0x1]
- ldrh r0, [r1]
- strb r0, [r2]
- adds r2, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x6
- ble _0800EFD0
- adds r2, r4, 0
- cmp r2, 0x4
- ble _0800EFC0
- movs r0, 0
- mov r1, sp
- strh r0, [r1]
- ldr r2, =0x01000028
- mov r0, sp
- adds r1, r7, 0
- bl CpuSet
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800EFB0
-
- thumb_func_start sub_800F014
-sub_800F014: @ 800F014
- push {lr}
- ldr r3, =gUnknown_03003110
- ldr r2, =gUnknown_03003090
- movs r1, 0x6
-_0800F01C:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0800F01C
- ldr r1, =gUnknown_03003110
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xC
-_0800F032:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _0800F032
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F014
-
- thumb_func_start sub_800F048
-sub_800F048: @ 800F048
- push {r4,r5,lr}
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c3c
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _0800F07A
- ldr r1, =0x00000c1c
- adds r0, r4, r1
- adds r1, r4, 0
- adds r1, 0x4C
- bl sub_800DAC8
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =0x00000c3a
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r1, 0
- bne _0800F076
- ldrb r0, [r5]
- strb r1, [r5]
-_0800F076:
- cmp r2, 0
- bne _0800F09E
-_0800F07A:
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000c3c
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800F09E
- ldr r1, =0x000009e8
- adds r0, r5, r1
- adds r4, r5, 0
- adds r4, 0x4C
- adds r1, r4, 0
- bl sub_800D9DC
- ldr r1, =0x00000c1c
- adds r0, r5, r1
- adds r1, r4, 0
- bl sub_800DA68
-_0800F09E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F048
-
- thumb_func_start sub_800F0B8
-sub_800F0B8: @ 800F0B8
- push {r4,lr}
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0800F0CC
-_0800F0C4:
- movs r0, 0
- b _0800F0EC
- .pool
-_0800F0CC:
- movs r3, 0
- ldr r4, =gUnknown_03003090
-_0800F0D0:
- movs r2, 0
- lsls r0, r3, 4
- adds r1, r0, r4
-_0800F0D6:
- ldrh r0, [r1]
- cmp r0, 0
- bne _0800F0C4
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x6
- ble _0800F0D6
- adds r3, 0x1
- cmp r3, 0x4
- ble _0800F0D0
- movs r0, 0x1
-_0800F0EC:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F0B8
-
- thumb_func_start sub_800F0F8
-sub_800F0F8: @ 800F0F8
- push {r4-r6,lr}
- ldr r6, =gUnknown_03005000
- ldrh r0, [r6, 0x4]
- cmp r0, 0x13
- bhi _0800F118
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl rfu_REQ_sendData_wrapper
- b _0800F1D2
- .pool
-_0800F118:
- ldr r0, =0x00000cdb
- adds r1, r6, r0
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r0, =0x00000ce2
- adds r1, r6, r0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r1]
- ldrb r0, [r0, 0x2]
- ands r0, r1
- cmp r0, r1
- bne _0800F1D2
- cmp r0, 0
- beq _0800F1D2
- ldr r1, =0x00000cdc
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r5, r0, 0
- cmp r5, 0
- bne _0800F1C8
- ldr r0, =0x00000ce3
- adds r4, r6, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0800F1A8
- bl sub_8011D6C
- strb r5, [r4]
- ldr r1, =0x00000ce4
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800F18C
- movs r4, 0x80
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
- b _0800F1D2
- .pool
-_0800F18C:
- ldr r0, =gUnknown_03004140
- ldrb r4, [r0]
- cmp r4, 0
- bne _0800F1A8
- bl sub_800EDD4
- ldr r0, =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- b _0800F1D2
- .pool
-_0800F1A8:
- bl sub_800EFB0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cda
- adds r0, r1
- ldrb r0, [r0]
- bl rfu_UNI_readySendData
- movs r0, 0x1
- bl rfu_REQ_sendData_wrapper
- b _0800F1CC
- .pool
-_0800F1C8:
- bl rfu_REQ_PARENT_resumeRetransmitAndChange
-_0800F1CC:
- ldr r1, =gUnknown_03005000
- movs r0, 0x1
- strb r0, [r1, 0xE]
-_0800F1D2:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F0F8
-
- thumb_func_start sub_800F1E0
-sub_800F1E0: @ 800F1E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gUnknown_03005000
- ldrh r1, [r0, 0x4]
- adds r6, r0, 0
- cmp r1, 0x13
- bhi _0800F1F8
- b _0800F45A
-_0800F1F8:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x1
- beq _0800F200
- b _0800F45A
-_0800F200:
- bl rfu_waitREQComplete
- ldr r0, =0x00000cdb
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0800F220
- adds r1, r6, 0
- adds r1, 0xEE
-_0800F212:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800F21A
- b _0800F480
-_0800F21A:
- ldrb r0, [r2]
- cmp r0, 0
- beq _0800F212
-_0800F220:
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- ldr r2, =gUnknown_03004140
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r4, r1
- ldrb r1, [r2, 0x3]
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, r0
- beq _0800F23C
- b _0800F444
-_0800F23C:
- ldr r6, =0x00000cdc
- adds r1, r4, r6
- ldrb r0, [r1]
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_02022B44
- ldrh r0, [r1, 0x6]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- ldrb r7, [r2]
- movs r5, 0
-_0800F252:
- movs r0, 0x1
- ands r0, r7
- lsrs r1, r7, 1
- str r1, [sp, 0x4]
- adds r2, r5, 0x1
- str r2, [sp]
- cmp r0, 0
- bne _0800F264
- b _0800F364
-_0800F264:
- ldr r1, =gUnknown_03005000
- lsls r2, r5, 3
- subs r0, r2, r5
- lsls r4, r0, 1
- adds r0, r1, 0
- adds r0, 0x15
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r6, r1, 0
- adds r3, r2, 0
- lsls r1, r5, 24
- mov r10, r1
- cmp r0, 0
- beq _0800F35C
- ldr r2, =0x00000cee
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0800F2E0
- adds r0, r6, 0
- adds r0, 0x14
- adds r0, r4, r0
- ldrb r2, [r0]
- lsrs r2, 5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- cmp r2, r0
- beq _0800F2E0
- ldr r0, =0x00000cea
- adds r1, r6, r0
- adds r1, r5, r1
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _0800F35C
- movs r0, 0x81
- lsls r0, 8
- bl sub_8011170
- b _0800F35C
- .pool
-_0800F2E0:
- ldr r2, =gUnknown_03005000
- ldr r6, =0x00000cee
- adds r1, r2, r6
- adds r1, r5, r1
- subs r3, r5
- lsls r3, 1
- adds r4, r2, 0
- adds r4, 0x14
- adds r2, r3, r4
- ldrb r0, [r2]
- lsrs r0, 5
- strb r0, [r1]
- ldr r1, =gUnknown_03005000
- subs r6, 0x4
- adds r0, r1, r6
- adds r0, r5, r0
- movs r1, 0
- strb r1, [r0]
- ldrb r1, [r2]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r2]
- ldr r2, =gUnknown_03005CDE
- adds r0, r5, r2
- ldrb r0, [r0]
- movs r6, 0
- lsls r1, r5, 24
- mov r10, r1
- lsrs r2, r7, 1
- str r2, [sp, 0x4]
- adds r5, 0x1
- str r5, [sp]
- ldr r1, =gUnknown_03003090
- mov r9, r1
- adds r5, r3, 0
- adds r7, r4, 0
- lsls r0, 4
- mov r8, r0
- adds r2, r5, 0x1
- mov r12, r2
-_0800F330:
- lsls r1, r6, 1
- mov r0, r8
- adds r4, r1, r0
- add r4, r9
- mov r2, r12
- adds r3, r1, r2
- adds r3, r7
- ldrb r2, [r3]
- lsls r2, 8
- adds r1, r5
- adds r1, r7
- ldrb r0, [r1]
- orrs r0, r2
- strh r0, [r4]
- movs r0, 0
- strb r0, [r3]
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x6
- bls _0800F330
-_0800F35C:
- mov r1, r10
- lsrs r0, r1, 24
- bl rfu_UNI_clearRecvNewDataFlag
-_0800F364:
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- lsrs r7, r0, 16
- ldr r6, [sp]
- lsls r0, r6, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bhi _0800F376
- b _0800F252
-_0800F376:
- bl sub_800F014
- movs r0, 0
- bl sub_800F86C
- bl sub_8010528
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce5
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F452
- ldr r2, =0x00000cd9
- adds r0, r4, r2
- ldrb r2, [r0]
- cmp r2, 0
- bne _0800F452
- ldr r0, =gUnknown_02022B44
- ldrb r1, [r0, 0xE]
- strb r2, [r0, 0xE]
- ldr r6, =0x00000cda
- adds r0, r4, r6
- ldrb r1, [r0]
- movs r0, 0x3
- bl rfu_clearSlot
- movs r5, 0
- adds r7, r4, 0
- adds r7, 0x14
-_0800F3B2:
- ldr r0, =0x00000ce5
- adds r6, r4, r0
- ldrb r0, [r6]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0800F3D6
- lsls r1, r5, 24
- lsrs r1, 24
- lsls r2, r5, 3
- subs r2, r5
- lsls r2, 1
- adds r2, r7
- movs r0, 0x10
- movs r3, 0xE
- bl rfu_setRecvBuffer
-_0800F3D6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0800F3B2
- subs r4, r6, 0x3
- ldrb r0, [r4]
- ldrb r2, [r6]
- adds r1, r0, 0
- orrs r1, r2
- bl sub_800E88C
- ldrb r1, [r6]
- movs r2, 0
- strb r1, [r6, 0x4]
- ldrb r0, [r4]
- orrs r0, r1
- strb r0, [r4]
- strb r2, [r6]
- ldrb r0, [r4]
- adds r1, r6, 0
- subs r1, 0x5E
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r4]
- bl sub_800E87C
- adds r1, r6, 0
- subs r1, 0xB
- strb r0, [r1]
- ldr r0, =sub_8010AAC
- movs r1, 0
- bl CreateTask
- b _0800F452
- .pool
-_0800F444:
- ldr r2, =0x00000cdc
- adds r1, r4, r2
- ldrb r0, [r1]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r4, 0xE]
-_0800F452:
- ldr r1, =gUnknown_03005000
- movs r0, 0
- strb r0, [r1, 0xE]
- adds r6, r1, 0
-_0800F45A:
- ldr r1, =0x00000cdc
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r1, r0, 0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0800F484
- movs r0, 0x1
- ands r0, r1
- b _0800F486
- .pool
-_0800F480:
- movs r0, 0
- b _0800F486
-_0800F484:
- movs r0, 0
-_0800F486:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_800F1E0
-
- thumb_func_start sub_800F498
-sub_800F498: @ 800F498
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r1, 0
- ldrh r1, [r4]
- cmp r1, 0
- beq _0800F4DC
- ldr r0, =gUnknown_03005000
- movs r5, 0x81
- lsls r5, 1
- adds r3, r0, r5
- ldrb r0, [r3]
- lsls r0, 5
- orrs r0, r1
- strh r0, [r4]
- ldrb r0, [r3]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strb r0, [r3]
- adds r3, r4, 0
- movs r4, 0x6
-_0800F4C2:
- ldrh r1, [r3]
- lsrs r0, r1, 8
- strb r0, [r2, 0x1]
- strb r1, [r2]
- adds r2, 0x2
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0800F4C2
- b _0800F4EA
- .pool
-_0800F4DC:
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0xD
-_0800F4E2:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r2
- bge _0800F4E2
-_0800F4EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_800F498
-
- thumb_func_start sub_800F4F0
-sub_800F4F0: @ 800F4F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x58
- ldr r0, =gUnknown_03005124
- mov r1, sp
- bl sub_800D934
- movs r1, 0
- ldr r0, =gUnknown_03003090
- mov r12, r0
-_0800F506:
- movs r4, 0
- lsls r0, r1, 3
- adds r2, r1, 0x1
- mov r8, r2
- lsls r6, r1, 4
- subs r0, r1
- lsls r5, r0, 1
-_0800F514:
- lsls r1, r4, 1
- adds r3, r1, r6
- add r3, r12
- adds r1, r5, r1
- adds r0, r1, 0x1
- add r0, sp
- ldrb r2, [r0]
- lsls r2, 8
- mov r7, sp
- adds r0, r7, r1
- ldrb r0, [r0]
- orrs r0, r2
- strh r0, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _0800F514
- mov r1, r8
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _0800F506
- movs r0, 0
- bl sub_800F86C
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _0800F5C0
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000ce4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F5C0
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0800F58C
- cmp r0, 0x6
- beq _0800F58C
- cmp r0, 0x9
- beq _0800F58C
- movs r1, 0x90
- lsls r1, 8
- movs r0, 0x2
- bl sub_8011A64
-_0800F58C:
- bl rfu_clearAllSlot
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_03005000
- movs r5, 0
- str r5, [r0]
- ldr r7, =0x00000ce4
- adds r6, r0, r7
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _0800F5B8
- movs r4, 0x90
- lsls r4, 8
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
-_0800F5B8:
- ldr r0, =gUnknown_03004140
- strb r5, [r0, 0x5]
- strb r5, [r0, 0x4]
- strb r5, [r6]
-_0800F5C0:
- ldr r6, =gUnknown_03005000
- movs r0, 0xCD
- lsls r0, 4
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _0800F604
- ldrb r0, [r2]
- subs r0, 0x1
- ldrb r1, [r2]
- strb r0, [r2]
- bl sub_8010528
- ldr r5, =gUnknown_03003110
- add r4, sp, 0x48
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_800F498
- ldr r1, =0x000009e8
- adds r0, r6, r1
- adds r1, r4, 0
- bl sub_800D888
- movs r1, 0
- movs r2, 0
-_0800F5F4:
- lsls r0, r1, 1
- adds r0, r5
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _0800F5F4
-_0800F604:
- bl sub_800F0B8
- add sp, 0x58
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F4F0
-
- thumb_func_start sub_800F638
-sub_800F638: @ 800F638
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_03005000
- ldr r2, [r0, 0x70]
- mov r10, r2
- movs r5, 0
- adds r2, r0, 0
- adds r2, 0x6E
- ldrh r3, [r2]
- cmp r5, r3
- bge _0800F6D4
- mov r9, r0
- ldr r0, =gUnknown_03000D90
- mov r8, r0
-_0800F65A:
- movs r0, 0x1
- ands r0, r1
- lsrs r7, r1, 1
- adds r6, r5, 0x1
- cmp r0, 0
- bne _0800F6C8
- ldr r1, =0xffff8900
- adds r0, r1, 0
- adds r1, r5, 0
- orrs r1, r0
- mov r2, r8
- strh r1, [r2]
- movs r4, 0
- lsls r0, r5, 1
- ldr r3, =gUnknown_03000D80
- mov r12, r3
- adds r0, r5
- lsls r0, 2
- mov r1, r10
- adds r2, r0, r1
- mov r3, r8
- adds r3, 0x2
-_0800F686:
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- ldrb r0, [r2]
- orrs r0, r1
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _0800F686
- movs r4, 0
- ldr r2, =gUnknown_03000D90
- ldr r1, =gUnknown_03000D80
-_0800F6A0:
- ldrh r0, [r2]
- lsrs r0, 8
- strb r0, [r1, 0x1]
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _0800F6A0
- ldr r0, =gUnknown_030059E8
- mov r1, r12
- bl sub_800D888
- movs r1, 0x1
- lsls r1, r5
- mov r2, r9
- ldr r0, [r2, 0x78]
- orrs r0, r1
- str r0, [r2, 0x78]
-_0800F6C8:
- adds r1, r7, 0
- adds r5, r6, 0
- ldr r3, =gUnknown_0300506E
- ldrh r3, [r3]
- cmp r5, r3
- blt _0800F65A
-_0800F6D4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F638
-
- thumb_func_start sub_800F6FC
-sub_800F6FC: @ 800F6FC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gUnknown_03005000
- ldrb r2, [r0, 0xC]
- cmp r2, 0x1
- bne _0800F71C
- cmp r1, 0
- beq _0800F71C
- adds r0, 0x61
- adds r0, r1, r0
- strb r2, [r0]
- b _0800F724
- .pool
-_0800F71C:
- adds r0, 0x5C
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0]
-_0800F724:
- pop {r0}
- bx r0
- thumb_func_end sub_800F6FC
-
- thumb_func_start sub_800F728
-sub_800F728: @ 800F728
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_03005000
- adds r1, r3, 0
- adds r1, 0x5C
- adds r1, r0, r1
- movs r2, 0
- strb r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- adds r1, 0x92
- strb r2, [r1]
- bx lr
- .pool
- thumb_func_end sub_800F728
-
- thumb_func_start sub_800F74C
-sub_800F74C: @ 800F74C
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, =gUnknown_03005000
- ldrb r1, [r0, 0xC]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _0800F764
- movs r0, 0
- b _0800F786
- .pool
-_0800F764:
- movs r2, 0
- ldr r0, =0x00000cde
- adds r4, r5, r0
-_0800F76A:
- adds r1, r2, r4
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0800F76A
- ldr r1, =0x00000c3e
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r0, r3
- ldrb r0, [r0]
-_0800F786:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F74C
-
- thumb_func_start rfu_func_080F97B8
-rfu_func_080F97B8: @ 800F794
- push {lr}
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F7C6
- ldr r3, =gUnknown_03005DA8
- ldrh r2, [r3]
- cmp r2, 0
- beq _0800F7C6
- ldr r0, =gUnknown_030022B4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800F7C6
- ldr r1, =gUnknown_03000D78
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r1]
- lsls r0, 8
- orrs r0, r2
- strh r0, [r3]
- movs r0, 0xBE
- lsls r0, 8
- bl sub_800FD14
-_0800F7C6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_func_080F97B8
-
- thumb_func_start sub_800F7DC
-sub_800F7DC: @ 800F7DC
- ldr r0, =gUnknown_02022B14
- bx lr
- .pool
- thumb_func_end sub_800F7DC
-
- thumb_func_start sub_800F7E4
-sub_800F7E4: @ 800F7E4
- push {lr}
- movs r2, 0
- ldr r0, =gUnknown_03005000
- ldr r1, [r0]
- ldr r0, =rfu_func_080F97B8
- cmp r1, r0
- bne _0800F7F4
- movs r2, 0x1
-_0800F7F4:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800F7E4
-
- thumb_func_start sub_800F804
-sub_800F804: @ 800F804
- ldr r1, =gUnknown_03005000
- ldr r0, =rfu_func_080F97B8
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_800F804
-
- thumb_func_start Rfu_set_zero
-Rfu_set_zero: @ 800F814
- ldr r1, =gUnknown_03005000
- movs r0, 0
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end Rfu_set_zero
-
- thumb_func_start sub_800F820
-sub_800F820: @ 800F820
- push {lr}
- movs r0, 0x88
- lsls r0, 7
- bl sub_800FD14
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _0800F83C
- bl sub_8082D18
- ldr r1, =gUnknown_03003110
- strh r0, [r1, 0xC]
-_0800F83C:
- ldr r1, =gUnknown_020223C0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F820
-
- thumb_func_start sub_800F850
-sub_800F850: @ 800F850
- push {lr}
- ldr r1, =gUnknown_03005000
- ldr r0, [r1]
- cmp r0, 0
- bne _0800F85E
- ldr r0, =sub_800F820
- str r0, [r1]
-_0800F85E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800F850
-
- thumb_func_start sub_800F86C
-sub_800F86C: @ 800F86C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r8, r0
-_0800F87A:
- mov r1, r8
- lsls r0, r1, 4
- ldr r2, =gUnknown_03003090
- adds r1, r0, r2
- ldrh r7, [r1]
- movs r3, 0xFF
- lsls r3, 8
- adds r1, r3, 0
- ands r1, r7
- movs r2, 0x88
- lsls r2, 8
- adds r5, r0, 0
- cmp r1, r2
- beq _0800F960
- cmp r1, r2
- bgt _0800F8D6
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- bne _0800F8A4
- b _0800FAE0
-_0800F8A4:
- cmp r1, r0
- bgt _0800F8C4
- movs r0, 0x88
- lsls r0, 7
- cmp r1, r0
- bne _0800F8B2
- b _0800FBF4
-_0800F8B2:
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- bne _0800F8BC
- b _0800FAD0
-_0800F8BC:
- b _0800FC04
- .pool
-_0800F8C4:
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _0800F920
- movs r0, 0xF0
- lsls r0, 7
- cmp r1, r0
- beq _0800F90E
- b _0800FC04
-_0800F8D6:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- bne _0800F8E0
- b _0800FBF4
-_0800F8E0:
- cmp r1, r0
- bgt _0800F8F8
- movs r0, 0x89
- lsls r0, 8
- cmp r1, r0
- beq _0800F9C8
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- bne _0800F8F6
- b _0800FAAC
-_0800F8F6:
- b _0800FC04
-_0800F8F8:
- movs r0, 0xED
- lsls r0, 8
- cmp r1, r0
- bne _0800F902
- b _0800FB10
-_0800F902:
- movs r0, 0xEE
- lsls r0, 8
- cmp r1, r0
- bne _0800F90C
- b _0800FBB0
-_0800F90C:
- b _0800FC04
-_0800F90E:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _0800F920
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0800F920
- b _0800FC50
-_0800F920:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _0800F930
- b _0800FC08
-_0800F930:
- ldr r1, =gUnknown_03003092
- adds r0, r5, r1
- ldrh r0, [r0]
- ldr r2, =gUnknown_03005000
- strb r0, [r2, 0xD]
- ldr r3, =gUnknown_03003094
- adds r0, r5, r3
- bl sub_800F74C
- ldr r4, =gUnknown_03005CCE
- strb r0, [r4]
- b _0800FC08
- .pool
-_0800F960:
- ldr r0, =gUnknown_03005000
- mov r9, r0
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r7, r0, 2
- mov r2, r9
- adds r3, r7, r2
- movs r4, 0x92
- adds r4, r3
- mov r12, r4
- ldrb r4, [r4]
- mov r6, r8
- adds r6, 0x1
- cmp r4, 0
- beq _0800F982
- b _0800FC08
-_0800F982:
- adds r0, r3, 0
- adds r0, 0x80
- movs r2, 0
- strh r4, [r0]
- ldr r1, =gUnknown_03003092
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x82
- strh r0, [r1]
- ldr r1, =gUnknown_03003094
- adds r0, r5, r1
- ldrh r1, [r0]
- adds r0, r3, 0
- adds r0, 0x91
- strb r1, [r0]
- mov r0, r9
- adds r0, 0x88
- adds r0, r7, r0
- str r4, [r0]
- movs r0, 0x1
- mov r3, r12
- strb r0, [r3]
- mov r0, r9
- adds r0, 0x5C
- add r0, r8
- strb r2, [r0]
- b _0800FC08
- .pool
-_0800F9C8:
- ldr r4, =gUnknown_03005000
- mov r9, r4
- mov r0, r8
- lsls r1, r0, 2
- adds r0, r1, r0
- lsls r4, r0, 2
- mov r3, r9
- adds r2, r4, r3
- adds r0, r2, 0
- adds r0, 0x92
- ldrb r3, [r0]
- mov r10, r1
- mov r6, r8
- adds r6, 0x1
- cmp r3, 0x1
- beq _0800F9EA
- b _0800FC08
-_0800F9EA:
- movs r0, 0xFF
- ands r0, r7
- adds r2, 0x80
- strh r0, [r2]
- mov r1, r9
- adds r1, 0x88
- adds r1, r4, r1
- lsls r3, r0
- ldr r0, [r1]
- orrs r0, r3
- str r0, [r1]
- movs r4, 0
- ldr r0, =gBlockRecvBuffer
- mov r9, r0
- mov r12, r2
- mov r1, r8
- lsls r7, r1, 8
- adds r3, r5, 0
-_0800FA0E:
- mov r2, r12
- ldrh r0, [r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, r4
- lsls r1, 1
- adds r1, r7
- add r1, r9
- adds r2, r4, 0x1
- lsls r0, r2, 1
- adds r0, r3
- ldr r4, =gUnknown_03003090
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r4, 0x5
- bls _0800FA0E
- ldr r4, =gUnknown_03005000
- mov r0, r10
- add r0, r8
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x88
- adds r1, r0, r1
- adds r2, r0, r4
- adds r0, r2, 0
- adds r0, 0x82
- ldrh r0, [r0]
- lsls r0, 2
- ldr r3, =gUnknown_082ED628
- adds r0, r3
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _0800FA5C
- b _0800FC08
-_0800FA5C:
- adds r1, r2, 0
- adds r1, 0x92
- movs r0, 0x2
- strb r0, [r1]
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_800F6FC
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _0800FA7E
- b _0800FC08
-_0800FA7E:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0800FA88
- b _0800FC08
-_0800FA88:
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _0800FA90
- b _0800FC08
-_0800FA90:
- ldr r0, =gBlockRecvBuffer
- bl sub_8010A70
- b _0800FC08
- .pool
-_0800FAAC:
- ldr r2, =gUnknown_082ED6B8
- ldr r3, =gUnknown_03003092
- adds r0, r5, r3
- ldrh r1, [r0]
- lsls r1, 3
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrh r1, [r1]
- bl sub_800FE84
- b _0800FC04
- .pool
-_0800FAD0:
- ldr r1, =gUnknown_030050E4
- add r1, r8
- movs r0, 0x1
- strb r0, [r1]
- b _0800FC04
- .pool
-_0800FAE0:
- ldr r2, =gUnknown_03005000
- movs r4, 0x80
- lsls r4, 1
- adds r0, r2, r4
- ldr r3, =gUnknown_03003092
- adds r1, r5, r3
- ldrh r0, [r0]
- mov r6, r8
- adds r6, 0x1
- ldrh r1, [r1]
- cmp r0, r1
- beq _0800FAFA
- b _0800FC08
-_0800FAFA:
- adds r0, r2, 0
- adds r0, 0xE9
- add r0, r8
- movs r1, 0x1
- strb r1, [r0]
- b _0800FC08
- .pool
-_0800FB10:
- ldr r7, =gUnknown_03005000
- ldrb r2, [r7, 0xC]
- cmp r2, 0
- bne _0800FB78
- ldr r3, =gReceivedRemoteLinkPlayers
- ldrb r0, [r3]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0
- beq _0800FC08
- ldr r0, =gUnknown_03003092
- adds r4, r5, r0
- ldrh r1, [r4]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- ands r1, r0
- cmp r1, 0
- beq _0800FB48
- strb r2, [r3]
- bl sub_800D630
- ldr r1, =gUnknown_03003094
- adds r0, r5, r1
- ldrh r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r7, r2
- strb r1, [r0]
-_0800FB48:
- ldr r0, =gUnknown_03003090
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strb r0, [r7, 0xD]
- ldrh r0, [r4]
- bl sub_80109E8
- b _0800FC08
- .pool
-_0800FB78:
- movs r0, 0xEE
- lsls r0, 8
- bl sub_800FD14
- ldr r1, =gUnknown_03003110
- ldr r3, =gUnknown_03003092
- adds r0, r5, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
- ldr r4, =gUnknown_03003094
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x4]
- ldr r0, =gUnknown_03003090
- adds r0, 0x6
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1, 0x6]
- b _0800FC04
- .pool
-_0800FBB0:
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- mov r6, r8
- adds r6, 0x1
- cmp r0, 0x1
- bne _0800FC44
- ldr r0, =0x00000ce3
- adds r2, r4, r0
- ldr r1, =gUnknown_03003092
- adds r3, r5, r1
- ldrb r1, [r3]
- ldrb r0, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, =gUnknown_03003094
- adds r0, r5, r2
- ldrh r1, [r0]
- ldr r2, =0x00000ce4
- adds r0, r4, r2
- strb r1, [r0]
- ldrh r0, [r3]
- bl sub_80109E8
- b _0800FC08
- .pool
-_0800FBF4:
- ldr r0, =gUnknown_03003020
- mov r3, r8
- lsls r1, r3, 1
- adds r1, r0
- ldr r4, =gUnknown_03003092
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r1]
-_0800FC04:
- mov r6, r8
- adds r6, 0x1
-_0800FC08:
- ldr r3, =gUnknown_03005000
- ldrb r4, [r3, 0xC]
- cmp r4, 0x1
- bne _0800FC44
- adds r0, r3, 0
- adds r0, 0x61
- mov r1, r8
- adds r2, r1, r0
- ldrb r0, [r2]
- adds r1, r0, 0
- cmp r1, 0
- beq _0800FC44
- cmp r1, 0x4
- bne _0800FC40
- adds r0, r3, 0
- adds r0, 0x5C
- add r0, r8
- movs r1, 0
- strb r4, [r0]
- strb r1, [r2]
- b _0800FC44
- .pool
-_0800FC40:
- adds r0, 0x1
- strb r0, [r2]
-_0800FC44:
- lsls r0, r6, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x4
- bhi _0800FC50
- b _0800F87A
-_0800FC50:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_800F86C
-
- thumb_func_start sub_800FC60
-sub_800FC60: @ 800FC60
- push {lr}
- movs r2, 0
- ldr r0, =gUnknown_03005000
- adds r1, r0, 0
- adds r1, 0x92
-_0800FC6A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0800FC78
- movs r0, 0
- b _0800FC82
- .pool
-_0800FC78:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x4
- ble _0800FC6A
- movs r0, 0x1
-_0800FC82:
- pop {r1}
- bx r1
- thumb_func_end sub_800FC60
-
- thumb_func_start sub_800FC88
-sub_800FC88: @ 800FC88
- push {r4,lr}
- movs r1, 0
- ldr r2, =gUnknown_03005000
- ldrb r0, [r2, 0xD]
- cmp r1, r0
- bge _0800FCBC
- adds r4, r0, 0
- adds r3, r2, 0
- adds r3, 0x92
- adds r2, 0x5C
-_0800FC9C:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _0800FCAA
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0800FCB4
-_0800FCAA:
- movs r0, 0
- b _0800FCBE
- .pool
-_0800FCB4:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, r4
- blt _0800FC9C
-_0800FCBC:
- movs r0, 0x1
-_0800FCBE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800FC88
-
- thumb_func_start sub_800FCC4
-sub_800FCC4: @ 800FCC4
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- strb r2, [r0, 0x10]
- strb r2, [r0, 0x11]
- strb r2, [r0, 0x12]
- bx lr
- thumb_func_end sub_800FCC4
-
- thumb_func_start sub_800FCD8
-sub_800FCD8: @ 800FCD8
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r0, =gUnknown_03005000
- adds r3, r0, 0
- adds r3, 0x92
- adds r4, r0, 0
- adds r4, 0x5C
-_0800FCE8:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _0800FCFE
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0800FCFE
- lsls r0, r1
- orrs r2, r0
- lsls r0, r2, 24
- lsrs r2, r0, 24
-_0800FCFE:
- adds r3, 0x14
- adds r1, 0x1
- cmp r1, 0x4
- ble _0800FCE8
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800FCD8
-
- thumb_func_start sub_800FD14
-sub_800FD14: @ 800FD14
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r5, =gUnknown_03003110
- strh r1, [r5]
- movs r0, 0xF0
- lsls r0, 7
- adds r4, r5, 0
- cmp r1, r0
- beq _0800FDB0
- cmp r1, r0
- bgt _0800FD62
- movs r0, 0xBE
- lsls r0, 7
- cmp r1, r0
- beq _0800FE00
- cmp r1, r0
- bgt _0800FD50
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- beq _0800FE20
- movs r0, 0x88
- lsls r0, 7
- cmp r1, r0
- beq _0800FE14
- b _0800FE46
- .pool
-_0800FD50:
- movs r0, 0xCC
- lsls r0, 7
- cmp r1, r0
- beq _0800FE00
- movs r0, 0xEE
- lsls r0, 7
- cmp r1, r0
- beq _0800FDB0
- b _0800FE46
-_0800FD62:
- movs r0, 0xBE
- lsls r0, 8
- cmp r1, r0
- beq _0800FE40
- cmp r1, r0
- bgt _0800FE46
- movs r0, 0x88
- lsls r0, 8
- cmp r1, r0
- beq _0800FD80
- movs r0, 0xA1
- lsls r0, 8
- cmp r1, r0
- beq _0800FD98
- b _0800FE46
-_0800FD80:
- ldr r0, =gUnknown_03005000
- adds r1, r0, 0
- adds r1, 0x6E
- ldrh r1, [r1]
- strh r1, [r5, 0x2]
- adds r0, 0x7D
- ldrb r0, [r0]
- adds r0, 0x80
- strh r0, [r5, 0x4]
- b _0800FE46
- .pool
-_0800FD98:
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- beq _0800FE46
- ldr r0, =gUnknown_03005000
- adds r0, 0x5A
- ldrb r0, [r0]
- b _0800FE44
- .pool
-_0800FDB0:
- ldr r3, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r3, r1
- ldr r2, =0x00000ce3
- adds r1, r3, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- eors r0, r2
- ldr r1, =gUnknown_082ED695
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r3, 0xD]
- ldrb r0, [r3, 0xD]
- strh r0, [r4, 0x2]
- adds r2, r4, 0x4
- movs r4, 0
- ldr r0, =0x00000cde
- adds r3, r0
-_0800FDD6:
- adds r1, r2, r4
- adds r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0800FDD6
- b _0800FE46
- .pool
-_0800FE00:
- ldr r0, =gUnknown_03005000
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4, 0x2]
- b _0800FE46
- .pool
-_0800FE14:
- strh r1, [r5]
- ldr r0, =gMain
- ldrh r0, [r0, 0x2C]
- b _0800FE44
- .pool
-_0800FE20:
- movs r4, 0
- ldr r3, =gUnknown_030050F2
-_0800FE24:
- adds r2, r4, 0x1
- lsls r1, r2, 1
- adds r1, r5
- lsls r0, r4, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0x5
- bls _0800FE24
- b _0800FE46
- .pool
-_0800FE40:
- ldr r0, =gUnknown_03005DA8
- ldrh r0, [r0]
-_0800FE44:
- strh r0, [r5, 0x2]
-_0800FE46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FD14
-
- thumb_func_start sub_800FE50
-sub_800FE50: @ 800FE50
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FE76
- bl sub_8011A80
- cmp r0, 0
- bne _0800FE76
- ldr r0, =gUnknown_030050F2
- adds r1, r4, 0
- movs r2, 0xC
- bl memcpy
- movs r0, 0xBC
- lsls r0, 6
- bl sub_800FD14
-_0800FE76:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FE50
-
- thumb_func_start sub_800FE84
-@ bool8 sub_800FE84(u32 a1, u32 size)
-sub_800FE84: @ 800FE84
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r5, =gUnknown_03005000
- ldr r0, [r5]
- cmp r0, 0
- bne _0800FEB8
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FEB8
- movs r0, 0x7C
- adds r0, r5
- mov r9, r0
- ldrb r1, [r0]
- mov r8, r1
- cmp r1, 0
- beq _0800FEC8
- ldr r1, =gUnknown_02022B44
- adds r1, 0x83
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0800FEB8:
- movs r0, 0
- b _0800FF32
- .pool
-_0800FEC8:
- adds r0, r6, 0
- movs r1, 0xC
- bl __umodsi3
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl GetMultiplayerId
- adds r1, r5, 0
- adds r1, 0x7D
- strb r0, [r1]
- movs r0, 0x1
- mov r1, r9
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xC
- bl __udivsi3
- adds r0, r4
- adds r1, r5, 0
- adds r1, 0x6E
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x6C
- mov r1, r8
- strh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- cmp r6, r0
- bls _0800FF0A
- str r7, [r5, 0x70]
- b _0800FF1C
-_0800FF0A:
- ldr r4, =gUnknown_020228C4
- cmp r7, r4
- beq _0800FF1A
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl memcpy
-_0800FF1A:
- str r4, [r5, 0x70]
-_0800FF1C:
- movs r0, 0x88
- lsls r0, 8
- bl sub_800FD14
- ldr r0, =gUnknown_03005000
- ldr r1, =rfufunc_80F9F44
- str r1, [r0]
- adds r0, 0x5B
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
-_0800FF32:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_800FE84
-
- thumb_func_start rfufunc_80F9F44
-rfufunc_80F9F44: @ 800FF4C
- push {r4,r5,lr}
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0800FFA0
- movs r5, 0x88
- lsls r5, 8
- adds r0, r5, 0
- bl sub_800FD14
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _0800FF84
- adds r1, r4, 0
- adds r1, 0x5B
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0800FFA0
- b _0800FF9C
- .pool
-_0800FF84:
- bl GetMultiplayerId
- ldr r1, =gUnknown_03003090
- lsls r0, 24
- lsrs r0, 20
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, r5
- bne _0800FFA0
-_0800FF9C:
- ldr r0, =sub_800FFB0
- str r0, [r4]
-_0800FFA0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfufunc_80F9F44
-
- thumb_func_start sub_800FFB0
-sub_800FFB0: @ 800FFB0
- push {r4-r6,lr}
- ldr r0, =gUnknown_03005000
- mov r12, r0
- ldr r5, [r0, 0x70]
- ldr r3, =gUnknown_03003110
- mov r2, r12
- adds r2, 0x6C
- ldrh r1, [r2]
- movs r4, 0x89
- lsls r4, 8
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r3]
- movs r4, 0
- adds r6, r2, 0
- adds r3, 0x2
-_0800FFD0:
- lsls r2, r4, 1
- ldrh r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _0800FFD0
- mov r0, r12
- adds r0, 0x6C
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- adds r0, 0x2
- ldrh r0, [r0]
- lsls r1, 16
- lsrs r1, 16
- cmp r0, r1
- bhi _08010014
- mov r0, r12
- adds r0, 0x7C
- movs r1, 0
- strb r1, [r0]
- ldr r0, =rfufunc_80FA020
- mov r1, r12
- str r0, [r1]
-_08010014:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_800FFB0
-
- thumb_func_start rfufunc_80FA020
-rfufunc_80FA020: @ 8010028
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, =gUnknown_03005000
- ldr r0, [r5, 0x70]
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0xC]
- cmp r0, 0
- bne _080100F0
- ldr r3, =gUnknown_03003110
- adds r2, r5, 0
- adds r2, 0x6E
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, =0xffff8900
- adds r1, r4, 0
- orrs r0, r1
- strh r0, [r3]
- movs r4, 0
- mov r9, r5
- ldr r0, =gUnknown_03003090
- mov r12, r0
- lsls r5, r6, 4
- adds r7, r2, 0
- adds r3, 0x2
-_08010064:
- lsls r2, r4, 1
- ldrh r1, [r7]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- add r0, r8
- adds r1, r0, 0
- subs r1, 0xB
- ldrb r1, [r1]
- lsls r1, 8
- subs r0, 0xC
- ldrb r0, [r0]
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x6
- ble _08010064
- mov r1, r12
- adds r0, r5, r1
- ldrb r1, [r0]
- mov r3, r9
- adds r0, r3, 0
- adds r0, 0x6E
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _080100F4
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x88
- adds r1, r0, r1
- ldr r2, =gUnknown_082ED628
- adds r0, r3
- adds r0, 0x82
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _080100E8
- adds r0, r6, 0
- bl sub_800F638
- ldr r1, =gUnknown_02022B44
- adds r1, 0x64
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080100F4
- .pool
-_080100E8:
- movs r0, 0
- mov r4, r9
- str r0, [r4]
- b _080100F4
-_080100F0:
- movs r0, 0
- str r0, [r5]
-_080100F4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end rfufunc_80FA020
-
- thumb_func_start sub_8010100
-sub_8010100: @ 8010100
- push {lr}
- ldr r1, =gUnknown_03005000
- adds r1, 0x5A
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_800FD14
- movs r0, 0x1
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8010100
-
- thumb_func_start sub_801011C
-sub_801011C: @ 801011C
- push {lr}
- bl rfu_clearAllSlot
- bl sub_800C048
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0
- strb r0, [r1]
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xEF
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- str r1, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801011C
-
- thumb_func_start sub_8010148
-sub_8010148: @ 8010148
- push {lr}
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- orrs r0, r1
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- bl sub_801011C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010148
-
- thumb_func_start sub_8010168
-sub_8010168: @ 8010168
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _08010188
- bl sub_800D630
- ldr r0, =0x00000ce4
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _0801018C
- .pool
-_08010188:
- ldr r0, =sub_8010148
- str r0, [r4]
-_0801018C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010168
-
- thumb_func_start sub_8010198
-sub_8010198: @ 8010198
- push {lr}
- bl sub_800D630
- ldr r2, =gUnknown_03005000
- ldr r0, =0x00000ce4
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gUnknown_03007890
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldr r1, =0x00000ce3
- adds r2, r1
- strb r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010198
-
- thumb_func_start sub_80101CC
-sub_80101CC: @ 80101CC
- push {r4,r5,lr}
- ldr r0, =gUnknown_03005000
- ldrb r5, [r0, 0xD]
- movs r2, 0
- movs r1, 0
- adds r3, r0, 0
- adds r4, r3, 0
- adds r4, 0xE4
-_080101DC:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080101E6
- adds r2, 0x1
-_080101E6:
- adds r1, 0x1
- cmp r1, 0x4
- ble _080101DC
- cmp r2, r5
- bne _08010220
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0xC]
- cmp r0, 0
- bne _0801021C
- adds r0, r3, 0
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x3
- strb r1, [r0]
- bl sub_8010168
- b _08010220
- .pool
-_0801021C:
- ldr r0, =sub_8010168
- str r0, [r3]
-_08010220:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80101CC
-
- thumb_func_start sub_801022C
-sub_801022C: @ 801022C
- push {r4,lr}
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801024E
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801024E
- movs r0, 0xBE
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80101CC
- str r0, [r4]
-_0801024E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801022C
-
- thumb_func_start sub_8010264
-sub_8010264: @ 8010264
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gUnknown_03005000
- ldr r0, [r2]
- cmp r0, 0
- bne _08010284
- ldr r1, =0x00000cd9
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =sub_801022C
- str r0, [r2]
- adds r0, r3, 0
- bl DestroyTask
-_08010284:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010264
-
- thumb_func_start task_add_05_task_del_08FA224_when_no_RfuFunc
-task_add_05_task_del_08FA224_when_no_RfuFunc: @ 8010294
- push {r4,lr}
- ldr r4, =sub_8010264
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080102AC
- adds r0, r4, 0
- movs r1, 0x5
- bl CreateTask
-_080102AC:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_add_05_task_del_08FA224_when_no_RfuFunc
-
- thumb_func_start sub_80102B8
-sub_80102B8: @ 80102B8
- push {r4,r5,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080102E6
- ldr r1, =gUnknown_03005000
- ldr r2, =0x000009e6
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r0, 0
- cmp r4, 0
- bne _080102E6
- adds r5, r1, 0
- adds r5, 0xFE
- ldrh r0, [r5]
- cmp r0, 0x3C
- bls _080102E6
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- strh r4, [r5]
-_080102E6:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- cmp r1, r2
- bcs _08010312
- ldr r0, =gUnknown_03005000
- adds r3, r0, 0
- adds r3, 0xE9
- ldrb r0, [r3]
- cmp r0, 0
- beq _08010312
-_08010300:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _08010312
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010300
-_08010312:
- ldr r4, =gUnknown_03005000
- cmp r1, r2
- bne _0801033E
- movs r1, 0
- adds r3, r4, 0
- adds r3, 0xE9
- movs r2, 0
-_08010320:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _08010320
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0]
- str r2, [r4]
-_0801033E:
- adds r1, r4, 0
- adds r1, 0xFE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80102B8
-
- thumb_func_start sub_8010358
-sub_8010358: @ 8010358
- push {r4,lr}
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801037A
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801037A
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80102B8
- str r0, [r4]
-_0801037A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010358
-
- thumb_func_start sub_8010390
-sub_8010390: @ 8010390
- push {r4,lr}
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080103CC
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801041E
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801041E
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_80102B8
- b _0801041C
- .pool
-_080103CC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- cmp r1, r2
- bcs _080103FA
- ldr r3, =gUnknown_03005000
- adds r0, r3, 0
- adds r0, 0xEA
- ldrb r0, [r0]
- cmp r0, 0
- beq _080103FA
- adds r3, 0xE9
-_080103E8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- bcs _080103FA
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080103E8
-_080103FA:
- cmp r1, r2
- bne _0801041E
- ldr r4, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801041E
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801041E
- movs r0, 0xCC
- lsls r0, 7
- bl sub_800FD14
- ldr r0, =sub_8010358
-_0801041C:
- str r0, [r4]
-_0801041E:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010390
-
- thumb_func_start sub_8010434
-sub_8010434: @ 8010434
- push {lr}
- ldr r1, =gUnknown_03005000
- ldr r2, [r1]
- cmp r2, 0
- bne _08010448
- ldr r0, =sub_8010390
- str r0, [r1]
- adds r0, r1, 0
- adds r0, 0xFE
- strh r2, [r0]
-_08010448:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010434
-
- thumb_func_start sub_8010454
-sub_8010454: @ 8010454
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, =gUnknown_082ED6E0
- ldrh r0, [r1]
- cmp r0, r3
- beq _08010482
- ldr r4, =0x0000ffff
- adds r2, r1, 0
-_08010464:
- ldrh r0, [r2]
- cmp r0, r4
- bne _08010478
- movs r0, 0
- b _08010484
- .pool
-_08010478:
- adds r1, 0x2
- adds r2, 0x2
- ldrh r0, [r1]
- cmp r0, r3
- bne _08010464
-_08010482:
- movs r0, 0x1
-_08010484:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8010454
-
- thumb_func_start sub_801048C
-sub_801048C: @ 801048C
- push {lr}
- cmp r0, 0
- beq _080104A0
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_800D550
- movs r0, 0
- b _080104AC
-_080104A0:
- movs r0, 0
- movs r1, 0
- bl sub_800D550
- lsls r0, 24
- lsrs r0, 24
-_080104AC:
- pop {r1}
- bx r1
- thumb_func_end sub_801048C
-
- thumb_func_start sub_80104B0
-sub_80104B0: @ 80104B0
- push {lr}
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cd9
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- bl sub_800C27C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80104B0
-
- thumb_func_start rfu_get_multiplayer_id
-rfu_get_multiplayer_id: @ 80104D0
- push {lr}
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- beq _080104EC
- ldr r2, =0x00000cce
- adds r0, r1, r2
- ldrb r0, [r0]
- b _080104EE
- .pool
-_080104EC:
- movs r0, 0
-_080104EE:
- pop {r1}
- bx r1
- thumb_func_end rfu_get_multiplayer_id
-
- thumb_func_start sub_80104F4
-sub_80104F4: @ 80104F4
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xD]
- bx lr
- .pool
- thumb_func_end sub_80104F4
-
- thumb_func_start sub_8010500
-sub_8010500: @ 8010500
- push {lr}
- ldr r2, =gUnknown_03005000
- adds r0, r2, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08010518
- movs r0, 0
- b _08010524
- .pool
-_08010518:
- movs r1, 0
- ldr r0, [r2]
- cmp r0, 0
- bne _08010522
- movs r1, 0x1
-_08010522:
- adds r0, r1, 0
-_08010524:
- pop {r1}
- bx r1
- thumb_func_end sub_8010500
-
- thumb_func_start sub_8010528
-sub_8010528: @ 8010528
- push {lr}
- ldr r0, =gUnknown_03005000
- ldr r0, [r0]
- cmp r0, 0
- beq _08010536
- bl _call_via_r0
-_08010536:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010528
-
- thumb_func_start sub_8010540
-sub_8010540: @ 8010540
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r5, 0
- ldr r6, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r0, r6
- mov r8, r0
-_08010552:
- ldr r1, =0x00000cd1
- adds r0, r6, r1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080105DA
- ldr r1, =gUnknown_03007880
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _08010576
- cmp r0, 0x48
- bne _080105C0
-_08010576:
- ldr r2, =0x00000cd5
- adds r0, r6, r2
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080105DA
- movs r0, 0x9
- strb r0, [r4]
- movs r0, 0xA
- strb r0, [r1]
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0x8
- bl rfu_clearSlot
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r5
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r4, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- movs r7, 0x1
- b _080105DA
- .pool
-_080105C0:
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _080105DA
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0x8
- bl rfu_clearSlot
-_080105DA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08010552
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8010540
-
- thumb_func_start sub_80105EC
-sub_80105EC: @ 80105EC
- push {r4-r6,lr}
- movs r3, 0
- movs r1, 0
- ldr r5, =gUnknown_03005CD5
- movs r6, 0x1
- movs r4, 0
-_080105F8:
- adds r2, r1, r5
- ldrb r0, [r2]
- cmp r0, 0xB
- bne _0801060C
- adds r0, r6, 0
- lsls r0, r1
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
- strb r4, [r2]
-_0801060C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080105F8
- cmp r3, 0
- beq _08010620
- adds r0, r3, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08010620:
- movs r1, 0
- ldr r2, =gUnknown_03005CD5
-_08010624:
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0801063C
- movs r0, 0x1
- b _08010644
- .pool
-_0801063C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _08010624
- movs r0, 0
-_08010644:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80105EC
-
- thumb_func_start sub_801064C
-sub_801064C: @ 801064C
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08010680
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000cd1
- adds r0, r2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08010680
- movs r0, 0
- b _08010682
- .pool
-_08010680:
- movs r0, 0x1
-_08010682:
- pop {r1}
- bx r1
- thumb_func_end sub_801064C
-
- thumb_func_start sub_8010688
-sub_8010688: @ 8010688
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r2, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_8011CE4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gUnknown_03005000
- ldr r0, =0x00000cd1
- adds r5, r0
- adds r5, r4, r5
- strb r6, [r5]
- movs r0, 0x4
- adds r1, r4, 0
- bl rfu_clearSlot
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010688
-
- thumb_func_start sub_80106D4
-sub_80106D4: @ 80106D4
- push {r4,r5,lr}
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c85
- adds r5, r4, r0
- movs r0, 0x8
- strb r0, [r5]
- ldr r0, =0x00000c3e
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0x4
- bl rfu_clearSlot
- ldrb r1, [r4]
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r0, 24
- movs r1, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl rfu_NI_setSendData
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80106D4
-
- thumb_func_start sub_8010714
-sub_8010714: @ 8010714
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- lsls r2, 16
- lsrs r2, 16
- adds r1, r2, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08010730
- movs r0, 0x2
- b _0801074A
-_08010730:
- ldr r1, =gUnknown_03007880
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010748
- movs r0, 0
- b _0801074A
- .pool
-_08010748:
- movs r0, 0x1
-_0801074A:
- pop {r1}
- bx r1
- thumb_func_end sub_8010714
-
- thumb_func_start sub_8010750
-sub_8010750: @ 8010750
- push {r4,r5,lr}
- bl sub_8010540
- movs r4, 0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cd5
- adds r5, r0, r1
-_0801075E:
- ldr r1, =gUnknown_03007880
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- subs r0, 0x26
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08010788
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0xA
- bne _0801077E
- movs r0, 0xB
- strb r0, [r1]
-_0801077E:
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x4
- bl rfu_clearSlot
-_08010788:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0801075E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010750
-
- thumb_func_start sub_80107A0
-sub_80107A0: @ 80107A0
- push {r4,r5,lr}
- movs r4, 0
- ldr r1, =gUnknown_03005000
- ldr r2, =0x00000c85
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080107DA
- ldr r2, =gUnknown_03007880
- ldr r0, =0x00000c3e
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x26
- beq _080107D2
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x27
- bne _080107DA
-_080107D2:
- ldrb r1, [r1]
- movs r0, 0x4
- bl rfu_clearSlot
-_080107DA:
- ldr r2, =gUnknown_03007880
- ldr r5, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r1, r5, r0
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x46
- beq _080107FE
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x48
- bne _0801082C
-_080107FE:
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- ldr r2, =0x00000c86
- adds r4, r5, r2
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8011A64
- ldrb r4, [r4]
- b _08010844
- .pool
-_0801082C:
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x34]
- cmp r0, 0x47
- bne _08010844
- ldrb r1, [r1]
- movs r0, 0x8
- bl rfu_clearSlot
- movs r4, 0x6
-_08010844:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80107A0
-
- thumb_func_start sub_801084C
-sub_801084C: @ 801084C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, =gUnknown_03005000
- adds r0, r5, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08010872
- ldr r0, =0x00000ce8
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_08010872:
- ldr r2, =gTasks
- lsls r1, r6, 2
- adds r0, r1, r6
- lsls r0, 3
- adds r4, r0, r2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r7, r1, 0
- cmp r0, 0x3
- beq _0801091C
- cmp r0, 0x3
- bgt _080108A4
- cmp r0, 0x1
- beq _080108CC
- cmp r0, 0x1
- bgt _08010918
- cmp r0, 0
- beq _080108B6
- b _080109D2
- .pool
-_080108A4:
- cmp r0, 0x5
- beq _08010950
- cmp r0, 0x5
- blt _0801093E
- cmp r0, 0x6
- beq _08010984
- cmp r0, 0x65
- beq _08010904
- b _080109D2
-_080108B6:
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- bne _080108C2
- b _080109D2
-_080108C2:
- bl ResetBlockReceivedFlags
- bl sub_800B348
- b _08010948
-_080108CC:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _0801090C
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080108E8
- movs r0, 0xF0
- lsls r0, 7
- bl sub_800FD14
- b _080108F0
- .pool
-_080108E8:
- movs r0, 0xEE
- lsls r0, 7
- bl sub_800FD14
-_080108F0:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0x65
- strh r0, [r1, 0x8]
- b _080109D2
- .pool
-_08010904:
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- bne _080109D2
-_0801090C:
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080109D2
- .pool
-_08010918:
- ldrb r0, [r5, 0xD]
- b _08010944
-_0801091C:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- bne _08010948
- bl sub_800FC60
- lsls r0, 24
- cmp r0, 0
- beq _080109D2
- adds r1, r5, 0
- adds r1, 0x5A
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xA1
- lsls r0, 8
- bl sub_800FD14
- b _08010948
-_0801093E:
- bl sub_800FC88
- lsls r0, 24
-_08010944:
- cmp r0, 0
- beq _080109D2
-_08010948:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080109D2
-_08010950:
- movs r4, 0
- ldrb r0, [r5, 0xD]
- cmp r4, r0
- bge _0801096E
-_08010958:
- adds r0, r4, 0
- bl sub_800B3A4
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_800F728
- adds r4, 0x1
- ldrb r2, [r5, 0xD]
- cmp r4, r2
- blt _08010958
-_0801096E:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080109D2
- .pool
-_08010984:
- adds r0, r6, 0
- bl DestroyTask
- ldr r1, =gReceivedRemoteLinkPlayers
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =0x00000ce8
- adds r1, r5, r0
- movs r0, 0
- strb r0, [r1]
- movs r1, 0x96
- lsls r1, 2
- movs r0, 0x1
- bl sub_800D550
- ldr r2, =0x00000ce6
- adds r1, r5, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080109D2
- movs r4, 0
- adds r2, r1, 0
- movs r3, 0x1
- ldr r0, =0x00000ce5
- adds r5, r0
-_080109B6:
- ldrb r0, [r2]
- asrs r0, r4
- ands r0, r3
- cmp r0, 0
- beq _080109CC
- adds r0, r3, 0
- lsls r0, r4
- strb r0, [r5]
- ldrb r1, [r2]
- eors r0, r1
- strb r0, [r2]
-_080109CC:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080109B6
-_080109D2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801084C
-
- thumb_func_start sub_80109E8
-sub_80109E8: @ 80109E8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- movs r5, 0x1
- ldr r4, =gUnknown_03005CDE
- movs r3, 0
-_080109F6:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _08010A04
- adds r0, r1, r4
- strb r3, [r0]
-_08010A04:
- adds r1, 0x1
- cmp r1, 0x3
- ble _080109F6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80109E8
-
- thumb_func_start sub_8010A14
-sub_8010A14: @ 8010A14
- push {r4-r7,lr}
- adds r2, r0, 0
- ldr r1, =gUnknown_03005000
- ldrb r0, [r2, 0xF]
- strb r0, [r1, 0xD]
- movs r4, 0
- ldr r0, =0x00000cde
- adds r5, r1, r0
- adds r3, r2, 0
- adds r3, 0x10
-_08010A28:
- adds r0, r4, r5
- adds r1, r3, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08010A28
- adds r6, r2, 0
- ldr r5, =gLinkPlayers
- movs r4, 0x4
-_08010A3C:
- adds r0, r5, 0
- adds r1, r6, 0
- adds r1, 0x14
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r5, 0
- bl sub_800B524
- adds r6, 0x1C
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08010A3C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010A14
-
- thumb_func_start sub_8010A70
-sub_8010A70: @ 8010A70
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, =gUnknown_082ED7EC
- adds r1, r4, 0
- bl strcmp
- adds r5, r0, 0
- cmp r5, 0
- bne _08010A9C
- adds r0, r4, 0
- bl sub_8010A14
- mov r0, sp
- strh r5, [r0]
- ldr r2, =0x0100007e
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
-_08010A9C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010A70
-
- thumb_func_start sub_8010AAC
-sub_8010AAC: @ 8010AAC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, =gUnknown_03005000
- ldr r2, =gUnknown_082ED68C
- ldr r1, =0x00000ce9
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r1, r2
- ldr r2, =0x00000cde
- adds r0, r3, r2
- ldrb r1, [r1]
- adds r0, r1
- ldrb r4, [r0]
- adds r0, r3, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08010AE8
- ldr r5, =0x00000ce8
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- bl DestroyTask
-_08010AE8:
- ldr r0, =gTasks
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r3, r0, 0
- adds r7, r2, 0
- cmp r1, 0x5
- bls _08010B00
- b _08010CF0
-_08010B00:
- lsls r0, r1, 2
- ldr r1, =_08010B28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08010B28:
- .4byte _08010B40
- .4byte _08010B60
- .4byte _08010B78
- .4byte _08010BC0
- .4byte _08010C0A
- .4byte _08010C94
-_08010B40:
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010B4A
- b _08010CF0
-_08010B4A:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- movs r0, 0xF0
- lsls r0, 7
- bl sub_800FD14
- b _08010C4A
- .pool
-_08010B60:
- ldr r0, =gUnknown_03003110
- ldrh r0, [r0]
- cmp r0, 0
- beq _08010B6A
- b _08010CF0
-_08010B6A:
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r3
- b _08010C52
- .pool
-_08010B78:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08010B8C
- b _08010CF0
-_08010B8C:
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- lsls r2, r4, 8
- ldr r0, =gBlockRecvBuffer
- adds r2, r0
- ldr r1, =gLinkPlayers
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- adds r1, r0, 0
- adds r2, 0x10
- ldm r2!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r2!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r2, [r2]
- str r2, [r1]
- bl sub_800B524
- b _08010C4A
- .pool
-_08010BC0:
- ldr r5, =gUnknown_020228C4
- adds r1, r5, 0
- ldr r0, =gUnknown_082ED7EC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldrh r2, [r0]
- strh r2, [r1]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x2]
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, =0x00000cde
- adds r3, r1, r0
-_08010BE2:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010BE2
- ldr r1, =gLinkPlayers
- adds r0, r5, 0
- adds r0, 0x14
- movs r2, 0x8C
- bl memcpy
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08010C0A:
- ldr r5, =gUnknown_020228C4
- ldr r1, =gUnknown_03005000
- ldrb r0, [r1, 0xD]
- strb r0, [r5, 0xF]
- movs r2, 0
- ldr r3, =gLinkPlayers
- mov r12, r3
- adds r4, r5, 0
- adds r4, 0x10
- ldr r0, =0x00000cde
- adds r3, r1, r0
-_08010C20:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010C20
- adds r0, r5, 0
- adds r0, 0x14
- mov r1, r12
- movs r2, 0x8C
- bl memcpy
- ldr r1, =gUnknown_020228C4
- movs r0, 0
- movs r2, 0xA0
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _08010CF0
-_08010C4A:
- ldr r0, =gTasks
- adds r1, r7, r6
- lsls r1, 3
- adds r1, r0
-_08010C52:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08010CF0
- .pool
-_08010C74:
- adds r0, r3, 0
- lsls r0, r2
- ldr r2, =0x00000ce5
- adds r1, r5, r2
- strb r0, [r1]
- ldrb r1, [r4]
- eors r0, r1
- strb r0, [r4]
- ldr r4, =0x00000ce8
- adds r0, r5, r4
- strb r3, [r0]
- b _08010CEA
- .pool
-_08010C94:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08010CF0
- bl GetBlockReceivedStatus
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _08010CF0
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r1, =gBlockRecvBuffer
- ldr r2, =0x0100007e
- bl CpuSet
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r1, =gUnknown_03005000
- ldr r5, =0x00000ce8
- adds r0, r1, r5
- strb r4, [r0]
- ldr r0, =0x00000ce6
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0
- beq _08010CEA
- movs r2, 0
- adds r5, r1, 0
- adds r4, r3, 0
- ldrb r1, [r4]
- movs r3, 0x1
-_08010CDA:
- adds r0, r1, 0
- asrs r0, r2
- ands r0, r3
- cmp r0, 0
- bne _08010C74
- adds r2, 0x1
- cmp r2, 0x3
- ble _08010CDA
-_08010CEA:
- adds r0, r6, 0
- bl DestroyTask
-_08010CF0:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010AAC
-
- thumb_func_start sub_8010D0C
-sub_8010D0C: @ 8010D0C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, =gUnknown_03005000
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08010D2A
- adds r0, r5, 0
- bl DestroyTask
-_08010D2A:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08010D70
- cmp r0, 0x1
- bgt _08010D50
- cmp r0, 0
- beq _08010D56
- b _08010DA6
- .pool
-_08010D50:
- cmp r0, 0x2
- beq _08010D82
- b _08010DA6
-_08010D56:
- ldrb r0, [r6, 0xD]
- cmp r0, 0
- beq _08010DA6
- bl sub_800B348
- ldr r1, =gUnknown_020228C4
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- b _08010D7A
- .pool
-_08010D70:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08010DA6
-_08010D7A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08010DA6
-_08010D82:
- bl GetBlockReceivedStatus
- movs r4, 0x1
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _08010DA6
- ldr r0, =gBlockRecvBuffer
- bl sub_8010A14
- movs r0, 0
- bl ResetBlockReceivedFlag
- ldr r0, =gReceivedRemoteLinkPlayers
- strb r4, [r0]
- adds r0, r5, 0
- bl DestroyTask
-_08010DA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010D0C
-
- thumb_func_start sub_8010DB4
-sub_8010DB4: @ 8010DB4
- push {r4-r7,lr}
- ldr r0, =gUnknown_03005000
- adds r1, r0, 0
- adds r1, 0xEE
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _08010E5C
- ldr r2, =gUnknown_03004140
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08010E5C
- ldr r0, =gMain
- ldr r1, [r0, 0x4]
- ldr r0, =sub_8018438
- cmp r1, r0
- beq _08010DDE
- ldr r0, [r2, 0x3C]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08010DE4
-_08010DDE:
- ldr r1, =gLinkVSyncDisabled
- movs r0, 0x2
- strb r0, [r1]
-_08010DE4:
- ldr r4, =c2_800ACD4
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, =gMain
- str r4, [r0, 0x8]
- ldr r5, =gUnknown_03005000
- ldrh r0, [r5, 0xA]
- lsls r4, r0, 16
- ldrh r0, [r5, 0x10]
- lsls r0, 8
- orrs r4, r0
- ldrh r0, [r5, 0x12]
- orrs r4, r0
- ldr r1, =0x000009e6
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r7, r0, 0
- ldr r1, =0x00000c1a
- adds r0, r5, r1
- ldrb r0, [r0]
- adds r6, r0, 0
- bl sub_8011A74
- movs r3, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08010E20
- movs r3, 0x1
-_08010E20:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_800AF18
- adds r0, r5, 0
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x2
- strb r1, [r0]
- bl sub_80097E8
- b _08010E8E
- .pool
-_08010E5C:
- ldr r1, =0x00000c1b
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08010E70
- ldr r1, =0x000009e7
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08010E8E
-_08010E70:
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _08010E7C
- bl sub_800D630
-_08010E7C:
- movs r4, 0xE0
- lsls r4, 7
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
-_08010E8E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010DB4
-
- thumb_func_start rfu_REQ_recvData_then_sendData
-rfu_REQ_recvData_then_sendData: @ 8010EA0
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _08010EB8
- bl rfu_REQ_recvData
- bl rfu_waitREQComplete
- movs r0, 0
- bl rfu_REQ_sendData_wrapper
-_08010EB8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end rfu_REQ_recvData_then_sendData
-
- thumb_func_start sub_8010EC0
-sub_8010EC0: @ 8010EC0
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ccd
- adds r0, r4, r1
- strb r5, [r0]
- bl Random2
- lsls r0, 16
- lsrs r0, 16
- bl sub_800C54C
- adds r0, r4, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010F14
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _08010F02
- cmp r0, 0x1
- bgt _08010EFC
- cmp r0, 0
- beq _08010F08
- b _08010F14
- .pool
-_08010EFC:
- cmp r0, 0x2
- beq _08010F10
- b _08010F14
-_08010F02:
- bl sub_800F0F8
- b _08010F14
-_08010F08:
- bl sub_800F4F0
- adds r5, r0, 0
- b _08010F14
-_08010F10:
- bl rfu_REQ_recvData_then_sendData
-_08010F14:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8010EC0
-
- thumb_func_start sub_8010F1C
-sub_8010F1C: @ 8010F1C
- push {r4,lr}
- movs r4, 0
- ldr r1, =gUnknown_03005000
- adds r0, r1, 0
- adds r0, 0xEF
- ldrb r0, [r0]
- cmp r0, 0
- bne _08010F3C
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- bne _08010F38
- bl sub_800F1E0
- adds r4, r0, 0
-_08010F38:
- bl sub_8010DB4
-_08010F3C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8010F1C
-
- thumb_func_start sub_8010F48
-sub_8010F48: @ 8010F48
- push {lr}
- ldr r0, =gUnknown_02022B22
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F48
-
- thumb_func_start sub_8010F60
-sub_8010F60: @ 8010F60
- push {r4,lr}
- ldr r4, =gUnknown_02022B14
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xD
- bl memset
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_800DD94
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F60
-
- thumb_func_start sub_8010F84
-sub_8010F84: @ 8010F84
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gUnknown_02022B14
- adds r1, r4, 0
- bl sub_800DD94
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010F84
-
- thumb_func_start sub_8010FA0
-sub_8010FA0: @ 8010FA0
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- movs r4, 0x1
- ands r0, r4
- lsls r0, 4
- ldrb r3, [r5]
- movs r2, 0x11
- negs r2, r2
- ands r2, r3
- orrs r2, r0
- ands r1, r4
- lsls r1, 5
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- orrs r2, r1
- strb r2, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010FA0
-
- thumb_func_start sub_8010FCC
-sub_8010FCC: @ 8010FCC
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- lsls r0, 2
- ldrb r4, [r5, 0x9]
- movs r3, 0x3
- ands r3, r4
- orrs r3, r0
- strb r3, [r5, 0x9]
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldrh r3, [r5, 0x8]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r5, 0x8]
- lsls r2, 1
- ldrb r1, [r5, 0xB]
- movs r0, 0x1
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0xB]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8010FCC
-
- thumb_func_start sub_801100C
-sub_801100C: @ 801100C
- push {r4,lr}
- movs r4, 0x80
- ldr r3, =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r1, r3
- ldrb r2, [r0, 0x13]
- lsls r2, 3
- orrs r2, r4
- adds r3, 0x4
- adds r1, r3
- ldr r0, [r1]
- movs r1, 0x7
- ands r0, r1
- orrs r0, r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_801100C
-
- thumb_func_start sub_801103C
-sub_801103C: @ 801103C
- push {r4,r5,lr}
- ldr r5, =gUnknown_02022B14
- movs r4, 0x1
- b _08011054
- .pool
-_08011048:
- adds r0, r4, 0
- bl sub_801100C
- adds r1, r5, r4
- strb r0, [r1, 0x3]
- adds r4, 0x1
-_08011054:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08011048
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801103C
-
- thumb_func_start sub_8011068
-sub_8011068: @ 8011068
- push {lr}
- lsls r0, 24
- ldr r2, =gUnknown_02022B14
- lsrs r0, 17
- ldrb r3, [r2, 0xA]
- movs r1, 0x7F
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0xA]
- ldr r3, =gUnknown_02022B22
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011068
-
- thumb_func_start sub_8011090
-sub_8011090: @ 8011090
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0801109E
- bl sub_8010F84
-_0801109E:
- ldr r2, =gUnknown_02022B14
- ldr r3, =gUnknown_02022B22
- movs r0, 0
- movs r1, 0x2
- bl rfu_REQ_configGameData
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011090
-
- thumb_func_start sub_80110B8
-sub_80110B8: @ 80110B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _0801114C
- movs r5, 0
- movs r7, 0
- ldr r3, =gUnknown_03005000
- ldr r1, =0x00000ce2
- adds r0, r3, r1
- ldr r2, =0x00000ce3
- adds r1, r3, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- adds r1, r0, 0
- eors r1, r2
- mov r8, r1
- movs r4, 0
- movs r6, 0x1
- ldr r2, =gLinkPlayers
- mov r12, r2
- ldr r0, =0x00000cde
- adds r0, r3
- mov r10, r0
- mov r3, r12
- adds r3, 0x4
-_080110FC:
- mov r0, r8
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _0801113C
- mov r1, r10
- adds r0, r4, r1
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r2, r12
- adds r1, r0, r2
- ldrb r1, [r1, 0x13]
- adds r2, r6, 0
- ands r2, r1
- lsls r2, 3
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- orrs r2, r1
- lsls r0, r5, 3
- lsls r2, r0
- orrs r7, r2
- adds r5, 0x1
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- beq _08011142
-_0801113C:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080110FC
-_08011142:
- movs r0, 0x45
- adds r1, r7, 0
- movs r2, 0
- bl sub_8011090
-_0801114C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80110B8
-
- thumb_func_start sub_8011170
-sub_8011170: @ 8011170
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xEE
- ldrb r0, [r3]
- cmp r0, 0
- bne _08011192
- ldr r1, =gUnknown_03004140
- ldrh r0, [r1, 0x14]
- strh r0, [r2, 0x10]
- ldrh r0, [r1, 0x16]
- strh r0, [r2, 0x12]
- strh r4, [r2, 0xA]
- ldrb r0, [r3]
- movs r0, 0x1
- strb r0, [r3]
-_08011192:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011170
-
- thumb_func_start sub_80111A0
-sub_80111A0: @ 80111A0
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80111A0
-
- thumb_func_start sub_80111B0
-sub_80111B0: @ 80111B0
- push {lr}
- adds r2, r0, 0
- cmp r2, 0
- bne _080111C8
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- strb r2, [r0]
- b _080111D2
- .pool
-_080111C8:
- ldr r0, =gUnknown_03005000
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x4
- strb r1, [r0]
-_080111D2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80111B0
-
- thumb_func_start sub_80111DC
-sub_80111DC: @ 80111DC
- push {lr}
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8011E94
- ldr r1, =gUnknown_03005000
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80111DC
-
- thumb_func_start sub_80111FC
-sub_80111FC: @ 80111FC
- ldr r1, =gUnknown_03005000
- ldr r0, =sub_80111DC
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80111FC
-
- thumb_func_start sub_801120C
-sub_801120C: @ 801120C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r6, 0
- cmp r4, 0x32
- bne _08011222
- b _08011360
-_08011222:
- cmp r4, 0x32
- bgt _08011252
- cmp r4, 0x13
- bgt _08011240
- cmp r4, 0x12
- blt _08011230
- b _080113EE
-_08011230:
- cmp r4, 0x10
- bne _08011236
- b _080113EE
-_08011236:
- cmp r4, 0x10
- bgt _0801128C
- cmp r4, 0
- beq _0801127E
- b _080113EE
-_08011240:
- cmp r4, 0x30
- bne _08011246
- b _0801136C
-_08011246:
- cmp r4, 0x30
- ble _0801124C
- b _08011354
-_0801124C:
- cmp r4, 0x14
- beq _08011328
- b _080113EE
-_08011252:
- cmp r4, 0x44
- bgt _08011264
- cmp r4, 0x42
- blt _0801125C
- b _080113EE
-_0801125C:
- cmp r4, 0x33
- bne _08011262
- b _0801136C
-_08011262:
- b _080113EE
-_08011264:
- cmp r4, 0xF3
- bne _0801126A
- b _080113BA
-_0801126A:
- cmp r4, 0xF3
- bgt _08011276
- cmp r4, 0xF0
- bge _08011274
- b _080113EE
-_08011274:
- b _080113D4
-_08011276:
- cmp r4, 0xFF
- bne _0801127C
- b _080113D4
-_0801127C:
- b _080113EE
-_0801127E:
- ldr r1, =gUnknown_03005000
- movs r0, 0x2
- strh r0, [r1, 0x4]
- b _080113EE
- .pool
-_0801128C:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_80115EC
- movs r5, 0
- movs r0, 0x1
- mov r8, r0
- ldr r1, =gUnknown_03005000
- mov r9, r1
- ldr r3, =0x00000cd5
- add r3, r9
- mov r10, r3
- movs r7, 0x7F
-_080112A6:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- asrs r0, r5
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0801130E
- ldr r0, =gUnknown_03007890
- lsls r1, r5, 5
- adds r1, 0x14
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0, 0x10]
- adds r4, r7, 0
- ands r4, r0
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- adds r0, r7, 0
- ands r0, r1
- cmp r4, r0
- bne _08011304
- ldr r0, =0x00000cd1
- add r0, r9
- adds r0, r5, r0
- movs r1, 0
- strb r1, [r0]
- mov r3, r10
- adds r2, r5, r3
- strb r1, [r2]
- movs r0, 0x20
- adds r1, r5, 0
- movs r3, 0x1
- bl rfu_setRecvBuffer
- b _0801130E
- .pool
-_08011304:
- mov r0, r8
- lsls r0, r5
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_0801130E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080112A6
- cmp r6, 0
- beq _080113EE
- adds r0, r6, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- b _080113EE
-_08011328:
- ldr r4, =gUnknown_03005000
- ldr r1, =0x00000ce7
- adds r0, r4, r1
- ldr r1, =gUnknown_03004140
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- beq _08011342
- eors r0, r2
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08011342:
- movs r0, 0x11
- strh r0, [r4, 0x4]
- b _080113EE
- .pool
-_08011354:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- b _080113EA
- .pool
-_08011360:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x3
- b _080113EC
- .pool
-_0801136C:
- ldr r1, =gUnknown_03005000
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x4
- strb r0, [r2]
- ldr r3, =0x00000ce2
- adds r1, r3
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0, 0x14]
- ldrb r0, [r1]
- adds r3, r0, 0
- bics r3, r2
- adds r2, r3, 0
- strb r2, [r1]
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080113B0
- cmp r2, 0
- bne _080113AC
- adds r0, r4, 0
- bl sub_8011170
- b _080113B0
- .pool
-_080113AC:
- bl sub_80111FC
-_080113B0:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _080113EE
-_080113BA:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- b _080113EA
- .pool
-_080113D4:
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
-_080113EA:
- movs r1, 0x1
-_080113EC:
- strb r1, [r0]
-_080113EE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801120C
-
- thumb_func_start sub_8011404
-sub_8011404: @ 8011404
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x31
- bne _08011410
- b _08011570
-_08011410:
- cmp r4, 0x31
- bgt _0801143E
- cmp r4, 0x22
- beq _08011494
- cmp r4, 0x22
- bgt _0801142C
- cmp r4, 0x20
- beq _0801147C
- cmp r4, 0x20
- ble _08011426
- b _080115DE
-_08011426:
- cmp r4, 0
- beq _0801146E
- b _080115DE
-_0801142C:
- cmp r4, 0x24
- beq _080114BA
- cmp r4, 0x24
- blt _080114B0
- cmp r4, 0x25
- beq _08011504
- cmp r4, 0x30
- beq _0801150E
- b _080115DE
-_0801143E:
- cmp r4, 0x44
- bgt _08011454
- cmp r4, 0x42
- blt _08011448
- b _080115DE
-_08011448:
- cmp r4, 0x33
- beq _08011522
- cmp r4, 0x33
- bge _08011452
- b _0801158C
-_08011452:
- b _080115DE
-_08011454:
- cmp r4, 0xF3
- bne _0801145A
- b _080115AC
-_0801145A:
- cmp r4, 0xF3
- bgt _08011466
- cmp r4, 0xF0
- bge _08011464
- b _080115DE
-_08011464:
- b _080115C4
-_08011466:
- cmp r4, 0xFF
- bne _0801146C
- b _080115C4
-_0801146C:
- b _080115DE
-_0801146E:
- ldr r1, =gUnknown_03005000
- movs r0, 0x6
- strh r0, [r1, 0x4]
- b _080115DE
- .pool
-_0801147C:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _080115DC
- .pool
-_08011494:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000c3e
- adds r0, r2
- ldrb r2, [r0]
- b _080115DC
- .pool
-_080114B0:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _080115DE
-_080114BA:
- ldr r4, =gUnknown_03005000
- movs r1, 0
- movs r0, 0xB
- strh r0, [r4, 0x4]
- ldr r2, =0x00000c85
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, =0x00000c86
- adds r2, r4, r0
- strb r1, [r2]
- ldr r1, =0x00000c3e
- adds r5, r4, r1
- ldrb r1, [r5]
- movs r0, 0x20
- movs r3, 0x1
- bl rfu_setRecvBuffer
- ldrb r1, [r5]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _080115DE
- .pool
-_08011504:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _080115DE
-_0801150E:
- ldr r0, =gUnknown_03005000
- adds r2, r0, 0
- adds r2, 0xF0
- movs r1, 0x2
- strb r1, [r2]
- ldr r1, =0x00000c86
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080115DE
-_08011522:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011532
- movs r0, 0x4
- strb r0, [r1]
-_08011532:
- ldr r1, =0x00000c86
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _08011544
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
-_08011544:
- ldr r0, =gUnknown_082ED7FC
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080115DE
- adds r0, r4, 0
- bl sub_8011170
- b _080115DE
- .pool
-_08011570:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, =gUnknown_082ED814
- movs r1, 0x5
- movs r2, 0x5
- bl nullsub_5
- b _080115DE
- .pool
-_0801158C:
- ldr r1, =gUnknown_03005000
- adds r2, r1, 0
- adds r2, 0xF0
- movs r0, 0x3
- strb r0, [r2]
- ldr r2, =0x00000c3c
- adds r1, r2
- ldrb r0, [r1]
- movs r0, 0x1
- strb r0, [r1]
- b _080115DE
- .pool
-_080115AC:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- b _080115DA
- .pool
-_080115C4:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- adds r0, r4, 0
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000cdb
- adds r0, r1
- ldrb r1, [r0]
-_080115DA:
- movs r1, 0x1
-_080115DC:
- strb r1, [r0]
-_080115DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011404
-
- thumb_func_start sub_80115EC
-sub_80115EC: @ 80115EC
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r2, 0
- movs r6, 0x1
- ldr r0, =gUnknown_03005000
- ldr r4, =0x00000cea
- adds r1, r0, r4
- movs r5, 0
- movs r4, 0xFF
-_080115FE:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r6
- cmp r0, 0
- beq _08011610
- strb r5, [r1]
- ldrb r0, [r1, 0x4]
- orrs r0, r4
- strb r0, [r1, 0x4]
-_08011610:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x3
- ble _080115FE
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80115EC
-
- thumb_func_start sub_8011628
-sub_8011628: @ 8011628
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x1
- ldr r6, =gUnknown_03007890
- movs r7, 0x7F
-_08011636:
- adds r0, r5, 0
- asrs r0, r2
- ands r0, r4
- cmp r0, 0
- beq _0801165C
- lsls r1, r2, 5
- adds r1, 0x14
- ldr r0, [r6]
- adds r0, r1
- ldrb r1, [r0, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0x45
- bne _0801165C
- adds r0, r4, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_0801165C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _08011636
- adds r0, r3, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011628
-
- thumb_func_start sub_8011674
-sub_8011674: @ 8011674
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x25
- bne _08011680
- b _080118EC
-_08011680:
- cmp r4, 0x25
- bgt _080116C2
- cmp r4, 0x14
- bne _0801168A
- b _08011804
-_0801168A:
- cmp r4, 0x14
- bgt _080116A2
- cmp r4, 0x11
- beq _08011722
- cmp r4, 0x11
- ble _08011698
- b _08011A42
-_08011698:
- cmp r4, 0
- beq _0801170C
- cmp r4, 0x10
- beq _08011718
- b _08011A42
-_080116A2:
- cmp r4, 0x22
- bne _080116A8
- b _08011868
-_080116A8:
- cmp r4, 0x22
- bgt _080116B4
- cmp r4, 0x20
- bne _080116B2
- b _08011850
-_080116B2:
- b _08011A42
-_080116B4:
- cmp r4, 0x23
- bne _080116BA
- b _08011884
-_080116BA:
- cmp r4, 0x24
- bne _080116C0
- b _080118BA
-_080116C0:
- b _08011A42
-_080116C2:
- cmp r4, 0x44
- bgt _080116F2
- cmp r4, 0x42
- blt _080116CC
- b _08011A42
-_080116CC:
- cmp r4, 0x32
- bne _080116D2
- b _08011914
-_080116D2:
- cmp r4, 0x32
- bgt _080116E4
- cmp r4, 0x30
- bne _080116DC
- b _08011940
-_080116DC:
- cmp r4, 0x31
- bne _080116E2
- b _080118F6
-_080116E2:
- b _08011A42
-_080116E4:
- cmp r4, 0x33
- bne _080116EA
- b _08011948
-_080116EA:
- cmp r4, 0x40
- bne _080116F0
- b _080119FC
-_080116F0:
- b _08011A42
-_080116F2:
- cmp r4, 0xF3
- bne _080116F8
- b _08011A0C
-_080116F8:
- cmp r4, 0xF3
- bgt _08011704
- cmp r4, 0xF0
- bge _08011702
- b _08011A42
-_08011702:
- b _08011A28
-_08011704:
- cmp r4, 0xFF
- bne _0801170A
- b _08011A28
-_0801170A:
- b _08011A42
-_0801170C:
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011718:
- movs r0, 0x4
- movs r1, 0
- bl sub_8011A64
- b _08011A42
-_08011722:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- bne _080117DC
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000cd9
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080117DC
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_8011628
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080117A6
- adds r0, r4, 0
- bl sub_800E87C
- movs r2, 0x1
- mov r12, r2
- mov r1, r12
- lsls r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r7, =0x00000ce6
- adds r6, r5, r7
- ldrb r2, [r6]
- cmp r2, 0
- bne _08011798
- ldr r0, =0x00000ce8
- adds r3, r5, r0
- ldrb r0, [r3]
- cmp r0, 0
- bne _08011798
- subs r7, 0x1
- adds r0, r5, r7
- strb r1, [r0]
- eors r1, r4
- orrs r1, r2
- strb r1, [r6]
- mov r0, r12
- strb r0, [r3]
- b _080117A6
- .pool
-_08011798:
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce6
- adds r0, r1
- ldrb r2, [r0]
- adds r1, r4, 0
- orrs r1, r2
- strb r1, [r0]
-_080117A6:
- ldr r0, =gUnknown_03004140
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080117F6
- ldr r2, =gUnknown_03005000
- ldr r7, =0x00000ce3
- adds r3, r2, r7
- adds r0, r4, 0
- eors r0, r1
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =0x00000ce4
- adds r2, r0
- movs r0, 0x2
- strb r0, [r2]
- b _080117F6
- .pool
-_080117DC:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x54
- bne _080117F6
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0]
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_080117F6:
- ldr r0, =gUnknown_03004140
- ldrh r0, [r0, 0x14]
- bl sub_80115EC
- b _08011A42
- .pool
-_08011804:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x45
- beq _08011836
- ldr r4, =gUnknown_03004140
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- bls _08011836
- ldrb r0, [r4, 0x14]
- bl sub_800E87C
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldrb r0, [r4]
- eors r1, r0
- adds r0, r1, 0
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
-_08011836:
- ldr r1, =gUnknown_03005000
- ldrh r0, [r1, 0x4]
- cmp r0, 0xF
- beq _08011840
- b _08011A42
-_08011840:
- movs r0, 0x10
- strh r0, [r1, 0x4]
- b _08011A42
- .pool
-_08011850:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r2, =0x00000ccd
- adds r0, r2
- b _08011A40
- .pool
-_08011868:
- ldr r0, =gUnknown_03005000
- ldr r1, =gUnknown_03004140
- ldrh r1, [r1, 0x14]
- ldr r7, =0x00000c3e
- adds r0, r7
- ldrb r2, [r0]
- b _08011A40
- .pool
-_08011884:
- ldr r1, =gUnknown_03005000
- movs r0, 0x12
- strh r0, [r1, 0x4]
- ldr r0, =0x00000ccf
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- bhi _080118B0
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- b _08011A42
- .pool
-_080118B0:
- movs r0, 0x2
- movs r1, 0x23
- bl sub_8011A64
- b _08011A42
-_080118BA:
- ldr r4, =gUnknown_03005000
- movs r0, 0xD
- strh r0, [r4, 0x4]
- movs r0, 0x3
- movs r1, 0
- bl sub_8011A64
- ldr r1, =0x00000c3e
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, =0x00000c3f
- adds r4, r2
- movs r0, 0x10
- adds r2, r4, 0
- movs r3, 0x46
- bl rfu_setRecvBuffer
- b _08011A42
- .pool
-_080118EC:
- movs r0, 0x2
- movs r1, 0x25
- bl sub_8011A64
- b _08011A42
-_080118F6:
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0]
- ldrh r0, [r0, 0x14]
- ands r1, r0
- cmp r1, 0
- bne _08011904
- b _08011A42
-_08011904:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x1
- b _08011A40
- .pool
-_08011914:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801192A
- b _08011A42
-_0801192A:
- ldr r7, =0x00000c3c
- adds r0, r2, r7
- ldrb r1, [r0]
- movs r1, 0x1
- b _08011A40
- .pool
-_08011940:
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- movs r1, 0x2
- strb r1, [r0]
-_08011948:
- ldr r2, =gUnknown_03005000
- adds r1, r2, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08011958
- movs r0, 0x4
- strb r0, [r1]
-_08011958:
- ldrb r0, [r2, 0xC]
- cmp r0, 0x1
- bne _08011996
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- ldr r0, =0x00000ce2
- adds r2, r0
- ldr r0, =gUnknown_03004140
- ldrb r1, [r0, 0x14]
- ldrb r0, [r2]
- bics r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _08011990
- adds r0, r4, 0
- bl sub_8011170
- b _080119B4
- .pool
-_08011990:
- bl sub_80111FC
- b _080119B4
-_08011996:
- ldr r1, =0x00000ce4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080119B4
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080119B4
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0
- bl sub_800C27C
-_080119B4:
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080119DA
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080119DA
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080119DA
- ldr r1, =gUnknown_03005000
- movs r0, 0x11
- strh r0, [r1, 0x4]
-_080119DA:
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8011A64
- b _08011A42
- .pool
-_080119FC:
- ldr r0, =gUnknown_03005000
- ldr r2, =0x00000ce3
- adds r0, r2
- b _08011A3E
- .pool
-_08011A0C:
- movs r0, 0x1
- movs r1, 0xF3
- bl sub_8011A64
- movs r0, 0xF3
- bl sub_8011170
- ldr r0, =gUnknown_03005000
- adds r0, 0xEF
- movs r1, 0x1
- b _08011A40
- .pool
-_08011A28:
- adds r0, r4, 0
- bl sub_8011170
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8011A64
- ldr r0, =gUnknown_03005000
- ldr r7, =0x00000cdb
- adds r0, r7
- ldrb r1, [r0]
-_08011A3E:
- movs r1, 0
-_08011A40:
- strb r1, [r0]
-_08011A42:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011674
-
- thumb_func_start sub_8011A50
-sub_8011A50: @ 8011A50
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce4
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A50
-
- thumb_func_start sub_8011A64
-sub_8011A64: @ 8011A64
- ldr r2, =gUnknown_03005000
- adds r3, r2, 0
- adds r3, 0xF1
- strb r0, [r3]
- strh r1, [r2, 0xA]
- bx lr
- .pool
- thumb_func_end sub_8011A64
-
- thumb_func_start sub_8011A74
-sub_8011A74: @ 8011A74
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A74
-
- thumb_func_start sub_8011A80
-sub_8011A80: @ 8011A80
- push {lr}
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x1
- bls _08011A94
- movs r0, 0
- b _08011A96
-_08011A94:
- movs r0, 0x1
-_08011A96:
- pop {r1}
- bx r1
- thumb_func_end sub_8011A80
-
- thumb_func_start sub_8011A9C
-sub_8011A9C: @ 8011A9C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_8011A9C
-
- thumb_func_start sub_8011AB0
-sub_8011AB0: @ 8011AB0
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- bx lr
- .pool
- thumb_func_end sub_8011AB0
-
- thumb_func_start LinkVSync
-LinkVSync: @ 8011ABC
- push {lr}
- bl rfu_syncVBlank_
- pop {r0}
- bx r0
- thumb_func_end LinkVSync
-
- thumb_func_start sub_8011AC8
-sub_8011AC8: @ 8011AC8
- push {lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r1, =gUnknown_03003090
- ldr r2, =0x05000014
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AC8
-
- thumb_func_start sub_8011AE8
-sub_8011AE8: @ 8011AE8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8011AE8
-
- thumb_func_start sub_8011AFC
-sub_8011AFC: @ 8011AFC
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- bl ResetPaletteFade
- ldr r0, =sub_8011AE8
- bl SetVBlankCallback
- bl sub_80093CC
- lsls r0, 24
- cmp r0, 0
- beq _08011B70
- ldr r1, =gUnknown_020229C6
- ldr r2, =0x00001111
- adds r0, r2, 0
- strh r0, [r1]
- bl sub_800B488
- bl sub_8009734
- ldr r0, =gMain
- ldrh r0, [r0, 0x24]
- bl SeedRng
- movs r4, 0
-_08011B38:
- bl Random
- ldr r1, =gSaveBlock2Ptr
- ldr r1, [r1]
- adds r1, 0xA
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _08011B38
- movs r1, 0xAA
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- bl sub_8011BA4
- ldr r0, =sub_8011BF8
- bl SetMainCallback2
-_08011B70:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011AFC
-
- thumb_func_start sub_8011B90
-sub_8011B90: @ 8011B90
- push {lr}
- ldr r0, =sub_800EB44
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011B90
-
- thumb_func_start sub_8011BA4
-sub_8011BA4: @ 8011BA4
- push {r4,lr}
- ldr r4, =nullsub_89
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08011BC2
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- ldr r1, =gUnknown_03005000
- adds r1, 0x66
- strb r0, [r1]
-_08011BC2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BA4
-
- thumb_func_start sub_8011BD0
-sub_8011BD0: @ 8011BD0
- push {lr}
- ldr r0, =nullsub_89
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011BEA
- ldr r0, =gUnknown_03005000
- adds r0, 0x66
- ldrb r0, [r0]
- bl DestroyTask
-_08011BEA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011BD0
-
- thumb_func_start sub_8011BF8
-sub_8011BF8: @ 8011BF8
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8011BF8
-
- thumb_func_start sub_8011C10
-sub_8011C10: @ 8011C10
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r1, =gUnknown_03005000
- movs r0, 0x1
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_801120C
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldr r0, =gUnknown_082ED620
- subs r4, 0x1
- adds r4, r0
- ldrb r0, [r4]
- strh r0, [r2, 0x2]
- bl sub_800EE78
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C10
-
- thumb_func_start sub_8011C5C
-sub_8011C5C: @ 8011C5C
- push {lr}
- ldr r1, =gUnknown_03005000
- movs r0, 0
- strb r0, [r1, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011404
- ldr r1, =sub_800ED34
- bl sub_800BF4C
- bl sub_800EF00
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C5C
-
- thumb_func_start sub_8011C84
-sub_8011C84: @ 8011C84
- push {r4-r7,lr}
- ldr r4, =gUnknown_03005000
- movs r5, 0
- movs r0, 0x2
- strb r0, [r4, 0xC]
- bl sub_8010F48
- ldr r0, =sub_8011674
- movs r1, 0
- bl sub_800BF4C
- ldr r2, =gUnknown_02022B2C
- adds r1, r2, 0
- ldr r0, =gUnknown_082ED608
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- strb r5, [r2, 0x11]
- movs r0, 0x96
- lsls r0, 2
- strh r0, [r2, 0x12]
- ldr r0, =sub_800EB44
- movs r1, 0x1
- bl CreateTask
- adds r4, 0x67
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011C84
-
- thumb_func_start sub_8011CD8
-sub_8011CD8: @ 8011CD8
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_8011CD8
-
- thumb_func_start sub_8011CE4
-sub_8011CE4: @ 8011CE4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- movs r0, 0xFF
- mov r9, r0
- movs r7, 0
- ldr r1, =gUnknown_03007890
- mov r8, r1
-_08011D02:
- lsls r4, r7, 5
- adds r5, r4, 0
- adds r5, 0x14
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- adds r0, 0x8
- bl sub_8011CD8
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrh r0, [r0, 0x18]
- bl sub_8010454
- cmp r0, 0
- beq _08011D4C
- mov r0, r8
- ldr r1, [r0]
- adds r1, r5
- adds r1, 0x15
- ldr r0, [sp]
- bl StringCompare
- cmp r0, 0
- bne _08011D4C
- cmp r10, r6
- bne _08011D4C
- mov r9, r7
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- bne _08011D56
-_08011D4C:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _08011D02
-_08011D56:
- mov r0, r9
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8011CE4
-
- thumb_func_start sub_8011D6C
-sub_8011D6C: @ 8011D6C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- bl rfu_REQ_disconnect
- bl rfu_waitREQComplete
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000ce2
- adds r5, r4, r0
- ldrb r0, [r5]
- bics r0, r6
- strb r0, [r5]
- ldr r1, =0x00000cda
- adds r6, r4, r1
- ldrb r1, [r6]
- movs r0, 0x1
- bl rfu_clearSlot
- ldrb r0, [r5]
- ldr r1, =0x00000c87
- adds r4, r1
- adds r1, r4, 0
- movs r2, 0x46
- bl rfu_UNI_setSendData
- ldrb r0, [r5]
- bl sub_800E87C
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011D6C
-
- thumb_func_start sub_8011DC0
-sub_8011DC0: @ 8011DC0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_8011CE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- beq _08011DDA
- movs r0, 0x1
- lsls r0, r1
- bl sub_8011D6C
-_08011DDA:
- pop {r0}
- bx r0
- thumb_func_end sub_8011DC0
-
- thumb_func_start sub_8011DE0
-sub_8011DE0: @ 8011DE0
- push {r4-r6,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08011E20
- movs r3, 0
- movs r2, 0
- ldr r5, =gUnknown_03005CDE
- adds r6, r5, 0x4
-_08011DF0:
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, r4
- bne _08011E0E
- ldrb r0, [r6]
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08011E0E
- adds r0, r1, 0
- lsls r0, r2
- orrs r3, r0
- lsls r0, r3, 24
- lsrs r3, r0, 24
-_08011E0E:
- adds r2, 0x1
- cmp r2, 0x3
- ble _08011DF0
- cmp r3, 0
- beq _08011E20
- adds r0, r3, 0
- movs r1, 0x2
- bl sub_8011E94
-_08011E20:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011DE0
-
- thumb_func_start sub_8011E2C
-sub_8011E2C: @ 8011E2C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, =gUnknown_03003110
- ldrh r0, [r6]
- cmp r0, 0
- bne _08011E7A
- ldr r5, =gUnknown_03005000
- ldr r1, =0x00000ce8
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08011E7A
- movs r0, 0xED
- lsls r0, 8
- bl sub_800FD14
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- strh r1, [r6, 0x2]
- ldrh r1, [r0, 0xA]
- strh r1, [r6, 0x4]
- ldr r1, =gUnknown_082ED695
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r1, [r5, 0xD]
- ldrb r0, [r0]
- subs r1, r0
- strb r1, [r5, 0xD]
- ldrb r0, [r5, 0xD]
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_08011E7A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011E2C
-
- thumb_func_start sub_8011E94
-sub_8011E94: @ 8011E94
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r5, =sub_8011E2C
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _08011ECC
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- b _08011EDC
- .pool
-_08011ECC:
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- orrs r4, r0
- strh r4, [r1, 0x8]
-_08011EDC:
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011E94
-
- thumb_func_start sub_8011EF4
-sub_8011EF4: @ 8011EF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- bl sub_800EE94
- lsls r0, 24
- cmp r0, 0
- beq _08011FA4
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08011F8C
- ldr r0, =gUnknown_03007890
- ldr r0, [r0]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x16]
- cmp r0, 0xFF
- beq _08011F5C
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- bl sub_800EEBC
- cmp r0, 0
- beq _08011FAA
- b _08011F84
- .pool
-_08011F5C:
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r5, 0x7F
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x15
- beq _08011FA4
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x16
- beq _08011FA4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
-_08011F84:
- adds r0, r6, 0
- bl DestroyTask
- b _08011FAA
-_08011F8C:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c3d
- adds r0, r1
- strb r2, [r0]
- b _08011FAA
- .pool
-_08011FA4:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_08011FAA:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF0
- ble _08011FC2
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r6, 0
- bl DestroyTask
-_08011FC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8011EF4
-
- thumb_func_start sub_8011FC8
-sub_8011FC8: @ 8011FC8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- ldr r0, =gUnknown_03005000
- adds r0, 0xF1
- movs r1, 0
- strb r1, [r0]
- ldr r0, =sub_8011EF4
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, =gTasks + 0x8
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- strh r5, [r4, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8011FC8
-
- thumb_func_start sub_801200C
-sub_801200C: @ 801200C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- bl sub_800F7DC
- ldrb r1, [r0, 0xA]
- movs r2, 0x7F
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- bne _08012032
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x45
- beq _08012092
-_0801202E:
- movs r0, 0x1
- b _08012094
-_08012032:
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x40
- bne _0801202E
- cmp r5, 0x44
- bne _08012092
- ldr r5, =gUnknown_0300510A
- ldrh r0, [r5, 0x8]
- ldr r3, =0x000003ff
- adds r2, r3, 0
- ands r2, r0
- movs r0, 0xCE
- lsls r0, 1
- cmp r2, r0
- bne _08012068
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- beq _08012092
- b _0801202E
- .pool
-_08012068:
- ldrh r1, [r4, 0x8]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, r2
- bne _0801202E
- ldrb r2, [r4, 0xB]
- movs r0, 0xFE
- ldrb r3, [r5, 0xB]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _0801202E
- ldrb r2, [r4, 0x9]
- movs r0, 0xFC
- ldrb r3, [r5, 0x9]
- adds r1, r0, 0
- ands r1, r2
- ands r0, r3
- cmp r1, r0
- bne _0801202E
-_08012092:
- movs r0, 0
-_08012094:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801200C
-
- thumb_func_start sub_801209C
-sub_801209C: @ 801209C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- mov r8, r5
- ldr r6, =gUnknown_03005000
- adds r0, r6, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080120BA
- adds r0, r5, 0
- bl DestroyTask
-_080120BA:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- ble _080120E4
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- adds r0, r5, 0
- bl DestroyTask
-_080120E4:
- ldr r1, =0x00000ccd
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801217C
- ldr r0, =gUnknown_03004140
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0801217C
- movs r2, 0x86
- lsls r2, 1
- adds r0, r6, r2
- bl sub_8011CD8
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r2, =0x00000119
- adds r0, r6, r2
- bl sub_8011CE4
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _0801217C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- ldr r7, =gUnknown_03007890
- lsls r4, r2, 5
- adds r2, r4, 0
- adds r2, 0x14
- ldr r1, [r7]
- adds r1, r2
- adds r1, 0x6
- bl sub_801200C
- cmp r0, 0
- bne _0801216C
- ldr r0, [r7]
- adds r1, r0, r4
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _0801217C
- ldrh r0, [r1, 0x14]
- movs r1, 0x5A
- bl sub_800C12C
- lsls r0, 24
- cmp r0, 0
- bne _0801217C
- movs r0, 0xA
- strh r0, [r6, 0x4]
- adds r0, r5, 0
- bl DestroyTask
- b _0801217C
- .pool
-_0801216C:
- movs r1, 0xE0
- lsls r1, 7
- movs r0, 0x2
- bl sub_8011A64
- mov r0, r8
- bl DestroyTask
-_0801217C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801209C
-
- thumb_func_start sub_8012188
-sub_8012188: @ 8012188
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r6, =gUnknown_03005000
- ldr r1, =0x00000ccf
- adds r0, r6, r1
- movs r7, 0
- strb r7, [r0]
- adds r0, r6, 0
- adds r0, 0xF1
- strb r7, [r0]
- ldr r1, =0x00000119
- adds r0, r6, r1
- adds r1, r3, 0
- bl StringCopy
- movs r1, 0x85
- lsls r1, 1
- adds r0, r6, r1
- adds r1, r5, 0
- movs r2, 0xD
- bl memcpy
- bl sub_800D658
- ldr r0, =sub_801209C
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- ldr r0, =sub_800EB44
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r4, 0x45
- bne _08012210
- cmp r1, 0xFF
- beq _0801221E
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x16]
- b _0801221E
- .pool
-_08012210:
- cmp r2, 0xFF
- beq _0801221E
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- strh r7, [r0, 0x16]
-_0801221E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012188
-
- thumb_func_start sub_8012224
-sub_8012224: @ 8012224
- push {lr}
- ldr r0, =gUnknown_03005000
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08012238
- movs r0, 0
- b _0801223A
- .pool
-_08012238:
- movs r0, 0x1
-_0801223A:
- pop {r1}
- bx r1
- thumb_func_end sub_8012224
-
- thumb_func_start sub_8012240
-sub_8012240: @ 8012240
- push {r4,lr}
- movs r1, 0
- ldr r0, =gUnknown_03004140
- ldrb r2, [r0]
- ldr r4, =gUnknown_03005CD1
- movs r3, 0x1
-_0801224C:
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0801226C
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0801226C
- movs r0, 0
- b _08012274
- .pool
-_0801226C:
- adds r1, 0x1
- cmp r1, 0x3
- ble _0801224C
- movs r0, 0x1
-_08012274:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8012240
-
- thumb_func_start sub_801227C
-sub_801227C: @ 801227C
- push {r4,lr}
- movs r4, 0
-_08012280:
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r0, =gUnknown_082ED82C
- movs r1, 0
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0x13
- ble _08012280
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801227C
-
- thumb_func_start sub_801229C
-sub_801229C: @ 801229C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1C
- movs r2, 0x13
- movs r3, 0x2
- bl nullsub_13
- ldr r4, =gUnknown_03007890
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- movs r1, 0x14
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- movs r1, 0x17
- movs r2, 0x1
- movs r3, 0x1
- bl nullsub_13
- ldr r0, =gUnknown_03005000
- ldrb r0, [r0, 0xC]
- cmp r0, 0x1
- bne _08012378
- movs r6, 0
- adds r7, r4, 0
- movs r5, 0x14
-_080122E0:
- ldr r2, [r7]
- ldrb r0, [r2, 0x7]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801231E
- lsls r0, r6, 5
- adds r0, r2, r0
- ldrh r0, [r0, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x6
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, [r7]
- adds r0, r5
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_0801231E:
- adds r5, 0x20
- adds r6, 0x1
- cmp r6, 0x3
- ble _080122E0
- movs r6, 0
- ldr r0, =gUnknown_03005000
- mov r8, r0
-_0801232C:
- movs r5, 0
- adds r7, r6, 0x1
- lsls r0, r6, 3
- adds r2, r6, 0
- adds r2, 0xB
- subs r0, r6
- lsls r0, 1
- mov r1, r8
- adds r1, 0x14
- adds r4, r0, r1
- lsls r6, r2, 24
-_08012342:
- ldrb r0, [r4]
- lsls r1, r5, 25
- lsrs r1, 24
- lsrs r2, r6, 24
- movs r3, 0x2
- bl nullsub_13
- adds r4, 0x1
- adds r5, 0x1
- cmp r5, 0xD
- ble _08012342
- adds r6, r7, 0
- cmp r6, 0x3
- ble _0801232C
- ldr r0, =gUnknown_082ED868
- movs r1, 0x1
- movs r2, 0xF
- bl nullsub_5
- b _080124AA
- .pool
-_08012378:
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08012414
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08012414
- movs r6, 0
- movs r5, 0xC0
- lsls r5, 18
-_0801238C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r1, 0x80
- lsls r1, 17
- adds r5, r1
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801238C
- ldr r5, =gUnknown_03007890
- ldr r1, [r5]
- ldr r4, =gUnknown_03005000
- ldr r0, =0x00000c3e
- adds r4, r0
- ldrb r0, [r4]
- lsls r0, 5
- adds r1, r0
- ldrh r0, [r1, 0x18]
- movs r1, 0x1
- movs r2, 0x3
- movs r3, 0x4
- bl nullsub_13
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x6
- movs r1, 0x6
- movs r2, 0x3
- bl nullsub_5
- ldrb r1, [r4]
- lsls r1, 5
- adds r1, 0x14
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x15
- movs r1, 0x16
- movs r2, 0x3
- bl nullsub_5
- b _080124AA
- .pool
-_08012414:
- movs r6, 0
- ldr r1, =gUnknown_03007890
- ldr r0, [r1]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- bge _08012470
- adds r7, r1, 0
- movs r1, 0x14
- mov r8, r1
-_08012426:
- ldr r0, [r7]
- lsls r5, r6, 5
- adds r1, r0, r5
- ldrb r0, [r1, 0x16]
- cmp r0, 0xFF
- beq _08012462
- ldrh r0, [r1, 0x18]
- adds r4, r6, 0x3
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- adds r0, r5
- ldrh r0, [r0, 0x14]
- movs r1, 0x6
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, [r7]
- add r0, r8
- adds r0, 0x15
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
-_08012462:
- movs r0, 0x20
- add r8, r0
- adds r6, 0x1
- ldr r0, [r7]
- ldrb r0, [r0, 0x8]
- cmp r6, r0
- blt _08012426
-_08012470:
- cmp r6, 0x3
- bgt _080124AA
- lsls r0, r6, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r5, r0, r1
-_0801247C:
- lsrs r4, r5, 24
- movs r0, 0
- movs r1, 0x1
- adds r2, r4, 0
- movs r3, 0x4
- bl nullsub_13
- ldr r0, =gUnknown_082ED84B
- movs r1, 0x6
- adds r2, r4, 0
- bl nullsub_5
- ldr r0, =gUnknown_082ED85B
- movs r1, 0x16
- adds r2, r4, 0
- bl nullsub_5
- movs r0, 0x80
- lsls r0, 17
- adds r5, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0801247C
-_080124AA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801229C
-
- thumb_func_start sub_80124C0
-sub_80124C0: @ 80124C0
- ldr r0, =gUnknown_03005000
- ldr r1, =0x00000c1a
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124C0
-
- thumb_func_start sub_80124D4
-sub_80124D4: @ 80124D4
- ldr r0, =gUnknown_03005000
- ldr r1, =0x000009e6
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80124D4
-
- thumb_func_start nullsub_89
-nullsub_89: @ 80124E8
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_80124EC
-sub_80124EC: @ 80124EC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r6, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- lsls r4, 8
- movs r0, 0x90
- lsls r0, 6
- cmp r4, r0
- beq _08012588
- cmp r4, r0
- bgt _08012526
- movs r0, 0x80
- lsls r0, 2
- cmp r4, r0
- beq _08012538
- movs r0, 0x80
- lsls r0, 3
- cmp r4, r0
- beq _08012544
- b _080125A6
-_08012526:
- movs r0, 0x94
- lsls r0, 6
- cmp r4, r0
- beq _08012554
- movs r0, 0xD4
- lsls r0, 6
- cmp r4, r0
- beq _08012564
- b _080125A6
-_08012538:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- b _0801256C
- .pool
-_08012544:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x14
- b _0801256C
- .pool
-_08012554:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x28
- b _0801256C
- .pool
-_08012564:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x3C
-_0801256C:
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
- b _080125A6
- .pool
-_08012588:
- ldr r1, =gUnknown_082EDB60
- subs r0, r5, 0x1
- lsls r0, 2
- adds r1, 0x50
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
-_080125A6:
- adds r0, r6, 0
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80124EC
-
- thumb_func_start sub_80125BC
-sub_80125BC: @ 80125BC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gSaveBlock2Ptr
- ldr r2, [r6]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- mov r8, r0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_80173E0
- ldr r1, =gText_UnkCtrlCodeF907
- add r0, sp, 0x8
- bl StringCopy
- adds r5, r0, 0
- ldr r0, [r6]
- adds r0, 0xA
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- movs r0, 0x11
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- add r2, sp, 0x8
- movs r3, 0
- bl sub_80173E0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80125BC
-
- thumb_func_start sub_801262C
-sub_801262C: @ 801262C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _080126C0
- lsls r0, 2
- ldr r1, =_08012648
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08012648:
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126C0
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
- .4byte _080126B8
-_080126B8:
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingCommunication
- bl StringExpandPlaceholders
-_080126C0:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801262C
-
- thumb_func_start sub_80126CC
-sub_80126CC: @ 80126CC
- push {lr}
- subs r0, 0x9
- cmp r0, 0x12
- bhi _08012734
- lsls r0, 2
- ldr r1, =_080126E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080126E4:
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012730
- .4byte _08012730
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012734
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
- .4byte _08012730
-_08012730:
- movs r0, 0x1
- b _08012736
-_08012734:
- movs r0, 0
-_08012736:
- pop {r1}
- bx r1
- thumb_func_end sub_80126CC
-
- thumb_func_start BerryBlenderLinkBecomeLeader
-BerryBlenderLinkBecomeLeader: @ 801273C
- push {lr}
- ldr r0, =sub_8012780
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA0
- str r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- strb r0, [r1, 0xD]
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end BerryBlenderLinkBecomeLeader
-
- thumb_func_start sub_8012780
-sub_8012780: @ 8012780
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0xC]
- cmp r0, 0x1E
- bls _0801279A
- bl _08012F50
-_0801279A:
- lsls r0, 2
- ldr r1, =_080127AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080127AC:
- .4byte _08012828
- .4byte _08012F50
- .4byte _08012F50
- .4byte _080128A0
- .4byte _080129C8
- .4byte _08012A50
- .4byte _08012A6C
- .4byte _08012B8C
- .4byte _08012F50
- .4byte _08012AFC
- .4byte _08012B14
- .4byte _08012BA8
- .4byte _08012C5C
- .4byte _08012D5A
- .4byte _08012D78
- .4byte _08012D8A
- .4byte _08012DA8
- .4byte _08012E62
- .4byte _08012E78
- .4byte _08012DF2
- .4byte _08012E10
- .4byte _08012ED0
- .4byte _08012EFC
- .4byte _08012ED0
- .4byte _08012EE6
- .4byte _08012F50
- .4byte _08012F14
- .4byte _08012F50
- .4byte _08012F50
- .4byte _08012B54
- .4byte _08012EB6
-_08012828:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08012848
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08012848
- adds r0, r2, 0x1
- strh r0, [r3]
-_08012848:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F00C4
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- strb r0, [r2]
- ldr r4, =gUnknown_02022C2D
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsrs r0, 8
- strb r0, [r4]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl sub_8009734
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- bl sub_8011C10
- movs r0, 0x3
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_080128A0:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6, 0x8]
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x5
- bl sub_8017580
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x10
- bl sub_800DF90
- ldr r1, [r6]
- movs r3, 0
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- subs r0, 0x4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r6]
- strb r3, [r0, 0x1B]
- ldr r0, [r6, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- strb r0, [r6, 0x17]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0x10]
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- blt _08012938
- cmp r1, 0x4
- ble _08012928
- cmp r1, 0x5
- beq _08012930
- b _08012938
- .pool
-_08012928:
- ldr r0, =gUnknown_082F011C
- b _08012932
- .pool
-_08012930:
- ldr r0, =gUnknown_082F0124
-_08012932:
- bl AddWindow
- strb r0, [r6, 0xF]
-_08012938:
- ldr r0, =gUnknown_082F012C
- bl AddWindow
- strb r0, [r6, 0x11]
- ldrb r0, [r6, 0x10]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x10]
- ldr r2, =gUnknown_082EDBC4
- movs r3, 0x1
- mov r8, r3
- str r3, [sp]
- movs r4, 0x4
- str r4, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0x10]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xF]
- movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, =gUnknown_082F015C
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xF]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0x12]
- ldrb r0, [r6, 0x11]
- movs r1, 0
- bl sub_81973FC
- ldrb r0, [r6, 0x11]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x11]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r5, r8
- strb r5, [r6, 0x13]
- strb r4, [r6, 0xC]
- b _08012F50
- .pool
-_080129C8:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012A2C
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012A18
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _08012A18
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingLink
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A18:
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingCommunication
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A2C:
- ldr r0, =gStringVar4
- ldrb r1, [r4]
- bl sub_801262C
-_08012A34:
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- movs r0, 0x5
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A50:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012A62
- b _08012F50
-_08012A62:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A6C:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0xA
- bl sub_801320C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08012AA8
- ldrb r0, [r6, 0x13]
- cmp r0, 0x1
- bne _08012A90
- movs r0, 0x17
- b _08012AA6
- .pool
-_08012A90:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012AA4
- movs r0, 0x1E
- b _08012AA6
- .pool
-_08012AA4:
- movs r0, 0x13
-_08012AA6:
- strb r0, [r6, 0xC]
-_08012AA8:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012ADE
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012ADE
- movs r4, 0xF
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08012ADE
- bl sub_8012240
- cmp r0, 0
- beq _08012ADE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08012ADE
- strb r4, [r6, 0xC]
- bl sub_800EF38
-_08012ADE:
- ldrb r0, [r6, 0xC]
- cmp r0, 0x6
- beq _08012AE6
- b _08012F50
-_08012AE6:
- bl sub_80105EC
- cmp r0, 0
- bne _08012AF0
- b _08012F50
-_08012AF0:
- b _08012C56
- .pool
-_08012AFC:
- bl sub_80105EC
- cmp r0, 0
- beq _08012B06
- b _08012F50
-_08012B06:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- b _08012F50
-_08012B14:
- movs r3, 0
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x2
- bne _08012B24
- movs r3, 0x1
-_08012B24:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B3C
- b _08012F50
-_08012B3C:
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- b _08012E5C
- .pool
-_08012B54:
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x2
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r3, r0, 31
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B7E
- b _08012F50
-_08012B7E:
- movs r0, 0x15
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012B8C:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B9E
- b _08012F50
-_08012B9E:
- movs r0, 0xB
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012BA8:
- adds r4, r6, 0
- adds r4, 0xD
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_801064C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012C28
- cmp r1, r0
- bgt _08012BEC
- subs r0, 0x2
- cmp r1, r0
- beq _08012C56
- b _08012F50
-_08012BEC:
- cmp r1, 0
- beq _08012BF6
- cmp r1, 0x1
- beq _08012C28
- b _08012F50
-_08012BF6:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- movs r0, 0x5
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x5
- b _08012C4C
-_08012C28:
- movs r0, 0x6
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x6
-_08012C4C:
- bl sub_8010688
- movs r0, 0xC
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C56:
- movs r0, 0x9
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C5C:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_8010714
- cmp r0, 0x1
- bne _08012D4A
- ldrb r0, [r6, 0x19]
- cmp r0, 0x5
- bne _08012D04
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x1B]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- ldrb r0, [r6, 0x13]
- adds r0, 0x1
- strb r0, [r6, 0x13]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- movs r3, 0xF
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0
- ands r0, r1
- cmp r2, r0
- bne _08012D40
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _08012CBC
- cmp r2, 0x4
- bne _08012CC4
-_08012CBC:
- strb r3, [r6, 0xC]
- b _08012CE0
- .pool
-_08012CC4:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- subs r2, 0x20
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EDC9C
- bl StringExpandPlaceholders
- movs r0, 0xD
- strb r0, [r6, 0xC]
-_08012CE0:
- bl sub_800EF38
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- b _08012D44
- .pool
-_08012D04:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011DC0
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- ldrb r2, [r1, 0x1A]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r6]
- bl sub_8013398
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
-_08012D40:
- movs r0, 0x4
- strb r0, [r6, 0xC]
-_08012D44:
- movs r0, 0
- strb r0, [r6, 0x19]
- b _08012F50
-_08012D4A:
- cmp r0, 0x2
- beq _08012D50
- b _08012F50
-_08012D50:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _08012E5C
-_08012D5A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D6C
- b _08012F50
-_08012D6C:
- movs r0, 0xE
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012D78:
- ldrb r0, [r6, 0xE]
- adds r0, 0x1
- strb r0, [r6, 0xE]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08012D88
- b _08012F50
-_08012D88:
- b _08012DCE
-_08012D8A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC5C
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D9C
- b _08012F50
-_08012D9C:
- movs r0, 0x10
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DA8:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012DCE
- cmp r1, 0
- bgt _08012DC8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012DD4
- b _08012F50
-_08012DC8:
- cmp r1, 0x1
- beq _08012DD4
- b _08012F50
-_08012DCE:
- movs r0, 0x11
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DD4:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012DEC
- movs r0, 0x1E
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DEC:
- movs r0, 0x13
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DF2:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC78
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012E04
- b _08012F50
-_08012E04:
- movs r0, 0x14
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E10:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012EC6
- cmp r1, 0
- bgt _08012E30
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012E36
- b _08012F50
-_08012E30:
- cmp r1, 0x1
- beq _08012E36
- b _08012F50
-_08012E36:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _08012E4C
- movs r0, 0xF
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E4C:
- movs r3, 0xF
- ldrb r1, [r6, 0x13]
- adds r0, r3, 0
- ands r0, r2
- cmp r1, r0
- bne _08012E5C
- strb r3, [r6, 0xC]
- b _08012F50
-_08012E5C:
- movs r0, 0x4
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E62:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1D
- bl sub_801320C
- lsls r0, 24
- cmp r0, 0
- bne _08012F50
- movs r0, 0x12
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E78:
- bl sub_800EF1C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08012EAE
- movs r0, 0
- bl sub_800EF58
- cmp r0, 0
- beq _08012E94
- movs r0, 0x1A
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E94:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- bls _08012F50
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- movs r0, 0
- strb r0, [r6, 0xD]
- b _08012F50
-_08012EAE:
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- strb r1, [r6, 0xD]
- b _08012F50
-_08012EB6:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDD58
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08012F50
-_08012EC6:
- movs r0, 0x17
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012ED0:
- bl sub_800E084
- bl sub_800EDD4
- adds r0, r6, 0
- bl sub_8012F64
- ldrb r0, [r6, 0xC]
- adds r0, 0x1
- strb r0, [r6, 0xC]
- b _08012F50
-_08012EE6:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08012F50
- .pool
-_08012EFC:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x8
- strh r0, [r1]
- b _08012F50
- .pool
-_08012F14:
- bl sub_8011A80
- cmp r0, 0
- beq _08012F22
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- b _08012F50
-_08012F22:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012F50
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- bl sub_80126CC
- cmp r0, 0
- beq _08012F3A
- bl sub_801103C
-_08012F3A:
- movs r0, 0x1
- bl sub_8011068
- bl sub_80149C4
- adds r0, r6, 0
- bl sub_8012F64
- adds r0, r4, 0
- bl DestroyTask
-_08012F50:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012780
-
- thumb_func_start sub_8012F64
-sub_8012F64: @ 8012F64
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x11]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x11]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4, 0x12]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldrb r0, [r4, 0x10]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0xF]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4, 0x11]
- bl RemoveWindow
- ldrb r0, [r4, 0xF]
- bl RemoveWindow
- ldrb r0, [r4, 0x10]
- bl RemoveWindow
- ldrb r0, [r4, 0x17]
- bl DestroyTask
- ldr r0, [r4, 0x8]
- bl Free
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8012F64
-
- thumb_func_start sub_8012FC4
-sub_8012FC4: @ 8012FC4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013070
- lsls r0, 2
- ldr r1, =_08012FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08012FE0:
- .4byte _08013050
- .4byte _08013050
- .4byte _08013068
- .4byte _08013050
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013050
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013058
- .4byte _08013058
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013050
-_08013050:
- ldr r1, =gUnknown_082EDBE8
- b _0801305A
- .pool
-_08013058:
- ldr r1, =gUnknown_082EDC0C
-_0801305A:
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013070
- .pool
-_08013068:
- ldr r1, =gUnknown_082EDC34
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013070:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012FC4
-
- thumb_func_start sub_8013078
-sub_8013078: @ 8013078
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x44
- beq _08013098
- cmp r1, 0x44
- bgt _0801308E
- cmp r1, 0x41
- beq _08013098
- b _080130AA
-_0801308E:
- cmp r2, 0x45
- beq _080130A4
- cmp r2, 0x48
- beq _080130A4
- b _080130AA
-_08013098:
- ldr r1, =gUnknown_082EE560
- bl StringExpandPlaceholders
- b _080130AA
- .pool
-_080130A4:
- ldr r1, =gUnknown_082EE57C
- bl StringExpandPlaceholders
-_080130AA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013078
-
- thumb_func_start sub_80130B4
-sub_80130B4: @ 80130B4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013158
- lsls r0, 2
- ldr r1, =_080130D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080130D0:
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013140
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013140
-_08013140:
- ldr r1, =gUnknown_082EFC3C
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013158
- .pool
-_08013150:
- ldr r1, =gUnknown_082EFC54
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013158:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80130B4
-
- thumb_func_start sub_8013160
-sub_8013160: @ 8013160
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013204
- lsls r0, 2
- ldr r1, =_0801317C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801317C:
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131EC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131EC
-_080131EC:
- ldr r1, =gUnknown_082EDDF4
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013204
- .pool
-_080131FC:
- ldr r1, =gUnknown_082EDE0C
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013204:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013160
-
- thumb_func_start sub_801320C
-sub_801320C: @ 801320C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, [r4]
- bl sub_80132D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08013228
- cmp r0, 0x2
- beq _0801325C
- b _08013270
-_08013228:
- movs r0, 0x2
- bl PlaySE
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- ldr r0, =gStringVar2
- ldrb r2, [r4, 0x13]
- lsls r2, 5
- ldr r1, [r4]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_02022C2C
- ldrb r1, [r1]
- bl sub_8012FC4
- strb r6, [r4, 0xC]
- b _08013270
- .pool
-_0801325C:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- strb r5, [r4, 0xC]
- movs r0, 0x1
- b _08013272
-_08013270:
- movs r0, 0
-_08013272:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801320C
-
- thumb_func_start sub_8013278
-sub_8013278: @ 8013278
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02022C30
- ldr r3, [r0]
- movs r2, 0
- ldr r1, [r3]
- lsls r0, r4, 5
- adds r1, r0
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _080132A8
- cmp r0, 0x2
- beq _080132B2
- b _080132B4
- .pool
-_080132A8:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _080132B4
- movs r2, 0x2
- b _080132B4
-_080132B2:
- movs r2, 0x1
-_080132B4:
- lsls r0, r4, 5
- ldr r3, [r3]
- adds r3, r0
- str r2, [sp]
- lsls r0, r4, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r6, 0
- bl sub_80178A0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013278
-
- thumb_func_start sub_80132D4
-sub_80132D4: @ 80132D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- movs r0, 0
- mov r8, r0
- movs r3, 0x1
-_080132E8:
- ldr r0, [r5]
- lsls r6, r3, 5
- adds r2, r0, r6
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- mov r9, r0
- cmp r0, 0x1
- bne _08013348
- ldr r1, [r5, 0x4]
- adds r0, r2, 0
- str r3, [sp]
- bl sub_80176E4
- adds r4, r0, 0
- ldr r3, [sp]
- cmp r4, 0xFF
- beq _08013330
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r1, r6
- adds r0, r2
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r5]
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x18]
- b _08013348
- .pool
-_08013330:
- ldr r2, [r5]
- adds r2, r6
- ldrb r1, [r2, 0x1A]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2, 0x1A]
- movs r7, 0x2
- mov r8, r7
-_08013348:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _080132E8
- movs r6, 0
- movs r4, 0x3
-_08013356:
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- adds r1, r6
- movs r2, 0x5
- bl sub_8017734
- adds r6, 0x1C
- subs r4, 0x1
- ldr r0, [r5]
- cmp r4, 0
- bge _08013356
- mov r1, r8
- cmp r1, 0x2
- beq _08013388
- adds r1, r0, 0
- movs r4, 0x4
-_08013376:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013380
- movs r2, 0x1
- mov r8, r2
-_08013380:
- adds r1, 0x20
- subs r4, 0x1
- cmp r4, 0
- bge _08013376
-_08013388:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80132D4
-
- thumb_func_start sub_8013398
-sub_8013398: @ 8013398
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- movs r3, 0
-_080133A8:
- ldr r0, [r4, 0x8]
- lsls r2, r3, 5
- ldr r1, [r4]
- adds r0, r2
- adds r1, r2
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r2,r5,r7}
- stm r0!, {r2,r5,r7}
- ldm r1!, {r6,r7}
- stm r0!, {r6,r7}
- adds r3, 0x1
- ldr r0, [r4, 0x8]
- ldr r1, [r4]
- cmp r3, 0x4
- ble _080133A8
- movs r5, 0
- mov r8, r1
- mov r9, r0
- movs r3, 0x4
-_080133D0:
- mov r1, r9
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _080133F2
- lsls r0, r5, 5
- add r0, r8
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6}
- stm r0!, {r2,r6}
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080133F2:
- movs r7, 0x20
- add r9, r7
- subs r3, 0x1
- cmp r3, 0
- bge _080133D0
- mov r10, r5
- cmp r5, 0x4
- bhi _08013454
- ldr r0, =gUnknown_082F045C
- mov r9, r0
- movs r1, 0
- mov r12, r1
- movs r2, 0x4
- negs r2, r2
- mov r8, r2
-_08013410:
- ldr r1, [r4]
- lsls r3, r5, 5
- adds r1, r3
- mov r0, r9
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r0, [r4]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x18]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r4]
- adds r0, r3
- mov r6, r12
- strb r6, [r0, 0x1B]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08013410
-_08013454:
- movs r3, 0
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r1, 0x1B]
- cmp r0, 0x40
- bne _08013474
- mov r10, r3
- b _08013494
- .pool
-_08013474:
- adds r3, 0x1
- cmp r3, 0x4
- bgt _08013494
- lsls r0, r3, 5
- adds r2, r1, r0
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r2, 0x1B]
- cmp r0, 0x40
- bne _08013474
- lsls r0, r3, 24
- lsrs r0, 24
- mov r10, r0
-_08013494:
- mov r0, r10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8013398
-
- thumb_func_start BerryBlenderLinkJoinGroup
-BerryBlenderLinkJoinGroup: @ 80134A4
- push {lr}
- ldr r0, =sub_80134E8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x8]
- strb r0, [r1, 0x9]
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end BerryBlenderLinkJoinGroup
-
- thumb_func_start sub_80134E8
-sub_80134E8: @ 80134E8
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0x8]
- cmp r0, 0x17
- bls _080134FC
- b _08013B82
-_080134FC:
- lsls r0, 2
- ldr r1, =_08013510
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013510:
- .4byte _08013570
- .4byte _080135E0
- .4byte _0801360C
- .4byte _080136D8
- .4byte _08013B82
- .4byte _08013788
- .4byte _080137C4
- .4byte _08013A10
- .4byte _08013A2C
- .4byte _08013A7A
- .4byte _08013A8C
- .4byte _08013B14
- .4byte _08013A8C
- .4byte _08013AE4
- .4byte _08013A8C
- .4byte _08013B24
- .4byte _08013B82
- .4byte _08013B82
- .4byte _08013A8C
- .4byte _08013B44
- .4byte _08013A8C
- .4byte _08013B78
- .4byte _08013B82
- .4byte _08013B68
-_08013570:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08013590
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08013590
- adds r0, r2, 0x1
- strh r0, [r3]
-_08013590:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F0530
- ldrh r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl sub_8009734
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080135E0:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r2, =gUnknown_082EFB70
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080135FC
- b _08013B82
-_080135FC:
- movs r0, 0x2
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_0801360C:
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r6, 0x4]
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- bl sub_8016FC0
- movs r4, 0
- strb r0, [r6, 0x11]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0xC]
- ldr r0, =gUnknown_082F0174
- bl AddWindow
- strb r0, [r6, 0xB]
- ldr r0, =gUnknown_082F017C
- bl AddWindow
- strb r0, [r6, 0xD]
- ldrb r0, [r6, 0xC]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0xC]
- ldr r2, =gUnknown_082EF7DC
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0xC]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xC]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0xE]
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl sub_81973FC
- ldrb r0, [r6, 0xD]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xD]
- bl sub_80125BC
- ldrb r0, [r6, 0xD]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- strb r4, [r6, 0xF]
- movs r0, 0x3
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080136D8:
- bl sub_8013E44
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080136F2
- cmp r4, 0x1
- beq _080136EA
- b _08013A72
-_080136EA:
- movs r0, 0x2
- bl PlaySE
- b _08013A72
-_080136F2:
- ldrb r0, [r6, 0xE]
- bl ListMenuHandleInput
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08013770
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08013770
- ldr r0, [r6]
- lsls r1, r4, 5
- adds r0, r1
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013768
- lsrs r0, r1, 7
- cmp r0, 0
- bne _08013768
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013B8C
- adds r1, r0, 0
- cmp r1, 0
- bne _08013744
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013BD8
- movs r0, 0x5
- b _08013756
- .pool
-_08013744:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EDD50
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x12
-_08013756:
- strb r0, [r6, 0x8]
- movs r0, 0x6E
- bl PlaySE
- b _08013B82
- .pool
-_08013768:
- movs r0, 0x7
- bl PlaySE
- b _08013B82
-_08013770:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801377E
- b _08013B82
-_0801377E:
- movs r0, 0xA
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013788:
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80130B4
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r4, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080137A6
- b _08013B82
-_080137A6:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0xF]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- b _08013A86
- .pool
-_080137C4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801387A
- ldr r4, =gUnknown_02022C2C
- ldr r1, [r6]
- ldrb r0, [r6, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _0801387A
- lsls r0, 2
- ldr r1, =_08013804
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013804:
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
-_08013874:
- movs r0, 0x14
- strb r0, [r6, 0x8]
- b _08013B82
-_0801387A:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bls _0801388A
- b _080139EC
-_0801388A:
- lsls r0, 2
- ldr r1, =_08013898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013898:
- .4byte _080138BC
- .4byte _080138C2
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080138C8
- .4byte _080138C2
- .4byte _08013934
- .4byte _080139EC
- .4byte _080138C2
-_080138BC:
- movs r0, 0xC
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C2:
- movs r0, 0xE
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C8:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8013160
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080138E6
- b _080139EC
-_080138E6:
- ldrb r0, [r4]
- cmp r0, 0x1C
- beq _080138F0
- cmp r0, 0xE
- bne _08013904
-_080138F0:
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- b _080139EC
- .pool
-_08013904:
- movs r0, 0x7
- movs r1, 0
- bl sub_8011A64
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r1, =gUnknown_082EDE48
- adds r0, r5, 0
- bl StringExpandPlaceholders
- b _080139EC
- .pool
-_08013934:
- ldrb r0, [r6, 0x15]
- adds r2, r0, 0
- cmp r2, 0xF0
- bls _0801395C
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _080139EC
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- movs r0, 0
- b _080139EA
- .pool
-_0801395C:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _080139E8
- lsls r0, 2
- ldr r1, =_08013978
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013978:
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
-_080139E8:
- adds r0, r2, 0x1
-_080139EA:
- strb r0, [r6, 0x15]
-_080139EC:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- beq _080139F8
- b _08013B82
-_080139F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08013A06
- b _08013B82
-_08013A06:
- movs r0, 0x7
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A10:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gUnknown_082EDE64
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08013A22
- b _08013B82
-_08013A22:
- movs r0, 0x8
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A2C:
- adds r4, r6, 0
- adds r4, 0x9
- bl sub_8011A74
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08013A6A
- cmp r1, r0
- bgt _08013A58
- subs r0, 0x2
- cmp r1, r0
- beq _08013A6E
- b _08013B82
-_08013A58:
- cmp r1, 0
- beq _08013A62
- cmp r1, 0x1
- beq _08013A6A
- b _08013B82
-_08013A62:
- bl sub_80106D4
- movs r0, 0x9
- b _08013A70
-_08013A6A:
- movs r0, 0x5
- b _08013A70
-_08013A6E:
- movs r0, 0x6
-_08013A70:
- strb r0, [r6, 0x8]
-_08013A72:
- ldrb r0, [r6, 0xE]
- bl sub_81AE70C
- b _08013B82
-_08013A7A:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- bne _08013A86
- b _08013B82
-_08013A86:
- movs r0, 0x6
- strb r0, [r6, 0x8]
- b _08013B82
-_08013A8C:
- ldrb r0, [r6, 0xD]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r6, 0xE]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- ldrb r0, [r6, 0xC]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r6, 0xD]
- bl RemoveWindow
- ldrb r0, [r6, 0xB]
- bl RemoveWindow
- ldrb r0, [r6, 0xC]
- bl RemoveWindow
- ldrb r0, [r6, 0x11]
- bl DestroyTask
- ldr r0, [r6]
- bl Free
- ldr r0, [r6, 0x4]
- bl Free
- ldrb r0, [r6, 0x8]
- adds r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
-_08013AE4:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x6
- b _08013B58
- .pool
-_08013B14:
- bl sub_800E084
- ldr r0, =gSpecialVar_Result
- movs r1, 0x5
- b _08013B58
- .pool
-_08013B24:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- b _08013B4A
- .pool
-_08013B44:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
-_08013B4A:
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x8
-_08013B58:
- strh r1, [r0]
- movs r0, 0x17
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013B68:
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80173D4
- bl sub_800EDD4
- b _08013B82
-_08013B78:
- bl sub_80149C4
- adds r0, r4, 0
- bl DestroyTask
-_08013B82:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80134E8
-
- thumb_func_start sub_8013B8C
-sub_8013B8C: @ 8013B8C
- push {lr}
- lsls r1, 5
- ldr r0, [r0]
- adds r3, r0, r1
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08013BCE
- ldrb r1, [r3, 0x1]
- movs r0, 0x3C
- ands r0, r1
- cmp r0, 0xC
- beq _08013BCE
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x9]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08013BC4
- movs r0, 0x1
- b _08013BD4
- .pool
-_08013BC4:
- ldrb r1, [r3]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08013BD2
-_08013BCE:
- movs r0, 0
- b _08013BD4
-_08013BD2:
- movs r0, 0x2
-_08013BD4:
- pop {r1}
- bx r1
- thumb_func_end sub_8013B8C
-
- thumb_func_start sub_8013BD8
-sub_8013BD8: @ 8013BD8
- push {r4,lr}
- adds r4, r0, 0
- strb r1, [r4, 0xF]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- ldrb r0, [r4, 0xE]
- bl sub_81AE70C
- ldr r0, =gStringVar1
- ldrb r2, [r4, 0xF]
- lsls r2, 5
- ldr r1, [r4]
- adds r1, r2
- bl sub_8018404
- ldr r1, =gUnknown_082F0530
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x1
- bl sub_8011090
- ldrb r1, [r4, 0xF]
- lsls r1, 5
- ldr r0, [r4]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013BD8
-
- thumb_func_start sub_8013C40
-sub_8013C40: @ 8013C40
- push {lr}
- ldr r0, =sub_8013C7C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, =gTasks + 0x8
- adds r1, r2
- str r1, [r3]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- ldr r2, =gUnknown_03000DA4
- str r1, [r2]
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013C40
-
- thumb_func_start sub_8013C7C
-sub_8013C7C: @ 8013C7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- ldrb r0, [r4, 0x8]
- cmp r0, 0xB
- bhi _08013D80
- lsls r0, 2
- ldr r1, =_08013CA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013CA0:
- .4byte _08013CD0
- .4byte _08013D80
- .4byte _08013D04
- .4byte _08013D28
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D80
- .4byte _08013D58
- .4byte _08013D76
-_08013CD0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl sub_8009734
- bl sub_8011C5C
- movs r0, 0x1
- bl sub_80111B0
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r4, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- movs r0, 0x2
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D04:
- ldr r0, [r4, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r4]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r4, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- movs r1, 0
- strb r0, [r4, 0x11]
- strb r1, [r4, 0xF]
- movs r0, 0x3
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D28:
- bl sub_8013E44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08013D3A
- movs r0, 0x2
- bl PlaySE
-_08013D3A:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0xFF
- bne _08013D80
- movs r0, 0xA
- strb r0, [r4, 0x8]
- b _08013D80
- .pool
-_08013D58:
- ldrb r0, [r4, 0x11]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- bl sub_800EDD4
- ldrb r0, [r4, 0x8]
- adds r0, 0x1
- strb r0, [r4, 0x8]
- b _08013D80
-_08013D76:
- bl sub_800EDD4
- adds r0, r5, 0
- bl DestroyTask
-_08013D80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8013C7C
-
- thumb_func_start sub_8013D88
-sub_8013D88: @ 8013D88
- push {lr}
- adds r2, r0, 0
- cmp r1, 0xFF
- bne _08013D94
-_08013D90:
- movs r0, 0x1
- b _08013DB8
-_08013D94:
- cmp r1, 0x16
- bhi _08013DB6
- ldr r0, =gUnknown_082F04D8
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- b _08013DB0
- .pool
-_08013DA8:
- ldrb r0, [r1]
- cmp r0, r2
- beq _08013D90
- adds r1, 0x1
-_08013DB0:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08013DA8
-_08013DB6:
- movs r0, 0
-_08013DB8:
- pop {r1}
- bx r1
- thumb_func_end sub_8013D88
-
- thumb_func_start sub_8013DBC
-sub_8013DBC: @ 8013DBC
- push {lr}
- ldr r0, [r0]
- lsls r1, 5
- adds r1, r0, r1
- ldrb r2, [r1, 0x1A]
- lsls r0, r2, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013DEE
- ldrb r0, [r1, 0xA]
- lsrs r0, 7
- cmp r0, 0
- beq _08013DDA
- movs r0, 0x3
- b _08013DF0
-_08013DDA:
- lsls r0, r2, 29
- cmp r0, 0
- bge _08013DE4
- movs r0, 0x1
- b _08013DF0
-_08013DE4:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013DEE
- movs r0, 0x2
- b _08013DF0
-_08013DEE:
- movs r0, 0
-_08013DF0:
- pop {r1}
- bx r1
- thumb_func_end sub_8013DBC
-
- thumb_func_start sub_8013DF4
-sub_8013DF4: @ 8013DF4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, =gUnknown_02022C30
- ldr r0, [r0]
- mov r8, r0
- bl sub_8013DBC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 5
- mov r2, r8
- ldr r3, [r2]
- adds r3, r1
- str r0, [sp]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x8
- adds r2, r6, 0
- bl sub_80177B8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013DF4
-
- thumb_func_start sub_8013E44
-sub_8013E44: @ 8013E44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- movs r7, 0
- movs r3, 0
-_08013E54:
- ldr r0, [r6]
- lsls r5, r3, 5
- adds r2, r0, r5
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- mov r8, r5
- cmp r0, 0
- beq _08013F20
- ldr r1, [r6, 0x4]
- adds r0, r2, 0
- str r3, [sp]
- bl sub_80176E4
- adds r4, r0, 0
- ldr r3, [sp]
- cmp r4, 0xFF
- beq _08013EEE
- ldr r0, [r6]
- adds r2, r0, r5
- ldrb r1, [r2, 0x1A]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013ECC
- lsls r0, r4, 3
- subs r0, r4
- lsls r4, r0, 2
- ldr r1, [r6, 0x4]
- adds r1, r4
- adds r0, r2, 0
- bl sub_8017678
- ldr r3, [sp]
- cmp r0, 0
- beq _08013EB0
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- adds r1, r5
- adds r0, r4
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- b _08013EDA
- .pool
-_08013EB0:
- ldr r0, [r6]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013EE4
- subs r0, 0x1
- strb r0, [r1, 0x1B]
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0, 0x1B]
- cmp r0, 0
- bne _08013EE4
- movs r7, 0x2
- b _08013EE4
-_08013ECC:
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
-_08013EDA:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x40
- strb r1, [r0, 0x1B]
- movs r7, 0x1
-_08013EE4:
- ldr r0, [r6]
- add r0, r8
- movs r1, 0
- strh r1, [r0, 0x18]
- b _08013F20
-_08013EEE:
- ldr r0, [r6]
- adds r1, r0, r5
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x2
- beq _08013F20
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- ldr r0, [r6]
- adds r2, r0, r5
- ldrh r1, [r2, 0x18]
- ldr r0, =0x0000012b
- cmp r1, r0
- bls _08013F20
- ldrb r0, [r2, 0x1A]
- movs r7, 0x4
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x1A]
- movs r7, 0x2
-_08013F20:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _08013E54
- movs r5, 0
- movs r4, 0x3
-_08013F2E:
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- adds r1, r5
- movs r2, 0x10
- bl sub_8017734
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08013F44
- movs r7, 0x1
-_08013F44:
- adds r5, 0x1C
- subs r4, 0x1
- cmp r4, 0
- bge _08013F2E
- adds r0, r7, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013E44
-
- thumb_func_start sub_8013F60
-sub_8013F60: @ 8013F60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80773AC
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013F60
-
- thumb_func_start sub_8013F78
-sub_8013F78: @ 8013F78
- push {lr}
- ldr r0, =sub_8013F60
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_8013F78
-
- thumb_func_start sub_8013F90
-sub_8013F90: @ 8013F90
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_02022C40
- mov r8, r0
- bl GetMultiplayerId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8018120
- adds r7, r0, 0
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08013FFC
- cmp r0, 0x1
- bgt _08013FD4
- cmp r0, 0
- beq _08013FDE
- b _080140BC
- .pool
-_08013FD4:
- cmp r0, 0x2
- beq _08014038
- cmp r0, 0x3
- beq _08014070
- b _080140BC
-_08013FDE:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r1, r0
- movs r0, 0
- movs r2, 0x64
- bl SendBlock
- b _080140BC
- .pool
-_08013FFC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080140BC
- bl GetMultiplayerId
- adds r1, r0, 0
- ldr r0, =gEnemyParty
- movs r2, 0x1
- eors r1, r2
- lsls r1, 24
- lsrs r1, 16
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- movs r0, 0x32
- bl IncrementGameStat
- bl ResetBlockReceivedFlags
- b _0801405A
- .pool
-_08014038:
- ldr r4, =gUnknown_020228C4
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002be0
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0xDC
- bl memcpy
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0xDC
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080140BC
-_0801405A:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080140BC
- .pool
-_08014070:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080140BC
- ldr r4, =gUnknown_020321C0
- bl GetMultiplayerId
- adds r1, r0, 0
- movs r0, 0x1
- eors r1, r0
- lsls r1, 24
- lsrs r1, 16
- ldr r0, =gBlockRecvBuffer
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0xD8
- bl memcpy
- bl ResetBlockReceivedFlags
- ldr r1, =gUnknown_02032298
- strb r7, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r1, =gMain
- ldr r0, =c2_exit_to_overworld_2_switch
- str r0, [r1, 0x8]
- ldr r0, =sub_807AE50
- bl SetMainCallback2
- mov r0, r8
- bl sub_801807C
- adds r0, r6, 0
- bl DestroyTask
-_080140BC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013F90
-
- thumb_func_start sub_80140E0
-sub_80140E0: @ 80140E0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08014104
- cmp r0, 0x1
- beq _0801411C
- b _0801419E
- .pool
-_08014104:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08014114
- movs r0, 0x2
- bl sub_800A4D8
-_08014114:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0801419E
-_0801411C:
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9D8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0801419E
- movs r4, 0
- ldr r5, =gLinkPlayers
- b _08014152
- .pool
-_08014138:
- lsls r1, r4, 8
- ldr r0, =gBlockRecvBuffer
- adds r3, r1, r0
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gUnknown_02039B58
- adds r0, r1
- ldrb r2, [r5]
- adds r1, r3, 0
- bl sub_80C3120
- adds r5, 0x1C
- adds r4, 0x1
-_08014152:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08014138
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08014190
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, =gBlockRecvBuffer
- adds r3, r0, r1
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r0, [r0]
- bl sub_801B94C
- b _08014194
- .pool
-_08014190:
- bl sub_801B940
-_08014194:
- bl ResetBlockReceivedFlags
- adds r0, r6, 0
- bl DestroyTask
-_0801419E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80140E0
-
- thumb_func_start sub_80141A4
-sub_80141A4: @ 80141A4
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080141C0
- cmp r0, 0x1
- beq _080141D4
- b _080141F2
- .pool
-_080141C0:
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080141F2
- .pool
-_080141D4:
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080141F2
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =c2_exit_to_overworld_2_switch
- bl sub_80C4E74
-_080141F2:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80141A4
-
- thumb_func_start sub_8014210
-sub_8014210: @ 8014210
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- bl sp000_heal_pokemon
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r5, =gLinkPlayers
- ldr r0, =0x00002211
- str r0, [r5, 0x14]
- bl GetMultiplayerId
- adds r4, r0, 0
- bl GetMultiplayerId
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- bl GetMultiplayerId
- adds r4, r0, 0
- bl GetMultiplayerId
- movs r2, 0x1
- eors r4, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r5
- eors r0, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x18]
- ldr r1, =gMain
- ldr r0, =sub_80B360C
- str r0, [r1, 0x8]
- ldr r0, =gBattleTypeFlags
- str r6, [r0]
- bl PlayBattleBGM
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014210
-
- thumb_func_start sub_8014290
-sub_8014290: @ 8014290
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, =0x00004087
- adds r1, r3, 0
- bl VarSet
- ldr r6, =gSaveBlock1Ptr
- ldr r1, [r6]
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- str r5, [sp]
- adds r3, r4, 0
- bl Overworld_SetWarpDestination
- ldr r0, [r6]
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- mov r3, r8
- bl saved_warp2_set_2
- bl warp_in
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014290
-
- thumb_func_start sub_8014304
-sub_8014304: @ 8014304
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- adds r6, r3, 0
- ldr r1, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r0, =gSpecialVar_0x8004
- strh r1, [r0]
- ldr r0, =0x00004087
- bl VarSet
- bl GetLinkPlayerCount
- ldr r1, =gUnknown_03005DB8
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03005DB4
- strb r0, [r1]
- bl sub_809D2BC
- lsls r4, 24
- asrs r4, 24
- lsls r5, 24
- asrs r5, 24
- movs r2, 0x1
- negs r2, r2
- mov r0, r8
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- lsls r6, 24
- asrs r6, 24
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- mov r3, r8
- bl Overworld_SetWarpDestination
- bl warp_in
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014304
-
- thumb_func_start sub_8014384
-sub_8014384: @ 8014384
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080143A0
- cmp r0, 0x1
- beq _080143B4
- b _080143C6
- .pool
-_080143A0:
- ldr r0, =sub_80140E0
- movs r1, 0x5
- bl CreateTask
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080143C6
- .pool
-_080143B4:
- ldr r0, =sub_80140E0
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080143C6
- ldr r0, =sub_8086074
- bl SetMainCallback2
-_080143C6:
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014384
-
- thumb_func_start sub_80143E4
-sub_80143E4: @ 80143E4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80C30A4
- cmp r5, 0
- beq _080143FE
- bl sub_801B39C
- adds r1, r4, 0
- adds r1, 0x60
- strh r0, [r1]
- b _08014404
-_080143FE:
- adds r0, r4, 0
- adds r0, 0x60
- strh r5, [r0]
-_08014404:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80143E4
-
- thumb_func_start sub_801440C
-sub_801440C: @ 801440C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_801B940
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0xE
- bhi _08014474
- lsls r0, 2
- ldr r1, =_08014434
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014434:
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014474
- .4byte _08014474
- .4byte _08014474
- .4byte _08014474
- .4byte _08014470
- .4byte _08014470
- .4byte _08014470
- .4byte _08014474
- .4byte _08014470
- .4byte _08014474
- .4byte _08014470
-_08014470:
- bl sub_800E3A8
-_08014474:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x50
- bls _08014480
- b _08014764
-_08014480:
- lsls r0, 2
- ldr r1, =_08014494
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014494:
- .4byte _080145F4
- .4byte _08014620
- .4byte _0801464C
- .4byte _08014678
- .4byte _080146D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146FC
- .4byte _08014714
- .4byte _08014734
- .4byte _0801474C
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014698
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _080145D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146C4
- .4byte _080146D8
- .4byte _08014764
- .4byte _08014764
- .4byte _080146FC
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _08014764
- .4byte _080145D8
-_080145D8:
- bl overworld_free_bg_tilemaps
- ldr r1, =gMain
- ldr r0, =sub_801AC54
- str r0, [r1, 0x8]
- movs r0, 0x3
- bl sub_81B8518
- b _08014764
- .pool
-_080145F4:
- bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_020228C4
- movs r1, 0x1
- bl sub_80143E4
- bl sp000_heal_pokemon
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x18
- movs r2, 0x6
- movs r3, 0x8
- b _080146B0
- .pool
-_08014620:
- bl overworld_free_bg_tilemaps
- bl sp000_heal_pokemon
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gUnknown_020228C4
- movs r1, 0x1
- bl sub_80143E4
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x18
- movs r2, 0x6
- movs r3, 0x8
- b _080146B0
- .pool
-_0801464C:
- bl overworld_free_bg_tilemaps
- bl sp000_heal_pokemon
- bl copy_player_party_to_sav1
- bl copy_bags_and_unk_data_from_save_blocks
- ldr r0, =gUnknown_020228C4
- movs r1, 0x1
- bl sub_80143E4
- movs r0, 0x5
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x1B
- movs r2, 0x5
- movs r3, 0x8
- b _080146B0
- .pool
-_08014678:
- ldr r0, =gUnknown_020228C4
- movs r1, 0x1
- bl sub_80143E4
- bl overworld_free_bg_tilemaps
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x19
- movs r2, 0x5
- movs r3, 0x8
- b _080146B0
- .pool
-_08014698:
- ldr r0, =gUnknown_020228C4
- movs r1, 0x1
- bl sub_80143E4
- bl overworld_free_bg_tilemaps
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x19
- movs r1, 0x1A
- movs r2, 0x8
- movs r3, 0x9
-_080146B0:
- bl sub_8014304
- ldr r0, =sub_8014384
- bl SetMainCallback2
- b _08014764
- .pool
-_080146C4:
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_8013F90
- movs r1, 0
- bl CreateTask
- b _08014764
- .pool
-_080146D8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080146E8
- bl sub_800ED10
- b _080146F6
-_080146E8:
- bl sub_800ED28
- movs r0, 0x45
- movs r1, 0
- movs r2, 0x1
- bl sub_8010F84
-_080146F6:
- bl sub_801DD98
- b _08014764
-_080146FC:
- ldr r0, =gUnknown_020228C4
- movs r1, 0
- bl sub_80143E4
- ldr r0, =sub_80141A4
- bl SetMainCallback2
- b _08014764
- .pool
-_08014714:
- movs r0, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8014290
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =c2_load_new_map
- bl sub_802A9A8
- b _08014764
- .pool
-_08014734:
- movs r0, 0x7
- movs r1, 0x9
- movs r2, 0x1
- bl sub_8014290
- ldr r0, =c2_load_new_map
- bl sub_8020C70
- b _08014764
- .pool
-_0801474C:
- movs r0, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8014290
- bl GetCursorSelectionMonId
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =c2_load_new_map
- bl sub_802493C
-_08014764:
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x44
- beq _0801477C
- bl ScriptContext2_Disable
-_0801477C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801440C
-
- thumb_func_start sub_8014790
-sub_8014790: @ 8014790
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r7, r0, r1
- ldr r0, =gUnknown_020228C4
- mov r9, r0
- movs r1, 0
- ldrsh r0, [r7, r1]
- mov r2, r9
- cmp r0, 0x8
- bls _080147B6
- b _080149B2
-_080147B6:
- lsls r0, 2
- ldr r1, =_080147CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080147CC:
- .4byte _080147F0
- .4byte _080148CC
- .4byte _080148E4
- .4byte _0801491E
- .4byte _08014934
- .4byte _0801494A
- .4byte _08014986
- .4byte _08014992
- .4byte _0801499C
-_080147F0:
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0xE
- cmp r0, 0xE
- bhi _080148C2
- lsls r0, 2
- ldr r1, =_08014818
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014818:
- .4byte _08014854
- .4byte _080148C2
- .4byte _080148B8
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148C2
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _080148B8
- .4byte _08014854
-_08014854:
- ldr r1, =gLinkPlayers
- ldr r0, =0x00002211
- str r0, [r1, 0x14]
- movs r2, 0
- mov r8, r2
- mov r0, r8
- strh r0, [r1, 0x18]
- movs r0, 0x2
- strh r0, [r1, 0x34]
- ldr r6, =gUnknown_0203CEF8
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, =gBattleScripting + 0x14
- adds r0, r4
- movs r1, 0xB
- bl GetMonData
- mov r1, r9
- strh r0, [r1]
- ldrb r0, [r6, 0x1]
- muls r0, r5
- adds r0, r4
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- mov r2, r9
- strh r0, [r2, 0x2]
- ldr r0, =gMain
- mov r1, r8
- str r1, [r0, 0x8]
- movs r0, 0x4
- strh r0, [r7]
- bl sub_800E3A8
- bl ResetBlockReceivedFlags
- b _080149B2
- .pool
-_080148B8:
- bl sub_800E3A8
- adds r0, r4, 0
- bl DestroyTask
-_080148C2:
- bl EnableBothScriptContexts
- movs r0, 0x1
- strh r0, [r7]
- b _080149B2
-_080148CC:
- bl ScriptContext1_IsScriptSetUp
- lsls r0, 24
- cmp r0, 0
- bne _080149B2
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- movs r0, 0x2
- strh r0, [r7]
- b _080149B2
-_080148E4:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080149B2
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- cmp r0, 0x1D
- bne _08014914
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, =sub_80773AC
- bl SetMainCallback2
- b _080149B2
- .pool
-_08014914:
- bl sub_800ADF8
- movs r0, 0x3
- strh r0, [r7]
- b _080149B2
-_0801491E:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080149B2
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80149D8
- b _080149B2
-_08014934:
- movs r0, 0
- adds r1, r2, 0
- movs r2, 0xE
- bl SendBlock
- lsls r0, 24
- cmp r0, 0
- beq _080149B2
- movs r0, 0x5
- strh r0, [r7]
- b _080149B2
-_0801494A:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080149B2
- bl ResetBlockReceivedFlags
- ldr r0, =gBlockRecvBuffer
- movs r2, 0x80
- lsls r2, 1
- adds r1, r0, r2
- bl sub_80B2AF4
- cmp r0, 0
- beq _08014980
- ldr r0, =gSpecialVar_Result
- movs r1, 0xB
- strh r1, [r0]
- movs r0, 0x7
- strh r0, [r7]
- b _080149B2
- .pool
-_08014980:
- movs r0, 0x6
- strh r0, [r7]
- b _080149B2
-_08014986:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- b _080149B2
-_08014992:
- bl sub_800AC34
- movs r0, 0x8
- strh r0, [r7]
- b _080149B2
-_0801499C:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080149B2
- bl sub_800E084
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080149B2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014790
-
- thumb_func_start sub_80149C4
-sub_80149C4: @ 80149C4
- push {lr}
- ldr r0, =sub_8014790
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80149C4
-
- thumb_func_start sub_80149D8
-sub_80149D8: @ 80149D8
- push {lr}
- ldr r0, =sub_801440C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80149D8
-
- thumb_func_start sub_8014A00
-sub_8014A00: @ 8014A00
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_8014A40
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- movs r2, 0
- strb r2, [r1, 0xC]
- strb r2, [r1, 0xD]
- strb r4, [r1, 0x18]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014A00
-
- thumb_func_start sub_8014A40
-sub_8014A40: @ 8014A40
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- ldrb r0, [r5, 0xC]
- cmp r0, 0x11
- bls _08014A54
- b _08014EF2
-_08014A54:
- lsls r0, 2
- ldr r1, =_08014A68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014A68:
- .4byte _08014AB0
- .4byte _08014AEC
- .4byte _08014BBC
- .4byte _08014BEC
- .4byte _08014BFC
- .4byte _08014C4C
- .4byte _08014C24
- .4byte _08014C52
- .4byte _08014CF2
- .4byte _08014DBC
- .4byte _08014DCC
- .4byte _08014DE2
- .4byte _08014DFA
- .4byte _08014E16
- .4byte _08014E4E
- .4byte _08014E74
- .4byte _08014EA8
- .4byte _08014EE2
-_08014AB0:
- ldr r1, =gUnknown_02022C2C
- ldrb r0, [r5, 0x18]
- strb r0, [r1]
- ldr r1, =gUnknown_02022C2D
- movs r0, 0x2
- strb r0, [r1]
- ldrb r0, [r5, 0x18]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- movs r0, 0
- movs r1, 0
- bl sub_8010FA0
- bl sub_800B488
- bl sub_8009734
- movs r0, 0x2
- bl sub_8011C10
- movs r0, 0x1
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014AEC:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0x4]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r5, 0x8]
- ldr r0, [r5, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r5]
- movs r1, 0x5
- bl sub_8017580
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x10
- bl sub_800DF90
- ldr r1, [r5]
- movs r3, 0
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- subs r0, 0x4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r5]
- strb r3, [r0, 0x1B]
- ldr r0, [r5, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- strb r0, [r5, 0x17]
- ldr r0, =gUnknown_082F011C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- ldr r0, =0xffff00ff
- ands r1, r0
- movs r0, 0xC0
- lsls r0, 4
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r5, 0xF]
- ldrb r0, [r5, 0xF]
- bl sub_8018784
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, =gUnknown_082F015C
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5, 0xF]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r5, 0x12]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- strb r0, [r5, 0x13]
- b _08014C42
- .pool
-_08014BBC:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gStringVar4
- ldrb r1, [r4]
- bl sub_801262C
- movs r0, 0x3
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014BEC:
- ldr r0, =gStringVar4
- bl sub_8018884
- movs r0, 0x4
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014BFC:
- adds r0, r5, 0
- movs r1, 0x5
- movs r2, 0x6
- bl sub_801320C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08014C14
- b _08014EF2
-_08014C14:
- movs r0, 0xD
- strb r0, [r5, 0xC]
- bl sub_800E084
- b _08014EF2
- .pool
-_08014C24:
- adds r0, r5, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDF40
- bl mevent_0814257C
- cmp r0, 0
- bne _08014C34
- b _08014EF2
-_08014C34:
- ldr r0, [r5]
- bl sub_8013398
- strb r0, [r5, 0x13]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
-_08014C42:
- movs r0, 0x2
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014C4C:
- movs r0, 0x7
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014C52:
- adds r0, r5, 0
- adds r0, 0xD
- adds r1, r5, 0
- adds r1, 0x14
- ldr r3, =gStringVar4
- movs r2, 0
- bl sub_8018B08
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- beq _08014C82
- cmp r4, 0
- bgt _08014C7C
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08014CC4
- b _08014EF2
- .pool
-_08014C7C:
- cmp r4, 0x1
- beq _08014CC4
- b _08014EF2
-_08014C82:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- strb r4, [r1, 0x1B]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- movs r0, 0x5
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- ldr r2, [r5]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x5
- b _08014CE8
-_08014CC4:
- movs r0, 0x6
- strb r0, [r5, 0x19]
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- ldr r2, [r5]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x6
-_08014CE8:
- bl sub_8010688
- movs r0, 0x8
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014CF2:
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r0, 0x2
- bl sub_8015658
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r5, 0x13]
- lsls r2, 5
- ldr r1, [r5]
- adds r1, r2
- adds r1, 0x10
- bl sub_8010714
- adds r4, r0, 0
- cmp r4, 0x1
- bne _08014DAA
- ldrb r0, [r5, 0x19]
- cmp r0, 0x5
- bne _08014D64
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x1B]
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- ldrb r0, [r5, 0x13]
- adds r0, 0x1
- strb r0, [r5, 0x13]
- ldr r0, =gStringVar1
- ldrb r2, [r5, 0x13]
- lsls r2, 5
- subs r2, 0x20
- ldr r1, [r5]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EDC9C
- bl StringExpandPlaceholders
- movs r0, 0x9
- strb r0, [r5, 0xC]
- bl sub_800EF38
- b _08014DA4
- .pool
-_08014D64:
- ldrb r1, [r5, 0x13]
- lsls r1, 5
- ldr r0, [r5]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011DC0
- ldr r1, [r5]
- ldrb r0, [r5, 0x13]
- lsls r0, 5
- adds r1, r0
- ldrb r2, [r1, 0x1A]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r5]
- bl sub_8013398
- ldrb r0, [r5, 0x12]
- bl sub_81AE70C
- movs r0, 0x2
- strb r0, [r5, 0xC]
-_08014DA4:
- movs r0, 0
- strb r0, [r5, 0x19]
- b _08014EF2
-_08014DAA:
- cmp r4, 0x2
- beq _08014DB0
- b _08014EF2
-_08014DB0:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- strb r4, [r5, 0xC]
- b _08014EF2
-_08014DBC:
- ldr r0, =gStringVar4
- bl sub_8018884
- movs r0, 0xA
- strb r0, [r5, 0xC]
- b _08014EF2
- .pool
-_08014DCC:
- ldrb r0, [r5, 0xE]
- adds r0, 0x1
- strb r0, [r5, 0xE]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08014DDC
- b _08014EF2
-_08014DDC:
- movs r0, 0xB
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014DE2:
- adds r0, r5, 0
- movs r1, 0x5
- movs r2, 0x6
- bl sub_801320C
- lsls r0, 24
- cmp r0, 0
- beq _08014DF4
- b _08014EF2
-_08014DF4:
- movs r0, 0xC
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014DFA:
- bl sub_800EF1C
- lsls r0, 24
- cmp r0, 0
- beq _08014E10
- movs r0, 0
- bl sub_800EF58
- movs r0, 0xF
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E10:
- movs r0, 0x6
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E16:
- bl sub_800E084
- bl sub_800EDD4
- ldrb r0, [r5, 0x12]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xF]
- bl RemoveWindow
- ldrb r0, [r5, 0x17]
- bl DestroyTask
- ldr r0, [r5, 0x8]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- b _08014EDA
-_08014E4E:
- adds r0, r5, 0
- adds r0, 0xD
- ldr r1, =gText_PleaseStartOver
- bl mevent_0814257C
- cmp r0, 0
- beq _08014EF2
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08014EF2
- .pool
-_08014E74:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08014E8C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08014E92
-_08014E8C:
- movs r0, 0xD
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014E92:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08014EF2
- movs r0, 0x1
- bl sub_8011068
- b _08014EDA
- .pool
-_08014EA8:
- ldrb r0, [r5, 0x12]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xF]
- bl RemoveWindow
- ldrb r0, [r5, 0x17]
- bl DestroyTask
- ldr r0, [r5, 0x8]
- bl Free
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- bl sub_800ADF8
-_08014EDA:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
- b _08014EF2
-_08014EE2:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08014EF2
- adds r0, r4, 0
- bl DestroyTask
-_08014EF2:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8014A40
-
- thumb_func_start sub_8014EFC
-sub_8014EFC: @ 8014EFC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_8014F48
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- subs r4, 0x15
- strb r4, [r1, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8014EFC
-
- thumb_func_start sub_8014F48
-sub_8014F48: @ 8014F48
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r7, [r0]
- ldrb r0, [r7, 0x8]
- cmp r0, 0xC
- bls _08014F5C
- b _080152A0
-_08014F5C:
- lsls r0, 2
- ldr r1, =_08014F70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08014F70:
- .4byte _08014FA4
- .4byte _08014FD8
- .4byte _08014FE8
- .4byte _080150B8
- .4byte _08015180
- .4byte _080151A4
- .4byte _08015204
- .4byte _08015260
- .4byte _08015204
- .4byte _0801523A
- .4byte _08015204
- .4byte _08015284
- .4byte _08015290
-_08014FA4:
- ldrb r0, [r7, 0x12]
- adds r0, 0x15
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl sub_8009734
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r7, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x8]
- b _080152A0
-_08014FD8:
- ldr r0, =gUnknown_082EF7F8
- bl sub_8018884
- movs r0, 0x2
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08014FE8:
- ldr r0, [r7, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r7]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r7, 0x4]
- ldrb r1, [r7, 0x12]
- adds r1, 0x7
- bl sub_8016FC0
- movs r6, 0
- strb r0, [r7, 0x11]
- ldr r0, =gUnknown_082F0174
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- ldr r5, =0xffff00ff
- ands r1, r5
- movs r4, 0xC0
- lsls r4, 4
- orrs r1, r4
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r7, 0xB]
- ldr r0, =gUnknown_082F017C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r4
- str r1, [r0, 0x4]
- bl AddWindow
- strb r0, [r7, 0xD]
- ldrb r0, [r7, 0xB]
- bl sub_8018784
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldrb r1, [r7, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r7, 0xE]
- ldrb r0, [r7, 0xD]
- bl sub_8018784
- ldrb r0, [r7, 0xD]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldrb r0, [r7, 0xD]
- bl PutWindowTilemap
- ldrb r0, [r7, 0xD]
- bl sub_80125BC
- ldrb r0, [r7, 0xD]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- strb r6, [r7, 0xF]
- movs r0, 0x3
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_080150B8:
- bl sub_8013E44
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080150D6
- cmp r2, 0x1
- bne _080150CE
- movs r0, 0x2
- bl PlaySE
-_080150CE:
- ldrb r0, [r7, 0xE]
- bl sub_81AE70C
- b _080152A0
-_080150D6:
- ldrb r0, [r7, 0xE]
- bl ListMenuHandleInput
- adds r2, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08015168
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08015168
- ldr r0, [r7]
- lsls r1, r2, 5
- adds r0, r1
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08015160
- lsrs r0, r1, 7
- cmp r0, 0
- bne _08015160
- strb r2, [r7, 0xF]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- ldrb r0, [r7, 0xE]
- bl sub_81AE70C
- ldr r0, =gStringVar1
- ldrb r2, [r7, 0xF]
- lsls r2, 5
- ldr r1, [r7]
- adds r1, r2
- bl sub_8018404
- ldrb r1, [r7, 0xF]
- lsls r1, 5
- ldr r0, [r7]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- movs r0, 0x6E
- bl PlaySE
- movs r0, 0x4
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08015160:
- movs r0, 0x7
- bl PlaySE
- b _080152A0
-_08015168:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08015176
- b _080152A0
-_08015176:
- movs r0, 0x6
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_08015180:
- ldr r0, =gUnknown_082EFC3C
- bl sub_8018884
- ldr r0, =gStringVar1
- ldrb r2, [r7, 0xF]
- lsls r2, 5
- ldr r1, [r7]
- adds r1, r2
- bl sub_8018404
- movs r0, 0x5
- strb r0, [r7, 0x8]
- b _080152A0
- .pool
-_080151A4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080151C2
- ldr r2, =gUnknown_02022C2C
- ldr r1, [r7]
- ldrb r0, [r7, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r2]
- movs r0, 0xA
- strb r0, [r7, 0x8]
-_080151C2:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _080151EE
- cmp r0, 0x5
- bgt _080151E4
- cmp r0, 0x2
- bgt _080152A0
- cmp r0, 0x1
- blt _080152A0
- b _080151E8
- .pool
-_080151E4:
- cmp r0, 0x6
- bne _080152A0
-_080151E8:
- movs r0, 0x8
- strb r0, [r7, 0x8]
- b _080152A0
-_080151EE:
- ldr r0, =gUnknown_082EDDF4
- bl sub_8018884
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _080152A0
- .pool
-_08015204:
- ldrb r0, [r7, 0xE]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r7, 0xD]
- bl RemoveWindow
- ldrb r0, [r7, 0xB]
- bl RemoveWindow
- ldrb r0, [r7, 0x11]
- bl DestroyTask
- ldr r0, [r7]
- bl Free
- ldr r0, [r7, 0x4]
- bl Free
- ldrb r0, [r7, 0x8]
- adds r0, 0x1
- strb r0, [r7, 0x8]
- b _080152A0
-_0801523A:
- adds r5, r7, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDF80
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl mevent_0814257C
- cmp r0, 0
- beq _080152A0
- bl sub_800E084
- b _0801526A
- .pool
-_08015260:
- bl sub_800E084
- ldr r0, =gText_PleaseStartOver
- bl sub_8018884
-_0801526A:
- adds r0, r6, 0
- bl DestroyTask
- bl sub_800EDD4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _080152A0
- .pool
-_08015284:
- ldrb r0, [r7, 0x8]
- adds r0, 0x1
- strb r0, [r7, 0x8]
- bl sub_800ADF8
- b _080152A0
-_08015290:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080152A0
- adds r0, r6, 0
- bl DestroyTask
-_080152A0:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8014F48
-
- thumb_func_start sub_80152A8
-sub_80152A8: @ 80152A8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =task00_081182DC
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r2, 0
- strb r2, [r1, 0x8]
- strb r2, [r1, 0x9]
- subs r4, 0x15
- strb r4, [r1, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80152A8
-
- thumb_func_start task00_081182DC
-task00_081182DC: @ 80152F4
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- ldrb r0, [r5, 0x8]
- cmp r0, 0xE
- bls _08015308
- b _08015604
-_08015308:
- lsls r0, 2
- ldr r1, =_0801531C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801531C:
- .4byte _08015358
- .4byte _08015386
- .4byte _08015398
- .4byte _08015420
- .4byte _080154E0
- .4byte _08015504
- .4byte _08015564
- .4byte _080155A8
- .4byte _08015564
- .4byte _0801559A
- .4byte _08015564
- .4byte _080155B4
- .4byte _08015564
- .4byte _080155E8
- .4byte _080155F4
-_08015358:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl sub_8009734
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r5, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x8]
- b _08015604
-_08015386:
- ldr r0, =gUnknown_082EFBC8
- bl sub_8018884
- movs r0, 0x2
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015398:
- ldr r0, [r5, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r5]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r5, 0x4]
- ldrb r1, [r5, 0x12]
- adds r1, 0x7
- bl sub_8016FF0
- strb r0, [r5, 0x11]
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015404
- ldr r0, =gUnknown_082F0174
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- bl sub_8019930
- lsls r0, 16
- ldr r2, =0x0000ffff
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- strb r0, [r5, 0xB]
- ldrb r0, [r5, 0xB]
- bl sub_8018784
- ldr r0, =gUnknown_03006310
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldrb r1, [r5, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r5, 0xE]
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08015404:
- movs r0, 0
- strb r0, [r5, 0xF]
- movs r0, 0x3
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015420:
- bl sub_8013E44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08015446
- cmp r0, 0x1
- bne _08015436
- movs r0, 0x2
- bl PlaySE
-_08015436:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- bne _0801543E
- b _08015604
-_0801543E:
- ldrb r0, [r5, 0xE]
- bl sub_81AE70C
- b _08015604
-_08015446:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015452
- ldrb r0, [r5, 0xE]
- bl ListMenuHandleInput
-_08015452:
- ldrb r0, [r5, 0x14]
- cmp r0, 0x78
- bls _080154C0
- ldr r2, [r5]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080154D4
- ldrb r1, [r2, 0xA]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080154D4
- ldrb r1, [r5, 0x12]
- adds r1, 0x7
- adds r0, r2, 0
- bl sub_8016F1C
- cmp r0, 0
- beq _080154B4
- strb r4, [r5, 0xF]
- strb r4, [r5, 0x14]
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl sub_800DFB4
- ldr r0, [r5]
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl sub_8015658
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011FC8
- movs r0, 0x6E
- bl PlaySE
- movs r0, 0x4
- strb r0, [r5, 0x8]
- b _080154D4
-_080154B4:
- movs r0, 0x16
- bl PlaySE
- movs r0, 0xA
- strb r0, [r5, 0x8]
- b _080154D4
-_080154C0:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080154D4
- movs r1, 0
- movs r0, 0x6
- strb r0, [r5, 0x8]
- strb r1, [r5, 0x14]
-_080154D4:
- ldrb r0, [r5, 0x14]
- adds r0, 0x1
- strb r0, [r5, 0x14]
- b _08015604
- .pool
-_080154E0:
- ldr r0, =gUnknown_082EFC90
- bl sub_8018884
- ldr r0, =gStringVar1
- ldrb r2, [r5, 0xF]
- lsls r2, 5
- ldr r1, [r5]
- adds r1, r2
- bl sub_8018404
- movs r0, 0x5
- strb r0, [r5, 0x8]
- b _08015604
- .pool
-_08015504:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08015522
- ldr r2, =gUnknown_02022C2C
- ldr r1, [r5]
- ldrb r0, [r5, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r2]
- movs r0, 0xC
- strb r0, [r5, 0x8]
-_08015522:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _0801554E
- cmp r0, 0x5
- bgt _08015544
- cmp r0, 0x2
- bgt _08015604
- cmp r0, 0x1
- blt _08015604
- b _08015548
- .pool
-_08015544:
- cmp r0, 0x6
- bne _08015604
-_08015548:
- movs r0, 0x8
- strb r0, [r5, 0x8]
- b _08015604
-_0801554E:
- ldr r0, =gUnknown_082EDEC4
- bl sub_8018884
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _08015604
- .pool
-_08015564:
- ldrb r0, [r5, 0x13]
- cmp r0, 0
- beq _08015580
- ldrb r0, [r5, 0xE]
- movs r1, 0
- movs r2, 0
- bl sub_81AE6C8
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r5, 0xB]
- bl RemoveWindow
-_08015580:
- ldrb r0, [r5, 0x11]
- bl DestroyTask
- ldr r0, [r5]
- bl Free
- ldr r0, [r5, 0x4]
- bl Free
- ldrb r0, [r5, 0x8]
- adds r0, 0x1
- strb r0, [r5, 0x8]
- b _08015604
-_0801559A:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gUnknown_082EDF04
- b _080155C2
- .pool
-_080155A8:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r1, =gText_WirelessSearchCanceled
- b _080155C2
- .pool
-_080155B4:
- adds r0, r5, 0
- adds r0, 0x9
- ldr r2, =gUnknown_082EFD58
- ldrb r1, [r5, 0x12]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
-_080155C2:
- bl mevent_0814257C
- cmp r0, 0
- beq _08015604
- bl sub_800E084
- adds r0, r4, 0
- bl DestroyTask
- bl sub_800EDD4
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08015604
- .pool
-_080155E8:
- ldrb r0, [r5, 0x8]
- adds r0, 0x1
- strb r0, [r5, 0x8]
- bl sub_800ADF8
- b _08015604
-_080155F4:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _08015604
- adds r0, r4, 0
- bl DestroyTask
-_08015604:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end task00_081182DC
-
- thumb_func_start UnionRoomSpecial
-UnionRoomSpecial: @ 801560C
- push {r4,lr}
- bl sub_8010F60
- ldr r0, =sub_80156E0
- movs r1, 0xA
- bl CreateTask
- ldr r4, =gUnknown_02022C30
- movs r0, 0x9B
- lsls r0, 2
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_03000DA8
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0x14]
- strb r1, [r0, 0x16]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
- movs r0, 0xD0
- movs r1, 0x1
- bl sub_819A2BC
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end UnionRoomSpecial
-
- thumb_func_start sub_8015658
-sub_8015658: @ 8015658
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- ldrb r0, [r0]
- orrs r0, r1
- bx lr
- thumb_func_end sub_8015658
-
- thumb_func_start sub_8015664
-sub_8015664: @ 8015664
- push {lr}
- adds r3, r1, 0
- ldr r1, =gUnknown_02022C30
- ldr r2, [r1]
- movs r1, 0x8
- strb r1, [r2, 0x14]
- strb r0, [r2, 0x15]
- ldr r0, =gStringVar4
- cmp r3, r0
- beq _0801567E
- adds r1, r3, 0
- bl StringExpandPlaceholders
-_0801567E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8015664
-
- thumb_func_start sub_801568C
-sub_801568C: @ 801568C
- push {lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02022C30
- ldr r1, [r0]
- movs r0, 0x1A
- strb r0, [r1, 0x14]
- ldr r0, =gStringVar4
- cmp r2, r0
- beq _080156A4
- adds r1, r2, 0
- bl StringExpandPlaceholders
-_080156A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_801568C
-
- thumb_func_start sub_80156B0
-sub_80156B0: @ 80156B0
- push {lr}
- ldr r3, =0x0201ff00
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r3, 0
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80156B0
-
- thumb_func_start sub_80156C8
-sub_80156C8: @ 80156C8
- push {lr}
- ldr r0, [r0]
- ldr r1, =0x0201ff00
- movs r2, 0x80
- lsls r2, 1
- bl memcpy
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80156C8
-
thumb_func_start sub_80156E0
sub_80156E0: @ 80156E0
push {r4-r7,lr}
@@ -23373,7 +151,7 @@ _08015878:
ldrh r2, [r2, 0xC]
bl sub_8010FCC
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C84
ldr r0, [r6, 0x8]
movs r1, 0x1
@@ -23720,7 +498,7 @@ _08015BBE:
bne _08015BCA
bl _08016878
_08015BCA:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
ldr r0, =sub_80140E0
@@ -23884,7 +662,7 @@ _08015D4C:
adds r1, r2
adds r1, r3
ldr r1, [r1]
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015D8C
@@ -23996,7 +774,7 @@ _08015E94:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015EA8
@@ -24247,7 +1025,7 @@ _080160DA:
bne _080160E4
b _08016878
_080160E4:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
movs r1, 0x1
bl sub_80143E4
ldr r0, =sub_80140E0
@@ -24269,7 +1047,7 @@ _08016118:
movs r0, 0x21
strb r0, [r6, 0x14]
ldr r0, =gStringVar1
- ldr r4, =gUnknown_02022A0C
+ ldr r4, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
adds r1, r4, 0
bl StringCopy
adds r0, r4, 0
@@ -24292,7 +1070,7 @@ _08016158:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016170
@@ -24610,7 +1388,7 @@ _0801645C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF20C
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801646E
@@ -24692,7 +1470,7 @@ _08016502:
ldr r1, =gFieldCallback
ldr r0, =sub_80AF128
str r0, [r1]
- ldr r1, =c2_exit_to_overworld_2_switch
+ ldr r1, =CB2_ReturnToField
movs r0, 0x8
bl sub_81B8904
b _08016878
@@ -24779,7 +1557,7 @@ _080165DC:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF5B8
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _080165EE
@@ -24800,7 +1578,7 @@ _08016610:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF1EC
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016622
@@ -24951,7 +1729,7 @@ _0801676C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF4C4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801677E
@@ -24990,7 +1768,7 @@ _0801677E:
ldr r1, =gFieldCallback
ldr r0, =sub_80AF128
str r0, [r1]
- ldr r1, =c2_exit_to_overworld_2_switch
+ ldr r1, =CB2_ReturnToField
movs r0, 0x9
bl sub_81B8904
adds r0, r6, 0
@@ -25029,7 +1807,7 @@ _08016838:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -25048,7 +1826,7 @@ _08016864:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -25076,13 +1854,13 @@ _08016894:
pop {r0}
bx r0
.pool
- thumb_func_end var_800D_set_xB
+thumb_func_end var_800D_set_xB
thumb_func_start sub_801689C
sub_801689C: @ 801689C
push {r4,r5,lr}
adds r2, r0, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
ldrh r5, [r3, 0x12]
adds r4, r5, 0
cmp r4, 0
@@ -25223,7 +2001,7 @@ _080169BE:
movs r2, 0
bl sub_8010F84
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011C84
movs r0, 0x1
bl sub_80111B0
@@ -25289,7 +2067,7 @@ _08016A4A:
ldr r0, [r5]
adds r0, r4
adds r0, 0x2
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
mov r1, sp
@@ -26036,7 +2814,7 @@ sub_8017020: @ 8017020
bl sub_81973A4
movs r0, 0
movs r1, 0x1
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r0, =gStringVar4
adds r1, r4, 0
bl StringExpandPlaceholders
@@ -26066,8 +2844,8 @@ _0801705E:
bx r1
thumb_func_end sub_801704C
- thumb_func_start sub_8017064
-sub_8017064: @ 8017064
+ thumb_func_start PrintOnTextbox
+PrintOnTextbox: @ 8017064
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -26081,7 +2859,7 @@ _08017076:
bl sub_81973A4
movs r0, 0
movs r1, 0x1
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r0, =gStringVar4
adds r1, r5, 0
bl StringExpandPlaceholders
@@ -26107,7 +2885,7 @@ _080170B0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8017064
+ thumb_func_end PrintOnTextbox
thumb_func_start sub_80170B8
sub_80170B8: @ 80170B8
@@ -26142,7 +2920,7 @@ _080170E0:
negs r0, r0
b _08017110
_080170F2:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
movs r2, 0x80
@@ -26173,7 +2951,7 @@ sub_8017118: @ 8017118
lsrs r4, 24
adds r0, r4, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
adds r0, r4, 0
movs r1, 0xFF
bl FillWindowPixelBuffer
@@ -26269,8 +3047,8 @@ _080171DC:
strb r0, [r5]
ldrb r0, [r5]
movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
+ bl NewMenuHelpers_DrawStdWindowFrame
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
ldm r1!, {r3,r4,r6}
@@ -26295,7 +3073,7 @@ _080171DC:
_08017228:
mov r3, r9
ldrb r0, [r3]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
mov r8, r0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -26306,7 +3084,7 @@ _08017228:
ldrb r0, [r4]
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldrb r0, [r5]
movs r1, 0x1
bl sub_819746C
@@ -26326,7 +3104,7 @@ _08017264:
ldrb r0, [r6]
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldrb r0, [r5]
movs r1, 0x1
bl sub_819746C
@@ -26382,8 +3160,8 @@ _080172C8:
strb r0, [r6]
ldrb r0, [r6]
movs r1, 0
- bl sub_81973FC
- ldr r0, =gUnknown_03006310
+ bl NewMenuHelpers_DrawStdWindowFrame
+ ldr r0, =gMultiuseListMenuTemplate
adds r2, r0, 0
ldr r1, [sp, 0x24]
ldm r1!, {r3,r4,r7}
@@ -26411,7 +3189,7 @@ _08017314:
_0801731C:
mov r3, r10
ldrb r0, [r3]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r1, r0, 0
ldr r0, =gMain
ldrh r2, [r0, 0x2E]
@@ -26430,7 +3208,7 @@ _0801733E:
ldrb r0, [r4]
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldrb r0, [r6]
bl RemoveWindow
mov r7, r9
@@ -26452,7 +3230,7 @@ _08017368:
ldrb r0, [r1]
movs r1, 0
movs r2, 0
- bl sub_81AE6C8
+ bl DestroyListMenuTask
ldrb r0, [r6]
bl RemoveWindow
mov r3, r9
@@ -27292,7 +4070,7 @@ sub_80179AC: @ 80179AC
bl sub_8018404
adds r4, 0x2
adds r0, r4, 0
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
mov r1, sp
@@ -27324,7 +4102,7 @@ sub_80179D4: @ 80179D4
adds r1, r5, 0
bl sub_8018404
adds r0, r5, 0x2
- bl sub_8015658
+ bl ReadAsU16
lsls r0, 16
lsrs r0, 16
adds r1, r4, 0
@@ -28007,14 +4785,14 @@ _08017F8A:
lsls r0, r4, 24
lsrs r0, 24
adds r1, r5, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
adds r5, 0x10
adds r4, 0x1
cmp r4, 0x3
ble _08017F8A
ldr r1, =gUnknown_082EE47C
adds r0, r7, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08017FB4
.pool
_08017FAC:
@@ -28045,7 +4823,7 @@ _08017FC6:
sub_8017FD8: @ 8017FD8
push {lr}
adds r2, r0, 0
- ldr r0, =gUnknown_03003090
+ ldr r0, =gRecvCmds
ldrh r1, [r0, 0x2]
cmp r1, 0
beq _08017FFC
@@ -28312,7 +5090,7 @@ _080181BC:
sub_80181CC: @ 80181CC
push {lr}
bl ScriptContext2_Enable
- bl ScriptFreezeMapObjects
+ bl ScriptFreezeEventObjects
pop {r0}
bx r0
thumb_func_end sub_80181CC
@@ -28376,10 +5154,10 @@ sub_8018220: @ 8018220
lsrs r0, 24
movs r1, 0x64
muls r1, r0
- ldr r0, =gUnknown_02039B58
+ ldr r0, =gTrainerCards
adds r1, r0
mov r8, r1
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
mov r6, r9
adds r6, 0xC0
bl sub_8068BB0
@@ -28393,11 +5171,11 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0
adds r1, r6, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r1, r8
adds r1, 0x30
movs r0, 0x1
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xBA
lsls r4, 1
add r4, r9
@@ -28411,7 +5189,7 @@ sub_8018220: @ 8018220
bl StringCopy
movs r0, 0x2
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r5, r9
adds r5, 0xDE
mov r0, r8
@@ -28422,7 +5200,7 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0xED
add r2, r9
mov r10, r2
@@ -28442,16 +5220,16 @@ sub_8018220: @ 8018220
bl ConvertIntToDecimalStringN
movs r0, 0x4
mov r1, r10
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r4, 0xD2
lsls r4, 1
add r4, r9
ldr r1, =gUnknown_082EFF64
adds r0, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, =gStringVar4
adds r1, r4, 0
bl StringCopy
@@ -28468,7 +5246,7 @@ _0801830C:
bl ConvertIntToDecimalStringN
movs r0, 0
adds r1, r6, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r2, r8
ldrh r1, [r2, 0x16]
cmp r1, r4
@@ -28483,7 +5261,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x2
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
mov r0, r8
ldrh r1, [r0, 0x20]
adds r0, r5, 0
@@ -28492,7 +5270,7 @@ _08018328:
bl ConvertIntToDecimalStringN
movs r0, 0x3
adds r1, r5, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r7, 0
movs r6, 0x80
lsls r6, 19
@@ -28505,7 +5283,7 @@ _08018360:
bl CopyEasyChatWord
lsrs r0, r6, 24
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r2, 0x80
lsls r2, 17
adds r6, r2
@@ -28519,7 +5297,7 @@ _08018360:
add r4, r9
ldr r1, =gUnknown_082EFFA4
adds r0, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r5, =gStringVar4
adds r0, r5, 0
adds r1, r4, 0
@@ -28529,7 +5307,7 @@ _08018360:
bne _080183D0
ldr r1, =gUnknown_082F0020
adds r0, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -28546,7 +5324,7 @@ _080183D0:
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
adds r0, r5, 0
adds r1, r4, 0
bl StringAppend
@@ -28637,7 +5415,7 @@ _08018482:
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_082F0598
@@ -28733,11 +5511,11 @@ _08018574:
movs r0, 0
movs r1, 0xA
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0x1
movs r2, 0xF0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
movs r4, 0x20
str r4, [sp]
str r4, [sp, 0x4]
@@ -28867,7 +5645,7 @@ sub_80186A4: @ 80186A4
movs r0, 0x3
bl GetBgTilemapBuffer
bl Free
- ldr r0, =c2_title_screen_1
+ ldr r0, =CB2_InitTitleScreen
bl SetMainCallback2
pop {r0}
bx r0
@@ -28911,7 +5689,7 @@ _08018720:
movs r1, 0x1
movs r2, 0x4
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
movs r0, 0
adds r1, r7, 0
movs r2, 0xDE
@@ -28927,7 +5705,7 @@ _08018720:
movs r0, 0
movs r1, 0
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
movs r0, 0
movs r1, 0x2
bl CopyWindowToVram
@@ -29099,7 +5877,7 @@ sub_8018884: @ 8018884
movs r1, 0x1
movs r2, 0
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
movs r0, 0x1
movs r1, 0x1
movs r2, 0xF
@@ -29452,7 +6230,7 @@ _08018B4A:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
ldrb r0, [r4]
movs r1, 0x1
movs r2, 0xF
@@ -29500,7 +6278,7 @@ _08018BD6:
b _08018C3E
.pool
_08018BE4:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r6, r0, 24
movs r1, 0x80
@@ -29598,7 +6376,7 @@ _08018C8C:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
ldrb r0, [r5]
movs r1, 0x1
movs r2, 0xF
@@ -31043,7 +7821,7 @@ _08019870:
_08019884:
bl task_add_05_task_del_08FA224_when_no_RfuFunc
ldr r0, =gStringVar1
- ldr r1, =gUnknown_02022A0C
+ ldr r1, =gLinkPlayers + 0x1C + 0x08 @ &gLinkPlayers[1].name
bl StringCopy
movs r0, 0x22
strb r0, [r5, 0x8]
@@ -31098,7 +7876,7 @@ _080198FE:
b _08019922
.pool
_0801990C:
- bl sub_80097E8
+ bl CloseLink
ldr r0, [r5, 0x10]
bl Free
adds r0, r4, 0
@@ -31339,7 +8117,7 @@ sub_8019AB8: @ 8019AB8
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl RemoveFieldObjectByLocalIdAndMap
+ bl RemoveEventObjectByLocalIdAndMap
pop {r0}
bx r0
.pool
@@ -31358,7 +8136,7 @@ sub_8019AD8: @ 8019AD8
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08019B30
@@ -31367,16 +8145,16 @@ sub_8019AD8: @ 8019AD8
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
+ bl EventObjectIsMovementOverridden
lsls r0, 24
cmp r0, 0
bne _08019B30
ldrb r1, [r5]
adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
+ bl EventObjectSetHeldMovement
lsls r0, 24
cmp r0, 0
bne _08019B30
@@ -31404,7 +8182,7 @@ sub_8019B3C: @ 8019B3C
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
+ bl TryGetEventObjectIdByLocalIdAndMap
lsls r0, 24
cmp r0, 0
bne _08019B9C
@@ -31413,10 +8191,10 @@ sub_8019B3C: @ 8019B3C
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
adds r4, r0, r1
adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
+ bl EventObjectClearHeldMovementIfFinished
lsls r0, 24
cmp r0, 0
bne _08019B84
@@ -31429,11 +8207,11 @@ _08019B84:
cmp r0, 0
bne _08019B96
adds r0, r4, 0
- bl npc_sync_anim_pause_bits
+ bl UnfreezeEventObject
b _08019B9C
_08019B96:
adds r0, r4, 0
- bl sub_8097404
+ bl FreezeEventObject
_08019B9C:
movs r0, 0x1
_08019B9E:
@@ -32380,7 +9158,7 @@ sub_801A2A8: @ 801A2A8
b _0801A396
_0801A2C4:
ldr r4, =gUnknown_082F076A
- bl player_get_direction_lower_nybble
+ bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r0, r4
@@ -32620,7 +9398,7 @@ sub_801A43C: @ 801A43C
bl ResetPaletteFade
bl ResetSpriteData
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl m4aSoundVSyncOn
ldr r0, =sub_801A418
bl SetVBlankCallback
@@ -32659,7 +9437,7 @@ sub_801A43C: @ 801A43C
bl LoadPalette
movs r0, 0xF0
bl sub_81978B0
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0x20
str r0, [sp]
str r0, [sp, 0x4]
@@ -32702,7 +9480,7 @@ _0801A58C:
ldr r0, =gUnknown_03000DAC
ldr r0, [r0]
bl Free
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r4}
pop {r0}
@@ -33150,7 +9928,7 @@ _0801A93A:
adds r0, r7, 0
adds r1, r6, 0
adds r2, r5, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r4-r7}
pop {r0}
@@ -33471,7 +10249,7 @@ sub_801AB68: @ 801AB68
movs r1, 0x1
adds r2, r6, 0
ldr r3, [sp, 0x14]
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x18
pop {r3-r5}
mov r8, r3
@@ -33668,11 +10446,11 @@ _0801AD8C:
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
bl sub_819789C
ldr r0, =sub_801AC40
bl SetVBlankCallback
@@ -33721,7 +10499,7 @@ _0801AE48:
beq _0801AE54
b _0801AFAE
_0801AE54:
- ldr r4, =gUnknown_020228C4
+ ldr r4, =gBlockSendBuffer
adds r0, r4, 0
movs r1, 0
movs r2, 0x20
@@ -33738,7 +10516,7 @@ _0801AE78:
movs r0, 0x51
_0801AE7A:
strb r0, [r4]
- ldr r1, =gUnknown_020228C4
+ ldr r1, =gBlockSendBuffer
movs r0, 0
movs r2, 0x20
bl SendBlock
@@ -33837,7 +10615,7 @@ _0801AF58:
bl sub_801ABDC
cmp r0, 0
beq _0801AFAE
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
b _0801AFAE
.pool
@@ -33863,7 +10641,7 @@ _0801AF98:
bl sub_801ABDC
cmp r0, 0
beq _0801AFAE
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
_0801AFAE:
bl RunTasks
@@ -35589,7 +12367,7 @@ _0801BD1A:
bl CopyBgTilemapBufferToVram
b _0801BD86
_0801BD34:
- bl sub_80D2F04
+ bl LoadMonIconPalettes
b _0801BD86
_0801BD3A:
movs r0, 0x1
@@ -35752,7 +12530,7 @@ _0801BE56:
.pool
_0801BE94:
bl sub_801C61C
- bl sub_80D2F9C
+ bl FreeMonIconPalettes
b _0801BEDA
_0801BE9E:
ldr r0, =gUnknown_02022C60
@@ -38868,7 +15646,7 @@ _0801D7D0:
ldr r1, [r4, 0x18]
movs r2, 0xBC
bl memcpy
- bl sub_81652B4
+ bl ValidateEReaderTrainer
b _0801D804
.pool
_0801D7F0:
@@ -39822,7 +16600,7 @@ _0801DEC8:
bl sub_800E0E8
movs r0, 0xE8
movs r1, 0x96
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_0801DF04:
add sp, 0x4
pop {r4-r6}
@@ -39837,7 +16615,7 @@ sub_801DF20: @ 801DF20
bl TransferPlttBuffer
bl LoadOam
bl ProcessSpriteCopyRequests
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
pop {r0}
bx r0
thumb_func_end sub_801DF20
@@ -41329,7 +18107,7 @@ _0801EBA8:
bne _0801EBC2
bl sub_801F544
bl sub_801DE30
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
_0801EBC2:
add sp, 0x4
@@ -41936,10 +18714,10 @@ _0801F020:
ldrb r1, [r4, 0x8]
cmp r0, r1
beq _0801F0A8
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, =gText_F700JoinedChat
b _0801F094
.pool
@@ -41976,14 +18754,14 @@ _0801F07A:
ldrb r5, [r5]
cmp r0, r5
beq _0801F0A8
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
movs r0, 0
adds r1, r4, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, =gText_F700LeftChat
_0801F094:
adds r0, r6, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x1
b _0801F0AA
.pool
@@ -42568,7 +19346,7 @@ sub_801F544: @ 801F544
str r0, [r4]
_0801F55A:
bl FreeAllWindowBuffers
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
pop {r4}
@@ -43456,11 +20234,11 @@ sub_801FBF8: @ 801FBF8
beq _0801FC38
b _0801FC42
_0801FC08:
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_801F1D0
adds r1, r0, 0
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x5
movs r1, 0
bl sub_801FF18
@@ -43617,11 +20395,11 @@ sub_801FD30: @ 801FD30
beq _0801FD74
b _0801FD7E
_0801FD40:
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
movs r0, 0x9
movs r1, 0
bl sub_801FF18
@@ -43925,7 +20703,7 @@ _0801FF98:
adds r0, r1, 0
adds r0, 0x22
ldr r1, [r4]
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r5]
adds r6, r0, 0
adds r6, 0x22
@@ -44695,11 +21473,11 @@ sub_80205B4: @ 80205B4
task_tutorial_story_unknown: @ 8020604
push {r4,r5,lr}
sub sp, 0x4
- ldr r0, =gUnknown_08DD4860
+ ldr r0, =gLinkMiscMenu_Pal
movs r1, 0
movs r2, 0x20
bl LoadPalette
- ldr r1, =gUnknown_08DD4880
+ ldr r1, =gLinkMiscMenu_Gfx
movs r0, 0
str r0, [sp]
movs r0, 0x2
@@ -44727,7 +21505,7 @@ task_tutorial_story_unknown: @ 8020604
movs r2, 0x8
bl CpuFastSet
_0802064E:
- ldr r1, =gUnknown_08DD4AB8
+ ldr r1, =gLinkMiscMenu_Tilemap
movs r0, 0x2
movs r2, 0
movs r3, 0
@@ -44842,11 +21620,11 @@ sub_8020740: @ 8020740
movs r0, 0x3
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0x3
movs r1, 0xA
movs r2, 0x20
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldr r0, =gUnknown_0860F074
movs r1, 0xE0
movs r2, 0x20
@@ -44875,13 +21653,13 @@ sub_8020770: @ 8020770
strh r1, [r0, 0x20]
str r1, [sp, 0xC]
add r0, sp, 0xC
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
ldr r2, =0x010003c0
bl CpuFastSet
ldr r0, [sp]
ldr r1, [sp, 0x4]
ldr r2, [sp, 0x8]
- bl sub_80BA038
+ bl ScanlineEffect_SetParams
add sp, 0x10
pop {r0}
bx r0
@@ -44896,12 +21674,12 @@ sub_80207C0: @ 80207C0
lsrs r0, 16
mov r1, sp
strh r0, [r1]
- ldr r5, =gUnknown_02039B28
+ ldr r5, =gScanlineEffect
ldrb r0, [r5, 0x14]
lsls r1, r0, 4
subs r1, r0
lsls r1, 7
- ldr r4, =gUnknown_02038C28
+ ldr r4, =gScanlineEffectRegBuffers
adds r1, r4
ldr r2, =0x01000090
mov r0, sp
@@ -44939,7 +21717,7 @@ sub_8020818: @ 8020818
lsrs r4, 16
mov r0, sp
strh r4, [r0]
- ldr r5, =gUnknown_02038C28
+ ldr r5, =gScanlineEffectRegBuffers
ldr r0, =0x01000090
mov r9, r0
mov r0, sp
@@ -45455,7 +22233,7 @@ _08020C26:
str r0, [r5]
adds r0, r4, 0
bl SetMainCallback2
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
cmp r4, r0
bne _08020C5A
ldr r2, =gTextFlags
@@ -45466,8 +22244,8 @@ _08020C26:
movs r0, 0xC8
lsls r0, 1
bl PlayNewMapMusic
- ldr r0, =c1_overworld
- bl set_callback1
+ ldr r0, =CB1_Overworld
+ bl SetMainCallback1
_08020C5A:
movs r0, 0
_08020C5C:
@@ -45490,7 +22268,7 @@ sub_8020C70: @ 8020C70
ldrb r0, [r0]
cmp r0, 0
beq _08020C8E
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _08020CAC
@@ -45999,7 +22777,7 @@ _080210A0:
movs r0, 0
movs r1, 0
bl SetGpuReg
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl reset_temp_tile_data_buffers
b _080212FC
_080210BE:
@@ -46180,7 +22958,7 @@ _08021278:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
adds r0, r5, 0
bl sub_8022730
ldr r0, =gSpriteCoordOffsetY
@@ -46462,7 +23240,7 @@ _080214C6:
lsrs r3, 16
ldr r0, =gUnknown_082F436C
adds r1, r2, 0
- bl AddItemIconObjectWithCustomObjectTemplate
+ bl AddCustomItemIconSprite
lsls r0, 24
lsrs r0, 24
mov r2, r9
@@ -47204,7 +23982,7 @@ _08021A92:
lsls r4, 2
str r4, [sp, 0x24]
_08021A98:
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r0, [sp, 0x10]
cmp r0, 0x1
beq _08021B48
@@ -47463,10 +24241,10 @@ _08021CC8:
ldr r0, [sp, 0xC]
adds r1, r0, r1
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, =gStringVar4
adds r1, r4, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r1, [sp, 0xC]
movs r2, 0xDD
lsls r2, 1
@@ -47932,7 +24710,7 @@ _0802210C:
ldr r4, =0x0000021d
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r5]
movs r1, 0
adds r2, r4, 0
@@ -48131,7 +24909,7 @@ _08022296:
ldr r4, =0x0000021d
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r0, [r6, 0x2]
movs r1, 0
adds r2, r4, 0
@@ -48548,7 +25326,7 @@ _08022616:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
b _0802269C
.pool
_08022668:
@@ -48575,7 +25353,7 @@ _08022668:
str r4, [sp, 0x10]
movs r1, 0x2
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_0802269C:
ldr r1, =0x000001bb
adds r0, r6, r1
@@ -49423,7 +26201,7 @@ _08022D38:
_08022D42:
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldrb r1, [r5, 0x1]
movs r0, 0x2
mov r8, r0
@@ -49451,7 +26229,7 @@ _08022D42:
movs r0, 0
movs r1, 0x1
adds r2, r4, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _08022DB2
.pool
_08022D90:
@@ -49470,7 +26248,7 @@ _08022D90:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
_08022DB2:
movs r0, 0
movs r1, 0x3
@@ -50249,7 +27027,7 @@ sub_802339C: @ 802339C
mov r10, r3
_080233C0:
lsls r0, r7, 4
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
adds r2, r0, r1
ldrh r1, [r2]
movs r0, 0xFF
@@ -50858,7 +27636,7 @@ sub_802385C: @ 802385C
push {r4,r5,lr}
adds r5, r0, 0
movs r4, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
ldrb r0, [r5, 0x9]
cmp r4, r0
bcs _08023880
@@ -52021,7 +28799,7 @@ _080241A6:
beq _0802421E
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_SavingDontTurnOffPower
movs r0, 0
str r0, [sp]
@@ -52034,7 +28812,7 @@ _080241A6:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
movs r0, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -52112,7 +28890,7 @@ _0802426A:
bl sub_8197930
b _080242D0
_08024270:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r4, r0, 24
movs r0, 0x2
@@ -52378,7 +29156,7 @@ _0802445A:
_08024460:
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldrh r1, [r5, 0x14]
cmp r1, 0x3
bne _08024490
@@ -52393,7 +29171,7 @@ _08024460:
str r1, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _080244AC
.pool
_08024490:
@@ -52409,7 +29187,7 @@ _08024490:
str r0, [sp, 0xC]
movs r0, 0
movs r1, 0x1
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
_080244AC:
movs r0, 0
movs r1, 0x3
@@ -52672,8 +29450,8 @@ SetBerryPowder: @ 802467C
.pool
thumb_func_end SetBerryPowder
- thumb_func_start ApplyNewEncyprtionKeyToBerryPowder
-ApplyNewEncyprtionKeyToBerryPowder: @ 8024690
+ thumb_func_start ApplyNewEncryptionKeyToBerryPowder
+ApplyNewEncryptionKeyToBerryPowder: @ 8024690
push {lr}
adds r1, r0, 0
ldr r0, =gSaveBlock2Ptr
@@ -52681,11 +29459,11 @@ ApplyNewEncyprtionKeyToBerryPowder: @ 8024690
movs r2, 0xFA
lsls r2, 1
adds r0, r2
- bl ApplyNewEncyprtionKeyToWord
+ bl ApplyNewEncryptionKeyToWord
pop {r0}
bx r0
.pool
- thumb_func_end ApplyNewEncyprtionKeyToBerryPowder
+ thumb_func_end ApplyNewEncryptionKeyToBerryPowder
thumb_func_start sub_80246AC
sub_80246AC: @ 80246AC
@@ -52982,7 +29760,7 @@ sub_80248B0: @ 80248B0
ldr r5, =0x0000021d
adds r1, r5, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
ldrb r4, [r4]
bl sub_80247BC
adds r3, r0, 0
@@ -53389,7 +30167,7 @@ _08024C5A:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08024D20
.pool
_08024C80:
@@ -59406,7 +36184,7 @@ sub_8027BEC: @ 8027BEC
adds r0, r7, 0
adds r1, r4, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
adds r0, r7, 0
adds r1, r4, 0
movs r2, 0xD
@@ -59626,7 +36404,7 @@ sub_8027DD0: @ 8027DD0
sub_8027DFC: @ 8027DFC
push {lr}
adds r2, r0, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
ldrh r0, [r3]
movs r1, 0xFF
lsls r1, 8
@@ -60082,7 +36860,7 @@ sub_8028164: @ 8028164
mov r9, r0
adds r2, r7, 0
adds r2, 0x14
- ldr r4, =gUnknown_03003090
+ ldr r4, =gRecvCmds
ldrh r0, [r4]
movs r1, 0xFF
lsls r1, 8
@@ -60295,7 +37073,7 @@ sub_8028318: @ 8028318
push {r4,lr}
adds r2, r0, 0
adds r4, r1, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
ldrh r0, [r3]
movs r1, 0xFF
lsls r1, 8
@@ -60347,7 +37125,7 @@ sub_8028350: @ 8028350
sub_8028374: @ 8028374
push {lr}
adds r2, r0, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
ldrh r0, [r3]
movs r1, 0xFF
lsls r1, 8
@@ -61951,7 +38729,7 @@ sub_8028FF8: @ 8028FF8
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r1, [r0]
movs r2, 0x90
lsls r2, 1
@@ -61959,7 +38737,7 @@ sub_8028FF8: @ 8028FF8
movs r3, 0x1
bl LoadBgTiles
adds r0, r4, 0
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r0, [r0, 0x4]
movs r1, 0xA0
movs r2, 0x20
@@ -61975,7 +38753,7 @@ sub_802902C: @ 802902C
movs r0, 0
movs r1, 0xA
movs r2, 0xB0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
pop {r0}
bx r0
thumb_func_end sub_802902C
@@ -63514,7 +40292,7 @@ _08029DA0:
movs r1, 0x1
adds r2, r5, 0
bl PrintTextOnWindow
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -63523,11 +40301,11 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r7, =gStringVar4
ldr r1, =gText_FirstPlacePrize
adds r0, r7, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
ldr r0, [r4]
add r0, r10
ldrb r0, [r0]
@@ -63548,7 +40326,7 @@ _08029DA0:
beq _08029EC8
cmp r4, 0x3
beq _08029EC8
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
bl sub_802762C
lsls r0, 16
lsrs r0, 16
@@ -63556,12 +40334,12 @@ _08029DA0:
bl CopyItemName
movs r0, 0
adds r1, r5, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
cmp r4, 0x2
bne _08029E9C
ldr r1, =gText_CantHoldAnyMore
adds r0, r7, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
b _08029EA8
.pool
_08029E9C:
@@ -63569,7 +40347,7 @@ _08029E9C:
bne _08029EA8
ldr r1, =gText_FilledStorageSpace
adds r0, r7, 0
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
_08029EA8:
ldr r0, =gUnknown_02022CF8
ldr r0, [r0]
@@ -64111,7 +40889,7 @@ _0802A3A4:
_0802A3AE:
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_SavingDontTurnOffPower
str r4, [sp]
movs r0, 0x2
@@ -64123,7 +40901,7 @@ _0802A3AE:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _0802A410
.pool
_0802A3D8:
@@ -65226,7 +42004,7 @@ _0802AD0C:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
ldr r1, [r4]
b _0802ADC0
.pool
@@ -70729,19 +47507,19 @@ sub_802D7E8: @ 802D7E8
movs r2, 0
movs r3, 0x1
bl ConvertIntToDecimalStringN
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r5]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r1, [r5]
adds r1, 0x66
movs r0, 0x1
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r5]
adds r0, 0xA6
ldr r1, =gText_AwesomeWonF701F700
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -70786,15 +47564,15 @@ sub_802D884: @ 802D884
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_FilledStorageSpace2
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x8
movs r2, 0x16
@@ -70839,15 +47617,15 @@ sub_802D8FC: @ 802D8FC
ldr r1, [r4]
adds r1, 0x26
bl CopyItemName
- bl sub_81AFBF0
+ bl DynamicPlaceholderTextUtil_Reset
ldr r1, [r4]
adds r1, 0x26
movs r0, 0
- bl sub_81AFC0C
+ bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
ldr r0, [r4]
adds r0, 0xA6
ldr r1, =gText_CantHoldMore
- bl sub_81AFC28
+ bl DynamicPlaceholderTextUtil_ExpandPlaceholders
movs r0, 0x4
movs r1, 0x9
movs r2, 0x16
@@ -71033,7 +47811,7 @@ _0802DA84:
thumb_func_start sub_802DA8C
sub_802DA8C: @ 802DA8C
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r0, 24
pop {r1}
@@ -71819,7 +48597,7 @@ sub_802E0D0: @ 802E0D0
push {r4,lr}
sub sp, 0xC
adds r4, r1, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
lsls r2, r0, 4
adds r0, r2, r3
ldrh r1, [r0]
@@ -71946,7 +48724,7 @@ sub_802E1BC: @ 802E1BC
sub sp, 0xC
adds r5, r0, 0
adds r4, r1, 0
- ldr r2, =gUnknown_03003090
+ ldr r2, =gRecvCmds
ldrh r0, [r2]
movs r1, 0xFF
lsls r1, 8
@@ -72036,7 +48814,7 @@ sub_802E264: @ 802E264
adds r4, r0, 0
adds r5, r2, 0
adds r6, r3, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
lsls r2, r1, 4
adds r0, r2, r3
ldrh r1, [r0]
@@ -72091,7 +48869,7 @@ sub_802E2D0: @ 802E2D0
push {r4,lr}
sub sp, 0xC
adds r4, r0, 0
- ldr r3, =gUnknown_03003090
+ ldr r3, =gRecvCmds
lsls r2, r1, 4
adds r0, r2, r3
ldrh r1, [r0]
@@ -72399,7 +49177,7 @@ sub_802E500: @ 802E500
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0xD0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
adds r0, r4, 0
adds r1, r5, 0
movs r2, 0xD
@@ -73085,7 +49863,7 @@ sub_802EAB0: @ 802EAB0
ldrb r0, [r0]
cmp r0, 0
beq _0802EB14
- ldr r1, =gUnknown_03003090
+ ldr r1, =gRecvCmds
ldrh r0, [r1, 0x2]
ldr r5, =0x00007fff
cmp r0, r5
@@ -73844,4 +50622,4 @@ sub_802EFFC: @ 802EFFC
.pool
thumb_func_end sub_802EFFC
- .align 2, 0 @ Don't pad with nop.
+ .align 2, 0 @ don't pad with nop
diff --git a/asm/rotating_gate.s b/asm/rotating_gate.s
deleted file mode 100644
index 5b7671bf8..000000000
--- a/asm/rotating_gate.s
+++ /dev/null
@@ -1,1152 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetCurrentMapRotatingGatePuzzleType
-GetCurrentMapRotatingGatePuzzleType: @ 80FB7E8
- push {lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- bne _080FB800
- movs r0, 0x1
- b _080FB812
- .pool
-_080FB800:
- ldr r0, =0x0000081d
- cmp r1, r0
- beq _080FB810
- movs r0, 0
- b _080FB812
- .pool
-_080FB810:
- movs r0, 0x2
-_080FB812:
- pop {r1}
- bx r1
- thumb_func_end GetCurrentMapRotatingGatePuzzleType
-
- thumb_func_start sub_80FB818
-sub_80FB818: @ 80FB818
- push {r4-r6,lr}
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r5, r0, 0
- movs r3, 0
- ldr r4, =gUnknown_0203A048
- ldrb r0, [r4]
- cmp r3, r0
- bge _080FB844
- ldr r6, =gUnknown_0203A044
-_080FB830:
- adds r2, r5, r3
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0, 0x5]
- strb r0, [r2]
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080FB830
-_080FB844:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB818
-
- thumb_func_start sub_80FB854
-sub_80FB854: @ 80FB854
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB854
-
- thumb_func_start sub_80FB870
-sub_80FB870: @ 80FB870
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB870
-
- thumb_func_start sub_80FB890
-sub_80FB890: @ 80FB890
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0x1
- bne _080FB8B4
- cmp r1, 0
- beq _080FB8B0
- subs r0, r1, 0x1
- lsls r0, 24
- b _080FB8BE
-_080FB8B0:
- movs r1, 0x3
- b _080FB8C0
-_080FB8B4:
- adds r1, 0x1
- lsls r1, 24
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r1
-_080FB8BE:
- lsrs r1, r0, 24
-_080FB8C0:
- adds r0, r5, 0
- bl sub_80FB870
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FB890
-
- thumb_func_start sub_80FB8CC
-sub_80FB8CC: @ 80FB8CC
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0x1
- beq _080FB8E0
- cmp r0, 0x1
- ble _080FB914
- cmp r0, 0x2
- beq _080FB8F8
- b _080FB914
-_080FB8E0:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8B0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0x8
- b _080FB902
- .pool
-_080FB8F8:
- ldr r1, =gUnknown_0203A044
- ldr r0, =gUnknown_0858E8F0
- str r0, [r1]
- ldr r1, =gUnknown_0203A048
- movs r0, 0xB
-_080FB902:
- strb r0, [r1]
- movs r1, 0
- ldr r3, =gUnknown_0203A038
- movs r2, 0x40
-_080FB90A:
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0xA
- bls _080FB90A
-_080FB914:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB8CC
-
- thumb_func_start sub_80FB928
-sub_80FB928: @ 80FB928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FB9DA
- lsls r0, r2, 16
- asrs r7, r0, 16
- lsls r0, r3, 16
- asrs r6, r0, 16
-_080FB976:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r5, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r1, r0, 16
- cmp r7, r1
- bgt _080FB9CC
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r6, r1
- bgt _080FB9CC
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r1
- blt _080FB9CC
- ldr r0, =gUnknown_0203A038
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x40
- bne _080FB9CC
- ldr r3, [sp]
- lsls r1, r3, 16
- mov r0, r10
- lsls r2, r0, 16
- adds r0, r5, 0
- asrs r1, 16
- asrs r2, 16
- bl sub_80FB9FC
- strb r0, [r4]
-_080FB9CC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FB976
-_080FB9DA:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FB928
-
- thumb_func_start sub_80FB9FC
-sub_80FB9FC: @ 80FB9FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, =gUnknown_0203A044
- lsls r1, r6, 3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080FBA24
- cmp r0, 0x4
- bne _080FBA34
-_080FBA24:
- mov r1, sp
- ldr r0, =gUnknown_08591FE0
- b _080FBA38
- .pool
-_080FBA34:
- mov r1, sp
- ldr r0, =gUnknown_08591FC8
-_080FBA38:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r2, sp
- ldrb r0, [r4, 0x4]
- movs r3, 0x98
- lsls r3, 5
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FBAD4
- ldrh r0, [r4]
- adds r0, 0x7
- ldrh r1, [r4, 0x2]
- adds r1, 0x7
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r2, =gSprites
- adds r4, r2
- strh r6, [r4, 0x2E]
- movs r2, 0x3E
- adds r2, r4
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x2
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 16
- asrs r2, 16
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- mov r3, r8
- lsls r2, r3, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8092FF0
- adds r0, r4, 0
- bl sub_80FBB64
- adds r0, r6, 0
- bl sub_80FB854
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- b _080FBAD6
- .pool
-_080FBAD4:
- movs r0, 0x40
-_080FBAD6:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9FC
-
- thumb_func_start sub_80FBAE4
-sub_80FBAE4: @ 80FBAE4
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r6, 0
- bl sub_80FBB64
- cmp r5, 0x1
- bne _080FBB2A
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_811A138
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB1A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB1A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
- b _080FBB58
-_080FBB2A:
- cmp r5, 0x2
- bne _080FBB58
- adds r0, r7, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_811A138
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080FBB4A
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080FBB4A:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
-_080FBB58:
- movs r0, 0
- strh r0, [r6, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBAE4
-
- thumb_func_start sub_80FBB64
-sub_80FBB64: @ 80FBB64
- push {r4-r6,lr}
- mov r12, r0
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x5
- negs r5, r5
- ands r5, r0
- strb r5, [r4]
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r0, =gSpriteCoordOffsetX
- adds r2, r1
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- mov r3, r12
- ldrh r1, [r3, 0x26]
- ldrh r0, [r3, 0x22]
- adds r1, r0
- mov r0, r12
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r3, =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- movs r3, 0x80
- lsls r3, 15
- adds r1, r2, r3
- lsrs r1, 16
- lsrs r6, r0, 16
- adds r0, r3
- lsrs r3, r0, 16
- asrs r2, 16
- cmp r2, 0xFF
- bgt _080FBBCA
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBD2
-_080FBBCA:
- movs r1, 0x4
- adds r0, r5, 0
- orrs r0, r1
- strb r0, [r4]
-_080FBBD2:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _080FBBE6
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080FBBF2
-_080FBBE6:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FBBF2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBB64
-
- thumb_func_start LoadRotatingGatePics
-@ void LoadRotatingGatePics()
-LoadRotatingGatePics: @ 80FBC00
- push {lr}
- ldr r0, =gUnknown_08591D58
- bl LoadSpriteSheets
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadRotatingGatePics
-
- thumb_func_start sub_80FBC10
-sub_80FBC10: @ 80FBC10
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gSaveBlock1Ptr
- ldr r2, [r0]
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r1, 0xE
- lsls r1, 16
- lsrs r7, r1, 16
- movs r6, 0
- b _080FBCB6
- .pool
-_080FBC48:
- ldr r0, =gUnknown_0203A044
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =gUnknown_0203A038
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x40
- beq _080FBCB4
- lsls r0, r2, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r2, r0
- bgt _080FBC94
- lsls r0, r3, 16
- mov r2, r8
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080FBC94
- lsls r0, r7, 16
- asrs r0, 16
- cmp r2, r0
- ble _080FBCB4
-_080FBC94:
- ldr r0, =gUnknown_0203A038
- adds r5, r6, r0
- ldrb r0, [r5]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- movs r0, 0x40
- strb r0, [r5]
-_080FBCB4:
- adds r6, 0x1
-_080FBCB6:
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBC48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBC10
-
- thumb_func_start sub_80FBCDC
-sub_80FBCDC: @ 80FBCDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r1, 0x1
- bne _080FBCFC
- ldr r0, =gUnknown_08592058
- mov r10, r0
- b _080FBD08
- .pool
-_080FBCFC:
- cmp r1, 0x2
- beq _080FBD04
-_080FBD00:
- movs r0, 0
- b _080FBD98
-_080FBD04:
- ldr r1, =gUnknown_08592038
- mov r10, r1
-_080FBD08:
- adds r0, r4, 0
- bl sub_80FB854
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- movs r3, 0
- lsls r2, 3
- str r2, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
-_080FBD38:
- movs r6, 0
- ldr r2, [sp]
- adds r7, r2, r3
- lsls r0, r3, 1
- adds r5, r7, 0
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldr r2, =gUnknown_08592078
- adds r4, r0, r2
-_080FBD4A:
- adds r0, r5, 0
- cmp r5, 0
- bge _080FBD52
- adds r0, r7, 0x3
-_080FBD52:
- asrs r0, 2
- lsls r0, 2
- subs r0, r5, r0
- lsls r0, 1
- adds r0, r6
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _080FBD88
- lsls r1, 2
- add r1, r10
- movs r0, 0
- ldrsb r0, [r1, r0]
- add r0, r9
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- add r1, r8
- str r3, [sp, 0x8]
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x8]
- cmp r0, 0x1
- beq _080FBD00
-_080FBD88:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1
- ble _080FBD4A
- adds r3, 0x1
- cmp r3, 0x3
- ble _080FBD38
- movs r0, 0x1
-_080FBD98:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBCDC
-
- thumb_func_start sub_80FBDB4
-sub_80FBDB4: @ 80FBDB4
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r4, 24
- lsrs r5, r4, 24
- lsrs r4, 25
- movs r0, 0x1
- ands r5, r0
- adds r0, r6, 0
- bl sub_80FB854
- subs r4, r0
- adds r1, r4, 0x4
- adds r0, r1, 0
- cmp r1, 0
- bge _080FBDDA
- adds r0, r4, 0x7
-_080FBDDA:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- ldr r1, =gUnknown_0203A044
- ldr r2, [r1]
- lsls r1, r6, 3
- adds r1, r2
- ldrb r1, [r1, 0x4]
- ldr r2, =gUnknown_08592078
- lsls r0, 24
- asrs r0, 23
- adds r0, r5
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBDB4
-
- thumb_func_start sub_80FBE08
-sub_80FBE08: @ 80FBE08
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gUnknown_0203A038
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _080FBE2C
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- strh r1, [r4, 0x30]
- adds r0, r3, 0
- bl sub_80FB854
- strh r0, [r4, 0x32]
-_080FBE2C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80FBE08
-
- thumb_func_start sub_80FBE3C
-sub_80FBE3C: @ 80FBE3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x2
- bne _080FBE58
- ldr r3, =gUnknown_08591FF8
- b _080FBE7A
- .pool
-_080FBE58:
- cmp r0, 0x1
- bne _080FBE64
- ldr r3, =gUnknown_08592008
- b _080FBE7A
- .pool
-_080FBE64:
- cmp r0, 0x3
- bne _080FBE70
- ldr r3, =gUnknown_08592018
- b _080FBE7A
- .pool
-_080FBE70:
- cmp r3, 0x4
- beq _080FBE78
- movs r0, 0xFF
- b _080FBE88
-_080FBE78:
- ldr r3, =gUnknown_08592028
-_080FBE7A:
- lsls r0, r2, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 14
- adds r0, r1
- adds r0, r3, r0
- ldrb r0, [r0]
-_080FBE88:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBE3C
-
- thumb_func_start sub_80FBE90
-sub_80FBE90: @ 80FBE90
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEA2
- bl sub_80FB8CC
- bl sub_80FB818
-_080FBEA2:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBE90
-
- thumb_func_start RotatingGatePuzzleCameraUpdate
-@ void RotatingGatePuzzleCameraUpdate(s32 deltaX, s32 deltaY)
-RotatingGatePuzzleCameraUpdate: @ 80FBEA8
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBECA
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl sub_80FB928
- bl sub_80FBC10
-_080FBECA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end RotatingGatePuzzleCameraUpdate
-
- thumb_func_start sub_80FBED0
-sub_80FBED0: @ 80FBED0
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080FBEEA
- bl LoadRotatingGatePics
- bl sub_80FB8CC
- movs r0, 0
- movs r1, 0
- bl sub_80FB928
-_080FBEEA:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBED0
-
- thumb_func_start CheckForRotatingGatePuzzleCollision
-CheckForRotatingGatePuzzleCollision: @ 80FBEF0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBF24
- b _080FBFC2
-_080FBF12:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBE08
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FB890
- b _080FBFC2
-_080FBF24:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FBFC2
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FBF32:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FBFB8
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FBFB8
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FBFB8
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FBFB8
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FBFB8
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FBFB8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- bne _080FBF12
- movs r0, 0x1
- b _080FBFC4
- .pool
-_080FBFB8:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FBF32
-_080FBFC2:
- movs r0, 0
-_080FBFC4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckForRotatingGatePuzzleCollision
-
- thumb_func_start sub_80FBFD4
-sub_80FBFD4: @ 80FBFD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080FBFFA
- b _080FC08A
-_080FBFF6:
- movs r0, 0x1
- b _080FC08C
-_080FBFFA:
- movs r6, 0
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- bge _080FC08A
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080FC008:
- ldr r0, =gUnknown_0203A044
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080FC080
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080FC080
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080FC080
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080FC080
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80FBE3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080FC080
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80FBDB4
- cmp r0, 0
- beq _080FC080
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FBCDC
- cmp r0, 0
- beq _080FBFF6
-_080FC080:
- adds r6, 0x1
- ldr r0, =gUnknown_0203A048
- ldrb r0, [r0]
- cmp r6, r0
- blt _080FC008
-_080FC08A:
- movs r0, 0
-_080FC08C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80FBFD4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/roulette.s b/asm/roulette.s
index 009f30717..d3dd5fd9e 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -423,10 +423,10 @@ _081405F4:
_08140618:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
- bl sub_8121DA0
- bl sub_8121E10
+ bl ResetVramOamAndBgCntRegs
+ bl ResetAllBgsCoordinates
b _081407F8
_08140630:
bl sub_8140388
@@ -452,14 +452,14 @@ _08140662:
lsls r2, 1
movs r1, 0
bl LoadPalette
- ldr r1, =gUnknown_08DBC2E8
+ ldr r1, =gRouletteMenuTiles
movs r4, 0
str r4, [sp]
movs r0, 0x1
movs r2, 0
movs r3, 0
bl decompress_and_copy_tile_data_to_vram
- ldr r1, =gUnknown_08DBCA14
+ ldr r1, =gRouletteWheelTiles
str r4, [sp]
movs r0, 0x2
movs r2, 0
@@ -508,7 +508,7 @@ _081406E0:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5B89
movs r1, 0x1
@@ -740,7 +740,7 @@ sub_8140914: @ 8140914
ldr r5, =gUnknown_0203AB8C
ldrb r0, [r5]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r5]
ldr r2, =gUnknown_082A5C13
movs r1, 0x1
@@ -2570,7 +2570,7 @@ sub_8141800: @ 8141800
movs r0, 0x1E
ldrsh r1, [r4, r0]
movs r0, 0x1D
- bl sav12_xor_set
+ bl SetGameStat
_08141848:
ldr r1, =sub_8141A18
ldr r2, =0x0000ffff
@@ -2631,7 +2631,7 @@ sub_814189C: @ 814189C
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5BD7
b _08141902
@@ -2643,7 +2643,7 @@ _081418EC:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5BCB
_08141902:
@@ -2667,7 +2667,7 @@ _08141928:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5BE0
movs r1, 0x1
@@ -2805,7 +2805,7 @@ sub_8141A18: @ 8141A18
ldr r5, =gUnknown_0203AB8C
ldrb r0, [r5]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r5]
movs r1, 0x1
str r1, [sp]
@@ -3001,7 +3001,7 @@ _08141BB0:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5C21
movs r1, 0x1
@@ -3028,7 +3028,7 @@ _08141C58:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5C61
movs r1, 0x1
@@ -3060,7 +3060,7 @@ _08141CBC:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5C04
movs r1, 0x1
@@ -3147,7 +3147,7 @@ _08141D44:
ldr r4, =gUnknown_0203AB8C
ldrb r0, [r4]
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldrb r0, [r4]
ldr r2, =gUnknown_082A5C61
movs r1, 0x1
@@ -3258,8 +3258,8 @@ sub_8141E7C: @ 8141E7C
ldr r0, =gSpriteCoordOffsetY
strh r4, [r0]
strh r4, [r1]
- bl sub_8121DA0
- bl sub_8121E10
+ bl ResetVramOamAndBgCntRegs
+ bl ResetAllBgsCoordinates
movs r0, 0x50
movs r1, 0
bl SetGpuReg
@@ -3276,7 +3276,7 @@ sub_8141E7C: @ 8141E7C
ldr r1, =gFieldCallback
ldr r0, =sub_80AF168
str r0, [r1]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
adds r0, r5, 0
bl DestroyTask
@@ -3619,7 +3619,7 @@ _08142174:
cmp r3, 0x3
bls _08142144
movs r6, 0
- ldr r0, =gUnknown_085B62E8
+ ldr r0, =gUnknown_085B62E4+0x4
add r0, r12
ldr r7, [r0]
ldr r4, =gUnknown_0203AB88
@@ -4667,7 +4667,7 @@ sub_81429F0: @ 81429F0
bl StringExpandPlaceholders
movs r0, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
str r5, [sp]
movs r0, 0xFF
str r0, [sp, 0x4]
@@ -4744,7 +4744,7 @@ sub_8142A88: @ 8142A88
beq _08142B28
movs r0, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
ldr r2, =gUnknown_082A5B6B
str r7, [sp]
movs r0, 0xFF
@@ -4768,7 +4768,7 @@ _08142B28:
bl StringExpandPlaceholders
movs r0, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
movs r0, 0x1
str r0, [sp]
movs r0, 0xFF
@@ -4798,7 +4798,7 @@ _08142B78:
bl StringExpandPlaceholders
movs r0, 0
movs r1, 0
- bl sub_81973FC
+ bl NewMenuHelpers_DrawStdWindowFrame
str r7, [sp]
movs r0, 0xFF
str r0, [sp, 0x4]
@@ -4985,7 +4985,7 @@ _08142D24:
lsls r1, r5, 1
adds r1, r5
lsls r1, 3
- ldr r0, =gUnknown_085B75B0
+ ldr r0, =gSpriteTemplate_85B75B0
adds r0, r1, r0
adds r1, 0x94
adds r2, r4, 0
@@ -5035,7 +5035,7 @@ _08142D86:
lsls r1, r6, 1
adds r1, r6
lsls r1, 3
- ldr r0, =gUnknown_085B7508
+ ldr r0, =gSpriteTemplate_85B7508
adds r0, r1, r0
adds r1, 0x94
lsls r1, 16
@@ -5070,7 +5070,7 @@ _08142DCC:
lsls r2, r6, 1
adds r2, r6
lsls r2, 3
- ldr r0, =gUnknown_085B7568
+ ldr r0, =gSpriteTemplate_85B7568
adds r0, r2, r0
adds r2, 0x5C
lsls r2, 16
@@ -5278,7 +5278,7 @@ sub_8142F7C: @ 8142F7C
movs r0, 0x4
mov r8, r0
_08142F8C:
- ldr r0, =gUnknown_085B7928
+ ldr r0, =gSpriteTemplate_85B7928
movs r1, 0x74
movs r2, 0x14
movs r3, 0xA
@@ -5600,7 +5600,7 @@ _08143216:
lsls r0, r1, 1
adds r0, r1
lsls r0, 3
- ldr r1, =gUnknown_085B7610
+ ldr r1, =gSpriteTemplate_85B7610
adds r0, r1
movs r1, 0x28
mov r2, sp
@@ -5749,7 +5749,7 @@ _08143322:
lsrs r5, r0, 24
cmp r5, 0x4
bls _08143322
- ldr r0, =gUnknown_085B77E4
+ ldr r0, =gSpriteTemplate_85B77E4
movs r1, 0xD0
movs r2, 0x10
movs r3, 0x4
@@ -6459,7 +6459,7 @@ sub_814391C: @ 814391C
str r0, [sp, 0x4]
mov r0, sp
bl LoadSpriteSheet
- ldr r0, =gUnknown_085B7950
+ ldr r0, =gSpriteTemplate_85B7950
movs r1, 0x74
movs r2, 0x50
movs r3, 0x51
@@ -6530,7 +6530,7 @@ _081439D0:
subs r3, r4
lsls r3, 24
lsrs r3, 24
- ldr r0, =gUnknown_085B7928
+ ldr r0, =gSpriteTemplate_85B7928
movs r1, 0x74
movs r2, 0x50
bl CreateSprite
@@ -6841,14 +6841,14 @@ _08143BEA:
lsls r0, 24
cmp r0, 0
beq _08143C74
- ldr r0, _08143C84 @ =gMPlay_SE1
+ ldr r0, _08143C84 @ =gMPlayInfo_SE1
ldr r4, _08143C88 @ =0x0000FFFF
ldrh r2, [r7, 0x24]
lsls r2, 24
asrs r2, 24
adds r1, r4, 0
bl m4aMPlayPanpotControl
- ldr r0, _08143C8C @ =gMPlay_SE2
+ ldr r0, _08143C8C @ =gMPlayInfo_SE2
ldrh r2, [r7, 0x24]
lsls r2, 24
asrs r2, 24
@@ -6864,11 +6864,11 @@ _08143C74:
_08143C80:
.4byte 0x00000000
_08143C84:
- .4byte gMPlay_SE1
+ .4byte gMPlayInfo_SE1
_08143C88:
.4byte 0x0000FFFF
_08143C8C:
- .4byte gMPlay_SE2
+ .4byte gMPlayInfo_SE2
thumb_func_end sub_8143B84
thumb_func_start sub_8143C90
@@ -8128,7 +8128,7 @@ sub_81446DC: @ 81446DC
lsrs r0, 16
mov r9, r0
ldr r5, =gUnknown_0203AB88
- ldr r0, =gUnknown_085B79F8
+ ldr r0, =gSpriteTemplate_85B79F8
movs r2, 0xC
negs r2, r2
movs r1, 0x24
@@ -8137,7 +8137,7 @@ sub_81446DC: @ 81446DC
ldr r1, [r5]
adds r1, 0x73
strb r0, [r1]
- ldr r4, =gUnknown_085B7ABC
+ ldr r4, =gSpriteTemplate_85B7ABC
mov r3, r8
movs r0, 0x2E
ldrsh r2, [r3, r0]
@@ -8353,7 +8353,7 @@ sub_81448B8: @ 81448B8
lsls r0, 16
lsrs r0, 16
mov r9, r0
- ldr r0, =gUnknown_085B7A10
+ ldr r0, =gSpriteTemplate_85B7A10
movs r1, 0x2E
ldrsh r2, [r7, r1]
lsls r2, 2
@@ -8709,12 +8709,12 @@ _08144BAC:
mov r5, r10
cmp r5, r8
bcs _08144C18
- ldr r1, =gUnknown_085B6160
+ ldr r1, =gUnknown_085B6154+0xC
mov r10, r1
_08144BBC:
ldr r3, [r4]
lsls r0, r6, 3
- ldr r1, =gUnknown_085B62E8
+ ldr r1, =gUnknown_085B62E4+0x4
adds r0, r1
ldr r1, [r3, 0x8]
ldr r2, [r0]
@@ -9385,14 +9385,14 @@ sub_81450D8: @ 81450D8
adds r4, r0
asrs r4, 1
negs r4, r4
- ldr r0, =gMPlay_SE1
+ ldr r0, =gMPlayInfo_SE1
ldr r5, =0x0000ffff
lsls r4, 24
asrs r4, 24
adds r1, r5, 0
adds r2, r4, 0
bl m4aMPlayPanpotControl
- ldr r0, =gMPlay_SE2
+ ldr r0, =gMPlayInfo_SE2
adds r1, r5, 0
adds r2, r4, 0
bl m4aMPlayPanpotControl
diff --git a/asm/script_menu.s b/asm/script_menu.s
index be7cbfbc7..a2e2ec59e 100644
--- a/asm/script_menu.s
+++ b/asm/script_menu.s
@@ -444,7 +444,7 @@ task_yes_no_maybe: @ 80E215C
b _080E21C4
.pool
_080E2180:
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
movs r0, 0x1
@@ -676,9 +676,9 @@ _080E2360:
.pool
thumb_func_end sub_80E2308
- thumb_func_start sp109_CreatePCMenu
-@ bool sp109_CreatePCMenu()
-sp109_CreatePCMenu: @ 80E236C
+ thumb_func_start ScrSpecial_CreatePCMenu
+@ bool ScrSpecial_CreatePCMenu()
+ScrSpecial_CreatePCMenu: @ 80E236C
push {lr}
ldr r0, =sub_80E2058
bl FuncIsActiveTask
@@ -698,7 +698,7 @@ _080E2394:
_080E2396:
pop {r1}
bx r1
- thumb_func_end sp109_CreatePCMenu
+ thumb_func_end ScrSpecial_CreatePCMenu
thumb_func_start CreatePCMenu
CreatePCMenu: @ 80E239C
@@ -836,7 +836,7 @@ _080E24C6:
adds r1, r4, 0
adds r2, r7, 0
movs r3, 0x11
- bl sub_819A024
+ bl PrintPlayerNameOnWindow
adds r0, r6, 0
mov r1, r8
movs r2, 0
@@ -858,8 +858,8 @@ _080E24C6:
.pool
thumb_func_end CreatePCMenu
- thumb_func_start sub_80E2514
-sub_80E2514: @ 80E2514
+ thumb_func_start ScriptMenu_DisplayPCStartupPrompt
+ScriptMenu_DisplayPCStartupPrompt: @ 80E2514
push {lr}
sub sp, 0x10
movs r0, 0
@@ -877,12 +877,12 @@ sub_80E2514: @ 80E2514
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
add sp, 0x10
pop {r0}
bx r0
.pool
- thumb_func_end sub_80E2514
+ thumb_func_end ScriptMenu_DisplayPCStartupPrompt
thumb_func_start sub_80E2548
sub_80E2548: @ 80E2548
@@ -1316,7 +1316,7 @@ _080E28CA:
ldr r1, =gSprites
adds r0, r1
ldrb r1, [r4, 0xC]
- bl sub_80B6070
+ bl FreeResourcesAndDestroySprite
_080E28DE:
ldrh r0, [r4, 0x8]
adds r0, 0x1
@@ -1363,7 +1363,7 @@ ScriptMenu_ShowPokemonPic: @ 80E2900
asrs r2, 16
mov r0, r8
movs r3, 0
- bl sub_80B5F84
+ bl CreateMonSprite_PicBox
adds r5, r0, 0
lsls r5, 24
lsrs r5, 24
@@ -1606,7 +1606,7 @@ _080E2B12:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
b _080E2B70
.pool
_080E2B40:
@@ -1630,7 +1630,7 @@ _080E2B40:
movs r0, 0
movs r1, 0x1
movs r3, 0
- bl AddTextPrinterParametrized
+ bl AddTextPrinterParameterized
_080E2B70:
add sp, 0x10
pop {r4}
diff --git a/asm/script_movement.s b/asm/script_movement.s
deleted file mode 100755
index 5f06fd179..000000000
--- a/asm/script_movement.s
+++ /dev/null
@@ -1,577 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ScriptMovement_StartObjectMovementScript
-ScriptMovement_StartObjectMovementScript: @ 80D32E8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080D330A
- movs r0, 0x1
- b _080D3332
-_080D330A:
- ldr r0, =sub_80D3660
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080D331C
- movs r0, 0x32
- bl sub_80D33AC
-_080D331C:
- bl sub_80D33F4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- ldrb r1, [r1]
- adds r2, r4, 0
- bl sub_80D3408
- lsls r0, 24
- lsrs r0, 24
-_080D3332:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end ScriptMovement_StartObjectMovementScript
-
- thumb_func_start ScriptMovement_IsObjectMovementFinished
-ScriptMovement_IsObjectMovementFinished: @ 80D3340
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080D3382
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080D3382
- adds r0, r4, 0
- bl sub_80D3584
- lsls r0, 24
- lsrs r0, 24
- b _080D3384
-_080D3382:
- movs r0, 0x1
-_080D3384:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMovement_IsObjectMovementFinished
-
- thumb_func_start sub_80D338C
-sub_80D338C: @ 80D338C
- push {r4,lr}
- bl sub_80D33F4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080D33A6
- adds r0, r4, 0
- bl sub_80D361C
- adds r0, r4, 0
- bl DestroyTask
-_080D33A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D338C
-
- thumb_func_start sub_80D33AC
-sub_80D33AC: @ 80D33AC
- push {r4,r5,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, =sub_80D3660
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r5, =gTasks + 0x8
- ldr r0, =0x0000ffff
- adds r4, r0, 0
-_080D33CC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080D33CC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D33AC
-
- thumb_func_start sub_80D33F4
-sub_80D33F4: @ 80D33F4
- push {lr}
- ldr r0, =sub_80D3660
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80D33F4
-
- thumb_func_start sub_80D3408
-sub_80D3408: @ 80D3408
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3444
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D3584
- lsls r0, 24
- cmp r0, 0
- beq _080D3464
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- b _080D345A
-_080D3444:
- adds r0, r7, 0
- movs r1, 0xFF
- bl sub_80D3474
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080D3464
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
-_080D345A:
- mov r3, r9
- bl sub_80D35DC
- movs r0, 0
- b _080D3466
-_080D3464:
- movs r0, 0x1
-_080D3466:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D3408
-
- thumb_func_start sub_80D3474
-sub_80D3474: @ 80D3474
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- movs r2, 0
-_080D348C:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080D349C
- adds r0, r2, 0
- b _080D34AA
- .pool
-_080D349C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r2, 0xF
- bls _080D348C
- movs r0, 0x10
-_080D34AA:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3474
-
- thumb_func_start sub_80D34B0
-sub_80D34B0: @ 80D34B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r1, 0x2
- str r1, [r2]
- movs r0, 0
- cmp r0, r3
- bcs _080D34DC
-_080D34CE:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x1
- cmp r0, r3
- bcc _080D34CE
- str r1, [r2]
-_080D34DC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D34B0
-
- thumb_func_start sub_80D34E4
-sub_80D34E4: @ 80D34E4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- strb r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D34E4
-
- thumb_func_start sub_80D3508
-sub_80D3508: @ 80D3508
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r2, sp
- bl sub_80D34B0
- ldr r0, [sp]
- ldrb r0, [r0]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3508
-
- thumb_func_start sub_80D352C
-sub_80D352C: @ 80D352C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, =gBitTable
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- mvns r2, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r3, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x8]
- ands r2, r0
- strh r2, [r1, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D352C
-
- thumb_func_start sub_80D355C
-sub_80D355C: @ 80D355C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r2, 0x8]
- bx lr
- .pool
- thumb_func_end sub_80D355C
-
- thumb_func_start sub_80D3584
-sub_80D3584: @ 80D3584
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _080D35B4
- movs r0, 0
- b _080D35B6
- .pool
-_080D35B4:
- movs r0, 0x1
-_080D35B6:
- pop {r1}
- bx r1
- thumb_func_end sub_80D3584
-
- thumb_func_start npc_obj_offscreen_culling_and_flag_update
-npc_obj_offscreen_culling_and_flag_update: @ 80D35BC
- lsls r0, 24
- ldr r2, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r2
- str r1, [r0]
- bx lr
- .pool
- thumb_func_end npc_obj_offscreen_culling_and_flag_update
-
- thumb_func_start sub_80D35CC
-sub_80D35CC: @ 80D35CC
- lsls r0, 24
- ldr r1, =gUnknown_02039D90
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_80D35CC
-
- thumb_func_start sub_80D35DC
-sub_80D35DC: @ 80D35DC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D352C
- adds r0, r4, 0
- mov r1, r8
- bl npc_obj_offscreen_culling_and_flag_update
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80D34E4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D35DC
-
- thumb_func_start sub_80D361C
-sub_80D361C: @ 80D361C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- adds r4, r1, 0x2
- movs r5, 0
-_080D3630:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080D3646
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl npc_sync_anim_pause_bits
-_080D3646:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r5, 0xF
- bls _080D3630
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80D361C
-
- thumb_func_start sub_80D3660
-sub_80D3660: @ 80D3660
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- mov r6, sp
-_080D366C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_80D3508
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080D3690
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80D35CC
- adds r3, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80D36A4
-_080D3690:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080D366C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3660
-
- thumb_func_start sub_80D36A4
-sub_80D36A4: @ 80D36A4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080D36DC
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080D370E
-_080D36DC:
- ldrb r1, [r5]
- cmp r1, 0xFE
- bne _080D36F8
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80D355C
- adds r0, r4, 0
- bl sub_8097404
- b _080D370E
- .pool
-_080D36F8:
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- lsls r0, 24
- cmp r0, 0
- bne _080D370E
- adds r5, 0x1
- mov r0, r8
- adds r1, r5, 0
- bl npc_obj_offscreen_culling_and_flag_update
-_080D370E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D36A4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index 3a3cf4269..bf1d0e156 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -390,7 +390,7 @@ _080F8AB6:
thumb_func_start sub_80F8ACC
sub_80F8ACC: @ 80F8ACC
push {lr}
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
@@ -505,10 +505,10 @@ _080F8BBA:
ldr r2, [r1]
ldrb r1, [r2, 0x5]
ldrb r2, [r2, 0x4]
- bl GetFieldObjectIdByLocalIdAndMap
+ bl GetEventObjectIdByLocalIdAndMap
lsls r0, 24
lsrs r0, 24
- ldr r2, =gMapObjects
+ ldr r2, =gEventObjects
lsls r1, r0, 3
adds r1, r0
lsls r1, 2
@@ -534,12 +534,12 @@ _080F8BBA:
cmp r0, 0
bne _080F8C2C
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette33
+ ldr r0, =gEventObjectPalette33
b _080F8C42
.pool
_080F8C2C:
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette34
+ ldr r0, =gEventObjectPalette34
b _080F8C42
.pool
_080F8C38:
@@ -547,7 +547,7 @@ _080F8C38:
cmp r0, 0
bne _080F8C50
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette8
+ ldr r0, =gEventObjectPalette8
_080F8C42:
movs r2, 0x20
bl LoadPalette
@@ -555,7 +555,7 @@ _080F8C42:
.pool
_080F8C50:
lsrs r1, r4, 16
- ldr r0, =gFieldObjectPalette17
+ ldr r0, =gEventObjectPalette17
movs r2, 0x20
bl LoadPalette
_080F8C5A:
@@ -737,8 +737,8 @@ _080F8DD8:
bl LoadCompressedObjectPalette
adds r0, r6, 0
movs r1, 0x1
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
ldrh r1, [r4, 0x4]
strh r1, [r0, 0x2]
mov r1, r9
@@ -1100,7 +1100,7 @@ sub_80F90DC: @ 80F90DC
bl sub_800E0E8
movs r0, 0x8
movs r1, 0x8
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080F90FE:
pop {r0}
bx r0
@@ -1174,8 +1174,8 @@ _080F917A:
bx r1
thumb_func_end sub_80F9160
- thumb_func_start sp000_heal_pokemon
-sp000_heal_pokemon: @ 80F9180
+ thumb_func_start HealPlayerParty
+HealPlayerParty: @ 80F9180
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1267,7 +1267,7 @@ _080F922C:
pop {r0}
bx r0
.pool
- thumb_func_end sp000_heal_pokemon
+ thumb_func_end HealPlayerParty
thumb_func_start ScriptGiveMon
@ void ScriptGiveMon(s16 species_num, u8 level, int held_item)
@@ -1359,8 +1359,8 @@ ScriptGiveEgg: @ 80F92C8
bx r1
thumb_func_end ScriptGiveEgg
- thumb_func_start sub_80F92F8
-sub_80F92F8: @ 80F92F8
+ thumb_func_start HasEnoughMonsForDoubleBattle
+HasEnoughMonsForDoubleBattle: @ 80F92F8
push {lr}
bl GetMonsStateToDoubles
lsls r0, 24
@@ -1382,7 +1382,7 @@ _080F9318:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80F92F8
+ thumb_func_end HasEnoughMonsForDoubleBattle
thumb_func_start sub_80F9320
sub_80F9320: @ 80F9320
@@ -1559,7 +1559,7 @@ _080F9478:
movs r0, 0x1
strh r0, [r1]
_080F947E:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
@@ -1599,7 +1599,7 @@ _080F94D0:
movs r0, 0x1
strh r0, [r1]
_080F94D6:
- ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
+ ldr r0, =CB2_ReturnToFieldContinueScriptPlayMapMusic
bl SetMainCallback2
pop {r0}
bx r0
diff --git a/asm/shop.s b/asm/shop.s
index 94756624c..1412fef22 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -188,7 +188,7 @@ HandleShopMenuBuy: @ 80DFBD0
str r0, [r1]
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
pop {r4}
pop {r0}
bx r0
@@ -216,7 +216,7 @@ HandleShopMenuSell: @ 80DFC0C
str r0, [r1]
movs r0, 0x1
movs r1, 0
- bl fade_screen
+ bl FadeScreen
pop {r4}
pop {r0}
bx r0
@@ -230,7 +230,7 @@ CB2_ExitSellMenu: @ 80DFC48
ldr r0, =gFieldCallback
ldr r1, =MapPostLoadHook_ExitBuyOrSellMenu
str r1, [r0]
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
pop {r0}
bx r0
@@ -316,7 +316,7 @@ Task_ExitSellMenu: @ 80DFCF8
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
- bl sub_80ABDFC
+ bl IsWeatherNotFadingIn
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -409,7 +409,7 @@ _080DFDAC:
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r0, =gUnknown_03006310
+ ldr r0, =gMultiuseListMenuTemplate
movs r1, 0
movs r2, 0
bl ListMenuInit
@@ -448,7 +448,7 @@ _080DFE20:
ldr r2, =0x01000100
add r0, sp, 0x8
bl CpuFastSet
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl reset_temp_tile_data_buffers
bl FreeAllSpritePalettes
bl ResetPaletteFade
@@ -601,7 +601,7 @@ _080DFF78:
movs r0, 0x2
negs r0, r0
str r0, [r1, 0x4]
- ldr r3, =gUnknown_03006310
+ ldr r3, =gMultiuseListMenuTemplate
adds r1, r3, 0
ldr r0, =gUnknown_08589A48
ldm r0!, {r4-r6}
@@ -627,7 +627,7 @@ _080DFFDC:
_080DFFDE:
ldr r0, =gUnknown_02039F70
ldr r0, [r0]
- ldr r1, =gUnknown_03006310
+ ldr r1, =gMultiuseListMenuTemplate
ldrh r1, [r1, 0xE]
ldr r2, =0x00002004
adds r0, r2
@@ -790,7 +790,7 @@ BuyMenuPrintPriceInList: @ 80E0114
ldr r5, =gStringVar1
lsls r0, r1, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -839,7 +839,7 @@ _080E0176:
adds r0, r6, 0
movs r1, 0x7
adds r3, r7, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
_080E01AC:
add sp, 0x14
pop {r4-r7}
@@ -877,7 +877,7 @@ BuyMenuAddScrollIndicatorArrows: @ 80E01C8
movs r1, 0xAC
movs r2, 0xC
movs r3, 0x94
- bl AddScrollIndicatorArrowPairParametrized
+ bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r5]
adds r1, r4
strb r0, [r1]
@@ -969,7 +969,7 @@ _080E02AE:
ldr r0, =0x0000083e
adds r1, r3, r0
adds r0, r1, 0
- bl AddItemIconObject
+ bl AddItemIconSprite
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
@@ -1157,11 +1157,11 @@ BuyMenuInitWindows: @ 80E0468
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0xA
movs r2, 0xE0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
@@ -1201,7 +1201,7 @@ BuyMenuPrint: @ 80E04A4
str r6, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
add sp, 0x14
pop {r4-r6}
pop {r0}
@@ -1219,7 +1219,7 @@ BuyMenuDisplayMessage: @ 80E04E8
adds r6, r2, 0
lsls r4, 24
lsrs r4, 24
- bl sav2_get_text_speed
+ bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -1277,8 +1277,8 @@ BuyMenuDrawGraphics: @ 80E0524
@ void BuyMenuDrawMapGraphics()
BuyMenuDrawMapGraphics: @ 80E0570
push {lr}
- bl BuyMenuCollectFieldObjectData
- bl BuyMenuDrawFieldObjects
+ bl BuyMenuCollectEventObjectData
+ bl BuyMenuDrawEventObjects
bl BuyMenuDrawMapBg
pop {r0}
bx r0
@@ -1525,9 +1525,9 @@ BuyMenuDrawMapMetatileLayer: @ 80E0734
bx lr
thumb_func_end BuyMenuDrawMapMetatileLayer
- thumb_func_start BuyMenuCollectFieldObjectData
-@ void BuyMenuCollectFieldObjectData()
-BuyMenuCollectFieldObjectData: @ 80E075C
+ thumb_func_start BuyMenuCollectEventObjectData
+@ void BuyMenuCollectEventObjectData()
+BuyMenuCollectEventObjectData: @ 80E075C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1584,7 +1584,7 @@ _080E07AA:
lsls r1, 16
asrs r1, 16
str r3, [sp, 0x10]
- bl GetFieldObjectIdByXY
+ bl GetEventObjectIdByXY
lsls r0, 24
lsrs r6, r0, 24
ldr r3, [sp, 0x10]
@@ -1633,7 +1633,7 @@ _080E07AA:
lsrs r0, 24
mov r1, r12
strh r0, [r1]
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
lsls r0, r6, 3
adds r0, r6
lsls r0, 2
@@ -1716,11 +1716,11 @@ _080E08DA:
pop {r0}
bx r0
.pool
- thumb_func_end BuyMenuCollectFieldObjectData
+ thumb_func_end BuyMenuCollectEventObjectData
- thumb_func_start BuyMenuDrawFieldObjects
-@ void BuyMenuDrawFieldObjects()
-BuyMenuDrawFieldObjects: @ 80E08F0
+ thumb_func_start BuyMenuDrawEventObjects
+@ void BuyMenuDrawEventObjects()
+BuyMenuDrawEventObjects: @ 80E08F0
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -1730,7 +1730,7 @@ BuyMenuDrawFieldObjects: @ 80E08F0
movs r7, 0
ldr r0, =gUnknown_02039F70
mov r8, r0
- ldr r1, =gMapObjects
+ ldr r1, =gEventObjects
mov r10, r1
ldr r2, =gSprites
mov r9, r2
@@ -1753,7 +1753,7 @@ _080E090A:
lsls r0, 2
add r0, r10
ldrb r0, [r0, 0x5]
- bl GetFieldObjectGraphicsInfo
+ bl GetEventObjectGraphicsInfo
mov r4, r8
ldr r3, [r4]
ldr r2, =0x00002010
@@ -1792,7 +1792,7 @@ _080E090A:
str r0, [sp]
adds r0, r4, 0
ldr r1, =SpriteCallbackDummy
- bl AddPseudoFieldObject
+ bl AddPseudoEventObject
lsls r0, 24
lsrs r4, r0, 24
adds r6, r4, 0
@@ -1801,7 +1801,7 @@ _080E090A:
mov r3, r8
ldr r0, [r3]
adds r0, r1
- bl BuyMenuCheckIfFieldObjectOverlapsMenuBg
+ bl BuyMenuCheckIfEventObjectOverlapsMenuBg
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -1850,10 +1850,10 @@ _080E09D8:
pop {r0}
bx r0
.pool
- thumb_func_end BuyMenuDrawFieldObjects
+ thumb_func_end BuyMenuDrawEventObjects
- thumb_func_start BuyMenuCheckIfFieldObjectOverlapsMenuBg
-BuyMenuCheckIfFieldObjectOverlapsMenuBg: @ 80E0A14
+ thumb_func_start BuyMenuCheckIfEventObjectOverlapsMenuBg
+BuyMenuCheckIfEventObjectOverlapsMenuBg: @ 80E0A14
push {r4,lr}
adds r4, r0, 0
movs r1, 0x2
@@ -1877,7 +1877,7 @@ _080E0A3A:
pop {r4}
pop {r1}
bx r1
- thumb_func_end BuyMenuCheckIfFieldObjectOverlapsMenuBg
+ thumb_func_end BuyMenuCheckIfEventObjectOverlapsMenuBg
thumb_func_start BuyMenuCopyMenuBgToBg1TilemapBuffer
@ void BuyMenuCopyMenuBgToBg1TilemapBuffer()
@@ -1976,7 +1976,7 @@ Task_BuyMenu: @ 80E0AC8
b _080E0C8E
_080E0AEA:
ldrb r0, [r4, 0xE]
- bl ListMenuHandleInput
+ bl ListMenuHandleInputGetItemId
adds r5, r0, 0
ldrb r0, [r4, 0xE]
ldr r7, =gUnknown_02039F70
@@ -1985,7 +1985,7 @@ _080E0AEA:
adds r1, r2, r3
subs r3, 0x2
adds r2, r3
- bl get_coro_args_x18_x1A
+ bl ListMenuGetScrollAndRow
movs r0, 0x2
negs r0, r0
cmp r5, r0
@@ -2017,7 +2017,7 @@ _080E0B32:
bne _080E0B80
lsls r0, r5, 16
lsrs r0, 16
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -2259,7 +2259,7 @@ Task_BuyHowManyDialogueHandleInput: @ 80E0D88
cmp r0, 0x1
bne _080E0DF0
ldrh r0, [r5, 0xA]
- bl itemid_get_market_price
+ bl ItemId_GetPrice
adds r4, r0, 0
movs r0, 0x1
bl GetPriceReduction
@@ -2706,7 +2706,7 @@ Task_ExitBuyMenu: @ 80E11B0
bne _080E11D6
bl RemoveMoneyLabelObject
bl BuyMenuFreeMemory
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
adds r0, r4, 0
bl DestroyTask
diff --git a/asm/slot_machine.s b/asm/slot_machine.s
index 6390ae992..4f76d1b69 100644
--- a/asm/slot_machine.s
+++ b/asm/slot_machine.s
@@ -634,12 +634,12 @@ sub_812AA48: @ 812AA48
lsls r1, 2
movs r0, 0
movs r2, 0xF0
- bl copy_textbox_border_tile_patterns_to_vram
+ bl LoadMessageBoxGfx
movs r1, 0x85
lsls r1, 2
movs r0, 0
movs r2, 0xE0
- bl sub_809882C
+ bl LoadUserWindowBorderGfx
movs r0, 0
bl PutWindowTilemap
pop {r0}
@@ -975,7 +975,7 @@ sub_812ACF4: @ 812ACF4
sub sp, 0xC
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_YouDontHaveThreeCoins
movs r0, 0x1
str r0, [sp]
@@ -1543,7 +1543,7 @@ sub_812B158: @ 812B158
sub sp, 0xC
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_QuitTheGame
movs r0, 0x1
str r0, [sp]
@@ -1581,7 +1581,7 @@ sub_812B158: @ 812B158
thumb_func_start sub_812B1B0
sub_812B1B0: @ 812B1B0
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -1633,7 +1633,7 @@ sub_812B214: @ 812B214
sub sp, 0xC
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_YouveGot9999Coins
movs r0, 0x1
str r0, [sp]
@@ -1686,7 +1686,7 @@ sub_812B280: @ 812B280
sub sp, 0xC
movs r0, 0
movs r1, 0
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_YouveRunOutOfCoins
movs r0, 0x1
str r0, [sp]
@@ -5583,7 +5583,7 @@ _0812D08E:
lsrs r3, 24
adds r1, r3, 0
adds r2, r3, 0
- bl sub_80B6128
+ bl MultiplyPaletteRGBComponents
_0812D0A6:
pop {r4-r7}
pop {r0}
@@ -8934,7 +8934,7 @@ sub_812EB48: @ 812EB48
ldrb r3, [r1]
adds r1, r3, 0
adds r2, r3, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
ldrh r0, [r4, 0x38]
adds r0, 0x1
movs r1, 0x1
@@ -8979,7 +8979,7 @@ sub_812EBCC: @ 812EBCC
movs r1, 0
movs r2, 0
movs r3, 0
- bl sub_80B609C
+ bl MultiplyInvertedPaletteRGBComponents
movs r4, 0
_0812EBEA:
ldr r0, =gUnknown_0203AB34
@@ -10588,7 +10588,7 @@ sub_812F7E4: @ 812F7E4
bl Alloc
adds r1, r0, 0
str r1, [r4]
- ldr r0, =gUnknown_08DD0050
+ ldr r0, =gSlotMachineReelTime_Gfx
bl LZDecompressWram
ldr r4, =gUnknown_0203AAD8
movs r0, 0xD8
@@ -10715,14 +10715,14 @@ sub_812F908: @ 812F908
bl Alloc
adds r1, r0, 0
str r1, [r4]
- ldr r0, =gUnknown_08DCDB30
+ ldr r0, =gSlotMachineMenu_Gfx
bl LZDecompressWram
ldr r1, [r4]
movs r0, 0x2
adds r2, r5, 0
movs r3, 0
bl LoadBgTiles
- ldr r0, =gUnknown_08DCDA90
+ ldr r0, =gSlotMachineMenu_Pal
movs r1, 0
movs r2, 0xA0
bl LoadPalette
@@ -10748,7 +10748,7 @@ sub_812F958: @ 812F958
thumb_func_start sub_812F968
sub_812F968: @ 812F968
push {lr}
- ldr r1, =gUnknown_08DCE770
+ ldr r1, =gSlotMachineMenu_Tilemap
movs r2, 0xA0
lsls r2, 3
movs r0, 0x2
diff --git a/asm/smokescreen.s b/asm/smokescreen.s
deleted file mode 100755
index 464e25c40..000000000
--- a/asm/smokescreen.s
+++ /dev/null
@@ -1,214 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_807521C
-sub_807521C: @ 807521C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r5, =gUnknown_0831C620
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, =0xffff0000
- cmp r0, r1
- bne _0807524E
- adds r0, r5, 0
- bl LoadCompressedObjectPicUsingHeap
- ldr r0, =gUnknown_0831C628
- bl LoadCompressedObjectPaletteUsingHeap
-_0807524E:
- ldr r0, =sub_8075370
- bl CreateInvisibleSpriteWithCallback
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r0, =gSprites
- adds r5, r0
- strh r4, [r5, 0x30]
- ldr r0, =gUnknown_0831C688
- mov r9, r0
- lsls r6, 16
- asrs r0, r6, 16
- mov r10, r0
- ldr r0, =0xfff00000
- adds r6, r0
- asrs r6, 16
- lsls r4, r7, 16
- asrs r7, r4, 16
- adds r4, r0
- asrs r4, 16
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- mov r0, r8
- strh r0, [r1, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r1, 0
- bl AnimateSprite
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r9
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r9
- mov r1, r10
- adds r2, r7, 0
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r4, 0
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r4, 0
- bl AnimateSprite
- mov r0, r8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_807521C
-
- thumb_func_start sub_8075370
-sub_8075370: @ 8075370
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080753A8
- ldr r0, =gUnknown_0831C620
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r0, =gUnknown_0831C628
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080753A4
- adds r0, r4, 0
- bl DestroySprite
- b _080753A8
- .pool
-_080753A4:
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_080753A8:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8075370
-
- thumb_func_start sub_80753B4
-sub_80753B4: @ 80753B4
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080753DE
- ldr r2, =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2E]
- subs r1, 0x1
- strh r1, [r0, 0x2E]
- adds r0, r3, 0
- bl DestroySprite
-_080753DE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80753B4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/start_menu.s b/asm/start_menu.s
deleted file mode 100644
index 634425f80..000000000
--- a/asm/start_menu.s
+++ /dev/null
@@ -1,2101 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start PrintStartMenuActions
-PrintStartMenuActions: @ 809F7C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- adds r6, r1, 0
- ldrb r2, [r0]
- ldr r0, =sStartMenuItems
- mov r9, r0
- ldr r1, =gStringVar4
- mov r10, r1
-_0809F7DA:
- ldr r0, =sCurrentStartMenuActions
- lsls r2, 24
- asrs r4, r2, 24
- adds r5, r4, r0
- ldrb r0, [r5]
- lsls r3, r0, 3
- mov r0, r9
- adds r0, 0x4
- adds r0, r3, r0
- ldr r1, [r0]
- ldr r0, =StartMenu_PlayerName
- adds r7, r2, 0
- cmp r1, r0
- bne _0809F828
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- lsls r1, 3
- add r1, r9
- ldr r1, [r1]
- lsls r3, r4, 4
- adds r3, 0x9
- lsls r3, 16
- lsrs r3, 16
- movs r2, 0x8
- bl sub_819A024
- b _0809F858
- .pool
-_0809F828:
- mov r1, r9
- adds r0, r3, r1
- ldr r1, [r0]
- mov r0, r10
- bl StringExpandPlaceholders
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- mov r2, r10
- movs r3, 0x8
- bl PrintTextOnWindow
-_0809F858:
- movs r0, 0x80
- lsls r0, 17
- adds r1, r7, r0
- lsrs r2, r1, 24
- asrs r1, 24
- ldr r0, =sNumStartMenuActions
- ldrb r0, [r0]
- cmp r1, r0
- bge _0809F87C
- subs r6, 0x1
- cmp r6, 0
- bne _0809F7DA
- mov r1, r8
- strb r2, [r1]
- movs r0, 0
- b _0809F882
- .pool
-_0809F87C:
- mov r0, r8
- strb r2, [r0]
- movs r0, 0x1
-_0809F882:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end PrintStartMenuActions
-
- thumb_func_start sub_809F894
-sub_809F894: @ 809F894
- push {r4,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_02037619
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r2, r0, 0
- cmp r1, 0x5
- bhi _0809F98C
- lsls r0, r1, 2
- ldr r1, =_0809F8B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0809F8B8:
- .4byte _0809F8D0
- .4byte _0809F8D8
- .4byte _0809F8E4
- .4byte _0809F90C
- .4byte _0809F930
- .4byte _0809F94C
-_0809F8D0:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0809F98C
-_0809F8D8:
- bl BuildStartMenuActions
- ldr r1, =gUnknown_02037619
- b _0809F940
- .pool
-_0809F8E4:
- bl sub_81973A4
- ldr r0, =sNumStartMenuActions
- ldrb r0, [r0]
- bl sub_81979C4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_81973FC
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1, 0x1]
- b _0809F940
- .pool
-_0809F90C:
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _0809F918
- bl DisplaySafariBallsWindow
-_0809F918:
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809F926
- bl DisplayPyramidFloorWindow
-_0809F926:
- ldr r1, =gUnknown_02037619
- b _0809F940
- .pool
-_0809F930:
- ldr r4, =gUnknown_0203761A
- adds r0, r4, 0
- movs r1, 0x2
- bl PrintStartMenuActions
- cmp r0, 0
- beq _0809F98C
- subs r1, r4, 0x1
-_0809F940:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809F98C
- .pool
-_0809F94C:
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x10
- str r1, [sp]
- ldr r1, =sNumStartMenuActions
- ldrb r1, [r1]
- str r1, [sp, 0x4]
- ldr r4, =sStartMenuCursorPos
- ldrb r1, [r4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x9
- bl sub_81983AC
- strb r0, [r4]
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl CopyWindowToVram
- movs r0, 0x1
- b _0809F98E
- .pool
-_0809F98C:
- movs r0, 0
-_0809F98E:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F894
-
- thumb_func_start sub_809F998
-sub_809F998: @ 809F998
- push {lr}
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
-_0809F9A2:
- bl sub_809F894
- cmp r0, 0
- beq _0809F9A2
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F998
-
- thumb_func_start task50_startmenu
-task50_startmenu: @ 809F9B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809F894
- cmp r0, 0x1
- bne _0809F9C8
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_0809F9C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task50_startmenu
-
- thumb_func_start sub_809F9D0
-sub_809F9D0: @ 809F9D0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- ldr r4, =task50_startmenu
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809F9D0
-
- thumb_func_start sub_809FA00
-sub_809FA00: @ 809FA00
- push {lr}
- bl sub_809F894
- cmp r0, 0
- beq _0809FA12
- bl sub_80AF688
- movs r0, 0x1
- b _0809FA14
-_0809FA12:
- movs r0, 0
-_0809FA14:
- pop {r1}
- bx r1
- thumb_func_end sub_809FA00
-
- thumb_func_start sub_809FA18
-sub_809FA18: @ 809FA18
- ldr r1, =gUnknown_02037619
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- ldr r1, =gUnknown_03005DB0
- ldr r0, =sub_809FA00
- str r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_809FA18
-
- thumb_func_start sub_809FA34
-sub_809FA34: @ 809FA34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809FA58
- cmp r0, 0x1
- beq _0809FA7C
- b _0809FA92
- .pool
-_0809FA58:
- bl InUnionRoom
- cmp r0, 0x1
- bne _0809FA64
- bl var_800D_set_xB
-_0809FA64:
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0809FA92
- .pool
-_0809FA7C:
- ldr r0, =gUnknown_03005DF4
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809FA92
- adds r0, r5, 0
- bl DestroyTask
-_0809FA92:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FA34
-
- thumb_func_start sub_809FA9C
-sub_809FA9C: @ 809FA9C
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0
- bne _0809FAB2
- bl player_bitmagic
- bl sub_808B864
- bl sub_808BCF4
-_0809FAB2:
- ldr r0, =sub_809FA34
- bl sub_809F9D0
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FA9C
-
- thumb_func_start HandleStartMenuInput
-HandleStartMenuInput: @ 809FAC4
- push {r4,lr}
- ldr r4, =gMain
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809FAE4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- ldr r1, =sStartMenuCursorPos
- strb r0, [r1]
-_0809FAE4:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FAFE
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, =sStartMenuCursorPos
- strb r0, [r1]
-_0809FAFE:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809FB98
- movs r0, 0x5
- bl PlaySE
- ldr r1, =sStartMenuItems
- ldr r2, =sCurrentStartMenuActions
- ldr r0, =sStartMenuCursorPos
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- ldr r0, =StartMenu_Pokedex
- cmp r1, r0
- bne _0809FB34
- movs r0, 0
- bl pokedex_count
- lsls r0, 16
- cmp r0, 0
- beq _0809FBA0
-_0809FB34:
- ldr r3, =gUnknown_03005DF4
- ldr r1, =sStartMenuItems
- ldr r2, =sCurrentStartMenuActions
- ldr r0, =sStartMenuCursorPos
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r3]
- ldr r0, =StartMenu_Save
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_Exit
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_SafariZoneRetire
- cmp r1, r0
- beq _0809FBA0
- ldr r0, =StartMenu_BattlePyramidRetire
- cmp r1, r0
- beq _0809FBA0
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- b _0809FBA0
- .pool
-_0809FB98:
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- bne _0809FBA4
-_0809FBA0:
- movs r0, 0
- b _0809FBAE
-_0809FBA4:
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- movs r0, 0x1
-_0809FBAE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end HandleStartMenuInput
-
- thumb_func_start StartMenu_Pokedex
-StartMenu_Pokedex: @ 809FBB4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FBCC
- movs r0, 0
- b _0809FBE6
- .pool
-_0809FBCC:
- movs r0, 0x29
- bl IncrementGameStat
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_80BB534
- bl SetMainCallback2
- movs r0, 0x1
-_0809FBE6:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Pokedex
-
- thumb_func_start StartMenu_Pokemon
-StartMenu_Pokemon: @ 809FBF0
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC08
- movs r0, 0
- b _0809FC1C
- .pool
-_0809FC08:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_PartyMenuFromStartMenu
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC1C:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Pokemon
-
- thumb_func_start StartMenu_Bag
-StartMenu_Bag: @ 809FC24
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC3C
- movs r0, 0
- b _0809FC50
- .pool
-_0809FC3C:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_BagMenuFromStartMenu
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC50:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Bag
-
- thumb_func_start StartMenu_PokeNav
-StartMenu_PokeNav: @ 809FC58
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FC70
- movs r0, 0
- b _0809FC84
- .pool
-_0809FC70:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_PokeNav
- bl SetMainCallback2
- movs r0, 0x1
-_0809FC84:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_PokeNav
-
- thumb_func_start StartMenu_PlayerName
-StartMenu_PlayerName: @ 809FC8C
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809FCF4
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- bl is_c1_link_related_active
- cmp r0, 0
- bne _0809FCB6
- bl InUnionRoom
- cmp r0, 0
- beq _0809FCC8
-_0809FCB6:
- ldr r0, =sub_8086194
- bl sub_80C4DDC
- b _0809FCEA
- .pool
-_0809FCC8:
- ldr r0, =0x000008d2
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809FCE4
- ldr r0, =sub_8086194
- bl sub_80C51C4
- b _0809FCEA
- .pool
-_0809FCE4:
- ldr r0, =sub_8086194
- bl sub_80C4DDC
-_0809FCEA:
- movs r0, 0x1
- b _0809FCF6
- .pool
-_0809FCF4:
- movs r0, 0
-_0809FCF6:
- pop {r1}
- bx r1
- thumb_func_end StartMenu_PlayerName
-
- thumb_func_start StartMenu_Save
-StartMenu_Save: @ 809FCFC
- push {lr}
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _0809FD0C
- bl RemoveExtraStartMenuWindows
-_0809FD0C:
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE28
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Save
-
- thumb_func_start StartMenu_Option
-StartMenu_Option: @ 809FD20
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FD38
- movs r0, 0
- b _0809FD52
- .pool
-_0809FD38:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =CB2_OptionsMenu
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_8086194
- str r0, [r1, 0x8]
- movs r0, 0x1
-_0809FD52:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_Option
-
- thumb_func_start StartMenu_Exit
-StartMenu_Exit: @ 809FD64
- push {lr}
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end StartMenu_Exit
-
- thumb_func_start StartMenu_SafariZoneRetire
-StartMenu_SafariZoneRetire: @ 809FD74
- push {lr}
- bl RemoveExtraStartMenuWindows
- bl sub_80A0934
- bl SafariZoneRetirePrompt
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end StartMenu_SafariZoneRetire
-
- thumb_func_start StartMenu_LinkModePlayerName
-StartMenu_LinkModePlayerName: @ 809FD88
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FDA0
- movs r0, 0
- b _0809FDB4
- .pool
-_0809FDA0:
- bl play_some_sound
- bl overworld_free_bg_tilemaps
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- ldr r1, =sub_8086194
- bl sub_80C4E74
- movs r0, 0x1
-_0809FDB4:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_LinkModePlayerName
-
- thumb_func_start StartMenu_BattlePyramidRetire
-StartMenu_BattlePyramidRetire: @ 809FDC0
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE9C
- str r0, [r1]
- movs r0, 0
- bx lr
- .pool
- thumb_func_end StartMenu_BattlePyramidRetire
-
- thumb_func_start sub_809FDD4
-sub_809FDD4: @ 809FDD4
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_8197DF8
- bl sub_80984F4
- ldr r0, =sub_809FA34
- bl sub_809F9D0
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FDD4
-
- thumb_func_start StartMenu_BattlePyramidBag
-StartMenu_BattlePyramidBag: @ 809FDF4
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809FE0C
- movs r0, 0
- b _0809FE20
- .pool
-_0809FE0C:
- bl play_some_sound
- bl RemoveExtraStartMenuWindows
- bl overworld_free_bg_tilemaps
- ldr r0, =sub_81C4EFC
- bl SetMainCallback2
- movs r0, 0x1
-_0809FE20:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StartMenu_BattlePyramidBag
-
- thumb_func_start sub_809FE28
-sub_809FE28: @ 809FE28
- push {lr}
- bl sub_809FF28
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FE44
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FE28
-
- thumb_func_start sub_809FE44
-sub_809FE44: @ 809FE44
- push {lr}
- bl sub_809FF4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809FE7C
- cmp r0, 0x1
- ble _0809FE94
- cmp r0, 0x2
- beq _0809FE60
- cmp r0, 0x3
- beq _0809FE7C
- b _0809FE94
-_0809FE60:
- movs r0, 0
- movs r1, 0
- bl sub_8197DF8
- bl sub_809F998
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- b _0809FE94
- .pool
-_0809FE7C:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197DF8
- bl sub_80984F4
- bl ScriptContext2_Disable
- bl sub_81A9EC8
- movs r0, 0x1
- b _0809FE96
-_0809FE94:
- movs r0, 0
-_0809FE96:
- pop {r1}
- bx r1
- thumb_func_end sub_809FE44
-
- thumb_func_start sub_809FE9C
-sub_809FE9C: @ 809FE9C
- push {lr}
- bl sub_80A0340
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FED4
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FE9C
-
- thumb_func_start sub_809FEB8
-sub_809FEB8: @ 809FEB8
- push {lr}
- bl sub_809F998
- ldr r1, =gUnknown_03005DF4
- ldr r0, =HandleStartMenuInput
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_809FEB8
-
- thumb_func_start sub_809FED4
-sub_809FED4: @ 809FED4
- push {lr}
- bl sub_809FF4C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809FEEC
- cmp r0, 0x1
- ble _0809FF20
- cmp r0, 0x2
- beq _0809FF00
- b _0809FF20
-_0809FEEC:
- bl RemoveExtraStartMenuWindows
- ldr r1, =gUnknown_03005DF4
- ldr r0, =sub_809FEB8
- str r0, [r1]
- b _0809FF20
- .pool
-_0809FF00:
- movs r0, 0
- movs r1, 0x1
- bl sub_8197DF8
- bl sub_80984F4
- bl ScriptContext2_Disable
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88
- bl ScriptContext1_SetupScript
- movs r0, 0x1
- b _0809FF22
- .pool
-_0809FF20:
- movs r0, 0
-_0809FF22:
- pop {r1}
- bx r1
- thumb_func_end sub_809FED4
-
- thumb_func_start sub_809FF28
-sub_809FF28: @ 809FF28
- push {lr}
- bl save_serialize_map
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A00A0
- str r0, [r1]
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF28
-
- thumb_func_start sub_809FF4C
-sub_809FF4C: @ 809FF4C
- push {lr}
- bl sub_8197224
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _0809FF78
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gUnknown_0203761C
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _0809FF7A
- .pool
-_0809FF78:
- movs r0, 0
-_0809FF7A:
- pop {r1}
- bx r1
- thumb_func_end sub_809FF4C
-
- thumb_func_start sub_809FF80
-sub_809FF80: @ 809FF80
- push {lr}
- bl sub_809FF28
- ldr r0, =task50_save_game
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF80
-
- thumb_func_start sub_809FF98
-sub_809FF98: @ 809FF98
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r0, =gStringVar4
- adds r1, r2, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0x1
- bl sub_819786C
- movs r0, 0x1
- bl AddTextPrinterForMessage_2
- ldr r1, =gUnknown_02037621
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gUnknown_0203761C
- str r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_809FF98
-
- thumb_func_start task50_save_game
-task50_save_game: @ 809FFD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809FF4C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _0809FFFC
- cmp r1, 0x1
- bgt _0809FFEC
- cmp r1, 0
- beq _080A000A
- b _080A0000
-_0809FFEC:
- cmp r1, 0x3
- bgt _080A0000
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- b _080A0000
- .pool
-_0809FFFC:
- ldr r0, =gSpecialVar_Result
- strh r1, [r0]
-_080A0000:
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080A000A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task50_save_game
-
- thumb_func_start sub_80A0014
-sub_80A0014: @ 80A0014
- push {lr}
- movs r0, 0
- movs r1, 0x1
- bl sub_8197434
- pop {r0}
- bx r0
- thumb_func_end sub_80A0014
-
- thumb_func_start sub_80A0024
-sub_80A0024: @ 80A0024
- push {lr}
- bl sub_80A0888
- pop {r0}
- bx r0
- thumb_func_end sub_80A0024
-
- thumb_func_start sub_80A0030
-sub_80A0030: @ 80A0030
- ldr r1, =gUnknown_02037620
- movs r0, 0x3C
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80A0030
-
- thumb_func_start sub_80A003C
-sub_80A003C: @ 80A003C
- push {lr}
- ldr r1, =gUnknown_02037620
- ldrb r0, [r1]
- subs r2, r0, 0x1
- strb r2, [r1]
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A0064
- lsls r0, r2, 24
- cmp r0, 0
- beq _080A006A
- movs r0, 0
- b _080A006C
- .pool
-_080A0064:
- movs r0, 0x5
- bl PlaySE
-_080A006A:
- movs r0, 0x1
-_080A006C:
- pop {r1}
- bx r1
- thumb_func_end sub_80A003C
-
- thumb_func_start sub_80A0070
-sub_80A0070: @ 80A0070
- push {lr}
- ldr r1, =gUnknown_02037620
- ldrb r0, [r1]
- cmp r0, 0
- bne _080A0094
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A0098
- movs r0, 0x1
- b _080A009A
- .pool
-_080A0094:
- subs r0, 0x1
- strb r0, [r1]
-_080A0098:
- movs r0, 0
-_080A009A:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0070
-
- thumb_func_start sub_80A00A0
-sub_80A00A0: @ 80A00A0
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_819746C
- bl remove_start_menu_window_maybe
- bl sub_80A06B4
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080A00D4
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CA7
- ldr r1, =sub_80A00EC
- bl sub_809FF98
- b _080A00DC
- .pool
-_080A00D4:
- ldr r0, =gUnknown_082C87B4
- ldr r1, =sub_80A00EC
- bl sub_809FF98
-_080A00DC:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A00A0
-
- thumb_func_start sub_80A00EC
-sub_80A00EC: @ 80A00EC
- push {lr}
- bl sub_8197930
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0108
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A00EC
-
- thumb_func_start sub_80A0108
-sub_80A0108: @ 80A0108
- push {lr}
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A012A
- cmp r1, 0
- bgt _080A0124
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A0168
- b _080A0174
-_080A0124:
- cmp r1, 0x1
- beq _080A0168
- b _080A0174
-_080A012A:
- ldr r0, =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A0136
- cmp r0, 0x2
- bne _080A013E
-_080A0136:
- ldr r0, =gDifferentSaveFile
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A0158
-_080A013E:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A017C
- str r0, [r1]
- b _080A0174
- .pool
-_080A0158:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0234
- str r0, [r1]
- b _080A0174
- .pool
-_080A0168:
- bl sub_80A0024
- bl sub_80A0014
- movs r0, 0x2
- b _080A0176
-_080A0174:
- movs r0, 0
-_080A0176:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0108
-
- thumb_func_start sub_80A017C
-sub_80A017C: @ 80A017C
- push {lr}
- ldr r0, =gDifferentSaveFile
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A019C
- ldr r0, =gUnknown_082C8845
- ldr r1, =sub_80A01B4
- bl sub_809FF98
- b _080A01A4
- .pool
-_080A019C:
- ldr r0, =gUnknown_082C87D5
- ldr r1, =sub_80A01D0
- bl sub_809FF98
-_080A01A4:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A017C
-
- thumb_func_start sub_80A01B4
-sub_80A01B4: @ 80A01B4
- push {lr}
- movs r0, 0x1
- bl sub_8197948
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A01EC
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A01B4
-
- thumb_func_start sub_80A01D0
-sub_80A01D0: @ 80A01D0
- push {lr}
- bl sub_8197930
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A01EC
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A01D0
-
- thumb_func_start sub_80A01EC
-sub_80A01EC: @ 80A01EC
- push {lr}
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A020E
- cmp r1, 0
- bgt _080A0208
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A0220
- b _080A022C
-_080A0208:
- cmp r1, 0x1
- beq _080A0220
- b _080A022C
-_080A020E:
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0234
- str r0, [r1]
- b _080A022C
- .pool
-_080A0220:
- bl sub_80A0024
- bl sub_80A0014
- movs r0, 0x2
- b _080A022E
-_080A022C:
- movs r0, 0
-_080A022E:
- pop {r1}
- bx r1
- thumb_func_end sub_80A01EC
-
- thumb_func_start sub_80A0234
-sub_80A0234: @ 80A0234
- push {lr}
- ldr r0, =gUnknown_082C8810
- ldr r1, =sub_80A024C
- bl sub_809FF98
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A0234
-
- thumb_func_start sub_80A024C
-sub_80A024C: @ 80A024C
- push {r4,lr}
- movs r0, 0
- bl IncrementGameStat
- bl sub_81A9E90
- ldr r4, =gDifferentSaveFile
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A0274
- movs r0, 0x4
- bl TrySavingData
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0
- strb r0, [r4]
- b _080A027E
- .pool
-_080A0274:
- movs r0, 0
- bl TrySavingData
- lsls r0, 24
- lsrs r1, r0, 24
-_080A027E:
- cmp r1, 0x1
- bne _080A0294
- ldr r0, =gUnknown_082C8832
- ldr r1, =sub_80A02B0
- bl sub_809FF98
- b _080A029C
- .pool
-_080A0294:
- ldr r0, =gUnknown_082C892A
- ldr r1, =sub_80A02FC
- bl sub_809FF98
-_080A029C:
- bl sub_80A0030
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A024C
-
- thumb_func_start sub_80A02B0
-sub_80A02B0: @ 80A02B0
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080A02CA
- movs r0, 0x37
- bl PlaySE
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A02D8
- str r0, [r1]
-_080A02CA:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A02B0
-
- thumb_func_start sub_80A02D8
-sub_80A02D8: @ 80A02D8
- push {lr}
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080A02F6
- bl sub_80A003C
- lsls r0, 24
- cmp r0, 0
- beq _080A02F6
- bl sub_80A0024
- movs r0, 0x1
- b _080A02F8
-_080A02F6:
- movs r0, 0
-_080A02F8:
- pop {r1}
- bx r1
- thumb_func_end sub_80A02D8
-
- thumb_func_start sub_80A02FC
-sub_80A02FC: @ 80A02FC
- push {lr}
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _080A0316
- movs r0, 0x16
- bl PlaySE
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A0324
- str r0, [r1]
-_080A0316:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A02FC
-
- thumb_func_start sub_80A0324
-sub_80A0324: @ 80A0324
- push {lr}
- bl sub_80A0070
- lsls r0, 24
- cmp r0, 0
- beq _080A0338
- bl sub_80A0024
- movs r0, 0x3
- b _080A033A
-_080A0338:
- movs r0, 0
-_080A033A:
- pop {r1}
- bx r1
- thumb_func_end sub_80A0324
-
- thumb_func_start sub_80A0340
-sub_80A0340: @ 80A0340
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A035C
- str r0, [r1]
- ldr r1, =gUnknown_02037621
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_80A0340
-
- thumb_func_start sub_80A035C
-sub_80A035C: @ 80A035C
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_819746C
- bl remove_start_menu_window_maybe
- ldr r0, =BattleFrontier_BattlePyramidEmptySquare_Text_252CFB
- ldr r1, =sub_80A0388
- bl sub_809FF98
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A035C
-
- thumb_func_start sub_80A0388
-sub_80A0388: @ 80A0388
- push {lr}
- movs r0, 0x1
- bl sub_8197948
- ldr r1, =gUnknown_0203761C
- ldr r0, =sub_80A03A4
- str r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80A0388
-
- thumb_func_start sub_80A03A4
-sub_80A03A4: @ 80A03A4
- push {lr}
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080A03C6
- cmp r1, 0
- bgt _080A03C0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A03CA
- b _080A03D2
-_080A03C0:
- cmp r1, 0x1
- beq _080A03CA
- b _080A03D2
-_080A03C6:
- movs r0, 0x2
- b _080A03D4
-_080A03CA:
- bl sub_80A0014
- movs r0, 0x1
- b _080A03D4
-_080A03D2:
- movs r0, 0
-_080A03D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A03A4
-
- thumb_func_start sub_80A03D8
-sub_80A03D8: @ 80A03D8
- push {lr}
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80A03D8
-
- thumb_func_start sub_80A03E4
-sub_80A03E4: @ 80A03E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080A03F6
- b _080A04FC
-_080A03F6:
- lsls r0, 2
- ldr r1, =_080A0404
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A0404:
- .4byte _080A0418
- .4byte _080A0490
- .4byte _080A04A2
- .4byte _080A04D4
- .4byte _080A04F8
-_080A0418:
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl SetVBlankCallback
- bl remove_some_task
- movs r2, 0xA0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080A045A:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _080A045A
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _080A04FC
- .pool
-_080A0490:
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- bl dp12_8087EA4
- b _080A04FC
-_080A04A2:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085105A8
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085105AC
- bl InitWindows
- movs r0, 0
- movs r1, 0x8
- movs r2, 0xE0
- bl box_border_load_tiles_and_pal
- movs r0, 0xF0
- bl sub_81978B0
- b _080A04FC
- .pool
-_080A04D4:
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, =sub_80A03D8
- bl SetVBlankCallback
- movs r0, 0x1
- bl EnableInterrupts
- b _080A04FC
- .pool
-_080A04F8:
- movs r0, 0x1
- b _080A0506
-_080A04FC:
- mov r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_080A0506:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A03E4
-
- thumb_func_start sub_80A0514
-sub_80A0514: @ 80A0514
- push {lr}
- ldr r0, =gUnknown_030026F8
- bl sub_80A03E4
- cmp r0, 0
- beq _080A052E
- ldr r0, =sub_80A0550
- movs r1, 0x50
- bl CreateTask
- ldr r0, =sub_80A0540
- bl SetMainCallback2
-_080A052E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0514
-
- thumb_func_start sub_80A0540
-sub_80A0540: @ 80A0540
- push {lr}
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80A0540
-
- thumb_func_start sub_80A0550
-sub_80A0550: @ 80A0550
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080A0570
- b _080A06A8
-_080A0570:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _080A057A
- b _080A06A8
-_080A057A:
- lsls r0, 2
- ldr r1, =_080A0590
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080A0590:
- .4byte _080A05AC
- .4byte _080A0630
- .4byte _080A063C
- .4byte _080A065C
- .4byte _080A0670
- .4byte _080A0688
- .4byte _080A0698
-_080A05AC:
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_SavingDontTurnOffPower
- movs r4, 0
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r6, 0x1
- str r6, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0xFF
- bl AddTextPrinterParametrized
- movs r0, 0
- movs r1, 0x8
- movs r2, 0xE
- bl sub_8098858
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =gLinkVSyncDisabled
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A0620
- bl InUnionRoom
- cmp r0, 0
- beq _080A0620
- bl sub_800A07C
- cmp r0, 0
- beq _080A061C
- strh r6, [r5]
- b _080A06A8
- .pool
-_080A061C:
- movs r0, 0x5
- b _080A06A6
-_080A0620:
- ldr r0, =gSoftResetDisabled
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- b _080A06A6
- .pool
-_080A0630:
- bl sub_8076D5C
- bl sub_8153430
- movs r0, 0x2
- b _080A06A6
-_080A063C:
- bl sub_8153474
- lsls r0, 24
- cmp r0, 0
- beq _080A06A8
- bl sav2_gender2_inplace_and_xFE
- movs r0, 0x3
- strh r0, [r5]
- ldr r1, =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- b _080A06A8
- .pool
-_080A065C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x4
- b _080A06A6
-_080A0670:
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
- b _080A06A8
- .pool
-_080A0688:
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- movs r0, 0x6
- b _080A06A6
- .pool
-_080A0698:
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080A06A8
- movs r0, 0x3
-_080A06A6:
- strh r0, [r5]
-_080A06A8:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0550
-
- thumb_func_start sub_80A06B4
-sub_80A06B4: @ 80A06B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, =gUnknown_085105BC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, =0x00000861
- mov r10, r0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080A06EC
- add r0, sp, 0xC
- ldrb r1, [r0, 0x4]
- subs r1, 0x2
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =0xffffff00
- ldr r0, [sp, 0x10]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x10]
-_080A06EC:
- ldr r6, =gUnknown_02037622
- add r0, sp, 0xC
- bl AddWindow
- strb r0, [r6]
- ldrb r0, [r6]
- movs r1, 0
- bl sub_81973FC
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- movs r1, 0x4
- mov r9, r1
- cmp r0, 0
- bne _080A0710
- movs r0, 0x8
- mov r9, r0
-_080A0710:
- movs r4, 0x1
- ldr r5, =gStringVar4
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_819A344
- ldrb r0, [r6]
- str r4, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r7, 0
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl PrintTextOnWindow
- movs r4, 0x11
- ldrb r0, [r6]
- ldr r2, =gText_SavingPlayer
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r2, 16
- lsrs r2, 16
- adds r1, r5, 0
- movs r3, 0x11
- bl sub_819A024
- movs r4, 0x21
- ldrb r0, [r6]
- ldr r2, =gText_SavingBadges
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x4
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- mov r0, r10
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A0802
- movs r4, 0x31
- ldrb r0, [r6]
- ldr r2, =gText_SavingPokedex
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x1
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
-_080A0802:
- adds r4, 0x10
- ldrb r0, [r6]
- ldr r2, =gText_SavingTime
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x2
- adds r1, r5, 0
- mov r2, r9
- bl sub_819A344
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x70
- bl GetStringRightAlignXOffset
- adds r2, r0, 0
- ldrb r0, [r6]
- lsls r3, r2, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r1, 0x1
- adds r2, r5, 0
- bl PrintTextOnWindow
- ldrb r0, [r6]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A06B4
-
- thumb_func_start sub_80A0888
-sub_80A0888: @ 80A0888
- push {r4,lr}
- ldr r4, =gUnknown_02037622
- ldrb r0, [r4]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4]
- bl RemoveWindow
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A0888
-
- thumb_func_start sub_80A08A4
-sub_80A08A4: @ 80A08A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =sub_8153688
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080A08C0
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080A08C0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A08A4
-
- thumb_func_start sub_80A08CC
-sub_80A08CC: @ 80A08CC
- push {r4,r5,lr}
- ldr r0, =sub_8153688
- movs r1, 0x5
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0xC]
- ldr r0, =sub_80A08A4
- movs r1, 0x6
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r5
- strh r4, [r1, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80A08CC
-
- thumb_func_start sub_80A0914
-sub_80A0914: @ 80A0914
- push {lr}
- bl GetStartMenuWindowId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_819746C
- bl remove_start_menu_window_maybe
- bl sub_80984F4
- bl ScriptContext2_Disable
- pop {r0}
- bx r0
- thumb_func_end sub_80A0914
-
- thumb_func_start sub_80A0934
-sub_80A0934: @ 80A0934
- push {lr}
- movs r0, 0x5
- bl PlaySE
- bl sub_80A0914
- pop {r0}
- bx r0
- thumb_func_end sub_80A0934
-
- thumb_func_start AppendToList
-AppendToList: @ 80A0944
- ldrb r3, [r1]
- adds r0, r3
- strb r2, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bx lr
- thumb_func_end AppendToList
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/title_screen.s b/asm/title_screen.s
deleted file mode 100644
index bc9401fb6..000000000
--- a/asm/title_screen.s
+++ /dev/null
@@ -1,1321 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80AA40C
-sub_80AA40C: @ 80AA40C
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080AA43C
- ldrb r0, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x1]
- movs r0, 0x42
- strh r0, [r3, 0x22]
- b _080AA46A
- .pool
-_080AA43C:
- ldrh r1, [r3, 0x22]
- movs r2, 0x22
- ldrsh r0, [r3, r2]
- cmp r0, 0x42
- beq _080AA44A
- adds r0, r1, 0x1
- strh r0, [r3, 0x22]
-_080AA44A:
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080AA458
- subs r0, r1, 0x1
- strh r0, [r3, 0x2E]
-_080AA458:
- ldr r0, =gUnknown_0853FF70
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- lsls r1, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x52
- bl SetGpuReg
-_080AA46A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AA40C
-
- thumb_func_start sub_80AA474
-sub_80AA474: @ 80AA474
- push {lr}
- adds r3, r0, 0
- ldr r2, =gTasks
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080AA4A0
- ldrb r0, [r3, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x1]
- movs r0, 0x42
- b _080AA4AC
- .pool
-_080AA4A0:
- ldrh r1, [r3, 0x22]
- movs r2, 0x22
- ldrsh r0, [r3, r2]
- cmp r0, 0x42
- beq _080AA4AE
- adds r0, r1, 0x1
-_080AA4AC:
- strh r0, [r3, 0x22]
-_080AA4AE:
- pop {r0}
- bx r0
- thumb_func_end sub_80AA474
-
- thumb_func_start sub_80AA4B4
-sub_80AA4B4: @ 80AA4B4
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080AA4DC
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080AA4DC
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080AA4E8
-_080AA4DC:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080AA4E8:
- pop {r0}
- bx r0
- thumb_func_end sub_80AA4B4
-
- thumb_func_start sub_80AA4EC
-sub_80AA4EC: @ 80AA4EC
- push {r4-r7,lr}
- lsls r0, 16
- ldr r2, =0xffc00000
- adds r0, r2
- lsrs r0, 16
- movs r6, 0
- lsls r7, r1, 16
-_080AA4FA:
- lsls r5, r0, 16
- asrs r5, 16
- ldr r0, =gUnknown_085400D8
- adds r1, r5, 0
- asrs r2, r7, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl StartSpriteAnim
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, 0x20
- lsls r5, 16
- lsrs r0, r5, 16
- cmp r6, 0x4
- bls _080AA4FA
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AA4EC
-
- thumb_func_start sub_80AA548
-sub_80AA548: @ 80AA548
- push {r4-r6,lr}
- lsls r0, 16
- ldr r2, =0xffc00000
- adds r0, r2
- lsrs r0, 16
- movs r5, 0
- lsls r6, r1, 16
-_080AA556:
- lsls r4, r0, 16
- asrs r4, 16
- ldr r0, =gUnknown_085400D8
- adds r1, r4, 0
- asrs r2, r6, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, =gSprites
- adds r2, r0
- adds r1, r5, 0x5
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x20
- lsls r4, 16
- lsrs r0, r4, 16
- cmp r5, 0x4
- bls _080AA556
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80AA548
-
- thumb_func_start title_screen_logo_shine_obj_callback_type1
-@ void title_screen_logo_shine_obj_callback_type1(struct obj *obj)
-title_screen_logo_shine_obj_callback_type1: @ 80AA5A4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x20]
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- ldr r0, =0x0000010f
- cmp r1, r0
- bgt _080AA63C
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- adds r4, r2, 0
- cmp r0, 0
- beq _080AA630
- cmp r1, 0x77
- bgt _080AA5E0
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0x1E
- bgt _080AA5F8
- adds r1, 0x1
- strh r1, [r3, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x1E
- bgt _080AA5F8
- adds r0, r1, 0x1
- b _080AA5F6
- .pool
-_080AA5E0:
- ldrh r1, [r3, 0x30]
- movs r4, 0x30
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _080AA5F8
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- beq _080AA5F8
- subs r0, r1, 0x2
-_080AA5F6:
- strh r0, [r3, 0x30]
-_080AA5F8:
- ldrh r1, [r3, 0x30]
- movs r0, 0x1F
- ands r0, r1
- lsls r2, r0, 10
- lsls r1, r0, 5
- adds r2, r1
- orrs r2, r0
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- ldrh r4, [r3, 0x20]
- cmp r0, 0x84
- beq _080AA61C
- cmp r0, 0x88
- beq _080AA61C
- cmp r0, 0x8C
- beq _080AA61C
- cmp r0, 0x90
- bne _080AA62C
-_080AA61C:
- ldr r1, =gPlttBufferFaded
- ldr r0, =0x000033f8
- strh r0, [r1]
- b _080AA630
- .pool
-_080AA62C:
- ldr r0, =gPlttBufferFaded
- strh r2, [r0]
-_080AA630:
- adds r0, r4, 0x4
- strh r0, [r3, 0x20]
- b _080AA648
- .pool
-_080AA63C:
- ldr r1, =gPlttBufferFaded
- movs r0, 0
- strh r0, [r1]
- adds r0, r3, 0
- bl DestroySprite
-_080AA648:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end title_screen_logo_shine_obj_callback_type1
-
- thumb_func_start title_screen_logo_shine_obj_callback_type2
-@ void title_screen_logo_shine_obj_callback_type2(struct obj *obj)
-title_screen_logo_shine_obj_callback_type2: @ 80AA654
- push {lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x20]
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- ldr r0, =0x0000010f
- cmp r1, r0
- bgt _080AA670
- adds r0, r3, 0
- adds r0, 0x8
- strh r0, [r2, 0x20]
- b _080AA676
- .pool
-_080AA670:
- adds r0, r2, 0
- bl DestroySprite
-_080AA676:
- pop {r0}
- bx r0
- thumb_func_end title_screen_logo_shine_obj_callback_type2
-
- thumb_func_start title_screen_add_logo_shine_obj
-@ void title_screen_add_logo_shine_obj(int a1)
-title_screen_add_logo_shine_obj: @ 80AA67C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- beq _080AA6D0
- cmp r5, 0x1
- bgt _080AA698
- cmp r5, 0
- beq _080AA69C
- b _080AA766
-_080AA698:
- cmp r5, 0x2
- bne _080AA766
-_080AA69C:
- ldr r0, =gUnknown_08540124
- movs r1, 0
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x1]
- strh r5, [r0, 0x2E]
- b _080AA766
- .pool
-_080AA6D0:
- ldr r0, =gUnknown_08540124
- mov r9, r0
- movs r1, 0
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r6, =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r2, 0x8
- mov r8, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x1]
- strh r5, [r1, 0x2E]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- mov r0, r9
- movs r1, 0
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r5, r6, 0
- adds r5, 0x1C
- adds r0, r1, r5
- ldr r2, =title_screen_logo_shine_obj_callback_type2
- mov r10, r2
- str r2, [r0]
- adds r1, r6
- ldrb r2, [r1, 0x1]
- adds r0, r4, 0
- ands r0, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x1]
- movs r1, 0x50
- negs r1, r1
- mov r0, r9
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r5
- mov r1, r10
- str r1, [r5]
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r4, r1
- mov r2, r8
- orrs r4, r2
- strb r4, [r0, 0x1]
-_080AA766:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end title_screen_add_logo_shine_obj
-
- thumb_func_start title_screen_vblank_callback
-@ void title_screen_vblank_callback()
-title_screen_vblank_callback: @ 80AA780
- push {lr}
- bl sub_80BA0A8
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r0, =gBattle_BG1_Y
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end title_screen_vblank_callback
-
- thumb_func_start c2_title_screen_1
-@ void c2_title_screen_1()
-c2_title_screen_1: @ 80AA7A4
- push {r4,lr}
- sub sp, 0x14
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _080AA7E0
- lsls r0, 2
- ldr r1, =_080AA7C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080AA7C8:
- .4byte _080AA7E0
- .4byte _080AA8C4
- .4byte _080AA998
- .4byte _080AA9E0
- .4byte _080AAA14
- .4byte _080AAAF0
-_080AA7E0:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0xA0
- lsls r1, 19
- ldr r2, =0x00007fff
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- add r1, sp, 0xC
- movs r0, 0
- strh r0, [r1]
- ldr r1, =0x040000d4
- add r0, sp, 0xC
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x10]
- add r0, sp, 0x10
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0xC
- strh r2, [r0]
- str r0, [r1]
- ldr r0, =0x05000002
- str r0, [r1, 0x4]
- ldr r0, =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _080AAB1E
- .pool
-_080AA8C4:
- ldr r0, =gTitleScreenPokemonLogoGfx
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gUnknown_08DE0644
- ldr r1, =0x06004800
- bl LZ77UnCompVram
- ldr r0, =gTitleScreenBgPalettes
- movs r2, 0xF0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r0, =gTitleScreenRayquazaGfx
- ldr r1, =0x06008000
- bl LZ77UnCompVram
- ldr r0, =gTitleScreenRayquazaTilemap
- ldr r1, =0x0600d000
- bl LZ77UnCompVram
- ldr r0, =gTitleScreenCloudsGfx
- ldr r1, =0x0600c000
- bl LZ77UnCompVram
- ldr r0, =gUnknown_08DDE458
- ldr r1, =0x0600d800
- bl LZ77UnCompVram
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, =gReservedSpritePaletteCount
- movs r0, 0x9
- strb r0, [r1]
- ldr r0, =gUnknown_08540048
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085400F0
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0854013C
- bl LoadCompressedObjectPic
- ldr r0, =gTitleScreenEmeraldVersionPal
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_08540100
- bl LoadSpritePalette
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- b _080AAB1E
- .pool
-_080AA998:
- ldr r0, =task_title_screen_1
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, =0x0000fff0
- strh r0, [r1, 0xC]
- subs r0, 0x10
- strh r0, [r1, 0xE]
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- b _080AAB1E
- .pool
-_080AA9E0:
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =title_screen_vblank_callback
- bl SetVBlankCallback
- ldr r0, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r2
- movs r1, 0x4
- strb r1, [r0]
- b _080AAB1E
- .pool
-_080AAA14:
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x78
- movs r1, 0x50
- movs r3, 0
- bl sub_816F2A8
- movs r1, 0xE3
- lsls r1, 8
- movs r0, 0x28
- bl SetGpuReg
- ldr r4, =0x0000ffff
- movs r0, 0x2A
- adds r1, r4, 0
- bl SetGpuReg
- movs r1, 0xE0
- lsls r1, 8
- movs r0, 0x2C
- bl SetGpuReg
- movs r0, 0x2E
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x46
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001f1f
- movs r0, 0x48
- bl SetGpuReg
- ldr r1, =0x00003f1f
- movs r0, 0x4A
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0x84
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0xC
- bl SetGpuReg
- ldr r1, =0x00001a0b
- movs r0, 0x8
- bl SetGpuReg
- ldr r1, =0x00001b0e
- movs r0, 0xA
- bl SetGpuReg
- ldr r1, =0x00004981
- movs r0, 0xC
- bl SetGpuReg
- movs r0, 0x1
- bl EnableInterrupts
- ldr r1, =0x0000b441
- movs r0, 0
- bl SetGpuReg
- ldr r0, =0x0000019d
- bl m4aSongNumStart
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- b _080AAB1E
- .pool
-_080AAAF0:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080AAB1E
- movs r0, 0
- bl title_screen_add_logo_shine_obj
- str r4, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA0
- movs r2, 0x4
- movs r3, 0x4
- bl sub_80BA384
- ldr r0, =c2_title_screen_2
- bl SetMainCallback2
-_080AAB1E:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_title_screen_1
-
- thumb_func_start c2_title_screen_2
-@ void c2_title_screen_2()
-c2_title_screen_2: @ 80AAB2C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end c2_title_screen_2
-
- thumb_func_start task_title_screen_1
-@ void task_title_screen_1(int task_id)
-task_title_screen_1: @ 80AAB44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- ldr r6, =gTasks
- cmp r0, 0
- bne _080AAB6A
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r1, r6
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- adds r4, r0, 0
- cmp r1, 0
- beq _080AAB7C
-_080AAB6A:
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r6
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0x8]
- adds r4, r3, 0
-_080AAB7C:
- adds r0, r4, r5
- lsls r0, 3
- adds r6, r0, r6
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080AABC0
- ldrh r0, [r6, 0x8]
- cmp r0, 0xB0
- bne _080AABA0
- movs r0, 0x1
- bl title_screen_add_logo_shine_obj
- b _080AABAA
- .pool
-_080AABA0:
- cmp r0, 0x40
- bne _080AABAA
- movs r0, 0x2
- bl title_screen_add_logo_shine_obj
-_080AABAA:
- ldr r0, =gTasks
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- b _080AAC32
- .pool
-_080AABC0:
- ldr r1, =0x00001441
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00003f50
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0x10
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r0, =gUnknown_08540018
- movs r1, 0x62
- movs r2, 0x2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x40
- strh r0, [r1, 0x2E]
- strh r5, [r1, 0x30]
- ldr r0, =gUnknown_08540030
- movs r1, 0xA2
- movs r2, 0x2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- strh r5, [r1, 0x30]
- movs r0, 0x90
- strh r0, [r6, 0x8]
- ldr r0, =task_title_screen_2
- str r0, [r6]
-_080AAC32:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_title_screen_1
-
- thumb_func_start task_title_screen_2
-@ void task_title_screen_2(int task_id)
-task_title_screen_2: @ 80AAC50
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- ldr r2, =gTasks
- cmp r0, 0
- bne _080AAC76
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- adds r1, r2
- movs r3, 0xA
- ldrsh r1, [r1, r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _080AAC88
-_080AAC76:
- lsls r3, r4, 2
- adds r0, r3, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0xA]
- strh r2, [r0, 0x8]
- adds r6, r3, 0
-_080AAC88:
- ldr r1, =gTasks
- adds r0, r6, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- movs r1, 0x8
- ldrsh r7, [r5, r1]
- cmp r7, 0
- beq _080AACA8
- subs r0, 0x1
- strh r0, [r5, 0x8]
- b _080AACE2
- .pool
-_080AACA8:
- movs r0, 0x1
- strh r0, [r5, 0xA]
- ldr r1, =0x00002142
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000f06
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, =0x00001741
- movs r0, 0
- bl SetGpuReg
- movs r0, 0x80
- movs r1, 0x6C
- bl sub_80AA4EC
- movs r0, 0x80
- movs r1, 0x94
- bl sub_80AA548
- strh r7, [r5, 0x10]
- ldr r0, =task_title_screen_3
- str r0, [r5]
-_080AACE2:
- ldr r2, =gTasks
- adds r0, r6, r4
- lsls r0, 3
- adds r3, r0, r2
- ldrh r1, [r3, 0x8]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080AAD02
- ldrh r1, [r3, 0xC]
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- cmp r0, 0
- beq _080AAD02
- adds r0, r1, 0x1
- strh r0, [r3, 0xC]
-_080AAD02:
- adds r0, r6, r4
- lsls r0, 3
- adds r3, r0, r2
- ldrh r1, [r3, 0x8]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AAD20
- ldrh r1, [r3, 0xE]
- movs r5, 0xE
- ldrsh r0, [r3, r5]
- cmp r0, 0
- beq _080AAD20
- adds r0, r1, 0x1
- strh r0, [r3, 0xE]
-_080AAD20:
- adds r4, r6, r4
- lsls r4, 3
- adds r4, r2
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- lsls r5, r1, 8
- lsls r1, 24
- lsrs r1, 16
- movs r0, 0x2C
- bl SetGpuReg
- lsrs r5, 16
- movs r0, 0x2E
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0xF
- strh r0, [r4, 0x12]
- movs r0, 0x6
- strh r0, [r4, 0x14]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_title_screen_2
-
- thumb_func_start task_title_screen_3
-@ void task_title_screen_3(int task_id)
-task_title_screen_3: @ 80AAD64
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AAD84
- movs r0, 0x8
- ands r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080AADB0
-_080AAD84:
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- ldr r1, =0x0000ffff
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =Cb2_GoToMainMenu
- bl SetMainCallback2
- b _080AAE98
- .pool
-_080AADB0:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x46
- ands r0, r1
- cmp r0, 0x46
- bne _080AADC8
- ldr r0, =c2_clear_save_data_screen_1
- bl SetMainCallback2
- b _080AAE98
- .pool
-_080AADC8:
- movs r0, 0x26
- ands r0, r1
- cmp r0, 0x26
- bne _080AADFC
- bl CanResetRTC
- cmp r0, 0x1
- bne _080AADFC
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =c2_reset_rtc_screen_1
- bl SetMainCallback2
- b _080AAE98
- .pool
-_080AADFC:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0x6
- bne _080AAE30
- movs r0, 0x4
- bl FadeOutBGM
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =c2_berry_program_update_screen_1
- bl SetMainCallback2
- b _080AAE98
- .pool
-_080AAE30:
- movs r0, 0x2C
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x2E
- movs r1, 0
- bl SetGpuReg
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AAE72
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
- ldr r2, =gBattle_BG1_Y
- movs r1, 0x10
- ldrsh r0, [r3, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r2]
- ldr r1, =gBattle_BG1_X
- movs r0, 0
- strh r0, [r1]
-_080AAE72:
- ldrb r0, [r3, 0x8]
- bl title_screen_update_rayquaza_ring_palette
- ldr r0, =gMPlay_BGM
- ldr r1, =0x0000ffff
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _080AAE98
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =c2_show_copyright_and_intro_again_1
- bl SetMainCallback2
-_080AAE98:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_title_screen_3
-
- thumb_func_start Cb2_GoToMainMenu
-Cb2_GoToMainMenu: @ 80AAEB8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080AAECA
- ldr r0, =CB2_InitMainMenu
- bl SetMainCallback2
-_080AAECA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end Cb2_GoToMainMenu
-
- thumb_func_start c2_show_copyright_and_intro_again_1
-c2_show_copyright_and_intro_again_1: @ 80AAED4
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080AAEE6
- ldr r0, =c2_show_copyright_and_intro_again_2
- bl SetMainCallback2
-_080AAEE6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_show_copyright_and_intro_again_1
-
- thumb_func_start c2_clear_save_data_screen_1
-c2_clear_save_data_screen_1: @ 80AAEF0
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080AAF02
- ldr r0, =CB2_InitClearSaveDataScreen
- bl SetMainCallback2
-_080AAF02:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_clear_save_data_screen_1
-
- thumb_func_start c2_reset_rtc_screen_1
-c2_reset_rtc_screen_1: @ 80AAF0C
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080AAF1E
- ldr r0, =sub_809EF88
- bl SetMainCallback2
-_080AAF1E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_reset_rtc_screen_1
-
- thumb_func_start c2_berry_program_update_screen_1
-c2_berry_program_update_screen_1: @ 80AAF28
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080AAF3E
- bl m4aMPlayAllStop
- ldr r0, =InitBerryFixProgram
- bl SetMainCallback2
-_080AAF3E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_berry_program_update_screen_1
-
- thumb_func_start title_screen_update_rayquaza_ring_palette
-@ void title_screen_update_rayquaza_ring_palette(u8 a1)
-title_screen_update_rayquaza_ring_palette: @ 80AAF48
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080AAF9C
- adds r0, r1, 0
- movs r1, 0x80
- bl Cos
- lsls r0, 16
- asrs r0, 16
- adds r2, r0, 0
- adds r2, 0x80
- lsls r0, r2, 5
- subs r0, r2
- cmp r0, 0
- bge _080AAF72
- adds r0, 0xFF
-_080AAF72:
- asrs r0, 8
- movs r3, 0x1F
- subs r1, r3, r0
- movs r0, 0x16
- muls r0, r2
- cmp r0, 0
- bge _080AAF82
- adds r0, 0xFF
-_080AAF82:
- asrs r0, 8
- subs r0, r3, r0
- lsls r0, 5
- orrs r1, r0
- movs r0, 0xC0
- lsls r0, 6
- orrs r1, r0
- mov r0, sp
- strh r1, [r0]
- movs r1, 0xEF
- movs r2, 0x2
- bl LoadPalette
-_080AAF9C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end title_screen_update_rayquaza_ring_palette
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trade.s b/asm/trade.s
index cbf980b74..911b56aec 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -1,5 +1,6 @@
.include "asm/macros.inc"
- .include "constants/constants.inc"
+ .include "constants/gba_constants.inc"
+ .include "constants/misc_constants.inc"
.syntax unified
@@ -135,7 +136,7 @@ _08077258:
thumb_func_start sub_8077260
sub_8077260: @ 8077260
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077280
@@ -240,12 +241,12 @@ _08077310:
movs r0, 0
movs r1, 0x14
movs r2, 0xC0
- bl box_border_load_tiles_and_pal
+ bl LoadUserWindowBorderGfx_
movs r0, 0x2
movs r1, 0x1
movs r2, 0xE0
- bl sub_809882C
- bl sub_80D2F04
+ bl LoadUserWindowBorderGfx
+ bl LoadMonIconPalettes
ldr r2, =gUnknown_0203229C
ldr r0, [r2]
adds r0, 0x69
@@ -401,7 +402,7 @@ _080774B2:
ldrb r2, [r0]
cmp r2, 0
bne _0807754C
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r5, =0x00001122
adds r0, r5, 0
strh r0, [r1]
@@ -409,17 +410,17 @@ _080774B2:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077528
bl sub_800B488
- bl sub_8009734
+ bl OpenLink
bl sub_8011BA4
b _08077B46
.pool
_08077528:
- bl sub_8009734
+ bl OpenLink
ldr r0, =gMain
movs r7, 0x87
lsls r7, 3
@@ -464,7 +465,7 @@ _0807757A:
b _08077B22
.pool
_0807758C:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
adds r4, r0, 0
bl sub_800AA48
lsls r4, 24
@@ -473,7 +474,7 @@ _0807758C:
bcs _080775A0
b _08077B46
_080775A0:
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
beq _080775D8
@@ -510,7 +511,7 @@ _080775E8:
beq _080775F2
b _08077B46
_080775F2:
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -531,7 +532,7 @@ _08077600:
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
bne _0807762A
@@ -543,7 +544,7 @@ _0807762A:
b _08077B46
.pool
_08077648:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077680
@@ -563,7 +564,7 @@ _0807765C:
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
b _08077B46
.pool
_08077680:
@@ -644,7 +645,7 @@ _080776E2:
str r1, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
- bl sub_80D2CC4
+ bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x28
@@ -703,7 +704,7 @@ _08077756:
str r0, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
- bl sub_80D2CC4
+ bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x2E
@@ -824,7 +825,7 @@ _080778CA:
adds r4, 0x10
_080778DE:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -861,7 +862,7 @@ _080778DE:
adds r4, 0x88
_0807792C:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -887,7 +888,7 @@ _0807792C:
b _08077B22
.pool
_08077970:
- ldr r4, =gUnknown_0832DCAC
+ ldr r4, =gSpriteTemplate_832DCAC
add r1, sp, 0x10
adds r0, r4, 0
ldm r0!, {r2,r3,r7}
@@ -925,7 +926,7 @@ _08077970:
lsls r5, 13
_080779BC:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -946,7 +947,7 @@ _080779BC:
adds r6, 0x1
cmp r6, 0x5
ble _080779BC
- ldr r0, =gUnknown_0832DC94
+ ldr r0, =gSpriteTemplate_832DC94
ldr r2, =gUnknown_0832DE24
ldrb r1, [r2]
lsls r1, 19
@@ -1182,14 +1183,14 @@ _08077C28:
b _080780D8
.pool
_08077C3C:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08077C50
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_08077C50:
ldr r1, =gMain
movs r3, 0x87
@@ -1262,7 +1263,7 @@ _08077CA8:
str r1, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
- bl sub_80D2CC4
+ bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x28
@@ -1321,7 +1322,7 @@ _08077D1E:
str r0, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
- bl sub_80D2CC4
+ bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x2E
@@ -1448,7 +1449,7 @@ _08077EA0:
adds r4, 0x10
_08077EB4:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1485,7 +1486,7 @@ _08077EB4:
adds r4, 0x88
_08077F02:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1511,7 +1512,7 @@ _08077F02:
b _080780D8
.pool
_08077F48:
- ldr r4, =gUnknown_0832DCAC
+ ldr r4, =gSpriteTemplate_832DCAC
add r1, sp, 0xC
adds r0, r4, 0
ldm r0!, {r2,r3,r7}
@@ -1549,7 +1550,7 @@ _08077F48:
lsls r5, 13
_08077F94:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1588,7 +1589,7 @@ _08077FE4:
adds r0, 0x6
_08077FEA:
strb r0, [r2]
- ldr r0, =gUnknown_0832DC94
+ ldr r0, =gSpriteTemplate_832DC94
ldr r3, =gUnknown_0832DE24
ldr r1, [r4]
adds r1, 0x35
@@ -1780,7 +1781,7 @@ sub_807816C: @ 807816C
adds r0, 0x7E
ldrb r0, [r0]
strb r0, [r1, 0x1]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080781B4
@@ -1809,7 +1810,7 @@ sub_80781C8: @ 80781C8
ldr r5, =gMain
ldr r0, =sub_80773AC
str r0, [r5, 0x8]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08078220
@@ -1929,7 +1930,7 @@ _080782D4:
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gUnknown_0832CABC
+ ldr r1, =gTradeStripesBG2Tilemap
movs r2, 0x80
lsls r2, 4
movs r0, 0x2
@@ -1938,7 +1939,7 @@ _080782D4:
b _0807837E
.pool
_08078324:
- ldr r1, =gUnknown_0832D2BC
+ ldr r1, =gTradeStripesBG3Tilemap
movs r2, 0x80
lsls r2, 4
movs r0, 0x3
@@ -2142,7 +2143,7 @@ _08078484:
.4byte _080786F0
.4byte _08078720
_080784DC:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gPlayerParty
movs r2, 0xC8
bl sub_8078438
@@ -2208,7 +2209,7 @@ _08078552:
b _080787A2
.pool
_0807857C:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gPlayerParty + 200
movs r2, 0xC8
bl sub_8078438
@@ -2247,7 +2248,7 @@ _080785B6:
b _080787A2
.pool
_080785E0:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gPlayerParty + 400
movs r2, 0xC8
bl sub_8078438
@@ -2286,7 +2287,7 @@ _0807861A:
b _080787A2
.pool
_08078644:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, =0x00002be0
@@ -2328,7 +2329,7 @@ _0807868A:
b _080787A2
.pool
_080786B4:
- ldr r0, =gUnknown_020228C4
+ ldr r0, =gBlockSendBuffer
ldr r1, =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, =0x000031a8
@@ -2392,13 +2393,13 @@ _08078726:
mov r2, sp
bl GetMonData
mov r0, sp
- ldr r1, =gUnknown_0832DF94
+ ldr r1, =gJPText_Shedinja
bl StringCompareWithoutExtCtrlCodes
cmp r0, 0
bne _08078766
adds r0, r4, 0
movs r1, 0x2
- ldr r2, =gSpeciesNames + SPECIES_SHEDINJA * POKEMON_NAME_LENGTH
+ ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA
bl SetMonData
_08078766:
adds r4, 0x64
@@ -2442,7 +2443,7 @@ _080787AC:
thumb_func_start sub_80787B8
sub_80787B8: @ 80787B8
push {lr}
- ldr r0, =gUnknown_0832DAE5
+ ldr r0, =gText_IsThisTradeOkay
ldr r1, =gUnknown_0203229C
ldr r1, [r1]
adds r1, 0x72
@@ -3694,7 +3695,7 @@ _0807920E:
thumb_func_start sub_8079218
sub_8079218: @ 8079218
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -3796,7 +3797,7 @@ _080792D8:
thumb_func_start sub_80792E4
sub_80792E4: @ 80792E4
push {lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
asrs r1, r0, 24
cmp r1, 0
@@ -4004,7 +4005,7 @@ sub_8079490: @ 8079490
ands r0, r1
cmp r0, 0
bne _080794C4
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _080794B4
@@ -4029,7 +4030,7 @@ _080794C4:
thumb_func_start sub_80794CC
sub_80794CC: @ 80794CC
push {lr}
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08079518
@@ -4436,7 +4437,7 @@ _08079772:
lsls r0, 2
add r0, r8
bl sub_80A6DEC
- ldr r1, =gUnknown_0832C8BE
+ ldr r1, =gTradePartyBoxTilemap
ldr r0, [sp, 0x64]
subs r2, r0, r7
lsls r2, 24
@@ -4489,7 +4490,7 @@ _080798AC:
b _08079A24
.pool
_080798BC:
- ldr r1, =gUnknown_0832C6C0
+ ldr r1, =gTradeMovesBoxTilemap
ldr r0, [sp, 0x60]
lsls r2, r0, 4
subs r2, r0
@@ -4607,7 +4608,7 @@ _080798BC:
movs r1, 0x1
movs r2, 0
movs r3, 0
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
adds r0, r5, 0
bl PutWindowTilemap
adds r0, r5, 0
@@ -4767,7 +4768,7 @@ _08079AFE:
lsrs r4, r0, 16
cmp r4, 0x3
bls _08079ADE
- ldr r1, =gUnknown_0832DABC
+ ldr r1, =gText_EmptyString7
adds r0, r6, 0
bl StringCopy
movs r4, 0
@@ -4787,7 +4788,7 @@ _08079B20:
bl StringAppend
_08079B3C:
adds r0, r6, 0
- ldr r1, =gUnknown_0832DAD2
+ ldr r1, =gText_NewLine3
bl StringAppend
adds r0, r4, 0x1
lsls r0, 16
@@ -4797,10 +4798,10 @@ _08079B3C:
b _08079B6C
.pool
_08079B5C:
- ldr r1, =gUnknown_0832DABC
+ ldr r1, =gText_EmptyString7
adds r0, r6, 0
bl StringCopy
- ldr r1, =gUnknown_0832DADF
+ ldr r1, =gText_FourQuestionMarks
adds r0, r6, 0
bl StringAppend
_08079B6C:
@@ -5324,7 +5325,7 @@ sub_8079F88: @ 8079F88
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_0832C8BE
+ ldr r1, =gTradePartyBoxTilemap
lsls r2, r4, 4
subs r2, r4
lsls r2, 24
@@ -5696,7 +5697,7 @@ _0807A2B8:
mov r0, sp
b _0807A2D6
_0807A2BC:
- ldr r0, =gUnknown_0832DCE4
+ ldr r0, =gSpritePalette_TradeScreenText
bl LoadSpritePalette
b _0807A2DA
.pool
@@ -7024,8 +7025,8 @@ _0807AC92:
lsls r0, 1
cmp r1, r0
bls _0807ACC4
- bl sub_80097E8
- ldr r0, =c2_800ACD4
+ bl CloseLink
+ ldr r0, =CB2_LinkError
bl SetMainCallback2
ldr r1, [r4]
adds r3, r1, 0
@@ -7154,7 +7155,7 @@ _0807AD94:
bl HandleLoadSpecialPokePic_DontHandleDeoxys
_0807ADB2:
mov r0, r8
- bl sub_806E794
+ bl GetMonSpritePalStruct
bl LoadCompressedObjectPalette
ldr r0, =gUnknown_020322A0
ldr r1, [r0]
@@ -7170,11 +7171,11 @@ _0807ADB2:
.pool
_0807ADE0:
mov r0, r8
- bl sub_806E794
+ bl GetMonSpritePalStruct
ldrh r0, [r0, 0x4]
adds r1, r4, 0
- bl sub_806A068
- ldr r0, =gUnknown_0202499C
+ bl SetMultiuseSpriteTemplateToPokemon
+ ldr r0, =gMultiuseSpriteTemplate
movs r1, 0x78
movs r2, 0x3C
movs r3, 0x6
@@ -7258,11 +7259,11 @@ _0807AEAC:
ldrb r0, [r0]
cmp r0, 0
bne _0807AEC0
- ldr r1, =gUnknown_020229C6
+ ldr r1, =gLinkType
ldr r2, =0x00001144
adds r0, r2, 0
strh r0, [r1]
- bl sub_80097E8
+ bl CloseLink
_0807AEC0:
ldr r4, =gUnknown_020322A0
movs r5, 0x80
@@ -7330,7 +7331,7 @@ _0807AF58:
adds r0, 0xFA
movs r1, 0x1
strb r1, [r0]
- bl sub_8009734
+ bl OpenLink
ldr r1, =gMain
movs r2, 0x87
lsls r2, 3
@@ -7367,13 +7368,13 @@ _0807AFAC:
b _0807B0E4
.pool
_0807AFBC:
- bl sub_800ABBC
+ bl IsLinkMaster
lsls r0, 24
cmp r0, 0
bne _0807AFC8
b _0807B0DC
_0807AFC8:
- bl sub_800ABAC
+ bl GetLinkPlayerCount_2
adds r4, r0, 0
bl sub_800AA48
lsls r4, 24
@@ -7407,7 +7408,7 @@ _0807B006:
beq _0807B014
b _0807B116
_0807B014:
- bl sub_800A23C
+ bl IsLinkPlayerDataExchangeComplete
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -7507,14 +7508,14 @@ _0807B0F0:
ands r0, r1
cmp r0, 0
bne _0807B116
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807B110
bl sub_800E0E8
movs r0, 0
movs r1, 0
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_0807B110:
ldr r0, =sub_807EA2C
bl SetMainCallback2
@@ -7600,7 +7601,7 @@ sub_807B170: @ 807B170
movs r0, 0x3
bl SetBgTilemapBuffer
bl DeactivateAllTextPrinters
- ldr r0, =gUnknown_08C00000
+ ldr r0, =gBattleTextboxTiles
mov r10, r0
movs r0, 0
mov r9, r0
@@ -7609,7 +7610,7 @@ sub_807B170: @ 807B170
movs r2, 0
movs r3, 0
bl copy_decompressed_tile_data_to_vram_autofree
- ldr r0, =gUnknown_08C00524
+ ldr r0, =gBattleTextboxTilemap
mov r8, r0
ldr r4, =0x0201c000
adds r1, r4, 0
@@ -7619,7 +7620,7 @@ sub_807B170: @ 807B170
adds r2, r5, 0
movs r3, 0
bl CopyToBgTilemapBuffer
- ldr r6, =gUnknown_08C004E0
+ ldr r6, =gBattleTextboxPalette
adds r0, r6, 0
movs r1, 0
movs r2, 0x20
@@ -8103,11 +8104,11 @@ _0807B668:
ldr r1, =0x00005206
movs r0, 0xC
bl SetGpuReg
- ldr r0, =gUnknown_08DD7300
+ ldr r0, =gTradeGba2_Pal
movs r1, 0x10
movs r2, 0x60
bl LoadPalette
- ldr r3, =gUnknown_08DD7360
+ ldr r3, =gTradeGba_Gfx
ldr r4, =0x06004000
movs r5, 0xA1
lsls r5, 5
@@ -8166,7 +8167,7 @@ _0807B726:
ldr r1, =0x80000800
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- ldr r3, =gUnknown_08DD7360
+ ldr r3, =gTradeGba_Gfx
movs r4, 0xC0
lsls r4, 19
movs r5, 0xA1
@@ -8444,11 +8445,11 @@ _0807B9FC:
ldr r1, =0x00005206
movs r0, 0xC
bl SetGpuReg
- ldr r0, =gUnknown_08DD7300
+ ldr r0, =gTradeGba2_Pal
movs r1, 0x10
movs r2, 0x60
bl LoadPalette
- ldr r3, =gUnknown_08DD7360
+ ldr r3, =gTradeGba_Gfx
ldr r4, =0x06004000
movs r5, 0xA1
lsls r5, 5
@@ -8569,7 +8570,7 @@ _0807BB68:
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gStringVar1
adds r1, r4, 0
@@ -9096,7 +9097,7 @@ _0807C1DC:
beq _0807C1FC
bl _0807CFB4
_0807C1FC:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r1, 0x78
movs r2, 0x20
movs r3, 0
@@ -9226,7 +9227,7 @@ _0807C318:
bl _0807CFB4
_0807C328:
bl sub_807AB28
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -9294,7 +9295,7 @@ _0807C3B0:
beq _0807C3C4
bl _0807CFB4
_0807C3C4:
- ldr r0, =gUnknown_08338DFC
+ ldr r0, =gSpriteTemplate_8338DFC
movs r1, 0x80
movs r2, 0x41
movs r3, 0
@@ -9314,7 +9315,7 @@ _0807C3E0:
ldr r1, [r4]
adds r1, 0x90
strb r0, [r1]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x80
movs r2, 0x50
movs r3, 0
@@ -9453,7 +9454,7 @@ _0807C528:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
- ldr r5, =gUnknown_08338DC8
+ ldr r5, =gSpriteTemplate_8338DC8
adds r0, r5, 0
movs r1, 0x6F
movs r2, 0xAA
@@ -9588,7 +9589,7 @@ _0807C66C:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807C6E4
@@ -9602,7 +9603,7 @@ _0807C66C:
adds r1, r4, 0
adds r1, 0x10
adds r0, r1
- ldr r1, =gUnknown_08338ECC
+ ldr r1, =gSpriteAffineAnimTable_8338ECC
str r1, [r0]
ldrb r1, [r2]
lsls r0, r1, 4
@@ -9913,7 +9914,7 @@ _0807C8FA:
ldr r1, [r7]
adds r1, 0x90
strb r0, [r1]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x80
adds r2, r4, 0
movs r3, 0
@@ -10089,7 +10090,7 @@ _0807CA86:
bne _0807CA92
b _0807CFB4
_0807CA92:
- ldr r0, =gUnknown_08338DFC
+ ldr r0, =gSpriteTemplate_8338DFC
movs r1, 0x80
movs r2, 0x41
movs r3, 0
@@ -10111,7 +10112,7 @@ _0807CA92:
b _0807CFB4
.pool
_0807CAC8:
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -10253,7 +10254,7 @@ _0807CBEC:
b _0807CF48
.pool
_0807CBF4:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r2, 0x8
negs r2, r2
movs r1, 0x78
@@ -10445,7 +10446,7 @@ _0807CD1C:
str r2, [sp, 0x10]
movs r2, 0x78
movs r3, 0x54
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
ldr r0, [r7]
adds r0, 0xD3
ldrb r1, [r0]
@@ -10668,7 +10669,7 @@ _0807CF5C:
bl Free
str r4, [r7]
_0807CFAA:
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
bl sub_807E784
_0807CFB4:
@@ -11158,7 +11159,7 @@ _0807D5B8:
beq _0807D5D8
bl _0807E400
_0807D5D8:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r1, 0x78
movs r2, 0x20
movs r3, 0
@@ -11288,7 +11289,7 @@ _0807D6F4:
_0807D704:
movs r0, 0x3
bl sub_807B62C
- ldr r0, =gUnknown_08338E8C
+ ldr r0, =gSpriteTemplate_8338E8C
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -11384,7 +11385,7 @@ _0807D7C4:
adds r0, r1
ldr r1, =sub_807AA4C
str r1, [r0]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -11522,7 +11523,7 @@ _0807D924:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
- ldr r5, =gUnknown_08338DC8
+ ldr r5, =gSpriteTemplate_8338DC8
adds r0, r5, 0
movs r1, 0x6F
movs r2, 0xAA
@@ -11662,7 +11663,7 @@ _0807DA74:
ldr r0, [r5]
adds r0, 0xF0
ldrh r0, [r0]
- bl IsPokeSpriteNotFlipped
+ bl IsMonSpriteNotFlipped
lsls r0, 24
cmp r0, 0
bne _0807DAEC
@@ -11676,7 +11677,7 @@ _0807DA74:
adds r1, r4, 0
adds r1, 0x10
adds r0, r1
- ldr r1, =gUnknown_08338ECC
+ ldr r1, =gSpriteAffineAnimTable_8338ECC
str r1, [r0]
ldrb r1, [r2]
lsls r0, r1, 4
@@ -12006,7 +12007,7 @@ _0807DD02:
adds r0, r1
ldr r1, =sub_807AA4C
str r1, [r0]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x78
adds r2, r4, 0
movs r3, 0
@@ -12216,7 +12217,7 @@ _0807DF12:
strh r6, [r5]
b _0807E398
_0807DF16:
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -12358,7 +12359,7 @@ _0807E038:
b _0807E394
.pool
_0807E040:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r2, 0x8
negs r2, r2
movs r1, 0x78
@@ -12550,7 +12551,7 @@ _0807E168:
str r2, [sp, 0x10]
movs r2, 0x78
movs r3, 0x54
- bl sub_8076438
+ bl CreatePokeballSpriteToReleaseMon
ldr r0, [r7]
adds r0, 0xD3
ldrb r1, [r0]
@@ -12773,7 +12774,7 @@ _0807E3A8:
bl Free
str r4, [r7]
_0807E3F6:
- ldr r0, =c2_exit_to_overworld_2_switch
+ ldr r0, =CB2_ReturnToField
bl SetMainCallback2
bl sub_807E784
_0807E400:
@@ -12856,7 +12857,7 @@ _0807E4AE:
_0807E4B2:
strb r0, [r1]
_0807E4B4:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807E4C2
@@ -13182,7 +13183,7 @@ sub_807E73C: @ 807E73C
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gStringVar1
ldrh r1, [r4, 0x38]
@@ -13212,7 +13213,7 @@ sub_807E784: @ 807E784
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gSpecialVar_0x8005
ldrh r1, [r0]
@@ -13251,7 +13252,7 @@ sub_807E7E8: @ 807E7E8
lsls r2, r1, 4
subs r2, r1
lsls r2, 2
- ldr r1, =gUnknown_08338ED0
+ ldr r1, =gIngameTrades
adds r5, r2, r1
movs r1, 0x64
muls r0, r1
@@ -13367,7 +13368,7 @@ sub_807E7E8: @ 807E7E8
ldrh r0, [r5, 0x28]
cmp r0, 0
beq _0807E960
- bl itemid_is_mail
+ bl ItemIsMail
lsls r0, 24
cmp r0, 0
beq _0807E954
@@ -13440,7 +13441,7 @@ _0807E98E:
bl StringCopy
adds r0, r4, 0
movs r1, 0
- bl sub_81DB4DC
+ bl PadNameString
ldr r1, [r6, 0x18]
lsrs r0, r1, 24
strb r0, [r5, 0x1A]
@@ -13831,7 +13832,7 @@ _0807EDC0:
movs r0, 0x15
bl IncrementGameStat
_0807EDCE:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EDF6
@@ -14044,7 +14045,7 @@ _0807EFA4:
lsrs r0, 24
cmp r0, 0x1
bne _0807F03A
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807EFD8
@@ -14071,7 +14072,7 @@ _0807EFE4:
b _0807F03A
.pool
_0807EFF0:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F028
@@ -14099,7 +14100,7 @@ _0807F028:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F03A:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F048
@@ -14141,7 +14142,7 @@ c2_080543C4: @ 807F068
ldr r0, [r4]
bl Free
str r5, [r4]
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0807F0B6
@@ -14294,7 +14295,7 @@ sub_807F1A8: @ 807F1A8
movs r1, 0x1
movs r2, 0
movs r3, 0x2
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
adds r0, r5, 0
movs r1, 0x3
bl CopyWindowToVram
@@ -14883,7 +14884,7 @@ _0807F6F8:
ldr r0, =c2_080543C4
bl SetMainCallback2
_0807F70C:
- bl sub_800B33C
+ bl HasLinkErrorOccurred
lsls r0, 24
cmp r0, 0
bne _0807F71A
diff --git a/asm/trader.s b/asm/trader.s
deleted file mode 100644
index a43f59402..000000000
--- a/asm/trader.s
+++ /dev/null
@@ -1,558 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81339F8
-sub_81339F8: @ 81339F8
- push {r4-r6,lr}
- ldr r0, =gSaveBlock1Ptr
- ldr r1, [r0]
- ldr r0, =0x00002e28
- adds r5, r1, r0
- movs r2, 0
- movs r0, 0x2
- strb r0, [r5]
- ldr r0, =0x00002e59
- adds r1, r0
- strb r2, [r1]
- movs r4, 0
- ldr r6, =gUnknown_085B09E4
-_08133A12:
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- lsls r1, r4, 2
- adds r1, r6
- ldr r1, [r1]
- bl StringCopy
- adds r1, r5, 0x1
- adds r1, r4
- ldr r0, =gUnknown_085B09F4
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x32
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08133A12
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81339F8
-
- thumb_func_start sub_8133A60
-sub_8133A60: @ 8133A60
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e59
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_8133A60
-
- thumb_func_start sub_8133A78
-sub_8133A78: @ 8133A78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r7, r1, r0
- ldr r0, =gSaveBlock1Ptr
- ldr r4, [r0]
- ldr r0, =0x00002e28
- adds r0, r4
- mov r9, r0
- ldr r0, =gUnknown_085B09F8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, =gText_Exit
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- adds r6, r0, 0
- ldr r1, =gText_FiveMarks
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
- mov r8, r0
- movs r5, 0
- ldr r0, =0x00002e29
- adds r4, r0
-_08133AC2:
- mov r0, r9
- adds r0, 0x1
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133AF0
- mov r0, r8
- b _08133B00
- .pool
-_08133AF0:
- ldrb r1, [r1]
- lsls r1, 5
- ldr r0, =gDecorations + 1
- adds r1, r0
- movs r0, 0x1
- movs r2, 0
- bl GetStringWidth
-_08133B00:
- cmp r0, r6
- ble _08133B06
- adds r6, r0, 0
-_08133B06:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133AC2
- adds r0, r6, 0
- bl convert_pixel_width_to_tile_width
- lsls r0, 24
- ldr r2, =0x00ffffff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- strh r0, [r7, 0x6]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x85
- lsls r2, 2
- movs r1, 0
- movs r3, 0xE
- bl SetWindowBorderStyle
- movs r5, 0
-_08133B3C:
- adds r1, r4, r5
- ldrb r0, [r1]
- cmp r0, 0x78
- bls _08133B70
- ldrb r0, [r7, 0x6]
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- ldr r2, =gText_FiveMarks
- movs r3, 0x8
- bl PrintTextOnWindow
- b _08133B94
- .pool
-_08133B70:
- ldrb r0, [r7, 0x6]
- ldrb r2, [r1]
- lsls r2, 5
- ldr r1, =gDecorations + 1
- adds r2, r1
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
-_08133B94:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08133B3C
- ldrb r0, [r7, 0x6]
- ldr r2, =gText_Exit
- lsls r1, r5, 4
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- ldrb r0, [r7, 0x6]
- movs r1, 0x5
- movs r2, 0
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133A78
-
- thumb_func_start sub_8133BE4
-sub_8133BE4: @ 8133BE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- cmp r2, 0x78
- bls _08133C14
- ldr r1, =gSpecialVar_0x8004
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
- b _08133C18
- .pool
-_08133C14:
- ldr r0, =gSpecialVar_0x8004
- strh r2, [r0]
-_08133C18:
- ldrb r0, [r4, 0x6]
- movs r1, 0
- bl sub_8198070
- ldrb r0, [r4, 0x6]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x6]
- bl RemoveWindow
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133BE4
-
- thumb_func_start sub_8133C48
-sub_8133C48: @ 8133C48
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00002e28
- adds r6, r0, r1
- bl ProcessMenuInput
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08133C80
- cmp r1, r0
- bgt _08133C7C
- subs r0, 0x1
- cmp r1, r0
- beq _08133CCA
- b _08133C90
- .pool
-_08133C7C:
- cmp r1, 0x4
- bne _08133C90
-_08133C80:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- movs r1, 0
- bl sub_8133BE4
- b _08133CCA
-_08133C90:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gSpecialVar_0x8005
- lsls r4, 24
- asrs r4, 24
- strh r4, [r0]
- ldr r5, =gStringVar1
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- adds r1, 0x5
- adds r1, r6, r1
- adds r0, r5, 0
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x32
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- bl ConvertInternationalString
- adds r0, r6, 0x1
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8133BE4
-_08133CCA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133C48
-
- thumb_func_start sub_8133CD8
-sub_8133CD8: @ 8133CD8
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =gSpecialVar_Result
- ldr r2, =0x00002e59
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .pool
- thumb_func_end sub_8133CD8
-
- thumb_func_start sub_8133CF4
-sub_8133CF4: @ 8133CF4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, =gSpecialVar_Result
-_08133CFA:
- adds r0, r4, 0
- bl CountDecorationCategoryN
- lsls r0, 24
- cmp r0, 0
- beq _08133D10
- movs r0, 0
- strh r0, [r5]
- b _08133D20
- .pool
-_08133D10:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133CFA
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
-_08133D20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133CF4
-
- thumb_func_start sub_8133D2C
-sub_8133D2C: @ 8133D2C
- push {r4-r6,lr}
- ldr r6, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r6]
- ldr r4, =gDecorations
- ldr r5, =gSpecialVar_0x8004
- ldrh r0, [r5]
- lsls r0, 5
- adds r2, r0, r4
- ldr r0, =gSpecialVar_0x8006
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrb r1, [r2, 0x13]
- ldrb r0, [r0, 0x13]
- cmp r1, r0
- beq _08133D72
- adds r0, r1, 0
- bl GetFirstEmptyDecorSlot
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08133D72
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- ldrb r1, [r1, 0x13]
- bl sub_8127250
- movs r0, 0x1
- strh r0, [r6]
-_08133D72:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D2C
-
- thumb_func_start sub_8133D8C
-sub_8133D8C: @ 8133D8C
- push {lr}
- ldr r0, =sub_8127208
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133D8C
-
- thumb_func_start sub_8133DA0
-sub_8133DA0: @ 8133DA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl IsSelectedDecorInThePC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08133DFC
- ldr r5, =gSpecialVar_0x8006
- ldr r0, =gCurDecorationIndex
- ldrb r1, [r0]
- ldr r0, =gCurDecorInventoryItems
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, =gStringVar3
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 5
- ldr r4, =gDecorations + 1
- adds r1, r4
- bl StringCopy
- ldr r0, =gStringVar2
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- bl StringCopy
- b _08133E04
- .pool
-_08133DFC:
- ldr r1, =gSpecialVar_0x8006
- ldr r2, =0x0000ffff
- adds r0, r2, 0
- strh r0, [r1]
-_08133E04:
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133DA0
-
- thumb_func_start sub_8133E1C
-sub_8133E1C: @ 8133E1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSpecialVar_0x8006
- movs r1, 0
- strh r1, [r2]
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E1C
-
- thumb_func_start sub_8133E38
-sub_8133E38: @ 8133E38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, =gSaveBlock1Ptr
- ldr r6, [r0]
- ldr r0, =0x00002e28
- adds r5, r6, r0
- ldr r1, =gSpecialVar_0x8006
- mov r8, r1
- ldrb r0, [r1]
- bl DecorationRemove
- ldr r0, =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl DecorationAdd
- ldr r4, =gSpecialVar_0x8005
- ldrh r1, [r4]
- movs r0, 0xB
- muls r0, r1
- adds r0, 0x5
- adds r5, r0
- ldr r0, =gSaveBlock2Ptr
- ldr r1, [r0]
- adds r0, r5, 0
- bl StringCopy
- ldr r2, =0x00002e29
- adds r0, r6, r2
- ldrh r1, [r4]
- adds r0, r1
- mov r2, r8
- ldrh r1, [r2]
- strb r1, [r0]
- ldr r1, =0x00002e5a
- adds r0, r6, r1
- ldrh r4, [r4]
- adds r0, r4
- movs r1, 0x2
- strb r1, [r0]
- ldr r2, =0x00002e59
- adds r6, r2
- movs r0, 0x1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133E38
-
- thumb_func_start sub_8133EC0
-sub_8133EC0: @ 8133EC0
- push {lr}
- ldr r0, =sub_8133C48
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_8133A78
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8133EC0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index 84d0cceab..6d1be17cb 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -18,7 +18,7 @@ sub_80C2690: @ 80C2690
cmp r0, 0
beq _080C26C0
ldr r1, =0x040000d4
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
str r0, [r1]
movs r2, 0xF0
lsls r2, 3
@@ -40,7 +40,7 @@ sub_80C26D4: @ 80C26D4
ldrh r3, [r4]
movs r0, 0
strh r0, [r4]
- ldr r1, =gUnknown_02038C28
+ ldr r1, =gScanlineEffectRegBuffers
ldr r0, =0x04000006
ldrh r2, [r0]
movs r0, 0xFF
@@ -187,7 +187,7 @@ _080C2830:
bl sub_80C4630
b _080C28D4
_080C2836:
- ldr r0, =gLinkVSyncDisabled
+ ldr r0, =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0x1
bne _080C2852
@@ -198,7 +198,7 @@ _080C2836:
bl sub_800E0E8
movs r0, 0xE6
movs r1, 0x96
- bl sub_800DFB4
+ bl CreateWirelessStatusIndicatorSprite
_080C2852:
movs r6, 0x1
negs r6, r6
@@ -409,7 +409,7 @@ _080C2A2C:
bl sub_800AC34
movs r0, 0
movs r1, 0x1
- bl sub_81973C4
+ bl NewMenuHelpers_DrawDialogueFrame
ldr r2, =gText_WaitingTrainerFinishReading
movs r0, 0x1
str r0, [sp]
@@ -601,12 +601,12 @@ _080C2C04:
ldrb r0, [r0]
cmp r0, 0
beq _080C2C28
- ldr r0, =gUnknown_08DD1AB8
+ ldr r0, =gEmeraldTrainerCard_Gfx
ldr r2, =0x000019a8
b _080C2C4A
.pool
_080C2C28:
- ldr r0, =gUnknown_08DD246C
+ ldr r0, =gFireRedTrainerCard_Gfx
ldr r2, =0x000019a8
b _080C2C4A
.pool
@@ -1556,7 +1556,7 @@ sub_80C3404: @ 80C3404
sub_80C3414: @ 80C3414
push {lr}
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r0, =sub_80C2760
movs r1, 0
bl CreateTask
@@ -1925,11 +1925,11 @@ sub_80C376C: @ 80C376C
cmp r0, 0
bne _080C377E
movs r0, 0x1
- bl sub_80C0844
+ bl GetHoennPokedexCount
b _080C3784
_080C377E:
movs r0, 0x1
- bl pokedex_count
+ bl GetNationalPokedexCount
_080C3784:
lsls r0, 16
lsrs r0, 16
@@ -3082,7 +3082,7 @@ _080C4214:
movs r1, 0x60
movs r2, 0
movs r3, 0
- bl sub_80A2BAC
+ bl TintPalette_CustomTone
b _080C424A
_080C422A:
adds r0, r4, r5
@@ -3094,7 +3094,7 @@ _080C422A:
lsls r1, 1
str r1, [sp]
movs r1, 0x60
- bl sub_80A2BAC
+ bl TintPalette_CustomTone
b _080C424A
_080C4242:
adds r0, r4, r5
@@ -3317,7 +3317,7 @@ _080C4418:
ldrb r0, [r0]
cmp r0, 0
beq _080C447C
- ldr r1, =gUnknown_0856FAE4
+ ldr r1, =gEmeraldTrainerCardStarPals
ldr r3, =0x00000535
adds r0, r2, r3
ldrb r0, [r0]
@@ -3344,7 +3344,7 @@ _080C4418:
b _080C44B2
.pool
_080C447C:
- ldr r1, =gUnknown_0856FAF8
+ ldr r1, =gFireRedTrainerCardStarPals
ldr r3, =0x00000535
adds r0, r2, r3
ldrb r0, [r0]
@@ -3894,7 +3894,7 @@ _080C48F6:
sub_80C4904: @ 80C4904
lsls r0, 24
lsrs r0, 24
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r0, r1
adds r0, r2
@@ -3976,10 +3976,10 @@ sub_80C4998: @ 80C4998
bl HideBg
movs r0, 0x3
bl HideBg
- bl remove_some_task
- bl dp12_8087EA4
+ bl ScanlineEffect_Stop
+ bl ScanlineEffect_Clear
movs r1, 0
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
movs r2, 0
movs r3, 0xF0
lsls r3, 3
@@ -4066,7 +4066,7 @@ _080C4A0E:
movs r2, 0
cmp r2, r7
bcs _080C4A78
- ldr r3, =gUnknown_02038C28
+ ldr r3, =gScanlineEffectRegBuffers
_080C4A60:
lsls r0, r2, 16
asrs r0, 16
@@ -4091,7 +4091,7 @@ _080C4A78:
lsrs r7, r4, 16
cmp r1, r0
bge _080C4AB0
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r12, r0
adds r4, r3, 0
_080C4A92:
@@ -4116,7 +4116,7 @@ _080C4AB0:
asrs r0, r1, 16
cmp r0, 0x9F
bgt _080C4ACE
- ldr r2, =gUnknown_02038C28
+ ldr r2, =gScanlineEffectRegBuffers
_080C4ABC:
asrs r0, r1, 16
lsls r1, r0, 1
@@ -4392,7 +4392,7 @@ _080C4CB6:
movs r2, 0
cmp r2, r7
bcs _080C4D20
- ldr r3, =gUnknown_02038C28
+ ldr r3, =gScanlineEffectRegBuffers
_080C4D08:
lsls r0, r2, 16
asrs r0, 16
@@ -4417,7 +4417,7 @@ _080C4D20:
lsrs r7, r4, 16
cmp r1, r0
bge _080C4D56
- ldr r0, =gUnknown_02038C28
+ ldr r0, =gScanlineEffectRegBuffers
mov r12, r0
adds r4, r3, 0
_080C4D3A:
@@ -4441,7 +4441,7 @@ _080C4D56:
asrs r0, r1, 16
cmp r0, 0x9F
bgt _080C4D74
- ldr r2, =gUnknown_02038C28
+ ldr r2, =gScanlineEffectRegBuffers
_080C4D62:
asrs r0, r1, 16
lsls r1, r0, 1
@@ -4578,7 +4578,7 @@ sub_80C4E74: @ 80C4E74
ldr r0, [r5]
ldr r1, =0x00000534
adds r0, r1
- ldr r2, =gUnknown_02039B58
+ ldr r2, =gTrainerCards
movs r1, 0x64
muls r1, r4
adds r1, r2
@@ -4754,7 +4754,7 @@ sub_80C4FF0: @ 80C4FF0
ldr r1, =0x00000583
adds r0, r1
ldrb r0, [r0]
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18
@@ -4795,7 +4795,7 @@ _080C5060:
adds r0, r1
adds r0, r2
ldrb r0, [r0]
- bl sub_806EFF0
+ bl FacilityClassToPicIndex
lsls r0, 16
lsrs r0, 16
ldr r4, =gUnknown_0856FB18
@@ -5310,7 +5310,7 @@ _080C54AC:
_080C54D8:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
movs r0, 0x2
bl DisableInterrupts
@@ -5594,7 +5594,7 @@ _080C577C:
bl HideBg
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C57E4
_080C57A6:
@@ -5766,7 +5766,7 @@ sub_80C58D4: @ 80C58D4
beq _080C5914
cmp r0, 0x2
beq _080C591C
- bl sub_8085784
+ bl Overworld_PlaySpecialMapMusic
b _080C5924
.pool
_080C5914:
@@ -7189,7 +7189,7 @@ _080C64F0:
_080C6510:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C6694
_080C6520:
@@ -7400,7 +7400,7 @@ _080C66FC:
_080C6722:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C67A4
_080C6732:
@@ -8258,7 +8258,7 @@ _080C6E08:
str r1, [sp, 0x10]
movs r1, 0x1
movs r3, 0x1
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
ldr r0, [sp, 0x4C]
mov r10, r4
cmp r0, 0x6
@@ -8410,7 +8410,7 @@ sub_80C6EAC: @ 80C6EAC
movs r1, 0x1
movs r2, 0
movs r3, 0x2
- bl AddTextPrinterParametrized2
+ bl AddTextPrinterParameterized2
lsrs r5, 1
adds r0, r7, 0
ldr r1, [sp, 0x24]
diff --git a/asm/trainer_rematch.s b/asm/trainer_rematch.s
deleted file mode 100755
index b814934a3..000000000
--- a/asm/trainer_rematch.s
+++ /dev/null
@@ -1,206 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81DA57C
-sub_81DA57C: @ 81DA57C
- push {lr}
- ldr r0, =0x00000864
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081DA5CA
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bhi _081DA5CA
- movs r0, 0x5B
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _081DA5C0
- ldr r0, =gUnknown_0862AD34
- movs r1, 0x8
- movs r2, 0x5
- bl sub_81DA5D4
- b _081DA5CA
- .pool
-_081DA5C0:
- ldr r0, =gUnknown_0862AD44
- movs r1, 0x7
- movs r2, 0x1
- bl sub_81DA5D4
-_081DA5CA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA57C
-
- thumb_func_start sub_81DA5D4
-sub_81DA5D4: @ 81DA5D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- adds r7, r1, 0
- mov r10, r2
- movs r6, 0
- movs r0, 0x5
- mov r8, r0
- movs r5, 0
- cmp r5, r7
- bcs _081DA61C
- mov r4, r9
-_081DA5F4:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r4]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081DA614
- adds r0, r1, 0
- bl sub_81DA6CC
- cmp r8, r0
- ble _081DA612
- mov r8, r0
-_081DA612:
- adds r6, 0x1
-_081DA614:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, r7
- bcc _081DA5F4
-_081DA61C:
- cmp r6, 0
- beq _081DA6BA
- cmp r8, r10
- bhi _081DA6BA
- movs r6, 0
- movs r5, 0
- cmp r5, r7
- bcs _081DA654
- mov r4, r9
-_081DA62E:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r1, [r4]
- ldr r2, =0x000009ca
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081DA64C
- adds r0, r1, 0
- bl sub_81DA6CC
- cmp r0, r8
- bne _081DA64C
- adds r6, 0x1
-_081DA64C:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, r7
- bcc _081DA62E
-_081DA654:
- cmp r6, 0
- beq _081DA6BA
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r6, r0, 0
- movs r5, 0
- cmp r5, r7
- bcs _081DA6BA
- ldr r2, =gSaveBlock1Ptr
- ldr r3, =0x000009ca
- mov r4, r9
-_081DA674:
- ldr r0, [r2]
- ldrh r1, [r4]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _081DA6B2
- adds r0, r1, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl sub_81DA6CC
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- cmp r0, r8
- bne _081DA6B2
- cmp r6, 0
- bne _081DA6B0
- ldr r0, [r2]
- adds r0, r3
- ldrh r4, [r4]
- adds r0, r4
- mov r1, r8
- strb r1, [r0]
- b _081DA6BA
- .pool
-_081DA6B0:
- subs r6, 0x1
-_081DA6B2:
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, r7
- bcc _081DA674
-_081DA6BA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81DA5D4
-
- thumb_func_start sub_81DA6CC
-sub_81DA6CC: @ 81DA6CC
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r6, =gUnknown_085500A4
-_081DA6D4:
- lsls r0, r4, 1
- lsls r1, r5, 4
- adds r0, r1
- adds r0, r6
- ldrh r0, [r0]
- bl HasTrainerAlreadyBeenFought
- lsls r0, 24
- cmp r0, 0
- bne _081DA6F0
- adds r0, r4, 0
- b _081DA6F8
- .pool
-_081DA6F0:
- adds r4, 0x1
- cmp r4, 0x4
- ble _081DA6D4
- movs r0, 0x5
-_081DA6F8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81DA6CC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
deleted file mode 100644
index ad6cc370e..000000000
--- a/asm/trainer_see.s
+++ /dev/null
@@ -1,1645 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CheckForTrainersWantingBattle
-@ bool8 CheckForTrainersWantingBattle()
-CheckForTrainersWantingBattle: @ 80B3BE8
- push {r4-r7,lr}
- ldr r0, =gUnknown_030060A8
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gUnknown_02038BFC
- strb r1, [r0]
- movs r4, 0
- ldr r6, =gMapObjects
-_080B3BF8:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r6
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _080B3C38
- ldrb r0, [r1, 0x7]
- cmp r0, 0x1
- beq _080B3C12
- cmp r0, 0x3
- bne _080B3C38
-_080B3C12:
- adds r0, r4, 0
- bl CheckIfTrainerWantsBattle
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080B3C42
- cmp r0, 0
- beq _080B3C38
- ldr r0, =gUnknown_030060A8
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x1
- bhi _080B3C88
- bl GetMonsStateToDoubles_2
- lsls r0, 24
- cmp r0, 0
- bne _080B3C42
-_080B3C38:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080B3BF8
-_080B3C42:
- ldr r0, =gUnknown_030060A8
- ldrb r4, [r0]
- adds r5, r0, 0
- cmp r4, 0x1
- bne _080B3C88
- bl ResetTrainerOpponentIds
- ldr r2, =gUnknown_03006090
- ldrb r0, [r5]
- subs r0, 0x1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl SingleTrainerWantsBattle
- ldr r0, =gUnknown_030060AC
- strb r4, [r0]
- movs r0, 0x1
- b _080B3CF4
- .pool
-_080B3C88:
- ldrb r0, [r5]
- cmp r0, 0x2
- bne _080B3CEC
- bl ResetTrainerOpponentIds
- movs r4, 0
- ldrb r5, [r5]
- cmp r4, r5
- bcs _080B3CC6
- ldr r6, =gUnknown_03006090
- adds r7, r6, 0x4
- ldr r5, =gUnknown_02038BFC
-_080B3CA0:
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r0, r1, r6
- ldrb r0, [r0]
- adds r1, r7
- ldr r1, [r1]
- bl TwoTrainersWantBattle
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080B3CA0
-_080B3CC6:
- bl TwoTrainersWantBattleExecuteScript
- ldr r1, =gUnknown_02038BFC
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gUnknown_030060AC
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _080B3CF4
- .pool
-_080B3CEC:
- ldr r1, =gUnknown_030060AC
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
-_080B3CF4:
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckForTrainersWantingBattle
-
- thumb_func_start CheckIfTrainerWantsBattle
-@ u8 CheckIfTrainerWantsBattle(u8 trainerFieldObjectId)
-CheckIfTrainerWantsBattle: @ 80B3D00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x1
- mov r9, r0
- bl InTrainerHill
- cmp r0, 0x1
- bne _080B3D1E
- bl sub_81D62AC
- b _080B3D24
-_080B3D1E:
- adds r0, r5, 0
- bl GetFieldObjectScriptPointerByFieldObjectId
-_080B3D24:
- adds r7, r0, 0
- bl InBattlePyramid
- lsls r0, 24
- cmp r0, 0
- beq _080B3D3E
- adds r0, r5, 0
- bl GetBattlePyramidTrainerFlag
-_080B3D36:
- lsls r0, 24
-_080B3D38:
- cmp r0, 0
- beq _080B3D56
- b _080B3DE0
-_080B3D3E:
- bl InTrainerHill
- cmp r0, 0x1
- bne _080B3D4E
- adds r0, r5, 0
- bl GetTrainerHillTrainerFlag
- b _080B3D36
-_080B3D4E:
- adds r0, r7, 0
- bl GetTrainerFlagFromScriptPointer
- b _080B3D38
-_080B3D56:
- lsls r4, r5, 3
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- bl CheckIfTrainerCanApproachPlayer
- lsls r0, 24
- lsrs r6, r0, 24
- mov r8, r4
- cmp r6, 0
- beq _080B3DE0
- ldrb r0, [r7, 0x1]
- cmp r0, 0x4
- beq _080B3D7C
- cmp r0, 0x7
- beq _080B3D7C
- cmp r0, 0x6
- bne _080B3D8A
-_080B3D7C:
- bl GetMonsStateToDoubles_2
- lsls r0, 24
- cmp r0, 0
- bne _080B3DE0
- movs r1, 0x2
- mov r9, r1
-_080B3D8A:
- ldr r2, =gUnknown_03006090
- ldr r4, =gUnknown_030060A8
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r5, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0x4
- adds r0, r1
- str r7, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strb r6, [r0, 0x1]
- mov r1, r8
- adds r0, r1, r5
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- subs r1, r6, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl TrainerApproachPlayer
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- mov r0, r9
- b _080B3DE2
- .pool
-_080B3DE0:
- movs r0, 0
-_080B3DE2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckIfTrainerWantsBattle
-
- thumb_func_start CheckIfTrainerCanApproachPlayer
-@ u8 CheckIfTrainerCanApproachPlayer(struct npc_state *trainerFieldObject)
-CheckIfTrainerCanApproachPlayer: @ 80B3DF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldrb r0, [r7, 0x7]
- mov r8, r4
- cmp r0, 0x1
- bne _080B3E50
- ldr r1, =gIsTrainerInRange
- ldrb r0, [r7, 0x18]
- lsls r0, 28
- lsrs r0, 26
- subs r0, 0x4
- adds r0, r1
- ldrb r1, [r7, 0x1D]
- mov r2, sp
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r5, 0
- ldrsh r3, [r4, r5]
- ldr r4, [r0]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r7, 0x18]
- lsls r2, 28
- lsrs r2, 28
- adds r0, r7, 0
- adds r1, r6, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- lsrs r0, 24
- b _080B3E90
- .pool
-_080B3E4C:
- adds r0, r6, 0
- b _080B3E90
-_080B3E50:
- movs r5, 0
-_080B3E52:
- ldr r0, =gIsTrainerInRange
- lsls r4, r5, 2
- adds r4, r0
- ldrb r1, [r7, 0x1D]
- mov r0, sp
- movs r6, 0
- ldrsh r2, [r0, r6]
- mov r0, r8
- movs r6, 0
- ldrsh r3, [r0, r6]
- ldr r4, [r4]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- cmp r0, 0
- bne _080B3E4C
- adds r5, r4, 0
- cmp r5, 0x3
- bls _080B3E52
- movs r0, 0
-_080B3E90:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CheckIfTrainerCanApproachPlayer
-
- thumb_func_start IsTrainerInRangeSouth
-@ u8 IsTrainerInRangeSouth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY)
-IsTrainerInRangeSouth: @ 80B3EA0
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _080B3EDA
- lsls r0, r5, 16
- asrs r2, r0, 16
- ldrh r3, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r2, r0
- ble _080B3EDA
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- cmp r2, r1
- bgt _080B3EDA
- subs r0, r5, r3
- lsls r0, 24
- lsrs r0, 24
- b _080B3EDC
-_080B3EDA:
- movs r0, 0
-_080B3EDC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeSouth
-
- thumb_func_start IsTrainerInRangeNorth
-@ u8 IsTrainerInRangeNorth(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY)
-IsTrainerInRangeNorth: @ 80B3EE4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _080B3F1E
- lsls r0, r5, 16
- asrs r2, r0, 16
- ldrh r3, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r2, r0
- bge _080B3F1E
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r2, r1
- blt _080B3F1E
- subs r0, r3, r5
- lsls r0, 24
- lsrs r0, 24
- b _080B3F20
-_080B3F1E:
- movs r0, 0
-_080B3F20:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeNorth
-
- thumb_func_start IsTrainerInRangeWest
-@ u8 IsTrainerInRangeWest(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY)
-IsTrainerInRangeWest: @ 80B3F28
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _080B3F62
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080B3F62
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r3, r1
- blt _080B3F62
- subs r0, r2, r5
- lsls r0, 24
- lsrs r0, 24
- b _080B3F64
-_080B3F62:
- movs r0, 0
-_080B3F64:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeWest
-
- thumb_func_start IsTrainerInRangeEast
-@ u8 IsTrainerInRangeEast(struct npc_state *trainerFieldObject, u16 sightRange, u16 playerX, u16 playerY)
-IsTrainerInRangeEast: @ 80B3F6C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _080B3FA6
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _080B3FA6
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- cmp r3, r1
- bgt _080B3FA6
- subs r0, r5, r2
- lsls r0, 24
- lsrs r0, 24
- b _080B3FA8
-_080B3FA6:
- movs r0, 0
-_080B3FA8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeEast
-
- thumb_func_start CheckPathBetweenTrainerAndPlayer
-@ u8 CheckPathBetweenTrainerAndPlayer(struct npc_state *fieldObject, u8 a2, u8 direction)
-CheckPathBetweenTrainerAndPlayer: @ 80B3FB0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r1, 0
- beq _080B4056
- ldrh r1, [r6, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r6, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- adds r0, r7, 0
- mov r1, sp
- adds r2, r4, 0
- bl MoveCoords
- movs r5, 0
- mov r8, r4
- mov r4, r9
- subs r4, 0x1
- cmp r5, r4
- bge _080B4028
-_080B3FEE:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl sub_8092C8C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080B4014
- movs r0, 0x2
- negs r0, r0
- ands r1, r0
- cmp r1, 0
- bne _080B4056
-_080B4014:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r7, 0
- mov r1, sp
- mov r2, r8
- bl MoveCoords
- cmp r5, r4
- blt _080B3FEE
-_080B4028:
- ldrb r4, [r6, 0x19]
- lsls r5, r4, 28
- lsrs r5, 28
- lsrs r4, 4
- movs r0, 0
- strb r0, [r6, 0x19]
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl npc_block_way
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, 4
- orrs r5, r4
- strb r5, [r6, 0x19]
- cmp r1, 0x4
- beq _080B405A
-_080B4056:
- movs r0, 0
- b _080B405C
-_080B405A:
- mov r0, r9
-_080B405C:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPathBetweenTrainerAndPlayer
-
- thumb_func_start TrainerApproachPlayer
-@ void TrainerApproachPlayer(struct npc_state *trainerFieldObject, u8 distance)
-TrainerApproachPlayer: @ 80B406C
- push {r4,r5,lr}
- lsls r5, r1, 24
- lsrs r5, 24
- ldr r0, =c3_8081EDC
- movs r1, 0x50
- bl CreateTask
- ldr r4, =gUnknown_03006090
- ldr r3, =gUnknown_030060A8
- ldrb r2, [r3]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strb r0, [r1, 0x8]
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x8]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks
- adds r1, r0
- strh r5, [r1, 0xE]
- ldrb r2, [r3]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1, 0x16]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end TrainerApproachPlayer
-
- thumb_func_start sub_80B40C8
-sub_80B40C8: @ 80B40C8
- push {r4,r5,lr}
- adds r2, r0, 0
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B40E4
- ldr r0, =gUnknown_03006090
- ldrb r5, [r0, 0x8]
- b _080B40E8
- .pool
-_080B40E4:
- ldr r0, =gUnknown_03006090
- ldrb r5, [r0, 0x14]
-_080B40E8:
- ldr r4, =c3_8081EDC
- adds r0, r5, 0
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- adds r0, r5, 0
- bl _call_via_r4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B40C8
-
- thumb_func_start c3_8081EDC
-c3_8081EDC: @ 80B4118
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r5, r0, r1
- ldrb r0, [r5]
- lsls r0, 31
- cmp r0, 0
- bne _080B4150
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _080B416C
- .pool
-_080B4150:
- ldr r7, =gTrainerSeeFuncList
-_080B4152:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r7
- ldr r3, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080B4152
-_080B416C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_8081EDC
-
- thumb_func_start sub_80B4178
-sub_80B4178: @ 80B4178
- movs r0, 0
- bx lr
- thumb_func_end sub_80B4178
-
- thumb_func_start sub_80B417C
-sub_80B417C: @ 80B417C
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r1, =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl FieldObjectGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- 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
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B417C
-
- thumb_func_start sub_80B41C0
-sub_80B41C0: @ 80B41C0
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- movs r0, 0
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- beq _080B41D6
- movs r0, 0
- b _080B41F8
-_080B41D6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r5, 0x6]
- subs r0, 0x39
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080B41EC
- movs r0, 0x6
- strh r0, [r4, 0x8]
-_080B41EC:
- ldrb r0, [r5, 0x6]
- cmp r0, 0x3F
- bne _080B41F6
- movs r0, 0x8
- strh r0, [r4, 0x8]
-_080B41F6:
- movs r0, 0x1
-_080B41F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B41C0
-
- thumb_func_start sub_80B4200
-sub_80B4200: @ 80B4200
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B421E
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B4252
-_080B421E:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080B4244
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetGoSpeed0AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- b _080B4252
-_080B4244:
- adds r0, r4, 0
- movs r1, 0x3E
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B4252:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4200
-
- thumb_func_start sub_80B425C
-sub_80B425C: @ 80B425C
- push {r4-r6,lr}
- adds r6, r1, 0
- adds r5, r2, 0
- adds r0, r5, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B427A
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B4308
-_080B427A:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl npc_set_running_behaviour_etc
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_808F23C
- adds r0, r5, 0
- bl sub_808F208
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B42D2
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B4308
-_080B42D2:
- bl sub_808BCE8
- ldr r0, =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, =gMapObjects
- adds r4, r0
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetOppositeDirection
- 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, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_080B4308:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B425C
-
- thumb_func_start sub_80B4318
-sub_80B4318: @ 80B4318
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B4344
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B434A
-_080B4344:
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
-_080B434A:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4318
-
- thumb_func_start sub_80B435C
-sub_80B435C: @ 80B435C
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B437A
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B4388
-_080B437A:
- adds r0, r4, 0
- movs r1, 0x59
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B4388:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B435C
-
- thumb_func_start sub_80B4390
-sub_80B4390: @ 80B4390
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r2, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B43A4
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_080B43A4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4390
-
- thumb_func_start sub_80B43AC
-sub_80B43AC: @ 80B43AC
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080B43CA
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080B43D8
-_080B43CA:
- adds r0, r4, 0
- movs r1, 0x3E
- bl FieldObjectSetSpecialAnim
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B43D8:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B43AC
-
- thumb_func_start sub_80B43E0
-sub_80B43E0: @ 80B43E0
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- cmp r0, 0
- beq _080B4426
- ldr r2, =gFieldEffectArguments
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldr r3, =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0x10]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080B4426:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B43E0
-
- thumb_func_start sub_80B4438
-sub_80B4438: @ 80B4438
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r2, =gSprites
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x2B
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080B44A0
- ldrb r1, [r4, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80934BC
- 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]
-_080B44A0:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4438
-
- thumb_func_start sub_80B44AC
-sub_80B44AC: @ 80B44AC
- push {r4,lr}
- adds r4, r1, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B44C0
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_080B44C0:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B44AC
-
- thumb_func_start sub_80B44C8
-sub_80B44C8: @ 80B44C8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0xA
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080B44FA
- ldr r0, [sp]
- bl FieldObjectClearAnim
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_080B44FA:
- ldr r1, =gTrainerSeeFuncList2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [sp]
- ldr r3, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r3
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _080B4564
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080B4564
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl npc_set_running_behaviour_etc
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl npc_running_behaviour_by_direction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_808F23C
- adds r0, r5, 0
- bl DestroyTask
- b _080B456E
- .pool
-_080B4564:
- ldr r2, [sp]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_080B456E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B44C8
-
- thumb_func_start sub_80B4578
-sub_80B4578: @ 80B4578
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, =sub_80B44C8
- movs r1, 0
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r0, r1
- adds r0, 0x2
- adds r1, r4, 0
- bl StoreWordInTwoHalfwords
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B4578
-
- thumb_func_start sub_80B45AC
-sub_80B45AC: @ 80B45AC
- push {lr}
- ldr r0, =sub_80B45BC
- bl sub_80B40C8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B45AC
-
- thumb_func_start sub_80B45BC
-sub_80B45BC: @ 80B45BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80B45BC
-
- thumb_func_start sub_80B45D0
-sub_80B45D0: @ 80B45D0
- push {lr}
- ldr r0, =gUnknown_030060A8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080B4610
- ldr r1, =gUnknown_02038BFC
- ldrb r0, [r1]
- cmp r0, 0
- bne _080B460C
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, =gSpecialVar_Result
- movs r0, 0x1
- strh r0, [r1]
- bl UnfreezeMapObjects
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0, 0xC]
- bl sub_80974D0
- b _080B4616
- .pool
-_080B460C:
- movs r0, 0
- strb r0, [r1]
-_080B4610:
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_080B4616:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B45D0
-
- thumb_func_start oei_exclamation_mark
-oei_exclamation_mark: @ 80B4620
- push {lr}
- ldr r0, =gSpriteTemplate_85507B4
- movs r1, 0
- movs r2, 0
- movs r3, 0x53
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080B4648
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_80B46D8
-_080B4648:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end oei_exclamation_mark
-
- thumb_func_start sub_80B4658
-sub_80B4658: @ 80B4658
- push {lr}
- ldr r0, =gSpriteTemplate_85507B4
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080B4680
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- movs r1, 0x21
- movs r2, 0x1
- bl sub_80B46D8
-_080B4680:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4658
-
- thumb_func_start sub_80B4690
-sub_80B4690: @ 80B4690
- push {r4,lr}
- ldr r0, =gSpriteTemplate_85507CC
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080B46C6
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x2E
- movs r2, 0
- bl sub_80B46D8
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080B46C6:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B4690
-
- thumb_func_start sub_80B46D8
-@ void sub_80B46D8(struct obj *object, s16 a2, u8 a3)
-sub_80B46D8: @ 80B46D8
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldrb r4, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- ands r3, r4
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r0, 0x5]
- movs r3, 0x3E
- adds r3, r0
- mov r12, r3
- ldrb r3, [r3]
- movs r4, 0x2
- orrs r3, r4
- mov r4, r12
- strb r3, [r4]
- ldr r4, =gFieldEffectArguments
- ldr r3, [r4]
- strh r3, [r0, 0x2E]
- ldr r3, [r4, 0x4]
- strh r3, [r0, 0x30]
- ldr r3, [r4, 0x8]
- strh r3, [r0, 0x32]
- ldr r3, =0x0000fffb
- strh r3, [r0, 0x34]
- strh r1, [r0, 0x3C]
- adds r1, r2, 0
- bl StartSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B46D8
-
- thumb_func_start objc_exclamation_mark_probably
-objc_exclamation_mark_probably: @ 80B4724
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080B4756
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B4764
-_080B4756:
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _080B47B2
-_080B4764:
- ldr r2, =gMapObjects
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, =gSprites
- adds r1, r0
- ldrh r3, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r2, r3, r0
- strh r2, [r4, 0x36]
- ldrh r0, [r1, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0x10
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r1, 0x26]
- adds r0, r2
- strh r0, [r4, 0x26]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080B47B0
- adds r0, r3, 0x1
- strh r0, [r4, 0x34]
- b _080B47B2
- .pool
-_080B47B0:
- strh r2, [r4, 0x34]
-_080B47B2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end objc_exclamation_mark_probably
-
- thumb_func_start sub_80B47BC
-sub_80B47BC: @ 80B47BC
- push {lr}
- ldr r0, =gUnknown_02038BFC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B47D4
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0, 0xC]
- b _080B47D8
- .pool
-_080B47D4:
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0]
-_080B47D8:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B47BC
-
- thumb_func_start sub_80B47E0
-sub_80B47E0: @ 80B47E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080B47EE
- movs r0, 0
- b _080B4800
-_080B47EE:
- cmp r0, 0
- beq _080B47FC
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0, 0xC]
- b _080B4800
- .pool
-_080B47FC:
- ldr r0, =gUnknown_03006090
- ldrb r0, [r0]
-_080B4800:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B47E0
-
- thumb_func_start sub_80B4808
-sub_80B4808: @ 80B4808
- push {lr}
- ldr r0, =gUnknown_030060AC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B4870
- ldr r2, =gUnknown_03006090
- ldr r0, =gUnknown_03006080
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetOppositeDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionAnimId
- ldr r3, =gUnknown_03006084
- strb r0, [r3]
- movs r0, 0xFE
- strb r0, [r3, 0x1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0xFF
- bl ScriptMovement_StartObjectMovementScript
- b _080B489E
- .pool
-_080B4870:
- ldr r0, =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, =gMapObjects
- adds r0, r1
- ldrb r0, [r0, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionAnimId
- ldr r3, =gUnknown_03006084
- strb r0, [r3]
- movs r0, 0xFE
- strb r0, [r3, 0x1]
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0xFF
- bl ScriptMovement_StartObjectMovementScript
-_080B489E:
- movs r0, 0xFF
- bl sub_809BE48
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B4808
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_81BAD84.s b/asm/unk_81BAD84.s
deleted file mode 100644
index 2a95feed4..000000000
--- a/asm/unk_81BAD84.s
+++ /dev/null
@@ -1,57 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81BAD84
-sub_81BAD84: @ 81BAD84
- push {r4-r6,lr}
- movs r6, 0x80
- lsls r6, 19
- movs r2, 0
- strh r2, [r6]
- ldr r1, =0x04000010
- strh r2, [r1]
- adds r1, 0x2
- strh r2, [r1]
- adds r1, 0x3E
- strh r2, [r1]
- ldr r5, =gUnknown_08617128
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, =0x0600f800
- bl LZ77UnCompVram
- adds r5, 0x8
- adds r4, r5
- ldr r0, [r4]
- movs r1, 0xA0
- lsls r1, 19
- movs r4, 0x80
- lsls r4, 1
- adds r2, r4, 0
- bl CpuSet
- ldr r1, =0x04000008
- movs r2, 0xF8
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- strh r4, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81BAD84
-
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_sprite_file.s b/asm/unk_sprite_file.s
deleted file mode 100755
index 5a25b8e08..000000000
--- a/asm/unk_sprite_file.s
+++ /dev/null
@@ -1,607 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81DA700
-sub_81DA700: @ 81DA700
- push {lr}
- sub sp, 0x8
- add r1, sp, 0x4
- mov r0, sp
- bl sub_8149F58
- ldr r0, =gUnknown_0862AD54
- ldr r1, [sp, 0x4]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_0862AF30
- ldr r1, [sp]
- bl LZ77UnCompVram
- ldr r0, =gUnknown_0862B53C
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_0862B724
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_0862B72C
- bl LoadSpritePalette
- add sp, 0x8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA700
-
- thumb_func_start sub_81DA74C
-sub_81DA74C: @ 81DA74C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r4, 24
- lsrs r7, r4, 24
- ldr r0, =gUnknown_0862B758
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r7, 0x1
- beq _081DA7D0
- cmp r7, 0x1
- bgt _081DA7A8
- cmp r7, 0
- beq _081DA7B8
- b _081DA7AC
- .pool
-_081DA7A8:
- cmp r7, 0x2
- beq _081DA7E4
-_081DA7AC:
- ldr r6, =gSprites
- lsls r3, r5, 4
- b _081DA7F8
- .pool
-_081DA7B8:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x78
- strh r1, [r0, 0x2E]
- movs r1, 0x2D
- b _081DA7F4
- .pool
-_081DA7D0:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x59
- b _081DA7F0
- .pool
-_081DA7E4:
- ldr r2, =gSprites
- lsls r3, r5, 4
- adds r0, r3, r5
- lsls r0, 2
- adds r0, r2
- movs r1, 0x97
-_081DA7F0:
- strh r1, [r0, 0x2E]
- movs r1, 0x61
-_081DA7F4:
- strh r1, [r0, 0x30]
- adds r6, r2, 0
-_081DA7F8:
- adds r4, r3, r5
- lsls r4, 2
- adds r0, r4, r6
- mov r2, r8
- lsls r1, r2, 24
- asrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x32]
- mov r3, r9
- lsls r1, r3, 24
- asrs r1, 24
- strh r1, [r0, 0x34]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0, 0x3A]
- mov r3, r10
- strh r3, [r0, 0x3C]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- adds r1, r7, 0
- bl StartSpriteAnim
- adds r0, r6, 0
- adds r0, 0x1C
- adds r4, r0
- ldr r0, =sub_81DA848
- str r0, [r4]
- adds r0, r5, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DA74C
-
- thumb_func_start sub_81DA848
-sub_81DA848: @ 81DA848
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r2, r3, 0
- adds r2, 0x2E
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bne _081DA874
- movs r5, 0x22
- ldrsh r1, [r3, r5]
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _081DA874
- ldr r0, =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- b _081DA8B4
- .pool
-_081DA874:
- ldrh r4, [r2, 0x8]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- movs r5, 0xC
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _081DA890
- ldrh r0, [r2, 0x4]
- ldrh r1, [r3, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r3, 0x20]
- strh r1, [r2, 0x8]
- b _081DA894
-_081DA890:
- adds r0, r4, 0x1
- strh r0, [r2, 0x8]
-_081DA894:
- ldrh r4, [r2, 0xA]
- movs r5, 0xA
- ldrsh r1, [r2, r5]
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _081DA8B0
- ldrh r0, [r2, 0x6]
- ldrh r1, [r3, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r3, 0x22]
- strh r1, [r2, 0xA]
- b _081DA8B4
-_081DA8B0:
- adds r0, r4, 0x1
- strh r0, [r2, 0xA]
-_081DA8B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81DA848
-
- thumb_func_start sub_81DA8BC
-sub_81DA8BC: @ 81DA8BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r6, r0, 0
- mov r8, r1
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r4, 16
- lsrs r7, r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gUnknown_0862B758
- lsls r6, 16
- asrs r6, 16
- mov r1, r8
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- adds r1, r6, 0
- mov r2, r8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0x1
- beq _081DA94C
- cmp r5, 0x1
- bgt _081DA924
- cmp r5, 0
- beq _081DA934
- b _081DA928
- .pool
-_081DA924:
- cmp r5, 0x2
- beq _081DA960
-_081DA928:
- ldr r2, =gSprites
- lsls r3, r6, 4
- b _081DA972
- .pool
-_081DA934:
- ldr r2, =gSprites
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0x78
- strh r1, [r0, 0x2E]
- movs r1, 0x2D
- b _081DA970
- .pool
-_081DA94C:
- ldr r2, =gSprites
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0x59
- b _081DA96C
- .pool
-_081DA960:
- ldr r2, =gSprites
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0x97
-_081DA96C:
- strh r1, [r0, 0x2E]
- movs r1, 0x61
-_081DA970:
- strh r1, [r0, 0x30]
-_081DA972:
- adds r4, r3, r6
- lsls r4, 2
- adds r0, r4, r2
- mov r3, sp
- ldrh r3, [r3]
- strh r3, [r0, 0x32]
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r0, 0x34]
- mov r3, r10
- strh r3, [r0, 0x36]
- mov r1, r9
- strh r1, [r0, 0x38]
- strh r7, [r0, 0x3A]
- adds r1, r5, 0
- str r2, [sp, 0x8]
- bl StartSpriteAnim
- ldr r2, [sp, 0x8]
- adds r0, r2, 0
- adds r0, 0x1C
- adds r4, r0
- ldr r0, =sub_81DA9BC
- str r0, [r4]
- adds r0, r6, 0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DA8BC
-
- thumb_func_start sub_81DA9BC
-sub_81DA9BC: @ 81DA9BC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- muls r0, r1
- asrs r0, 12
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x36
- ldrsh r1, [r4, r3]
- muls r0, r1
- asrs r0, 12
- strh r0, [r4, 0x26]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0xB4
- lsls r1, 1
- bl __modsi3
- strh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- movs r3, 0x36
- ldrsh r1, [r4, r3]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _081DAA12
- ldrh r0, [r4, 0x3A]
- adds r0, r2, r0
- strh r0, [r4, 0x36]
- b _081DAA16
-_081DAA12:
- ldr r0, =SpriteCallbackDummy
- str r0, [r4, 0x1C]
-_081DAA16:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DA9BC
-
- thumb_func_start sub_81DAA20
-sub_81DAA20: @ 81DAA20
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =0x00002e90
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, =gSprites
- adds r0, r4
- bl DestroySprite
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DAA20
-
- thumb_func_start sub_81DAA74
-sub_81DAA74: @ 81DAA74
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r2, =gSprites
- movs r0, 0x10
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r2, 0
- adds r5, 0x1C
- adds r0, r5
- ldr r4, [r0]
- ldr r0, =SpriteCallbackDummy
- cmp r4, r0
- bne _081DAAC4
- movs r0, 0x12
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- cmp r2, r4
- bne _081DAAC4
- movs r1, 0x14
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldr r0, [r1]
- cmp r0, r2
- bne _081DAAC4
- movs r0, 0x1
- b _081DAAC6
- .pool
-_081DAAC4:
- movs r0, 0
-_081DAAC6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAA74
-
- thumb_func_start sub_81DAACC
-sub_81DAACC: @ 81DAACC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081DAB20
- bl sub_81DA700
- ldr r1, =0x00003f41
- movs r0, 0x50
- bl SetGpuReg
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0x52
- bl SetGpuReg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r1, 0xA0
- lsls r1, 3
- movs r0, 0
- movs r2, 0x2
- bl ChangeBgY
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _081DAB46
- .pool
-_081DAB20:
- movs r1, 0x80
- lsls r1, 6
- movs r0, 0
- bl ClearGpuRegBits
- movs r1, 0x80
- lsls r1, 7
- movs r0, 0
- bl ClearGpuRegBits
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- bl ClearGpuRegBits
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
-_081DAB46:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAACC
-
- thumb_func_start sub_81DAB4C
-sub_81DAB4C: @ 81DAB4C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _081DAB64
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0
- bl SetGpuRegBits
-_081DAB64:
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _081DAB98
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0x1F
- bne _081DAB92
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081DABB0
-_081DAB92:
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _081DABB0
-_081DAB98:
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- ldrh r1, [r4, 0xC]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
-_081DABB0:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAB4C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_text_util.s b/asm/unk_text_util.s
deleted file mode 100755
index f8dabb5b7..000000000
--- a/asm/unk_text_util.s
+++ /dev/null
@@ -1,99 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81AFBF0
-sub_81AFBF0: @ 81AFBF0
- push {lr}
- ldr r1, =gUnknown_0203CE9C
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x1C
-_081AFBFA:
- str r2, [r0]
- subs r0, 0x4
- cmp r0, r1
- bge _081AFBFA
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AFBF0
-
- thumb_func_start sub_81AFC0C
-sub_81AFC0C: @ 81AFC0C
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bhi _081AFC20
- ldr r1, =gUnknown_0203CE9C
- lsls r0, 2
- adds r0, r1
- str r2, [r0]
-_081AFC20:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81AFC0C
-
- thumb_func_start sub_81AFC28
-sub_81AFC28: @ 81AFC28
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _081AFC68
- ldr r5, =gUnknown_0203CE9C
-_081AFC38:
- cmp r1, 0xF7
- beq _081AFC48
- strb r1, [r2]
- adds r4, 0x1
- adds r2, 0x1
- b _081AFC60
- .pool
-_081AFC48:
- adds r4, 0x1
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- cmp r1, 0
- beq _081AFC5E
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
-_081AFC5E:
- adds r4, 0x1
-_081AFC60:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081AFC38
-_081AFC68:
- movs r0, 0xFF
- strb r0, [r2]
- adds r0, r2, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81AFC28
-
- thumb_func_start sub_81AFC74
-sub_81AFC74: @ 81AFC74
- lsls r0, 24
- ldr r1, =gUnknown_0203CE9C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end sub_81AFC74
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_transition.s b/asm/unk_transition.s
deleted file mode 100755
index 385a8771e..000000000
--- a/asm/unk_transition.s
+++ /dev/null
@@ -1,725 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81DABBC
-sub_81DABBC: @ 81DABBC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_81DAA74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081DABD2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081DABD2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DABBC
-
- thumb_func_start sub_81DABDC
-sub_81DABDC: @ 81DABDC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B770
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DABEE:
- 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 _081DABEE
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DABDC
-
- thumb_func_start sub_81DAC14
-sub_81DAC14: @ 81DAC14
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- movs r1, 0x33
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- movs r5, 0x2
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x78
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x10]
- movs r0, 0x7
- negs r0, r0
- str r5, [sp]
- movs r4, 0x2
- negs r4, r4
- str r4, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0xC1
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x12]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0xF7
- movs r1, 0xC1
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x14]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAC14
-
- thumb_func_start sub_81DAC80
-sub_81DAC80: @ 81DAC80
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DACA4
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DABDC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DACA4:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DAC80
-
- thumb_func_start sub_81DACB4
-sub_81DACB4: @ 81DACB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B784
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DACC6:
- 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 _081DACC6
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DACB4
-
- thumb_func_start sub_81DACEC
-sub_81DACEC: @ 81DACEC
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r4, 0x4
- negs r4, r4
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x78
- movs r1, 0xC5
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- str r4, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0xF1
- movs r1, 0x3B
- movs r2, 0
- movs r3, 0x1
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x4
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x3B
- movs r2, 0
- movs r3, 0x1
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81DACEC
-
- thumb_func_start sub_81DAD58
-sub_81DAD58: @ 81DAD58
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DAD7C
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DACB4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DAD7C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DAD58
-
- thumb_func_start sub_81DAD8C
-sub_81DAD8C: @ 81DAD8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B798
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DAD9E:
- 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 _081DAD9E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DAD8C
-
- thumb_func_start sub_81DADC4
-sub_81DADC4: @ 81DADC4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- mov r8, r0
- movs r6, 0x80
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r5, 0x4
- negs r5, r5
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x2D
- movs r2, 0xC
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x10]
- str r6, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0x59
- movs r1, 0x61
- movs r2, 0xFC
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x12]
- str r6, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x97
- movs r1, 0x61
- movs r2, 0x84
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81DADC4
-
- thumb_func_start sub_81DAE44
-sub_81DAE44: @ 81DAE44
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DAE68
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DAD8C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DAE68:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DAE44
-
- thumb_func_start sub_81DAE78
-sub_81DAE78: @ 81DAE78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B7AC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DAE8A:
- 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 _081DAE8A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DAE78
-
- thumb_func_start sub_81DAEB0
-sub_81DAEB0: @ 81DAEB0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- mov r8, r0
- movs r2, 0x8E
- lsls r2, 1
- movs r6, 0x83
- str r6, [sp]
- movs r5, 0x23
- str r5, [sp, 0x4]
- movs r4, 0x3
- negs r4, r4
- str r4, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x50
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x10]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x50
- movs r2, 0x2C
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x12]
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x79
- movs r1, 0x50
- movs r2, 0xA4
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAEB0
-
- thumb_func_start sub_81DAF34
-sub_81DAF34: @ 81DAF34
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DAF58
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DAE78
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DAF58:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DAF34
-
- thumb_func_start sub_81DAF68
-sub_81DAF68: @ 81DAF68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B7C0
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DAF7A:
- 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 _081DAF7A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DAF68
-
- thumb_func_start sub_81DAFA0
-sub_81DAFA0: @ 81DAFA0
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _081DAFCC
- movs r1, 0x33
- negs r1, r1
- str r2, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0x78
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x10]
- b _081DB01A
-_081DAFCC:
- cmp r2, 0x10
- bne _081DAFF2
- movs r0, 0x7
- negs r0, r0
- movs r1, 0x4
- str r1, [sp]
- subs r1, 0x8
- str r1, [sp, 0x4]
- movs r1, 0x1
- str r1, [sp, 0x8]
- movs r1, 0xC1
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- b _081DB01A
-_081DAFF2:
- cmp r2, 0x20
- bne _081DB01A
- movs r0, 0x4
- negs r0, r0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x2
- str r0, [sp, 0x8]
- movs r0, 0xF7
- movs r1, 0xC1
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081DB01A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DAFA0
-
- thumb_func_start sub_81DB02C
-sub_81DB02C: @ 81DB02C
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DB050
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DAF68
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DB050:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DB02C
-
- thumb_func_start sub_81DB060
-sub_81DB060: @ 81DB060
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B7D4
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DB072:
- 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 _081DB072
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DB060
-
- thumb_func_start sub_81DB098
-sub_81DB098: @ 81DB098
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _081DB0C4
- str r1, [sp]
- movs r0, 0x8
- negs r0, r0
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x78
- movs r1, 0xC5
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x10]
- b _081DB112
-_081DB0C4:
- cmp r1, 0x10
- bne _081DB0E8
- movs r0, 0x8
- negs r0, r0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0xF1
- movs r1, 0x4E
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- b _081DB112
-_081DB0E8:
- cmp r1, 0x20
- bne _081DB112
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x8
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x2
- str r1, [sp, 0x8]
- movs r1, 0x4E
- movs r2, 0
- movs r3, 0
- bl sub_81DA74C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081DB112:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB098
-
- thumb_func_start sub_81DB124
-sub_81DB124: @ 81DB124
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DB148
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DB060
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DB148:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DB124
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unk_transition_2.s b/asm/unk_transition_2.s
deleted file mode 100755
index a2ec93e5d..000000000
--- a/asm/unk_transition_2.s
+++ /dev/null
@@ -1,268 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81DB158
-sub_81DB158: @ 81DB158
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B7E8
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DB16A:
- 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 _081DB16A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DB158
-
- thumb_func_start sub_81DB190
-sub_81DB190: @ 81DB190
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _081DB1BE
- movs r0, 0x80
- str r0, [sp]
- str r1, [sp, 0x4]
- subs r0, 0x84
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x2D
- movs r2, 0xC
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x10]
- b _081DB212
-_081DB1BE:
- cmp r1, 0x10
- bne _081DB1E6
- movs r0, 0x80
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- subs r0, 0x4
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0x59
- movs r1, 0x61
- movs r2, 0xFC
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- b _081DB212
-_081DB1E6:
- cmp r1, 0x20
- bne _081DB212
- movs r0, 0x80
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- subs r0, 0x4
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x97
- movs r1, 0x61
- movs r2, 0x84
- movs r3, 0x4
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081DB212:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB190
-
- thumb_func_start sub_81DB224
-sub_81DB224: @ 81DB224
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DB248
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DB158
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DB248:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DB224
-
- thumb_func_start sub_81DB258
-sub_81DB258: @ 81DB258
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, =gUnknown_0862B7FC
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_081DB26A:
- 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 _081DB26A
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81DB258
-
- thumb_func_start sub_81DB290
-sub_81DB290: @ 81DB290
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _081DB2C2
- movs r2, 0x8E
- lsls r2, 1
- movs r0, 0x83
- str r0, [sp]
- movs r0, 0x23
- str r0, [sp, 0x4]
- subs r0, 0x26
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x50
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x10]
- b _081DB316
-_081DB2C2:
- cmp r1, 0x10
- bne _081DB2EA
- movs r0, 0x83
- str r0, [sp]
- movs r0, 0x23
- str r0, [sp, 0x4]
- subs r0, 0x26
- str r0, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- movs r0, 0x78
- movs r1, 0x50
- movs r2, 0x2C
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- b _081DB316
-_081DB2EA:
- cmp r1, 0x20
- bne _081DB316
- movs r0, 0x83
- str r0, [sp]
- movs r0, 0x23
- str r0, [sp, 0x4]
- subs r0, 0x26
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x79
- movs r1, 0x50
- movs r2, 0xA4
- movs r3, 0x8
- bl sub_81DA8BC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081DB316:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81DB290
-
- thumb_func_start sub_81DB328
-sub_81DB328: @ 81DB328
- push {lr}
- adds r2, r0, 0
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081DB34C
- adds r0, r2, 0
- bl sub_81DAA20
- ldr r0, =sub_81DB258
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081DB34C:
- movs r0, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_81DB328
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/unknown_task.s b/asm/unknown_task.s
deleted file mode 100644
index f6b96287e..000000000
--- a/asm/unknown_task.s
+++ /dev/null
@@ -1,593 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start remove_some_task
-remove_some_task: @ 80B9FB8
- push {r4,lr}
- ldr r4, =gUnknown_02039B28
- movs r0, 0
- strb r0, [r4, 0x15]
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldrb r0, [r4, 0x18]
- cmp r0, 0xFF
- beq _080B9FE2
- bl DestroyTask
- movs r0, 0xFF
- strb r0, [r4, 0x18]
-_080B9FE2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end remove_some_task
-
- thumb_func_start dp12_8087EA4
-dp12_8087EA4: @ 80B9FF8
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r1, =gUnknown_02038C28
- ldr r2, =0x01000780
- bl CpuSet
- ldr r0, =gUnknown_02039B28
- movs r1, 0
- str r1, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- strb r4, [r0, 0x14]
- strb r4, [r0, 0x15]
- strb r4, [r0, 0x16]
- strb r4, [r0, 0x17]
- movs r1, 0xFF
- strb r1, [r0, 0x18]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end dp12_8087EA4
-
- thumb_func_start sub_80BA038
-sub_80BA038: @ 80BA038
- push {lr}
- sub sp, 0xC
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r0, =0xa2600001
- cmp r1, r0
- bne _080BA06C
- ldr r0, =gUnknown_02039B28
- ldr r1, =gUnknown_02038C2A
- str r1, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r1, =sub_80BA134
- b _080BA07C
- .pool
-_080BA06C:
- ldr r0, =gUnknown_02039B28
- ldr r1, =gUnknown_02038C2C
- str r1, [r0]
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r1, =sub_80BA154
-_080BA07C:
- str r1, [r0, 0x10]
- adds r1, r0, 0
- ldr r0, [sp, 0x4]
- str r0, [r1, 0xC]
- ldr r0, [sp]
- str r0, [r1, 0x8]
- mov r0, sp
- ldrb r0, [r0, 0x8]
- strb r0, [r1, 0x15]
- mov r0, sp
- ldrb r0, [r0, 0x9]
- strb r0, [r1, 0x16]
- strb r0, [r1, 0x17]
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA038
-
- thumb_func_start sub_80BA0A8
-sub_80BA0A8: @ 80BA0A8
- push {r4,lr}
- ldr r4, =gUnknown_02039B28
- ldrb r0, [r4, 0x15]
- cmp r0, 0
- beq _080BA122
- cmp r0, 0x3
- bne _080BA0EC
- movs r0, 0
- strb r0, [r4, 0x15]
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldr r1, =gUnknown_02039B44
- movs r0, 0x1
- strb r0, [r1]
- b _080BA122
- .pool
-_080BA0EC:
- ldr r1, =0x040000b0
- ldrh r2, [r1, 0xA]
- ldr r0, =0x0000c5ff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r2, [r1, 0xA]
- ldr r0, =0x00007fff
- ands r0, r2
- strh r0, [r1, 0xA]
- ldrh r0, [r1, 0xA]
- ldrb r0, [r4, 0x14]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r4, 0x8]
- str r0, [r1, 0x4]
- ldr r0, [r4, 0xC]
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, [r4, 0x10]
- bl _call_via_r0
- ldrb r0, [r4, 0x14]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4, 0x14]
-_080BA122:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA0A8
-
- thumb_func_start sub_80BA134
-sub_80BA134: @ 80BA134
- ldr r0, =gUnknown_02039B28
- ldr r2, [r0, 0x8]
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gUnknown_02038C28
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_80BA134
-
- thumb_func_start sub_80BA154
-sub_80BA154: @ 80BA154
- ldr r0, =gUnknown_02039B28
- ldr r2, [r0, 0x8]
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, =gUnknown_02038C28
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_80BA154
-
- thumb_func_start task00_for_dp12
-task00_for_dp12: @ 80BA174
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r6, 0
- ldr r0, =gUnknown_02039B44
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BA1A4
- mov r0, r12
- bl DestroyTask
- ldr r1, =gUnknown_02039B28
- movs r0, 0xFF
- strb r0, [r1, 0x18]
- b _080BA324
- .pool
-_080BA1A4:
- ldr r1, =gTasks
- mov r0, r12
- lsls r2, r0, 2
- adds r0, r2, r0
- lsls r0, 3
- adds r3, r0, r1
- movs r4, 0x16
- ldrsh r0, [r3, r4]
- mov r10, r1
- mov r9, r2
- cmp r0, 0
- beq _080BA250
- movs r1, 0x14
- ldrsh r0, [r3, r1]
- cmp r0, 0xE
- bhi _080BA250
- lsls r0, 2
- ldr r1, =_080BA1D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BA1D8:
- .4byte _080BA214
- .4byte _080BA250
- .4byte _080BA21C
- .4byte _080BA250
- .4byte _080BA224
- .4byte _080BA250
- .4byte _080BA22C
- .4byte _080BA250
- .4byte _080BA234
- .4byte _080BA250
- .4byte _080BA23C
- .4byte _080BA250
- .4byte _080BA244
- .4byte _080BA250
- .4byte _080BA24C
-_080BA214:
- ldr r0, =gBattle_BG0_X
- b _080BA24E
- .pool
-_080BA21C:
- ldr r0, =gBattle_BG0_Y
- b _080BA24E
- .pool
-_080BA224:
- ldr r0, =gBattle_BG1_X
- b _080BA24E
- .pool
-_080BA22C:
- ldr r0, =gBattle_BG1_Y
- b _080BA24E
- .pool
-_080BA234:
- ldr r0, =gBattle_BG2_X
- b _080BA24E
- .pool
-_080BA23C:
- ldr r0, =gBattle_BG2_Y
- b _080BA24E
- .pool
-_080BA244:
- ldr r0, =gBattle_BG3_X
- b _080BA24E
- .pool
-_080BA24C:
- ldr r0, =gBattle_BG3_Y
-_080BA24E:
- ldrh r6, [r0]
-_080BA250:
- mov r0, r9
- add r0, r12
- lsls r0, 3
- mov r2, r10
- adds r1, r0, r2
- ldrh r2, [r1, 0x10]
- movs r3, 0x10
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080BA2BC
- subs r0, r2, 0x1
- strh r0, [r1, 0x10]
- movs r4, 0xE
- ldrsh r0, [r1, r4]
- movs r3, 0xA0
- lsls r3, 1
- adds r2, r0, r3
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r3, r0
- bge _080BA324
- ldr r5, =gUnknown_02038C28
- ldr r0, =gUnknown_02039B28
- mov r8, r0
- adds r7, r1, 0
- lsls r0, r2, 1
- adds r4, r0, r5
-_080BA28A:
- lsls r2, r3, 1
- mov r0, r8
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r5
- ldrh r0, [r4]
- adds r0, r6
- strh r0, [r2]
- adds r4, 0x2
- adds r3, 0x1
- movs r1, 0xA
- ldrsh r0, [r7, r1]
- cmp r3, r0
- blt _080BA28A
- b _080BA324
- .pool
-_080BA2BC:
- ldrh r0, [r1, 0x12]
- strh r0, [r1, 0x10]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r3, 0xA0
- lsls r3, 1
- adds r2, r0, r3
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r3, r0
- bge _080BA304
- ldr r5, =gUnknown_02038C28
- adds r7, r1, 0
- lsls r0, r2, 1
- adds r4, r0, r5
- ldr r0, =gUnknown_02039B28
- mov r8, r0
-_080BA2E2:
- lsls r2, r3, 1
- mov r0, r8
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r5
- ldrh r0, [r4]
- adds r0, r6
- strh r0, [r2]
- adds r4, 0x2
- adds r3, 0x1
- movs r1, 0xA
- ldrsh r0, [r7, r1]
- cmp r3, r0
- blt _080BA2E2
-_080BA304:
- mov r0, r9
- add r0, r12
- lsls r0, 3
- mov r3, r10
- adds r2, r0, r3
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bne _080BA324
- movs r0, 0
- strh r0, [r2, 0xE]
-_080BA324:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task00_for_dp12
-
- thumb_func_start sub_80BA33C
-sub_80BA33C: @ 80BA33C
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0
- movs r2, 0
- ldr r0, =gSineTable
- mov r12, r0
-_080BA350:
- lsls r0, r1, 1
- adds r3, r0, r6
- lsls r0, r2, 1
- add r0, r12
- movs r7, 0
- ldrsh r0, [r0, r7]
- muls r0, r4
- cmp r0, 0
- bge _080BA364
- adds r0, 0xFF
-_080BA364:
- asrs r0, 8
- strh r0, [r3]
- adds r0, r2, r5
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xFF
- bls _080BA350
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA33C
-
- thumb_func_start sub_80BA384
-sub_80BA384: @ 80BA384
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r5, r0, 0
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x40]
- mov r8, r0
- ldr r1, [sp, 0x44]
- mov r9, r1
- ldr r0, [sp, 0x48]
- mov r10, r0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, [sp, 0x10]
- lsls r1, 24
- str r1, [sp, 0x14]
- lsrs r0, r1, 24
- str r0, [sp, 0xC]
- lsls r1, r2, 24
- lsrs r1, 24
- str r1, [sp, 0x18]
- lsls r2, r3, 24
- lsrs r2, 24
- str r2, [sp, 0x1C]
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- mov r3, r9
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- bl dp12_8087EA4
- ldr r0, =0x04000010
- add r0, r9
- str r0, [sp]
- ldr r0, =0xa2600001
- str r0, [sp, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- movs r1, 0
- strb r1, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80BA038
- ldr r0, =task00_for_dp12
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, =gTasks
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- strh r5, [r4, 0x8]
- mov r3, sp
- ldrh r3, [r3, 0xC]
- strh r3, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- ldr r1, [sp, 0x18]
- bl __divsi3
- strh r0, [r4, 0xC]
- movs r0, 0
- strh r0, [r4, 0xE]
- mov r1, r8
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x12]
- mov r3, r9
- strh r3, [r4, 0x14]
- mov r0, r10
- strh r0, [r4, 0x16]
- ldr r0, =gUnknown_02039B28
- strb r7, [r0, 0x18]
- ldr r0, =gUnknown_02039B44
- movs r1, 0
- strb r1, [r0]
- ldr r4, =gUnknown_02038EA8
- ldr r3, [sp, 0xC]
- subs r6, r3, r5
- lsls r3, r6, 24
- lsrs r3, 24
- adds r0, r4, 0
- ldr r1, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- bl sub_80BA33C
- ldr r0, [sp, 0xC]
- cmp r5, r0
- bge _080BA47E
- ldr r1, =0xfffffd80
- adds r2, r4, r1
- lsls r1, r5, 1
- movs r3, 0xF0
- lsls r3, 3
- adds r0, r1, r3
- adds r3, r0, r2
- adds r1, r2
- adds r2, r4, 0
- adds r5, r6, 0
-_080BA46A:
- ldrh r0, [r2]
- strh r0, [r1]
- ldrh r0, [r2]
- strh r0, [r3]
- adds r2, 0x2
- adds r3, 0x2
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bne _080BA46A
-_080BA47E:
- adds r0, r7, 0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BA384
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index 3a8b76ab1..5047ec65e 100755..100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -5,350 +5,10 @@
.text
- thumb_func_start sub_8166204
-sub_8166204: @ 8166204
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, =gUnknown_0203BCAC
- ldr r0, =0x0000806c
- bl AllocZeroed
- str r0, [r4]
- ldr r1, =gUnknown_0203BC90
- ldr r2, =0x00007fd0
- adds r0, r2
- str r0, [r1]
- str r5, [r0, 0x8]
- str r6, [r0, 0x4]
- ldr r0, =sub_8166380
- bl launch_c3_walk_stairs_and_run_once
- ldr r0, =sub_816631C
- bl SetMainCallback2
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166204
-
- thumb_func_start sub_816624C
-sub_816624C: @ 816624C
- push {r4,r5,lr}
- ldr r4, =gUnknown_0203BCAC
- ldr r0, =0x0000806c
- bl AllocZeroed
- str r0, [r4]
- ldr r5, =gUnknown_0203BC90
- ldr r1, =0x00007fd0
- adds r0, r1
- str r0, [r5]
- ldr r1, =gUnknown_0203BC98
- ldr r1, [r1]
- str r1, [r0, 0x8]
- ldr r1, =gUnknown_0203BC94
- ldr r1, [r1]
- str r1, [r0, 0x4]
- ldr r4, =gUnknown_0203BC9C
- ldrb r0, [r4]
- bl sub_81672E4
- strb r0, [r4]
- ldr r5, [r5]
- movs r1, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08166284
- movs r1, 0x1
-_08166284:
- adds r0, r5, 0
- adds r0, 0x56
- strb r1, [r0]
- ldr r0, =sub_8166380
- bl launch_c3_walk_stairs_and_run_once
- ldr r0, =sub_81662C0
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816624C
- thumb_func_start sub_81662C0
-sub_81662C0: @ 81662C0
- push {r4,lr}
- ldr r4, =gUnknown_0203BC90
- ldr r0, [r4]
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r4, [r4]
- ldr r1, [r4]
- ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive
- cmp r1, r0
- bne _081662F0
- adds r0, r4, 0
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
- ldr r0, =sub_8166304
- bl SetMainCallback2
-_081662F0:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81662C0
-
- thumb_func_start sub_8166304
-sub_8166304: @ 8166304
- push {lr}
- bl sub_81668F8
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8166304
-
- thumb_func_start sub_816631C
-sub_816631C: @ 816631C
- push {lr}
- ldr r0, =gUnknown_0203BC90
- ldr r0, [r0]
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTextPrinters
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_816631C
-
- thumb_func_start sub_8166340
-sub_8166340: @ 8166340
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007c58
- adds r0, r1
- bl sub_81D2108
- bl sub_80BA0A8
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166340
-
- thumb_func_start launch_c3_walk_stairs_and_run_once
-launch_c3_walk_stairs_and_run_once: @ 816636C
- ldr r1, =gUnknown_0203BC90
- ldr r1, [r1]
- str r0, [r1]
- adds r1, 0x50
- movs r0, 0
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end launch_c3_walk_stairs_and_run_once
-
- thumb_func_start sub_8166380
-sub_8166380: @ 8166380
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, =gUnknown_0203BC90
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xF
- bls _08166394
- b _08166556
-_08166394:
- lsls r0, 2
- ldr r1, =_081663A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_081663A8:
- .4byte _081663E8
- .4byte _0816640C
- .4byte _08166416
- .4byte _08166434
- .4byte _08166464
- .4byte _08166468
- .4byte _08166474
- .4byte _08166484
- .4byte _08166490
- .4byte _0816649C
- .4byte _081664B8
- .4byte _081664BC
- .4byte _081664E4
- .4byte _08166510
- .4byte _08166528
- .4byte _08166550
-_081663E8:
- ldr r2, =gUnknown_0203BCAC
- ldr r0, [r2]
- ldr r1, =0x00007b10
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, =0x00007c58
- adds r0, r2
- bl sub_81D1ED4
- b _0816653C
- .pool
-_0816640C:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _0816653C
-_08166416:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- str r0, [sp]
- movs r1, 0xC0
- lsls r1, 19
- ldr r2, =0x05006000
- mov r0, sp
- bl CpuSet
- b _0816653C
- .pool
-_08166434:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085DFCCC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085DFCDC
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0
- movs r1, 0x97
- movs r2, 0xE0
- bl sub_809882C
- b _0816653C
- .pool
-_08166464:
- ldr r1, [r2]
- b _08166540
-_08166468:
- bl sub_8168328
- lsls r0, 24
- cmp r0, 0
- bne _08166556
- b _0816653C
-_08166474:
- ldr r1, =gKeyRepeatStartDelay
- movs r0, 0x14
- strh r0, [r1]
- bl sub_8167420
- b _0816653C
- .pool
-_08166484:
- bl sub_8167930
- lsls r0, 24
- cmp r0, 0
- bne _08166556
- b _0816653C
-_08166490:
- movs r0, 0
- bl sub_8167608
- bl sub_8167760
- b _0816653C
-_0816649C:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r1, =0x00007b0e
- adds r0, r1
- bl sub_81D312C
- lsls r0, 24
- cmp r0, 0
- bne _08166556
- b _0816653C
- .pool
-_081664B8:
- ldr r1, [r2]
- b _08166540
-_081664BC:
- ldr r5, =gUnknown_0203BCAC
- ldr r1, [r5]
- ldr r4, =0x00007c58
- adds r0, r1, r4
- ldr r2, =0x00007c6c
- adds r1, r2
- bl sub_81D2754
- ldr r0, [r5]
- adds r0, r4
- bl sub_81D20AC
- b _0816653C
- .pool
-_081664E4:
- ldr r4, =gUnknown_0203BCAC
- ldr r0, [r4]
- ldr r1, =0x00007c58
- adds r0, r1
- bl sub_81D20BC
- lsls r0, 24
- cmp r0, 0
- bne _08166556
- ldr r2, [r4]
- ldr r1, =0x00007c58
- adds r0, r2, r1
- adds r1, 0x14
- adds r2, r1
- adds r1, r2, 0
- bl sub_81D1F84
- b _0816653C
- .pool
-_08166510:
- ldr r0, =gUnknown_0203BCAC
- ldr r0, [r0]
- ldr r2, =0x00007c58
- adds r0, r2
- bl sub_81D2230
- b _0816653C
- .pool
-_08166528:
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x1
- bl sub_8167BA0
-_0816653C:
- ldr r0, =gUnknown_0203BC90
- ldr r1, [r0]
-_08166540:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08166556
- .pool
-_08166550:
- ldr r0, =map_warp_consider_1_to_outside_or_stair_or_dive
- bl launch_c3_walk_stairs_and_run_once
-_08166556:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8166380
- thumb_func_start map_warp_consider_1_to_outside_or_stair_or_dive
-map_warp_consider_1_to_outside_or_stair_or_dive: @ 8166564
+ thumb_func_start sub_8166564
+sub_8166564: @ 8166564
push {r4,lr}
sub sp, 0x4
ldr r4, =gUnknown_0203BC90
@@ -424,14 +84,14 @@ _081665C0:
bl sub_81D3480
_0816660A:
ldr r0, =sub_8166634
- bl launch_c3_walk_stairs_and_run_once
+ bl sub_816636C
_08166610:
add sp, 0x4
pop {r4}
pop {r0}
bx r0
.pool
- thumb_func_end map_warp_consider_1_to_outside_or_stair_or_dive
+ thumb_func_end sub_8166564
thumb_func_start sub_8166634
sub_8166634: @ 8166634
@@ -567,7 +227,7 @@ _0816675C:
.pool
_08166788:
ldr r0, =sub_8166BEC
- bl launch_c3_walk_stairs_and_run_once
+ bl sub_816636C
b _0816680E
.pool
_08166794:
@@ -611,7 +271,7 @@ _081667CC:
.pool
_081667E8:
ldr r0, =sub_816681C
- bl launch_c3_walk_stairs_and_run_once
+ bl sub_816636C
b _0816680E
.pool
_081667F4:
@@ -656,7 +316,7 @@ _08166838:
adds r0, r1
ldrb r0, [r0]
bl sub_81672A4
- ldr r1, =gUnknown_0203BC9C
+ ldr r1, =gPokeblockMonId
strb r0, [r1]
ldr r1, =gUnknown_0203BC94
ldr r2, [r5]
@@ -708,9 +368,9 @@ _08166888:
str r5, [r4]
bl FreeAllWindowBuffers
ldr r1, =gMain
- ldr r0, =sub_816624C
+ ldr r0, =CB2_ReturnAndChooseMonToGivePokeblock
str r0, [r1, 0x8]
- bl sub_8179D70
+ bl CB2_PreparePokeblockFeedScene
_081668D4:
add sp, 0x4
pop {r4,r5}
@@ -752,7 +412,7 @@ _0816693C:
ldr r0, [r0]
ldr r1, =0x00008041
adds r0, r1
- ldr r1, =gUnknown_0203BC9C
+ ldr r1, =gPokeblockMonId
ldrb r0, [r0]
ldrb r1, [r1]
cmp r0, r1
@@ -837,7 +497,7 @@ _081669F4:
adds r0, r1
bl sub_81D3464
ldr r0, =sub_8166A34
- bl launch_c3_walk_stairs_and_run_once
+ bl sub_816636C
ldr r0, =sub_816631C
bl SetMainCallback2
_08166A18:
@@ -1018,9 +678,9 @@ _08166BB6:
bne _08166BDA
ldr r0, =gSpecialVar_ItemId
ldrb r0, [r0]
- bl sub_8136F68
+ bl TryClearPokeblock
ldr r0, =sub_8166BEC
- bl launch_c3_walk_stairs_and_run_once
+ bl sub_816636C
_08166BDA:
pop {r4-r6}
pop {r0}
@@ -1072,10 +732,10 @@ _08166C28:
b _08166D18
.pool
_08166C40:
- ldr r1, =gUnknown_02039B28
+ ldr r1, =gScanlineEffect
movs r0, 0x3
strb r0, [r1, 0x15]
- bl sub_80BA0A8
+ bl ScanlineEffect_InitHBlankDmaTransfer
_08166C4A:
ldr r1, [r4]
adds r1, 0x50
@@ -1225,7 +885,7 @@ sub_8166D44: @ 8166D44
movs r0, 0x2
movs r1, 0x3
bl CopyWindowToVram
- ldr r0, =gUnknown_085DFCFC
+ ldr r0, =sUsePokeblockYesNoWinTemplate
movs r1, 0x97
movs r2, 0xE
movs r3, 0
@@ -1240,7 +900,7 @@ sub_8166D44: @ 8166D44
thumb_func_start sub_8166DE4
sub_8166DE4: @ 8166DE4
push {r4,lr}
- bl sub_8198C58
+ bl ProcessMenuInputNoWrap_
lsls r0, 24
lsrs r4, r0, 24
asrs r1, r0, 24
@@ -1497,7 +1157,7 @@ sub_8166FD4: @ 8166FD4
movs r0, 0
_08166FEC:
lsls r0, 16
- ldr r1, =gUnknown_085DFD04
+ ldr r1, =sContestStatNames
lsls r0, r3, 2
adds r0, r1
ldr r1, [r0]
@@ -1719,7 +1379,7 @@ sub_8167184: @ 8167184
adds r0, r3, 0
adds r0, 0x6E
strh r1, [r0]
- ldr r0, =gUnknown_0203BC9E
+ ldr r0, =gPokeblockGain
movs r1, 0
ldrsh r0, [r0, r1]
cmp r0, 0
@@ -1769,7 +1429,7 @@ _0816721C:
adds r0, r6, r0
ldrb r1, [r0]
mov r0, r10
- bl GetMonFlavourRelation
+ bl GetMonFlavorRelation
lsls r0, 24
asrs r2, r0, 24
cmp r0, r9
@@ -2737,7 +2397,7 @@ _08167A74:
b _08167B7E
.pool
_08167A9C:
- ldr r0, =gUnknown_08DCCF7C
+ ldr r0, =gUsePokeblockGraph_Gfx
ldr r1, =gUnknown_0203BCA4
_08167AA0:
ldr r1, [r1]
@@ -2745,11 +2405,11 @@ _08167AA0:
b _08167B7E
.pool
_08167AB0:
- ldr r0, =gUnknown_08DCD81C
+ ldr r0, =gUsePokeblockGraph_Tilemap
ldr r1, =gUnknown_0203BCA0
ldr r1, [r1]
bl LZ77UnCompVram
- ldr r0, =gUnknown_08DCCF5C
+ ldr r0, =gUsePokeblockGraph_Pal
movs r1, 0x20
movs r2, 0x20
bl LoadPalette
@@ -2771,7 +2431,7 @@ _08167AEC:
ldr r1, [r0]
movs r0, 0x1
bl SetBgTilemapBuffer
- ldr r1, =gUnknown_08DCDA30
+ ldr r1, =gUsePokeblockNatureWin_Pal
movs r0, 0xC
str r0, [sp]
movs r0, 0x4
@@ -3599,7 +3259,7 @@ sub_8168248: @ 8168248
ldr r0, [r0]
str r0, [sp, 0x8]
str r1, [sp, 0xC]
- ldr r0, =gUnknown_08DCCBB8
+ ldr r0, =gUsePokeblockCondition_Gfx
str r0, [sp]
ldr r1, =0xffff0000
ldr r0, [sp, 0x4]
diff --git a/asm/wallclock.s b/asm/wallclock.s
deleted file mode 100644
index 5c818212c..000000000
--- a/asm/wallclock.s
+++ /dev/null
@@ -1,1515 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81347B4
-sub_81347B4: @ 81347B4
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_81347B4
-
- thumb_func_start LoadWallClockGraphics
-LoadWallClockGraphics: @ 81347C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xE
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0813486C:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0813486C
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, =gUnknown_08DCC05C
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- bne _081348FC
- ldr r0, =gUnknown_08DCC01C
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- b _08134906
- .pool
-_081348FC:
- ldr r0, =gUnknown_08DCC03C
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
-_08134906:
- bl GetOverworldTextboxPalettePtr
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, =gUnknown_085B21D4
- movs r1, 0xC0
- movs r2, 0x8
- bl LoadPalette
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_085B21FC
- movs r0, 0
- movs r2, 0x3
- bl InitBgsFromTemplates
- ldr r0, =gUnknown_085B21DC
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0x94
- lsls r1, 2
- movs r0, 0
- movs r2, 0xD0
- bl sub_809882C
- bl clear_scheduled_bg_copies_to_vram
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r0, =gUnknown_085B2208
- bl LoadCompressedObjectPic
- ldr r0, =gUnknown_085B2218
- bl LoadSpritePalettes
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end LoadWallClockGraphics
-
- thumb_func_start sub_813498C
-sub_813498C: @ 813498C
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, =sub_81347B4
- bl SetVBlankCallback
- ldr r0, =sub_8134C9C
- bl SetMainCallback2
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- add sp, 0x4
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_813498C
-
- thumb_func_start Cb2_StartWallClock
-Cb2_StartWallClock: @ 81349F4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xC
- bl LoadWallClockGraphics
- ldr r0, =gUnknown_08DCC648
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =sub_8134CB8
- movs r1, 0
- bl CreateTask
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- mov r8, r1
- movs r1, 0xA
- strh r1, [r0, 0xC]
- mov r2, r8
- strh r2, [r0, 0xE]
- strh r2, [r0, 0x10]
- strh r2, [r0, 0x12]
- strh r2, [r0, 0x14]
- strh r2, [r0, 0x8]
- movs r1, 0x96
- lsls r1, 1
- strh r1, [r0, 0xA]
- ldr r0, =gUnknown_085B2250
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- mov r9, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- strh r6, [r1, 0x2E]
- ldrb r2, [r1, 0x1]
- movs r5, 0x4
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- movs r2, 0x1
- mov r10, r2
- mov r2, r10
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r2, [r1, 0x3]
- movs r4, 0x3F
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_085B2268
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- strh r6, [r1, 0x2E]
- ldrb r0, [r1, 0x1]
- ands r5, r0
- mov r0, r10
- orrs r5, r0
- strb r5, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- ands r4, r0
- movs r0, 0x2
- orrs r4, r0
- strb r4, [r1, 0x3]
- ldr r0, =gUnknown_085B22A0
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- strh r6, [r1, 0x2E]
- movs r0, 0x2D
- strh r0, [r1, 0x30]
- ldr r0, =gUnknown_085B22B8
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- strh r6, [r1, 0x2E]
- movs r0, 0x5A
- strh r0, [r1, 0x30]
- bl sub_813498C
- ldr r2, =gText_Confirm3
- movs r0, 0x1
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Cb2_StartWallClock
-
- thumb_func_start Cb2_ViewWallClock
-Cb2_ViewWallClock: @ 8134B44
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- bl LoadWallClockGraphics
- ldr r0, =gUnknown_08DCC908
- ldr r1, =0x06003800
- bl LZ77UnCompVram
- ldr r0, =sub_8134F10
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl sub_8135130
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08134B9C
- movs r2, 0x2D
- mov r10, r2
- movs r0, 0x5A
- str r0, [sp, 0xC]
- b _08134BA4
- .pool
-_08134B9C:
- movs r1, 0x5A
- mov r10, r1
- movs r2, 0x87
- str r2, [sp, 0xC]
-_08134BA4:
- ldr r0, =gUnknown_085B2250
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0
- mov r9, r0
- strh r7, [r1, 0x2E]
- ldrb r2, [r1, 0x1]
- movs r5, 0x4
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- movs r2, 0x1
- mov r8, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r2, [r1, 0x3]
- movs r4, 0x3F
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x3]
- ldr r0, =gUnknown_085B2268
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- strh r7, [r1, 0x2E]
- ldrb r0, [r1, 0x1]
- ands r5, r0
- mov r0, r8
- orrs r5, r0
- strb r5, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- ands r4, r0
- movs r0, 0x2
- orrs r4, r0
- strb r4, [r1, 0x3]
- ldr r0, =gUnknown_085B22A0
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- strh r7, [r1, 0x2E]
- mov r2, r10
- strh r2, [r1, 0x30]
- ldr r0, =gUnknown_085B22B8
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- strh r7, [r1, 0x2E]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- strh r0, [r1, 0x30]
- bl sub_813498C
- ldr r2, =gText_Cancel4
- movs r0, 0x1
- str r0, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0x2
- bl schedule_bg_copy_tilemap_to_vram
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end Cb2_ViewWallClock
-
- thumb_func_start sub_8134C9C
-sub_8134C9C: @ 8134C9C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl do_scheduled_bg_tilemap_copies_to_vram
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8134C9C
-
- thumb_func_start sub_8134CB8
-sub_8134CB8: @ 8134CB8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08134CD8
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8134CE8
- str r0, [r1]
-_08134CD8:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134CB8
-
- thumb_func_start sub_8134CE8
-sub_8134CE8: @ 8134CE8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- beq _08134D1C
- ldrh r0, [r5, 0x8]
- ldrb r1, [r5, 0x10]
- ldrb r2, [r5, 0x14]
- bl sub_8134FFC
- strh r0, [r5, 0x8]
- b _08134DBE
- .pool
-_08134D1C:
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- strh r0, [r5, 0x8]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- movs r1, 0xC
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 1
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- adds r4, r1
- strh r4, [r5, 0xA]
- ldr r2, =gMain
- ldrh r0, [r2, 0x2E]
- movs r3, 0x1
- adds r1, r3, 0
- ands r1, r0
- cmp r1, 0
- beq _08134D70
- ldr r0, =sub_8134DC4
- str r0, [r5]
- b _08134DBE
- .pool
-_08134D70:
- strh r1, [r5, 0x10]
- ldrh r1, [r2, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08134D7E
- strh r3, [r5, 0x10]
-_08134D7E:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08134D8C
- movs r0, 0x2
- strh r0, [r5, 0x10]
-_08134D8C:
- ldrh r1, [r5, 0x10]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08134DBC
- ldrh r2, [r5, 0x14]
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- cmp r0, 0xFE
- bgt _08134DA4
- adds r0, r2, 0x1
- strh r0, [r5, 0x14]
-_08134DA4:
- ldrh r0, [r5, 0x8]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r5, 0x14]
- bl sub_8134FFC
- strh r0, [r5, 0x8]
- ldrb r1, [r5, 0x10]
- adds r0, r6, 0
- bl sub_813504C
- b _08134DBE
-_08134DBC:
- strh r0, [r5, 0x14]
-_08134DBE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8134CE8
-
- thumb_func_start sub_8134DC4
-sub_8134DC4: @ 8134DC4
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0x94
- lsls r5, 2
- movs r0, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0xD
- bl SetWindowBorderStyle
- ldr r2, =gText_IsThisTheCorrectTime
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl PrintTextOnWindow
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- bl schedule_bg_copy_tilemap_to_vram
- ldr r0, =gUnknown_085B21F4
- adds r1, r5, 0
- movs r2, 0xD
- movs r3, 0x1
- bl CreateYesNoMenu
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =c3_80BF560
- str r1, [r0]
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134DC4
-
- thumb_func_start c3_80BF560
-c3_80BF560: @ 8134E30
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8198C58
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08134E56
- cmp r1, 0
- bgt _08134E50
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08134E74
- b _08134E96
-_08134E50:
- cmp r1, 0x1
- beq _08134E74
- b _08134E96
-_08134E56:
- movs r0, 0x5
- bl PlaySE
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8134EA4
- b _08134E94
- .pool
-_08134E74:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0
- bl sub_8198070
- movs r0, 0
- bl ClearWindowTilemap
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8134CE8
-_08134E94:
- str r0, [r1]
-_08134E96:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_80BF560
-
- thumb_func_start sub_8134EA4
-sub_8134EA4: @ 8134EA4
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- bl RtcInitLocalTimeOffset
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =c2_080111BC
- str r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134EA4
-
- thumb_func_start c2_080111BC
-c2_080111BC: @ 8134EE8
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08134F02
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_08134F02:
- pop {r0}
- bx r0
- .pool
- thumb_func_end c2_080111BC
-
- thumb_func_start sub_8134F10
-sub_8134F10: @ 8134F10
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08134F30
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8134F40
- str r0, [r1]
-_08134F30:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134F10
-
- thumb_func_start sub_8134F40
-sub_8134F40: @ 8134F40
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8135130
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08134F66
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_8134F78
- str r0, [r1]
-_08134F66:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134F40
-
- thumb_func_start sub_8134F78
-sub_8134F78: @ 8134F78
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_8134FB0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134F78
-
- thumb_func_start sub_8134FB0
-sub_8134FB0: @ 8134FB0
- push {lr}
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08134FC6
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_08134FC6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8134FB0
-
- thumb_func_start sub_8134FD4
-sub_8134FD4: @ 8134FD4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x3C
- bls _08134FE4
- movs r0, 0x6
- b _08134FF6
-_08134FE4:
- cmp r0, 0x1E
- bls _08134FEC
- movs r0, 0x3
- b _08134FF6
-_08134FEC:
- cmp r1, 0xA
- bhi _08134FF4
- movs r0, 0x1
- b _08134FF6
-_08134FF4:
- movs r0, 0x2
-_08134FF6:
- pop {r1}
- bx r1
- thumb_func_end sub_8134FD4
-
- thumb_func_start sub_8134FFC
-sub_8134FFC: @ 8134FFC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2, 0
- bl sub_8134FD4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r5, 0x1
- beq _0813501E
- cmp r5, 0x2
- beq _08135030
- b _08135044
-_0813501E:
- cmp r4, 0
- beq _08135026
- subs r0, r4, r1
- b _0813503C
-_08135026:
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- b _0813503C
-_08135030:
- movs r0, 0xB4
- lsls r0, 1
- subs r0, r1
- cmp r4, r0
- bge _08135042
- adds r0, r4, r1
-_0813503C:
- lsls r0, 16
- lsrs r4, r0, 16
- b _08135044
-_08135042:
- movs r4, 0
-_08135044:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8134FFC
-
- thumb_func_start sub_813504C
-sub_813504C: @ 813504C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r4, 0x1
- beq _08135060
- cmp r4, 0x2
- beq _081350A0
- b _081350DE
-_08135060:
- ldr r0, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xE]
- movs r5, 0xE
- ldrsh r0, [r1, r5]
- cmp r0, 0
- ble _08135080
- subs r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _081350DE
- .pool
-_08135080:
- movs r0, 0x3B
- strh r0, [r1, 0xE]
- ldrh r2, [r1, 0xC]
- movs r6, 0xC
- ldrsh r0, [r1, r6]
- cmp r0, 0
- ble _08135092
- subs r0, r2, 0x1
- b _08135094
-_08135092:
- movs r0, 0x17
-_08135094:
- strh r0, [r1, 0xC]
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_81350E8
- b _081350DE
-_081350A0:
- ldr r0, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldrh r2, [r1, 0xE]
- movs r5, 0xE
- ldrsh r0, [r1, r5]
- cmp r0, 0x3A
- bgt _081350C0
- adds r0, r2, 0x1
- strh r0, [r1, 0xE]
- b _081350DE
- .pool
-_081350C0:
- movs r5, 0
- strh r5, [r1, 0xE]
- ldrh r2, [r1, 0xC]
- movs r6, 0xC
- ldrsh r0, [r1, r6]
- cmp r0, 0x16
- bgt _081350D4
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _081350D6
-_081350D4:
- strh r5, [r1, 0xC]
-_081350D6:
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_81350E8
-_081350DE:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_813504C
-
- thumb_func_start sub_81350E8
-sub_81350E8: @ 81350E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xC]
- cmp r3, 0x1
- beq _0813510C
- cmp r3, 0x2
- beq _0813511E
- b _0813512A
- .pool
-_0813510C:
- cmp r0, 0xB
- beq _08135116
- cmp r0, 0x17
- beq _0813511A
- b _0813512A
-_08135116:
- movs r0, 0
- b _08135128
-_0813511A:
- strh r3, [r1, 0x12]
- b _0813512A
-_0813511E:
- cmp r0, 0
- beq _08135128
- cmp r0, 0xC
- bne _0813512A
- movs r0, 0x1
-_08135128:
- strh r0, [r1, 0x12]
-_0813512A:
- pop {r0}
- bx r0
- thumb_func_end sub_81350E8
-
- thumb_func_start sub_8135130
-sub_8135130: @ 8135130
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl RtcCalcLocalTime
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r6, r0, r1
- ldr r5, =gLocalTime
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- strh r0, [r6, 0xC]
- movs r0, 0x3
- ldrsb r0, [r5, r0]
- strh r0, [r6, 0xE]
- movs r0, 0xE
- ldrsh r1, [r6, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- strh r0, [r6, 0x8]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r1, 0xC
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r4, r0, 4
- subs r4, r0
- lsls r4, 1
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- adds r4, r1
- strh r4, [r6, 0xA]
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- cmp r0, 0xB
- bgt _081351A0
- movs r0, 0
- b _081351A2
- .pool
-_081351A0:
- movs r0, 0x1
-_081351A2:
- strh r0, [r6, 0x12]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8135130
-
- thumb_func_start sub_81351AC
-sub_81351AC: @ 81351AC
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r4, [r0, 0x8]
- adds r7, r4, 0
- adds r0, r4, 0
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081351D4
- adds r0, 0xF
-_081351D4:
- lsls r0, 12
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _081351E8
- adds r0, 0xF
-_081351E8:
- lsls r1, r0, 12
- lsrs r1, 16
- lsls r3, r5, 16
- lsrs r2, r3, 16
- negs r3, r3
- lsrs r3, 16
- str r1, [sp]
- movs r0, 0
- bl SetOamMatrix
- ldr r1, =gUnknown_085B22D0
- lsls r2, r7, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x1
- adds r2, r1
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x80
- bls _08135224
- movs r1, 0xFF
- lsls r1, 8
- adds r0, r1, 0
- orrs r3, r0
-_08135224:
- cmp r2, 0x80
- bls _08135230
- movs r1, 0xFF
- lsls r1, 8
- adds r0, r1, 0
- orrs r2, r0
-_08135230:
- strh r3, [r6, 0x24]
- strh r2, [r6, 0x26]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81351AC
-
- thumb_func_start sub_8135244
-sub_8135244: @ 8135244
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r4, [r0, 0xA]
- adds r7, r4, 0
- adds r0, r4, 0
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0813526C
- adds r0, 0xF
-_0813526C:
- lsls r0, 12
- lsrs r5, r0, 16
- adds r0, r4, 0
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08135280
- adds r0, 0xF
-_08135280:
- lsls r1, r0, 12
- lsrs r1, 16
- lsls r3, r5, 16
- lsrs r2, r3, 16
- negs r3, r3
- lsrs r3, 16
- str r1, [sp]
- movs r0, 0x1
- bl SetOamMatrix
- ldr r1, =gUnknown_085B22D0
- lsls r2, r7, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x1
- adds r2, r1
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x80
- bls _081352BC
- movs r1, 0xFF
- lsls r1, 8
- adds r0, r1, 0
- orrs r3, r0
-_081352BC:
- cmp r2, 0x80
- bls _081352C8
- movs r1, 0xFF
- lsls r1, 8
- adds r0, r1, 0
- orrs r2, r0
-_081352C8:
- strh r3, [r6, 0x24]
- strh r2, [r6, 0x26]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135244
-
- thumb_func_start sub_81352DC
-sub_81352DC: @ 81352DC
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0813531C
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0
- subs r0, 0x3C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _08135308
- adds r0, r1, 0x5
- strh r0, [r4, 0x30]
-_08135308:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- bgt _0813533C
- adds r0, r1, 0x1
- b _0813533A
- .pool
-_0813531C:
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0
- subs r0, 0x2E
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _0813532E
- subs r0, r1, 0x5
- strh r0, [r4, 0x30]
-_0813532E:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x4B
- ble _0813533C
- subs r0, r1, 0x1
-_0813533A:
- strh r0, [r4, 0x30]
-_0813533C:
- ldrh r0, [r4, 0x30]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r0, r1, 1
- cmp r0, 0
- bge _08135354
- ldr r1, =0x00000fff
- adds r0, r1
-_08135354:
- asrs r0, 12
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r0, r1, 1
- cmp r0, 0
- bge _08135370
- ldr r2, =0x00000fff
- adds r0, r2
-_08135370:
- asrs r0, 12
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_81352DC
-
- thumb_func_start sub_8135380
-sub_8135380: @ 8135380
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, =gTasks
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _081353C0
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0
- subs r0, 0x69
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081353AC
- adds r0, r1, 0x5
- strh r0, [r4, 0x30]
-_081353AC:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x68
- bgt _081353E0
- adds r0, r1, 0x1
- b _081353DE
- .pool
-_081353C0:
- ldrh r1, [r4, 0x30]
- adds r0, r1, 0
- subs r0, 0x5B
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081353D2
- subs r0, r1, 0x5
- strh r0, [r4, 0x30]
-_081353D2:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- ble _081353E0
- subs r0, r1, 0x1
-_081353DE:
- strh r0, [r4, 0x30]
-_081353E0:
- ldrh r0, [r4, 0x30]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r0, r1, 1
- cmp r0, 0
- bge _081353F8
- ldr r1, =0x00000fff
- adds r0, r1
-_081353F8:
- asrs r0, 12
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 4
- subs r1, r0
- lsls r0, r1, 1
- cmp r0, 0
- bge _08135414
- ldr r2, =0x00000fff
- adds r0, r2
-_08135414:
- asrs r0, 12
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8135380
-
- .align 2, 0 @ Don't pad with nop.